From a7666f9aa1e04f6b35acf8832bbe26717a0dc29c Mon Sep 17 00:00:00 2001 From: VDH Date: Fri, 10 Oct 2025 15:10:36 +0700 Subject: [PATCH 1/6] organize folder --- .../{ => PerfectWorld}/Scripts/MainFiles.meta | 0 .../Scripts/MainFiles/CECGameRun.cs | 24 ++ .../Scripts/MainFiles/CECGameRun.cs.meta | 2 + .../Scripts/MainFiles/EC_Game.cs | 8 + .../Scripts/MainFiles/EC_Game.cs.meta | 0 .../Scripts/Managers/EC_IvtrType.cs | 10 + Assets/{ => PerfectWorld}/Scripts/Move.meta | 0 .../Scripts/Move/AAssist.cs | 0 .../Scripts/Move/AAssist.cs.meta | 0 .../Scripts/Move/CECCounter.cs | 0 .../Scripts/Move/CECCounter.cs.meta | 0 .../Scripts/Move/CECHostMove.cs | 0 .../Scripts/Move/CECHostMove.cs.meta | 0 .../Scripts/Move/CECPlayer.cs | 33 +- .../Scripts/Move/CECPlayer.cs.meta | 0 .../{ => PerfectWorld}/Scripts/Move/EC_CDR.cs | 0 .../Scripts/Move/EC_CDR.cs.meta | 0 .../Scripts/Network/CSNetwork/GPDataType.cs | 9 + .../Scripts/Network/CSNetwork/GameSession.cs | 2 +- .../Scripts/PlayerState.meta | 0 .../Scripts/PlayerState/PlayerIdleState.cs | 0 .../PlayerState/PlayerIdleState.cs.meta | 0 .../Scripts/PlayerState/PlayerMoveState.cs | 0 .../PlayerState/PlayerMoveState.cs.meta | 0 .../Scripts/PlayerState/PlayerState.cs | 0 .../Scripts/PlayerState/PlayerState.cs.meta | 0 Assets/{ => PerfectWorld}/Scripts/Task.meta | 0 .../Scripts/Task/ATaskTemplMan.cs | 0 .../Scripts/Task/ATaskTemplMan.cs.meta | 0 .../Scripts/Task/CECTaskInterface.cs | 0 .../Scripts/Task/CECTaskInterface.cs.meta | 0 .../Scripts/Task/TaskExpAnalyser.cs | 0 .../Scripts/Task/TaskExpAnalyser.cs.meta | 0 .../Scripts/Task/TaskInterface.cs | 0 .../Scripts/Task/TaskInterface.cs.meta | 0 .../Scripts/Task/TaskProcess.cs | 0 .../Scripts/Task/TaskProcess.cs.meta | 0 .../Scripts/Task/TaskTempl.cs | 0 .../Scripts/Task/TaskTempl.cs.meta | 0 .../Scripts/Task/TaskTest.cs | 0 .../Scripts/Task/TaskTest.cs.meta | 0 Assets/Scripts/CECHostPlayer.cs | 322 +++++++++++++----- 42 files changed, 307 insertions(+), 103 deletions(-) rename Assets/{ => PerfectWorld}/Scripts/MainFiles.meta (100%) create mode 100644 Assets/PerfectWorld/Scripts/MainFiles/CECGameRun.cs create mode 100644 Assets/PerfectWorld/Scripts/MainFiles/CECGameRun.cs.meta rename Assets/{ => PerfectWorld}/Scripts/MainFiles/EC_Game.cs (76%) rename Assets/{ => PerfectWorld}/Scripts/MainFiles/EC_Game.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Move.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Move/AAssist.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/Move/AAssist.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Move/CECCounter.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/Move/CECCounter.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Move/CECHostMove.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/Move/CECHostMove.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Move/CECPlayer.cs (92%) rename Assets/{ => PerfectWorld}/Scripts/Move/CECPlayer.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Move/EC_CDR.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/Move/EC_CDR.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/PlayerState.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/PlayerState/PlayerIdleState.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/PlayerState/PlayerIdleState.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/PlayerState/PlayerMoveState.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/PlayerState/PlayerMoveState.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/PlayerState/PlayerState.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/PlayerState/PlayerState.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Task.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/ATaskTemplMan.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/ATaskTemplMan.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/CECTaskInterface.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/CECTaskInterface.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/TaskExpAnalyser.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/TaskExpAnalyser.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/TaskInterface.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/TaskInterface.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/TaskProcess.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/TaskProcess.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/TaskTempl.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/TaskTempl.cs.meta (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/TaskTest.cs (100%) rename Assets/{ => PerfectWorld}/Scripts/Task/TaskTest.cs.meta (100%) diff --git a/Assets/Scripts/MainFiles.meta b/Assets/PerfectWorld/Scripts/MainFiles.meta similarity index 100% rename from Assets/Scripts/MainFiles.meta rename to Assets/PerfectWorld/Scripts/MainFiles.meta diff --git a/Assets/PerfectWorld/Scripts/MainFiles/CECGameRun.cs b/Assets/PerfectWorld/Scripts/MainFiles/CECGameRun.cs new file mode 100644 index 0000000000..4f4a6eb598 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/MainFiles/CECGameRun.cs @@ -0,0 +1,24 @@ +using BrewMonster; +using CSNetwork.GPDataType; +using System; +using UnityEngine; + +public class CECGameRun +{ + private CECWorld m_pWorld; + public CECWorld GetWorld() { return m_pWorld; } + public bool StartGame(int idInst, Vector3 vHostPos) + { + if (!JumpToInstance(idInst, vHostPos)) + { + BMLogger.LogError ( "CECGameRun::StartGame, Failed to create game world."); + return false; + } + return true; + } + + private bool JumpToInstance(int idInst, Vector3 vHostPos, int iParallelWorldID = 0) + { + return true; + } +} diff --git a/Assets/PerfectWorld/Scripts/MainFiles/CECGameRun.cs.meta b/Assets/PerfectWorld/Scripts/MainFiles/CECGameRun.cs.meta new file mode 100644 index 0000000000..7cf0ff7a64 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/MainFiles/CECGameRun.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 923b4102fc6857a4e94d7a662b2e6e1a \ No newline at end of file diff --git a/Assets/Scripts/MainFiles/EC_Game.cs b/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs similarity index 76% rename from Assets/Scripts/MainFiles/EC_Game.cs rename to Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs index 615f715b06..e8fb988a5a 100644 --- a/Assets/Scripts/MainFiles/EC_Game.cs +++ b/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs @@ -8,6 +8,7 @@ namespace BrewMonster.Network #region Fields private static ATaskTemplMan m_pTaskMan; // Task template manager private static elementdataman m_pElementDataMan; // global element templates manager + private static CECGameRun m_pGameRun; // Game running object #endregion #region Properties @@ -29,8 +30,15 @@ namespace BrewMonster.Network Debug.LogError("[Dat]- CECGame::Init, Storage task Init Failed!"); return false; } + m_pGameRun = new CECGameRun(); + if (m_pGameRun == null) + { + BMLogger.LogError("CECGame::Init"); + return false; + } return true; } + public static CECGameRun GetGameRun() { return m_pGameRun; } #endregion } } \ No newline at end of file diff --git a/Assets/Scripts/MainFiles/EC_Game.cs.meta b/Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs.meta similarity index 100% rename from Assets/Scripts/MainFiles/EC_Game.cs.meta rename to Assets/PerfectWorld/Scripts/MainFiles/EC_Game.cs.meta diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs index d42c58746d..611b25616a 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs @@ -40,6 +40,16 @@ namespace PerfectWorld.Scripts.Managers EQUIPIVTR_DYNSKILLEQUIP2 = 28, EQUIPIVTR_FASHION_WEAPON = 29, SIZE_EQUIPIVTR = 30, + EQUIPIVTR_UNUSED1 = SIZE_EQUIPIVTR, + EQUIPIVTR_UNUSED2 = 31, + EQUIPIVTR_GENERALCARD1, + EQUIPIVTR_GENERALCARD2, + EQUIPIVTR_GENERALCARD3, + EQUIPIVTR_GENERALCARD4 = 35, + EQUIPIVTR_GENERALCARD5, + EQUIPIVTR_GENERALCARD6, + SIZE_ALL_EQUIPIVTR, + SIZE_GENERALCARD_EQUIPIVTR = SIZE_ALL_EQUIPIVTR - EQUIPIVTR_GENERALCARD1, } public static byte GetEquipLocationForItem(int templateId) diff --git a/Assets/Scripts/Move.meta b/Assets/PerfectWorld/Scripts/Move.meta similarity index 100% rename from Assets/Scripts/Move.meta rename to Assets/PerfectWorld/Scripts/Move.meta diff --git a/Assets/Scripts/Move/AAssist.cs b/Assets/PerfectWorld/Scripts/Move/AAssist.cs similarity index 100% rename from Assets/Scripts/Move/AAssist.cs rename to Assets/PerfectWorld/Scripts/Move/AAssist.cs diff --git a/Assets/Scripts/Move/AAssist.cs.meta b/Assets/PerfectWorld/Scripts/Move/AAssist.cs.meta similarity index 100% rename from Assets/Scripts/Move/AAssist.cs.meta rename to Assets/PerfectWorld/Scripts/Move/AAssist.cs.meta diff --git a/Assets/Scripts/Move/CECCounter.cs b/Assets/PerfectWorld/Scripts/Move/CECCounter.cs similarity index 100% rename from Assets/Scripts/Move/CECCounter.cs rename to Assets/PerfectWorld/Scripts/Move/CECCounter.cs diff --git a/Assets/Scripts/Move/CECCounter.cs.meta b/Assets/PerfectWorld/Scripts/Move/CECCounter.cs.meta similarity index 100% rename from Assets/Scripts/Move/CECCounter.cs.meta rename to Assets/PerfectWorld/Scripts/Move/CECCounter.cs.meta diff --git a/Assets/Scripts/Move/CECHostMove.cs b/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs similarity index 100% rename from Assets/Scripts/Move/CECHostMove.cs rename to Assets/PerfectWorld/Scripts/Move/CECHostMove.cs diff --git a/Assets/Scripts/Move/CECHostMove.cs.meta b/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs.meta similarity index 100% rename from Assets/Scripts/Move/CECHostMove.cs.meta rename to Assets/PerfectWorld/Scripts/Move/CECHostMove.cs.meta diff --git a/Assets/Scripts/Move/CECPlayer.cs b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs similarity index 92% rename from Assets/Scripts/Move/CECPlayer.cs rename to Assets/PerfectWorld/Scripts/Move/CECPlayer.cs index 49b8ddeed7..e207b0aede 100644 --- a/Assets/Scripts/Move/CECPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs @@ -1,6 +1,7 @@ using BrewMonster; using CSNetwork.GPDataType; using ModelRenderer.Scripts.GameData; +using PerfectWorld.Scripts.Managers; using PerfectWorld.Scripts.Player; using System; using System.Collections.Generic; @@ -15,12 +16,15 @@ public abstract class CECPlayer : CECObject protected GameObject m_pPlayerModel; protected float rotationSpeed = 5; internal int m_iMoveMode; // Player's move mode - internal int m_idSelTarget; // Ñ¡ÖÐÄ¿±êµÄID - uint m_dwStates; // Player's basic states + internal int m_idSelTarget; + protected int m_iShape; // Ñ¡ÖÐÄ¿±êµÄID + uint m_dwStates; // Player's basic states + protected int[] m_aEquips; protected ROLEEXTPROP m_ExtProps; // Extend properties protected float m_fTouchRad = 0.3f; // Touch radius protected int m_iBattleCamp = Player_camp_in_battle.GP_BATTLE_CAMP_NONE; // Battle this player belongs to - byte m_factionPVPMask; // pvp mask + byte m_factionPVPMask; // pvp mask + protected uint m_dwResFlags; // pvp mask protected ROLEBASICPROP m_BasicProps; public int m_iMoveEnv = Move_environment.MOVEENV_GROUND; // Move environment public bool m_bWalkRun; @@ -28,6 +32,8 @@ public abstract class CECPlayer : CECObject protected void Awake() { m_PlayerActions = _default_actions; + m_iShape = 0; + m_aEquips = new int[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.SIZE_ALL_EQUIPIVTR]; } public void SetPlayerInfor(INFO playinfo) { @@ -43,12 +49,12 @@ public abstract class CECPlayer : CECObject BuildActionList(); } - public bool IsDead(){ return (m_dwStates & PlayerNPCState.GP_STATE_CORPSE) != 0; } + public bool IsDead() { return (m_dwStates & PlayerNPCState.GP_STATE_CORPSE) != 0; } public bool IsValidAction(int iIndex) { return (iIndex >= 0 && iIndex < (int)PLAYER_ACTION_TYPE.ACT_MAX) ? true : false; } public int GetCharacterID() { return m_PlayerInfo.cid; } - + private static void BuildActionList() { if (_default_actions == null) @@ -152,6 +158,7 @@ public abstract class CECPlayer : CECObject public PLAYER_ACTION_TYPE type; public PLAYER_ACTION_INFO_CONFIG data; }; + public INFO GetPlayerInfo() { return m_PlayerInfo; } public enum PLAYER_ACTION_TYPE { // 0 @@ -288,7 +295,7 @@ public abstract class CECPlayer : CECObject ACT_CASTSKILL // Chỉ là placeholder cho skill actions } - public float GetTouchRadius(){ return m_fTouchRad; } + public float GetTouchRadius() { return m_fTouchRad; } // Is player in battle public bool IsInBattle() { return m_iBattleCamp != Player_camp_in_battle.GP_BATTLE_CAMP_NONE; } @@ -381,8 +388,10 @@ public abstract class CECPlayer : CECObject } // Get move environment - public int GetMoveEnv(){ return m_iMoveEnv; } - // Get character ID + public int GetMoveEnv() { return m_iMoveEnv; } + public bool IsShapeChanged() { return m_iShape != 0; } + public int GetWeaponID() { return m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_WEAPON] & 0xffff; } + public bool IsAllResReady() { return (m_dwResFlags & (uint)PlayerResourcesReadyFlag.RESFG_ALL) == (uint)PlayerResourcesReadyFlag.RESFG_ALL; } } public struct PlayActionEvent { @@ -405,7 +414,15 @@ public struct INFO this.crc_e = crc_; } } +public enum PlayerResourcesReadyFlag +{ + RESFG_SKELETON = 0x01, + RESFG_SKIN = 0x02, + RESFG_CUSTOM = 0x04, + RESFG_ASSEMBLED = 0x08, + RESFG_ALL = 0x0f, +}; public static class Duel_state // Duel state { public const int DUEL_ST_NONE = 0, diff --git a/Assets/Scripts/Move/CECPlayer.cs.meta b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs.meta similarity index 100% rename from Assets/Scripts/Move/CECPlayer.cs.meta rename to Assets/PerfectWorld/Scripts/Move/CECPlayer.cs.meta diff --git a/Assets/Scripts/Move/EC_CDR.cs b/Assets/PerfectWorld/Scripts/Move/EC_CDR.cs similarity index 100% rename from Assets/Scripts/Move/EC_CDR.cs rename to Assets/PerfectWorld/Scripts/Move/EC_CDR.cs diff --git a/Assets/Scripts/Move/EC_CDR.cs.meta b/Assets/PerfectWorld/Scripts/Move/EC_CDR.cs.meta similarity index 100% rename from Assets/Scripts/Move/EC_CDR.cs.meta rename to Assets/PerfectWorld/Scripts/Move/EC_CDR.cs.meta diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs index 63b1028091..fda52213a7 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs @@ -889,6 +889,15 @@ namespace CSNetwork.GPDataType public byte[] content; }; + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct cmd_host_attack_result + { + public int idTarget; + public int iDamage; // Èç¹ûÊÇ0±íʾûÓл÷ÖÐ + public int attack_flag; // ±ê¼Ç¸Ã¹¥»÷ÊÇ·ñÓй¥»÷ÓÅ»¯·ûºÍ·ÀÓùÓÅ»¯·ûºÍÖØ»÷·¢Éú + public byte attack_speed; + }; + [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct cmd_own_ivtr_detail_info { diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs index f0e42e2796..ebe04609d1 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs @@ -433,7 +433,7 @@ namespace CSNetwork break; case CommandID.HOST_ATTACKED: BMLogger.LogError("HoangDev : HOST_ATTACKED"); - EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_ATKRESULT, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); + EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_ATTACKED, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); break; case CommandID.ERROR_MESSAGE: diff --git a/Assets/Scripts/PlayerState.meta b/Assets/PerfectWorld/Scripts/PlayerState.meta similarity index 100% rename from Assets/Scripts/PlayerState.meta rename to Assets/PerfectWorld/Scripts/PlayerState.meta diff --git a/Assets/Scripts/PlayerState/PlayerIdleState.cs b/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs similarity index 100% rename from Assets/Scripts/PlayerState/PlayerIdleState.cs rename to Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs diff --git a/Assets/Scripts/PlayerState/PlayerIdleState.cs.meta b/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs.meta similarity index 100% rename from Assets/Scripts/PlayerState/PlayerIdleState.cs.meta rename to Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs.meta diff --git a/Assets/Scripts/PlayerState/PlayerMoveState.cs b/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs similarity index 100% rename from Assets/Scripts/PlayerState/PlayerMoveState.cs rename to Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs diff --git a/Assets/Scripts/PlayerState/PlayerMoveState.cs.meta b/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs.meta similarity index 100% rename from Assets/Scripts/PlayerState/PlayerMoveState.cs.meta rename to Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs.meta diff --git a/Assets/Scripts/PlayerState/PlayerState.cs b/Assets/PerfectWorld/Scripts/PlayerState/PlayerState.cs similarity index 100% rename from Assets/Scripts/PlayerState/PlayerState.cs rename to Assets/PerfectWorld/Scripts/PlayerState/PlayerState.cs diff --git a/Assets/Scripts/PlayerState/PlayerState.cs.meta b/Assets/PerfectWorld/Scripts/PlayerState/PlayerState.cs.meta similarity index 100% rename from Assets/Scripts/PlayerState/PlayerState.cs.meta rename to Assets/PerfectWorld/Scripts/PlayerState/PlayerState.cs.meta diff --git a/Assets/Scripts/Task.meta b/Assets/PerfectWorld/Scripts/Task.meta similarity index 100% rename from Assets/Scripts/Task.meta rename to Assets/PerfectWorld/Scripts/Task.meta diff --git a/Assets/Scripts/Task/ATaskTemplMan.cs b/Assets/PerfectWorld/Scripts/Task/ATaskTemplMan.cs similarity index 100% rename from Assets/Scripts/Task/ATaskTemplMan.cs rename to Assets/PerfectWorld/Scripts/Task/ATaskTemplMan.cs diff --git a/Assets/Scripts/Task/ATaskTemplMan.cs.meta b/Assets/PerfectWorld/Scripts/Task/ATaskTemplMan.cs.meta similarity index 100% rename from Assets/Scripts/Task/ATaskTemplMan.cs.meta rename to Assets/PerfectWorld/Scripts/Task/ATaskTemplMan.cs.meta diff --git a/Assets/Scripts/Task/CECTaskInterface.cs b/Assets/PerfectWorld/Scripts/Task/CECTaskInterface.cs similarity index 100% rename from Assets/Scripts/Task/CECTaskInterface.cs rename to Assets/PerfectWorld/Scripts/Task/CECTaskInterface.cs diff --git a/Assets/Scripts/Task/CECTaskInterface.cs.meta b/Assets/PerfectWorld/Scripts/Task/CECTaskInterface.cs.meta similarity index 100% rename from Assets/Scripts/Task/CECTaskInterface.cs.meta rename to Assets/PerfectWorld/Scripts/Task/CECTaskInterface.cs.meta diff --git a/Assets/Scripts/Task/TaskExpAnalyser.cs b/Assets/PerfectWorld/Scripts/Task/TaskExpAnalyser.cs similarity index 100% rename from Assets/Scripts/Task/TaskExpAnalyser.cs rename to Assets/PerfectWorld/Scripts/Task/TaskExpAnalyser.cs diff --git a/Assets/Scripts/Task/TaskExpAnalyser.cs.meta b/Assets/PerfectWorld/Scripts/Task/TaskExpAnalyser.cs.meta similarity index 100% rename from Assets/Scripts/Task/TaskExpAnalyser.cs.meta rename to Assets/PerfectWorld/Scripts/Task/TaskExpAnalyser.cs.meta diff --git a/Assets/Scripts/Task/TaskInterface.cs b/Assets/PerfectWorld/Scripts/Task/TaskInterface.cs similarity index 100% rename from Assets/Scripts/Task/TaskInterface.cs rename to Assets/PerfectWorld/Scripts/Task/TaskInterface.cs diff --git a/Assets/Scripts/Task/TaskInterface.cs.meta b/Assets/PerfectWorld/Scripts/Task/TaskInterface.cs.meta similarity index 100% rename from Assets/Scripts/Task/TaskInterface.cs.meta rename to Assets/PerfectWorld/Scripts/Task/TaskInterface.cs.meta diff --git a/Assets/Scripts/Task/TaskProcess.cs b/Assets/PerfectWorld/Scripts/Task/TaskProcess.cs similarity index 100% rename from Assets/Scripts/Task/TaskProcess.cs rename to Assets/PerfectWorld/Scripts/Task/TaskProcess.cs diff --git a/Assets/Scripts/Task/TaskProcess.cs.meta b/Assets/PerfectWorld/Scripts/Task/TaskProcess.cs.meta similarity index 100% rename from Assets/Scripts/Task/TaskProcess.cs.meta rename to Assets/PerfectWorld/Scripts/Task/TaskProcess.cs.meta diff --git a/Assets/Scripts/Task/TaskTempl.cs b/Assets/PerfectWorld/Scripts/Task/TaskTempl.cs similarity index 100% rename from Assets/Scripts/Task/TaskTempl.cs rename to Assets/PerfectWorld/Scripts/Task/TaskTempl.cs diff --git a/Assets/Scripts/Task/TaskTempl.cs.meta b/Assets/PerfectWorld/Scripts/Task/TaskTempl.cs.meta similarity index 100% rename from Assets/Scripts/Task/TaskTempl.cs.meta rename to Assets/PerfectWorld/Scripts/Task/TaskTempl.cs.meta diff --git a/Assets/Scripts/Task/TaskTest.cs b/Assets/PerfectWorld/Scripts/Task/TaskTest.cs similarity index 100% rename from Assets/Scripts/Task/TaskTest.cs rename to Assets/PerfectWorld/Scripts/Task/TaskTest.cs diff --git a/Assets/Scripts/Task/TaskTest.cs.meta b/Assets/PerfectWorld/Scripts/Task/TaskTest.cs.meta similarity index 100% rename from Assets/Scripts/Task/TaskTest.cs.meta rename to Assets/PerfectWorld/Scripts/Task/TaskTest.cs.meta diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 0047929d84..d8b91fe5fd 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -1,6 +1,7 @@ using BrewMonster; using BrewMonster.Network; using CSNetwork; +using CSNetwork.Common; using CSNetwork.GPDataType; using CSNetwork.Protocols; using CSNetwork.Protocols.RPCData; @@ -12,6 +13,7 @@ using System.IO; using System.Runtime.InteropServices; using System.Text; using TMPro; +using Unity.VisualScripting; using UnityEditor.Experimental.GraphView; using UnityEngine; using UnityEngine.InputSystem; @@ -133,19 +135,19 @@ public class CECHostPlayer : CECPlayer { CECObject clickedObject = hit.collider.gameObject.GetComponent(); - if(clickedObject != null) + if (clickedObject != null) { int idObject = CECObject.GetObjectID(clickedObject); if (idObject != 0) { CECNPC pNPC = EC_ManMessageMono.Instance._CECNPCMan.GetNPC(idObject); - if(pNPC != null) + if (pNPC != null) { if (!pNPC.IsDead()) { idTraceTarget = idObject; } - if (idTraceTarget != 0) + if (idTraceTarget != 0) { if (AttackableJudge(idObject, bForceAttack) == 1) iTraceReason = CECHPWorkTrace.Trace_reason.TRACE_ATTACK; @@ -329,26 +331,156 @@ public class CECHostPlayer : CECPlayer case int value when value == EC_MsgDef.MSG_HST_PICKUPITEM: OnMsgHstPickupItem(Msg); break; + case int value when value == EC_MsgDef.MSG_HST_ATKRESULT: OnMsgHstAttackResult(Msg); break; + //case int value when value == EC_MsgDef.MSG_HST_ATTACKED: OnMsgHstAttacked(Msg); break; case int value when value == EC_MsgDef.MSG_HST_HURTRESULT: OnMsgHstHurtResult(Msg); break; } } + public void OnMsgHstAttackResult(ECMSG Msg) + { + + cmd_host_attack_result pCmd = (cmd_host_attack_result)Msg.dwParam1; + + int iAttackTime = 0; + PlayAttackEffect(pCmd.idTarget, 0, 0, pCmd.iDamage, (uint)pCmd.attack_flag, pCmd.attack_speed * 50, ref iAttackTime); + TurnFaceTo(pCmd.idTarget); + + if (iAttackTime != 0) + { + if (m_pWorkMan.GetRunningWork(CECHPWork.Host_work_ID.WORK_HACKOBJECT) is CECHPWorkMelee pCurWork) + { + pCurWork.SetIdleTime(iAttackTime); + } + } + } + public void PlayAttackEffect(int idTarget, int idSkill, int skillLevel, int nDamage, + uint dwModifier, int nAttackSpeed, ref int piAttackTime/* NULL */, int nSection = 0) + { + /* if (!IsAllResReady()) + return; + + if (idSkill == 0) + { + int idWeapon = IsShapeChanged() ? 0 : GetWeaponID(); + + int nTimeFly = 10; + if (idWeapon != 0) + { + // ¿´¿´ÊDz»ÊÇÔ¶³ÌÎäÆ÷ + DATA_TYPE dt = default; + WEAPON_ESSENCE? pWeapon = (WEAPON_ESSENCE)ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)idWeapon, ID_SPACE.ID_SPACE_ESSENCE, ref dt); + + if (dt == DATA_TYPE.DT_WEAPON_ESSENCE && pWeapon != null && pWeapon.Value.require_projectile != 0) + { + nTimeFly = 700; + + if (m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE] != 0) + idWeapon = m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE]; + } + } + + if (g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->FindAttackByAttacker(GetPlayerInfo().cid)) + { + // signal early attack event + ClearComActFlagAllRankNodes(true); + } + + // melee attack + CECAttackEvent* pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddMeleeAttack( + GetPlayerInfo().cid, idTarget, idWeapon, dwModifier, nDamage, nTimeFly); + + if (pAttack) + { + if (!IsDead() && (dwModifier & CECAttackEvent::MOD_RETORT) == 0 + && (dwModifier & CECAttackEvent::MOD_ATTACK_AURA) == 0 + && PlayAttackAction(nAttackSpeed, piAttackTime, &pAttack->m_bSignaled) + && (dwModifier & CECAttackEvent::MOD_BEAT_BACK) == 0) + { + } + else + { + pAttack->m_bSignaled = true; + } + } + } + else + { + if (skillLevel == 0) + { + if (m_pCurSkill) + skillLevel = m_pCurSkill->GetSkillLevel(); + else + skillLevel = 1; + } + + CECAttackEvent* pAttack = NULL; + + // first try to find if there is already a skill attack event in attackman + CECAttackerEvents attackerEvents = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->FindAttackByAttacker(GetPlayerInfo().cid); + if (attackerEvents) + { + if (CECAttackEvent * pAttack = attackerEvents.Find(idSkill, nSection)) + { + // Ãæ¹¥»÷µÄ·ÇµÚÒ»´ÎÉ˺¦ÏûÏ¢ + pAttack->AddTarget(idTarget, dwModifier, nDamage); + goto EXIT; + } + else + { + attackerEvents.Signal(); + } + } + if (GNET::ElementSkill::IsGoblinSkill(idSkill) && + GNET::ElementSkill::GetType(idSkill) == 2) + { + pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddSkillAttack( + GetPlayerInfo().cid, GetPlayerInfo().cid, idTarget, GetWeaponID(), idSkill, skillLevel, dwModifier, nDamage); + } + else + { + // begin a skill attack + pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddSkillAttack( + GetPlayerInfo().cid, m_idCurSkillTarget, idTarget, GetWeaponID(), idSkill, skillLevel, dwModifier, nDamage); + } + + if (pAttack) + { + pAttack->SetSkillSection(nSection); + if (!IsDead() && (dwModifier & CECAttackEvent::MOD_RETORT) == 0 + && (dwModifier & CECAttackEvent::MOD_ATTACK_AURA) == 0 + && PlaySkillAttackAction(idSkill, nAttackSpeed, NULL, nSection, &pAttack->m_bSignaled) + && (dwModifier & CECAttackEvent::MOD_BEAT_BACK) == 0) + { + } + else + { + pAttack->m_bSignaled = true; + } + } + + EXIT: + // For skill attacking, time is always set to 0 + if (piAttackTime) + *piAttackTime = 0; + }*/ + } private void OnMsgHstHurtResult(ECMSG Msg) { BMLogger.LogError("HoangDev : OnMsgHstHurtResult"); int cmd = Convert.ToInt32(Msg.dwParam2); - if (cmd == CommandID. BE_HURT) + if (cmd == CommandID.BE_HURT) { cmd_be_hurt pCmd = (cmd_be_hurt)Msg.dwParam1; - /* if (pCmd.damage!=0) - Damaged(pCmd->damage);*/ + /* if (pCmd.damage!=0) + Damaged(pCmd->damage);*/ } - else if (cmd == CommandID. HURT_RESULT) + else if (cmd == CommandID.HURT_RESULT) { cmd_hurt_result pCmd = (cmd_hurt_result)Msg.dwParam1; if (pCmd.target_id == m_PlayerInfo.cid) return; // Host himself will receive BE_HURT, so ignore this. - if (UnityGameSession.Instance.GameSession. ISPLAYERID(pCmd.target_id)) + if (UnityGameSession.Instance.GameSession.ISPLAYERID(pCmd.target_id)) { /*CECElsePlayer pTarget = m_pPlayerMan.GetElsePlayer(pCmd.target_id); if (pTarget) @@ -369,85 +501,44 @@ public class CECHostPlayer : CECPlayer switch (cmd) { case CommandID.PICKUP_ITEM: - { - // Parse the pickup item data from the server response - if (data != null && data.Length >= 16) { - int tid = BitConverter.ToInt32(data, 0); - int expire_date = BitConverter.ToInt32(data, 4); - uint iAmount = BitConverter.ToUInt32(data, 8); - uint iSlotAmount = BitConverter.ToUInt32(data, 12); - byte byPackage = data[16]; - byte bySlot = data[17]; - - Debug.Log($"[Inventory] PICKUP_ITEM: tid={tid}, expire_date={expire_date}, iAmount={iAmount}, iSlotAmount={iSlotAmount}, byPackage={byPackage}, bySlot={bySlot}"); - - // Notify pickupItem script about successful pickup - pickupItem pickupScript = UnityEngine.Object.FindFirstObjectByType(); - if (pickupScript != null) + // Parse the pickup item data from the server response + if (data != null && data.Length >= 16) { - pickupScript.OnPickupSuccess(tid); - } - - // Create new inventory item data - var newItem = new InventoryItemData - { - Package = byPackage, - Slot = bySlot, - TemplateId = tid, - ExpireDate = expire_date, - State = 0, - Count = (int)iAmount, - Crc = 0, - Content = null - }; - - // Add item to inventory - EC_Inventory.SetItem(byPackage, bySlot, newItem); - - Debug.Log($"[Inventory] Successfully added item {tid} to package {byPackage}, slot {bySlot} with count {iAmount}"); - - // Trigger UI refresh if an EC_InventoryUI is present in scene - var ui = GameObject.FindFirstObjectByType(); - if (ui != null) - { - ui.RefreshAll(); - } - } - else - { - Debug.LogWarning("[Inventory] PICKUP_ITEM: Invalid data length"); - } - break; - } - } - } - public void OnMsgHstItemOperation(ECMSG Msg) - { - var data = Msg.dwParam1 as byte[]; - int cmd = Convert.ToInt32(Msg.dwParam2); - switch (cmd) - { - case CommandID.PLAYER_DROP_ITEM: - { - // Parse the drop item data from the server response - if (data != null && data.Length >= 6) - { - byte byPackage = data[0]; - byte bySlot = data[1]; - int count = BitConverter.ToInt32(data, 2); - int tid = BitConverter.ToInt32(data, 6); - byte reason = data[10]; - - Debug.Log($"[Inventory] PLAYER_DROP_ITEM: package={byPackage}, slot={bySlot}, count={count}, tid={tid}, reason={reason}"); - - // Update the inventory by removing the item - bool success = EC_Inventory.RemoveItem(byPackage, bySlot, count); - - if (success) - { - Debug.Log($"[Inventory] Successfully removed {count} items from package {byPackage}, slot {bySlot}"); - + int tid = BitConverter.ToInt32(data, 0); + int expire_date = BitConverter.ToInt32(data, 4); + uint iAmount = BitConverter.ToUInt32(data, 8); + uint iSlotAmount = BitConverter.ToUInt32(data, 12); + byte byPackage = data[16]; + byte bySlot = data[17]; + + Debug.Log($"[Inventory] PICKUP_ITEM: tid={tid}, expire_date={expire_date}, iAmount={iAmount}, iSlotAmount={iSlotAmount}, byPackage={byPackage}, bySlot={bySlot}"); + + // Notify pickupItem script about successful pickup + pickupItem pickupScript = UnityEngine.Object.FindFirstObjectByType(); + if (pickupScript != null) + { + pickupScript.OnPickupSuccess(tid); + } + + // Create new inventory item data + var newItem = new InventoryItemData + { + Package = byPackage, + Slot = bySlot, + TemplateId = tid, + ExpireDate = expire_date, + State = 0, + Count = (int)iAmount, + Crc = 0, + Content = null + }; + + // Add item to inventory + EC_Inventory.SetItem(byPackage, bySlot, newItem); + + Debug.Log($"[Inventory] Successfully added item {tid} to package {byPackage}, slot {bySlot} with count {iAmount}"); + // Trigger UI refresh if an EC_InventoryUI is present in scene var ui = GameObject.FindFirstObjectByType(); if (ui != null) @@ -457,15 +548,56 @@ public class CECHostPlayer : CECPlayer } else { - Debug.LogWarning($"[Inventory] Failed to remove items from package {byPackage}, slot {bySlot}"); + Debug.LogWarning("[Inventory] PICKUP_ITEM: Invalid data length"); } + break; } - else + } + } + public void OnMsgHstItemOperation(ECMSG Msg) + { + var data = Msg.dwParam1 as byte[]; + int cmd = Convert.ToInt32(Msg.dwParam2); + switch (cmd) + { + case CommandID.PLAYER_DROP_ITEM: { - Debug.LogWarning("[Inventory] PLAYER_DROP_ITEM: Invalid data length"); + // Parse the drop item data from the server response + if (data != null && data.Length >= 6) + { + byte byPackage = data[0]; + byte bySlot = data[1]; + int count = BitConverter.ToInt32(data, 2); + int tid = BitConverter.ToInt32(data, 6); + byte reason = data[10]; + + Debug.Log($"[Inventory] PLAYER_DROP_ITEM: package={byPackage}, slot={bySlot}, count={count}, tid={tid}, reason={reason}"); + + // Update the inventory by removing the item + bool success = EC_Inventory.RemoveItem(byPackage, bySlot, count); + + if (success) + { + Debug.Log($"[Inventory] Successfully removed {count} items from package {byPackage}, slot {bySlot}"); + + // Trigger UI refresh if an EC_InventoryUI is present in scene + var ui = GameObject.FindFirstObjectByType(); + if (ui != null) + { + ui.RefreshAll(); + } + } + else + { + Debug.LogWarning($"[Inventory] Failed to remove items from package {byPackage}, slot {bySlot}"); + } + } + else + { + Debug.LogWarning("[Inventory] PLAYER_DROP_ITEM: Invalid data length"); + } + break; } - break; - } case CommandID.EQUIP_ITEM: { byte index_inv = data[0]; @@ -924,7 +1056,7 @@ public class CECHostPlayer : CECPlayer return Mathf.Sqrt(v.x * v.x + v.y * v.y + v.z * v.z); } - public int GetCharacterID(){ return m_PlayerInfo.cid; } + public int GetCharacterID() { return m_PlayerInfo.cid; } public bool CannotAttack() { return (m_dwLIES & (uint)Logic_Influence_Extned_states.LIES_DISABLEFIGHT) != 0; } @@ -993,17 +1125,19 @@ public class CECHostPlayer : CECPlayer A3DVECTOR3 vector = new A3DVECTOR3(gameObject.transform.position.x, gameObject.transform.position.y, gameObject.transform.position.z); return CanTouchTarget(vector, vTargetPos, fTargetRad, iReason, fMaxCut); } - public bool IsRooting() { + public bool IsRooting() + { var mask = (uint)(Logic_Influence_Extned_states.LIES_ROOT | Logic_Influence_Extned_states.LIES_SLEEP | Logic_Influence_Extned_states.LIES_STUN); - return (m_dwLIES & mask) != 0; } + return (m_dwLIES & mask) != 0; + } bool IsInFortress() { return m_fortressEnter.role_in_war != 0; } bool IsPVPOpen() { return m_pvp.bEnable; } // Get faction ID - int GetFactionID(){ return m_idFaction; } + int GetFactionID() { return m_idFaction; } public bool IsJumping() { return m_iJumpCount > 0; } From bcba39d9515ca86693b9d823f1f1c521e8211a05 Mon Sep 17 00:00:00 2001 From: VDH Date: Sat, 11 Oct 2025 10:02:52 +0700 Subject: [PATCH 2/6] reset --- .gitignore | 3 - ...Runtime.CompilerServices.Unsafe.6.0.0.meta | 8 + .../.signature.p7s | Bin 0 -> 18703 bytes .../Icon.png | Bin 0 -> 7006 bytes .../Icon.png.meta | 156 ++ .../LICENSE.TXT | 23 + .../LICENSE.TXT.meta | 7 + ...tem.Runtime.CompilerServices.Unsafe.nuspec | 29 + ...untime.CompilerServices.Unsafe.nuspec.meta | 7 + .../THIRD-PARTY-NOTICES.TXT | 939 +++++++++++ .../THIRD-PARTY-NOTICES.TXT.meta | 7 + .../buildTransitive.meta | 8 + .../buildTransitive/netcoreapp2.0.meta | 8 + ...em.Runtime.CompilerServices.Unsafe.targets | 6 + ...ntime.CompilerServices.Unsafe.targets.meta | 7 + .../buildTransitive/netcoreapp3.1.meta | 8 + .../buildTransitive/netcoreapp3.1/_._ | 0 .../buildTransitive/netcoreapp3.1/_._.meta | 7 + .../lib.meta | 8 + .../lib/netstandard2.0.meta | 8 + ...System.Runtime.CompilerServices.Unsafe.dll | Bin 0 -> 18024 bytes ...m.Runtime.CompilerServices.Unsafe.dll.meta | 29 + ...System.Runtime.CompilerServices.Unsafe.xml | 291 ++++ ...m.Runtime.CompilerServices.Unsafe.xml.meta | 7 + .../useSharedDesignerContext.txt | 0 .../useSharedDesignerContext.txt.meta | 7 + .../System.Text.Encoding.CodePages.9.0.9.meta | 8 + .../.signature.p7s | Bin 0 -> 25747 bytes .../Icon.png | Bin 0 -> 2140 bytes .../Icon.png.meta | 156 ++ .../LICENSE.TXT | 23 + .../LICENSE.TXT.meta | 7 + .../PACKAGE.md | 39 + .../PACKAGE.md.meta | 7 + .../System.Text.Encoding.CodePages.nuspec | 33 + ...System.Text.Encoding.CodePages.nuspec.meta | 7 + .../THIRD-PARTY-NOTICES.TXT | 1396 +++++++++++++++++ .../THIRD-PARTY-NOTICES.TXT.meta | 7 + .../buildTransitive.meta | 8 + .../buildTransitive/net461.meta | 8 + .../System.Text.Encoding.CodePages.targets | 6 + ...ystem.Text.Encoding.CodePages.targets.meta | 7 + .../buildTransitive/net462.meta | 8 + .../buildTransitive/net462/_._ | 0 .../buildTransitive/net462/_._.meta | 7 + .../buildTransitive/net8.0.meta | 8 + .../buildTransitive/net8.0/_._ | 0 .../buildTransitive/net8.0/_._.meta | 7 + .../buildTransitive/netcoreapp2.0.meta | 8 + .../System.Text.Encoding.CodePages.targets | 6 + ...ystem.Text.Encoding.CodePages.targets.meta | 7 + .../lib.meta | 8 + .../lib/netstandard2.0.meta | 8 + .../System.Text.Encoding.CodePages.dll | Bin 0 -> 762664 bytes .../System.Text.Encoding.CodePages.dll.meta | 29 + .../System.Text.Encoding.CodePages.xml | 29 + .../System.Text.Encoding.CodePages.xml.meta | 7 + .../useSharedDesignerContext.txt | 0 .../useSharedDesignerContext.txt.meta | 7 + .../PerfectWorld/Scripts/Common/CECObject.cs | 3 +- .../Common/DataProcess/elementdataman.cs | 32 + .../Scripts/Managers/CECNPCMan.cs | 142 +- .../Scripts/Managers/DamageTextManager.cs | 88 -- .../Managers/DamageTextManager.cs.meta | 2 - .../Scripts/Managers/EC_HPWorkMelee.cs | 2 +- .../Scripts/Managers/EC_HPWorkTrace.cs | 10 +- .../Scripts/Managers/EC_HostPlayer.cs | 40 + .../Scripts/Managers/EC_HostPlayer.cs.meta | 2 + .../Scripts/Managers/EC_ManPlayer.cs | 27 +- .../Scripts/Managers/EC_Object.cs | 2 +- .../PerfectWorld/Scripts/Move/CECHostMove.cs | 5 +- Assets/PerfectWorld/Scripts/Move/CECPlayer.cs | 11 +- Assets/PerfectWorld/Scripts/NPC/CECMonster.cs | 1 - Assets/PerfectWorld/Scripts/NPC/CECNPC.cs | 166 +- .../Scripts/Network/CSNetwork/GPDataType.cs | 47 +- .../Scripts/Network/CSNetwork/GameSession.cs | 6 +- .../Scripts/Network/EC_ManMessageMono.cs | 4 +- .../Scripts/Network/UnityGameSession.cs | 2 - .../Scripts/PlayerState/PlayerIdleState.cs | 2 +- .../Scripts/PlayerState/PlayerMoveState.cs | 2 +- .../Scripts/Players/EC_ElsePlayer.cs | 28 +- .../Scripts/UI/Login/LoginScreenUI.cs | 2 +- Assets/Scenes/NPCRender.unity | 224 --- Assets/Scripts/CECHostPlayer.cs | 3 +- Assets/Scripts/EC_Utility.cs | 2 +- Assets/Scripts/GameController.cs | 2 +- Assets/Scripts/InitializePlayer.cs | 4 +- Assets/Scripts/PlayerVisual.cs | 2 +- Packages/manifest.json | 2 + Packages/packages-lock.json | 16 + ProjectSettings/AudioManager.asset | 19 + ProjectSettings/ClusterInputManager.asset | 6 + ProjectSettings/DynamicsManager.asset | 36 + ProjectSettings/EditorSettings.asset | 49 + ProjectSettings/GraphicsSettings.asset | 67 + ProjectSettings/InputManager.asset | 487 ++++++ ProjectSettings/MemorySettings.asset | 35 + ProjectSettings/MultiplayerManager.asset | 7 + ProjectSettings/NavMeshAreas.asset | 91 ++ ProjectSettings/PackageManagerSettings.asset | 43 + ProjectSettings/Physics2DSettings.asset | 56 + ProjectSettings/PresetManager.asset | 7 + ProjectSettings/QualitySettings.asset | 134 ++ ProjectSettings/SceneTemplateSettings.json | 121 ++ ProjectSettings/ShaderGraphSettings.asset | 19 + ProjectSettings/TagManager.asset | 52 + ProjectSettings/TimeManager.asset | 9 + ProjectSettings/URPProjectSettings.asset | 15 + ProjectSettings/UnityConnectSettings.asset | 36 + ProjectSettings/VFXManager.asset | 12 + ProjectSettings/VersionControlSettings.asset | 8 + ProjectSettings/XRSettings.asset | 10 + 112 files changed, 4912 insertions(+), 712 deletions(-) create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/.signature.p7s create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.nuspec create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.nuspec.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._ create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml.meta create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt create mode 100644 Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/.signature.p7s create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/Icon.png create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/Icon.png.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/LICENSE.TXT create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/LICENSE.TXT.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/PACKAGE.md create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/PACKAGE.md.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/System.Text.Encoding.CodePages.nuspec create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/System.Text.Encoding.CodePages.nuspec.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/THIRD-PARTY-NOTICES.TXT create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/THIRD-PARTY-NOTICES.TXT.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net461.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net461/System.Text.Encoding.CodePages.targets create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net461/System.Text.Encoding.CodePages.targets.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net462.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net462/_._ create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net462/_._.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net8.0.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net8.0/_._ create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net8.0/_._.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/netcoreapp2.0.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/netcoreapp2.0/System.Text.Encoding.CodePages.targets create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/netcoreapp2.0/System.Text.Encoding.CodePages.targets.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0/System.Text.Encoding.CodePages.dll create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0/System.Text.Encoding.CodePages.dll.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0/System.Text.Encoding.CodePages.xml create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0/System.Text.Encoding.CodePages.xml.meta create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/useSharedDesignerContext.txt create mode 100644 Assets/Packages/System.Text.Encoding.CodePages.9.0.9/useSharedDesignerContext.txt.meta delete mode 100644 Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs delete mode 100644 Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/Managers/EC_HostPlayer.cs create mode 100644 Assets/PerfectWorld/Scripts/Managers/EC_HostPlayer.cs.meta create mode 100644 ProjectSettings/AudioManager.asset create mode 100644 ProjectSettings/ClusterInputManager.asset create mode 100644 ProjectSettings/DynamicsManager.asset create mode 100644 ProjectSettings/EditorSettings.asset create mode 100644 ProjectSettings/GraphicsSettings.asset create mode 100644 ProjectSettings/InputManager.asset create mode 100644 ProjectSettings/MemorySettings.asset create mode 100644 ProjectSettings/MultiplayerManager.asset create mode 100644 ProjectSettings/NavMeshAreas.asset create mode 100644 ProjectSettings/PackageManagerSettings.asset create mode 100644 ProjectSettings/Physics2DSettings.asset create mode 100644 ProjectSettings/PresetManager.asset create mode 100644 ProjectSettings/QualitySettings.asset create mode 100644 ProjectSettings/SceneTemplateSettings.json create mode 100644 ProjectSettings/ShaderGraphSettings.asset create mode 100644 ProjectSettings/TagManager.asset create mode 100644 ProjectSettings/TimeManager.asset create mode 100644 ProjectSettings/URPProjectSettings.asset create mode 100644 ProjectSettings/UnityConnectSettings.asset create mode 100644 ProjectSettings/VFXManager.asset create mode 100644 ProjectSettings/VersionControlSettings.asset create mode 100644 ProjectSettings/XRSettings.asset diff --git a/.gitignore b/.gitignore index 56c268b57f..e2bb03bc7e 100644 --- a/.gitignore +++ b/.gitignore @@ -99,6 +99,3 @@ InitTestScene*.unity* /[Aa]ssets/[Ii]nit[Tt]est[Ss]cene*.unity* ProjectSettings/EditorBuildSettings.asset ProjectSettings/ProjectSettings.asset -Build.rar -ProjectSettings -Packages diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0.meta new file mode 100644 index 0000000000..7c5e8e7c7e --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9a2ef14a21d75074abdd0b915f799482 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/.signature.p7s b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..2a015f966a69f29ae7ad9536a621550dd06064cf GIT binary patch literal 18703 zcmeHvc|4Tu-?mwdeaXHXTOrFe#!ew?L`9agFm`2~8H9=%OC@E=Rw_%h$gV;{Ldcda z3CUWtNR}+cbB*mzch9f;exLXK-Oum+@DJB@F4sBdb)Luf_#VeO0OD>M1eJKGUg%dk z2n95msP_#Z>ditSFcbqohoG_!)q~i>;7|xT8DRHEMM$za+|J?oP$G?M zb;J;Ia9s8%8h{D`Gle6Vp{6D%R)CpwLCs97Wn3hv5qbk|F1jzv+1 zf?Gi^D&4dmW8~u477t!M@9o+-k!nDbmvwi;;3qPne!TrZf+`QrGT2iAq4b z2#%h4E@PSckeRsUqZ0eI%gWf4k@>W)4tA7RcE~BgY&D2Z=!~duZQiRPbM~s!JoLHu zqHmfNl;+2O%((Tru==)IEZg&?l(_elRvbQip)d#;K zNY~7yYjOYv{sMSOH|XJPa2DmyWL2W(7$NO)R3tbn(`Qnf6!= zwe1Mnt!)u6=gf6mcg*am?_H*sj)dU804mj(k)o{<$kH7JqUXL^EeQ_92lJ2GkDqzd zSK+w3;K=)YD)IMQKb|N%rM7*taI2iF)j7z6-G`DOxjH)r$n1?|gu%H3Mi0mHYib<1>mj(J}rmnw{y zkJfygK6kENfwS{L#^3v0&Pmi`Zwmn@C+g8)&FBCHrB@`FwL!3(q7II)Z zfZm7C6Wv-O?EK`3@fQ}yuyfk&k|{Sv&q^R;vw8H-Q1;PI4;Wf=lx0-qXM3O=(4IRp zJyP#B1&p4ok4_m@LGd(?eW4yQFVVk0iXYj&=u&?guOv?wIX-mXDDBSJG3vX)lbMc2 z_p82!w;)A?-c#D`G>)tI!oW0DeUYIe^_|52uee90A$c}II1M7jkmC7cIOKB%JDlqE zq?_nF-#Pn4F14(LU?QXuoT)m1i4;bc!!9L&0K+a6LiVT7Ok!-jB5+!O8bP@o0kS#@ z7!2@T`x^p*y8_1n;k9c363XF($9pJCOS{|RJT{OyKy$qoG*n@=mMw7<1O0T`{ z)fc^6i$wG^HKc5@cz{444TvA^2b=(ulNFQYLuJ>x!n(-*)qY(5+!p=U+wLU|0SVUw zbO1#JHHnCaes>{*!U1tWbnP=jA#6OPf#JZZ_?gy9Ywj~4&F5-M*bj8avZ~l$occ!k zm?!M9^_=94y%)X3-=aGp04&p;oge5dg$pJHTUcu)PKt|4xOgAZR3W#2rX|{oVgEh1^oy1QM}-MSjA@_LJTKbPGaF=eT50)C%CjKC zzFyTaI=mE_$4x;W#k%k?=l=dD7lgBgpVn*>PZ1O4QuY*us!B!Ocr3DI;3|u5il38H zPU5Y@$irQpd9)EFw`Z%FoRXT=>(#Z=nLm%%(TY&+lF6436NWBIV^8yR?$(ZbcaV2< z9&dL%|Gk6etAgC{j#0Ya83?lJGRk%bB^O5lA#v~1ON@wb6omQnujYumzuLH^n9MW9 zaD+%jM~ykTXvyR|q`c)wyJEM093XCD=1PjSiJ6<2xrv#7${~M95jQb&9Wxa`p2@$) zGY`}b?d*@OXcn6qGZL|`{F!I|69f;GdO)_Rg#JV7kpVdX_X z9c`@~_TQBMmUcdLHImiJw_@;8APWI%1r%Z=Fng+^=#(wEf*?(WO}a4+{p`h)YPT5b z&ZpofuH&VO_NqrZe#w3pb%~{UsQSqx#aC8LP=zL|tQz7Va8RJ@j((DcDRsnE%Fm*a zU1T2K`SkA``*!6umfn_6WMuGvG_yTiut=Hg#DXi+b73WNpB|LCx1upqUHk4v4Ote+ z?uQu_HQd!eEw9p4<&%rJ@l(g9&YlYv@of^AWO{tB8ZA-5PF|!2~!WY2QduDFT;8 z#XnJ0pB2dS0Nen%WOOnrRQeB^_!HH`IbmcZF)Om7q%BU;5d|_$mp?cAiCz9T&GwKU zjD%|gnt;NJN(+)h802qpLrMg~kw6Q9LjXeX8leQK_6flIFH&uzwN?N$bl2Jk|5sF- zL=x8NHYuxGO{!K|H!bNyEoTZ)fb1t6Sf-nAqC?E_XqK;5;g}~eei`Fm({3cNU86ju zAQF2fdO}B?didkJrNOMLB3|B0wk0J~9GBxm7!P)+!rx{o_>wix^rk1A{xShekEcA# z65dcmf5Kb5D6{Qk&Qw%gYj{J!;%A)0IZm;}sjea-@LeNXyzr!p%C+x7=lru(J)@4+ zHH$wxL`BfIen3t8>iNCe1u8+B**DG$Ro?IV$gE z+aG~;Di^RFRGZ&+;pE2FOuIKlZ6h!N-)|47*VIMESi8IOVAtJHS;f|7f^B@l5l?D>_W^ zwr;2zSH98F-C2DD3$gxa$Lp>7w;aB=c3AFF#D@lbl(_gzWHPSKuHP!BIJ32}B9YD1 zD|^Rm;bZEdeY)h1YVTajr8QM3_qGkoUEzDUq?BDBOR}*zw^!(}_5 zA8PNKuIzyf#W2+}v_I;y2wd@AKQlr>XdyaN zKr7Y3I3U_=JSL)<^*jsWSSXkNgU;-k(JPPR;-8CM9qZVK^@D#30U6$!HAzK|Vjy852!;wWGI9!X@|FM}f@amYq+*0JE<3D$ z+(1A;C33wr93==xp3IUj)zJK4HG)oey0(+IL|EJ8W?IK>8Xwvz$X=GteE^~3#~!6o zgld5B1R#_Hghv24u66eoj?7?sC771jbm}nI$exPHm(dgZUU{=H2vC$n$pC;ECs@-PfxxkS*FC6{kty3!e>Dtf0O+vM99sy7R)` z3kiV-)EXma5SpFS7p>p$UChgWEwQzN-ye7R;vNB4wSc~Z9Jv}U`x$Db*tx<5C+WJT zzZK*axE!V`+;*ZiDT@xhHFpl}zTiDrWo zdTBow8ewBdglmoosZ8_QX0xfepMRS|6te+{%sfB7Z+aAwnFhQ`vA%3b4nET?KxCRC zIrwxN)&Pj$vOlzjz`>;~1WqkKSilX1KoB&`O5vMMx+s*(KJgo@V<8NI_9caWbJM!NTxu*&GZq zARYK|7l39g9~7yJZf&r?;^Ew%ULzW)H4;~79hVsv#Pe<%L)TlB7~Pso2u&jd0ffMf ze1R9>ULgW3Ccds1H@v;=h8&82S>*&>ezx`E16VH{9%*Ec_i@J_2M4ky_petVu~IpC zL0(ArE{C0^=WRdxae%mOg_k|8FpYTloT z7ol|HpxFV|l|j>kXC|CUeM^weBuJtD817mDa^rB7LG2ghJv7WHQCl%2n3O6a*J`eG z0S-~e9gDF|aL+S$eGr($vk_8$7jvaaldp0IK57 z4$ijA`6p6ir4PLC@=*sxKo(fGT$W82v;vs>qSi^=fB5J7oqQ8=0hk?pqWWKCSM zunZRxdSQJrsxvYn$Zy1gQ!%`HX4o#|UaIH9$I{|gjfQ0RY9(>$HO`)~{7S0%S`=5` z(a#&|R|)iqVIpJ%F~sUK{BGeVt=N$JwOTy(nvV_g3^w?FvUo}Vq(J-9V~Mv{*th$W zDfnriPxPY)CKhBBY0n{z#lmkwpiv)1jg z&zl#D)sNeSn;U*(-r^hl@#ujW*(6HHB%=s|UH{btub;#51Z#)1uJKkW;>721sxhrP z)?))OH*{NOk||lu4CS$yVym7v=!szKxkKBw-22A%rNr!5pvZ-lOq!4n5OV%}YGUKD z3IyP~Mvfq~a13CTawPc>a1byDOxdWMT``XK(vHp!fB?V`P$0;+)5D-#aF&SSHm=aj z3m1=9HU}PS*W-}z=ad3O*o0Q8m5aNhyA-%iopIn!A)U~X_QoyWBlYx0+Wx?2-dRsK z$%Lun$ry!O_bj< zn{k1#Pm$K8VPZ$+wC!NQpg^6l(&%?q2c0SIEzb>cH%{ry?f7`x%BFonZT1b`d^^WA z!o4cdS26MF9`7@G%P6*d?&$6v4*%RClN&T*J`hn}mXcAvgZF;B;#gBS5KEFU|wpUNr0~Y>OVu+|CW8EU=#_0`GV#X@>+Dzz#7drYi4{wIur26sR--YCoVDRT{r)D!!0Ujc zuIh^IQHZx1Cw+P9>$AAaU&cmFe*WY#n-!-d6;QFQ=!8;raQerOIcF|5U8r##YfZSX z%+IHEt#azh?Wy4Ys+NVcXsAA%)Qt?UifmTgV%M7a`eolx~qeFpGr*V+vVd!PgJKUtm$_?AR)nR%oQPs zU)snH;LL+6m=$mYIJA+z>;Z(wyDA)+<2)POe{8 z!+KxZ}<@sJ~ zu~-rd8qdpO;4f@&%4Ok$cMBXu&@^zZuAO6qF*B|c7D*XER#6iD12pE?zIb-SC(l8k*U-!GrM33=NnN0-_l4WJ1l9Wq@$c>+3aRQMOw2VRrTh5|je4Fjo^aXa_W42eEatHB zw9(A*3t#p9$|f7X!#cZWV7D0tO}Qa?nP$kUbS$!NMuYP}R z1ifzHJu@u7)4oF(=?cvC@&=8nZPP~^xw3@~T~NOum{E3%hP##Gf$DuOVbNJ`?EW3K zRA;wRD$mVp3VG>z&=y!7ilF4h>Y3Xc=0H`|zfSeaC|*(?yBh* z3VPdr_#po!E|#!W;(JL#21KzfM?^i5%H*?{d5Fc)u@F5CfiuIe@3n2s_g6Qu@V#h^ zLKw!tw5ys_VIK;~z95%P@hj}PB!Z~QC_^d%F2&u;bXFz=I z8iZ87RkQ>jx_rLpr>6oc>vf^)h6`91^p7XgV)hhL}Ui0m31_F)w#W%4Yw$g*9V*W}xMsH8sBP`B8 zG7pQUqkPHuP+oYR+J8Z%&8A#GhING49d^KVNp#V%*;8!0-b^Gx_ zV=*r>{q5-u^@;E97=FFSelS|2vQRB_Wae>zma5KScFVyul@8~v9RjEN107G>WEL7p zv0fRzDwK0*%b4dKjX64B#XBi<&G+(N?Y!bwBUp`Z?9-(Rt@;)vlFuDC8bbN5cMNas zW}R;4M^~$5(K9lq$8vqR{54srPhJ8GmPNR)W{U(rnOda*%Tq_520p}%NUOsK&hH#V zA0jeT7luNOJd;KpwAH*(M5rZrvfm7p8vw$2;Gcp^D5L++K>njzmP|+kxYjilP~xN8 zpqu2*8@Xh`17xEOqV*X4Fr{281JJzJB#jI_gQp?a z71l^;_rRhE&G8M^b;2;asn8L%&E9A7T(cH=k!*T6Qqx@cl7iQQPRK{^e#A7<5OldE;fRJ1s%rFxZ5 z*=p3hKJ0cf)o7jrurt6=rH`RE7IkA^VlU>2IQQUqRcMx;#GS-rY&Ii4WtZtKYdL++ zEtEISgz<_4ak(W2P&!R7YjuWVX-=ihHiw?QaOa7F@e{YD(unct7p{2W9`?9qAOFv?x#0BbMwSQ0AMFF73f=0_J{7%}1f)tV#JlF__5ETx9iyuld z`)L{M-0^Pqcn2)T)t)3y(Ne9OSbvg&f2Y0yavL51L9M3KB-V@ZaF%lOa$K>^q`lG7 z&Te-0C!~(y+}-|$f@~=Ud69Lag=k&;v~Pe}HMY~>`uMRo!#(Id!3SD&Pfh)!3i7|Q zLRS@Jm05lD78f=>LQd4;Y5vze1)5Kdg-tHrqN!!yN{CZSjbV3u&GmwZo&6A%#O|!O zuhqlM;fY6TCTHF6YaePQnC863nncmCS(h>&$}67?;t)g0ziL9A8q+M&{IoAPw)+(O z!B}(<($9_6Kan%FeQWa&dtfekcqn<4f}VQ)!%%hQto+MMK@3)B-yJ!ksiNZ0F}d$S zu@t_*>#gVleZZ;9pN-=irh7USA9{s)^MosN(K{8oGk)Na4||Xz(&Jap!=}&4bcy@w zA)N*9=x3H@Z4IB?o|PPiaWXs;@Yc9ScY`P^1Bb24-a0c zl4z=Af}{|ck^iiMY;!^|n$Da}%HL@*yDXKlL&P{E=7Vfijcv--MT;YTIiP~vXySFD z`7WfP(zmQk`pp!AFFJh7s)GE(W?NB^mB`QPx-wgIHu@eNNV=s`vumf|iJF@a6~)^s z-H_xdmp2t;lHk3mApgHm$bXm2Y%0j4Z{ck!$eRi>_>J8EK>KS`LEco5Hx=Yf1$k3J z-c*n`739BRm2E1>;0dA?LvB++-c*p6|F6zpQjmX;H-1)-+b|J&I%Gxe*gj-t(Gkj; zX=L=XPRrTQ{aRE>M?=Y;{NGcMQy#t3u_;eNvF*#%_g>=6|4LgnJ@>Br5e)@y+qd)d z6Bscb#xv8OD4)y2_(ttaUW^SCLH$M%-yceezvr_G5*!>2d c+-y&+VR+#gf0N|~9UfH*JD5Jjm{4}uUR zs5C(zdURn*zrcHqdVxK)P)7322TAMVbNR4HRzo3_~zdgjvf?Ot98@H{LHdy zK*)TM=g&B9f}+9IKfm=aF5e3_{PQJ$ zY4?9DHvtd+Y14o8TQs=)&+P)Wjb3|LIT@*NDqyYm#gu^q*EFSow<%yKVx`_Ka)!0 z2YAaQr%LYyQ%n$Rjx)e%JeM5_ov70FUMveJTS(J+%C4(L)~h*MQ8!wJtf_X{`Ol?k z;{27%#**2uiR&R6-eaRK1Mdgl2xHQ=uS(~VqsTVrsUnQhc zRIK5>@(05w3gHYdsI0;;sOO66pUEl)DGyD(D4>$7drUDFZ|uxx;-nWj7d|rj=u+D@ z-HU+mLOInrsXdSL1Z6nVB&D z@>f4!yq=_B+16+qw5k=4o#*tf;6Oe*F;`&L!)bT{U7Wc3YmG2;NRxb%woCt~*Yr2E zfwiUdS=7SK&5>df-aqY8lp~SEUG*ziXGvHMLp_#vgvVMQ*&{+d@(a>v4;7p_%Jte0Ga5zNbUI28WAgY5f?FX^;q`1WTw2~t|P54N&e^@=nFqDj}W#o z_-kZBWDQ%($YJH43Y7YrbjfsUrAEjla>?j0;YLdXxjK}P@xDGc%r&c)6`t?XW=*{r z%Z^p)?6*7obKU_;NZK_ejh9n&?qzO0#(}Uo+KSm|e}q1+f$wM!G8>lLvKK1UK^uz5 zDk&5(DuUnzQy{aQ8%b~*_4Ri`TOj}Dd{0OCls}^VD8=qDC%Q9tSSt5LZoxd!|ai3oGtf&cOy(`^W9zMNR;bII|OS+Pe(-9=f!m6}w zV>f(mH^BYE-=Wl=)Q2s2TF*j&tRkN0KOu3-(VN?4?-v|?W^Xj)@u4^bNB%bN+f|D= z?r1ey$UbahYv!qISaxV8>+1Mnz!M&S1o+~titx|65MA`iQMjscL!+LOGjZ?p>}x6d z4`FiZV9i-E6F8c|Fq37-TTTtJOdIZ9<*YrJU86UuQr6dipNC%AxT?lXa9U=`iq+2= zOT!CFUlJM1&INj~InR!=@x@{Z8BnvgL~_>nN)y@!r<0$uGCJ<0B-q!vZn@~#5^Ig8B}}g&dYBee=x50Wv$R^^f%aTE~g_a7&8Y(5L>! zkYgCl@1ZVqFSwkH(ns-EtYbOFLrarf#r6W9#x8rO<<_6h33faYV{<&_gBahO#ga9j z$|}=ea)vEm|Hb`E%L9Gn#Osxg( z&sxXz7lsse+_i@<_LUl@8$916h*m6!R?~zr_ZQU^H3F(aC1is#I$VP$GO(s!pT&Y# z85JYcwQqu6Ja6sje&x*)nOdx;bt1hNMTSwSikFeKE)+MRrW?mg=8mp^AR_kz{C%e* z32H_>c600^d$9)ob+$yzpyxHa+k0Sz7GG41I0A59bKJf?X}E6mX$pU~Wc%_?$2w1s zZEbk$svZ4U+WH;XPEb^-IqhGQX1U|z8KWp8&jVlWFPP+7Um6;oMy?>TFU`cMT5bYx z;7_~MfZ(sumPQHg++U)9PT=+=zxu+qmP==xJ&oI%XgD8=YZo%*rGq2U_J^D4d%7H`}jau-;<_^n?THcf9*rKD^J#%p%l zA8DILPr+wPY^MpxQbxGXG2f0xcjxSw;wjl53EsXe0poYHgfc(T;v5J;H$neUhElxe zrX0NdQ4e#4L4e-JmsN$%C+#BKX8TYA1YlhN`|QyqnlH{Igil*i0?NrD9qi2Fw_&~eMSk3UGyWzcay4oPaWE~nJ{R}-u+%oE z^4pk7G%~M66x6$a(@21!KD)Us1JG?!Xn4Zb;NYOn2SGc%JK!@mQv*PGMGxMb{#a4F z_#t!~GhhJR9)$w;fi20azFx86@7j4yB zpC7-bK<170rK@aOPg zDv69Iy;oMY0yq-ORy`~=Y8>ZQ_}+6m=ElBFD(BO@q9)h-K%)s9-^rh(;7T`vu={0p zCzf*G!~Iex?wWwWS?rOOYx{i!_Lh~OXJ7gYPR(bWfke`)l(GCjjtT06t7+0hHGHhh zA9y}JSM5#_xw|dqtlV?PVqZwGRm*pM)dvDj|LAzkF?4x}RLkCA#>G3V21ZLIt^gG< zQI&0O8}Rf;Def0;ZbweV+|x(R-?(Vnj5F9~eOT)4!nDr7Yq-5!y1bz1t;HjQSLn-A zt1qf%FzvKZ`+#!ufUYj;;FE!eL$>Pcse)qp0BW@>*U{2zo_CWHpgvHpnGofD&KYKY z+!}avbdRD^hZQf zU#$@f{W=^JvL7g)bcEZ<)O9tw4?Dxp&lksZ;$I_{?{l;o=>&}=tF-5MU&27^*rhJT zcd0DiLPxBSPJ<5cx}JGQAds^*(&j4-nHoTwx>dVUGJHkMM7w*nPbN5n_W)JJ zoSF~F)URWm1xS-QkhpAB(#}xq`0?;AQ=#^xj8iv{-*?l`8a;)kpuatAQXeVT+=;#A zT0rvGu`_`{>KMvxzgLkb$EeCy`RyvAx+nC!D381cssru;3nBjt{S>AGvQAs(kxLO{ zIp*xXImIAQJ>kiL&b~R(P_(nAu2z<~Dc*-_c3=C`sjCz@AZVOwgE5s@G#uy{iQNJ} z*pY1bjnx4K{yik#93ftw2}MI#Dt>w>)q5vp~-G zX7!=BUrYpB-3#04(mvmC$-Y!WY8${8gcraWB}q}i z(|PAS*SoXp)9`8tTYTuy7`=#uWFoR#J2(AVcxr-9uF+7kB$GxNkA$Vfoz}l40*Ydo zXReR;i`X4$Te~{&2?RE~^39WlS?>E>my@CS3|paiTe-zGjS$iwI*YbAHOwW*PD@wI z=Nl-L-*Y(4b+hX{-tb98arKb!Q^EK+RA0Lfp4`cv&x7o<`~ghNZ#@Z$`B6O*2R6%R z+kg>9tGG(TtYgVXWD_X)ySeq_3Tq2*GEPMlF@o;BBxfbxC%!xOuwUa+?wXac%Dce> z+d&$P_VsrSw*$bMY#z8~U%K$AIc8vOosw2D4`XdBe5NKVuc+s10x-cw)v;&2Yd`@# z6UL-Y1G;FY$G$?{@cwL6zaRL5p_lTzugeI5PB@eSk^x^LJ=N!qHsScr*=1fnx>1;L zY5eqB8dlecz6GSs<7{=#sl?FWEY66Ejk>f}1odw~P?}i0yH&4d%vKKZ@hTi7-IW8%;{(vI`&L;i z@`wN4O!SHFV&u%JzXt*g%E%4J$^z@6FOtA7Yc(*Rz2%_90Exxp+}r^Vb|pF?C;F8w zu&f+_Jsvg^Wp?I6!+uV$Bi#fzohClm^T{PdQzz%Nn}GENT0zaz{xqo+NWJ!QdLYKf zBHdX|LMnBh5jXZ;>OoAWv*rOX&O8Sbzjyl*y-%<2V2oE_*lEG(1GlpzBZ6aoOp%y8 ze&=uJp63A7*h}C9j-sY70bc4bHQr`@q#!@&!5LxUu`)c;-&WVK?$9+vP%D`7v^_`5 zrOcY7w(+sWUl!hkCI>q|qg_*OZ$os^0Fsg`di5ki_Tzr$8gh}#WNKHtX|hlAupfW6 zk_ZWVB&Hjb9ZbLk!Ie1lMyGd?qhgq8>{#iC>Kg^*taLx^YuW+VQG;}IK{6+Y@0i7& z6iRAQBlI8*LwK}P>x0;cL*en^{8^OvUg%KTXIa~~>xA%u_2)y{h_+YQ?tpDgX9rIe zOo3t5%oVK)PzXFaqN#F2^qJbgB3HzT`{nJcFO`#ATLWNBXfYU5CYHs&PnH^f*Wl6k z?<0KM*e@M?auAvtBi}A#6V#ej{yvSOE8v?4^Jb8y4~i{ zSIC{Kc9#!&HhKqJI9L>s*NbwiwWXI+w-X6TM}&3$PlPOE+G8HP8Hi(#UMtyKy= zLo(ZOb7qTQ^r{NHBg^h=C`gbboZigk0*;z5+XW@P;EzUwQZv5|SZ6W0tBbATVDt$& z4th!!{t_tBc>V9qZE^8&@=VbaMh;!ivCF~IC28PzN2Z{@`)H;y3+{?j%eQl6gP|I9 z-agi;Y>P($m>0yG48Z>=AC0W_h5((46THSuk)X||?u=A_N-{J)`M9Q^WnUMh84VTQ zIvQlFtG4Z5X~3!o0K!K+^E@{TZ;5W3XkNzy z*j?DZB4J)s(LK@K0K1T4u&xvPHDTX zs$=NfQalJo9RXF+0@j1~t~aK@*DAWgsI@Sl{8AP8%T`P`Vu~Tv_%ZmbJz^#V>NJZl-TbST^RMK5DlNOs$kegkbICLYRJk-}g{l-Wn^Vya`SL3T1tiIw^Z zm~h)cx+UimpKrqQ=$a*_BCrvMGi%5Nr5qU)hq|P1Tjp!gLgpIqRRIs`qsDGjcel*OH-c~&6W812bsUI z>umkx8_8Ottu&n?L`^t@;63h8!Nb19V4*G1v2?3e;$WrvvX7%#JaxH?R) zN@KLmgq3q$NONDrj=7c`8~kK5VTf>xS$Q2C8@T{(7ygTX1N^6hZ&3*F7Z@!5FaMz+ n@b3Qu^xx$8Uk}h2jH{d|uJ4jrSC|P(2)ca1@;v^m$K8JeR7TPQ literal 0 HcmV?d00001 diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png.meta new file mode 100644 index 0000000000..ddd39e06ac --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png.meta @@ -0,0 +1,156 @@ +fileFormatVersion: 2 +guid: 7af834ccf10e9f74c94e59d28c6ec973 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 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 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: iOS + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT new file mode 100644 index 0000000000..984713a496 --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) .NET Foundation and Contributors + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT.meta new file mode 100644 index 0000000000..b0e15ff03a --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c6a71382129b6f949b37243d2f1891b6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.nuspec b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.nuspec new file mode 100644 index 0000000000..d6590a9172 --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.nuspec @@ -0,0 +1,29 @@ + + + + System.Runtime.CompilerServices.Unsafe + 6.0.0 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + https://dot.net/ + Provides the System.Runtime.CompilerServices.Unsafe class, which provides generic, low-level functionality for manipulating pointers. + +Commonly Used Types: +System.Runtime.CompilerServices.Unsafe + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + \ No newline at end of file diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.nuspec.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.nuspec.meta new file mode 100644 index 0000000000..a80bf4e0d9 --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.nuspec.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 548c33fe45c1bd8478921c2ba4f49024 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000000..89c59b21d6 --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,939 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2020 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for Zlib +----------------------- + +https://github.com/madler/zlib +http://zlib.net/zlib_license.html + +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 + + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +*/ + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" +--------------------------------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, or Digital Equipment Corporation be used in advertising +or publicity pertaining to distribution of the software without +specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment +Corporation makes any representations about the suitability of +this software for any purpose. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash Library +Copyright (c) 2012-2014, Yann Collet +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod) and ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT.meta new file mode 100644 index 0000000000..c9b4af0438 --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 49a1725ce1ecb0c459c498c0dc311b51 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive.meta new file mode 100644 index 0000000000..395d408995 --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df5dc443f78c38042845e4196231bf83 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0.meta new file mode 100644 index 0000000000..9b18bd9ab7 --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 91ef7595c6f73a94799c79ce939dbd04 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets new file mode 100644 index 0000000000..98eb1d3b60 --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets.meta new file mode 100644 index 0000000000..1e94c1f039 --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2b04d8c826e8f5e4cbb24436ec886b26 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1.meta new file mode 100644 index 0000000000..104fe49c3c --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8428e813a70558d49a8c80219482865a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._ new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._.meta new file mode 100644 index 0000000000..5517f51b1b --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c58efa7d083375a4b97e86e80d632a39 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib.meta new file mode 100644 index 0000000000..fb7f0a1b64 --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 94203e3a669a55847845d4ea2a8d6f5f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0.meta new file mode 100644 index 0000000000..e2626d85ce --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 71bdc16a2b7d3804cb22644c32a90e87 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000000000000000000000000000000000000..491a80a97880de93aa893f6974c5f76891d2de73 GIT binary patch literal 18024 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 + + + System.Runtime.CompilerServices.Unsafe + + + + Contains generic, low-level functionality for manipulating pointers. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of offset to pointer. + + + Adds an element offset to the given void pointer. + The void pointer to add the offset to. + The offset to add. + The type of void pointer. + A new void pointer that reflects the addition of offset to the specified pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Adds a byte offset to the given reference. + The reference to add the offset to. + The offset to add. + The type of reference. + A new reference that reflects the addition of byte offset to pointer. + + + Determines whether the specified references point to the same location. + The first reference to compare. + The second reference to compare. + The type of reference. + + if and point to the same location; otherwise, . + + + Casts the given object to the specified type. + The object to cast. + The type which the object will be cast to. + The original object, casted to the given type. + + + Reinterprets the given reference as a reference to a value of type . + The reference to reinterpret. + The type of reference to reinterpret. + The desired type of the reference. + A reference to a value of type . + + + Returns a pointer to the given by-ref parameter. + The object whose pointer is obtained. + The type of object. + A pointer to the given value. + + + Reinterprets the given read-only reference as a reference. + The read-only reference to reinterpret. + The type of reference. + A reference to a value of type . + + + Reinterprets the given location as a reference to a value of type . + The location of the value to reference. + The type of the interpreted location. + A reference to a value of type . + + + Determines the byte offset from origin to target from the given references. + The reference to origin. + The reference to target. + The type of reference. + Byte offset from origin to target i.e. - . + + + Copies a value of type to the given location. + The location to copy to. + A pointer to the value to copy. + The type of value to copy. + + + Copies a value of type to the given location. + The location to copy to. + A reference to the value to copy. + The type of value to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. + The destination address to copy to. + The source address to copy from. + The number of bytes to copy. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. + The address of the start of the memory block to initialize. + The value to initialize the block to. + The number of bytes to initialize. + + + Returns a value that indicates whether a specified reference is greater than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is greater than ; otherwise, . + + + Returns a value that indicates whether a specified reference is less than another specified reference. + The first value to compare. + The second value to compare. + The type of the reference. + + if is less than ; otherwise, . + + + Determines if a given reference to a value of type is a null reference. + The reference to check. + The type of the reference. + + if is a null reference; otherwise, . + + + Returns a reference to a value of type that is a null reference. + The type of the reference. + A reference to a value of type that is a null reference. + + + Reads a value of type from the given location. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. + The location to read from. + The type to read. + An object of type read from the given location. + + + Returns the size of an object of the given type parameter. + The type of object whose size is retrieved. + The size of an object of type . + + + Bypasses definite assignment rules for a given value. + The uninitialized object. + The type of the uninitialized object. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of offset from pointer. + + + Subtracts an element offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of offset from pointer. + + + Subtracts an element offset from the given void pointer. + The void pointer to subtract the offset from. + The offset to subtract. + The type of the void pointer. + A new void pointer that reflects the subtraction of offset from the specified pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subtraction of byte offset from pointer. + + + Subtracts a byte offset from the given reference. + The reference to subtract the offset from. + The offset to subtract. + The type of reference. + A new reference that reflects the subraction of byte offset from pointer. + + + Returns a to a boxed value. + The value to unbox. + The type to be unboxed. + + is , and is a non-nullable value type. + + is not a boxed value type. + +-or- + + is not a boxed . + + cannot be found. + A to the boxed value . + + + Writes a value of type to the given location. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. + The location to write to. + The value to write. + The type of value to write. + + + \ No newline at end of file diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml.meta new file mode 100644 index 0000000000..3057d1360c --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 493f8b9334cf2d74d8361f61c594725c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt.meta b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt.meta new file mode 100644 index 0000000000..f161e93654 --- /dev/null +++ b/Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 11d119eac6352fa47aff54ce50a74de8 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9.meta new file mode 100644 index 0000000000..99d8a2df1b --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b3a65d13e07530648b6e612ea1908924 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/.signature.p7s b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..0437c4a8c10b006270547fb98fb24d5921108e9b GIT binary patch literal 25747 zcmeHvbzGF|x;8_1cMc#S`3~KUfQWR6Al)e~g22!vf*{f<4GJhBC7sfZf&v24DIfyh z;1ZXvz4l)2ea>0ucfKF<5A)W;J2TIHU-xxi*ZTla(pB=<7DEdZYrf=r7EZ+=;)~AdQHWN z$Jkm*QxqLN9m*IAK#?8*Py~;31b7fUJT6iag?8$FTCQ0^l)7AZSG}|Q`gX@4OxS%H zLofg|WCTq_WCD0ibqEnaaJGR?fGJ~TVI^(mZ%0*Fc4xZ_Z*bmV6iGx4M~$W}mFUU6 z`m}s);v1SyPc0uhHkG|}O|W+6iXFg}!R45N?w|xLxCq+T)$dFI;MX&O5BFbAbu1^{%`6 zbH$y?w?6PLLb@j(-g;o1@k1Xq0z^9dn{Od_{L1L~NrLUz+ae!9imY^K@_Wx*GC zIwbp-^sYpi?l)S6xIK0gy`eAV791LH{hrZT4xjy;d;C&%PY0Jv+Dr;vIZ&OFB#OW zuc9(b@1Zj$?9E$oKBi*do5(Mt`al7X0D=Q$NdXc74s1G85r9Cah)4he><@r_wgcyE z2O=z{f&i+sZEQqhM8egvIq2YRebZ|*92Vk>FCUjs;wb+(%U}Tpn`I!l8lwsCeA{}G zmS~FRj7+%5Ia5me>$HU{qs|nSe9(tIV2J;Jqm$fkX6!c|G-W4Z5A~mO=#}d8s z(avU6<6uyvQCgyeN@Y*&%LCz>#|c(8?Txv4mf1{iQVy9)fWYcc7D_^5Q8xtX)MZvW z^bxw&R6MwE^7VD0z2#TWj7r-XTWC?op(rXJQ#2p(pb8rD`-hl`+)Ps!-1WdLyaJAF^I& zf+fcWl1(R;88gBO$F7l;sYu=y6<2bk55m0q#&58PD>eWN6)m1p`PI4&*aaATC&+^v zNJ|7lUDD*5zO699OroN+P_H!LTGZclBv~c>q+qBSNk*BCFKPDktZWs%x-GJUg{IGy z7uUq?nRV|l4rb>W#}87^u3ZhUr8t(miZx?ley{ANWWVtIuJA6R$;XW*4LH^GFqY0< zkDig`U_{dL-lqy7Pj_MxD#{m(a0Ub67FEdSDdJMdGOCkHlS<*JH~MjurEELVYuBYe z3*COwp~U!v_c&C)Hqe-gYcQQvV=Ym;aq2T}A6aGiRf;H31yh{*QbnlU&05Q0`lWEy zOs&Js9N+X&>hf9~9Cg>r1oK2N=J zJYZ=DQ!}u-m4&^Py#-iJU6Kb7MZ!@&^?ay4b_ z4DBx=360S`eh6Ypj+ac!BWF>)dAzUrYUA5TCnjvS3e#+Fbj#@y*Z1UM!0lcG!9LWW6L<9UMJ_UgdA#QZPb}ikTr3#0I$VjR-hUvs;0i>p0uS8?b8af?yBH~n<43zqH|TUb z;a-;99BH*0mU)d(&$_#RskOf9_M%4I0%1^@+V0{CYY z@z;_W6+ng+%CM66hbq~U|J_Q3@PPqd(9wy}UDOb>-Rn|cNh1|KA}K)Z`{!l!AFJ*& zUP{G)hzX!0qp~7{kdROi5CHe{_aG3W4PXUaI^PCBL8O*0E{;N+oDL?=jz3XWK=S)p z@Ik!a&N4ANW3eBd zAhrPI*&tv<80Q91kdZ9>FhK|aDl+of8${3_63|y3Aw(}D8j0$*9#t!pFr@Vkp8Uyy zJkJhW#e$3Zeymd|T-Q@ufQbM<^?^*9;&E!07vl(jt&qOFUEGMc!Y)${v7fBUadKTn z;5)Z_{I|R5_H_#$^zA*go?8JAjHuiRNel~Xtf&N;Wm zmU#*T=>xIYQ#V1;)Zv7_t8bZC3>Y)wbmT|KPsW(Uj~@)U1-+$wW~jG=mAC#bG^0-N zy}_G;Ko=))7zNN{^0%*K^9(YiXT zbzd28;i1fYq8Rzw!Hu6SP@KG%@gr&d1C(ddK5-#nsN-f&*T(T>UOk#n0nL5>uyC}D zZj6r*@>32nJ;B@W>yvZQkw+OVDq|L|8^Fk+LLW!AOHA>UNOp1%&0M1v1uOk&)Qjbi zyN)&s=`W9k#AS0@mWZR(!X;nH2Pi&LDwL6!i`*n)?p@m=)k0z6#BISuH5K8GDq)Tg z>5dA)z-kcQ?WMkZf8)hUcjcx#!NMZ5coBZd6HYo?$wR0fk$I0Tc2{dq^Cw1bOccfR zAryFPYY9MJkta_TTvJRDh&p=%%dQJag?0HVW$KgT^jsQbm&NT-wFk#f1LbKCwS}K2 zBdi6%&ra-1`|#SQRt@qedVTzoJAhX0&y zx%^DG2mm}-y@rTNfUXTwW?aDpY`?U_u2b3?2&dgNvG)Q!Mc<)PK+s z3T`!Qzr|`KxI5a7VdIX4(&bCc*X}jSDR8y6`AJ_IiG{bKC-jggt8`%qY0Hg>-BIn6lvHa4+ys%)OiS6TP76Xh%!n*!7bjs@Dm zCoxkGK!XhVxZEIgGL-^R^_IRgG-{zY$};@-@oNaUBskY3+69p66GP-$({{da+!~$C zQQe)Px#<}AUX!%Jn4GtqR{iZJ-HOFSpCBGl3=7(6g_mL+<)Uv4Eiqd?)bGm21|4U7 zXzF@{Qlns=i~(-I)4-6!`<#03!+fckk~=Y!AWLfOpb?@kcm?0doT#V*g_)TR=NV-O zbwo!*jaDVv-sWZO9z+^7f;Y%UpvT3Ib0?{sO2W6fBl;~Zx~$P3->uT|I@O*!Ww2G> z3hp$y6t17V&S8<||5glTK%0WuM$~WYA&ItcEzW zLKJd`iald^a&m?m#d6sPOr_}ppOPbCcMc(&-3ZMVAz_|6ZZz)3Pv>ogOysAeS@I{` zxF5J1cBMw=alt8pxW;jEUQlXFi|bsQEq#H{CsUnn1xo9xbe0#wQoij{mN4DsT1}kW7iG$f%8-4;O=ku~v^fN!hlDMeXWStEug+)crA-ybDG*;)) zg7dRPIp&%!gYQdXxE(-?a?;+YCqG_)4EC1d>xJ$0SQqn4ILouJwQlec|=N zPN>j8Bt|>YRkEPXx#H*7VwN^l!weVfF|kDTp9Mk4}(5l$oKZ5U&Ma|cq{<(87`s|&|Y_yGjri^ zaDq`ZGe-w!D;Ec+J7D8G;O{^P`F1YCFP!_AK-i%ZuX~vVH%>qPE@QNwb%Dk?($46Zx{p}_3wgD=>3)oa|;VzmL%LSeNH$JOGz zrL?)MkN#KTce7>$xV!ps1*sx6W7}WdD`>N@7!&(^KwppaMTlov3H*dhm>8IORq@TM^}2ah7SoC&j!}crmV+oX{W!Tu;h_U{!~wda88Q0n_fTe3Hq$yvw;ME8M`k~ zZWbr5m>?#O?5;+#E*|=(;XI#eJ<-~V!0Hfv$~EC)o|51F`uXEaxGy^sw7c9 z+)l?S#Kzk&S_5XDqX}%(uN1r}ql!0@9RoX=s7{d~T`kGaCFzNogT}rHjsA?A)yJ&+ zHnf+oP3g%oM`Th!e7p%WpTY8NZ~9mXem+7BG|wVfrly{XvwLYG5P+p&9PT%-heUkS z{K}WX`U95xj7;#`y777w9HFEOTT4`Vc1j=giwAmJLuov6SUz#;AEnB!6BbCJutG!i zE=OjVept6gcYBR*J~t+zh>1-b+(o&+7w2LYq&6^ufODW2)IWe5X66}iS6*^R{F(Yy zeu&&Py=D(p!kZ0S*gi#xulrD$Xl<2M*cO94H1CCxRk@Ic_ovLgftfS z@K1~1pDl9fP>>El`rVy|h5*6%zJUUQv8r?58X6J=2Zmj|fB?)+#s%R}J`80Dk2F?7qHR`w+oe){qd^S=4$Ny8XUU`~Eb2*-K9nlvR2< zp51z-7C`_jWBmZTY?wOnGrIl{s(0|X|B7Y97$qVUn~vuw5bm^vjlQV`RC90o23@vZcSK%U2b4;y15rWg|lN8?WDexDSVKgzjR;!{WDML z1WUtNgpUy_J`^t%trdh=dc5_uuLhQ8(M9w-k%nNrUw2wxS6vsObBbVV|M;2yMqBqP z6|-ww z{dkwT6(W(5lv>#}7j)BTCb*WsUE@VUsgPHmyVLq0Hg^qErLieR=glac zQqCc!k-iM5kQxA`(D-qhVMCx4(y*Q4-)HNYtCRwO?PB{=SE*m}50`@w)BPe4{Xzl1 zAb1eyw>cVgYzvDW$XV6-eagaqfAE#X(JG#g&#kBtJEaLUJcn!A#Wf)D$8!aQ0+b4T zD#h@)SWFK5Yq~Rz#u00^+@SlfNO53%@q5hi0J`wto3k5WE8QSrjI8-Pntkea^S2!G zy;HNzt3j$Jw4c~?)1kzBFe_>$OifPvRt{q>zWYEje&r%o0^%6jLR*fPMP@Ic*U`c0ZS0|VqRYB%AN2;{snIje8gFqm^Rl;8#sj#i@n}64B zKtcbgvV+b{sUVms6$FAS#wO~Wm-f{w4c@6VJiLwnq~r}_Y)HXw?;co?S;r9bz;`mA zD2~fWwDG;~aV63?gyMPZ9~)b$_%ET3>5bMd+LOurS$%iOR&qTNnl)FI`qm3y7RcWC1?{7gWsk)k<*dt#iE^n@9wJlB7;*`ivoINo@0&y(~^rkBj2VDvJ#C)ftbaGysq~#tZ_Os_PIa=j)W$|kTxto=( zdE#-z{ihj^R!|K{-M^KXCVWS2CaO#&km=?5g3pxwI)eb{#lB z^=ba}gdc3tuz84Z_U&h4*UrqYZO%D4dz!{J>^qr{bInV+8kYpGY>!M#Yn7+<^b#^x zW5pZl;a}649}@LfkkyIjwIa`xTh?m3Q;0uq;TJIDgC-KYP{qgwt`jY14&666rJIcp zp!sOF5&UkZ(L$kIf29nKWrcCgquyJbb*GY%*UlgmRH1M)4TO|bD9X^-Q{mIJKo?G}=4E@KL5bG6t1jf%^L`?2<>-#XiRXaKSxq9*x5!ssWbwW4rVcC;NDIto^3vCPEf66MM3T5 zSWqd;{fsWlnYp=Bl5#E-V?| zId6Bu+N5@X%`Y}drO&T|HA(q@rAhh?M-^nwd@$0IUwtsLXZK2jCbS~Y}@ z>-{X#pV_tg4tMv90MEqmvRlJ_1JW`{(zGj&oHFE}Cv>MM=OQBzxHHKNFZwLq$lGk- z#K`%$%_Fk9kI){RH+W5gjQ5JQmBzEG46XaC*(0J$rEiWY$9LUz^)wE5`|#AZeCqvM+cdPStoN@>oOp!_uLf?Le9)v+-9$8%UhPX3mVvD%BYkxpq7I3%R$ zFohI?eoV+`Qrh2<3C}b%URZzscMa|9qdh$5+4#SQ^k`VwnW?)N**X5fvdG2DcV=1S z{Uyuda}UT6`eR9_dXX!yD2rUDvaVRVJXa-2Q7VqaihYsr$e&GPP1+hSikF1TR;u8T z;+c^1`;3$P+FKmtBJ_FVGx&RSD;Swck0x{17@)eCQ@jV!M;7x`@=qd$3X%h*Pe7Fl zzAd0>Dt`-U^7sVO-1<4gRuz3lxuZ4q5;5PbRiiJ6HKmC55_LzCZp{H`>>3Yo9k@VL zP)TFVQ93~p525iu$Cm7TVcAKN{ywk%tBMu6uRFYWZaL&uCR!NA@snG>v>ienzTf5$ z12Qe4t9v08nsg-6uakHCGOs3dB31;ca*>FT2#*oF93nqq^JNOHQ+CH~KtpYsT+uhc zBS@rsklfPHN@S#qm}xdeY=_g5iui%@r#vr(!A1NPAF{S5yt68cF&s@!P-tInNzwz} zJ#!W6tFa9Grr41A+g*yw%gEc0TKmf+B$02IO^-CdHAkSu5b-jWuM&OH8b!{l@#eC) zU;I8wc1p6{D@fq9u-&su2Z9zG7Jh46DA;55 zn>5uAxt@EW_T7X|Y~EtK0zHgU+km=9B4Sr2`rsS9tPu`j|hI_;0;5Nb(K8+_OqiVFNZ% z|JJVr>BExpjlZxgZaAo4{Wy>8<=Hj+KDcY(whp+oU%4VeAs@A%_|7M90`$&q(C3k5@<(KESJ;r)m$#ihsUwK-bhlKI_)H$AnBX=wV0Jdx;Hg0aywY;{ zQx_z6Ng7`vlCloSS%+2JwU40Q)AU9RgK zN{pYDqB?w-+>3e`!&j_96X^msVwx3sf;Ley$H^PSm!*9GaZ$i*SHG$r9xU0EW`WCz z2wwoXS@2@Lj(gA(;eKyDqOMq9MVCA!nLdwF*e8y1mZqCK=FDZ@ z+;i;Jtyel$jj@h}G`*Zyq%%uS@`gD*(CWycZ&NH^UvyA=pqL zi?~kuyaC5SfXDe}IwU#4Y^Kr0Y4*zcdytWk9fa|{8{Px#hw;!D!cx;Y_aZB~0&>aI zW`-*M@=Pe(CWA#ubWe!rGtNlHq?D5ru{EM19pcMbp4Tf7I-*5}vcY{^xD*GbLwX|O+BMo z>tvFA-lG~;v$ExS<|VB6JSB4SMyPw%<7tYNMaYNUBTy^9q^xSCm`cTie#0wAXxNd# zo%J?PpQvcuu=t7N4KqB}S(-Nb^eqQ7=B{#=FkuZW)dBs9T*tWx1jjs-gIEQESaAQ) ze%Gb4@P`n;>&c#Y!B1Z?@f6cs*tERmI9qzv$56C^>Hr z`Mp*tvY6OFgzizdKxWDpx%p=NF5ogkJDUuacho$=kDfxhj29yq2ia3a9~@?Hvz3K& zOVfIs9yg~K-(QKNd>EGw^}(K0kh$J;x28wN6EE`~yiWLf$dD_Cvd$5)=dxCLxfMFm zrNz{%L(_4ics!jkBzKqS5Rje^Wb732)6%|9k|MY24?~xw91ydJLD$d!$3NvC-^~1SJiqV{Y=Qp>@XT0>wyhCe}n;Sh*N?nR6=K!!68Dja)lIT09@LA&#bQHFm@ z`PuV_jT*#RMxUo>{pzuos_6ZjYCTn|J_kYzT*ZL~Gopi>ol_@9bG5rhULc%dmyGKb zV&f3O0+9{#-cE1`d%s~I&IEhA)K=TD%KD)h%gtb2y6h!ARdEKK7C2HGGpAAYYqQs; zqi2|L5uFK<((l+!_SxQwkPYXVre?O4W@`11-%?S%yk^hm)vw7Pp30s}Eqf|eIF>wm zVl2`6kO=vC%VfxN?OB2LZ#!$N&9TZS$l7dZ*{CG|LL*sNT ze8mak2ZsQ~eo2qiVpOg^>>FbuQ5f!hA;)o%46S@vC z?qNoGQle>7!XIAM9&btQwn?SiP^Z*1RbI&%J)*_qd(??80yVVDI;^y6i`v8B;1F%) z2bn38S1isSNFyD$mV|Kh378%&kOrpU$w4$Z2^HIc%7}m0Bgeo z-v3R)&yTb9JF0vGnR5;V6Mp^#TYqT$r~3^6s^T&~!2jduoDgP!5r8%G5y4l}#WUH)^a5J-9!5d$Ti7I*bd`(G*)b+& z@oZheL+AdneE6zu!NVn)yJtq~Kk;Zyu|et{+mJsLeBT%ChVRzuym`B9FE$R`%>FKM z75WivBlT_|JB7{IyTvw#dEWg)aU+mR5%Hy91;=OChj5B=`ugI92w%;!AV$}#M)+S# zATa?DTDAp5gq2R0UJ}ee+rnoAz1b|CL+RPtu$$mYUk&v_c4>&yHo{Ze^+cYax{lSO z(%aTKR5;&6c!21Sp25tKh>MVYNXNEBKVkH-j8{Cs%?>dS-AWl-k3BAYR$2%CR7}Q9 zflqaU@VZ)#N*X%rz; zi9L9FksY9LU4?fzy>@xCfd*-yYdJfzjc6nteG|UJd!47;uiEul@CYK= zuIL?UMFg+;B&Q~Xx*bNE<9!^%dA&1iMoQI>z8D~t-@CMwb?1XbHmf)(zR;qaJfzxS zzcvoR>$zRVZr?&beRTHA z2F+bggtD?qW9bdE1l*R6@WoUX!PcmceN+6rl77ie(J`wr{psC=Xc1`H_Z~mkZMfHs zT&K}mxLjK|Nq#61JJ_K4jF6vt&Up9gDE`2L@wh3iV>i0o$Z?ve|N+=K8`}r+w z9Yg#Xt#oskG;}FAl@iHB#`I{x+tG&Wf=k+9S9a6HD>US(<4I|>_B94GaNV3Q^^5J& zD|Zl)W=~1N1&m~EJq--Ua0(2N)2T`=5Ip0`HzK?OJ;5U|Pw7zK>Jb#hDUq*yFT#ftCsE|h68%8*mXJDK!CR-13+4MS z1o#W(`$GA?P`=OCQ2S-m%7yZMv5eaPfo0S#lyB1?mPq`*jKqcVeW85+n~U}QO4sKv z7wfrDzAu#TGdt3S^8H^}tmi)x0xp#A3+4Ml`MyxTFO=^K<@;PblBNH~jx=%C|E?)+d|pjTNE^MM-WX{M}R4z%WaLke&}B2-7i#xYgOE)Hm7^7l`M!(osOiG)GJ?!czk=RYeYT2zz?wXr3Ci0P$CJ-3M%KS38 z=1wMrTg#Q}R7(`T{TzR1;n_TnV!g3Q(6ZCI0;yynzq37`_pKaST_;T5)_aWB3^Ur1 zjcj&r+@~=eA`^WD@LAdMC47sZd}w2NyCtvv@A~WThL@yr3rQME`o0Z+Q8i>6-ClCoKE}9Z3DOiMmvy3 z>e}%;Wv#0BVJ8o`!Z66nX(&xN@r8`;c*Sr@Uk_+>g{lioWGK>2Tnm)v>d^h9^K>tw zBMA9=MNoN%eHO+g_OU<#N|bo9xs*Y;z1!>ol*9Uh??3fYfDVw+bnD4qBxZEdprK3jV&2CGsjrZk)`~?A2gn2wHo;QkCBU1PeZ996x z*7W4}s*CBj%_&R-+{oyfijFd28 z92d)_+)nJiA4|zUxrFPNJQGnTjCpU$(cOw8I)1ImzH88eUwu__dXIOW{aE#o_5Q&B E0|<_w_W%F@ literal 0 HcmV?d00001 diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/Icon.png b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fb00ecf91e4b78804c636194bb323bf3710fa1c6 GIT binary patch literal 2140 zcmeHIX;4#F6iz}QBp3(*v25~!F*qzP0ojoU1Wja7KpD}12oa>Xrfece2to*M4{<@1 zP%%ms&>BGn2e5_86S0m&0z?*tFd77$B7y>vzNa&tPJedV>7UNLH{U(qJ@=gNJNL&G zZwy{XCYg~i7z~-iW`$xfSQ!0vwGifWRzWuc0UHB1`G?p&M?Q^4^TQdnylqlFJQMHV zlMy}8cyoMm;xpH^t5o#5@y2-k+Mdkle$k#mS^4OrhKW<@s@vsbjW^%%!+QI>rn#<) z{_bgV=B_HFEH)`LIBec*h>(fF5SlnFpG|4X(PvmP2D6~~`@Sai?5+nm4-!M>!#e`& z78+VFVXe(SMlq!^eg7xWd6boUvM4P&8=5T0wgi! zp<$6Qus?iG)+d;(0n8C!5))oCLL24Oym*Gn(Wz_qt3FCV776EaQ0@8?Z;*X?j^|Sm zn!Z?CE$ZK^Bel^@7%D^$=pOWDB0`L52FJhnR;@@*4VX&YV4t-$6D&!6S(50;t4kpO zSu@uc7lG;JP{4;;gTKszM|=8RA1W@lCalj952n{cQ<2H{5Ho%XwCWD_{Z4eMJK>$z zk!wqDgEouoAc>PS^6@?wtqyq}w+)qQ-k}&oy@>2Jq0>$(&(2yz!kQ$B-aeP1JVAwi zLdDN$6HyHca*;h+GLwCO>;wmB&|!(*}Njk+((AJ3{PGOdx_ow6Z(=O$zl0DfhA9qWN%*0384ZX-%PdlCVsU;^WuLWS6 zFXEf8|L9P?|BxkhKeqYq++65zuqrIXB_=k7X0>One(W+8@jAr|KOqE zA{8rpb%xTK*LyH?wH7r3VwmvsXBR83fP-{+TLwEzY04n+9E2=$_+^Svj1xydpdM_| zOAWL@lsIQ|g;s%d*cN6$i7RV!TL3t`Nippk%z?;2>&ui}v9{Qry++zPRCad)IAFrl zVrN|@85!_xg;Kwn%BW~--xx!>Wk=-d&Bet~zEI_-Jkz#l_a=BNo+EN{T-sGgLK>2R zTl1?679M`Te?VAqflxs-Xlp(?+z^mfcBjCASoPc0Eo+$1Ukv);wnZsCeH&`cr6V+- zlv98Q2P&n*!Bn0NQC5WS;Rxq;oYdzbZwp4})3$-jUb&QY)+bmNVpr+``XIZdFn@{R z-y&lERCUNMmld3Uk>W<<`>Kw>#6lx$oBxuCIFtk;kF{VWJb!KMr(kW0zjXo2SiFoH kLN8~t3iGWE|8=58=$f)MBl>~e*<^I~9RFa}4c} + + + System.Text.Encoding.CodePages + 9.0.9 + Microsoft + MIT + https://licenses.nuget.org/MIT + Icon.png + PACKAGE.md + https://dot.net/ + Provides support for code-page based encodings, including Windows-1252, Shift-JIS, and GB2312. + +Commonly Used Types: +System.Text.CodePagesEncodingProvider + https://go.microsoft.com/fwlink/?LinkID=799421 + © Microsoft Corporation. All rights reserved. + true + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/System.Text.Encoding.CodePages.nuspec.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/System.Text.Encoding.CodePages.nuspec.meta new file mode 100644 index 0000000000..3b6b5f3cc6 --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/System.Text.Encoding.CodePages.nuspec.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c81a6e40617617c43a178a56e5db339c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/THIRD-PARTY-NOTICES.TXT b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/THIRD-PARTY-NOTICES.TXT new file mode 100644 index 0000000000..3dc0d7aa85 --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/THIRD-PARTY-NOTICES.TXT @@ -0,0 +1,1396 @@ +.NET Runtime uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Runtime software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ASP.NET +------------------------------- + +Copyright (c) .NET Foundation. All rights reserved. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt + +License notice for Slicing-by-8 +------------------------------- + +http://sourceforge.net/projects/slicing-by-8/ + +Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + + +This software program is licensed subject to the BSD License, available at +http://www.opensource.org/licenses/bsd-license.html. + + +License notice for Unicode data +------------------------------- + +https://www.unicode.org/license.html + +Copyright © 1991-2022 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. + +License notice for zlib-ng +----------------------- + +https://github.com/zlib-ng/zlib-ng/blob/d54e3769be0c522015b784eca2af258b1c026107/LICENSE.md + +(C) 1995-2024 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + +3. This notice may not be removed or altered from any source distribution. + +License notice for LinuxTracepoints +----------------------------------- + +https://github.com/microsoft/LinuxTracepoints/blob/main/LICENSE + +Copyright (c) Microsoft Corporation. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE + +License notice for Mono +------------------------------- + +http://www.mono-project.com/docs/about-mono/ + +Copyright (c) .NET Foundation Contributors + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for International Organization for Standardization +----------------------------------------------------------------- + +Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. + +License notice for Intel +------------------------ + +"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Xamarin and Novell +------------------------------------- + +Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Copyright (c) 2011 Novell, Inc (http://www.novell.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Third party notice for W3C +-------------------------- + +"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE +Status: This license takes effect 13 May, 2015. +This work is being provided by the copyright holders under the following license. +License +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: +The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." + +License notice for Bit Twiddling Hacks +-------------------------------------- + +Bit Twiddling Hacks + +By Sean Eron Anderson +seander@cs.stanford.edu + +Individually, the code snippets here are in the public domain (unless otherwise +noted) — feel free to use them however you please. The aggregate collection and +descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are +distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and +without even the implied warranty of merchantability or fitness for a particular +purpose. + +License notice for Brotli +-------------------------------------- + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +compress_fragment.c: +Copyright (c) 2011, Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +decode_fuzzer.c: +Copyright (c) 2015 The Chromium Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." + +License notice for Json.NET +------------------------------- + +https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md + +The MIT License (MIT) + +Copyright (c) 2007 James Newton-King + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2005-2007, Nick Galbreath +Copyright (c) 2013-2017, Alfred Klomp +Copyright (c) 2015-2017, Wojciech Mula +Copyright (c) 2016-2017, Matthieu Darbois +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for vectorized hex parsing +-------------------------------------------------------- + +Copyright (c) 2022, Geoff Langdale +Copyright (c) 2022, Wojciech Mula +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for RFC 3492 +--------------------------- + +The punycode implementation is based on the sample code in RFC 3492 + +Copyright (C) The Internet Society (2003). All Rights Reserved. + +This document and translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it +or assist in its implementation may be prepared, copied, published +and distributed, in whole or in part, without restriction of any +kind, provided that the above copyright notice and this paragraph are +included on all such copies and derivative works. However, this +document itself may not be modified in any way, such as by removing +the copyright notice or references to the Internet Society or other +Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for +copyrights defined in the Internet Standards process must be +followed, or as required to translate it into languages other than +English. + +The limited permissions granted above are perpetual and will not be +revoked by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an +"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING +TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Copyright(C) The Internet Society 1997. All Rights Reserved. + +This document and translations of it may be copied and furnished to others, +and derivative works that comment on or otherwise explain it or assist in +its implementation may be prepared, copied, published and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this paragraph are included on all such copies and +derivative works.However, this document itself may not be modified in any +way, such as by removing the copyright notice or references to the Internet +Society or other Internet organizations, except as needed for the purpose of +developing Internet standards in which case the procedures for copyrights +defined in the Internet Standards process must be followed, or as required +to translate it into languages other than English. + +The limited permissions granted above are perpetual and will not be revoked +by the Internet Society or its successors or assigns. + +This document and the information contained herein is provided on an "AS IS" +basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A +PARTICULAR PURPOSE. + +License notice for Algorithm from RFC 4122 - +A Universally Unique IDentifier (UUID) URN Namespace +---------------------------------------------------- + +Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. +Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & +Digital Equipment Corporation, Maynard, Mass. +Copyright (c) 1998 Microsoft. +To anyone who acknowledges that this file is provided "AS IS" +without any express or implied warranty: permission to use, copy, +modify, and distribute this file for any purpose is hereby +granted without fee, provided that the above copyright notices and +this notice appears in all source code copies, and that none of +the names of Open Software Foundation, Inc., Hewlett-Packard +Company, Microsoft, or Digital Equipment Corporation be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Neither Open Software +Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital +Equipment Corporation makes any representations about the +suitability of this software for any purpose." + +License notice for The LLVM Compiler Infrastructure +--------------------------------------------------- + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + +License notice for Bob Jenkins +------------------------------ + +By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this +code any way you wish, private, educational, or commercial. It's free. + +License notice for Greg Parker +------------------------------ + +Greg Parker gparker@cs.stanford.edu December 2000 +This code is in the public domain and may be copied or modified without +permission. + +License notice for libunwind based code +---------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for Printing Floating-Point Numbers (Dragon4) +------------------------------------------------------------ + +/****************************************************************************** + Copyright (c) 2014 Ryan Juckett + http://www.ryanjuckett.com/ + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +******************************************************************************/ + +License notice for Printing Floating-point Numbers (Grisu3) +----------------------------------------------------------- + +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xxHash +------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: + - xxHash homepage: https://www.xxhash.com + - xxHash source repository: https://github.com/Cyan4973/xxHash + +License notice for Berkeley SoftFloat Release 3e +------------------------------------------------ + +https://github.com/ucb-bar/berkeley-softfloat-3 +https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt + +License for Berkeley SoftFloat Release 3e + +John R. Hauser +2018 January 20 + +The following applies to the whole of SoftFloat Release 3e as well as to +each source file individually. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for xoshiro RNGs +-------------------------------- + +Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) + +To the extent possible under law, the author has dedicated all copyright +and related and neighboring rights to this software to the public domain +worldwide. This software is distributed without any warranty. + +See . + +License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange) +-------------------------------------- + + Copyright 2018 Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr) +-------------------------------------- + + Copyright (c) 2008-2016, Wojciech Mula + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for The C++ REST SDK +----------------------------------- + +C++ REST SDK + +The MIT License (MIT) + +Copyright (c) Microsoft Corporation + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MessagePack-CSharp +------------------------------------- + +MessagePack for C# + +MIT License + +Copyright (c) 2017 Yoshifumi Kawai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for lz4net +------------------------------------- + +lz4net + +Copyright (c) 2013-2017, Milosz Krajewski + +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for Nerdbank.Streams +----------------------------------- + +The MIT License (MIT) + +Copyright (c) Andrew Arnott + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for RapidJSON +---------------------------- + +Tencent is pleased to support the open source community by making RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. + +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at + +http://opensource.org/licenses/MIT + +Unless required by applicable law or agreed to in writing, software distributed +under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +CONDITIONS OF ANY KIND, either express or implied. See the License for the +specific language governing permissions and limitations under the License. + +License notice for DirectX Math Library +--------------------------------------- + +https://github.com/microsoft/DirectXMath/blob/master/LICENSE + + The MIT License (MIT) + +Copyright (c) 2011-2020 Microsoft Corp + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be included in all copies +or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for ldap4net +--------------------------- + +The MIT License (MIT) + +Copyright (c) 2018 Alexander Chermyanin + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License notice for vectorized sorting code +------------------------------------------ + +MIT License + +Copyright (c) 2020 Dan Shechter + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for musl +----------------------- + +musl as a whole is licensed under the following standard MIT license: + +Copyright © 2005-2020 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +License notice for "Faster Unsigned Division by Constants" +------------------------------ + +Reference implementations of computing and using the "magic number" approach to dividing +by constants, including codegen instructions. The unsigned division incorporates the +"round down" optimization per ridiculous_fish. + +This is free and unencumbered software. Any copyright is dedicated to the Public Domain. + + +License notice for mimalloc +----------------------------------- + +MIT License + +Copyright (c) 2019 Microsoft Corporation, Daan Leijen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) +-------------------------------------- + +Copyright 2019 LLVM Project + +Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +https://llvm.org/LICENSE.txt + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +License notice for Apple header files +------------------------------------- + +Copyright (c) 1980, 1986, 1993 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +License notice for JavaScript queues +------------------------------------- + +CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose +The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). +Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. +For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +moral rights retained by the original author(s) and/or performer(s); +publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +rights protecting the extraction, dissemination, use and reuse of data in a Work; +database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +4. Limitations and Disclaimers. +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. + + +License notice for FastFloat algorithm +------------------------------------- +MIT License +Copyright (c) 2021 csFastFloat authors +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +License notice for MsQuic +-------------------------------------- + +Copyright (c) Microsoft Corporation. +Licensed under the MIT License. + +Available at +https://github.com/microsoft/msquic/blob/main/LICENSE + +License notice for m-ou-se/floatconv +------------------------------- + +Copyright (c) 2020 Mara Bos +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License notice for code from The Practice of Programming +------------------------------- + +Copyright (C) 1999 Lucent Technologies + +Excerpted from 'The Practice of Programming +by Brian W. Kernighan and Rob Pike + +You may use this code for any purpose, as long as you leave the copyright notice and book citation attached. + +Notice for Euclidean Affine Functions and Applications to Calendar +Algorithms +------------------------------- + +Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar +Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf + +License notice for amd/aocl-libm-ose +------------------------------- + +Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +License notice for fmtlib/fmt +------------------------------- + +Formatting library for C++ + +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for Jb Evain +--------------------- + +Copyright (c) 2006 Jb Evain (jbevain@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. + + +License for MurmurHash3 +-------------------------------------- + +https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp + +MurmurHash3 was written by Austin Appleby, and is placed in the public +domain. The author hereby disclaims copyright to this source + +License for Fast CRC Computation +-------------------------------------- + +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm +https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm + +Copyright(c) 2011-2015 Intel Corporation All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Intel Corporation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License for C# Implementation of Fast CRC Computation +----------------------------------------------------- + +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs + +Copyright (c) Six Labors. +Licensed under the Apache License, Version 2.0. + +Available at +https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE + +License for the Teddy multi-substring searching implementation +-------------------------------------- + +https://github.com/BurntSushi/aho-corasick + +The MIT License (MIT) + +Copyright (c) 2015 Andrew Gallant + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +License notice for Avx512Vbmi base64 encoding / decoding +-------------------------------------------------------- + +Copyright (c) 2015-2018, Wojciech Muła +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-------------------------------------------------------- + +Aspects of base64 encoding / decoding are based on algorithm described in "Base64 encoding and decoding at almost the speed of a memory +copy", Wojciech Muła and Daniel Lemire. https://arxiv.org/pdf/1910.05109.pdf + +License for FormatJS Intl.Segmenter grapheme segmentation algorithm +-------------------------------------------------------------------------- +Available at https://github.com/formatjs/formatjs/blob/58d6a7b398d776ca3d2726d72ae1573b65cc3bef/packages/intl-segmenter/LICENSE.md + +MIT License + +Copyright (c) 2022 FormatJS + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License for SharpFuzz and related samples +-------------------------------------- + +https://github.com/Metalnem/sharpfuzz +https://github.com/Metalnem/dotnet-fuzzers +https://github.com/Metalnem/libfuzzer-dotnet + +MIT License + +Copyright (c) 2018 Nemanja Mijailovic + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/THIRD-PARTY-NOTICES.TXT.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/THIRD-PARTY-NOTICES.TXT.meta new file mode 100644 index 0000000000..97f8149c7a --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/THIRD-PARTY-NOTICES.TXT.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 982fbb6f93d5b6d419d06b5699685ee4 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive.meta new file mode 100644 index 0000000000..ae62fa0e82 --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 21c328f1083885f4e8ae4352108b32fe +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net461.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net461.meta new file mode 100644 index 0000000000..4103d4132c --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net461.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 78f972a7e1338c643a84d3f6269e2d6e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net461/System.Text.Encoding.CodePages.targets b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net461/System.Text.Encoding.CodePages.targets new file mode 100644 index 0000000000..7a1de2ef7a --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net461/System.Text.Encoding.CodePages.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net461/System.Text.Encoding.CodePages.targets.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net461/System.Text.Encoding.CodePages.targets.meta new file mode 100644 index 0000000000..da16f92d55 --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net461/System.Text.Encoding.CodePages.targets.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3d80976b0d90b6345a52efcada3166ac +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net462.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net462.meta new file mode 100644 index 0000000000..2984271c8b --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net462.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 709cebc309d675545b1e16331870ae73 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net462/_._ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net462/_._ new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net462/_._.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net462/_._.meta new file mode 100644 index 0000000000..4d1e653111 --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net462/_._.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d9e3e67c98256314aafdc59779f344c7 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net8.0.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net8.0.meta new file mode 100644 index 0000000000..968361ba77 --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net8.0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f7fc191531495ec4d9591d78489831bf +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net8.0/_._ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net8.0/_._ new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net8.0/_._.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net8.0/_._.meta new file mode 100644 index 0000000000..001402c957 --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/net8.0/_._.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4123432eaf6404e41b087248c2b8d365 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/netcoreapp2.0.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/netcoreapp2.0.meta new file mode 100644 index 0000000000..acbabc967b --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/netcoreapp2.0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7fb99367437e0894097305f3a4e3023f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/netcoreapp2.0/System.Text.Encoding.CodePages.targets b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/netcoreapp2.0/System.Text.Encoding.CodePages.targets new file mode 100644 index 0000000000..e0798017bd --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/netcoreapp2.0/System.Text.Encoding.CodePages.targets @@ -0,0 +1,6 @@ + + + + + diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/netcoreapp2.0/System.Text.Encoding.CodePages.targets.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/netcoreapp2.0/System.Text.Encoding.CodePages.targets.meta new file mode 100644 index 0000000000..04e76dc434 --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/buildTransitive/netcoreapp2.0/System.Text.Encoding.CodePages.targets.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c16b22a1716b8824ea8d7973172a6e4f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib.meta new file mode 100644 index 0000000000..f42cf40b21 --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4409db660aa2f524d90ca536b3098524 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0.meta new file mode 100644 index 0000000000..46b0cad0bf --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d1a770ea3df962a4ca83ef22e48dd526 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0/System.Text.Encoding.CodePages.dll b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0/System.Text.Encoding.CodePages.dll new file mode 100644 index 0000000000000000000000000000000000000000..6b741a81f00ac10b893ea9e1b0b817f80901b7f9 GIT binary patch literal 762664 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 G`Ba4MVzr^5gY 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%0DB<~U{=^A3bH-*c=Svi}4B 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 z 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%0AXNnf#e-568dL~kRTYR;NkJJw;ow(A24x3D zgJ-oOs0LiC=+MN_q|n$x$+`gwUS+u z-4cs*jkHJ_Ax)76Nmoe=q}kF8X{aYD^*67pQ=EW1P1vpU|M5b1HgbbxSCx}u8FRFG>bJ0 zHH$R!G%C$m%_+@e%?Zt3%>&I<&3(-s%`MF%%}vcd%^}T0%@vJaYtnjatFuwwzJx*I%>d+hMo<#E8{kVg;jZ@cNbf`8jl7pq&TtJba7RqCpA zqHd6WFqp5Y`ZQ2o6TxkLum7tT^frBauP$Dry~cZW^BU&W)yv*%Fet9Wy?T3fGj=u3 zG|n*2GNyordE0o|cn)mL6UK+eSH@k&M__2)GF~@sH=Z$`Hr_YB05$WD@rd!I@qqEU z@hRAvSB<-kca1ZAw)vd)`Q_8a+}Yg5+|1m_+|Jy<+}_;P+{z3EcQ!Y-^=<7N4C-K| zZ09y7Ck*!;5NHnc1)r@mNNb;h&>#-{ zwA(>nf)0VGb~fmA(8r)%K~KO}I}Xm;iJ%MMtJOPeOwhTYQ$Zg=OjH3HP8N#TpaeZ&33&x6PGBK%qS{qP+T+auOR?26bDF&!kJTJV4} zL9t<@`RFe(e`98VurfRDM%?wdcu-M(#n&aOz&9vJX_|U6bxZ2T)B~v-z^&eqdN_4w z>b}%3a818$`l0kS>9y&5($Bzc{1fR1;5z=6^nK~a!4TdLTJW)S30xfStMJRcReZPP zamj;{Bc;dTLhRAfYh@40Vk%QB`&7-UnpriqY98D=owaKY+%iS06xF)wb&@@jy^;^o zBhr1+bJF+H2hw}eH_}VeqtfTnchZ~EXVSgW`_jwOi_(|UyVAGPV^UXnxx7riUM^A0 zRV+~~S1eO3RV-9oQ`}HoQe059Rk|t@lq;35l)F{uRohi}RX0?}Ra;euRM$Y7Kcm{I zx&W_&4ZAL@uB-N`cBu}iPN{aNwyDmkY%b}p1z?CbraLxyMqlq91yE_w1{4)b-aT zf!MrN_e<9T9&dU+};UQkjy+XbGyo_E8z#6W1h66wx zo(;NdH}96-e~gr|p*L;(Yi#b#7{9}(v01yn8A)TEkvDb(>vbk>SL9K(w1P=?I9qb4mo^x=&;O@ataQ9S@@@522 z2<{y$1WgVe3~Juc;8Eb_wF5(MSLjJl)^>xqwg@wWKC@kxn|lA0zp zNNSnXJgG@iv!qEW#UQ~qNri%YI)L-uF?9mC8ec%yxCF+=?bHt-Zrn|MoBA2d4L;2w z9Z7GT(KO>z`m6M>=}j`eq&LcFnej0FSvr&65DbXN=?_4IcmzhoH!vY&*>TwkVAn3M zzxrjzW%$({G|j6?x9MEfA-kT(z~S>zyn(f z*OTv*rB}+}F7UFdJM!D|tMXfN7lnsHrO+xo6~mM%%5};$%6Cds)j{1*JyHEf^+m<1nyG)Ox~MS~ zrTU<1siswU{X5Ctud2c7=IXzy_Ugv2O6?U*F%o zw|i%IQe)>nzdS!uXz0k-RTX@@y5>Svwd#k%Rt z>vO^9iq9PIcctdJW`%i~c|J(IKg?ZxyZUyAKV&Dt9`XV|rQc+~Iesb-WDogu_gm&C z_nYp=`^vzRo#r>!ZF;U4bBNR2ge4- zfF)T0uc2A{f`apcLqL~|4E7H$49*8-GAr08ct!Bd(C49_K_|Q(dM|WxcwG1&@b&(N z{{UkzJA#U68A(UHkH90|!dtp$lm}RFny9l;SE8;(9R%;~3`lP$qAo@qk17De>?YV{ zccX{K^pCNN84`oVIK>W*ofO+Qc3kYlSSYy9F?M9EU2Ol@F|q168Ms^eIF~qGoG18O z?s1>N)xscKf^qa1!JyW}LS+rShrG(tf0JsV&m}rnUn2-ihW$+hQf`7 zF-5zJAA+ZNulPVo!_sD@-%A>l{wm>18khcsi|Ic~Doa0rXZNvGQMSBnS=sZlH)YSt zUW2oiQE9C528##^?$=g%R+&I1(p8%uN){=Lkx6CkWfobm%tKx&x5@()7R5uw3&nHA6GaDQdu31MOyw-) z4CN)|AM*lrfZD8{r`D+r>bdGAYG<{Jx_--kwA!Seq#mXAP>)c1tH-Kmt6kMCTwA-g zbbaUA)UB0UGq?AypIv{sHgX&9_TBZTtDVNEnczO#eX+aQJ-~gII}|)H&E4qk?!Lf% ziF>H_n)ZtJvi73(oc5}=rAG^o<{n-i9v+?^%{`lWw)5=m+0E0zv!mxw&n})lJqLOY z_U!KY(Q}e+f^MvCqVAaPxbCR#i0-UzyndqIRUf4H*9YpW^|ku7`WpQP{d)aspp`ax z<$105+U|7=jQOu#XX;1WL)pP%{v_Y z@{QhGykoq5y=%O8dWU)M0K+`PdleYw+r2ZrbG>W5H+b*%E(hB@)jI)Pb3gBRZ%-c= zAGwdl$JIx#mV(Z$_EGt)_F3h#+vlFoEuY&ycYQp~?jUXZnayBs|1>{S^!82j+vm5@ zuL9)f6u)S{1Ag25s{QtZ2YuOZk6*T5);}M5J6O>h{L=l#1fC3pf(HrkbcX}%c{-Q_ z{q9?-S7*RL#y2JtJ}=nnt#YY#iAvvM!=+ zEqKUrcX$p zoL-!44JyrF}~~fPv7j)ULFBsRJkoy-T~)JDi8mQmXWC zscYF?kO;n(eJVphPsGadDg&ybsv@dlt3p8?i-v3cK~?9ga4^K)$G?kjRMWV|ebtxM zQEOA+^7yH>8)ZeZELp9rOqMFElGVso${P4G@^D3@B1++}c&m7$c%^VxZc!$vQ`Otl ziRygy8g-32UARNSM*U@gn z+{U>LbaQfZcC&Zu>t^Tn)9sg=7yNH&*5MfUmF_9-!e)^}*|)*HN$c zUVRJ$48Od(8mwNwy?8G_1LM`sAbPblG%$2B^fxXxZt^blzUO`38}q*5ebxJpHxxYl z(EF43eeVz6PrWH`+B@2t_r|?nc`HmWy?=V^e9S&ZA8(&BpHiQFJ|SS*N1CI}7IT?7 z-kfZXG1r-G=Kj8YeSd*P{@(Ao-!s3a{_p$*KN@uMpMDShSdhtY`Q7nr>)*-0o&OEL zmwqAszx`$eP6?bISQA(Uvh}yXQ9+}FMg)xpPgxaWA2KGyH)KhOU5F#N%e_OiA#R{8 zyMV_$GGtJQC1e~Z%u_-}fWzDuWae8TQ1D1zNKZH>;vF&%yk>t8n|p@!3L6yW6lNbb zAuJ@UPuQ~X%<$Ck2@#H9+YXJG5;-h#Y@`E-wc{fvM2?Fb9oai_P~?zEN3dE0qXMEn zM!f=M^+nY4sJBt?qY^+Et%|OQJ{UD-!d2wyj(L| zWm+@ZWZnkFi_N$RVpqG&CYi6n@p_!`E<+1K)QfBiyr@^%pR@0S8s(aMA@?G-2(IFK~cT=a<%Ap@elA%R+o$dm&CbrQt22FN*a|3r7g?qO6yIL zdu3ff2N?i%X}|KeV3#%rDP%=uNo7H0StS%aT2WaJ4q<*(aaBQ8QdL$}c2yCG8ktoW zs;*RBuDV)v4eUR*>UMS0nr1aE{wZtUz^GtrsG7ZCPFz}hXYGTv>5@INBeH|CL$WKf zv$EZ?W3p4SeX?t^6h(|8N%2ncRqbT@R@b)EDY{cinUeJ?|M!y-d}1LxJ-@YAcIp@l(W zSZ0`KSZN@=4)YE32nzyhdl{(Py08Udejsj7fy+G;Bj!iU z1ToqY=?((4K2it%^Gr~nwUHi?(V!eR0IRrRG#kZ$SZs^p!7P3o{VrMy+O9c97vmiR z1&_zY1jGczc!0j^7h?ohw>WlxY;|l6IJ$Y@>6XP-#HPg7i?V5PBQnp#^@;BVYHXMI z{_*|d*Tt`ok4ZS6;05xjZ^8jkNRK2|B*i6_C8dG9sZ9z26EYwrJY`49_LR*jE}%GO zr)Gj#7@8IfYGFuPL|R}P6g(c67N2HLYnr|=JsrHe>6y-%QJH3N?-pkUWop5}8=q;& z^alSf7z8|Bwg+f!KeIc7zt$WCwz}-!*^R(qYnIb0N0a*wWUv>xuR#ZUllvj}X6}>R zhqq-umEG=D9sw|yT zsw$mUss||duJby(b%>0XeUUwtQL>k^C$f982Qo%>SBA-qa!#J1 zNLM&3_bBV&oMLa6?k<1TU0j;Ev~+3f($3|(x|>UXmliG^Ttsyb*KV#+Zpm&LZWV6% zZgFl|Zb@!`-5fOznt_@CjlbrD`&W0&{h9ky_vh}P+@rK_wTSkE_KWtb7S(>#e%8Lz zw)HT2WP0X!YIWW^wa!(i(mm2W)wR+u(1+?z=ocEG;K`YWrG^-T(co>+8{7?UhA6`@ zV~)wqq%v(b#hUb{c$3`ZYZ_+?HYJ$CeKzPNkNj`> zukt_Uf69NC|6%|8{&)QM_}}*5>VL_9lmFttWr1UZ##*{q>OwkO_>iHN85TRs2upiQ zBa4Ft3ZArud<$u2akfmdjIj)`bhQk(jJD)jhFQpvh88yDcF6aT6=AhuNn!b6nPKH& zGs5d-_jwVr2-81lJv1^H4Dzz5!61US1{1t9xYwVeGh>oKv^K=*nddVfWtL{1&U^r_=oYkpz=TCm}YK#Hr#-wf|%8&2&6F>ZT) zO@0}uaoh3(Kszfed{p?L@L^#fXl0e4l63)_t7}PT@V30b%JL}nF4cgTWds#oTiO$B z^L}MfWwB*3V3fy}reW(D3_@&lU>HR%yb#&GSo%sB5`qbiFBFZ zGTOxnevz$nTkCenZMEB8w;gU<-GVhOwZGk4YX$c<+7?<`OKLGKp*4B-Amm&-5cE}-Fw|4eVG23{)j%>;A;pmcpB7(ba)kPIGtz+H3S-x4ciQ*hFykY z!*0V$!)C(@!(PKEqrb^wiZiV>9W>>dN=^GsTTB(EO4ANgxoNLyk7<`_rD?aR*0j-d z$Q0!h;}h$%*SyPo*nGe|AfSH$>fbP+UqH`*zy9_Coda40aQ=+~ng&q*9Rp;6lEBS@ zR|2mF&a@<2GA(k8*`l&!TY@cGOROctQf!I0gj!6NYKxoYNr=VbWzk#Kh3yVI5Vk$c zC45!5B*HbqKe8Y)1OBF(btXA7H8Lg2E_!Hm|LB3ygQD%D9YBRY8T~oBI3_2i5KQ-i zm|GyRp9G8jZ0r+I+3&~BjGq=iD}FlY<5T1J#qW*ZlW-v6@;@p2TEc~d^$E8VZYI7@ z;*-9C(EL1!1g#lO`jqq%#AYmMZPE)+n|~%nrNn?R3gUlHXPNx~1PCw8&T|w(q!dI!DxgGMF z=XC;0vMY#^r}H1?UjqfPGXGZokNkuAH$X!?m%l&%DY%G7^G|?*SnvG>6}~TgTlf_e zKeCW2{0Nrc>q5NnLt${yx}r@*!@=R}TkKHWzIZ5jeD=lticc2z1)r{e$xsmLhJjYs zul}9ntYe9PX$Tl{!KE>!PGuv@2A4UP<$woQP?k}41$^{l<#_q-^3UL-9|9}=A?WB< z(9`!+9;mEW&6{VU#Pbagl84hmnp_*2;oxu|80V>%2e>&KM+9$OS!F)XilGnGD zgICQ5rz>WaWmU5^E$em3vyIp6SbG*6sO@fwb)Dord@}2TG@-jt*f>UT* z0$t)<{9Q~gu`U5Fel9*PVJ;SzAQz)cw95szvu@YiuDFG0`fA5%W3^UoJC7y$gN8E0 z4nw}-j^U``tl_5Ny1~hK#dN`R%XG?g+Vs+N*>ufx(R9aj&h*gq*mTwu>2uY5!+gSg z*?i4>+&n#CQoxh|O+a9PTfpRic>%@%L%`C2g#qIO^Z|C6m~hxFJg7% zrpTJeb&+c$KSs8RY8y2!dQ$Y1Xe9be^!k{!G3#Qs#GtV+W64+~c5B@7cuD+%_+{}+ z<4?xF0LA@A!smon2_Hao|C;b5@o8c!IBB@yT*u@V$-O}l@0Z*c1n~~ZabRCtQR=gSQuPbQOFn0D|QC!aZd4M zP#>q3j4qi30^;_PttC;Vk)^Sv;iZYC@ulO+%FFC3CRF?=A6qfH!lB|%`S6M+U;#qG z^BpP%RoGW_1tYL$#i`0|Rog+;ds0=e<#nrW3vOO}aIrnW#jB}y0^4pX$aW)ZCWCR; zp>_yZb-lr?>jnDUN6_bvgCqBQCAD%0xNluSVH>n&2pDX=*E|PdtO#tdVeQd^G<&xt91<#kbJaK#E_Q36~o0E2!cAz$1JJG|>OX83||em3}cMrjCV~pP0vm5O;*!a6KP^hA5D}g-6zB6h54yDHDEtPk)A+#C2Zutm^w3uAd_d2e}T`D`I9-z=#X((=KAS)N#Ei`9aJy$hqm zzJ`4Xqr%8AKJ0zi`0xecp%LK`J0kZ-ZjIa?xgdH@^s;C?`cTZynEf%k>pxLn*cP)V z=3C77*k7@H?6=s4aogf{#<|9yi*KITHnA?@dqSJUdSvQ#;@iZJiSH6$B)&-;l{^ES z`FdS`Zu0Qt>7dWgPoAAT4$S#QAkWWC9-TZ7l=MF-VgK}V3n=JU(=LJLeKGBP+BvYj zZ-DWQrnLl7`y;=Ke?TmFx*L_r0y6km%;r85ZlGaoI$uQQ)n^;qwshQ6&({Iyv(=ngd=0U!P z0(J*n3OE&TJm6x$-hh1p`oP%0eSs}QTZh(JnuY$dbPR1D`aA4TSY6nUu$YLbh;5PQ zBD+SpM7u>p!HbIMGco64PQ{##X&1LQ&Jb^m_lmz9eB-$q;iK=9E zvM$*@*^sPA)+8?i$NqOpOloxMowR#tt5bwBGy*8Z%MStqi#W_`;c|GCK7 zAoTKiLkcDri~uWFR@k&i1NN!8*i@_s0rhvYwryupf7$OZNUrZIh`9W<^9)uU1*YzQ9*caX$*${aYyA*p6I}$q? zyIYVR>9kBo9U2g zl6_gQu&-zDWIX_-U@&q4J`k-;R>lfua2~cAxf8hqxed7&`4nA@n}IXna=253Jmm+a zJ)tqq`0|MC%Yi0DjCYYnt__Znn9Wq+MITweujRL{)7IbenZG$ z)K}k0j#`ZiO*PE7Ellgrf?nRjS?!iLa@KP;bha)y+Vq0)ocD-*d>^ym5t9nKaI=mm;Exd)|PSRD<>+-8|j`E5M zst+0c#=WL?&LIU$z1RO;?{03chhLDV<-S6K$5aI)xmCa$3ZWp8CMYHN4UMd za6$Z~6)aqOoShV<@M-M-oz-eh^->02fhxG+&w#3et9c3e3O$%X6ibv+(ruRg9S z$f;l@+;56^tn4r4W=3SIy-=yXkl^vnxh=V^xox@axgEKkx&Lyza=UYTa(i?8a{F@! zatCvVa))zAaz}H=a>sKgawl`Aa;I}=a%Xera_4gwau;)#a+h;ga#wTLa@TV=ayN6g za<_ALa(8q0a`$r&au0Kla*uOQa!+&5a?f)waxZhQa<6l5a&L3*a_@5=avyV_a-VZw za$j@ba=9Fs%jdr5e&l}Ue&v4W{^b7VYJfGtT3~Ik4pdGO7&sgp0geQVz)|36a11yW90!gECx8>dN#JB~3OE%k2B(43!5QF8 za27ZloCD4U=YjLV1>iz(QQ;dbIZ*;aKqy!W!oV^R4kAD#hyu|d2E>9muuysdi699i zgA|Yo(m*=M0GS{QWP==#3-UldC;)|^2o!@7PzuUGIj8`YVBygM)PP!02kJosXar55 z8MJ^_&<5H;2j~P{pd0jnUeE{n!2lQpLtq$;fKf08#=&wh0Vcr|mS;!9(C-@CbMmJO&;IPk<-EQ{ZXv40ski2c8EnfEU3_;AQX%con<` zUI%Z0H^E!rZSW3w7rY1F2OoeB!AIa@@Co=7dg5SU#2!eU=JNN_q3H}0qgMYxkV2ymue64)#e4TvV{6G16`TF?=`G)yM z`NsJs`KI}1`R4f+`Ih-s`PTV1`L_9X`S$q^`HuNc`Of(+`L6kH`R@51`JVY+`QG_H z`M&vn`TqF<`GNUC`N8=i`Jwq?`QiBy`H}ge{HXls{FwaM{J8x1{Dl0({G|Nk{FMCE zd~tqSetLdJerA4Fes+FNer~>y;Hl{)_>ym>9m}j`^-3C-%qayE088H{O;|4Vqp*vdQ0Yt5f39Z@o=RC#n~!9cCEDg0tgV;wR$ecp1J9(M+@wPmvl>q0~0j?YC27_%rxZ z`4jmYq?-yGq5o;T=B|mRkoJ(lkZ&ceA)gAs3RqGf(gjirQWw$_(h5=s^0lNTWOHdN zSOZvd*h*N>vTkLI%DiRu;E#|GkV8=eQKL|kFlLM%IcSq#uV0g);QKg)&$m6 z)+AODt37`H$d`zT(rwc1(x7ah!lYDaOHFF4-fFfQtS0Ls zr_qxRC&Q_5HXIN4O!Q84PxMM4Arm1~$UI0HgbtYkVL@OJ5@Z?#4H*I{Djc{^frLtT zm3D@8h4p}~hi!m0D5I50%YtR0vf=Qt@PTkRd=|U|yfeHHynS{1?et_g1U?PkAKn{2 z2mT)U0{IL%4K)k35H%0A00l$+gDJ+W#H28bF-c4ivlJ7?gfOcxOE5uP6xSa=5FfyY z@NT>h@4-j$Uc3_@!Zb;&A!?lJqDrVbs+KCITBvTSifW)rsdDOA#z)3i z#uvtC#y7^S!cqK%1kYet2-ZT@To!?~h=pY>U|r;O;CJM!`7AzJ zzJTxIm-8$5OumfI;OqE7zFe#o)1(Ka`=m#t$EAm)yQRmZ<+7wKCX36WvI&auinyX& zVNp)jj53#-)8?=_YOXMcts$$!8ni~NvFaA^8L!o5wOiHxQ=tQ)s_>HVig0CkRd{iD zc)@ocmKc&KDoH`~5C_BnF+*GsB}5MKKNE}iLi9)Q9 zatIG1gjAO9E!|%_8a5JE1e*;T0ow~}Sk|a)QdzVtUgm8F2jC(&1x|*i;50Z3PKSfY??@3!iV~oBC<#i8QliW#1xkmKq2wqks*vDWHp+l% zjG2Ymj@ga5fH{xZf;o#hgxP`Fi#dY1j@gXahdGEjiP?rZfuZ6UxEQV+HxoYxzX87- zzZkzAzY)J0zYbr8Uxr_gUy5IYUxf$oEATt;oA4{~?TD?39fe+o+eQ`>AWFJE*6r8>m~U8>xG!|57(m|D#T3tY++CG+_Q>)M2({)@S}?)Mhqf zHeuFf{${jbHfQFT4OtErpA}?9SxT0Um0~$rc9xtKVEI{ERuwD4O0#S%1Ixlvvox$Y zs}Il2GxF~9y6|KCxBNH!_xxM@9sH~O_52t7o&1aZ!~EU+BmCq1cl^)QSMj;a{CoUu zd@mp1oB8+o2l>MV=lCc1oA}@P7x=IEm-umUO6(BF#7?nY91$nPR&hpb6LY24rDvo! zrKhBKrI)2wrMIPLrI)13WlLo1Wh-S%Ws7C&WPt3R{H1)VqF6CS;a8*-8niI8>t1W6b+>h!b+vVg^vHQ6>kjKutJo=W3Y(9kLs85V8yM7BUky4|WiC7&f^~UzRLOl%>m3WxL@^;OpTl;1{ayKxI(n zg(Fd$V9GF$F!wR<3wYKi%stEx%x}yuOb+uD^BDtT?qFVFzF@v#9%BArzGB{CR^t}p zFXC_F&*E?3&*1M=H_^}E$KS@E!k@sO#$U%@!C%E+z@Nk)$DhYPz~}Mb2|b8CiM@#3 ziM@%Nh|7sfiCN+@;tFCt(ohnT6M#wP|mt->J=LjcIvmt^j|pthm?q<*AMW6WTz zVH{wLVfJ8-WR7NbX7*+FWEL?8F()v)Fh?=RGlw#pv6{0Eu|Bg-vUXRmgBR|y_OSA- zo2-MZovdT5H>{_u2dwR^bF8f_kdT+m$CoY$BOor~g& zM(w2noK{n()vNUyy-9D@TlBRJ^$j%*Xj8-#Fzq+hGdDFiGq*O6HQzL!Fh4Y3GM_Xb zHeWO!Ge0rkGT$|yHeWNJGG8#?Fh4h+Gyk>pu*R*otbeTEt@Ug#tu<`dtP^Z+tksltc`6ytvTyQ>+9+}$;GGEht?m~FV=Tfl~eB2J7vyk?h-f4&2@9!S3GsR z^}N!+lhC8k`_RMCr|`b;f$+8PvGD%ziSU{5$?(<4l?XfmNt7na67v%!iLTJP(0b5T z(4NrY&`!{Akgt#;=ve4rXbu8G+Ce)*yF>dyM?;4}M?jlGv8D0SSn27~qov16PnMo9 zrNFQ-7>o!b!4NPi>>R9VS!G#Y#AA3nL`%dA_!sz7ct^xvcpXH2#2a`EL|w$E>Z|xt zL&Q%w2+zYG!kZ#$BN`!UqH3YeqDG>xp)R9#qmHBYq4uKwL+wBvK%GEcMD0QyLN&$A z$8^B9#SXy^#kRpV!?wdV#CF9NVfnaKxb?VoxY~Fm9*%#D|BHW*|AYq%DBgGc0AhdQ zYT^ds8sa))5otJyMIw-~WLEW^z8%0CY;4}c;NKp2r@^E@Dq)FJMF1ZP_E(o!O(=gV;mZ z!`LP4ne0*QF6@@<*6hCQ{_LUbMeGUeKJ4!7!MtI-A-oa1Q9J?9YIgIU^PX1s2QRfm(z2NoXYXvj`U7!>+5l{qC0a`#62m~TQL=X^s5SRo`0a3sbkOfJBSfCe>1Xe*x zFigM}_yk6QSzs5m71#tifkB`UgavoSSHzdZ_rzz!<4upnH^i64_r(vzSHFVm5 z>FVnm>YC~r=vwOR`iS1E_v_vIfZn0+YUpBUVQ6Y-Z)j_1W$0#TX=r9>Y`~i+CZdUK zBA9Tdgeht|VmfR(XliSoVjge)Vg79XZvJMjY58fcVX0{yX6<7wvJJ7#v~{qR+WOd# zwyCyhw!XH`ww{FsPr?tv&%!sucfvQqcf(J^&`2S{t0fUg_NF%rQ*lpw|<<|2k5CL)Rv3lI%a^-w=it$+0v3jyiN#^(VuRQz*hSd!*o9azmV=#xEyW_S)3JE0 z6eq+T!X3n6@LdUw2weyr3Ec^e3H=F82z?2C2+atE1g{Mzv?TN*bR!HUOd*aUZYFLc z?jmj>ZY7Q(jU#1A2~riwOAeErenBTU@$36923LDGpWq>EDhVm4znxR0=AI7fxVWE=fh#R|{O}Nx?(G1HpB{e!(-rUBNxU z9l=+@X~90hJHbc6ZoxIdVZjB#sp@Hn>lX!|1y=;W1vdoe1WyEe1V6-0B%rvRbdT@<+Msy@A7lU4a9ELxG#Y z`@ws`yTKd5hrvg|-r+{!7U9m}#^D~}58>D0kKwQ3&*3lOtKm1{x8YY|WCR_-M#>_H z$lJ)*$fwAcNIvp3@;&mpdL6v^CIUuYM&3uX<<4?9~y)LP&Tvz8iiV+E-0z=YH7=|7G=xJRuw*CHDU!~Jwk<;g4=%VmrcuScZrqmLm)ZKVl`qgeXTWK?D(vQ3KFp(S-zWc0hMU_e1wW_eXz2%|-V? zcSd(Y7on%3$DoIz$D_xghoA?eC!#5sjo3K0s$dx|#a3d~*p*m4b_I4Fwj8?wI~Hrl zda+5Y4eP`Hi`8KbSU9T2one}!eqh-0){Z1FrF}vFpe;ZFp@BaP)wLbm`R*QM3YvMR*=?`PLX$! z&ypXL&y$amTUWQ=Zha;`&}woa=0m{f7ONonyD+H0OL_KVsM8oMqSNh&kKXEjS<8$Jwnp zdG}36YTN4iM*-2NxV2O z$xHLfdHZ-Dd7pV-c*FU>1ha*6gx!Smgl^#^;bh?~Ayqg?I8``JND#_|orOih1;S!s zsc@pOws5GBSlvV~l-uz_ig1LmzmP1H2zkQs!k)t6!ZIO4*iWby(uFD^LZ}hKgiPUR z;TR!S*j>_9GEDMQJXA75(o51u(o-^0(oND|GC|TwvOtQJx}_eeQ|gfVq%CEQWW!}W zWg}!ovVO9WvLUj*vR<;$vc|HZ^1<@q@a`Hp5lSxsp5vBTp3l~R?b$Qq5A$SCyz1s1~a3tKO=} zYPy=C#;XNtiJGexs>N!Knyn_PscN}KrjcsInp)b1+S=O2+B({__PO?{cD`<+Zl-Ro zZlSJ3SFA(pX6csdEA^}OOY~@i$Urlc8IT5+fop&m1O~i;XMh>t29BZBKr)mVrkJLh z7=`9k@g1gVscErkiRp%^)C@60&40{S%`+_XEienjGRHF6vdA*Q^4#*?0$TEx@0L2& zN!H2MsaAz`qV0n1yRDb~pzWotrTvBNsqL37XKQXhZaZmvV|!vdV5@1rXM1M5Y5Qw? zWIJO!Z@X^$W;Z);)y$9~xMrTTgB&NbT)+X>qx+iP1Z`w`n)+k4wl+fUmK z+hbcN`yJaK+fC-r?Ts-s#@w-r}z5Ipr?*q&!K_Jm+MHxdGNf}C+O&LakPzF$n zDcz~;NH1z1YH#W>+9%o@T620!dINfQdT)9m!FxsY8T4-SHuU!N@$|9up7dVy#`M1Q z;q?CWY4p+bVf2Rdj`U)BA9_D}Bl-(kC;Cu&4|-F&h!JI6VK|w7W;rv=^fA56G&9ar zGrO~x91>?7r-Vc0NH|kDvp8JNc+PYVii6>3Idcm_?`RI6Q^c9fVQ@aO)tpfU@wb>G z;>_eIIcUx_j-0cQGm*1^GnRwrKscqGksKIj7)QsM#F@>T#hbyK&YR1d#>?`W{P@ZH zRsCLk|2q%l<#}1*b>T^2NO(|KC5#EiR^dhAX<<^hLAXpfM*^3?Bs2+GGEG8|P$g1{ zTEdl3B-15m$qdN?iC99CKqY08LW1{aN)}155{NV)^-Ckturw&0B%3aqD4QTFmd%&V zlg*URmoJdRGIj~MFn~Ik^HaxkNmg1i$bGNDQuh%ie}2%N>K4f z@k{YtkykWV{#4`??-bt@zZGfacI7=KLPb)MRWKD&g;jA>EEQaZQ3+HJRW5Z#9ao3c zc6GVhp?0d5sBLPEI;}RV6KY*y+sdjjXf&D@+V0CMW<$VWGB^xcL(rfz z*bI7u-w-$04F*HhATaSvEEC(rH?1_SFs(A(G2J!wFw-q$i^_txa4a|r)gra@U=b}! z3(F$16cT(e(?YRyvCgy3v=&>ZTW486*{9l(cBNfo57`5DhP~8YY6GGNQz&EjlzhKRP=qi1MS5 zC^^cCilSqpl&Cm5A_|YvqR^-`S`sabE{r0hBcoO273G!X+45*2mWU*hiSvmciQkEQ z;#)$NR3+6(X|h?WNvdgTT`HIQp4yn+lHQcwo?f3>o55vYSG=ouQDLt9UHKe(6?y~u z68Z&t2l^U%5Bd~(1^O2H5&8l81o{wKNbu3kQZvi~dj)#~8(y}qtRJ!svN5tH@)x2R zvNN(KvK6ux@&}>|vJUbu;yc2F)}zDd6xxZlpiO8w+K1MnUFZlph*qMlXg6Aij-x~9 zKWHB2F7`e48TK0XHTE|49rg|O3-&SgA@&aTE%rY49`+XYCH4VUg?orAB>3nFj)u1q z%mf3$Nzf831Qo$c@DSVtBSB9H5Hti60ZqgZ%ZN9Lmxwor=ZSZT*NC@>mx))2Gf6W@ zBGL}hU`qdjR8FKwC^8C+Qbv(d_!KimPJvUj6dZ*?nMmOltaBt~0JR@=5OolJ5gkV- z(B*U`T}qeH4Ri&aNnc4Xpz{{DxFW~(J^!eT}78M7BiMG7c;Av zby;;-Jz1MMJ2Y5}Zw(b)3DN2q(=6a#nEyoPRm{IU6|#I7d1AILkR# zIlDNgIT_9c&Q?y0vxc*TQ^~o-NpixR!<_A$6`bRo`MgEE1-wdL6>l-`2=6HG5AVG2 zoA8scwy2LNFB~iSDI6+lASw}c5Ooyw6SWsj6txt+6E>`#CwV+ZBoloXz84M=6^n+8 zCW%Ii-U#c7nu=zK>WY2~bHeeW&Z1w!38HSICZevQ`l22pmn1ClNX!z4#3~6%bP}h; zB1uYSO3S24X}L5eogrH!E0ryjQROnZM6QrayhT|np8 zWpzQFLzmLoVQJlRomIC-e?Y%izgxe`u+wnZu*|T=aL91baLfQ0&Kr&zjvLMx&Kfov zb{P_ey@o2oO2Y=jzlJ4-QwEvovFVBFndyFYm;Xs`Gr^2Edn`_i&Em2IEPjj6(#D#! zFSjqTSJ`*l&)W~%*V#AN*V=d4x7iQb&)L`5Gxp8)i*~@i%D%_G)E>8=u%ESO?f=?0 z+E?4J+f()(_6zpK_8a!A_RID=_D%MPo#HHV^>X!h@m$5Op{}m39Y(XQ#PzOH_*ajxF3j;`UZ7KO6S3->4YXZH{HANPCr zFL%!U(_KjL=|}fl_Zv6hS>mbkRC-={-gsVm)_T)kpEv3ac@y5rezu?EzvjQ-zu`{= z8U$+v{|1@_e+L={YX|EE{|VL&{t46w)(JKbwFos0H3{{KbdGe7^o(?ibcu9~^p5n1 zbc$#r(ugJ^i>!z)k1C_ts5ZJd8jr4t2BL)opRSB%qHCj?XfkSwE{nd82BX$!d30&i z5OqhFM7>dG)E`YpS4E9cSM=W~5cNfeL@N_Z5`Pouq#>zI8k4r9IcZJmlJ=w}X-b|? zo=dh(txs)8)k@b$*GmKGiu956uJoSt?)2gGzVwOo=FF4Ki_Dbl)GRqm$&#|4Dn3_y zt5{X}7h1b?cxfK`Piei<9P|&gQEB7S-_VAoKA0c&3HAXt7daid5IGt-4LKh<4>=o& zMivr$hD8=5i;$C%gOO8^WQ3ZSxStuk+PmrMTt_@P?k^v6eeXWWe8PB7t<5; z#dHTfNw1)X=svoa?x!!KSJBz@&GZyq${+&V=H4ja})Dl<`(8o<{IWkW)1E? z+;-e&oIIxu_Y>zSr#tsA=PlvNxTesY>{e{tS$ z8gT1y+jIMHn{jiTzTA4;ubj5rQr-&QGTu_&N?uKV4gOzVE&eo7Uy)Jd5*-&stEVBJ z2Sgr`Uqlr_L=F*Fln^OJe34az5J^Qa5mbZ{#YHg@K~zIT5%EL@5la*nm5F>Jj>se` z7tus25m%%WZINu0WF?yw@?5gab?4skSTGJG_=H#{&XP3ugXOzTbWOm9rDO>a%lO)pJ!Gt0cpQdM{wD}GUFDYq=Oq%BEH zTPws`W`$Xy))H%}wYOuUqnV?IV}PTnqk*G|qno3lqo1R*{v>h%SMP>w>yUTqGC4C35jy zT9?p;cQITLm(HbdQC%z-$Axv*^)&Xh_B8Ue^R)ML@ciRx>uKR>>S^Fv>RIkt=6UD& z=y~h8;63jB&wIst$$Qm%&AZ2Y!@J*m(0j~#(|g3b+q=(u%R9xt$RF}Q^FQ$4^1t-o z_TTfr@GlNj1eOG{f$qUx!9Ky>!J)x6!A`-p!4|;|!M?$M)$heGTL)VP+Xq_(I|thZ zI|c`bdWYJFI)=K3dWG7C+J$6caaa^)g?Zs&kwK9Gk%5tsk-m|k5l6%s@kT5WYs4Ng zM=nN>M2|)fMsG!TL@z`?MIS_OMqfp5MDIn&n-bZz$hXzC5usaV1eVSwC4TiA{Qw!K6ERF?k`` zHPt26H#H#DKh-_eDb+8vB~?HDBh@0^I^8ziF5M=5H+?RBA$=u%HGMvPDt$eDGkqp~ zBYif#HS;#}Ci5lpIrAwqJ3AxG%F45nEHkUjDzf4%J4?^xZy zQI1m%QO;6!SFeMw4p9E1_$fE&*XbAO7wD(x`{*9}5&9ka7y2!F5yQmLGnO(=GWRnN zGEXzlFfTCoG50WcGtV-6u|{#3+<9CUcO;k1ox&w>1zaT;$1Uad=VG}Nxl_5*xLhus z3*|z%aIT2U;gY$NxI`|Ji{LKemT+ft5j;2#$y>!+!&}Qc$veTT!>`T%hreEQMzl?E|1E~uAtZJ!h znW|isu5KQ^PO9#yU#Xv|U#st{pQ!JsAE_U!->Dy{AF7vYW@_hZ=V*6m|I=>QZr1M9 z-q$_Rz0lp$UDG|&-PXO-eb-&pz1BU}-POI(-PAqMUDjXK-_T#wU(&ZU_As_HHa2!M zb~m;%HZ^uOwlQ`z_B1v!HZ!(0HZis~_A&N0&M@grdXv_)+4R9Q&^*A*H*dDAv}~~K zvTV1kwQRDivuv|$vFx<0vV686tVk=$ige6!@EnUAWe$o1U6?2;epBq2?VvlRIjD}A zj#9@Q2hB0XfpbV4B@UrO;XpW84zk1VU^)m6xP#%~J7`XZlkUvALawAM=8C%9E{iMS zO1U&Hmus2J;R?GVF2H4X#a$JyjLYNd>gnql?iu14>gneh;pyoa;OXTV<{9ki=K17# zSUq3-=CSv)_pA4t_nx=4@2U5J_oMfu_rCX$_oer*_k;JRH{y@_!~Spn_x?}*kNz)y zen1#l5m*%{3Qh@*3l;}w1;+#@1t$lm1&0Tx2KNQWgocJjhen3RhsK6Rg_L1USQmDN ze}s!7qa$M?u}C-)i3B2{NWWOuSp8VH*gvsmF>P#IY*MUKtXHgMtY&O>Y)GtWtV!%l zv`g$qv`?&6?0Xc9j*8Wa^^X0G4v3A9jgAeBwT?Beo~wJ?DE24XAXX#xGuk$`xBOiB z{_#MMNjWXojpWICBl#*-hD`Q+%-u++#@?{v3xzx04~W%_;k zZTeaIY5HUON&0pARr*DGSLQ%wTV_utm-&(To&hsOS##Erb!GKgV^){7W@FiCHk{RF z%d>?9-x{*+Y#*Q<&>iRsv<3zMU4ZsLPoO!_0q6#}E1i|D$_;W6?{|BgrSpOUY-+Q^`lkV~I>A zl!;_X`4;(Fd04(izFxjrzCylH-dxc_(NfV&VOPvh&Q;D+&QUH`zEW;ityOJN?Nsfk zzKY*%Q*BnQR((``QU6xg()?8aQh!$0)qGd~QPU&^XUnY@A~pU|eV%Zk%WwW1MN6V4P(#nT#fb>8t6pX|Q>Z<*4PX<+SCP<%DIg z<&_0z#ai)Jo5Sn~IaWE!9g7`4$1;b`vD}eyR90Wb?^O=H!{b=u&^pu(lq2X!IGm1v zBkcej7ROSD)!}wH92$qxk#d9`RSvduziW+az3Z53lWU!8mutIguWN(rl~i>rLT>zp0A0ozV9DjXJ0E{M<2v5_DlT|zsO(ikNdy-MS+sw zqF`AN8eABh6Pyt$4mrZc@VH1OvNV#7q$5?4B@rO9II<*Wi*1b2W60Q?m_CM%;bY3! zycjfA8Y9O9u~2Mbj2qL$P%%Ud7K6kjF;z?#qr`|YT8tGl$4X+D*opFk<)_MzlpibK zS-v5$DX}imJ=rbUKG`MNA(=@oNme8a34W+d0?BL1tI1EvX{nj1`KfuSS*aPRKIuW} z!RdkNqV&l0u=J4hi1hGuD!nYdBwZ`>BmFfEroX52>0J6}`gi(I`d7MkW`E{S=69xM z_E%!{&;G1a(;H~sj1}ZmIo~*oG`LptGW$&t9RXwZVRg0@elnyB!TAD&uAd|=p z5xf?&Ch<9_Q}n?%?j^p5SiduICbYr+AI{^~8og>7XZ-+u2Yq*aH~kQO z7kyuSe|=AVAN_DW-Uu}!jWi?LNHvm-rAD$5Wh^spH*Gb6ro2gEzGS&vy~FzPqJ?B7 zTDLilI}SRII1W3uI<`CZIZil^Iu1C_IL3)Sj?N9lW z{y+XYfm(qY0ep}eBnMGJWRMtS1X*Np1UW%?aCT@;Xl`ghsDETaWMX7W zWOZakWL0EiWKCpy%pZ%!cE++XAm)j!iUnh9VwJI#vGSNZmX1}$0yjIitCMS!%adygSHY4`OOq>- zHMgu<%7zaRW+*GR`sbGR5h?_Kvn;$g;j{EQKh3x6EG0At!yoFJ#r;- z6><%79r8B%9{LWtC1x^i3T`Uy2tiyp6~FlN0n$%OJw|gz6Gj6@V@6YkopGOWk8z** zg8PtrmV1eNi+hIqfP0sFk^6>wfqRa7pG)R#;x*=X5cd;z7q=A;688}I6!#Jj5VsTe z7Izj86gQSOl-85hlGc^3kgk+2moAeok)Dwslkb!tk+)Tlm8VpvRYz5yR9!Tk3j1qI zKKIac*0j@f)ojwRv}|pWev*E?ez1O`{;mGCUTIVq)kd*VWfU2;MyXM5WE&Tl=9_FL zr)j6@x9N{bZN6c-W}#atR+{yVKki?y`tHB3hVEK!st4=Ac~BmT2k$|92p){b z?b+$s;mLWRzPY~nzG7dQ59x#Z7Wfc_b-egXsc*Uu=0o{r_*H(TKjZ%=P%qFRur9DB zus*OhAPB01vLH7o3hIJ~gRoF(2oi#Z%0k;h#gVCzO_BAH`>_+T3$eqo+p&wW@3FVB zv$0#Te`C*Mr(;)R?_*D5*J4Lw=VJ$Bmt!wthVt9xcgi0n1|$b12PgX{`&R!3zidtJ zOzueDOWsdDNa9nN6d{F59Z2m9<2OT zIi#w%YFgEzDr6O^3SBj}Y)kc9-Pi5Nt;i?nS-9hb69ug31Mwi~5a~Om9iuIy4Wkv~ z0plg}3G*rQ3-=@UHTNa=JNFa!J@*55l6bUun0Tyslz4=Ax_F#;s(6BUytr6AQCuXR zCT=BdEnO`&$n>(^^0mq}%KgfB%CoBTstc-fs?VxEnqHcIn*N&JngP|n!LM61LT#Zy zs|B_5^mFy|^>g&I^zZdLqtR$FnvJ_ne@zj!@ zAyfzvLWi)SKzK%ET4ZNrdt^&wYot-URs3hHd%Rh^b^K4PO}u%$f4oDyN&H)^MjVXQ zi#Lt8jkk>dh&71kV-4eftDmU9{fae?=VC45|HSW?KP-PxJ~TNjxhuIR`8)Y1NlsBy zv=k|ID0MgmO_!uG>4oV9>9X|5%&5$W%;3zx%$Ur8%+SoZ%#h59%<0VWO!I8ZY>RB8 ziux5`wr)ksihQ=XqFzPQihnBFRkW^XP*DY>f#m=IM1d3#2C~)n;%|$AI8Xts0g}KH zAOkD~Rs)s5GT;F4FOUFM0;_;@WwtU?`KoB^F4B(D z4pO76or0^ps2ZXfp&6!u>&x_?^(fHK9Sw5{# z=W8Bl9oQHM2K_-|2p1xRW=Cd5W<_>Irp716$HWK3C&wqnhsVdq2gb+72gi%!BjV4> zpO!x@_psI%1%}7t2$PVs4A&qRMD%VRl7=#Bab1^ASIXu zxP`cDgiD0a#2$?9jJ}MXj7Gfryav1`e1sS&Mu}nKuF`JOf2AhbP5CwXE%^<(K)GHy zTC+_f)=IP}JzkH|zn-9O)e69PIAz?&}`t z?&Fqt4tVx^etL{PyU*%#`W!x!uT7vl7!PKG(O@{32quH%5H&O>vM>&f&yO#NL*jGd zv*L5(^WwAPQ zj0EEivjwjuuNm(&4=2WodrGY`i_9hyE3c|pdZxbI$hS^#7CXl~CpkwrCpxD%hr36* zhq{a0N{{@1#NB696YbyV`yjFR-Ww8o8NKbjchf@%2}wwY6hcS`Qy~PCkf2F`2tkx) zS8UitvG?9}X0Z1zR`$jHf1b1U*=xVq`@A^JT3KM@=crd?GS~N$otpi(@%7?*w=2ix zayeZK+&w+{IRY==dnlLZr}^XkbU)i)n|Cq~lOGdeg!--RzjnY{a$#&Cv2bbOio#`u zv_eMV@5VnuOs@%5OCF?gn&HA?ta^iI@S%26gLVWWzqgUPDrPo+;Zbx6N}*c206ma4vKDT>)1(r#NR_PEpR0+{3xYbESTX zKhgg*xG-;C-lDwIc~A4$p_?JbT7IFpP*lh(WEXM^n}q)sH4jIIn}wT(G2w`C%Wy-{ zpCW8{UASNI!eVu?rdV5iBWAR)TG&I{Q`%kHOUhFYR&7$<(cRTeF(jr-)4!#MKqq4M zk9^ZwQ-KM#BG!eDMUKS|L$)zHJv%MCAv@ny;3~^0&DoHn@XP(l{uFx28Fm%AH|CtpS(cZYug<@a zpHQ&5KoAmz#G&Z5UBlhOi;J7{`bmeVmOCnQY<`R1>Q4+wLZjFA3=dN+a}>Mmena8D zutqBl84LS{6O~EI(y*y`NpXI$Rlk4rW#_?IGPffAXB-tL!qIVDoD9du#o-ch@i;P0 zfTQ8qxFlQxE*2-oF>w@}5Ep~v;G{Snj)9ZlSU3`n2yC`BIB@QMV&Dk42^w% z02><6^Y8`uB76zH z3}1n-!q?#I@D2DTd<(t}-+}MK_u%`DXYkhp_#ylVehkAf0;6yp`~-dqKZBpcFW{H( zEBH1127U{_gWtm+;E(Vp_%r+k{tADCzr*$L5BMki3;qrNf&an{Fb0W0njnz~7HNt! zLz*Kkkd{a*q&3n8X^XT&+9Ms1jz}k@Gtvd=igZJ|BR!CwNH3%}(g*2_^h5e11CW78 z6fy{jMsUbrWC$`88HNl;Mj#`RQOIay3<4ozk#WdB$arJ|G7*`COh%?4;0*qricCYM zBQubh$ShIA$ z!HF;t77~xJ5e~vd5)dB3M+Arv5g}qkf+QkIh!l|_azue7BT6I%Q6Z^_8qpwHM2G0X z1SP)>h!IIc(vg*j2{9uU#ERGuJCcE9A`T=AaU$8sD#V3=5Gs;`co83xi>yZ0Abte= zryR*c@)3|7Mb;vPND&f7ijj3l39=s9fRrL-NI6o0R3aOZO~__s3$hj2hHOW6AUlyN zWEZj<*@Nsw_94~Ce&hgh5IKY#Mvfpykz+^=avV8<)FLO5Q^;xL400AZhnz<)AQzEK z$YtaTauvCTTt{voH<4S7XYkK$X0YMQ{)-)9C?Af zL|!4UkvGU&DnQZGpB#TcNGdHfUS49oio4fObSXp`Fn#Xjc@R!9U&5?r0CRC)x|`jrKwNqW#eR z=m2ye8ifu*qfs0>7#)HRMTeoo(GloKbQC%o9fLyXSaclv4>}&5fKEgwp_9=m=u~tX zIvt&X&O~RSv(Y)|Ty!2fA6Hlp(Ix0obQ!uFU4i0J0!lf=oRFsCspma1A zWuS2=6J??CC>!OVTr>gYp?p+;3Q-X%MkQz>nuJPG87fB=XfmoqQ&1I}3g(~vSB+{= zEviHHr~x&iX=pmS5;dV_)Ph=38)`>0&`i{UW}!|r8(oFEP&ev9b5JkpLvzv9=o%En ze9$18hvuUNXb4@47NSLH7%fKEp(W^gbOTz7mZ9Zn1zL%2L^q+E(Jkm!bQ`)I-GS~z zs~XSX-(Bc#bPu{0-G^4A`_TjFLG%!M7(Id>MUSC1=yCJ}T8o}UPobyLGw50L9C{wT zfL=r|p_kDs=vDL@dL6xi-b8Pqx6wQ3UGyG$AANv6L?5A#Q5Z!~6s<#_pij|f=yUW1 z`VxJGzDD1mZ_#(?d-MbP5&eXIM!%q6(QoK?v>yF|{zQMFztKPFU$g?*jwg)BM+Az^E|>Oa!KB=kHGMw9)gdX4`PDHmV-Zo$2o&PfyX{jT}fxmIq=@_@E4})|fxCOQ?b>wm#-&?_ZXPW!eZIeLv$m?Dic?nkcG+gm?hU2Jb@TNqn+>@2NXv>C0$V4m;Xb$n&zg~KU(4aYaM3X^U4>O zr*9^1|GKB-;G%uUHlE#i+(UORNVXWZoY}|RF4$gO zbz=M969-GT9on(${#NErPSx+jk2lBed%R6swQ(=0f>54#=-bAx6+dfKE+KVCdKoC5wlH*Y^!b?bn7 z|LX%+$|EsX4>!R`_HNh}i8-)$<^K3%yps`_CJmJ(Sg-;_V5T()!M`(6Nh)|O10M?- z@Zhnb0fW(lwStdPg0%v|Oabe~M6ind&u@`nHEDc1Luvw6k6Ga7{C|5JfEkF1!VJPh zV{n+km?4;XVm=TzfV2;t4F<^?Z|E^o(F%!TnlQ5IPR8uk2Fw-$JFf+mDpAFWp zxtMvF`C#2zh*^YL4A!lsm}Qvdm=*u7Tto~Yc`+2QR)H8f25ecyfIJ0;i2>W#F>DNo z-hlNBq#rN>ux^PkVvGc=Tj0V7Muq{KCBbT?#H3)rW^Axlf#5wx2hNWH0}=(8bj(VO z2?G*(m^<}%>+jXyuYXYgu>Mi~<9fIrsYmPU>YvmJZ^Qq3G{gL_-}3+W$My9;>VMY%s{dX8r~Yq!Lp^v- z1(tXOki>sMXPcaEQVG=Vrcl=bZ17Aqc))+#-i=0h3*dn_+Te{Ic%ud04eAbcfI31u zF^y99#Hb-rL!&xIwFe&eu&5SMlcIV7mm3FU?oNXWqDBCfJ0WU$)Z(ZaQGKJhQHrSK zC_$7ks^7m>_uRp=2k*d)8}QG7$br~~QcR=94GpNkbQ{>HhBq4GmvH}Whc{~C(*~>t zrgx+4-5H9&>|F1R&W>Ic?TU6sd!loqz0tnt-00QOYoh(pfoKrBj0P``M}sdZqt(%x zXl=AES|4qQHb$pKr$?`hHbtAGEz#C!TeLkoBO1Jv6P*>!jZTQ>Mf0Nt(ZXm^v^ZK4 zofzE&Jm(A?7d39sxae`Xaf8PV88>v?uyIW=|2vsGX`pl&U$cZ)7HGug`=Rk9zdC+`l0kjZW1TBV^Kue)z&~j)6gog+a5h6k0)^mso(V!TJ z4#h$YC=OymEGQmgLmY?;B|tog4+$V4B!a|{1WJUGAh2~0l0yn88B#(ikP1qL)Q|?! zLI6;M43H5@gVLdukO=}8CLt?igX~ZSlnFVYEXWCgO{{2l7H7eGRRK)_}hO zC1oYhdT0Yw3Y9_SPz6*8ZG<*Ko1rbxR%jcv9ohlygsPxj&~9iCv=`b3RYUus1JFU} z5Of$i0v&~pK{e2E=mb;?orF$7r=c^@S?C;e9=ZTsgf2msp)1f;=o)k#x&hsUZb7%9 zJJ4O|9&{gi06l~rL60FALLd~XgPuT7p=Z!@=mqo=dIi0P-av1mchGz21N0I41bv3S zKwqJ6jq{fOpStNSFgqiwB6mgZj@%QuH*#NOb>#lY1Ca+K4@Dl1JQ8^{@>pa|pE1`WK4GL0KQT8Veqe4z+=;js@gU+i<`t$D=6|oh z|KG^(5t!1A7+eId2`&!!^gXz_rA+!nMY=!L`M;!?nkCz;(oR!ga=V!F9!T z!*$2?!1cuS!u7`W!S%)U!}Z4vzzxJj;RfNNaX8#y+z{MQ+%Vj5+z8xA+$h{=+!!2$ z8;cu<`v*53Hvu;hHwiZxHw8BpHw`x(Hv=~lHw!l#HwQNtHxD--w*a>gw+Ocww*bvqs?2z>uHIn zPtN0+C#zO!FN;mug#sl3=Xt>EZp;fH`fz(b67Ke9ctG^KRP7LvjIJ2NtW1RoLx#-4J=5|R-=Tzu#Wz5LDDZLB&NfGQU_7Bb5K)kRO(At_fa zGyTBmeC|5M`yw{FF@gj9C0VY5?(PBRPyPyghhS-b8&NlKw?xUVsr0_A$!riYAg;66 zC~V;Z%~;w%Vx}j97xwoRkBdeGOtvyfuF{4CV%nOS$BAQuq2|7oNU?R zpw%OD<_bO-F3}lD9e9hWvG~@;m)wlxdoDAtpU)L~Vu+-E(M0fjQn<3m-rgK#Xqv@b z>?BNO2|OpwWx~VC1*9sH)X_YC9rG|xmaEpZ$r)gbNHCMEs{A04pKaiUp?S-H(=pXJ+4QOCjJP1&%h|b5id1un3lpD!dOT(NH-A2^9HjW(mMPkkIR|K8SMk}?-{_IVL8d0 zf~QgHebxL^mS@7zvW0|qTtxoJHHCBDLE#MK$B`23dx-Da5 zT3>d5PA6X%^SXQ+|Fj}szh9{*G4nRlCursoCTsH8&$wL1G5Jwxw*EKeX7D^If}G87 zMP1{MbYJjHQ5Ea8S#P~<-7vWJP_j1y|6co!lI_>#w<{hM2r<{YqVRq2TS)wj;|Z1I z){;DelzWiWPtGC%JXe?yT?&lO5U1JZ%}7#5?#t!HFt^wZG>AbAxMsFpJU4?4xRd$Mn=SMQBSb@ZZvA zD^%>1oo9X=o z#K0`$Qs5FVmqrL$@MeTRTM9HPa$+9PwIoj*5kQ-I;~$R4Qtz6kNFIB-TE2)v?EQ_q zu=XFP&$8r6p2klT7L(=NQ1M#AmK+&rGqW@2WjtHi@w%t~(r)P*q zdHOR7y{GK~swWL19F_@~R~em)pHR*@DnpapC6)z3Q~uAG)4|c?2Wlc2VK(76$&SHa z;SJ~hl%$gKnd?Z$vrEz(1w`|E?sDZA&k~ZE-P@;B*Jh8RFVK@Y#l=4Z67Tf2h)b`X zD|sM(<(c4_L0;v(r?@C-8UQ9`OriLP^R)L2XswkTs17AEb@IWoGW;%PR*0WlnXujW zGH(QRkNg_*4`~&R25gQ)f))Ia!XpVDZmSf!Y>8|PLoOa}yBV7kljMFaedt@s=x+H= zNtA1-MKm4g9ZZ%SF}SHTLJR6OZMM5faF?uFF7^^Vfum=zu__cD8M)|;|v+X>@Sr&B|ep2T+4bSfVIhZCp%7Aws_Eb6Q) zs&nZv3NZh{AsoD8B(0RU8ox<4iMP{sn~JB*Oued@rs+iPMtSJElDGC zLwR#_SVMVWblFGS`vg?5px;dd6vv_!kkU8^7cCicO)K zxOC}NZ5+KDYiin;06rz1w9%rp=^0q_5c@I78}UxPPG1MeF-zK8LK68hiDH`<<}DLh4OhKyl={Znz4Bz!LXZEb4Hp^jyRH0$#2@b0P(YZkB!p>y`xEDQCeZYF-4EY5O` zr{KSc*O4B2`sIuXd?Y-jJm+pvipfO&ym0@x!Nf^A9R)RI3PuRC!EHKSh!a$2vv-k> zxgMGp(J$C5{A)?QslOU~qessX>Wp!6#ODoJXhCWMWjhtadCAu$z9&f%T9Jpx-XY`Z zZS}2n``Ee!IGxGMRR;~7lbfmW;tRQ@h0_h$Kn-tC z?Jk*t&!+4o&(u38!^lpei*SVi=C46D=Z&k=%Vc|lYsq%?OX^Dk)ly}Dh!dupyyC> z+!4&6qr64I^h9i26T$Vg_Q}hF-a)V2~Xi2 zOt^|Km+dtjaP`eNkVQ97^9>4YOe+c1J7;9{mODZZOisqZ@Y>V}z0DyD*+Rfwq@JfM z@#Wzd${BA<>uTNVf_Dx?(K++Ch?g*;aUc1KVeZvHcK@X9EW67&Y#))@)ZQy_UwU76 z%AZVWVqZ;~!FIbRdlut2r-sCt5^ZkFJV8o{tfg*s+?>E=X^we_=n8W`BNX={@ICMb z-v+pUTaq4Yp+N7{atVhyMiwdCf3YQNS)>bj*}1JIapoj%o?Q?c6_scB0~}LE*Rlw$zo> zk#4;J%wKB|baV_%Dzv`PCkm)*_wz=GH`^;??}RtY1|&aXE)TYLb5vKvr+EpgjrdcH zi_$f*+e9?>V=^sasQ8^$q!X(a8XI`8s6^^I{{~;5xLu}hvUzwdql0BJgHD;GITAb< zGl1XGn$GSGdwl>h<=YC zjsKO?BhH-LKRk;?;Lo+JWGZM&11kcV@=7i&ex!OxvNo0wPCn;7k}*|s-ZuYXQ)eqh zUP!`n)QnB!PTW*RP(*YTYlicmCA?4n>3T*TBE^MwOK)bxP5e~Q9vaIDfs6)xylpg0*4rs@)KFtBWPB3+hplZ!D*G+zo4VFTU?tFh%d+wp#*Np{U;Ek{NRJ_tct8E8@D6)I z#!Guu#tr&-aU@+K63NH9ABs9E`-`VayGeTS4l*L~wWMar*Ti0#mULdSh#{7WH0|O$ zSc%2Ag^LYy47nkl$HrpgBM4)tBt{#(B&Lh3)*H!LDXWuhcKP^V{?khC47o-n;^p{H z`sYzk|w^M)SyoxVu*T-m*tWw|G1 zF3(iTDaR+#_MFA6l+b|2|G%BNMVT1qD&F8ZNNGW@$e$-(n|oF!A)V8F=50|;CKr*X zn*GYjS~X>9cweGIe=K;{S!$jLY`SdHb@3DRlh_`@eK8wd+5#o-rs)Uwt@2H54gLWB zBIkMDFMO#hlDvws*+k`C#6K0b<4v}o&EVTTS^kv0iv7%MraaPF{ta=qWs1G4vlGe4 zv@v#iQ}OXKAqkhA>>V9kn#opo2z&^X%b(iDa#jmE$%kertS1WDu}n`(d`;umk7xT4 z_(GE8I&BEPiy#z|@{Y%G)GFIXIdH~_Irb*{+2SeW0@+T}L86exPGP2zMdwmq+m-;Z zcmR22iq!ckKntD}BzSgNGiWr~BHn28>ey()LK?xdT+|BRi}l&LUV`VhH9l8*Y(L50 z@;b6!Q1|#Qns|(*p3{ytwzf8rXTAW-A|+(YXBv*UCh7mtq){gmHs^el4~RQyVjG;Y z5~en;m*$8CpU_?LA-2B;r%|aEQ9d^sO6MYU_qB=S2bMwf7VNQ%cdElev*NaEGAqR~ zhw@qXm-kJ04F5Ra;s`TOxjs=)otc1VX+!53?Kx8ouVcI68^kXBTi%*geSJsCV?+;V zvX~~mn|Kf5T&}X9y{rj)9=DWvD*L8uqHq~6Sm0zfFrEC-wA+-y+Lfe{nd`;7B&(#W zd275kD4lFq9xK!P`;75x3>tGG@l^Wh;ea z8`uByH0~sFTMJd7bPm%rWp|c*;q}S8K$)S6aF3TI=-L@aQ@7}h`F(6(Tr_%25=XjHNvZV>vmLK7BF%P-Ey7~xWZI1+h zXqRom+}nf!EBpJ3(?1hQvD+0#nP**gi$1q7BQI^G!xi)fpPH_Ra`aXf-8k1*5#$&c zOb)+w+SQD$l4i7F<__wpl@Wp2yydaC@OGwwL5&6TUy!Hv<1Yj5+PO==p8tcgRVk3g#ts)WiG?L= ztsQ8$(t8jOtaQ;C2Gx^Hll72h)vE0hDmf~r zW8exuKYxBsI*meT5CK<^8<5W`cl?>WRkdhZkqdzOz}xt@y3%sr*H@UOu8kk-JORhWfxS;5;>IB@6iEw8y6V8XYmf z8_#I(t0$cRob}(B)toLqo1Dw)Pwzmbl2$0tm`eVde6zJ{*6?hMuOBs;b-G?F?D7BWc+ufo0+Gd z!H*LKwdc8OnM>lD<7w6;nJcvfpDiYtEu5di-r_r)3`Rs8nE%qn_-&jN%Co$O-UX5` zF=J?txl{2glE0Wv+uCK^VDu*pC(LARF%1{@%1osaG$$-J8e#1U!YD;&cS{z~Xes@* z!xXC=S;Aj|{ibQue~hhGz6&6<8uL4KUw-$j5_yraBd~%bgTIpYoPmsNF zEn~sLLR*DoCUrdZyi_FhizV~ok%HtcL}k+m!10XHM%y>gR+D6^^nze}-YHX#&g2+G>6aJuW{D8iI>K93YkWDSJ)<+#!XFw~OuCCNEG#uuQ=>gp z=Oo*wK#qJc=R({}QDSgM>gd#?6r(k>pv1h1sS6T=M@{wG^%QNOpkQa({Onjo0{(_s zXn5xO%)Ln6j5p+ek55RtOzcQaa1Y6d*JJaRlHXA`#9#tW`5xveIYk8KztWx+&m1TT zTJ*GzX^Vx_#I^WEQhb&xk3i|qpDNhoD-_mPI=Bl+J0yC_kE}BZwX$EbC^w0fMboO z23c)zRZ2&~J3`nzLwu6fB5=$Qbk>=QW83gBd2x;&F=_cePPMBxgPwbr@>b|&vor#( zVx>9mmFcZ1(OW^=z}&(;FU)AX{(QBikFOo3yJu48t<4lM)y7xB+0OH1Z^|al8zJiY z#Y_$%@!3+QY^!U#tCjDh*F`zR8yp@Lo=qKrKWt;D3LV|z8P4tUlfkRh5Pq+#Wy)b{ z%iv?>5BU`>4&O!JDQhF^8ymB#Fuz?eM|o5>pRtiYUAMy7B{|gw#okPDQ+nxZf)O+k z2TIw^?B#Zc?9$PUG2!P1iC6~0CMB9x=GO9mfC2zQp!gYxM6wkod>7L?^wp?Ck zQLfLxI*K=NPFW}WGAx@l<@g)U_6fjO<}AUV)2>(4xwg4lxv#pKaDJOFm@k) z<$2C%Q#iqVnSOxiG4&~rPdH&cqp4LTAk+ACHGr$xdz=|@$S zCA)Fg{tdPKI`gJ8BOmCrp?|`y6s4qjqz!bdvzYRQAMn17iKRB9&r09*xHI-B*x~MDg)ygxj zSbcLCB9%D)FD#Cs{HgLvdh|y!aVP&cp7W6qlJV^>A|~eWGeoc`X|9gCFh^y z0US5KQXV62f$zW`?759UW*M(74BqFB5}A01WEzh+CDFW)lx2BCQTXzCpQs-k1>UBX z?t$)^cfAbx#nfV9e;rmcME}d$&*Su$69VG>nsct^d1LsC0uzGO8H4z9bXLv>RW`m0 zS1o+c<4b1=!Th&|uup5Q`f6NYW14u3a4fY))>GYjOB3rH*)sfT({jrfZQI14RLq-B z%plCBH|O)DM?9}6FND>m+niqfef-bXFII)Q5Bn}_BH1WM2m(&^%Hcl&v<7 z!k^T_oMOMudB$|naMW@!_Y=N5p}$Q+eH1@Ve!*3iuJ-0zda+kicWMim(?z8rICZ$> zzGJL-cxt`tzN>@phw;8rky6Xss2dwI4NuSbDBegu<{0g%_mdj0AKoSqUdZANX`wZ| z;i^Bp&iHP6nRkaE&T}d)QIf$v>2xr{f_JfdRqYaSfj{0@50{QHH*=pNE#cqgQ7FqL zQR)c$^4$5f*}8P)Qn`UtNuBR$V4PRf%2~`2D{tUere9YOnXjyE6?A6g+MAN$IeE7TauK@c?OYV4p^ER8*0pGx0K>;v zW1d*@3a(2{y6(jj@x}NK#VmXx@Zg*_CQ}BAf3Q!l5irY|kXw-3kw*dhY8H7mc{#91638s__KcNe8`(; zgfzk?Aard3{?;?X3&JbHNy0rs9k7h95*`!k3B!oXiJu80iS3D_iKB>r34Mrdh&bX< zqKP<-lIxo5y6cAPmg|n|uIqv8 zu?u!RalLT8biH$ZaD8@tbNz7rb~U&#?j~-mySclKyS=-kyOX<%yQ{mKyQjOiyNA24 zyT5yYd!QTV9^xME9^oGC9^)S8{>MGRJ<**=F;e;lqk;p2V}ry0HK67OmjtOmi4X^6 zK~+!$A2iwD`~Lc{paj=1cM$O5$K+1QotL{Xw=H=tV?B8b(Cm(o8>m-+BJqLznDQ>= zqV5a(E9p0B%-X$_2u_^lef)CzMtTX|1j<1tfwDb}J`#9-|Inw?xrEpX7b{_9Fr0YjpKzMH;=zK(vAeusXKeix`U)j*nfPp_vxp+BU9 z`5&~7Z5#WC{ubQI*Dtnb?EKgPpaCoch05&MP^=}kvY=;iLxSO7yU%M|1!S#^f1S8I zTLG}Qs%=MXJ8Wlc=WKOA;o1iTuJg7Fwi;k>?FItZCR?$s)^-UfT!^iu{k!dnt-Zau z{QjYi5b+q@gH?w!KceTT|o3=hcA7R>Az!_N$q>=IVv7pV*2F?fpI3x4y z9Q$m0cRLq2B~$JH*hO}s9nAkw0%VdzyUd99%%t!>qS2t+1j?Iw&+cvzC@hszT z#`TPI8Ame?WWb<-*jPQx%Xpemm(eD(t!8rOhm0wpLN+xM%>O6`)X5q^bL>C9ya2fJ z#?1A)d6}wzYao?C1owi@$2MSuX9AacAMmNKXV!q-;tiQYz^>k5j&5Mb-d}bL&UD5c z#v}`k5yyySw5LR|aIBH6@vP;%BwjI4<<9Z$@ow|p@uK+Oc#S^LJpNYDqfg-*fxEFA zSQ}e_$dL%djYFVNUk_UK4g6aEBhauX3r>Mn{Q|)pP*Ls;+RKfN<$<8{nIVvasvemC zu~D#3P%S7B91t7>#i`q%5rYa^f*psWg{^^)*i+My!=Zen{Gq(0yrBG|bfR{nHlr@1 zlBpEnHpWorQ3q1#R0eerbsUiY{8Sw^1qgot6{coTwZQ%>qFw=}+HvY`>NRQwwVZmL zdIR`r8>ly_2dPJ?7pQls_oxr38>yS9rPPN&UVB9CO?yrqK>I`OLiO(2({|GK1JS@rE2f!1 zH#?V>Mte*CyuaKr47m{FjYI3kkSV16I0?L?`%L=gyfoQm%br^_-n^`-7X;{PB$EsyrV?6;*+*4MQ z_{jJnzzFBc_+rJ<8AQ;@kQ~e?tSqm z<5M|0U>|02vN>)}fK$LJp?4&>^&25uVH$eqgt^VcPDS8{{g5O?dpI@fBh z8~9vrxCeoH^N@Rody0FHyPG>8VQ@m%gh2^k!0plPK`=8$a!s$-+?_+3^n`zX6DtCGR8Te6@3+K)SB z*JbZze;d8oCsX7@@6tym~24%TLN5$=fN80tKg|;u-L7?#jC9jX)@g#-8w zRK++2PBCBc7!=O)6)>pnqKYy_1?Zd~1da3Cirt`a?o}KI9dusu!sJEC(aBvwm3K_? z#N=hk>g3^|-a8BwGCiP?sRvEW^kif5)yAuCPtPV-B=1k&n|wSONqz@PQgHJ7xmpXuoGiB(^#9SL>7aU0?N!H)*j@mYzGi|McWo6hI9>zw-CdLK^nEzQG z;~Zl%Bg`meTmw$&cE)YS5k}LvW^oT0E#m4JcNjkyZQ@$Sjf)!}*D-ETT<5sizm`r){`xQ}tS;-1CbiF**&lGz<}2FEcc zF=qq!w+|~0n5U^s5|hH@F*PAwNFOqW%%PPbOUN3^3^_xqLcY-I(3(&%lpk6fDhw5c zibLx{>q8qtWub~tv8lwg!Bl3dG;M6WYWsYvX@}{E>6od;blh~-bl!Bqbj5VTblY^_ z1e*}k3)5@UJJWm9N7E-$Tk|*5Ptz~cUsHs+i8<2T+}y(4+T6z6-rUjL$=u!C)7;10 z+uYwg&>UqRWR5oD%!AEC%)`wi%p=XC%wx=ud8~Py`5*HHvypAq+>f8B3HWkSb5pma zu1_say$pQCtEu}^ccmUnJqx78r$Bg1&u^uE352&tsRvR&rM6cOS2NXv)j0J~pn)`+ zAYlF%z16+cbJQ%*xTmQZYMolHHmM8MIcf{2pk}FE>ae;}y%E&MD%9812h^|fUgy2Z zTP~)E*+A$`6qkv!#7W{*;ICGQHR4KfSiDv25`!)Ez@%&`xg%~Rc`4o@ZX>x13#KG;fm;xtn2{(=v?S&y zHd+N260;JWptGHwC`#lf8WPun#`eL)&52t7eT7OWK%}m$W%)5@^YSn1VD52%D>=Yk-#( z0?I)NXh2H6a&L-Pb!uA@}_%DUaQyU&G2SRddS?pQjS>##ap?Mgd)7j^;&u3rAzLb4A`%3mza1&RtDqba0C96!p;K~5Xj7Q~F ztyZ<*j|0XJnE&-G!5snC@(Or3f23cfKcr1%&1KDGZDn0$J!Fk;^FY}!S+s1pY@BR@ zkS3H0SE$IU7!{=AIl7UHfxW!Oa>&w3eAu$nvKgqhyDj@H&n+)3FDlTr!l#4zZ1J_n_-zN(=r znX*TUC}n@jOdul9<1OYb;Y~BlHY_wO0ajw8lo)5=8R!PCAsIMiMnfj3pN9+;hFylM zK;8!Pzn#wgkCi!x%i!|4o4L&r+9t#&Y)mLhIG=Dep&8F&FDTJl0Hq>J zUkG%H4f-nme$ZpTp}!0I#&7FYw@oN z*%Mf6gMqI$Sx3~7fF?8#C>RnQnExG5C)AmB9^FdNes}9~b;Y`Mx*fVby2HAuz(~ex zmH`o#sZjxE!>)-1rX$C^c$LJgHm8^kW-BNRUerF-j&o-E9sVr8%fHI+_IvzZzt8XY z=lKKvkbkYe(7(Z7>fh|&fw_SRf%$<2frWu3f#m^wfDj-D zC;@69CO{9w1{eWmfF0lj;sXf*UO*5K21EgIKoUp{Bn6}aSs*!(5>N$F15*Rffz@<2 zcoR6Ab->(gW?U2>X>4NbXYA5=*U5(|#z{t!@p8DVKxuSpbF^!;1)wJRNDZq;Y6gU( z!b8Ku!o$NO!Xv}u!ehe|!;{04!c)Ri!!yHk!gIs(!wbWU!i&R8!pp+T!}u^MObgS) zabaed6=sL|VNqBdmV^_-NnvSN7ETGv!>Qrbz+ew*)@h0~TQnOqyEMBs)tXw(PR$O@ z3C(fMEzLzuo#q8FsGewE1CJ_F`w^Hb4M0@EXqy5xpgS-FaM~U~59p}{^MC9OindYO z0ovKxQJ`u&3)F4rX=j4Y?FubhOVzTpF%&0dSj25HA=rjh5<;Hcu2dFe| z1vPE~uy|F@l|bIK0lDrJkeCiR&pJ`yhSWKqf?j^F?BC88pqT%`IS@3dJ7@RKZk0Vg zdqnm`P>vLVc8N>#)KaD0t$m>D1SH{ZmOhpNmM9C(GT1W2GR!j6GS<@CGQl#>ve2@^ zLbfDYQY`jteZD2%o)6~#l%4O+_vCx?{rRE%wfW)v;{1~Q_4#G_<@qZdREG?x-DZao z$iZpA6!ic{bPI4pD;ygfn;dH#8y$NcwT?ZGOF-m1;MnQd?l|kX3`D+{j*pH{j<=4_ zjw_DNS&tlF9FHA$fIJnM)f@;ZEwWl=wFOGbpsZ;?5x@aUpcn817H5qIX27tlNm;Y9 zY*|rRE3-_X%+1YGW-SM$ZdVosw7t_o-J1cL-D^Nkvoh;i7MTC@DbUN!1m(@VEPK{w z&>P$W+MBzw&V$^h3hE3}VjMovsdR+wM#NlZ@(?$bJaRBfY8*RmzY5jm176;TY4G_fQ)3|Ah zw6ruH5N}d|?@*prkyZ_w>P2alKzP`cR+zRvZFAc0w5w?~X%|4D_#P+}KLc&zHtB!U zey6oh@0Q*=9nAlwfBJCHWt^NoCw+GMUu%S|i4ALeW1a6DXp6E9vW>Ehu?@A20IK3N z;3|%{%>>rX65BG+SC6xCKx@q8%yc@Pcbt!%?Cc_QF>rIXgGPImIX!)eFgLv@y%6|j z>(i@%F>yG(CjB&Myk7*R_miNB{32aps}vnIUozhWjsyZ~?k~;n%%9Em>AHWNiAA84 zQytzNPW5B}UnbYH(aGmbirW$eB8vG>?p1(PA<$YEP(8s#Xw43rn`~<0MgCw0aIz!I~39;p68D# z=r&(iNmjhBcwSMvk^{8!CY6mVdsX(W45%DanYqHgV(yCE74uf)t;kf9JBl5p zjxtBNW1(Y_W2s}Aqsp+;-e^ z+;=>5JaME~&aEt~EC)*RR$x-DsoY+uIHo6qi`fFs4bPAosoanvAqHA>p$<$`GPzI$M%13W09ctK|w*C;B^kdS&8`g zYJ<8;;ju9xVpLFH0epI3AiU|9TKnPGGv9y5$w7|d|Zo;=7JaUTL$kq9h8>$gJ$>29KU7>WLVh?Ar# zQkXEnfoSSZtTQRfYpRFQi^rQ?FWy5GnoujX^|*+s(Y)Dz{1;?ggqQn{OpkH@0FPOm z2oF7Hk4JYuqI?uOc8o-{{(*MiW2;+|n@TPpSZCchEml1rHDfcFWL<*V^^t&d&C;ll-2>MTHLXaxxpVb5|a7`>Vx}XPL_|_|Y*95mS z(*4W*XS#$9|A)CQCy`soiGQO@z>p813F-gU1o-=RL4r8p@GJ&>0=)gBPnh!$`-E{G zf7K@Nf)HpELP1E}iV)%PS6#yFAOyOEg#XLBgrIL-LeRh7B?SGWE@AAy)g{2+(%mJ* zfC@wdPpL0x!QZ=mSA=ZX_41!ng#Z7No)F-GGz8v9OJIC-1fEA9V0Mi1&-Bmn&+{+z zFZD0;hnOCJpDru?+X2OBil3WQv=Z^{vJKge>;~2mAK0)0{}3;szX&L@VZfG^05etw z6j?d2WtBjYRRdR+tsG8xz^{k+^{mu@v&m#)Bf@&6mHOaI@=F0Fw8(+7wyZGi34 z7w9hCf$xGK>ya$)R-U8meFYx9Js)_t1dxk+X#k6Z-_Lo3>s}fFFtFyF_ozALBaq+E zdBp5q82}Bi=A1|V`IUj^KUf%e{8Q_K)_<`i==eV^2oR2k7pP#(3uvN85J&J=AD6m6 z=CtssSpsygSppR7_pakPqMmNT2)T{tXeZ4z)xAkuC-Ojs{ck|}nZ8)9%ygR~o z?~=jU?C;&WmbZ5u@1}@%=Q`faYJ1mf=v~*lKEfH%&70%x;oZd3yCLG;pp$oP5ARxt zx2Lz4r*|Xo#^288Xy}1WKu8-3lYqZ>`+h#x@%-=k>?XI>23`<}a5zq+3kOB&aK>|5 zaKboZPH#>M=Qwl`XAlfI39O-ah#zM)BIAT}+!Kfo$QtM|ZX#=;LFxq@qBKrACzaF5 zXFakB*@A3F4j}uHahxBKeaJUG@BpRo;xy#6<+SE#K>@^YuJ_}pIc^;p1RB!O9|0Ay zaAt92pbOD()~kUaZS=QsYH=EI+Hu-&`g0;UR!$6O4yP^XPaf!vTWvD^ufjBA24@22 zEpi>%iA>}S;SA-B;xy+3bK3d*g#3(j^f`#^LN8Qa+WGB9_8`B29#21y6z>pM`%Lrn#Fh>P1C=@U8bh zpLgF^;@$tW5iK2^gHzpuoPANTs;`TJ^oj^{|ucF)K45;*(344nL0BRI2a11#yU z*XT(1S|?6;*FkDt>iHwE(D!q9$^SqWHuOUnb`pbKLsO{a+GrjqU zTCiT9<+o)k!a3mwcf_p$N`%w1i+ft|uWNy%d%8#W?l6GhAOSvgMvd9BwQ;z@Ek~Ts z0p4{~|MLvuA9NSta>YNKL8PVI{xpMd&l_e#Z!rvx!N6?n3mnJ5Ka-{JYP1jb#Qe9r zaC0QHkZi<`OdZ9zdAa?T(rpjm#PE4@Hh)SxuMoU5QX*I^QS6R~i{feCCD z=N>4ajq?zx1v5@Z^J>= zz98wKZ0&py^i`aU|yp0BPw#xX{K9>|{&I$T_j4Frg%u}#KP1VLWNFH`fvO=sDFv~5eH-ci?b~m6?vJYxi)*&NOSEPVLmZ_0`g6my`mdTjMPQXYCY96%uC`iW5UFl(VmH3$sR^+q=}>U z8{NpQzUr>O&t*Bgy8iE1TmSpXOMqK_IXyr3<^)!&R6Tm8*;=Ypsy@K99XTS%7jb{W zqf575z59+DGa8Y1^&k6xK$jo6RVkT?uNjqtYJIHjw~Vgwk&{xCguQ-s4|CH$AvUo}vMy8vCdJ8*{mfE66) zvbe0Scvpfe(FM_gt`t|QD-KC>rMqmdIj#&>rYp;p?XtUaTytHyu6eFJSH8==t}bxR zcNMzkAY*)rT*a;uSE;MaRqk5gTIgEjvLY3(O4nl75|)uuY~}M_-~oVfByBZ@WEd*kpKMae~+^K$JbZDyU82^9-*>~v`0q1ZKgub zjZsgJc=7Vp>o;%Tz5nnrRXJmhd3O4dqsNY)IC<*ynJd3ty>|V^&0DvhJawWNPLQ$N zGq;&izF)lfe$`_BvLAohv2)k%U-um5U0(Tp9rL%H!=JBczCSh({I_%X6M_2Q?HpFY zqi+qe*=HT1=4?PBIGfrq|h(oxGIF;8?qg!)W#o^ip>O@bw`a_6R~X%IYpyc>=^69)tBeTO{OyVAFUAQqJ;GmJ zXLPp-i2F&=^FMlxvGM=QR~Y{z-MyOS_3zR>mR53C1AfNaGf8`V?4y zO)1Fqu4v3_%j*L^)t0=M5OVUKTbI{~=fSJR^W(MPdGX$GoAZ7SX(4DTSnsA41Mj|} z%T2uR>f`6r!POpE>l{}=bvGY>AAWU6b$1^@wWvC@I;>h;J)pXU&%o-IK7rLiu0hqj zYB$4uaP^StaA2eltsYkG=Hd^p9#QS);E${xRqf{EkFFk5?Plc%RgbN9v+~DPkFR#~ z@+VYJtd>^Gs>7=R%U7+e{?69#6yO~&&}XoZr>i#b;Ya#x00O_8dG99OU-YjH1pM#p z`vd;_VF2R0+E3V7I8#_4tRs3H_Asm;_%a8HM@ciK>C(B^*Qu*3bCZj64oewcow zeuO?qKT02{Z)==n6oA)<2W}scaXRedh>KN%$7-jg*xD;0BQYU0BqKRHJv+0;sW~%u zPX3b8%F@N)SzTD_SJAb?r=m+m7;hv`!<)(zLKnJf^_qdTe8>1ab$K9DtEW}Ztmalv zubxq@s#aG=R5t)RzB^CgXQaJfN8sRhaz**+Au+()PXGx5nrdxzWVNn3s(KWp4D^D8 z0Uy84euw;i3%nBO&KMZ%H^^^nxAEN;`7QBt=L5KN0xEnfeV6zy26%TDza~J(|LQVS zdjXZdd4M}-pcZiUJ$>u>Mpw_Oj;X#L=m=aMSQU6Na8+P&U`gQdKu3TyBs@eJq6moy z(Zcl;-!+lEG2nt0@Kn5UJPEHaFOV0+i{O=n>BXZp1 zYe03t@_?#wdDyQWZ6 ztSQkf)XdYwY0@;QnpjPiCQp;3v1u%tc+Csl8{KQ&E8SaNFl-Bw>O=K2z(1qV&(zEG z)Ag5Q+)jyPquv-}%rVY4mKfuVv%$%>)Mzr!GcGbZj8R6bQD;mu78~PZQ)9K3LzV;J zEj$VC!o8Lgu+6*Dy1=^7T5cVYFdTMQFG|Qt9Gx;Kb5Z7!%+kzqa9NaQmt@baaV{^& zhWfAld$|v4-w0oguhuuxSLYk$tM@hdM*I2(_yu$c=o;W3&@G^QK#zc)P|=By7Uk>m zb9Hfbb@{uxxw^Z0xO%#Jxq7?$xca*Kx%#^TTmxJKU4gDauEDM$uA#1BuHmi`|56gf z-^(a~`mZacWobY~kBa^keJcXFi^2atmuKT;^5)gB z0rGh{yd>TXUL|i9Zz(T@m&HrwmGT@w2&m$f^Rju1criRPuL@lG2SWx61_GsEl3;*f zzo5RbfpCMdky^A^q!sDGzxy6M ztFy%xaHGeF-$=^`09% zH+pXJ{AW`Z{&NWhw>=(uoQ3?Aa~}UFGXv_s-XOM#8%l$vJEeQ2m!ucLxp!WAM7m45 zUwTY>L;ADyfb_8Rv~-8`lvD$5y9MAsoG70x-y&ZtUkQHPt@4fF$6Wz#+@HXk`-6Og ze7Ss`e3yKie7(F4_KxQQ1@vRH&-2x|_P4dZ4<2dXT!lx{W$e z-Cpgj?xXetcWP60KXnUrGj&6CJ#|NQOYqYCq}idlqB*GfL9+|o-&-`lXtsh6e3NFI z2I{~5@1?8!y=0bH-#A~3uhlo+H^Dd2H_12IH^uiql^OD{=7m80H~gv@t=p*Er>htB zMduaOJgRQgXPswMgQ!MPwW7Z2nng8@dKXn+KUZ(m7wgOQiTX5f=;i8j^zr&4eW5;8 zzd~Q8U!u3`ZTc*IvOYz>Q12g;88av5K};v(0wYu7lD%!*RpX$=jl021d(^nsc+7ax z$QoZ6e>2`U?l2Y@mm4#U4~&N)Oyz>{lyRH!qw$iFG+r?-j9nZ%H+Dg6Zfs6$8F-|! zW0%I-V`o`zSk75)f$MqAh9TS_?pN1bcwNc$Lb8E@@neV=@=@S{3=?`F(V#H9gtZV4 zsTYzNUK_cq@It`zsC=XJMEI%*Rc&OD&I@^@gGy{XW4QT8xemh+Y?mbKPZ)}O5F z!4bLAy4kwidOx0s4+0<2n1sTF#R*#zUnjmye3AGz@k7#=q>o9TlRhQAPZ|%qMNXt7 zr>3QTPEAPvnm#zQBy&sVn#^A_cY-6$Cwpb~VPHKh1;WF!?48*gfby_EyDEDxFdjAn zNHkKzOf{*3t#+@Z~kzK%1^4)Zmx1D!}caC?2cMXUow|V<`zwqwzPVsK= z_VNz%_V5_qM8QU9RzZ~1JO3oPH~lZMGYaNQoLNeOuSIMSX?4rB3>t6DqbXhBWWZRN*_xf zNS{Hp)l2Dp=_lz|=@;ocsZ;t&`d)fhN=jc#-%1}ztEF$GtaM}e4EbgGE%|x*O>or1 z{r};v{DJ(A{EYmR{H*+j{Hpw#{F3~%{G|M%{Gt4V{G-BG>8I?X^ig(IZd0yRu2wEn zt^tR79aTSY59g|es)wsZYKvN_4ps}*lhsqz;p!RcvFh<^mAb2XqFSPkQk&H<$JSiZ zG}1QEzST6=dTMFSM@;^eT2C$!)Q#Vt2&ujNKGF&N9_9&0@5~TC5hc<*b{C@Z(A6Dd%bD8RuE&Ip=xj1?NTQ zCFf=573XixtIliA>&_d_o6cL#+s-@AyUu&g`_2c>ht5aN$Id6tr%tC6bz)B3NjOO- z<)odAlXX6GK6k!wzI48FzIMKGzIDEHzIT3besq3ves+FwesxwmT`(--pdP3v>V?)q zYom40x@bMLKH30nh&DnSqfOAJXfw1q+5&BfwnAH@ZP2!8JG4F80qux(LcP(>s1NFk z`k`G=sQ+dsupVg3LknfWEKe?j+ecF1$y2rZ9y3@MDN?Q+EPgxIIk6BMzf3=>o zGV#yi`z1^UpW}vv9}-d$k0;hm@=Wqds+Ckf>3!no#7~KM5|LCJJe$pvYb7^LZj#&> zT%4ZCEt03D%t)D@5}YzI<$B76luIc$QZA-srp`&d0+Di@wAA$E^py0B^vv|EbWdAd z8^^HJuN%+uhty_|U>6Y9UYE9#GSL%X9r(4J^7 zv^UxZ?Thw9`=bHq0CXT4hz>#rqeIZ4=rD9RIszSujzUMHW6&UUEIJMyk4``*qQU4S zbTT>xor+FFr=v5_nJ5?Kp?ow16`(>?godJFs2G)?QdEY9qjFS%Dp3`xMk7!SszoDF z9U6t|Q3D!{&O&2QBWgm;=xh`qXs89XqVZ?~nusQ$$!H3iil(9Is12QiW}um9mb?Bx zJq6G3z09+j*E7##UIOnh1`c9ZmT&gL?AzJZ*&nm(*a^5adOdrDozA`iG#&={Jg>6f z))0B#WxvR#fYkFS`&0JoY&JV7Hy*rq*4%M<+&q2WEN}{5&G#y(Q(!52TJji}36Dx% zmL4cQRC>LJfOM+#T0V>kP2bNv_26rb~Fc_i{_&9&^$CBEkNg^g=i64jFzCK zXc=0LEn7w(M{+N=#S`T z^e1!+x)t4q{)}!%e?fPkJJDU}ZuD1l54soKhweuYpa;=I=wb8-dK5i|9!F20C(%>r zY4i+w7CncaM=zik(M#xM^a}bLdKJBfUPo`BH_=<@ZS)R$7rlqxM<1XM-Syuh3t1Sl zAmnVw@sJZCr$a7=LiW!|ztnK67r_)p=R!#(9;a*>>oyX4R0FXitc zuJNP1r?Q7~qjHP#2jymEpejJ6S1Hs`|1FQu$LJIEDe6Q~6hm>8KuMHBX_P@(^cngb zeSyA2U!kwjH|SgR9r_;qfPO?jp`Xz&=vTBFb-~z~gLz<{m={(HtBuvc>SFb<`d9<3 zA=U_Mj5WcUV$HDTSPQHr)(UHlwZYnA?XdP(2dpF33G>D}V?LNK=7)8`x?=uVH>^9> z1M7+P!g^zUu)bJ7tUnfj4ZsFsf!H8yFg64miVeetVP&UHI;)1uvPiv5U8$a@cBqTh?KG1#uQW}yVcI_0iP~W85SVW}wQefXH0>yDPwhDE zAgx3z(n_^`wUf1hTA4OPJ4`Fqj@3@lPSZ^S7yL2Zaothfv?x{7EH(}sk4?ZPV!_xXY%(?ln~F`treia(nHU%2VSFqE z6JSD2goR>Zm>82_QcQ-0V{%M^DKQnM#v(8cro|#L9TtV@F#{Hj&B9_ZBWA+P*la8o zi^D9K6^q9butY2gOU6>LR4ffk$86XfECb8LvaoE-j^$u;v0Q8(mWSnI1=xJ75G%rp zu@bBlE5pjM1=vDt5mtd!VvDgQ*ivknyZ+m-7-tL-^EBp33=Uf@Q-Kr{X-YITGDVom zO%jvFWCEH@nW@P1+>~L;1*VK1crulySYXPiOxdQzrv4^_X})QWDbti=YHhNc(o8l} zf~nMWFZOEemDu~S=VFIvJc+#-`&;aT*hjI~VlTv=h&>s5D)vt7#n{KO<1NXSBugTM zjD7;vP_^Zq<+bHA5QnY;4+OQ|u}PB{_6xQH+llSM zc4NO{d$7IOK5RdB06T~s!VY6cu%p;9>^OD;JBgjbPGe`Vv)DQ8Jaz%Qh+V=iV^^@> zu&dZL>^gP>yNTVxZew?_yVyPKKK1~6h&{p{V^6TBm=i-W48t)3BQXl2F$QC?XV`P> z1@;nqg}uh!U~jQ^*n8{)_R(GcpWnp4h2>g!f(jhvM-ujdxBPIzp@dxtdlL#0&m?wA z>X6hlsYO!rq%KL#l3FFTtKk!LPwE2n1Ha_K$^DaiB=<}1o$L!Fguvup$pex_Kw{w4 zuowg>A>g2AQXZu|12;XDaxdjU%Kenw)cn-Bsq<3{Qwvh(rQS+y3O?o*X|=$`To>HT zjnnF-HBZY)FH0{-FHFx%FG`=A?rrO2Yi4U~Yinz5YhmkbYi?^|YiN@L-2m$U^C#>x z_67TjRbwu=fW^T*a8KL|uZ7pf>)>_qdU$=j0p1XAgg3^U;7##ncyqi3-V$$xx5nGx zZSi(^d%OeQ5$}Y1TF-pMlTBxi}B! z;~}^J7vds36c5A2IMjc;GDDrA$OzA<$SBV^mT@%Wa7OFQF`2_NKV`nk{FwPRlauus zF5q*(S?!-42sFEi_IAL%^S6iDgY4t%-RvFhe)jQpE^zI70SRxEeWty&y{p~FJ`_lJ zJ?)e2!S)$;q21fw$3ETO-9E)G%oXIW26ub~_~XlRt8(Y%R_5k{Q+{dg+}w4!OLA9% zUw%>U;@o0z&X?vc%$<-oG0&8jke3Lq|IEBN@cqxuv**ppi_c5XgZgim;8I+MhvRZw zfh%zpuEry94X(u_aUC9o>v01fjnBeka3gNQ&G>9Q7LUU%xD}7b6L4tN@MJs%PsP*l zblir|!87noJPXgp?RXA87th7#;dyvIUVzWX3-Kbn7%#y~@iM#|Uw|*f7vU9nCB7J6 zf-l9F;SPK`UWKo~SK_Pi)%Y5GExrz4k8i*?;+yav@E`Hb_)qv2d@H^U{~6zo|AOzp zce?BUOY?%sh2p}r!nK8K3KNTxi*^?6F4|RerTA)bb;;Wjk5X63=Mt~dFD36vZj?SM zy`B?3GC8my_g6e!{BUXiWf|O9{w#h3U&&YV zh5YG!1>XX+%$fXg{BZs>zJ}k5AIw+rqxms>EkBY!i9eQa=3Dt0KJ#4q8O@hkXm_*MKGejUGo-^6d>xA8mpUHl$? zAAf*9#2?|0@hA9G+=-(&hT}MalQ@ObID@nJGyFOJ0)L6W!e8TW@VEFo{5}2w|A>FW zKjUBUuXr`?g3HJp!h`T6yog#vZK4iQm#9b7CmIk9iAF?Yq6yKIXht+AS`bkG9RZ<& z(BRO9p#wv8q1@2np;JQphK>v!8#+C-zPOI~v$&SLl!HGmQ9w0$iigfWpbG%+#G%+ z{BXEb?yYE`=%i?`@KH2W^iVWXK>c^LBw7)zi8e%Aq8-tm=s07FLQO;v8bV7%5;`J^&=UqCnwUkz5Jtj8n2Fg$ED`6f|ITg-e?=2TfTFpgi=s1- z{l+Kn@sfn9f3 zy<2@&eMo&weL;O#Jy5FyK4iAmrahpo0&?VXZKd`{AV<#D&eN7^&DyQn1g!%ol3TRt z+O^t|+7;Sl?Obh^woF^3jnxWu7j!zHF@;A-qvTPVsJ8kP!#qQ&!C^2N%!Vz79}QvA zvkhwun+==XM5~<^!b-#w2}B~1L?ja_L@JR+q!Tt`4v|4*5?MqxVJC8kxkN58kH{nP zi2`CiQAiXK#Y72FN|X`h!~$X=v52T3Dv8C!5@IQ_jBpUki7H|Rv65IttR~hFYl(Hl zdSU~yk=R81K>SE-CVnEe5L=0D#LvWb;um5Ev6I+E>?VFC_7HoCeZ+p^0CA8wL>wlL z5J!n)#Bt&TagsPioF>i?XNhyfdEx?bk+|fp|E>gJb!`V?SCXOJkPgHyi{S@DrXkKS z$FR&$VVG}NX~;LMH6$C-3}uEwLxI6&7!nf*1g2pzWicf{&?=58jOk@OZ2Hl(!}N)X(U}8-#OnXh&O-D_aOlM4& zO|MK>OCcY3~iE6?H8&Wu=2kA+Ak+sO$ zWF4|DS&ytwHXs|4jmXAi6S67UjBHM}AX}2H$kt>VvMt$;Y)^I|JCdD9Z?ZG#L;8|_ zWEZk4=}&eeyOTZ0o@6hwH`#~mOG5p3&#|Og(t+01$=b$R$J)%=7TA(?tu9LwAWY_2 z-&sFc-&(!mIq_eub>fluPu4G1m$hMhgZMYry77?-+JuVX$y>(PC$6+oz^$4f7(D`zCitV z_apn00ptL3AQ?ywA_tR0$f4vgayU7H97&EMN0Vd7AaX1@jvP-;ASaT+IGb@U<3h&ej4K(ZGA?DD$>^Nvo!KFCGEjr2WVX%n&uW*|A**jz zXCR$$23%~Wlq?M^la$HIgk_;+Oxc^Vmu0WZK9oWI_fRBFG9*hr zBcGEm$d}|R@-_K}d`rF~-;*E6kK`xvGx>%5N>-CD*xJUSJSb1fi>gJ{rs`02sd`j> zssYuIYD6`rnov!tW>j;k1=W&jMYX2dP;IGpRC}re)sgB%c~hM!AIg{Vqq3d0i!rL zY<1`YAQP8_?gTpVn$YslwV}4q!qD}h8KH|pSA`abHWc@i3C-t$2#W zU(!+1K@unlk_?gblMI&(lk}DJk&Ki?NVm!s%2vRxyVbHPS+Z=sJBMcP6ly9pjhar) zpk`8BibwIO5K2G^DG?P)g;8QkLP;qZ6;8=11*N1^l$wg5G?bQ#q;ymirKb#3G&PHg zp^TJ?GE=juSSpUPP*y6QN}v*{Br2Iop;D{k>Y^W?pRv@dC*=6%(n`CJ+o2*dgkd??5$d0PT1j@Q#BNgB2kPt|C+ss2HIT01bJ7LaG?A7_OMA7^WDd7^oPc7^?_Y zOjM3jN>uAr>r_9g&ZzgO&#RxPFRG8LTSmN6*NLPWCx=dZ6ext5Z*Qo2%4eBO!i@HtSq3%-msQc6d>LK-rdQ3f`o>EQJ{~xdPBXX-cj$V57bBM6ZM(;LVcyGDHm)o<q+#5&01K;rF%ofG2)SdsTZ>drEs=dro^=`$BtDds{nDr`OHWMe5`_ zgHER_)GgOl>9*)D179*d${3Xvl^GQml@c{8$`ZxVH;le&@QS`?=oQTvD8oxbljs|U z_XgVFG`uskh;ADF+VI#=C;GghZggz)4nwo(=Z2GpmeC&!mknPHUkn6LQtL;ziN0t! zZMbiEV89G-3|9=bqpulAL#t^2=u?K_F(cjcxBXspExI;chptQ4qwCWR=!SG7x-s2^ zZb~&H=Beg9^Cq9!=O5=6H!!YqT#vXBaUJ5OTV$3zOTH!7G8YJ{&8-cr0l@hl zU=6f(w+^)SwRW?1u@1I2wDxn)-wtSKEgebg=qOrG8|Y|y79B$yX%lUxXVbBC9BrYk zbUd9vC(=oDGMz%F(rI)$ZKLPV8FVI{MQ77?I)|Q1=hE}&JUX8)py$(tbP-)lm(Znj z8C^~=~eV0R`0`d4}ny_eoc@23yY2kArZ`XB5Abm89dt${1-8{ap6 zKz!HuF7ch>d&c|34~+jD-#=k?f)TimcM={0NMa7PE4Bult6CUSYQSQr>zDK-^TP+=@Q#)o7N_@h1vABSvH={WRu%s zYyz9e7Htc$sccaHgNNxO^ild4eVjf)pQKOGr|C2FS^6A(p1wd|q%YBz=_~Ya^i}#A zeVx8R-=uHRx9L0dUHTqW*=(qGc`aS)D{z!kKKht06uXHu-g01Qt#)I)>yqH={ZKe)Wm#N3pXBsdKnMO=w zrU}!OX~r~XS}-k{R!nQA4bzrs$FyfUFddmr4AlP+*ES|2C_|SKm9aWwWyY$En;9XQ zyi9&(b>_9q30c#!1X;YS$yuYbW@e4Z!m^%az0dlP^)bsUdsO!5?4ay~?2-0Mko?dk z=dhiyH_yTCPWu=8JA2cdllIeg+Wypj2(lyY+ui9AE=YwqXTJ#95pV5h?DcY*U)!(SKiN;&uRwxCi=3tQV|K>=%zoVd*?!ah#NHw2uD#lREB8q*mU}h#Y3`j| zD))XaoqNySe;)E?Ix{|uFXP8_VY)K@OgE-G(}U^B^kRB5eVD#XKc+tuzzkppGJ(t> zW-v2^8OjV}hBG6Wk<2J&G&6OgJNF6pWHlF={4)(J)#jlF>0yjGi$t(abC+hA}cG#>~uS zVwpI`!dRJjCV@$0l9*&Bg-K=7-1R@q0DtplE&;sFDS2Uep?Q1rZszUD`!(-y-odr>`c<|_SCTDRE}{T z8RG6g52rIWW)73VWHMPyHe+XUn7K?YGmpt*@|gl=K2yjPF~v*?Q_7Sv<;((RA+w07 zU@Do#%o1iPvy5>t%b6->1+$V_#jIx5Fl(80%z9=6vys`v{J{LkY-WC9wlG_nZOqTi zcIFpm2eXse#q4H&W%e+8nSIQD<^Xe$Im8@hjxa}=W6W{p1ap!(#hhl&FlU)_%z5Sl zbCJ2kTxPB?zcE*tYs_`#26L0S#oTt+|45y(T4kO<#f&Udm1)Y}=`D)KAr z6`2)BD^6D&t9V)QqQY1iTWPMWvv|{DdNJnsSY_wtaCdPJ@DK4%^0)Ah^Uv~k@K5uP z^0)DiKyJ{_{B!&>{9XKC`8PvS1<8UmLAu~r=-trsp_fC?g`S1fjKh$gaXgd^Jp`E> zMWL5Mue;};NA56pnS0EA<^l7NdBi+so-j`tCxbE=gEIs}G898I48toY z3EPxy#x`eLur1kEY-_d++m>y|wr4xA9obH-H`|%@VSQOYwhP;p^=G@W-Ps;&Pqr7^ zo9)B)W&5%H*#LF`JCF@z2eE_MA?#2V>VNbJB!--ZERYMKw?mJHwiF8`21%rZCz&ak zDw!<_m2f2ri4;ZPwo>GogZG~ix_v)#TI?+2KIATb|z=(bklOp;@@FIFfjE(To7|OcT(AH0AUqb(R z^yn~lI6HzJ$&O-2vt!sGb}T!N9nVf+C$hopBz7`8g`LVyW2dt-*qJPs<*|G=gcYzt zR>X#~VXT;a;&Q^S@&N-|`}+E-ST!5LYFI5B$?DiBR?iyPXm%DG!x~u=Yi4J&v1}Y` zVXbVuyLQKDZPUo+k@X;HrfXzi`h$Oe(PwnJn;NTz8VIa^n*yQ<5LDvVkbRT?!vsvv4f)WWFbC?9=Pv?_X7 zG&foUl>DIR;OJSv${!Ehd}(xQ^c3(f4URTO2S$&M)&Wu9P0f#v9veM7dSY~9v?O|5 zbbR!T=#kOWqlZSzqj}LG(F3Ce(fy;-qDMtfiU|gG`gnKmcr1ZUWRuurHib=P)7W&@ z#?E0g*i1Hy&1UUv4m+34W#_SZY(87S&SwkRBDR<KHDm|emy zWtXuIb~#(cu3%TPtJu}-8g?zaj$O}gU^lXx*dN#*+0E=v>=t$_yN&&s-Om2P?qGMa zyV%|Auk0RnFT0Q3&mLe8vWM8i>=E`TdyGBKo?uV1r`Xf%8TKrDjy=y_U@x+l*vsq{ z_BVI^k57pi2mJoeF<*dW|32nJ%rf&0^J#O5`7q>iEHE!LuY~lDJ?4|<-ypZ+h`Gvq z2C_T0nJ<{vLwd({^Fi}5^F8w|^AdBpx!7D}UTa=uK4kvIeA#@~Txs57USpmdCyEoq zY2(y!I{EI?X!OIx&7){PcK1d;PwoV+f}6`Ng#6{8 z5M4-2$fFQ2*a?;iS_#Jq<-*g#dfW!wy4?EQ-rQl_$05PoDO?p-$t~utf-E>s!6(54 z;ThpmVP|NvTS>c1tx|qXUdD&;CUQSHBofQ-D^SHt#Vf^YMYY1BtX4KqwNTB}G~+hq zHsbc>25^USr*ntP^SEW)Mci`kLhfqr5$<6~c00*E#l65i%RR?E&Yci4E<_(<3NeQm zLn$o8kH8A zW=e}siw4rPF3k$G>DaW0wB)qJG;P}U^d0G2)AMY(woG^Lc%rtT4y4?D7E}vdg4V*} z!YRVZ!eF6Nm?JzVJS)5)WF$SMy`{aReWjxCX7aA`5%SscH;Oc+OW9J@N_9+CS2IL2 zUBlJ%*Ui&a>elM^=uq8@sJi+ddY>3gOiIkTm}@b2W11KT8DnC5S%z3fS|(ehmT=2v z%Y17)ZfkBUZcA=k?no}MKDk^j%Du(C#=XwH!M(|S%5`#YL!Mr6$i$HRkb;oSAs<6N zg?tF9FIXv9A*dy+4H??LCyQ(uwz;-cTd^(8X1Ar=3T+E*IX0WE+-Ay%$TcGG*KEFZVw+NClt5>Q+Oynl~!fClA~&?YNI-#s;?1hL>hr6M6*tZ>H6vW=zHmV z>-*}pF&AQ*8Jil18OIsN8pjy7T5_!U)_d_-eA|T12|W^eCIlo5NEnz9m@q%VmbfMH zP~x-1yGc)yUMG!6IhYa;G=ASxhMYM$6LWg!sB=U)<{W-bgLz)_-sd))_bK;A?%Uj% zKyPmh?|k0nyt(3LBsPe#aUAeN{Uf!>KTKS}MQ@OF6SFSGCm(MOA zQXWwrTRxy%RIV-Oms`rY<-+nA$z7jIp%eaW^ZJD2>l^v9*)F!W;`xFfUbYZb=7#=prY z_^r%Jqw48L z>j&uv=m+b4VSNL*`2e^*_P}%*)h3e^Je5}^D^>% zD+Y2ma%Td?Z89WvDtUu=;k-~@0FTcLfz-|sykWcvJP{zGtpN&gKjLbN*BQ zBmS+BOhJ}_6wrbI;bvj?uvU;I*F5YCB#m~2Ot}_e9$}wCJB4|Lxk5jN=1bBgrIN*x zTu5%rki<*oOHw8CBxRCfNunfMk|#-%ER>W;swFYfd$MOTRCZlP$?nKl$c%a|djfe; zcV&$1f$YBQwv3QHlqH2f3V#aeRoRM6g-wyGNL6Ghk`x7sd_|sOjv`%Aq)1U@C?ra$ zQmDKIX=*o>7nS$m@w4iTmM7<_dHs1@-VmM?5=y7=WV{(6(?e#4B!uh=*$v3Pu7aL| zUVMv2CX28eo#I*a;b- z%cUD3U2BbWiL?T8x7JD*NDHLvq>6BPxGX$8yfA!zcu9C4`B?cl_ul=p*Oj-GzbUUN zC#oi>W~+9o`b6{q{){prF2Wiih!93tB8(B45%CeCh}4Mi2wlX;h*<#T3ybKf>8|Om z=^Z&UGCWcd86TM#X^H$_9Nh(X8ruQ|;JUlJySsaP>rH?JLPBs!fWQF39l|iU24|q| z?(TBy?lx0*zjb-j_YcTkE9aa!vcGbUfurE?ILkRX94lrf7IWrt@;D3*j$`6X=9F=S zoI(zlqvDiv7jhTz7V@&Znk6+#x|M9=Z|9%nFXW%&NBJB1Yx#TmL4Jbo!^|cxe-(c} ze*^yj|0sVSe<`Ln?c$%}C;8|3TlirS!R}!QUoRXO(49vwUDB%jv3#XOQ z$`WOkGDn#cv*}W0f-)^8)Jgs?)J4leWrnhfGFh1sv+C@aR_Dd+x;UoMbv?bBzlfjV z-{i;m0sdkBHvTgHasFK40<4KABg_gH3Xcen3V#dFiT@M77gq;*0$;_Wfgj>Qm=2c% zv<2D$y@58sc%T{ZT3ip4X+)IcBw@glg^Ok$zrmIEG(Ojd4%}#`QvwDmyHTmJd+$SBzGSQCO94l@C>i zGzT>YG)nCcJ<$}!{3qBPH>b==^JX((4O!h*uhs3mgw<7z_RRDUJ+O!4m3X&!*Z5BP zFk#+**nixA%zxC6QiFlTfz^TKfhB=C!Q;U*!C}!s|5t1WM0@3sa>{euIjNjX&YGOH zIY2I)>&-3CHRYD&rgGi6c1#JDGixw+=8e{Y`6Mn~5OYhSIcI#Idb{GyDmKatW4jB#_ju~LXIm1!Ial>iD8N&v{E<@C?*O2|c z7qaT_`tyu7Hy=;H6Y+e!3a`YgF=hA{emr3eVKiYJVF+OmVH9C1X727GU^Vc0d3pFe zUY;sXou|pWmUkuZI#%7J$dBf$^CS7@d>v+y+VVsB_I!PQ08>eo`5w$AW#yOVyYmhC zzWnc`3arpcfcd-30$u?J^LING&MBN#IJ*;d&$*jC!E+2XeCw)3`yw(GVlwoA6#wvD!+jcFeab%**uLTCy!2orI- zLT#b;&~#`3G!>cz&4ju@!=Qf9KxhKg3>t?SIU}KIP%o%AGzRK{$vH!yrqCD1Q_Km% z@;^Jf_@CmLm@vAicxUmd|BItrirdiI(OS`3(%NHgshXCg#b{|-1XDRb(|XZ+V>Y6h zZlRm#diq^DLjOhokN$_=n9+hU7_&E9G5RrDV&Z1+|LdFW8Le0?S(90lSW{Rg)=AbG z)=}00)?wBz)+N?$)*9Aj))m%i*1xQktbMG#tP8B0tP`xWtZkTlyNPv!bq(`xkF(aY z&aozOS74UecWw(_b6x{pEnYQVBg~O&%)|0O_rdWUlaAgvemXuoeqiF!E5}O*>|Er` zIy27anAGyjxyF@nxm_Wb-xYOD^ptw|o~xeop6i|{X2ewU{qZ)$q?mfX>b}~(TE3dT z-&oyT4PO&~Q-33WLx1;RhhUdrw_xXB$6&i)k6_ne`=AyxYc#>~;Ih!tkTR4CX+sM` zm7&!kZ)kZa8Cnz4gkm96Xi4Zz$QQDPBB8}0L&ytin=LDm@nr`w1@@-wy6l2% zRryLxYg|*ltb8ISU?mhug-v-_`9b*!dj;6_ygM{7l!-2i{)v)fhL|>Hj8(+UF>6d0 zv&AeiQ|w&qY^+s$U3`7KTB1s#b^=bM6Gsxe5_=N66NeM~5+@Ryk`I$llao@DQ;ZZd zMNhp?e@OqAUXl5OtBxOn|B9=HuZ{nV`;DuQZ-D=WtA}?JJcRdzw}jcGX_&=3k~Ebx zmo$eo6LWftNK;6|NfR-vcM@p~sUK+^sa?SuGECk?UPxX--auYUUPfL-{zLv#^r`4q z(U-qx=jR`*eyJv5e%(~fNzK0+EhcV#*Z$V$n>;4Bsit|id6{`JCjBkKtiM&5^|#u* z0eiIb+tSdw#R_Ah_B!i6%*@_p-DF*BU1r^Y`Pxe`Uwc0$Yvx z_w%`TbC2Y1&%J>u@TYRG=dRDakb5-uFlNJ_%f0t^{J-$Is5<3qQ8mgpte~|vr6#2@ zrKC7PjZw4I5Opy%OpQ<%Qq$B$)Fd@S<rkG*o2Ie|umKkEMW-elSnLOqe=0KL1Bf<3Og&dF*t?;`laf5m^m zZ!hR5!1BMaBewt_!UypS@i~O)gt>$Tg!zPdgjs|Wgp-6LghQB4Uy!HEOXl6qTbq9{ ze`Wr;{FC`RF;{v^{s~N(-iJBThw_i+|C_%de@*@-%$Qzl<+0RvD1 z1b{ri4e$XI5CPbL3J?G~V6$|CG$q}Lsf|hLD$H+$rOTul=~C$;>1t_Ox&kvDIi|)o;Xb&bsH)C{UbYb*lG-C8&EMQ0&r3@BhCSy9Ij3HzQ7#zk_)*V(W zc3t*Q)@xQ(_8ZnOR&Dls))&@W)+^R;)+bg|b~W~7tebHScOUlwR^UC5*M--cH<;I% z*M~Qh*Ms*3tFF6T^1kFs$%T?vCEH6jl>ArnyyR`k(UOZLTQP0*G3KnEFS%Fp5ffN% zmOQ}h)k`G;VTI5x+$Ovvye{lqcCxI#Xqc#jh$PAO-W7nK*5 zv&td4Q|^-6F%8xr2jvdAUapbXQPfr#6+M-mFoUn7vV*d_vYoPzvb{2`gq0a(O6gVk zRZf*dbymGceO`S=eNlZ5^CJIMA5kC0%*do>k!GPLty!!|X_UgT+RfUnn8LS1cUrd} z^V`npHt2TgPU*Jkj$u;T8U1Pf7sGAC3&T^xbpvXsZv1X|V)$%$Z+K^TW4Lcnn$}|8 z+B(x~)62haCoT;YbrQ7}jTcQ6O%ja~wHN(Y_SbhFBkKEq(YX<3JFk)KmTZx%m28l# zlkAkNmn@YGk;yRMRF3J~hzynOC_h!cr+jny+46&!rQ1$1P?4*c|9^*ajbf={nPM?! z7OItYC8TsH|5YAW9#I}sR>h>tugbcr`l{c`pO|@hM^#PTLft^!Q2p2OoUNIq*`?X7 zxv06MIju2iE!sbrcW2O7Gt@LxG1N8GHq z#Io3uu*58_Fmo=?O0eRrIaa*22RI&V3|0aAf{nnsU_-DoSP$$Cb^w3a`h(wXb-)JT zCtE-8gRLd_#rD$n(e~5U418gGZfgbpw)Fu!f`hEW_@a{UQx5+q4l=) ziM2+>V{5gFx)qnK*RAiZRV(gTuUIcy?^!Qf?_1wmYgORv8caXb+7~#44vX`OvyQ8p ztGX-WS?G~_%e`B@XMJaU?=ZRgf&T^OSikna#3buy{!@W-fkS~KfqB8X!LvbY1Q(qb zogZBgWySch)3MjFkFl!pmGRs0`|)TZks#-6!K9L|SHw^;<{Rc>@}UA^K_w6$Dst3x zHgL9Z)_1mcw!!?zTFzF^rp`vry3WPUrOqYJ*Uop&SI+aU%zUQXrndg@0uIH&|p*QVa+NgdYvya?YwqjdYwc_28{qHZZ{u(0@8a+7Z{=_8FAqopK%gWb z3=9tT5BB|gc6+4(t|6{F?rm-_Tu`=_6|+Ya;6-8zW1ji=&sLH8EqbTC6DM ziuq!W*oD~nSf_Z$c&~Whc%OKec>8$o_~v+>#P@j9M2keLMC(M$#GS<1#QDVK#FfOk z#L2|9#Er!1#P!6P#FpeM%;o!-#PYu?q>zg@QnpaGQ?^ppQ?^ldVdi>`Vtg^N7+3td z_*e0d;upowir*D~F0M-bRQ!fIkk+5JhPIBjf;N;Mq6g^#`d`JD%fK;+3=xCR02nq# zmXTz58I=qV17t)QvsfQlb=ZGcIqXU7!E7RX8ha)?mpz9)j*VkaWcOqDXZK+*V9#gI z=FZ_JxQDpMxYKxZFb{ey|CGR7jBp)E} zCLbp6B_AiZrnIHBr*x&Xpfsm6!KC&+ly;OZlunell(p1N)K%0K)NRy_)b-TW)RolD z)OFMi)UDJKS}Bc318C1_PiaqR&uEWn^RV^9qHBFix0JRnonMMComl#*1cw>o6H2F- z_AC9Tw0UV8Oci$tox&Z$?q$8p`jqv;TJ(Fn2Q#Fn2ON%^Sph$J-pq#GraC4BLqCb96^a-n4lE1%&7vAK#6JQ zc+4>`5{ws27EBcg1RP8_&lThg00CdX5KIuz1SA1but1O_m?}eHu>7xgRF6=P#w6*1>MocmJxop1;4r(I zt|4h?8Y<>k7ik`03h`6Tea#cibIlEnP3zF!)Yj59)j9QD4Xq9J4fPCN4BZSZ3{4Cz z4ebma3=Iu!4ebr%F!#CAbj)EHD)KAlR*b2@Rm`avSuvs_w_;eu z*osjVtt+tnZ=3>F0yQMdfc3y`U@fp3I1d~Eb^?omlfW9_EU*FC3~U6BNe@d8NOwxF zNe@a7Nl#;z_bKTK>3Qis=?&>#>2c{T>1`=2%gFfUyz-LrvT|;@uv}1Xk|*U0<(2Y~ zJR)BtudgsG24iCJP~}9-DxQF;#ltYYc#ralGO2=9i&SYg)O z^$Ybq^+WY-HL8A~eyzT*M$}6+Gqkg{v$Wf_JGI-e^P@#Krc?~A=u zGlD&s7M!+A94dze6OIiIjiZgLiK~&Tfvcsfo~yO1xvQ0{v8$&;Et9ol=khq|Yj*n1TddvEEU>AvZ%U~caN-5uRa-3{G+-6j1M%+I}` zzo>6!>}qUnY+&qc>|$(gY-H?UY-wy~>}ITQY;0_0Y-ns@>}l*_oNm&Y^d_xolj*Ig zpSiEO%)H66+_K)X%d*X~#zID<$dGKtfPbBRNVB;sG{W-yUM z977yLEG7;hvWdfqQ;7w{ItBF$>K5EDs7bCzu0=))9u<5qs74-1{!;L*pi3dEa8%LM zqB%vpB0#kHxmsEw%Y zsjaBps7wJ7_y;+iBZq`)MQTqv-|oGCH3wq{rw9dWIgSFQPA`r|Blf5{8qpkg<|+nz5Df zgt3otjIoEYjd6#umvMt}m2sSLpRtp1i*bU{j@6zuo3)U=f-Pf5*^AlB*eZ4jJI-Fs zma{4~`6u3WhPkIfxm~{$THLr*NHc=WwlXE%YTcB3v!pBm5`SH#{~xGTblRBHSQcKm0pXH(VwB zBh)IqH*z+zKe8*bJF-1;AhIp8FS06nC0ak$EY>8Jh{Z6e_+9L4Y-D_Jd|13kqI05m zqHiLTc$0XQc$|2Yc$avXc#(LXc$(OiJdoU)+>`vA{Em6VUy{R9SpK(9bI)+kajCo_ z9*0-T9wO{L1xO{FVJW2GBQD@u=+t}C^df~A$EaOuj@ zZ0Vv>Yw0lIZsAMeD`EdKpJ=b>qv)n+vj`QP5j_(95PcWb6rT{C7Htq+6s;HC6MYly z6nzo>Cpsp&Bx)z#Cb}hhDY_wgA$l)*BYGw}E;=e&EqWz7AbKMDCaEi}C;cUPE14)W z$SkrBUQh}5<6-gOVj#N*$ zHQWX61h;_u!X4o@a5uOK+!pQ(J2LhRlv$rym${m`mieA(hUv<^@ICR}@ICNd@O|;0 z2w{?kN#VN&Eg->}!c}aO&Ia)PIH9<8>HAXc~ zB~(vW=cu`wQjJLSLle?Qv|V(4bnSHmbiFWzy%XlJhx9RhL_gCo-5@m#GK@7$FibHF zF$_1%Fbpc>6QwQ^0^Gx$#ODjuvOMgpW%MeQsOEv3A>uBpJ z>sYI=B2y8sP**Ijh*s>YSW^+Ia8-o=&cAn~0*hdoz$wTIQi4T-i~tgZ1wKJUP$5_; zSSkn#OoHWtqyQ9n1R()MxK3EN> z`a$|g`cC>lT3#+L2g+me&GI$!fPA%loqUsgnS6u1iK3~ZnWC}6rkJjrt(>ErrCh3f zuH2?tquQ+6q1vw6s@kMlsd}gSsQ#s{rum`%ss5w>psuO;rv9z2p;@C@sVUY{w4}fD z?_Fob!U|P|u0mg7uUJt*v<8`J?MLm~?8oh=?VIcy>?iGcjtr*8uW^JNQHR&z zc7&aNXFpd*S9e!W*HG6$S7%pyS2x!jPmyPpXRT+AXQgMgXN9N4%k%EXtoGZ!`@Xh; zhJkj0)`9MU&Vi1BCV`fLPJu3g#({2uR)O|`7J+Ah*MVPwg5bH}f59ighry@8*TLsO zXG9QHM9ZVUsqpUUseBA_e)nx|4#Q_*F;|rv+M^NCm5$0hZ|?d#~Aw==NP9L zXBqn%=NpF@#~Vi(XBfvB|1p_NMw7wx$@IZAz`VzD)N;mh%5uzd!m`)$+(NMyS&OX| zpc(XoE5Hc25Ojk}KpnUgOoACu1?oX3xCqpOYOnzGfl<&7dcgz;gBEZxXayZ02x|V$ zzxS%etH+D5IwVELlv$S9lUa=O;y_#i7sQ!yQCu9C#8oMIkCzeT1OzW)!N5l0~MXP*JLAMNv6LO1VTiL%B@3K&e+; zzj$czd@7DQf;x-(i~0|3B5ew7I?YHs_4oeCeI*zN17H>`weN>kL+hYp&_-x2v z?S+2Eoe99$S&6s`zw2y?=u@T@SF z|NTR>!?dHc33L&C6@4{*CH*1;Wo%|_XCRCY%h53--LPqL4*&$2JEAF?m7QT8?VYxWzqlKqMOf_5Fov^*nE#rw_s!|PnqvE+N{)l#JNM(Op^n*95v|CPQe zeOmgh^it`E(ubv|OV5@zf2aab9i6UK${VMbUK_J`+( z1z}CNAWRGs!nt8-SQXZVnPFO(9WDvygbTwbA_pTUBS#{~B0D1MqZ^}Zqg`U1V{Kv` zV{K!}*rHfEmWjc!tFbGw_pzz*8S%OCIq`qu)8jo8{SyNc{Sw0y!xDoN0~13NLlW`C zlEk7!wdD82r^J`Ux5U@P=fsc1uf*@f&qVd){^alEuVmHK&*bb>GPN?5Nu^TDQ;Sl| zQcF|zzw<9LNjOe8Q5Y9Sg?oi>g@eilmklTzEFL4y7k3p86PJkRio1w=io1*3iz#BV zxQCb|7K;apdx-(@2=M~(IPn1Sba6-VB=KpnQ`{Cq(%Iq}VwspPrir5A zh#!QHlhULZDM^A!36i960)<~JC_YFP(ZsYH%=^sO%s0&U%ooge%$Lk-%;(HMoEqF; zoUfd!-0Iw)oJ#I(?k(PJ-VNR{!7jl*0V+5y*e%#D*daI}*eX~jpb1Y3>zCD*G>|lu zRF%|}w2(BC{Q3L+i#F8O(bm`2)K<~PwJ~i}`&j!>J4Z*-&D7y^1YN#vfo`5ISBKYS z^~>}$1I|!tAR77`#0HsxY2X=H28p5EU?W~JT{YD=6U?BQXvw$Cv*0Z`ma&$ZmPwZR zmOP8x(#+by`n;mL?Q2Ct8&YwsqQ31=#oLPa6`v{!Z1rsKDjL|%RQ#&=P;shajIEKa zhV4#8ZQGTK`xO-Xefv%OYx@=ZZTlnp1^YdFf#Z>!Wng9`9G*4`2qBj`~EHLI7x0$w>zL>t66y}STOO^{3x|L?#3LXa!f=9r^;1+NjxDPx5 z9t978r@?dJzu+-&6S)2F`2S$Mi{T==Xs!vasjhq%#f5Xtbd7M0bB%J5TuhJEv%$01 zv&FN|bI7yDbI`NZv%|C9bHKCH>QFqi31*7(;H!6$TqKBf#qDQ00qbH(oqaUJYVm0Hn;&tLr<1gY^{tqvKJ?uNd z9pHYDk5vUdfgV7&p_kAL=rMF3`UpLOu0VI7%g}4+2J{fR4&8*RIzBbDlHT zIo~8?-z1*YRgWNsb*`vk`Y z#|I|`R|b~_R|Gc%R|mI+J%7jlhi~K0;~(O$Go%OOeZwi;*qS z>(N`$!_@oH8_~Pb?y+vMp0TyD^|6()HL<0!)v?8~WwGnAo3U%L8?o;(TpS-K#COK0 zCMG1tB^oE|C+j8~CTk>{ChH|@CTk~aB@ZU=BW#{$-l&eL<7$uEsn)B5>ag0R)@n=|i)MgrpQeMhowkd% zg|@S{lQyees8#6>>KHn)u0*#6W=5-$xN$ED@{vHBs1A; zH`}o8*RD@?$dAZdDHzI=s#B_?s`sjnn)aHmnhu)QnogRHni6fPcDR0meyo0ge!Tvb z{)Jv?R2bDpiBV+)j9R12C^wcG=b7f3Dol3M4%08wZF89ef3T0KbAa!294s@D6wpduBJp@2KVY z3Dt4@f$BM`IatmjC&gLdWIBtTWGB^G=yW)DVDs0aCsK>VqPB1?VoSM2Xwg`-7M`W1 zb(Ym?Q`sikhT0T1o=s?*V=J>!Y!hrFZA=^6#_!k$?#dk?ukW24kyB4~n zF3=@%v0P$TnM>o+xhAJobdeXIqKQ$IpR6&Ip#sV_r1@&Z@nMA-@Pxq zSpHA9J3l*d?%D3S?kVm(H_4svp64dI@$PAEg1f*y-J|j-JxNb3Z*6Z~?^^F_?>g@q zugItNmHPxfz^C&a_7VJef36?r&+~8fPYF&AZVavq-V2`ypAR1n-wIy{e+$0~p9$X# zuL?g2p9)_IzX?AKUkx7(p9>!hUkWb^KMflqw<5PAXtZyve{4XkPpnsLOKeAMd+cuP zUhICXI9?d1#tY&H;``!z;``&X6SET26U!4T5?KCEA9-vBD>iM(&&Hj0T zxq-aEv_O7fLVy^+1!e_u137^O0eoOmU}~UQuywF3CW>Ng+yT zUWgOIhem|vgcgMU35^X+4i$ysk$AK+8i}5bo{pZ3o{D~n{)m2yevXo2@|ZH#B;GXM zJYFx}EZ!jgGyW<5EB-saC9x^7HGw9dr>&Vr+2+|U*{8TSxW~9_xYxK_xU0DHxQn>= zxO2GYIM(0yN6*?NTPAxZJ0^Q1+b6pvyCi!jyC*v(J0x2q4=3xV>ZKZ`8l*<2UZh^8 zkkq}@qtuhsgVej!mDKgrtJIy;&D7)6)fAe#l~TbL*ah2Q2P}onuo||*ZrB4GU?D7r z6|e;6!ysG^>tHJkz#7;DLvSfvnF(eNW`1S{W~XGQW*1~h*@7%NJ34POX&Y$^=^^Kocy+Clmu`Zs24ZYyp}ZgcK^?lay)-XrY(-lAt8@f8FsVQAjEyx+tsr1qrN zq+i4qq*|o9q=uwMq%Xu)q|T%|q$Z@##5M)33KV1`xq=)fyT}?cNH&mvVT63Q!XAZ! zLVh7y^rYx{(eBg%v3P@u^486x2BJ#ho-M)vqr4N z%2>5uv~%>c^>g*J^#ADJ=ygV;(PA_kcbop0H0Iluo0d{5-`dUo2drxU4Ys#ev3~|@ z*z4MB+8fw^fo&a498Ddq9nBrB9Be1gxy$**$#4tYRClSH?Z)zdew}-byO_6<2lLYW zmHY_*5Pv=YGXFF`#oxi-!(YSS%D=!r%U{Po!(Yxn!e7FlBb+ZBUN#(P0sIy>2R@1W z0+WC)zyP2zPz~q?{1Lwu*8+wDV}M~mcc3NE9~cZcfPTO$aaG`h_>B0AxKf&s8l*0% zO&XF;l7(bZ*^F{rIY-Wx3*-{HNM1t`RP}YrGmP{})_$iCg4e@3s3JKAW%5Px2S|iGH%b$nOnI4^9p42yP2*4sHq7 zuWVlVBiyC3ab=6j-{F>(O)C3TwykVf`5#6Ke+k#FY*g8*vRUQ#aNWwU;R%)XD*uFk zh8t9V4mYi=Re3LhMD9lh#RkWA#rDL0#eT;aaaNoir^gS)565wdoJ3(_eqvrCFEK1R zA~`fUAlWZDD%m$VC^;rMFnJ<*DtSEFB-Jd{G*v%cC;cT=Gu zc9r(E_N{i2E~0bm6uOuW)>Z2Kx}7>mXVdM{@6+$s?=fsNqz(HF`wa^Xrwm&Sn+=-` zyA6vC2MpT`I}Pg$mkcKiYYh?;VnR*#O*C_n88YK6W{cnAu(&KHi`DYf^4(I~+QQn& zI?sC2cEEPrcGQ-zWo(;mY1?VrPTN7-Wm~|u*LKl%$~GD50F8&bK|P@nP#cH{jfVO{ zA05@4pB&#DUmd?3&m8TXZ?XHsU0>EtH%iw^w@$Z6*G*^P1iTc6;Sd~$18@pn2v@>s zcr_e@7r{w*F}xDaz)Ro*@G3Y8FNasaiA*Y!%skFK$~?_H$qdO3%2Kk7EG5Cj2R=F8qp-rPC!dBy%ORC37VINM=ep z%G$}=%8cc$6$0f2)j-Wq&0tNwK2QHa?=nJ0htX}c8@U8`NoTq|91SJ0Jot#AoEUXRCf*>llz$s_b8ybqj*!l86%Wk??ih89Iu zMpi|ZM3zOCMiS9du%kldJjlAM~F zmim70dv04b#V5%Sx?H4OryQx- zs*z}=+5&yCzEDrm7wJFg-|K_MToYuvXAxRQ*hkuj+XvW(*+IT6k(PKdLfvyQWdljN-BBshyXTQ~}?imT?X=dIywU9VlI+oU_H+p0URJE1$ITc|suJEcbqpA2seKMXev zuMBq$&kPR@w+#0T&kY&FO~VJnH-o~YGHozDH}x{7ENKgDS!hXG;+EFnM6ezB#x?*P z2sQ_sg5ANcU<>dShS>eF)dH=M98y9IhzF^mQm7CrfaXJa*kexAp5E8;rs`s&*3I_Wy>I^e?cfBTI5lq@S;K)FF3?8v28WmRX@VD;tpXP;spYoA~rY9DW(WFO)f<{0D{ z?oc}A&T{8(r^oGcyWI}=Kc2SUxR2v!`}YP}mBdPFWkDsa@@VW>tV*1eEKGJvbxw6j z5z^!|EWKf@^e27Us6fZxFn;8*aczvIu_ zjjn61v##x~U9Q`%`JNn4nFsOQ^E~l9^1SlA_B`-B^xW~h@Sq-%H|t&E?eA;i>*(v| zYwYXm>+I|5>*U+*>*#Oq@9gjE@8$33@8Iv`@9F0U#DUU)D4+@q2@VYQ4h{`ML1)k% ztOyL!~)r!@Q)r~P?-k3Y)k9Cdrk9UY~ ziPuXsPc%!kN!(3bNZe1{PFze}O5jNFzN~Md5BBX3?h76c3M)%1`IV2OGh@?ZvtlP=k7Kmt z)ns9coi0i9(yTNs%}7_v{Dy01s%L6tYG$frs%GkD{=mQB8kvQePT84Rc~+5CX0MP2 zad%?t=SA<{B;O``r~XOJNU2glsuo-qt`4ut?9ZIbtRxe%&G2pTE$~h7E%9djYW!V% zkPs$(BovZ_Bn^pA;*iuN0jZS4B}qvDsf@%TDM^RO`^hKB$H?Nsj+7A;HRTS(09|)v_C^ zo2s!IzFw&RtWO%_#*{H(L@cOfrhS%uwq4`YI`vMS^N%y`PPmu(mim_X#Fe5-pi){{ zUO6Wwi_;UOX>nSVuAga`X_9H2X_jf4S(N!NQ#U&+tIq1O+N>tqsemT|^b;JLy~}+^ zg7QjrrLs~{$w&@L$Obir&vp-?5PS#}uM1S|rM084>GzzSdsa1hu9YzLMD3xTb`e(6c+ z1?eT}ztXGHUD9*Xo6z?K z?#52Wj>fviCPs~Ev+14bz3Gjqk9mt_m1U*nhoz2{Y%R3T#rDs;eqbinBsfW4vLx9f z)iTpMGdo+G)k)Y}Hs8L|XRS0>S}OU;(q!ArJbTt%QK?Dq$S9P;q&D3#!wBc>iGk z82@npO8;`dA|MZ_1G0cVpbd-&hJszfqrzW9!^4Ba-NHXZ{lhiF?ZQpMy~16?EyIJt zZNqyaE21l-tD{$=jbcq>tzr#h&0~#Ylvr_$7mLS+{N0QHSOuwyR70vGHISM}Eu=P5 z2dRtHL+T?9kcLPjq%qP2X^J#MnjANGGH-(go>?bVIr$ zJ&>MAFQhlp2kDFSL;52Fkb%e`WH2%W8Hx-;h9e`8k;o`yG%^Mmi;P3YBNLE`$RuPk zG6k86Ohcw4Gmw9fnaC_;HZlj9i_AmjBMXomBp1OUc!YrDA^8XqAt40_87V}H5DHR^ zP!TNuk7MHF3NFB#;D={G_Yo%jApXbL1hEev}>*EoF3Z zY4Kj_Zt6bjPO6YLpT3WNl6jbUg877bnmLR$f_08_igSa5aNcpAa9(lVa~^PBbFAD7 z?oHk`o>@>Sun86m(t_K9B?6-$CI|=?3W|m6g}1OSp{}232pwS{OoWB75e~vdct{CS zitrHuB1Fm%5h6waM1n{W8B&hO5e1?|REQeUAX-F+V3RvyL`;You^?8Y05I5pMyoe9+BLO6cgpe>&iA0bn5<}uh0!bn%B#ppG2FW4|kwwU2WC^kqS%xe} zRv;^pRmf^&4YC$lhpb07ARCcQ$Yx{;1z%Z&w;DJ8{i%ARC-_fM*2khSo&J}O8QBPNJq+M$|U8o@>TMU^5ycC z@|ntM%K6F{$}OtZs*S3(suikrs<)~y>hJ1L>bL5uniZPWngZTM5`i$XDbW@*Vks{6u~szmY#k6|^c^4XuvW zKx?A4(AsDnv@Ti?t&cW98={TS#%L3?DcTHej`Vaq|w0n0wi zNy~oAGfQ2o)Vdn9fkrS52Ej^j1DFCKa3$yhmxCqtgV0523v>xO4y}RqK)a!Tq0`WK z=P2h4=NRWi=UQhYcWZZBcYAj|cNcd@cMW$F_f*ehPr2v2=a=WF=d0(3XQg+JZ=P?q zZ?12Kf0BQi{~!NkzbRk{*aDV-HDC^m4K4|0g6ZIbur=H#tO(BybHnq(ZNkQIS(p-* zgp0!Y;Zu>*ku#BhBgZ3H{-4{S?a>ZsN3;{#8SR30MZ2Nh(H>||v=`bN?SuA3`=R~O z0q8(<5IPtgf(}K8p~KM;=ty)FIvO2=jz!0zg~z08t8Bj8ah=N=F$e6J?=nl!J0n z9$JEyqI^_<3ehrDgo;rBm7r2ohL)ppRDmi{)!+O-Z;I}WUW;~!b&4&FU5?F+Z;y{m zR89U#tWT{;txl~=jfW@0?#%hjz094=-OTOGr0l%xgS-f7J?SR-26+sHN`J^4&icgp z!1>Lo#r@9t!TG}3!M(%lRkB5}R&YeHN3c_HSg>BOK|mL(g&Tx*CG{o0fm)L9KvPL$ z$q(sI>2K**sj6I2zCwOL-cmtQl9dGIKGgx$9@Sn|Bh7jZQ_Ipav`4kawEgwH_5Jjn z^xgGc^-uNrMlAm?YE*-2Q5~vB4X6<{p=Q*ATG0yBhJvUag-{3TL|v#G#kTQLAL>T~ zXb=sdVYCv(HqX%*8b`5>XEcSTQ5emjS#%+~2>l;>?;V{~`u+Pq8bYktdrM+a$9iJy zy>|mCgc5ou^pXG}1Ofy|fdJ{%K01!QjlK8o*xM-QU>hCB-VOKoz4vq1cipdl#Xo+_ zwSJqGkaajK9G<=RQx4C5y_W}91Xl)E1%C~$4z3CQ7F-+rJ-9BoKDZ&cF}NwXIk+Xb zHMlLfJ-8$IM{s9wS8#W5PjGK=UvPi$K=5GjQ1Ec@NbqRzSnzo8MDS$rRPc20Oz>>* zT=0DGLhxenQt;2<<=~az)o<e9DjHujv}i~Xu{hF0_42$zFW<}ZlDr4K z^Gg<&xO{e>+xNSFo&Tc0thBJSqI7xb*3u27>qEIl&alTQ>v#{Pp%$by{Z~lbEqbw7F$cGO{`s9 zdm7!#67%6&@Otn@@MiE<@OJP{@NV$0;Jx7eU@!;=kzgqJAowu&DEK(|B=~pmY4BO_ zpWyT0zrh#5m%&%T*TFZzx50P8_rVXrkHJsD&%rOjuffJ(I0)coaC0~U#=wy<7LI~j zz%AicaBH{?+!n^c?cnxs2e>2L3GNJcfxE)p;O=k_xF_5T?hW^W`@;R;XgCIrh5N&C zFdiNN4}=H7zrcgxA@ERm7(5&v0Yh*+JQ7ZT(f0pvs`hK`$=ZXpN%f3+HaeViSu%7< zLei?VHEDlQ?onXM+jQTOXUtce_ndc}w;Uj7hYoRfg%2|BX57lSoY70wPc=x@Q`JY+ zMb%w})wI=6G|M#xZMJrw?z9fkxiX!Z=&hEl6Z#&;%|>aqBzsEE)SPiSlXJ%AOv{nx z%5#mmlH813ZEn70hh>*#r{zZ8ll;5+f9GG#59L3|f1m%^73ps4{^)9Su?tuQX$8!J z=|%J+O40lx8hS4~=Hn=MG&}|#3y*`x!xP|%@FaLLJO!Q#PlKn!GvJxK-t3+v!aI1ARp2G|H^!zMTfHp98F1-8O@uno4u4mcln z!YFQmRIJ@_UgQ;C5a{L zOA38OzRms({$S~)(tD*xN>7&FDZN{ItrRXjS9+r~RC>Miap|4%Z52qx;L3rOoXR_u zpDUSFl&bWqy;ZZT=T~>F=~2_R_Hpf_+H1A9YYXZ*^_u#OdRcv-p|YX0VOzt8OP`r;PJfqvit&N-iPK%sS774S-U75po_8eRkc2Cs#G zhu6XD;SKOccoV!C-U4rhx53-t9q=FUPIwo*8{Px&h4;bx;REnN_z-*;J^~+wkHN>` z6Yxp+6nq*!1D}P@!RO%%@J09%{3m=Fz5-u`uff;h8}Lo|7JM7N1K)-Jg73li;UEmd z2pobRzz^X^@MHK1{5Sj*eg^*oKZpPQ*8ZP{7*Axs%U+Z-GiPzmzd0{*Hk6oib8>CD zi!8u;D^F`7wj(hP@pQ36$y)!MXVxeQ9DmtPk}ej zoA0%GxB1WbyO%|jeJu@^LzPFXlB<)d*HjOwfojIqjIQZa*S5~su)X1N!-yrUCA=k^ zC1aDuB^^pTn07d=GgU@E$N0i&8|J`S(o+1 zoRZw)+`ZpwaX-I+U&628*YF$oE&L9C4}X9^!k^&J@E7;>4!ukF-R=Z zABjWo$N*#@G6?wv8H@};h9bj|;m8OCLgJB;NCGkn8I6oV#v?_a} z>5I%oojiqJkGIInD%n`F+dsT4p=@;7gtBpEBg=-M0XMF4eC5c>aHXh9P(`kuT{E+0 zTFsQ23pJ^=Nwvf3@O2yOx78o6-&tSZ@NYwpCG;i2C88yhk|rjdOgo)+D$SC9h4CjN zkrn2|30g@x(j*l{Wz~jsg_(*hS=Lq~JBO8%Yc*T%Q6XwXgJ=;Ql8Iy?dc=Sjk!-|-JGQihZx6-Xsgg;XOoNG(!_)FTbZ5@ac|3|Wq> zKvp8FkYAD2$QtA~WG(XhxAy-srSeGSp-O2Lx>2}ham}AKJ!|LJ#n(-#n^>mmx(KtRrG3FO?nNv=5o!InoBjQb>zCVx(D@38s0QqN_#>XDqyPAS(>ctdZNW` z8RH)B=DJIZ0!0-?dRs5gL4QWsjLLbHvnr2Qs;XEuv9*+1R^7+?PxUzs=7y*xdUX9B z^K~7v9@&6wL^dItkuAtpWE-*_*@66l>_m1UyOBM}USuD#A31;=L=GW`kt4`aK}0rC)eggi!`Ab%rIk!Q$1$aCah1M(61gnUN6AYYM2 zB#eMivrzL;Liac9rr}vK&RuMEAjhW!^)6O_{1pUB#@v zR@1-sYy)3)OJ7r@FFRGqtr67J<<=Fg^&az^%W}(d%Jg-Hy7vvK#g?+34TCfpHSx8* z8u~V9a`r*{p##uC=n!-mIszSqjzPzv6VOTM6m%Lo1D%D=LFb_h&_(DH^e1!~x&mE= zu0hwK8_-SY7IYiB1KoxGg6={0p&$f92o!=IKo6lu&|~Nc^f&YrdItRiJ%|2<(DrX^ z6>1%76KWg6h1!MMhdP8hhB}2hhq{EihPs8ihkAs1hI)m1hx&y2hWdq~LouP)Q2$U| z2p<{{8W7f~+nW0&s*`Yb1xuJQX`Jn}&g`q{E#i7IyAw&!%g_1)lq0|s5lold~C?RTy z7D^A%LyQnJ#0s%PoDes}3-LpOkT4|r*8YtzpqJ1q=r!~PdJDaS+G9FkI$}CuI%B$E znqj(Px?#FwdSH5DdSQBF`e6EE`eC9mF_>6Pe@q+(j~Rd&h#7?W1v3~k1Tz#f3^N=v z0s~>?%vj7g%y`TM%tXv2%w)_I%v8)Y%yi5Q%uLKI%xugY%v{Vo z%zVrO%tFi}%wkL;hJbk#vomH_Omje+ZU{F|{u*|p-}!~ZU&E`GPYq8EHv_@t?a<#> zS45!gzklWQl&|60C>1qyxJPuK=>L6Yn@@+2W*z$WHvrQ?3RnyXU>Fz+ATSR6zZLQpteL+7E4Prnn=nvum9t;2j!65Jp7z~Dhq39J12P4pHhzBD<0vH8GgE8ne zjRWJs1TYay0+YcM^!=xyS3CpE1hc?wFbB*9^T2$t04xNH&`*(wehwl)A;IWpN(JcF z5rB#l0xF<^bbyK_114YrHsAm*-~m1m03i?oF^~ZCD`Ox7s4N>$0u@jLRCX4iKsb;E z^uPd&02Lw!Ilv5Zfdw?j$Kjs<7;y0S0T=%WprR?@G58le2WfZ`o`+Aulkp7v8$idW z<3EFspgq1bz6R8SI#3T9z!Gri!zlbvd~f_p0PvIWOgsxu!>8gU_%>J}{&%nk`0;3| zKc0;z;$?UdUX17C1$ZjH7nXug#;4%>VWs#OY%I1vHV%u&4!{n?4#NI|9gH1<9f}=> z9gZD=g|PA1k=O+6DC}tL80=W=IP7@r1gsnHz!&3vcq@Jyb~<(jb|!Wfb~bhnb}n`v zc0P6ib|H2Vb}=>)OTeONC2TVG@P{KGj(#}y;rNFWA2RUW@on(i!3wYxzZCVqsu5Lz z0RMpJ&;R}R#fz6OU%fhX`0$YeOk}&Y*S{wR5PQNA1Feix)3l z`t#4rs9izrDr(nIyN=oo)NZ173pI3o^lfJLtv^LVsG%Cx4^Z{ohp6V|qsNb*JV8}$ z{%#fy_eFg_1NHkzG)BgvSN1>cKhZlMMiF&gVplGk}L~lLFM26o^;W4;?2)oxG#(A&MB`2S>s5BSljN4JlFa!`ThNEN6C-@N}V z8ye6&hz3j1*a@Lg90Uk>fJWs@unCR(NoXDnK{I0j8fo7m%KWW;(WrU`?t#^4t_()A zWFi{B!_W*l432_>;1D45*lMe(OhEvS9W{=r@(1&2Al-vz1oCVv_>{$Ws zqnS1t&AS`liT-a<_X2zcjbJmHC;u}S)`H#OA=n9ygOzCZtoa|gu?!pl7r|Zd7uW!n zqnW)5`~iMLvuy|13-*EiU>%w}8`0d^2CjoA-^t$f;0<^OUV+!(Et*OHGnaRP&)^IA z6?_6=@CdyBAGy5+Tmjd>pWrgM`rY1RE4U5rfSceJntcEmnmukdC3}MR$ftARlR)0%2mIvUh`Yhp45Hdzv9z?dQ6VCIS+l- zp?wVp?QQu+(O(U++tj83;{>P zCE=2BDY#S|373XL#c^>|+y*pT{$qA959a{$ars~Y&IuOcTwoE-jUFpNj}@ZFiqK=l z=&=&87#9HXxKc0|R|ZDm%E4${1sH>?1Y>bk==s&?`8DYIwdnbE==lI0>-(Z(*)TK` zRcL<+{nsP@KX3bgp8pe#F^SFpYpf6dp#AJ)y%jWu|Mw#w9W7k{t+)R+YM?lY|NHuX z&inuR`SFJ*AO8OE^ux0c|9tq7YkB_R-w!W7Gy_l`fZBwcLCvAK=-B99;hy1s;b!3| z05uMX#zzwylNtv`CpV@xk{Z(*$&K-iouWrJc8*SHoEje0NN8*kZW$ikIHoZ@%m|Nd z#DZ~+ouMw!_{Is1?V%3P#KuXDt)SM>aA zRP3|?GX|8$R>%5dN@D^szL<)b%9!eysu+B1|JZinNoYSNZp4HiggZj_!@+Q5I652= z(=tZVn9(S0yqZv#P@m9{a6VyKf;XWg;b=k~L`_OhVkR+?I7vKoUJuzGk)G(z=j7pS zcsn|W%f~zME_@Vl<4f>fya%1r72yl<1?Wuj+pIDUomZCO0lqoD9G$U!n|XG}%kc`l z3a>=xlUTsSXW%(_7?0o|;6r#dUW3=-*MOtVze0^rJ=6ew4P&542n$6)U!aNM$>GTZ zr$doo1~e0z1y0z`z8AQWs4r9vbq4I)Dnhzil5bchZy zAST3u*boP5AMOzD815AA9PSeC8txYE9_|rl$Dn0BF}xUlj37oBgF>8QBr!2iEYu&0 zgYeJ*XdpBQ`USn7S?KB|CL9~?AC3#-!vn$t!-K-Vga?O*golQQg@=bngrRVJcw{&s zJSsdoJSIFgJT5#wJRv+iJR>|aJS#jqJSRLiJTE*yydbc|=7-Wdyp_GNL8|^?4JAj#v}%Tg2vwEfHHIwnc1@*b(tZ#LkFa5xXPyMC^^&7qLI$K*Yg_LlH+J zjz%1dI395#0t-$?oQjBy$Hqs+w}@{U-zvU!e4F^T@woVQ@$KU~#CMGE6yG_%OMKV( zZt>mYd&KvQ?-k!WJ`(ha?;GDQJ~}=oJ~qC8d|W&}en9-d_(Ac%#NTXwulecbCz_vW z&V_go9}+-9NCb%?36ue$a)FQ>Qb0EjG> z#<=V_Q(R7*IZhR$j?u(uV{|c@Fw_3ZG<*Ko1rbxR%jcv9ohl?0qul#LA#+n&|Y*6JJK;Gacbh%a6bC8 zG_f_XB~>K-o`eA(lbeHaDb0ZdjgcKGk)S!X6|kmb!EFWxWHT+yH_Qk?WN}!n!6*R+ z+(&m7t#Jf0vrs}U?ATt?0_>OWv7jj&|48toB>$hAf)7=F zk0Kuhn!=ICf~JtEWj(HSl3dtM`n!+-V1V2hM|G7!vP|f#9+EJh> zENv`k3Qao_{3uWR=VnnuwcleoM}el$oUwq|1fFvw_)((s&rL&y>b^%4jsi{L38N!% z6Nti*;76IlKR1sTs{bC(HVQO_Xp03+VcJH5AEny<+(cNY;d?~YD9{w9Di$<_su~G? zl&ku4GfAN(-(z}4fu>MBv7jkj&q(m2WY3?QiU}?K9#t|5G=(dP1x+DKMuHz@Oa9zk zMrhghxQ0=nDP%(|XbRgf68tFL@aHB2Ld(BL){6p7Ve4T*Q|Nk;;79p-KR25WTJb%$ z8#)(i0^JS$KCuaWH*_TaLBiY5O-F-Pevd8|1)9Pa!-A#|#v;LwGRA&xJ{Pp=dwi=X z&=kTI7Bq!%6$yTna`kf)qM%>DM_7siO<^oyK~pG8k>E!;OFuWG2wMF;#!nPz3grh2 zn!@>s1V2jp`MD`M(3y6+JVqCis^2UyS)%0VRfQO?27%?NuFIyLD#a{CAyMuiNh016AvezN<5iZmGmW9ma;1)njAqL zN^MUMGlGJx(zDXevZniIC>jI0;Wpepk z4p+$Ka;aQ4m&O%v#|r)xJQqw6jTem*O%zQKO%+WNC5XDq=E#y|bQwXmK$a?7C|e{` ztC*T?n(Z2|c5tR8D>FOEVzA}dtTwaFVq5IYEvWWY`l@`jzA|5IMO;O6MgNL4!bAd> zFrScu)`3Es`GhG15h0ntB1|Vx2*U^ogsFrmz#)_*?MmvM+&4KUd42MRfF@lX^+w#q)jK!CNCn-Cod!? zld;rk)L*Gp)TPu)s+YQ)>Z6uWS5uc!z3GAULG(y4nC_vM(B1SRdI3E^FQhx^rSx(X zdDn`GV-_(Bn8i#t)5DBp^ei)f;SqKncVvYs-7OeB-a9I_%=iA*h1$|SNHnOx?QmCNd6LYY=3keOs&nNF3h z;%N?O_Gyl2j%yBSc59Al%C(i+Qf-+wpq-F8KC>*dJTotAvT>BP+*)n*Sp(KOtIt+q z%eQ%Lep{&x^}v=wo89KH8H!Jp94J}hTjpEkYw$&Z)xM=ZsA5pXh>Bqq35ivN96~<9 zOt2DMge-!NP(W}H^n^u(N~!lIJAHC+|&emC`z8Qc57DEX9>-NzF_3r$z!>sykJhnw^@PDoB;3>QaTNo>XNj zCzYLAmC8#MrSenXr+rLQk~L&GSxQ!uRpczPm7Ga7k+ozUnM)Rv&Ez)J+0^aS-P8-z z^VBWWv(!V>9n`(lBh+iu&D4F=gVdAMZPXJ~Zn_}7G`&217JV*#1AQfZDSbPABYh2h z9eoLX1${kzIejgCHNBp`ioS!siT*3S8?!UB2XhcBmerpX$4X_{Sh*}S>o3*=)-d(} zb`SPQc5C)1b}M!_b^^O6yDxhvJC@y+-JU(1-HF|S-G<$g-J9K+JDIzlyN!E^yPvz3 zyMue0yMeovyOFzx`x|!?7xlo_o!rTSHG(~YmclOrjIg7yh48Z=3PcE73)>1Kgj#G-ot7G^aFo zG=FNYXl`lFYA$J3YL{u(Yk$=)*Dlqr)7ES6>K^N+W=_kTl3AQtmANtNb=J$Q7g=w! zKIp&bKk7g0Kk47=XBej%j~NZwrtHtznK@r`Mq5j)8>}m=JFVNT>#fnYrM82%-)%Lv zDqF2>yKS{?gKe*^!M5AB&9=t2%=Vk@ux+L7h;4^$xlQF%I^|A%ad9Q)P_ZM#g^LO4Y@LpVgZLbyY?N!UZ! ziuOXc2`32G2)hXf3A+f-2(yysCm&2coIE)tC#5o_BBeT|DrI--vefmdt5Pqd9!YI$ z|08t++6!Gv-I01M^?2&iR8{KU)a9xBQ#Gl7rEW^yPHrGCA+IDClPk&fKp1m)HUgg=ojfX=x6EI>1XJ->3`90(NED&&`;B^(J#}l&@a$W(vQ>6)9=wg&_6O_ zn6b?M%xGpDa}#qVb2+n?xq`Wh8O0jTN@F=$W7*@`sca3K$)3$lVb5jHXQ#6lv8S$rDfc6{9j^`V1NR+@ap=VB%=^Uc!u!m9 z!JRIcDOf8wAQ&Tz5snm&7WNhn5XK4F4U&(N50m$kPm)iS zca*o1-;yQBG4dYr3G$xu4sswzE4$<~s=~qta+K3e9OvNb^|pRC7=Bx8|V+(d28-Y7c8q zYL97mX?JM1Yqx2iY7b~nX!mQ6Xpd`mYR_n&>7MI`XU@%>m$^D~ZKg5nXjTh-gdU@h z)VI>V&-$G8DeIB`u^wyaVCZOwG_*IgGvEv@4H1S;h6Tn&#)Zb&##zRz#&gCC#%sp& zMr(F%_9YaK(ae;cW5_Y)SaPg6c{vg07UpJVip6j7SoT|@tT<~sYiH|N>kaD(>wW7b z>q+Zj>qYA^E9!wAi1nuRj`g(ls`Zrhg7v!fq4k^-M4+RVZm$LKQ_Hn=ge_xozvZkZjn2~ zEpcBiz!XLmYCK3uu;h8k{gRiyeZB*}tG;8t{k{{vNN~n?(s#vw*`HcLs7R_vsaQ~v zSkadlNsJCrAeog zjwT&TI+=7niIYrAPEKYfvyw^4+~jj;v3Ent01}+qjnt9!DD`z}D77akoQff}AU#d( zK#C;2Ol?K_occcXL+X9BC_IAHn$(QkoP3r%l5&;&CwVvdIC&p=FL@_<2l)W`1oHUp!JA2@=E;#S6s* zaaVD?xVLz;c!+qIc!W4nJWD)E+(+C|+*v$8JV-oTyjVOzj2B0Xhe}6Che_k5qoi`F z&FYpul!l~_rHB-kK9b^5aU7nUFVB*0)IYrKu%jHVBU+$6rE4Rp`ZNs=KN)s__MzxO z)fLq_)iKp^)d|%t)p=D=HA7?2=rvg=GUk)!jiyoaPV-vxS<_5=S$k9aKzmKQSNlkd zXrE~BX#dpS)?U%x)!x!x*WS=R*8ZithpMeXJKyNuq6L@fnXJrBnTIm>WFE~tm>C5Q zWbVk^omrT5Dyxsam%hEelfI+AzrKUMi@t}xr#@CcP~YD$)DUYJZ5Uw~WEgH3Vu&%I z-vbyD41*2vhE!v^kzk}7Q;f;RB;!-#Gvj^ZbK^h8zm0c{e;Mx@o!JH1`PoI;#o2|~ zk-(LGBfGr`W9npzG_^CeFtsw_Of5|vO^zIYPGL@QjyuPblb_Sq+{fI(j5BvPcQto1 z_cM1iw==gf(=8ke)55keEa{dCOTco(a@cav($zY}I^O!p`pWvz`qtVk?=uQcX=WQ? z!`l+?zJ<=W^#7XNA+_^gA1zE@!3F=`3>AIP;yWoYl@{&ehIx zXO+|ItatjHWzL!IS#G&I)1BqkxUFur+u~Nb?e1K+&YgqmT|m1!7S1gu7n_P#7OyDI z@)$hZJ%4zjzz)wP?`3ae$=j0VzHrIs5{&Ol$-9zkzWctLzFR)TchC30cf)tvcinf# z7xEGPiGG3~-52DC{kQz|3RcD53Z&{@&4^k{qKcS7y+nnxN&nn;>PT1aX|jv{|1cc#GP zcjPWS~_hW%}bj?TTB~I zTSQaQB(%A-Bw8A628~YBq$|=7r5{YE()%)6Gx{)kGNKu67=svX8K?(#4`ARK?HCZF zBcnf~A7eOU3Ud@Q3T$R>WA0*ZVQyuPVU1(evMN|hScPmK+sWR~-o)O`zRbSDzQ7K# zZ?f;QPqH_&Z?pekW5H?m0rnC0Irc&JNS=UK$g}axynVa|-g;g=uafsW&&yNtTs$97 z!Q05o%_l_GsQab7IBGKFAj)v#8RgH;k8uh@QT#ZSS zqp@iEXuD~nv>mkFwXL)$-AfzRwA1$0y0!1LAGB|^7+o{nS8bFI=ssz`Xv5kzy4Jck z+7>!~CNJ}R=AW4tGS6gU!P(49nHMulvI?>;XN}j7&=1qc>qqKG=@aym^?3b6{b>C> zL$YDMVXVUb~gVYY#2hy;A2$S5&p7GmkM(FwZs* zHUDCsZk}tNVxDSVV4i3mWae4QEp?W9OReR!<&5Q=<)Y=1<%H#e<&>qLwXe08b*^=$ zb)L0*9zL%}Ua!1idHwQ+=Jm~s$?K9gFt1NuY+eW3I9q~kf^C#-q)lh@*;m-t*gf`a zyVkzauCtfe^X%pJYI~-=%>J9*Y`5Es?e+Fr`&xUEJ=ea;dBFLH^RV-f^O$qDbCdI=bC)v;Y<2E*o^@_>?s4vQ9&zq-?sq1;3*6=I zHSXo^weA|X-@VMe#9ifH?XGs$x+~o)-Rs;~Q0y*sd)>BzYXvt8uA&9`0}F>1_AMM= zJh7Nw%qTV&uPQcsOdg|WujjC5m*;@zkmrUMtsC~<_1^Jb_ulsgy>Y(Qz7D?LzBaxX z-@m@UeJ^}(e6M`3eOG)>eb0PPd})4)pXN{Tll;&8Z~QO)ul*nVA^%7J-~Olm_x{KJ z=l<++XSusPr$SyKtx#7eD-Kj-RAQ~j63dBY#0Fv!aRt#%EGBx1^+YkTju;@? zh%O>4=}J<^lnyB?Q&yw@ehq0AX+23#nw_?sR7!G_N=VyDd88Gj0BI%3Oe!Y*O0tm3 zNy|uHQXBFwl(Cc^l)jXKl>U@Kl(*!06g;Ijr57cEGL@jD?J;jM0oF2D&GLL1H8@CNPp2lNs?0 zDq{v?JYzm%9Agq=Bx4L?8e=wN7IQk2!upl9iuF6|6nhu@EE}y>VxMOpWq0PhVz=US zobH@Hoc5eB8^dYMS->shZRTy_o##E^J?8z(JHo5yzvi9h z-RHgIUFE&vz2$NE_jvnxcX@YsM|n4RmwAVICwOOhXLu)hFL>8^H+drkB0+|LFQ5y= z0)e1dP%mf@Y!F-&{3*y0%7iANRj3vkg&9JPu$ich=h+?W@x`Lt5Dtapt6blv86iJGSiU`GU1ydnbU;$mh zQN$|-DcB0NLaG?Ah*dy}6oo)BP+?H;6?z3pVN@h5go@FMF$$U@THRMYLLCV{tA?xN z)&13Yb*y@%x}SQGdV;!_dZC7#2*;4b#Qz;&lCWeRRL*qIDy6pLHWLm6@{4N13-WgP9LA?`Gc1 z3}s%=EYAvL-O8GypR1pxU#y?4U!YIaFVrv6|D}JXXB+qifq`z28`OpjgTkOPNDN{F z)4(<8j9R0{s4_OsZj~L8-6k88U7h_fJCwb^G}koCG|#lilxUh}qL^lzmgh9&tjSrH zLoqAOJadXU%`7r!my{*R zMMkg^t&P?z)|q(=@{;oid2{n7=Pk~gkoPd}dEWcH4|yN+Ft$my$+oGsOxr~J1^Y*P ze+L#Ev_H0YbUd<$>|gBf?Cl-L?I-O|?TGz=y_w^#{ek_4J!}u!&)Cn~ui4+)PuW{K z+Bwi($lk$$bsV<8wqLb>vY)VDvj1)Ge74?>L`1pE$2OA3HBO=eg6|B=>Ijb@wj!PWM6ge)kUdUiTmFeeNyp zW(B9*pa9&|j;ex_Ng@i&@abB^t zcz5ys;!VZ7inkX#JXTME=Z5F9=bYz+=bGn^=Yr>|=cebR=ep;Z=U?x8?p~P?@RA9?;GzE?=ase-v}SpKh%%$hkajsE&LySpMA~zz>j+1V3a@7 zAK~Zt`F@t4>u39$1zH8706q{A=ouIgXcuS`0D+Eyu>Y$c8^8nx2AT(Y2jT)f0^I_U zfvy2lxu?9i+*j_Z$gRKvcSS*ky~0{?xZ-5Rk&2fUFDhh}s!By=RMl@)Ppcl*eQdBN zIudsz?js%`9w%-f9wnYeXQSJQCy9rNn}~;qyNR2LXNaeWJBT}p*ORi74auhDoa7^< z+oZFki=;E8)10i4+EfN)b@fDU&HYikk9;a)Nf0c80c_wv)D*ww<<#c7S%0wug3{_6O}C z?KEv0Z3pcfZ5Pc)yOw?<{bqVUdIDX|;4v031Pl#B#$YnU3=xCNc)=hr6PXK`i%WJxHJ z=@Ok}kz}G|p=7LtE+I&gBqJrsk`WS{lF7+)><6 zR4W1sufn5PsaU2spxCOos5q^tRBTYJP|Q`Qs*}|`HCsJh%}{gI8nr>4q2{P(s4421 z>V;~Rnx!VHQ`EE6i`6tWLF3UBYy29Y#;cj6ouQqmouHkjU7($>ouyl#Tc}IcCF#hz zX*zBf2KmXWAwIX12?U$a2U^G-4tcD7M3B7@3Gn$P?V~6bS=$g1kcE{{)*!{{h+cpL&pl4F{~=@2;}$6|-sL32 z_0HMW73sR>KI1;;KJWg^ecOG@eb#-^onKH}aIfG&0TzS`f(7>r;DS2^4-2viorRV{ zPT|x-eW9(;QJ7h1FU%{{6=oMsDqdK;pjc4MFBTR%iz9)fIKTL8vDhQ=_&voQucyT0 z@sxVXJU&mr^TKoA^UU+o^W1aM^TdOAV9z7ZE6-EU8xOW5>}^&8N+L_5N?MdOFKJzp z?3?PF<(u!D>}&6D>u=}p;P2}1>~HPI`4xVpe_kLt00kxlgn@*BAixaR1H%Ig0&@cL zfGj`=umhriGB75<38(_`fz$vmKn!RCiGh^BqCi?;WMD~oU3o)!ZF!)gw8CFeS#iGN zQ^nVc4;61Kw3YfwL#3v&T~*sET-Ca&cU2#&Hdb$`-c-H4dVS6BHR-i~*ZouXsLtB( zwc#Q03h_GeG4VC=Ht}!bU1Ercdf@0~;xpn4;=e?Mc%OJ9$(o#({3JOFJVkM9>rw`$ zbxCWJ)-ml1sa;y{v}S3Y(we7zBK1kbq=iWzNd=S~ijPu7aZ>Uq7K)C71x1u>ii_f> zcqv&F8^ujAQOYPKltzk_dWZI$_JDSk_BZVo?H}4x+G`q2yHC4KdqzV?V%lBWP1JA^xgznGuSXYh6WEWU=X<(v7Ld?Ei=ej?w-XY%R%h5Qsgn@{9h_*3~ZzLZbp z3;24zRMW;h+;*XB|9XiBugddB^8oQl68{362GKc;+3qHcqG3`_DeQO z4oHql_DNPsu1I!CPD^Se7bIIHr4rNw$JR=gNg5K&1g+GNE|xBo zHb|F9mr9RFk4hV*=M`@iFBK6=yz+x$tn#yBxU!`(QQ1S;Q#nxCT{%(NQHcfrC|W7U zD7DIuisy=9%4teSIY~KM`BV|5#3^SgBb8qj?-b*ey_H`S6O{dwZIykMEtHWUM(I-f z)CFp*I$v#5m#9r@r#eqvsh*`t(Nt>6HKm%F+Qr%=?IJB#r`4%-nL3S5q*I{q>gJgd zndVGiX4kA1S#7eqWOc}DmDM?GXI7p*N1v~^=@ojbUa8O3+x1%vYYp2B>kVrRxrW~j z4Te>QrG|Be<%X4pDr2Fs$XH=4H~XF<|r=hh#6vhO$Rw56T{py(atj>~-1C zv)!gTQ=!Rk@|h}39#gTY*5ozio2pEXbLDyRit~!{y4WfmD;>)mOB}l$=N*R~>l_;#zdLq0wmA+t&NDc!oC&V} zu0gIyAazZ14R`f*#khL7dbwu0hPtM^rnu&~qFp0hgI&X1lUyBL6I}7G(XJV;0j`0r zajrO5PZ#9s;Cky7j_qUceKw|z;6 z5?o2!lK%eQ{%C)!zn{O4zo$RWALH-k&-QElM!(j-DzGw;6{rnl2bKoP0&4@Fz^{Rt z!0!QLpfX?ytOz_0cmuXTd0=_K9B>Dg1quVsKyjctusV<%a0Pw~)CW)xoG1zm3p7+L zs|Z(6D$SMImARGn$|zv1v{jla9hG^Nmdf*$=PJ8at*_cp)w~*1M^)EX*Hs^>-c`M) zdUy5V>V4HGsyEjlHIHhrU`p-OT6Qg`mR0+*?p58}y44L~Vnh;@^Z|vAMLC%{?DS;p~jgq*FMVO#}Y#joHm<>&J&`E~pfei6TrU(8>@U&0sj zH}k9bS%PeVQD72m5o{G~7j6>%Cfp+YL%3GBQ3x`y8Qn4-NIpoqWW1DwB+(gR$ukKo z>6Ot3RTG6yHcAF&yplYZbk2A$c_f*Z(IVp^+6#S_w9WV;c`9j{fywBefzN1{@lG-z zBP!#Kq-#c!bd_|4bh-3bX)_s+g{949)0G31xo9usQXW?ZlpbY)vRKJg5|sH$nzBNf zrIaacN|I8eOjZ(=WM!GMRLM{RB}XY$n$ccJr1U9MltoI3(xNO^@|1dIhSH?mqTZ;k zRc}%+RoAG0Q*T$-t5>NT)GO7?)N9ps>ecG4>MBi*hN4Z@GPNu%Tg%XXFqat9Mrate#nevU+9JWz}ajWYuPQ z^d5OT=X`Si3X`^YE>9lFP=~&LmoU=J+a^9P7oBuXHGG8|b%@Mhu%n!})%rDI^%+JmD z%vqLomQ9xRmVYcyEvN@h{cU+>d1!fT;af%46?seY8uH5XqQLUJ>b%Olt~P=##g=R% z+7fL^wz&L>`R(#S{xA8s{FeD`^ZVtu${(2DJO8s|Nd6~Bi+n6-lmEssIRBNSOa6Pu zQ^#w^7e~kZza38;UGp0qgYx_256^F&|JBhq|D7W~e?a~t$79C}bWQxPfSF(%aqPdb>Oqbl1;Uc;cT`U*FrF6+$*)D~P z?h?2NE|V+M#dV2X5*N)KS#tqV=hKN}tFl^^Nck@&EE|O?-N=f24naf4D#2@AMb?^ZYiy z!;kht{)>Slfun(gft!IHfeV3`fqQ`)fhU3MfxCgTfqw&s1CIlz11AIL0}lh|0#^g4 z0`~)0@K@kb;8NgnV0$2lN-Z1@YzyR+uPgt(d_(!B@|6|KD=t?=R<@{YUP-Ggtn^m8 zD=$`FsEh=CtNK(8sQRU9P*rqQud0DnTdG=Af2!(G-MPAJb+_s+)px4TRbQySTz#eb zeD$g7Yt=WZ&s1NpK3l!D=2^|tn%6b2YF^gNshwFXs@2u1YlXF0wVAc5T5&DER#y9^ z?o-{@x^Uh5x~O_k|FQ0KU5on2dQ82&;c`Q}CGD5=PU@7@EvaWxhorxfMx_K(RB7xq zMVdBEn8r(!r)kodY5KI@9-N8PhW|GWZ$93_?a~21+l;kYunkCS@=)(lSUHi!%~4=46nh zsnRs*YUx_(@6waf6H<&ULWY&CSDsO>P@YikRi0O#R5F!EmHU(p%G1gZD^&#~c^%eDL^$GO_^*;3t z^feN6h9^mFN_(}Mz!j;EhZ|B``Z5E-8{ zUT0t#A2P^{Fx}6LR~d8$obf4x$#|FXHRFZxmGQ0dnen-?hN-!!uBno#si~Q%rm2dl zk*T(+fvJV5qA6IlYN}(ZY^r5yZE9s2k(rTc%uLTbo+)IuUmw1H<@)1Ud$NvXozFU* zbujB#)}gFZStqj2W`*eXX31GIvm>)-Wk;Gvnd8ip%+t*=<|y+}^Jw!D^Dy%w^GI`q zd5n3nd9XR!oM4`8UTt1$o@riYUTDrUFE!6I&oIZDSDF{+#O5r?*=6xs3M?**!?MMa zYss=~wG>;@EEda7i`lZ-QfL7z8!b+Y&*HIIElsR#tX-|0tevfGt=+6Gtl`#{)-KkL z)}~e|7=;UOk~gWFv`wEk)v}?RzHSmX-P`nK6SRrkRI*9f^m|ib-j=-0d0HNyC*_HG zO5V!+)%m;g_vZJo54QKU54Df7_qGqT53&!lceM|(U$*xy=v>gNpnE~Tf<6U33z9dd zZO+&n6nLDo`Pb$ig}n-U7di?z7Zw)g7ZwEXLTw#Q9OWEM9ifh@j&w&~$3RCzM@vTy zM=8f>M<+)WM`g#uEsY(&w$ya|-12=(Pe*A-D@UlVWJ|cCpQD$fy`z?+lB1&I-QKSo^PICo}ZrYo*v%yUbENYHF{0n z3~#pA;oaih>`nI;dDnS!y{&<|Kr^5TPzwkL8Uyu!7C<$iKF}1%_2>94{v-aw{@4CD z{$KtYfkA;b5v?OyM6`-%77-qyPIE-&MdnB5L~e}S5NV3cj?9eAihL9GD(Y#}i>OY~ zt)sg~w~X!>-8Q;SbeHJP(HYTFv>bhQ-pcv<`BxU)j5!^1DTasvW3U)BhK%_VBP^ko zAWN7f=n`^CR_yxNGqE3HUo6f4Z!Yv?t3FG=TW{3|^j`gTy{XyS_-jLBCJG zOJAtZ)bG)I^k#jYev3Xj?r>cBm5<{0$E)$L;*t1I@mxF+kH>$BmxFVm&+%|P84o2$ z31ottfF_6uaKf53tJlP@aV4EdI+(OM=|Ixqq~l4ula3};TU&i?jkQ(R23IB4jz}Jx zJT7@m@~&hm`E<&`loKguQ_iHEN;#ggFGWmIQvarwPWzquC$%J1P7O)>nffoaY}&!J zeQ9&kqthePqta)j&q=?Mel7iadWf;AQ4U56m1O+RsA5zzDjJoH(#G<}GR9KI9~pl$ zLXBdElu^xC!AKfAnFgAMn|heW7WXx^H;pq5HH|TanJL_)Nr7S8dI(ts`-0ThJ_2vTeUUQLoo7raGY0fb3GJDK^ zbBft$wwkw_)6J>oS!TO=t2xJjt<&5R3<(%cR<%{KnrI)pb zb)a>yb(nQpa9ya6b-4Ag^{DlTRkkYDCboLEI=1Sz5L-oC3tLrN4O?wnn60v{oGsMW z$X3(Vz&0h%5L_2Z%uC3N&nwDv=Kaiz&!23cWS?%IYM*EyV;@m4w7|UCw7GAgr*KE1 zx6oY}DBNBM6mBcr?%3cs>R954bc}Hr9Z`@D_1M-!TbsF>y6U+ayXw0< zuI(af?{sf> zm-hT}tM2dapY9*-Z|>jjzwUqTKf#vsS3Lhbe?6tVe>`Ko9`8P{-|O}6@ox9-_U`iL z1QTVuKHK5l<~{1|0Sp6{0lk6FKo_7J5T@%3bOlBM!+{aNV4x2$6c_|(nVo=5eycy< zf6RZ+|H1#;U*c~SXc=e`m=V|(=oZl_B2?EoqBznQ>5BA30+H@W!|Z|4E9UCwUYoaS z{_6SfV!p<3F?@^^L&u0QOw5}YDyC#f+1L=>-z7hml!`4A`)7$W_G9dar5~5RTY6i6 zUVm8+>F?+-=+EfS>hJ1L=@0AY$K8*sxH8O8$xzu)$`E3xWvF5(35IO_j&Ec56aPKF zf}vDmNy5*BGKqf^lGmI|x|Vc0>3Y(Yq%%nulWru{T3d7N+~g(6vy-PLPfwneJSTZi z^5tYU`9{ixluBte(`u!aPpg(zBdvPc;j}|(3(^}I!;STg&5TWros5l*ZH(=VEsU*= zU5#^1Q%#Yk#il6JBGUp>glVB^mT9`_bmqy-@0mX`*RFq_^&;z8)`IN$*{95R%-75} z%{R;^&8N+m&3DbW%va41%}>nt%(u!~&~d`C%dyXK z%CXb&qUdGO^P-bm-){Y|^~SufTiWj)nB6+9uHFi)uGn&*?JoVTnu#2fDI z%HT>>AmW`?mg{2=Y8otncrhD@1SSHr zfN8)CU;z*X%mM8FFkPPitG`r07pN0x9q15f9|#Y$3rq~m4D^iX6|r^N_i3l5AB;R4 zxhHaO#(s(Y z9Q$P{p$GMk^w0J0^$+!5^`C;X(Pw%_|5X22|3$wr?pR!^&34J`~U z4dI5mhE|3~hDwPQ62lTpCx#^MPTZ5YD{*Jy_QZ!tx0B8$-At;pc46}Ulm{udQlyl| zX${kwr!`8eo7N=lSlY7m<>@_)1C9NR9gPEwtdTY*o7S3AO$JknDc+QBN;D;zmYXJI zj?dhXnUi@o^Ka(A%+&R7vtDOa%wCcmlf5{bF-vC7{N4Zh=$5Jl0#8M%*bnYVS9BZ_7mNmvY z*BWJ=XPs@$wVt&G1zw)9ezQ)sjkS%p4Yf_TMcQWACfLGsGi?#J;kIeES+)^*DS63x zp1jcfu>A7*hw=~PAI?9RzsjC!Ut`zX)KmJaEp@Ct6NrA|~tUy$t&-4?Krz1~BB2lBF@65Y9kDo8h zzqa7|f}b&UW9!7$j;$H{HI`h8EJc?F1zst7QBUhh{ZGB5=k}ks5 z6gj1JTFbPyY3diLTW(uyi?uDYt+E}-&#~v)H`-?xL>9~{m{|~2FsC4Y^N7M>g=Y&-7oI3Q zSy<6o)A`%c%vsf0%lXey+gZ)o&RO4C*{KDC_P#s9oK>84oHd-k9Oa!q90Q#doF$Gw zj!MpNj_S@(=a(X|=xb4DR~OfL*G1P~*FV?7;zh-aix(7MFTPPc)jiog+da`e!9CsG z-P6<4&C}7--qYI??&<95>*?gV>v`b0P z;P!j{9zW(s{e(YMhx@w*ItQWy3j^~5^8&L2g@OJN{erhp*R-3Fmm{x4j*T7@{czsX zdD8s9F%4r&$NkZli3`#F2*&k|FpM;eH;grmGmJ8fHZ)FbkXS#_w5IM_ee$!EPHElJ zx}?o8PB+TNO(u&e*JLy0nDR}NGA{f(<~=E zr%6uhobcSnxearh<+jRgl-nV9eC{gi3hQcXob{JA&6a8#WlOhZ*sA5%%0HTKx98dC z7ep7#D;QlkvT#)4`NAR20nXmeaOWUrS7$$GduJbKN9RyyHz!tv79mBwT>V{FU65-@ z@%`dE#n+0X+>!2no%d*$0q_*K0^9~}0vCe90WPZtt%kG)eE2l?J$DHmty>mL|w##jk+dj8-Zi4ly z^@{bk)nwaf%eLj%%(hHh?ffFU)9$fvv2V6-wY%&K3l>KyN!;GE(d;~eE2 z>m27C?HuAlT>9b_#Se>TxTD>ZJ<~liJQF=rJYzlMJ>xvnJX1Z-JoUXDyaT+E-kILf zzOlX`zLCCuz8=0|zJb0zzMj7BzCpg;zK_5Q;0y2pcnCZLJ^{~xuK)$S2i^g101bEz zdhf(<``NeX0ORwvtf-P`Blm?<5FXhX=Qf*oS`}Wat7vf%NdXp zd_R!WHMe_i=iDB-$<`$68tXr6p3QEv*>Y{8^6KXo+m{q9F1S><$T`zF&pFFE-+9Y* zJNTbiR~+e??P=m|>TTwo=8N)8^^NyU@=fr~^v(87^iB5t2EGFVfB+2e13-aq00i&= z4#wtB^dSHF90oV|11U3en zfK9<>U~{kq*b)rZ_JXa!Heg$@9T*O_2Rncr!A@XjunX7~>;`rRdw@N`USMyq57-y% z2lfXCfCIrnV6e9vI0PID4g-gSBfyd1C~!151{@2H1IL3Cz=_}_a56XroC-#O)4=KA z3~(kG3C;qez}es&Fd7V&0E6?v1>iz323!O#2A6=b;8JiIxEx#o>cKd0CAbP)4aS28 zFab;i*MLdjS}++*0aL*=FdfVQjo>=a1ZINk!7MNv+yHI_&0r2_0dv9NG8t$C^T2%2 z4iyaC<>Z-KXi z0(Zc>;63m@_yBweJ^~+uPr#?(Gw?b10(=R+0$+n~z_;K#@ICke{0M#mKZ9SuuR#G2 zgg_WXKorD493(&zq(B;EKo;ac9uzg3{`=uLe-$^Pz|UiR12yN)q(0l^`QDt1E?X? z2x<&9fto_ipyp5us3p`2Y7Mo4+CuH1aHu`h0qO{Kf;vN8psr9is5{gH>IwCNdP9An zzED4?KQsUu2n~V;LqnjU&@gB?Gy)n4je# z&46Y?kAQSS_>sZDNs-VN`=y(bSMKdLhB$ClnJeevY;?sHnaiS2$`WA$O7d;R%jDs zgYuw!$PN`io1sEz3*>;DP;ep*xu9am4S66h6s)d>0LTvopl#50Xa}?t+6C=~_CR}~ zeb9dB0CW&K1RaKsKu4it&~fMlbP_rRorXemXP~ptIp{oe0lElXf-XZ>psUa|=sI)* zx(VHaZbNsVyU;!8KJ);32t9%xLrc^a6Sby@FmtZ=ko(JLo<10s07if<8lE zpsx`4Unn$$Kq!PkI7C1sL_svfKrF;TJS0FOBtbHyKq{m`-=Oc%59lZK3;GTHf&N1O zpb|(2mx4>fW#F=K2pkHB!R6rca0R#`TnVlWSAna-)!^!I4Y(#;3$6{XLO2Fq1TTh{z_IXBcp1DLUIFXj zICv$z3SJGz!v;734z7~HYv3e!Eu0Lez^QN=oDOHeMtB`;f-~Xua2A{mZ-6(#W;h47 zz`3v$-UQp=JUAb=!v*kWxDeg~J76bV1aF01a53zLJ+K${!2s-s1MoI@JG=wl3Gae; z!+YSp@IH7yd;mTOAA%3VN8qFIG59!q0zL_!f=|O|;Ir^K_&j_8z6f7}FT+>htME1W zI(!4Z3EzTm!*}4j@IClG`~ZFkKY|~_PvEEUGx$0D0)7dch_D39umY>F27iOU!$07kL4jZJ zZ}<=V7ybvAz&fN9QW`0Pltn_2P$Uc~hm=PuAQh2HNM)o7QWdF&R7YwcHIZQI0#X~P zgVaUpA@z|4NJFF%(imxiG)0;r&5;&JOQaRj8fk;HMcN_ZNPDCM(h=!|gy=dWU68Iw zH>5k#1L=wMLV6>8kiJMiq(3qM8Hfx*1|vg|p~x^~I5GkmiHt%ChnSE|WId9FWFs4pjffe^ zK`clvVnsF~HY5+pN9;%evKc8vwjd6~i4-AQ5f@U7xDgNHMSKW=_>lmz4cU(DKz1U# zkln~0WG}K0*^eAR4kAGT^bm3wIf5KTjv>d96Ua&A6ml8~R@EVAk#op-lCEr*szE1(t8N@!)Y3R)GdhE_*wpf%B2 zXl=9(S{JQ{)<+wl4betuW3&m{6m5n!M_ZsR(N<_{v<=!8ZHI=V?a>ZsN3;{#8SR30 zMZ2Nh(H>||v=`bN?SuA3`=R~O0q8(<5IPtgf(}K8p~KM;=ty)FIvO2=jz!0zR1h| zCRPipjn%>GV)d~4SOcsf)(C5iHNl!<&9LTJ3#=s;6u?_yt+6&(TdW-xj&he zSeULe)&=W|b;G)2J+PiwFRVA#2kVRV!}?C1Pu^By25~jHO_ySQ?g&Wne~Z9cIEZ zvGrIMmW^$|HezNh2eV+gm=)WE*|0n;AG2cx*k-H{+k!bTCsu@Q#avi1=Egjj7xQ5N z=EnlqHf%e#1KWx1!ggbOu)WwmY(I7YJBS^^4r52Kqu4R*ICcU%iJihuV`s3l*g5Px zb^*JHUBWJ7SFo$tHS9We1G|ac!fs=Cu)Ekj>^}AYdx$;49%E0ir`R*>Iraj3iM_&J zV{fpx*gNb!_5u5deZoFtU$C$L2@oI#VK9bZD28D;MqngH1qEn~!B~vLcuc@VOu}SL z!BkAczG2_7AJ|Xq7xo+bgZ;(+VI`OjFNK%J%iy89vUms{iihFl@bY*Cydqu+uZ&m0 ztK!x0>Ua&jCSD7#jn~2J;`Q+Qcmup4-Ux4u2X~I(P4Q-UbG!xK5^sgK#@pa+@pgDP z-X8COcf>p4o$)SsSG*hE9q)nn#Czer@jiH8ydT~lAAk?U2jPS9A^1>y7(N^yfse#T z;iK^}_*i@#J|3TdPsAtTlkq9|R6GKohEK<5;4|?^d=?&s&&KEA(fC|^9zGvmfG@;j z@J0Aydv6YxZQ4W5Lr#gp+AJQYvF)A0=4h_Ay< zcqYCc&%(3u4fsafjOXAMJQug(n{XSRhv(yVya3;f7vfuR2kyj+@U6HDFUH-t2lwJZ z0n xE~MT+wkr94tyuR3*U{0>Gt4z@qPGy`~ZFsKZGB~kKjk~WB76W1bz}fg`dXH z;Aio3_<8&Sei6TfU&gQCSAzoA@ay;u{3d=2zm4C)@8b9H`}hO=A^r$|j6cDj;?MBs z_zV0c{tADMzro+)@9_6Qfe-jc{1g5e|AK$TK^($i9Klf>!*QIzNu0uIoWWU~!+Bi5 zMO?yVT)|ab!@uF*@gMk4{1^Tk|AYU<|KTOLjwnTxCdv?Hi4Y=`2qVf7<%tSJMWPZ> znW#ckC8`nCi5f&rq83q`s6*5x>Jjyc21G-m5z&}vLNq0s5zUDfL`$L-(VA#Ov?baR z;Y53)1JRM_M06&)5M7CGM0cVG(Ua&!^d|ZceTjZVe_{YJkQhV^CWa70iDATWVgxag z7)6XG#t>tPam09H0x^-8L`){85L1Z=Vj3}>m_f`WB8gcEQSkyt|{5o?KLB85mL(ui~- zg9z0biFJgD$RySiSwuFmf!Iixi5$X0?ZaQdx?F-e&PUekT^sfCXNtCiDSfZ;skM$ zI7OT$&JbsbbHsV#0&$VJL|i7W5Lbz7#C75Zag(@3+$Qc2cZqw%ec}P}ka$EqCY}&a ziD$%f;sx=NctyM>-Vkqzcf@<*1M!jgM0_T`5MK$9fC!jC2$aAGoFE92pa_~^2$tXo zo)8F;kO-Mj2$j%?Z^U=v2l12mMf@iI5Pyk(LiUxX$o}L2av(W~983-& zhmym{;p7N%Bsq#4O^zYQlHQJTjlOlLh2vvXIr{B2SZN$g|`*@;rHgyhvUmFOyfutK>EEI(dVQVKn22?|;5!IM#LN%qDQO&6q zR7W14EVYzcMlGjSPKAa#g3OdX+) zQlYwI)N$$rb&@(oouIQX_x<%cl?ofBBd({1) zzysLc}u`b>SHzEU6sQ80y2D1}it zMNlL~Q8dL+EX7egB~T(IQ8J}aDy321sPEJd>L>M!`c3_z{!;&_5=uvxqD#|d=(2PO z9ZHAM<>>Ns1-c?#iLOjnp{vr>=<0M0x+YzVu1(jW>(ce;`g8-jA>D{>OgEvM(#`1R zbPKvA-HL8ax1rn8?dWj2J>7xsNOz(;(_QGUbT_&?-GlB)_o92#edxY)Ke|6XfF4K> zq6gDM=%Ms5dN@6T9!Za)N7G~Ipa3_P9!HO-C(sk=N%UlT3O$vMpu=?2=;`zfdL|u7 z&!VH~+4LMbnx0F~qvz8L=!J9)y@*~+FQH@UrSvj-IlY3`({XgDZY8~nUQNf-20DRG zq}R|%^jbQZPN7rjG&-HmppEo8+C*p4>**{yo8CZgq|J1QE{C?zxwMtuMBC^*I-j=F z1@vaRklsQ&XeV7nZ>3#yG3};3bg(>%253JWptsT6=^gY=dKbN$-b3%D_tE?51N1@q z5Pg_FLLa4%(Z}f%^hx>@eVRT)pQX>y=jjXdMfwtbnZ80_rLWP~=^OM-`WAhgzC+)o z@6q?^2lPYw5&f8cLO-RS(a-4@^h^2`{hEG5zop;N@97WpNBR@}nf^k5r9m2^VH%-P z8l!QVph=pdX_}!~nxlDIpha4uWm=(CTBE zK>@xj6T*ZtVN5xuJX3+G$W&q~Gr>e!rYcj7sm|13YBIH$+Dsj$E>n-G&op2fGL4wV zOcSOl(~N1(v|w5?t(ewK8>TH2s%yuDGwqoUOh={@)0yeQbY;3R-I*RtPo@{so9V;! zW%@DwnE}i|W)L%&8Nv)@hB3iv3T6Z|k{QK}X2vjMnQ_c`W&$&jnZ!(HrZ7{P2xb~H zoteSRWFnbaOcXPlnZragbD4R}d}aZ&kcnXyF^iccOf0jMS;j19Rxo-dj#`W>T0`CXGpFG8iMXjxjNr%z7q^$!0b%8yPc`!&sPH#>#ABY)l@L z&)As)W;0XBY+)RXlPO}hGA^c=aWfvq%lH_8@iPHt8?&9+!R%yqF}s;P%wA?6v!6M@ z9ApkLhnXYHQRWzPoH@aqWKJ=snKR5;<{WdLxxidxE-{yxE6mmZ1cYnMb>;?hlexv* zX6`U|nS0Frpuhv>A@hiN%sgS9GS8Uj%nRlv^NM-RykXul@0j<@2j(O5iTTWYVZJgT z12Hgz1O-qAV{nFGNQPo)hGAHSV|YejL`Gs{MqyM&W4zF>W6QG@*otf=wlZ6Vt;$wotFtxOnrtn$Hd}|S%hqG-vklmW zY$LWY+k|b(He;K!E!dW9E4DS;hHcBXW5e0@YzMX@+llSWc451+-PrDI54I=Ui|x(! zVf(WE*#7JQb|5>59n214hqA-i;p_-@Bs+>7&5mKmvg6qC>;!fqJBgjlPGP6A5$rT} zIy-}%$wsoX*eG^3JBN*C=d$zI`RoFAAsfRkVi&VZ*jRQcyNq4Vu3+_S9J`WT#ja-K zSp%EECbGeHbL?6+nN49+*)%qt&0vE9qLE$4n%GQsJ)6a5vm4lrteFkd<**hum$kB+ zSR0$i=CgLTfZfa%vRhaO>tu`At*nbJX5FlZ^|C$|VEt@>4b^R9x3fFgo$M}lH@k=3 z%kE?Mvj^CN>>>6rdxSm89%GNQC)kthDfTpbhCR!kW6!f8x(n<@_7Z!Uy~18)ud&zJ z8|+Q?7JHk$!`@}@vG>^r>_heu`ER$*0EW52QA*&pmr_80q`{lorc z|FI>kjw{8L=E`toxezXt3**Xh<+%!6MXnN8nXAH8<*ISjxf)zet`=9DtHagh>T&hC z23$j~5!aY&!ZqcZam~3FTuZJM*P3g?wdLAz;aq#J1J{x3#C7Jna9z1>Tz9Sq*OTkT z_2&9;K>?{R*N^MZ4d4cHgSf%m5N;?pj0@8Z=SFZNxl!C`ZVWe;8^?|3CU6tEN!(;^ z3OALD;HGiYxf$F{E|QzYMRBvaIb1Xs?6Sel$xm0o7=!`!IDu87;pxwvA^&3QO4=i>m*&jq+`+;(mUx0Bn& z?dJAyd%1nwe(nHwkUPX3=8kYjxntaM?gV#|JH?&m&TwbBbKH6E0(X(S#9ijDa96o& z+;#2-cayut-RACace#7qeeMDGkbA^E=ALj*xo6yS?gjUfd&Rxx-f(ZZciemK1NV{p z#C_(za9=r)gE*K&IF!RUoFh1rqd1ylIF{o$o)b8clQ@}E{u7W@PUF6D-?<;$Pwp4@ zoBPB44GR3@N;n-~iZ9KV;mh(Nd?+8rm*dOx75IvLCB8CWg|Et2hbmY27E)l5#N|^!Z+oc@y+=bd`rF+-XM;e30(1K*MF#CPVq@LlH`o z&*3e6E^p;G@isn>&*$xY0l%3q%)5CH@8x|w!29_Czm4C{@8Eax zyZGJw9)2&skKfN9;1BYL_{01W{wN<5P>%7(`4jv}{uFihs?&;otJ_ z`1kw={v-d1|IB~kzw#gt@i33@D39?tPw*s9@ifoyEYAf6cwXQ|UgBk5;Z zmQY)$Bh(e@3H5~rLPMdE&{$|9G!>c&&4m_1OQDs}T4*D*71{~mLVKZu&{60lbQZb@ zU4?E!ccF*SQ|Kl17WxQ%g?>VRVSq4D7$gi9h6qE2VZv}>gfLPVC5#rv2xEnD!gyhV zFj1H!OctgHQ-ug&nlN3MAOTOV};!5%voEg#AK@?tpMmI3yevjtEDEW5RLagm6+gC7c${2xo za8bAW6^Q@ADE7VZdlg?qw%;eqf_cqBX)o(NBcXTo#gh44~%CA=2i z2ycaV!h7L^@KN|Ad=|b4UjRKNsWAOupN1X^GOR^S9)5Cl<>1X)l7RnUZQ z!gt|^@Kg9D{1*NQe}#WSiJ%ipiKWFdVp%an3>Cw~a$=?kBvuxyh*iaEVs){G zSW~Pe))woCb;WvOeX)VqP;4YN7MqAo#b#o2v4z-DY$di9+lXz&pn%p+3>Vvr9mI}e zC$Y2GMeHhe6T@`f#U5f$v6t9e>?8IS`-%O<0pdV$kT_TzA`TUYiNnPa;z)6nI9ePd zjupp=wpM~oKdiu1(z;sSA@7$Ytc z7mG{8STRJmR9q%57gvaSF-}}5t`b*^@uERY5EI2UVv@L4OcqnbR549V7c)eoxK1>Q znc{jeOUxEGh#N(-m?K)mT+u3S5^Z9hm@nGJ0&%lgC~grQqEjpqw~8*YSagdX(JT5y zK=g|NahteZ+#&81cZs{jJ>p(*pSWKr#>ProzhEgM`vD8FrDm9auOCh=zQcJ0o)LLpIwUydQ z;Zl34gVa&#Bz2a$NL{6FQg^9`)Klsu^_KcbeWiXTqA~__dR3vScTvD;*mON6h z_*?=czZ8&y0^heu+oc`SPHC64TiPS-mG(*dr7+zA>7aB-IxHQLj!MU*9_Pp`YZjDN+g|JN-iyzk;}>&p$~hH@jhvD`#%DmRmx%Pr)Vax1yD+(vFI zx0A!=_HqZgqufdEEO(K+%H8Ddau2zu+)M5)_mTU`{p9}g0C}K1NFFQ?k%!8|7PLLDjHFA=?R!){vtr@@x5x{8oM^zn4GAALUQ-XZef#RR(29hGj%XWlY9pLMCNOre#KE zWlrX0K^A36mSsg&WljDjf0uvAKjmNYZ~2e>SN51TN@b;rQdOy@R99*!HI-UQZKaMs^ClA~CZT*azvQfx||lCRj60%fyOsBBRj zic=|4wkj^ASaB;J#jE%fK=CU9Wt*~H*`e%Ib}74+J<48XpR!*$pd3^VDTkFK%2DN* za$Gr~oK#LJr>E^Ub&!LR4yr(l`G0s<(hI`xuM)tZYj5wJIY<_n5fw?16-7}MP5GvL4+{KHek#9|-^w55ukueRQFLl4wX|ABEvts8 zp=y{~PA#uiP%EmH)XHiVwW?Z8t*(aXYN$2UT54^zj#^i(r`A^+s14OdYGbvD+Ei_( zHdkAyE!9?PYqgEqR&A$-tL@beYDcw`+F9+Qc2&En-PImyPqmlYTkWIvRr{&^)dA{2 zb&xt(9ik3ZhpEHW5$Z^FlsZ}+qmEU_spHiN>O^&tI$52fPE{k+Y3g)!hB{M?RA;GC z>TGq68m-P%=c)761?oaIMqQ*XR+p%;>QZ%?x?EkM>eV=PrMgO8t;VYcH9<{O*QiPA zS~XcsQB&14HC@e6jp{npq-Lt?)hsnz-Jot%&1#NnQFB$Rx=FREd1}6DR}0jj!0*j! zp}IwNs7|#=-Kx6OV%4pN={%}e^{IgBR|D!cb-TJl-Kp+UcdL8Uz3M)7zj{DDs2)-e zt4GwM>M`}WdO|&^hU!kKr`0p+S@oQHUcI1RR4=KQ)hp^%^_qHJy`kPzZ>hJ{JL+Ba zo_b$>pgvR|sgHvKPt>RCGxfRpLVc;eQeUfY)VJz8^}YH*{iuFYKdWEVuPUfQDy$+Z zs$wdx5-O=uDy=dqt8yx@3aY3|s;nxis%q*t^}G5*{i*&^f2)7gzv@4=MAd1fw9;A` zt*jQJg=%41Ijy`_L93`$(kg3Jw5nP)t-4l2tEtt}YHM}0x>`N0zScl%s5R0WYfZGK zS~IP=)wzfgrsF}4K&7$RMRxL!gNwaBr zTE1r23bf5yp|(YHXilw2+p4*=V$H32G_U5<0L`xjv~AjUZHKl~+okQ+_Go*xecFEQ zfOb$jq#f3dXh*eU+HviKc2YZ~oz~81XSH+MdF_IBQM;sF)~;w*wQJgS?S^(!yQSUM z?r3+ld)j^Nf%Z^)q&?Q2Xiv3g+H>uN_ELMLz1H4nZ?$*Yd+mevQTwEQ*1l+8HBf^z zSVJ^a!!%qYG*Y89T4OX;<1}6qG*Oc@SyMDs)3k5eckPGvQ~Ra;*8XUJwSQWPru$av zTj_6QzLotJ@-6gR*tb%;l9InAyRwFq3@It41GB0IzZ0^{bSv)U)fHQ+4Wnp(s8j z>GXAXuhnZ^_wNGQ0o6b@&=|-CIs;vRV!#7*2YLWKfnERslLv@U2p|h+3UmUx0eL_^ z-~tK&HxL0t0#Se$@BtkGqB#gC1p)vG2m<9m1yBjJ2RZ;XKvy6dSOh!*9s`6qm^hYZ zVQIj7;5aY@m;m$x1_CiaAAs1t0saD>1H^I+@D_Ll+y{DwfnfuH{=j&E2Mh*=0*8Pj zzyaVO@%pA=9N;3r4;uu;1AJf-@eKjsByb8i4V(bZ0_TA9z!@MRY#eY6;Dz-CCIWYW z8;yhj5ncj_0SO=lFhB+*1AW7qge8S3!T`VuYy^n59smaj@HcU`)Ichr0pi1YgpCZ_ zLA>`eU>ooS&;kVH3ormizyz293(zO5aTqrYCtg1VxY=kaU=6bo!5k}qB;ZeAFAxXB zg>?@b5w;T83S0-C0aFRZrUNs8nZPVyHZX@!a2@aoNC$}N0}vC|D{LMxA6P(WN(6xc z6o3lQ00Hm=-~!)(@5B-O1ik`v00tNU6Ci-{01+JnYzD3Xy@5->Wgt2X1QLK@z;Iv$ zQ4gbl(ZCp@Hnsq_fmq-sa0{p<-XSam{d~0(r`Q%IamjMQeBrzIA3lEi{N-!?Hw$k; zx>B{_;Gx4ujvhOH;^f6km#%Jbm{3h3w9DzT%d{nVFTHlbe_CEB2R^ z2FilvOO`HM{>O@ytLAvNoFP6S)RQb^z6d3S-*46)6NxxSP0U!Wug!UQ4b=461|MGWN{qFib^?U30 z)$gxAP=B!gQ2pWhBlSn?kJTTqKT&_O{#5(AAnufI@#vHnv1<@zi2SL?6U zU$4JWf3yBp{q6cY^>^#<)!(mwQ2((0QGH$gTcg2U~zs z8>Th11Y3dA8)h^h4G}cq z)A8ryx5RIbKNla_C!){s_+#;l;}^y6jo%Z$bXY{pr0BX(BVcaByoQAhiyX1ayt<9_ktD5t7DYv4Ys1v9wrWEZQJy5I0B~qzw~d`^OH5T^<`9 z+bec|?4{ushYyS$5<4<>MC_D4)B2RgmdE;H{4vEb-k3m4Sxk9MFeW~>cWkTB1Y!)4 zHIPD2LT$kZp@*S}P;@9frb$e4LrR0Z;p*_J;nl-yhMyb0czDrp&+sF|t3ZUxq4KCn zR3TMFj1Hjl8RLcSoYfKUjL(eEiqDSEiO-FX0`lTL@kQ~4@$UG7cvpOW{Dk-s@q^;y z;=9L}!~^k-;!ES3$G47eAKy7%5wDC_$E)Hg@sR*8J|$il|0upL{z?4f_|$k!yf%I% zaHP>MumP+FYrtP25*PtSf>Gd4aC~TDXky=~AhAOVP6uazGr?KlY;X=Z7n}#q2N!?~ zK{5z|6p#uM08S7F86Xp6fou=~6G0Bh1(QG?$Oi?W5NsW46KWf37iu5s5b7A}6zUx6 z5)#A+W6&5;j5tOTBaOjgWHHGxF<>m%8;k?v!9HMLupii;IG!2ANE;K14fPJih2lef zLVZL1Lj6MnLIXpCLW4s?LPJAfC?PZ~G(0pSG%_?QG&(dUG&VFYG&M9WG(9vUG&3|S zG&?jWG&eLaG(WT;v@k>tK_Nhup!)wB8!xx1w4qqC+EPQ!5;nxda5xz2fRrsdx&EZ?Zw}x*E-yZ&F z_>SaZ!gr*72 z5}GHpNNAbRDxq~kn}oIr?GoB2bV%r!&?%vFLYIWD3EdL9ClIMv2|W{fB}6C0B*Z54 zPKZm0Pw11-H=$ob|Ad>3?l(Hs=y;>kjZjboia`k|1u;+tCW9%U93%qdKqaUG1#!YS zG)@#Jj+4Ym-=sD}V){8!QBi zKo95zePA)@2N#1&z@^|aa5?w~xB^@Wt^!wsYrwVOI&eL>0o({~0yl$Oz^&jma69-X zxC7h??gDp%dx-hgu&hz!$>d+5Y~pVbxf$T32B>SOB;XsZ5io|{2uLPsWIH_qXoNHc z?3_s8b`lA&@G^Lxc;NtrFXT4^Mo37&1EM!@Wmd7?U21i?*+0!IBt zPMGvxa1#iM+;8Lr_J6@mhyYT4BPVG77jY8^1-#FHV<)^LxCv3fhu_Ev-~S740>QTb zjhxW_zu+cB0DXQVCk**t#7!U+@Gbj|ov@bRCPV@2eB*g z0gH+OGC~d`hm)t1lgK$_H+dI%GF3vAQy&nUNnx}~S_k@6I+uQe-h|wY+?d>yJdiww z{E#}6JcrCD^T#94d#-spquf#&XASQ@MAO zo+Q0b`jGT7sUb(Ks4S`@7@?FX%a7NT{ekEPF{&!$HK zGwD2f7X38+6#Xpy6}vw&5E+0BMqo}GZX9SZhAzvk5BVQ-iksp(9lJAjcQfE-}sV?eT>No0lYCW|n zZ4s@O7D11sccS;8-zU$b&!r3L0=kN>r0=G`r9Y;Bq`#uSp}(L%r~jna(?8SyqCcg- zq<^5lr@x~=p}(g8px4)nJ^ftqK!+ygX!)@au<45B-^FFigZ{B^$X-iLXFEWixCnuB3$;-%p zke8FAfDpL})CFn^b%0txt)VthE9e9H3;7569r+{q7dZ@S2F<0;rp}_yp~|SK)I#b; zYA0GG(1zBQ){@qdwv^VG9z&0&tLdrqCU7gbIouR(4Tr(aU=rL0ZUHxj!{L^2B-|E$ zKs?pnW8P&BXMwDKtih~7tf8#_tS(4bWHd4c$wEv>CSpU(h!b%jEDoEK%gN(pbMiUg zIUTuX?!BZ)o`I+1wc>Z<-{fE8w?vzxEzs7e2<4z`bd=Y8CR?Mnj}rS;hRNkt+$TKaAoYx2(yRV zo7>ykhubsk`St?4+g|5*>G1gik=IrHEIyKI8r#xp$-hw<)UPgXQU>JENc_9Qr zvmqA5gGN9chyj5R1)@R|p>fa{XgUN#6QEfTp+Kn!;z9ywC`5)vK?sxt&4Ci3C}06~ zK6N2gPu))alNwKpqxGi^p!K7zp{=5=rmdy*rfcbXdJlLo+!LMz_kqc9Uw9TA2~3BF z!*k$ia5uO=JP#fVkB7&=L*S9{C^#CP08fDv;DK;2co6)O`HuOR`4@8@i^_@srmz;W zX0ynwNh}HrVvQ#Z=97?Wq!?L=)F4ZdawLEhBFhjz;zE`qNgOUGk;CD*IRzXKXApM^ zcPe)>cM{jj^>ItMZth=6&3PVPF3-jL$|Lc6@x^?UZ{(Z#H~44x*ZF7p@A-f6>-jJF zZP7Mp7Fvb|P&;Zs^HBxrLak^zYDTqaF{(m?s1hwj{iqMkLB~qQOU6jv6SgEiM#dnF zf>ALp#>9BoTx=F5z~~qYlgQ7@r{O%j9CzS(cs`zuSK=wS1^41=+>Oid0A7sS@Jw8T zr{g+22RGn_cnKaPw(`M%6E~=>YMa`mMm0i>KyyTMNJI3@Y6s~D>PPFx=$(eQhC1Ux z^8xdIv%&Ji%E$=V{q|~m&|Yb;uy3}joW;%pXQ8uzAWdH)OcJBrv)l}KwOd@MF5FVM zrsz~rrDvn(kms1^sOO01VUo|g#Jk%2hj*!WuJ4%djF0FO2@DA&1O@~K1^SSgWG%UX zTuH7WuOY7`tDtJA5Yj>!5DryB1yBx@38^7Hlm{h4X;1)4hdhuEvOqAEMrBZwsYa@S zYNGC?{-TbjjiHUEjiZ6IA+%AnskD8x-832Axp{=Y(Takmyn|fpCjgoIAxp)PLNZ@Dd$vj zx^f8x%I0uqa%XY>yf!=&uYy;`tKyaN0=zH0 zKK#D?{(L*%!O!4Z`FHsb_`mp{`5}HQ0l|?H3>AzNbQBB_bP&V{`U?6B1`4_fI-(uW z$>=0>3YvkQM9-i{(EaEkbSHWVy^XFxBY?~374$TE0$qvjMfac=(3|LS^enm!y@hT< zZ=l!E>*z6bEqV@}Bv~QZBl#|AFKs7nE{&8nlD3or(pJ(A(x%cVX$!0wroalYQY;m# z!nBwX%f+g(GE9Z3u?#F9OUJyJ9;?9om=#OGG+1xBRF26r^qL&x{O`YgjC!w17B zV($tJJ~93>PBKq1Pc@%3pDnf_T}~^_D%N1_BHlZ_O15S z_6-EMroqv|xy4!SEO)MR?se8WcRDvYBZ0Nf<<1Sx9nPiBjm~|}Kb_>9)SMnPS>EZQ zbDk@ni=J)X9o|je?cU?Qi#}tiy|jB^N+1H592g&%5ttU(8F(I`mGR1I$?M4L$q%7z z&<1Ef^Z>dDorms1hoSAz4d^~}3c3!hhb}-zphM6t=p1wp`V(SNi>W^9A}X0Soi>lQ zkhXv}pEjFzoOY6Sn0AoXg3h9+(JSb;>1*Kw@Jjd`d=lOP{{e4-kHd%Hz3^)IAbbQq z0dIiUz?3R70eP$7vKW9AVnY+ zOhxaY9YswC4g*mf)e*noY;USMyrBiKc3D|QQeg6+W0WB0I+ z*hcIo_6WO+UBXi2nerU@Hu)v_b$KuRB;HIhOff()RS~afu1HYyRCH2|S4>n)QjAh` zQ+&q9D*7tMDEcdgC`Kw;Dh4XnsCTKisMo4DsMo1?sMo8PsX>iKqtfU!FEkG{4>f;k zPic2+H*3#o4`{b&yXpt)A^ie9SwCODM!!tIT)#xWRBtlm7;+7Hh7*QkhQo%VhA`td zL%pGiv6->K@Y4`wykl%+YHw<8YGImXo@<_Co^9S~-etaMzGOaa&agNvAVC(m=_U&(LmYUB!c)wmbAb%ol(t%YZc&J?}#JSFxSA9-GSo_Jn+{_;Hb zJolXPp7S2`9`?@n&GVi0IZG*l`GEz2g#olIx$Jb=>#~n!VZoKb+rj(6KzVsNo4keG zoYI2QoAMUwLy4!2;fHV&#vAx0{1ooXh+_PLTQR~}B-SC;71n9iVOA4%D};rxkwm0T zV&}x}iM$oNuP*T$icjUyfwUaycN6zelg$2_wo^eNFX7`0g8Yj zPzaI*DnXW@R!|`*6qE?uf^0!RFdO}dHWr0YvS^ZMsE8q&CYmLJL~}*sL=gZ*G*L7_ zG*Hw}v{1A_G)FR5QZ6|tIVzbZohyZ;)1@@&0_jZYRB64mJ=Ov1M3_v*$mYmq$>_4N zvS~6{)?c9PT`nX-1W&a$a8mpotor@S}b7w?Dn!Q=3E zc#5J_k*CO2NEIf9QGqD@3S5z|P%07?Iz_U=t#B#Kifn~MQKC4dzM+1szNtQ;KCd3D zF>8KmzG;4G>NQ_AIoj9SCb~D;2ilj~d&F>_r041r^@x6-{;2-AezSgyey@Iyey9GB zeuuumu+ebJaMp0n(BIh07;Wrld_fp6`kKa=2nDKom`0dJo8nD_P0^-areP+AnL==m z1!lgPY37-e%q(-F`LVgq{LFmc{M7uye8Ze&$+O(FM5eV#%eThZI@y}pn%bgmu{L5P zwzal(uywU{x3#c!v30YJ%iw2}WE{;nm=S3w**n`i*t^&}*(cg3+uz$8Io{bL9Ix#W zz$bg8qu&0}-q`WW-qi8a{+4K2ennVOTRR6h2Ri#X2RU~;2WHYT;mmoNV=^h3b2CR~ zj>v>Ehh>h<9F^HAb4q4HX1~nonQ)FPXLXK0XIajw9CyyroT?mko-xmn=ghO^ne#fk zTDw}hn!7r=CONbgq<;Qj9T zBuEeNI=XO!x+NgG6pe3jNy!_3>Kp?s~M{a>pm-j-IN{4e!zOn`p#;^9?Aa7 z`o@YzP-GO5NIW%hZlW|XC2>mPghVtkF>zMnyhJtUIOizm2y3AZsfiYwr9 zxk=opq{yU}N!^k=E1$ zTooJ>+!yQ++!7oYbVa+NbI?Vi6(Wr&AX*|?E;5QRQBbs6lqy;!$`@sdDn)Y9N>P?5 zPgE{iELtln7I{Q=QJN@OBokRgNfM@nDnTSH37-K;*b;^WmQ+b9C2J+;2|o{5b6Rpn za!!&YO_YkIGO1L`lYWy%0oQ5WFo$e|Y>CV-+a}A98DyJeD`aJ|jj~MH5!pIfjx1YN zBCD3Il-0@>%bc=d@?G*s;4k?r`9Qo#u}ASyaZ|Bb@lbI_@mTRg@m&$2Jgzvc*r2$m zSg*LJ_@>yQ_^SA{mQhd{Z|` zZJPQ^{Z>6uW79Y^-L>7c9kuPWU9`E{2whWMxGqxHplzXhp!=fxs_U+g)l2kJJ*rph zJ^Cy9tNLyFQ~I;|BEuEKCBtpQXyYW~1mh^<7~?pj+%(-pHc8Afv%>ttTx=<|M5pyj z>y|bstxsB)w4P~0(u%ER)>7*%+jLv1ZHR5GZGvrz4YUon&9Du%O|uQNCD)qji!y66gPEqxC7FTDy_st= zi!)uB{!BuF+WgE#na0etOlxLN=88;4P742cP84t;XM4_(oNYPBa!%)L%Gr=}GKZd5 zlb4sbCa*XzkXM*jkmt|$S10Bp{9Y znv9y|HM?t;Pzov8lyZuXVy6TsK}rP$z}{0eG#yP(OQzkU-KE{8CDNDE(-?Nf3Wk;8 zVpKDN3@4+Cv6@lB$Ym5TG8tPK>lw9-NsP^m3dU~6TE-?uIwPO4hEdLF!5YdQz#hSl zV}tAjb_}}*JDUBC{hcj9jENPA8HvS-m5D17wVYJWCC(YnWzGdoQ*JYE0(U_YC22&` z?4(~wGkFtvQ+U&P>AX`sLV-mGd53sMcoX;v{wn@z{!0Eu!9!v;x>>MY@IcUA*jxBr z&_Vc4@I&xPAQQe9v=n|3G!X*Aw!&WMTy&|(EjlkcAbKG>DLN*K1kQ>siRwfbL=Q#R zM6X3}L75lwtc^i9N*NF}I5B=JeSk_{52R4vs>4N@YBQtFdhr0G(lv_Tq@ z_QHB#-(^>24`erF*JTmO_hp}DZ)DG8-(;6$A7pj1)3UR&7RhasTPB~B-I6Jjf5;}u z$H^zkgYtlUkNmBC2tE`agb!7YQNqd?d zf&`Hb)$46bVGIBbbWOFbn*H=dbvJD|44sZU#GvRzoEaU zf1pn@SPcP#->}ti#{d~$8v89!W2VhY zqomQ&;IxHl^V6U-YFe#zxs_+5*km?_ZJM^F?NOR()oRtOuD#Gn-`{%zT>}0ld%rl*!6! zn)NQTdDfZCUzr~=Pi2nDYMDjKx|11|btUtDCMV~9&dr?HIahLS=RD52kaI7Gm3J`j zP~N7z%=|$9c$dJ%aPeFdTvJ`Ji{qlWX1PYV#<@nhm@c8)>E7Vpptk-?LOe% z>i*Nc-M!zv!|f`}E_4*0E4*8Hy6{%v#lka%w+oLI{wS(1`dL)v8R8x3P4JHK4)c!k zHu8P;Ht{uhMLvn|ysv$6hvMGFO^SOKwkWgUB+u)1fhv4hr`to(< zhilH(T&!^tYoqHZ+bEkUTPQ~<`zUKEe^Pc+Hc*aJGH6Dcjdq{*l=hhRh*n1%O25x| z&bZ8Y$~eckLyW}785bFKjK_?(j9ZL{jH8TWj3*Ympy zTM6d~dkH@Zx(UAt!i0^5WZ?qg4BiP%I(TSO0Tk7d0cr^ zxm+1k?osYiu2Ei829#CGBg!kv)yfshtx9q#lA4?IrE*j8RB7shR7onKz*1i7 ztW;SlGj*JXrWviBshzByq$TD;xoM<>I`}l(WvuIA7=QVf3N?p z59vSYKkDxp?i)Bpxlu}_FY$~bquH2Z#Eo2|#3(bO#y7?y(?(O7DQI$=@=aEg&*V2{ zm@MWDv%@?nYp=Pxg&2t~(U$g>UY4GgTFWAfG3`K_AWfNurERiqv2L^aZDyO#=CFBe z9GfyDIU^-Qld&peWyZ1$rk!oiv1i#+9cqWkA#o@jT8G?Wc32!zM}%{>)0t(=nwXW4 zrO%RP$+PBW;aQxl30Whvgju4j>+*}myY2s-pYU-)=Z1&9eMgjA@bni4T?496ccq!i5UdT)KF7#5ple|;CZGD}5 zxG%+*>^tcjUCb&TQ#`SFO7SEj6Pi;zzgS#MEgn%kw|HUk%;K@dlZz9JgQdYhNuV@v zHgGy{GH@#JHSiX%;XLI$=RD#(=G^DB;G*2Dq}(J9PsC&JSUi|_ znRkuXls}8F=I`Xs7ETt<7aE1AP$c9F6NPM{UN`{F6|=>#c$wHF=8G+2su&ZG5G%xK zVvS_+-?P!>*Cp2^OQb8M)zYfumC2>a2b0$m$@G_#PbXI<|Cziyc}?=xdsTz7o$8aaziN^yS~ZABV{N5sq>5FAly8-hssz;-)i70W zRR`5T)lgNQYJlpMGEDVBc}DqFS&~|wYD;ycW~COV5?L#nVog9ZLrc+$bs}AgPOVeu zNP3^Xuc3vZnW2fHo#COO&X8ra88eJR<3UrcX@zNvX_aZIsmSax7n+Ay5-h7Nt1PcA zZ!L?{O4AC`^l4>j)oCSZp0pilxoKHxJFR=I`>eZd8*Np#y|#U}MYdD6t+vg!O}1UO zCAR&xZMGe@b+${kUnb;g5?hZ*-Xc=kkluASnrJ3Nj&hs%-Sa5|njzB{6v?VUZH z^PMNN_GcZ-I+9hMRg<+jt19bs){d+LS(mfCS$ncBW}V8KoZCHjd~R%ReC~+c&bf@- z(YgJJ_Vq^jpYp!t)#v@nd!E-d|7{+jz#o6O+^!neQdgmCvCHpT=34Dq?ur6dx`HmB ztHQOymEtaRyWN-F7u}cK^1|}M(!!sG?LBQh9X#zkOFaTF+spNeyoi_QjRa6{l9%J{ z;_K||>C^j6KBG_PGZn8bwijm?2a5y6X~q8Hs^XQ!)?#1r;?k9+t4f!aMgYr8mz9|9LfZV8(A&8hP{Pd#a_=|#r}h>K$>uVBsSxGPHfI;%z49k#d*Q`izDVr zxYbD|Nhpuc6Y?JMZt?E(?(*t*4|sF$(eN9D)llT}t#mWry9s$f-)N}=MYOe&?SNM%u}Rbo|{imke;RH+0izN(hE z2G*u-N?n=C)KqH7T9!6hSD?$(rR(gv41KhrzoC~Q&d|pYV~90W7v)g62$?lyUlifc1717=m%8JZ(=IU|{xq@72t|?cRi{!F$ z7v$23?bM{a*7;HSZS&jZcgSy=zsGgSb=-BtRq8tJs&{R6opc>??ROChtla3j<~r-z z?%L_P?ONa_yK(meH^EMDKXpHLzjD8JKXTW(@3>#OAG#HVwS`Ly2Ntz1>QNM1)T*d| zQLmzyqMk*&ih6jud3q5^l>I$@JOe!4Jv}|~o@B4mEAuM6Mxv!>u&=K#!I$gH_Z9du zeMgIT7ynuOviNcF!Qw5&5x}0}OU1{F-xY5zURS!QlvEa37FE`yOi)%>R#4_CiwO=4 zb`Nd|HZ5;g-nP7R`Q7ph<@d{PmtQQuT7IegX8E5LZz|qa^sSs(Iiu28sj7^uZc-gy zy{cwk&AFPDY+7wwYG-PDYHMl-s-3!;dY9^>`Dq_%2vg29Gn1KOriq!tlrbgDRHllF zGf}32d62!2eVl!itwefoMsQ4=cbt~odHl^npKz7XB|IzKF5D+PB|ISn(WByn;?v^Y z;yvP9;v?eY;zQ!I;{D=F;w$2PVx8oe^rUpB^oaDhbcb|e%9xaKDM*Sug`F}sWkw2` zB21Z|GW+jT?o}gG_$hNz5V=tvfge(BQY}^;Rz(5JR0mZnR9jRBR6AAMRez`!skW;2 zrJhW^ka{WgMC#SlovG(iZ>HW!J)C+ZRi>@dE!72ekwC4kM)ye9T;D=J!Z5}#&hX6e z#IVR%W2`kUH$FGrGQBcAGyP#+Xdzo>Sr%C4TXtD)rbPg4tS8eRr`=9_nD!#=Y1&om zHEYxKHtCJiyQTL|@0s2sy-9lObaTe$jCUFDGu~wMvu|;%a;$Xxa5Q$ZorrT@Hj+Ij zTb7-iJw1DFwjw(vo0pxLTbo;xyCk{Et8f7%fP>%2Ud>>jt`Cw4i1hD#syoK_bcyN-mN?e zh$-({{<{28`TO!66?-avRJ^X}SLv(lP~E$_Pj$cQw$j)0$iV4otgay=Q%7y>Go~y=xtkJ}G@x`snmw z>C@8(rcX>yNS~QLHGM?-*z`H+Bhx3R4^5wu@iF6PMyg$7SKC!~t^Jteuw$2lP+-j= z#{tKF$6m)t$3Dk%M-ykNb9HtUkd>XDU6t+2F3H}IU74Mmy)xUC{YN&Ib0GI(?v~t3 zxyN$XZ_1g{y7WxxiPB@Gn*uum*8<(kdX_CJyIeLa zxIH+sJgg#AzP@rzn6t zI^l5illX(UK^!UhF8(3@D*jV)N7@J5lCn1CaLVqK9Vv%W)~9Sp;mb|(4e}=HX6go2 zr24z6jk=ZkN9xbihSd60qgJn7q1&(Ppl2G`2AW~7aldi5agVX3dA(U^K`jEy5zA4_ zKx<#?0BcWcZ)=S8nH5ea6j;kh=cOm63)5-oNcxQMRt^TiL=O6kHG_2kF6G!Aa$l%O{o(DPLaRvf^Mxcx7ZIR7tK} zSb3`QWaY2Q6O{)lsntou4LY0-)BE!f97~=U-3Q&zY4zyKMMg# zE6D@tUFnmQyD7I)E~j);_fq#$cUAXLcTjg$M`~JV*qS98lh&f$t2?Eu)8*=O^u$!h zaNO9%yvZ!LBwHp~CtJr@Ct62arbiga^&a(YU-Ha$CId&bU;9T_(qFS74uzs$ax z{W$wc_Sftmxe<9S^1kIZ`S>?6L+m-p%!fH)* zN;O_xTvJALg86H<*3{GfWNv3}W$s}4Wv=h!%3I46_ph2MppCG90$hyawn*sGLD zYEV5)-CC2TJ+DIz51+5BO6y_H>in5EGMO%HR zeVt3fOMdwumV#wRg0ymK`O5Nv6=22aijfuVs#;W;Yqr%quNhj)uNBn_Ye!SZP!BQ> zFb^@?BRKbL(obQ7u!p3(q*U@k`XhxT|DLj0zChhgvqE!CcSV-I$W6H*s4J!+kVL?fdRX($VaBNjfshCu8z5=eKRt~O;ui8+(wfa!?j_T@~ zw>4dAxwX<-tabu*JoN=Dl}s#~RCc)RV3|BfEFD)YthiLs zwQ_D%Le-?I@l}_ruUC(##cNY)OKQ(BuO$I!Z^=N(00KbWT7FA+$|AOktP-m~J&<0K z{>U*VXL3$Lo~yv?^>{@kf)a6wtV|W;mM2zlDp(blE3Q;rtbnUnRZJqRsJ7-)%|+%5 z_8KxRcovz6xg7t{mAPm7pZZp(mFoxK>p&QgFYg2t3+Lr8swET3<`&M1ily4Lj5q*NqScB|=Gqp|J< z_ksJt1K>gM5O^3o0v-jAfycoU;7RZlcp5wdo(0c==Lvqn1@Izx3A_wm0k4AB!0X@* z@FsW*ybay~?}GQh```ocA@~Ta10RD=z^C9d@HzMbdP?Cx#gqDw z`jYyQ`jZBb29gGm29t)6hLS*10%;g&IB5iFB#BBIMH)>SLmEpOM;cF>K$=LJM4C*R zLYhjNMw(8VL7GXLMVd{TLz+vPN19JsKw3y5lOWQwm>n@YV;TX8Q%#{pv|pjTza6@F zr;)kj&(yATCq0VXoIIOcNWRXD0+d`WzZE%`+LAnk>?a>0pCq3k2dO`4IDIEQniY-= zLRxb}Ne?Ak{3bbK;C9$&B7NGxvcFuUwM11+J>&>-kDxjpor zz~_7=H->sZji3l97HS8Ppikts&?ag-T5H-Lv{-sC`a-&k9tA&S-e(SB4PcF6O+f63 z70E`@kaWa|WFSmV2W~vq%C&IQxar*cNqSxuuMxj1U&p`7zrsJy=b}7Rj0#aHilPWA zKoe03I$H8p@#$)5K$=C#JIMx}Th0|~@4&n1~7@v-0FYokdQc)9)k{xbJdiI_HAA*N{!fUgQ9B0@;cjM^KK0!(Zb>7ax8Jzl(3h zU3fKa$M4|>2n@pMV#<|P6)w$BS*tyDi$hpjU*ty-g#Hr3v%fl*XEoW5_F7;9Z zS=j=iBM*^#$QuHN_8z&5d`EsEKanrUW8?$!6}gSPKt3X$kq1Zv@(Fp3tmG`-s9flp5z|qp5k8PUglomp68z69^;5DQ`J1ia&(U0JK;NNLCDSFVCHp0#q%qQA z(vi~c(mv8y>2T>l={RW*=?Ljq=@4lvtTlEJ`+%Lm2n8PP!tP+Zv3l$Vb^!YmJBs~< zJ;tJd``9+@EVc#vihaS}V0G9bY$tXOdxpKkHe)}rW7uo#47MJ7irvP(V<)jw*kSA? zaSfct`pKR0Ectf%HTezs19>zagZER6Pz+Y|QcO@xR zaHaH6OjCp@Ix9vi!WFF)Qxs8(XvH8!V@0f@iK4aQPj#(&pL&yeqk6G=t9qMym3pdX zu4bMF*QhmGjZ$+;^H}p-^Oxqn=B4JTrcRTsJ)=FOJ)u3S-KpKK-KO2D{Y$%FdtAFu zdsur+yF+_g`%3plH$*>MKS#epzgllL95FODh8s!72xC*@SHlm(cOo?JxiQkz#?;mn zVQOt^Wol_^VhT64GtDzEFwZy7G|w$~H(xWKGuticmWvhw*Oz9onyhAPhShF$ zSi^0NZDBTchA*QqV_!y;y`{aCy}f<3{f7Ox{ek_W{e=CH{eu0dolu~z&VJK=$9~Fw z)qc``-hSQw)P9zD_6<2=oF&ei&Iac-|&Iiu#gg^A7^R?5Mqsy`8Xmh6Kk@K*;l)U7;%lRZ%luJ`s=XvOP<9XnD z@7?R&@4f0h>fPr(PPkG|drx?;_%8e402H7G=z)0wa-b(Af)Yh(M~S6?lx~#I&?jg( zWi(|FO|>IiKg_WjHC>uBv4vX5~(FrKlK##2=yrS1oa$MNK2&AXgnI9#-O3J zv$U4<8hRhbBe)ZzE#n#d5q=DJWrSc7qcP(zxD6wM@g8o<_yK=~>){7*OGY@O86%9< zh;@cFjD3}LiM5M$jJ21whqZ&Xowc8JoOOYHz9yneiuy!E`*ytTaHe2|avlLUkU zj}rx$V5(q=AWvWy6bl@JYC$I9N+}go3d#hzf+|6gpbI(+{eZR>F-3z!Gek2*qeRn1 zk40le^F{MS6GZ(*Q$-_0Y!OVjQV`K#(QMIhQKE<{8Y5zfrikW<=1FErj!6znjz|tk z=1KX|*;1;sE!Ga}CF?4iD;p+@0EWxP%jU}mh3^ zYcJ~~>n9r`TPPbRiq2FZuY2g?)WBjgIX)1D`PDt|10F0Ye6l0TEj;}(TTAyya^ zEfhjUv4X8Y6$*t);ZqbU-YPN_ISQTvQwS7g3bn$j;47Sppkk;(rYKOPE9{CaMMp)Z zB28ga=oMbY9rb1PMfF|vY4zBQN9yb9OX_>-2kI;8v+ASjW9sATTk3P_hw5n>lg6kq zXaMbZ%_mKR=8NW|=7%Osds%x^`$T(9yGQ#>Tc>@Yy`#OPy{)~Xy{o;Yy{^5XeXhNy zyRRb@c=Ad2nE-il^nCqB{XzY1{So~EeH5@?zg@pe?=qY;^e}cawl=miwl(%PwlQ`v zb}@D}#v1z?dz%KCVof7WL;o-K?gFZfb>AC5b$55A?$q5~0&PMX8X!$VBPBvYTnKT6 z2!zNab$8wM?z+pa`|en3ySrX0A^+i?d#)YsdCv~_y}j?<|FDt;D+~KRGqawV`Td@c zq?crXq_3ol1iKF)Ns{!D43;dCrb!n_mq-^%Q>4k#m(o|#U!||5ze!(6A4(rfA4v@| zvrI3u%4{+Vc1PYQyDMufuP$#UuOV+FuPv`DZz!)LZz|U*oC=G=rZ6e&3caGEvV*dT zvZ1oIvZb<_vXio@vXQdBa*3LvPFH8D$?7z9vD&3RsXn1Tu5Ot(K5tas*SvRmU-CZY zRndIImOibLKQKQrKS|qPJ5}38o2*UL60{Svle9gw?X_LCleP1;?X-QgwY6il^Rz9s z-L;*yBeVmxy|pv6)3kH73$-1!{j_tmJ+(8n3k@lTRfY|QVuRh_G=vOBgV$g%SPg!I z-muo-GpsbMHxwC43=RWeC^UEsQ%qA$*`{2R$dqHsGx1Go6W63QsZ2tXqWo?o+SD?` zmTHsR*4S3tM0SaNuYJEA6Tj`(9XA|h1s@Bl7RCy`6;v<$Uht{lcHysu_X_V9LWNHX zk;1!$4+`%TJ}iU_anAY91x~Ck$O$^{JC_t^6dx{zN}l)!2GsL;I2MkAOUGs67UJgM z$haKbOx!%&BwQM9Hf|}d1+GTIG+YLbiDToaI2vv`ZX%9@6W~&D$+&CD?3C=3l5FmK2Lp<+JIP{xMXoAiAchemXXp)BT2(Z*(4k(gG47SCoLq=NU5YL zBr++5G?kP_nn`ky#*^leMv>-{cqAri1}T|DAWbGMA?2iT(tb`mp0;>NM{+%K2Xb3- zXL5aVFLDDiHUg0zBEG;>Gh!OR<(H#4th!kPCnA7!4)+?n|xb3az4ej)Q%=E=;fLGuAL93^~KeurVwQC1W@{i9LcnlI>&{u^<4LvxS^3+0V1V?ETrFvTtI`>7L8}HTy~S?d+r3NcO|*N7)auKV)CX zK9c=g_M7a3*|)M!WM9obpM5R+UG|OaX!f1#%h^!&q3o}`2K>*wR{RgV`usP%>iqY- z#{BQR7_TP389#wv%KOBt$FIt7SY8+OOqC~YB_1g5FCHu&A|5JE5|0xnipPkDiDybuB(o&*B(o)RB|Rk5BsfWp1e$c2 zlqqFNsZzF-B0VJiDlL_Ml75yJ$UL$_*)aJS`A~VHe2~1Wyt_O}-df&A-a$TC-dEmV zK2SbHK2qLR-c9aNlqiZ7s};kPy`G^;PwGb*H?JdF}FMXESVZ%wo5yMeKipgv$GHo!eGHo*XO-|EFQ`l5uT5s~10w%9% zjcJPsQ}0b~lf#s6zHPo|zJ)FH*wfO_($O-?HpaHZMz$$!Yi&xq+%B~rwx6&cuphJk zY`^Qk`i32k91k6L9KSlAI=UCuD{NBOzOa5_m%`r*UlhJ6{80F=@O|OU!k2}w3ZEAe zoJ1$dxzLGszH)wWzIDELmO5eQ7v~G-OXp|jGv{lktjJJgDpC|@7qg4`#oXd!#Vl|2 z5~RfI3*d@y9$W}##jVC^aWz5u@$ufeazyYOr9O1urf4zI=+;aB1v`1+~6i6e+@h#iSNiQS03h#ymD z5)+B-iS39<#0kXV!~w)n#F51Q#D2svM9SjrBo8S}l95)CLL>=kU3ss}3k7K{X$z@{ zw2d@^q$62KUXqqnE5SN@0O>{A<+O`wH`A`CT}ZoFZED&Qg=|VP!Z}g>hIK(RDkxLdV%^Y^%M0L^&Ryil|p+$JxYBe8}j-e8qUdc*|(Syv_K`c*%enpBT-UjhXKmPZ_nCml(B~ zJmwxo6Xx%XGmPfUQpPn#l<}SMj8TtSm)VMWg>jDYi1C<#GCnY_Giow#GM+P9FcX<) z8Kc-^*w_fXoWLH-_OQKdAG?Tsg#Cv7j{TmEtzx|Vd-inB3{EG`ERKmYmNSksjkA=~ zmotGgi9_ZHIPEz}oH?9{oMg@zPBqQ|PCAFd!Gu2!g)^Abi<8OWbJ(0woUWWfoP``Z zrzc0kp>f0jse+a)5zZZWrza4*0 z4k^c!W6m+;=yR+&O$GG?g9Kd#g9S-~o`NBQ{(>HYZh~Qg`ho$%e!@Y*zQUHmw!$vL z{=&h+?!s=u4#M8T&cY$WZ^D7O+}!24k=*;aPjk`SN4ZaO;oLj9MIx8zzG%95hIp!Y zo_Lygws^jHj(D#4vG|oZQ$mx_B}*jP6262b;YfHAri39$mn@YCr2=V=lqan!t1GJ} zt1qiA^T|*dESoK#A)hLrDW5B!FP|tU%BRU!DME@3ij@kYlB=XD7b*$LWlENEfihdU zM9EgBC>JT2%4B7R5*vY6^OfV(6V!BdmU@+Xg?gp>jyf4TBU_M%%PY&fnKwl%5nlGB_`D63PnwYwPG5>9C`awu!E$?u7Qe_Llam z_N?~0_Jy{Y&aXYGeWiV^J*EAoy`u%S?Q{>cW!k$2(103l7$C!a!wbVB!%M?M!z;sc z!yUsj!*#<<6TyTx9W>oB9Wec5I&L~@+Gjd!+HX2y+GVO@K5r^AmzcfgN9OzH2j=;f zd6rR@#g>VdR148E)iTYJVwq`4w#>H7wJfk?*fh30+dUixy93LGK$1}$#$4kds$1BGN$8$&j z!l8u&3u`+2IjcKkh2INnJHHfuE3D#7aAG6yTPa6Li?&|5P>T2)m?rP&|<*MOo>5>=Oi)=-OMaE(kb~n;g zY%bOo=M|qQK39CQ_-*l<;^khRm*cHfva#f42^#zo($3e--#7mV?ilV2ZX50t?gBO& z-Ge)aJAvDQ`x$o-w-a{}cOJJ7_Y>|;vMfcCB2Q7IoWwuCU&3F*U&LR)Kf)i!-^8E7 zKgS=#|AM#Uui|gvLHup}Is7~PW&Az-34HU^g+vCCMqEIgN1R3E67j_OL^5$Pkxon_ zjw4cueByWFS<)%eMbbgiPo$lsy`&waW2AGWL!>jL{iNfh3#2`yeWc5z1EfOI?X)xoZXftF73YbH1#bN8-dp^sf}q( zX?19wY29f_v?;Vsv=&%xTx;4W+6Y=#S~psKS`XSFS})op+A!KcT3uRO+C*9+ttYJ> zEkbQa8$jzqYe?hLUGy8+s)&XxTUJq4VU{(^lI6?tWJ$6*FUw+PFh?@yGnX>?%n8hC zOcrw#b22lPxtJ+q&ScJF)<_t}T+U2lj$_i9Zx|BhP$rW(k;!FFWr~o6y`W`#tJ42#t23WCJJT?W(lSWXA9>DQ-sOFRN+M70wGQ~ zzxgcF2`t=fvV%E%W!>Mxtt>&$(r}-*dm@mgY7Vearon z`&;hE+-R;(v{&>#o6Lt#YTx=;*k_cbdn;8USg1} zlxQVViBFOzDVE5w3t0J5rBo_yB5RGE6St8ym9>(!kad+cleLpImaUepl7(b1Wm$5X zJX9Qa5Ymk z6itWxS@~1*C+1JipO*htH$g|xiF8t3fzGa@>ymX7bq3us-5}jOol-~AE!GKj0v%ab zOP{VAp&P9ms*~xa=p?!!x@o%Jx_jC=x`DdMy8gNh9Zxq(H(xhbm!jk9PU{@HF}fML z;kqOpHUe)LI+bp!uCFdrw@Am);dJ$k)s3|hJ{#&AzZz~EJ{sm3OAQT;b&OSvp9~F* zHH^1S7fqKmrU18dUL@1#Ef8dL9qF$`ByV&erQI`B8$PIwooh+EMiN( zMQ6#iXe}Cx&?2*pwau~3w$W`gTb9jWtC66y>1~&63_H{AwA<_sdx707LPdchSFyX;S?n#oQv9_zT3lNE zu~^_0dnMi+Z=;e1B@Iiqlzb}rQnKB*%eTX~*SFQb*`F485&SI}3Fd{OAryBLcL(58(l<*zj zh|r!;h0u&pmGBkcfl!?g!+*h>i3(yNv4m(KYKUs0kXSRpN|X_eL?_Wf6cO`@CZe3^ zAr=tJi0s7=Nv}x==@#h)=|1T<(o52N5=i=$^nmmV>sozGdPKTMdPaIe5~ux|2BlG# zAnM6sa@F@aH3S}WBhq9cKM-fsMQDl@f3Y{{B!lFuW&wc-g2sO6S<|F5!`Q_0o*#=`P??#w%nfF*4#1NrdXfAZ=AZ^;amat z3+FYbKX)Q`5O*wh822To7PldH3bzI~%K5|@#cj|1&Kb?^#BIRs$gRz-ko>l_N zE6P*KGs=s~OUmua1Il9MVP#mkPPt9Fv3xfAex>rfQlJLakQz}xR(H=M=Pkizqh^gk zqtzHSc8yJA)wIa>>elF1>cYB%x+}U9x-GhGy3M)+x;?s|b(eLUbbj4V-8F1B3h37B z4(V3uJi4>GOS*t=qi(xygYLGjM7K|ORkuQSM|V^Ai|&DLht8>^7?Om z#wNzkrikgS>7D7Tsm%1+^xgEy^v(3f^vd+o1ejNv!{(6rx%s8}nR&CtXR%sbmI6z$ zWt@#+W7=-nuG;R{itTkARUI*V14qEjQ`H@f3z`%(END>B&Dq}B z+1b_E$=Si#*4f?J#o5j&bLKduPJwf+YmH0f3btK|cHLElN=0pB6tLEj1A5#L$gPCw+2 zV3k?p0}}$70ZJev@HY4^_%XOX6vI_Z9+X^)tC?IY`4g@TS1-AKauioL*_vWYd7JWk z%1mrEv&n?Hgkgk9gxQ2ygy{q#fkc={NFt0Q^dpQXj3o3Sj3%^A-An|CJBcfZtBKo* zTZn6kD~T8uLi#|8l0K6@k*cMYlB%YCAyrAMl~yCIQQER4KC+h_CcDV1$Zm2Gc?CI0 zUP<lGv=k|2CuIj^6~#;mP~4R5l&zF7#YNdf zSxK=|vM9SL{g-lRJX$er1x-)$(t@-Cnw4gu*=Vb2VH$(BlU70#(PeZgT~6Oc-%a0} zwIgd|)~>AmS(~!9XC<&|vRbhaW+}4;>n#&zc4ozxub3dS9jilmmHNjrW>3~T=4)ni z)@NpfIgwSHgbWFtF;~Q0&dulIxjEbvE{>bZ^>E!> zGB<%s;j+0(>?pL1TgY9=wQ`wUHMfXM<%+p1uAIAzznvf8@8GZC`}rIBd-(u=EkDFx z!(YkY#1Hb<^LO)0a{M_&L5d(++Zl|sGHBvc5c z!rHmDa#gvBqK=|Aq7I_=qHdzLqF$nQqM!&6g+u|7U0fhGi%sIol0%ZKl1q~7k}Hy% zl5>)il2elN62Ek%bcHl1T_p`jMeI?sU9vs0-Ln1ii}IuLE%Gb!?eYWi3-Z14(~5J7 zONxt%&&mhN7s`n8j`FFpn(C_(Ren;wRlZTaRz6XR)LYa$)LYfRsb7{?Cw_XNex*j$ z&(yTMWqGSLVNFO=q^Xs#O5@XbH7)ZO00PN>t5>K>%Qxn>R;%d>sso|biMQ)^aJ!& z^-*0%{U_aEeGh#^_e}Q&J172K_eIxQ-&sFMUr*mgKTyBaKrm8`G^5z~)F?0#jf;$F z#uOvPNHQiH(~a3imJw&1Z_F@~ja=h$qs+)LE-})L3ygAOu5qbxnUQHEnQEBpo12^K znOm7#o7Kim>Zhwm{*zCm{*&BGruvvGGDcvvHWDYVYzO(X}M)NWVvHGYB_E> zZMkbXX*p;)V!3A-Z<}W;upzc5wtKc`w)?h6wuo(oJ!oHP57;|9x;YXZ-5moQEgbC} zEgel9Z5%xuJsr&*O&zTr%^d9=tsHF~{R+Alv@U2{(7B*nLCbmqy>&ft-E}>8 z-Elo~U2^^II^lZey5KtJy5d4zmtD79=Uu;IJ(G`J5!ZFs4cA`RQ&*z?*14 z`&!b(*WB0A*UHzz_t1CQchz^pchh&pciwl~ch`5(cgJ_hx7+{9|I+{7|IYu`KRqxd zuq+@9@B>)^Q6M+K3ort-!1BQN;MZU@7z=(5)&dfMFTroY+CUAUI-m{R2sH{f4!2Kk zmfR}2ZE}<3$H_w%K3&KoWD+<80U?V(C1ewF2{SDc`JE4 zc@KG6IwL(RotyqVJ(7;5KTAi_=VV|bP${tX?bobvcN_O0cMEqD_bT@o_b2Wu?s@KJ?q%+F?k?^Q?rHuB{xSYf z{M-EF{Ga(3`8W9&_-FZ7`A7J7`G@&u`1kn__&`o5hbhPsEE6mj&;@J(OQ06|g)4*} zp-WgKTq&%Vo0mIK)L%4MG)|Nx8Y>zm8X_7bIwV3xelZ|kDGrJQ;#K0+;v%t6>=i$f zJeMGn7m~*kNb*4PR02wVlRT09Dp@0)Dw`>rA=@YWNw&9qUC}Q)W&351<&Zogex!nTE~-|l`l?Q<&Z=grhN||e z7OJ+YuBv(}tZP-(Qq@4!T$QNmu9~8js}*XQdZ+q#b)UT6dCT*5YSwACX%1-iYBp*wn^`dmF;zf7O0x9PL=Wc?yNUB6sUHP8(-!y042SYY%T-A0$uWYidojU`5@ z(P&(4)Ef(pP9tE{89m0J(Qh;xJDPi#2bueu2bg=B2b;T^dz-tN2b%ktJDJ~_f3<*? zca{&9kCsQ4=2qD9#PY^+&hpsu)bh*{v;1!PW^vkFwnE!S+iTlf+Z)?^+j2X{zSh3p zp5z$s80nbknC2Mn80#44nB*AbnBX|#7+x@-U|7MBf>8w{3WgSl3Z;eeLTm)S8VbJ_ zCOL;WhdbTQLZ{PdcNSnrp`PxJ?%M87?wamKZkc$7X9yQ;gpyJkYn)!RMFJ9@R_EHX0B9vb#2nD7*qdcbkPJ2#+XfJ6n?HNr&&!g|7->3hQ zWiOu#eJf^ZSZi5kR+trFtz?B*MwXjZE5X4kVrf|$SZi2LmYTJW`pK+h^-}0aF-|=Do8$QSv2si?+z$@G( z+$<~ z@|Wam^?CXN{d#?oeudtuU#*wx*XaHFkY21;=*{|-dYN9LPt`m0#d?F@uJ`Eyy+*%E zpRYIR^?Iou8-ed4eTlwMAJ#JrM~$0|TaBlUJFx3QTZ{*cdyR*U+l=RpCyghJmyG+3 z+l{A;7mRz1`;5noKN*i09~*ZWhnbViW6k5ulgugDb)gaF$>y!*?dEOfcjouzj@H)J zmewZL8rFK&uGU7@rq&kLTGj^E+SZ!Z_SR_q^RnCCZ=L|bnIsxYj=SsKMz1>Z76WlZ03OCWc#4U2q za^u{|?o4;KyTCoy&2mfKscyVG#l67IcZ=O}H^rUqrn;B8=erlX&lVjoI$w0M=ycKk zqHV=HinkPZ_IC2N_IB{L@%p_hy+Lot3wUpNZ+hQ)CzVVsnO!ogWLn9Tl0;u$Uq4?T zUy^T#Z=kQgZ?JEWuf(_7x6)VD|JC=w_u2QwSL*xZ`{s-K%6#83%J8Va%pdhv34Hg@ z4EO^Z0--=4ur9DNur{zJU2IXj(`ewXru@*CwfIxB}S`GuaOX?mC~xvtI@yH zJoE?j`&kdN?q;249bg?{J!PF?9c1le?Pr~3?O|n*RvtIun|tHP_nYtC!P zi(xeIH*OE!ckX9yU0#)(82<~uT27QN68t1QF5D~pS$I^qPk2apLfAaFS?&@MO|)2q z6D<^_ib$e$q9dYLq7&kS;`-8N(&o}S(#F!J(k9Za(k;>qS$joqMH@wDMJGjnMF&L> zMK48HMWSMmVu=c;BB-b;qH3usLzS$`RHdpGs`jdPt3Rtt)wy}sHNR-CX)^ND^Y`e_ z=#T49>QCr*>-Xx9=+Ej;>5u6z>aXa}=}+r->i3oJ17*MHyBmJe@7EvIGYt_VY6OiB zuzldA@r4mFJ~6&G!p57%hsGPm-;8&SknxW3p0SGQgYlX1k#V7Uj(LH3u6eo{XHGWH z!uEka)}GdG)+Fm7>oDsK>p<&R>v-#6Yoc|8wTE@Mb%3?Ib&PeKb+mP|E!XC=mDs$t zGHf5HZm()jurF~eb!0kH9Rx?ZgYH=7NOO=J6bISCbS!dAFPKpe!mt+St0-`q-*} zk-im}(wva6A+|BLDYiMbCAKxTEw(+@1@oK#B7JYc{=b0oCvxuhMrK_WeJ_4#W<|4#f_~j>L|}G80B)0`$a$a_PG(<}&}S$b2GpGIlCg+J{H^r;mv{d1s!aG>U;5v^zp-<|-$>v8_Wg=P>wkSejD0Gp@~ldg7)dQp`#ajV z;y>5EdAssOE;BnF5ObPwRBtQ_R<}tJ4<(!?k?R^y7!;|zkQ|qOMfao zP+BEnq9$Qbx%FK?R<3=wjkWtH?YnBiu+Bp|mpjqpJ5PxH)rzh*sQSNH(akzH?_6$O zkL_BnUYE<@f0eq+1@Ln7yIhk_!xZq^nDbq3ewRDn<;Hj8K}`mg8{9h+?j%HGpA$O7 zGXKfpE?2laV!HO^9us>62USg|)&+@GkNri^E?2+D_3Rv5pHMD+m%HCr694LbmkZ$K z=J%M+O$U{0+~q2Fm4pTP6&cjndJu8Q(zO!ev8AggOd3>KNBi#y&;M0QGqw$Ar6QZWW?5m$?AeFYTkv}rDj4!a{Ip*s3zKetUwiw zRnDNQ$e)TwpNhwxs;oSPZRhqMt4~E^mGh@6vZvyar{Zy^9#>MG!qRvASa~WMtDHSm zkvkQSIu(yORatQgOTXa9s#DQe<=m-?%&B<9sd&7p%4$4 z#bZrXR+_@ncm7yyDjKVtH&u}}6^}F(k26(SWeQ8*^<$-}XsmM9R7K8IJjzr&##Cj6 zDJ*^Wk5#6kvC279<;GO?y#J_7#bZpxBTQA!m%`Hb{8(cu8mp`_Rgo|ik1rLEE>$^O z3QND}$NEyySY?H&igc-XY^lE|OI7SjRaTY4(l7q8vQ#uyIa{hCS1KM=Djrj+vZ550 zzW2wfQqfrDT&aposdz-Gcs!}fYEoGGB|lb_ipDBuN>$`Z#iL2ZV@Xw3lETvW{a8&Z z8mpWqRgonXk0ce3BUM>N3QOPrVq3oM~RBZh^nj*g{8mx$0||LSmm6kij1gugs6CYsLJY4 zSo&*ztPmBARnCa2$cL&(hx+?AR6H_NVhKj~2qeE3BL;Yti)VjYbL&f7l zRaS+<(qH$V$x#12E>tx37a2;g7O4KX3{{Z|6^{uOj|lY_4{8G;eh~^wfBlbDp`x+M zxlk3EQ1OUR@pw>`)u6ESH~d%;DjKVt3008?6^{n>?=2`SmyH$qNAPP<__R+*m71>Ae$Vc(GM}3w=WB__BXrpE0T}m zagX9rkFc}QKdpL%rN3pz(u&lhc+8`C#G`2J&nq5b>2E!~pd#@o9`7g~?I;@i^J+&} z`rFPet4KSF$2y8fI>PRE|7oQoEdA}L^D2^#;&G1RQI4?dUw>NV2uptlIkO_=C?4Y| z9^oh&`|}D%So%Ak2rCkf;_;2*(T$?9Kd)|trN2vIsz^7A$2N*bHj2jnys{CN{_Y0k zie#gBT%&kYBdprsPpcYX>F;UCuShkD$25vZG>XRlPomL`|FxnKmi}Hp<{DLG8pR_T z{c+DI8oTTGvwB8Y`uoaFql!GEcr>FwZW%>mmoopXmJycz{<#BFiWq$>@(eM$y<(5%Jj!`^{(H}RAqOnH0iVdUx{else{(%H%MS@X0eo;JnQ8f1F z)r+w755A>Vq!-0w7sVqNMPvUpa#4e?|L@sFSo(*`{i2HOqIl$@KkgPqW36R>R<{UC z|8TioRFPX0k6QG{&7x?`VEeP0MOgYr%H5)h%%XV2qCf5xMPsi>e^##uOaExOSyYi% z6pvQ)$E~7htTy-0Y87GWA1n8YDzb{=k&6DfQxuK$GX7beA}symr6pv8!$92F@%TgW=tI%i{{(#~CixNm5SIRha)YQMf9OBcht~XEf9Q|uL(y2dKlFc7ANr5> z(Axho`Vf}>#lHwdiva>K7f1zCfJHzCKmoW9eU7Y&MzqoA;SNnQ_*c*4fsH)`eDrb&++B6>m+pPPV34Q>{~M zVw=e3x7D=Qve&V1v2U_(wQsg(J0uQ)gXQ2lx1@}$&Yd7S+<&MTqxv#j7yMJ*<+{&W+MGuOe z7Wek{_4f1j^7ioV_U`xY^FH!E_CE10DOp@XE=espR&u1|P|4AfnZ6mmDZX{S^}e?L z7XCzk2Y+{eJAYSyXMazBH-ATedw+BP34gsn-9W=Y{lJL8i@?jkuYtz_IDiJgz?;C$ zz@5OWz{9}301~(rcpA7L5Ca;(0_Xq}zz6aG319%MfDKRrY(NO)0z7~T=m7yB2l4?f zAO+Nb5nuqGkTY~V^gYx+JTW{eJTFWLr-q5)5es(__7ZjzAmX&NGvu@6*Xh5fAJ6zX z;|rw~y(PT`y&3%p{aF^4{$(f&&U(*!!+ODb#`?l~%X-cFoi&y>j5m-sf;W^mm^Ya> zk~e`jnm39!kvE2y#GAxxmeV|ELyl6Q5F8Y47Htw875yfB=aF*Vl9nfE|*Pg5_SkP`YSyr-@VWnE> z)@9ag>o&W=VRGmkiwg(^sRj4~VgaeZUO2@$$+_RT*SX8N+gZ=k%=69N+0)3=+*9Um z;c4vYM=MZXq3DH`A% z=sn;)_|Nzo2bu<&1nLEA2R{dD1e*p+G4*fam5ISx!G^(_!B)ZM!8*Y(-~-kG0N?^j zfI=VutN=Vf5ZDBGft7$CSOshVLcnU^7_bp22G#-V0beK(@`sQR9Eya{(4g>ua9TJs zoE|2J7l)nU(aEDQtj(Kpl5m7@lrS@GM%qR4Rr1^PD5V{}D*HRD8ao;*#lWvAys5m| zyqUaNylK4Yybd{SbK2yn1g&yeqHE&*(!tV!(nX4eigyZ&%BV7_tSW=bu9~Mlq#l&_ zNYmQT$I!#j$}P1&Z*96&I8T~o-v-`p5C5up0S=mo>87Y zo)MmYo{65p9;65^f{KQDM|+QXpL%H}=S$9%94{gI2)Jmj2Z)!TrEK;4ttra2B`#Tm_B-r-75e zAz&|X1vmg41hxR@fStfr;1aMKxD4z9WT9Z_W$1P2w@|xq>u}rf;PCt~JxmL`!UyJ` zA)F>$B=8r{Nt>H?i+r8@F1-uAGrb4BE4?1OHoFeH!E!v0z)R(&@H*yn%GsEs7GSk( z!dt?7!aKrj(N@tg=^iOh#+RikmM9i0(i9}c2gO^3Q?)>CR6o|R^M@LS8IlbB3_}dV z4gE~LOg&6}Oo=AG`Iz~r`I}i~)mihc2CLqxwzjYrIXn)(!{sP+6g#|*%z~u_Gn{ih zIL~a)9M1yJ49_&rOwTOObk77Yiy@}>Fa`xp8b`RDo<_-FcO`)B!6{5bzL zf15zxz?c9bfDcR$&J0cnP7RIPh#U z!p?P1dlO0s{>A=|flh(Wfs`OIhzrgR&I`^7;)9EWbA$7P-+<4+?*Ih61WExI_yjx! zUIQrb4tN8Az$@Sb@E&*u{05u|T?@Sny${t4w-1jDj|dMBPYEvw^TWI_C(I4sAY3NQ zPs?7?pZ;6c>#Sz%3?79?=4JA_Mwo_~=9oOz zB5TMIcC2s!j-$>a&J#|yhv8v*kmBjyDc%|0vtGoT?!V<<9H0i51+#)ngXzJ{VAW6= zP%Bg|R5Mf~ln|;CsuPL+tFXi>f z*_3lvd`~<|%2cowpA>#oi7KG-seaWw)l4_cFw8Va%`&sXEH}r@C03txtz(U2wS(iy z_HaFXkH9m_n^ThEV+1+D>|ni6gHYp8qfpaOlhDf0$55T{jIbmu56i;RaL3dv9#=8e z6pih&uXCJq3Oy2!$dl{I^b3Q6AU~KJY#wSB`V^`gUK3{U=)BJgmSMbUoN0n7WDVLj zI?g-hcm*ZGl1n8N-)0}ppXFcX?;dCoY89FpuC=ryyJyZ^!v;sbC(ontF#QbwfIyp2 z@0>Y?uvP1k2KR?@MQpz;*dfH^v3P4js_?9EN%^+;%TRC_I2;@Sjs!=6qroxYSa2LT z9-IJ91Sf%$!71QWa2hxroB_@RXMwZ9IpADy9ylLd0OG)8Fa=x)E&}l&0Zavn;9`&j zrh!X9GMEl#fSDi#TnbV_8b}ATz-1rK@P|Tc_1Im0i!ViC&(K^3S5^FR%l4{AXjs0R(85j25j&;nXP8)yd|U;$VNIzboc20dUASPXi> z63_?w!2lQp0WbuH!4=?2a22>3Tm!BJ*MaN74d6y_6Sx`N0&WGjf!o0y;7)KCxEtI9 z?gjUO`@x^U1K>gM5O^3o0v-jAfycq0!4u#~@Dz9&JOiEu&w=N`3*bfY5_lQB0$v5L zf!D!bz#HIA@D_L*yaV0^?}7Kh2jD~S5%?H<0{#j<1wjx3VGsdPFakaUpMx*Jm*6Y# zH}Ez1JBX!!;|=&0dPvB>;6#N2y1;2sc!6;Y;#=r!q3RD%U233b@KsBLS zP;ICVR2QlT)rT5D4WUL*W2gz#6lw-Fhgv`_p;l09s14K>Y6rE4IzSzvPEcp43)B_r z26cxLp&n3As29{5>I3zK`a%7n0T5PK2@QeXecxc8V-$sMna>Y(a;!ZEHn-p z4^4n3LX)7$&=hDYG!2>#&46Y?v!L0~9B3{y51J1xfN)SUlmab;7D0H30Hs1iXfZ^B z(x4>}8A^vTpiGDYErqBM4WdI?&@zYtF(DSjhL%Iw5C`HyJctkFKmtezNaItCqweuhp!C!tf&Y3K}e7CHx=hb}-Dp-a$Z=n8Zd zx&~c`et~X4H=$e5ZRiek7rF=ChaNx=p-0eT=n3>I^b`Ui2!bI5LZJxs40;Z|z|wyS zy@Gy&UPHe_Z=ko(JLo<10s07if<8l~&==?{^bPtBMWHe%1|`5%;Hq#nxH?<|t_jzI zYr}Qmx^O+XKHLCq2seTo!%g6(a5K0$+yZV1w}M;4ZQ!oD8SH3*kjD9wxx4FcDr1li)OX z2~395;S4wvroc;KDolgva2C7_#?rsVfSE80X2Z+jY?uRcVIItfb6^21gmYmLEQTep z6qdnqSOF_x6|9EyU=5rPYhfL%hYhe1Ho<1t0$X7lY=<3i0bB?>VHfO%J#Z0R413`c z*a!RJ033t?I0T2`74S-U6}%c=1FwbG!O_@ycmuo<-UM%kx4>KBZSZz@2fP#B1@DIU zz;pTNJuPhk*-U>HVV6pp~p;OFoQ_$B-b z{tbQ&{|>)_-@@e441-R;IHsE_&Xeh%itKCfK)-MBGr)UNDZVWQVXe# z)IsVZ^^p2V1Ee9+2x*KoL7F1Xkmg7Wq$Sb{X^pf&+9K_c_DBb$Bhm@!jC4V|BHa)y z{oCDP3Xnp?iMS9qf=!r_V#JG- zAU?#81dt#CAR#1-tUy*GtB}>m8e}c94q1CTL*64FkdMeGS+5~NiHba}EEzp)|E3`G*25pPBL))Vr(2i&{)(P#5c0s$M z-O%o6BH9D(iS|N!qkYi6Xg{<+IshGr4nhZ`L(n92C^`%sj*dV_qNC8!=ooY?Iu0F= zPCzH3lhDcN6m%*&4V{k8Kxd+}(Anr5bS^p%osTX+acDA{f-XcCp?H*lrlLf2F-k(y z&?P7tO-D1(Oq7ByMX4warK4HsGL(TbQ5MQZm!sJz2j!wXl#k}10#u0Rq9Rm`N>C{( zL*=LfRiY|Xjpm^mG#}NXI#iDuP$OzW&8P*nqBhiyI?w{N5Otz1)Qx)3BD5Iwq9v#g z^`ik4OaE>V1<(*0MpvLK(N*YbbPc)|U5BnmH=rBQP3UHH3%V8EhHgi9pgYlB=x%fm zx)YDQ{B zYDels>PG5C>PH$x8b%sL8b_K$nns#MnnzkhT1Hw$T1VPM+D6(%+DAG>Iz~E0I!C%h zx<gCc_?Ln29$p^;&c;gJ!Mk&#i6(UCEc zv5|3+@sSCUiIGW>$&o3MsgY@s>5&m+Qy%=LT>Cxk21uZU{G&8^#UiMsOp!QQT;53^$e=$BpMEa1*&nTq-x2o5D@y zrg77`8Qe^67B`!l!_DR9ar3za+(K>nj7Pq?StGwwO} zf_urm;$CxaxVPLp?mhQ`V>p&e<34hqxX;`dj^lVv;6zU1WKQ8!PUCdW;7l%^`^tUe zzH>jg4DKiQi~G&};WD|uTowoM+4wjy_nUyrZPH{cucjrhiV6TT_mjBn1j;9K&o_||+IzAfL5Z_jt&JMx|Q&U_cXE8mUp z&iCMZ^1b-pd>`Jz!#u)Uc^jXZW#=6{$~$=%@8&(cm-q30KEPvqkPq=VPw*s9@!$p> zPxDbe#;5Ro`F?zVegHp^AH)ylhwwxBVf=7@1V54=#gFF4@MHOL{CIu>Karorr}C5e zDg0D^8b6(%!O!Gp@w53k{9Jw>Kc8Q~FXR{Ti}@w|Qhph~oL|AOl`8E7nejUG_ z-@tF=H}RYKE&Nt~8^4|3!SCdE@w@pw{9b+^zn?$AALI}5hxsG?QT`ZzoIk;z@wfRq{9XPYf1iKw5B)a}`A7U?{t5q- zf5t!OU+^#aSNv=K4gZ#Z$G_)4@C?uLY5Yh26aSh2!gD;&3%tlnyv!@S%4@vN8@$P< z^I!RI{CEBbpTYm+fAPQhKYS+tm(SuMA)62<#0v>Rb|Ht5C?p9vgp}EjPXeqQ3S_^H2wn96hz0g7ED0C7!3tfb+ zLN}qi&_n1c^b&dteFTdD3y5G9Y=T{I2&mu`T!LHh2wuS__=SLg2|*zw-~u6#0wsin zh(HTbAts~RVVW>qm?6v*W(l)}IRZfc?Ob7=Fke_8EEE0&h3AX|IcZ9pbJ>kCaKzJxT5*`ar zgr~wY;kocacqzORUJGx8x57K&z3@R`1Xf5BJ_?_N&%zgh6L>)oL_rc{K@n6z6Li54 zOd(zPDtr^Z3qOPm;ivFR_$~YqGKIfFmH>&_#5gftOc1k+ImARUNz5tc5_5}r#JplY zF~3+qEGQNd3yVd>qGB9@uGN1yewW3uZq{i>*5XZrg%%dE#49Diuc6(;sf!a_(*&# zJ`taa&&22A3-P7+N_;K85#NgM#P{L{kr7!jP5dZ+5$vlto2UMNQO2 zLo~&7@vHbv{4V|wGsK_bFY&kdN6ZxeidiBgWs~BhcnP5YK0(SZ<&YAkBq^tqOUfTQUxhlswh>GDoa(Qs!}zn zx>Q4|DbL_Jq zb&@(uU8Js3H>tbSL+UB@l6p&hB#Q(~h-8&)l3j90sN|Gfl3VgfUdboX@E3P8YB&thDbxDVbXAEgfvnbC5@KGNMogO(s*ft zG*Ox)rAm{fDbiGFnlxRSA6~<4y6_ME4;Q6N(q-w2bXB@0U6*c1H>F$BZRw75SGp(NmmWwD zrAN|Z>524IdL})WUPv#cSJG?gjr3M}C%u;HpFS)neN4ChYjL25mCfj9)jLJ^gCA(#h?3I18Uk=Ea9F#*c zE)y~-Q*v02$g~`lV{(ezSMDeGmj}oLy)lXcmUO*viuDu0u|%Rl4{`KSC#{w@EJGv&W>mJBJ`lsF|`Nl>yYIg~^tNy(|? zQgSPKl)OqlCBITYDX0`u3M)mFqDnEPxKctXsgzPmD`k|jN;##xQb9>pDk_zf%1RZb zs!~m7sO1x+&e29!gK8m(pA5qgWJJK@_WEQ|yXEK^3RsQrwD1@hU#WuLKlK z2`V84R|thvC?%{!6k3TYF(pOmtMpU)D+82)${=O1GDI1w3{!?HBb3ank;*7#v@%8+ ztBg~|D-)E7$|NOKnXF7vrYh5v>B z98r!c$CTsB3FV}6N;$2ZQO+vol=I33<)U&)xvX4Kt}54*>&gw~rgBTUt=v)WD)*H8 z$^+%0@<@5CJW-x1&y?rN3+1KqN_nlkQQj)=l=sR9g;7`~P5G#NQa&qR6i(q4K@k;6 zkrhQz6;06BVx{8s)bnaW=!OM%pEYMdIcCaBrf9BQJP zq~=s}skzlWYF;&;nqMuT7E}wVh1DWzQMH&_TrHuNR7XwVYaBt)M2W71c^= zWwnZ0RjsC0S8J#>)mmz8wT@a>t*6#k8>kIcP%BDptTs`bs?F5qY74cc+DdJ$wo%)v z?bP;a2eqTxN$sq5QM;<$)b45zwWr!k?XC7vEh?-cs#UeAcGaPxs#A5TZq=iDRiElt z11hEl)sTv-gi5NE8df7JtwzFla0qQ_?kUCf$q7GGusl(L~>PU5zI$9m0 zj#bC0U4F6I#Zpc&Q|BBbJcn3e071kP+g=hR+p$t)n)2( zb%nZ8U8Sy8*QjgNb?SO`gSt`Oq;6KXs9V)->UMR9x>Mby?pF7xd)0mFe)WI~(EoT) zJ)|C1kElo0W9o7BgnCjvrJh#LsAtu4>Us5odQrWkURJNDSJi9kb@hgNQ@y3$R_~~H z)qCoF^?~|OeWX5CpQumOXXU;Hr%BZZGrhZgEsh`y^DyQRYNt^boHzHP5rL^P&3q@>M!-T`bW)F|EgIkq-E3Mw0JE+%dX|n z615~Prw}3YWcMMS^=$~R!A$X714@n#kAsD39Y17N-M3E(aLJ&wDMX7Em^Cm zRnjVJRkW&FHLbcZmnh-TGnnq6~fsOHpMnp^W|Ud^ZZ zwSb0cK`o@=8ljOIrG>SKMr%9!W3_SGcx{3X@|8V+EMM8c3eB5ozzZgr?oTMS?!#5Ub~=O)Gle4wJX|H?V5I7yP@6GZfUo* zJKA0Co_1e*pgq(cX^*uh+EeYB_FQ|Rz0_W5ueCSYTkW0pUi+Xi8mpygAGJ@~XYGr| zX}l(Aq9$pwrf90BX}V@;rk1XK)xK%pwI5oB_EY<%{nq|ync811OM~=mdYm4wC+OMr z9D1Ujr03Lg>ACehdR{%Bo?kDZ7t{;sh4mtOQN5U6TrZ)Q)Jy55^)h-{y_{ZNub?OE z74=GbWxa}CRj;N4^gmbEYv?ugT6%50j$T)OLyxY z-K+a_zaG#rJ*bCtTqkr=r}VHM(KEAXJ*vm_6uqzBPw%e}&W(fSyDtUgX3uTRh?>XY49pQ=yOr|UEHnffe!wmwIntIyNt>kIUS`XYU? zzC>TDFVmOnEA*B6Dt)!SMqjJ1)7R@8^o{x^eY3tr->PrZx9dCfo%$|)x4uW;tMAkI z>j(6M`XT+Wenda2AJdQPC-js0DgCs5Mn9{c)6eS{^o#l>{jz>Vzp7u;uj@DToBA#N zwth#ytKZY_>kssY`Xl|Z{zQMOKhvMDQ0GHM%jjJifWqrTC=XlOJt8XHZFrbaWPxzWOC zX|yt08*PlXMmwXu(ZT3wbTT>{U5u_qH>11J!{}-BGI|?*42uC9h+#EshTU)&sNpnR zhTHHMUc+bj4e*GM5i~*uZV(1(P)68@7_<>JVn&M5*XU>THwG93jX}m>V~8=-7-kGN zMi?WFQO0Ovj4{?2XN)%{7!!?2MyfH{m|{#drWw!MJE#GA|{)U^X-xnT^dRW>d47+1zYl zwlrIrt<5%OTeF?n-t1s@G&`A{%`RqFvzyu7>|ypadzrn>KBmQlO~kaCHq&l8Ow@Fm zF4Jv#Ot0xP0s6e(1P>vZK{I6HCSj5$Wrod&Nt;nKW~P{Z&33P%hrRPsCkX|soPL_nO;n9rVnFbU&Y~7(WwWFeb=^7@Q#(lA)L|6Jcm3%EXuyrZ3Zv>CX&c1~P+~!ORe5 zC^L*1&WvD2GNYK$%ot`YGmaV0OkgH5lbBRyGBbsl%1mRXGc%Z(%q(U$Gl!YW%wy&= z3z&t>B4#nOgjvcgW0o^3n3c>bW;L^hS<9?r)-xNJjm#!yGqZ)+%4}n{Gdq}_%r0g( zvxnKs>|^#b2bhD*A?7f1ggMF_V~#T?n3K#Y<}`DL0qFla%ba7*GZ&bP%q8YBbA`Fe zTw|^?H<+8uE#@|Jhq=q#W9~B#n1{?G<}vexdCELvo-;3)m&_~XHS>mf%e-UWGand+ zVVN}MBlC&*%zR-uhGzsuWF$sr6h>tMwwh`NyZNfHX zo3YK=7Hmtl72BF^!?tDHvF+IoY)7^e+nMdcc4fP<-Ps;&Pqr7^o9)9|SeQjvD{Euz ztb;{aC+lL}tcUfoKGx3$Sd0y_Ar@x|mSib5%tlz6jj}N|h3(7sWBaoM*n#XIb}&1H z9m)=4hqEKtkt{&}_b7HWJBA(0j$_BO6WEFDBsP_u%uZpaveVe<><)G( zyNlh;?qT<```G>L0rnt!h&{|6VUM!M*yAkN6OTQ~o?=h4XV|msIrcnzfxXCHVlT5- z*sJU{_Bwlmy~*BUZ?kvUyX-yoKKp=u$Ub5pvrpKk>@)T``+|MRzG7dqZ`il&JN7;M zfn`{hO=CZ@pV-gr7nWmrR$xU|Vr5ogRaRql)?iIGo&CywW52UM*bMe3`-}a}{$VrO zzibu@rDaQtON&oSNXwpn5QWLl}T(rIPV%BGb|E1y;&Ejg`XTBWqgX;spyrd3O;o>n8RW?HSZ+G%yt>Za98 ztDn{&tzlXt@HACcR%TX@Ssm=4Myov=v~za5tZdM$+4%tv%qdx+Y=!@NRIAWAH5*j_ zZ`V{JwH(wbwL@wg)Gf7ZYWLJ0sSp%PO-UV?Iw-YoYQNNYXl&}Z)G4V`Q&Yi+k6A-! zmxdr{6jTQyp+QhXsQ!O`8w1_{`4bPt{ij>m5(l*dzgho}KNX;4s3KGesti?uszTME z>QD`+CR7Wm4dSQ^)dMj!0I@WJ8beK>rcg7eIn)Ab3AKV+Lv5h8;P~yK4p2v^6Vw^% z0(FJDLEWJqP*12A)EnvpSs)lfAS+~p?2rROAt&U5+>i(ILO#e31t1IxLLmr;2#_%a zg`o&ULs2LOfk&sIeo%jC05lLFF&G*G4TXk5!=Vw-NPy31XbdzK8V8MsCO{LRNzmks zDH&5Ure#den2|9vV^+rOj5!%|Gv;N?&sdPLFk?~1;*2F3OEZ>bEYDbxu`**-#_EhU z8EZ4vWvtKGkg+jiQ^wz{|9^isXJmsaZc4P|vE;YRu;#Oruw-V{wKTGH2d&Lw2Yf1^ zd6p%XBR2KefNrd9yI&eJH4hDBu zfZhoca1YoHQ!ozGunq12cY_0PTbP8W!IR)&@Kkst+#6mEXM;9xf-KoA@s=b@PD?IJ zZcAQE0ZTzk5lc}^F-u8HIZJsjrHiGP zrH{p8fh|sp8)!Wiza?P7EI~`mGSo7`G8yQmS*BZNTIK+0u4TSuk!7)Esb!gE73inM zJ%>*L%nBnFk#a~PQXeUee1#h!&5$2(aijuL4QYbZLmD6ebtDPO2ik$i7=%IwAzcw1 z!H^Kr3+aRSke)~YA&{a-HfYo4JC=Kv%a&V~r);dcQ}`OZA3gvd1J^?Gmi~wxfc{(Gx;HWs$Xk#($YjvYMK&XAkSWMAWE~Pk)&k88BoR6Z+H=SmF|JKoZgNVpeBnyeR*0*LLnaFn}yEOsIWi4YZXwA$j zWi4z4m~J@^Uw|*eSKzDgZTLR?0DcHRf?vQd;n(mR_#ONKX5jbWT(YnVe+PfMvLktr z+K2`la60@A&VYZxf8m@+ZX_>~1IdpRL<%9rkP=8qq!dyHL{lC~Mk*n#kt#@4q&iXq zsfpA=>LA?_3o-=hfOJB-Aw3WnK@l(FN5V)7G7K4xj6miiOOfTsBxD*g4_SmPM*1RP z*$c87Sr2C1i|j)VBS(;<$T8#uxF(Xf*05HvR<%~KCR;07lb{CHI@W*d<>H_g)|S@h z);2)$SiM%C6|)AcL2GVksdc3_4|Epj&jU2BS>vIHfSy`k0$UziPFrEHLsJ=BIa{&~ zptJQnav8aX+(2$2w~+^kf!s&FAUq-Wf9nA2VC!(} z2+os)_LIER@~OWmYLPn76(~uy=@7Q*JiT?ZK$oUt-r0GZKQ3C zZLDpaZIUh3HV62uu&uPMvTe6rv?W1rZ1K=nFgAxh4$5sW2>!oUv?oCI?Tzit?5*u> z?7e}0G|-L%?PB{1`*P5(x39Ht1-iZ9oxrAT3#?15i>!;S%RofStt+hStsAYIty`_z zth<3`k9Dv0AZQO+k6TZG_8g$A*6Y@rpuKIqW4&v=2hPb`>pReAtSsP$HQlO%_M7#) zHN*N7NWZL^fJ3%yws>0(TcRz=mdlpUR?t?+R?Jr1R^3+CR?}A5Rt02H!`8u8*H+)w z(ALP-#Mac-%+?%eTiSZrI@vngy4iZzdfHmq`q=z744m_d+y8)Eb2xH4GP4pL2~Y!v z#Zk=>2Xz5`hoiQmx}(0MnWKcG4d|C~RB_C3Omw6=7CDwXMmd%_Ry!s*!j689VZa)4 zjB!w4hJirF!3@V8*Bpt^cE@hVeaAk>e#djiF2{MtM#mt>S;qs%6~}u=2Jk9~W=E@{ ziD(g2bTmWL9L3Q>DCbCb093c*Hiyj#V)xkswwNu&Ho!K}HpDi}HrzJKHr_VTHrY1C zHq|!6Hq$oCHrqDWHqW-mw#2p^oZU6H4YrN8Ew){@-L^fpy|#T|mNT~VwzIZNwktrs zVY_9!XM1dWW_xaXX?taRXL}E{A8cv1kG4;?FE+uZ+tO`@?HgE!ngJ|7ZNF^4ZCOCd zZcno3vgftuw->PgwH37&vlq9Q1lK_+dl`FKdwF{Wd$PR}xF(W!ltLwdL~b-QD;~{- z#z8pR3GIodpb?Zp`=E8u#^`W#1eynJh=x%MYDEdODcS^0fKaqKS{saNg(gBRKwBTR zp>EID8=!rF4ueBF^^bgma7tznChJwFd&ce<==r6Rav%E8}6LOYzmT_itCOE4( zi#pv-ud}_gk+Y4ntFx`MxwED7U&XNw&YsSi&bm&QGZFGQM>{d+AZN%)I{P~ZIEOmt zI~O{aIOjU&Ij1|PI;S`%J102fp;SQ2oGYDcoh!ho|E@;cO*EH9624i9C;jh9r+yj9R(Z(!Ie?SQQA?~ zQO;4`QNdBwQNyv&QPWY&QO8l&(cRI=(Ztcz(cIC((bLh&(c010(caO~(aF)(G1);l zA`aRSbu0#R40iN&40Q~5jBt!}jCG82jCV|OOm$2LdzQ_0%m?;4j(Ltvpxx})=Gfub z>Dc4g>p0*zA2-MGPIoO zCfXWB(6Q(^G!>nMPDZDoQ^6}_209a+h0aD7pi9s>=pu9_x(Z#5u0_|O)zBU28FV+g z7u}CeK(CaRcCU%5@ree0IsMk1o@tx-wmVT)$mK+)3^< z*IQRQ@Z!M7qC9THmCr4>bXQ(?f;+c6r@MeV7gWRD%w5G@$z8`?+g;XO-Cf#U*WJzy z-ZQ%alDjvcThTq}KJ+?z3w?}cfgE!%8c^?|kii;}o5Y^OI9|O5pWVZ%-q4929oQFjv5 z#vKn$caL>1buVzwaF1}WbT4vGcF%N=cMo&_t8^L%%?H?Q1D=}z7F*m0+*tf1f9g}W$M#MR$5+%?iQ&NbPU;_B-f ziXu&0Jf6ua_(ez1$Sk4O?N$a19w9Zf7QKd|EYSA2>n~j83%m@nf(P6 z@5$rI>&fRSv(S?pI_5d;dEmM4Ip?|QIpnzlY{xxEJ$F5qfOOUaFx=bN-NaqZ zT^}5`kGrS4m%F#y>UOx7xV>(d+wI2Oecgl`c2jPf+v2vnhr36+$GIoCC%PxOQ{7YC z)7-P%v%%Qz?uG8P?se|YY?CofZBRH0eeRvS-pL{*`c5}?Cs~Zd3`_= z^L7Ka?%v*ByO;91z+6+jQ@!AG@xE%FI-VMynx0yo+Mc?e2A+DJW}fDrww}(OZl3O* z9v+Ja_8=as$KgRec8|;B1(CTuArI~$JhUg~Ndf)-o&lcro}r#$o)Ml=p7EYk&t%UO z&s5KB&tlI!&l1ma&kD~f&pOW*&sNVi&rZ()&neFt&w0;v&uz~g&pppW&m+%c&lAsK z&wkHS&uh98nX5OX$bLWf|z;eTT$a~X!#(U6v(R&;8uLDFDdQSm< z!h6(v9JH$Uv-g=-@xJk=#Y5G7;QHL3$6L@_!du!~##`Q7!CT2&#aqK$*xMS6YwGRb?dt8} z?de6mUM~SO5pRmOzqg4O@nYVQ-Z9?A-qqeU-VNT(-W}fA-eth!i1(QHr1z}%ocFx< zg7=d5viGX@miLbLuJ^F_wD-C9g_rTN-jCidUcoDRUwU7A-+Co5?tnMRm(!Qqm&X_H zE9NWiE9ookYwWA(tL&@eYY1wV)b};_wfA)aE7;e25TDiO@S#2@h(Gy2RbO3@Pd$)N zZC@2%H6XVE6;854oj|7lDhu=inm#@Y=-GV<5aH|RbNdJQh5+qIKx4tU#lHE#vJ>?7 z`I4YVKGAp2cgJ_zmjlv#rq2Mjc(9Lb9zccs1psg4Z|3jjkAph<0e%NuKDW>7^ZER~ zfG_AHeUvZki}}FPaNl6xP~Rxu7%=Zd-*Dd~U#f44Zz||b^Ud(h^v&|k@y+!u@GbEz z^R4i$^sVx(_O0=)^=?_2&G{@ecS&<8N%1JD-% zW%*UV;r{_79n1v<;-G8+*}+e=dJ+e_nq+(9iEL2zW7n zDZtD7i~1}2EBmYaYx*1b>jO<~K+XLv{4M>h{H^_M{q6ki{T=*W{9XOsfu)zfkKf`) z{8m5ehy4M6$WQo5KjjbmX@Aro^Y`=j2VMjG1N}$*gZ-oZWBlX%bNvhbi~LK0ev^N* zf2V(!e~!0iK>f$3Ox^2Z%s4kR2Kv zAOqpRkN^fOlLF%d(*t9`sF8u$fmwl>fzg3@XkuVoU~OOn&~6T_3oHpN3v3Fk4&;T7 z{X_6jVjv$FSuju}P%Ka~P&`mNP%%&=P%2Oj>=D*2&@Rv`&^ORC&^ypHUdv2n-15(s$-3? zrdTtqIo1a2gmuQcVC}J9SZ~aMp_mJEV?hkZ2#my1u)bJ7tUopo8-)3=A=prC7&ZbM zg^dPB9fOU<#$n^J2|%8RO~R&PGqBm%9Bcu$3|o$YLJHVgY$LV}+m7wP_F((4BiJ$Q zICcU%iJiyxVn?w{*k$Z4_6WO)-NJ5Tcfc%9u;>2hBdxL$z7>vczu#Xsz37Cu- zSUR>4)D@_B? zTwp|QK>34(052RY5-b`l9xNR!AFLRx6s#Jo7OWAh9IPI!6KoKyA8Zor9BdYB9&8wpfl(Sx`Uoz07QZZi69jW2kBrem=f$8>=*1G926W3EJK4MgQJ7v zf)j(2f~mpD!D+!6!I{BX!P&t%!MVYO!9~Hv!4*MJRwB4IxIVZsxCz8v?I;wAhdu^> z1+`#$uuLd3t4^q4D0irFC|9Uds9dOasA8x@5VRb`|u6;W_%XD244cSa{(Q}!S#1+UTAS> zX=r(9b!b*-O=ulB`i9WP&=%09h7JLKICM00EOb0{GIS<%Hgqm@K6Ev7Ep$C}BXmFX zDD))sEc7z;D)c(^CiFJ+F7zS9gxJu*(4CMTGD2o3J@hs7J(Lmp8Tu9a4Zgg~hUdVO z@SJ!qJTIOP&yN?vi{M4^Qg~^+3|=1ZgI5F5*TQS#jqzr<1#gSD1O3i;SG*hE9q)Cw3D6(c@k`h!Z#ojz!~9ye~cgAA}FZhvCEV z5%@@a96kY9CgWjzHog#FgfGQcHl8H)04WcH|2t;4y#6e;gk(>NR z6G&galU^S)1%ab|OEKHOLO6n{<$M$o3=* zJQ|Z7fxR2qoJ@dRBKBzHnE6UOe`Um63d9? z#0p|1v6I+C>?IBn$B9$KS>haVnYc<^CvJeF+$3%hw~0H%UE&_`fOtqeA|4Y@h^N5v zoOnUJBwi7(i8sVsf+AExA!LAL^2v9kMqVM)$=l?2@&@?|Ao7jGsSo5&@)`M(G{}2o zTPi12nQBCJqRLb8P(G?C)q-k9Rig4x^{Eb2J*pJdo+?LGqjFR2s9IDUluVVT5}-cR z5NbFTp|(>NYBGgUe#$`wD1Zbtma>QY)yn z)B_PS-dy{=gFNuJxP_iLuA!#y7#>l>)-=7>n4j~5vX#_bE@Ui50auPX( zoI!%3apY`rF1di5Pc9@Elgr7K2P!LR4X@2vv+KPL-i5P!*{vR8^`vRgI`+3I!|4qE>l;jYt#+uHg$)(N8P6$g6kpq^i+_| z;_y;X^D8rJeRyMdcldDlNccGDodLPt1N0>P0`y*k+L_>4{;&#ode{WKK%`(~^`OkG zKjDN(p-A3HQsj3yS0r~N9%>nB6sZ+SfGS78{SZLOk%o~nk*bl3kwnNA=@RJ~2}Zg_ zvP0pBC*qF~KpGdB5E&bp6iJB;26YiPoqkL`rCv}ksn^sGs$`e}xTH}ZsV|gFX_Nta z3T0AXsbAD@>MwXGBq3Y`)Kx4IE)y;b;;I;~6s{bu8Lkzs9j*cT^}-DSZyatKZWeAH zZV_%3ZX0eF?h@`E?h$r}Jz+R(4WnUa*cEmFzd#rZ6JatO36Bl;3l9ko3l9&E437$r z38#i9ho=BMW`yU47ls#wmjUk;;Z@-^;kDs);SJ$U;mzT#;F_p;W;V#^f9>?PG%_kO z2jsmWvMI6==nq8Vpo5WJk;9<93$Qv3@HrVd6S*C^8o3VSbCDd-^T^}KOJMs~9WoA5 zK;<$i@;#D`PM~u`g=m1!nQh@6;ho{V;RE6Q;e+85Ad-`SPKD2g&xJ39?}smiFNd#$ zuZFLMuZJIo?}YD$AB3NW9|NB^p!VcD&@$n)FdP0H{u1WHLRbzfVLfbwzlMK>^F-nz zIU@0qe3AT-!jU2oD3UW$G*UKFK2jl4B~mR?JyIu9FVY~=IMO82G}0l`G14j0Bhotp zN4ybVBoM(Oc!Y{XBN33zfXKkeAkYqrjEIbkjEVG%Oa$zfhuYFD=;m}Q zx+UF?ZcR6$J#-hk5A6k(UVysOqv?6{7Lb$c@N@$g9Zf$eYO9$UES}M7~7$ zh!Bw@i4i?wM$#i+BR?V;k)M%2k-w2F@PJZ0ot=JROQLhqx#_%g5xM|fn9ffZrHj+0 zK?G&#@^nSIDqRi8)#;jaExI;chptOEpc~Uo=r(j$pzlWapnKC68U`{#TWLG(q*2;W zV{{P2U+LUw`U}0EegiVUPWOt!(I(Ma(K^w3(Z0(NWPw(Yevt(Z$hm(dAL_d|7l-bayl-v@^OXIypKc+CREKx(D3Y-xA#$ z-4z`k9UPqyT@y`@veCrY-Dpy5Q0!>5U`&f%j~0n#L^Gq`qBo)d(Q_f%MW@jH=`4C6 zJ%}Dm521(BBk19DfF4IrpeNF^=!Nt$dIi0TUQMs1*MYod&~xay^h){weV9H%AES@c zC+L&(efkW2iM~odpdZqY=*RRE`YHXAenr2g-_q~s_w)xkjs8r_v_`A6P8)PO{gwVk zAEZywKj`Ao@2Dk;M6FSK)BzAF z7Ht@96zvS+Pd=YJmM2y`_9&VomJoXztr-)e`C~t#pQ7IZlDT5w-Z7xB(WlYu(EX?o z%>mVmSz~#iF|qEk9aVfb{3a1oJDVb6_rCdt+l;o63DW7B6Q}U-2PcdQ* z{|9q#745dN1c)jd!_3S~JIu_?%p6;?%q)X!S+Z=)k{S2T4xHqK`GlF7nVI>76Hn#N z+_h%@=HtD$-bZy|x4X*SEz4?ki8_ediaLtAin@vVhz5uTi$;hhiYAMui)M=Ei^QUa zqHUsCqE4coqL65U$Rcuz>>^$i5G6!;;Nc?ZeVu(LWVon5_%cq^Ml??}P_#faRfLJu zqLHFWqRyi3B9Um0C>@E5@2ke^0oE6CXs6|8u_eQ~0cRqObosX*dJQWc8U&&4noTpMK|Dl?AvfM_FXui_=V_|=)346$TP%0M1|oD+tT9l;&k!z z`8CD0#C60?#jV8M#O=i$#ht`mAzO2AaX)c?@mTRd@euJa@d)u4$l*LuJQ?au7tavS z6i*Y+63-UT5ziIR6N|+2#d5JmtOc!3Y!I8p7BMNdiS1&C*ePbk9&tz<5eLO_ajtl& zc$Ijuc%^u)c%677*l&XV*V=g&ZVR2NPCtf68CSD@`OT1jX22KOt3N{DDhs4LkN5#j* zC&Z`3=Rk4;;10kO@gwmw@k8-D@dt4l@+ZUUFY#}20Te+~;w-crS`jUeRzfSI)zF$~ z4YVHG0BwlYM;oI}&@`ka+7xY$Lge>v5&t9JA>Jk4E#52MCq67b0xh2wpA?@JUl3me z`jYsH_^S9CP&WadieHLfiQkGpiqp_c^sD%rI0G$+7DM5mBeW!13N3@SK+B?4&^l;c zv^6>dYXh1NXg9Pc+5_!{4nxPIGttTD6m%*&9i0KX5$G6nEIJKcfQnElDo2&58l-yE zgj!J&wWBtaL7k`@^`JcJLj!0Cv{5vM#!(0AhyK?(&<-TM(e6-oM$?ggXf`qg9fb}> zC!)jALFiyK1DT6vB1x133j)=mV$_9t(FiI-ag;`bXab#wDnR!X{Re%G-a;>+|3Z9D zLtFdMv*=NDJ+$x~-GLrNU!hykHE3x^~5x?^@Oh)u*MVY9J$*g{N%NiZd*!L*nT zGh#Fb2Q)+fYaMKewZWQUjj&EwDGb3%f@eK2STz9*SO!ua%S7xz^B94x1#H7CAW?xv zkIligiVe_#tCdH;>MUku64(u{^4x)De`v5Jh!Zu+_ z$!hEY_8Geb+o_LX_x{B3pd0gJ0W1g>5o{)ub1@R5Fdrsh>#&X37Hk`~3)_nw#*Sb| zv6I+&>U(!_4OwvNqQqo4!LDEUmP10M^N77d^ zNHSD1OfpU~K{8n~RWe^9mPjPHL@tp@YDj8JMoLCY#z-KJhxTBPv76W@>;$$OdySpK z&SIy*=i}Hz>>~CN`xpBOpRARnBcmknFR3I)(oix((or%UxJeRt3J978fZG9#l|+Hl zfTo|Mzht1Ki=?Zhm1M4DmZXWKyQHT?A*m{9EtxGDEa@TXEJ>F%mrRo^kYpe_$sDN7 zNtQsl3HY$&9P}*z&=lYoN_a^~5|<<-NlBh$kz}!CsbraCx#Ta&O35n8I>`pfM#)ym zKaw4iU6S3B{gMNcgOWp%!;+JdQ<5{1^OB2_OOneHuOuQlD!C?kDS0D#EBOHJev-VB zdwpMX!sA+m=((EbU@UWpIz70EHlK8arv zkZhM6kz4>tuH?96z2vmytYoufkK~pl3#pE0Apc6`0L^TCCiE@;@N|3@aC7i^IEG7bIP4fWEw0BcxE*)kG|u2o+>LYiaC|C04WEJc zz>nZKZo)k{iTiLyk`MMv@TK@#d=tJM--qu9{vf^xUxxpMFUMEl>+#L_2K*?#72kzl z!!O~N@niT2{3d=EzlYz)AK@?YSNI$JE&dLFj~9|Y$M4|Z@t^o_JWE`V)Q&e~mxHpW;tI zib#Jz)C)^ty_6P}W=hLSi%U}=uLQX+(vT*Q>!K0d(bt7+7ZA-O4W#vfYbEU_Z3#IE zIzk?TA=2J(Qa$WzkWPSev}a2fN~cNZNViGFQmIre)k^hJqm%$WE9Im!jE}0|G;M*lb)2G1$<3e3O2c{*o4zRgzVfRh89})t9xD zwUbqs)s(@zF|vU&*jpnTCX>iU$)d7xvMI7@vRSe@vbnN(viY)wvIU?=WrWNkv&$fk zNB__K2|XZl0$iD-SxDdib=p4sn+Tsh9$=JovJ`d#!@1zorSss->jiK&bs8cAdnH6E zAf=?)hyavd8j{)o+ocX^o^%gT`2c@|-4^L)C=UbN0JsBiMtb2-{EkvGTE@z}GM_9i z%aa9UD`cx>>tq{bi)0&R+n~qWWqV}%WCvvDWLIR@Wd~)4WXEJ@WEW(YWS3=kW%p!{ zWlv;JWv^tfWj|zZWZz^zWhvQjS(ZFoUQAv_UQ%8KvISIw^X!|;T0mq zlvv(UzC+p;sCM#>@=o#&^3L+E@@~L)2k0g5DenikzkGmvuzZMo6wu@36Xc`i6M>p6 zpDLd&pDBl#e(b39KKS@RdR2N4VsaWhyC^*`?PxwBy$&(^46={XEcoOi@ExVeeoDWB z1OYw;+Cs9zvSP9?(h9Oq(znugP&Y$X9LbT@krhU2fK6>#1~Nm|Q#KXqjs_SE-&_8% zS@PNP`EsRvpY-E=#DO)MqBwH%Wl_g~BWiiknmhF`tm)(+GlkJzC zl${03qY%9tGPuL~6S3n~g;Zft*cG&bQZUear^2P+6hTEm5mMwS7AY1h{!*+^{H<7} z*r?c~_(yR-aa3^(>~<>lDNZO(D^4kPDefpPD()$+E3POWD;_GID_$sGE1oLeD1Iq^ zE7Fyj$}DBJvXJsK)GDlmJ2PcvWff&@WnE=GWqoBsWn*PCWpiZce1=>k zN99tv7W78BNp1jamD}Zv+##pH$}JaQROg=%DWys|^aEGQlnTHWrA_Hl5=xWOs&oL) zDD#!Hl2;~_OOz31t};)#NV#0OLb*=4Ub#}aO1WFPQMpaIMR`JbR(VNzQ@K}p18VJ4 zUQ;ep-csIC-cvqMK2$ye*%Rd(ivLU}u1;jH;Zff~u^l zyz05KqN=j0swxesp{k{-t*WQ04;Bqoja5xlO;s&`ZmG&qwNkZK!5BNq%Q<;a?w5xl z5)pY!9tY2o^4$L|8_}=S-;hrL{>zfDmu~^QLw;DkSH4?*1n4XBlk#iw>Y(bX>ZaIA-YSM^toQB6`!R!vb&RZUb)SItt*QO#A&Q;Ae!6{^BjQn1pfbSgrnR%umcl|x0V zSdh5@yeeKL0QRW@PzF^oRZ_KBwM4a4wM?~2wOqAPwF%@~RNGYBRl8KXReMx>Rfkna zRR>fjRHsy@RTos3RF_p(Ro7HERd-YmRrgg7RBu)9R3B8IRNqxURlij!c!jWl8X|pa zx?-wgvSOxUmSUk|o?@;-46#rv{$$=UDa;BI@?ki@S06~j3O`WGfLaZZuUMmieWpNd z2iUAQs5l8x+N;>6*rV90I1I9zic3)5P^2Tz0KZgRP-Gyt6xV>h4e(X*uOdTPK#3@e z!5At6@Do~3DZVQT0{sbMyW~_MbrE$jbqRGfbxCy@bvbo;b#-+Obxn0Gb!~NBbv<=` zbpthwA$3c2YjqoSTcEqBd#QV?`>Fe@2dc-ZJAq_^dZK!YdX9RgdX{=F@EE{CHL8{X zma1iHxjL#+tF>x_+6WRtZBmnJyV{|q)eP{Q+OH0&qw0h@rd|sCUywy*rFs=mYt@^f z+@{{4-VJ!K`hfbN`mp+l`k49z#I@z=Val4yY^0I0ld`3n#pZ>#U9 z@4_eES3gugQa@HdRX>5;NYB+T)UQDLM*TtkN&Qv*Q~g_AK$D@#))dqf(iGMd(fm-q zQ@>YN)>P5d(A3n_*3{F$8#0X=ZEYX~dctn(3Ok8lA?hv4AzMacMjnP9tb?HH$PWHOn;1HLEq7 zK(j^z`%})C!KWbj8dHYBuQkeaWP|c=YVi%?(X6%}vcM%^m2|1Ii4QIs&A^VsvoLS>cZ-R>Z0mO>ZP9dsTBw^r z*;U<2-9bG>JpkxY>JjSE>KW?kY7uZMwN7nTTh(a@t9GfqfPHG%(W=f>$JOi9>(yJ- zJ0SztA+S6SV|(%0OWMoYEMc|)9cKDtvZ*^qvLd5T|~#~0=kecsLKcW zU%ExQRl4Q6mAVzWwUCi+gKiV#Jc42j_evjQxI`#XrR3sw$)xqM2)z{G1)WiJMH`nLr+v_{)yXd>>yX$-C`{?_D ze6W6qeyDz!e!PB)ex`o9ewKa)Wb9k07eoFuDd?4Ym0qpa>UDanUJtxkZ_(TJl-{9d z^e#QC_vwRrh~fDlL}80&m1eUh1394CrP%?V{>cdVD|Je9MsrqkPIF0fS#u4n?m?tp zf&2r|Ujcv9`~vE`=8Gm9$<&tAme3Z5@sSQtMw_E;t%V(x+NRpJ+7{Xx+J@Q=+G^Tb zplhPdKt^bbB7L<3v;(z6VW#At59xFDVSPlOr(dLBq5oUIQomZi7W%wNzeT@QzfHeH zzeB$V`2G4r`osF8K%D?MsXwp3u7|xP`g{6^`p5bwAbYKUtN#r6oBq50mp-M>FcdTt zHk2@wGE_2DF;q9yHPkfJGt@UUH2g|6HZ(CbH8eM58HyWn46O})4gC!L4Fe5>41*0r z3_}gW48sj03?mJrz;=vboMDDxj$y80o?*UWp+RDh80U~%|kamc67I-#8J69{y zinLPgLh#+IjcM)LpqA1`v`#HNwbF(_sslT-HVXVQpf+hYYBy_FXjf^M0=F03%|6-@qmV##N>+8~JY@(rPd- z7GIDVTn5fS8axKt5HJJ{VME-IG%PaY8@vYIkcLDI2?J|bZCGPiXV_raY}jVlW7ucd zZ#ZN)VmN9zZa8VUX1HXyZn$B%ZMbK+Z+K)VWqfLQW_WIRVt8TrVE70T`DFM4#}#B5 zvyDZJ#f(LbC5)#GzYXa|c%#x-!&u!|(^$(`$5_u;-`K#|(Ae16#Ms{00koZsU5(w0 z-GS;28UBVChXOUi_$Omr4DofsLDvy9y@2Wi zc!+K=P@{Asp`4>jM;7Wty4kv!x=ci=Q|L&YPFE1|>%ux-mw_-~?*oVf#B>QLmjbNO zt%kZAq3)loT59;G`Y`Zkbypyc`4=ZbR<+5HUv0W^hH;K@F7$N1@lU=hi4is8M!E5w zK>;$I(P{JtLsa{OeqCWUtb1fP4t8GE%hz*SxA5V7?2LoPtZ@&Pu9c#IWWuqWM+hS z^MEq}cIw?A^Xdb79&i+DFV?TpZ`Nr?&WLX z-y`tvCHVD5Ul94C&qPWZ$`~?X9u+dQHFP$#F|;()HdHiJGc+@_FtmcXQQ44%)G7BFS>7&DP2u$tsw8EPJG9szwDX&z%9Yo1`9Y@TYKZk}nL4YGx1kr^{f%u@3L zGo)8Ei_L1Y%B(T#Afqi|Hk&EPYfGCMuw>0{GiMge0dvTlFvrYEbFO)@d8v7Y`ET<& z^G5R)^H%dV^LFzt^KSD#^M3PT^9l1Q^BMC6^Ck0T^G)+z^F8x@^F#Av^Aq!P^Gow9 z^BeP9^E>lL^EdN*^AGdS|76ci!Lcu}|I3nY$*^QvvMdnGs{!K*V=nl&4kEJKxYM{7 zJUeAP43Z1ROW^By;{%}oWamvs-U0swxB^5v0q=SdrHJB04WcxRqd`PN0^W!w+7Ug8 z{zNu1k{Csd0m(vQ0)Z2=iP6M-LQG&#iy-V!`aowPD1w6-kbgDXQUv-{)Kbh++)~m~ z3h2_7vX*j|3YLnNN|vg?SGUx%)V0*NGz7XOKx<1oD7#v^TY6jiSq51~S;ko=SSDGf zS#XQgBDW|kDvR2pu@Dv$*qJSM3uSRwXiFO6w74v8i{BEmL@Y5&+>*59TNYcEfz{uZ zRhD&@4VI0T&6aJJ9hQTZLzYvPtCmZa)0Q)qvz9BC>y{gqo0i*_J79g!^4jwDPXw89_* zXW~8aj>v_0)HM}@abMb0%T&}<##G!?)l}J3-qhUG!PM9^(A2}!+tkR^-PFa@%QPU; z2`pQfGLR{zai-a(38v|$k)|0S8*PGra83WsqYSaVcHi>Y^40Rw^2_qul4gZ#Ily~M zL2F^a6|GgQ)va}{b*vTVH?r2VHnBFfwy<`zc7t=523ZGNhgnBhM_NZ)$5_W&=UV4k zm2m!&)+P()=kzO*3H)4 z)}7Wp*1gt!)&tf<)+5&A))Us#)@zVw_q_Fn^|tk{^`7;S<)QVl^{Mq4wDrRJ%KF+0 z(Y>zuUzwocP6vE*nS!P;_!$N0YVHm*XMlMSlvB*p%rngM%=67Ca0au{tT&s?PP5DG zF~gf)=Ab!lUS!TUFEcMU|7BinUT_~PXTam5FHe`QtFxiJ3M~)|lkrT*?>7jiu{E=`u;tiV+1l9J+S=LL+d9}f+IrY}+cNBfY+74?+d$h;+i=?m z+eq6e8(fiWaht-Xu^DVe8v#6P<7_^g-xjh(Y`Hdg-g2|Ib%=G8b-1;^wX1cg74BxO z>Btm!?^qu|epL9KVSR3W zWBp?NYE8i>mm5A==?V9bL?UwDiEqlUS+dJEP+Xvex+h^N1+fUmsTLF8zJjOVYy&_y*j63JK>n>A_FeY9_I>vK_5=1q_9OP= z_7nD#_EYxL;LUkELY=c;1ga>t&c4C^)c(@`%Kpaw4kVxKovH73H}%t=MP*Yddm2@W zDovH4%25@l%2ai#233oyLp7t|9)_w{VkvW}YpZE%Wb13|Y~x{6sBP<^Tw?Rs^tPoorOj)z+Jd&IO=Sz%Y&N$oX-h}KHrne#>9p4m#ILR`48$hm4fW< znT{++wxh5E_JBdY_sWnnyf$PGZ{~ofG>}QWgQL5n3()->r5r;Y!yF?Vqa9-$V;z$n zQykMA(;YJ%vmA3BvmNst3&Be4kU4ON&Y^es9RWws!8%+Hw_}L|qIySShr3Jr4EUZ0 z+gsRs*_+v?+okql_96CBAbStc-9FB)wtMX!`&@euyTd-;-qJqNuCz}D-86f9dnbDv zdvALydtdu?h))xH2GZZ&&fePI*qI=VA=<0M2nxt#f&FNwEXnHI?o}NHYq^Hu;=^6BJdM-VWme4TD z==M-{riaiA=$Z6vdJe6mwX}!!)46nn&Z8I8OF(auT5Gg`cqB4;W_AmC2_80c&_VUzkdqb)k)tvfl&!L{#Rn%MiH+w~@ zCe@PaONptW)M%;))syN&^`~Z2lPMV`q2L~snnBH@(hwA23{@DJ3o|7D?hbk4)?S`U3Rx9{q~`K);9hn@+9^Q`W%)rULIwm zmQz7$5#^$mPzEYSQ+ z)DdbQb&xth!JRAho_bAPr|whFU^ZQ)UQu7EYt%#PJaBKRJ5(X$9aX?l#qojqOcinz zh57XhzK@EI#*X@q8ZaaB@8v?TmNF}uRSd?!i3iLEWacg}Hk zaEhIn6Nl{Wa>z5TcAjD&A-dD*v^gD6k8#4v=7iaNzmB7-qmrY!qn4wlqaH-4f}@=y z3u)tM3v;8jqbYdX3aCzy8UBCfh41~J?BzoogB_zB6CL9~H^(7zNFA6%0<;3`4GxV% z=~(OtIXn)*k?Tk}Xh+!LaKs#xV;R`+j--QgL>>8Hy9M}zjy*u_cIOw( z;W*~l?%3uy<=E`l>DcAC^e4*qy-vR~3r>c@BHZeJF#8Z&TKcfC)_S$|LYyC5b3AZ7aa?rVaJ+EbcARrO zbG&ria=da}b!5T0xJYC)1#%qyuz}&Q7`=0&C zeqq0|-`RiJpX_fIaTRc-xo)xd*-z|eHp7+a%5r79U>Ad{xT~bAtgC{nlB=?-imMvP zYPw3e;F;XRt@Jkf4#aE^y^=mmucyz`+vzRzF8VlqkUl`4qW=NiX8I}pgnmH3rC-vI z>AUnJ`VxJMzDQrAGmxwFb@~(i4B~+>-{~)OA*Lu(g!xGqWYUqcOeLlyQ;Mm;lwle% z)tH)0U8V`s6lQ&WrZH2GX~{HaS_9XCY0tD}x-i|Cu1t5PH#2}4%w!?+84=?*z%6o%-KZOLE8Hs3YTY`w-c7n4Zp!U+vu?NBxQxYNX=Ln8KYxx#>ObYFDDaZRxpbhfyrm`mFjtxF%r<5# zvy0iyY=qTv4@B__bCS8woM!GYH<=s2e_@_7ADHjV8|E|fgDC(rA=6pbSp;weXO^?P zvy`)(v$V6ivzfEGGsjum*~nSPS;N`d*~Qt-Im+4I*~{70nSqRU_Jb8J|Is3MzI(BI zse8G5g?pv@Z}%$qYWF(#M)xN7X7^V2Hupd79qyg(UGClPz3zSP{qFVd1MY+FL+-=w zqwZtw6A*#(?hEdV?#u4$?i=n~?%VD=AiL+j?|$HZ=zipW;(p_Jc~Fo^ zJqnM~qxNV#R*&67d00=-1LODc2CAI3b}n@;ajtQ$1zAt?apdgk~Oe4Sk>|$ zM?FiR=PNwxpxory;@RWb@7dwm?m6H&={f8<pAba?78B(;koI#?YZiC>ACB< z?|JBX=6T_H<$3FQ@A>HY&5lqa=0Gc2(CXjfE&mS;ym0CZY(#3o5)S)W^;46Dcn?U28VNUPRXe` zJvWn^#i1O=1vx8c=O~WmoE-d$c%lT)RxFgbAi!>bBkVTzB72Fw%@oHSNUFOkx=Oi1+MvE zGuJg6RS>CS#LRS1uwiY>#gdo z=B?qa?``C5?5*yt>8%IS7T(t04&IL5&OkT!w(+*}cJp@k_VV`e_VxDg_Vf1lj`a@o z4)qT64)>1oj`L3NPV-Lp&h*am&hf&?eX4Wyb?IFO@Ye1kT@Juz01BcIa0OivS4Vee zcNce8cQ=?%z1@A?gWN-5RT=M|;-2oF>z?DD=a#zVZkZc*YuswEF}Ml0)opRx-Cnog z_JJhmj=Cf6ush~X0Jp@QiEMFihc@;AcglU${S@fO?q^Vbbiaf0n>!uJf?1XSH117! z^T4kq0DpN`c-MH>0kz({!MhRg7ViP?A@5=DN$+Xz8Si=TMeil=W$y#;BkyDH6Yn$c z3-3$sYwsKHJMSm&7w=c7@yq+&i|_^bG(Mfr)E_zOTj(To+u6vGo zj)3(i&m+$}&ppp~&l}G<&vVZc&jZg>&j(K$m+}clZKbfDxPvd8R zAG7&c{8WAczmUgx36Jw~UdgL?HLu~dypGrN2HwaMyqUM~R-WYTJjK(zjc0h4_wqdd z!z=J{KFmk?Aio$|Tf*n_e*s>}FXGqn8~BaT=Dwa$FUz6jzCB#FggCz)Wk+b>lj49l5?-7qA=+FpL|@ zjpxR3)3~|Zd~Pzgkedf~Mo!BqI1y*y92~=u9LI&YFc;x+xjb$Wm*kdlOSvUb`!8+< zR}k6F9pEyM z1*@=2*eC244uF1xa6~vNoD_}=r-akO8R4vOPB`p4FI*L_3AcpX!b9Qdp9sJB!9C&L zaF4lvxu@J`?mhPkyvy>YxB}iZZxL@XZ%J<{FT7*!t>~@nt>Z24ZR&07ZRKt6O-FhI z4DgQhj`5E0j`oiCPV!FlPWDdq&hXCm!ml^b?)4t`9`R-&7ra-XjfWt;=e-Z}@~8K= z_g`wq9 zK+@gU*Ei5N+&A7g**6XNIljR@wNLAt=d<{1KFY`WJU+qa_l0~BU)-1Q#eAE5TYdk4 zLdbi5FKCYOSNMA%zrjD`AM@Avs~~&9zvDmf zANfoCOVDHqO@-fp(}nN+Prjh=jsL+H5D+0-$b@gXq)<#KA(Rq|2*rguLJgrBe5d&@ zL;kQo=8yYx{rP^kf4P6Pf4zULpYC0U-4h{U-RGc-}m44Kk(o2Kl0!8pYuQQ zKl7&t{`Hp$eDhZfR0=c+G!L{2v<14pgofZ@3!#zFSg0>F2fDS;R_Fk@ zv(QcGA@mgb3VnnT!f=pG5GDzu1=#Bj^mG7;fJ3Pe(hv)P0Q3?eCd7rPkSD;-GGT?V zOjr)m^}-q`{}DDpxgB7Sa8NibToNt|*M$c{7V=4WFMJf93txpt!Z+ci@I`n7RxkcU z`PKH|&fu=#?%~r@KW${@JjGP@K*3f@LuqK@J{eS z@KNw_@JO&~2!5l4YK7{C8ityNnul71azd>_jYFM7T|(VMJwm-geL{mnBSJ$$LqlUi z6GD?iQ$y22(?c^uvqG~&b3&pJ8j^kR!x|oFO*k z3UQ%8C;-Li4OGC>;5arj;gc81@zLZeP_e;p~!Mg>%45R|!y1qKTLcRjN z!oGUGbYEp(eP4#JsxQ-59`uuZ?Vuds8|7>1Ywzpo8|rKAo9i3o>*(v}8|mxe>*m9J zsBeaEz7O}!^ra(G-)!G7-w>F4t$aC9j)U4Gd}Dk;piS^ugfHoHfUFttQ6K4pxW4{7 zv@*0dv_7;Uv?;VXv?8=Mv<-T_J+w2lE3_}PKXfQ`ICLa*G;}<4GIT0*I&>yjnN#V)iDPS`#JR=Oh0^Y3fE%Oc*^*e`&w-NCSUCe+_?@zl2}!Z|Cpe@8YlGuj4Q6FW~RzZ{{!V zFXlf9mKR`!%6~Hx`Z_B-56T4q3&V=AGE9ZlVNF;Ywt&PF_J&>Ia5xfw)a@%Z5@>o4zbG{|0$Ie-S^7 zVShIA1-Q2UbVTPL4!W@bGXF%-jRM(x;Kuti5SxFUf1H1Ue~Mr2ALyUtAK@SA_xgwU zNq-hH5I!^iZIehd=t0W}?Bj}bjC79l18PWQXk<7@M@J?^CPpSlrbVViW<}(wvNJSQ}3eS>oo9j82G!?zXUuE`ZxIV05kqfWCeIA0PXQ_ z@%#M$_#^(LpYyNuFZOTp|K+!U#UcM?e?jD-{}QyZ%>M?;qyDr01O6NSSN>D}>;Av} zC;X@VXF&eczwgh;der8ex;DBgx;eTbx;?r-dN6t}dOms~dO3P6dOdnGdNO(| zdOLbI`XYKf`XKr$`a1e1`X1`Ni++u!02hd5#?oTxG1wgzD;_HnD-kOn%ZOEq^@-Jt z)rr-OHHbBdwT!ikwT*R%wU0HAb&K_g^^En3^^Wz84T!;d`2Lr_e4tPu1IY?xA*JB@ zRuten#PBObDFyHu=pun1{+fXjfwF<${&Inmfrf!%0VMFnpB*S3=n{ZDP=VG^D+j2q zfO`P6ht`?~1_b&6JuuKWFd{HG&_6I9xZ#09$O5nw2Npsp319(j0HXMQP;5+WXlz_; zY-~tud~8%~68JPRHaRvuHY+wKHaE5~CW>8+t^nzp*t*z;*!tK%v2C$k!0(IgiJgrd ziJgyKh+T?ZiCqNQHGsRZ`%pfNJ&8Syy^Ot%y#ekcz>nCsSXR7XJTqP-UMyZRUOHYX zUNH{uDaI?uYsBlsYsZVn>%|+!8^jxdv^hYFcn*}U0NTde$2$Y=67L!B74IGI6CV`s z8;3j056XZV{2>FDfHjbg*uYbL&=54jHIWFWBc7le%0w_1%C*5vWJhpsa7%Ds@Nn=S zus9#Q8N3VlVK5D;9jX~>8OlI9hPsA2g?fjEhen1*hX#e<4H%GOA#o@jp+lySEo1>+ z7V?GsAt96t*S7o*!{cyfZ+vKcSbSuB4D@mWz@+$sI3Bmel|cLAeB2+;jjxP5;zImt zd~JMHd|&){e1H5z{7U>m{Av7U{89W_{1>!SFi|W4Ihhjm5>*p*63r5=673V66MYf` z6Jrt+64Mhi60;NI6T=eY5(^TVgf^j%KTbSJJWo7Ld`Nsud`f&yWF%`Ovy$1#g2_V3 z^d#KbC#xsxBhUo@v>5za4Ib?c9S9wSE7--*CGh!b z=tk(k)Vsjn2Y3uNUqjzRzd|X{rG>MRO0W{w2-ktNwrRM2xKX%CxCN}gox*Ly-9gqn z+#kxpAQ6Spurw?IP97%0`miZ%3md~^*bugdtzk3B*)SJo!hvvpI04tQ{Et(TQ?Cao!p+>ncS7! zpF9Bm9!y?MUQAw2UP)e0K2APQen@^xeosD0zD<5geobcQmdgE=ESFn3w|ef~WR=`% zx$vARSC?zdC35vZn{!DhExEQ_I+w|H<+_0ra(%gez~S6jZag;$R35-mfMvOG@>A~S zTo{R;R)m*?mxfn{H--NR?+ot^9||819}OQ5pABCIKd*-GhVO?Th98IDL0rCte}#WT z3^O7bNP|d~NTW!#NW)0YNYzN&NDEl=dq;Xk`a}l7THQA?A~G^EDl#lGH8MUj10=H} z(<5^tqR2w9lSdSh)gW6N*$~+n*%V1f_C)qa4gfwLIT<+x_%T?0`*Usiv@>^C?jGp# z!Q5lHrvRVMJ)3(b_Z(2?b1&sy%e|Ri3*u)N_Q8_>Ceg;xw$X0U?$J(Bc!C`59i0ek^SJ1QXc{sZ zBniOF0sev->!KT@>!VwuJEJ?I2co;9N29P$5Ufu}&qgmsFGbHpuS6e5A4MNVpGUKi z@6k`uFVSz&&(R;zU(w&upKy)K|2GKzNdPR$TMT7pPF7BKPQjc)IfZkIls-3Ens++2ps-J3*YM5%2YMg44YMN@6 zf@{v_La}18!m;caTyb;JPRGv0F2^9RQ4Drn z#y)_}TY&Ge&rtr3{fZTc|BR)_Gve^Zdc0`7T)aZOe7t(RX1s2^NxXHuQ@mTed%RzK z2(0b-pPQ#zq*|tOQms<0Q*BahQ|(giQyo$rQ=L+sQ(aPBQ{7VCQ$12WQ@v8XQ+-l> zQ~gr?Qv*^1Q-e~2Q$tciQ^QijQzKF%Q=?L&Q)5zNQ{z(OQxj4XQaWN8$(Ld*fT;+v3OK z7vq`8WoY$9{9gP{{AT<~{9XJ~{1vo&BVHi^Zy6@O#4{766JO&!62*bfP85Q&RstgX z<^L|{ZTEXU?*0ES<1MVUUz;SVC7LE0CK@IBB?ctACvp0LC*~z)C8hy|0Z0L{x<&yQ16_PcRWs{AP6_d4-C6ld_J(Kg3?UK!tEs{CO4oTRL4Oi6s zum4}<c$0dg($0x@mr^B^%LNXK4B&|t% zl1a*vmZUc6NV<}4(3q1%Qk+yKRY@wTNE(u45>M)qdC6#UX)>AgCHZ7LxhNS(CXy?Y z;beYtadJg6H@O6AE>HfG+?qU*Je&LM)!r%mgyF1;hJH6W7 zJMHOC(vc<#Bq0tFAcDK=;O;Ji>k2S1xCcwVXEigk_qpesx~Fc{{p!0_x27gjo0-}L zZ*?Ut@ALodFF96nzT{-ddi?6yl5-_@@z2{OmrL%I+$uR!a!XrSB@atpmAomTN~)JumiUzVmewp~lvXRPU0PLA z13!1`mewzARNAn#X{mo{lhPKYtx6%~l%|)a;h$Nh^GfIAzbVGwi%J*c>&nvgrK?Lf z;3xI=(jEBUJMs6y(!=XfxC zYg_h9S*Nm~vTkKv%es{HEDJ8{Ro17he_6k>kg~pIgUSY!jl$35#b5t-*vJ2GxyLy5 zZ)3{FmQ5_1TsEz2dKs@wP$n*ul}XDaW!f@LnW@ZCW-qgqxymBS+-0$4F=f$ZGw?G% z56@th(SQ1H|1&xH|4cU-zyI(5JM83sRDWs!HIN!a4W@=rL#biZaB2iKk{U&grp8cX zsd3bJY63NpnnX>erchI`v)DutR!&7x*gsZ<)3PR*e*s7xx0%BFItTq=*6OUIwA+^^|%>{YgEiUQjQo zSJZ3j4fU3KN4=*$P#>vJ)Mu)K`a*rBzER()A5+&|`KgH{+Dm?G+c<*B) z#{G}jn0~Co*!rn1W6P&%jOsxb@U>d-)=vz^m5((TFF(Hi=*!sfY11e8EBIOqzgms4 zO&`0r8smM$=QGt96QYk@sK)p;aode*jFpLf@$2`K_S~w*@JqgcuZ>gA-mb=w6kLB% zjZyFGwPgXTXleWT#|xk6zv?nJe`>_Ii~q;+sx6=XD@(h-SI+*|m%lCTAm;yXY5%me z?G=uS@Cs*zt0JNzvLdR&T@hUoQxRM7|6L*bzx$oXRd_09{PX9EuSlp!tiYowlM!66 zs#Q~9Cq+h4euOY;EO);?2moccaX>haP!IeWQ8wEEG9$Go9vQBW_;Ng`cDr*JT4jx%K zsIlYou zIkj?HrMyy6sjRGvSCH2kpBbAOtpnTQwPL#}U7$Wt5!gPE6Q~SSRjMmBmD);O<*>l6 zf!zX^2X+kX5O^T)a>%8S?t#4m`v>+59MySD=lsC=fw=*519AfL0tx~O1Lg-51q20l z3T%j1V|XoCiCaWfkE{HHA5=ZWE7*=zJ^{4@jFn-Prpn(#aK>51AtfQDA?HIDhh&9h zha3$l4i>Wg7(dlwCEVXX$Y-weafv}mLCHZWK{JD91;L|h>i?5hr@20PKKOXlC*P;Qr_iU!XTA?!GW!(!;EAD6nGc@j`7HKX z>a)yexz7rpl|HL{R{L!B+2XU+XPXaBIeWX$4xgPqzxnL)+3mB(XRpsbpZz|5i~~Lg zeGd5?@j2>q%;&hz37?Zbr+ohJ-ofx?{LkORxLN&v^`Gx!RAZdYW-x_b5q>NT_gTyg z=5FRlsLm$#12zMe@j?i?qoK;446O|*X-tv!J+-V*7CLz5!<} zY}oS94sZaQ34euxM=NTfaKP{<&1onJlnjD;byxaW`W9l-dugTAj}b1bl+~3tkxy4O zhC^SUNvrdNq00}Jq{58P_p0$r;J_b*1W!Bg=ODrRGR{DS9}AsY@Aan5(40T9e~QcB zIF&Gfn?uW;1Rr;Ns0_C48F;nlLj4&p1YKeKb%XN96*q?JH3SaV2WhOVN=7?BN9462 zUQC5*(OWxPTZoeUF4WoI=xXV^pslMiMWY6L)pXm`(A>{#Lg#G&nr;(OY!jn`HpkhD z*__#o*_7FmIg~k_$zn1gzu)*rg{LL>n^57$L(@)!g}n}5^jE0Sbs!*@acYM8LMUz* zdY?H3p05&muMIly9w@bsVAQ^VSo;iu?f1|MuUGpVp6#E|Yv01KeGJd`Tj*`5oy{Q@ z;*@jyc;!J73fwTsQz%(aq}6493?FDvaZrw0LNhuhuLHA#3%P@>TCRPf?S=X|-9YcD zSDVh68lzu3$lIy)WsERy3{P>UIq$fhppexeqDw^Ah`&o%b0R#E8zK)xzKXmZMMb@j z8WO!f+7)vq#-Gui*@4MnhBA%J`OIa^70l%j?`uQ2ufu8v@t)T18?xRpKQX^C-!R`Z ze=w`D>au8CoHoV{u){OqaJS&lYIXy-*-JUKpfz{&`o*>3^45dV+lX5Y7IqB?z4f8? z`oQb;<@$3UKrg+^3xN&V1x9EOD4|{Xv^7Z^jwwPn6h@CQ8X9Awkk<5Q9d9OlyszTs zaM*hgF z$h*QK?*ez5*0CaD2yF-1xIG->&R$=90xaVYILBjPAa~_Xfpa_*+Ho(hdfXA- z@hEN|SjZjVkN*iP_7Sw$DG*pkL1Uc=k97n*Ru+FK|FvKQw97n5m!&W-=fl6ugnT&{ z9_Df(tOtmOv}>3Fr!ZUG!)xh{gsPV#!70zBRlE$zb7?&|WwclJSq7zx(E*;8%4=uc zfHHL*&eU6&QWf$)<^FJXQXt9{K%0q#G-H7^69;`J8sd->=8R2M1e+!w_Dn7$8rq>4 zM2ibLxwrFASN$NCAk3pGvK1$4VgLx*J%VFjibeQevF&oSU z=rMcHXAVcJ*@YT&BpS{0&{a+{M|w+~Zo3LCM+NGLhjA&R2a0lZl`Sdqb!2(eq3DC? z>_oL(-`RkGbZ4^cS(jO)1J9Cb1iO;F3jG9 z8;{3vh({9J^}J|6x8cH z?kot{Ia~)c>xLg3`vKY?gLUC(|jI_(RQ?eM6;!jm^tE43q zz~)c^+sGQj##;dUuGnkfeUkmu-Dry~ULNPw%6>p8tCBZ_Hr89wA2L}t_+$Z!U!jq8 zhfvlWp3_JONu!_}ol@aFFx63bREJ?0U4}`t*6S3VQJqw+QsI>I_dzzgsJaQ&=p0O> zThNYfsQehTVssq#(RtMfcp`gYe>8>oQ4jh@b?6@q_#e%5b)a0-hht%Z){qa^!Ix1C z*&#|l8-_!n*Lt9BhZ)cvA|N}=h4v5z`=Jwh?s^p5o1j8oj+(YV<2`EJXHnMP>Me2a zMQ3|0%G+1a=RS%;_aW4}ucOQT7LD#bsBqs#n|mD!+;`C2eqhe`)@0LBlkI`N=^%7V z^(cfMMDOz^dY>1=SEF!QhQj4?=Wz4@=c5Xkg6bUIdwYzk($A{aDb%E5&~N%0QyIra zfnrX4O>_^Iqld5=RfM$(t5HH&gC@dbY}o5#gI$s|ADirbSdZ_*CVL&0;~TMt{S8a< zO-cK)&}L%u*p6dJJ(G1Fw|y_+26J%1cHA%Bj9aEBaxdjZfNf>#PkdU&ck&QPyGB zE!KI~J=RVZpPk3fWiMhgIb%6fIMX@PI8!+jIVU)$I7c{#IQ2vMp|PP0@EqfI=sKwB ztGMT(rT@lV!QBcu{V*i;HIUSg!cgA`-+eP2_0_Q64{)n6uAjqS1d)0P9O?}as!905 zEJ(uyT3Z}{Zy|P{qyuB`P^XyRaR8aKB!Ur@#%hM=EtM1^j z+#DL!cZgcm)UTja`KjMRt9q?^0j~`W8k2+Zu zN?o3~>L?vCP&x8L^T^jT2)&g9@iovJsgL5w0MtDmqfl_`uj&R)Vk z$3DwG&OXEDaU>irN6e9Ox`oDvmW7st-Vc4sZA4Zh2a?~pkGb!-zT{VKQ}P-2CHEn> zHu;MCC-({WSJIFC!EH#=X8d9PRVeO9__YNMVR8$EA|Y)}w-t2|wGlND{iu2&q{Zp3 zFsJK5%QlGx652c70r428Jbwe+<6Ur%Yk19Gf_8Q#evEIDKVj~^k$jR=lYWrAlJ=0fKb!kN^1-AN0aNgHfQUq%@;$4sb>8E_^G6cbhNRkhSrDyDh_EH_d; zMm+&a-(-kx1VlGlcfgAx0h3j)CLE(v8(|pgE0)>{Ov^>Q##ZAnHtl zpA!mIXAI<=u8?S2z|vvE*ZH6)VC)Qou+t63P7~-uqYdfsI(C{m{bgPJ0!1MVl0Yhy z10B4BC@2VXp%kP+KoG$|Fj_Jo6+}Z9&_WzIZNFiEgue7i)WHX%{rnvT=O5@ee-598 zDsgSsE0l`=M6sBQdaMK;Ss@y)=!~K9O1EG4q58TDwb$Pw=Ah1aI`Uj3PIq3YI<5uIzwWWftYw=NZISPaK(HVReeIq&r zrN5h~dHJG#mlhX*PFP(u#5#Hc(F|+kX@+80TQtO4p&K>?O{978$51ZvMboDlsy_aV z7728}=PjxkE1_Y9V`?(2BX)}0I|5t;1z&PcFGTeiuiq_%&*Np{13;Qk{ zwr~d1j}b$72njKf7)wkeM8sr5OGFY(f+Qjc7ZF9Uh=zoXuz;-2XTM>GacrE+oSPh9 z#tqKzoJOGyLtBN83>_6ZBJ@b;cijXsjMS0iNExXl$C6XXJ|vH1ktErh)R2S7UZg)m zLiQllWC%H$x3}d>fv=tQZUtvyD z(m@cCLtrHDl>G*`cstbM{*Zb3&~}Y5cMDx#Mf)Bn#plspUefTd2jR2PzzG!=2Yk zVYmG>+hlOeu5;Sx6QNEmfk(9+K2;?Asg-c4HbJWLXB;)GhgCHbQdNmz6_hI44eJZN zhBj%sV>Y)JzQ#=$ArGN$Jc9S})l$<+8zCE^glvHL@db9sXUj*}A(t(!t=nOSJck|f zCzOy^P(zNx1z7_(~Zbm>)L*Z9NA{U%gP=8-~_iFxq?LP~jVc3SS@3aP-R- z{8cDxi$2$cgx)CpbV6aOD{4P@_c5_L%0>gdZKEvoa*9ycS%P-XKD21^lGD-ANlRYz zS6ycoN;TxHFu6bD1X>h3W*wci9Yu;WC{%1jl_E5?6m^5O-nKy|DhG4ZveUX@cTTU) z>CJfutk46~Cu5tt8mrZ{-UaK*3_W(E`?0g6H-4?KGHZ=(Sto4D+F@-BZrSw&PS|W=q1ieYz)%!!*HA5iM#xE-0P=r^_y|u{ZHIqe-Lv&raEp+ zi*U0rqBOpAdFh_gB}67MlbBEB61W>j6c9zk0)nA`%MRzbI1wBp=N{)S=QanYTq+7( z9vVv~kSobJGMy|Ti^wF>k5NpnA?J~^$vI>)xs}{NmXRaKE#v}n54n!qOwJ(F$hG8r zvOd4Jpqrqd;1@x#ppU?p5g=$M=qUIi_$p8cqeKft@uED@LeWZ*Q|u657M~Sg5nmM7 zk<^v+kxYXG-%mPG`a|l^7!TEa6kPKeaK&k5{HSagglyWDUM0Vzc&OL{1NniXEmY>O zie}0;(2PGQ49d5P2Fg#0+DZl_;|>sMmqIta0JHQN#M0vsUN1ufy{LW&wUqWiBjJJm z3B8n~xdjDQ23eB!C39g&Zq!<#Bhoga4H{t#49qC6AlO0QPX86M+XJ|6*9|p|_o3{) zg6#GM-rGAEZ?ybYACg-G<0-gr*pwK*8Af=;ts)p%dm%&hf&kUS+#B9ZaM>V;I04qa zuyUrr*9n5J)5eN-(jn;l0!PORWv4R)oqlk2hQQnz3x#Kd^^7&m+6vB&8s<*8)d&}- z6-W%TrmNxwXozn^xtoRJv=psqo4dZZ-di(;-woD=EPGDVh@@6KG=($Zr*NutN z+XS@UrlIiWO7us8>{+r88a?$>9-snMH|0?BYxJHzB=b>tdXro))_>EYPZ^eH65O(ATu`1t*UHJhl%hR#qPQ(V?HOO8;KJ{JSU3d;oRpu;XL9{oN`X@(EH?5 z@(THcJWt*sPmq_$a`F-Rn!H6mB#)8D$;ad=(x2aiFB7l@0s&tj5^x13!8CzIFh!se za0F8Y*eM7PiB5^miuQ~4iS~-NiVlmmh>TL3beasOyf|8RN_JA_FBigo-ym-dOMH?N z@5w3OE7~Z(D5^mjXDX*D$H5dI0Zsf@c;mh>#RDK-H_?oMs@x6M?r?~^4dElVg~nSS z>Mkwv`fAJ&TsLV8;egJD23i28v7x5N?K@}W>_YrglUyK^P4t07pYV={~aZAvpH=tAhDk{rOSJn$rQqDk2InLW+ zk4M@%J~}bF2kJ<{OZG*#jcJWucGH*+G3~t_>8Myg#z8cjt>`sxMu&HM+*}l7bJ35@ zMrYOg$amYSfpy1wL#){+oioU7hK&J8qj z9-^J|d+O!XV)R=~-s%Y5QL&>q5{IhFB9usGqDi7cmBfq!Ni13{hIAFm6lth6(9MRU zs5=}%#o<`SL(~SIqB8Iv>*YVOV}6pk1uOX4*_By!u>RhXJrx`4P^_)FIm585Ca}F` zVQ)PhYwHnMVf$krY{p*Jh-K?QY(TNi!VZmIo{6yo)nJ9z59`qB*oY3snk;zf$UISA zQGStk2X_vOu~S%!VH<=E*cYt9c-THg7Sih@dU@oJEz)OwBu<~u^`Vs{gV%=Fg7<@L z%Jb#b=J_+~^BV9zlg)V@c(r(qc%R6Y{O0@!!3;sNV6Grt5G|M~@Cbegf`oy>UxZ;o zqwt~ViRhW=y6BqdhNv8b$35{M;)mkL;wR##VoLl-d|zB&qLQRYXG_I0wTzVUWn9@6 z*)>@m`2@LLzDqt)IZ`=Q8KqPy)k?Wiq!cJ4l-*Rb;azhfSG%EJ)5f(P8ny+hc{oJn z>rjiAz~U{@6~pw*hvT^ccIO%6LdczaV0>;f!Uu=xxgN6T3gZ#uQsZPulOg61TT@#l z{nKw*6Wa%CR|sbvVV*UFh!$w8!cV`~R$u66gW#WavNeN;)*CWdH`@!CY45COt)H#) zpiFsSH>JRC8sRmE#yNc%gi`~#hW2ADt{QMieucqNH?lSa4%(cc>-O=mAP&JZSn1vh z&tR!LE83rtjUGQ;onM0%J6%*?jE49e)Xoc05ub;K_;2Wnr^N1x+lR9C9@LhLQCHrN z2J>mpHV<81-i;db0dISGJsQg=JnKAmZvppyybKlC*$D)?q}kpcX*~L*epcoh%5YvX-cm4Me%@eQNcz z4`@tPpfdF|wRPI-)D@`qz;#2VCljrnxoGvQL9J&M`aQWQ_^d?PBY1fjDlZwRo?Jrv z#FRN7Et2nR)_SluXu`GAxy0MU+iB)s~ z7K5=^NEhd=!cs9eZ?SiSOK)+P< zowX6GqbCdKvKnj#`y26*_(D`?*J9UZ*JR&e&*r3Z(m0u%bj};j zme5|jp}fJozPypVe!Q-{P#%-V=ec+Tc)fYS_=Z*{C>3lK6bm*8Rtr`LEW+C2Z=$;5 zkD_|wTH;sY7vg8)=VFaSi$TgfsY)i7DP@%Gmh8UluB=@4KsHJ4knfalmq#k~N~=<; zB$Y|ZIHg@_QqEAWROTqxDzlX9lna#Di74kOHz<3ljBwwh;kj?|8tC+xkkdRWb{ zm(XqrNUXk$WnN`;B!s*a=zco*ezRcaiEVDUd07zi>^6<95a!?SRvVl=xvdO#nLlGQ z3^N|gAtpR5Bh;j1s7VQ~_=t|sG&(?@>FgC~7QlXa6qyC*Ap`cwoTxLfJa$9#*bg0J zFFcQt&=*F*U!Wa^jj##Uqnm#e<^1EZC(zAb6ni%Ibld|p!(V&8p(*~tbJz0}Me$oG zi$6m>_@?Kb=ZlAKOK(K~xpTtb1>Oayh_;wH9L>mADLv4OY=VwtC$uA*&U}FjB2}nM zCZVeri87M{-90y2dqVX1rlHFxMpdp+njb1bIOUa1&H=|eYu?x67VFvF5rhG%k1GrOZw(++)_ zhA2XGK%b_4*6yr!*=56_zHMmMO033u0NwEnhkxtg@rk&EgZw1 zb|-oO>(B)_gkr#6R08N_?v^}ymtMoW60VJfZzi^}*@Xc`-LVYXT2u#HOn)pf?_#ZZ zA1lR6*ehPfUU4TjcCQ!wibdQw>n-|72@U%P!&&D(JRJ=&uA;EsZ3BfUeRoG74PwW=I5jT)b z!DrZ8l)1{)%5>#9YaqCw+p)7O;~EQwCB$-IDZOXWiY-dugldh zau8&sKVSzfg4k0AujeTgmltqcRz%Y}$OI@MQ=wBze4z%L%d)&3SI;hCk zLQ%dGO7iW{m~S*A8ZGlTD3ZU5?~}opr3kfwlcLF>U}||_ywe`LA&k=dS=hjHe;Y<_6I6wmFaZV>@$jI@9};46G~?$)VJoM zCq;LT`k{9;81O9Y@c(F?VSJ^3rKabJV|dIRjweHqQMMQ?&FI=v~^VS^o9GzhEXfmk6A z#umB}R=(}A`whVI_a%0)Z|Bp?Pk+WYtU9}3$=K|lU16J&8`zL#mKB$EV|QQ&u=}z< zaG-6#D`YLZQp?~|WW9#)=E zK2e@g_Eq&$o!6Y!+|WGGywN<-ywJSWP@0#TByFA9A7{ z_TOq)a4TTKO`zXjUNZ)E(4Uc8Av|q@@3b;%J?tbrlY{#60s2ohue!sJIS}Iq+oKZF zN4>ZQu@B%@+(U2ve%#HtyK%i{jDRpOaE33VFWTqbp$_zcIWQX9z+iX-{n0}2J!2dS z_uu0kD8AcKes?AuM-_QD8si5O{TT;P9Y2NY_|wGNsA8`{;daK%VsG1aBkHlUQI1WY zsh@QaHM^~7bRI`XbkFSF-fHJiG$O~L|2Q0d#0K6XUYj{}=5$08uLc@7zD_MSB1F)fQCEr&q6Qux+9jsB^GA z#3`@6S9%AF!`r1JunMF?^LZP1HwAu-8-hV%sk~enqWYkDr>WHVYQJi}X+CRqYVYVe z>$k!)KLX4AH)!UxYc7W_z7aqDYC~M5Ro1Vz#*kURLDsBvR5)nOaV0#zW)ZwdK_n-V z*0T0M@o4}tNr}5fvVw&{P^0{i)&>2(9w_+{88tJ7sFCT=Ba@>}b})-> zW&Nxi(LJ4ux%1FTDe$h~H+Z`#MJTBh&b^9~$3^r!D6}Q$!o{HSDT8)_fu?&=;xhQAedC9DlR+b)o8+d;T(Y4?Rs zDuB+oB-{-fb04I{a@TA)es}^Dc_OM6>?sp$CEBeS1ixk=tQy+Ri1sQP{*0ON&KW!6 zcg6n}eGf5 zL&;%N6X>nsA`Mi#M6SpDT14krj#x!Uaw-R+p-%xRGJnQRB-&u8M(e>u0 z=qENy)uio4tJIFhqYjlvy7t%*1;I4b>t>=PwGFMMmh*h({h0eOKe+H{5eMZ1f5xi$ zbah}Lssl~1B9AWJjumfj>}%Cn*bZb5Vjtoi>Gf>Zy3sh`_f!!PI~4v$xKIg zZ%&pR<+Rlzh5lHbGZR`l7<2N2`KAe>~a;qtHRPuz-t|d{6A#H)6wm zxa7Bz5-g2dVRu6>fQPZM6=t90o#vh5#fz^>FH4#7D&;TQIwqxw4SzRygTS8PeB?@x zutGK58m)jlGy`paPs07gaI|i};7#ru`f%j0=vXL;A83{@v>cWpQA3tc1AE!XK7O`ICC(Of7m z^JY-^zB~vW?LMjLb8^rrQ_oYNPh=>x6-nlcP)*>Yf^Zc@1THrEyyC|tW!O+(;yn}e z(8}zzzIZ)~fR{1=ePmVYTyLW@DydE8!Q8NUW6*dRhr)@yNWLI&pCWGx)A8wQ`+^3nmaHDEkIbg5w@e1>GqV<}9jiL4CM%HD zgjIv}f$7iM%x=P|&1uA0!3hlQ5IQ|HJ=Bl;kawTgi{Fjkk3US9AdC~v6vhf?2&07Y zLY}ypBuEk`iIK!gW=QT!BV;ME>hjidm;876Rrv+EL?u&cR7#ajrBVr13YAEuRlU}} z(vHv%)(_GT)eq5+)DP2#=v$g6m^o&NnPr}0=9;IPr#^rLyb6auSa)Y?O zjF#NtTo!jUw+r_d?nLe@-XFZjywUve{Av8j{Hc5n-&Z(FxI$PYTqG=_HD3wPQu5zgcYTsx-Xy0q!X+LVm>nG}kdQv}4KS?juPuGj|Q}q{3t<0^> zZnNHOGN+j5n6u3ev(0QYFECrov(5SDVzbWdG;7VVX1Jwh7nE|fSHwL66ZcR!?c?S< z3!OOS&2!-<=Q)SK&YTyKACVY2Jh~sgWBkhi`ROUpw#ZyKBeXW+&N!8QAiE63!JqxK zMLEG}XZ0@dW%MivVHUCCSTk83Rsw4_E0X16rLj_2QLJgKLRJ`S0V|r7$a1rCSjDV) ztWs7UD+xDi^I0aAl~u~#%ihoK&*{qv;Y{H4;q2wq39TDCEHp24Ug&IYJU5Y>%T3~@ za!uSA?hLM$Yv#JRI&LP{##M3^+#;@;tLJLCpLt(+HhwtY!Z-09d^+IIERt-OY?Q2$tdo>UmP*!3mPpn}R!T}F%OyJ`nD(Wj5DS9cI zC>ks3DQYX)Dw?W>tJbTwsV=GZtJbJ?s7|XksJ5y$s`jW>t2W_g?Qg2#+Ev;;+Sk<}c<8=4a+h=6Uua81i$W#;4eG zVaO-h7r>DZ3;(Yq=4DRW4qgGXdy#XUv&4B9*6T?4$s;0Y^>iat&bP2?KVo$CJqliA z)wd|xiyQ+f^jNezCN}0q zp>d&wp#`DyLyJOpa~E^hbC+{3aF1~7C-3BL;9leI;2z^1=Pu&fxqG=wxcj-`+m=(a`$e`%woJA}wotZIwp`{%KbE)klJn%V zCpXs{X2Krv9dSqZ+Lpt6if#pdFwK(Dl{z*R|Dk)&=T9 zblr7BbnSHgbc1!hbPe%XZlph?f2TjG->tu+-=nY4-_Re_@6;dDKi5Cf-`8)~pVM#E zf7XA}ztWfM59@d7&+GrtztL~ef7c(^zto@AZ_q!{-`0QCpVFV!AJPA*KcnwrN;0LG zc9^c2ZkQgJI+_E_T`c`9JuMw9!z?2${+2qHTjmf;4NEJ_5KC)IV++I5&N9YQ&C=2` z(BflhXc=Ykvvjodu+*{yT54MwS$5jX?ECGT?VIe2?c40z?W^sh;kHllYVFQ&D+F?Q zu3m%uZ-IO!T>8Us>W?{h(chQ1?{IE+ZgW0&9)MoIAENegXxe^^GtL(f)_Xw|p9K4R zO++*#-da&U(4A{ScK#gsE%IyRA5l-C7t?0(PgT{I(EyIIkGqL`N;EBAj*lJ(TlQQu ztyG?mPKcQS2bB?9EtZz>qT}M@65FP!Ilt z0(J8r2kHVmwI}e@suBa>@7zqPgwN!c{1iIV?~rz$CtZWs^a6s@PjBa2(x;?1Nq;6i zN_vp=6)MlmB-%xYo8_D}8V1JC_WPBz8ZZdLGt1E`eU<$n`z>0w2XcN#&2~R}wr6rq z=3LFalFR+4N5w2?Pt+v*h$ciJ5lpnfeTLqF>YA9+Usv~MI3K5ybE5+-@>%=}1 zo`frTA*qtQlDw6CmN2AWBwb})WUFKwWNT#WWFhikxn3?+h!lFoXvGpmsv<#=r$|(k zD3TTViiL_o#cV~fB1_RqH9_@G)kw`#_fU^hk5>;+k5xZX4^~fAPf-t3cU6y8_freh zT(wZ$Q$0}~q86#y>OpG0dX##SdWv>}_PF+l_Nex-c8X4}o2X;!{Pj)r9Sp4vlMQ_h zA%>y2k1^H2GBh{zF|;-GH*`1jH1sww4dV>`4DAd!<(>Y9riRXjE{0x)>4qVOAVWt( z50f9Gx2dP8kEx%@VoFL#H9avsGCehwn<&#CrXX{SMQzboA}#eTN=u$aU{P5t7Mms4 z;>*aiytc$!W?5twy+vUuwAd|i7P%$KQe^3EF<9nUW>^v|DVFAzWJ|2YV~McjSnk;U z8CUF=?04;F?1SSe`*r(e`#t*u`&Iin`!V}*`w9Ck`+56A`Hyxe?PSwuaXhZRmB2 z8{jkS+OhtzKV{2|xKzlNGvnIBf2D25mat%(c!kG?o_Zb$R7+aflft<4Wfa8cd9}QQ z@y!!xHIBC3{^hz=gESVD6arIi9E>dXUrLrgV>GNaT3q{E%c=!mYWiQo)Ij)aUE!>a zPo9<>3O}ny@>H*;6$&S12~?uLHI$zg%ACJ66k0)9316uQB1*}u99Ti96%sNmNXyysuw`w3q0%lYs4kNGe75BUuQ-}#LM zfAFgb>IvTRpYh-D>kDcKBtnHqAR92hMH&%bG*%=PaYW-p zV$mc~mS}`%x@fRyn#e9PiYAKKBA#fBNFoXsTg8XO2gO23dud&1J85faM`=B27ioQI zXK9eMp)^?PFYP4lAnhd`A?qjGEZZjACEFs~DjOglBwr{mz-J|8@^nRxVwPgRVv}OG z;)>#`;)3Fl;-=!R0;jzDq++w;wqmE^wBmr`h~k{$prSACd}`I{>Lj&Cy-!`LUau}u z7pm8)v(z^AY;}&>s@|xMP#3E$>J92R^)mHPb(z|&o~ia_B&u`OnQFT_RC`XV)hTsi zolqyysdOy?$W%RgVnIXu-3pc+6+q#>kO-L=QG0KGHfwq8=?$(hB$-C5N=pw zNH91IGYkt21%^3>MTRuPGK1R?YsfWZ7}5fg~QQgtNF(W)SJT5#Q&oSCLTR8okjh!u>b)2=FRpAYt?VYL4PtFSZImVuk&Kj<2 zt{+Z67sK_{`Q2INtmpD$)OCGu)^ceg)Dh<+E=OF5I1_O;;!?!Li0sI;$SaY9qk2d6 zjOr8BH>zJ$NYwDCps1ly{iA#tliVDy$4+bJo!#Tzgj*A>kNzoYn_z11iT(<){uA8# zpXzgeSn2+Ze$dou{rDI7=`CZs!9eZMn$w`|rNzsrU{F?GxH0OiUOH^|B=t)K*YYX^XN4 zY*gB#{1rlFU}9q!oFPd=U~u+@u9=g(6m}vl;5q-3fwvkS$s3bX zlM5l|#lyv$oxCAA64o89KjD=3{=3_>$tyQ)o#n^)m)>+_);xC8`Ednw^V3maD>zUPR#>CxF#^R4iF{%nQA*4qmJ-QC29ZUS5C)={$Rm=7*@T>Z zmF*weICNR)%FtYL6}g;TPezgBc}vK-WGb0WZYLATrDPttjP#HhBY%=0NYGZ$Mi3$xDHtH=CBP}~8!Q+k=qczS7%ET-H;U$o z%0w|D+!PR%irk_VqBzlV(K=DSXoF~=C`FVmDikG)=7?5{VnrTNhNxJSEt)GT5&bDX zCq5(gWn2|s5}y{I7uS;nO9o2EN=?$y(y7vs(*9Dmlqn^pA<`jIj&!)Rk5nifBONTA zEFFZKwZo)+r30j+q~oRIWTRyQ`3m`R`C9oY#V*BJ1*JHzII3u>e5a_RY_6=S{HSQ6 ztWbPcR4NWBe3UJf?Uap_Rf-zQy2>dCxo=i)QlD2pRzFq0Rv%H9Xx^(&s~@O8sef0$ zQ-4$|HTTu~)pyl*)JN4f)K}Dp)hE3BwR&xsR-=_@4O*=>LtCOP z)o##U)Lz!c>CC!VU4qV`i`Iqd!gba3^^8{xHH>!*-Ha~`e;VH6nOsBTHN$7abHgLU zCqolsBjbC+LxZ33tf7_>r@Y^8+-7KOd~G;xXlkr5Tr~VJd^h+po*L>J>lj-Y&l^q} z?i%hHo)|tDE*X4{R}Ie$&5S|D6NbU2p{9|hVWxSeLeqRxzG)vmk$Pi#XL@f6Hh;HF zuuimguuit7T8CMOTgO{f*6!Ak*3nj})oE>O4Y5wOj%xbVotV(Mi zYZt4+>ad!ugROzqU~8yVYyH*gwrZ?VR?-@6*(O<;uzv+g?<6>Fn(6(mbfi$hdaz|b=%!W zH%|G0!7X#E+^%S6ba=Eqx_V5V7@rtFM!lFCG4o@d#5{_b5<4`OR^g|`GGj-5kyk_$Ccv=D`;74Cg z7z-DgHf{YGKULcyiBJA=X1^rX@QSP>lOmFaLi_vz@AKe4-sg9iv5it_^YeK!ZGKiu zq1DeDa6cb<<9p-2nk?iO?>X8OO( zCV^LN!YLo*K&NA;Pf4Ga&Ptbi-JIPSxQ_wfYFEbgjFilT%(Q>Bmuv7|F2HG`&6n$$ z$1-2T4EhQ==%?4=%b>-Mr!YI7d({qFBL5k>C5 z_x))HfB|QtDwmc3YUKTzR~^OwU-DYzweWWTWAo{1b51^8Tc%|Jy10C};3VqAZ_(BN z*%S6FT8)1Blj1L>$;=ey4(2}M0CAkyKpZ7b6WfTB#9?9+afsMWY$nbSr-&WIZ^U(W z49Crh<-~E0khjUR1m6WGL`OwuM7u@5i8kZ=@^;ZC z(E-s((H_xp(N57p(P_~((GJl$(JoPr=$iP3_@=mnBt+tns-;t;T4}h{ER{)p83w6d zs*=8uvSduz6xnpyRM|1vS=n*f8QBThDEUVDdiiI?WaSiPcjb8H0A*igFXaTKKclyj zrR=I4rR=COR|S2xo5YiescYJSm#XvS(fXqstSY6fctY63N#H1#x{ zHNl!Ln$ep6n%=<<(slE7 z^K@=qN4?G{Hx4o~jVhzVIMO)Y7-k%79Ao4gg~k};B;#abf1}wLVjOPN8s8Y)#(qYl zag@OSGO~?*jU3$h>}`xS4l_-ojWJC!jW#Vb z)&Kg<^xcG0KK#Y>*;HX#XuW1VY0b7Cw3b=t;?Czh>muuB>n`hY>t*Xc>mh5Y^^|p| zb(8g+b%phUb&GYs^@#P3^@er6HP4!5&9pAFF1GqI4p_HZFIrDq3#}WhORWG+7>B?y)-ly#cgP(C?iPhQ#yO@tL=IMXW_U(;Zg@_3R`@XI z80S#u5a%f86z62;IM)={R2Rp^cJW=KTr3yiV!Fn-Cb*`%xUPq;Dp#fJhpSygbVO7{ zvhj69!$_aV&k>ao-y^<6R75n2{1)*k;$_6gh#wL2BezH1jU=PwQHm%|6fa5?WsK5C zaifG$mZ%3&v)v2a^W53)6nDORrhArqu{+rv?Vj&Wa2L2^@dj5?v?n?`x^Ya)m{u|V zF)d=6#RSGQiD?tlC}wHQkE$gxr7_QAbg`OPOROu_7#kj|jdjL4V(s)s>WDJd9UB>| zj@=TsEpB66s%Mrb0UN1IPrPTQC&rWIiS;CV;yf9id7c!H$CKx=#G7E&8=%&&@Y?jZ zZI@N{U}BCi|l zgdFTQ^KUsg26nL9s|R<5AN=nI@!-D{Vq40wlq_h%KUHBv%8Zn8DcvC!b5pD-L`vP+ zKgG?jvwoVJ6|)*Z{H5K^`m<}!rY*vAkXwIRglAJP0+n6}KkxCs33^Y`B4J?0L;3uv z;iW*rOioWsccsUq4}&~56_T0O>zB=fRW>u@Yz8fL(JmKG`RLy^*SyRe_*}HC^#V6* z-~Od*mH(w{J@ZTe5L1Y}aHuJva8r1Bee=rl>0186{GWaM zLU<=%(S5Hd_*mfdnjPVV4ZUW@I(QLZivF%@uV1isfp{U^(fy-1q4Y=T6XGgyop?&T zCvFpe5_gG5#1-NN@rHO!loJn#8|(y5BIgV_Uyc+c2~q{If_Z{$L8ZVX zyd!!gdMx@~^rr}?eC(F!rRcfny@(P$5ZxBN5Zx2q#rNf#qNk$!qA2kLak*G6Ns=Z= zJ$3B*JF?$pH)WS)S7qbm zW92sa4tWn{7v*TBOzBWMl^kWLGF)j^CMaD>t}+JSm&Ho0a;P#)sZ{cmT~)uTx~sZt zrfb9+sm7&=)P!rC8jmJIqtmR=Ff~aUnMR_SstMI7G=wHzGg4#Lm^4C-RuiRhY8Po2 z>lW$CbT#!g^nv=##vR5}#zn^S#scFe<2vJBW3F+&G0V8pm}y*X+;7}yJYYO(+-F>7 zylUKKJZ)THykOjFoNHWTTx={g-ZT~(bBu?L+l|YO$Bk1=(@j%NrKU2|BGVDmQB$Sq zy!E5?t<}dCWUH_awBZveYcE@E8`IXx*4p-~t)*?K&ENLYTE{lPhEqQ7w0*I@vi7u% zvIX0Q+4|d_Tm5W)j0U!`wwksd)=$>KwzjtK)*-eIw)(dAwpz9T+iXXUBh8WEnCVDz zWIJLVvmA+zLdQ7VEeZ`U49^dr8$Q-K-N|-NbE;fUm%|m|3U}#URu?0pdW27eCn6`J zd1S4~dXdc{8%NfO^k+1U{4FvuDlTefR8o{RDj~`iH6toHYKwb~dz*W`dzE{Jd#$_F zz1+RXz0SSFz06${ogO_Wx*$3~dS3M0=)&mK=)CBh=)=QYv&7@Jcr z{v)H$gN=UHtD|pBS(WlHA^m#F)s)LAw^KHyPOd zT+QJyWsUGtFF<50$gG|9Qx5!*S?3=;uria8RU?b`-x|Py>y+CT&Rw9_82j7jih)@d zo$Jh94(%us*4p3RQ6|Kr1^>Z3%7X2bpSL8>lb4#eI4>RMQ%2r=C`hydH9K!L6sS3Q zJ@ZNn78g_%2>x;@aLOl>Ark$|rZ^92sCkheV|~#E$T*Doe$ZozA;s+aH$!0af^sM) zBhaj;3-9uUZ=rB}EM8ga%cvrJ*um@y!k6vG{zOy~b=mdUKZrW)Ih+j6Th43FB;FX_ zG+uw+XxEtW2pE|8W= zjWVfBA(P17dv43_$sWok%eTnqD3g`Z%FW76$|cG)$8tQxzfK(k0QQ&XrZ)?{nuXwo$qnx&dDjX|?nQ>2O1#%QCpvDz)#t=jFnO}Zad zt94s+J9TSx8+D8@->?>8kBt?^W?^rQkLXv}r#gmJ8DAJFW1FycVU@;T!`>NR8L=w~ z`)vHfI4Z1G*c0P7WBsu2#^=V`VKu^9h6RN+4Etp49Of7H!Pq>EZCY+xYFc7iVXB5( z;tX?@sk(Wzt+Q>0ZMN;WEzg!|OS5IzR5q4vrcGokutnO;wj>*A3%7A>gpF^TXY*&w zwMlIZo6=^od2D)HjxE$S$7Zy}+wyH{Ta+!#7Hiw$*yvd3*yLE`Sm0Rg*zPECEO(ST zmN^zX);NkCD;--MMd1s=1x}7r=9D`XPN`GuR60dYp;P6Y?Mic{yJoo(T^`p=SE?({ z7451O;TJI@A}F$bWUI(_k!>S8MYfLY64@rQII<+NG;$%x-|VQgsMM%)?mg}c?z8So z?(^=e?vw5#?xXHg|BJo*j%spS_r*U05yTP|dqYGKd+)t>MJ$LSC<>@SCG-}9AR)w1 zL_nHg@4ffld+#mb?Y+dV$ZrOhYwf+)KIeDu8Ta0C{y4m2=@Q2pW<9<<-)Dw*&QEMn z+{U;KaqHqX#TCazhxCg-6n_Lxa);xOC)`drm#`<{Uc&x_lL@yHjwW2y-q7CB!Ybdo zt^K_G^>TVSvHbaR%W`|&x8*pT@QeM)gq{5{9qz1{J$*?acPfebZJUQ7bxwU?PzLp;7+v!z$Cw)zQ3w<@c zhrXHqdrAlWx0I^-8u||@?e%g>eZ4dIoWi77Q+}j4>**9KrGfruN?Uz%eP_L$zC6W6 z|0$)LzKxzpAydQ@A?0gIBfYD>tG>FvvA&CbeyX=&fg$h@!`$Z&#XR629P=rL$%eTG zzdt1NWzaGYGI$yi3{g-xUualtn4MO|Si@)&qZ=9<85{p$MyrfYf7r;J(dHlDU-irQ zefWp+`yBe@HtF}ps>`cRtvb8vC43ftFcfLC(lMwzzl4hHD`-Cx>AxgZSmoQr8Lm(% zcK=feZ2+B6sN+Dd*aJGo&QLF|o7pV0VP=!ej#)*vSF4@Yz$q!aCOM)F3|F9 z2Pe7q+1)GUL7T+63hJ84*(up8vVZ$)FQF=V9~x{nOOmP--0ncb%^Cbs+-|J7w+3Hx z7y4~C*O=G5TSKgQ2wk_MYbg9Jp9MY$ydQWo@NA$l@N(emKx^R3z#c(~LE4~AK{tZW1z!lh6?{ARe(>4g z)4`{L?*zA6*i#*>9;aTY?yg>>9<26LFI7jYebrv-w(8mH0qP;@VQRHHP(4NMsh+M5 zRWDZ0Qx8=8tG(4T)RWYc)uYujLZ*j!hinho6|y_zM#%LLE_{aFRO^ zdNu4)*!i#%Vb8)Ygk21~9rh&bR@n8h`(d!kch82s2s;yYE$mg;>#&mW((uI*!SH#E zg%L|4f+9j9)Del1MUfjKb0gP8=0$FdtRA%@s!MdI=x))2qI*OSjP4cPJ-Tc3>1aH< z2!5}mBxYmGx|rgaO);Be@?r{O@?+k{Qn6Sp9s4d8iG3Ywi7kueV&BJ_W4FYOj2|06 zCjJD z1MNetv#zDCp{|Cmh0ax1SEtf7)795C(YfiW>uTv5=xXZf>D+a#bt4iJ619o(i3byf z#P%!Ntyr?+VA8gveMu*ijwbC+I*_y{=}6L{q~l53ljNis$?yQRWN-Z_eTaUNewsc& z@1q~8AFU7657W=rkJNkV$LJU62kU+HVfxAXW%?-n4E;j=Jbk)8SnsEwu7_^7eu;iT zYEWumYOx{9kZ;H_tTCh+k_>ANu*&xe3~>g7VY5MRSZ&BQlo(PBxdwPXhM~w{G`JYs z7`s-Q_8xz#_Faq}p=>W1&8uwY_=i;=SG`?T&xEde51n?KK>lu(WfcicasgW8HW7Pu zr9dx1>)M*W1lrIx>G_veJQRAxz2Wyt24>m>^{$yiGS6oA&gxt#?Dm7kZqKY}=rSij zNA}xln|<0F3c#zgv!Mo@mF)pt+P}=le=j~Z&-u2-J*O_z5kEsY(JrSoloQ+K^vmf5 z)x>%^HK3IEbBzicwwGZkUHYMX*sWVio;Q1I{?p|(Q zt-V~m+IfALn&X}Bo#CD8o#MUHTj!nZo#>t9{mkcy&wZaqKAn8seY^X%^6lvB3_N_> z_;&H_?3>^#`O3b>{g(Kv{m;!kJ@<0J(SS1nM1VN}3qS+NfOi2xAQgxNGJ$9y8JHBb zBIsDqtDr~08S1s_B=uIcQN3PWtlp?DRU6bf>P&T>dZl`YdW$++ov7ZXE>i2&>FPCV z-;li_PD}2D?hO49`Xm$yeG|%s5}|nLyHGjwZD?628EOfW!pJZ=3=I>*%EBTdmPLd@ zit|w9?#R`VyCU~S9*o=?xj(XYRGld2s9I4eQ6r+qMngj|dQ9||Xe#<>%@w^%Ts0gp>@l1)95tLV z>@(anTsB-X+%X(C>^EF7+%g<795b9ZoG_dnqJKfwtX~d@28zRyVF-RKbV>cj&Tpgfd$X zXoGfvPFpu9wG}{hb7P@h(QjAn%Rk6!_Rx|1ErX4P`qd67CH|#fr50~0-T)1(fAyBS zmW+ai;V-LbC=?ApCUz>Zc{mxR2cU2Fs`NXQ>THgU8&u{ttnUVAj80yiy$Zb7dFOi< zd6#$>dTVA4^j$nhJ?DZStn#C!{>%Jd1iTO60{8$afDRA?7uc}X~&#EozYwA<#W9sAT>*^!wy=s5>eZQL_)t5MGYG`U| z6q+iUdK#6cA{1!8hqlrD2>l#dO``~}2>TjlA6_079dRP^LgdlNi;>RYT;#FH(~*}V z>qXU#niCxuJu7-j^t9-i(X*qsMW2mkqc6prim8aL5mz^^UYt{0?KtPSI&pjB_QcJN zZ>DXhZLD?Gw$OIcHrKY%w$-|6-L+k{b97U5-ns=kAKiT2T%DJ0o^GaYn(k=g;l$60 zUlOBMJWP6&^dM<&vVZas{Wbjs{bl_n{bBu4{aO8W{T2Or{cZg{{SEz9{XzXP{Ud$r z)D!yS`g8ilse}PHlo?(d7z1s<4DStA18R6;cw=}B_hEB}7Y4+z#qiwl(x6EDU?2@| z4bzMhjGnfA*pDX~M;oUYy^Q0G?M)u0R;C`Nt|mv&%QVK+#Wc_~*woGBZt7!dW9n_{ zY-(*9U>aoVZyKH+m0p-$ke;9ZGhLZsmjN>7WX{iY0P`|uW_oA(X9i_1%=FEiof(kn zm$^7|dgkb?Fsh_7hf+N#*d++t$=Dpo}m-im;S3YljUi&!D8st0J zcZlz0KaKzSx!(gEgK7uW3~~yp5u^%A33><5lY1NVE|^f8)pyhn)i2ez)$i4B)DP5* z`o8+E`ki`S$bpa=OB!oDG_INknhu(l8aGWV_%vcWO+!sU;Z?%7 zhHnes623WnWBBdJtC7beFGn_rniqXD=2py=7%8TCT+_Igan0fy#<|2Dh+7!HD87ew zpthg3qjrFn)zaE%U6d|Xr_sgeLUr-Fa9yNsk#0ib_{5cosfouE%M*Vl#;$mt^fW0j zIUspKGNYIDoc^WWq9^sQ^w0IIUejnKgeVHDleKXjneKLGD zIHlD{tDfeN_QOy$t-??(t-Qi6ZN71~(bqWB7+{=Z^fCGwXBpFs$BoBq_wv(E#wn(; zrtzksrfDW`({$4W(+qeodzprtrkZA&Mx@82N2eF1J7hR!IA!d~*p;z2V|T{V%-GC` zOm${xWc7#TFn@WH57<94UL2+~r6r*i!=y|9>pDs98Ft*U9 zWNs_mUie#oY+dO;xpD4w+1wKX(-d$bU_sAf@Q@vU+_5;2HzCF zEXInT7F&v6727npRe$r~ep_%FD7XHj2bWl4C|OjJTbf;Zq4Y;-Cn$-PR}8E4w`M|t ztIxDU-bcL;dm}!he6RUkxAo;`yuaXoVeZAbUjrHjH3+I7R5$2-5PTjZ7zsv$t!hzC zt4Z}&wWQ|Nf_k8)m!^xRkEW-ln`XGCuV#p*zowsNsAhnshh~_@0n`nz7rrBWd4x9N zROIgHUD4;Fx#&AF_hRnH+>McA+~ZosdBnAiYaQ1v?oiyac=(8J{Aai-8K)hq9j_gu z9i`>92|ArFNw-3GDzPFlZpG`Qmr2!=7bP!Fc1x|$D^h>zo2G))PkLplQ)-pe8mZ;_ z#%ZZCPHtDDv!ZGkb^c+&XUIM1Xu`I#1(7MOxe3r$N+`!Z59(=t;sXJvV3&CHsS z<&!l#D`WMD>|xo*vyWyU%08T3J-6=PBzw;7$0_$qPPN>MoF6$g zazEwN$#uwmmuJpSEBMa|T2yUTTx(e4zzvbJ%9B&tBi(s~@Cq^QT_+KI?tX zd#vvm-`jro{UrbLfTlrqAwSgiAz#!WWQ1mK{E#t`E-W1K10G|CijN-)*VsF$%n zBQrBS(?82M3+e+|qq9e5kIFuoJtTKPZtvW7xr3n8-8Hu#w6?pxXrJ3Bw`1b^~&!LE#>pj1r98@S!uQV6nYo-t29?fLM?n4lvjs9QPrlTHiAxS|Kh2|Hud-d-vh})_>yAS|(WW0?|5H)C3_awd&{8}JjpRL0R6Gbx#XBX=;4oAb50%81 zu7mm?5BfM_4CnsO?zUqD3J8aej--*6Y{T}+s{w;%CgW3eS1yv8J z8sZdEbIA;iw`Qhhs>UU}MflF}#E2J>Pa|JOK95`)y*Ij7+>tm^r z_JdZ^X6rl?4THTmq_t0TPYW}iH=Z+oH|k6&ress9 zNpDIt)z8Sw%*`yyT$8yvb8TjR=De)=S!1#%LeaduVmwsMJ)vtp3QFhWpmjb3y2>^W z`E~)U^2_OkzJ)feb~+TzJ)yQf9;&sDU~176DAP8E%Itt*@8TK7zueG~f106vpdZ?O z-Jo^7*Zn0#B ztVwX~_rkABn&(`_eEa#z`R#(-gVqKy!F58MLu!TG3h~v<*0_ZyMJ!B==7pn%XaQU~0G20jYyiyQXzd>zvjjE!r4qj4=K*rkgTNCR3VeRC?o#g3Q3I z1zBgZ=jYDI^@Fy%f38iM1_jwmx+IWAD4(lYL>8UoD-} zDToW^gX@OO)dXn#H1jmA!X3fuNG$ScOy9WUamV7++I*ccacT01)V^tb(t4#$NXs?l znMyO)XKu(W$vl^RHv3X`NbVvi)-TS*){f4%so~f2v3!5%2hS>AuKl$R(=HAq_*Cgv{5p3Evg|BIadGzqrNP5bY;z zk*+{jtSi)+lPpQ2Q^%x^O^q|g8@0v+V}-H6RA}0oxg~RR=Ca(SxuLmXxe>YJ^1}<} z7A{)1Y~9jzzx_>TsE2QaUZxY2BY(S)E;EBQq1u6IhcdQhUe1opjfEn8RPMZ@U&d_I zx_YH`p`u-F{g(BMG(norT6OB+v_WY@ATGWRJ}Iy>^JeCR{D^``sC5Sv?k)^0vdPM= zi|gCY$9UbabnJS^`7R+I;S*DLWF}WC_l{t3(W0Wx#f?kbg-=LbZ(5lfx9)gpRCGvD z{JQ3)i#2M^mQo#bEeqBIv%+j=wl^!yRm|{|YxDoUZtM(P%`MGt=2qs`W_NQNvxm8@ zxt+Paxr4c*xs$oGxr@20xtqDWxre!@xtF=OxsSQ8xu3bed4PGKd60Rq`M-xCTwalE zUTID->&>ZVgE`F%-%K-`%<1L~bEX+q`AwF2wK?0o#++l$HRqYvn)A&CW=BwHE;1LJ z*O}qL8Rqro4d#vJP3Fz!E#|G}ZRYLf9p;_pUFO~9J?6dUedhh<1LlL~L$Jz+%}2~f z&Bx5g%_qz!&8N(#&1e39wO(g%*L=@>-~7P*(EP~!*!;x&)cnl+-2B4)()`N&+Wf}+ z*8I-=-fT8o%w=Z8jG8esZYIqCz1&+kV_3Rcx>>qgdRTf|dRcl~`dIo}`dRv023TN~ z-ww14vJAEiu?)2gvkbS4u#B{fvN(eOiXscwewF~se9Hn$pe4u>Y*}boWLa!cTS6>L zEK4oRETI;SCCn0TiLgXkqAbyt7>mu3bq4X41dGzn z(kw>HDvQYi4~(>ATCyywE!mbemK;m21rFDid`p1^9?xhgwyd+1SV}GHEgLKwEt@Qx zE&s0_*z$@umbaF7miHF3#bPP5AQseuS#S$sA#GKDM_FhKV__|vg|`S6(IQ!7SY@l_ zgXN>;ljXDJi{-23o8`OZho#)|(^6ppWs0(YZ^1f%nq{i8T4lA%>XbQ`)h(-6R==!4 zS;MkMWsS?4lr=4DR@S`CrL0AnYgx-Ox3X4ct;^iY+LXa}KFivcwJU31)}gFpS*Nnj zWnId;mUS!ZUe=@R|CR?k@Bg?3TVC-WYp}4&@7I?7U4(T6{}mI~0sK~B|93=KXYi!# zzn2Ny3~7$IAT1DAq$T2pv_e`V?noQN18Ix2L)s%9kd856nix+6W1o=7jG zyrMVK2kDFSL;52Fkb%e`WH2%W8Hx-;hC^evt9b-65*dYzM#dmxk#Wd)WCAh~aRif) z$%rR11@S_rBGZuR$PC0AnThxyvyj<{FER)5L;R7s$UGzfnU5?$0+Apj7;yj#kwwU2 zM2&H$B`4rN#qoA8aacUMb07T zkqgL0z%3zfd1Vu0eM+k&OD1=5Bghe=nM+94yEg~WzGGawOARm!W$Yt9OVFk0GBgy`pkZh@3Xc{-qtIwH28~7I(0DWf)uPK$9h!))K$Fm9bS0XC z>d{oxfTp2FbQNks)6onx6U{=)D^{b~=o&N!%|-LjwP-$CfEJ=fXfe7Dg;g#qK}*r~ z=mvBnx(VHkZb7%A+fYZa9o>QMM0cUP(LLy1bRW7OJ%AoW521(ABj{1|7^gH?kEk}Q%6)3p)1DX}V;1LlZT#hkEeSaqxhRufZUwXoV) z9n2Z4i`B#GV-2u|SR<@4)&y&cHN%=?E?5i96>EvPVXd&%m^;=6^T66-?XdP(2dpF3 z3G0k?!MbAIuy7on`eOaC{@4I)AXZ*62pfzI!G>bPu;JJUY$P@c8;y;@ z#$w|zSY>29HUXQ6O~NK)p4b%33!92f!{CYS*bK}Yn~C{gv#{BiFE$7B!~C(i*gPx% zn~yEP0JFuPDE^Ifp2iuG7!}enbu!Gnk>@ao&JBl5{ zj$Tb_KhNUBj+pH?W)7E$lXS2fK^i!|r1bu!q@oHPdx|~7o?|btm)I-pHTDL3i@n3%V`j{Pm0<{mVi<;F1V&;MtTK%;7>jWjj|rHF zNtldTu@Bfs?31m^=x6K;_7(eveaC)a<=9WG0t2`sP~djBJ+8#7;10MWUKMx3tKrr0 z8hA}yh1bGs<8^Rnye?i3ua7st8{&=d#&{Fl0W`&%;mvUuyan!xx5VA>R(NaN9dCns z;BE1Ccze79-VyJFcgDNmUGZ*scf1GQ6L$u^@ZNYIyf5Al?~f0_2jYY9!T1n-C_W4y zj*q}c;-m1<_!xXFJ`Nv`PrxVQlkmy7Cq4!D!l&ZX@agyr+#8>X`{1+i*|;x02lvDM z@wxasJOH1MFTexwAUqgfh%dqy<7zwvUxF{im*Jtf1`or-@d!K;kHVwz7(5n_!{hM; zT#GNqb$BAa0#Cw|@s)TAuE$ex1D=K(@m079PscOxOgsx;jc4O)@EklB&%@W^aQ6;g zfEVILcrm^XFTqRk_4o#SBfbgWjKeBpTkx&;Hheq21K)}7!gu3)@V&6g`|$nv0sJ6- z2tSM;!H?p{@ZpfzIEhm@ zjWallb2yI+xQI)*j9c*!_(%K`{u%#*f5pGy-|-)KIsOx`zyYBk>Gh*`vJ z0!kXh9Kw(AC*~6KhyY?fv4999f{0*ZA+d;9OsI(vVhOR7SVn{r8X}AcCnAVQ0`7Jv zqKOzHmWU(bi3CDREGKkCBC&!CTB#MY)VjWRJloIQS4a7!b6S0}tLTn|r5!;C!#7<%tv76XK>?QUQ z`-ua@LE;c`m^eZlC5{oti4(+0;uLY3I76Hz&JpK{3&cg@5^A-)pdi0{M?qTE(x;wMo-08&BPk@lpL ztU@}Fj-(@~N;;9%$m(PbvL>k_Ymv3dI;1mMm#jzDCmWCr$wp*jvI*IgY(_RGUC0)s zE7_8C0B&R}vNh>Wwjn*pwq!f9J=uZmNOmGSlU>NJWH+)q*@Ns!_9AO+n z8A(Qw(Ih-uwv+404dh006S5R8`7}szz0(YEU&P6;+F>P1T{Csk&4>sy@|#YDhJr8dFWErc^Vk zIpspNpj@ezlpEEGYE8LQZ72__E!B={Pj#R=Qk|&IR2Ql%)s5;-^`LrEy{O()AF40a zkLphipaxQdsKL|_YA7{~8cvO%MpC1w(bO1fEH#cAPr=K=8UdO$s-9#M~}C)88w8TFicLA|72QLm{t)LZHu z^`0_Q7OIRwD3rn|oFXWaq9~eTD3;$7QXi;~)F0ou1D9W8_*5u zMs#Dk3Eh-#MmMKj=oYjq-I8{rThXm)ce)MjLARwHKs&lU-GS~%ccMGfUFfcKH@Z9B zgYHT9qI=VQ=)QD6x<5UD9!L+O2h&67q4Y3%IPDBZ&?D(l^k{kvJ(eCvkEbWl6X{9x zWZILSLVM9u>1p(IdIs%H&!m0mS@dk$m!3oW(f;&YdLA7>&!-pAfpicZOfRGt(Tiy{ z9YQamm(t7VP+CKW(cyFi9Z5&g(R2(QOUKdibONoVm(w~rkzPS3(aH2mI)&ELskDJk zqmA?`+C-<*8FVI{MX#o_={0l?olED@Yw3KtfG(tqXt@1~E}={5_4EdMBfW{2dON*?-bwGGchh_5z4ShMKYf5cXsa@Fh(1gop^wtX=;QPW`XqgdJ`JmUhCWN5 zqtDY9=!^6v`Z9fmzDi%CuhTc^oAfREHhqV_OW&jK(+}u}^dtH){e*rBtNe_9PQRdE z(y!>(^c(su{f>T5n`sMOMk6#zV>C_^G)Yr5O*1r0b2Lv2u*xDW(K2nNKhPiPPxNQ{ z3;mV;Mt`S&(BMTSnsH~^Fdj@>rXACs>A-YkIx(G@E=*UZ z8`GWX!SrN$F};~SOkbuS)1Mi@3}gl|gP9@BP-Yl2oEgE4WJWQgnK8^*W*jq~nZQhB zCNYy4Pi6|^#gtb}Wu`IHnHh{XGn4UQW-+rFUuF*D$M`d_%IsWb9uvUKXBIGlOb`>y zEMyij@LhaH&4e&Zn5E1zCX~@IVN5s^!9+4qOf(b2#4>SAJd?m^ndOX*Nn}zNJAMrISUnc2c@WwtTfnH|hdW*4)Y*~9E*_A&dJ1I$6@5ObJ0!W?CeF~^w`%t_`H zbDBBBoMp~2=a~!4MdlK7nYqGTWv(&TnH$Va<`#3Cxx?IL?lJe72h2m}5%ZXN!aQZ3 zG0&M7%uD7K^O||Xyk*`o?-?^=VagbUK^cs}8G<1hilG^XVHu9$8G#WQiIEvA^MU!u zd}2N`Uzo4VH|9I@gDGcz!YWrVfK{+|tUaq_tFR8NBU_bqVym&$Sy*MR23wO=v9;LR zY#r8_t;^P9>$8ra0o#ym#5QJ|uua)!Y;)FyZNa*-Em=3V72BG1XWOtIY+JS++n(*f zc4RxTo!Ks|1N=Md#&&0WuszvcY;U#?+n4Rf_GbsM1KC0BV0H*QlpV$nXGgFj*-`9h zb__d~9mhI@@$3Y4B0Gtl%zCm@STA-eJB^*r&S1USnXC^xi=EB-vU6BJ)}Nir&SL}E z`RoEVkPTvk*@f&Pb}_4FL)azkQg#^|%4*m!Hk^%MBiSf6nvG#&**G?yO<=X`a#qJC zvMbmmHkn7$>^62gyMx`y?qYYd@oH@ zd%{*_{v>;fJ?8Iu`-FYUK4YJ=FW8stEA}<}23Gkk`;L9jnpq25#v&}rVl2)QEXh(V%`z;@axBjZ ztjJ2N%v#wG>__$!tnz2}3;UJ*#(rmiu;uJewt@wmg0ti7IVD$xbKo4gs+<#7jjPVp z;A(Ozt`=9DtHU{Sb-8+6eXar5kZZ&>=9+L#xn^8*&V_5ixpFNzH?9@ensevca2{M+ zt{vB&>%ev7I&q!3E?ifx8`qud!S&>NalN@dTwksq*Pk1}4de!KgSjExP;MAEoEyQ7 zWZX7qBo4`%vCUKKFPi_k5#ZBd=anrdOoHsX<^Wn-XW^uDQUv3WP$N6(} zxp`awH=kR;1#&?gtg;ZyE#ww)i#atH!Y$#Ja?7|-&Jk$1FfN>n;3BywE}DzsV!1dj zo=f1g+;UFGC2}jcBrcg-$)#|5E|oKIX`GRB0IN6?m(FEynOqjPn#<(z9sL* zx8hs#?tB~GgKx{XO!hzBAv2@5*=MyYoHxo_sI9H}3%Y@O}Aye1CobKad~9 z59WvPL-}F+aDD_ok{`v7=Ev}3`EmSsegZ#{pTtk*J^3lTGw|Z4^3(X~{0!ckpUM01 zv-sJ(FF%L(#R{4RbszlYz;@8kFL z2l#{hAz0FgKjEM9&-my33;relihs?&;otJ_`1ib-xA0{=0;`Pj z7?1M=Px2H`^9;}O9MAItFY*#E^H%-?|B?U1f9AjNU-@tRcm4-o4y*i=ui$~85bOkd zK`B%b90W(9s^BD46RHa}gqng%s3p`E>Ilw4U7?;(UuYmS6dDPQg(gB%p_$NJa1mMv zu0l(}O=u;w7Tkq4f``ynXeYE6ItU$wPC{p)i_lf*CUh5i2t9>fLT{mu&{yau^cMyQ z1BF4tU}1?V7$=MuCI}OSNy22oQ!gOJV;4RD) ze1uuTY{6HUBlrpa!dw9gM?!!wUsxan3PD1!uuxbeEEd#4h_FO}RhE|u%Y;xtBZLXz zLWB@0LBr{n1pm8L&y}e zgw=ur$QITJIYO?GC#)6ng#w{aC=!Z=bwY_yDy$ba2pfe>!e(KMuvOS5Y!`M2JB3|> zGuSQc5%voEg#E$+;h=CxI4m3yjta+w$k&;lc{0w?f-Ac%q_$bwb)Abb=)37>^8!dKy&@Ll*JlnXzF3IT`; z(N44%m0}gqL39+WicVrRvAS48EU&03s>E7iZLyB%EY=n4iS@+>VneZ!*jR*Bwl)!) zip|94qKnu zv5(kS>?igY2Z#g3L81c~EDjNeio?X=;s|l1I7%EXjuFR-@{ zajG~?oG#7~y~UZLGw=~-iL*stagOLG`ipbLd18P#UtAytia}zqxKLaqE*8~dh`2;t zDlQX4MU5CHhKmtmq!=Yei!oxX7$?Sy38Ge9F6zWYafO&9CW|Y@6j3jxiUu)FG>WT4 zlb9}Mh?!!RxLV8>*N8b{u9zpT74yXcu}~}$i^X+fiC8MG7dMC-#ZBU7af`TB+$L@p zcZfU1UE*$WkGNOdC+-&yhzG?(;$iWKcvL(l9v4rDCt;OOiKoRg;#u*WcwW39UKB5h zm&GgMRq>jw${((aH^iIbE%CN^N4zWE6Yq-;V3i+=kHp8~6Y;6|OnffB5MPR~#Mj~* z@vZnyd@q_si&!QiA}V4cE)pUsQX&nj%!sVWiM%L?q9}>7Xca$*AH`4NXYq^pRs1G? z7k`N5;!m+c1d>9slk6p>1m!u&L2{I;N={NWsk&4{swt_YT2gJPj^r%WmFh|Lr3O+% zsgcxJY9ck2nn}$i7paBhDz%i{q*hXE$z5tAc}Q)gc2aw(gVa&#Bz2a$NL{6FQg^9` z)Klsu^_KcbeWiX;j;a4AB9RsI+$MM=?8j1()yN%2yGq?MLSjzA|RN-Lx!DOp-6rAT@y zRWe9vl2KYEnWS_nL&}uk5yeurv_{I2a-}?Jt&}f0fC8ydDw5##cd0}wmDWoeq>a)h zX|uFN+A3|6wo5ytozgC8x3ovv3;*m5U-wD-r32DI>5z0-IwBpFj!DO*6VgfPlyq7; zBb}AbN#~^t(naZ#bXmG0U6rm$*QFcMP3e|&Te>6NmF`LRr3cbO>5=qUdLliQo=MN8 z7t%}VmGoMABfXX0N$(}IWRc1wL_#G@!X-i?B}$?tMq(vS;w3>6B}tMctMozoD1DMX zOJAg~(l_b5^aEC|T>2?hNI+J|cCx*!l&i=NvZGv8c9LP`zEzW}%QfVhvP!Nc*Ou$Z z&T?HD?qHYe%MIj)awEC1+(d3FH=x;#VnmS@U7@+^6_>?_Za;RBrVTzQ@xAkUW< z$boW@94s%C7s-odwHzWZk(bKL$@}F4@gOTI1Nk?+d)N*0DNU>ssqs>suRG8(JG#8(W)Ln_8P$n_FG1Ev&BAmR2`wD{E`3yS0tg z!`jx`&f4DE!P?Q<$=cc4#oE={&D!1C!`jo@%i7!8$J*E0&)VNQz&g-6$U4|M#5&YE z%sSjU!aCAA$~xLQ#yZwI&N|*Y!8*}8$vWBUX`N#AvQD*5vrf0puzFkJUJ=5>Sy)0&b7|723Y4?7g%AHe*{{CtijfW)zgJNKz+x~TECqc*FVGeIyAOL{SNZ9w_6jfrUH~ZIXY7Fz zQ~?eEzWWcHKs8Vu)BrVs3e*C%K^@=>>VkTpK4<_Mf<~Y*XabsoW}rE60WE+lXbIdv zE6^IagEqhev<2-zd(Z)N1f4)<&;`DVZlF8p0eZq$)Eo4HudE;F4+emNU=SD#|NNm~ z7#I#lfRSJn7!AgNv0xk+4<>+#U=o19444AEz*H~|Oa~Cv1@Pcu0O0}P3*e#Tz#l-? z1O&kU;{_lP1c6|%5G;ZffRCSpC9n$10NmgO!T>y48^D8VKs1N}u^W9NYuEC)J} z2(E)4fC6Oz1!jN&0>HPn00{)Z0~TBXSHVqygKOXe_ylC|9ef29;2C%WzJSf(1$YkD zC@g>jR`3l-;33!rPJ#1aAJ_xVf-_(v*bPpDY!2)+L_nGc~ z?wi0?P}{wpdr$X{?#g7EASe;1m)l@*bk0?z2G2d=z0zu z1KYu8Z~`0vJHT;p5*!AHzy|jXwtGP_44#%WEMNpYo!xeg3>+CaD(Lq$1}ZSNYwV)2 zi^jn-nAU>_k_oL*siIN(w-VVE#lV&y%c!Oi2CcA z88a(x7Ca^uUSNLJk&f%DjI&#!^z;mMoCYH8rq76~GTZ5}T}!870pk{XhW_>6fnfnk z+e?`cV*69<)QSMRg$;@oC+!3`;Nj>GZwHSnf(Mve;|tI!fW3#{uj6^Uui%TlTcgiT zbLT2__5G)TE`zv8OfH-%lRME@GQYPD_W2w$0Es{75G;Ph#5;|4f$2Hd#=PM!p}Z-ZO6 zz`c7wk?#K5{&iEA231^K99?PymllpLbsSurYPeK&sRk7N+qfuP>|AQuyVL+K)tkFG z*tt{zF7_@;dzYFnDxj$A;jQrTI1HPWtAppj!Ta{BeEoppd)IFYMMX=uR;}IJc(iTT zzC*`Oox61H*1gBCiu4~aaM0i(Lx&9?F>=)CF=NM#pD=OKWKUR%Y13zT&-9r!+jowi z|J->2^A`jL1utB*SRJxt>9SBwSa?KaRCG*iTzrCdxeh2QDqLWf7!Er`C)gJj!49z4 zb|3%K$L~HD>}Bh7q44*9^|^Jhzoo*j`+NY8Hu^Vxt_0{|4>VNvxiui`&px*TBmoFY zfE3sr8^ZpV28;kgp&(qs2o+kU=!?+17XMP0J~8eP+n10<)o^ns;;V`s;N?`{6I_CRolaUIskT*POz8O zQq@+~Q8}yXs_LogtNg(>*k#>e5482sA*#u$2C9atMykfDCaR{YW~zCx&$fd7)dO}~ zH{hxId!KBsa#6KVxvE;K+*GqwfA5;DRIOF+sx~SQRa=#>O82)e+D_G8)j`!!)k)P^ zHAUs6f?$OTG88Ir6+8l7HA~e+)m7C^)m_y?)l-%5Z~AXR*g}ORgF`PSN*%3nV_1enxwMb7VBY(j8)wN<5U(f z9)3nqF*`BAcgd9Hll0H#Y#mL#d3vC(MZu)u?NH}YAEI^{+`866#k0eS)8EID*ic( z?G*Nkf6d}LirNa5;x?$I7*mfWJRm@WaD5fi3ff)*o!j{Dg z6t*mWYxmmjy4?%Azq0tHU6{g0F-!3)i#LLn3nqeDTDt`S_EWEb4&8fzD3^LLaJq$p zZryqe8D=*O3>yYVrBPs<-8e8A(tCEEGr$aGfL#Cx2!L}?5Lj%t7%U65gI5%YvX2`U z;9yI2hhKqS8K8g5^Tl?yK)0W`r0V2lRVu?3=IhjO<+O;ZzoT0@BdRjD9p_hl=r}r9 z`A1|s{R-@OC++`2U;|rX!@Txz^Y}Bb=lz-2^I%?Ix$@x~3~V@2{fca0%WTCVdy7-l z|5`p@{guxyjxeA-+<@EP61uPBUvboABKS|TITFmahsg}X>OV_n&l+$-=rYF^%vE44 zYn@>z1BKdc-+llS8NQmzOa_W}t!#}i(MTEdZ&U?Sr4wVx>{1yeA`dK(l zU;8t4pH-&rCAbc_04~DW{3={6Jp8BB{Q}nqzozqFv-ur3uiH}h!5^vn0?sD?x;n9S zqIqyWPk@v8fq%1Bv8^JO!%5u_Y=IN~r@y7{M!3cp3OkA~Txo2A>yWK*p5Fa5ZCvYX;ohxORrvJxjn|XTO zonL7i3;(v3!g?=&Kim4?zkd9_H#>R!&&t=f^1TAbAO*}+Wo3$5KoyviC`?fYn7tHC z+<2IE9LzdrMO{S$g%vccOx}<1zG$Los`vq1T@Qdpip}uOb8|fgzi#%yyU?v=W5o_I z&#jfBv!aWly&}*p$gP8-x5Cb?j@xj>0L4IsExBzeK1wlKF#@J@6St8tOUlna! zH-NEja(bMeg?PPC&4_O0kg87Yk${S3U9?sn6XVrH*4f5AI!uEbi zuYbK^Du4a^u9^8iGg{@0HdSe-oTju_dMOpk=}M(?hO&y%Tj`*jsdQBOD61-GDV>zF zmDQBK%IeBF${I?4rAj$hSxY%t*;zSW*|r);Mjqx4X2|Kt6VZD5Gq0=rJ|U8&Fx_Lb9F)nSz%;QyoUy`!2;!?j-!RBU7K z4Vc94_y#Q48+J`c5)#r#0}=?3&;y}E2oPE*g541{KthoOLJ5!t0YbNqI_iwh=%_O~ z@>(Y6b$@4nXYX(C{eA14^Zjwo%i^D8!TPPNTefS7;oq#ULn0>n(P(IK_ zoCLL+hAxKyXebpDU2z%J+Akizyt>e>$}>OZCe2OxDFf|Ru#Qq^haQ;?R9LpnMEY3L+$510dK ze+{Jjg^=dwJO5{?036c%Qb^g$Ar=2;slZA|)vKMiKq_`~CPPo3|IwegLz-R$>3I{R zdH=cS2eC&i~ueztXleD6Px*H)-3q)Gp8ATiRCe-_tgz&Bp(kwpBP( zI-G}m=Pwig*#GmNUngEny!+P(}5YlOkfu99WWc11Iz`~kn{ft zxv+2UYnA&}ca?*OtEa1z+eWv?_9yn|_Csq9tZ{X}=05NHN$ykK>F!wf>khkJr>vR0 zrWZZ{?}wY_$E7q)9a~txYZmz{{C2nPI3b#@>{u-zu`5NAuM2{67i`-0}?rxo) zcRbzPl&&?R+U{z1v%A~Bx5Mmk`x^UN`#Sr2`v&_)`zHHl`w#Xl zcEFCXd)PhgTkYHI+wD8-UiO{#UH0AfU+jDB`=C9$1NMXVL-xaVZ~GDZQTs9bar+7T zN&6}LY5N&F(vGsD?HD`OjlLL?(n5Ks$oL^>h^k%`Dc zNDoJyU_oXVZfIaN4SI-PgA;B?XHlG7EZt4`OPessF-RONKT z$;CnKROeLh)Zo)<=! z`{66$02~hYf**pC*LLPlacR=X|$P&u-5vo>x7u zdH(2G<_WdV^{nu$^gQo*!SkZ$CC|&AJ)ThOV9z|y0nbd&EKjrNbXL z!L!lxwr7*4##8Gl@l5iBhUI#udNzBucI?j zPnqYKr@^z@v&OU5^S!49CinG7j_SJANBzD5cU)75$rMS z3G8RsQ`j@ubJ#DiUtup`FJUwo9maqKz?d)=j1A+!xUfK25G)wRgYjV@uvQ108{SO^ zr6D9YvKus3-VNfv@r%P;$F~k^9TAS6j$V!j91l58IN%%~K`9Bx@s#5UM+Xl_k4YX* z9?l+Fc+<}ux4hQ~~gSsvec%=Vb$G1p_B$9#_k9t%Adc`Wu=;<40Yna6UE z3Roo!YHJF+2)hKk47&om3cCjT5q2F`1-k*e3A+VT!m434uv(Z3riRtQ>R}DAMwk#L zfc6J z4IBZE0>^;kzzN_aa0)mLoB@yk3P1xG01My%Jm3SI1$+SlKm_~%5p&H7 z1Gov?0+c{CPy^HgDnJd?0rfxw&np73c%{fdRk<3<5*IFfam)0%O29a0j>x+ym|d4}gcjPrxJKG4KTV8F&gj z1D*rF0KWn+fS15;!0*5-;5G0E@CJAbyaWCO{sP_uAArBV@hZQ$(s_^{{pL#@A@{iW z-+0jf<~P5&&2P>U2CYihK;Cg34B4 zTetkL&e$9B)<+>fd>nGcCn1M?8uG_T$V)>cDhH*b(pfoG>7tyboUWXsoU5FtoUdG< zT&P^6T&!HGT&7&ET%la4bXCHXo0OZCTa?DN~fG$~0xVGD|5{W-Db%xw1%Ep{!J1P+nACQdTK%C~qp2%37sLsZnZ` zElQoTRjF5YE6qx)a#T64e5`z;e5U+W`9k@d@|E(9@~!fn@-O8F<=@IL%CAa?YUk=H z)eygWX7#M<+0}EamsGE)cCB7ty{US0_15Zb)n3(ms=cd^R3EE8QH`#~R}-q~)dAJK zYJRn#I-*)wEvk;Jj;oHZ7FQ=$Csij`XI5ub%c|wo71fp1SF4+C@39RAO2x_8hApW|Tnz)+y8gWf(O8ly2vDFOL+^M-+^PuKM&F?j@Yu?vP)O@L#TI*6ft9DN9rrOQ5 zK&?mZ*4jO_du#XC9;`i7d${&^?TK1+ExFdemRZZHjj5H?rq*WG%4_p$i)$-tHMQDW zU2R9Lsn%R;sqL-ptL?8HseMrUqV{F&+uC=v?`tP&9aN4gXVpyA9MuBV3e`&0I+eHT zi0ZiNr0TQ^sluu7Dj$`vil~D4>-|;nDzQqUN>#~JIjTHWzN%DJrYcues4l23sxGN6 ztEyBtRJT-0Rkf-{RjX2~>QxP@MwLdTQ+2BhDwE2rvZ!pTLDh)rj_R@MxynU7O+7nKT)jfQQvJOeriQE6sW+*&s<)|ksJ+xX)d$oE)!ypkYP1@o#;bkQ z1T|SrQ%9>~)bVPGI$52m&QfQqbJPXuLUob4R9&I2Qd`wF^@#d``k@-)Z+N7Bp?;}; zrGBdh)t}X0)y{R3>s;z))Xl70P`9vdaoy57*Sf8Bd+G>vth-cqrS4kYk99Zely$1QhB|YdrOsMss~fAkQ+K!Se%-^m zpX;90J+J$v?nT}2b+77P*ZooVrtYu0_jMoYKGsdtfpwqiKG)fyTd`xkbG=Lbocg)- z^XnJXFRWitkFWQsKU+_zC)JbdDfQHPW<3i!3~{NEQy*9#Tpv;|s1K_b)<@S%>XYhI z>Qn2}>Sguv`l9-a^_S|a>Xr4~^@e(LeQ&+BzQ5j9KTR;4< zsh`uZq+vyaYs0#R^$i;vwl<&}Fb((yLIbUV-Vo5hYTz|U8ZsLy8?H7~H7FYz8=4xl z4IK^L4dw=0!)U{UhKCK08=f{iYxt$%Rm1CsHx2I^CK?trE^J)VxV&*iBdihLxVCX! z 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 + + + System.Text.Encoding.CodePages + + + +

Provides access to an encoding provider for code pages that otherwise are available only in the desktop .NET Framework. + + + Returns the encoding associated with the specified code page identifier. + The code page identifier of the preferred encoding which the encoding provider may support. + The encoding associated with the specified code page identifier, or if the provider does not support the requested codepage encoding. + + + Returns the encoding associated with the specified code page name. + The code page name of the preferred encoding which the encoding provider may support. + The encoding associated with the specified code page, or if the provider does not support the requested encoding. + + + Returns an array that contains all the encodings that are supported by the . + An array that contains all the supported encodings. + + + Gets an encoding provider for code pages supported in the desktop .NET Framework but not in the current .NET Framework platform. + An encoding provider that allows access to encodings not supported on the current .NET Framework platform. + + + \ No newline at end of file diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0/System.Text.Encoding.CodePages.xml.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0/System.Text.Encoding.CodePages.xml.meta new file mode 100644 index 0000000000..3b7fdd2dff --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/lib/netstandard2.0/System.Text.Encoding.CodePages.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 96e698a5f1cbaf3419aad135ea801f63 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/useSharedDesignerContext.txt b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/useSharedDesignerContext.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/useSharedDesignerContext.txt.meta b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/useSharedDesignerContext.txt.meta new file mode 100644 index 0000000000..79bf13c26b --- /dev/null +++ b/Assets/Packages/System.Text.Encoding.CodePages.9.0.9/useSharedDesignerContext.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0214a4222965f584f96febd38973a073 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/Common/CECObject.cs b/Assets/PerfectWorld/Scripts/Common/CECObject.cs index 008c401e0a..971f7473fa 100644 --- a/Assets/PerfectWorld/Scripts/Common/CECObject.cs +++ b/Assets/PerfectWorld/Scripts/Common/CECObject.cs @@ -1,5 +1,4 @@ -using CSNetwork.GPDataType; -using UnityEngine; +//using UnityEngine; //public class CECObject : MonoBehaviour //{ diff --git a/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs b/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs index 1a039ea41e..d15158babc 100644 --- a/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs +++ b/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs @@ -23,6 +23,7 @@ namespace ModelRenderer.Scripts.GameData } } + #region Dictionary for mapping id with other stuffs public Dictionary essence_id_data_type_map = new Dictionary(); public Dictionary essence_index_id_map = new Dictionary(); public Dictionary essence_id_data_map = new Dictionary(); @@ -46,7 +47,9 @@ namespace ModelRenderer.Scripts.GameData public Dictionary addon_id_data_type_map = new Dictionary(); public Dictionary addon_index_id_map = new Dictionary(); public Dictionary addon_id_data_map = new Dictionary(); + #endregion + #region Arrays for storing the data public EQUIPMENT_ADDON[] equipment_addon_array = new EQUIPMENT_ADDON[0]; public WEAPON_MAJOR_TYPE[] weapon_major_type_array = new WEAPON_MAJOR_TYPE[0]; public WEAPON_SUB_TYPE[] weapon_sub_type_array = new WEAPON_SUB_TYPE[0]; @@ -283,6 +286,7 @@ namespace ModelRenderer.Scripts.GameData public FASHION_SUITE_ESSENCE[] fashion_suite_essence_array = new FASHION_SUITE_ESSENCE[0]; public FASHION_BEST_COLOR_CONFIG[] fashion_best_color_config_array = new FASHION_BEST_COLOR_CONFIG[0]; public SIGN_AWARD_CONFIG[] sign_award_config_array = new SIGN_AWARD_CONFIG[0]; + #endregion public int load_data(string pathname = "") { @@ -1480,6 +1484,34 @@ namespace ModelRenderer.Scripts.GameData return id; } + /// + /// Go through the id - DATA_TYPE map and return the id with the given data type. + /// + /// The id space to search in. Each id space has its own id - DATA_TYPE map. + /// The data type to search for. + /// The id with the given data type. Return 0 if no id is found. + public uint get_id_with_data_type(ID_SPACE idSpace, DATA_TYPE dataType) + { + switch (idSpace) + { + case ID_SPACE.ID_SPACE_ESSENCE: + foreach (var item in essence_id_data_type_map) + { + if (item.Value == dataType) + { + return item.Key; + } + } + break; + // TODO: Add other id spaces here. + default: + return 0; + } + + return 0; + } + + void add_id_data(ID_SPACE idSpace, uint id, object data) { switch (idSpace) diff --git a/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs b/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs index a1224cee16..9b716a501a 100644 --- a/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs +++ b/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs @@ -1,14 +1,11 @@ using BrewMonster; -using BrewMonster.Network; using CSNetwork; using CSNetwork.GPDataType; using DG.Tweening; -using PerfectWorld.Scripts.Managers.BrewMonster.Managers; using System; using System.Buffers.Binary; using System.Collections.Generic; using System.Runtime.InteropServices; -using Unity.VisualScripting; using UnityEngine; public class CECNPCMan : CECObject, IMsgHandler @@ -32,129 +29,11 @@ public class CECNPCMan : CECObject, IMsgHandler case long value when value == EC_MsgDef.MSG_NM_NPCINFO: OnMsgNPCInfo(Msg); break; case long value when value == EC_MsgDef.MSG_NM_NPCMOVE: OnMsgNPCMove(Msg); break; case long value when value == EC_MsgDef.MSG_NM_NPCSTOPMOVE: OnMsgNPCStopMove(Msg); break; - case long value when value == EC_MsgDef.MSG_NM_NPCATKRESULT: TransmitMessage(Msg); break; } } return true; } - private bool TransmitMessage(ECMSG msg) - { - int nid = 0; - switch (msg.dwMsg) - { - case long value when value == EC_MsgDef.MSG_NM_NPCATKRESULT: - - nid = ((cmd_object_atk_result)msg.dwParam1).attacker_id; - break; - default: - return false; - } - CECNPC pNPC = SeekOutNPC(nid); - if (pNPC) - pNPC.ProcessMessage(msg); - else - { - CECNPC pAttacker = GetNPCFromAll(nid); - CECHostPlayer pHost = GameController.Instance.GetHostPlayer(); - EC_ManPlayer pPlayerMan = EC_ManMessageMono.Instance.GetECManPlayer; - - int idTarget = (0); - int dwModifier = (0); - int nDamage = (0); - - switch (msg.dwMsg) - { - case long value when value == EC_MsgDef.MSG_NM_NPCATKRESULT: - { - cmd_object_atk_result pCmd = (cmd_object_atk_result)msg.dwParam1; - idTarget = pCmd.target_id; - dwModifier = pCmd.attack_flag; - nDamage = pCmd.damage; - } - break; - - case long value when value == EC_MsgDef.MSG_NM_ENCHANTRESULT: - { - cmd_enchant_result pCmd = (cmd_enchant_result)msg.dwParam1; - idTarget = pCmd.target; - dwModifier = pCmd.attack_flag; - //nDamage = (GNET::ElementSkill::GetType(pCmd.skill) == GNET::TYPE_ATTACK) ? -1 : -2; - } - break; - - case long value when value == EC_MsgDef.MSG_NM_NPCSKILLRESULT: - { - cmd_object_skill_attack_result pCmd = (cmd_object_skill_attack_result)msg.dwParam1; - idTarget = pCmd.target_id; - dwModifier = pCmd.attack_flag; - nDamage = pCmd.attack_flag; - } - break; - } - while (idTarget != 0) - { - if (UnityGameSession.Instance.GameSession.ISNPCID(idTarget)) - { - // Bị tấn công là NPC - var pTarget = GetNPCFromAll(idTarget); - if (pTarget == null) - { - // Không tìm thấy NPC bị tấn công → thoát - break; - } - - // Nếu là pet của chính người chơi - if (pTarget.IsPetNPC() && pTarget.GetMasterID() == pHost.GetCharacterID()) - { - // Pet của mình bị đánh → hiển thị damage - //pTarget.Damaged(nDamage,(uint) dwModifier); - break; - } - - // Nếu attacker chưa xác định - if (pAttacker == null) - { - break; - } - - // Nếu attacker là pet của mình → cho phép hiển thị damage target - if (pAttacker.IsPetNPC() && pAttacker.GetMasterID() == pHost.GetCharacterID()) - { - //pTarget.Damaged(nDamage, dwModifier); - } - break; - } - - if (UnityGameSession.Instance.GameSession.ISPLAYERID(idTarget)) - { - // Bị tấn công là người chơi khác - var pTarget = pPlayerMan.GetPlayer(idTarget); - if (pTarget == null) - { - break; - } - - if (pAttacker == null) - { - break; - } - - // Nếu attacker là pet của mình → xử lý damage - if (pAttacker.IsPetNPC() && pAttacker.GetMasterID() == pHost.GetCharacterID()) - { - //pTarget.Damaged(nDamage, dwModifier); - } - break; - } - - break; - } - - } - return true; - } - private bool OnMsgNPCStopMove(ECMSG msg) { cmd_object_stop_move pCmd = EC_Utility.ByteArrayToStructure((byte[])msg.dwParam1); @@ -262,8 +141,8 @@ public class CECNPCMan : CECObject, IMsgHandler CECNPC pNPC = SeekOutNPC(pCmd.idNPC); if (pNPC) { - ROLEBASICPROP bp = pNPC.GetBasicProps(); - ROLEEXTPROP ep = pNPC.GetExtendProps(); + ROLEBASICPROP bp = pNPC.GetBasicProps(); + ROLEEXTPROP ep = pNPC.GetExtendProps(); bp.iCurHP = pCmd.iHP; ep.bs.max_hp = pCmd.iMaxHP; @@ -353,6 +232,7 @@ public class CECNPCMan : CECObject, IMsgHandler case DATA_TYPE.DT_MONSTER_ESSENCE: pNPC = GameController.Instance.GetMonster(); + break; case DATA_TYPE.DT_PET_ESSENCE:/* pNPC = new CECPet(this);*/ break; default: @@ -389,20 +269,4 @@ public class CECNPCMan : CECObject, IMsgHandler return pNPC; } - public CECNPC GetNPCFromAll(int nid) - { - CECNPC pNPC = GetNPC(nid); - if (pNPC) - return pNPC; - - // Search from disappear array ? - /* for (int i = 0; i < m_aDisappearNPCs.GetSize(); i++) - { - CECNPC* pNPC = m_aDisappearNPCs[i]; - if (pNPC->GetNPCID() == nid) - return pNPC; - }*/ - - return null; - } } diff --git a/Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs b/Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs deleted file mode 100644 index 8ac7314285..0000000000 --- a/Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs +++ /dev/null @@ -1,88 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; -using TMPro; -using DG.Tweening; - -public class DamageTextPool : MonoBehaviour -{ - public static DamageTextPool Instance { get; private set; } - - [SerializeField] private GameObject textPrefab; - [SerializeField] private int poolSize = 50; - private Queue _pool = new Queue(); - - private void Awake() - { - if (Instance != null) - { - Destroy(gameObject); - return; - } - Instance = this; - InitializePool(); - } - - private void InitializePool() - { - for (int i = 0; i < poolSize; i++) - { - var obj = Instantiate(textPrefab, transform); - var tmp = obj.GetComponent(); - obj.SetActive(false); - _pool.Enqueue(tmp); - } - } - - public void Show(Vector3 worldPos, int value, DamageType type = DamageType.Normal) - { - if (_pool.Count == 0) - InitializePool(); // mở rộng nếu thiếu - - var tmp = _pool.Dequeue(); - tmp.gameObject.SetActive(true); - - tmp.text = type switch - { - DamageType.Critical => $"CRIT -{value}", - DamageType.Heal => $"+{value}", - DamageType.Miss => "MISS", - DamageType.Immune => "IMMUNE", - _ => $"-{value}" - }; - - tmp.color = type switch - { - DamageType.Critical => Color.yellow, - DamageType.Heal => Color.green, - DamageType.Miss => Color.gray, - DamageType.Immune => Color.white, - _ => Color.red - }; - - tmp.transform.position = worldPos + Vector3.up * 2f; - tmp.transform.localScale = Vector3.one; - - // Animation bay lên rồi fade ra - var seq = DOTween.Sequence(); - seq.Append(tmp.transform.DOMoveY(worldPos.y + 3f, 1f).SetEase(Ease.OutQuad)); - seq.Join(tmp.DOFade(0, 1f)); - seq.OnComplete(() => - { - tmp.alpha = 1; - tmp.gameObject.SetActive(false); - _pool.Enqueue(tmp); - }); - } -} - -/// -/// Các loại damage để đổi màu & text -/// -public enum DamageType -{ - Normal, - Critical, - Heal, - Miss, - Immune -} diff --git a/Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs.meta b/Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs.meta deleted file mode 100644 index 93ea878dac..0000000000 --- a/Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: c9f785775e0231e488e0cbe93016b31a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs index a9f954569f..126b9e1c93 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs @@ -148,7 +148,7 @@ class CECHPWorkMelee : CECHPWork protected virtual void OnFirstTick() { m_pHost.m_iMoveMode = (int)MoveMode.MOVE_STAND; - m_pHost.PlayAction((int)CECPlayer.PLAYER_ACTION_TYPE.ACT_ATTACK_1 + Random.Range(0, 3), true, 200, false); + m_pHost.PlayAction((int)EC_Player.PLAYER_ACTION_TYPE.ACT_ATTACK_1 + Random.Range(0, 3), true, 200, false); m_idTarget = m_pHost.m_idSelTarget; } diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs index 3ad2080f30..d4a70c39fb 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs @@ -139,7 +139,7 @@ public abstract class CECTracedObject } else { - CECPlayer pPlayer = pObject.GetComponent(); + EC_Player pPlayer = pObject.GetComponent(); fTouchRadius = pPlayer.GetTouchRadius(); } return m_pHost.CanTouchTarget(vHostPos, vTargetPos, fTouchRadius, iTouchReason, fMaxCut); @@ -384,7 +384,7 @@ public class CECTracedPlayer : CECTracedObject { return true; } - CECPlayer pPlayer = GetTargetObject() as CECPlayer; + EC_Player pPlayer = GetTargetObject() as EC_Player; if (pPlayer.IsElsePlayer()) { if (pPlayer.IsDead()) @@ -612,10 +612,10 @@ public class CECHPWorkTrace : CECHPWork { // Continue tracing object float fDeltaTime = dwDeltaTime /** 0.001f*/; - if (m_pHost.m_iMoveEnv == CECPlayer.Move_environment.MOVEENV_GROUND) + if (m_pHost.m_iMoveEnv == EC_Player.Move_environment.MOVEENV_GROUND) { // Play appropriate actions - if (!m_pHost.IsJumping() && !m_pHost.IsPlayingAction((int)CECPlayer.PLAYER_ACTION_TYPE.ACT_TRICK_RUN) && + if (!m_pHost.IsJumping() && !m_pHost.IsPlayingAction((int)EC_Player.PLAYER_ACTION_TYPE.ACT_TRICK_RUN) && m_pHost.m_iMoveMode != (int)MoveMode.MOVE_SLIDE) { int iAction = m_pHost.GetMoveStandAction(true); @@ -807,7 +807,7 @@ public class CECHPWorkTrace : CECHPWork if (m_pHost.m_iMoveMode == (int)MoveMode.MOVE_SLIDE) { - m_pHost.PlayAction((int)CECPlayer.PLAYER_ACTION_TYPE.ACT_JUMP_LOOP, false, 200, false); + m_pHost.PlayAction((int)EC_Player.PLAYER_ACTION_TYPE.ACT_JUMP_LOOP, false, 200, false); // This will cause stop moming after we slide down. A3DVECTOR3 vDir = vTargetPos - vCurPos; diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HostPlayer.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HostPlayer.cs new file mode 100644 index 0000000000..edf7b5a694 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HostPlayer.cs @@ -0,0 +1,40 @@ +using BrewMonster; +using CSNetwork; +using CSNetwork.GPDataType; +using System; +using System.Runtime.InteropServices; +using UnityEngine; + +namespace PerfectWorld.Scripts.Managers +{ + namespace BrewMonster.Managers + { + public class EC_HostPlayer : IMsgHandler + { + public int HandlerId => (int)MANAGER_INDEX.MAN_PLAYER; + public bool ProcessMessage(ECMSG Msg) + { + switch ((int)Msg.dwMsg) + { + case int value when value == EC_MsgDef.MSG_HST_IVTRINFO: + { + OnMsgHstIvtrInfo(Msg); + break; + } + } + return true; + } + public void OnMsgHstIvtrInfo(ECMSG Msg) + { + switch (Convert.ToInt32(Msg.dwParam2)) + { + case CommandID.OWN_IVTR_DATA: + { + Debug.Log("Chay OWN_IVTR_DATA"); + break; + } + } + } + } + } +} \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HostPlayer.cs.meta b/Assets/PerfectWorld/Scripts/Managers/EC_HostPlayer.cs.meta new file mode 100644 index 0000000000..fd6314db24 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HostPlayer.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: eece34ce0cfd6bc409982ce9b90b263b \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs b/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs index 3db38e0f8f..0db2223156 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs @@ -205,6 +205,7 @@ namespace PerfectWorld.Scripts.Managers preSize += iSize; } + Debug.LogError("PLAYER_INFO_1_LIST"); break; } } @@ -342,19 +343,6 @@ namespace PerfectWorld.Scripts.Managers return player; } - public CECPlayer GetPlayer(int cid, uint dwBornStamp = 0/* 0 */) - { - CECHostPlayer pHost = GetHostPlayer(); - if (pHost && pHost.GetCharacterID() == cid) - return pHost; - else - return GetElsePlayer(cid, dwBornStamp); - } - - private CECHostPlayer GetHostPlayer() - { - return GameController.Instance.GetHostPlayer(); - } public bool OnMsgPlayerStopMove(ECMSG Msg) { @@ -482,6 +470,19 @@ namespace PerfectWorld.Scripts.Managers } // Get a player (may be host or else player) by id + public EC_Player GetPlayer(int cid, uint dwBornStamp = 0) + { + CECHostPlayer pHost = GetHostPlayer(); + if (pHost && pHost.GetCharacterID() == cid) + return pHost; + else + return GetElsePlayer(cid, dwBornStamp); + } + + public CECHostPlayer GetHostPlayer() + { + return GameController.Instance.GetHostPlayer(); + } } } } \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs b/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs index 7e17d81164..f6f58bbfb4 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs @@ -185,7 +185,7 @@ public class CECObject : MonoBehaviour return 0; if (pObject.IsPlayer()) - return ((CECPlayer)pObject).GetCharacterID(); + return ((EC_Player)pObject).GetCharacterID(); else if (pObject.IsNPC()) return ((CECNPC)pObject).GetNPCID(); //else if (pObject.IsMatter()) diff --git a/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs b/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs index 0c416af190..b38926fe57 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs @@ -9,9 +9,6 @@ using System.Runtime.ConstrainedExecution; using System.Security.Cryptography; using System.Text; using UnityEngine; -using CSNetwork.Protocols; -using CSNetwork; -using BrewMonster; public class CECHostMove { @@ -88,7 +85,7 @@ public class CECHostMove float fSpeed = 0f; switch (m_pHost.GetMoveEnv()) { - case CECPlayer.Move_environment.MOVEENV_AIR: + case EC_Player.Move_environment.MOVEENV_AIR: iMoveMode |= (int)GPMoveMode.GP_MOVE_AIR; fSpeed = m_pHost.GetFlySpeed(); diff --git a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs index e207b0aede..dd27f381f5 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs @@ -7,7 +7,7 @@ using System; using System.Collections.Generic; using UnityEngine; -public abstract class CECPlayer : CECObject +public abstract class EC_Player : CECObject { private static PLAYER_ACTION[] _default_actions; private static PLAYER_ACTION[] _turning_actions; @@ -52,9 +52,12 @@ public abstract class CECPlayer : CECObject public bool IsDead() { return (m_dwStates & PlayerNPCState.GP_STATE_CORPSE) != 0; } public bool IsValidAction(int iIndex) { return (iIndex >= 0 && iIndex < (int)PLAYER_ACTION_TYPE.ACT_MAX) ? true : false; } +<<<<<<<< HEAD:Assets/PerfectWorld/Scripts/Move/CECPlayer.cs public int GetCharacterID() { return m_PlayerInfo.cid; } +======== +>>>>>>>> origin/develop:Assets/PerfectWorld/Scripts/Move/EC_Player.cs private static void BuildActionList() { if (_default_actions == null) @@ -388,10 +391,16 @@ public abstract class CECPlayer : CECObject } // Get move environment +<<<<<<<< HEAD:Assets/PerfectWorld/Scripts/Move/CECPlayer.cs public int GetMoveEnv() { return m_iMoveEnv; } public bool IsShapeChanged() { return m_iShape != 0; } public int GetWeaponID() { return m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_WEAPON] & 0xffff; } public bool IsAllResReady() { return (m_dwResFlags & (uint)PlayerResourcesReadyFlag.RESFG_ALL) == (uint)PlayerResourcesReadyFlag.RESFG_ALL; } +======== + public int GetMoveEnv(){ return m_iMoveEnv; } + // Get character ID + public int GetCharacterID(){ return m_PlayerInfo.cid; } +>>>>>>>> origin/develop:Assets/PerfectWorld/Scripts/Move/EC_Player.cs } public struct PlayActionEvent { diff --git a/Assets/PerfectWorld/Scripts/NPC/CECMonster.cs b/Assets/PerfectWorld/Scripts/NPC/CECMonster.cs index 56109ec3c7..e9e0b8b4cc 100644 --- a/Assets/PerfectWorld/Scripts/NPC/CECMonster.cs +++ b/Assets/PerfectWorld/Scripts/NPC/CECMonster.cs @@ -48,5 +48,4 @@ public class CECMonster : CECNPC StartWork((int)WorkType.WT_NOTHING, (int)WorkID.WORK_STAND); return true; } - public MONSTER_ESSENCE GetDBEssence() { return m_pDBEssence; } } diff --git a/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs b/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs index 935272e664..5b57c77e9c 100644 --- a/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs +++ b/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs @@ -1,13 +1,11 @@ -using BrewMonster; -using CSNetwork; -using CSNetwork.GPDataType; -using ModelRenderer.Scripts.Common; -using System; -using System.IO; -using System.Runtime.InteropServices; +using CSNetwork.GPDataType; using System.Text; -using UnityEditor.Rendering; +using System; using UnityEngine; +using BrewMonster; +using CSNetwork; +using ModelRenderer.Scripts.Common; +using System.IO; public class CECNPC : CECObject { @@ -33,9 +31,7 @@ public class CECNPC : CECObject protected int m_iAction; protected int m_idSelTarget; protected int m_iCurWorkType; - protected int m_nFightTimeLeft; protected int m_iCurWork; - protected int m_idAttackTarget; protected int m_DisappearCnt; protected bool m_bAboutToDie; protected Vector3 m_vStopDir; @@ -149,111 +145,6 @@ public class CECNPC : CECObject return true; } - public bool ProcessMessage(ECMSG Msg) - { - switch (Msg.dwMsg) - { - case long value when value == EC_MsgDef.MSG_NM_NPCATKRESULT: OnMsgNPCAtkResult(Msg); break; - } - return true; - } - public void Damaged(int iDamage, uint dwModifier = 0) - { - // == Trường hợp 1: damage là -1 hoặc -2 (chỉ để hiển thị hiệu ứng) - if (iDamage == -1 || iDamage == -2) - { - // Nếu -1 thì chơi animation bị thương - if (iDamage == -1) - PlayModelAction((int)NPCActionIndex. ACT_WOUNDED); - DamageTextPool.Instance.Show(transform.position, 0); - // Xét các kiểu modifier - /* if ((dwModifier & CECAttackEvent.MOD_IMMUNE) != 0 && !IsImmuneDisable()) - BubbleText(BUBBLE_IMMUNE, 0); - else if ((dwModifier & CECAttackEvent.MOD_NULLITY) != 0) - BubbleText(BUBBLE_INVALIDHIT, 0); - else if ((dwModifier & CECAttackEvent.MOD_ENCHANT_FAILED) != 0) - BubbleText(BUBBLE_LOSE, 0); - else if ((dwModifier & CECAttackEvent.MOD_SUCCESS) != 0) - BubbleText(BUBBLE_SUCCESS, 0); - else if ((dwModifier & CECAttackEvent.MOD_DODGE_DEBUFF) != 0) - BubbleText(BUBBLE_DODGE_DEBUFF, 0);*/ - - } - else - { - // == Trường hợp 2: có damage thật - /* bool bDeadlyStrike = (dwModifier & CECAttackEvent.MOD_CRITICAL_STRIKE) != 0; - bool bRetort = (dwModifier & CECAttackEvent.MOD_RETORT) != 0;*/ - - if (iDamage > 0) - { - PlayModelAction((int)NPCActionIndex.ACT_WOUNDED); - DamageTextPool.Instance.Show(transform.position, iDamage); - /* int p1 = 0; - if (bDeadlyStrike) - p1 |= 0x0001; - else if (bRetort) - p1 |= 0x0002; - - if ((dwModifier & CECAttackEvent.MOD_REBOUND) != 0) - BubbleText(BUBBLE_REBOUND, (uint)iDamage); - else if ((dwModifier & CECAttackEvent.MOD_BEAT_BACK) != 0) - BubbleText(BUBBLE_BEAT_BACK, (uint)iDamage); - else - BubbleText(BUBBLE_DAMAGE, (uint)iDamage, p1);*/ - } - /* else if ((dwModifier & CECAttackEvent.MOD_IMMUNE) != 0 && !IsImmuneDisable()) - BubbleText(BUBBLE_IMMUNE, 0); - else if ((dwModifier & CECAttackEvent.MOD_NULLITY) != 0) - BubbleText(BUBBLE_INVALIDHIT, 0); - else if ((dwModifier & CECAttackEvent.MOD_ENCHANT_FAILED) != 0) - BubbleText(BUBBLE_LOSE, 0); - else if ((dwModifier & CECAttackEvent.MOD_SUCCESS) != 0) - BubbleText(BUBBLE_SUCCESS, 0); - else - BubbleText(BUBBLE_HITMISSED, 0);*/ - } - } - - private void OnMsgNPCAtkResult(ECMSG msg) - { - cmd_object_atk_result pCmd = MemoryMarshal.Read( - ((byte[])msg.dwParam1).AsSpan()); - - if (true) - { - // Face to target - NPCTurnFaceTo(pCmd.target_id, Time.deltaTime); - m_idAttackTarget = pCmd.target_id; - - // now start a fight work - if (IsMonsterNPC()) - { - CECMonster pMonster = (CECMonster)this; - MONSTER_ESSENCE pMonsterEssence = pMonster.GetDBEssence(); - StartWork((int)WorkType.WT_NORMAL, (int)WorkID.WORK_FIGHT, (uint)(pMonsterEssence.attack_speed * 1000)); - } - } - //TODO: Hiệu ứng đánh - //PlayAttackEffect(pCmd->target_id, 0, 0, iDamage, pCmd->attack_flag, pCmd->speed * 50); - } - void NPCTurnFaceTo(int idTarget, float dwTime) - { - if (IsDirFixed()) - { - return; - } - - // tower in war can not turn face to. - if (IsMonsterNPC()) - { - int role_in_war = (int)((CECMonster)this).GetDBEssence().role_in_war; - if (role_in_war == 2 || role_in_war == 5) - return; - } - - TurnFaceTo(idTarget, dwTime); - } private void Update() { switch (m_iCurWork) @@ -377,7 +268,7 @@ public class CECNPC : CECObject { // Note: below judge can prevent many problems when we attempt to // finish a work but don't assure we are doing this work - BrewMonster.BMLogger.Log("HoangDev : WorkFinished :" + iWorkID); + BrewMonster.BMLogger.Log("HoangDev : WorkFinished :"+ iWorkID); if (m_iCurWork != iWorkID) return; @@ -404,10 +295,7 @@ public class CECNPC : CECObject if (iWorkID == (int)WorkID.WORK_MOVE) m_iPassiveMove = 0; } - public bool IsDead() - { - return (m_dwStates & PlayerNPCState.GP_STATE_CORPSE) != 0; - } + public static bool InitStaticRes() { m_ActionNames = new CECStringTab(); @@ -836,14 +724,9 @@ public class CECNPC : CECObject public void StartWork_Fight(uint dwParam) { - m_nFightTimeLeft = (int)dwParam; - - BMLogger.LogError("HoangDev: StartWork_Fight"); // dwParam được dùng như “thời gian chiến đấu còn lại” //m_nFightTimeLeft = (int)dwParam; // Không play animation ở đây vì animation được điều khiển bởi message tấn công - - } public void StartWork_Spell(uint dwParam) @@ -913,8 +796,11 @@ public class CECNPC : CECObject return (int)NPCActionIndex.ACT_NPC_WALK; } } - public bool IsMonsterOrPet() { return IsMonsterNPC() || IsPetNPC(); } - public bool IsPetNPC() { return (int)Class_ID.OCID_PET == m_iCID; } + bool IsMonsterOrPet() { return IsMonsterNPC() || IsPetNPC(); } + bool IsMonsterNPC() { return (int)Class_ID.OCID_MONSTER == m_iCID; } + bool IsPetNPC() { return (int)Class_ID.OCID_PET == m_iCID; } + + public bool IsDead(){ return (m_dwStates & PlayerNPCState.GP_STATE_CORPSE) != 0; } public void PlayMoveAction(int iMoveMode) { //BrewMonster.BMLogger.LogError($"HoangDev: PlayMoveAction {iMoveMode}"); @@ -984,8 +870,8 @@ public class CECNPC : CECObject // Get NPC's real position on server public A3DVECTOR3 GetServerPos() - { - return EC_Utility.ToA3DVECTOR3(m_vServerPos); + { + return EC_Utility.ToA3DVECTOR3(m_vServerPos); } // Get master id @@ -996,22 +882,22 @@ public class CECNPC : CECObject public virtual bool IsInBattleDefenderCamp() { return false; } // Get role in battle public virtual int GetRoleInBattle() { return 0; } - public int GetOwnerFaction() { return m_idOwnerFaction; } + public int GetOwnerFaction(){ return m_idOwnerFaction; } public bool IsFactionPVPMineCar() - { - //if (const MONSTER_ESSENCE* pMonsterEssence = GetMonsterEssence()){ - // return (pMonsterEssence.faction & (1 << 19)) != 0; - //} - return false; + { + //if (const MONSTER_ESSENCE* pMonsterEssence = GetMonsterEssence()){ + // return (pMonsterEssence.faction & (1 << 19)) != 0; + //} + return false; } public bool IsFactionPVPMineBase() - { - //if (const MONSTER_ESSENCE *pMonsterEssence = GetMonsterEssence()){ - // return (pMonsterEssence->faction & (1 << 20)) != 0; - //} - return false; + { + //if (const MONSTER_ESSENCE *pMonsterEssence = GetMonsterEssence()){ + // return (pMonsterEssence->faction & (1 << 20)) != 0; + //} + return false; } // Get NPC ID diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs index fda52213a7..2726d54f64 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GPDataType.cs @@ -4,7 +4,6 @@ using System.Collections.Generic; using System.Numerics; using System.Runtime.InteropServices; using System.Text; -using Unity.VisualScripting.Antlr3.Runtime.Tree; namespace CSNetwork.GPDataType { @@ -37,13 +36,6 @@ namespace CSNetwork.GPDataType GP_MOVE_WATER = 0x80, GP_MOVE_ENVMASK = 0xc0, }; - [StructLayout(LayoutKind.Sequential, Pack = 1)] - public struct cmd_be_hurt - { - public int attacker_id; - public int damage; - public byte flag; // 1, attacker ±ä³ÈÃû - }; public static class CommandID // Command ID { @@ -544,34 +536,7 @@ namespace CSNetwork.GPDataType this.fWaterSurf = fWaterSurf; } }; - [StructLayout(LayoutKind.Sequential, Pack = 1)] - public struct cmd_hurt_result - { - public int target_id; - public int damage; - }; - [StructLayout(LayoutKind.Sequential, Pack = 1)] - public struct cmd_enchant_result - { - public int caster; - public int target; - public int skill; - public byte level; - public byte orange_name; - public int attack_flag; - public byte section; - }; - [StructLayout(LayoutKind.Sequential, Pack = 1)] - public struct cmd_object_skill_attack_result - { - public int attacker_id; - public int target_id; - public int skill_id; - public int damage; - public int attack_flag; //±ê¼Ç¸Ã¹¥»÷ÊÇ·ñÓй¥»÷ÓÅ»¯·ûºÍ·ÀÓùÓÅ»¯·ûºÍÖØ»÷·¢Éú - public byte speed; //¹¥»÷ËÙ¶È speed * 50 ms - public byte section; - }; + // Gender public static class GENDER { @@ -617,15 +582,7 @@ namespace CSNetwork.GPDataType public byte dir; public byte move_mode; } - [StructLayout(LayoutKind.Sequential, Pack = 1)] - public struct cmd_object_atk_result - { - public int attacker_id; - public int target_id; - public int damage; - public int attack_flag; //±ê¼Ç¸Ã¹¥»÷ÊÇ·ñÓй¥»÷ÓÅ»¯·ûºÍ·ÀÓùÓÅ»¯·ûºÍÖØ»÷·¢Éú - public byte speed; //¹¥»÷ËÙ¶È speed * 50 ms - }; + [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct A3DVECTOR3 { diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs index ebe04609d1..4efd518b34 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs @@ -185,7 +185,7 @@ namespace CSNetwork gamedatasend gamedatasendRequest = new gamedatasend(); gamedatasendRequest.Data = C2SCommandFactory.CreateDropEquipItem(index); SendProtocol(gamedatasendRequest); - } + } public void RequestPickupItem(int idItem, int tid) { @@ -383,7 +383,7 @@ namespace CSNetwork case CommandID.EQUIP_ITEM: case CommandID.MOVE_EQUIP_ITEM: case CommandID.UNFREEZE_IVTR_SLOT: - case CommandID.PLAYER_EQUIP_TRASHBOX_ITEM: + case CommandID.PLAYER_EQUIP_TRASHBOX_ITEM: _logger.Info($"HUNG EQUIP ITEM: " + pCmdHeader); EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_ITEMOPERATION, (int)MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); break; @@ -685,7 +685,7 @@ namespace CSNetwork { return id != 0 && (id & 0x80000000) == 0; } - public bool ISNPCID(int id) => ((id & unchecked((int)0x80000000)) != 0) + public bool ISNPCID(int id) => ((id & unchecked((int)0x80000000)) != 0) && ((id & 0x40000000) == 0); private byte[] GetBytes(byte[] bytes, int length, int index) { diff --git a/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs b/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs index 76741ba3a6..57599c37b2 100644 --- a/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs +++ b/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs @@ -74,8 +74,8 @@ namespace BrewMonster if (!(pObject = EC_ManPlayer.GetPlayer(idObject))) return null; - if ((iAliveFlag == 1 && (pObject as CECPlayer).IsDead()) || - (iAliveFlag == 2 && !(pObject as CECPlayer).IsDead())) + if ((iAliveFlag == 1 && (pObject as EC_Player).IsDead()) || + (iAliveFlag == 2 && !(pObject as EC_Player).IsDead())) return null; } //else if (GPDataTypeHelper.ISMATTERID(idObject)) diff --git a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs index 30b4ee358e..8a6928689e 100644 --- a/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/UnityGameSession.cs @@ -28,7 +28,6 @@ namespace BrewMonster.Network private string _username = ""; private string _password = ""; - public GameSession GameSession => _gameSession; protected override void Awake() { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); @@ -92,7 +91,6 @@ namespace BrewMonster.Network public void c2s_CmdPlayerMove(in Vector3 vCurPos, in Vector3 vDest, int iTime, float fSpeed, int iMoveMode, ushort wStamp) { - BMLogger.LogError($"SendMoveCmd:"); Instance._gameSession.c2s_CmdPlayerMove(EC_Utility.ToNumerics(vCurPos), EC_Utility.ToNumerics(vDest), iTime, fSpeed, iMoveMode, wStamp); } protected override void Initialize() diff --git a/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs b/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs index 00f87ae540..dab799fc4a 100644 --- a/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs +++ b/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs @@ -1,5 +1,5 @@ using UnityEngine; -using static CECPlayer; +using static EC_Player; public class PlayerIdleState : PlayerState { diff --git a/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs b/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs index b46ef1e484..e82e7f53a4 100644 --- a/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs +++ b/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs @@ -1,5 +1,5 @@ using UnityEngine; -using static CECPlayer; +using static EC_Player; public class PlayerMoveState : PlayerState { diff --git a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs index 25349a2f5c..58c64ecb0d 100644 --- a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs +++ b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs @@ -7,7 +7,7 @@ using UnityEngine; namespace PerfectWorld.Scripts.Player { - public class EC_ElsePlayer : CECPlayer + public class EC_ElsePlayer : EC_Player { A3DVECTOR3 m_vMoveDir; // Player's velocity A3DVECTOR3 m_vServerPos; // Player's real position on server @@ -128,32 +128,6 @@ namespace PerfectWorld.Scripts.Player visual.InitHostPlayerEventDoneHandler(); } } - public bool ProcessMessage(ECMSG Msg) - { - switch (Msg.dwMsg) - { - case long value when value == EC_MsgDef. MSG_PM_PLAYERATKRESULT: OnMsgPlayerAtkResult(Msg); break; - } - return true; - } - - private void OnMsgPlayerAtkResult(ECMSG Msg) - { - cmd_object_atk_result pCmd = (cmd_object_atk_result)Msg.dwParam1; - - // Face to target - TurnFaceTo(pCmd.target_id); - - /* PlayAttackEffect(pCmd.target_id, 0, 0, -1, pCmd.attack_flag, pCmd.speed * 50); - - if (!m_pEPWorkMan->FindWork(CECEPWorkMan::WT_NORMAL, CECEPWork::WORK_HACKOBJECT)) - { - m_pEPWorkMan->StartNormalWork(new CECEPWorkMelee(m_pEPWorkMan, pCmd->target_id)); - } - - // Enter fight state - EnterFightState();*/ - } void CalcPlayerAABB() { diff --git a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs index f7dd7cf7f0..69e41729c5 100644 --- a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs +++ b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs @@ -49,7 +49,7 @@ namespace BrewMonster.UI #if UNITY_EDITOR if (Input.GetKeyUp(KeyCode.LeftAlt)) { - _usernameInputField.text = "test002"; + _usernameInputField.text = "test004"; _passwordInputField.text = "123456"; } #endif diff --git a/Assets/Scenes/NPCRender.unity b/Assets/Scenes/NPCRender.unity index 3321ee92e1..0e9c05f0b5 100644 --- a/Assets/Scenes/NPCRender.unity +++ b/Assets/Scenes/NPCRender.unity @@ -11885,53 +11885,6 @@ Transform: m_Children: [] m_Father: {fileID: 127793384} m_LocalEulerAnglesHint: {x: 22.094265, y: 53.346302, z: -7.076923} ---- !u!1 &157741349 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 157741351} - - component: {fileID: 157741350} - m_Layer: 0 - m_Name: DamageTextManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &157741350 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 157741349} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c9f785775e0231e488e0cbe93016b31a, type: 3} - m_Name: - m_EditorClassIdentifier: - textPrefab: {fileID: 1329996621} - poolSize: 50 ---- !u!4 &157741351 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 157741349} - serializedVersion: 2 - m_LocalRotation: {x: -0, y: -0, z: 2.7755576e-17, w: 1} - m_LocalPosition: {x: -769.91, y: 47.922, z: -258.54} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1329996622} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &158051892 GameObject: m_ObjectHideFlags: 0 @@ -104085,182 +104038,6 @@ Transform: - {fileID: 1116563098} m_Father: {fileID: 1492662512} m_LocalEulerAnglesHint: {x: -3.4098623, y: -32.42809, z: -6.723053} ---- !u!1 &1329996621 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1329996622} - - component: {fileID: 1329996624} - - component: {fileID: 1329996623} - m_Layer: 0 - m_Name: damageTextPrefab - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1329996622 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1329996621} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 157741351} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 5} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1329996623 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1329996621} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 1 - m_fontSizeBase: 1 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 0 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 0 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 0 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - _SortingLayer: 0 - _SortingLayerID: 0 - _SortingOrder: 0 - m_hasFontAssetChanged: 0 - m_renderer: {fileID: 1329996624} - m_maskType: 0 ---- !u!23 &1329996624 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1329996621} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &1330341667 GameObject: m_ObjectHideFlags: 0 @@ -165801,5 +165578,4 @@ SceneRoots: - {fileID: 960760104} - {fileID: 1801883899} - {fileID: 1755699698} - - {fileID: 157741351} - {fileID: 96894795} diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index d8b91fe5fd..1a6d6af783 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -21,7 +21,7 @@ using UnityEngine.SceneManagement; using UnityEngine.UI; using Scene = UnityEngine.SceneManagement.Scene; -public class CECHostPlayer : CECPlayer +public class CECHostPlayer : EC_Player { [SerializeField] private TextMeshPro txtName; [SerializeField] private CharacterController controller; @@ -721,6 +721,7 @@ public class CECHostPlayer : CECPlayer if (txtName != null) txtName.text = roleName; transform.position = pos; SetModelHostPlayer(); + Debug.LogError("Pos Character = " + pos); joystick = FindAnyObjectByType(); EventBus.Subscribe(JoystickRelease); EventBus.Subscribe(JoystickStartDrag); diff --git a/Assets/Scripts/EC_Utility.cs b/Assets/Scripts/EC_Utility.cs index ec337ae60d..d1ef9f4cfb 100644 --- a/Assets/Scripts/EC_Utility.cs +++ b/Assets/Scripts/EC_Utility.cs @@ -4,7 +4,7 @@ using System; using System.Collections; using System.Runtime.InteropServices; using UnityEngine; -using static CECPlayer; +using static EC_Player; public static class EC_Utility { diff --git a/Assets/Scripts/GameController.cs b/Assets/Scripts/GameController.cs index 1a1f7dcfe9..bdd3c803f6 100644 --- a/Assets/Scripts/GameController.cs +++ b/Assets/Scripts/GameController.cs @@ -54,7 +54,7 @@ public class GameController : MonoBehaviour Debug.LogError("null prefab"); return; } - CECPlayer.InitStaticRes(); + EC_Player.InitStaticRes(); hostPlayer = Instantiate(characterPrefab, transform); hostPlayer.InitCharacter(info); cinemachineCamera.Follow = hostPlayer.transform; diff --git a/Assets/Scripts/InitializePlayer.cs b/Assets/Scripts/InitializePlayer.cs index ad87a38c5f..74f9de84a2 100644 --- a/Assets/Scripts/InitializePlayer.cs +++ b/Assets/Scripts/InitializePlayer.cs @@ -5,11 +5,11 @@ public class InitializePlayer /*: IAutoInitialize*/ { public void Dispose() { - CECPlayer.Dispose(); + EC_Player.Dispose(); } public void Initialize() { - CECPlayer.InitStaticRes(); + EC_Player.InitStaticRes(); } } diff --git a/Assets/Scripts/PlayerVisual.cs b/Assets/Scripts/PlayerVisual.cs index 1046364ce4..08fab98c64 100644 --- a/Assets/Scripts/PlayerVisual.cs +++ b/Assets/Scripts/PlayerVisual.cs @@ -23,7 +23,7 @@ public class PlayerVisual : MonoBehaviour BrewMonster.BMLogger.LogError("animancer == null"); return; } - var player = GetComponentInParent(); + var player = GetComponentInParent(); if(player == null) { BrewMonster.BMLogger.LogError("player == null"); diff --git a/Packages/manifest.json b/Packages/manifest.json index dcb7e88cf8..b3d4493844 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,5 +1,7 @@ { "dependencies": { + "com.boxqkrtm.ide.cursor": "https://github.com/boxqkrtm/com.unity.ide.cursor.git", + "com.github-glitchenzo.nugetforunity": "https://github.com/GlitchEnzo/NuGetForUnity.git?path=/src/NuGetForUnity", "com.unity.ai.navigation": "2.0.9", "com.unity.cinemachine": "3.1.4", "com.unity.collab-proxy": "2.9.3", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 6c6d55c57c..588bd1b085 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,5 +1,21 @@ { "dependencies": { + "com.boxqkrtm.ide.cursor": { + "version": "https://github.com/boxqkrtm/com.unity.ide.cursor.git", + "depth": 0, + "source": "git", + "dependencies": { + "com.unity.test-framework": "1.1.9" + }, + "hash": "38fecf55e4fd94ccfe58a92ed8ad1a529ba1694e" + }, + "com.github-glitchenzo.nugetforunity": { + "version": "https://github.com/GlitchEnzo/NuGetForUnity.git?path=/src/NuGetForUnity", + "depth": 0, + "source": "git", + "dependencies": {}, + "hash": "a7c6b49a0141a5bff9b1983e38137522ef61977d" + }, "com.unity.ai.navigation": { "version": "2.0.9", "depth": 0, diff --git a/ProjectSettings/AudioManager.asset b/ProjectSettings/AudioManager.asset new file mode 100644 index 0000000000..27287fec5f --- /dev/null +++ b/ProjectSettings/AudioManager.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!11 &1 +AudioManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Volume: 1 + Rolloff Scale: 1 + Doppler Factor: 1 + Default Speaker Mode: 2 + m_SampleRate: 0 + m_DSPBufferSize: 1024 + m_VirtualVoiceCount: 512 + m_RealVoiceCount: 32 + m_SpatializerPlugin: + m_AmbisonicDecoderPlugin: + m_DisableAudio: 0 + m_VirtualizeEffects: 1 + m_RequestedDSPBufferSize: 0 diff --git a/ProjectSettings/ClusterInputManager.asset b/ProjectSettings/ClusterInputManager.asset new file mode 100644 index 0000000000..e7886b266a --- /dev/null +++ b/ProjectSettings/ClusterInputManager.asset @@ -0,0 +1,6 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!236 &1 +ClusterInputManager: + m_ObjectHideFlags: 0 + m_Inputs: [] diff --git a/ProjectSettings/DynamicsManager.asset b/ProjectSettings/DynamicsManager.asset new file mode 100644 index 0000000000..fc90ab9589 --- /dev/null +++ b/ProjectSettings/DynamicsManager.asset @@ -0,0 +1,36 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!55 &1 +PhysicsManager: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_Gravity: {x: 0, y: -9.81, z: 0} + m_DefaultMaterial: {fileID: 0} + m_BounceThreshold: 2 + m_SleepThreshold: 0.005 + m_DefaultContactOffset: 0.01 + m_DefaultSolverIterations: 6 + m_DefaultSolverVelocityIterations: 1 + m_QueriesHitBackfaces: 0 + m_QueriesHitTriggers: 1 + m_EnableAdaptiveForce: 0 + m_ClothInterCollisionDistance: 0.1 + m_ClothInterCollisionStiffness: 0.2 + m_ContactsGeneration: 1 + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_AutoSimulation: 1 + m_AutoSyncTransforms: 0 + m_ReuseCollisionCallbacks: 1 + m_ClothInterCollisionSettingsToggle: 0 + m_ClothGravity: {x: 0, y: -9.81, z: 0} + m_ContactPairsMode: 0 + m_BroadphaseType: 0 + m_WorldBounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 250, y: 250, z: 250} + m_WorldSubdivisions: 8 + m_FrictionType: 0 + m_EnableEnhancedDeterminism: 0 + m_EnableUnifiedHeightmaps: 1 + m_SolverType: 0 + m_DefaultMaxAngularSpeed: 50 diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset new file mode 100644 index 0000000000..f7d9bf9d04 --- /dev/null +++ b/ProjectSettings/EditorSettings.asset @@ -0,0 +1,49 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!159 &1 +EditorSettings: + m_ObjectHideFlags: 0 + serializedVersion: 14 + m_SerializationMode: 2 + m_LineEndingsForNewScripts: 0 + m_DefaultBehaviorMode: 0 + m_PrefabRegularEnvironment: {fileID: 0} + m_PrefabUIEnvironment: {fileID: 0} + m_SpritePackerMode: 0 + m_SpritePackerCacheSize: 10 + m_SpritePackerPaddingPower: 1 + m_Bc7TextureCompressor: 0 + m_EtcTextureCompressorBehavior: 1 + m_EtcTextureFastCompressor: 1 + m_EtcTextureNormalCompressor: 2 + m_EtcTextureBestCompressor: 4 + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref + m_ProjectGenerationRootNamespace: + m_EnableTextureStreamingInEditMode: 1 + m_EnableTextureStreamingInPlayMode: 1 + m_EnableEditorAsyncCPUTextureLoading: 0 + m_AsyncShaderCompilation: 1 + m_PrefabModeAllowAutoSave: 1 + m_EnterPlayModeOptionsEnabled: 1 + m_EnterPlayModeOptions: 3 + m_GameObjectNamingDigits: 1 + m_GameObjectNamingScheme: 0 + m_AssetNamingUsesSpace: 1 + m_InspectorUseIMGUIDefaultInspector: 0 + m_UseLegacyProbeSampleCount: 0 + m_SerializeInlineMappingsOnOneLine: 1 + m_DisableCookiesInLightmapper: 0 + m_ShadowmaskStitching: 0 + m_AssetPipelineMode: 1 + m_RefreshImportMode: 0 + m_CacheServerMode: 0 + m_CacheServerEndpoint: + m_CacheServerNamespacePrefix: default + m_CacheServerEnableDownload: 1 + m_CacheServerEnableUpload: 1 + m_CacheServerEnableAuth: 0 + m_CacheServerEnableTls: 0 + m_CacheServerValidationMode: 2 + m_CacheServerDownloadBatchSize: 128 + m_EnableEnlightenBakedGI: 0 + m_ReferencedClipsExactNaming: 1 diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset new file mode 100644 index 0000000000..3bb036aaa3 --- /dev/null +++ b/ProjectSettings/GraphicsSettings.asset @@ -0,0 +1,67 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!30 &1 +GraphicsSettings: + m_ObjectHideFlags: 0 + serializedVersion: 16 + m_Deferred: + m_Mode: 1 + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} + m_DeferredReflections: + m_Mode: 1 + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} + m_ScreenSpaceShadows: + m_Mode: 1 + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} + m_DepthNormals: + m_Mode: 1 + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} + m_MotionVectors: + m_Mode: 1 + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} + m_LightHalo: + m_Mode: 1 + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} + m_LensFlare: + m_Mode: 1 + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} + m_VideoShadersIncludeMode: 2 + m_AlwaysIncludedShaders: + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} + m_PreloadedShaders: [] + m_PreloadShadersBatchTimeLimit: -1 + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_CustomRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd, type: 2} + m_TransparencySortMode: 0 + m_TransparencySortAxis: {x: 0, y: 0, z: 1} + m_DefaultRenderingPath: 1 + m_DefaultMobileRenderingPath: 1 + m_TierSettings: [] + m_LightmapStripping: 0 + m_FogStripping: 0 + m_InstancingStripping: 0 + m_BrgStripping: 0 + m_LightmapKeepPlain: 1 + m_LightmapKeepDirCombined: 1 + m_LightmapKeepDynamicPlain: 1 + m_LightmapKeepDynamicDirCombined: 1 + m_LightmapKeepShadowMask: 1 + m_LightmapKeepSubtractive: 1 + m_FogKeepLinear: 1 + m_FogKeepExp: 1 + m_FogKeepExp2: 1 + m_AlbedoSwatchInfos: [] + m_RenderPipelineGlobalSettingsMap: + UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, type: 2} + m_LightsUseLinearIntensity: 0 + m_LightsUseColorTemperature: 1 + m_LogWhenShaderIsCompiled: 0 + m_LightProbeOutsideHullStrategy: 0 + m_CameraRelativeLightCulling: 0 + m_CameraRelativeShadowCulling: 0 diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset new file mode 100644 index 0000000000..b16147e954 --- /dev/null +++ b/ProjectSettings/InputManager.asset @@ -0,0 +1,487 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!13 &1 +InputManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Axes: + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: a + altPositiveButton: d + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: s + altPositiveButton: w + gravity: 3 + dead: 0.001 + sensitivity: 3 + snap: 1 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: mouse 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: mouse 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: mouse 2 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: space + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse X + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse Y + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Mouse ScrollWheel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0 + sensitivity: 0.1 + snap: 0 + invert: 0 + type: 1 + axis: 2 + joyNum: 0 + - serializedVersion: 3 + m_Name: Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 0 + type: 2 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: + altNegativeButton: + altPositiveButton: + gravity: 0 + dead: 0.19 + sensitivity: 1 + snap: 0 + invert: 1 + type: 2 + axis: 1 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 0 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 1 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Fire3 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 2 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Jump + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: joystick button 3 + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Submit + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: enter + altNegativeButton: + altPositiveButton: space + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Cancel + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: escape + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Enable Debug Button 1 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left ctrl + altNegativeButton: + altPositiveButton: joystick button 8 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Enable Debug Button 2 + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: backspace + altNegativeButton: + altPositiveButton: joystick button 9 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Reset + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left alt + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Next + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: page down + altNegativeButton: + altPositiveButton: joystick button 5 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Previous + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: page up + altNegativeButton: + altPositiveButton: joystick button 4 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Validate + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: return + altNegativeButton: + altPositiveButton: joystick button 0 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Persistent + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: right shift + altNegativeButton: + altPositiveButton: joystick button 2 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Multiplier + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: joystick button 3 + gravity: 0 + dead: 0 + sensitivity: 0 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Vertical + descriptiveName: + descriptiveNegativeName: + negativeButton: down + positiveButton: up + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 2 + axis: 6 + joyNum: 0 + - serializedVersion: 3 + m_Name: Debug Horizontal + descriptiveName: + descriptiveNegativeName: + negativeButton: left + positiveButton: right + altNegativeButton: + altPositiveButton: + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 2 + axis: 5 + joyNum: 0 diff --git a/ProjectSettings/MemorySettings.asset b/ProjectSettings/MemorySettings.asset new file mode 100644 index 0000000000..5b5facecac --- /dev/null +++ b/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/ProjectSettings/MultiplayerManager.asset b/ProjectSettings/MultiplayerManager.asset new file mode 100644 index 0000000000..2a936644e0 --- /dev/null +++ b/ProjectSettings/MultiplayerManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!655991488 &1 +MultiplayerManager: + m_ObjectHideFlags: 0 + m_EnableMultiplayerRoles: 0 + m_StrippingTypes: {} diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset new file mode 100644 index 0000000000..3b0b7c3d18 --- /dev/null +++ b/ProjectSettings/NavMeshAreas.asset @@ -0,0 +1,91 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!126 &1 +NavMeshProjectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + areas: + - name: Walkable + cost: 1 + - name: Not Walkable + cost: 1 + - name: Jump + cost: 2 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + - name: + cost: 1 + m_LastAgentTypeID: -887442657 + m_Settings: + - serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.75 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_SettingNames: + - Humanoid diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 0000000000..be4a7974ec --- /dev/null +++ b/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,43 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_EnablePreviewPackages: 0 + m_EnablePackageDependencies: 0 + m_AdvancedSettingsExpanded: 1 + m_ScopedRegistriesSettingsExpanded: 1 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_Capabilities: 7 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_ErrorMessage: + m_Original: + m_Id: + m_Name: + m_Url: + m_Scopes: [] + m_IsDefault: 0 + m_Capabilities: 0 + m_Modified: 0 + m_Name: + m_Url: + m_Scopes: + - + m_SelectedScopeIndex: 0 diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset new file mode 100644 index 0000000000..6c5cf8a004 --- /dev/null +++ b/ProjectSettings/Physics2DSettings.asset @@ -0,0 +1,56 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!19 &1 +Physics2DSettings: + m_ObjectHideFlags: 0 + serializedVersion: 4 + m_Gravity: {x: 0, y: -9.81} + m_DefaultMaterial: {fileID: 0} + m_VelocityIterations: 8 + m_PositionIterations: 3 + m_VelocityThreshold: 1 + m_MaxLinearCorrection: 0.2 + m_MaxAngularCorrection: 8 + m_MaxTranslationSpeed: 100 + m_MaxRotationSpeed: 360 + m_BaumgarteScale: 0.2 + m_BaumgarteTimeOfImpactScale: 0.75 + m_TimeToSleep: 0.5 + m_LinearSleepTolerance: 0.01 + m_AngularSleepTolerance: 2 + m_DefaultContactOffset: 0.01 + m_JobOptions: + serializedVersion: 2 + useMultithreading: 0 + useConsistencySorting: 0 + m_InterpolationPosesPerJob: 100 + m_NewContactsPerJob: 30 + m_CollideContactsPerJob: 100 + m_ClearFlagsPerJob: 200 + m_ClearBodyForcesPerJob: 200 + m_SyncDiscreteFixturesPerJob: 50 + m_SyncContinuousFixturesPerJob: 50 + m_FindNearestContactsPerJob: 100 + m_UpdateTriggerContactsPerJob: 100 + m_IslandSolverCostThreshold: 100 + m_IslandSolverBodyCostScale: 1 + m_IslandSolverContactCostScale: 10 + m_IslandSolverJointCostScale: 10 + m_IslandSolverBodiesPerJob: 50 + m_IslandSolverContactsPerJob: 50 + m_AutoSimulation: 1 + m_QueriesHitTriggers: 1 + m_QueriesStartInColliders: 1 + m_CallbacksOnDisable: 1 + m_ReuseCollisionCallbacks: 0 + m_AutoSyncTransforms: 0 + m_AlwaysShowColliders: 0 + m_ShowColliderSleep: 1 + m_ShowColliderContacts: 0 + m_ShowColliderAABB: 0 + m_ContactArrowScale: 0.2 + m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} + m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} + m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} + m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/ProjectSettings/PresetManager.asset b/ProjectSettings/PresetManager.asset new file mode 100644 index 0000000000..67a94daefe --- /dev/null +++ b/ProjectSettings/PresetManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1386491679 &1 +PresetManager: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_DefaultPresets: {} diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset new file mode 100644 index 0000000000..f55198a746 --- /dev/null +++ b/ProjectSettings/QualitySettings.asset @@ -0,0 +1,134 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!47 &1 +QualitySettings: + m_ObjectHideFlags: 0 + serializedVersion: 5 + m_CurrentQuality: 1 + m_QualitySettings: + - serializedVersion: 4 + name: Mobile + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 0 + skinWeights: 2 + globalTextureMipmapLimit: 0 + textureMipmapLimitSettings: [] + anisotropicTextures: 1 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 1 + useLegacyDetailDistribution: 1 + adaptiveVsync: 0 + vSyncCount: 0 + realtimeGICPUUsage: 100 + adaptiveVsyncExtraA: 0 + adaptiveVsyncExtraB: 0 + lodBias: 1 + maximumLODLevel: 0 + enableLODCrossFade: 1 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 11400000, guid: 5e6cbd92db86f4b18aec3ed561671858, + type: 2} + terrainQualityOverrides: 0 + terrainPixelError: 1 + terrainDetailDensityScale: 1 + terrainBasemapDistance: 1000 + terrainDetailDistance: 80 + terrainTreeDistance: 5000 + terrainBillboardStart: 50 + terrainFadeLength: 5 + terrainMaxTrees: 50 + excludedTargetPlatforms: + - Standalone + - serializedVersion: 4 + name: PC + pixelLightCount: 2 + shadows: 2 + shadowResolution: 1 + shadowProjection: 1 + shadowCascades: 2 + shadowDistance: 40 + shadowNearPlaneOffset: 3 + shadowCascade2Split: 0.33333334 + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} + shadowmaskMode: 1 + skinWeights: 4 + globalTextureMipmapLimit: 0 + textureMipmapLimitSettings: [] + anisotropicTextures: 2 + antiAliasing: 0 + softParticles: 0 + softVegetation: 1 + realtimeReflectionProbes: 0 + billboardsFaceCameraPosition: 1 + useLegacyDetailDistribution: 1 + adaptiveVsync: 0 + vSyncCount: 0 + realtimeGICPUUsage: 100 + adaptiveVsyncExtraA: 0 + adaptiveVsyncExtraB: 0 + lodBias: 2 + maximumLODLevel: 0 + enableLODCrossFade: 1 + streamingMipmapsActive: 0 + streamingMipmapsAddAllCameras: 1 + streamingMipmapsMemoryBudget: 512 + streamingMipmapsRenderersPerFrame: 512 + streamingMipmapsMaxLevelReduction: 2 + streamingMipmapsMaxFileIORequests: 1024 + particleRaycastBudget: 256 + asyncUploadTimeSlice: 2 + asyncUploadBufferSize: 16 + asyncUploadPersistentBuffer: 1 + resolutionScalingFixedDPIFactor: 1 + customRenderPipeline: {fileID: 11400000, guid: 4b83569d67af61e458304325a23e5dfd, + type: 2} + terrainQualityOverrides: 0 + terrainPixelError: 1 + terrainDetailDensityScale: 1 + terrainBasemapDistance: 1000 + terrainDetailDistance: 80 + terrainTreeDistance: 5000 + terrainBillboardStart: 50 + terrainFadeLength: 5 + terrainMaxTrees: 50 + excludedTargetPlatforms: + - Android + - iPhone + m_TextureMipmapLimitGroupNames: [] + m_PerPlatformDefaultQuality: + Android: 0 + GameCoreScarlett: 1 + GameCoreXboxOne: 1 + Lumin: 0 + Nintendo Switch: 1 + PS4: 1 + PS5: 1 + Server: 0 + Stadia: 0 + Standalone: 1 + WebGL: 0 + Windows Store Apps: 0 + XboxOne: 0 + iPhone: 0 + tvOS: 0 diff --git a/ProjectSettings/SceneTemplateSettings.json b/ProjectSettings/SceneTemplateSettings.json new file mode 100644 index 0000000000..ede5887b3a --- /dev/null +++ b/ProjectSettings/SceneTemplateSettings.json @@ -0,0 +1,121 @@ +{ + "templatePinStates": [], + "dependencyTypeInfos": [ + { + "userAdded": false, + "type": "UnityEngine.AnimationClip", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.Animations.AnimatorController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.AnimatorOverrideController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.Audio.AudioMixerController", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.ComputeShader", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Cubemap", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.GameObject", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.LightingDataAsset", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.LightingSettings", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Material", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.MonoScript", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.PhysicsMaterial2D", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Rendering.VolumeProfile", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEditor.SceneAsset", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Shader", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.ShaderVariantCollection", + "defaultInstantiationMode": 1 + }, + { + "userAdded": false, + "type": "UnityEngine.Texture", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Texture2D", + "defaultInstantiationMode": 0 + }, + { + "userAdded": false, + "type": "UnityEngine.Timeline.TimelineAsset", + "defaultInstantiationMode": 0 + } + ], + "defaultDependencyTypeInfo": { + "userAdded": false, + "type": "", + "defaultInstantiationMode": 1 + }, + "newSceneOverride": 0 +} \ No newline at end of file diff --git a/ProjectSettings/ShaderGraphSettings.asset b/ProjectSettings/ShaderGraphSettings.asset new file mode 100644 index 0000000000..370235758c --- /dev/null +++ b/ProjectSettings/ShaderGraphSettings.asset @@ -0,0 +1,19 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 53 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: de02f9e1d18f588468e474319d09a723, type: 3} + m_Name: + m_EditorClassIdentifier: + shaderVariantLimit: 2048 + overrideShaderVariantLimit: 0 + customInterpolatorErrorThreshold: 32 + customInterpolatorWarningThreshold: 16 + customHeatmapValues: {fileID: 0} diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset new file mode 100644 index 0000000000..2cda4488c5 --- /dev/null +++ b/ProjectSettings/TagManager.asset @@ -0,0 +1,52 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!78 &1 +TagManager: + serializedVersion: 3 + tags: [] + layers: + - Default + - TransparentFX + - Ignore Raycast + - Player + - Water + - UI + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + m_SortingLayers: + - name: Default + uniqueID: 0 + locked: 0 + m_RenderingLayers: + - Default + - Light Layer 1 + - Light Layer 2 + - Light Layer 3 + - Light Layer 4 + - Light Layer 5 + - Light Layer 6 + - Light Layer 7 diff --git a/ProjectSettings/TimeManager.asset b/ProjectSettings/TimeManager.asset new file mode 100644 index 0000000000..558a017e1f --- /dev/null +++ b/ProjectSettings/TimeManager.asset @@ -0,0 +1,9 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!5 &1 +TimeManager: + m_ObjectHideFlags: 0 + Fixed Timestep: 0.02 + Maximum Allowed Timestep: 0.33333334 + m_TimeScale: 1 + Maximum Particle Timestep: 0.03 diff --git a/ProjectSettings/URPProjectSettings.asset b/ProjectSettings/URPProjectSettings.asset new file mode 100644 index 0000000000..64a8674a2a --- /dev/null +++ b/ProjectSettings/URPProjectSettings.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LastMaterialVersion: 10 diff --git a/ProjectSettings/UnityConnectSettings.asset b/ProjectSettings/UnityConnectSettings.asset new file mode 100644 index 0000000000..a88bee0f15 --- /dev/null +++ b/ProjectSettings/UnityConnectSettings.asset @@ -0,0 +1,36 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!310 &1 +UnityConnectSettings: + m_ObjectHideFlags: 0 + serializedVersion: 1 + m_Enabled: 0 + m_TestMode: 0 + m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events + m_EventUrl: https://cdp.cloud.unity3d.com/v1/events + m_ConfigUrl: https://config.uca.cloud.unity3d.com + m_DashboardUrl: https://dashboard.unity3d.com + m_TestInitMode: 0 + CrashReportingSettings: + m_EventUrl: https://perf-events.cloud.unity3d.com + m_Enabled: 0 + m_LogBufferSize: 10 + m_CaptureEditorExceptions: 1 + UnityPurchasingSettings: + m_Enabled: 0 + m_TestMode: 0 + UnityAnalyticsSettings: + m_Enabled: 0 + m_TestMode: 0 + m_InitializeOnStartup: 1 + m_PackageRequiringCoreStatsPresent: 0 + UnityAdsSettings: + m_Enabled: 0 + m_InitializeOnStartup: 1 + m_TestMode: 0 + m_IosGameId: + m_AndroidGameId: + m_GameIds: {} + m_GameId: + PerformanceReportingSettings: + m_Enabled: 0 diff --git a/ProjectSettings/VFXManager.asset b/ProjectSettings/VFXManager.asset new file mode 100644 index 0000000000..3a95c98bec --- /dev/null +++ b/ProjectSettings/VFXManager.asset @@ -0,0 +1,12 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!937362698 &1 +VFXManager: + m_ObjectHideFlags: 0 + m_IndirectShader: {fileID: 0} + m_CopyBufferShader: {fileID: 0} + m_SortShader: {fileID: 0} + m_StripUpdateShader: {fileID: 0} + m_RenderPipeSettingsPath: + m_FixedTimeStep: 0.016666668 + m_MaxDeltaTime: 0.05 diff --git a/ProjectSettings/VersionControlSettings.asset b/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 0000000000..dca288142f --- /dev/null +++ b/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,8 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!890905787 &1 +VersionControlSettings: + m_ObjectHideFlags: 0 + m_Mode: Visible Meta Files + m_CollabEditorSettings: + inProgressEnabled: 1 diff --git a/ProjectSettings/XRSettings.asset b/ProjectSettings/XRSettings.asset new file mode 100644 index 0000000000..482590c196 --- /dev/null +++ b/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file From dd38edcdd51d814444d915ad8fe2f774ec457f4f Mon Sep 17 00:00:00 2001 From: VDH Date: Sat, 11 Oct 2025 10:08:24 +0700 Subject: [PATCH 3/6] change name file --- .../PerfectWorld/Scripts/GameData/ExpTypes.cs | 2 +- .../Scripts/Managers/CECAttacksMan.cs | 219 +++++++++++++ .../Scripts/Managers/CECAttacksMan.cs.meta | 2 + .../Scripts/Managers/EC_HPWorkMelee.cs | 2 +- .../Scripts/Managers/EC_HPWorkTrace.cs | 10 +- .../Scripts/Managers/EC_ManPlayer.cs | 2 +- .../Scripts/Managers/EC_Object.cs | 2 +- .../PerfectWorld/Scripts/Move/CECHostMove.cs | 2 +- Assets/PerfectWorld/Scripts/Move/CECPlayer.cs | 298 +++++++++++++++++- .../Scripts/Network/EC_ManMessageMono.cs | 4 +- .../Scripts/PlayerState/PlayerIdleState.cs | 2 +- .../Scripts/PlayerState/PlayerMoveState.cs | 2 +- .../Scripts/Players/EC_ElsePlayer.cs | 2 +- Assets/Scripts/CECHostPlayer.cs | 2 +- Assets/Scripts/EC_Utility.cs | 2 +- Assets/Scripts/GameController.cs | 2 +- Assets/Scripts/InitializePlayer.cs | 4 +- Assets/Scripts/PlayerVisual.cs | 2 +- 18 files changed, 531 insertions(+), 30 deletions(-) create mode 100644 Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs create mode 100644 Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs.meta diff --git a/Assets/PerfectWorld/Scripts/GameData/ExpTypes.cs b/Assets/PerfectWorld/Scripts/GameData/ExpTypes.cs index 38e4576d16..86a83d1621 100644 --- a/Assets/PerfectWorld/Scripts/GameData/ExpTypes.cs +++ b/Assets/PerfectWorld/Scripts/GameData/ExpTypes.cs @@ -4870,7 +4870,7 @@ namespace BrewMonster [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public ushort[] name; // name - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 14)] + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 15)] public uint[] action_mask; // fashion weapon action masks } diff --git a/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs b/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs new file mode 100644 index 0000000000..871ec70191 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs @@ -0,0 +1,219 @@ +using BrewMonster; +using System.Collections.Generic; +using Unity.VisualScripting; +using UnityEngine; +using static CECAttacksMan; + +public class CECAttacksMan : MonoSingleton +{ + private readonly List m_AttackList = new List(); + + public CECAttackerEvents FindAttackByAttacker(int idHost) + { + CECAttackerEvents result = new CECAttackerEvents(); + + foreach (var attack in m_AttackList) + { + if (attack.m_idHost == idHost) + { + result.Add(attack); + } + } + + return result; + } + + public CECAttackEvent AddMeleeAttack(int idHost, int idTarget, int idWeapon, uint dwModifier, int nDamage, int nTimeFly = 10) + { + var newEvent = new CECAttackEvent( + this, + idHost, + 0, // idCastTarget + idTarget, + idWeapon, + 0, // idSkill + 0, // nSkillLevel + dwModifier, + nDamage, + 200, // timeToBeFired + nTimeFly // timeToDoDamage + ); + m_AttackList.Add(newEvent); + + newEvent.UpdateTargetFlag(); + return m_AttackList[m_AttackList.Count - 1]; + } + + public CECAttackEvent AddSkillAttack(int idHost, int idCastTarget, int idTarget, int idWeapon, int idSkill, int nSkillLevel, uint dwModifier, int nDamage) + { + var newEvent = new CECAttackEvent( + this, + idHost, + idCastTarget, + idTarget, + idWeapon, + idSkill, + nSkillLevel, + dwModifier, + nDamage, + 200, // timeToBeFired + 1000 // timeToDoDamage + ); + m_AttackList.Add(newEvent); + + newEvent.UpdateTargetFlag(); + return m_AttackList[m_AttackList.Count - 1]; + } + + // === thêm tạm để code có thể compile === + public void AddAttack(CECAttackEvent evt) + { + m_AttackList.Add(evt); + } + public class TARGET_DATA + { + public int idTarget; + public uint dwModifier; + public int nDamage; + } + + +} +public class CECAttackEvent +{ + public CECAttacksMan? m_pManager; + + public bool m_bSignaled; + public bool m_bDoFired; + public bool m_bDoDamaged; + public bool m_bFinished; + + public uint m_timeLived; + public uint m_timeToBeFired; + public uint m_timeToDoDamage; + + public int m_idHost; + public int m_idCastTarget; + public List m_targets = new List(); + + public int m_idWeapon; + public int m_idSkill; + public int m_nSkillLevel; + public int m_nSkillSection; + + public CECAttackEvent() { } + + public CECAttackEvent(CECAttacksMan? pManager, int idHost, int idCastTarget, int idTarget, + int idWeapon, int idSkill, int nSkillLevel, uint dwModifier, + int nDamage, int nTimeToBeFired, int nTimeToDoDamage) + { + m_pManager = pManager; + m_idHost = idHost; + m_idCastTarget = idCastTarget; + m_idWeapon = idWeapon; + m_idSkill = idSkill; + m_nSkillLevel = nSkillLevel; + m_timeToBeFired = (uint)nTimeToBeFired; + m_timeToDoDamage = (uint)nTimeToDoDamage; + + AddTarget(idTarget, dwModifier, nDamage); + } + + public bool AddTarget(int idTarget, uint dwModifier, int nDamage) + { + m_targets.Add(new TARGET_DATA + { + idTarget = idTarget, + dwModifier = dwModifier, + nDamage = nDamage + }); + return true; + } + public bool UpdateTargetFlag() + { + // update all targets' bAboutToDie flag + + int nNumTargets = m_targets.Count; + for (int i = 0; i < nNumTargets; i++) + { + TARGET_DATA data = m_targets[i]; + /* + if( data.dwModifier & MOD_DEADLYSTRIKE ) + { + int idTarget = data.idTarget; + if (ISNPCID(idTarget)) + { + CECNPC* pNPC = g_pGame->GetGameRun()->GetWorld()->GetNPCMan()->GetNPC(idTarget); + if (!pNPC) + return true; + + pNPC->SetAboutToDie(true); + } + else if (ISPLAYERID(idTarget)) + { + CECPlayer* pPlayer = g_pGame->GetGameRun()->GetWorld()->GetPlayerMan()->GetPlayer(idTarget); + if (!pPlayer) + return true; + + pPlayer->SetAboutToDie(true); + } + }*/ + } + + return true; + } +} +public class CECAttackerEvents +{ + private readonly List m_list = new List(); + + public void Add(CECAttackEvent? evt) + { + if (evt != null) + m_list.Add(evt); + } + + public bool IsEmpty() => m_list.Count == 0; + public int Count() => m_list.Count; + + public CECAttackEvent? Find(int idSkill = 0, int nSkillSection = 0) + { + foreach (var evt in m_list) + { + if (evt.m_idSkill == idSkill && evt.m_nSkillSection == nSkillSection) + return evt; + } + return null; + } + + public void Signal() + { + foreach (var evt in m_list) + evt.m_bSignaled = true; + m_list.Clear(); + } + + public static implicit operator bool(CECAttackerEvents events) + { + return !events.IsEmpty(); + } +} +enum MOD + + { + MOD_PHYSIC_ATTACK_RUNE = 0x0001, // ÎïÀí¹¥»÷ÓÅ»¯·ûÉúЧ + MOD_MAGIC_ATTACK_RUNE = 0x0002, // ·¨Êõ¹¥»÷ÓÅ»¯·ûÉúЧ + MOD_PHYSIC_DEFENCE_RUNE = 0x0004, // ÎïÀí·ÀÓùÓÅ»¯·ûÉúЧ + MOD_MAGIC_DEFENCE_RUNE = 0x0008, // ·¨Êõ·ÀÓùÓÅ»¯·ûÉúЧ + MOD_CRITICAL_STRIKE = 0x0010, // ±¬»÷ + MOD_RETORT = 0x0020, // ·´Õð + MOD_NULLITY = 0x0040, // ÎÞЧ¹¥»÷ + MOD_IMMUNE = 0x0080, // ÃâÒßÁ˴˴ι¥»÷£¬ÓÅÏȼ¶¸ßÓÚÎÞЧ + MOD_ENCHANT_FAILED = 0x0100, // enchant ʧ°Ü + MOD_SUCCESS = 0x0200, // ³É¹¦ + MOD_DODGE_DAMAGE = 0x0400, // É˺¦¶ãÉÁ + MOD_DODGE_DEBUFF = 0x0800, // ״̬¶ãÉÁ + MOD_ATTACK_AURA = 0x1000, // ¹â»·¹¥»÷ + MOD_REBOUND = 0x2000, // ·´µ¯ + MOD_BEAT_BACK = 0x4000, // ·´»÷ +}; \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs.meta b/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs.meta new file mode 100644 index 0000000000..1de015f587 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 92009c5b4b0fd894790865cf674545fa \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs index 126b9e1c93..a9f954569f 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs @@ -148,7 +148,7 @@ class CECHPWorkMelee : CECHPWork protected virtual void OnFirstTick() { m_pHost.m_iMoveMode = (int)MoveMode.MOVE_STAND; - m_pHost.PlayAction((int)EC_Player.PLAYER_ACTION_TYPE.ACT_ATTACK_1 + Random.Range(0, 3), true, 200, false); + m_pHost.PlayAction((int)CECPlayer.PLAYER_ACTION_TYPE.ACT_ATTACK_1 + Random.Range(0, 3), true, 200, false); m_idTarget = m_pHost.m_idSelTarget; } diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs index d4a70c39fb..3ad2080f30 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs @@ -139,7 +139,7 @@ public abstract class CECTracedObject } else { - EC_Player pPlayer = pObject.GetComponent(); + CECPlayer pPlayer = pObject.GetComponent(); fTouchRadius = pPlayer.GetTouchRadius(); } return m_pHost.CanTouchTarget(vHostPos, vTargetPos, fTouchRadius, iTouchReason, fMaxCut); @@ -384,7 +384,7 @@ public class CECTracedPlayer : CECTracedObject { return true; } - EC_Player pPlayer = GetTargetObject() as EC_Player; + CECPlayer pPlayer = GetTargetObject() as CECPlayer; if (pPlayer.IsElsePlayer()) { if (pPlayer.IsDead()) @@ -612,10 +612,10 @@ public class CECHPWorkTrace : CECHPWork { // Continue tracing object float fDeltaTime = dwDeltaTime /** 0.001f*/; - if (m_pHost.m_iMoveEnv == EC_Player.Move_environment.MOVEENV_GROUND) + if (m_pHost.m_iMoveEnv == CECPlayer.Move_environment.MOVEENV_GROUND) { // Play appropriate actions - if (!m_pHost.IsJumping() && !m_pHost.IsPlayingAction((int)EC_Player.PLAYER_ACTION_TYPE.ACT_TRICK_RUN) && + if (!m_pHost.IsJumping() && !m_pHost.IsPlayingAction((int)CECPlayer.PLAYER_ACTION_TYPE.ACT_TRICK_RUN) && m_pHost.m_iMoveMode != (int)MoveMode.MOVE_SLIDE) { int iAction = m_pHost.GetMoveStandAction(true); @@ -807,7 +807,7 @@ public class CECHPWorkTrace : CECHPWork if (m_pHost.m_iMoveMode == (int)MoveMode.MOVE_SLIDE) { - m_pHost.PlayAction((int)EC_Player.PLAYER_ACTION_TYPE.ACT_JUMP_LOOP, false, 200, false); + m_pHost.PlayAction((int)CECPlayer.PLAYER_ACTION_TYPE.ACT_JUMP_LOOP, false, 200, false); // This will cause stop moming after we slide down. A3DVECTOR3 vDir = vTargetPos - vCurPos; diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs b/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs index 0db2223156..08ccef2f90 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_ManPlayer.cs @@ -470,7 +470,7 @@ namespace PerfectWorld.Scripts.Managers } // Get a player (may be host or else player) by id - public EC_Player GetPlayer(int cid, uint dwBornStamp = 0) + public CECPlayer GetPlayer(int cid, uint dwBornStamp = 0) { CECHostPlayer pHost = GetHostPlayer(); if (pHost && pHost.GetCharacterID() == cid) diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs b/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs index f6f58bbfb4..7e17d81164 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs @@ -185,7 +185,7 @@ public class CECObject : MonoBehaviour return 0; if (pObject.IsPlayer()) - return ((EC_Player)pObject).GetCharacterID(); + return ((CECPlayer)pObject).GetCharacterID(); else if (pObject.IsNPC()) return ((CECNPC)pObject).GetNPCID(); //else if (pObject.IsMatter()) diff --git a/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs b/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs index b38926fe57..5825457d0b 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs @@ -85,7 +85,7 @@ public class CECHostMove float fSpeed = 0f; switch (m_pHost.GetMoveEnv()) { - case EC_Player.Move_environment.MOVEENV_AIR: + case CECPlayer.Move_environment.MOVEENV_AIR: iMoveMode |= (int)GPMoveMode.GP_MOVE_AIR; fSpeed = m_pHost.GetFlySpeed(); diff --git a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs index dd27f381f5..7e35ab349b 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs @@ -5,9 +5,10 @@ using PerfectWorld.Scripts.Managers; using PerfectWorld.Scripts.Player; using System; using System.Collections.Generic; +using Unity.VisualScripting; using UnityEngine; -public abstract class EC_Player : CECObject +public abstract class CECPlayer : CECObject { private static PLAYER_ACTION[] _default_actions; private static PLAYER_ACTION[] _turning_actions; @@ -29,6 +30,12 @@ public abstract class EC_Player : CECObject public int m_iMoveEnv = Move_environment.MOVEENV_GROUND; // Move environment public bool m_bWalkRun; public A3DAABB m_aabbServer; // Óë·þÎñÆ÷±£³ÖÒ»ÖµÄaabb£¬ ²»ÊÜËõ·ÅÓ°Ïì + + + const int NUM_WEAPON_TYPE = 15; + + + protected void Awake() { m_PlayerActions = _default_actions; @@ -52,12 +59,9 @@ public abstract class EC_Player : CECObject public bool IsDead() { return (m_dwStates & PlayerNPCState.GP_STATE_CORPSE) != 0; } public bool IsValidAction(int iIndex) { return (iIndex >= 0 && iIndex < (int)PLAYER_ACTION_TYPE.ACT_MAX) ? true : false; } -<<<<<<<< HEAD:Assets/PerfectWorld/Scripts/Move/CECPlayer.cs public int GetCharacterID() { return m_PlayerInfo.cid; } -======== ->>>>>>>> origin/develop:Assets/PerfectWorld/Scripts/Move/EC_Player.cs private static void BuildActionList() { if (_default_actions == null) @@ -297,7 +301,288 @@ public abstract class EC_Player : CECObject ACT_MAX, ACT_CASTSKILL // Chỉ là placeholder cho skill actions } + /* public void PlayAttackEffect(int idTarget, int idSkill, int skillLevel, int nDamage, + uint dwModifier, int nAttackSpeed, ref int piAttackTime*//* NULL *//*, int nSection = 0) + { + if (!IsAllResReady()) + return; + if (idSkill == 0) + { + int idWeapon = IsShapeChanged() ? 0 : GetWeaponID(); + + int nTimeFly = 10; + if (idWeapon != 0) + { + // ¿´¿´ÊDz»ÊÇÔ¶³ÌÎäÆ÷ + DATA_TYPE dt = default; + WEAPON_ESSENCE? pWeapon = (WEAPON_ESSENCE)ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)idWeapon, ID_SPACE.ID_SPACE_ESSENCE, ref dt); + + if (dt == DATA_TYPE.DT_WEAPON_ESSENCE && pWeapon != null && pWeapon.Value.require_projectile != 0) + { + nTimeFly = 700; + + if (m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE] != 0) + idWeapon = m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE]; + } + } + + if (CECAttacksMan.Instance.FindAttackByAttacker(GetPlayerInfo().cid)) + { + // Unity animation làm hộ r + //ClearComActFlagAllRankNodes(true); + } + + // melee attack + CECAttackEvent pAttack = CECAttacksMan.Instance.AddMeleeAttack( + GetPlayerInfo().cid, idTarget, idWeapon, dwModifier, nDamage, nTimeFly); + + if (pAttack != null) + { + if (!IsDead() && (dwModifier & (uint)MOD.MOD_RETORT) == 0 + && (dwModifier & (uint)MOD.MOD_ATTACK_AURA) == 0 + && PlayAttackAction(nAttackSpeed, piAttackTime, pAttack.m_bSignaled) + && (dwModifier & (uint)MOD.MOD_BEAT_BACK) == 0) + { + } + else + { + pAttack.m_bSignaled = true; + } + } + } + else + { + if (skillLevel == 0) + { + if (m_pCurSkill) + skillLevel = m_pCurSkill->GetSkillLevel(); + else + skillLevel = 1; + } + + CECAttackEvent* pAttack = NULL; + + // first try to find if there is already a skill attack event in attackman + CECAttackerEvents attackerEvents = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->FindAttackByAttacker(GetPlayerInfo().cid); + if (attackerEvents) + { + if (CECAttackEvent * pAttack = attackerEvents.Find(idSkill, nSection)) + { + // Ãæ¹¥»÷µÄ·ÇµÚÒ»´ÎÉ˺¦ÏûÏ¢ + pAttack->AddTarget(idTarget, dwModifier, nDamage); + goto EXIT; + } + else + { + attackerEvents.Signal(); + } + } + if (GNET::ElementSkill::IsGoblinSkill(idSkill) && + GNET::ElementSkill::GetType(idSkill) == 2) + { + pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddSkillAttack( + GetPlayerInfo().cid, GetPlayerInfo().cid, idTarget, GetWeaponID(), idSkill, skillLevel, dwModifier, nDamage); + } + else + { + // begin a skill attack + pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddSkillAttack( + GetPlayerInfo().cid, m_idCurSkillTarget, idTarget, GetWeaponID(), idSkill, skillLevel, dwModifier, nDamage); + } + + if (pAttack) + { + pAttack->SetSkillSection(nSection); + if (!IsDead() && (dwModifier & CECAttackEvent::MOD_RETORT) == 0 + && (dwModifier & CECAttackEvent::MOD_ATTACK_AURA) == 0 + && PlaySkillAttackAction(idSkill, nAttackSpeed, NULL, nSection, &pAttack->m_bSignaled) + && (dwModifier & CECAttackEvent::MOD_BEAT_BACK) == 0) + { + } + else + { + pAttack->m_bSignaled = true; + } + } + + EXIT: + // For skill attacking, time is always set to 0 + if (piAttackTime) + *piAttackTime = 0; + } + } + public bool PlayAttackAction(int nAttackSpeed, out int attackTime, ref bool? pActFlag) + { + attackTime = 0; + + if (m_pPlayerModel == null) + return false; + + int nRand = UnityEngine.Random.Range(0, 4); + string szAct = string.Empty; + + int weapon_type = GetShowingWeaponType(); + + int nTime1, nTime2; + int iAction = ACT_ATTACK_1 + nRand; + PLAYER_ACTION action = m_PlayerActions[iAction]; + + if (action.data == null || string.IsNullOrEmpty(action.data.action_prefix)) + return false; + + ShowWeaponByConfig(action.data); + + var pRightHandWeapon = GetRightHandWeapon(); + bool bHideFX = !CECOptimize.Instance.GFX.CanShowAttack(GetCharacterID(), GetClassID()); + + // ============================== + // Ground Attack + // ============================== + if (GetMoveEnv() == MOVEENV_GROUND) + { + // “起” 动作(挥起) + szAct = $"{action.data.action_prefix}_{action.data.action_weapon_suffix[weapon_type].suffix}Æð"; + PlayNonSkillActionWithName(iAction, szAct, true, 200, bHideFX, ref pActFlag, COMACT_FLAG_MODE_ONCE_MULTIIGNOREGFX); + + if (pRightHandWeapon != null && IsUsingMagicWeapon()) + pRightHandWeapon.PlayActionByName(_GenWeaponActionName(szAct, m_iGender), 1.0f, true, 200, true, iAction, bHideFX); + + nTime1 = m_pPlayerModel.GetComActTimeSpanByName(szAct); + + // “收” 动作(挥下) + szAct = $"{action.data.action_prefix}_{action.data.action_weapon_suffix[weapon_type].suffix}Âä"; + QueueNonSkillActionWithName(iAction, szAct, 0, false, bHideFX); + + if (pRightHandWeapon != null && IsUsingMagicWeapon()) + pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 0, iAction, false, false, bHideFX); + + nTime2 = m_pPlayerModel.GetComActTimeSpanByName(szAct); + } + // ============================== + // Air Attack + // ============================== + else + { + string szActionMiddleName; + + if ((m_wingType == WINGTYPE_WING && IsFlying()) || + GetProfession() == PROF_ANGEL || + GetProfession() == PROF_ARCHOR || + GetProfession() == PROF_MONK || + GetProfession() == PROF_GHOST) + { + szActionMiddleName = "¿ÕÖгá°ò"; // tấn công trên không + } + else + { + szActionMiddleName = "¿ÕÖзɽ£"; // rơi xuống hoặc bay + } + + szAct = $"{action.data.action_prefix}_{szActionMiddleName}_{action.data.action_weapon_suffix[weapon_type].suffix}Æð"; + PlayNonSkillActionWithName(iAction, szAct, true, 200, bHideFX, ref pActFlag, COMACT_FLAG_MODE_ONCE_MULTIIGNOREGFX); + + if (pRightHandWeapon != null && IsUsingMagicWeapon()) + pRightHandWeapon.PlayActionByName(_GenWeaponActionName(szAct, m_iGender), 1.0f, true, 200, true, iAction, bHideFX); + + nTime1 = m_pPlayerModel.GetComActTimeSpanByName(szAct); + + szAct = $"{action.data.action_prefix}_{szActionMiddleName}_{action.data.action_weapon_suffix[weapon_type].suffix}Âä"; + QueueNonSkillActionWithName(iAction, szAct, 0, false, bHideFX); + + if (pRightHandWeapon != null && IsUsingMagicWeapon()) + pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 0, iAction, false, false, bHideFX); + + nTime2 = m_pPlayerModel.GetComActTimeSpanByName(szAct); + } + + // ============================== + // Kết thúc bằng FightStand + // ============================== + PLAYER_ACTION stand_action = m_PlayerActions[ACT_FIGHTSTAND]; + szAct = $"{stand_action.data.action_prefix}_{stand_action.data.action_weapon_suffix[weapon_type].suffix}"; + + QueueNonSkillActionWithName(ACT_FIGHTSTAND, szAct, 300, false, bHideFX, true); + + if (pRightHandWeapon != null && IsUsingMagicWeapon()) + pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 300, iAction, false, false, bHideFX, true); + + // ============================== + // Điều chỉnh tốc độ phát animation theo tốc độ tấn công + // ============================== + if (nAttackSpeed > 0) + { + float vScale = (nTime1 + nTime2) / (float)nAttackSpeed; + if (vScale > 0f) + { + m_pPlayerModel.SetPlaySpeed(vScale); + + if (pRightHandWeapon != null && IsUsingMagicWeapon()) + pRightHandWeapon.SetPlaySpeed(vScale); + } + } + + attackTime = nTime1 + nTime2; + + // ============================== + // Cập nhật vị trí weapon hanger (vũ khí) + // ============================== + UpdateWeaponHangerPosByAction(iAction); + + return true; + } + public int GetShowingWeaponType() + { + int weapon_type = 0; + if (CanShowFashionWeapon(m_uAttackType, m_iFashionWeaponType) && m_aEquips[EQUIPIVTR_FASHION_WEAPON] != 0) + { + weapon_type = (m_iFashionWeaponType == DEFAULT_ACTION_TYPE || !IsWeaponAttached()) ? + 10 : m_iFashionWeaponType; + } + else + { + weapon_type = (m_uAttackType == DEFAULT_ACTION_TYPE || !IsWeaponAttached()) ? + 10 : m_uAttackType; + } + return weapon_type; + } + public bool CanShowFashionWeapon(int weapon_type, int fashion_weapon_type) + { + return IsFashionWeaponTypeFit(weapon_type, fashion_weapon_type) && InFashionMode(); + } + public bool IsFashionWeaponTypeFit(int weapon_type, int fashion_weapon_type) + { + if (fashion_weapon_type < 0 || fashion_weapon_type >= NUM_WEAPON_TYPE) return false; + FASHION_WEAPON_CONFIG? pConfig = GetFashionConfig(); + if (null == pConfig) + { + BMLogger.LogError("CECPlayer::GetFashionConfig, Failed to load fashion weapon config"); + return false; + } + int fashion_weapon_mask = (int)pConfig.Value.action_mask[fashion_weapon_type]; + return (fashion_weapon_mask & (1 << GetWeaponType(weapon_type))) != 0; + } + public FASHION_WEAPON_CONFIG GetFashionConfig() + { + FASHION_WEAPON_CONFIG? pFashionConfig = null; + if (null == pFashionConfig) + { + elementdataman pDataMan = ElementDataManProvider.GetElementDataMan(); + DATA_TYPE DataType; + uint tid = pDataMan.get_first_data_id(ID_SPACE_CONFIG, DataType); + + while (tid) + { + if (DataType == DT_FASHION_WEAPON_CONFIG) + { + pFashionConfig = (FASHION_WEAPON_CONFIG*)pDataMan->get_data_ptr(tid, ID_SPACE_CONFIG, DataType); + break; + } + tid = pDataMan->get_next_data_id(ID_SPACE_CONFIG, DataType); + } + } + return pFashionConfig; + }*/ public float GetTouchRadius() { return m_fTouchRad; } // Is player in battle public bool IsInBattle() { return m_iBattleCamp != Player_camp_in_battle.GP_BATTLE_CAMP_NONE; } @@ -391,16 +676,11 @@ public abstract class EC_Player : CECObject } // Get move environment -<<<<<<<< HEAD:Assets/PerfectWorld/Scripts/Move/CECPlayer.cs public int GetMoveEnv() { return m_iMoveEnv; } public bool IsShapeChanged() { return m_iShape != 0; } public int GetWeaponID() { return m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_WEAPON] & 0xffff; } public bool IsAllResReady() { return (m_dwResFlags & (uint)PlayerResourcesReadyFlag.RESFG_ALL) == (uint)PlayerResourcesReadyFlag.RESFG_ALL; } -======== - public int GetMoveEnv(){ return m_iMoveEnv; } // Get character ID - public int GetCharacterID(){ return m_PlayerInfo.cid; } ->>>>>>>> origin/develop:Assets/PerfectWorld/Scripts/Move/EC_Player.cs } public struct PlayActionEvent { diff --git a/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs b/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs index 57599c37b2..76741ba3a6 100644 --- a/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs +++ b/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs @@ -74,8 +74,8 @@ namespace BrewMonster if (!(pObject = EC_ManPlayer.GetPlayer(idObject))) return null; - if ((iAliveFlag == 1 && (pObject as EC_Player).IsDead()) || - (iAliveFlag == 2 && !(pObject as EC_Player).IsDead())) + if ((iAliveFlag == 1 && (pObject as CECPlayer).IsDead()) || + (iAliveFlag == 2 && !(pObject as CECPlayer).IsDead())) return null; } //else if (GPDataTypeHelper.ISMATTERID(idObject)) diff --git a/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs b/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs index dab799fc4a..00f87ae540 100644 --- a/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs +++ b/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs @@ -1,5 +1,5 @@ using UnityEngine; -using static EC_Player; +using static CECPlayer; public class PlayerIdleState : PlayerState { diff --git a/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs b/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs index e82e7f53a4..b46ef1e484 100644 --- a/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs +++ b/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs @@ -1,5 +1,5 @@ using UnityEngine; -using static EC_Player; +using static CECPlayer; public class PlayerMoveState : PlayerState { diff --git a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs index 58c64ecb0d..5d124ade08 100644 --- a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs +++ b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs @@ -7,7 +7,7 @@ using UnityEngine; namespace PerfectWorld.Scripts.Player { - public class EC_ElsePlayer : EC_Player + public class EC_ElsePlayer : CECPlayer { A3DVECTOR3 m_vMoveDir; // Player's velocity A3DVECTOR3 m_vServerPos; // Player's real position on server diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 1a6d6af783..97facee398 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -21,7 +21,7 @@ using UnityEngine.SceneManagement; using UnityEngine.UI; using Scene = UnityEngine.SceneManagement.Scene; -public class CECHostPlayer : EC_Player +public class CECHostPlayer : CECPlayer { [SerializeField] private TextMeshPro txtName; [SerializeField] private CharacterController controller; diff --git a/Assets/Scripts/EC_Utility.cs b/Assets/Scripts/EC_Utility.cs index d1ef9f4cfb..ec337ae60d 100644 --- a/Assets/Scripts/EC_Utility.cs +++ b/Assets/Scripts/EC_Utility.cs @@ -4,7 +4,7 @@ using System; using System.Collections; using System.Runtime.InteropServices; using UnityEngine; -using static EC_Player; +using static CECPlayer; public static class EC_Utility { diff --git a/Assets/Scripts/GameController.cs b/Assets/Scripts/GameController.cs index bdd3c803f6..1a1f7dcfe9 100644 --- a/Assets/Scripts/GameController.cs +++ b/Assets/Scripts/GameController.cs @@ -54,7 +54,7 @@ public class GameController : MonoBehaviour Debug.LogError("null prefab"); return; } - EC_Player.InitStaticRes(); + CECPlayer.InitStaticRes(); hostPlayer = Instantiate(characterPrefab, transform); hostPlayer.InitCharacter(info); cinemachineCamera.Follow = hostPlayer.transform; diff --git a/Assets/Scripts/InitializePlayer.cs b/Assets/Scripts/InitializePlayer.cs index 74f9de84a2..ad87a38c5f 100644 --- a/Assets/Scripts/InitializePlayer.cs +++ b/Assets/Scripts/InitializePlayer.cs @@ -5,11 +5,11 @@ public class InitializePlayer /*: IAutoInitialize*/ { public void Dispose() { - EC_Player.Dispose(); + CECPlayer.Dispose(); } public void Initialize() { - EC_Player.InitStaticRes(); + CECPlayer.InitStaticRes(); } } diff --git a/Assets/Scripts/PlayerVisual.cs b/Assets/Scripts/PlayerVisual.cs index 08fab98c64..1046364ce4 100644 --- a/Assets/Scripts/PlayerVisual.cs +++ b/Assets/Scripts/PlayerVisual.cs @@ -23,7 +23,7 @@ public class PlayerVisual : MonoBehaviour BrewMonster.BMLogger.LogError("animancer == null"); return; } - var player = GetComponentInParent(); + var player = GetComponentInParent(); if(player == null) { BrewMonster.BMLogger.LogError("player == null"); From bd344fcff5664fd72f49c4e4d55980da4cd7b78e Mon Sep 17 00:00:00 2001 From: VDH Date: Sat, 11 Oct 2025 16:09:00 +0700 Subject: [PATCH 4/6] player animation --- .../Common/DataProcess/elementdataman.cs | 9 + .../Scripts/Managers/EC_HPWorkMelee.cs | 2 +- .../Scripts/Managers/EC_HPWorkTrace.cs | 10 +- .../Scripts/Managers/EC_InventoryUI.cs | 2 +- .../Scripts/Managers/EC_IvtrType.cs | 91 +-- .../Scripts/Managers/EC_Object.cs | 2 +- .../PerfectWorld/Scripts/Move/CECHostMove.cs | 2 +- Assets/PerfectWorld/Scripts/Move/CECPlayer.cs | 132 ++-- Assets/PerfectWorld/Scripts/Move/EC_Player.cs | 735 ------------------ .../Scripts/Move/EC_Player.cs.meta | 2 - .../Scripts/Network/EC_ManMessageMono.cs | 4 +- .../Scripts/PlayerState/PlayerIdleState.cs | 2 +- .../Scripts/PlayerState/PlayerMoveState.cs | 2 +- .../Scripts/Players/EC_ElsePlayer.cs | 2 +- .../Scripts/UI/Login/LoginScreenUI.cs | 6 + Assets/Scripts/CECHostPlayer.cs | 28 +- Assets/Scripts/EC_Utility.cs | 6 +- Assets/Scripts/GameController.cs | 2 +- Assets/Scripts/InitializePlayer.cs | 4 +- Assets/Scripts/PlayerVisual.cs | 41 +- 20 files changed, 211 insertions(+), 873 deletions(-) delete mode 100644 Assets/PerfectWorld/Scripts/Move/EC_Player.cs delete mode 100644 Assets/PerfectWorld/Scripts/Move/EC_Player.cs.meta diff --git a/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs b/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs index d15158babc..168cad3e10 100644 --- a/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs +++ b/Assets/PerfectWorld/Scripts/Common/DataProcess/elementdataman.cs @@ -1504,6 +1504,15 @@ namespace ModelRenderer.Scripts.GameData } break; // TODO: Add other id spaces here. + case ID_SPACE.ID_SPACE_CONFIG: + foreach (var item in config_id_data_type_map) + { + if (item.Value == dataType) + { + return item.Key; + } + } + break; default: return 0; } diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs index 126b9e1c93..a9f954569f 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkMelee.cs @@ -148,7 +148,7 @@ class CECHPWorkMelee : CECHPWork protected virtual void OnFirstTick() { m_pHost.m_iMoveMode = (int)MoveMode.MOVE_STAND; - m_pHost.PlayAction((int)EC_Player.PLAYER_ACTION_TYPE.ACT_ATTACK_1 + Random.Range(0, 3), true, 200, false); + m_pHost.PlayAction((int)CECPlayer.PLAYER_ACTION_TYPE.ACT_ATTACK_1 + Random.Range(0, 3), true, 200, false); m_idTarget = m_pHost.m_idSelTarget; } diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs index d4a70c39fb..3ad2080f30 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_HPWorkTrace.cs @@ -139,7 +139,7 @@ public abstract class CECTracedObject } else { - EC_Player pPlayer = pObject.GetComponent(); + CECPlayer pPlayer = pObject.GetComponent(); fTouchRadius = pPlayer.GetTouchRadius(); } return m_pHost.CanTouchTarget(vHostPos, vTargetPos, fTouchRadius, iTouchReason, fMaxCut); @@ -384,7 +384,7 @@ public class CECTracedPlayer : CECTracedObject { return true; } - EC_Player pPlayer = GetTargetObject() as EC_Player; + CECPlayer pPlayer = GetTargetObject() as CECPlayer; if (pPlayer.IsElsePlayer()) { if (pPlayer.IsDead()) @@ -612,10 +612,10 @@ public class CECHPWorkTrace : CECHPWork { // Continue tracing object float fDeltaTime = dwDeltaTime /** 0.001f*/; - if (m_pHost.m_iMoveEnv == EC_Player.Move_environment.MOVEENV_GROUND) + if (m_pHost.m_iMoveEnv == CECPlayer.Move_environment.MOVEENV_GROUND) { // Play appropriate actions - if (!m_pHost.IsJumping() && !m_pHost.IsPlayingAction((int)EC_Player.PLAYER_ACTION_TYPE.ACT_TRICK_RUN) && + if (!m_pHost.IsJumping() && !m_pHost.IsPlayingAction((int)CECPlayer.PLAYER_ACTION_TYPE.ACT_TRICK_RUN) && m_pHost.m_iMoveMode != (int)MoveMode.MOVE_SLIDE) { int iAction = m_pHost.GetMoveStandAction(true); @@ -807,7 +807,7 @@ public class CECHPWorkTrace : CECHPWork if (m_pHost.m_iMoveMode == (int)MoveMode.MOVE_SLIDE) { - m_pHost.PlayAction((int)EC_Player.PLAYER_ACTION_TYPE.ACT_JUMP_LOOP, false, 200, false); + m_pHost.PlayAction((int)CECPlayer.PLAYER_ACTION_TYPE.ACT_JUMP_LOOP, false, 200, false); // This will cause stop moming after we slide down. A3DVECTOR3 vDir = vTargetPos - vCurPos; diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs b/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs index 70ad7df4c7..59f5c69bbf 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs @@ -183,7 +183,7 @@ namespace PerfectWorld.Scripts.Managers // For equipping, we need to find an empty equipment slot // Use the new method that checks for available slots (especially for finger items) byte equipLocation = EC_IvtrType.GetAvailableEquipLocationForItem(currentSelectedItem.TemplateId); - if (equipLocation >= (byte)EC_IvtrType.IndexOfIteminEquipmentInventory.SIZE_EQUIPIVTR) + if (equipLocation >= (byte)IndexOfIteminEquipmentInventory.SIZE_EQUIPIVTR) { Debug.LogWarning($"[InventoryUI] Could not determine equip location for item {currentSelectedItem.TemplateId}"); return; diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs index 611b25616a..17919062e5 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_IvtrType.cs @@ -5,53 +5,54 @@ using BrewMonster; namespace PerfectWorld.Scripts.Managers { + public enum IndexOfIteminEquipmentInventory : byte + { + EQUIPIVTR_WEAPON = 0, + EQUIPIVTR_HEAD = 1, + EQUIPIVTR_NECK = 2, + EQUIPIVTR_SHOULDER = 3, + EQUIPIVTR_BODY = 4, + EQUIPIVTR_WAIST = 5, + EQUIPIVTR_LEG = 6, + EQUIPIVTR_FOOT = 7, + EQUIPIVTR_WRIST = 8, + EQUIPIVTR_FINGER1 = 9, + EQUIPIVTR_FINGER2 = 10, + EQUIPIVTR_PROJECTILE = 11, + EQUIPIVTR_FLYSWORD = 12, + EQUIPIVTR_FASHION_BODY = 13, + EQUIPIVTR_FASHION_LEG = 14, + EQUIPIVTR_FASHION_FOOT = 15, + EQUIPIVTR_FASHION_WRIST = 16, + EQUIPIVTR_RUNE = 17, + EQUIPIVTR_BIBLE = 18, + EQUIPIVTR_SPEAKER = 19, + EQUIPIVTR_AUTOHP = 20, + EQUIPIVTR_AUTOMP = 21, + EQUIPIVTR_POCKET = 22, + EQUIPIVTR_GOBLIN = 23, + EQUIPIVTR_CERTIFICATE = 24, + EQUIPIVTR_FASHION_HEAD = 25, + EQUIPIVTR_FORCE_TOKEN = 26, + EQUIPIVTR_DYNSKILLEQUIP1 = 27, + EQUIPIVTR_DYNSKILLEQUIP2 = 28, + EQUIPIVTR_FASHION_WEAPON = 29, + SIZE_EQUIPIVTR = 30, + EQUIPIVTR_UNUSED1 = SIZE_EQUIPIVTR, + EQUIPIVTR_UNUSED2 = 31, + EQUIPIVTR_GENERALCARD1, + EQUIPIVTR_GENERALCARD2, + EQUIPIVTR_GENERALCARD3, + EQUIPIVTR_GENERALCARD4 = 35, + EQUIPIVTR_GENERALCARD5, + EQUIPIVTR_GENERALCARD6, + SIZE_ALL_EQUIPIVTR, + SIZE_GENERALCARD_EQUIPIVTR = SIZE_ALL_EQUIPIVTR - EQUIPIVTR_GENERALCARD1, + } + public static class EC_IvtrType { - public enum IndexOfIteminEquipmentInventory : byte - { - EQUIPIVTR_WEAPON = 0, - EQUIPIVTR_HEAD = 1, - EQUIPIVTR_NECK = 2, - EQUIPIVTR_SHOULDER = 3, - EQUIPIVTR_BODY = 4, - EQUIPIVTR_WAIST = 5, - EQUIPIVTR_LEG = 6, - EQUIPIVTR_FOOT = 7, - EQUIPIVTR_WRIST = 8, - EQUIPIVTR_FINGER1 = 9, - EQUIPIVTR_FINGER2 = 10, - EQUIPIVTR_PROJECTILE = 11, - EQUIPIVTR_FLYSWORD = 12, - EQUIPIVTR_FASHION_BODY = 13, - EQUIPIVTR_FASHION_LEG = 14, - EQUIPIVTR_FASHION_FOOT = 15, - EQUIPIVTR_FASHION_WRIST = 16, - EQUIPIVTR_RUNE = 17, - EQUIPIVTR_BIBLE = 18, - EQUIPIVTR_SPEAKER = 19, - EQUIPIVTR_AUTOHP = 20, - EQUIPIVTR_AUTOMP = 21, - EQUIPIVTR_POCKET = 22, - EQUIPIVTR_GOBLIN = 23, - EQUIPIVTR_CERTIFICATE = 24, - EQUIPIVTR_FASHION_HEAD = 25, - EQUIPIVTR_FORCE_TOKEN = 26, - EQUIPIVTR_DYNSKILLEQUIP1 = 27, - EQUIPIVTR_DYNSKILLEQUIP2 = 28, - EQUIPIVTR_FASHION_WEAPON = 29, - SIZE_EQUIPIVTR = 30, - EQUIPIVTR_UNUSED1 = SIZE_EQUIPIVTR, - EQUIPIVTR_UNUSED2 = 31, - EQUIPIVTR_GENERALCARD1, - EQUIPIVTR_GENERALCARD2, - EQUIPIVTR_GENERALCARD3, - EQUIPIVTR_GENERALCARD4 = 35, - EQUIPIVTR_GENERALCARD5, - EQUIPIVTR_GENERALCARD6, - SIZE_ALL_EQUIPIVTR, - SIZE_GENERALCARD_EQUIPIVTR = SIZE_ALL_EQUIPIVTR - EQUIPIVTR_GENERALCARD1, - } - + public static byte GetEquipLocationForItem(int templateId) { try diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs b/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs index f6f58bbfb4..7e17d81164 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_Object.cs @@ -185,7 +185,7 @@ public class CECObject : MonoBehaviour return 0; if (pObject.IsPlayer()) - return ((EC_Player)pObject).GetCharacterID(); + return ((CECPlayer)pObject).GetCharacterID(); else if (pObject.IsNPC()) return ((CECNPC)pObject).GetNPCID(); //else if (pObject.IsMatter()) diff --git a/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs b/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs index b38926fe57..5825457d0b 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECHostMove.cs @@ -85,7 +85,7 @@ public class CECHostMove float fSpeed = 0f; switch (m_pHost.GetMoveEnv()) { - case EC_Player.Move_environment.MOVEENV_AIR: + case CECPlayer.Move_environment.MOVEENV_AIR: iMoveMode |= (int)GPMoveMode.GP_MOVE_AIR; fSpeed = m_pHost.GetFlySpeed(); diff --git a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs index 2be7becb44..b931fc9ce2 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs @@ -8,13 +8,13 @@ using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; -public abstract class EC_Player : CECObject +public abstract class CECPlayer : CECObject { private static PLAYER_ACTION[] _default_actions; private static PLAYER_ACTION[] _turning_actions; PLAYER_ACTION[] m_PlayerActions; [SerializeField] internal INFO m_PlayerInfo; - protected GameObject m_pPlayerModel; + protected GameObject _pPlayerModel; protected float rotationSpeed = 5; internal int m_iMoveMode; // Player's move mode internal int m_idSelTarget; @@ -29,10 +29,15 @@ public abstract class EC_Player : CECObject protected ROLEBASICPROP m_BasicProps; public int m_iMoveEnv = Move_environment.MOVEENV_GROUND; // Move environment public bool m_bWalkRun; - public A3DAABB m_aabbServer; // Óë·þÎñÆ÷±£³ÖÒ»ÖµÄaabb£¬ ²»ÊÜËõ·ÅÓ°Ïì - + public A3DAABB m_aabbServer; // Óë·þÎñÆ÷±£³ÖÒ»ÖµÄaabb£¬ ²»ÊÜËõ·ÅÓ°Ïì + protected bool m_bFashionMode; + protected uint m_uAttackType; + protected int m_iFashionWeaponType; + protected bool m_bWeaponAttached; + public CECModel m_pPlayerModel; const int NUM_WEAPON_TYPE = 15; + const byte COMACT_FLAG_MODE_ONCE_MULTIIGNOREGFX = 3; @@ -40,7 +45,7 @@ public abstract class EC_Player : CECObject { m_PlayerActions = _default_actions; m_iShape = 0; - m_aEquips = new int[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.SIZE_ALL_EQUIPIVTR]; + m_aEquips = new int[(int)IndexOfIteminEquipmentInventory.SIZE_ALL_EQUIPIVTR]; } public void SetPlayerInfor(INFO playinfo) { @@ -59,12 +64,9 @@ public abstract class EC_Player : CECObject public bool IsDead() { return (m_dwStates & PlayerNPCState.GP_STATE_CORPSE) != 0; } public bool IsValidAction(int iIndex) { return (iIndex >= 0 && iIndex < (int)PLAYER_ACTION_TYPE.ACT_MAX) ? true : false; } -<<<<<<<< HEAD:Assets/PerfectWorld/Scripts/Move/CECPlayer.cs public int GetCharacterID() { return m_PlayerInfo.cid; } -======== ->>>>>>>> origin/develop:Assets/PerfectWorld/Scripts/Move/EC_Player.cs private static void BuildActionList() { if (_default_actions == null) @@ -304,8 +306,8 @@ public abstract class EC_Player : CECObject ACT_MAX, ACT_CASTSKILL // Chỉ là placeholder cho skill actions } - /* public void PlayAttackEffect(int idTarget, int idSkill, int skillLevel, int nDamage, - uint dwModifier, int nAttackSpeed, ref int piAttackTime*//* NULL *//*, int nSection = 0) + public void PlayAttackEffect(int idTarget, int idSkill, int skillLevel, int nDamage, + uint dwModifier, int nAttackSpeed, ref int piAttackTime/* NULL */, int nSection = 0) { if (!IsAllResReady()) return; @@ -325,8 +327,8 @@ public abstract class EC_Player : CECObject { nTimeFly = 700; - if (m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE] != 0) - idWeapon = m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE]; + if (m_aEquips[(int)IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE] != 0) + idWeapon = m_aEquips[(int)IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE]; } } @@ -344,7 +346,7 @@ public abstract class EC_Player : CECObject { if (!IsDead() && (dwModifier & (uint)MOD.MOD_RETORT) == 0 && (dwModifier & (uint)MOD.MOD_ATTACK_AURA) == 0 - && PlayAttackAction(nAttackSpeed, piAttackTime, pAttack.m_bSignaled) + && PlayAttackAction(nAttackSpeed,out piAttackTime,ref pAttack.m_bSignaled) && (dwModifier & (uint)MOD.MOD_BEAT_BACK) == 0) { } @@ -356,7 +358,7 @@ public abstract class EC_Player : CECObject } else { - if (skillLevel == 0) + /* if (skillLevel == 0) { if (m_pCurSkill) skillLevel = m_pCurSkill->GetSkillLevel(); @@ -412,14 +414,14 @@ public abstract class EC_Player : CECObject EXIT: // For skill attacking, time is always set to 0 if (piAttackTime) - *piAttackTime = 0; + *piAttackTime = 0;*/ } } - public bool PlayAttackAction(int nAttackSpeed, out int attackTime, ref bool? pActFlag) + public bool PlayAttackAction(int nAttackSpeed, out int attackTime, ref bool pActFlag) { attackTime = 0; - if (m_pPlayerModel == null) + if (_pPlayerModel == null) return false; int nRand = UnityEngine.Random.Range(0, 4); @@ -427,31 +429,36 @@ public abstract class EC_Player : CECObject int weapon_type = GetShowingWeaponType(); - int nTime1, nTime2; - int iAction = ACT_ATTACK_1 + nRand; + int nTime1 = 0 , nTime2 = 0; + int iAction = (int)PLAYER_ACTION_TYPE.ACT_ATTACK_1 + nRand; PLAYER_ACTION action = m_PlayerActions[iAction]; - if (action.data == null || string.IsNullOrEmpty(action.data.action_prefix)) + if (string.IsNullOrEmpty(action.data.ActionPrefix)) return false; ShowWeaponByConfig(action.data); - var pRightHandWeapon = GetRightHandWeapon(); - bool bHideFX = !CECOptimize.Instance.GFX.CanShowAttack(GetCharacterID(), GetClassID()); + /* var pRightHandWeapon = GetRightHandWeapon(); + bool bHideFX = !CECOptimize.Instance.GFX.CanShowAttack(GetCharacterID(), GetClassID());*/ // ============================== // Ground Attack // ============================== - if (GetMoveEnv() == MOVEENV_GROUND) + if (GetMoveEnv() == (int)MoveEnvironment.MOVEENV_GROUND) { // “起” 动作(挥起) - szAct = $"{action.data.action_prefix}_{action.data.action_weapon_suffix[weapon_type].suffix}Æð"; - PlayNonSkillActionWithName(iAction, szAct, true, 200, bHideFX, ref pActFlag, COMACT_FLAG_MODE_ONCE_MULTIIGNOREGFX); - + szAct = EC_Utility.BuildActionName(action, 0, "Æð"); + BMLogger.LogError("HoangDev: PlayAttackAction: " + szAct); + EventBus.PublishChannel(m_PlayerInfo.cid, new PlayActionEvent(szAct)); + szAct = EC_Utility.BuildActionName(action, 0, "Âä"); + BMLogger.LogError("HoangDev: PlayAttackAction: " + szAct); + EventBus.PublishChannel(m_PlayerInfo.cid, new QueueActionEvent(szAct)); + //PlayNonSkillActionWithName(iAction, szAct, true, 200, true, ref pActFlag, COMACT_FLAG_MODE_ONCE_MULTIIGNOREGFX); +/* if (pRightHandWeapon != null && IsUsingMagicWeapon()) pRightHandWeapon.PlayActionByName(_GenWeaponActionName(szAct, m_iGender), 1.0f, true, 200, true, iAction, bHideFX); - nTime1 = m_pPlayerModel.GetComActTimeSpanByName(szAct); + nTime1 = _pPlayerModel.GetComActTimeSpanByName(szAct); // “收” 动作(挥下) szAct = $"{action.data.action_prefix}_{action.data.action_weapon_suffix[weapon_type].suffix}Âä"; @@ -460,14 +467,14 @@ public abstract class EC_Player : CECObject if (pRightHandWeapon != null && IsUsingMagicWeapon()) pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 0, iAction, false, false, bHideFX); - nTime2 = m_pPlayerModel.GetComActTimeSpanByName(szAct); + nTime2 = _pPlayerModel.GetComActTimeSpanByName(szAct);*/ } // ============================== // Air Attack // ============================== else { - string szActionMiddleName; + /*string szActionMiddleName; if ((m_wingType == WINGTYPE_WING && IsFlying()) || GetProfession() == PROF_ANGEL || @@ -496,24 +503,26 @@ public abstract class EC_Player : CECObject if (pRightHandWeapon != null && IsUsingMagicWeapon()) pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 0, iAction, false, false, bHideFX); - nTime2 = m_pPlayerModel.GetComActTimeSpanByName(szAct); + nTime2 = m_pPlayerModel.GetComActTimeSpanByName(szAct);*/ } // ============================== // Kết thúc bằng FightStand // ============================== - PLAYER_ACTION stand_action = m_PlayerActions[ACT_FIGHTSTAND]; - szAct = $"{stand_action.data.action_prefix}_{stand_action.data.action_weapon_suffix[weapon_type].suffix}"; + PLAYER_ACTION stand_action = m_PlayerActions[(int)PLAYER_ACTION_TYPE. ACT_FIGHTSTAND]; + szAct = EC_Utility.BuildActionName(stand_action, 0); + BMLogger.LogError("HoangDev: PlayAttackAction: " + szAct); + EventBus.PublishChannel(m_PlayerInfo.cid, new QueueActionEvent(szAct)); - QueueNonSkillActionWithName(ACT_FIGHTSTAND, szAct, 300, false, bHideFX, true); + /* QueueNonSkillActionWithName(ACT_FIGHTSTAND, szAct, 300, false, bHideFX, true); - if (pRightHandWeapon != null && IsUsingMagicWeapon()) - pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 300, iAction, false, false, bHideFX, true); + if (pRightHandWeapon != null && IsUsingMagicWeapon()) + pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 300, iAction, false, false, bHideFX, true);*/ // ============================== // Điều chỉnh tốc độ phát animation theo tốc độ tấn công // ============================== - if (nAttackSpeed > 0) + /* if (nAttackSpeed > 0) { float vScale = (nTime1 + nTime2) / (float)nAttackSpeed; if (vScale > 0f) @@ -525,19 +534,25 @@ public abstract class EC_Player : CECObject } } - attackTime = nTime1 + nTime2; + attackTime = nTime1 + nTime2;*/ // ============================== // Cập nhật vị trí weapon hanger (vũ khí) // ============================== - UpdateWeaponHangerPosByAction(iAction); + //UpdateWeaponHangerPosByAction(iAction); return true; } + public bool m_bShowWeapon; + public void ShowWeaponByConfig(PLAYER_ACTION_INFO_CONFIG p) + { + m_bShowWeapon = p.hide_weapon!= 0 ? false : true; + //ShowWeapon(m_bShowWeapon); + } public int GetShowingWeaponType() { int weapon_type = 0; - if (CanShowFashionWeapon(m_uAttackType, m_iFashionWeaponType) && m_aEquips[EQUIPIVTR_FASHION_WEAPON] != 0) + if (CanShowFashionWeapon((int)m_uAttackType, m_iFashionWeaponType) && m_aEquips[(int)IndexOfIteminEquipmentInventory.EQUIPIVTR_FASHION_WEAPON] != 0) { weapon_type = (m_iFashionWeaponType == DEFAULT_ACTION_TYPE || !IsWeaponAttached()) ? 10 : m_iFashionWeaponType; @@ -545,10 +560,16 @@ public abstract class EC_Player : CECObject else { weapon_type = (m_uAttackType == DEFAULT_ACTION_TYPE || !IsWeaponAttached()) ? - 10 : m_uAttackType; + 10 : (int)m_uAttackType; } return weapon_type; } + + public bool IsWeaponAttached() + { + return m_bWeaponAttached; + } + public bool InFashionMode() { return m_bFashionMode; } public bool CanShowFashionWeapon(int weapon_type, int fashion_weapon_type) { return IsFashionWeaponTypeFit(weapon_type, fashion_weapon_type) && InFashionMode(); @@ -571,21 +592,16 @@ public abstract class EC_Player : CECObject if (null == pFashionConfig) { elementdataman pDataMan = ElementDataManProvider.GetElementDataMan(); - DATA_TYPE DataType; - uint tid = pDataMan.get_first_data_id(ID_SPACE_CONFIG, DataType); + DATA_TYPE DataType = DATA_TYPE.DT_FASHION_WEAPON_CONFIG; + uint tid = pDataMan.get_id_with_data_type(ID_SPACE.ID_SPACE_CONFIG, DataType); - while (tid) + if (tid != 0) { - if (DataType == DT_FASHION_WEAPON_CONFIG) - { - pFashionConfig = (FASHION_WEAPON_CONFIG*)pDataMan->get_data_ptr(tid, ID_SPACE_CONFIG, DataType); - break; - } - tid = pDataMan->get_next_data_id(ID_SPACE_CONFIG, DataType); + pFashionConfig = (FASHION_WEAPON_CONFIG)pDataMan.get_data_ptr(tid, ID_SPACE.ID_SPACE_CONFIG, ref DataType); } } - return pFashionConfig; - }*/ + return pFashionConfig.Value; + } public float GetTouchRadius() { return m_fTouchRad; } // Is player in battle public bool IsInBattle() { return m_iBattleCamp != Player_camp_in_battle.GP_BATTLE_CAMP_NONE; } @@ -600,6 +616,8 @@ public abstract class EC_Player : CECObject return true; } + public const uint DEFAULT_ACTION_TYPE = 0xFFFFFFFF; + public static int GetWeaponType(int iWeaponType) { return iWeaponType == DEFAULT_ACTION_TYPE ? 10 : iWeaponType; } public bool IsInFactionPVP() => (m_factionPVPMask & 0x01) != 0; public bool CanAttackFactionPVPMineCar() => (m_factionPVPMask & 0x02) != 0; public bool CanAttackFactionPVPMineBase() => (m_factionPVPMask & 0x04) != 0; @@ -681,10 +699,9 @@ public abstract class EC_Player : CECObject // Get move environment public int GetMoveEnv() { return m_iMoveEnv; } public bool IsShapeChanged() { return m_iShape != 0; } - public int GetWeaponID() { return m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_WEAPON] & 0xffff; } + public int GetWeaponID() { return m_aEquips[(int)IndexOfIteminEquipmentInventory.EQUIPIVTR_WEAPON] & 0xffff; } public bool IsAllResReady() { return (m_dwResFlags & (uint)PlayerResourcesReadyFlag.RESFG_ALL) == (uint)PlayerResourcesReadyFlag.RESFG_ALL; } // Get character ID - public int GetCharacterID(){ return m_PlayerInfo.cid; } } public struct PlayActionEvent { @@ -694,6 +711,15 @@ public struct PlayActionEvent this.AnimationName = animationName; } } + +public struct QueueActionEvent +{ + public string AnimationName; + public QueueActionEvent(string animationName) + { + this.AnimationName = animationName; + } +} [Serializable] public struct INFO { diff --git a/Assets/PerfectWorld/Scripts/Move/EC_Player.cs b/Assets/PerfectWorld/Scripts/Move/EC_Player.cs deleted file mode 100644 index 2be7becb44..0000000000 --- a/Assets/PerfectWorld/Scripts/Move/EC_Player.cs +++ /dev/null @@ -1,735 +0,0 @@ -using BrewMonster; -using CSNetwork.GPDataType; -using ModelRenderer.Scripts.GameData; -using PerfectWorld.Scripts.Managers; -using PerfectWorld.Scripts.Player; -using System; -using System.Collections.Generic; -using Unity.VisualScripting; -using UnityEngine; - -public abstract class EC_Player : CECObject -{ - private static PLAYER_ACTION[] _default_actions; - private static PLAYER_ACTION[] _turning_actions; - PLAYER_ACTION[] m_PlayerActions; - [SerializeField] internal INFO m_PlayerInfo; - protected GameObject m_pPlayerModel; - protected float rotationSpeed = 5; - internal int m_iMoveMode; // Player's move mode - internal int m_idSelTarget; - protected int m_iShape; // Ñ¡ÖÐÄ¿±êµÄID - uint m_dwStates; // Player's basic states - protected int[] m_aEquips; - protected ROLEEXTPROP m_ExtProps; // Extend properties - protected float m_fTouchRad = 0.3f; // Touch radius - protected int m_iBattleCamp = Player_camp_in_battle.GP_BATTLE_CAMP_NONE; // Battle this player belongs to - byte m_factionPVPMask; // pvp mask - protected uint m_dwResFlags; // pvp mask - protected ROLEBASICPROP m_BasicProps; - public int m_iMoveEnv = Move_environment.MOVEENV_GROUND; // Move environment - public bool m_bWalkRun; - public A3DAABB m_aabbServer; // Óë·þÎñÆ÷±£³ÖÒ»ÖµÄaabb£¬ ²»ÊÜËõ·ÅÓ°Ïì - - - const int NUM_WEAPON_TYPE = 15; - - - - protected void Awake() - { - m_PlayerActions = _default_actions; - m_iShape = 0; - m_aEquips = new int[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.SIZE_ALL_EQUIPIVTR]; - } - public void SetPlayerInfor(INFO playinfo) - { - m_PlayerInfo = playinfo; - } - public INFO GetPlayInfo() - { - return m_PlayerInfo; - } - - public static void InitStaticRes() - { - BuildActionList(); - } - - public bool IsDead() { return (m_dwStates & PlayerNPCState.GP_STATE_CORPSE) != 0; } - - public bool IsValidAction(int iIndex) { return (iIndex >= 0 && iIndex < (int)PLAYER_ACTION_TYPE.ACT_MAX) ? true : false; } -<<<<<<<< HEAD:Assets/PerfectWorld/Scripts/Move/CECPlayer.cs - public int GetCharacterID() { return m_PlayerInfo.cid; } - - -======== ->>>>>>>> origin/develop:Assets/PerfectWorld/Scripts/Move/EC_Player.cs - private static void BuildActionList() - { - if (_default_actions == null) - { - // thay cho hashtab trong C++ - Dictionary actionMap = - new Dictionary(100); - - Dictionary skillActionMap = - new Dictionary(100); - - elementdataman dataman = ElementDataManProvider.GetElementDataMan(); - PLAYER_ACTION_INFO_CONFIG data; - - int count = dataman.get_data_num(ID_SPACE.ID_SPACE_CONFIG); - - DATA_TYPE dt = default; - uint id = 0; - - for (int i = 0; i < count; ++i) - { - id = dataman.get_data_id(ID_SPACE.ID_SPACE_CONFIG, i, ref dt); - if (dt != DATA_TYPE.DT_PLAYER_ACTION_INFO_CONFIG) - continue; - - data = (PLAYER_ACTION_INFO_CONFIG)dataman.get_data_ptr(id, ID_SPACE.ID_SPACE_CONFIG, ref dt); - if (!string.IsNullOrEmpty(data.ActionName) && data.ActionName[0] != '0') - { - if (!actionMap.TryAdd(data.ActionName, data)) - { - - } - } - } - - CECStringTab actionNames = new CECStringTab(); - actionNames.Init("actions_player", false); - - _default_actions = new PLAYER_ACTION[(int)PLAYER_ACTION_TYPE.ACT_MAX]; - - for (int i = 0; i < _default_actions.Length; i++) - { - _default_actions[i].type = (PLAYER_ACTION_TYPE)i; - - string szName = actionNames.GetANSIString(i); - - if (!string.IsNullOrEmpty(szName)) - { - if (actionMap.TryGetValue(szName, out var it)) - { - _default_actions[i].data = it; - } - } - } - } - } - public bool PlayAction(int iAction, bool bRestart/* true */, int iTransTime/* 200 */, bool bQueue/* false */) - { - return PlayActionWithConfig(iAction, 0, bRestart, iTransTime, bQueue); - } - public bool PlayActionWithConfig(int iAction, int actionConfigID, bool bRestart/* =true */, int iTransTime/* =200 */, bool bQueue/* =false */) - { - if (iAction < 0 || iAction >= (int)PLAYER_ACTION_TYPE.ACT_MAX) - { - return false; - } - if (actionConfigID > 0) - { - DATA_TYPE dt = DATA_TYPE.DT_INVALID; - var p = ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)actionConfigID, ID_SPACE.ID_SPACE_CONFIG, ref dt); - if (dt == DATA_TYPE.DT_PLAYER_ACTION_INFO_CONFIG) - { - PLAYER_ACTION actionConfig; - actionConfig.type = (PLAYER_ACTION_TYPE)iAction; - actionConfig.data = (PLAYER_ACTION_INFO_CONFIG)p; - return PlayActionWithConfig(iAction, actionConfig, bRestart, iTransTime, bQueue); - } - else - { - - } - } - return PlayActionWithConfig(iAction, m_PlayerActions[iAction], bRestart, iTransTime, bQueue); - } - public bool PlayActionWithConfig(int iAction, in PLAYER_ACTION actionConfig, - bool bRestart = true, int iTransTime = 200, bool bQueue = false) - { - PLAYER_ACTION action = actionConfig; - - var szAct = EC_Utility.BuildActionName(action, 0); - EventBus.PublishChannel(m_PlayerInfo.cid, new PlayActionEvent(szAct)); - return true; - } - public static void Dispose() - { - _default_actions = null; - _turning_actions = null; - } - public struct PLAYER_ACTION - { - public PLAYER_ACTION_TYPE type; - public PLAYER_ACTION_INFO_CONFIG data; - }; - public INFO GetPlayerInfo() { return m_PlayerInfo; } - public enum PLAYER_ACTION_TYPE - { - // 0 - ACT_STAND = 0, // Đứng - ACT_FIGHTSTAND, // Đứng chiến đấu - ACT_WALK, // Đi bộ - ACT_RUN, // Chạy - ACT_JUMP_START, // Bắt đầu nhảy - - // 5 - ACT_JUMP_LOOP, // Nhảy trên không lặp lại - ACT_JUMP_LAND, // Nhảy tiếp đất - ACT_SWIM, // Bơi - ACT_HANGINWATER, // Lơ lửng trong nước - ACT_TAKEOFF, // Cất cánh (should be ACT_TAKEOFF_WING) - - // 10 - ACT_HANGINAIR, // Treo trên không (should be ACT_HANGINAIR_WING) - ACT_FLY, // Bay (should be ACT_FLY_WING) - ACT_FLYDOWN, // Bay xuống cao (should be ACT_FLYDOWN_WING_HIGH) - ACT_FLYDOWN_WING_LOW, // Bay xuống thấp (should be ACT_FLYDOWN_WING_LOW) - ACT_LANDON, // Hạ cánh (should be ACT_LAND_WING) - - // 15 - ACT_TAKEOFF_SWORD, // Kiếm bay - cất cánh - ACT_HANGINAIR_SWORD, // Kiếm bay - treo không trung - ACT_FLY_SWORD, // Kiếm bay - tiến tới - ACT_FLYDOWN_SWORD_HIGH, // Kiếm bay - rơi cao - ACT_FLYDOWN_SWORD_LOW, // Kiếm bay - rơi thấp - - // 20 - ACT_LANDON_SWORD, // Kiếm bay - hạ cánh - ACT_SITDOWN, // Ngồi - ACT_SITDOWN_LOOP, // Ngồi lặp lại - ACT_STANDUP, // Đứng dậy - ACT_WOUNDED, // Bị thương - - // 25 - ACT_GROUNDDIE, // Chết trên mặt đất - ACT_GROUNDDIE_LOOP, // Chết trên đất (loop) - ACT_WATERDIE, // Chết trong nước - ACT_WATERDIE_LOOP, // Chết trong nước (loop) - ACT_AIRDIE_ST, // Chết trên không (bắt đầu) - - // 30 - ACT_AIRDIE, // Chết trên không (loop rơi) - ACT_AIRDIE_ED, // Chết trên không (chạm đất) - ACT_AIRDIE_LAND_LOOP, // Chết rơi đất (loop) - ACT_REVIVE, // Hồi sinh - ACT_CUSTOMIZE, // Động tác tùy chỉnh - - // 35 - ACT_STRIKEBACK, // Bị đánh lùi - ACT_STRIKEDOWN, // Bị đánh ngã - ACT_STRIKEDOWN_LOOP, // Bị đánh ngã (loop) - ACT_STRIKEDOWN_STANDUP, // Bị đánh ngã rồi đứng dậy - ACT_PICKUP, // Nhặt đồ - - // 40 - ACT_PICKUP_LOOP, // Nhặt đồ (loop) - ACT_PICKUP_STANDUP, // Nhặt đồ đứng dậy - ACT_PICKUP_MATTER, // Nhặt vật thể - ACT_GAPE, // Há miệng - ACT_LOOKAROUND, // Nhìn quanh - - // 45 - ACT_PLAYWEAPON, // Vung vũ khí - ACT_EXP_WAVE, // Vẫy tay - ACT_EXP_NOD, // Gật đầu - ACT_EXP_SHAKEHEAD, // Lắc đầu - ACT_EXP_SHRUG, // Nhún vai - - // 50 - ACT_EXP_LAUGH, // Cười lớn - ACT_EXP_ANGRY, // Tức giận - ACT_EXP_STUN, // Choáng - ACT_EXP_DEPRESSED, // Buồn bã - ACT_EXP_KISSHAND, // Hôn tay - - // 55 - ACT_EXP_SHY, // Ngại ngùng - ACT_EXP_SALUTE, // Chào - ACT_EXP_SITDOWN, // Ngồi xuống - ACT_EXP_SITDOWN_LOOP, // Ngồi xuống (loop) - ACT_EXP_SITDOWN_STANDUP, // Ngồi xuống rồi đứng dậy - - // 60 - ACT_EXP_ASSAULT, // Tấn công - ACT_EXP_THINK, // Suy nghĩ - ACT_EXP_DEFIANCE, // Thách thức - ACT_EXP_VICTORY, // Chiến thắng - ACT_EXP_KISS, // Hôn - - // 65 - ACT_EXP_KISS_LOOP, // Hôn (loop) - ACT_EXP_KISS_END, // Kết thúc hôn - ACT_ATTACK_1, // Tấn công 1 - ACT_ATTACK_2, // Tấn công 2 - ACT_ATTACK_3, // Tấn công 3 - - // 70 - ACT_ATTACK_4, // Tấn công 4 - ACT_ATTACK_TOSS, // Ném vũ khí - ACT_TRICK_RUN, // Chiêu khi chạy - ACT_TRICK_JUMP, // Chiêu khi nhảy - ACT_FLY_GLIDE, // Lượn - - // 75 - ACT_FLY_GLIDE_SWORD, // Kiếm bay - lượn - ACT_EXP_FIGHT, // Tư thế chiến đấu - ACT_EXP_ATTACK1, // Tấn công diễn xuất 1 - ACT_EXP_ATTACK2, // Tấn công diễn xuất 2 - ACT_EXP_ATTACK3, // Tấn công diễn xuất 3 - - // 80 - ACT_EXP_ATTACK4, // Tấn công diễn xuất 4 - ACT_EXP_DEFENCE, // Phòng thủ - ACT_EXP_FALL, // Té ngã - ACT_EXP_FALLONGROUND, // Ngã xuống đất - ACT_EXP_LOOKAROUND, // Nhìn quanh - - // 85 - ACT_EXP_DANCE, // Nhảy múa - ACT_EXP_FASHIONWEAPON, // Động tác vũ khí thời trang - ACT_USEITEM, // Dùng item - ACT_USEITMELOOP, // Dùng item (loop) - ACT_TWO_KISS, // Hôn đôi - - // 90 - ACT_USING_TARGET_ITEM, // Dùng đạo cụ - ACT_SWIM_FOR_MOVESKILL, // Bơi trong lúc dùng skill di chuyển - - ACT_MAX, - ACT_CASTSKILL // Chỉ là placeholder cho skill actions - } - /* public void PlayAttackEffect(int idTarget, int idSkill, int skillLevel, int nDamage, - uint dwModifier, int nAttackSpeed, ref int piAttackTime*//* NULL *//*, int nSection = 0) - { - if (!IsAllResReady()) - return; - - if (idSkill == 0) - { - int idWeapon = IsShapeChanged() ? 0 : GetWeaponID(); - - int nTimeFly = 10; - if (idWeapon != 0) - { - // ¿´¿´ÊDz»ÊÇÔ¶³ÌÎäÆ÷ - DATA_TYPE dt = default; - WEAPON_ESSENCE? pWeapon = (WEAPON_ESSENCE)ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)idWeapon, ID_SPACE.ID_SPACE_ESSENCE, ref dt); - - if (dt == DATA_TYPE.DT_WEAPON_ESSENCE && pWeapon != null && pWeapon.Value.require_projectile != 0) - { - nTimeFly = 700; - - if (m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE] != 0) - idWeapon = m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE]; - } - } - - if (CECAttacksMan.Instance.FindAttackByAttacker(GetPlayerInfo().cid)) - { - // Unity animation làm hộ r - //ClearComActFlagAllRankNodes(true); - } - - // melee attack - CECAttackEvent pAttack = CECAttacksMan.Instance.AddMeleeAttack( - GetPlayerInfo().cid, idTarget, idWeapon, dwModifier, nDamage, nTimeFly); - - if (pAttack != null) - { - if (!IsDead() && (dwModifier & (uint)MOD.MOD_RETORT) == 0 - && (dwModifier & (uint)MOD.MOD_ATTACK_AURA) == 0 - && PlayAttackAction(nAttackSpeed, piAttackTime, pAttack.m_bSignaled) - && (dwModifier & (uint)MOD.MOD_BEAT_BACK) == 0) - { - } - else - { - pAttack.m_bSignaled = true; - } - } - } - else - { - if (skillLevel == 0) - { - if (m_pCurSkill) - skillLevel = m_pCurSkill->GetSkillLevel(); - else - skillLevel = 1; - } - - CECAttackEvent* pAttack = NULL; - - // first try to find if there is already a skill attack event in attackman - CECAttackerEvents attackerEvents = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->FindAttackByAttacker(GetPlayerInfo().cid); - if (attackerEvents) - { - if (CECAttackEvent * pAttack = attackerEvents.Find(idSkill, nSection)) - { - // Ãæ¹¥»÷µÄ·ÇµÚÒ»´ÎÉ˺¦ÏûÏ¢ - pAttack->AddTarget(idTarget, dwModifier, nDamage); - goto EXIT; - } - else - { - attackerEvents.Signal(); - } - } - if (GNET::ElementSkill::IsGoblinSkill(idSkill) && - GNET::ElementSkill::GetType(idSkill) == 2) - { - pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddSkillAttack( - GetPlayerInfo().cid, GetPlayerInfo().cid, idTarget, GetWeaponID(), idSkill, skillLevel, dwModifier, nDamage); - } - else - { - // begin a skill attack - pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddSkillAttack( - GetPlayerInfo().cid, m_idCurSkillTarget, idTarget, GetWeaponID(), idSkill, skillLevel, dwModifier, nDamage); - } - - if (pAttack) - { - pAttack->SetSkillSection(nSection); - if (!IsDead() && (dwModifier & CECAttackEvent::MOD_RETORT) == 0 - && (dwModifier & CECAttackEvent::MOD_ATTACK_AURA) == 0 - && PlaySkillAttackAction(idSkill, nAttackSpeed, NULL, nSection, &pAttack->m_bSignaled) - && (dwModifier & CECAttackEvent::MOD_BEAT_BACK) == 0) - { - } - else - { - pAttack->m_bSignaled = true; - } - } - - EXIT: - // For skill attacking, time is always set to 0 - if (piAttackTime) - *piAttackTime = 0; - } - } - public bool PlayAttackAction(int nAttackSpeed, out int attackTime, ref bool? pActFlag) - { - attackTime = 0; - - if (m_pPlayerModel == null) - return false; - - int nRand = UnityEngine.Random.Range(0, 4); - string szAct = string.Empty; - - int weapon_type = GetShowingWeaponType(); - - int nTime1, nTime2; - int iAction = ACT_ATTACK_1 + nRand; - PLAYER_ACTION action = m_PlayerActions[iAction]; - - if (action.data == null || string.IsNullOrEmpty(action.data.action_prefix)) - return false; - - ShowWeaponByConfig(action.data); - - var pRightHandWeapon = GetRightHandWeapon(); - bool bHideFX = !CECOptimize.Instance.GFX.CanShowAttack(GetCharacterID(), GetClassID()); - - // ============================== - // Ground Attack - // ============================== - if (GetMoveEnv() == MOVEENV_GROUND) - { - // “起” 动作(挥起) - szAct = $"{action.data.action_prefix}_{action.data.action_weapon_suffix[weapon_type].suffix}Æð"; - PlayNonSkillActionWithName(iAction, szAct, true, 200, bHideFX, ref pActFlag, COMACT_FLAG_MODE_ONCE_MULTIIGNOREGFX); - - if (pRightHandWeapon != null && IsUsingMagicWeapon()) - pRightHandWeapon.PlayActionByName(_GenWeaponActionName(szAct, m_iGender), 1.0f, true, 200, true, iAction, bHideFX); - - nTime1 = m_pPlayerModel.GetComActTimeSpanByName(szAct); - - // “收” 动作(挥下) - szAct = $"{action.data.action_prefix}_{action.data.action_weapon_suffix[weapon_type].suffix}Âä"; - QueueNonSkillActionWithName(iAction, szAct, 0, false, bHideFX); - - if (pRightHandWeapon != null && IsUsingMagicWeapon()) - pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 0, iAction, false, false, bHideFX); - - nTime2 = m_pPlayerModel.GetComActTimeSpanByName(szAct); - } - // ============================== - // Air Attack - // ============================== - else - { - string szActionMiddleName; - - if ((m_wingType == WINGTYPE_WING && IsFlying()) || - GetProfession() == PROF_ANGEL || - GetProfession() == PROF_ARCHOR || - GetProfession() == PROF_MONK || - GetProfession() == PROF_GHOST) - { - szActionMiddleName = "¿ÕÖгá°ò"; // tấn công trên không - } - else - { - szActionMiddleName = "¿ÕÖзɽ£"; // rơi xuống hoặc bay - } - - szAct = $"{action.data.action_prefix}_{szActionMiddleName}_{action.data.action_weapon_suffix[weapon_type].suffix}Æð"; - PlayNonSkillActionWithName(iAction, szAct, true, 200, bHideFX, ref pActFlag, COMACT_FLAG_MODE_ONCE_MULTIIGNOREGFX); - - if (pRightHandWeapon != null && IsUsingMagicWeapon()) - pRightHandWeapon.PlayActionByName(_GenWeaponActionName(szAct, m_iGender), 1.0f, true, 200, true, iAction, bHideFX); - - nTime1 = m_pPlayerModel.GetComActTimeSpanByName(szAct); - - szAct = $"{action.data.action_prefix}_{szActionMiddleName}_{action.data.action_weapon_suffix[weapon_type].suffix}Âä"; - QueueNonSkillActionWithName(iAction, szAct, 0, false, bHideFX); - - if (pRightHandWeapon != null && IsUsingMagicWeapon()) - pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 0, iAction, false, false, bHideFX); - - nTime2 = m_pPlayerModel.GetComActTimeSpanByName(szAct); - } - - // ============================== - // Kết thúc bằng FightStand - // ============================== - PLAYER_ACTION stand_action = m_PlayerActions[ACT_FIGHTSTAND]; - szAct = $"{stand_action.data.action_prefix}_{stand_action.data.action_weapon_suffix[weapon_type].suffix}"; - - QueueNonSkillActionWithName(ACT_FIGHTSTAND, szAct, 300, false, bHideFX, true); - - if (pRightHandWeapon != null && IsUsingMagicWeapon()) - pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 300, iAction, false, false, bHideFX, true); - - // ============================== - // Điều chỉnh tốc độ phát animation theo tốc độ tấn công - // ============================== - if (nAttackSpeed > 0) - { - float vScale = (nTime1 + nTime2) / (float)nAttackSpeed; - if (vScale > 0f) - { - m_pPlayerModel.SetPlaySpeed(vScale); - - if (pRightHandWeapon != null && IsUsingMagicWeapon()) - pRightHandWeapon.SetPlaySpeed(vScale); - } - } - - attackTime = nTime1 + nTime2; - - // ============================== - // Cập nhật vị trí weapon hanger (vũ khí) - // ============================== - UpdateWeaponHangerPosByAction(iAction); - - return true; - } - public int GetShowingWeaponType() - { - int weapon_type = 0; - if (CanShowFashionWeapon(m_uAttackType, m_iFashionWeaponType) && m_aEquips[EQUIPIVTR_FASHION_WEAPON] != 0) - { - weapon_type = (m_iFashionWeaponType == DEFAULT_ACTION_TYPE || !IsWeaponAttached()) ? - 10 : m_iFashionWeaponType; - } - else - { - weapon_type = (m_uAttackType == DEFAULT_ACTION_TYPE || !IsWeaponAttached()) ? - 10 : m_uAttackType; - } - return weapon_type; - } - public bool CanShowFashionWeapon(int weapon_type, int fashion_weapon_type) - { - return IsFashionWeaponTypeFit(weapon_type, fashion_weapon_type) && InFashionMode(); - } - public bool IsFashionWeaponTypeFit(int weapon_type, int fashion_weapon_type) - { - if (fashion_weapon_type < 0 || fashion_weapon_type >= NUM_WEAPON_TYPE) return false; - FASHION_WEAPON_CONFIG? pConfig = GetFashionConfig(); - if (null == pConfig) - { - BMLogger.LogError("CECPlayer::GetFashionConfig, Failed to load fashion weapon config"); - return false; - } - int fashion_weapon_mask = (int)pConfig.Value.action_mask[fashion_weapon_type]; - return (fashion_weapon_mask & (1 << GetWeaponType(weapon_type))) != 0; - } - public FASHION_WEAPON_CONFIG GetFashionConfig() - { - FASHION_WEAPON_CONFIG? pFashionConfig = null; - if (null == pFashionConfig) - { - elementdataman pDataMan = ElementDataManProvider.GetElementDataMan(); - DATA_TYPE DataType; - uint tid = pDataMan.get_first_data_id(ID_SPACE_CONFIG, DataType); - - while (tid) - { - if (DataType == DT_FASHION_WEAPON_CONFIG) - { - pFashionConfig = (FASHION_WEAPON_CONFIG*)pDataMan->get_data_ptr(tid, ID_SPACE_CONFIG, DataType); - break; - } - tid = pDataMan->get_next_data_id(ID_SPACE_CONFIG, DataType); - } - } - return pFashionConfig; - }*/ - public float GetTouchRadius() { return m_fTouchRad; } - // Is player in battle - public bool IsInBattle() { return m_iBattleCamp != Player_camp_in_battle.GP_BATTLE_CAMP_NONE; } - - // Check whether specified npc in a same battle camp - public bool InSameBattleCamp(CECNPC pNPC) - { - if (!pNPC || m_iBattleCamp == Player_camp_in_battle.GP_BATTLE_CAMP_NONE || - (m_iBattleCamp == Player_camp_in_battle.GP_BATTLE_CAMP_INVADER && !pNPC.IsInBattleInvaderCamp()) || - (m_iBattleCamp == Player_camp_in_battle.GP_BATTLE_CAMP_DEFENDER && !pNPC.IsInBattleDefenderCamp())) - return false; - - return true; - } - public bool IsInFactionPVP() => (m_factionPVPMask & 0x01) != 0; - public bool CanAttackFactionPVPMineCar() => (m_factionPVPMask & 0x02) != 0; - public bool CanAttackFactionPVPMineBase() => (m_factionPVPMask & 0x04) != 0; - - // Get basic properties - public ROLEBASICPROP GetBasicProps() { return m_BasicProps; } - - public int GetMoveStandAction(bool bMove, bool bFight = false) - { - int iMoveEnv = m_iMoveEnv; - //if (m_AttachMode != enumAttachNone) - //{ - // bFight = false; - // if (m_bHangerOn) - // iMoveEnv = MOVEENV_GROUND; - //} - - int iAction = (int)PLAYER_ACTION_TYPE.ACT_STAND; - - if (bMove) - { - // Play appropriate actions - if (iMoveEnv == (int)MoveEnvironment.MOVEENV_GROUND) - { - if (m_bWalkRun) - iAction = (int)PLAYER_ACTION_TYPE.ACT_RUN; - else - iAction = (int)PLAYER_ACTION_TYPE.ACT_WALK; - } - //else if (iMoveEnv == MOVEENV_AIR) - //{ - // //if (/*UsingWing()*/ m_wingType == WINGTYPE_WING) - // // iAction = ACT_FLY; - // //else - // // iAction = ACT_FLY_SWORD; - //} - //else if (iMoveEnv == MOVEENV_WATER) - //{ - // //if (CanCombineWithMoveForSkill()) - // //{ - // // iAction = ACT_SWIM_FOR_MOVESKILL; - // //} - // //else - // //{ - // // iAction = ACT_SWIM; - // //} - //} - } - else - { - // Play appropriate actions - if (iMoveEnv == (int)MoveEnvironment.MOVEENV_GROUND) - { - if (bFight) - iAction = (int)PLAYER_ACTION_TYPE.ACT_FIGHTSTAND; - else - iAction = (int)PLAYER_ACTION_TYPE.ACT_STAND; - } - //else if (iMoveEnv == MOVEENV_AIR) - //{ - // if (/*UsingWing()*/ m_wingType == WINGTYPE_WING) - // iAction = ACT_HANGINAIR; - // else - // iAction = ACT_HANGINAIR_SWORD; - //} - //else if (iMoveEnv == MOVEENV_WATER) - // iAction = ACT_HANGINWATER; - } - - return iAction; - } - - public float GetGroundSpeed() - { - // return m_bWalkRun ? g_pGame->GetConfigs()->GetHostRunSpeed() : m_ExtProps.mv.walk_speed; - return m_bWalkRun ? m_ExtProps.mv.run_speed : m_ExtProps.mv.walk_speed; - } - - // Get move environment - public int GetMoveEnv() { return m_iMoveEnv; } - public bool IsShapeChanged() { return m_iShape != 0; } - public int GetWeaponID() { return m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_WEAPON] & 0xffff; } - public bool IsAllResReady() { return (m_dwResFlags & (uint)PlayerResourcesReadyFlag.RESFG_ALL) == (uint)PlayerResourcesReadyFlag.RESFG_ALL; } - // Get character ID - public int GetCharacterID(){ return m_PlayerInfo.cid; } -} -public struct PlayActionEvent -{ - public string AnimationName; - public PlayActionEvent(string animationName) - { - this.AnimationName = animationName; - } -} -[Serializable] -public struct INFO -{ - public int cid; // Character ID - public int crc_c; // customized data crc - public int crc_e; // Equipment data crc - public INFO(int cid, int crc_c, int crc_) - { - this.cid = cid; - this.crc_c = crc_c; - this.crc_e = crc_; - } -} -public enum PlayerResourcesReadyFlag - -{ - RESFG_SKELETON = 0x01, - RESFG_SKIN = 0x02, - RESFG_CUSTOM = 0x04, - RESFG_ASSEMBLED = 0x08, - RESFG_ALL = 0x0f, -}; -public static class Duel_state // Duel state -{ - public const int DUEL_ST_NONE = 0, - DUEL_ST_PREPARE = 1, - DUEL_ST_INDUEL = 2, - DUEL_ST_STOPPING = 3; -} - -//// Move mode -//public static class Move_Mode -//{ -// public const int MOVE_STAND = 0, -// MOVE_MOVE = 1, // Normal move, walk, run, swim or fly -// MOVE_JUMP = 2, -// MOVE_FREEFALL = 3, -// MOVE_SLIDE = 4; -//} \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Move/EC_Player.cs.meta b/Assets/PerfectWorld/Scripts/Move/EC_Player.cs.meta deleted file mode 100644 index 165da5cb56..0000000000 --- a/Assets/PerfectWorld/Scripts/Move/EC_Player.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: be4a22babee7846459b0421234a44c99 \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs b/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs index 57599c37b2..76741ba3a6 100644 --- a/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs +++ b/Assets/PerfectWorld/Scripts/Network/EC_ManMessageMono.cs @@ -74,8 +74,8 @@ namespace BrewMonster if (!(pObject = EC_ManPlayer.GetPlayer(idObject))) return null; - if ((iAliveFlag == 1 && (pObject as EC_Player).IsDead()) || - (iAliveFlag == 2 && !(pObject as EC_Player).IsDead())) + if ((iAliveFlag == 1 && (pObject as CECPlayer).IsDead()) || + (iAliveFlag == 2 && !(pObject as CECPlayer).IsDead())) return null; } //else if (GPDataTypeHelper.ISMATTERID(idObject)) diff --git a/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs b/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs index dab799fc4a..00f87ae540 100644 --- a/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs +++ b/Assets/PerfectWorld/Scripts/PlayerState/PlayerIdleState.cs @@ -1,5 +1,5 @@ using UnityEngine; -using static EC_Player; +using static CECPlayer; public class PlayerIdleState : PlayerState { diff --git a/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs b/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs index e82e7f53a4..b46ef1e484 100644 --- a/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs +++ b/Assets/PerfectWorld/Scripts/PlayerState/PlayerMoveState.cs @@ -1,5 +1,5 @@ using UnityEngine; -using static EC_Player; +using static CECPlayer; public class PlayerMoveState : PlayerState { diff --git a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs index 58c64ecb0d..5d124ade08 100644 --- a/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs +++ b/Assets/PerfectWorld/Scripts/Players/EC_ElsePlayer.cs @@ -7,7 +7,7 @@ using UnityEngine; namespace PerfectWorld.Scripts.Player { - public class EC_ElsePlayer : EC_Player + public class EC_ElsePlayer : CECPlayer { A3DVECTOR3 m_vMoveDir; // Player's velocity A3DVECTOR3 m_vServerPos; // Player's real position on server diff --git a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs index 69e41729c5..195131274a 100644 --- a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs +++ b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs @@ -52,6 +52,12 @@ namespace BrewMonster.UI _usernameInputField.text = "test004"; _passwordInputField.text = "123456"; } + if (Input.GetKeyUp(KeyCode.Tab)) + { + _usernameInputField.text = "test002"; + _passwordInputField.text = "123456"; + OnLoginButtonClicked(); + } #endif } diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 1a6d6af783..862116220c 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -21,7 +21,7 @@ using UnityEngine.SceneManagement; using UnityEngine.UI; using Scene = UnityEngine.SceneManagement.Scene; -public class CECHostPlayer : EC_Player +public class CECHostPlayer : CECPlayer { [SerializeField] private TextMeshPro txtName; [SerializeField] private CharacterController controller; @@ -94,12 +94,12 @@ public class CECHostPlayer : EC_Player public void SetModelHostPlayer() { - m_pPlayerModel = NPCManager.Instance.GetModelPlayer(); + _pPlayerModel = NPCManager.Instance.GetModelPlayer(); Scene scene = SceneManager.GetSceneByName("WorldRender"); - SceneManager.MoveGameObjectToScene(m_pPlayerModel, scene); - m_pPlayerModel.transform.SetParent(parentModel); - m_pPlayerModel.transform.localPosition = Vector3.zero; - m_pPlayerModel.SetActive(true); + SceneManager.MoveGameObjectToScene(_pPlayerModel, scene); + _pPlayerModel.transform.SetParent(parentModel); + _pPlayerModel.transform.localPosition = Vector3.zero; + _pPlayerModel.SetActive(true); } private void Start() { @@ -374,8 +374,8 @@ public class CECHostPlayer : EC_Player { nTimeFly = 700; - if (m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE] != 0) - idWeapon = m_aEquips[(int)EC_IvtrType.IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE]; + if (m_aEquips[(int)IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE] != 0) + idWeapon = m_aEquips[(int)IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE]; } } @@ -466,13 +466,13 @@ public class CECHostPlayer : EC_Player } private void OnMsgHstHurtResult(ECMSG Msg) { - BMLogger.LogError("HoangDev : OnMsgHstHurtResult"); + /* BMLogger.LogError("HoangDev : OnMsgHstHurtResult"); int cmd = Convert.ToInt32(Msg.dwParam2); if (cmd == CommandID.BE_HURT) { cmd_be_hurt pCmd = (cmd_be_hurt)Msg.dwParam1; - /* if (pCmd.damage!=0) - Damaged(pCmd->damage);*/ + if (pCmd.damage != 0) + Damaged(pCmd->damage); } else if (cmd == CommandID.HURT_RESULT) { @@ -482,9 +482,9 @@ public class CECHostPlayer : EC_Player if (UnityGameSession.Instance.GameSession.ISPLAYERID(pCmd.target_id)) { - /*CECElsePlayer pTarget = m_pPlayerMan.GetElsePlayer(pCmd.target_id); + CECElsePlayer pTarget = m_pPlayerMan.GetElsePlayer(pCmd.target_id); if (pTarget) - pTarget->Damaged(pCmd->damage);*/ + pTarget->Damaged(pCmd->damage); } else if (UnityGameSession.Instance.GameSession.ISNPCID(pCmd.target_id)) { @@ -492,7 +492,7 @@ public class CECHostPlayer : EC_Player if (pTarget) pTarget.Damaged(pCmd.damage); } - } + }*/ } public void OnMsgHstPickupItem(in ECMSG Msg) { diff --git a/Assets/Scripts/EC_Utility.cs b/Assets/Scripts/EC_Utility.cs index d1ef9f4cfb..0d841fd6c7 100644 --- a/Assets/Scripts/EC_Utility.cs +++ b/Assets/Scripts/EC_Utility.cs @@ -4,7 +4,7 @@ using System; using System.Collections; using System.Runtime.InteropServices; using UnityEngine; -using static EC_Player; +using static CECPlayer; public static class EC_Utility { @@ -72,7 +72,7 @@ public static class EC_Utility { return Mathf.Sqrt(v.x * v.x + v.z * v.z); } - public static string BuildActionName(PLAYER_ACTION action, int weaponType) + public static string BuildActionName(PLAYER_ACTION action, int weaponType, string tail = "") { string prefix = action.data.ActionPrefix ?? string.Empty; string suffix = string.Empty; @@ -84,7 +84,7 @@ public static class EC_Utility suffix = action.data.action_weapon_suffix[weaponType].Suffix ?? string.Empty; } - return $"{prefix}_{suffix}"; + return $"{prefix}_{suffix}tail"; } // Build pvp mask diff --git a/Assets/Scripts/GameController.cs b/Assets/Scripts/GameController.cs index bdd3c803f6..1a1f7dcfe9 100644 --- a/Assets/Scripts/GameController.cs +++ b/Assets/Scripts/GameController.cs @@ -54,7 +54,7 @@ public class GameController : MonoBehaviour Debug.LogError("null prefab"); return; } - EC_Player.InitStaticRes(); + CECPlayer.InitStaticRes(); hostPlayer = Instantiate(characterPrefab, transform); hostPlayer.InitCharacter(info); cinemachineCamera.Follow = hostPlayer.transform; diff --git a/Assets/Scripts/InitializePlayer.cs b/Assets/Scripts/InitializePlayer.cs index 74f9de84a2..ad87a38c5f 100644 --- a/Assets/Scripts/InitializePlayer.cs +++ b/Assets/Scripts/InitializePlayer.cs @@ -5,11 +5,11 @@ public class InitializePlayer /*: IAutoInitialize*/ { public void Dispose() { - EC_Player.Dispose(); + CECPlayer.Dispose(); } public void Initialize() { - EC_Player.InitStaticRes(); + CECPlayer.InitStaticRes(); } } diff --git a/Assets/Scripts/PlayerVisual.cs b/Assets/Scripts/PlayerVisual.cs index 08fab98c64..e07cbdb387 100644 --- a/Assets/Scripts/PlayerVisual.cs +++ b/Assets/Scripts/PlayerVisual.cs @@ -1,5 +1,6 @@ -using Animancer; +using Animancer; using System; +using System.Collections.Generic; using UnityEngine; public class PlayerVisual : MonoBehaviour @@ -8,11 +9,12 @@ public class PlayerVisual : MonoBehaviour [SerializeField] private INFO _playerInfo; + private AnimancerState _currentState; + private readonly Queue _animationQueue = new Queue(); private void PlayActionEventHandler(PlayActionEvent @event) { - BrewMonster.BMLogger.Log("PlayActionEventHandler : "+@event.AnimationName); - namedAnimancer.TryPlay(@event.AnimationName); + _currentState = namedAnimancer.TryPlay(@event.AnimationName); } public void InitHostPlayerEventDoneHandler() @@ -23,7 +25,7 @@ public class PlayerVisual : MonoBehaviour BrewMonster.BMLogger.LogError("animancer == null"); return; } - var player = GetComponentInParent(); + var player = GetComponentInParent(); if(player == null) { BrewMonster.BMLogger.LogError("player == null"); @@ -31,7 +33,38 @@ public class PlayerVisual : MonoBehaviour } _playerInfo = player.GetPlayInfo(); EventBus.SubscribeChannel(_playerInfo.cid, PlayActionEventHandler); + EventBus.SubscribeChannel(_playerInfo.cid, QueueActionEventHandler); } + + private void QueueActionEventHandler(QueueActionEvent @event) + { + EnqueueAnimation(@event.AnimationName); + } + public void EnqueueAnimation(string animName) + { + _animationQueue.Enqueue(animName); + if (!namedAnimancer.IsPlaying()) + PlayNext(); + else + { + _currentState.Events.OnEnd = PlayNext; + } + } + + private void PlayNext() + { + if (_animationQueue.Count == 0) + { + return; + } + + string animName = _animationQueue.Dequeue(); + var state = namedAnimancer.TryPlay(animName); + + // Khi clip kết thúc thì gọi tiếp cái kế tiếp + state.Events.OnEnd = PlayNext; + } + private void OnDestroy() { EventBus.UnsubscribeAllInChannel(_playerInfo.cid); From 7bc5c65229765d74ab3a279fb009e0a25c616ad7 Mon Sep 17 00:00:00 2001 From: VDH Date: Mon, 13 Oct 2025 16:58:06 +0700 Subject: [PATCH 5/6] animation attack done --- .../Scripts/Managers/CECAttacksMan.cs | 18 ++ Assets/PerfectWorld/Scripts/Move/CECPlayer.cs | 190 ++++++++------- .../Scripts/Network/CSNetwork/GameSession.cs | 11 +- .../Scripts/UI/Login/LoginScreenUI.cs | 2 +- Assets/Scenes/NPCRender.unity | 5 + Assets/Scripts/CECHostPlayer.cs | 117 +-------- Assets/Scripts/EC_Utility.cs | 29 ++- Assets/Scripts/PlayerVisual.cs | 18 +- .../LiberationSans SDF - Fallback.asset | 226 +++++++++++++++++- 9 files changed, 384 insertions(+), 232 deletions(-) diff --git a/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs b/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs index 871ec70191..9467f0a310 100644 --- a/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs +++ b/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs @@ -8,6 +8,24 @@ public class CECAttacksMan : MonoSingleton { private readonly List m_AttackList = new List(); + + + private void Update() + { + for (int i = 0; i < m_AttackList.Count; i++) + { + var attack = m_AttackList[i]; + if (attack.m_bFinished) + { + m_AttackList.RemoveAt(i); + } + else + { + + } + } + } + public CECAttackerEvents FindAttackByAttacker(int idHost) { CECAttackerEvents result = new CECAttackerEvents(); diff --git a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs index 82af2e2e98..70ef68c201 100644 --- a/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs +++ b/Assets/PerfectWorld/Scripts/Move/CECPlayer.cs @@ -18,11 +18,14 @@ public abstract class CECPlayer : CECObject protected float rotationSpeed = 5; internal int m_iMoveMode; // Player's move mode internal int m_idSelTarget; - protected int m_iShape; // Ñ¡ÖÐÄ¿±êµÄID - uint m_dwStates; // Player's basic states + protected int m_iShape; // Ñ¡ÖÐÄ¿±êµÄID + protected uint m_dwStates; // Player's basic states + protected uint m_uAttackType; protected int[] m_aEquips; protected ROLEEXTPROP m_ExtProps; // Extend properties - protected float m_fTouchRad = 0.3f; // Touch radius + protected int m_iFashionWeaponType; + protected float m_fTouchRad = 0.3f; // Touch radius + protected bool m_bWeaponAttached; protected int m_iBattleCamp = Player_camp_in_battle.GP_BATTLE_CAMP_NONE; // Battle this player belongs to byte m_factionPVPMask; // pvp mask protected uint m_dwResFlags; // pvp mask @@ -33,7 +36,12 @@ public abstract class CECPlayer : CECObject public A3DAABB m_aabb = new A3DAABB(); // Player's aabb£¬ÓÃÓÚÏÔʾµÄaabb£¬ÊÜËõ·ÅÓ°Ïì public int m_iProfession; // Profession public float m_fScaleBySkill; - public int m_iGender; // Gender + public int m_iGender; // Gender + protected bool m_bFashionMode; + + protected int NUM_WEAPON_TYPE = 15; + + public MOVECONST m_MoveConst; // Const used when moving control public MOVECONST[] aMoveConsts = new MOVECONST[PROFESSION.NUM_PROFESSION * GENDER.NUM_GENDER] @@ -111,6 +119,10 @@ public abstract class CECPlayer : CECObject m_iShape = 0; m_aEquips = new int[(int)IndexOfIteminEquipmentInventory.SIZE_ALL_EQUIPIVTR]; } + public void SetUpPlayer() + { + m_dwResFlags = 0; + } public void SetPlayerInfor(INFO playinfo) { m_PlayerInfo = playinfo; @@ -382,8 +394,8 @@ public abstract class CECPlayer : CECObject public void PlayAttackEffect(int idTarget, int idSkill, int skillLevel, int nDamage, uint dwModifier, int nAttackSpeed, ref int piAttackTime/* NULL */, int nSection = 0) { - if (!IsAllResReady()) - return; + /* if (!IsAllResReady()) + return;*/ if (idSkill == 0) { @@ -419,7 +431,7 @@ public abstract class CECPlayer : CECObject { if (!IsDead() && (dwModifier & (uint)MOD.MOD_RETORT) == 0 && (dwModifier & (uint)MOD.MOD_ATTACK_AURA) == 0 - && PlayAttackAction(nAttackSpeed,out piAttackTime,ref pAttack.m_bSignaled) + && PlayAttackAction(nAttackSpeed, out piAttackTime, ref pAttack.m_bSignaled) && (dwModifier & (uint)MOD.MOD_BEAT_BACK) == 0) { } @@ -431,63 +443,63 @@ public abstract class CECPlayer : CECObject } else { - /* if (skillLevel == 0) - { - if (m_pCurSkill) - skillLevel = m_pCurSkill->GetSkillLevel(); - else - skillLevel = 1; - } + /* if (skillLevel == 0) + { + if (m_pCurSkill) + skillLevel = m_pCurSkill->GetSkillLevel(); + else + skillLevel = 1; + } - CECAttackEvent* pAttack = NULL; + CECAttackEvent* pAttack = NULL; - // first try to find if there is already a skill attack event in attackman - CECAttackerEvents attackerEvents = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->FindAttackByAttacker(GetPlayerInfo().cid); - if (attackerEvents) - { - if (CECAttackEvent * pAttack = attackerEvents.Find(idSkill, nSection)) - { - // Ãæ¹¥»÷µÄ·ÇµÚÒ»´ÎÉ˺¦ÏûÏ¢ - pAttack->AddTarget(idTarget, dwModifier, nDamage); - goto EXIT; - } - else - { - attackerEvents.Signal(); - } - } - if (GNET::ElementSkill::IsGoblinSkill(idSkill) && - GNET::ElementSkill::GetType(idSkill) == 2) - { - pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddSkillAttack( - GetPlayerInfo().cid, GetPlayerInfo().cid, idTarget, GetWeaponID(), idSkill, skillLevel, dwModifier, nDamage); - } - else - { - // begin a skill attack - pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddSkillAttack( - GetPlayerInfo().cid, m_idCurSkillTarget, idTarget, GetWeaponID(), idSkill, skillLevel, dwModifier, nDamage); - } + // first try to find if there is already a skill attack event in attackman + CECAttackerEvents attackerEvents = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->FindAttackByAttacker(GetPlayerInfo().cid); + if (attackerEvents) + { + if (CECAttackEvent * pAttack = attackerEvents.Find(idSkill, nSection)) + { + // Ãæ¹¥»÷µÄ·ÇµÚÒ»´ÎÉ˺¦ÏûÏ¢ + pAttack->AddTarget(idTarget, dwModifier, nDamage); + goto EXIT; + } + else + { + attackerEvents.Signal(); + } + } + if (GNET::ElementSkill::IsGoblinSkill(idSkill) && + GNET::ElementSkill::GetType(idSkill) == 2) + { + pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddSkillAttack( + GetPlayerInfo().cid, GetPlayerInfo().cid, idTarget, GetWeaponID(), idSkill, skillLevel, dwModifier, nDamage); + } + else + { + // begin a skill attack + pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddSkillAttack( + GetPlayerInfo().cid, m_idCurSkillTarget, idTarget, GetWeaponID(), idSkill, skillLevel, dwModifier, nDamage); + } - if (pAttack) - { - pAttack->SetSkillSection(nSection); - if (!IsDead() && (dwModifier & CECAttackEvent::MOD_RETORT) == 0 - && (dwModifier & CECAttackEvent::MOD_ATTACK_AURA) == 0 - && PlaySkillAttackAction(idSkill, nAttackSpeed, NULL, nSection, &pAttack->m_bSignaled) - && (dwModifier & CECAttackEvent::MOD_BEAT_BACK) == 0) - { - } - else - { - pAttack->m_bSignaled = true; - } - } + if (pAttack) + { + pAttack->SetSkillSection(nSection); + if (!IsDead() && (dwModifier & CECAttackEvent::MOD_RETORT) == 0 + && (dwModifier & CECAttackEvent::MOD_ATTACK_AURA) == 0 + && PlaySkillAttackAction(idSkill, nAttackSpeed, NULL, nSection, &pAttack->m_bSignaled) + && (dwModifier & CECAttackEvent::MOD_BEAT_BACK) == 0) + { + } + else + { + pAttack->m_bSignaled = true; + } + } - EXIT: - // For skill attacking, time is always set to 0 - if (piAttackTime) - *piAttackTime = 0;*/ + EXIT: + // For skill attacking, time is always set to 0 + if (piAttackTime) + *piAttackTime = 0;*/ } } public bool PlayAttackAction(int nAttackSpeed, out int attackTime, ref bool pActFlag) @@ -500,9 +512,9 @@ public abstract class CECPlayer : CECObject int nRand = UnityEngine.Random.Range(0, 4); string szAct = string.Empty; - int weapon_type = GetShowingWeaponType(); + //int weapon_type = GetShowingWeaponType(); - int nTime1 = 0 , nTime2 = 0; + int nTime1 = 0, nTime2 = 0; int iAction = (int)PLAYER_ACTION_TYPE.ACT_ATTACK_1 + nRand; PLAYER_ACTION action = m_PlayerActions[iAction]; @@ -511,8 +523,8 @@ public abstract class CECPlayer : CECObject ShowWeaponByConfig(action.data); - /* var pRightHandWeapon = GetRightHandWeapon(); - bool bHideFX = !CECOptimize.Instance.GFX.CanShowAttack(GetCharacterID(), GetClassID());*/ + /* var pRightHandWeapon = GetRightHandWeapon(); + bool bHideFX = !CECOptimize.Instance.GFX.CanShowAttack(GetCharacterID(), GetClassID());*/ // ============================== // Ground Attack @@ -521,26 +533,24 @@ public abstract class CECPlayer : CECObject { // “起” 动作(挥起) szAct = EC_Utility.BuildActionName(action, 0, "Æð"); - BMLogger.LogError("HoangDev: PlayAttackAction: " + szAct); EventBus.PublishChannel(m_PlayerInfo.cid, new PlayActionEvent(szAct)); szAct = EC_Utility.BuildActionName(action, 0, "Âä"); - BMLogger.LogError("HoangDev: PlayAttackAction: " + szAct); EventBus.PublishChannel(m_PlayerInfo.cid, new QueueActionEvent(szAct)); //PlayNonSkillActionWithName(iAction, szAct, true, 200, true, ref pActFlag, COMACT_FLAG_MODE_ONCE_MULTIIGNOREGFX); -/* - if (pRightHandWeapon != null && IsUsingMagicWeapon()) - pRightHandWeapon.PlayActionByName(_GenWeaponActionName(szAct, m_iGender), 1.0f, true, 200, true, iAction, bHideFX); + /* + if (pRightHandWeapon != null && IsUsingMagicWeapon()) + pRightHandWeapon.PlayActionByName(_GenWeaponActionName(szAct, m_iGender), 1.0f, true, 200, true, iAction, bHideFX); - nTime1 = _pPlayerModel.GetComActTimeSpanByName(szAct); + nTime1 = _pPlayerModel.GetComActTimeSpanByName(szAct); - // “收” 动作(挥下) - szAct = $"{action.data.action_prefix}_{action.data.action_weapon_suffix[weapon_type].suffix}Âä"; - QueueNonSkillActionWithName(iAction, szAct, 0, false, bHideFX); + // “收” 动作(挥下) + szAct = $"{action.data.action_prefix}_{action.data.action_weapon_suffix[weapon_type].suffix}Âä"; + QueueNonSkillActionWithName(iAction, szAct, 0, false, bHideFX); - if (pRightHandWeapon != null && IsUsingMagicWeapon()) - pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 0, iAction, false, false, bHideFX); + if (pRightHandWeapon != null && IsUsingMagicWeapon()) + pRightHandWeapon.QueueAction(_GenWeaponActionName(szAct, m_iGender), 0, iAction, false, false, bHideFX); - nTime2 = _pPlayerModel.GetComActTimeSpanByName(szAct);*/ + nTime2 = _pPlayerModel.GetComActTimeSpanByName(szAct);*/ } // ============================== // Air Attack @@ -582,9 +592,8 @@ public abstract class CECPlayer : CECObject // ============================== // Kết thúc bằng FightStand // ============================== - PLAYER_ACTION stand_action = m_PlayerActions[(int)PLAYER_ACTION_TYPE. ACT_FIGHTSTAND]; + PLAYER_ACTION stand_action = m_PlayerActions[(int)PLAYER_ACTION_TYPE.ACT_FIGHTSTAND]; szAct = EC_Utility.BuildActionName(stand_action, 0); - BMLogger.LogError("HoangDev: PlayAttackAction: " + szAct); EventBus.PublishChannel(m_PlayerInfo.cid, new QueueActionEvent(szAct)); /* QueueNonSkillActionWithName(ACT_FIGHTSTAND, szAct, 300, false, bHideFX, true); @@ -595,19 +604,19 @@ public abstract class CECPlayer : CECObject // ============================== // Điều chỉnh tốc độ phát animation theo tốc độ tấn công // ============================== - /* if (nAttackSpeed > 0) - { - float vScale = (nTime1 + nTime2) / (float)nAttackSpeed; - if (vScale > 0f) - { - m_pPlayerModel.SetPlaySpeed(vScale); + /* if (nAttackSpeed > 0) + { + float vScale = (nTime1 + nTime2) / (float)nAttackSpeed; + if (vScale > 0f) + { + m_pPlayerModel.SetPlaySpeed(vScale); - if (pRightHandWeapon != null && IsUsingMagicWeapon()) - pRightHandWeapon.SetPlaySpeed(vScale); - } - } + if (pRightHandWeapon != null && IsUsingMagicWeapon()) + pRightHandWeapon.SetPlaySpeed(vScale); + } + } - attackTime = nTime1 + nTime2;*/ + attackTime = nTime1 + nTime2;*/ // ============================== // Cập nhật vị trí weapon hanger (vũ khí) @@ -619,7 +628,7 @@ public abstract class CECPlayer : CECObject public bool m_bShowWeapon; public void ShowWeaponByConfig(PLAYER_ACTION_INFO_CONFIG p) { - m_bShowWeapon = p.hide_weapon!= 0 ? false : true; + m_bShowWeapon = p.hide_weapon != 0 ? false : true; //ShowWeapon(m_bShowWeapon); } public int GetShowingWeaponType() @@ -671,6 +680,7 @@ public abstract class CECPlayer : CECObject if (tid != 0) { pFashionConfig = (FASHION_WEAPON_CONFIG)pDataMan.get_data_ptr(tid, ID_SPACE.ID_SPACE_CONFIG, ref DataType); + BMLogger.LogError($"HoangDev : get_data_ptr {pFashionConfig.GetType()}"); } } return pFashionConfig.Value; diff --git a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs index 5ea91ffe58..147f6f09bc 100644 --- a/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs +++ b/Assets/PerfectWorld/Scripts/Network/CSNetwork/GameSession.cs @@ -319,7 +319,7 @@ namespace CSNetwork } var pCmdHeader = BitConverter.ToUInt16(byteArrHeader); //sss - _logger.Info($"### GameDataSend: CMDID {pCmdHeader}"); + BMLogger.LogError($"### GameDataSend: CMDID {pCmdHeader}"); int iHostID = _selectedRole.roleid; switch (pCmdHeader) { @@ -339,7 +339,6 @@ namespace CSNetwork case CommandID.PLAYER_INFO_00: case CommandID.SELF_INFO_1: // OnMsgPlayerInfo(-1, pDataBuf, pCmdHeader); - _logger.Info($"HoangDev : EC_MsgDef.MSG_PM_PLAYERINFO"); EC_ManMessage.PostMessage(EC_MsgDef.MSG_PM_PLAYERINFO, (int)MANAGER_INDEX.MAN_PLAYER, -1, pDataBuf, pCmdHeader, iHostID, _selectedRole); break; case CommandID.OBJECT_MOVE: @@ -352,7 +351,6 @@ namespace CSNetwork } else if (ISNPCID(idObjMove)) { - _logger.Info("HoangDev : NPC OBJECT_MOVE"); EC_ManMessage.PostMessage(EC_MsgDef.MSG_NM_NPCMOVE, (int)MANAGER_INDEX.MAN_NPC, 0, pDataBuf, pCmdHeader); } break; @@ -365,7 +363,6 @@ namespace CSNetwork } else if (ISNPCID(id1)) { - _logger.Info("HoangDev : NPC OBJECT_MOVE"); EC_ManMessage.PostMessage(EC_MsgDef.MSG_NM_NPCSTOPMOVE, (int)MANAGER_INDEX.MAN_NPC, 0, pDataBuf, pCmdHeader); } break; @@ -374,7 +371,6 @@ namespace CSNetwork case CommandID.OWN_IVTR_DETAIL_DATA: case CommandID.GET_OWN_MONEY: case CommandID.CHANGE_IVTR_SIZE: - _logger.Info($"HUNG INVENTORY2"); EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_IVTRINFO, (int)MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader, iHostID); break; case CommandID.EXG_IVTR_ITEM: @@ -385,7 +381,6 @@ namespace CSNetwork case CommandID.MOVE_EQUIP_ITEM: case CommandID.UNFREEZE_IVTR_SLOT: case CommandID.PLAYER_EQUIP_TRASHBOX_ITEM: - _logger.Info($"HUNG EQUIP ITEM: " + pCmdHeader); EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_ITEMOPERATION, (int)MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); break; case CommandID.MATTER_INFO_LIST: @@ -398,7 +393,6 @@ namespace CSNetwork EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_PICKUPITEM, (int)MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); break; case CommandID.HOST_CORRECT_POS: - _logger.Info($"HoangDev HOST_CORRECT_POSHOST_CORRECT_POSHOST_CORRECT_POS"); EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_CORRECTPOS, (int)MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader, iHostID); break; case CommandID.OWN_ITEM_INFO: @@ -409,7 +403,6 @@ namespace CSNetwork case CommandID.NPC_INFO_00: case CommandID.NPC_ENTER_WORLD: case CommandID.NPC_VISIBLE_TID_NOTIFY: - _logger.Info($"HoangDev :NPC_VISIBLE_TID_NOTIFY"); EC_ManMessage.PostMessage(EC_MsgDef.MSG_NM_NPCINFO, (int)MANAGER_INDEX.MAN_NPC, 0, pDataBuf, pCmdHeader, dwDataSize); break; case CommandID.TASK_DATA: @@ -429,11 +422,9 @@ namespace CSNetwork EC_ManMessage.PostMessage(EC_MsgDef.MSG_NM_NPCATKRESULT, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); break; case CommandID.HOST_ATTACKRESULT: - BMLogger.LogError("HoangDev : HOST_ATTACKRESULT"); EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_ATKRESULT, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); break; case CommandID.HOST_ATTACKED: - BMLogger.LogError("HoangDev : HOST_ATTACKED"); EC_ManMessage.PostMessage(EC_MsgDef.MSG_HST_ATTACKED, MANAGER_INDEX.MAN_PLAYER, 0, pDataBuf, pCmdHeader); break; diff --git a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs index 195131274a..36d0d24ca4 100644 --- a/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs +++ b/Assets/PerfectWorld/Scripts/UI/Login/LoginScreenUI.cs @@ -54,7 +54,7 @@ namespace BrewMonster.UI } if (Input.GetKeyUp(KeyCode.Tab)) { - _usernameInputField.text = "test002"; + _usernameInputField.text = "test005"; _passwordInputField.text = "123456"; OnLoginButtonClicked(); } diff --git a/Assets/Scenes/NPCRender.unity b/Assets/Scenes/NPCRender.unity index 0e9c05f0b5..6888671433 100644 --- a/Assets/Scenes/NPCRender.unity +++ b/Assets/Scenes/NPCRender.unity @@ -812,6 +812,11 @@ MonoBehaviour: - {fileID: 7400000, guid: 29895f3687b86a24ba1bff2318b1d817, type: 2} - {fileID: 7400000, guid: 9b5c3773d9888954c95132e25788ae54, type: 2} - {fileID: 7400000, guid: 5f21aa4feb9cf1e49b63d5e7b7d9ad58, type: 2} + - {fileID: 7400000, guid: 4c93f18fe5082524d8ccda024f7988ad, type: 2} + - {fileID: 7400000, guid: bc909de03ae7dcc4d824253bf652de1d, type: 2} + - {fileID: 7400000, guid: 211cf985d64485e4ca42f7d8d6509e87, type: 2} + - {fileID: 7400000, guid: caa9485da71a78b4da087ae69bf7120d, type: 2} + - {fileID: 7400000, guid: 233ca05b3510f614e8b2ea31731dc298, type: 2} --- !u!21 &19752687 Material: serializedVersion: 8 diff --git a/Assets/Scripts/CECHostPlayer.cs b/Assets/Scripts/CECHostPlayer.cs index 2047b6345b..90f39a6d4b 100644 --- a/Assets/Scripts/CECHostPlayer.cs +++ b/Assets/Scripts/CECHostPlayer.cs @@ -350,8 +350,9 @@ public class CECHostPlayer : CECPlayer } public void OnMsgHstAttackResult(ECMSG Msg) { - - cmd_host_attack_result pCmd = (cmd_host_attack_result)Msg.dwParam1; + BMLogger.LogError($"dwParam1 type = {Msg.dwParam1?.GetType()}"); + byte[] data = Msg.dwParam1 as byte[]; + cmd_host_attack_result pCmd = EC_Utility.ByteArrayToStructure(data); int iAttackTime = 0; PlayAttackEffect(pCmd.idTarget, 0, 0, pCmd.iDamage, (uint)pCmd.attack_flag, pCmd.attack_speed * 50, ref iAttackTime); @@ -365,117 +366,6 @@ public class CECHostPlayer : CECPlayer } } } - public void PlayAttackEffect(int idTarget, int idSkill, int skillLevel, int nDamage, - uint dwModifier, int nAttackSpeed, ref int piAttackTime/* NULL */, int nSection = 0) - { - /* if (!IsAllResReady()) - return; - - if (idSkill == 0) - { - int idWeapon = IsShapeChanged() ? 0 : GetWeaponID(); - - int nTimeFly = 10; - if (idWeapon != 0) - { - // ¿´¿´ÊDz»ÊÇÔ¶³ÌÎäÆ÷ - DATA_TYPE dt = default; - WEAPON_ESSENCE? pWeapon = (WEAPON_ESSENCE)ElementDataManProvider.GetElementDataMan().get_data_ptr((uint)idWeapon, ID_SPACE.ID_SPACE_ESSENCE, ref dt); - - if (dt == DATA_TYPE.DT_WEAPON_ESSENCE && pWeapon != null && pWeapon.Value.require_projectile != 0) - { - nTimeFly = 700; - - if (m_aEquips[(int)IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE] != 0) - idWeapon = m_aEquips[(int)IndexOfIteminEquipmentInventory.EQUIPIVTR_PROJECTILE]; - } - } - - if (g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->FindAttackByAttacker(GetPlayerInfo().cid)) - { - // signal early attack event - ClearComActFlagAllRankNodes(true); - } - - // melee attack - CECAttackEvent* pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddMeleeAttack( - GetPlayerInfo().cid, idTarget, idWeapon, dwModifier, nDamage, nTimeFly); - - if (pAttack) - { - if (!IsDead() && (dwModifier & CECAttackEvent::MOD_RETORT) == 0 - && (dwModifier & CECAttackEvent::MOD_ATTACK_AURA) == 0 - && PlayAttackAction(nAttackSpeed, piAttackTime, &pAttack->m_bSignaled) - && (dwModifier & CECAttackEvent::MOD_BEAT_BACK) == 0) - { - } - else - { - pAttack->m_bSignaled = true; - } - } - } - else - { - if (skillLevel == 0) - { - if (m_pCurSkill) - skillLevel = m_pCurSkill->GetSkillLevel(); - else - skillLevel = 1; - } - - CECAttackEvent* pAttack = NULL; - - // first try to find if there is already a skill attack event in attackman - CECAttackerEvents attackerEvents = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->FindAttackByAttacker(GetPlayerInfo().cid); - if (attackerEvents) - { - if (CECAttackEvent * pAttack = attackerEvents.Find(idSkill, nSection)) - { - // Ãæ¹¥»÷µÄ·ÇµÚÒ»´ÎÉ˺¦ÏûÏ¢ - pAttack->AddTarget(idTarget, dwModifier, nDamage); - goto EXIT; - } - else - { - attackerEvents.Signal(); - } - } - if (GNET::ElementSkill::IsGoblinSkill(idSkill) && - GNET::ElementSkill::GetType(idSkill) == 2) - { - pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddSkillAttack( - GetPlayerInfo().cid, GetPlayerInfo().cid, idTarget, GetWeaponID(), idSkill, skillLevel, dwModifier, nDamage); - } - else - { - // begin a skill attack - pAttack = g_pGame->GetGameRun()->GetWorld()->GetAttacksMan()->AddSkillAttack( - GetPlayerInfo().cid, m_idCurSkillTarget, idTarget, GetWeaponID(), idSkill, skillLevel, dwModifier, nDamage); - } - - if (pAttack) - { - pAttack->SetSkillSection(nSection); - if (!IsDead() && (dwModifier & CECAttackEvent::MOD_RETORT) == 0 - && (dwModifier & CECAttackEvent::MOD_ATTACK_AURA) == 0 - && PlaySkillAttackAction(idSkill, nAttackSpeed, NULL, nSection, &pAttack->m_bSignaled) - && (dwModifier & CECAttackEvent::MOD_BEAT_BACK) == 0) - { - } - else - { - pAttack->m_bSignaled = true; - } - } - - EXIT: - // For skill attacking, time is always set to 0 - if (piAttackTime) - *piAttackTime = 0; - }*/ - } private void OnMsgHstHurtResult(ECMSG Msg) { /* BMLogger.LogError("HoangDev : OnMsgHstHurtResult"); @@ -754,6 +644,7 @@ public class CECHostPlayer : CECPlayer if (txtName != null) txtName.text = roleName; transform.position = pos; SetModelHostPlayer(); + m_dwResFlags = (uint)PlayerResourcesReadyFlag.RESFG_ALL; Debug.LogError("Pos Character = " + pos); joystick = FindAnyObjectByType(); EventBus.Subscribe(JoystickRelease); diff --git a/Assets/Scripts/EC_Utility.cs b/Assets/Scripts/EC_Utility.cs index 0d841fd6c7..b6f2e32cdb 100644 --- a/Assets/Scripts/EC_Utility.cs +++ b/Assets/Scripts/EC_Utility.cs @@ -3,6 +3,7 @@ using CSNetwork.GPDataType; using System; using System.Collections; using System.Runtime.InteropServices; +using System.Text; using UnityEngine; using static CECPlayer; @@ -32,16 +33,21 @@ public static class EC_Utility } } public static float FIX8TOFLOAT(int x) => x / 256.0f; - public static T ByteArrayToStructure(byte[] bytes) where T : struct + public static T ByteArrayToStructure(byte[] data) where T : struct { - GCHandle handle = GCHandle.Alloc(bytes, GCHandleType.Pinned); + int size = Marshal.SizeOf(typeof(T)); + if (data.Length < size) + throw new ArgumentException($"Data length {data.Length} < struct size {size}"); + + IntPtr ptr = Marshal.AllocHGlobal(size); try { - return Marshal.PtrToStructure(handle.AddrOfPinnedObject()); + Marshal.Copy(data, 0, ptr, size); + return Marshal.PtrToStructure(ptr); } finally { - handle.Free(); + Marshal.FreeHGlobal(ptr); } } public static Vector3 glb_DecompressDirH(byte byDir) @@ -72,6 +78,17 @@ public static class EC_Utility { return Mathf.Sqrt(v.x * v.x + v.z * v.z); } + public static string FixGBKString(string input) + { + // Giả sử input hiện đang là "Æð" + // B1: lấy bytes theo "Latin1" (mỗi ký tự 1 byte giữ nguyên giá trị gốc) + byte[] bytes = Encoding.GetEncoding("ISO-8859-1").GetBytes(input); + + // B2: giải mã lại bằng GBK (Code page 936) + string decoded = Encoding.GetEncoding(936).GetString(bytes); + + return decoded; + } public static string BuildActionName(PLAYER_ACTION action, int weaponType, string tail = "") { string prefix = action.data.ActionPrefix ?? string.Empty; @@ -83,8 +100,8 @@ public static class EC_Utility { suffix = action.data.action_weapon_suffix[weaponType].Suffix ?? string.Empty; } - - return $"{prefix}_{suffix}tail"; + var tailFixed = FixGBKString(tail); + return $"{prefix}_{suffix}{tailFixed}"; } // Build pvp mask diff --git a/Assets/Scripts/PlayerVisual.cs b/Assets/Scripts/PlayerVisual.cs index e07cbdb387..3b9d526de7 100644 --- a/Assets/Scripts/PlayerVisual.cs +++ b/Assets/Scripts/PlayerVisual.cs @@ -1,4 +1,5 @@ using Animancer; +using BrewMonster; using System; using System.Collections.Generic; using UnityEngine; @@ -9,12 +10,17 @@ public class PlayerVisual : MonoBehaviour [SerializeField] private INFO _playerInfo; - private AnimancerState _currentState; + + [SerializeField] private AnimancerState _currentState; private readonly Queue _animationQueue = new Queue(); private void PlayActionEventHandler(PlayActionEvent @event) { _currentState = namedAnimancer.TryPlay(@event.AnimationName); + if(_currentState == null) + { + BMLogger.LogError("HoangDev: PlayActionEventHandler Failed "); + } } public void InitHostPlayerEventDoneHandler() @@ -38,17 +44,23 @@ public class PlayerVisual : MonoBehaviour private void QueueActionEventHandler(QueueActionEvent @event) { - EnqueueAnimation(@event.AnimationName); + if(!EnqueueAnimation(@event.AnimationName)) + { + BMLogger.LogError("HoangDev : EnqueueAnimation Failed"); + } } - public void EnqueueAnimation(string animName) + public bool EnqueueAnimation(string animName) { + if (namedAnimancer == null) return false; _animationQueue.Enqueue(animName); if (!namedAnimancer.IsPlaying()) PlayNext(); else { + if (_currentState == null) return false; _currentState.Events.OnEnd = PlayNext; } + return true; } private void PlayNext() diff --git a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset index 815aa5a6be..ae105fd9ef 100644 --- a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset +++ b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset @@ -215,8 +215,160 @@ MonoBehaviour: m_SourceFontFilePath: m_AtlasPopulationMode: 1 InternalDynamicOS: 0 - m_GlyphTable: [] - m_CharacterTable: [] + m_GlyphTable: + - m_Index: 1731 + m_Metrics: + m_Width: 42 + m_Height: 75 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 10 + m_Y: 10 + m_Width: 42 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1705 + m_Metrics: + m_Width: 44 + m_Height: 67 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 66 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 10 + m_Y: 104 + m_Width: 44 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1685 + m_Metrics: + m_Width: 45 + m_Height: 75 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 74 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 71 + m_Y: 10 + m_Width: 45 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1727 + m_Metrics: + m_Width: 42 + m_Height: 70 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 69 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 10 + m_Y: 190 + m_Width: 42 + m_Height: 70 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1681 + m_Metrics: + m_Width: 46 + m_Height: 67 + m_HorizontalBearingX: 2 + m_HorizontalBearingY: 66 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 10 + m_Y: 279 + m_Width: 46 + m_Height: 67 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 210 + m_Metrics: + m_Width: 58 + m_Height: 59 + m_HorizontalBearingX: 0 + m_HorizontalBearingY: 59 + m_HorizontalAdvance: 62 + m_GlyphRect: + m_X: 71 + m_Y: 190 + m_Width: 58 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1675 + m_Metrics: + m_Width: 45 + m_Height: 59 + m_HorizontalBearingX: 3 + m_HorizontalBearingY: 46 + m_HorizontalAdvance: 48 + m_GlyphRect: + m_X: 73 + m_Y: 104 + m_Width: 45 + m_Height: 59 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + - m_Index: 1717 + m_Metrics: + m_Width: 9 + m_Height: 75 + m_HorizontalBearingX: 5 + m_HorizontalBearingY: 62 + m_HorizontalAdvance: 19 + m_GlyphRect: + m_X: 135 + m_Y: 10 + m_Width: 9 + m_Height: 75 + m_Scale: 1 + m_AtlasIndex: 0 + m_ClassDefinitionType: 0 + m_CharacterTable: + - m_ElementType: 1 + m_Unicode: 7897 + m_GlyphIndex: 1731 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7871 + m_GlyphIndex: 1705 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7851 + m_GlyphIndex: 1685 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7893 + m_GlyphIndex: 1727 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7847 + m_GlyphIndex: 1681 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 272 + m_GlyphIndex: 210 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7841 + m_GlyphIndex: 1675 + m_Scale: 1 + - m_ElementType: 1 + m_Unicode: 7883 + m_GlyphIndex: 1717 + m_Scale: 1 m_AtlasTextures: - {fileID: 28268798066460806} m_AtlasTextureIndex: 0 @@ -227,12 +379,68 @@ MonoBehaviour: m_AtlasHeight: 512 m_AtlasPadding: 9 m_AtlasRenderMode: 4169 - m_UsedGlyphRects: [] - m_FreeGlyphRects: + m_UsedGlyphRects: - m_X: 0 m_Y: 0 + m_Width: 61 + m_Height: 94 + - m_X: 0 + m_Y: 94 + m_Width: 63 + m_Height: 86 + - m_X: 61 + m_Y: 0 + m_Width: 64 + m_Height: 94 + - m_X: 0 + m_Y: 180 + m_Width: 61 + m_Height: 89 + - m_X: 0 + m_Y: 269 + m_Width: 65 + m_Height: 86 + - m_X: 61 + m_Y: 180 + m_Width: 77 + m_Height: 78 + - m_X: 63 + m_Y: 94 + m_Width: 64 + m_Height: 78 + - m_X: 125 + m_Y: 0 + m_Width: 28 + m_Height: 94 + m_FreeGlyphRects: + - m_X: 0 + m_Y: 355 m_Width: 511 + m_Height: 156 + - m_X: 65 + m_Y: 258 + m_Width: 446 + m_Height: 253 + - m_X: 61 + m_Y: 258 + m_Width: 450 + m_Height: 11 + - m_X: 63 + m_Y: 172 + m_Width: 448 + m_Height: 8 + - m_X: 138 + m_Y: 94 + m_Width: 373 + m_Height: 417 + - m_X: 153 + m_Y: 0 + m_Width: 358 m_Height: 511 + - m_X: 127 + m_Y: 94 + m_Width: 384 + m_Height: 86 m_FontFeatureTable: m_MultipleSubstitutionRecords: [] m_LigatureSubstitutionRecords: [] @@ -328,9 +536,9 @@ Texture2D: Hash: 00000000000000000000000000000000 m_IsAlphaChannelOptional: 0 serializedVersion: 3 - m_Width: 1 - m_Height: 1 - m_CompleteImageSize: 1 + m_Width: 512 + m_Height: 512 + m_CompleteImageSize: 262144 m_MipsStripped: 0 m_TextureFormat: 1 m_MipCount: 1 @@ -355,8 +563,8 @@ Texture2D: m_LightmapFormat: 0 m_ColorSpace: 0 m_PlatformBlob: - image data: 1 - _typelessdata: 00 + image data: 262144 + _typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313131313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000407090a131313131313130a0a08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020161613100b040000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c05000000000000000000040b1013161620202020202020171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2322201b160f0700000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c17100800000000000000070f161b2022232d2d2d2d2d2d2d2423201c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393939393939302f2c27211911070000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a1208000000000007111921272c2f303939393939393931302d28221a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464646463d3b38322b23190f040000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000040f19232b32383b3d464646464646463d3c39332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353535353534948443d352b21160b00000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000b16212b353d444849535353535353534a49443e362c22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055576060606060606056544f473d32271b10040000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c11040004101b27323d474f545660606060606060575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6360594f44382c20130700000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d211408000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c7079797979797979706b6054483b2f2216090000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a000916222f3b4854606b7079797979797979706c6155493c3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868686867d706356493d3023160a000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b000a1623303d495663707d868686868686867e7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9393939393897c706356493d3023160a0000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e11000a1623303d495663707c8993939393938a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f96897c706356493d3023160a000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3aca396897c706356493d3023160a00000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e11000a1623303d495663707c8996a3aca3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f96897c706356493d3023160a0000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e11000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1724313d4a5764707d8a9393939393897c706356493d3023160e0903000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a000a1623303d495663707c8993939393938a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c24313d4a5764707d868686868686867d706356493d30231e1a140e09020000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f221609000a1623303d495663707d868686868686867e7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f3c4955616c7079797979797979706b6054483b322d2a251f19140d0500000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000916222f3b4854606b7079797979797979706c6155493c3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045505a61646c6c6c6c6c6c6c6360594f47433c3a36312a251f170e0600000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b1004000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c606060606060605c5b5855534e4846423b3630292017110a02000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b000004101b27323d474f545660606060606060575550483e33281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5854534d46423b3228221c140b020000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f04000004101b27323d474f545660606060606060575550483e33281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615e57524d443f332d261d140b0200000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c27211911070000000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5650443f382f261d140a00000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f07000000000916222f3b4854606b7079797979797979706c6155493c3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625a504a42382f261c1106000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b0400000000000a1623303d495663707d868686868686867e7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b716c605b544a42382d22170d030000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e211508000000000000000a1623303d495663707c8993939393938a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99928e867e746c665b544a3f33281f150b0100000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e211508000000000000000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a39f98928b80786c665b50443d31271d120700000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3aca3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f928d81786c60594f43392f23180c00000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a49d938c80736b60554b4034291d12070000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59f93887d70675c5145392e23180c00000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49a9184796d60544b4034281c1004000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6aca0968c7f72665c5145382c1f13070000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9184796d6053463a2e23180c00000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1968a7d7164544b4034281c10040000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea89b8e8275665c5145382c1f130600000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f9286796d6053463a2d201307000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea298897c6f6356493c302316090000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b4aa998c7f7266594c3f33261907000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8175685b4e422e23180c000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9083776a554b4034281c100400000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facab9f928578675c5145382c1f13060000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabada29786796d6053463a2d201307000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e211408000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab3a994877b6e6154483b2e21150800000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f2215080000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2f2216090000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493c2f2316090000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9afa295887c6f6255493c2f2216090000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c00000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e6255483b2f22150800000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d3023160700000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab4aa94887b6e6155483b2e221508000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d20130700000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaaaea398877a6d6054473a2d211407000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facac9f928579675d5145392c2013060000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c100300000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e9184776b554b4135291d110400000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b0000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89c8f8275695c4f422f24180d0100000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b1a69a8d8073675a4d4034271a07000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7b1a7978a7d7164574a3e3124170b000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c02000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabaca095877a6e6154473b2e21140800000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adab9d908377685e5246392d201407000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c0300000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8afa4998c7f7366564d41362a1e110500000000000000000009141f29333b42464d53585f62666a6f717375777878797979787675726f6d66625f58524d48433d352b21160a0000000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facab9f93877b6e6155483b3025190e020000000000000000020e1a25303b454d525f60606060585f626467696a6b6b6c6c6c6b6a686663605c6060606056544f473d32271b0f0300000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea4998f8275695f53463a2d1f140800000000000000000005121e2a36424d575e6c6c6c6c6c6a615f575a5c5d5e5f5f5f5f5e5d5b565e61696c6c6c6c6360594f43382c1f130700000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba79f93877c6f62574d42362a1e0d020000000000000000000714202d3a46525e697679797979776e69615a514b51525353524a505960686d75797979796f6b6054483b2f22150900000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a9a0958d80746a5f53453b31261a0e000000000000000000000815212e3b4854616e7b86868686837b716c605c554d4546444c545b606b6f7a82868686867c6f6356493c3023160900000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a9a1979183796d60584e4333291f1409000000000000000000000714202d3a46525e6974808d949590857e746d675f5750454f565e666c737d848f94958f81776c605346392d20130600000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44505c666e7a8490959da5a79f99928e898583828181818385888d92989ea6a69f9791857c6e675d51463c3221170d030000000000000000000005121e2a36424d57606c78828f9598928a80796e69615a515960686e787f879196969083796d655b5044372b1f120500000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009152028343f4a545e686e7a838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a19e948f857c6f6a5f554b40342a200f060000000000000000000000020e1a25303b44505b666d798390979f928d837b706c605c606b707a828c92999891847b6e675d53493f33271b0f0300000000000000000000000a1623303d495663707c8996a3aca3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e38424c565e686e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918b827a6f6a5f574e43392f22180e0000000000000000000000000009141f28333f4a545d676e7b8592989d9590857e746d666d737d858f949f9a92867c6f695e554b41382d22170b0000000000000000000000000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e776e685f584e453c31281d100600000000000000000000000000020b17222d38424b555e696f7c86929f9f97928a80796f78808791979f9f93887e706a5f564d43392f261b11060000000000000000000000000a1623303d495663707c8993939393938a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e79716c655e564e463c332a1f160c00000000000000000000000000000006111c262f3a434d57606a717e8a929ca29f928d837c828d9399a19e938c7f726c61584e443b31271d140a000000000000000000000000000a1623303d495663707d868686868686867e7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a76716d66605b534c443c342a21180d04000000000000000000000000000000000a141d28313b454e58616c73808c939ea49d95908990949fa49f948e81746d635a50463c32291f150b02000000000000000000000000000916222f3b4854606b7079797979797979706c6155493c3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a242f3841474c4e4f54596063676d70727576787879797878777573706d6864605c545049413c342a22180f060000000000000000000000000000000000020b161f29333d46505a606c77818e959fa79f9d969c9fa6a0969082786d605b51483e342a20170d0300000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2b36414a52585a6060605f555d606366686a6b6c6c6c6c6b6a686663605d5660606055534e463c32261b0f030000000000000000000000000000000000070f161c212b343e44505b656d79839096a1aa9f9f9f9fa29791847a6d665c51493f362c22190e0500000000000000000000000000000004101b27323d474f545660606060606060575550483e33281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724303c47525c64676c6c6c6c66605b54595b5d5e5f5f5f5f5e5d5c565e61696c6c6c6c625f584e43372b1f13060000000000000000000000000000000007111921272c2f30333f49535d676e7a84919893939393939992857c6e685e544b40372e241a100700000000000000000000000000000000000b16212b353d444849535353535353534a49443e362c22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a26333f4c58646e7479797979726c665e57505052525353524a505960696e7679797979766a5f53473b2e211508000000000000000000000000000000050f19232b33383c3d4646414b555e686f7c8686868686868686867d706a5f564c42392e221c140b020000000000000000000000000000000000040f19232b32383b3d464646464646463d3c39332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a677480868686867f786e69615a514b4346444c545b606b707b83868686867c6f6255493c2f2216090000000000000000000000000000000b16212b353d4448495353534f4c565f6a6f797979797979797979706b60584e47433d332d261d140a000000000000000000000000000000000008131e28313a414547494949494949494745413a32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b849198928c827b706c605d554e444f565e666c737d859094948e81746a5f53473b2e211508000000000000000000000000000004101c27333d474f54566060605b5953585f626c6c6c6c6c6c6c6c6c6360595b56544e443f382f261c1106000000000000000000000000000000010d19242f3a434c51545656565656565654524c443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e696f7c869299948f857e746d675f58505960686d787f879297969082786d60584e43372b1f130600000000000000000000000000000713202c38444f5960636c6c6c68655d5353555f6060585f6266696b6c6c6a67626058504a42382d22170b04000000000000000000000000000004111d2935414c555d6062626262626262605d564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6a707d87929f97928a81796f6a605b626b6f7a828c93999891847a6d665c51463c32261b0f0300000000000000000000000000000916222f3c4854606b70797979756f65575354555d60656a6f737678797977746f6a605b544a3f332820150a00000000000000000000000000000613202c3945515d676d6f6f6f6f6f6f6f6d685d5245392c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454e58606b717e8b919c9e938e837c726c656d727d848f949f9992867c6e685e544b40342a20150a0000000000000000000000000000000a1623303d495663707d86868681756961606164676d71777c808385868584817c736c665b50443c32261b0f03000000000000000000000000000714212d3a4754606d7a7c7c7c7c7c7c7c7a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333c464f59616c737f8c939d9d9591867f776e757f8791969f9f92877d706a5f564c42392e22180e040000000000000000000000000000000714212e3a4754616d7a879692867b716e6d6e71757a7e83888c90929292908e8780786c60584e43372b1f1306000000000000000000000000000a1623303d495663707d898989898989897d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17212a343d47505a636d74818e949ea099928c827b828c9299a19d928b7f726b60584e443a30271d1006000000000000000000000000000000000713202d3946525e687784919891847e7a797a7d81858b9095999c9e9f9f9d9a938d80736a5f53473b2e211509000000000000000000000000000a1623303d495663707c8995959595958a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18222b353e48515b606d78828f959fa39f948f888f939fa39f948d80746d62594f463c32281e150b000000000000000000000000000000000005111e2a36414c566774808d9996918a8786878a8e92989d9f9c98949394969d9f93877c6f6255493c31261a0e020000000000000000000000000a1623303d495663707c8996a2a2a2978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019232d364044505c666d79839096a1a69f9c959b9ea5a0958f82786d605b51473d342a20160c030000000000000000000000000000000000010d1925303b4855626e7b87929f9e97949394979b9f9e9a938f8b8886878a90959a8e817467574d42362a1e12050000000000000000000000000a1623303d495663707c8996a3aca3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111b2428343f4a545d676e7a849197a29f9f9f9f9fa19791837a6d665c50493f352c22180e05000000000000000000000000000000000000000814212e3a47535f6a727f8c92989d9f9f9f9d9a97918d87827e7b797a7d839097918578695f53463a2d2114070000000000000000000000000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091217232e38424b555e686e7c85929893939393939992857b6e685d544a3f372d231a0f06000000000000000000000000000000000000000006121e2b37424e57626d727f868d90929292908d8985807b76716e6d6d707b859297887b6e6155483b2e2215080000000000000000000000000a1623303d495663707c8993939393938a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c263039434c565f6a6f7d8686868686868686867d6f695f564c42382e251b1108000000000000000000000000000000000000000000020e1a26313c45515b626d727b808385868583817d79736e69656160616974818686867d7064574a3d3124170a0000000000000000000000000a1623303d495663707d868686868686867e7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28313b444e57606b6f7979797979797979796f6b60574d433a30261c130900000000000000000000000000000000000000000000000915202a333f49515b62696e73777879787774706d66615f57555357646f74797979706c6155493c3023160a0000000000000000000000000916222f3b4854606b7079797979797979706c6155493c3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c161f29323c454f5960636c6c6c6c6c6c6c6c6c6360594f453b31281e150a010000000000000000000000000000000000000000000000030e18212d373f4951575f61676a6c6c6c6a6763605c54534d4846535d64676c6c6c64615a5044392d2014080000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d2014080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17202a333d474f54565f606060606060605f56544f473d332a1f160c0300000000000000000000000000000000000000000000000000060f1b252d373f454d53555a5d5f5f5f5d5a5653504a46423b414b53595b606060575550483e33281c100400000000000000000000000004101b27323d474f545660606060606060575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18212b353d4348495353535353535353534948443d352b21180d0400000000000000000000000000000000000000000000000000000009131b252d333c4247484d50525352504e4a46443f3836313841484c4e5353534a49443e362c22170b00000000000000000000000000000b16212b353d444849535353535353534a49443e362c22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f19232b32383b3c4646464646464646463c3b38322b23190f06000000000000000000000000000000000000000000000000000000000109131b212a31373a3b404445464544413d3a38342e2a262f363c40414646463d3c39332c231a10050000000000000000000000000000040f19232b32383b3d464646464646463d3c39332c231a100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f30393939393939393939302f2c272119110700000000000000000000000000000000000000000000000000000000000001090f181f262b2d2e34373939393734302d2c28231c1a252b30333439393931302d28221a11080000000000000000000000000000000007111921272c2f303939393939393931302d28221a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f22232c2d2d2d2d2d2d2d2c23221f1b160f07000000000000000000000000000000000000000000000000000000000000000000060e151a1e2122272a2c2c2c2a2723201f1c17110e1a202427282d2d2d2423201c171008000000000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2423201c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020201615130f0a04000000000000000000000000000000000000000000000000000000000000000000000003090e1214151a1d1f201f1d1b171312100c06080f14181a1b202020171614100b050000000000000000000000000000000000000000040b1013161620202020202020171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000307090913131313131313131309090703000000000000000000000000000000000000000000000000000000000000000000000000000000020608080d11121312110e0a07060300000003080b0e0e1313130a0a08040000000000000000000000000000000000000000000000000407090a131313131313130a0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212110f0d0b08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050a0f121515181b1d1e1f20201f1f1e1c1a181514120e090501000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151620202020202020181714110c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12151b1f21222528292b2c2c2c2c2b2b29272521201e1a14110d0802000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f22232d2d2d2d2d2d2d2423211d171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1e20262b2e2f323436383939393938373633312e2d2a25201d19130d080200000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f3939393939393931302d28221a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d13191f252a2d31373a3c3f41434445464645454442403e3b3a36302d29251e19130c0400000000000000000000000000000000000000000000000000000000000000040f19222b32383b3c464646464646463e3d39332c241a100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171e252a30363a3c4347484b4e50515253535252514f4d4b4846423b39353029241e160e070000000000000000000000000000000000000000000000000000000000000a16202b343d434749535353535353534b49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202930363b4246484e5355585b5c5e5f5f5f5f5e5e5c5a5854524d4746413a3530282019110901000000000000000000000000000000000000000000000000000000030f1b27323d464e545660606060606060575550483e33281d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227323a41464d5254585f626567696b6c6c6c6c6b6a696664615e5754524c46413a322b231b130900000000000000000000000000000000000000000000000000000006131f2b38434e5860626c6c6c6c6c6c6c64615a5045392d2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333e444c52575e61666a6f727476777879797878777573716e6966615e56524c443d352d251b130900000000000000000000000000000000000000000000000000000815222e3b4754606a6f79797979797979716c6155493d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f4450565e61696e73777b7e81838485868685858482807e7b77736d68615d564f473f372d251b1108000000000000000000000000000000000000000000000000000916232f3c4956626f7c868686868686867e7164574b3e3124180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f384149505a61686d747b8084888b8e8f919292929291918f8d8b87837f7a736d68605951493f372d231a0e040000000000000000000000000000000000000000000000000916232f3c4956626f7c8993939393938a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d384149535b606c717a81868d9196989a9c9e9f9f9f9f9e9d9c999795908c86807a706b625b51493f352c20160c0200000000000000000000000000000000000000000000000916232f3c4956626f7c89959f9f9f978a7e7164574b3e3124180b0000030506060505030100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535b656c737e858e92999ea0a8a9a19e9d9c9b9c9d9fa2aaa7a09d98928d847d726d625b51473e32281e130800000000000000000000000000000000000000000002050916232f3c4956626f7c8995a2aca4978a7e7164574b3e3124180b070c101213131211100e0b0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303944505b656c77808a92979fa3a8a19e999792908f8f8f909298999da0a7a29f9691877f726d62594f443a3024190d0200000000000000000000000000000000000003090e121416232f3c4956626f7c89959f9f9f978a7e7164574b3e3124181314191c1f1f201f1e1d1a171714110c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424f59606c77808d929fa2a9a39f96918c8885838282838385888c91959ea1a8a199938b7f726b61564c4135291f140900000000000000000000000000000000040a0f141a1e2122252f3c4956626f7c8993939393938a7e7164574b3e31241d202126292b2c2c2c2b29272423211c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606b737f8c929da4a9a299928c847f7b787675757677797b7f848b9297a0a7a49f93887d70685d52453b30251a0e020000000000000000000000000000070c161b1f262a2d2e31353c4956626f7c868686868686867e7164574b3e3124292c2d32363839393838363431302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c66707d87939fa4aba29792877f79726e696a696869666c6e72787e859095a0a8a49a91847a6d60574d42362a1e1105000000000000000000000000030b121821272c31363a3b3e41444754606a6f79797979797979716c6155493d302f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606d79849199a4aea39992857d726d67625f575c5c545b6062666c717b839095a0aaa1968e8174695e52463a2d2014070000000000000000000000040c151d232832383b4246484b4e50514e5860626c6c6c6c6c6c6c64615a504539313a4145474c4f5252535251504d4a49453e362c22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c66727f8c96a0aba89f92877d6f6b605c55534d4f4f4a5053545b60696e7a839198a3a39f92867b6e6154473b2e21140800000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e60606060606060575550483e353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919ea8aca1968c80736b6059514b474242423f44464a50575e686e7b86929a99928f8b8073665a4d4033271a0d000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5564717e8a96a1adaa9e9184796d60594f45403937312d3338393f444d565f6973808c8e8a86827f7b6e6155483b2e22150800000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775828f9ca8aea2988b7e71675d51473d342e2b2622282b2d333b444d57616d7a84817d7a76726e695f53463a2d2114070000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facac9f92857a6d60554b403528231d1a171c1f2228323c46525e686d7774706d6765615f574d42372b1e120500000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a99a3aea89b8e8175675d5143392f23181d1d1d1d1d17202a36414c565e616b6764605d5555534d453c31261a0e020000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aabb4aa978a7e7164554b4031272a2a2a2a2a2a2a2a2a25303a444c52545e5b5753514b4846423c332a1f140900000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9aea298887b6e6255483b2f373737373737373737373737323a414647514e4a4745403b3a373128231c140c0200000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d677885919eabac9f9285796c6053464444444444444444444444444444444444444444444444444444443a38342e261e140a00000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8696a1adaa9d908377665b505050505050505050505050505050505050505050505050505050505046443f3830261c110600000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a9b2a99c8f837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d53504a42382e23170b00000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afa89b8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a605c544a3f34281c100300000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a79b8e8177777777777777777777777777777777777777777777777777777777777777776d665c5044382b1f12060000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0ab9e92858383838383838383838383838383838383838383838383838383838383838383786d6053463a2d2013070000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0ada197929090909090909090909090909090909090909090909090909090909090909086796c605346392d2013060000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d928679655b5044372b1f12050000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9faaaaaaaaaa9f9285786c5f493f33271b0f030000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afb0a69f9c93939393939393939393939393939393939393939393939393a0a8b2ab9e9185786b5e52452d22170b000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895aab3ab9f948f8686868686868686868686868686868686868686868686868996a0acaa9d9083776a5d5044372a1d06000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8798a2aea99c8f8279797979797979797979797979797979797979797979797984919eaaa99c8f8276695c4f4336291c10030000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d687885929fabaa9d9084776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7986929faca79a8d8174675a4e4134271b0e010000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566a7683909da9ab9f928578695e606060606060606060606060606060606060626e7b8899a3afab988b7f7265584c3f3225190c0000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d192430414e5a6774818d9aabada297877b6e6154535353535353535353535353535353535764717d8a97abaea399897c706356493d3023160a00000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081724313e4a5764717e8a99a4afa9978b7e7164564d41464646464646464646464646434f596774818e9aa7ac9f92867a6d6053473a2d20140700000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939faca89b8e8175685e52463c313939393939393939313a4854606b7884919eaba99d908376675d5145392c1f1306000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6876838f9ca9ac9f92867b6e61584e433a322c292424292c323a434e58636f7c8996a1aca6998c7f7266554b4035291d10040000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5665717e8b97a1ada3998d80736a5f554c443d39352f2f35393d444c56606a75828f9ca8ab9f94887b6e6155483b2f24180c0000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7985919ea8ab9f92867c6f675e564f47454041414045474e565d686f7c87939faca69c8f8276695f53463a2d1d120700000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515c67727f8c96a0aba3989183796d68605953514b4e4e4b51535860686d7a84919aa4aa9f94897d7063574d42362a1e0b01000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55606d79849199a3aaa09590837a706b64605d555b5b555d60636a6f7a828f96a0aca3988f82766b6055453b31261a0e000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3945515c67707d87929fa4a79f9590847d75706d6769676869676d70757c848f949fa8a49f92867c6f62594f44332a1f140900000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2834404b55606b727f8c929da4a79f969189827d7a7675747475777a7d828991969fa6a49d928b7f726a5f53473d3321180e0300000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18232e39434f59636d74808d929fa2a8a09e948f8a86838281818283868a8f949ea0a8a29f928d80746d62584e43352c210f0600000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303d47515b606c77808a92979fa3a69e9c9992908f8e8e8f9092999c9ea6a49f98928b80776c605b51463c31231a0f000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2b353f44505b656c737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a19e9a938f867e746c655b50493f342a20110800000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c192327333f49535b606c717a81878d9196989b9c9e9f9f9f9f9e9c9b9897928d87827b716c605b53493f372d22180e000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071117222d384149505a61686e747b8084888b8e90919292929291908e8c8985817b756e69625a504941382d251b100600000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f4450565e61696e73787c7f818384858686858483817f7c79746e6a615e5750443f382f261b13090000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2d373f454a4c52575e61656c6f7274767878797978787675726f6d66625f58534d514c463d341d140a080000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343f49515658606060605b60626568696b6c6c6c6c6b69686562605c546060605f5d574f463b3024180c0000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a45515b62656c6c6c6c67605c555b5d5e5f5f5f5f5e5d5b595960636b6c6c6c6c6961574c4135281c1003000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d30231607000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313d4a56626d7279797979746d675f57505152535352514c535b606b6f787979797873695d5144382b1e12050000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8686868681796e69615a514b433f444e565e656c727d8486868685786c5f5245392c1f12060000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d79839097928d837b716c605d554e49505860686d777f879196928b7e7165584b3e3225180b0000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676e7b8591989590867e746d675f58535b606a6f7a828c9299938d80736c6256493d3024170b00000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555e696f7c86929a98928a81796f6a625d656c727c848f949f958f82786c605a5045392d21150600000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f39434d57606a717e88939f9f938e837c716c686d777f8791969e979083796d665b50483f312a2217110a02000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313b454e58616c737f8c939e9d9591867e75707a828c9299a19891857b6e675d54514c433c3428231c140c050000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f29333d46505a636d75818e959fa098928b817d848f949fa39a92867c6f696c68605d554e463e342e261e160e070000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17212b343e48515b606d79839096a1a29f938e8991969ea59f93887e77797979756d675f5850443f38302820191009000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19222c364045515c676d7a849198a2a59e9b969ea1a79e938c7f778386868682796e6a615a504a423a322b221b120a010000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242834404b555e686f7c869299a39f9f9f9fa89f958e8175707d8a94938f847c716c605c544c443d342d241c130a00000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081218232e39434c565f6a707d8792939393939393969083796d6b75828f999691867e736d665e564e463f362d251c110700000000000000000000010a121a212931363c4347484e5355585a5c5d5e5f5f5f5f5e5d5b595653514b47433c363029201a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303a444e58616b727f8686868686868686847a6d67626e7b87929f98928a80786d68605850483f372d23180d010000000000000000000000080f171f252a31373a3c4347484b4d4f51515253535251504e4c494645403937322a251f170e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e29323c464f59626d727979797979797979786d685e5f6973808d97a19f928d827a6f6a625a51493f352a1e1206000000000000000000000000050d141a20262b2e31373a3c3e40424445454646464543423f3c3a38342e2b26201a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202a343e47515b62656c6c6c6c6c6c6c6c6b615e5657606d7a85919ea49d948f847c716c635b51463a2e2216090000000000000000000000000003090e151a1f21262b2e2f31343637383839393938373533302d2c28231d1b150e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18222c353f4951565860606060606060605e54524c515d67717e8b959393939691867e726d63574a3e3125180c000000000000000000000000000000030a0f12151b1f21222527292a2b2c2c2c2c2b2a282623201f1c18120f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101a232d373f464a4c5353535353535353514746414b55606c778386868686868686867f7265594c3f3226190c000000000000000000000000000000000002060a0f121515181a1c1e1e1f20201f1e1d1b19161313100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b252d343a3e3f4646464646464646453a393a44505b656c767979797979797979726d63574a3e3125180c0000000000000000000000000000000000000000030608090b0d0f11121213131312100f0c090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d333f49535b606a6c6c6c6c6c6c6c6c65635b51463a2e221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2b21222d38414950535d6060606060606060595751493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020201e141b262f383f44465053535353535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313131313120a141d262d3337394346464646464646463f3e3a352d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060606060606060605020b141b22272b2d37393939393939393932312e2a231c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f202a2d2d2d2d2d2d2d2d2625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131d2020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305061013131313131313130c0c0906010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c09080603000000000000000000000000000000000000000000000000000000000000000002080c10121213131313131313131313131313131313131313131313121211100e0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181515120f0a050200000000000000000000000000000000000000000000000000000000060d13181c1e1f202020202020202020202020202020202020202020201f1e1e1d1a18161413100c0705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e0903000000000000000000000000000000000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272523201f1d1813110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e090200000000000000000000000000000000000000000000061019222930353839393939393939393939393939393939393939393939393938373634322f2d2c2924201e19130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2a251f19140d050000000000000000000000000000000000000000020d18222b343b4144454646464646464646464646464646464646464646464645454443413e3c3a39352f2d2a251e1b150f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4847433c3a36312a251f170e060000000000000000000000000000000000000008131f29343d464c515253535353535353535353535353535353535353535353525151504d4b494745403a3936302b27201b160d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423b3630292017110a0200000000000000000000000000000000000c1824303b464f575d5f6060606060606060606060606060606060606060605f5f5e5d5c5a585653514b4746413a37322c272118120c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5854534d46423b3228221c140b0200000000000000000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676562605d5554524c47433c383229241d160d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615e57524d443f332d261d140b02000000000000000000000000000005121e2b3844515d697378797979797979797979797979797979797979797979797878777674716f6d6765615e56544e48433d352f281f191108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5650443f382f261d140a000000000000000000000000000006121f2c3945525f6c78858686868686868686868686868686868686868686868685848483807e7c7a75716d68626058544e454039312b231a120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625a504a42382f261c11060000000000000000000000000006121f2c3945525f6c7885929393939393939393939393939393939393939399929291908f8d8b8986827e7a756f6a626058514b433d352c241b130a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b716c605b544a42382d22170d0300000000000000000000000006121f2c3945525f6c7885929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9a9898928f8b87827c766f6a605d554f473e362d251b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99928e867e746c665b544a3f33281f150b01000000000000000000000006121f2c3945525f6c7885929fabacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a7aaa9a7aaa39f9c99938e88827c746d67605950483f372d251b110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a39f98928b80786c665b50443d31271d1207000000000000000000000006121f2c3945525f6c7885929fabb8ada39c9998989898989898989898989898999a9b9d9fa2aaaaacaba49f9b948f8780796f6b615a51493f372d231a0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f928d81786c60594f43392f23180c000000000000000000000006121f2c3945525f6c7885929fabb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8e909298999da0a7acaca69f9a938d847d716c625b51493f352c21180b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a49d938c80736b60554b4034291d12070000000000000000000006121f2c3945525f6c7885929fabb2a5998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385888c90959b9fa4acaca49f9691877e726d625b51473e332a1d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59f93887d70675c5145392e23180c0000000000000000000006121f2c3945525f6c7885929fabada094877a7272727272727272727272727273737477797c7f83888f939a9fa7afa8a19992887f726d62594f463c2f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49a9184796d60544b4034281c100400000000000000000006121f2c3945525f6c7885929fabada094877a6d656565656565656565656565666768666c6f73777c828790959fa3ababa39a938c7f726b61584e42382d22170b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6aca0968c7f72665c5145382c1f130700000000000000000006121f2c3945525f6c7885929fabada094877a6d615858585858585858585858595a545b6062666a6f757c838c9299a3aaaca49f92877d706a5f544a3f33281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9184796d6053463a2e23180c00000000000000000006121f2c3945525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4c4d4a5053555860626a6f787f879298a2aaafa39992867c6e665b50443a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1968a7d7164544b4034281c1004000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f3f40403f4446484e54585f666d737e869298a2aeaba2989083786c60564c41362a1e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea89b8e8275665c5145382c1f1306000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a3232323232323232332d3338393c43474e545c606c707d86929fa4aeaa9f958b7e72685e52463a2f24190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f9286796d6053463a2d201307000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e252525252525252622282b2d32373c424a505a616b717e8a929da8b1a79f92857a6d61564c4135291b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea298897c6f6356493c30231609000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e2119191919191919171c1f20272b30383f445059616c73808d96a0acada2978d8074685d5245382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b4aa998c7f7266594c3f33261907000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0c060b0f12131b1e262e343e47505a606d7984919ea6b0a99f92857a6d6053493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8175685b4e422e23180c000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140700000000000003060a0c151c2328353e45515c66707d8a949fabaea2988c7f72655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9083776a554b4034281c10040000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e211407000000000000000000030a1117232834404b54616b76828f9ca8b2aa9e9184786c605346392d201308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facab9f928578675c5145382c1f13060000000000000003121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0c0c0c0c07060400061118232e39424f5964707d8a96a1acaca096887c6f6255493c3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabada29786796d6053463a2d2013070000000000040a0f131f2c3945525f6c7885929fabada094877a6d6154473a2e211919191919191919191413110d0807121d27303e4653606d7984919eabb2a8998c7f7366564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab3a994877b6e6154483b2e21150800000000060e151b1f212c3945525f6c7885929fabada094877a6d6154473a2e2626262626262626262621201d19130c0b151f2b3844505c6673808c99aab3a99d908376685d5245392c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22150800000006101820262b2e2f3945525f6c7885929fabada094877a6d6154473a33333333333333333333332d2c29241e160d101c28343f4a54636f7c8998a2aeac9f93867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2f2216090000040e18222a32373b3c3f45525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160b17232e3a4653606d7985929fabafa499897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493c2f23160900000a15202a343c4347494c4c525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281e13121f2c3844505c6676828f9ca9b5ab988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9afa295887c6f6255493c2f22160900030f1b26323c464e53555959595f6c7885929fabada094877a6d61595959595959595959595959595954524c433a2f2419101c28343f4a546774808d9aa7b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e6255483b2f2215080006131f2b37434e585f62666666666c7885929fabada094877a6d666666666666666666666666666666605d564c4135291d1117232e3f4b5865727e8b98a5b1a99c8f8276695c4f4336291c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab4aa94887b6e6155483b2e221508000815212e3b47535f6a6f72727272727885929fabada094877a727272727272727272727272727272726d685d5245392c20131723303d4a5663707d8996a3b0aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaaaea398877a6d6054473a2d211407000916222f3c4955626f7c7f7f7f7f7f7f86929facb3a6998c807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7a6d6054473a2d211416222f3c4955626f7c8895a2afaa9d9184776a5e5144372b1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facac9f928579675d5145392c201306000c1825323f4b5865727e8b8c8c8c8c8c9298a3aeb4a89c928c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e211515222f3b4855626e7b8895a1aeab9e9185786b5e5245382b1f120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e9184776b554b4135291d1104000c1825323f4b5865727e8b98999999999fa3aab4b9aea49c99999999999999999999999999999994877b6e6154483b2e211515212e3b4854616e7b8794a1aeac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89c8f8275695c4f422f24180d01000c1825323f4b5865727e8b98a5a5a5a5acaeb4bcbfb6aea8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e211514212e3b4754616e7a8794a1adac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b1a69a8d8073675a4d4034271a0700000c1825323f4b5865727e8b989f9f9f9fa0adb3bcbab0a8a3a09f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211515222e3b4855616e7b8894a1aeab9f9285786c5f5245392c1f12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7b1a7978a7d7164574a3e3124170b00000c1825323f4b5865727e8b939393939393a2a9b3b3a89e9794939393939393939393939393939393877b6e6154483b2e211515222f3c4855626f7b8895a2aeab9e9185786b5e5245382b1f12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabaca095877a6e6154473b2e21140800000c1825323f4b5865727e8686868686868997a2adafa3978c87868686868686868686868686868686867b6e6154483b2e21151623303d495663707c8996a3afaa9d9184776a5e5144372b1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adab9d908377685e5246392d20140700000b1824313d4a56626d7279797979797985929fabada094877a7979797979797979797979797979797976695e53463a2d21141825313e4b5864717e8b97a4b1a99c8f8276695c4f4336291c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8afa4998c7f7366564d41362a1e110500000915222e3a45515b62656c6c6c6c6c7885929fabada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e121b27333f49536673808c99a6b3a79a8e8174675b4e4134281b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facab9f93877b6e6155483b3025190e02000005111d29343f49515658606060606c7885929fabada094877a6d6160606060606060606060606060605f534d453b31251a121f2b3744505b6575828f9ca8b2a6998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea4998f8275695f53463a2d1f1408000000010c18232d373f454a4b5353535f6c7885929fabada094877a6d6154535353535353535353535353534846423b33291f1413202d394653606c7985929eabb2a8968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba79f93877c6f62574d42362a1e0d020000000006111b242d343a3d3f4646525f6c7885929fabada094877a6d6154474646464646464646464646463b3a3631292117101c28343f4a54626f7c8897a1adaca096877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a9a0958d80746a5f53453b31261a0e00000000000009121b23292e31323945525f6c7885929fabada094877a6d6154473a39393939393939393939392e2d2a251f170f18212b3844505c6673808c99a9b3aa9d918477685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a9a1979183796d60584e4333291f1409000000000000000911181d22242c3945525f6c7885929fabada094877a6d6154473a2e2d2d2d2d2d2d2d2d2d2d21211e1a140d162028343f4a54606d7884919eabb2a89a8d807367564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44505c666e7a8490959da5a79f99928e898583828181818385888d92989ea6a69f9791857c6e675d51463c3221170d030000000000000000060c11151f2c3945525f6c7885929fabada094877a6d6154473a2e212020202020202020201514120e0e171f28323a44505c66707d8a96a1acaca196897c6f6256493c3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009152028343f4a545e686e7a838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a19e948f857c6f6a5f554b40342a200f06000000000000000000000105121f2c3945525f6c7885929fabada094877a6d6154473a2e21141313131313131313080a0f141a2029313a444d57606d7883909da8b2a99e9184786c605346392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e38424c565e686e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918b827a6f6a5f574e43392f22180e00000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0d080d1114141b1f262a323b434c565f69727f8b95a0acada2978b7f72655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e776e685f584e453c31281d100600000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e211919191919191a191e2021272c31363e444d555d686e7b86929fa7b1a89f92857a6d6053493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e79716c655e564e463c332a1f160c0000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e2525252525262627252a2d2e32383b42464f565e676d7a839098a2aeaba0968c7f72675d5141382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a76716d66605b534c443c342a21180d040000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a3232323232323233343036393b3d44484d535961696e79829095a0aaafa4999184796d60554b412f261b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b353d4348494f54596063676d70727576787879797878777573706d6864605c545049413b332a22180f06000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f4040424146474a4f54575f616b707b8390949fa7b0a69f93877d70665c51433a2f1d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d474f545660606060555d606366686a6b6c6c6c6c6b6a686663605d566060605f524d453b30251a0e02000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4d4e4c525457596063696e757d8590959fa6b0a69e948c7f736b60544b4031281d0b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f5960636c6c6c6c69615e56595b5d5e5f5f5f5f5e5d5c575f616a6c6c6c6c6c5e574d42362a1e1205000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6158585858585858585859595a5b565e6163676b6f747b818a91979fa7aea69f948f82786c60594f42392e1f160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b6f79797979756d686059504a52525353524b515a61696e777979797976695e52463a2d201407000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d656565656565656565656566676869686e7074777c81878e939ea1a9ada49d948f82796d665b50473d30271d0d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c86868686827a6f6b605b544c4446454d555c606c717b83868686867b6e6154483b2e211508000000000000000000000000000006121f2c3945525f6c7885929fabada094877a72727272727272727272727273737576787a7d8084898e92999ea5ada9a19e928d82796d675c544a3f352b1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c77818f95948f847d736c665e564f4550575f676d747e859095948d8073695e52463a2d201407000000000000000000000000000006121f2c3945525f6c7885929fabb2a5998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385878a8d91969b9fa3abaca49f97928a80786d675d554b42382d23190c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b656d798390969691877f786e686059515a61696e79808a9298958f82786c60574d42362a1e150e060000000000000000000000000006121f2c3945525f6c7885929fabb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8c8c8d8e8f9197969a9ea0a8acaca49f9a938e857e736d665d554b43392f261c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535d676e7b84919899928c827a706b605c606c717b838d929f979083796d665b50453b302b2620180f0800000000000000000000000006121f2c3945525f6c7885929fabb8ada39c99989898989898989898989898999a9b9c9ea1a9a7aaa9a8a19e9a938e87817a716c605c544b433930271d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414b555e696f7c86929a9f948f857d736d666d747e8590959d9891857b6e675d545645403937312a211a1108000000000000000000000006121f2c3945525f6c7885929fabacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a8a9a8a6aba39f9d9996918d87827c746d68615a504a423931271e150b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f39434d57606a707e88939f9f97918780786f79808a9297a09f92867c6f696c6b6860514b47423c332b231a0e040000000000000000000006121f2c3945525f6c7885929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9e9c9b9a979992908c8984807b756f6a615e5650443f3830271f150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d27313b454e58616c727f8c939ea199938d827c838d929fa29c928a7e717879797872605d55534e453d352b20160c0200000000000000000006121f2c3945525f6c788592939393939393939393939393939393939398929291918f8e8d8b888683807c79736e69625f58524c443e342e261e150d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b151f29333c46505a636d74818e949fa49f94908990959da49e938c80737885868684786d67625f574f473d32281e130800000000000000000006121f2c3945525f6c788586868686868686868686868686868686868686868585848381807e7c7976736f6d66625f57534e46413a3228231c140c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17202b343e48515b606d78829096a0a69f9c969d9fa79f958e81776c78859292857d7a756e6a60594f443a3024190d01000000000000000005121e2b3844515d6973787979797979797979797979797979797979797979787877767573716f6d676663605c54534d47433c3530282017110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19222c364045515c666d7a849198a29f9f9f9faaa1969083796d6578859297928986817c706b60564c4135291d1105000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6968676462605c555653504a47423c373129251e160e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242834404b545e686e7c86929993939393939891847a6e676c78858c8f9298928e867d70685d5246392d2013070000000000000000000c1824303b464f575d5f606060606060606060606060606060606060605f5f5e5e5c5b5a585553514b4946443f3837312b262019130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081218232e39424c565f6a707d8686868686868686857c6f685e64717e7f8286929f9892857a6d6154473a2e21140700000000000000000008131f29343d464c51525353535353535353535353535353535353535353525251504e4d4b494745403c3a38342e2b261f1b150d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303a444e58606b707979797979797979796f6a6360616c7173757d8999a2978c7f7265594c3f3226190c000000000000000000020d18222b343b41444546464646464646464646464646464646464646464545444342403e3c3a38342f2d2b28231c1a150f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e28323c464f5960636c6c6c6c6c6c6c6c6c626b6f6d676867686c7986929f9b8e8275685b4f4235281c0f020000000000000000000610192229303538393939393939393939393939393939393939393939393838363534312f2d2c2923201f1c17110e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c16202a343d474f55565f60606060606060606a6f7c7976757474767e8a99a39b8e8275685b4f4235281c0f02000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c181312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18222c353d44484a5353535353535355626f7c8885838281818388939fa0978c7f7366594c403326190d000000000000000000000000060d13181c1e1f20202020202020202020202020202020202020201f1f1e1d1b1a18161413100c07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232c33383c3d4646464646464d5a6673808d92908e8d8e90939a9a9691857b6e6154473b2e2114080000000000000000000000000002080c1012121313131313131313131313131313131313131313121211100f0d0b0907060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21272c2f30393939393944515e6b77848a8e909192929292908e8a847c6f685e5246392d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f161c2023232c2d2d2d2e3b4854616e7b7e8183848586858583817d786f6a5f564d41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617202020212d3a46535e696e71747677787979787674706d665f584e443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a1313121e2a36424d575e6164676a6a6b6c6c6b6a6764605c544e463c32291f1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006020e1a25313b454d5354575b5d5e5f5f5f5f5d5b5753504a423c342a20170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484b4e505152535252504e4a46443f38302a22180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212931363a3b3e4143444546464543413d3a38342e261e18100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f171f252a2d2e31343737383939383734312d2b28231c140c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e212124282a2b2c2c2c2c2a2824201f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b171312100b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e101112131312100e0a0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d5345413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d474f5556606060585f626467696a6b6b6c6c6c6b6a686663605c54606060605f524c443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f5961636c6c6c6c69615d565c5d5e5f5f5f5f5e5d5b59575f616a6c6c6c6c6c5d564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b7079797979756d686058515152535352514b515a61696e777979797976685d5245392c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d86868686827a6f6a625b524c4446464e555d606c717b83868686867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d78828f95948f847c726d605d564e4550585f676d747e869095938c8073685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d798390979691877f756d686058515a626a6f79818a9298958e81776c60564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545d676e7b85929899928c827a6f6a625d606c717c838e939f969083796d655b50443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151d232e38424c555f696f7d86929f9f938f847c726d676d757e8690959d9891847a6e675d53493f32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171e272e343f464e5457606b717e8b929c9e9691877f757079818b9298a09992867c6f685e554b41382d20160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001071119212930394045505860626b6c6c73808d939ea199928c827c848e939fa29f93877e706a5f564c43392f261b0e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1218232b333b424b515a626a6f7879797979818e959fa39f938f8991969ea59d938c7f726c61584e443b31271d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d2429353d454d545c606c717c848686867f79839096a1a59e9b969ea0a89f948e81746d635a50463c32291f150b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f353f474f575e666d747e8691969184796e7b849198a29f9f9f9fa9a0968f82786d605b51473e342a20170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2831394045515960696e78818b9298958b7e71696f7c86929a93939393939791847a6d665c51493f352c22180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f39434b515b626b707b838e939f9a9083786c606a707e8786868686868686857b6e685e544a40372d231a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d606d727d8590959d9f93877c6f655b616c707979797979797979786e695f564c42392e251c110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676d757f8792979fa2978e81746a60535a61646c6c6c6c6c6c6c6c6c625f574d443a30271c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d79818c929993939392857a6d61584e50555760606060606060605f55534d453c32281e150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a778386868686868686867f72685e524644494a5353535353535353524847423c332a20160c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2936424f5b6671777979797979797979726d62564c41393c3d4646464646464646453b3a37312a21180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26333e4a555f666a6c6c6c6c6c6c6c6c65625b51443a3030313939393939393939392f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222d39434d555b5d6060606060606060595751493f322923242d2d2d2d2d2d2d2d2c22211e1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111c27313b434a4f5053535353535353534c4a463f372d20171720202020202020201f1514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151f2931393e424446464646464646463f3e3a352d251b0e0a131313131313131312080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d171f272d333637393939393939393932312e29231b13090006060606060606060600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151c2226292a2d2d2d2d2d2d2d2d2625221e18110901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b11161a1d1d2020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0e101113131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 m_StreamData: serializedVersion: 2 offset: 0 From 7b73223b558aa7a35135a7f479c83a40168feccc Mon Sep 17 00:00:00 2001 From: VDH Date: Mon, 13 Oct 2025 18:11:35 +0700 Subject: [PATCH 6/6] npc get animation wound and text damage --- .../Scripts/Managers/CECAttacksMan.cs | 154 ++++++++++-- .../Scripts/Managers/CECNPCMan.cs | 17 ++ .../Scripts/Managers/DamageTextManager.cs | 85 +++++++ .../Managers/DamageTextManager.cs.meta | 2 + Assets/PerfectWorld/Scripts/NPC/CECNPC.cs | 57 +++++ Assets/PerfectWorld/Scripts/NPC/NPCVisual.cs | 4 +- Assets/Scenes/NPCRender.unity | 197 ++++++++++++++- .../LiberationSans SDF - Fallback.asset | 226 +----------------- 8 files changed, 506 insertions(+), 236 deletions(-) create mode 100644 Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs create mode 100644 Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs.meta diff --git a/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs b/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs index 9467f0a310..153edaebc4 100644 --- a/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs +++ b/Assets/PerfectWorld/Scripts/Managers/CECAttacksMan.cs @@ -1,4 +1,7 @@ using BrewMonster; +using CSNetwork.GPDataType; +using System; +using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; @@ -6,23 +9,20 @@ using static CECAttacksMan; public class CECAttacksMan : MonoSingleton { - private readonly List m_AttackList = new List(); + private readonly LinkedList m_AttackLinkedList = new LinkedList(); private void Update() { - for (int i = 0; i < m_AttackList.Count; i++) + var node = m_AttackLinkedList.First; + while (node != null) { - var attack = m_AttackList[i]; - if (attack.m_bFinished) - { - m_AttackList.RemoveAt(i); - } - else - { - - } + var next = node.Next; + if (node.Value.m_bFinished) + m_AttackLinkedList.Remove(node); + else node.Value.Tick((uint)(Time.deltaTime * 1000)); + node = next; } } @@ -30,7 +30,7 @@ public class CECAttacksMan : MonoSingleton { CECAttackerEvents result = new CECAttackerEvents(); - foreach (var attack in m_AttackList) + foreach (var attack in m_AttackLinkedList) { if (attack.m_idHost == idHost) { @@ -56,10 +56,10 @@ public class CECAttacksMan : MonoSingleton 200, // timeToBeFired nTimeFly // timeToDoDamage ); - m_AttackList.Add(newEvent); + m_AttackLinkedList.AddLast(newEvent); newEvent.UpdateTargetFlag(); - return m_AttackList[m_AttackList.Count - 1]; + return m_AttackLinkedList.Last.Value; } public CECAttackEvent AddSkillAttack(int idHost, int idCastTarget, int idTarget, int idWeapon, int idSkill, int nSkillLevel, uint dwModifier, int nDamage) @@ -77,16 +77,16 @@ public class CECAttacksMan : MonoSingleton 200, // timeToBeFired 1000 // timeToDoDamage ); - m_AttackList.Add(newEvent); + m_AttackLinkedList.AddLast(newEvent); newEvent.UpdateTargetFlag(); - return m_AttackList[m_AttackList.Count - 1]; + return m_AttackLinkedList.Last.Value; } // === thêm tạm để code có thể compile === public void AddAttack(CECAttackEvent evt) { - m_AttackList.Add(evt); + m_AttackLinkedList.AddLast(evt); } public class TARGET_DATA { @@ -136,6 +136,126 @@ public class CECAttackEvent AddTarget(idTarget, dwModifier, nDamage); } + public bool Tick(uint dwDeltaTime) + { + m_timeLived += dwDeltaTime; + + if (!m_bSignaled) + { + if (m_timeLived > 3500) + { + // too long time, this event will be deleted now + m_bFinished = true; + //DoFire(); + DoDamage(); + } + + return true; + } + else + { + if (m_timeToBeFired != 0) + { + if (m_timeToBeFired <= dwDeltaTime) + { + m_timeToBeFired = 0; + + // Fire here + //DoFire(); + } + else + m_timeToBeFired -= dwDeltaTime; + } + else if (m_timeToDoDamage != 0) + { + if (m_timeToDoDamage <= dwDeltaTime) + { + m_timeToDoDamage = 0; + + // Do damage here + DoDamage(); + } + else + m_timeToDoDamage -= dwDeltaTime; + } + } + + return true; + } + + private bool DoDamage() + { + m_bDoDamaged = true; + m_bFinished = true; + + /* CECGameRun pGameRun = g_pGame-GetGameRun(); + int idHostPlayer = pGameRun->GetHostPlayer()->GetCharacterID();*/ + + // Get host name + /* ACString strHostName; + CECObject* pHostObject = pGameRun->GetWorld()->GetObject(m_idHost, 0); + if (pHostObject) + { + if (ISNPCID(m_idHost)) + strHostName = ((CECNPC*)pHostObject)->GetName(); + else if (ISPLAYERID(m_idHost)) + strHostName = GetPlayerName((CECPlayer*)pHostObject); + }*/ + + int nNumTargets = m_targets.Count; + for (int i = 0; i < nNumTargets; i++) + { + TARGET_DATA data = m_targets[i]; + int idTarget = data.idTarget; + string strName; + + if (GPDataTypeHelper.ISNPCID(idTarget)) + { + CECNPC pNPC = null; + if ((data.dwModifier & (uint)MOD.MOD_SUCCESS) != 0) + pNPC = EC_ManMessageMono.Instance._CECNPCMan.GetNPCFromAll(idTarget); + else + { + pNPC = EC_ManMessageMono.Instance._CECNPCMan.GetNPCFromAll(idTarget); + if (!pNPC) + return true; + + //strName = pNPC->GetNameToShow(); + } + + if (!pNPC) + return true; + + pNPC.Damaged(data.nDamage, data.dwModifier); + } + else if (GPDataTypeHelper.ISPLAYERID(idTarget)) + { + /* CECPlayer* pPlayer = pGameRun->GetWorld()->GetPlayerMan()->GetPlayer(idTarget); + if (!pPlayer) + return true; + + strName = GetPlayerName(pPlayer); + + pPlayer->Damaged(data.nDamage, data.dwModifier, m_idSkill);*/ + } + + /* if (data.nDamage > 0) + { + if (m_idHost == idHostPlayer) + { + if (!strName.IsEmpty()) + pGameRun->AddFixedChannelMsg(FIXMSG_DODAMAGE, GP_CHAT_DAMAGE, strName, data.nDamage); + } + else if (data.idTarget == idHostPlayer) + { + if (!strHostName.IsEmpty()) + pGameRun->AddFixedChannelMsg(FIXMSG_BEDAMAGED, GP_CHAT_DAMAGE, strHostName, data.nDamage); + } + }*/ + } + + return true; + } public bool AddTarget(int idTarget, uint dwModifier, int nDamage) { diff --git a/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs b/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs index 941257fdb8..d2ab1ac931 100644 --- a/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs +++ b/Assets/PerfectWorld/Scripts/Managers/CECNPCMan.cs @@ -6,6 +6,7 @@ using System; using System.Buffers.Binary; using System.Collections.Generic; using System.Runtime.InteropServices; +using Unity.VisualScripting; using UnityEngine; public class CECNPCMan : CECObject, IMsgHandler @@ -203,6 +204,22 @@ public class CECNPCMan : CECObject, IMsgHandler return npc; } + public CECNPC GetNPCFromAll(int nid) + { + CECNPC pNPC = GetNPC(nid); + if (pNPC) + return pNPC; + + // Search from disappear array ? + /*for (int i = 0; i < m_aDisappearNPCs.GetSize(); i++) + { + CECNPC* pNPC = m_aDisappearNPCs[i]; + if (pNPC->GetNPCID() == nid) + return pNPC; + }*/ + + return null; + } public CECNPC CreateNPC(info_npc Info, bool bBornInSight, ReadOnlySpan packet, int infoOffset) { CECNPC pNPC = null; diff --git a/Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs b/Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs new file mode 100644 index 0000000000..9e3b9ce9af --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs @@ -0,0 +1,85 @@ +using UnityEngine; +using System.Collections.Generic; +using TMPro; +using DG.Tweening; // cần DOTween + +public class DamageTextManager : MonoBehaviour +{ + public static DamageTextManager Instance { get; private set; } + + [Header("Prefab")] + [SerializeField] private TextMeshPro damageTextPrefab; + + [Header("Settings")] + [SerializeField] private int poolSize = 20; + [SerializeField] private Vector3 offset = new Vector3(0, 2f, 0); + [SerializeField] private float riseDistance = 1.5f; + [SerializeField] private float riseDuration = 0.8f; + + private readonly Queue pool = new(); + + private void Awake() + { + // Singleton + if (Instance != null && Instance != this) + { + Destroy(gameObject); + return; + } + Instance = this; + DontDestroyOnLoad(gameObject); + + // Tạo sẵn pool + for (int i = 0; i < poolSize; i++) + { + var textObj = Instantiate(damageTextPrefab, transform); + textObj.gameObject.SetActive(false); + pool.Enqueue(textObj); + } + } + + /// + /// Gọi để spawn text damage + /// + public void SpawnDamage(Vector3 worldPos, int damage, Color color, float scale = 1f) + { + var text = GetFromPool(); + text.text = damage.ToString(); + text.color = color; + text.fontSize = 6; + text.transform.localScale = Vector3.one * scale; + + Vector3 startPos = worldPos + offset; + text.transform.position = startPos; + text.gameObject.SetActive(true); + + // Hiệu ứng bay lên + mờ dần + text.transform.DOMoveY(startPos.y + riseDistance, riseDuration).SetEase(Ease.OutQuad); + text.DOFade(0f, riseDuration) + .SetEase(Ease.InQuad) + .OnComplete(() => + { + text.alpha = 1f; + text.gameObject.SetActive(false); + ReturnToPool(text); + }); + } + + private TextMeshPro GetFromPool() + { + if (pool.Count > 0) + { + return pool.Dequeue(); + } + + // Nếu hết pool, tạo thêm + var text = Instantiate(damageTextPrefab, transform); + text.gameObject.SetActive(false); + return text; + } + + private void ReturnToPool(TextMeshPro text) + { + pool.Enqueue(text); + } +} diff --git a/Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs.meta b/Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs.meta new file mode 100644 index 0000000000..e705cb5a3e --- /dev/null +++ b/Assets/PerfectWorld/Scripts/Managers/DamageTextManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e7981b037b60f4a4989ff59265a308ad \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs b/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs index 4ec062951a..fb3e92850b 100644 --- a/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs +++ b/Assets/PerfectWorld/Scripts/NPC/CECNPC.cs @@ -264,6 +264,63 @@ public class CECNPC : CECObject } } } + public void Damaged(int iDamage, uint dwModifier/* 0 */) + { + if (iDamage == -1 || iDamage == -2) + { + // when else player hit this npc iDamage is -1, + // so if iDamage is -1 we will shoud the wounded animation + if (iDamage == -1) + PlayModelAction((int)NPCActionIndex. ACT_WOUNDED); + DamageTextManager.Instance.SpawnDamage(transform.position, iDamage, Color.red, 1.0f); + + /*if ((dwModifier & (uint)MOD.MOD_IMMUNE) != 0 *//* && !IsImmuneDisable()*//*) + textma + else if (dwModifier & CECAttackEvent::MOD_NULLITY) + BubbleText(BUBBLE_INVALIDHIT, 0); + else if (dwModifier & CECAttackEvent::MOD_ENCHANT_FAILED) + BubbleText(BUBBLE_LOSE, 0); + else if (dwModifier & CECAttackEvent::MOD_SUCCESS) + BubbleText(BUBBLE_SUCCESS, 0); + else if (dwModifier & CECAttackEvent::MOD_DODGE_DEBUFF) + BubbleText(BUBBLE_DODGE_DEBUFF, 0);*/ + } + else + { + // this message is related to the host, so we should show a pop up message + // Popup a damage decal + /* bool bDeadlyStrike = (dwModifier & CECAttackEvent::MOD_CRITICAL_STRIKE) ? true : false; + bool bRetort = (dwModifier & CECAttackEvent::MOD_RETORT) ? true : false;*/ + + if (iDamage > 0) + { + PlayModelAction((int)NPCActionIndex.ACT_WOUNDED); + DamageTextManager.Instance.SpawnDamage(transform.position, iDamage, Color.red, 1.0f); + /* int p1 = 0; + if (bDeadlyStrike) + p1 |= 0x0001; + else if (bRetort) + p1 |= 0x0002;*/ + + /* if (dwModifier & CECAttackEvent::MOD_REBOUND) + BubbleText(BUBBLE_REBOUND, (DWORD)iDamage); + else if (dwModifier & CECAttackEvent::MOD_BEAT_BACK) + BubbleText(BUBBLE_BEAT_BACK, (DWORD)iDamage); + else + BubbleText(BUBBLE_DAMAGE, (DWORD)iDamage, p1);*/ + } + /* else if ((dwModifier & CECAttackEvent::MOD_IMMUNE) && !IsImmuneDisable()) + BubbleText(BUBBLE_IMMUNE, 0); + else if (dwModifier & CECAttackEvent::MOD_NULLITY) + BubbleText(BUBBLE_INVALIDHIT, 0); + else if (dwModifier & CECAttackEvent::MOD_ENCHANT_FAILED) + BubbleText(BUBBLE_LOSE, 0); + else if (dwModifier & CECAttackEvent::MOD_SUCCESS) + BubbleText(BUBBLE_SUCCESS, 0); + else + BubbleText(BUBBLE_HITMISSED, 0);*/ + } + } public void WorkFinished(int iWorkID) { diff --git a/Assets/PerfectWorld/Scripts/NPC/NPCVisual.cs b/Assets/PerfectWorld/Scripts/NPC/NPCVisual.cs index 61401dbabe..a1d89d59de 100644 --- a/Assets/PerfectWorld/Scripts/NPC/NPCVisual.cs +++ b/Assets/PerfectWorld/Scripts/NPC/NPCVisual.cs @@ -1,4 +1,5 @@ using Animancer; +using BrewMonster; using UnityEngine; public class NPCVisual : MonoBehaviour @@ -6,10 +7,11 @@ public class NPCVisual : MonoBehaviour [SerializeField] NamedAnimancerComponent namedAnimancer; public bool TryPlayAction(string animationName) { + BMLogger.LogError("HoangDev: TryPlayAction: " + animationName); if (namedAnimancer == null) return false; if (namedAnimancer.IsPlaying(animationName)) return false; - return namedAnimancer.TryPlay("慢速移动") == null; + return namedAnimancer.TryPlay(animationName) == null; } public void InitNPCEventDoneHandler() { diff --git a/Assets/Scenes/NPCRender.unity b/Assets/Scenes/NPCRender.unity index 6888671433..3b99004f1b 100644 --- a/Assets/Scenes/NPCRender.unity +++ b/Assets/Scenes/NPCRender.unity @@ -75386,6 +75386,182 @@ Mesh: offset: 0 size: 0 path: +--- !u!1 &927529342 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 927529343} + - component: {fileID: 927529345} + - component: {fileID: 927529344} + m_Layer: 0 + m_Name: DamageText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &927529343 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927529342} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1336646766} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 9000} + m_SizeDelta: {x: 20, y: 5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &927529344 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927529342} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 2 + m_fontSizeBase: 2 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 0 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + _SortingLayer: 0 + _SortingLayerID: 0 + _SortingOrder: 0 + m_hasFontAssetChanged: 0 + m_renderer: {fileID: 927529345} + m_maskType: 0 +--- !u!23 &927529345 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 927529342} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &928368405 GameObject: m_ObjectHideFlags: 0 @@ -104211,6 +104387,7 @@ GameObject: m_Component: - component: {fileID: 1336646766} - component: {fileID: 1336646767} + - component: {fileID: 1336646768} m_Layer: 0 m_Name: NPC Manager m_TagString: Untagged @@ -104230,7 +104407,8 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 927529343} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1336646767 @@ -104246,6 +104424,23 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: modelPlayerCharacter: {fileID: 960760103} +--- !u!114 &1336646768 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1336646764} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e7981b037b60f4a4989ff59265a308ad, type: 3} + m_Name: + m_EditorClassIdentifier: + damageTextPrefab: {fileID: 927529344} + poolSize: 20 + offset: {x: 0, y: 2, z: 0} + riseDistance: 1.5 + riseDuration: 0.8 --- !u!1 &1338403792 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset index ae105fd9ef..815aa5a6be 100644 --- a/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset +++ b/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset @@ -215,160 +215,8 @@ MonoBehaviour: m_SourceFontFilePath: m_AtlasPopulationMode: 1 InternalDynamicOS: 0 - m_GlyphTable: - - m_Index: 1731 - m_Metrics: - m_Width: 42 - m_Height: 75 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 10 - m_Width: 42 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1705 - m_Metrics: - m_Width: 44 - m_Height: 67 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 104 - m_Width: 44 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1685 - m_Metrics: - m_Width: 45 - m_Height: 75 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 74 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 71 - m_Y: 10 - m_Width: 45 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1727 - m_Metrics: - m_Width: 42 - m_Height: 70 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 69 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 190 - m_Width: 42 - m_Height: 70 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1681 - m_Metrics: - m_Width: 46 - m_Height: 67 - m_HorizontalBearingX: 2 - m_HorizontalBearingY: 66 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 10 - m_Y: 279 - m_Width: 46 - m_Height: 67 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 210 - m_Metrics: - m_Width: 58 - m_Height: 59 - m_HorizontalBearingX: 0 - m_HorizontalBearingY: 59 - m_HorizontalAdvance: 62 - m_GlyphRect: - m_X: 71 - m_Y: 190 - m_Width: 58 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1675 - m_Metrics: - m_Width: 45 - m_Height: 59 - m_HorizontalBearingX: 3 - m_HorizontalBearingY: 46 - m_HorizontalAdvance: 48 - m_GlyphRect: - m_X: 73 - m_Y: 104 - m_Width: 45 - m_Height: 59 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - - m_Index: 1717 - m_Metrics: - m_Width: 9 - m_Height: 75 - m_HorizontalBearingX: 5 - m_HorizontalBearingY: 62 - m_HorizontalAdvance: 19 - m_GlyphRect: - m_X: 135 - m_Y: 10 - m_Width: 9 - m_Height: 75 - m_Scale: 1 - m_AtlasIndex: 0 - m_ClassDefinitionType: 0 - m_CharacterTable: - - m_ElementType: 1 - m_Unicode: 7897 - m_GlyphIndex: 1731 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7871 - m_GlyphIndex: 1705 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7851 - m_GlyphIndex: 1685 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7893 - m_GlyphIndex: 1727 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7847 - m_GlyphIndex: 1681 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 272 - m_GlyphIndex: 210 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7841 - m_GlyphIndex: 1675 - m_Scale: 1 - - m_ElementType: 1 - m_Unicode: 7883 - m_GlyphIndex: 1717 - m_Scale: 1 + m_GlyphTable: [] + m_CharacterTable: [] m_AtlasTextures: - {fileID: 28268798066460806} m_AtlasTextureIndex: 0 @@ -379,68 +227,12 @@ MonoBehaviour: m_AtlasHeight: 512 m_AtlasPadding: 9 m_AtlasRenderMode: 4169 - m_UsedGlyphRects: - - m_X: 0 - m_Y: 0 - m_Width: 61 - m_Height: 94 - - m_X: 0 - m_Y: 94 - m_Width: 63 - m_Height: 86 - - m_X: 61 - m_Y: 0 - m_Width: 64 - m_Height: 94 - - m_X: 0 - m_Y: 180 - m_Width: 61 - m_Height: 89 - - m_X: 0 - m_Y: 269 - m_Width: 65 - m_Height: 86 - - m_X: 61 - m_Y: 180 - m_Width: 77 - m_Height: 78 - - m_X: 63 - m_Y: 94 - m_Width: 64 - m_Height: 78 - - m_X: 125 - m_Y: 0 - m_Width: 28 - m_Height: 94 + m_UsedGlyphRects: [] m_FreeGlyphRects: - m_X: 0 - m_Y: 355 - m_Width: 511 - m_Height: 156 - - m_X: 65 - m_Y: 258 - m_Width: 446 - m_Height: 253 - - m_X: 61 - m_Y: 258 - m_Width: 450 - m_Height: 11 - - m_X: 63 - m_Y: 172 - m_Width: 448 - m_Height: 8 - - m_X: 138 - m_Y: 94 - m_Width: 373 - m_Height: 417 - - m_X: 153 m_Y: 0 - m_Width: 358 + m_Width: 511 m_Height: 511 - - m_X: 127 - m_Y: 94 - m_Width: 384 - m_Height: 86 m_FontFeatureTable: m_MultipleSubstitutionRecords: [] m_LigatureSubstitutionRecords: [] @@ -536,9 +328,9 @@ Texture2D: Hash: 00000000000000000000000000000000 m_IsAlphaChannelOptional: 0 serializedVersion: 3 - m_Width: 512 - m_Height: 512 - m_CompleteImageSize: 262144 + m_Width: 1 + m_Height: 1 + m_CompleteImageSize: 1 m_MipsStripped: 0 m_TextureFormat: 1 m_MipCount: 1 @@ -563,8 +355,8 @@ Texture2D: m_LightmapFormat: 0 m_ColorSpace: 0 m_PlatformBlob: - image data: 262144 - _typelessdata: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004080a0a131313131313130a0907040000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000407090a131313131313130a0a08040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1014161720202020202020161613100b040000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c05000000000000000000040b1013161620202020202020171614100b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810171c2023242d2d2d2d2d2d2d2322201b160f0700000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c17100800000000000000070f161b2022232d2d2d2d2d2d2d2423201c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a22282d303139393939393939302f2c27211911070000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a1208000000000007111921272c2f303939393939393931302d28221a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005101a232c33393c3d464646464646463d3b38322b23190f040000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000040f19232b32383b3d464646464646463d3c39332c231a10050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222c363e44494a535353535353534948443d352b21160b00000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000b16212b353d444849535353535353534a49443e362c22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c28333e485055576060606060606056544f473d32271b10040000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c11040004101b27323d474f545660606060606060575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814202d3944505a61646c6c6c6c6c6c6c6360594f44382c20130700000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d211408000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303c4955616c7079797979797979706b6054483b2f2216090000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a000916222f3b4854606b7079797979797979706c6155493c3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d868686868686867d706356493d3023160a000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b000a1623303d495663707d868686868686867e7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a9393939393897c706356493d3023160a0000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e11000a1623303d495663707c8993939393938a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f96897c706356493d3023160a000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3aca396897c706356493d3023160a00000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e11000a1623303d495663707c8996a3aca3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a979f9f9f96897c706356493d3023160a0000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e11000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1724313d4a5764707d8a9393939393897c706356493d3023160e0903000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a000a1623303d495663707c8993939393938a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c24313d4a5764707d868686868686867d706356493d30231e1a140e09020000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f221609000a1623303d495663707d868686868686867e7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f3c4955616c7079797979797979706b6054483b322d2a251f19140d0500000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000916222f3b4854606b7079797979797979706c6155493c3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045505a61646c6c6c6c6c6c6c6360594f47433c3a36312a251f170e0600000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b1004000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c606060606060605c5b5855534e4846423b3630292017110a02000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b000004101b27323d474f545660606060606060575550483e33281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5854534d46423b3228221c140b020000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f04000004101b27323d474f545660606060606060575550483e33281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615e57524d443f332d261d140b0200000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c27211911070000000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d201408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5650443f382f261d140a00000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f07000000000916222f3b4854606b7079797979797979706c6155493c3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625a504a42382f261c1106000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b0400000000000a1623303d495663707d868686868686867e7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b716c605b544a42382d22170d030000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e211508000000000000000a1623303d495663707c8993939393938a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99928e867e746c665b544a3f33281f150b0100000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e211508000000000000000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a39f98928b80786c665b50443d31271d120700000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3aca3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f928d81786c60594f43392f23180c00000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a49d938c80736b60554b4034291d12070000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59f93887d70675c5145392e23180c00000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49a9184796d60544b4034281c1004000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6aca0968c7f72665c5145382c1f13070000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9184796d6053463a2e23180c00000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1968a7d7164544b4034281c10040000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea89b8e8275665c5145382c1f130600000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f9286796d6053463a2d201307000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea298897c6f6356493c302316090000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b4aa998c7f7266594c3f33261907000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8175685b4e422e23180c000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9083776a554b4034281c100400000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facab9f928578675c5145382c1f13060000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e211508000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabada29786796d6053463a2d201307000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e211408000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab3a994877b6e6154483b2e21150800000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f2215080000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2f2216090000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493c2f2316090000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9afa295887c6f6255493c2f2216090000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c00000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e6255483b2f22150800000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d3023160700000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab4aa94887b6e6155483b2e221508000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d20130700000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaaaea398877a6d6054473a2d211407000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facac9f928579675d5145392c2013060000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c100300000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e9184776b554b4135291d110400000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b0000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89c8f8275695c4f422f24180d0100000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b1a69a8d8073675a4d4034271a07000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7b1a7978a7d7164574a3e3124170b000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c02000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabaca095877a6e6154473b2e21140800000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adab9d908377685e5246392d201407000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c0300000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8afa4998c7f7366564d41362a1e110500000000000000000009141f29333b42464d53585f62666a6f717375777878797979787675726f6d66625f58524d48433d352b21160a0000000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facab9f93877b6e6155483b3025190e020000000000000000020e1a25303b454d525f60606060585f626467696a6b6b6c6c6c6b6a686663605c6060606056544f473d32271b0f0300000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea4998f8275695f53463a2d1f140800000000000000000005121e2a36424d575e6c6c6c6c6c6a615f575a5c5d5e5f5f5f5f5e5d5b565e61696c6c6c6c6360594f43382c1f130700000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba79f93877c6f62574d42362a1e0d020000000000000000000714202d3a46525e697679797979776e69615a514b51525353524a505960686d75797979796f6b6054483b2f22150900000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a9a0958d80746a5f53453b31261a0e000000000000000000000815212e3b4854616e7b86868686837b716c605c554d4546444c545b606b6f7a82868686867c6f6356493c3023160900000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a9a1979183796d60584e4333291f1409000000000000000000000714202d3a46525e6974808d949590857e746d675f5750454f565e666c737d848f94958f81776c605346392d20130600000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44505c666e7a8490959da5a79f99928e898583828181818385888d92989ea6a69f9791857c6e675d51463c3221170d030000000000000000000005121e2a36424d57606c78828f9598928a80796e69615a515960686e787f879196969083796d655b5044372b1f120500000000000000000000000a1623303d495663707c8996a3afa3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009152028343f4a545e686e7a838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a19e948f857c6f6a5f554b40342a200f060000000000000000000000020e1a25303b44505b666d798390979f928d837b706c605c606b707a828c92999891847b6e675d53493f33271b0f0300000000000000000000000a1623303d495663707c8996a3aca3978a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e38424c565e686e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918b827a6f6a5f574e43392f22180e0000000000000000000000000009141f28333f4a545d676e7b8592989d9590857e746d666d737d858f949f9a92867c6f695e554b41382d22170b0000000000000000000000000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e776e685f584e453c31281d100600000000000000000000000000020b17222d38424b555e696f7c86929f9f97928a80796f78808791979f9f93887e706a5f564d43392f261b11060000000000000000000000000a1623303d495663707c8993939393938a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e79716c655e564e463c332a1f160c00000000000000000000000000000006111c262f3a434d57606a717e8a929ca29f928d837c828d9399a19e938c7f726c61584e443b31271d140a000000000000000000000000000a1623303d495663707d868686868686867e7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a76716d66605b534c443c342a21180d04000000000000000000000000000000000a141d28313b454e58616c73808c939ea49d95908990949fa49f948e81746d635a50463c32291f150b02000000000000000000000000000916222f3b4854606b7079797979797979706c6155493c3023160a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a242f3841474c4e4f54596063676d70727576787879797878777573706d6864605c545049413c342a22180f060000000000000000000000000000000000020b161f29333d46505a606c77818e959fa79f9d969c9fa6a0969082786d605b51483e342a20170d0300000000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d20140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008141f2b36414a52585a6060605f555d606366686a6b6c6c6c6c6b6a686663605d5660606055534e463c32261b0f030000000000000000000000000000000000070f161c212b343e44505b656d79839096a1aa9f9f9f9fa29791847a6d665c51493f362c22190e0500000000000000000000000000000004101b27323d474f545660606060606060575550483e33281c10040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724303c47525c64676c6c6c6c66605b54595b5d5e5f5f5f5f5e5d5c565e61696c6c6c6c625f584e43372b1f13060000000000000000000000000000000007111921272c2f30333f49535d676e7a84919893939393939992857c6e685e544b40372e241a100700000000000000000000000000000000000b16212b353d444849535353535353534a49443e362c22170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d1a26333f4c58646e7479797979726c665e57505052525353524a505960696e7679797979766a5f53473b2e211508000000000000000000000000000000050f19232b33383c3d4646414b555e686f7c8686868686868686867d706a5f564c42392e221c140b020000000000000000000000000000000000040f19232b32383b3d464646464646463d3c39332c231a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010e1b2734414e5a677480868686867f786e69615a514b4346444c545b606b707b83868686867c6f6255493c2f2216090000000000000000000000000000000b16212b353d4448495353534f4c565f6a6f797979797979797979706b60584e47433d332d261d140a000000000000000000000000000000000008131e28313a414547494949494949494745413a32281e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b849198928c827b706c605d554e444f565e666c737d859094948e81746a5f53473b2e211508000000000000000000000000000004101c27333d474f54566060605b5953585f626c6c6c6c6c6c6c6c6c6360595b56544e443f382f261c1106000000000000000000000000000000010d19242f3a434c51545656565656565654524c443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a46525e696f7c869299948f857e746d675f58505960686d787f879297969082786d60584e43372b1f130600000000000000000000000000000713202c38444f5960636c6c6c68655d5353555f6060585f6266696b6c6c6a67626058504a42382d22170b04000000000000000000000000000004111d2935414c555d6062626262626262605d564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d575f6a707d87929f97928a81796f6a605b626b6f7a828c93999891847a6d665c51463c32261b0f0300000000000000000000000000000916222f3c4854606b70797979756f65575354555d60656a6f737678797977746f6a605b544a3f332820150a00000000000000000000000000000613202c3945515d676d6f6f6f6f6f6f6f6d685d5245392c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25303b454e58606b717e8b919c9e938e837c726c656d727d848f949f9992867c6e685e544b40342a20150a0000000000000000000000000000000a1623303d495663707d86868681756961606164676d71777c808385868584817c736c665b50443c32261b0f03000000000000000000000000000714212d3a4754606d7a7c7c7c7c7c7c7c7a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333c464f59616c737f8c939d9d9591867f776e757f8791969f9f92877d706a5f564c42392e22180e040000000000000000000000000000000714212e3a4754616d7a879692867b716e6d6e71757a7e83888c90929292908e8780786c60584e43372b1f1306000000000000000000000000000a1623303d495663707d898989898989897d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d17212a343d47505a636d74818e949ea099928c827b828c9299a19d928b7f726b60584e443a30271d1006000000000000000000000000000000000713202d3946525e687784919891847e7a797a7d81858b9095999c9e9f9f9d9a938d80736a5f53473b2e211509000000000000000000000000000a1623303d495663707c8995959595958a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f18222b353e48515b606d78828f959fa39f948f888f939fa39f948d80746d62594f463c32281e150b000000000000000000000000000000000005111e2a36414c566774808d9996918a8786878a8e92989d9f9c98949394969d9f93877c6f6255493c31261a0e020000000000000000000000000a1623303d495663707c8996a2a2a2978a7d7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000061019232d364044505c666d79839096a1a69f9c959b9ea5a0958f82786d605b51473d342a20160c030000000000000000000000000000000000010d1925303b4855626e7b87929f9e97949394979b9f9e9a938f8b8886878a90959a8e817467574d42362a1e12050000000000000000000000000a1623303d495663707c8996a3aca3978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007111b2428343f4a545d676e7a849197a29f9f9f9f9fa19791837a6d665c50493f352c22180e05000000000000000000000000000000000000000814212e3a47535f6a727f8c92989d9f9f9f9d9a97918d87827e7b797a7d839097918578695f53463a2d2114070000000000000000000000000a1623303d495663707c89969f9f9f978a7d7064574a3d3124170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091217232e38424b555e686e7c85929893939393939992857b6e685d544a3f372d231a0f06000000000000000000000000000000000000000006121e2b37424e57626d727f868d90929292908d8985807b76716e6d6d707b859297887b6e6155483b2e2215080000000000000000000000000a1623303d495663707c8993939393938a7d7064574a3d3124170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c263039434c565f6a6f7d8686868686868686867d6f695f564c42382e251b1108000000000000000000000000000000000000000000020e1a26313c45515b626d727b808385868583817d79736e69656160616974818686867d7064574a3d3124170a0000000000000000000000000a1623303d495663707d868686868686867e7064574a3d3124170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141e28313b444e57606b6f7979797979797979796f6b60574d433a30261c130900000000000000000000000000000000000000000000000915202a333f49515b62696e73777879787774706d66615f57555357646f74797979706c6155493c3023160a0000000000000000000000000916222f3b4854606b7079797979797979706c6155493c3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c161f29323c454f5960636c6c6c6c6c6c6c6c6c6360594f453b31281e150a010000000000000000000000000000000000000000000000030e18212d373f4951575f61676a6c6c6c6a6763605c54534d4846535d64676c6c6c64615a5044392d2014080000000000000000000000000713202c38444f5960636c6c6c6c6c6c6c64615a5044392d2014080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17202a333d474f54565f606060606060605f56544f473d332a1f160c0300000000000000000000000000000000000000000000000000060f1b252d373f454d53555a5d5f5f5f5d5a5653504a46423b414b53595b606060575550483e33281c100400000000000000000000000004101b27323d474f545660606060606060575550483e33281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18212b353d4348495353535353535353534948443d352b21180d0400000000000000000000000000000000000000000000000000000009131b252d333c4247484d50525352504e4a46443f3836313841484c4e5353534a49443e362c22170b00000000000000000000000000000b16212b353d444849535353535353534a49443e362c22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f19232b32383b3c4646464646464646463c3b38322b23190f06000000000000000000000000000000000000000000000000000000000109131b212a31373a3b404445464544413d3a38342e2a262f363c40414646463d3c39332c231a10050000000000000000000000000000040f19232b32383b3d464646464646463d3c39332c231a100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101921272c2f30393939393939393939302f2c272119110700000000000000000000000000000000000000000000000000000000000001090f181f262b2d2e34373939393734302d2c28231c1a252b30333439393931302d28221a11080000000000000000000000000000000007111921272c2f303939393939393931302d28221a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f22232c2d2d2d2d2d2d2d2c23221f1b160f07000000000000000000000000000000000000000000000000000000000000000000060e151a1e2122272a2c2c2c2a2723201f1c17110e1a202427282d2d2d2423201c171008000000000000000000000000000000000000070f161b2022232d2d2d2d2d2d2d2423201c17100800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f1315162020202020202020201615130f0a04000000000000000000000000000000000000000000000000000000000000000000000003090e1214151a1d1f201f1d1b171312100c06080f14181a1b202020171614100b050000000000000000000000000000000000000000040b1013161620202020202020171614100b05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000307090913131313131313131309090703000000000000000000000000000000000000000000000000000000000000000000000000000000020608080d11121312110e0a07060300000003080b0e0e1313130a0a08040000000000000000000000000000000000000000000000000407090a131313131313130a0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030608090c0e10111213131212110f0d0b08070502000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003060809131313131313130b0a080500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002050a0f121515181b1d1e1f20201f1f1e1c1a181514120e090501000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f13151620202020202020181714110c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e12151b1f21222528292b2c2c2c2c2b2b29272521201e1a14110d0802000000000000000000000000000000000000000000000000000000000000000000000000070f161b1f22232d2d2d2d2d2d2d2423211d171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002080d141a1e20262b2e2f323436383939393938373633312e2d2a25201d19130d080200000000000000000000000000000000000000000000000000000000000000000007101920272b2e2f3939393939393931302d28221a1208000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d13191f252a2d31373a3c3f41434445464645454442403e3b3a36302d29251e19130c0400000000000000000000000000000000000000000000000000000000000000040f19222b32383b3c464646464646463e3d39332c241a100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060e171e252a30363a3c4347484b4e50515253535252514f4d4b4846423b39353029241e160e070000000000000000000000000000000000000000000000000000000000000a16202b343d434749535353535353534b49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a1117202930363b4246484e5355585b5c5e5f5f5f5f5e5e5c5a5854524d4746413a3530282019110901000000000000000000000000000000000000000000000000000000030f1b27323d464e545660606060606060575550483e33281d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141b2227323a41464d5254585f626567696b6c6c6c6c6b6a696664615e5754524c46413a322b231b130900000000000000000000000000000000000000000000000000000006131f2b38434e5860626c6c6c6c6c6c6c64615a5045392d2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b141d262d333e444c52575e61666a6f727476777879797878777573716e6966615e56524c443d352d251b130900000000000000000000000000000000000000000000000000000815222e3b4754606a6f79797979797979716c6155493d3023170a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d262f383f4450565e61696e73777b7e81838485868685858482807e7b77736d68615d564f473f372d251b1108000000000000000000000000000000000000000000000000000916232f3c4956626f7c868686868686867e7164574b3e3124180b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f384149505a61686d747b8084888b8e8f919292929291918f8d8b87837f7a736d68605951493f372d231a0e040000000000000000000000000000000000000000000000000916232f3c4956626f7c8993939393938a7e7164574b3e3124180b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17222d384149535b606c717a81868d9196989a9c9e9f9f9f9f9e9d9c999795908c86807a706b625b51493f352c20160c0200000000000000000000000000000000000000000000000916232f3c4956626f7c89959f9f9f978a7e7164574b3e3124180b0000030506060505030100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e27333f49535b656c737e858e92999ea0a8a9a19e9d9c9b9c9d9fa2aaa7a09d98928d847d726d625b51473e32281e130800000000000000000000000000000000000000000002050916232f3c4956626f7c8995a2aca4978a7e7164574b3e3124180b070c101213131211100e0b0a080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303944505b656c77808a92979fa3a8a19e999792908f8f8f909298999da0a7a29f9691877f726d62594f443a3024190d0200000000000000000000000000000000000003090e121416232f3c4956626f7c89959f9f9f978a7e7164574b3e3124181314191c1f1f201f1e1d1a171714110c05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e39424f59606c77808d929fa2a9a39f96918c8885838282838385888c91959ea1a8a199938b7f726b61564c4135291f140900000000000000000000000000000000040a0f141a1e2122252f3c4956626f7c8993939393938a7e7164574b3e31241d202126292b2c2c2c2b29272423211c171008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606b737f8c929da4a9a299928c847f7b787675757677797b7f848b9297a0a7a49f93887d70685d52453b30251a0e020000000000000000000000000000070c161b1f262a2d2e31353c4956626f7c868686868686867e7164574b3e3124292c2d32363839393838363431302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c66707d87939fa4aba29792877f79726e696a696869666c6e72787e859095a0a8a49a91847a6d60574d42362a1e1105000000000000000000000000030b121821272c31363a3b3e41444754606a6f79797979797979716c6155493d302f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404b54606d79849199a4aea39992857d726d67625f575c5c545b6062666c717b839095a0aaa1968e8174695e52463a2d2014070000000000000000000000040c151d232832383b4246484b4e50514e5860626c6c6c6c6c6c6c64615a504539313a4145474c4f5252535251504d4a49453e362c22170c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515c66727f8c96a0aba89f92877d6f6b605c55534d4f4f4a5053545b60696e7a839198a3a39f92867b6e6154473b2e21140800000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e60606060606060575550483e353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7984919ea8aca1968c80736b6059514b474242423f44464a50575e686e7b86929a99928f8b8073665a4d4033271a0d000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414c5564717e8a96a1adaa9e9184796d60594f45403937312d3338393f444d565f6973808c8e8a86827f7b6e6155483b2e22150800000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d6775828f9ca8aea2988b7e71675d51473d342e2b2622282b2d333b444d57616d7a84817d7a76726e695f53463a2d2114070000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86929facac9f92857a6d60554b403528231d1a171c1f2228323c46525e686d7774706d6765615f574d42372b1e120500000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a99a3aea89b8e8175675d5143392f23181d1d1d1d1d17202a36414c565e616b6764605d5555534d453c31261a0e020000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1a2734404d5a6773808d9aabb4aa978a7e7164554b4031272a2a2a2a2a2a2a2a2a25303a444c52545e5b5753514b4846423c332a1f140900000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b556976828f9ca9aea298887b6e6255483b2f373737373737373737373737323a414647514e4a4745403b3a373128231c140c0200000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2c3845515d677885919eabac9f9285796c6053464444444444444444444444444444444444444444444444444444443a38342e261e140a00000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d7a8696a1adaa9d908377665b505050505050505050505050505050505050505050505050505050505046443f3830261c110600000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f22160900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8894a9b2a99c8f837669545d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d53504a42382e23170b00000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a2afa89b8f82756a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a6a605c544a3f34281c100300000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d8996a3b0a79b8e8177777777777777777777777777777777777777777777777777777777777777776d665c5044382b1f12060000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724313d4a5764707d8a97a3b0ab9e92858383838383838383838383838383838383838383838383838383838383838383786d6053463a2d2013070000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0ada197929090909090909090909090909090909090909090909090909090909090909086796c605346392d2013060000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0b3a9a19e9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d928679655b5044372b1f12050000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0b8b0aba99f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9faaaaaaaaaa9f9285786c5f493f33271b0f030000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1623303d495663707c8996a3afb0a69f9c93939393939393939393939393939393939393939393939393a0a8b2ab9e9185786b5e52452d22170b000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3c4855626f7b8895aab3ab9f948f8686868686868686868686868686868686868686868686868996a0acaa9d9083776a5d5044372a1d06000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a8798a2aea99c8f8279797979797979797979797979797979797979797979797984919eaaa99c8f8276695c4f4336291c10030000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d687885929fabaa9d9084776c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6d7986929faca79a8d8174675a4e4134271b0e010000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c566a7683909da9ab9f928578695e606060606060606060606060606060606060626e7b8899a3afab988b7f7265584c3f3225190c0000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d192430414e5a6774818d9aabada297877b6e6154535353535353535353535353535353535764717d8a97abaea399897c706356493d3023160a00000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081724313e4a5764717e8a99a4afa9978b7e7164564d41464646464646464646464646434f596774818e9aa7ac9f92867a6d6053473a2d20140700000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86939faca89b8e8175685e52463c313939393939393939313a4854606b7884919eaba99d908376675d5145392c1f1306000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e6876838f9ca9ac9f92867b6e61584e433a322c292424292c323a434e58636f7c8996a1aca6998c7f7266554b4035291d10040000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2a36414c5665717e8b97a1ada3998d80736a5f554c443d39352f2f35393d444c56606a75828f9ca8ab9f94887b6e6155483b2f24180c0000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a4753606d7985919ea8ab9f92867c6f675e564f47454041414045474e565d686f7c87939faca69c8f8276695f53463a2d1d120700000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131f2c3845515c67727f8c96a0aba3989183796d68605953514b4e4e4b51535860686d7a84919aa4aa9f94897d7063574d42362a1e0b01000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2934404b55606d79849199a3aaa09590837a706b64605d555b5b555d60636a6f7a828f96a0aca3988f82766b6055453b31261a0e000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232f3945515c67707d87929fa4a79f9590847d75706d6769676869676d70757c848f949fa8a49f92867c6f62594f44332a1f140900000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2834404b55606b727f8c929da4a79f969189827d7a7675747475777a7d828991969fa6a49d928b7f726a5f53473d3321180e0300000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c18232e39434f59636d74808d929fa2a8a09e948f8a86838281818283868a8f949ea0a8a29f928d80746d62584e43352c210f0600000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303d47515b606c77808a92979fa3a69e9c9992908f8e8e8f9092999c9ea6a49f98928b80776c605b51463c31231a0f000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e2b353f44505b656c737e858e92999ea1a8a39f9d9c9a9b9c9d9fa3a9a19e9a938f867e746c655b50493f342a20110800000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c192327333f49535b606c717a81878d9196989b9c9e9f9f9f9f9e9c9b9897928d87827b716c605b53493f372d22180e000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000071117222d384149505a61686e747b8084888b8e90919292929291908e8c8985817b756e69625a504941382d251b100600000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f383f4450565e61696e73787c7f818384858686858483817f7c79746e6a615e5750443f382f261b13090000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d2d373f454a4c52575e61656c6f7274767878797978787675726f6d66625f58534d514c463d341d140a080000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d29343f49515658606060605b60626568696b6c6c6c6c6b69686562605c546060605f5d574f463b3024180c0000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3a45515b62656c6c6c6c67605c555b5d5e5f5f5f5f5e5d5b595960636b6c6c6c6c6961574c4135281c1003000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d30231607000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1824313d4a56626d7279797979746d675f57505152535352514c535b606b6f787979797873695d5144382b1e12050000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c1825323f4b5865727e8686868681796e69615a514b433f444e565e656c727d8486868685786c5f5245392c1f12060000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f1206000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d79839097928d837b716c605d554e49505860686d777f879196928b7e7165584b3e3225180b0000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676e7b8591989590867e746d675f58535b606a6f7a828c9299938d80736c6256493d3024170b00000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555e696f7c86929a98928a81796f6a625d656c727c848f949f958f82786c605a5045392d21150600000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f39434d57606a717e88939f9f938e837c716c686d777f8791969e979083796d665b50483f312a2217110a02000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d28313b454e58616c737f8c939e9d9591867e75707a828c9299a19891857b6e675d54514c433c3428231c140c050000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f29333d46505a636d75818e959fa098928b817d848f949fa39a92867c6f696c68605d554e463e342e261e160e070000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d17212b343e48515b606d79839096a1a29f938e8991969ea59f93887e77797979756d675f5850443f38302820191009000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f19222c364045515c676d7a849198a2a59e9b969ea1a79e938c7f778386868682796e6a615a504a423a322b221b120a010000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d453d352c241a100700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242834404b555e686f7c869299a39f9f9f9fa89f958e8175707d8a94938f847c716c605c544c443d342d241c130a00000000000000000000000a131c242c333b42464e5355585f626467696a6b6b6c6c6c6b6a686663605c54534e46423b332c231a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081218232e39434c565f6a707d8792939393939393969083796d6b75828f999691867e736d665e564e463f362d251c110700000000000000000000010a121a212931363c4347484e5355585a5c5d5e5f5f5f5f5e5d5b595653514b47433c363029201a11080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303a444e58616b727f8686868686868686847a6d67626e7b87929f98928a80786d68605850483f372d23180d010000000000000000000000080f171f252a31373a3c4347484b4d4f51515253535251504e4c494645403937322a251f170e080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e29323c464f59626d727979797979797979786d685e5f6973808d97a19f928d827a6f6a625a51493f352a1e1206000000000000000000000000050d141a20262b2e31373a3c3e40424445454646464543423f3c3a38342e2b26201a140d0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17202a343e47515b62656c6c6c6c6c6c6c6c6b615e5657606d7a85919ea49d948f847c716c635b51463a2e2216090000000000000000000000000003090e151a1f21262b2e2f31343637383839393938373533302d2c28231d1b150e0902000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18222c353f4951565860606060606060605e54524c515d67717e8b959393939691867e726d63574a3e3125180c000000000000000000000000000000030a0f12151b1f21222527292a2b2c2c2c2c2b2a282623201f1c18120f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101a232d373f464a4c5353535353535353514746414b55606c778386868686868686867f7265594c3f3226190c000000000000000000000000000000000002060a0f121515181a1c1e1e1f20201f1e1d1b19161313100c070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111b252d343a3e3f4646464646464646453a393a44505b656c767979797979797979726d63574a3e3125180c0000000000000000000000000000000000000000030608090b0d0f11121213131312100f0c090706040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009131b23292e31323939393939393939382e2d333f49535b606a6c6c6c6c6c6c6c6c65635b51463a2e221609000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010911181e2225252d2d2d2d2d2d2d2d2b21222d38414950535d6060606060606060595751493f352a1e12060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070d1216181920202020202020201e141b262f383f44465053535353535353534c4a463f372d23180d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000106090b0c1313131313131313120a141d262d3337394346464646464646463f3e3a352d251c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060606060606060605020b141b22272b2d37393939393939393932312e2a231c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020a11171b1f202a2d2d2d2d2d2d2d2d2625221e18110a0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060b0f12131d2020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000305061013131313131313130c0c0906010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010406070a0d0f11121313131211100e0c09080603000000000000000000000000000000000000000000000000000000000000000002080c10121213131313131313131313131313131313131313131313121211100e0b09070604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001070d101314171a1c1d1f1f20201f1e1d1b181515120f0a050200000000000000000000000000000000000000000000000000000000060d13181c1e1f202020202020202020202020202020202020202020201f1e1e1d1a18161413100c0705010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b1012181d20202326292a2c2c2d2c2c2b29282522211f1b15120e0903000000000000000000000000000000000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2a29272523201f1d1813110d080200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f161c1d24292c2d303335373839393939383634322f2e2b26211e1a140e090200000000000000000000000000000000000000000000061019222930353839393939393939393939393939393939393939393939393938373634322f2d2c2924201e19130f0a0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060c161b21272c2f35393a3d40424445464646454443413f3c3b37322d2a251f19140d050000000000000000000000000000000000000000020d18222b343b4144454646464646464646464646464646464646464646464645454443413e3c3a39352f2d2a251e1b150f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a111721272c3338394045474a4d4f50525253535251504e4b4847433c3a36312a251f170e060000000000000000000000000000000000000008131f29343d464c515253535353535353535353535353535353535353535353525151504d4b494745403a3936302b27201b160d0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151c232832383d44484b515356595c5d5f5f605f5f5e5c5b5855534e4846423b3630292017110a0200000000000000000000000000000000000c1824303b464f575d5f6060606060606060606060606060606060606060605f5f5e5d5c5a585653514b4746413a37322c272118120c0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e262e343d43484f54555d606366686a6b6c6c6c6c6b696765625f5854534d46423b3228221c140b0200000000000000000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6a69676562605d5554524c47433c383229241d160d070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d161f2830383f444e54596063676d707375777879797978777674726f6a67615e57524d443f332d261d140b02000000000000000000000000000005121e2b3844515d697378797979797979797979797979797979797979797979797878777674716f6d6765615e56544e48433d352f281f191108000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010b151f28313a424a505860626b70757a7d80828385858686858483817e7c78736e69615e5650443f382f261d140a000000000000000000000000000006121f2c3945525f6c78858686868686868686868686868686868686868686868685848483807e7c7a75716d68626058544e454039312b231a120a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27313a434c545c606a6f767d8285898c8f909292939292918f8e8b8884807b756e69625a504a42382f261c11060000000000000000000000000006121f2c3945525f6c7885929393939393939393939393939393939393939399929291908f8d8b8986827e7a756f6a626058514b433d352c241b130a010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18242f39434c555d666d737c83898e9298999b9d9e9f9f9f9f9e9c9a9896918d87817b716c605b544a42382d22170d0300000000000000000000000006121f2c3945525f6c7885929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9d9c9a9898928f8b87827c766f6a605d554f473e362d251b130900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c16202935404b555d676d78808790959b9fa2a9a19e9c9b9a9a9b9d9fa3a8a19e99928e867e746c665b544a3f33281f150b01000000000000000000000006121f2c3945525f6c7885929fabacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a7aaa9a7aaa39f9c99938e88827c746d67605950483f372d251b110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28323a45515d676d79828d93999fa7a39f9a97928f8e8d8e8f9092999c9ea6a39f98928b80786c665b50443d31271d1207000000000000000000000006121f2c3945525f6c7885929fabb8ada39c9998989898989898989898989898999a9b9d9fa2aaaaacaba49f9b948f8780796f6b615a51493f372d231a0f0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a44505a606d79828f949fa4a79f99928d8885838181818283868a8f949ea0a8a29f928d81786c60594f43392f23180c000000000000000000000006121f2c3945525f6c7885929fabb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8b8b8c8d8e909298999da0a7acaca69f9a938d847d716c625b51493f352c21180b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56626c75818e949fa6a69f959086817c797674747475777a7d828991969fa7a49d938c80736b60554b4034291d12070000000000000000000006121f2c3945525f6c7885929fabb2a5998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385888c90959b9fa4acaca49f9691877e726d625b51473e332a1d140a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e68717e8b939ea6a89f948f837b746f6c6568676768676d70757c8490959fa8a59f93887d70675c5145392e23180c0000000000000000000006121f2c3945525f6c7885929fabada094877a7272727272727272727272727273737477797c7f83888f939a9fa7afa8a19992887f726d62594f463c2f261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111d2935414c56616d7a85929fa5aca0968f82796e6962605b535a5b555d60636a6f7a839096a1ada49a9184796d60544b4034281c100400000000000000000006121f2c3945525f6c7885929fabada094877a6d656565656565656565656565666768666c6f73777c828790959fa3ababa39a938c7f726b61584e42382d22170b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525d6874808d97a2ada59d9184796d675f575350494e4e4b51535860686d7a84919ea6aca0968c7f72665c5145382c1f130700000000000000000006121f2c3945525f6c7885929fabada094877a6d615858585858585858585858595a545b6062666a6f757c838c9299a3aaaca49f92877d706a5f544a3f33281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a86929fa9aa9e93897c6f675d554d46443f41414045474e565e68707d8a949faba89e9184796d6053463a2e23180c00000000000000000006121f2c3945525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4c4d4a5053555860626a6f787f879298a2aaafa39992867c6e665b50443a3025190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d5765727f8c98a2aea89b8f82756b60554b433c37332d2f35393d444c56616b7683909caaada1968a7d7164544b4034281c1004000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f3f40403f4446484e54585f666d737e869298a2aeaba2989083786c60564c41362a1e1308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e697783909daaaca196897c6f63594f433a312b272224292c323a444f5964717e8a98a2aea89b8e8275665c5145382c1f1306000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a3232323232323232332d3338393c43474e545c606c707d86929fa4aeaa9f958b7e72685e52463a2f24190d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8795a0abab9e9184786c6053463d31281f1b17181d2029323e4753606d7985929facac9f9286796d6053463a2d201307000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e252525252525252622282b2d32373c424a505a616b717e8a929da8b1a79f92857a6d61564c4135291b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a7b1a79a8d8074655b5044372b1f160f0b0c1017202c3845515d6775828f9ca8aea298897c6f6356493c30231609000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e2119191919191919171c1f20272b30383f445059616c73808d96a0acada2978d8074685d5245382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49536874818e9ba7b4aa978a7d716453493f3327190d04000005101d2935404b5566727f8c99a5b4aa998c7f7266594c3f33261907000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0c060b0f12131b1e262e343e47505a606d7984919ea6b0a99f92857a6d6053493f33271b0f030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b657783909daaaea298877b6e6154483b2d221708000000000c18242f3d4a5663707d8996abb5a89b8e8175685b4e422e23180c000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140700000000000003060a0c151c2328353e45515c66707d8a949fabaea2988c7f72655b5044372b1f1205000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929facac9f928579695e53463a2d211406000000000715212e3b4854616e7b8799a3aeaa9d9083776a554b4034281c10040000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e211407000000000000000000030a1117232834404b54616b76828f9ca8b2aa9e9184786c605346392d201308000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000814212e3b4754616e7a8798a2aeaa9d9084776a574d42362a1e1205000000000613202d394653606c7986929facab9f928578675c5145382c1f13060000000000000003121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0c0c0c0c07060400061118232e39424f5964707d8a96a1acaca096887c6f6255493c3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8895aab4a99c8f8276695c4f4331251a0e020000000006121f2b3844505b667884919eabada29786796d6053463a2d2013070000000000040a0f131f2c3945525f6c7885929fabada094877a6d6154473a2e211919191919191919191413110d0807121d27303e4653606d7984919eabb2a8998c7f7366564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b090000000000030f1c28333f4a546a7784909daab3a994877b6e6154483b2e21150800000000060e151b1f212c3945525f6c7885929fabada094877a6d6154473a2e2626262626262626262621201d19130c0b151f2b3844505c6673808c99aab3a99d908376685d5245392c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e0100000000000b17222d43505d697683909ca9aea195887b6e6255483b2f22150800000006101820262b2e2f3945525f6c7885929fabada094877a6d6154473a33333333333333333333332d2c29241e160d101c28343f4a54636f7c8998a2aeac9f93867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000000061d293643505c6976838f9ca9afa295887c6f6255493c2f2216090000040e18222a32373b3c3f45525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f3f3f3f3f3a39352f281f160b17232e3a4653606d7985929fabafa499897c6f6356493c302316090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825323e4b5865717e8b98a4b1a69a8d8073675a4d4034271a0d010000000003101c2936434f5c6976828f9ca9afa295897c6f6256493c2f23160900000a15202a343c4347494c4c525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4c4c4c4745413a31281e13121f2c3844505c6676828f9ca9b5ab988b7e7265584b3f3225180c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1825313e4b5864717e8b97a4b1a79a8d8074675a4d4134271a0e010000000003101d293643505c6976838f9ca9afa295887c6f6255493c2f22160900030f1b26323c464e53555959595f6c7885929fabada094877a6d61595959595959595959595959595954524c433a2f2419101c28343f4a546774808d9aa7b3a79a8d8074675a4d4134271a0e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a79a8d8174675a4e4134271b0e010000000003101d2a3643505d697683909ca9aea195887b6e6255483b2f2215080006131f2b37434e585f62666666666c7885929fabada094877a6d666666666666666666666666666666605d564c4135291d1117232e3f4b5865727e8b98a5b1a99c8f8276695c4f4336291c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a89b8e8175685b4e4235281b08000000000004111d2a3744505d6a7783909daab4aa94887b6e6155483b2e221508000815212e3b47535f6a6f72727272727885929fabada094877a727272727272727272727272727272726d685d5245392c20131723303d4a5663707d8996a3b0aa9d9083776a5d5044372a1d110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995abb5a89c8f8275695c4f423025190e020000000005111d2935414c566b7784919eaaaea398877a6d6054473a2d211407000916222f3c4955626f7c7f7f7f7f7f7f86929facb3a6998c807f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7a6d6054473a2d211416222f3c4955626f7c8895a2afaa9d9184776a5e5144372b1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815212e3b4854616e7b8799a3afaa9d9083776a564c41362a1e1105000000000713202d3946525e687985929facac9f928579675d5145392c201306000c1825323f4b5865727e8b8c8c8c8c8c9298a3aeb4a89c928c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c877b6e6154483b2e211515222f3b4855626e7b8895a1aeab9e9185786b5e5245382b1f120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7986929facab9f928578685e5246392d201407000000000714212e3a4754616d7a8798a2aeaa9e9184776b554b4135291d1104000c1825323f4b5865727e8b98999999999fa3aab4b9aea49c99999999999999999999999999999994877b6e6154483b2e211515212e3b4854616e7b8794a1aeac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844515c667784919daaada297877a6e6154473b2e21140a00000000091623303c4956636f7c8996aab4a89c8f8275695c4f422f24180d01000c1825323f4b5865727e8b98a5a5a5a5acaeb4bcbfb6aea8a6a5a5a5a5a5a5a5a5a5a5a5a5a5a194877b6e6154483b2e211514212e3b4754616e7a8794a1adac9f9285796c5f5246392c1f1300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c2834404a546875828e9ba8b3a9968a7d7063574a3d31261b0d040000030f1b27333f495365717e8b98a4b1a69a8d8073675a4d4034271a0700000c1825323f4b5865727e8b989f9f9f9fa0adb3bcbab0a8a3a09f9f9f9f9f9f9f9f9f9f9f9f9f9f94877b6e6154483b2e211515222e3b4855616e7b8894a1aeab9f9285786c5f5245392c1f12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c18232e3f4c5865727f8b98a8b2a6998d807366584e43372b1f15100c0b0f141f2b3744505b6574818e9ba7b1a7978a7d7164574a3e3124170b00000c1825323f4b5865727e8b939393939393a2a9b3b3a89e9794939393939393939393939393939393877b6e6154483b2e211515222f3c4855626f7b8895a2aeab9e9185786b5e5245382b1f12000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000716222f3c4955626f7c8896a1acaa9d9083776a5f53473c31271f1c18171b1f2630394653606c7884919eabaca095877a6e6154473b2e21140800000c1825323f4b5865727e8686868686868997a2adafa3978c87868686868686868686868686868686867b6e6154483b2e21151623303d495663707c8996a3afaa9d9184776a5e5144372b1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7884919eabaca095887c6f62584e4339302c282322272b2f38424d57626f7c8996a1adab9d908377685e5246392d20140700000b1824313d4a56626d7279797979797985929fabada094877a7979797979797979797979797979797976695e53463a2d21141825313e4b5864717e8b97a4b1a99c8f8276695c4f4336291c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6573808d99a4afa79a8e81746a5f554b423c38342e2d33373b414a545f6974818e9ba8afa4998c7f7366564d41362a1e110500000915222e3a45515b62656c6c6c6c6c7885929fabada094877a6d6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c5e574d42362a1e121b27333f49536673808c99a6b3a79a8e8174675b4e4134281b0e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f4953616e7b87939fabac9f92877c6f675c544e46444041413f44464c535c666e7b86929facab9f93877b6e6155483b3025190e02000005111d29343f49515658606060606c7885929fabada094877a6d6160606060606060606060606060605f534d453b31251a121f2b3744505b6575828f9ca8b2a6998c7f7366594c403326190d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d3847535f6975828f99a3aea3999083796d665f5753514a4e4e495053565e656d78829099a3aea4998f8275695f53463a2d1f1408000000010c18232d373f454a4b5353535f6c7885929fabada094877a6d6154535353535353535353535353534846423b33291f1413202d394653606c7985929eabb2a8968a7d7063574a3d3024170a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b2b37424d57626e7b87929fa6ab9f958f81786e6a63605c545b5a535b6062686e77818e949faba79f93877c6f62574d42362a1e0d020000000006111b242d343a3d3f4646525f6c7885929fabada094877a6d6154474646464646464646464646463b3a3631292117101c28343f4a54626f7c8897a1adaca096877a6d6154473a2e2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26313c47535f6a73808d949fa8a79e938f837b74706d6668676768656c6f737a828e939da6a9a0958d80746a5f53453b31261a0e00000000000009121b23292e31323945525f6c7885929fabada094877a6d6154473a39393939393939393939392e2d2a251f170f18212b3844505c6673808c99a9b3aa9d918477685d5246392d20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009151f2b37424e57606d78829096a0a7a69e959087817c79767574747576797c80868f949da5a9a1979183796d60584e4333291f1409000000000000000911181d22242c3945525f6c7885929fabada094877a6d6154473a2e2d2d2d2d2d2d2d2d2d2d21211e1a140d162028343f4a54606d7884919eabb2a89a8d807367564c4135291d1105000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030e1a26313c44505c666e7a8490959da5a79f99928e898583828181818385888d92989ea6a69f9791857c6e675d51463c3221170d030000000000000000060c11151f2c3945525f6c7885929fabada094877a6d6154473a2e212020202020202020201514120e0e171f28323a44505c66707d8a96a1acaca196897c6f6256493c3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009152028343f4a545e686e7a838e939da0a7a39f9b9892908e8e8d8e9092979a9fa2a8a19e948f857c6f6a5f554b40342a200f06000000000000000000000105121f2c3945525f6c7885929fabada094877a6d6154473a2e21141313131313131313080a0f141a2029313a444d57606d7883909da8b2a99e9184786c605346392d2013080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c17232e38424c565e686e79818990959b9fa2aaa29f9d9b9a9a9b9c9ea1a9a39f9c96918b827a6f6a5f574e43392f22180e00000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e21140c0c0c0c0d080d1114141b1f262a323b434c565f69727f8b95a0acada2978b7f72655b5044372b1f120500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303b444d565e676d747d83898e9298999b9d9e9f9f9f9f9e9d9b9999928f8a847e776e685f584e453c31281d100600000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e211919191919191a191e2021272c31363e444d555d686e7b86929fa7b1a89f92857a6d6053493f33271b0f03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e29323b444d555d606b70777d8285898c8e90919292929291908f8c8a86827e79716c655e564e463c332a1f160c0000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a2e2525252525262627252a2d2e32383b42464f565e676d7a839098a2aeaba0968c7f72675d5141382d22170b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c172029323b434b515960636b7075797d7f82838585868685858382807d7a76716d66605b534c443c342a21180d040000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473a3232323232323233343036393b3d44484d535961696e79829095a0aaafa4999184796d60554b412f261b11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16212b353d4348494f54596063676d70727576787879797878777573706d6864605c545049413b332a22180f06000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6154473f3f3f3f3f3f3f3f4040424146474a4f54575f616b707b8390949fa7b0a69f93877d70665c51433a2f1d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323d474f545660606060555d606366686a6b6c6c6c6c6b6a686663605d566060605f524d453b30251a0e02000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d61544c4c4c4c4c4c4c4c4c4c4d4e4c525457596063696e757d8590959fa6b0a69e948c7f736b60544b4031281d0b0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131f2c38434f5960636c6c6c6c69615e56595b5d5e5f5f5f5f5e5d5c575f616a6c6c6c6c6c5e574d42362a1e1205000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d6158585858585858585859595a5b565e6163676b6f747b818a91979fa7aea69f948f82786c60594f42392e1f160c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222f3b4854606b6f79797979756d686059504a52525353524b515a61696e777979797976695e52463a2d201407000000000000000000000000000006121f2c3945525f6c7885929fabada094877a6d656565656565656565656566676869686e7074777c81878e939ea1a9ada49d948f82796d665b50473d30271d0d0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000091623303c4956636f7c86868686827a6f6b605b544c4446454d555c606c717b83868686867b6e6154483b2e211508000000000000000000000000000006121f2c3945525f6c7885929fabada094877a72727272727272727272727273737576787a7d8084898e92999ea5ada9a19e928d82796d675c544a3f352b1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c77818f95948f847d736c665e564f4550575f676d747e859095948d8073695e52463a2d201407000000000000000000000000000006121f2c3945525f6c7885929fabb2a5998c7f7f7f7f7f7f7f7f7f7f7f7f7f7f80818385878a8d91969b9fa3abaca49f97928a80786d675d554b42382d23190c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b656d798390969691877f786e686059515a61696e79808a9298958f82786c60574d42362a1e150e060000000000000000000000000006121f2c3945525f6c7885929fabb8a79c918c8b8b8b8b8b8b8b8b8b8b8b8c8c8d8e8f9197969a9ea0a8acaca49f9a938e857e736d665d554b43392f261c1107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f49535d676e7b84919899928c827a706b605c606c717b838d929f979083796d665b50453b302b2620180f0800000000000000000000000006121f2c3945525f6c7885929fabb8ada39c99989898989898989898989898999a9b9c9ea1a9a7aaa9a8a19e9a938e87817a716c605c544b433930271d140a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b17222d38414b555e696f7c86929a9f948f857d736d666d747e8590959d9891857b6e675d545645403937312a211a1108000000000000000000000006121f2c3945525f6c7885929fabacacada7a5a5a5a5a5a5a5a5a5a5a5a5a5a6a6a8a9a8a6aba39f9d9996918d87827c746d68615a504a423931271e150b02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111b262f39434d57606a707e88939f9f97918780786f79808a9297a09f92867c6f696c6b6860514b47423c332b231a0e040000000000000000000006121f2c3945525f6c7885929f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fa39f9f9e9e9c9b9a979992908c8984807b756f6a615e5650443f3830271f150c03000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a141d27313b454e58616c727f8c939ea199938d827c838d929fa29c928a7e717879797872605d55534e453d352b20160c0200000000000000000006121f2c3945525f6c788592939393939393939393939393939393939398929291918f8e8d8b888683807c79736e69625f58524c443e342e261e150d030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b151f29333c46505a636d74818e949fa49f94908990959da49e938c80737885868684786d67625f574f473d32281e130800000000000000000006121f2c3945525f6c788586868686868686868686868686868686868686868585848381807e7c7976736f6d66625f57534e46413a3228231c140c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17202b343e48515b606d78829096a0a69f9c969d9fa79f958e81776c78859292857d7a756e6a60594f443a3024190d01000000000000000005121e2b3844515d6973787979797979797979797979797979797979797979787877767573716f6d676663605c54534d47433c3530282017110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e19222c364045515c666d7a849198a29f9f9f9faaa1969083796d6578859297928986817c706b60564c4135291d1105000000000000000003101c2835414c5761696c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6c6b6b6968676462605c555653504a47423c373129251e160e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007101a242834404b545e686e7c86929993939393939891847a6e676c78858c8f9298928e867d70685d5246392d2013070000000000000000000c1824303b464f575d5f606060606060606060606060606060606060605f5f5e5e5c5b5a585553514b4946443f3837312b262019130c040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081218232e39424c565f6a707d8686868686868686857c6f685e64717e7f8286929f9892857a6d6154473a2e21140700000000000000000008131f29343d464c51525353535353535353535353535353535353535353525251504e4d4b494745403c3a38342e2b261f1b150d08020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d27303a444e58606b707979797979797979796f6a6360616c7173757d8999a2978c7f7265594c3f3226190c000000000000000000020d18222b343b41444546464646464646464646464646464646464646464545444342403e3c3a38342f2d2b28231c1a150f0a04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151e28323c464f5960636c6c6c6c6c6c6c6c6c626b6f6d676867686c7986929f9b8e8275685b4f4235281c0f020000000000000000000610192229303538393939393939393939393939393939393939393939393838363534312f2d2c2923201f1c17110e0903000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c16202a343d474f55565f60606060606060606a6f7c7976757474767e8a99a39b8e8275685b4f4235281c0f02000000000000000000000710181f24282b2c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2c2c2b2b2928272522201f1c181312100b0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e18222c353d44484a5353535353535355626f7c8885838281818388939fa0978c7f7366594c403326190d000000000000000000000000060d13181c1e1f20202020202020202020202020202020202020201f1f1e1d1b1a18161413100c07060300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060f1a232c33383c3d4646464646464d5a6673808d92908e8d8e90939a9a9691857b6e6154473b2e2114080000000000000000000000000002080c1012121313131313131313131313131313131313131313121211100f0d0b0907060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008111a21272c2f30393939393944515e6b77848a8e909192929292908e8a847c6f685e5246392d201407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f161c2023232c2d2d2d2e3b4854616e7b7e8183848586858583817d786f6a5f564d41362a1e110500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b10141617202020212d3a46535e696e71747677787979787674706d665f584e443b3025190e020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a1313121e2a36424d575e6164676a6a6b6c6c6b6a6764605c544e463c32291f1408000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006020e1a25313b454d5354575b5d5e5f5f5f5f5d5b5753504a423c342a20170d020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f29333b4246484b4e505152535252504e4a46443f38302a22180e050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d17212931363a3b3e4143444546464543413d3a38342e261e18100600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050f171f252a2d2e31343737383939383734312d2b28231c140c06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d141a1e212124282a2b2c2c2c2c2a2824201f1c17110a02000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b171312100b06000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e101112131312100e0a0706030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020507080b0e111212131212100e0c0808060200000000000000010406070c101213131211100e0b0a0804000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003090e121415181b1d1e1f201f1f1d1b191514120e090400000001080d111314191c1f1f201f1e1d1a171714110c0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040a0f141a1e212225282a2b2c2c2c2b2a282522211e1a15100c07040c13191d202126292b2c2c2c2b29272423211c1710080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070c161b1f262a2d2e31353738393939383735322f2e2b261f1c18120d161e24292c2d32363839393838363431302d28221a12080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b121821272c31363a3b3e4144454546454543413f3b3a37312c29231d1a1f282f35393a3f43454646454443413e3c39332c241a1005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c151d232832383b4246484b4e505152535252504e4c4847423c38342f27232c313a4145474c4f5252535251504d4a49453e362c22170c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161e272e343d43484d5355585b5d5e5f5f5f5e5d5b5855534d474540393128353e434c5154595c5e5f5f5f5e5c5a575550483e33281c1104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f28303940454f54575f6164686a6b6c6c6c6b6a6865625f5753514b433e343e474f555d6065696b6c6c6b6b696764615a5045392d21140800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007131d28313a424b51596063696e71747778787978787674726e6965605c5550443f474f5961676d727678797978777674716c6155493c3023170a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030c18242f3a434b545c606b6f757b7e8183848586858583817f7b77726d67615a504a4f59616b707a7f82848586858483807e7164574a3e3124170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a151e2935404b555d666d747c82878b8e909192929291908e8b88847e79706c605c5454606b707d858c8f91929292918f8d83776a5d5144372a1e110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006111c26303845515d676d7881898f939a9b9d9e9f9f9f9e9d9b9895918b857d746d665c5c66707d8792979c9e9f9f9e9e9c9084776a5d5144372a1e11000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c17232e3842505a606d79828d929c9fa4acaaa39f9d9c9b9c9e9fa09d97918a81786d67606d79849199a2a9a9a29f9895949084776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a54626c75818e949da4aca79f9d9892908f8f8f9193999a9f9e938e81796d64717d8a96a0ababa297928b88878883776a5d5144372a1e1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2c3844505c66717e8b939ea6aea49d95908a86838282838486898d92989f938e81756d75828e9ba8afa39992857f7b7a7b7d706356493d3023160a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d7884919ea5afa69d928d837d7977757576777a7d81858d9299938c7f727885919eabac9f92877c726e6e6e706b6054483b2f2216090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27333f495364717e8b96a1acab9e948d8078706d67696869676d70747a8087919593877c7a8796a1ada89c8f82756a6261626360594f44382c201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121f2b3744505b6575828f9ba8afa4998f82776d66605c555c555d6063686d737c83909490837c8895a9b2a5988b7f726558545556544f473d32271b100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202d394653606c7985929eabac9f93877b6e655c54514b4f4b5153565d616a6f7a8290959083909da9afa396897c70635649484948443d352b21160b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b8897a1ada99d9083766a5f534a4540424045474c52585f686d7983909590959fabaea195887b6e6255483b3d3b38322b23190f040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4956626f7c8995a9b3a79a8d807467574e4138342f35393a41464e565d676e7b86929d9fa7b1aea194877b6e6154483b302f2c2721191107000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96a3b0a5998c7f7266594c3f2f2824292c30353c444c555f69727f8b96a1acb9aea194877b6e6154483b2e21201b160f0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1724313e4a5764717d8a97a4b0a5988c7f7265594c3f2e23181d1f2429323a434d57606d7984919eacb6aea194877b6e6154483b2e2115100b040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1724303d4a5763707d8a96abb5a6998c807366544a3f3428211e1a192028313b45515c66727f8c9aa4afaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916222f3c4955626f7c8899a4afa89b8e8275665c50443a322d2a262727262834404b54616e7b87939facaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a4754606d7a86939facab9e9285796d60564c443d3a3631343333322e3946525e697784919daaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d677783909dabada1978a7e71685d564f484642424140403f3f3f424d566875818e9ba8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004111d2935414b556673808c99a3afa99e91847a6d68605955534d4f4d4d4c4c4c4b4b4d5a6774808d9aa7aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f3b4854616e7b86929fa8aca19690827a706b65615f575b5a5a5959585858585a6673808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535e6974818d96a1aaa89f9490847d76726e696a686766666565656564646673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d57606d7a849198a1a9a69f969189837e7b7876757473737272727171717173808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a25313b45525d686f7c8692979ea6a8a09e95908b8885838280807f7f7f7e7e7e7e7d7d818e9ba8aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009141f2935414c565f6a6f7c858f949c9fa4a79f9d989792908e8d8d8c8c8b8b8b8b8a8a8a8e939eaaaea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d19242f3a434e58606a6f7a82898f939a9c9fa2a9a29f9d9b9a999998989898979797979b9ea5afaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e28313c464e5860686e757d82878c8f929897999a9b9c9d9d9d9e9e9e9e9f9f9f9fa3abaeb6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f2a343c464e565e616b70767b7f8385888a8c8d8f8f9090919191919292929292999ca4aeaea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d18222b343c444c52596063696e7276797c7d7f81828383848484848585858585868d929ca8aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050e171e252a323b41464f54575f6165666d6f71737475767677777778787878797979808d99a6aea194877b6e6154483b2e2115080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d1720293036393a3e3f44484d5355545c606264666768696a6a6a6b6b6b6b6c6c6c73808d99a6aea194877b6e6154483b2e211508000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008131e29323a4146474b4c4d4e4f51524a50535557595a5c5c5d5d5e5e5e5e5f5f5f6673808d99a6aea194877b6e6154483b2e21150800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d1925303a444c525457595a5b5c5d5e5b5953484a4c4e4f5050515151515252525a6774818d9aa7ada194877a6e6154473b2e2114080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111e2a36414c565e6164656768696a6b68655d534840414243434444444545454e5b6875818e9ba8b3a994877a6d6154473a2e211407000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3946525e686d71727374767778756f65594d3c323536373737383837424d576976838f9ca9ada19786796d6053463a2d201307000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212e3a4754616d7a7e7f8081828485817568584e43372d2c2823292c303847535f697885929eabab9e918578665c5145382c1f1306000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815222e3b4855616e7b888c8d8e8f909184776a5f53473f3a38342f34383a424c56626e7b8897a2ada99c90837669544b4034281c1004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714212d3a46535f697884919a9b9c9d96887c6f625a504a46443f434045474c545e6873808d99a9b2a89a8d8073675a4d402e23180c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005121e2a36424d576874818e9ba6a9a89b8e81756c605b5453504a504b5153565e666d7a85929eabaca196897c706356493d302316070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020e1a26313c4955626f7c88949faaaa9e938a7e726c6662605c545d555c6063686d78828f97a1ada89e9184786d6053463a2d2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000915222e3b4754606a76828f98a3aea59f92877f78726e6d666a696a676d6f747a828f949ea9aaa0968b7f72665c5044382b1f120600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006131f2b37434e58626f7c86929fa4aea399928b837f7b797777767777797c80868f949ea6aba3989184796d60544a3f34281c1003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030f1b27323c47535f6a717e8b929fa3aaa39f95908c8886848383838486898d92989fa6a9a29992867c6f665c5142382e23170b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202b37434e58626c737f8a92989fa4a7a09d989992919090909192999a9fa2aaa59e9792877e716a60544b4030261c11060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040f1b26323c46505a636d737e868e93999ea0a8aba39f9e9d9c9d9e9fa3aba9a29f9a938e857d716c61584e42392e1e140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a15202a343f48525b636c717b81878d9196979a9c9d9e9e9f9f9f9e9d9b9997928e88817b706b615a50463c30271d0c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e18222d364049525a61696e747b8084888b8d8f90919292929291908e8c8985817c756e69615950483e342b1e150b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006101b242e37404850575e616a6e73777b7e80828484858686858483817f7c79746f6a615e574f473e362c22190c030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009121c252e363e454d53585f62666a6f717375777878797979787675726f6d66625f58524d5345413a32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101c27333d474f5556606060585f626467696a6b6b6c6c6c6b6a686663605c54606060605f524c443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202c38444f5961636c6c6c6c69615d565c5d5e5f5f5f5f5e5d5b59575f616a6c6c6c6c6c5d564c4135291d11040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000916232f3c4855616b7079797979756d686058515152535352514b515a61696e777979797976685d5245392c2013070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a1723303d4a5663707d86868686827a6f6a625b524c4446464e555d606c717b83868686867a6d6054473a2d2114070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000713202d3a4653606d78828f95948f847c726d605d564e4550585f676d747e869095938c8073685d5245392c20130700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006121f2b3844505c666d798390979691877f756d686058515a626a6f79818a9298958e81776c60564c4135291d110400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003101c28343f4a545d676e7b85929899928c827a6f6a625d606c717c838e939f969083796d655b50443a3024190d010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c151d232e38424c555f696f7d86929f9f938f847c726d676d757e8690959d9891847a6e675d53493f32281e13080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070f171e272e343f464e5457606b717e8b929c9e9691877f757079818b9298a09992867c6f685e554b41382d20160c0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001071119212930394045505860626b6c6c73808d939ea199928c827c848e939fa29f93877e706a5f564c43392f261b0e04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040c1218232b333b424b515a626a6f7879797979818e959fa39f938f8991969ea59d938c7f726c61584e443b31271d140a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d161d2429353d454d545c606c717c848686867f79839096a1a59e9b969ea0a89f948e81746d635a50463c32291f150b020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010c161f282f353f474f575e666d747e8691969184796e7b849198a29f9f9f9fa9a0968f82786d605b51473e342a20170d0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007121d2831394045515960696e78818b9298958b7e71696f7c86929a93939393939791847a6d665c51493f352c22180e05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010d18242f39434b515b626b707b838e939f9a9083786c606a707e8786868686868686857b6e685e544a40372d231a10060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004101d2935404b555d606d727d8590959d9f93877c6f655b616c707979797979797979786e695f564c42392e251c110800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000613202c3945515d676d757f8792979fa2978e81746a60535a61646c6c6c6c6c6c6c6c6c625f574d443a30271c130a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000714202d3a4753606d79818c929993939392857a6d61584e50555760606060606060605f55534d453c32281e150b01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111d2a3744505d6a778386868686868686867f72685e524644494a5353535353535353524847423c332a20160c0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101d2936424f5b6671777979797979797979726d62564c41393c3d4646464646464646453b3a37312a21180e0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1a26333e4a555f666a6c6c6c6c6c6c6c6c65625b51443a3030313939393939393939392f2e2b2620180f060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a16222d39434d555b5d6060606060606060595751493f322923242d2d2d2d2d2d2d2d2c22211e1a150e060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005111c27313b434a4f5053535353535353534c4a463f372d20171720202020202020201f1514120e09030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b151f2931393e424446464646464646463f3e3a352d251b0e0a131313131313131312080806020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d171f272d333637393939393939393932312e29231b13090006060606060606060600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050d151c2226292a2d2d2d2d2d2d2d2d2625221e18110901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030b11161a1d1d2020202020202020191816120d0700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050a0e101113131313131313130c0b09060100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + image data: 1 + _typelessdata: 00 m_StreamData: serializedVersion: 2 offset: 0