From 2f394b7e7ebf991c7a70f93bf251d26d8043aaa2 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 22 Oct 2009 01:30:12 -0700 Subject: [PATCH 01/60] * Allow SmartThreadPool to be initialized without setting max stack size (like the original implementation) * Only initialize Util's SmartThreadPool if it is actually being used * No longer initializing Util's SmartThreadPool with a custom max stack size. From MSDN: "Avoid using this constructor overload. The default stack size used by the Thread(ThreadStart) constructor overload is the recommended stack size for threads." --- OpenSim/Framework/Util.cs | 12 +++++++----- OpenSim/Region/Application/OpenSim.cs | 7 ++++++- ThirdParty/SmartThreadPool/SmartThreadPool.cs | 6 +++++- bin/OpenSim.ini.example | 14 +++++++++----- 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index d09bd6d2a1..167e34d88f 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -69,8 +69,6 @@ namespace OpenSim.Framework /// public class Util { - private static SmartThreadPool m_ThreadPool = null; - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static uint nextXferID = 5000; @@ -79,6 +77,9 @@ namespace OpenSim.Framework private static string regexInvalidFileChars = "[" + new String(Path.GetInvalidFileNameChars()) + "]"; private static string regexInvalidPathChars = "[" + new String(Path.GetInvalidPathChars()) + "]"; private static object XferLock = new object(); + /// Thread pool used for Util.FireAndForget if + /// FireAndForgetMethod.SmartThreadPool is used + private static SmartThreadPool m_ThreadPool; // Unix-epoch starts at January 1st 1970, 00:00:00 UTC. And all our times in the server are (or at least should be) in UTC. private static readonly DateTime unixEpoch = @@ -1319,8 +1320,11 @@ namespace OpenSim.Framework FireAndForget(callback, null); } - public static void SetMaxThreads(int maxThreads) + public static void InitThreadPool(int maxThreads) { + if (maxThreads < 2) + throw new ArgumentOutOfRangeException("maxThreads", "maxThreads must be greater than 2"); + if (m_ThreadPool != null) return; @@ -1328,9 +1332,7 @@ namespace OpenSim.Framework startInfo.IdleTimeout = 2000; // 2 seconds startInfo.MaxWorkerThreads = maxThreads; startInfo.MinWorkerThreads = 2; - startInfo.StackSize = 524288; startInfo.ThreadPriority = ThreadPriority.Normal; - startInfo.StartSuspended = false; m_ThreadPool = new SmartThreadPool(startInfo); diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index c04b8c280b..26298e7b7a 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -67,7 +67,7 @@ namespace OpenSim IConfig startupConfig = m_config.Source.Configs["Startup"]; - Util.SetMaxThreads(startupConfig.GetInt("MaxPoolThreads", 15)); + int stpMaxThreads = 15; if (startupConfig != null) { @@ -100,8 +100,13 @@ namespace OpenSim FireAndForgetMethod asyncCallMethod; if (!String.IsNullOrEmpty(asyncCallMethodStr) && Utils.EnumTryParse(asyncCallMethodStr, out asyncCallMethod)) Util.FireAndForgetMethod = asyncCallMethod; + + stpMaxThreads = startupConfig.GetInt("MaxPoolThreads", 15); } + if (Util.FireAndForgetMethod == FireAndForgetMethod.SmartThreadPool) + Util.InitThreadPool(stpMaxThreads); + m_log.Info("[OPENSIM MAIN]: Using async_call_method " + Util.FireAndForgetMethod); } diff --git a/ThirdParty/SmartThreadPool/SmartThreadPool.cs b/ThirdParty/SmartThreadPool/SmartThreadPool.cs index c21984e08e..bd52f6245a 100644 --- a/ThirdParty/SmartThreadPool/SmartThreadPool.cs +++ b/ThirdParty/SmartThreadPool/SmartThreadPool.cs @@ -499,7 +499,11 @@ namespace Amib.Threading } // Create a new thread - Thread workerThread = new Thread(new ThreadStart(ProcessQueuedItems), _stpStartInfo.StackSize); + Thread workerThread; + if (_stpStartInfo.StackSize > 0) + workerThread = new Thread(ProcessQueuedItems, _stpStartInfo.StackSize); + else + workerThread = new Thread(ProcessQueuedItems); // Configure the new thread and start it workerThread.Name = "STP " + Name + " Thread #" + _threadCounter; diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 79d57d2eb1..08f87d6b31 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -38,8 +38,15 @@ ; Sets the method that OpenSim will use to fire asynchronous ; events. Valid values are UnsafeQueueUserWorkItem, - ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread - ; async_call_method = SmartThreadPool + ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. + ; SmartThreadPool is reported to work well on Mono/Linux, but + ; UnsafeQueueUserWorkItem has been benchmarked with better + ; performance on .NET/Windows + ;async_call_method = SmartThreadPool + + ; Max threads to allocate on the FireAndForget thread pool + ; when running with the SmartThreadPool option above + MaxPoolThreads = 15 ; ## ; ## CLIENTS @@ -51,9 +58,6 @@ ; Set this to the DLL containing the client stack to use. clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll" - ; Max threads to allocate on the FireAndForget pool - MaxPoolThreads = 15 - ; ## ; ## REGIONS ; ## From 5d07e18980ce5969b26648332435d9f7e61b22b6 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 22 Oct 2009 02:27:06 -0700 Subject: [PATCH 02/60] A synchronous call to the messaging server was blocking the process of promoting an agent to a root agent (logins and teleports). Changed to an async method --- .../CoreModules/Avatar/InstantMessage/PresenceModule.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs index ad05babec3..f5ab45466c 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs @@ -274,8 +274,14 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage } m_RootAgents[agentID] = scene; } + // inform messaging server that agent changed the region - NotifyMessageServerOfAgentLocation(agentID, scene.RegionInfo.RegionID, scene.RegionInfo.RegionHandle); + Util.FireAndForget( + delegate(object o) + { + NotifyMessageServerOfAgentLocation(agentID, scene.RegionInfo.RegionID, scene.RegionInfo.RegionHandle); + } + ); } private void OnEconomyDataRequest(UUID agentID) From d756fa01aea63e9b50be00a6f1f229ff7afef779 Mon Sep 17 00:00:00 2001 From: Jeff Ames Date: Thu, 22 Oct 2009 18:57:14 +0900 Subject: [PATCH 03/60] Add copyright header. Formatting cleanup. --- OpenSim/Framework/MinHeap.cs | 27 +++++++++++++++++++ .../ClientStack/LindenUDP/LLClientView.cs | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) mode change 100755 => 100644 OpenSim/Framework/MinHeap.cs diff --git a/OpenSim/Framework/MinHeap.cs b/OpenSim/Framework/MinHeap.cs old mode 100755 new mode 100644 index ad39bbc51c..33d0364b6e --- a/OpenSim/Framework/MinHeap.cs +++ b/OpenSim/Framework/MinHeap.cs @@ -1,3 +1,30 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. + */ + using System; using System.Threading; using System.Collections; diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 0ba76ecd70..5acf25fdb1 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -827,7 +827,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP for (int i = x1; i <= x2; i++) SendLayerData(i, y1, map); - // Column + // Column for (int j = y1 + 1; j <= y2; j++) SendLayerData(x2, j, map); From 47d8b6c5f50a494bca520e2a8532c59561339963 Mon Sep 17 00:00:00 2001 From: Snowcrash Date: Tue, 20 Oct 2009 15:51:19 +0200 Subject: [PATCH 04/60] Fix rounding error in PRIM_SIZE portion of llSetPrimitiveParams --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 6e17639e6d..c3e89f6691 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -1263,11 +1263,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api protected void SetScale(SceneObjectPart part, LSL_Vector scale) { // TODO: this needs to trigger a persistance save as well - if (part == null || part.ParentGroup == null || part.ParentGroup.IsDeleted) return; - - if (scale.x < 0.01 || scale.y < 0.01 || scale.z < 0.01) + // scale.x < 0.01 in a manner which handles rounding errors + if (Math.Round(scale.x - 0.01) > 0.0 || Math.Round(scale.y - 0.01) > 0.0 || Math.Round(scale.z - 0.01) > 0.0) return; if (part.ParentGroup.RootPart.PhysActor != null && part.ParentGroup.RootPart.PhysActor.IsPhysical) @@ -1279,12 +1278,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (scale.z > World.m_maxPhys) scale.z = World.m_maxPhys; } + if (scale.x > World.m_maxNonphys) scale.x = World.m_maxNonphys; if (scale.y > World.m_maxNonphys) scale.y = World.m_maxNonphys; if (scale.z > World.m_maxNonphys) scale.z = World.m_maxNonphys; + Vector3 tmp = part.Scale; tmp.X = (float)scale.x; tmp.Y = (float)scale.y; From 84ac0f56f5c6a52f975efa125e9128d559d47d0e Mon Sep 17 00:00:00 2001 From: Snowcrash Date: Thu, 22 Oct 2009 15:48:21 +0200 Subject: [PATCH 05/60] Fixing the patch to the patch --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index c3e89f6691..435b6e39b6 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -1265,9 +1265,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // TODO: this needs to trigger a persistance save as well if (part == null || part.ParentGroup == null || part.ParentGroup.IsDeleted) return; - // scale.x < 0.01 in a manner which handles rounding errors - if (Math.Round(scale.x - 0.01) > 0.0 || Math.Round(scale.y - 0.01) > 0.0 || Math.Round(scale.z - 0.01) > 0.0) - return; + if (scale.x < 0.01) + scale.x = 0.01; + if (scale.y < 0.01) + scale.y = 0.01; + if (scale.z < 0.01) + scale.z = 0.01; if (part.ParentGroup.RootPart.PhysActor != null && part.ParentGroup.RootPart.PhysActor.IsPhysical) { From 5d12170df92b3bfad2862c40da9742fbc3cf219b Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 22 Oct 2009 17:41:42 +0100 Subject: [PATCH 06/60] Correct version number after merge --- OpenSim/Framework/Servers/VersionInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Framework/Servers/VersionInfo.cs b/OpenSim/Framework/Servers/VersionInfo.cs index 62e7e92b29..9f98310282 100644 --- a/OpenSim/Framework/Servers/VersionInfo.cs +++ b/OpenSim/Framework/Servers/VersionInfo.cs @@ -29,8 +29,8 @@ namespace OpenSim { public class VersionInfo { - private const string VERSION_NUMBER = "0.6.7"; - private const Flavour VERSION_FLAVOUR = Flavour.RC1; + private const string VERSION_NUMBER = "0.6.8"; + private const Flavour VERSION_FLAVOUR = Flavour.Dev; public enum Flavour { From 4121a02936b306895840cf1574197b0f6621c19e Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 22 Oct 2009 10:15:28 -0700 Subject: [PATCH 07/60] OpenSim.ini.example had the wrong names for default values in the [InterestManagement] section. Fixed --- bin/OpenSim.ini.example | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 08f87d6b31..6ff70fcf28 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1396,12 +1396,13 @@ ;TextureDataLimit = 5 [InterestManagement] - ; This section controls how state updates are prioritized for each client - UpdatePrioritizationScheme = Distance - ReprioritizeUpdate = true - RootUpdateReprioritizationDistance = 10.0 - ChildUpdateReprioritizationDistance = 20.0 - ReprioritizeUpdatesInterval = 5000.0 + ; This section controls how state updates are prioritized for each client + ; Valid values are Time, Distance, and SimpleAngularDistance + UpdatePrioritizationScheme = Distance; + ReprioritizationEnabled = true; + ReprioritizationInterval = 2000.0; + RootReprioritizationDistance = 10.0; + ChildReprioritizationDistance = 20.0; ;; ;; These are defaults that are overwritten below in [Architecture]. From 6ca4b0f36622833688136e9ace7d5545063293ba Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 22 Oct 2009 10:37:11 -0700 Subject: [PATCH 08/60] * Added a check if Util.m_ThreadPool is null before trying to use it, and if so initialize it to sane defaults * Simplified the InitThreadPool() function --- OpenSim/Framework/Util.cs | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 167e34d88f..a18a827964 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -1324,18 +1324,10 @@ namespace OpenSim.Framework { if (maxThreads < 2) throw new ArgumentOutOfRangeException("maxThreads", "maxThreads must be greater than 2"); - if (m_ThreadPool != null) - return; + throw new InvalidOperationException("SmartThreadPool is already initialized"); - STPStartInfo startInfo = new STPStartInfo(); - startInfo.IdleTimeout = 2000; // 2 seconds - startInfo.MaxWorkerThreads = maxThreads; - startInfo.MinWorkerThreads = 2; - startInfo.ThreadPriority = ThreadPriority.Normal; - startInfo.StartSuspended = false; - - m_ThreadPool = new SmartThreadPool(startInfo); + m_ThreadPool = new SmartThreadPool(2000, maxThreads, 2); } public static void FireAndForget(System.Threading.WaitCallback callback, object obj) @@ -1343,20 +1335,22 @@ namespace OpenSim.Framework switch (FireAndForgetMethod) { case FireAndForgetMethod.UnsafeQueueUserWorkItem: - System.Threading.ThreadPool.UnsafeQueueUserWorkItem(callback, obj); + ThreadPool.UnsafeQueueUserWorkItem(callback, obj); break; case FireAndForgetMethod.QueueUserWorkItem: - System.Threading.ThreadPool.QueueUserWorkItem(callback, obj); + ThreadPool.QueueUserWorkItem(callback, obj); break; case FireAndForgetMethod.BeginInvoke: FireAndForgetWrapper wrapper = Singleton.GetInstance(); wrapper.FireAndForget(callback, obj); break; case FireAndForgetMethod.SmartThreadPool: + if (m_ThreadPool != null) + m_ThreadPool = new SmartThreadPool(2000, 15, 2); m_ThreadPool.QueueWorkItem(delegate(object o) { callback(o); return null; }, obj); break; case FireAndForgetMethod.Thread: - System.Threading.Thread thread = new System.Threading.Thread(delegate(object o) { callback(o); }); + Thread thread = new Thread(delegate(object o) { callback(o); }); thread.Start(obj); break; default: From 36b0e5e1d3112212ef988a8b2e7c10284c7e9276 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 22 Oct 2009 11:07:23 -0700 Subject: [PATCH 09/60] Terrible typo in the previous commit! --- OpenSim/Framework/Util.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index a18a827964..b96367a91c 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -1345,7 +1345,7 @@ namespace OpenSim.Framework wrapper.FireAndForget(callback, obj); break; case FireAndForgetMethod.SmartThreadPool: - if (m_ThreadPool != null) + if (m_ThreadPool == null) m_ThreadPool = new SmartThreadPool(2000, 15, 2); m_ThreadPool.QueueWorkItem(delegate(object o) { callback(o); return null; }, obj); break; From 227c832d3b86d47c7f097379bef6ff6ede519b72 Mon Sep 17 00:00:00 2001 From: KittoFlora Date: Thu, 22 Oct 2009 21:14:00 +0200 Subject: [PATCH 10/60] Commented out instrumentation in ODEPrim.cs --- OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 864ea80f21..f59f0ae9db 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs @@ -1564,6 +1564,8 @@ Console.WriteLine(" JointCreateFixed"); } else { +//Console.WriteLine("Move " + m_primName); + if(!d.BodyIsEnabled (Body)) d.BodyEnable (Body); // KF add 161009 // NON-'VEHICLES' are dealt with here if (d.BodyIsEnabled(Body) && !m_angularlock.IsIdentical(PhysicsVector.Zero, 0.003f)) { @@ -1592,6 +1594,7 @@ Console.WriteLine(" JointCreateFixed"); if (m_usePID) { +//Console.WriteLine("PID " + m_primName); // KF - this is for object move? eg. llSetPos() ? //if (!d.BodyIsEnabled(Body)) //d.BodySetForce(Body, 0f, 0f, 0f); @@ -1663,6 +1666,8 @@ Console.WriteLine(" JointCreateFixed"); // Hover PID Controller needs to be mutually exlusive to MoveTo PID controller if (m_useHoverPID && !m_usePID) { +//Console.WriteLine("Hover " + m_primName); + // If we're using the PID controller, then we have no gravity fz = (-1 * _parent_scene.gravityz) * m_mass; @@ -1779,6 +1784,7 @@ Console.WriteLine(" JointCreateFixed"); if (fy < nmin) fy = nmin; d.BodyAddForce(Body, fx, fy, fz); +//Console.WriteLine("AddForce " + fx + "," + fy + "," + fz); } } } @@ -1786,6 +1792,8 @@ Console.WriteLine(" JointCreateFixed"); { // is not physical, or is not a body or is selected // _zeroPosition = d.BodyGetPosition(Body); return; +//Console.WriteLine("Nothing " + m_primName); + } } From b2ed348aa2746fbf034b713d006e40366c479d5a Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 22 Oct 2009 12:33:23 -0700 Subject: [PATCH 11/60] Implemented a Watchdog class. Do not manually create Thread objects anymore, use Watchdog.StartThread(). While your thread is running call Watchdog.UpdateThread(). When it is shutting down call Watchdog.RemoveThread(). Most of the threads in OpenSim have been updated --- .../MXP/PacketHandler/MXPPacketServer.cs | 5 +- .../Servers/HttpServer/BaseHttpServer.cs | 8 - .../HttpServer/PollServiceRequestManager.cs | 6 +- OpenSim/Framework/Watchdog.cs | 183 ++++++++++++++++++ .../MessageServersConnector.cs | 8 +- OpenSim/Region/Application/OpenSim.cs | 11 ++ .../ClientStack/LindenUDP/LLUDPServer.cs | 19 +- .../InterGrid/OpenGridProtocolModule.cs | 15 +- .../World/Archiver/AssetsRequest.cs | 8 +- .../World/WorldMap/WorldMapModule.cs | 13 +- OpenSim/Region/Framework/Scenes/Scene.cs | 20 +- .../Server/IRCClientView.cs | 10 +- .../Server/IRCServer.cs | 7 +- .../ContentManagementSystem/CMController.cs | 10 +- .../DotNetEngine/EventQueueThreadClass.cs | 12 +- .../DotNetEngine/MaintenanceThread.cs | 89 ++++----- .../Api/Implementation/AsyncCommandManager.cs | 8 +- 17 files changed, 309 insertions(+), 123 deletions(-) create mode 100644 OpenSim/Framework/Watchdog.cs diff --git a/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs b/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs index ba9c653003..63381a403b 100644 --- a/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs +++ b/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs @@ -85,10 +85,7 @@ namespace OpenSim.Client.MXP.PacketHandler m_transmitter = new Transmitter(port); - m_clientThread = new Thread(StartListener); - m_clientThread.Name = "MXPThread"; - m_clientThread.IsBackground = true; - m_clientThread.Start(); + StartListener(); } public void StartListener() diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index 85d7be2b99..bec5ed31bb 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -1559,15 +1559,7 @@ namespace OpenSim.Framework.Servers.HttpServer public void Start() { m_log.Info("[HTTPD]: Starting up HTTP Server"); - - //m_workerThread = new Thread(new ThreadStart(StartHTTP)); - //m_workerThread.Name = "HttpThread"; - //m_workerThread.IsBackground = true; - //m_workerThread.Start(); - //ThreadTracker.Add(m_workerThread); StartHTTP(); - - } private void StartHTTP() diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs index 1c5458187a..e7a64f7e3a 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs @@ -50,9 +50,7 @@ namespace OpenSim.Framework.Servers.HttpServer m_WorkerThreadCount = pWorkerThreadCount; m_workerThreads = new Thread[m_WorkerThreadCount]; m_PollServiceWorkerThreads = new PollServiceWorkerThread[m_WorkerThreadCount]; - m_watcherThread = new Thread(ThreadStart); - //startup worker threads for (uint i=0;i + /// Manages launching threads and keeping watch over them for timeouts + /// + public static class Watchdog + { + /// Timer interval in milliseconds for the watchdog timer + const double WATCHDOG_INTERVAL_MS = 2500.0d; + /// Maximum timeout in milliseconds before a thread is considered dead + const int WATCHDOG_TIMEOUT_MS = 5000; + + [System.Diagnostics.DebuggerDisplay("{Thread.Name}")] + private class ThreadWatchdogInfo + { + public Thread Thread; + public int LastTick; + + public ThreadWatchdogInfo(Thread thread) + { + Thread = thread; + LastTick = Environment.TickCount & Int32.MaxValue; + } + } + + /// + /// This event is called whenever a tracked thread is stopped or + /// has not called UpdateThread() in time + /// + /// The thread that has been identified as dead + /// The last time this thread called UpdateThread() + public delegate void WatchdogTimeout(Thread thread, int lastTick); + + /// This event is called whenever a tracked thread is + /// stopped or has not called UpdateThread() in time + public static event WatchdogTimeout OnWatchdogTimeout; + + private static Dictionary m_threads; + private static System.Timers.Timer m_watchdogTimer; + + static Watchdog() + { + m_threads = new Dictionary(); + m_watchdogTimer = new System.Timers.Timer(WATCHDOG_INTERVAL_MS); + m_watchdogTimer.AutoReset = false; + m_watchdogTimer.Elapsed += WatchdogTimerElapsed; + m_watchdogTimer.Start(); + } + + /// + /// Start a new thread that is tracked by the watchdog timer + /// + /// The method that will be executed in a new thread + /// A name to give to the new thread + /// Priority to run the thread at + /// True to run this thread as a background + /// thread, otherwise false + /// The newly created Thread object + public static Thread StartThread(ThreadStart start, string name, ThreadPriority priority, bool isBackground) + { + Thread thread = new Thread(start); + thread.Name = name; + thread.Priority = priority; + thread.IsBackground = isBackground; + thread.Start(); + + lock (m_threads) + m_threads.Add(thread.ManagedThreadId, new ThreadWatchdogInfo(thread)); + + return thread; + } + + /// + /// Marks the current thread as alive + /// + public static void UpdateThread() + { + UpdateThread(Thread.CurrentThread.ManagedThreadId); + } + + /// + /// Marks a thread as alive + /// + /// The ManagedThreadId of the thread to mark as + /// alive + public static void UpdateThread(int threadID) + { + ThreadWatchdogInfo threadInfo; + + lock (m_threads) + { + if (m_threads.TryGetValue(threadID, out threadInfo)) + { + threadInfo.LastTick = Environment.TickCount & Int32.MaxValue; + } + } + } + + /// + /// Stops watchdog tracking on the current thread + /// + /// True if the thread was removed from the list of tracked + /// threads, otherwise false + public static bool RemoveThread() + { + return RemoveThread(Thread.CurrentThread.ManagedThreadId); + } + + /// + /// Stops watchdog tracking on a thread + /// + /// The ManagedThreadId of the thread to stop + /// tracking + /// True if the thread was removed from the list of tracked + /// threads, otherwise false + public static bool RemoveThread(int threadID) + { + lock (m_threads) + return m_threads.Remove(threadID); + } + + private static void WatchdogTimerElapsed(object sender, System.Timers.ElapsedEventArgs e) + { + WatchdogTimeout callback = OnWatchdogTimeout; + + if (callback != null) + { + ThreadWatchdogInfo timedOut = null; + + lock (m_threads) + { + int now = Environment.TickCount; + + foreach (ThreadWatchdogInfo threadInfo in m_threads.Values) + { + if (threadInfo.Thread.ThreadState == ThreadState.Stopped || now - threadInfo.LastTick >= WATCHDOG_TIMEOUT_MS) + { + timedOut = threadInfo; + m_threads.Remove(threadInfo.Thread.ManagedThreadId); + break; + } + } + } + + if (timedOut != null) + callback(timedOut.Thread, timedOut.LastTick); + } + + m_watchdogTimer.Start(); + } + } +} diff --git a/OpenSim/Grid/UserServer.Modules/MessageServersConnector.cs b/OpenSim/Grid/UserServer.Modules/MessageServersConnector.cs index 8ce353c43b..f24cef6e0e 100644 --- a/OpenSim/Grid/UserServer.Modules/MessageServersConnector.cs +++ b/OpenSim/Grid/UserServer.Modules/MessageServersConnector.cs @@ -78,8 +78,6 @@ namespace OpenSim.Grid.UserServer.Modules private OpenSim.Framework.BlockingQueue m_NotifyQueue = new OpenSim.Framework.BlockingQueue(); - Thread m_NotifyThread; - private IGridServiceCore m_core; public event AgentLocationDelegate OnAgentLocation; @@ -96,8 +94,8 @@ namespace OpenSim.Grid.UserServer.Modules { m_core = core; m_core.RegisterInterface(this); - m_NotifyThread = new Thread(new ThreadStart(NotifyQueueRunner)); - m_NotifyThread.Start(); + + Watchdog.StartThread(NotifyQueueRunner, "NotifyQueueRunner", ThreadPriority.Normal, true); } public void PostInitialise() @@ -427,6 +425,8 @@ namespace OpenSim.Grid.UserServer.Modules { TellMessageServersAboutUserLogoffInternal(presence.agentID); } + + Watchdog.UpdateThread(); } } diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 26298e7b7a..0366d944bc 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -172,6 +172,9 @@ namespace OpenSim m_scriptTimer.Elapsed += RunAutoTimerScript; } + // Hook up to the watchdog timer + Watchdog.OnWatchdogTimeout += WatchdogTimeoutHandler; + PrintFileToConsole("startuplogo.txt"); // For now, start at the 'root' level by default @@ -384,6 +387,14 @@ namespace OpenSim } } + private void WatchdogTimeoutHandler(System.Threading.Thread thread, int lastTick) + { + int now = Environment.TickCount & Int32.MaxValue; + + m_log.ErrorFormat("[WATCHDOG]: Timeout detected for thread \"{0}\". ThreadState={1}. Last tick was {2}ms ago", + thread.Name, thread.ThreadState, now - lastTick); + } + #region Console Commands /// diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index a9f4b2cf36..734471ebb4 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -187,14 +187,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP base.Start(m_recvBufferSize, m_asyncPacketHandling); - // Start the incoming packet processing thread - Thread incomingThread = new Thread(IncomingPacketHandler); - incomingThread.Name = "Incoming Packets (" + m_scene.RegionInfo.RegionName + ")"; - incomingThread.Start(); - - Thread outgoingThread = new Thread(OutgoingPacketHandler); - outgoingThread.Name = "Outgoing Packets (" + m_scene.RegionInfo.RegionName + ")"; - outgoingThread.Start(); + // Start the packet processing threads + Watchdog.StartThread(IncomingPacketHandler, "Incoming Packets (" + m_scene.RegionInfo.RegionName + ")", ThreadPriority.Normal, false); + Watchdog.StartThread(OutgoingPacketHandler, "Outgoing Packets (" + m_scene.RegionInfo.RegionName + ")", ThreadPriority.Normal, false); } public new void Stop() @@ -775,11 +770,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP { m_log.Error("[LLUDPSERVER]: Error in the incoming packet handler loop: " + ex.Message, ex); } + + Watchdog.UpdateThread(); } if (packetInbox.Count > 0) m_log.Warn("[LLUDPSERVER]: IncomingPacketHandler is shutting down, dropping " + packetInbox.Count + " packets"); packetInbox.Clear(); + + Watchdog.RemoveThread(); } private void OutgoingPacketHandler() @@ -842,12 +841,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP // token bucket could get more tokens if (!m_packetSent) Thread.Sleep((int)TickCountResolution); + + Watchdog.UpdateThread(); } catch (Exception ex) { m_log.Error("[LLUDPSERVER]: OutgoingPacketHandler loop threw an exception: " + ex.Message, ex); } } + + Watchdog.RemoveThread(); } private void ClientOutgoingPacketHandler(IClientAPI client) diff --git a/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs b/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs index d636b1c943..62500a2d7f 100644 --- a/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs +++ b/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs @@ -1208,10 +1208,7 @@ namespace OpenSim.Region.CoreModules.InterGrid if (homeScene.TryGetAvatar(avatarId,out avatar)) { KillAUser ku = new KillAUser(avatar,mod); - Thread ta = new Thread(ku.ShutdownNoLogout); - ta.IsBackground = true; - ta.Name = "ShutdownThread"; - ta.Start(); + Watchdog.StartThread(ku.ShutdownNoLogout, "OGPShutdown", ThreadPriority.Normal, true); } } @@ -1261,7 +1258,13 @@ namespace OpenSim.Region.CoreModules.InterGrid avToBeKilled.ControllingClient.SendLogoutPacketWhenClosing = false; - Thread.Sleep(30000); + int sleepMS = 30000; + while (sleepMS > 0) + { + Watchdog.UpdateThread(); + Thread.Sleep(1000); + sleepMS -= 1000; + } // test for child agent because they might have come back if (avToBeKilled.IsChildAgent) @@ -1270,6 +1273,8 @@ namespace OpenSim.Region.CoreModules.InterGrid avToBeKilled.ControllingClient.Close(); } } + + Watchdog.RemoveThread(); } } diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index fe9c8d91a5..c9fce91060 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs @@ -128,7 +128,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver if (m_repliesRequired == 0) { m_requestState = RequestState.Completed; - PerformAssetsRequestCallback(); + PerformAssetsRequestCallback(null); return; } @@ -246,9 +246,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver // We want to stop using the asset cache thread asap // as we now need to do the work of producing the rest of the archive - Thread newThread = new Thread(PerformAssetsRequestCallback); - newThread.Name = "OpenSimulator archiving thread post assets receipt"; - newThread.Start(); + Util.FireAndForget(PerformAssetsRequestCallback); } else { @@ -265,7 +263,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver /// /// Perform the callback on the original requester of the assets /// - protected void PerformAssetsRequestCallback() + protected void PerformAssetsRequestCallback(object o) { try { diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index 4e4008431f..a4bcbad111 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs @@ -74,7 +74,6 @@ namespace OpenSim.Region.CoreModules.World.WorldMap private Dictionary m_blacklistedregions = new Dictionary(); private Dictionary m_cachedRegionMapItemsAddress = new Dictionary(); private List m_rootAgents = new List(); - private Thread mapItemReqThread; private volatile bool threadrunning = false; //private int CacheRegionsDistance = 256; @@ -338,13 +337,10 @@ namespace OpenSim.Region.CoreModules.World.WorldMap { if (threadrunning) return; threadrunning = true; + m_log.Debug("[WORLD MAP]: Starting remote MapItem request thread"); - mapItemReqThread = new Thread(new ThreadStart(process)); - mapItemReqThread.IsBackground = true; - mapItemReqThread.Name = "MapItemRequestThread"; - mapItemReqThread.Priority = ThreadPriority.BelowNormal; - mapItemReqThread.SetApartmentState(ApartmentState.MTA); - mapItemReqThread.Start(); + + Watchdog.StartThread(process, "MapItemRequestThread", ThreadPriority.BelowNormal, true); } /// @@ -461,6 +457,8 @@ namespace OpenSim.Region.CoreModules.World.WorldMap OSDMap response = RequestMapItemsAsync("", st.agentID, st.flags, st.EstateID, st.godlike, st.itemtype, st.regionhandle); RequestMapItemsCompleted(response); } + + Watchdog.UpdateThread(); } } catch (Exception e) @@ -469,6 +467,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap } threadrunning = false; + Watchdog.RemoveThread(); } /// diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 5005ac93ab..4b87f929cd 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -81,8 +81,6 @@ namespace OpenSim.Region.Framework.Scenes protected Timer m_restartWaitTimer = new Timer(); - protected Thread m_updateEntitiesThread; - public SimStatsReporter StatsReporter; protected List m_regionRestartNotifyList = new List(); @@ -945,11 +943,8 @@ namespace OpenSim.Region.Framework.Scenes HeartbeatThread = null; } m_lastUpdate = Environment.TickCount; - HeartbeatThread = new Thread(new ParameterizedThreadStart(Heartbeat)); - HeartbeatThread.SetApartmentState(ApartmentState.MTA); - HeartbeatThread.Name = string.Format("Heartbeat for region {0}", RegionInfo.RegionName); - HeartbeatThread.Priority = ThreadPriority.AboveNormal; - HeartbeatThread.Start(); + + HeartbeatThread = Watchdog.StartThread(Heartbeat, "Heartbeat for region " + RegionInfo.RegionName, ThreadPriority.Normal, false); } /// @@ -976,12 +971,13 @@ namespace OpenSim.Region.Framework.Scenes /// /// Performs per-frame updates regularly /// - /// - /// - private void Heartbeat(object sender) + private void Heartbeat() { if (!Monitor.TryEnter(m_heartbeatLock)) + { + Watchdog.RemoveThread(); return; + } try { @@ -998,6 +994,8 @@ namespace OpenSim.Region.Framework.Scenes Monitor.Pulse(m_heartbeatLock); Monitor.Exit(m_heartbeatLock); } + + Watchdog.RemoveThread(); } /// @@ -1146,6 +1144,8 @@ namespace OpenSim.Region.Framework.Scenes if ((maintc < (m_timespan * 1000)) && maintc > 0) Thread.Sleep(maintc); + + Watchdog.UpdateThread(); } } diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index df03b8d934..4b0d01a2ec 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs @@ -67,9 +67,8 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server { m_client = client; m_scene = scene; - - Thread loopThread = new Thread(InternalLoop); - loopThread.Start(); + + Watchdog.StartThread(InternalLoop, "IRCClientView", ThreadPriority.Normal, false); } private void SendServerCommand(string command) @@ -102,7 +101,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server { try { - string strbuf = ""; + string strbuf = String.Empty; while (m_connected && m_client.Connected) { @@ -140,6 +139,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server } Thread.Sleep(0); + Watchdog.UpdateThread(); } } catch (IOException) @@ -156,6 +156,8 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server m_log.Warn("[IRCd] Disconnected client."); } + + Watchdog.RemoveThread(); } private void ProcessInMessage(string message, string command) diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCServer.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCServer.cs index 91ce9f1697..eb390268d7 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCServer.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCServer.cs @@ -33,6 +33,7 @@ using System.Reflection; using System.Text; using System.Threading; using log4net; +using OpenSim.Framework; using OpenSim.Region.Framework.Scenes; namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server @@ -56,8 +57,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server m_listener.Start(50); - Thread thread = new Thread(ListenLoop); - thread.Start(); + Watchdog.StartThread(ListenLoop, "IRCServer", ThreadPriority.Normal, false); m_baseScene = baseScene; } @@ -72,7 +72,10 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server while (m_running) { AcceptClient(m_listener.AcceptTcpClient()); + Watchdog.UpdateThread(); } + + Watchdog.RemoveThread(); } private void AcceptClient(TcpClient client) diff --git a/OpenSim/Region/OptionalModules/ContentManagementSystem/CMController.cs b/OpenSim/Region/OptionalModules/ContentManagementSystem/CMController.cs index 16fe9e9be3..8d6c41df63 100644 --- a/OpenSim/Region/OptionalModules/ContentManagementSystem/CMController.cs +++ b/OpenSim/Region/OptionalModules/ContentManagementSystem/CMController.cs @@ -86,7 +86,6 @@ namespace OpenSim.Region.OptionalModules.ContentManagement /// Hashtable m_sceneList = Hashtable.Synchronized(new Hashtable()); State m_state = State.NONE; - Thread m_thread = null; CMView m_view = null; #endregion Fields @@ -148,10 +147,7 @@ namespace OpenSim.Region.OptionalModules.ContentManagement lock (this) { m_estateModule = scene.RequestModuleInterface(); - m_thread = new Thread(MainLoop); - m_thread.Name = "Content Management"; - m_thread.IsBackground = true; - m_thread.Start(); + Watchdog.StartThread(MainLoop, "Content Management", ThreadPriority.Normal, true); m_state = State.NONE; } } @@ -200,6 +196,8 @@ namespace OpenSim.Region.OptionalModules.ContentManagement m_log.Debug("[CONTENT MANAGEMENT] MAIN LOOP -- uuuuuuuuuh, what?"); break; } + + Watchdog.UpdateThread(); } } catch (Exception e) @@ -209,6 +207,8 @@ namespace OpenSim.Region.OptionalModules.ContentManagement "[CONTENT MANAGEMENT]: Content management thread terminating with exception. PLEASE REBOOT YOUR SIM - CONTENT MANAGEMENT WILL NOT BE AVAILABLE UNTIL YOU DO. Exception is {0}", e); } + + Watchdog.RemoveThread(); } /// diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs index 583d2ffb73..51fd41a8b4 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs @@ -132,12 +132,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine /// private void Start() { - EventQueueThread = new Thread(EventQueueThreadLoop); - EventQueueThread.IsBackground = true; - - EventQueueThread.Priority = MyThreadPriority; - EventQueueThread.Name = "EventQueueManagerThread_" + ThreadCount; - EventQueueThread.Start(); + EventQueueThread = Watchdog.StartThread(EventQueueThreadLoop, "EventQueueManagerThread_" + ThreadCount, MyThreadPriority, true); // Look at this... Don't you wish everyone did that solid // coding everywhere? :P @@ -184,6 +179,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine while (true) { DoProcessQueue(); + Watchdog.UpdateThread(); } } catch (ThreadAbortException) @@ -214,6 +210,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine m_log.ErrorFormat("[{0}]: Exception {1} thrown", ScriptEngineName, e.GetType().ToString()); throw e; } + + Watchdog.UpdateThread(); } } catch (ThreadAbortException) @@ -226,6 +224,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine "[{0}]: Event queue thread terminating with exception. PLEASE REBOOT YOUR SIM - SCRIPT EVENTS WILL NOT WORK UNTIL YOU DO. Exception is {1}", ScriptEngineName, e); } + + Watchdog.RemoveThread(); } public void DoProcessQueue() diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/MaintenanceThread.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/MaintenanceThread.cs index 7ffdb1a413..87fdf1fcbf 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/MaintenanceThread.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/MaintenanceThread.cs @@ -93,10 +93,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine { if (MaintenanceThreadThread == null) { - MaintenanceThreadThread = new Thread(MaintenanceLoop); - MaintenanceThreadThread.Name = "ScriptMaintenanceThread"; - MaintenanceThreadThread.IsBackground = true; - MaintenanceThreadThread.Start(); + MaintenanceThreadThread = Watchdog.StartThread(MaintenanceLoop, "ScriptMaintenanceThread", ThreadPriority.Normal, true); } } @@ -164,56 +161,54 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine MaintenanceLoopTicks_ScriptLoadUnload_Count++; MaintenanceLoopTicks_Other_Count++; - - //lock (ScriptEngine.ScriptEngines) - //{ - foreach (ScriptEngine m_ScriptEngine in new ArrayList(ScriptEngine.ScriptEngines)) + foreach (ScriptEngine m_ScriptEngine in new ArrayList(ScriptEngine.ScriptEngines)) + { + // lastScriptEngine = m_ScriptEngine; + // Re-reading config every x seconds + if (MaintenanceLoopTicks_Other_Count >= MaintenanceLoopTicks_Other) { - // lastScriptEngine = m_ScriptEngine; - // Re-reading config every x seconds - if (MaintenanceLoopTicks_Other_Count >= MaintenanceLoopTicks_Other) + MaintenanceLoopTicks_Other_ResetCount = true; + if (m_ScriptEngine.RefreshConfigFilens > 0) { - MaintenanceLoopTicks_Other_ResetCount = true; - if (m_ScriptEngine.RefreshConfigFilens > 0) + // Check if its time to re-read config + if (DateTime.Now.Ticks - Last_ReReadConfigFilens > + m_ScriptEngine.RefreshConfigFilens) { - // Check if its time to re-read config - if (DateTime.Now.Ticks - Last_ReReadConfigFilens > - m_ScriptEngine.RefreshConfigFilens) + //m_log.Debug("Time passed: " + (DateTime.Now.Ticks - Last_ReReadConfigFilens) + ">" + m_ScriptEngine.RefreshConfigFilens); + // Its time to re-read config file + m_ScriptEngine.ReadConfig(); + Last_ReReadConfigFilens = DateTime.Now.Ticks; // Reset time + } + + + // Adjust number of running script threads if not correct + if (m_ScriptEngine.m_EventQueueManager != null) + m_ScriptEngine.m_EventQueueManager.AdjustNumberOfScriptThreads(); + + // Check if any script has exceeded its max execution time + if (EventQueueManager.EnforceMaxExecutionTime) + { + // We are enforcing execution time + if (DateTime.Now.Ticks - Last_maxFunctionExecutionTimens > + EventQueueManager.maxFunctionExecutionTimens) { - //m_log.Debug("Time passed: " + (DateTime.Now.Ticks - Last_ReReadConfigFilens) + ">" + m_ScriptEngine.RefreshConfigFilens); - // Its time to re-read config file - m_ScriptEngine.ReadConfig(); - Last_ReReadConfigFilens = DateTime.Now.Ticks; // Reset time - } - - - // Adjust number of running script threads if not correct - if (m_ScriptEngine.m_EventQueueManager != null) - m_ScriptEngine.m_EventQueueManager.AdjustNumberOfScriptThreads(); - - // Check if any script has exceeded its max execution time - if (EventQueueManager.EnforceMaxExecutionTime) - { - // We are enforcing execution time - if (DateTime.Now.Ticks - Last_maxFunctionExecutionTimens > - EventQueueManager.maxFunctionExecutionTimens) - { - // Its time to check again - m_ScriptEngine.m_EventQueueManager.CheckScriptMaxExecTime(); // Do check - Last_maxFunctionExecutionTimens = DateTime.Now.Ticks; // Reset time - } + // Its time to check again + m_ScriptEngine.m_EventQueueManager.CheckScriptMaxExecTime(); // Do check + Last_maxFunctionExecutionTimens = DateTime.Now.Ticks; // Reset time } } } - if (MaintenanceLoopTicks_ScriptLoadUnload_Count >= MaintenanceLoopTicks_ScriptLoadUnload) - { - MaintenanceLoopTicks_ScriptLoadUnload_ResetCount = true; - // LOAD / UNLOAD SCRIPTS - if (m_ScriptEngine.m_ScriptManager != null) - m_ScriptEngine.m_ScriptManager.DoScriptLoadUnload(); - } } - //} + if (MaintenanceLoopTicks_ScriptLoadUnload_Count >= MaintenanceLoopTicks_ScriptLoadUnload) + { + MaintenanceLoopTicks_ScriptLoadUnload_ResetCount = true; + // LOAD / UNLOAD SCRIPTS + if (m_ScriptEngine.m_ScriptManager != null) + m_ScriptEngine.m_ScriptManager.DoScriptLoadUnload(); + } + } + + Watchdog.UpdateThread(); } } catch(ThreadAbortException) @@ -225,6 +220,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine m_log.ErrorFormat("Exception in MaintenanceLoopThread. Thread will recover after 5 sec throttle. Exception: {0}", ex.ToString()); } } + + Watchdog.RemoveThread(); } #endregion diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs index 1607d34d22..9d97cb2fd5 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs @@ -137,11 +137,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (cmdHandlerThread == null) { // Start the thread that will be doing the work - cmdHandlerThread = new Thread(CmdHandlerThreadLoop); - cmdHandlerThread.Name = "AsyncLSLCmdHandlerThread"; - cmdHandlerThread.Priority = ThreadPriority.BelowNormal; - cmdHandlerThread.IsBackground = true; - cmdHandlerThread.Start(); + cmdHandlerThread = Watchdog.StartThread(CmdHandlerThreadLoop, "AsyncLSLCmdHandlerThread", ThreadPriority.Normal, true); } } @@ -185,6 +181,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api Thread.Sleep(cmdHandlerThreadCycleSleepms); DoOneCmdHandlerPass(); + + Watchdog.UpdateThread(); } } catch From 167d8e39fa34c52593c640058287184026c95288 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 22 Oct 2009 13:14:41 -0700 Subject: [PATCH 12/60] * Sending (position - hipoffset) instead of position * Sending m_rotation instead of m_bodyRot in full updates to match terse updates (no idea which one is right!) --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index d7113bf9cc..99fd86c89b 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2517,15 +2517,12 @@ namespace OpenSim.Region.Framework.Scenes if (m_appearance.Texture == null) return; - // Note: because Quaternion is a struct, it can't be null - Quaternion rot = m_bodyRot; - Vector3 pos = m_pos; pos.Z -= m_appearance.HipOffset; remoteAvatar.m_controllingClient.SendAvatarData(new SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, - LocalId, m_pos, m_appearance.Texture.GetBytes(), - m_parentID, rot)); + LocalId, pos, m_appearance.Texture.GetBytes(), + m_parentID, m_bodyRot)); m_scene.StatsReporter.AddAgentUpdates(1); } From 4ba3842d712ccb47e1b7effe0fdf2ed7da531431 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 22 Oct 2009 13:24:24 -0700 Subject: [PATCH 13/60] Forgot to hit save in the last commit --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 99fd86c89b..cfd3fccbf6 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2522,7 +2522,7 @@ namespace OpenSim.Region.Framework.Scenes remoteAvatar.m_controllingClient.SendAvatarData(new SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, LocalId, pos, m_appearance.Texture.GetBytes(), - m_parentID, m_bodyRot)); + m_parentID, m_rotation)); m_scene.StatsReporter.AddAgentUpdates(1); } From ba2972eaf6d608fe4e6a6610089ab9fb8bae3f2d Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 22 Oct 2009 14:33:54 -0700 Subject: [PATCH 14/60] * Send out m_bodyRot everywhere instead of m_rotation. Still have no clue which is right * Fix WorldMapModule.process() to not trip the watchdog timer --- .../World/WorldMap/WorldMapModule.cs | 31 ++++++++++--------- .../Region/Framework/Scenes/ScenePresence.cs | 15 +++++---- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index a4bcbad111..f4b54aa0a7 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs @@ -58,7 +58,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); private static readonly string DEFAULT_WORLD_MAP_EXPORT_PATH = "exportmap.jpg"; - + private static readonly UUID STOP_UUID = UUID.Random(); private static readonly string m_mapLayerPath = "0001/"; private OpenSim.Framework.BlockingQueue requests = new OpenSim.Framework.BlockingQueue(); @@ -349,7 +349,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap private void StopThread() { MapRequestState st = new MapRequestState(); - st.agentID=UUID.Zero; + st.agentID=STOP_UUID; st.EstateID=0; st.flags=0; st.godlike=false; @@ -437,25 +437,26 @@ namespace OpenSim.Region.CoreModules.World.WorldMap { while (true) { - MapRequestState st = requests.Dequeue(); + MapRequestState st = requests.Dequeue(1000); // end gracefully - if (st.agentID == UUID.Zero) - { + if (st.agentID == STOP_UUID) break; - } - bool dorequest = true; - lock (m_rootAgents) + if (st.agentID != UUID.Zero) { - if (!m_rootAgents.Contains(st.agentID)) - dorequest = false; - } + bool dorequest = true; + lock (m_rootAgents) + { + if (!m_rootAgents.Contains(st.agentID)) + dorequest = false; + } - if (dorequest) - { - OSDMap response = RequestMapItemsAsync("", st.agentID, st.flags, st.EstateID, st.godlike, st.itemtype, st.regionhandle); - RequestMapItemsCompleted(response); + if (dorequest) + { + OSDMap response = RequestMapItemsAsync("", st.agentID, st.flags, st.EstateID, st.godlike, st.itemtype, st.regionhandle); + RequestMapItemsCompleted(response); + } } Watchdog.UpdateThread(); diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index cfd3fccbf6..ccfffe7730 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2417,7 +2417,7 @@ namespace OpenSim.Region.Framework.Scenes pos.Z -= m_appearance.HipOffset; remoteClient.SendAvatarTerseUpdate(new SendAvatarTerseData(m_regionHandle, (ushort)(m_scene.TimeDilation * ushort.MaxValue), LocalId, - pos, m_velocity, Vector3.Zero, m_rotation, Vector4.Zero, m_uuid, null, GetUpdatePriority(remoteClient))); + pos, m_velocity, Vector3.Zero, m_bodyRot, Vector4.UnitW, m_uuid, null, GetUpdatePriority(remoteClient))); m_scene.StatsReporter.AddAgentTime(Environment.TickCount - m_perfMonMS); m_scene.StatsReporter.AddAgentUpdates(1); @@ -2522,7 +2522,7 @@ namespace OpenSim.Region.Framework.Scenes remoteAvatar.m_controllingClient.SendAvatarData(new SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, LocalId, pos, m_appearance.Texture.GetBytes(), - m_parentID, m_rotation)); + m_parentID, m_bodyRot)); m_scene.StatsReporter.AddAgentUpdates(1); } @@ -2585,14 +2585,11 @@ namespace OpenSim.Region.Framework.Scenes // the inventory arrives // m_scene.GetAvatarAppearance(m_controllingClient, out m_appearance); - // Note: because Quaternion is a struct, it can't be null - Quaternion rot = m_bodyRot; - Vector3 pos = m_pos; pos.Z -= m_appearance.HipOffset; m_controllingClient.SendAvatarData(new SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, LocalId, - m_pos, m_appearance.Texture.GetBytes(), m_parentID, rot)); + pos, m_appearance.Texture.GetBytes(), m_parentID, m_bodyRot)); if (!m_isChildAgent) { @@ -2697,9 +2694,11 @@ namespace OpenSim.Region.Framework.Scenes m_startAnimationSet = true; } - Quaternion rot = m_bodyRot; + Vector3 pos = m_pos; + pos.Z -= m_appearance.HipOffset; + m_controllingClient.SendAvatarData(new SendAvatarData(m_regionInfo.RegionHandle, m_firstname, m_lastname, m_grouptitle, m_uuid, LocalId, - m_pos, m_appearance.Texture.GetBytes(), m_parentID, rot)); + pos, m_appearance.Texture.GetBytes(), m_parentID, m_bodyRot)); } From f34e8adffb7d84df6c9189f69a16699c69e89fa8 Mon Sep 17 00:00:00 2001 From: "Teravus Ovares (Dan Olivares)" Date: Thu, 22 Oct 2009 18:28:42 -0400 Subject: [PATCH 15/60] * Moved Copyrights above the comments in ODEPrim and ODEDynamics so they're consistent with the rest (and so chi11ken's auto copyright adding script doesn't duplicate the copyright. --- .../Region/Physics/OdePlugin/ODEDynamics.cs | 25 ++++++++-------- OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 29 ++++++++++--------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/OpenSim/Region/Physics/OdePlugin/ODEDynamics.cs b/OpenSim/Region/Physics/OdePlugin/ODEDynamics.cs index 467eba081a..019c78bd1a 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEDynamics.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEDynamics.cs @@ -1,16 +1,4 @@ /* - * Revised Aug, Sept 2009 by Kitto Flora. ODEDynamics.cs replaces - * ODEVehicleSettings.cs. It and ODEPrim.cs are re-organised: - * ODEPrim.cs contains methods dealing with Prim editing, Prim - * characteristics and Kinetic motion. - * ODEDynamics.cs contains methods dealing with Prim Physical motion - * (dynamics) and the associated settings. Old Linear and angular - * motors for dynamic motion have been replace with MoveLinear() - * and MoveAngular(); 'Physical' is used only to switch ODE dynamic - * simualtion on/off; VEHICAL_TYPE_NONE/VEHICAL_TYPE_ is to - * switch between 'VEHICLE' parameter use and general dynamics - * settings use. - * * Copyright (c) Contributors, http://opensimulator.org/ * See CONTRIBUTORS.TXT for a full list of copyright holders. * @@ -37,6 +25,19 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* Revised Aug, Sept 2009 by Kitto Flora. ODEDynamics.cs replaces + * ODEVehicleSettings.cs. It and ODEPrim.cs are re-organised: + * ODEPrim.cs contains methods dealing with Prim editing, Prim + * characteristics and Kinetic motion. + * ODEDynamics.cs contains methods dealing with Prim Physical motion + * (dynamics) and the associated settings. Old Linear and angular + * motors for dynamic motion have been replace with MoveLinear() + * and MoveAngular(); 'Physical' is used only to switch ODE dynamic + * simualtion on/off; VEHICAL_TYPE_NONE/VEHICAL_TYPE_ is to + * switch between 'VEHICLE' parameter use and general dynamics + * settings use. + */ + using System; using System.Collections.Generic; using System.Reflection; diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index f59f0ae9db..412f84de56 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs @@ -1,18 +1,5 @@ -/* - * Revised August 26 2009 by Kitto Flora. ODEDynamics.cs replaces - * ODEVehicleSettings.cs. It and ODEPrim.cs are re-organised: - * ODEPrim.cs contains methods dealing with Prim editing, Prim - * characteristics and Kinetic motion. - * ODEDynamics.cs contains methods dealing with Prim Physical motion - * (dynamics) and the associated settings. Old Linear and angular - * motors for dynamic motion have been replace with MoveLinear() - * and MoveAngular(); 'Physical' is used only to switch ODE dynamic - * simualtion on/off; VEHICAL_TYPE_NONE/VEHICAL_TYPE_ is to - * switch between 'VEHICLE' parameter use and general dynamics - * settings use. - * Copyright (c) Contributors, http://opensimulator.org/ +/* Copyright (c) Contributors, http://opensimulator.org/ * See CONTRIBUTORS.TXT for a full list of copyright holders. - * * 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 @@ -35,6 +22,20 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + +/* + * Revised August 26 2009 by Kitto Flora. ODEDynamics.cs replaces + * ODEVehicleSettings.cs. It and ODEPrim.cs are re-organised: + * ODEPrim.cs contains methods dealing with Prim editing, Prim + * characteristics and Kinetic motion. + * ODEDynamics.cs contains methods dealing with Prim Physical motion + * (dynamics) and the associated settings. Old Linear and angular + * motors for dynamic motion have been replace with MoveLinear() + * and MoveAngular(); 'Physical' is used only to switch ODE dynamic + * simualtion on/off; VEHICAL_TYPE_NONE/VEHICAL_TYPE_ is to + * switch between 'VEHICLE' parameter use and general dynamics + * settings use. + */ using System; using System.Collections.Generic; using System.Reflection; From 96d53f11e554f37c135fa2d009f9ffed1a5ec724 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 22 Oct 2009 17:03:13 -0700 Subject: [PATCH 16/60] Added VS2010 support to Prebuild and created runprebuild2010.bat --- Prebuild/src/Core/Nodes/ProjectNode.cs | 4 + Prebuild/src/Core/Targets/VS2008Target.cs | 2 +- Prebuild/src/Core/Targets/VS2010Target.cs | 134 +++++++++++++++++++ Prebuild/src/Core/Targets/VSGenericTarget.cs | 2 +- Prebuild/src/Core/Targets/VSVersion.cs | 6 +- bin/Prebuild.exe | Bin 246272 -> 237568 bytes prebuild.xml | 2 +- runprebuild2010.bat | 2 + 8 files changed, 148 insertions(+), 4 deletions(-) create mode 100644 Prebuild/src/Core/Targets/VS2010Target.cs create mode 100644 runprebuild2010.bat diff --git a/Prebuild/src/Core/Nodes/ProjectNode.cs b/Prebuild/src/Core/Nodes/ProjectNode.cs index 0a24abf2f9..04af7a3582 100644 --- a/Prebuild/src/Core/Nodes/ProjectNode.cs +++ b/Prebuild/src/Core/Nodes/ProjectNode.cs @@ -90,6 +90,10 @@ namespace Prebuild.Core.Nodes /// .NET 3.5 /// v3_5, + /// + /// .NET 4.0 + /// + v4_0, } /// /// The Node object representing /Prebuild/Solution/Project elements diff --git a/Prebuild/src/Core/Targets/VS2008Target.cs b/Prebuild/src/Core/Targets/VS2008Target.cs index f30017b687..e685962b5a 100644 --- a/Prebuild/src/Core/Targets/VS2008Target.cs +++ b/Prebuild/src/Core/Targets/VS2008Target.cs @@ -120,7 +120,7 @@ namespace Prebuild.Core.Targets #region Constructors /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// public VS2008Target() : base() diff --git a/Prebuild/src/Core/Targets/VS2010Target.cs b/Prebuild/src/Core/Targets/VS2010Target.cs new file mode 100644 index 0000000000..8772d18595 --- /dev/null +++ b/Prebuild/src/Core/Targets/VS2010Target.cs @@ -0,0 +1,134 @@ +using System; +using System.Collections; +using System.Collections.Specialized; +using System.IO; +using System.Text; + +using Prebuild.Core.Attributes; +using Prebuild.Core.Interfaces; +using Prebuild.Core.Nodes; +using Prebuild.Core.Utilities; +using System.CodeDom.Compiler; + +namespace Prebuild.Core.Targets +{ + + /// + /// + /// + [Target("vs2010")] + public class VS2010Target : VSGenericTarget + { + #region Fields + string solutionVersion = "11.00"; + string productVersion = "9.0.21022"; + string schemaVersion = "2.0"; + string versionName = "Visual Studio 2010"; + string name = "vs2008"; + VSVersion version = VSVersion.VS10; + + Hashtable tools; + Kernel kernel; + + /// + /// Gets or sets the solution version. + /// + /// The solution version. + public override string SolutionVersion + { + get + { + return solutionVersion; + } + } + /// + /// Gets or sets the product version. + /// + /// The product version. + public override string ProductVersion + { + get + { + return productVersion; + } + } + /// + /// Gets or sets the schema version. + /// + /// The schema version. + public override string SchemaVersion + { + get + { + return schemaVersion; + } + } + /// + /// Gets or sets the name of the version. + /// + /// The name of the version. + public override string VersionName + { + get + { + return versionName; + } + } + /// + /// Gets or sets the version. + /// + /// The version. + public override VSVersion Version + { + get + { + return version; + } + } + /// + /// Gets the name. + /// + /// The name. + public override string Name + { + get + { + return name; + } + } + + protected override string GetToolsVersionXml(FrameworkVersion frameworkVersion) + { + switch (frameworkVersion) + { + case FrameworkVersion.v4_0: + return "ToolsVersion=\"4.0\""; + case FrameworkVersion.v3_5: + return "ToolsVersion=\"3.5\""; + case FrameworkVersion.v3_0: + return "ToolsVersion=\"3.0\""; + default: + return "ToolsVersion=\"2.0\""; + } + } + + public override string SolutionTag + { + get { return "# Visual Studio 2010"; } + } + + #endregion + + #region Constructors + + /// + /// Initializes a new instance of the class. + /// + public VS2010Target() + : base() + { + } + + #endregion + } +} diff --git a/Prebuild/src/Core/Targets/VSGenericTarget.cs b/Prebuild/src/Core/Targets/VSGenericTarget.cs index 84f1df5061..fdcc2b909a 100644 --- a/Prebuild/src/Core/Targets/VSGenericTarget.cs +++ b/Prebuild/src/Core/Targets/VSGenericTarget.cs @@ -173,7 +173,7 @@ namespace Prebuild.Core.Targets #region Project File using (ps) { - ps.WriteLine("", GetToolsVersionXml(project.FrameworkVersion)); + ps.WriteLine("", this.Version == VSVersion.VS10 ? "4.0" : "3.5"); ps.WriteLine(" "); ps.WriteLine(" Local"); ps.WriteLine(" {0}", this.ProductVersion); diff --git a/Prebuild/src/Core/Targets/VSVersion.cs b/Prebuild/src/Core/Targets/VSVersion.cs index f477086778..59549b00a9 100644 --- a/Prebuild/src/Core/Targets/VSVersion.cs +++ b/Prebuild/src/Core/Targets/VSVersion.cs @@ -45,6 +45,10 @@ namespace Prebuild.Core.Targets /// /// Visual Studio 2008 /// - VS90 + VS90, + /// + /// Visual Studio 2010 + /// + VS10 } } diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe index e58657ca70f75bfe67cf439dba32587dba96584b..eb4c224ac5412c827ee19ee93fa217eb73f0823e 100755 GIT binary patch literal 237568 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 C~-i(lxIZ%$p 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 literal 246272 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ì`_cfBs@mY=8JB|(~i79?j^Nr@{ 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 diff --git a/prebuild.xml b/prebuild.xml index 81f907deef..1c44ebff2a 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -3135,7 +3135,7 @@ - + ../../../bin/ diff --git a/runprebuild2010.bat b/runprebuild2010.bat new file mode 100644 index 0000000000..8c832b3313 --- /dev/null +++ b/runprebuild2010.bat @@ -0,0 +1,2 @@ +bin\Prebuild.exe /target vs2010 +echo C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild OpenSim.sln > compile.bat From 588361e2a2398b963871762c2b5485c6a086cf47 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 23 Oct 2009 01:02:36 -0700 Subject: [PATCH 17/60] Experimental change to use an immutable array for iterating ScenePresences, avoiding locking and copying the list each time it is accessed --- .../ClientStack/LindenUDP/LLClientView.cs | 141 ++++++++------- .../CoreModules/Avatar/Combat/CombatModule.cs | 8 +- .../CoreModules/Avatar/Dialog/DialogModule.cs | 17 +- .../World/Estate/EstateManagementModule.cs | 7 +- OpenSim/Region/Framework/Scenes/Scene.cs | 25 ++- OpenSim/Region/Framework/Scenes/SceneGraph.cs | 164 +++++++++--------- .../Region/Framework/Scenes/SceneManager.cs | 53 +++--- .../Framework/Scenes/SceneObjectGroup.cs | 4 +- .../Framework/Scenes/SceneObjectPart.cs | 123 +++++++------ .../Region/Framework/Scenes/ScenePresence.cs | 23 ++- .../Shared/Api/Implementation/LSL_Api.cs | 8 +- .../Implementation/Plugins/SensorRepeat.cs | 13 +- .../UserStatistics/ActiveConnectionsAJAX.cs | 14 +- 13 files changed, 312 insertions(+), 288 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 5acf25fdb1..e81ff4b00f 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -4434,6 +4434,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP protected virtual void RegisterLocalPacketHandlers() { AddLocalPacketHandler(PacketType.LogoutRequest, Logout); + AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate); AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect); AddLocalPacketHandler(PacketType.AgentCachedTexture, AgentTextureCached); AddLocalPacketHandler(PacketType.MultipleObjectUpdate, MultipleObjUpdate); @@ -4446,6 +4447,75 @@ namespace OpenSim.Region.ClientStack.LindenUDP #region Packet Handlers + private bool HandleAgentUpdate(IClientAPI sener, Packet Pack) + { + if (OnAgentUpdate != null) + { + bool update = false; + AgentUpdatePacket agenUpdate = (AgentUpdatePacket)Pack; + + #region Packet Session and User Check + if (agenUpdate.AgentData.SessionID != SessionId || agenUpdate.AgentData.AgentID != AgentId) + return false; + #endregion + + AgentUpdatePacket.AgentDataBlock x = agenUpdate.AgentData; + + // We can only check when we have something to check + // against. + + if (lastarg != null) + { + update = + ( + (x.BodyRotation != lastarg.BodyRotation) || + (x.CameraAtAxis != lastarg.CameraAtAxis) || + (x.CameraCenter != lastarg.CameraCenter) || + (x.CameraLeftAxis != lastarg.CameraLeftAxis) || + (x.CameraUpAxis != lastarg.CameraUpAxis) || + (x.ControlFlags != lastarg.ControlFlags) || + (x.Far != lastarg.Far) || + (x.Flags != lastarg.Flags) || + (x.State != lastarg.State) || + (x.HeadRotation != lastarg.HeadRotation) || + (x.SessionID != lastarg.SessionID) || + (x.AgentID != lastarg.AgentID) + ); + } + else + update = true; + + // These should be ordered from most-likely to + // least likely to change. I've made an initial + // guess at that. + + if (update) + { + AgentUpdateArgs arg = new AgentUpdateArgs(); + arg.AgentID = x.AgentID; + arg.BodyRotation = x.BodyRotation; + arg.CameraAtAxis = x.CameraAtAxis; + arg.CameraCenter = x.CameraCenter; + arg.CameraLeftAxis = x.CameraLeftAxis; + arg.CameraUpAxis = x.CameraUpAxis; + arg.ControlFlags = x.ControlFlags; + arg.Far = x.Far; + arg.Flags = x.Flags; + arg.HeadRotation = x.HeadRotation; + arg.SessionID = x.SessionID; + arg.State = x.State; + UpdateAgent handlerAgentUpdate = OnAgentUpdate; + lastarg = arg; // save this set of arguments for nexttime + if (handlerAgentUpdate != null) + OnAgentUpdate(this, arg); + + handlerAgentUpdate = null; + } + } + + return true; + } + private bool HandleMoneyTransferRequest(IClientAPI sender, Packet Pack) { MoneyTransferRequestPacket money = (MoneyTransferRequestPacket)Pack; @@ -5631,77 +5701,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP break; - case PacketType.AgentUpdate: - if (OnAgentUpdate != null) - { - bool update = false; - AgentUpdatePacket agenUpdate = (AgentUpdatePacket)Pack; - - #region Packet Session and User Check - if (m_checkPackets) - { - if (agenUpdate.AgentData.SessionID != SessionId || - agenUpdate.AgentData.AgentID != AgentId) - break; - } - #endregion - - AgentUpdatePacket.AgentDataBlock x = agenUpdate.AgentData; - - // We can only check when we have something to check - // against. - - if (lastarg != null) - { - update = - ( - (x.BodyRotation != lastarg.BodyRotation) || - (x.CameraAtAxis != lastarg.CameraAtAxis) || - (x.CameraCenter != lastarg.CameraCenter) || - (x.CameraLeftAxis != lastarg.CameraLeftAxis) || - (x.CameraUpAxis != lastarg.CameraUpAxis) || - (x.ControlFlags != lastarg.ControlFlags) || - (x.Far != lastarg.Far) || - (x.Flags != lastarg.Flags) || - (x.State != lastarg.State) || - (x.HeadRotation != lastarg.HeadRotation) || - (x.SessionID != lastarg.SessionID) || - (x.AgentID != lastarg.AgentID) - ); - } - else - update = true; - - // These should be ordered from most-likely to - // least likely to change. I've made an initial - // guess at that. - - if (update) - { - AgentUpdateArgs arg = new AgentUpdateArgs(); - arg.AgentID = x.AgentID; - arg.BodyRotation = x.BodyRotation; - arg.CameraAtAxis = x.CameraAtAxis; - arg.CameraCenter = x.CameraCenter; - arg.CameraLeftAxis = x.CameraLeftAxis; - arg.CameraUpAxis = x.CameraUpAxis; - arg.ControlFlags = x.ControlFlags; - arg.Far = x.Far; - arg.Flags = x.Flags; - arg.HeadRotation = x.HeadRotation; - arg.SessionID = x.SessionID; - arg.State = x.State; - UpdateAgent handlerAgentUpdate = OnAgentUpdate; - lastarg = arg; // save this set of arguments for nexttime - if (handlerAgentUpdate != null) - OnAgentUpdate(this, arg); - - handlerAgentUpdate = null; - } - - } - break; - case PacketType.AgentAnimation: AgentAnimationPacket AgentAni = (AgentAnimationPacket)Pack; diff --git a/OpenSim/Region/CoreModules/Avatar/Combat/CombatModule.cs b/OpenSim/Region/CoreModules/Avatar/Combat/CombatModule.cs index 9387bceb47..61b6d65cc7 100644 --- a/OpenSim/Region/CoreModules/Avatar/Combat/CombatModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Combat/CombatModule.cs @@ -96,12 +96,14 @@ namespace OpenSim.Region.CoreModules.Avatar.Combat.CombatModule else { bool foundResult = false; - string resultstring = ""; - List allav = DeadAvatar.Scene.GetScenePresences(); + string resultstring = String.Empty; + ScenePresence[] allav = DeadAvatar.Scene.GetScenePresences(); try { - foreach (ScenePresence av in allav) + for (int i = 0; i < allav.Length; i++) { + ScenePresence av = allav[i]; + if (av.LocalId == killerObjectLocalID) { av.ControllingClient.SendAlertMessage("You fragged " + DeadAvatar.Firstname + " " + DeadAvatar.Lastname); diff --git a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs index ebebaf9e65..72ec869c48 100644 --- a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs @@ -85,10 +85,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog public void SendAlertToUser(string firstName, string lastName, string message, bool modal) { - List presenceList = m_scene.GetScenePresences(); + ScenePresence[] presenceList = m_scene.GetScenePresences(); - foreach (ScenePresence presence in presenceList) + for (int i = 0; i < presenceList.Length; i++) { + ScenePresence presence = presenceList[i]; + if (presence.Firstname == firstName && presence.Lastname == lastName) { presence.ControllingClient.SendAgentAlertMessage(message, modal); @@ -99,10 +101,12 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog public void SendGeneralAlert(string message) { - List presenceList = m_scene.GetScenePresences(); + ScenePresence[] presenceList = m_scene.GetScenePresences(); - foreach (ScenePresence presence in presenceList) + for (int i = 0; i < presenceList.Length; i++) { + ScenePresence presence = presenceList[i]; + if (!presence.IsChildAgent) presence.ControllingClient.SendAlertMessage(message); } @@ -150,10 +154,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog public void SendNotificationToUsersInRegion( UUID fromAvatarID, string fromAvatarName, string message) { - List presenceList = m_scene.GetScenePresences(); + ScenePresence[] presences = m_scene.GetScenePresences(); - foreach (ScenePresence presence in presenceList) + for (int i = 0; i < presences.Length; i++) { + ScenePresence presence = presences[i]; if (!presence.IsChildAgent) presence.ControllingClient.SendBlueBoxMessage(fromAvatarID, fromAvatarName, message); } diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 3bb162e469..e3a395eef5 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs @@ -414,9 +414,12 @@ namespace OpenSim.Region.CoreModules.World.Estate private void handleEstateTeleportAllUsersHomeRequest(IClientAPI remover_client, UUID invoice, UUID senderID) { // Get a fresh list that will not change as people get teleported away - List prescences = m_scene.GetScenePresences(); - foreach (ScenePresence p in prescences) + ScenePresence[] presences = m_scene.GetScenePresences(); + + for (int i = 0; i < presences.Length; i++) { + ScenePresence p = presences[i]; + if (p.UUID != senderID) { // make sure they are still there, we could be working down a long list diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 4b87f929cd..d5e3445c77 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -253,7 +253,7 @@ namespace OpenSim.Region.Framework.Scenes protected int m_fps = 10; protected int m_frame = 0; protected float m_timespan = 0.089f; - protected DateTime m_lastupdate = DateTime.Now; + protected DateTime m_lastupdate = DateTime.UtcNow; private int m_update_physics = 1; private int m_update_entitymovement = 1; @@ -1014,7 +1014,7 @@ namespace OpenSim.Region.Framework.Scenes //#endif maintc = Environment.TickCount; - TimeSpan SinceLastFrame = DateTime.Now - m_lastupdate; + TimeSpan SinceLastFrame = DateTime.UtcNow - m_lastupdate; float physicsFPS = 0; frameMS = Environment.TickCount; @@ -1137,7 +1137,7 @@ namespace OpenSim.Region.Framework.Scenes } m_timedilation = tmpval; - m_lastupdate = DateTime.Now; + m_lastupdate = DateTime.UtcNow; } maintc = Environment.TickCount - maintc; maintc = (int)(m_timespan * 1000) - maintc; @@ -3496,9 +3496,7 @@ namespace OpenSim.Region.Framework.Scenes public virtual void AgentCrossing(UUID agentID, Vector3 position, bool isFlying) { ScenePresence presence; - - lock (m_sceneGraph.ScenePresences) - m_sceneGraph.ScenePresences.TryGetValue(agentID, out presence); + m_sceneGraph.TryGetAvatar(agentID, out presence); if (presence != null) { @@ -3709,8 +3707,7 @@ namespace OpenSim.Region.Framework.Scenes Vector3 lookAt, uint teleportFlags) { ScenePresence sp; - lock (m_sceneGraph.ScenePresences) - m_sceneGraph.ScenePresences.TryGetValue(remoteClient.AgentId, out sp); + m_sceneGraph.TryGetAvatar(remoteClient.AgentId, out sp); if (sp != null) { @@ -4112,7 +4109,7 @@ namespace OpenSim.Region.Framework.Scenes /// This list is a new object, so it can be iterated over without locking. ///
/// - public List GetScenePresences() + public ScenePresence[] GetScenePresences() { return m_sceneGraph.GetScenePresences(); } @@ -4159,15 +4156,13 @@ namespace OpenSim.Region.Framework.Scenes public void ForEachScenePresence(Action action) { // We don't want to try to send messages if there are no avatars. - if (m_sceneGraph != null && m_sceneGraph.ScenePresences != null) + if (m_sceneGraph != null) { try { - List presenceList = GetScenePresences(); - foreach (ScenePresence presence in presenceList) - { - action(presence); - } + ScenePresence[] presences = GetScenePresences(); + for (int i = 0; i < presences.Length; i++) + action(presences[i]); } catch (Exception e) { diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index deee6c3647..db055f968e 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs @@ -66,7 +66,9 @@ namespace OpenSim.Region.Framework.Scenes #region Fields - protected internal Dictionary ScenePresences = new Dictionary(); + protected Dictionary m_scenePresences = new Dictionary(); + protected ScenePresence[] m_scenePresenceArray = new ScenePresence[0]; + // SceneObjects is not currently populated or used. //public Dictionary SceneObjects; protected internal EntityManager Entities = new EntityManager(); @@ -126,10 +128,12 @@ namespace OpenSim.Region.Framework.Scenes protected internal void Close() { - lock (ScenePresences) + lock (m_scenePresences) { - ScenePresences.Clear(); + m_scenePresences.Clear(); + m_scenePresenceArray = new ScenePresence[0]; } + lock (m_dictionary_lock) { SceneObjectGroupsByFullID.Clear(); @@ -157,11 +161,9 @@ namespace OpenSim.Region.Framework.Scenes protected internal void UpdatePresences() { - List updateScenePresences = GetScenePresences(); - foreach (ScenePresence pres in updateScenePresences) - { - pres.Update(); - } + ScenePresence[] updateScenePresences = GetScenePresences(); + for (int i = 0; i < updateScenePresences.Length; i++) + updateScenePresences[i].Update(); } protected internal float UpdatePhysics(double elapsed) @@ -190,15 +192,9 @@ namespace OpenSim.Region.Framework.Scenes protected internal void UpdateScenePresenceMovement() { - List moveEntities = GetScenePresences(); - - foreach (EntityBase entity in moveEntities) - { - //cfk. This throws occaisional exceptions on a heavily used region - //and I added this null check to try to preclude the exception. - if (entity != null) - entity.UpdateMovement(); - } + ScenePresence[] moveEntities = GetScenePresences(); + for (int i = 0; i < moveEntities.Length; i++) + moveEntities[i].UpdateMovement(); } #endregion @@ -645,9 +641,34 @@ namespace OpenSim.Region.Framework.Scenes Entities[presence.UUID] = presence; - lock (ScenePresences) + lock (m_scenePresences) { - ScenePresences[presence.UUID] = presence; + if (!m_scenePresences.ContainsKey(presence.UUID)) + { + m_scenePresences.Add(presence.UUID, presence); + + // Create a new array of ScenePresence references + int oldLength = m_scenePresenceArray.Length; + ScenePresence[] newArray = new ScenePresence[oldLength + 1]; + Array.Copy(m_scenePresenceArray, newArray, oldLength); + newArray[oldLength] = presence; + m_scenePresenceArray = newArray; + } + else + { + m_scenePresences[presence.UUID] = presence; + + // Do a linear search through the array of ScenePresence references + // and update the modified entry + for (int i = 0; i < m_scenePresenceArray.Length; i++) + { + if (m_scenePresenceArray[i].UUID == presence.UUID) + { + m_scenePresenceArray[i] = presence; + break; + } + } + } } } @@ -663,16 +684,30 @@ namespace OpenSim.Region.Framework.Scenes agentID); } - lock (ScenePresences) + lock (m_scenePresences) { - if (!ScenePresences.Remove(agentID)) + if (m_scenePresences.Remove(agentID)) + { + // Copy all of the elements from the previous array + // into the new array except the removed element + int oldLength = m_scenePresenceArray.Length; + ScenePresence[] newArray = new ScenePresence[oldLength - 1]; + int j = 0; + for (int i = 0; i < m_scenePresenceArray.Length; i++) + { + ScenePresence presence = m_scenePresenceArray[i]; + if (presence.UUID != agentID) + { + newArray[j] = presence; + ++j; + } + } + m_scenePresenceArray = newArray; + } + else { m_log.WarnFormat("[SCENE] Tried to remove non-existent scene presence with agent ID {0} from scene ScenePresences list", agentID); } -// else -// { -// m_log.InfoFormat("[SCENE] Removed scene presence {0} from scene presences list", agentID); -// } } } @@ -704,20 +739,21 @@ namespace OpenSim.Region.Framework.Scenes public void RecalculateStats() { - List SPList = GetScenePresences(); + ScenePresence[] presences = GetScenePresences(); int rootcount = 0; int childcount = 0; - foreach (ScenePresence user in SPList) + for (int i = 0; i < presences.Length; i++) { + ScenePresence user = presences[i]; if (user.IsChildAgent) - childcount++; + ++childcount; else - rootcount++; + ++rootcount; } + m_numRootAgents = rootcount; m_numChildAgents = childcount; - } public int GetChildAgentCount() @@ -767,12 +803,9 @@ namespace OpenSim.Region.Framework.Scenes /// locking is required to iterate over it. ///
/// - protected internal List GetScenePresences() + protected internal ScenePresence[] GetScenePresences() { - lock (ScenePresences) - { - return new List(ScenePresences.Values); - } + return m_scenePresenceArray; } protected internal List GetAvatars() @@ -817,14 +850,13 @@ namespace OpenSim.Region.Framework.Scenes // No locking of scene presences here since we're passing back a list... List result = new List(); - List ScenePresencesList = GetScenePresences(); + ScenePresence[] scenePresences = GetScenePresences(); - foreach (ScenePresence avatar in ScenePresencesList) + for (int i = 0; i < scenePresences.Length; i++) { + ScenePresence avatar = scenePresences[i]; if (filter(avatar)) - { result.Add(avatar); - } } return result; @@ -839,9 +871,9 @@ namespace OpenSim.Region.Framework.Scenes { ScenePresence sp; - lock (ScenePresences) + lock (m_scenePresences) { - ScenePresences.TryGetValue(agentID, out sp); + m_scenePresences.TryGetValue(agentID, out sp); } return sp; @@ -1000,48 +1032,24 @@ namespace OpenSim.Region.Framework.Scenes protected internal bool TryGetAvatar(UUID avatarId, out ScenePresence avatar) { - ScenePresence presence; - - lock (ScenePresences) - { - if (ScenePresences.TryGetValue(avatarId, out presence)) - { - avatar = presence; - return true; - - //if (!presence.IsChildAgent) - //{ - // avatar = presence; - // return true; - //} - //else - //{ - // m_log.WarnFormat( - // "[INNER SCENE]: Requested avatar {0} could not be found in scene {1} since it is only registered as a child agent!", - // avatarId, m_parentScene.RegionInfo.RegionName); - //} - } - } - - avatar = null; - return false; + lock (m_scenePresences) + return m_scenePresences.TryGetValue(avatarId, out avatar); } protected internal bool TryGetAvatarByName(string avatarName, out ScenePresence avatar) { - lock (ScenePresences) - { - foreach (ScenePresence presence in ScenePresences.Values) - { - if (!presence.IsChildAgent) - { - string name = presence.ControllingClient.Name; + ScenePresence[] presences = GetScenePresences(); - if (String.Compare(avatarName, name, true) == 0) - { - avatar = presence; - return true; - } + for (int i = 0; i < presences.Length; i++) + { + ScenePresence presence = presences[i]; + + if (!presence.IsChildAgent) + { + if (String.Compare(avatarName, presence.ControllingClient.Name, true) == 0) + { + avatar = presence; + return true; } } } diff --git a/OpenSim/Region/Framework/Scenes/SceneManager.cs b/OpenSim/Region/Framework/Scenes/SceneManager.cs index 3097929501..dfaa7eae8d 100644 --- a/OpenSim/Region/Framework/Scenes/SceneManager.cs +++ b/OpenSim/Region/Framework/Scenes/SceneManager.cs @@ -411,41 +411,46 @@ namespace OpenSim.Region.Framework.Scenes /// public void SetDebugPacketLevelOnCurrentScene(int newDebug) { - ForEachCurrentScene(delegate(Scene scene) - { - List scenePresences = scene.GetScenePresences(); + ForEachCurrentScene( + delegate(Scene scene) + { + ScenePresence[] scenePresences = scene.GetScenePresences(); - foreach (ScenePresence scenePresence in scenePresences) - { - if (!scenePresence.IsChildAgent) - { - m_log.ErrorFormat("Packet debug for {0} {1} set to {2}", - scenePresence.Firstname, - scenePresence.Lastname, - newDebug); + for (int i = 0; i < scenePresences.Length; i++) + { + ScenePresence scenePresence = scenePresences[i]; - scenePresence.ControllingClient.SetDebugPacketLevel(newDebug); - } - } - }); + if (!scenePresence.IsChildAgent) + { + m_log.ErrorFormat("Packet debug for {0} {1} set to {2}", + scenePresence.Firstname, + scenePresence.Lastname, + newDebug); + + scenePresence.ControllingClient.SetDebugPacketLevel(newDebug); + } + } + } + ); } public List GetCurrentSceneAvatars() { List avatars = new List(); - ForEachCurrentScene(delegate(Scene scene) - { - List scenePresences = scene.GetScenePresences(); - - foreach (ScenePresence scenePresence in scenePresences) + ForEachCurrentScene( + delegate(Scene scene) { - if (!scenePresence.IsChildAgent) + ScenePresence[] scenePresences = scene.GetScenePresences(); + + for (int i = 0; i < scenePresences.Length; i++) { - avatars.Add(scenePresence); + ScenePresence scenePresence = scenePresences[i]; + if (!scenePresence.IsChildAgent) + avatars.Add(scenePresence); } } - }); + ); return avatars; } @@ -456,7 +461,7 @@ namespace OpenSim.Region.Framework.Scenes ForEachCurrentScene(delegate(Scene scene) { - List scenePresences = scene.GetScenePresences(); + ScenePresence[] scenePresences = scene.GetScenePresences(); presences.AddRange(scenePresences); }); diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 69b3ded052..4f19761607 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -1182,8 +1182,8 @@ namespace OpenSim.Region.Framework.Scenes { // part.Inventory.RemoveScriptInstances(); - List avatars = Scene.GetScenePresences(); - for (int i = 0; i < avatars.Count; i++) + ScenePresence[] avatars = Scene.GetScenePresences(); + for (int i = 0; i < avatars.Length; i++) { if (avatars[i].ParentID == LocalId) { diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 32171a0b45..719300228c 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -1077,8 +1077,8 @@ if (m_shape != null) { private void SendObjectPropertiesToClient(UUID AgentID) { - List avatars = m_parentGroup.Scene.GetScenePresences(); - for (int i = 0; i < avatars.Count; i++) + ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences(); + for (int i = 0; i < avatars.Length; i++) { // Ugly reference :( if (avatars[i].UUID == AgentID) @@ -1140,8 +1140,8 @@ if (m_shape != null) { ///
public void AddFullUpdateToAllAvatars() { - List avatars = m_parentGroup.Scene.GetScenePresences(); - for (int i = 0; i < avatars.Count; i++) + ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences(); + for (int i = 0; i < avatars.Length; i++) { avatars[i].SceneViewer.QueuePartForUpdate(this); } @@ -1165,8 +1165,8 @@ if (m_shape != null) { /// Terse updates public void AddTerseUpdateToAllAvatars() { - List avatars = m_parentGroup.Scene.GetScenePresences(); - for (int i = 0; i < avatars.Count; i++) + ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences(); + for (int i = 0; i < avatars.Length; i++) { avatars[i].SceneViewer.QueuePartForUpdate(this); } @@ -1894,24 +1894,24 @@ if (m_shape != null) { } else { - List avlist = m_parentGroup.Scene.GetScenePresences(); - if (avlist != null) + ScenePresence[] avlist = m_parentGroup.Scene.GetScenePresences(); + + for (int i = 0; i < avlist.Length; i++) { - foreach (ScenePresence av in avlist) + ScenePresence av = avlist[i]; + + if (av.LocalId == localId) { - if (av.LocalId == localId) - { - DetectedObject detobj = new DetectedObject(); - detobj.keyUUID = av.UUID; - detobj.nameStr = av.ControllingClient.Name; - detobj.ownerUUID = av.UUID; - detobj.posVector = av.AbsolutePosition; - detobj.rotQuat = av.Rotation; - detobj.velVector = av.Velocity; - detobj.colliderType = 0; - detobj.groupUUID = av.ControllingClient.ActiveGroupId; - colliding.Add(detobj); - } + DetectedObject detobj = new DetectedObject(); + detobj.keyUUID = av.UUID; + detobj.nameStr = av.ControllingClient.Name; + detobj.ownerUUID = av.UUID; + detobj.posVector = av.AbsolutePosition; + detobj.rotQuat = av.Rotation; + detobj.velVector = av.Velocity; + detobj.colliderType = 0; + detobj.groupUUID = av.ControllingClient.ActiveGroupId; + colliding.Add(detobj); } } } @@ -1965,26 +1965,25 @@ if (m_shape != null) { } else { - List avlist = m_parentGroup.Scene.GetScenePresences(); - if (avlist != null) + ScenePresence[] avlist = m_parentGroup.Scene.GetScenePresences(); + + for (int i = 0; i < avlist.Length; i++) { - foreach (ScenePresence av in avlist) - { - if (av.LocalId == localId) - { - DetectedObject detobj = new DetectedObject(); - detobj.keyUUID = av.UUID; - detobj.nameStr = av.Name; - detobj.ownerUUID = av.UUID; - detobj.posVector = av.AbsolutePosition; - detobj.rotQuat = av.Rotation; - detobj.velVector = av.Velocity; - detobj.colliderType = 0; - detobj.groupUUID = av.ControllingClient.ActiveGroupId; - colliding.Add(detobj); - } - } + ScenePresence av = avlist[i]; + if (av.LocalId == localId) + { + DetectedObject detobj = new DetectedObject(); + detobj.keyUUID = av.UUID; + detobj.nameStr = av.Name; + detobj.ownerUUID = av.UUID; + detobj.posVector = av.AbsolutePosition; + detobj.rotQuat = av.Rotation; + detobj.velVector = av.Velocity; + detobj.colliderType = 0; + detobj.groupUUID = av.ControllingClient.ActiveGroupId; + colliding.Add(detobj); + } } } } @@ -2035,24 +2034,24 @@ if (m_shape != null) { } else { - List avlist = m_parentGroup.Scene.GetScenePresences(); - if (avlist != null) + ScenePresence[] avlist = m_parentGroup.Scene.GetScenePresences(); + + for (int i = 0; i < avlist.Length; i++) { - foreach (ScenePresence av in avlist) + ScenePresence av = avlist[i]; + + if (av.LocalId == localId) { - if (av.LocalId == localId) - { - DetectedObject detobj = new DetectedObject(); - detobj.keyUUID = av.UUID; - detobj.nameStr = av.Name; - detobj.ownerUUID = av.UUID; - detobj.posVector = av.AbsolutePosition; - detobj.rotQuat = av.Rotation; - detobj.velVector = av.Velocity; - detobj.colliderType = 0; - detobj.groupUUID = av.ControllingClient.ActiveGroupId; - colliding.Add(detobj); - } + DetectedObject detobj = new DetectedObject(); + detobj.keyUUID = av.UUID; + detobj.nameStr = av.Name; + detobj.ownerUUID = av.UUID; + detobj.posVector = av.AbsolutePosition; + detobj.rotQuat = av.Rotation; + detobj.velVector = av.Velocity; + detobj.colliderType = 0; + detobj.groupUUID = av.ControllingClient.ActiveGroupId; + colliding.Add(detobj); } } } @@ -2312,8 +2311,8 @@ if (m_shape != null) { ///
public void SendFullUpdateToAllClients() { - List avatars = m_parentGroup.Scene.GetScenePresences(); - for (int i = 0; i < avatars.Count; i++) + ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences(); + for (int i = 0; i < avatars.Length; i++) { // Ugly reference :( m_parentGroup.SendPartFullUpdate(avatars[i].ControllingClient, this, @@ -2323,8 +2322,8 @@ if (m_shape != null) { public void SendFullUpdateToAllClientsExcept(UUID agentID) { - List avatars = m_parentGroup.Scene.GetScenePresences(); - for (int i = 0; i < avatars.Count; i++) + ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences(); + for (int i = 0; i < avatars.Length; i++) { // Ugly reference :( if (avatars[i].UUID != agentID) @@ -2467,8 +2466,8 @@ if (m_shape != null) { ///
public void SendTerseUpdateToAllClients() { - List avatars = m_parentGroup.Scene.GetScenePresences(); - for (int i = 0; i < avatars.Count; i++) + ScenePresence[] avatars = m_parentGroup.Scene.GetScenePresences(); + for (int i = 0; i < avatars.Length; i++) { SendTerseUpdateToClient(avatars[i].ControllingClient); } diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index ccfffe7730..77706ace86 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -869,14 +869,16 @@ namespace OpenSim.Region.Framework.Scenes m_isChildAgent = false; - List AnimAgents = m_scene.GetScenePresences(); - foreach (ScenePresence p in AnimAgents) + ScenePresence[] animAgents = m_scene.GetScenePresences(); + for (int i = 0; i < animAgents.Length; i++) { - if (p != this) - p.SendAnimPackToClient(ControllingClient); - } - m_scene.EventManager.TriggerOnMakeRootAgent(this); + ScenePresence presence = animAgents[i]; + if (presence != this) + presence.SendAnimPackToClient(ControllingClient); + } + + m_scene.EventManager.TriggerOnMakeRootAgent(this); } /// @@ -2533,9 +2535,12 @@ namespace OpenSim.Region.Framework.Scenes { m_perfMonMS = Environment.TickCount; - List avatars = m_scene.GetScenePresences(); - foreach (ScenePresence avatar in avatars) + ScenePresence[] avatars = m_scene.GetScenePresences(); + + for (int i = 0; i < avatars.Length; i++) { + ScenePresence avatar = avatars[i]; + // only send if this is the root (children are only "listening posts" in a foreign region) if (!IsChildAgent) { @@ -2553,7 +2558,7 @@ namespace OpenSim.Region.Framework.Scenes } } - m_scene.StatsReporter.AddAgentUpdates(avatars.Count); + m_scene.StatsReporter.AddAgentUpdates(avatars.Length); m_scene.StatsReporter.AddAgentTime(Environment.TickCount - m_perfMonMS); //SendAnimPack(); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 669189d9f3..56d4d28b6d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -7227,13 +7227,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer llGetNumberOfPrims() { m_host.AddScriptLPS(1); - List presences = World.GetScenePresences(); - if (presences.Count == 0) + ScenePresence[] presences = World.GetScenePresences(); + if (presences.Length == 0) return 0; int avatarCount = 0; - foreach (ScenePresence presence in presences) + for (int i = 0; i < presences.Length; i++) { + ScenePresence presence = presences[i]; + if (!presence.IsChildAgent && presence.ParentID != 0) { if (m_host.ParentGroup.HasChildPrim(presence.ParentID)) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs index a09c8db28b..ee01c3c6d8 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs @@ -404,7 +404,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins private List doAgentSensor(SenseRepeatClass ts) { - List Presences; + List presences; List sensedEntities = new List(); // If this is an avatar sense by key try to get them directly @@ -414,16 +414,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins ScenePresence p = m_CmdManager.m_ScriptEngine.World.GetScenePresence(ts.keyID); if (p == null) return sensedEntities; - Presences = new List(); - Presences.Add(p); + presences = new List(); + presences.Add(p); } else { - Presences = m_CmdManager.m_ScriptEngine.World.GetScenePresences(); + presences = new List(m_CmdManager.m_ScriptEngine.World.GetScenePresences()); } // If nobody about quit fast - if (Presences.Count == 0) + if (presences.Count == 0) return sensedEntities; SceneObjectPart SensePoint = ts.host; @@ -440,8 +440,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins Vector3 toRegionPos; double dis; - foreach (ScenePresence presence in Presences) + for (int i = 0; i < presences.Count; i++) { + ScenePresence presence = presences[i]; bool keep = true; if (presence.IsDeleted) diff --git a/OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs b/OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs index d7c39a3ec2..704b74f67b 100644 --- a/OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs +++ b/OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs @@ -68,11 +68,11 @@ namespace OpenSim.Region.UserStatistics HTMLUtil.OL_O(ref output, ""); foreach (Scene scene in all_scenes) { - List avatarInScene = scene.GetScenePresences(); + ScenePresence[] avatarInScene = scene.GetScenePresences(); - HTMLUtil.LI_O(ref output, ""); + HTMLUtil.LI_O(ref output, String.Empty); output.Append(scene.RegionInfo.RegionName); - HTMLUtil.OL_O(ref output, ""); + HTMLUtil.OL_O(ref output, String.Empty); foreach (ScenePresence av in avatarInScene) { Dictionary queues = new Dictionary(); @@ -81,7 +81,7 @@ namespace OpenSim.Region.UserStatistics IStatsCollector isClient = (IStatsCollector) av.ControllingClient; queues = decodeQueueReport(isClient.Report()); } - HTMLUtil.LI_O(ref output, ""); + HTMLUtil.LI_O(ref output, String.Empty); output.Append(av.Name); output.Append("      "); output.Append((av.IsChildAgent ? "Child" : "Root")); @@ -96,12 +96,12 @@ namespace OpenSim.Region.UserStatistics (int) av.AbsolutePosition.Z)); } Dictionary throttles = DecodeClientThrottles(av.ControllingClient.GetThrottlesPacked(1)); - - HTMLUtil.UL_O(ref output, ""); + + HTMLUtil.UL_O(ref output, String.Empty); foreach (string throttlename in throttles.Keys) { - HTMLUtil.LI_O(ref output, ""); + HTMLUtil.LI_O(ref output, String.Empty); output.Append(throttlename); output.Append(":"); output.Append(throttles[throttlename].ToString()); From 53bf479bab05e689b1403a27a175bedad379ea6d Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 23 Oct 2009 01:11:40 -0700 Subject: [PATCH 18/60] Commented out noisy debugging about resent packets (normal) and agents setting throttles (normal) --- OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs | 4 ++-- OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs index a9bc7d2d49..460938e2bd 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs @@ -304,8 +304,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP int total = resend + land + wind + cloud + task + texture + asset + state; - m_log.DebugFormat("[LLUDPCLIENT]: {0} is setting throttles. Resend={1}, Land={2}, Wind={3}, Cloud={4}, Task={5}, Texture={6}, Asset={7}, State={8}, Total={9}", - AgentID, resend, land, wind, cloud, task, texture, asset, state, total); + //m_log.DebugFormat("[LLUDPCLIENT]: {0} is setting throttles. Resend={1}, Land={2}, Wind={3}, Cloud={4}, Task={5}, Texture={6}, Asset={7}, State={8}, Total={9}", + // AgentID, resend, land, wind, cloud, task, texture, asset, state, total); // Update the token buckets with new throttle values TokenBucket bucket; diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 734471ebb4..2973d4b68c 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -405,7 +405,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP if (expiredPackets != null) { - m_log.Debug("[LLUDPSERVER]: Resending " + expiredPackets.Count + " packets to " + udpClient.AgentID + ", RTO=" + udpClient.RTO); + //m_log.Debug("[LLUDPSERVER]: Resending " + expiredPackets.Count + " packets to " + udpClient.AgentID + ", RTO=" + udpClient.RTO); // Resend packets for (int i = 0; i < expiredPackets.Count; i++) From ac0acb02962c37f870dc38a356e1530803f699e8 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 23 Oct 2009 01:33:05 -0700 Subject: [PATCH 19/60] * Changed the max RTO value to 60 seconds to comply with RFC 2988 * Implemented section 5.5, exponential backoff of the RTO after a resend --- OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs | 2 +- OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs index 460938e2bd..d2cd6d90ea 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs @@ -500,7 +500,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP RTO = (int)(SRTT + Math.Max(m_udpServer.TickCountResolution, K * RTTVAR)); // Clamp the retransmission timeout to manageable values - RTO = Utils.Clamp(RTO, 3000, 10000); + RTO = Utils.Clamp(RTO, 3000, 60000); //m_log.Debug("[LLUDPCLIENT]: Setting agent " + this.Agent.FullName + "'s RTO to " + RTO + "ms with an RTTVAR of " + // RTTVAR + " based on new RTT of " + r + "ms"); diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 2973d4b68c..7e929e52b6 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -407,6 +407,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP { //m_log.Debug("[LLUDPSERVER]: Resending " + expiredPackets.Count + " packets to " + udpClient.AgentID + ", RTO=" + udpClient.RTO); + // Backoff the RTO + udpClient.RTO = Math.Min(udpClient.RTO * 2, 60000); + // Resend packets for (int i = 0; i < expiredPackets.Count; i++) { From 37f7277378d38cdf2633e79d551cc0c83bf5e479 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 23 Oct 2009 01:33:43 -0700 Subject: [PATCH 20/60] Uncommented the resend log line so the previous commit can be seen in action --- OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 7e929e52b6..e9faf2ef89 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -405,7 +405,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP if (expiredPackets != null) { - //m_log.Debug("[LLUDPSERVER]: Resending " + expiredPackets.Count + " packets to " + udpClient.AgentID + ", RTO=" + udpClient.RTO); + m_log.Debug("[LLUDPSERVER]: Resending " + expiredPackets.Count + " packets to " + udpClient.AgentID + ", RTO=" + udpClient.RTO); // Backoff the RTO udpClient.RTO = Math.Min(udpClient.RTO * 2, 60000); From d0019704e60da8392f505f1bb783ee668b0299b1 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 23 Oct 2009 09:47:45 +0100 Subject: [PATCH 21/60] Adding the presence service skeleton --- OpenSim/Data/IPresenceData.cs | 55 ++++++++++++ .../PresenceService/PresenceService.cs | 53 ++++++++++++ .../PresenceService/PresenceServiceBase.cs | 84 +++++++++++++++++++ prebuild.xml | 31 +++++++ 4 files changed, 223 insertions(+) create mode 100644 OpenSim/Data/IPresenceData.cs create mode 100644 OpenSim/Services/PresenceService/PresenceService.cs create mode 100644 OpenSim/Services/PresenceService/PresenceServiceBase.cs diff --git a/OpenSim/Data/IPresenceData.cs b/OpenSim/Data/IPresenceData.cs new file mode 100644 index 0000000000..ca661a2152 --- /dev/null +++ b/OpenSim/Data/IPresenceData.cs @@ -0,0 +1,55 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. + */ + +using System; +using System.Collections.Generic; +using OpenMetaverse; +using OpenSim.Framework; + +namespace OpenSim.Data +{ + public class PresenceData + { + public UUID PrincipalID; + public UUID RegionID; + public Dictionary Data; + } + + /// + /// An interface for connecting to the authentication datastore + /// + public interface IPresenceData + { + bool Store(PresenceData data); + + PresenceData Get(UUID principalID); + + bool SetDataItem(UUID principalID, string item, string value); + + bool Delete(UUID regionID); + } +} diff --git a/OpenSim/Services/PresenceService/PresenceService.cs b/OpenSim/Services/PresenceService/PresenceService.cs new file mode 100644 index 0000000000..6e59642856 --- /dev/null +++ b/OpenSim/Services/PresenceService/PresenceService.cs @@ -0,0 +1,53 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. + */ + +using System; +using System.Collections.Generic; +using System.Net; +using System.Reflection; +using Nini.Config; +using log4net; +using OpenSim.Framework; +using OpenSim.Framework.Console; +using OpenSim.Data; +using OpenSim.Services.Interfaces; +using OpenMetaverse; + +namespace OpenSim.Services.PresenceService +{ + public class PresenceService : PresenceServiceBase, IPresenceService + { + private static readonly ILog m_log = + LogManager.GetLogger( + MethodBase.GetCurrentMethod().DeclaringType); + + public PresenceService(IConfigSource config) + : base(config) + { + } + } +} diff --git a/OpenSim/Services/PresenceService/PresenceServiceBase.cs b/OpenSim/Services/PresenceService/PresenceServiceBase.cs new file mode 100644 index 0000000000..60a246b9bd --- /dev/null +++ b/OpenSim/Services/PresenceService/PresenceServiceBase.cs @@ -0,0 +1,84 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. + */ + +using System; +using System.Reflection; +using Nini.Config; +using OpenSim.Framework; +using OpenSim.Data; +using OpenSim.Services.Interfaces; +using OpenSim.Services.Base; + +namespace OpenSim.Services.PresenceService +{ + public class PresenceServiceBase : ServiceBase + { + protected IPresenceData m_Database = null; + + public PresenceServiceBase(IConfigSource config) + : base(config) + { + string dllName = String.Empty; + string connString = String.Empty; + string realm = "agents"; + + // + // Try reading the [DatabaseService] section, if it exists + // + IConfig dbConfig = config.Configs["DatabaseService"]; + if (dbConfig != null) + { + if (dllName == String.Empty) + dllName = dbConfig.GetString("StorageProvider", String.Empty); + if (connString == String.Empty) + connString = dbConfig.GetString("ConnectionString", String.Empty); + } + + // + // [PresenceService] section overrides [DatabaseService], if it exists + // + IConfig presenceConfig = config.Configs["PresenceService"]; + if (presenceConfig != null) + { + dllName = presenceConfig.GetString("StorageProvider", dllName); + connString = presenceConfig.GetString("ConnectionString", connString); + realm = presenceConfig.GetString("Realm", realm); + } + + // + // We tried, but this doesn't exist. We can't proceed. + // + if (dllName.Equals(String.Empty)) + throw new Exception("No StorageProvider configured"); + + m_Database = LoadPlugin(dllName, new Object[] { connString, realm }); + if (m_Database == null) + throw new Exception("Could not find a storage interface in the given module"); + + } + } +} diff --git a/prebuild.xml b/prebuild.xml index 1c44ebff2a..d2d1e6d9fa 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -1411,6 +1411,37 @@ + + + + ../../../bin/ + + + + + ../../../bin/ + + + + ../../../bin/ + + + + + + + + + + + + + + + + + + From 62f1a5e36d85b95e8f80bc073ba876873494963a Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 23 Oct 2009 02:38:59 -0700 Subject: [PATCH 22/60] Implemented a "FrontBack" prioritizer, using distance plus the plane equation to give double weight to prims/avatars in front of you --- OpenSim/Region/Framework/Scenes/Scene.cs | 4 ++ .../Framework/Scenes/SceneObjectGroup.cs | 33 ++++++++++++-- .../Region/Framework/Scenes/ScenePresence.cs | 44 +++++++++++++++++++ bin/OpenSim.ini.example | 4 +- 4 files changed, 80 insertions(+), 5 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index d5e3445c77..ee848bbd2f 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -61,6 +61,7 @@ namespace OpenSim.Region.Framework.Scenes Time = 0, Distance = 1, SimpleAngularDistance = 2, + FrontBack = 3, } public delegate void SynchronizeSceneHandler(Scene scene); @@ -540,6 +541,9 @@ namespace OpenSim.Region.Framework.Scenes case "simpleangulardistance": m_update_prioritization_scheme = UpdatePrioritizationSchemes.SimpleAngularDistance; break; + case "frontback": + m_update_prioritization_scheme = UpdatePrioritizationSchemes.FrontBack; + break; default: m_log.Warn("[SCENE]: UpdatePrioritizationScheme was not recognized, setting to default settomg of Time"); m_update_prioritization_scheme = UpdatePrioritizationSchemes.Time; diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 4f19761607..dd8da2083a 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -493,8 +493,8 @@ namespace OpenSim.Region.Framework.Scenes public Vector3 GroupScale() { - Vector3 minScale = new Vector3(Constants.RegionSize,Constants.RegionSize,Constants.RegionSize); - Vector3 maxScale = new Vector3(0f,0f,0f); + Vector3 minScale = new Vector3(Constants.RegionSize, Constants.RegionSize, Constants.RegionSize); + Vector3 maxScale = Vector3.Zero; Vector3 finalScale = new Vector3(0.5f, 0.5f, 0.5f); lock (m_parts) @@ -577,7 +577,6 @@ namespace OpenSim.Region.Framework.Scenes { foreach (SceneObjectPart part in m_parts.Values) { - Vector3 worldPos = part.GetWorldPosition(); Vector3 offset = worldPos - AbsolutePosition; Quaternion worldRot; @@ -3366,6 +3365,8 @@ namespace OpenSim.Region.Framework.Scenes return GetPriorityByDistance(client); case Scene.UpdatePrioritizationSchemes.SimpleAngularDistance: return GetPriorityBySimpleAngularDistance(client); + case Scenes.Scene.UpdatePrioritizationSchemes.FrontBack: + return GetPriorityByFrontBack(client); default: throw new InvalidOperationException("UpdatePrioritizationScheme not defined"); } @@ -3398,6 +3399,16 @@ namespace OpenSim.Region.Framework.Scenes return double.NaN; } + private double GetPriorityByFrontBack(IClientAPI client) + { + ScenePresence presence = Scene.GetScenePresence(client.AgentId); + if (presence != null) + { + return GetPriorityByFrontBack(presence.CameraPosition, presence.CameraAtAxis); + } + return double.NaN; + } + public double GetPriorityByDistance(Vector3 position) { return Vector3.Distance(AbsolutePosition, position); @@ -3427,5 +3438,21 @@ namespace OpenSim.Region.Framework.Scenes else return double.MinValue; } + + public double GetPriorityByFrontBack(Vector3 camPosition, Vector3 camAtAxis) + { + // Distance + double priority = Vector3.Distance(camPosition, AbsolutePosition); + + // Scale + //priority -= GroupScale().Length(); + + // Plane equation + float d = -Vector3.Dot(camPosition, camAtAxis); + float p = Vector3.Dot(camAtAxis, AbsolutePosition) + d; + if (p < 0.0f) priority *= 2.0f; + + return priority; + } } } diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 77706ace86..a610e42890 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -297,6 +297,21 @@ namespace OpenSim.Region.Framework.Scenes get { return Util.Axes2Rot(m_CameraAtAxis, m_CameraLeftAxis, m_CameraUpAxis); } } + public Vector3 CameraAtAxis + { + get { return m_CameraAtAxis; } + } + + public Vector3 CameraLeftAxis + { + get { return m_CameraLeftAxis; } + } + + public Vector3 CameraUpAxis + { + get { return m_CameraUpAxis; } + } + public Vector3 Lookat { get @@ -3867,6 +3882,8 @@ namespace OpenSim.Region.Framework.Scenes return GetPriorityByDistance(client); case Scene.UpdatePrioritizationSchemes.SimpleAngularDistance: return GetPriorityByDistance(client); + case Scenes.Scene.UpdatePrioritizationSchemes.FrontBack: + return GetPriorityByFrontBack(client); default: throw new InvalidOperationException("UpdatePrioritizationScheme not defined."); } @@ -3888,11 +3905,34 @@ namespace OpenSim.Region.Framework.Scenes return double.NaN; } + private double GetPriorityByFrontBack(IClientAPI client) + { + ScenePresence presence = Scene.GetScenePresence(client.AgentId); + if (presence != null) + { + return GetPriorityByFrontBack(presence.CameraPosition, presence.CameraAtAxis); + } + return double.NaN; + } + private double GetPriorityByDistance(Vector3 position) { return Vector3.Distance(AbsolutePosition, position); } + private double GetPriorityByFrontBack(Vector3 camPosition, Vector3 camAtAxis) + { + // Distance + double priority = Vector3.Distance(camPosition, AbsolutePosition); + + // Plane equation + float d = -Vector3.Dot(camPosition, camAtAxis); + float p = Vector3.Dot(camAtAxis, AbsolutePosition) + d; + if (p < 0.0f) priority *= 2.0f; + + return priority; + } + private double GetSOGUpdatePriority(SceneObjectGroup sog) { switch (Scene.UpdatePrioritizationScheme) @@ -3903,6 +3943,8 @@ namespace OpenSim.Region.Framework.Scenes return sog.GetPriorityByDistance((IsChildAgent) ? AbsolutePosition : CameraPosition); case Scene.UpdatePrioritizationSchemes.SimpleAngularDistance: return sog.GetPriorityBySimpleAngularDistance((IsChildAgent) ? AbsolutePosition : CameraPosition); + case Scenes.Scene.UpdatePrioritizationSchemes.FrontBack: + return sog.GetPriorityByFrontBack(CameraPosition, CameraAtAxis); default: throw new InvalidOperationException("UpdatePrioritizationScheme not defined"); } @@ -3929,6 +3971,8 @@ namespace OpenSim.Region.Framework.Scenes case Scene.UpdatePrioritizationSchemes.Distance: case Scene.UpdatePrioritizationSchemes.SimpleAngularDistance: return GetPriorityByDistance((IsChildAgent) ? AbsolutePosition : CameraPosition); + case Scenes.Scene.UpdatePrioritizationSchemes.FrontBack: + return GetPriorityByFrontBack(CameraPosition, CameraAtAxis); default: throw new InvalidOperationException("UpdatePrioritizationScheme not defined"); } diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 6ff70fcf28..3dc746ea50 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1397,8 +1397,8 @@ [InterestManagement] ; This section controls how state updates are prioritized for each client - ; Valid values are Time, Distance, and SimpleAngularDistance - UpdatePrioritizationScheme = Distance; + ; Valid values are Time, Distance, SimpleAngularDistance, and FrontBack + UpdatePrioritizationScheme = FrontBack; ReprioritizationEnabled = true; ReprioritizationInterval = 2000.0; RootReprioritizationDistance = 10.0; From b0923e0d73da51718332a9741931442673c84fe0 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 23 Oct 2009 10:41:05 +0100 Subject: [PATCH 23/60] Fix a glitch in a ROBUST message --- OpenSim/Server/ServerMain.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Server/ServerMain.cs b/OpenSim/Server/ServerMain.cs index a7b33c9739..10cd9c5b89 100644 --- a/OpenSim/Server/ServerMain.cs +++ b/OpenSim/Server/ServerMain.cs @@ -96,7 +96,7 @@ namespace OpenSim.Server if (port != 0) server = m_Server.GetHttpServer(port); - if (port != m_Server.DefaultPort) + if (port != m_Server.DefaultPort && port != 0) m_log.InfoFormat("[SERVER]: Loading {0} on port {1}", friendlyName, port); else m_log.InfoFormat("[SERVER]: Loading {0}", friendlyName); From 71c929137f48a0a7d97dbc866cbe2b12319aa40b Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 23 Oct 2009 03:52:49 -0700 Subject: [PATCH 24/60] Inconsistent locking of SenseRepeaters in Script Engine. When I attempt to 'save oar' on a region with thousands of scripts with timers, I get a NullReferenceException every time. The problem comes from inconsistent locking in SensorRepeat.cs of the SenseRepeaters List. It is iterated and modified in many places and these places are all wrapped in a lock except in the GetSerializationData(). This is the function throwing the exception because an item in the list becomes null during iteration. The attached patch locks SenseRepeatListLock in GetSerializationData() --- .../Implementation/Plugins/SensorRepeat.cs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs index ee01c3c6d8..b75a2e4f26 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs @@ -516,16 +516,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins { List data = new List(); - foreach (SenseRepeatClass ts in SenseRepeaters) + lock (SenseRepeatListLock) { - if (ts.itemID == itemID) + foreach (SenseRepeatClass ts in SenseRepeaters) { - data.Add(ts.interval); - data.Add(ts.name); - data.Add(ts.keyID); - data.Add(ts.type); - data.Add(ts.range); - data.Add(ts.arc); + if (ts.itemID == itemID) + { + data.Add(ts.interval); + data.Add(ts.name); + data.Add(ts.keyID); + data.Add(ts.type); + data.Add(ts.range); + data.Add(ts.arc); + } } } return data.ToArray(); From 8ba3afb59bc31986b0834a98a161c17dedd03487 Mon Sep 17 00:00:00 2001 From: dslake Date: Fri, 23 Oct 2009 12:12:19 -0400 Subject: [PATCH 25/60] Patch from dslake http://opensimulator.org/mantis/view.php?id=4291 0004291: Inconsistent locking of ODE tainted prims --- OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index 0a065be6f5..f979ce38f9 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs @@ -239,6 +239,7 @@ namespace OpenSim.Region.Physics.OdePlugin private readonly HashSet _prims = new HashSet(); private readonly HashSet _activeprims = new HashSet(); private readonly HashSet _taintedPrimH = new HashSet(); + private readonly Object _taintedPrimLock = new Object(); private readonly List _taintedPrimL = new List(); private readonly HashSet _taintedActors = new HashSet(); private readonly List _perloopContact = new List(); @@ -2572,7 +2573,7 @@ namespace OpenSim.Region.Physics.OdePlugin if (prim is OdePrim) { OdePrim taintedprim = ((OdePrim) prim); - lock (_taintedPrimH) + lock (_taintedPrimLock) { if (!(_taintedPrimH.Contains(taintedprim))) { @@ -2700,7 +2701,7 @@ namespace OpenSim.Region.Physics.OdePlugin // Modify other objects in the scene. processedtaints = false; - lock (_taintedPrimL) + lock (_taintedPrimLock) { foreach (OdePrim prim in _taintedPrimL) { From 4c45b5fd3c6b636552b819c6a56c1a3c23683bfb Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 23 Oct 2009 10:35:47 -0700 Subject: [PATCH 26/60] Cleaning up OpenSim.ini.example for LLUDP. The [LLClient] section has been removed and several new parameters have been added to [ClientStack.LindenUDP] --- .../ClientStack/LindenUDP/LLClientView.cs | 17 ++--- .../ClientStack/LindenUDP/LLUDPServer.cs | 24 +++++++ bin/OpenSim.ini.example | 62 +++++++++---------- 3 files changed, 58 insertions(+), 45 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index e81ff4b00f..6f0b177b14 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -346,15 +346,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP protected int m_terrainCheckerCount; protected uint m_agentFOVCounter; - // These numbers are guesses at a decent tradeoff between responsiveness - // of the interest list and throughput. Lower is more responsive, higher - // is better throughput - protected int m_primTerseUpdatesPerPacket = 25; - protected int m_primFullUpdatesPerPacket = 100; - protected int m_avatarTerseUpdatesPerPacket = 10; - /// Number of texture packets to put on the queue each time the - /// OnQueueEmpty event is triggered for the texture category - protected int m_textureSendLimit = 20; protected IAssetService m_assetService; private IHyperAssetService m_hyperAssets; @@ -3333,7 +3324,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP lock (m_avatarTerseUpdates.SyncRoot) { - int count = Math.Min(m_avatarTerseUpdates.Count, m_avatarTerseUpdatesPerPacket); + int count = Math.Min(m_avatarTerseUpdates.Count, m_udpServer.AvatarTerseUpdatesPerPacket); if (count == 0) return; @@ -3418,7 +3409,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP lock (m_primFullUpdates.SyncRoot) { - int count = Math.Min(m_primFullUpdates.Count, m_primFullUpdatesPerPacket); + int count = Math.Min(m_primFullUpdates.Count, m_udpServer.PrimFullUpdatesPerPacket); if (count == 0) return; @@ -3462,7 +3453,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP lock (m_primTerseUpdates.SyncRoot) { - int count = Math.Min(m_primTerseUpdates.Count, m_primTerseUpdatesPerPacket); + int count = Math.Min(m_primTerseUpdates.Count, m_udpServer.PrimTerseUpdatesPerPacket); if (count == 0) return; @@ -3585,7 +3576,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP void ProcessTextureRequests() { if (m_imageManager != null) - m_imageManager.ProcessImageQueue(m_textureSendLimit); + m_imageManager.ProcessImageQueue(m_udpServer.TextureSendLimit); } public void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, UUID AssetFullID) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index e9faf2ef89..232c9c9bdd 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -98,6 +98,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// The measured resolution of Environment.TickCount public readonly float TickCountResolution; + /// Number of terse prim updates to put on the queue each time the + /// OnQueueEmpty event is triggered for updates + public readonly int PrimTerseUpdatesPerPacket; + /// Number of terse avatar updates to put on the queue each time the + /// OnQueueEmpty event is triggered for updates + public readonly int AvatarTerseUpdatesPerPacket; + /// Number of full prim updates to put on the queue each time the + /// OnQueueEmpty event is triggered for updates + public readonly int PrimFullUpdatesPerPacket; + /// Number of texture packets to put on the queue each time the + /// OnQueueEmpty event is triggered for textures + public readonly int TextureSendLimit; /// Handlers for incoming packets //PacketEventDictionary packetEvents = new PacketEventDictionary(); @@ -172,6 +184,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP m_asyncPacketHandling = config.GetBoolean("async_packet_handling", false); m_recvBufferSize = config.GetInt("client_socket_rcvbuf_size", 0); sceneThrottleBps = config.GetInt("scene_throttle_max_bps", 0); + + PrimTerseUpdatesPerPacket = config.GetInt("PrimTerseUpdatesPerPacket", 25); + AvatarTerseUpdatesPerPacket = config.GetInt("AvatarTerseUpdatesPerPacket", 10); + PrimFullUpdatesPerPacket = config.GetInt("PrimFullUpdatesPerPacket", 100); + TextureSendLimit = config.GetInt("TextureSendLimit", 20); + } + else + { + PrimTerseUpdatesPerPacket = 25; + AvatarTerseUpdatesPerPacket = 10; + PrimFullUpdatesPerPacket = 100; + TextureSendLimit = 20; } m_throttle = new TokenBucket(null, sceneThrottleBps, sceneThrottleBps); diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 3dc746ea50..f426556544 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -355,8 +355,9 @@ ; already separated from packet handling with a queue, so this will only ; affect whether networking internals such as packet decoding and ; acknowledgement accounting are done synchronously or asynchronously - async_packet_handling = false - + ; + ;async_packet_handling = false + ; The client socket receive buffer size determines how many ; incoming requests we can process; the default on .NET is 8192 ; which is about 2 4k-sized UDP datagrams. On mono this is @@ -371,22 +372,26 @@ ; by the system's settings for the maximum client receive buffer ; size (on linux systems you can set that with "sysctl -w ; net.core.rmem_max=X") + ; ;client_socket_rcvbuf_size = 8388608 ; Maximum outbound bytes per second for a single scene. This can be used to ; throttle total outbound UDP traffic for a simulator. The default value is ; 0, meaning no throttling at the scene level. The example given here is ; 20 megabits + ; ;scene_throttle_max_bps = 2621440 ; Maximum bits per second to send to any single client. This will override ; the user's viewer preference settings. The default value is 0, meaning no ; aggregate throttling on clients (only per-category throttling). The ; example given here is 1.5 megabits + ; ;client_throttle_max_bps = 196608 ; Per-client bytes per second rates for the various throttle categories. ; These are default values that will be overriden by clients + ; ;resend_default = 12500 ;land_default = 500 ;wind_default = 500 @@ -399,6 +404,7 @@ ; Per-client maximum burst rates in bytes per second for the various ; throttle categories. These are default values that will be overriden by ; clients + ; ;resend_limit = 18750 ;land_limit = 29750 ;wind_limit = 18750 @@ -407,6 +413,28 @@ ;texture_limit = 55750 ;asset_limit = 27500 ;state_limit = 37000 + + ; Configures how ObjectUpdates are aggregated. These numbers + ; do not literally mean how many updates will be put in each + ; packet that goes over the wire, as packets are + ; automatically split on a 1400 byte boundary. These control + ; the balance between responsiveness of interest list updates + ; and total throughput. Higher numbers will ensure more full- + ; sized packets and faster sending of data, but more delay in + ; updating interest lists + ; + ;PrimTerseUpdatesPerPacket = 25 + ;AvatarTerseUpdatesPerPacket = 10 + ;PrimFullUpdatesPerPacket = 100 + + ; TextureSendLimit determines how many packets will be put on + ; the outgoing queue each cycle. Like the settings above, this + ; is a balance between responsiveness to priority updates and + ; total throughput. Higher numbers will give a better + ; throughput at the cost of reduced responsiveness to client + ; priority changes or transfer aborts + ; + ;TextureSendLimit = 20 [Chat] ; Controls whether the chat module is enabled. Default is true. @@ -1365,36 +1393,6 @@ ;RecycleDataBlocks = true; -[LLClient] - ; Resend packets markes as reliable until they are received - ; - ;ReliableIsImportant = false - - ; Maximum number of times to resend packets marked reliable - ; - ;MaxReliableResends = 3 - - ; Configures how ObjectUpdates are compressed. - ; - ;TerseUpdatesPerPacket=10 - ;FullUpdatesPerPacket=14 - ;TerseUpdateRate=10 - ;FullUpdateRate=14 - - ;PacketMTU = 1400 - - ; TextureSendLimit determines how many different textures - ; will be considered on each cycle. Textures are selected - ; by priority. The old mechanism specified a value of 10 for - ; this parameter. - ; - ;TextureSendLimit = 10 - - ; TextureDataLimit determines how many packets will be sent for - ; each of the selected textures. Default is 5. - ; - ;TextureDataLimit = 5 - [InterestManagement] ; This section controls how state updates are prioritized for each client ; Valid values are Time, Distance, SimpleAngularDistance, and FrontBack From a41cd1d0695c01e4096fa0b7696b415a4c7455fc Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 23 Oct 2009 13:14:29 -0700 Subject: [PATCH 27/60] * Unregister Mono.Addins event handlers in PluginLoader.Dispose() and always handle PluginLoader with the using pattern. This freed up 121,634,796 bytes on my system * Avoid allocating an Action object every round of the OutgoingPacketHandler * Removed unnecessary semi-colon endings from OpenSim.ini.example [InterestManagement] section --- OpenSim/Data/DataPluginFactory.cs | 15 ++++++++------- OpenSim/Framework/PluginLoader.cs | 9 +++++++-- OpenSim/Grid/GridServer/GridServerBase.cs | 10 +++++----- OpenSim/Region/Application/OpenSimBase.cs | 10 +++++----- .../Region/ClientStack/LindenUDP/LLUDPServer.cs | 6 +++++- OpenSim/Region/Framework/Scenes/Scene.cs | 13 +++++++++---- bin/OpenSim.ini.example | 10 +++++----- 7 files changed, 44 insertions(+), 29 deletions(-) diff --git a/OpenSim/Data/DataPluginFactory.cs b/OpenSim/Data/DataPluginFactory.cs index 718c6b2870..841f71eaa5 100644 --- a/OpenSim/Data/DataPluginFactory.cs +++ b/OpenSim/Data/DataPluginFactory.cs @@ -119,14 +119,15 @@ namespace OpenSim.Data PluginLoaderParamFactory(connect, out pluginInitialiser, out extensionPointPath); - PluginLoader loader = new PluginLoader(pluginInitialiser); + using (PluginLoader loader = new PluginLoader(pluginInitialiser)) + { + // loader will try to load all providers (MySQL, MSSQL, etc) + // unless it is constrainted to the correct "Provider" entry in the addin.xml + loader.Add(extensionPointPath, new PluginProviderFilter(provider)); + loader.Load(); - // loader will try to load all providers (MySQL, MSSQL, etc) - // unless it is constrainted to the correct "Provider" entry in the addin.xml - loader.Add(extensionPointPath, new PluginProviderFilter(provider)); - loader.Load(); - - return loader.Plugins; + return loader.Plugins; + } } /// diff --git a/OpenSim/Framework/PluginLoader.cs b/OpenSim/Framework/PluginLoader.cs index 5d38f5fd9d..819cb7babb 100644 --- a/OpenSim/Framework/PluginLoader.cs +++ b/OpenSim/Framework/PluginLoader.cs @@ -194,10 +194,15 @@ namespace OpenSim.Framework } } + /// + /// Unregisters Mono.Addins event handlers, allowing temporary Mono.Addins + /// data to be garbage collected. Since the plugins created by this loader + /// are meant to outlive the loader itself, they must be disposed separately + /// public void Dispose() { - foreach (T plugin in Plugins) - plugin.Dispose(); + AddinManager.AddinLoadError -= on_addinloaderror_; + AddinManager.AddinLoaded -= on_addinloaded_; } private void initialise_plugin_dir_(string dir) diff --git a/OpenSim/Grid/GridServer/GridServerBase.cs b/OpenSim/Grid/GridServer/GridServerBase.cs index d63ac2eb30..113d5c8cda 100644 --- a/OpenSim/Grid/GridServer/GridServerBase.cs +++ b/OpenSim/Grid/GridServer/GridServerBase.cs @@ -115,11 +115,11 @@ namespace OpenSim.Grid.GridServer protected virtual void LoadPlugins() { - PluginLoader loader = - new PluginLoader(new GridPluginInitialiser(this)); - - loader.Load("/OpenSim/GridServer"); - m_plugins = loader.Plugins; + using (PluginLoader loader = new PluginLoader(new GridPluginInitialiser(this))) + { + loader.Load("/OpenSim/GridServer"); + m_plugins = loader.Plugins; + } } public override void ShutdownSpecific() diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 3df3a1cb47..cc18f1a9ef 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -162,11 +162,11 @@ namespace OpenSim protected virtual void LoadPlugins() { - PluginLoader loader = - new PluginLoader(new ApplicationPluginInitialiser(this)); - - loader.Load("/OpenSim/Startup"); - m_plugins = loader.Plugins; + using (PluginLoader loader = new PluginLoader(new ApplicationPluginInitialiser(this))) + { + loader.Load("/OpenSim/Startup"); + m_plugins = loader.Plugins; + } } protected override List GetHelpTopics() diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 232c9c9bdd..1dd58bfeba 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -814,6 +814,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP // on to en-US to avoid number parsing issues Culture.SetCurrentCulture(); + // Typecast the function to an Action once here to avoid allocating a new + // Action generic every round + Action clientPacketHandler = ClientOutgoingPacketHandler; + while (base.IsRunning) { try @@ -862,7 +866,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP // Handle outgoing packets, resends, acknowledgements, and pings for each // client. m_packetSent will be set to true if a packet is sent - m_scene.ClientManager.ForEachSync(ClientOutgoingPacketHandler); + m_scene.ClientManager.ForEachSync(clientPacketHandler); // If nothing was sent, sleep for the minimum amount of time before a // token bucket could get more tokens diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index ee848bbd2f..a3bc04b633 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -1223,10 +1223,7 @@ namespace OpenSim.Region.Framework.Scenes if (!m_backingup) { m_backingup = true; - - System.ComponentModel.BackgroundWorker backupWorker = new System.ComponentModel.BackgroundWorker(); - backupWorker.DoWork += delegate(object sender, System.ComponentModel.DoWorkEventArgs e) { Backup(); }; - backupWorker.RunWorkerAsync(); + Util.FireAndForget(BackupWaitCallback); } } @@ -1238,6 +1235,14 @@ namespace OpenSim.Region.Framework.Scenes m_eventManager.TriggerOnFrame(); } + /// + /// Wrapper for Backup() that can be called with Util.FireAndForget() + /// + private void BackupWaitCallback(object o) + { + Backup(); + } + /// /// Backup the scene. This acts as the main method of the backup thread. /// diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index f426556544..9ee9829ac4 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1396,11 +1396,11 @@ [InterestManagement] ; This section controls how state updates are prioritized for each client ; Valid values are Time, Distance, SimpleAngularDistance, and FrontBack - UpdatePrioritizationScheme = FrontBack; - ReprioritizationEnabled = true; - ReprioritizationInterval = 2000.0; - RootReprioritizationDistance = 10.0; - ChildReprioritizationDistance = 20.0; + UpdatePrioritizationScheme = FrontBack + ReprioritizationEnabled = true + ReprioritizationInterval = 2000.0 + RootReprioritizationDistance = 10.0 + ChildReprioritizationDistance = 20.0 ;; ;; These are defaults that are overwritten below in [Architecture]. From 52a4534f7fe9e7b044a54f5a794391b54a1edb94 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 23 Oct 2009 13:45:18 -0700 Subject: [PATCH 28/60] * Change the way Util.FireAndForget() calls SmartThreadPool to avoid using a delegate (which STP appears to hold on to). This removes the slow leak I was seeing when using async_call_method=SmartThreadPool and stabilizes allocated memory for an idle OpenSim instance --- OpenSim/Framework/Util.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index b96367a91c..10f38ab819 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -1347,7 +1347,7 @@ namespace OpenSim.Framework case FireAndForgetMethod.SmartThreadPool: if (m_ThreadPool == null) m_ThreadPool = new SmartThreadPool(2000, 15, 2); - m_ThreadPool.QueueWorkItem(delegate(object o) { callback(o); return null; }, obj); + m_ThreadPool.QueueWorkItem(SmartThreadPoolCallback, new object[] { callback, obj }); break; case FireAndForgetMethod.Thread: Thread thread = new Thread(delegate(object o) { callback(o); }); @@ -1358,6 +1358,16 @@ namespace OpenSim.Framework } } + private static object SmartThreadPoolCallback(object o) + { + object[] array = (object[])o; + WaitCallback callback = (WaitCallback)array[0]; + object obj = array[1]; + + callback(obj); + return null; + } + #endregion FireAndForget Threading Pattern } } From 2c34619aea074446e53dde80d397973075914bac Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 23 Oct 2009 14:22:21 -0700 Subject: [PATCH 29/60] * Changed various modules to not initialize timers unless the module is initialized. Ideally, the timers would not initialize unless the module was actually enabled, but Melanie's work on configuring module loading from a config file should make that unnecessary * Wrapped the Bitmap class used to generate the world map tile in a using statement to dispose of it after the JPEG2000 data is created --- OpenSim/Client/MXP/MXPModule.cs | 5 +-- OpenSim/Grid/GridServer/GridServerBase.cs | 1 - .../World/WorldMap/MapImageModule.cs | 36 ++++++++++--------- OpenSim/Region/Framework/Scenes/Scene.cs | 3 ++ .../Avatar/XmlRpcGroups/GroupsModule.cs | 3 +- .../SvnSerialiser/SvnBackupModule.cs | 13 ++++--- .../OptionalModules/World/NPC/NPCModule.cs | 11 +++--- 7 files changed, 41 insertions(+), 31 deletions(-) diff --git a/OpenSim/Client/MXP/MXPModule.cs b/OpenSim/Client/MXP/MXPModule.cs index 2d28b8c9b6..a6b039656c 100644 --- a/OpenSim/Client/MXP/MXPModule.cs +++ b/OpenSim/Client/MXP/MXPModule.cs @@ -52,10 +52,10 @@ namespace OpenSim.Client.MXP private IConfigSource m_config; private int m_port = 1253; + private Timer m_ticker; private readonly Dictionary m_scenes = new Dictionary(); - private readonly Timer m_ticker = new Timer(100); - private bool m_shutdown = false; + private bool m_shutdown; public void Initialise(Scene scene, IConfigSource source) { @@ -78,6 +78,7 @@ namespace OpenSim.Client.MXP m_server = new MXPPacketServer(m_port, m_scenes,m_config.Configs["StandAlone"].GetBoolean("accounts_authenticate",true)); + m_ticker = new Timer(100); m_ticker.AutoReset = false; m_ticker.Elapsed += ticker_Elapsed; diff --git a/OpenSim/Grid/GridServer/GridServerBase.cs b/OpenSim/Grid/GridServer/GridServerBase.cs index 113d5c8cda..9b0d7ea571 100644 --- a/OpenSim/Grid/GridServer/GridServerBase.cs +++ b/OpenSim/Grid/GridServer/GridServerBase.cs @@ -29,7 +29,6 @@ using System; using System.Collections.Generic; using System.IO; using System.Reflection; -using System.Timers; using log4net; using Nini.Config; using OpenSim.Framework; diff --git a/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs index 5fd836943a..285d36a3d6 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs @@ -98,27 +98,29 @@ namespace OpenSim.Region.CoreModules.World.WorldMap } terrainRenderer.Initialise(m_scene, m_config); - Bitmap mapbmp = new Bitmap((int)Constants.RegionSize, (int)Constants.RegionSize); - //long t = System.Environment.TickCount; - //for (int i = 0; i < 10; ++i) { + using (Bitmap mapbmp = new Bitmap((int)Constants.RegionSize, (int)Constants.RegionSize)) + { + //long t = System.Environment.TickCount; + //for (int i = 0; i < 10; ++i) { terrainRenderer.TerrainToBitmap(mapbmp); - //} - //t = System.Environment.TickCount - t; - //m_log.InfoFormat("[MAPTILE] generation of 10 maptiles needed {0} ms", t); + //} + //t = System.Environment.TickCount - t; + //m_log.InfoFormat("[MAPTILE] generation of 10 maptiles needed {0} ms", t); - if (drawPrimVolume) - { - DrawObjectVolume(m_scene, mapbmp); - } + if (drawPrimVolume) + { + DrawObjectVolume(m_scene, mapbmp); + } - try - { - imageData = OpenJPEG.EncodeFromImage(mapbmp, true); - } - catch (Exception e) // LEGIT: Catching problems caused by OpenJPEG p/invoke - { - m_log.Error("Failed generating terrain map: " + e); + try + { + imageData = OpenJPEG.EncodeFromImage(mapbmp, true); + } + catch (Exception e) // LEGIT: Catching problems caused by OpenJPEG p/invoke + { + m_log.Error("Failed generating terrain map: " + e); + } } return imageData; diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index a3bc04b633..47b13bd0ed 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -891,6 +891,9 @@ namespace OpenSim.Region.Framework.Scenes { m_log.InfoFormat("[SCENE]: Closing down the single simulator: {0}", RegionInfo.RegionName); + m_restartTimer.Stop(); + m_restartTimer.Close(); + // Kick all ROOT agents with the message, 'The simulator is going down' ForEachScenePresence(delegate(ScenePresence avatar) { diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs index b2544fac73..f24869b70d 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs @@ -94,7 +94,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups } private Dictionary m_clientRequestIDInfo = new Dictionary(); private const int m_clientRequestIDFlushTimeOut = 300000; // Every 5 minutes - private Timer m_clientRequestIDFlushTimer = new Timer(); + private Timer m_clientRequestIDFlushTimer; // Configuration settings @@ -133,6 +133,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups m_groupNoticesEnabled = groupsConfig.GetBoolean("NoticesEnabled", true); m_debugEnabled = groupsConfig.GetBoolean("DebugEnabled", true); + m_clientRequestIDFlushTimer = new Timer(); m_clientRequestIDFlushTimer.Interval = m_clientRequestIDFlushTimeOut; m_clientRequestIDFlushTimer.Elapsed += FlushClientRequestIDInfoCache; m_clientRequestIDFlushTimer.AutoReset = true; diff --git a/OpenSim/Region/OptionalModules/SvnSerialiser/SvnBackupModule.cs b/OpenSim/Region/OptionalModules/SvnSerialiser/SvnBackupModule.cs index fc1c608fc7..3490a8baef 100644 --- a/OpenSim/Region/OptionalModules/SvnSerialiser/SvnBackupModule.cs +++ b/OpenSim/Region/OptionalModules/SvnSerialiser/SvnBackupModule.cs @@ -45,13 +45,13 @@ namespace OpenSim.Region.Modules.SvnSerialiser public class SvnBackupModule : IRegionModule { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private readonly List m_scenes = new List(); - private readonly Timer m_timer = new Timer(); - private bool m_enabled = false; - private bool m_installBackupOnLoad = false; + private List m_scenes; + private Timer m_timer; + private bool m_enabled; + private bool m_installBackupOnLoad; private IRegionSerialiserModule m_serialiser; - private bool m_svnAutoSave = false; + private bool m_svnAutoSave; private SvnClient m_svnClient; private string m_svndir = "SVNmodule" + Slash.DirectorySeparatorChar + "repo"; private string m_svnpass = "password"; @@ -204,6 +204,9 @@ namespace OpenSim.Region.Modules.SvnSerialiser public void Initialise(Scene scene, IConfigSource source) { + m_scenes = new List(); + m_timer = new Timer(); + try { if (!source.Configs["SVN"].GetBoolean("Enabled", false)) diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs index 41a6255c39..ac39a532ae 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs @@ -41,12 +41,10 @@ namespace OpenSim.Region.OptionalModules.World.NPC { // private const bool m_enabled = false; - private Mutex m_createMutex = new Mutex(false); - - private Timer m_timer = new Timer(500); + private Mutex m_createMutex; + private Timer m_timer; private Dictionary m_avatars = new Dictionary(); - private Dictionary m_appearanceCache = new Dictionary(); // Timer vars. @@ -138,10 +136,13 @@ namespace OpenSim.Region.OptionalModules.World.NPC public void Initialise(Scene scene, IConfigSource source) { - scene.RegisterModuleInterface(this); + m_createMutex = new Mutex(false); + m_timer = new Timer(500); m_timer.Elapsed += m_timer_Elapsed; m_timer.Start(); + + scene.RegisterModuleInterface(this); } void m_timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) From 730930955a7edc0bfa69ff1cac93acd024cf8d24 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Sun, 25 Oct 2009 00:40:21 -0700 Subject: [PATCH 30/60] Changing Scene.ForEachClient to use the synchronous for loop instead of Parallel. This is quite possibly the source of some deadlocking, and at the very least the synchronous version gives better stack traces * Lock the LLUDPClient RTO math * Add a helper function for backing off the RTO, and follow the optional advice in RFC 2988 to clear existing SRTT and RTTVAR values during a backoff * Removing the unused PrimitiveBaseShape.SculptImage parameter * Improved performance of SceneObjectPart instantiation * ZeroMesher now drops SculptData bytes like Meshmerizer, to allow the texture data to be GCed * Improved typecasting speed in MySQLLegacyRegionData.BuildShape() * Improved the instantiation of PrimitiveBaseShape --- OpenSim/Data/MySQL/MySQLAssetData.cs | 3 - OpenSim/Data/MySQL/MySQLLegacyRegionData.cs | 53 ++++---- OpenSim/Framework/PrimitiveBaseShape.cs | 66 ++++------ .../ClientStack/LindenUDP/LLUDPClient.cs | 54 ++++++-- .../ClientStack/LindenUDP/LLUDPServer.cs | 4 +- OpenSim/Region/Framework/Scenes/Scene.cs | 2 +- .../Framework/Scenes/SceneObjectGroup.cs | 2 +- .../Framework/Scenes/SceneObjectPart.cs | 123 +++++++++--------- OpenSim/Region/Physics/Manager/ZeroMesher.cs | 3 + OpenSim/Region/Physics/Meshing/Meshmerizer.cs | 2 +- 10 files changed, 160 insertions(+), 152 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLAssetData.cs b/OpenSim/Data/MySQL/MySQLAssetData.cs index fc05d1d45d..4d49733350 100644 --- a/OpenSim/Data/MySQL/MySQLAssetData.cs +++ b/OpenSim/Data/MySQL/MySQLAssetData.cs @@ -167,9 +167,6 @@ namespace OpenSim.Data.MySQL asset.Temporary = Convert.ToBoolean(dbReader["temporary"]); } } - - if (asset != null) - UpdateAccessTime(asset); } catch (Exception e) { diff --git a/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs b/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs index 801d6b9eed..c07963cf51 100644 --- a/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs +++ b/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs @@ -1430,37 +1430,36 @@ namespace OpenSim.Data.MySQL { PrimitiveBaseShape s = new PrimitiveBaseShape(); s.Scale = new Vector3( - Convert.ToSingle(row["ScaleX"]), - Convert.ToSingle(row["ScaleY"]), - Convert.ToSingle(row["ScaleZ"]) - ); + (float)(double)row["ScaleX"], + (float)(double)row["ScaleY"], + (float)(double)row["ScaleZ"] + ); // paths - s.PCode = Convert.ToByte(row["PCode"]); - s.PathBegin = Convert.ToUInt16(row["PathBegin"]); - s.PathEnd = Convert.ToUInt16(row["PathEnd"]); - s.PathScaleX = Convert.ToByte(row["PathScaleX"]); - s.PathScaleY = Convert.ToByte(row["PathScaleY"]); - s.PathShearX = Convert.ToByte(row["PathShearX"]); - s.PathShearY = Convert.ToByte(row["PathShearY"]); - s.PathSkew = Convert.ToSByte(row["PathSkew"]); - s.PathCurve = Convert.ToByte(row["PathCurve"]); - s.PathRadiusOffset = Convert.ToSByte(row["PathRadiusOffset"]); - s.PathRevolutions = Convert.ToByte(row["PathRevolutions"]); - s.PathTaperX = Convert.ToSByte(row["PathTaperX"]); - s.PathTaperY = Convert.ToSByte(row["PathTaperY"]); - s.PathTwist = Convert.ToSByte(row["PathTwist"]); - s.PathTwistBegin = Convert.ToSByte(row["PathTwistBegin"]); + s.PCode = (byte)(int)row["PCode"]; + s.PathBegin = (ushort)(int)row["PathBegin"]; + s.PathEnd = (ushort)(int)row["PathEnd"]; + s.PathScaleX = (byte)(int)row["PathScaleX"]; + s.PathScaleY = (byte)(int)row["PathScaleY"]; + s.PathShearX = (byte)(int)row["PathShearX"]; + s.PathShearY = (byte)(int)row["PathShearY"]; + s.PathSkew = (sbyte)(int)row["PathSkew"]; + s.PathCurve = (byte)(int)row["PathCurve"]; + s.PathRadiusOffset = (sbyte)(int)row["PathRadiusOffset"]; + s.PathRevolutions = (byte)(int)row["PathRevolutions"]; + s.PathTaperX = (sbyte)(int)row["PathTaperX"]; + s.PathTaperY = (sbyte)(int)row["PathTaperY"]; + s.PathTwist = (sbyte)(int)row["PathTwist"]; + s.PathTwistBegin = (sbyte)(int)row["PathTwistBegin"]; // profile - s.ProfileBegin = Convert.ToUInt16(row["ProfileBegin"]); - s.ProfileEnd = Convert.ToUInt16(row["ProfileEnd"]); - s.ProfileCurve = Convert.ToByte(row["ProfileCurve"]); - s.ProfileHollow = Convert.ToUInt16(row["ProfileHollow"]); - byte[] textureEntry = (byte[]) row["Texture"]; - s.TextureEntry = textureEntry; + s.ProfileBegin = (ushort)(int)row["ProfileBegin"]; + s.ProfileEnd = (ushort)(int)row["ProfileEnd"]; + s.ProfileCurve = (byte)(int)row["ProfileCurve"]; + s.ProfileHollow = (ushort)(int)row["ProfileHollow"]; + s.TextureEntry = (byte[])row["Texture"]; - s.ExtraParams = (byte[]) row["ExtraParams"]; + s.ExtraParams = (byte[])row["ExtraParams"]; - s.State = Convert.ToByte(row["State"]); + s.State = (byte)(int)row["State"]; return s; } diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs index b646f92361..5e4d1752a9 100644 --- a/OpenSim/Framework/PrimitiveBaseShape.cs +++ b/OpenSim/Framework/PrimitiveBaseShape.cs @@ -76,7 +76,7 @@ namespace OpenSim.Framework { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private static readonly Primitive.TextureEntry m_defaultTexture; + private static readonly byte[] DEFAULT_TEXTURE = new Primitive.TextureEntry(new UUID("89556747-24cb-43ed-920b-47caed15465f")).GetBytes(); private byte[] m_textureEntry; @@ -104,33 +104,32 @@ namespace OpenSim.Framework private HollowShape _hollowShape; // Sculpted - [XmlIgnore] private UUID _sculptTexture = UUID.Zero; - [XmlIgnore] private byte _sculptType = (byte)0; - [XmlIgnore] private byte[] _sculptData = new byte[0]; - [XmlIgnore] private Image _sculptBitmap = null; + [XmlIgnore] private UUID _sculptTexture; + [XmlIgnore] private byte _sculptType; + [XmlIgnore] private byte[] _sculptData = Utils.EmptyBytes; // Flexi - [XmlIgnore] private int _flexiSoftness = 0; - [XmlIgnore] private float _flexiTension = 0f; - [XmlIgnore] private float _flexiDrag = 0f; - [XmlIgnore] private float _flexiGravity = 0f; - [XmlIgnore] private float _flexiWind = 0f; - [XmlIgnore] private float _flexiForceX = 0f; - [XmlIgnore] private float _flexiForceY = 0f; - [XmlIgnore] private float _flexiForceZ = 0f; + [XmlIgnore] private int _flexiSoftness; + [XmlIgnore] private float _flexiTension; + [XmlIgnore] private float _flexiDrag; + [XmlIgnore] private float _flexiGravity; + [XmlIgnore] private float _flexiWind; + [XmlIgnore] private float _flexiForceX; + [XmlIgnore] private float _flexiForceY; + [XmlIgnore] private float _flexiForceZ; //Bright n sparkly - [XmlIgnore] private float _lightColorR = 0f; - [XmlIgnore] private float _lightColorG = 0f; - [XmlIgnore] private float _lightColorB = 0f; - [XmlIgnore] private float _lightColorA = 1f; - [XmlIgnore] private float _lightRadius = 0f; - [XmlIgnore] private float _lightCutoff = 0f; - [XmlIgnore] private float _lightFalloff = 0f; - [XmlIgnore] private float _lightIntensity = 1f; - [XmlIgnore] private bool _flexiEntry = false; - [XmlIgnore] private bool _lightEntry = false; - [XmlIgnore] private bool _sculptEntry = false; + [XmlIgnore] private float _lightColorR; + [XmlIgnore] private float _lightColorG; + [XmlIgnore] private float _lightColorB; + [XmlIgnore] private float _lightColorA = 1.0f; + [XmlIgnore] private float _lightRadius; + [XmlIgnore] private float _lightCutoff; + [XmlIgnore] private float _lightFalloff; + [XmlIgnore] private float _lightIntensity = 1.0f; + [XmlIgnore] private bool _flexiEntry; + [XmlIgnore] private bool _lightEntry; + [XmlIgnore] private bool _sculptEntry; public byte ProfileCurve { @@ -172,17 +171,11 @@ namespace OpenSim.Framework } } - static PrimitiveBaseShape() - { - m_defaultTexture = - new Primitive.TextureEntry(new UUID("89556747-24cb-43ed-920b-47caed15465f")); - } - public PrimitiveBaseShape() { PCode = (byte) PCodeEnum.Primitive; ExtraParams = new byte[1]; - Textures = m_defaultTexture; + m_textureEntry = DEFAULT_TEXTURE; } public PrimitiveBaseShape(bool noShape) @@ -192,7 +185,7 @@ namespace OpenSim.Framework PCode = (byte)PCodeEnum.Primitive; ExtraParams = new byte[1]; - Textures = m_defaultTexture; + m_textureEntry = DEFAULT_TEXTURE; } [XmlIgnore] @@ -577,15 +570,6 @@ namespace OpenSim.Framework } } - public Image SculptBitmap { - get { - return _sculptBitmap; - } - set { - _sculptBitmap = value; - } - } - public int FlexiSoftness { get { return _flexiSoftness; diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs index d2cd6d90ea..0948e1cf17 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs @@ -144,6 +144,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP private readonly OutgoingPacket[] m_nextPackets = new OutgoingPacket[THROTTLE_CATEGORY_COUNT]; /// A reference to the LLUDPServer that is managing this client private readonly LLUDPServer m_udpServer; + /// Locks access to the variables used while calculating round-trip + /// packet times and the retransmission timeout + private readonly object m_roundTripCalcLock = new object(); /// /// Default constructor @@ -484,28 +487,51 @@ namespace OpenSim.Region.ClientStack.LindenUDP const float BETA = 0.25f; const float K = 4.0f; - if (RTTVAR == 0.0f) + lock (m_roundTripCalcLock) { - // First RTT measurement - SRTT = r; - RTTVAR = r * 0.5f; - } - else - { - // Subsequence RTT measurement - RTTVAR = (1.0f - BETA) * RTTVAR + BETA * Math.Abs(SRTT - r); - SRTT = (1.0f - ALPHA) * SRTT + ALPHA * r; - } + if (RTTVAR == 0.0f) + { + // First RTT measurement + SRTT = r; + RTTVAR = r * 0.5f; + } + else + { + // Subsequence RTT measurement + RTTVAR = (1.0f - BETA) * RTTVAR + BETA * Math.Abs(SRTT - r); + SRTT = (1.0f - ALPHA) * SRTT + ALPHA * r; + } - RTO = (int)(SRTT + Math.Max(m_udpServer.TickCountResolution, K * RTTVAR)); + int rto = (int)(SRTT + Math.Max(m_udpServer.TickCountResolution, K * RTTVAR)); - // Clamp the retransmission timeout to manageable values - RTO = Utils.Clamp(RTO, 3000, 60000); + // Clamp the retransmission timeout to manageable values + rto = Utils.Clamp(RTO, 3000, 60000); + + RTO = rto; + } //m_log.Debug("[LLUDPCLIENT]: Setting agent " + this.Agent.FullName + "'s RTO to " + RTO + "ms with an RTTVAR of " + // RTTVAR + " based on new RTT of " + r + "ms"); } + /// + /// Exponential backoff of the retransmission timeout, per section 5.5 + /// of RFC 2988 + /// + public void BackoffRTO() + { + lock (m_roundTripCalcLock) + { + // Reset SRTT and RTTVAR, we assume they are bogus since things + // didn't work out and we're backing off the timeout + SRTT = 0.0f; + RTTVAR = 0.0f; + + // Double the retransmission timeout + RTO = Math.Min(RTO * 2, 60000); + } + } + /// /// Does an early check to see if this queue empty callback is already /// running, then asynchronously firing the event diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 1dd58bfeba..82ae640b93 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -431,8 +431,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP { m_log.Debug("[LLUDPSERVER]: Resending " + expiredPackets.Count + " packets to " + udpClient.AgentID + ", RTO=" + udpClient.RTO); - // Backoff the RTO - udpClient.RTO = Math.Min(udpClient.RTO * 2, 60000); + // Exponential backoff of the retransmission timeout + udpClient.BackoffRTO(); // Resend packets for (int i = 0; i < expiredPackets.Count; i++) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 47b13bd0ed..f052c6564e 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -4246,7 +4246,7 @@ namespace OpenSim.Region.Framework.Scenes public void ForEachClient(Action action) { - ClientManager.ForEach(action); + ClientManager.ForEachSync(action); } public void ForEachSOG(Action action) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index dd8da2083a..34ada4c3b0 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -1334,7 +1334,7 @@ namespace OpenSim.Region.Framework.Scenes (parcel.LandData.GroupID != GroupID || parcel.LandData.GroupID == UUID.Zero)) { - if ((DateTime.Now - RootPart.Rezzed).TotalMinutes > + if ((DateTime.UtcNow - RootPart.Rezzed).TotalMinutes > parcel.LandData.OtherCleanTime) { DetachFromBackup(); diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 719300228c..d84c35cf97 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -102,16 +102,16 @@ namespace OpenSim.Region.Framework.Scenes #region Fields - public bool AllowedDrop = false; + public bool AllowedDrop; [XmlIgnore] - public bool DIE_AT_EDGE = false; + public bool DIE_AT_EDGE; // TODO: This needs to be persisted in next XML version update! [XmlIgnore] - public int[] PayPrice = {-2,-2,-2,-2,-2}; + public readonly int[] PayPrice = {-2,-2,-2,-2,-2}; [XmlIgnore] - public PhysicsActor PhysActor = null; + public PhysicsActor PhysActor; //Xantor 20080528 Sound stuff: // Note: This isn't persisted in the database right now, as the fields for that aren't just there yet. @@ -130,55 +130,56 @@ namespace OpenSim.Region.Framework.Scenes public double SoundRadius; [XmlIgnore] - public uint TimeStampFull = 0; + public uint TimeStampFull; [XmlIgnore] - public uint TimeStampLastActivity = 0; // Will be used for AutoReturn + public uint TimeStampLastActivity; // Will be used for AutoReturn [XmlIgnore] - public uint TimeStampTerse = 0; - + public uint TimeStampTerse; + [XmlIgnore] - public UUID FromItemID = UUID.Zero; + public UUID FromItemID; /// /// The UUID of the user inventory item from which this object was rezzed if this is a root part. /// If UUID.Zero then either this is not a root part or there is no connection with a user inventory item. /// - private UUID m_fromUserInventoryItemID = UUID.Zero; + private UUID m_fromUserInventoryItemID; [XmlIgnore] public UUID FromUserInventoryItemID { get { return m_fromUserInventoryItemID; } } - - [XmlIgnore] - public bool IsAttachment = false; - - [XmlIgnore] - public scriptEvents AggregateScriptEvents = 0; - - [XmlIgnore] - public UUID AttachedAvatar = UUID.Zero; - - [XmlIgnore] - public Vector3 AttachedPos = Vector3.Zero; - - [XmlIgnore] - public uint AttachmentPoint = (byte)0; - - [XmlIgnore] - public PhysicsVector RotationAxis = new PhysicsVector(1f,1f,1f); [XmlIgnore] - public bool VolumeDetectActive = false; // XmlIgnore set to avoid problems with persistance until I come to care for this - // Certainly this must be a persistant setting finally + public bool IsAttachment; [XmlIgnore] - public bool IsWaitingForFirstSpinUpdatePacket = false; + public scriptEvents AggregateScriptEvents; + [XmlIgnore] - public Quaternion SpinOldOrientation = new Quaternion(); + public UUID AttachedAvatar; + + [XmlIgnore] + public Vector3 AttachedPos; + + [XmlIgnore] + public uint AttachmentPoint; + + [XmlIgnore] + public PhysicsVector RotationAxis = new PhysicsVector(1f, 1f, 1f); + + [XmlIgnore] + public bool VolumeDetectActive; // XmlIgnore set to avoid problems with persistance until I come to care for this + // Certainly this must be a persistant setting finally + + [XmlIgnore] + public bool IsWaitingForFirstSpinUpdatePacket; + + [XmlIgnore] + public Quaternion SpinOldOrientation = Quaternion.Identity; /// /// This part's inventory @@ -191,34 +192,32 @@ namespace OpenSim.Region.Framework.Scenes protected SceneObjectPartInventory m_inventory; [XmlIgnore] - public bool Undoing = false; + public bool Undoing; [XmlIgnore] - private PrimFlags LocalFlags = 0; + private PrimFlags LocalFlags; [XmlIgnore] private float m_damage = -1.0f; private byte[] m_TextureAnimation; - private byte m_clickAction = 0; + private byte m_clickAction; private Color m_color = Color.Black; private string m_description = String.Empty; private readonly List m_lastColliders = new List(); - // private PhysicsVector m_lastRotationalVelocity = PhysicsVector.Zero; - private int m_linkNum = 0; + private int m_linkNum; [XmlIgnore] - private int m_scriptAccessPin = 0; + private int m_scriptAccessPin; [XmlIgnore] private readonly Dictionary m_scriptEvents = new Dictionary(); private string m_sitName = String.Empty; private Quaternion m_sitTargetOrientation = Quaternion.Identity; - private Vector3 m_sitTargetPosition = Vector3.Zero; + private Vector3 m_sitTargetPosition; private string m_sitAnimation = "SIT"; private string m_text = String.Empty; private string m_touchName = String.Empty; private readonly UndoStack m_undo = new UndoStack(5); private UUID _creatorID; - - private bool m_passTouches = false; + private bool m_passTouches; /// /// Only used internally to schedule client updates. @@ -236,28 +235,28 @@ namespace OpenSim.Region.Framework.Scenes //unkown if this will be kept, added as a way of removing the group position from the group class protected Vector3 m_groupPosition; protected uint m_localId; - protected Material m_material = (Material)3; // Wood + protected Material m_material = OpenMetaverse.Material.Wood; protected string m_name; protected Vector3 m_offsetPosition; // FIXME, TODO, ERROR: 'ParentGroup' can't be in here, move it out. protected SceneObjectGroup m_parentGroup; - protected byte[] m_particleSystem = new byte[0]; + protected byte[] m_particleSystem = Utils.EmptyBytes; protected ulong m_regionHandle; protected Quaternion m_rotationOffset; - protected PrimitiveBaseShape m_shape = null; + protected PrimitiveBaseShape m_shape; protected UUID m_uuid; protected Vector3 m_velocity; // TODO: Those have to be changed into persistent properties at some later point, // or sit-camera on vehicles will break on sim-crossing. - private Vector3 m_cameraEyeOffset = new Vector3(0.0f, 0.0f, 0.0f); - private Vector3 m_cameraAtOffset = new Vector3(0.0f, 0.0f, 0.0f); - private bool m_forceMouselook = false; + private Vector3 m_cameraEyeOffset; + private Vector3 m_cameraAtOffset; + private bool m_forceMouselook; // TODO: Collision sound should have default. - private UUID m_collisionSound = UUID.Zero; - private float m_collisionSoundVolume = 0.0f; + private UUID m_collisionSound; + private float m_collisionSoundVolume; #endregion Fields @@ -269,9 +268,9 @@ namespace OpenSim.Region.Framework.Scenes public SceneObjectPart() { // It's not necessary to persist this - m_TextureAnimation = new byte[0]; - m_particleSystem = new byte[0]; - Rezzed = DateTime.Now; + m_TextureAnimation = Utils.EmptyBytes; + m_particleSystem = Utils.EmptyBytes; + Rezzed = DateTime.UtcNow; m_inventory = new SceneObjectPartInventory(this); } @@ -290,8 +289,8 @@ namespace OpenSim.Region.Framework.Scenes { m_name = "Primitive"; - Rezzed = DateTime.Now; - _creationDate = (Int32) (DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds; + Rezzed = DateTime.UtcNow; + _creationDate = (int)Utils.DateTimeToUnixTime(Rezzed); _ownerID = ownerID; _creatorID = _ownerID; _lastOwnerID = UUID.Zero; @@ -299,19 +298,19 @@ namespace OpenSim.Region.Framework.Scenes Shape = shape; // Todo: Add More Object Parameter from above! _ownershipCost = 0; - _objectSaleType = (byte) 0; + _objectSaleType = 0; _salePrice = 0; - _category = (uint) 0; + _category = 0; _lastOwnerID = _creatorID; // End Todo: /// GroupPosition = groupPosition; OffsetPosition = offsetPosition; RotationOffset = rotationOffset; - Velocity = new Vector3(0, 0, 0); - AngularVelocity = new Vector3(0, 0, 0); - Acceleration = new Vector3(0, 0, 0); - m_TextureAnimation = new byte[0]; - m_particleSystem = new byte[0]; + Velocity = Vector3.Zero; + AngularVelocity = Vector3.Zero; + Acceleration = Vector3.Zero; + m_TextureAnimation = Utils.EmptyBytes; + m_particleSystem = Utils.EmptyBytes; // Prims currently only contain a single folder (Contents). From looking at the Second Life protocol, // this appears to have the same UUID (!) as the prim. If this isn't the case, one can't drag items from @@ -3548,7 +3547,7 @@ if (m_shape != null) { // in SL. // if (ParentGroup.RootPart != this) - ParentGroup.RootPart.Rezzed = DateTime.Now; + ParentGroup.RootPart.Rezzed = DateTime.UtcNow; ParentGroup.HasGroupChanged = true; ScheduleFullUpdate(); diff --git a/OpenSim/Region/Physics/Manager/ZeroMesher.cs b/OpenSim/Region/Physics/Manager/ZeroMesher.cs index f9d0f2a30a..81eeed2ef9 100644 --- a/OpenSim/Region/Physics/Manager/ZeroMesher.cs +++ b/OpenSim/Region/Physics/Manager/ZeroMesher.cs @@ -67,6 +67,9 @@ namespace OpenSim.Region.Physics.Manager public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod, bool isPhysical) { + // Remove the reference to the encoded JPEG2000 data so it can be GCed + primShape.SculptData = OpenMetaverse.Utils.EmptyBytes; + return null; } } diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs index f609e738ec..01093e2fd6 100644 --- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs +++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs @@ -281,7 +281,7 @@ namespace OpenSim.Region.Physics.Meshing if (idata == null) { - if (primShape.SculptData.Length == 0) + if (primShape.SculptData == null || primShape.SculptData.Length == 0) return null; try From 593ce2e1fb0530d91a66006ad069d2916d482cd2 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Sun, 25 Oct 2009 01:01:26 -0700 Subject: [PATCH 31/60] Minor tweaks to get OpenSim compiling against both the current libomv and the upcoming 0.8.0 --- OpenSim/Region/Framework/Scenes/AnimationSet.cs | 2 ++ OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 +- OpenSim/Tools/pCampBot/PhysicsBot.cs | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/AnimationSet.cs b/OpenSim/Region/Framework/Scenes/AnimationSet.cs index aa0c8b84fa..740d168c09 100644 --- a/OpenSim/Region/Framework/Scenes/AnimationSet.cs +++ b/OpenSim/Region/Framework/Scenes/AnimationSet.cs @@ -30,6 +30,8 @@ using System.Collections.Generic; using OpenSim.Framework; using OpenMetaverse; +using Animation = OpenSim.Framework.Animation; + namespace OpenSim.Region.Framework.Scenes { [Serializable] diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index a610e42890..67384fb711 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2693,7 +2693,7 @@ namespace OpenSim.Region.Framework.Scenes { if (m_scene.AssetService.Get(face.TextureID.ToString()) == null) { - m_log.Warn("[APPEARANCE]: Missing baked texture " + face.TextureID + " (" + (AppearanceManager.TextureIndex)j + ") for avatar " + this.Name); + m_log.Warn("[APPEARANCE]: Missing baked texture " + face.TextureID + " (" + j + ") for avatar " + this.Name); this.ControllingClient.SendRebakeAvatarTextures(face.TextureID); } } diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs index 426ef29885..9cdbf32bab 100644 --- a/OpenSim/Tools/pCampBot/PhysicsBot.cs +++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs @@ -271,7 +271,7 @@ namespace pCampBot string[] bodyparts = Directory.GetFiles(saveDir, "*.bodypart", SearchOption.TopDirectoryOnly); InventoryFolder clothfolder = FindClothingFolder(); UUID transid = UUID.Random(); - List listwearables = new List(); + List listwearables = new List(); for (int i = 0; i < clothing.Length; i++) { From de25dcfb7b28c81b7bce187165be81f65b849a7c Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Sun, 25 Oct 2009 01:01:26 -0700 Subject: [PATCH 32/60] Minor tweaks to get OpenSim compiling against both the current libomv and the upcoming 0.8.0 --- OpenSim/Region/Framework/Scenes/AnimationSet.cs | 2 ++ OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/AnimationSet.cs b/OpenSim/Region/Framework/Scenes/AnimationSet.cs index aa0c8b84fa..740d168c09 100644 --- a/OpenSim/Region/Framework/Scenes/AnimationSet.cs +++ b/OpenSim/Region/Framework/Scenes/AnimationSet.cs @@ -30,6 +30,8 @@ using System.Collections.Generic; using OpenSim.Framework; using OpenMetaverse; +using Animation = OpenSim.Framework.Animation; + namespace OpenSim.Region.Framework.Scenes { [Serializable] diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index a610e42890..67384fb711 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2693,7 +2693,7 @@ namespace OpenSim.Region.Framework.Scenes { if (m_scene.AssetService.Get(face.TextureID.ToString()) == null) { - m_log.Warn("[APPEARANCE]: Missing baked texture " + face.TextureID + " (" + (AppearanceManager.TextureIndex)j + ") for avatar " + this.Name); + m_log.Warn("[APPEARANCE]: Missing baked texture " + face.TextureID + " (" + j + ") for avatar " + this.Name); this.ControllingClient.SendRebakeAvatarTextures(face.TextureID); } } From 0be79b285b0c73c3499cd4843c5e6e2f58bc2620 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Sun, 25 Oct 2009 01:13:50 -0700 Subject: [PATCH 33/60] Having a commit fail... this fixes a typo in the previous commit(s?) --- OpenSim/Tools/pCampBot/PhysicsBot.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs index 9cdbf32bab..426ef29885 100644 --- a/OpenSim/Tools/pCampBot/PhysicsBot.cs +++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs @@ -271,7 +271,7 @@ namespace pCampBot string[] bodyparts = Directory.GetFiles(saveDir, "*.bodypart", SearchOption.TopDirectoryOnly); InventoryFolder clothfolder = FindClothingFolder(); UUID transid = UUID.Random(); - List listwearables = new List(); + List listwearables = new List(); for (int i = 0; i < clothing.Length; i++) { From 3639f684116e0fd248182b9d8efc0c27d4736ab7 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Sun, 25 Oct 2009 01:20:54 -0700 Subject: [PATCH 34/60] Added a missing reference to System.Core for OpenSim.Region.Framework --- bin/OpenMetaverse.dll | Bin 1630208 -> 1638400 bytes prebuild.xml | 1 + 2 files changed, 1 insertion(+) diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 6ec1b1c91f09fa9774ce0e499eacb5222ca82b9c..3f9255e9e73955fe4edbb42aced70109dcd7e54d 100644 GIT binary patch literal 1638400 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�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

DY~)O)tNktfbkX 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 DJ3t#y literal 1630208 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%0Dw~) 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⁡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.%Mj^!tV|zS-dg!a2Onru4iXG8cq?TpGQOOK!{WQM?(u()_*jN7>n=!!y?S5 z^?58@M~v(9csPzsdQXHCZ2WZQ6X6cV;`{$FqX_4R{dp?faZq}`;(cD>^uZ~X{~!K2 zoG}L(&maCAmJ{RoLw{IFjOP#iVK=ZmfA~wd4dZnF@R#rt#!3Az;ZDpae}4_P9LneO zY`EnxVDk5Tn149ThxDEg`xqzn=fhE8xn3`XT}Pzz6aLHL7GR7w#skoP*`^~Fx4Ll>w)EZ4TVjNlloBDj``$gYdA%W>opwCpU?H)2^RoMy?4Sg#!3C1 zunO}@ZzL>Bq~|NHCkoFzmg|j%=KxE+(eMJs;`f8F9`i}>!*B~R&TlN-flPk4g;Q+& zbmq2j7i01JL71}u=Y#ucdss@0dLM_?$fP$O_5#cKjfVxtrN$$R-w(nvV7Y#ugxSZZ zSS4yTAwFEh$HiTm9xDgl=B+b!y0oYZ%VhA|)fE{**nDlAKl$NYr<%cvY! z_B$u4C&qp&QPIiRAMCdhEkq_iN^}~qtgl4pFc!ZbL`!Hq`q84z#OTL}CXh+biYD23 z@%uqE#aR4)5Y1SK^Fci)noo>+UQ~%pdO_3xEaw+QV~mq}5M`W_)>|5jqHR9L{0_H5A}|Z zijYaKG^z%c^DB*p8H@W5qA41m(pwrkF)BZU_h(^L4=nq0YP60R`*TKAaVGE28PPIi zs((hb99Y&rBU-^&JU>5LP23Fs% zY9L0v#Zfmh>75@=sw2c{^O{Z#-pEGqm1*ppEXe-GU?qO6#+}V+oNK};{M~Pl*Xgp9Z?H0 z_IqvAiA;KTMWbxIxc@k+z93Z}^~L?iQ46r#kM~5AEH3Upj+6`2{S)^eNAroXKkFl> zhWBTEG!L2Tua6D~mVVYp3C807G3&(EKVT7c#Gd0+G##_4>z zFM5Tscz#eciup93O;Puy*e{$M#kd)foOonV}HjZWjXirNmPPNdK1ynz*27_ zI)Slx{%2H4<5BOkXfrXc*JSh#=F{il^Jt71*X#4B;CH-#UqofVvfdX_1!HmlK~#hJ zv>snZ!^Bwc>!`4S>wOcI0ZYAaqF%=0dH&G|=F@t77v(pm#$$fM{~;;`mh16TR85TQ zkrmIl8vBRqkrj`Ssef7VS-`S>R(wCk;{Ctz5*m;Fn-OmyMnAj9S0j^NcD$F3pU%vV z8`q@go7A)8#lZ6OJ2T$K;t4+%?_u%Am>S%`Beq|1Z9s#T#S!@fp{q z>)BZa@d097pMv-{WU5~f{}@=-FNlA}IH?!JchPwCvtPWdIjt|Q?~gYCx6<+afOs=8 z9&Zka4`DvlJ21Wj<8(YfFus$qIRB4l{{i)}-a+w-mAu}Zc;0ouq<2WX99Yi(koXYe zq<%|Y{&IWpBx#Fqif`ic0} zjK%qXyq(6Qp9S$TV%!hM$Fp0xpVD{^u+%G!8;r&Ie>@-a>GOYLyqXyG%Hj>kG{1%M zb!_}}=E8XP4Qc;LePO&1SnjX#coT~!{EB!Ni#Nv3iuV&^f6k3pw(pM!#3Ym)wlwaX(xUUxiHduZZ6aEbCtp zzk_j7zaqYY#-pF##*1#@ey)sP2Q2${RlJ=T`*&4*6!WRx^7t-{Q~#F7XWW|7!}{X> z;kW^e>nrXDh_|ff^{$SWt^p>!rg%HBoPSe%Cu8wG-gs~uj!(^BypK0N2rT=zGCs-T z;(fgFCAX*R*;zNnmvkUw|89)Wypz|zF&+b!^>2(@jK%%K@dC`J{eM%upBVSU&GDVc z%2-c5{px5vkkN$-w$!MgPL>C8Lg9gLIu9r6Fi z)&0j;J-&|vKUNs=0d$uJp3#ndR1eDBwFUH8uY?a$}qy6@|HUDxY%&dxbIKURYI?dh>->Eo&O ziO7@D8ZgEyLr+J8PeA|l|Ai&d;FD;a&ywi#i@;QWN%SQ!pU;x$Yl4&ECD9gKPxGmd z7C)8B&z=uN>(G?1A-WLE^EE^l3r>a`qD{0Puh*BN*3)9X#%M8`@-2(b1oM2$qV0m& z`+1`KX+K^+P0_K>`1x>sBC*qXn;^@%sKdx^MqE$xIZP^l)!)zObA(h2=JOdSWxR&{;Po?D+D^v#43@51F4i9`%>eWIgQXh< zv)|K_YH&SWKgUQdWb7wP>Oj+c{v!?iU+VaJ)BYn>2xjlck?O$w_MI(_Sdm(vh)B`| zFz-i|Hj=R)Q)+qx`@?=rY51FBKc;jdnD=8!rwL}?A0!pwdg{lP=994>SE@%-KQXCI z*x#ELlZxI-9WVR-P-!NZ_cKgt72=7=2~v*`uMC|eWv#;F$9_giZDj0cq_i7N^+!s7 zf_Xn9r2~T5_kT(Qn=v0=Z+X&GGWK)2G#|_!AARV*9*{59k>6u3iR4S2xSr~rA!V#i z_1BwrhLkCoeSeUY4aRsssi)lKU?Y&%)UQV3ciy%{u!Zj zqzPbLpNRaQG+T&QhKi&*GS0798nFiVz0{5C>Heug8oSQl&- zn)zkp`0S^`tq{ByulYFLz3% z~&elC??f=Lu;Pcy18CZ*!4UNXGBmTqM=udaC!7v=ZYqzo(=% zg4yqHNv*h^Zg0;>MVrNX&q^(5%C}VN0rTTuDpjkUJuKqMqD4n z>u-g$oQ&7s3MufJSnmx<1M_-sNS@$i_zfu!*HgVWrP*!RAJ$tX)qF1ITP*M@3NMp8$^*2c4z`Xtj z=_0|&@CK<2*Hb?mrB*Wbvq{SSTFlofNnoC@Rk8%L@Bfie1(8e~>Oh z)AjX(bSaqE|3R82I2ryyno0Zd_W7gKLdJf!N!@75_p{U^?C(wcS=ui+8U9(y{0@%? z^X-rd$(V1KG!;$xev@j!{P=#80-dS;+3W9;2Ikk#?^2ZzPelHZ>VH5i#tI3$Jzq|%b`GWGmA5!yRufNMRg4yfuawC|}XMkMRm0HhUf0yTj`So*@ zoc$xt1Lt$Jocj|RZ(m2td$xh8{?YPYFz@GR`Cq~8^>=yTcHEEi86r<5V?RUX`Dn@) zk!!&`UqoIgI2n$}4YVKg9V>T{F<(^v8%_CS`CnmwZ<;J0`m=vLm_Heod^MW#jg+qy_V=cZly4Ty9{)f4C%2F>-|6z#Xv&u_e=F?oP0N>m5}XX@%ll|Q=1a)AyHfop!v*qGH02vD*MfP! zqvgP_V!xwh4b10VC|3#bL}aX7FT^WD=gI5IIPVMO>ff+F&iev+37YC(AU_Z0^)HZ@ z2~LJDkk`)?LlceJ^~>em zVBSx;+$)&9pI*+~gZZ$ZYve*Q_ERBGK~ui#<;%f5-}UmE%hdp6>7OksHa_&%JUxn);b1cL@90`|0H_!R-C? zau4mt`P?t(^rnuNeLtssHk$H1B%cfB$M=wYfnfH1JaQ@R$9#{-%gK0rkIJ2B%J-N& z@Nd5!&-a*IC7695k6aJt*W=@IV1H^o`#v671M_(=mJ7*#y&>uKa>hT{56-(@R?t+x zUN*qIe!UzQ%)XCD&Zqs@&+~FE8T)CFo6(f-C3%gozc=kAdA;Cd_$9fW_G7+AdGG;o z-pgbUP5GMSNnn0_O>(}8!d7jxq&_Z9g_aOyokIKo)5n-ZwK?|!|UYZ(;*){pIax76r2pNlgEN_ z9_;r3V?ujIGURR1gaJut8TmApZ4GW?a?LHlw3U&{pp#D2b!YtfYNJGlCU!u`NA zf2)6e?UNUg$1#^g_Q~7Hg+KW5zvOQ61m=>+Uvl1&P%n5L#Czoe@@)|Bm21KL`utno zf^oV&|CYB3X0QLtJ-D9k-~W+=N2lh&KA$TO9s;KR)06@*?>|jhBbdGZuXN#h`g_$+ z$8o|kMNU5Uzcs&hN zwv%!GgOm~f5&IdeIODRIr@%=|x4CeX%qiETw z{@LsQN+FnEpV>;rv8gzF{a>-bd_JnOl8o~)mA2!sKF-Hf9+bdT-&7s}^ZKUpq+s^? zztV{7sUKU}PsV;+#ggH8==zK)Ib^&(W6EqWzrNziVvN)E6;~Prv)>O;R^oc9m!mW& zc>GxJc*Rk%9=`u@gffDR?_U_9RDpTD6P2YHr+OzUFAHYx-%*-zJ=Hr|Db~b#rzlNm zn%AjHCz#LcRArJ5#{>D3;Zv0=Fh5_XDIG#Q5jjH%7?|I`-YP={iblrsRj725@q863 z2hdc%P)Rpa^?K6^l>vg;`*)OVFxF3o$0*fgoZncb6;1iZDQ&`j_Wm8ELoj>)jX zPb1U_PIVl*LYJeIjzH(gNn!bBR*yrs@qz zzf7s{&^VvV6gLj0`j;ug!2JANrkpI8y?y0>SM62TC!nr+U+sf}B)8?D>SU4m>ybCfq+?qqLIWgZt-elhqf3p%iF_k|VzFG0W{Crm`bwWH5xlLIq#4AHp z%62l|9;%f!Ct-a&-_^>uXsTbWYz6cB)ygk|li_M*Kkdiscdjz_WU-$bWfq$9-KWe3 z^L+Oy)q<1Z`;*;!bPRTeO^I<DQdqw#T*9Svg{`LP~Wgq!C=90*Nm4Z>wfABPjHz{Mu=Rv$lSxCMH;;$-; z$+tuNRb?mnIf%ce^pIbJ_-jgjKIZ=h;;$=(5(`x4-2|#u>1lZhy;_Ou_8) z21+)V-~Lu8Z3%IHE0wYWFwO5Rr5?=Z_m(1^mCBzCzois_`SsAOGzxL{c>|?Yh_lZd zD1p(bdhGKCN;?^^hYyrL(NzBfr5DWWf1sqFE!O`)84TwAe5jO?@%(+H)S@Zh$4Z^B zzc=k;WszX^{Xt42?Z@k3v$CCx`94wpMN_`dlzxS&<6++)q#Q1oeZD}+2J_?lT$w<| zd|xURXv+7M(kkrlP5VljdQK`od%mMogZaF_R>qD=#S@Y5lnOA$D??kA%ya!X|Nf_+ zl!CEnocB*k_Bb%r|4EU+eBM7PmSFb&BqbNu)9r7&QbWdmeo>aADc??IrLdoUe~_|9 zF#G->rIq&Mynj^+&r2O|GTg1)0G>;?zun4gGT#1nE9=R4``e?mlJWMpN69Yo^UV$7 z?XO4C$awqfQ7XujfAnwPe<-uaS2LGH{!m)T)e!$v*+_l_;(sbx=VN}neeP8xGTuJ- zD&=5)``oAehH<)m?o;*(PKNg>!SUEX&ZAe^et|fT{mMHRVm-XSIH0U2+VYWc-tzC+YSV4m*~HERMK4?R9TM9l;9 z>+?``p%70*4p*Cncx5Q0c9Q*iL(&JSi!OnB^#8X(>RV{)XOQ|fnAabqt`p3D??7#* z{W!nDs&y&m!+wrYi@|e)c)qgKNn|`L$VL^AKt$?Z^4W)to6}KRN0o@Z2C?f5)q(WW4^4SDSD>)jL6L z!#K_F1hqpj`@SP}C$6XYov4;i73-a>cAzQWDQf0rsd@FLoubYb%)akPT@2>)J5}8; z#1oNGsx%Gr`~6jh5^4b%=QmmnT#j*^-)QwXG}RxiDqudp(W)bu{oa9^NBePph3b4V zUVmfMm1xR0R&5sc_oj_iTLiQ3J5t+dKjs^!YNg_Qiqs-BGjpDAkFmEwG+s1IHRrutLVN5H)P6!l5L?Dr1T zMqE$l`!aPq8Rv7k`Y)RDCDne@Q^&`C??63VF#Ej&H5-h_%YJWJZ6ss9tJIyiKKM7> ze_yTkkTZYs@87Rh^RI^d!5n7x{~NWCJQCvNY8{y0f6q`q!Z=;eGt|!nv)^Y{yKp`A zcda^e2F?qQ=Q_3U8gX7XsAXV2uN%~M!O8Fq>V8}g`DTP}RL5SMnnxm1saAmb`I@cP zknwy~sa6Hn$LqOD9gU{>R;gpayndBBUNHN7v|390@%p<{-AKlMs@1IP#D3xXhdnC~fdIhyi4 zqjn4Xd()m#%Wo9(J)_owG2e{Pv+6z}o`^iBX5WPU`^R4yYEZ|LaXyWzcC$F2Mm2$^ z`i<&nFrQDOI!-YAe6%{1_Tzk(sZC_;r%CNVQ@+>KPGNs<+H2}|!O8Gz>OR_!`If6= zXW{W-z7^_RH04{V-V5f(w^Dsba5B77t*8B%?=7{9jQN_?%u2{l`QBFZz&zjEYNKHG zdkJbQuBYp9jq2Uv@5l9tNQ+to=GWr~>P#}u`y(~yR&m}RspHU8|08ugnAiVEy;Ly! zy#uwJ_G3REtIcHWXS2E;P5C}icMAJ^(>_sq1Si9vs2Q{Icrf2*YB3q}eXdraDc_fB zE0`bOmulf{ss5AUFV%7|zaGC*t=m)aMC2QFESS%yQ|%z*e7e+qcZl=pQeU3~rutp# z8(?0)OMOQ$`@SNz71z`K=}&6rotO{%*{-T+%J++Ef_c7Q)M0{?;a}8z+K=>SxyP!Y%e_gklMaKWvb*rUh{Cn}cT298l7r(13$@u#5ZgmYAUq9ZhW>$;+?@=!T z^W)v4P8OUD?@=poJ@x;Gnl)GKf3KQ(kC^W-H4n`5{iQYvX5W{pw&Hra-v3s;8t51P zo+TpxszqRaKGU_CWIUh!wVZpgKK?!FuZ=^~{QGO;!MuKd?NY(XaDT0w_T&76S~D5v zKS0}#rhJ*&PGNsnB(H6;1VXwcTLePp;N0nEl>? zmib63KYPEGRzt>q^0b|3%6Gb!Qz!Owy4D~#89rUx2v_)WkzR%XO z7hrwt=UgrOF*NpbuJ+bKFx5X-dmGIAIagaJnEl>?){g7xeE*-8|9C1t`~75XK6oxY zK0RNnBjf$e`C2Egr+VYHj3@m4yxw>%Q!sn{uVsU=ANKzeZ4nvgcab*mN%8n6XgOe> zZ-Q1Qn0?==wi4IV{mG?Ta8as0`@U1n1M~S^rWKHJeo3v1jPpxs=}(FElUjc;ub{~m2NnD>8=)+sm{zDLVw!2SOH$BfXuS}_>cCnEQ2 zvxInMs8*{ba_7-UcXMeRB$p}r~*TyQe{gjNg2>t#l0k=7~16OqMQ#>=UGD?>}QY%=!qg4RsNeqPYF zfaeC6!1L7?v@UWJJYRi5%V~ssbbJk3F_<4;gEmPp`+T%kj_c|Cy`=3VW512sq*ugz z%e2{Go^P4fDVTjeTFY3L>Sso%Nh=29diMEfZI%$P485V%lCj@aTF!rQKlZyy8;7QT zR%zqGy#6ZfQo+gaDy^LMCpBG@kFFk%U+53{d$$5AGAeeoX<9G(VG~@^SwHIVUq@6g)Nly8^TF6{43+og31PKI}B-LxO)^P85}jK_!he%C6{ zly8r=9L$ezk0!15*Yo-8(F(wPK7VN4LOc=qOB?()=EwQ$*XqbPpMYNX4#sgl0sZ)Q z!Bjt>p9JRh1N!NLli`3~gzITO>3Sy_`^nIy_r!etbq&n(_18VY?D4yvhwCX{P_H3l zz5#kOnvO4153Kd`^L&|lxnTDAU9Sc6`GoYmmel%0WRN};jPc6Q(RwEt=QC9Ad>@XV z{$DUuzx@NTpP~AlU|xTyexG3W`n|pg*Hb?c-CK|Ou%Bb~a`4>Xr*MB8)n}5wgZta4 zz6RG*zmndCar%2H={p6p-z(7f<9e#6=(9c)>uGuyn(`TX#s)vmkKfSC1hd~O(C35s z{4Bjgh_l}-&;uV~e!RYh=~-l)-wFCkGG1RN=wG0z{t5aPFt2}tzEv=L{a){({djvh zQ7_mi_H(jcfu?+?=(S*;?-V`oajHM|`n|4!c|WJ>Gle*N{a#-v#M$fjdJ`G@8Lby> z!ur_HX#E=S+~85y_^>n-Fc#Lw0@k|#s_Y&~l;9AEJ6c7K1NE|Ke) zOCp7OIr&7`e~vzroZR5Y&(YU_`QxcE`mwF4etXl#=(=F`ekwf|jQz9M|MkvKuphi0 z$LX1$foYyadOn!Xvq*0goD3J~t+*bpw;7@FdPQ5Rej;*_UI*s4uS@jc=c#%_(o6K6 zWSnP-KI2Q+PxC0zXOVFpC3*{(_d8kNj&Zs@OxC*vv)@P41MOH3ub-)U=2xlu?E8-N zS~T@rs<(l8zoq)vEpR-LKN&97E5Q8vxkAtWIu%burtA4&-tP>34H>VW>-04pSRebn zPM`cOnCf4rPXqJ%*Xh#*v-daYvvED$zHiW1lJWfAsBgygLA+jW*4xQ=z1*y8---2R z>4jikZ+8ulzj=Du4_F`PH&367ruog&?*sGt^Yn)Wv(IDb^|T+ahx_#& zGWPSJE_I3hJf!D?dA^7Adco}T82Wl#PuKq=de)DreiM<$^gJ-X9-h#P$=J`+dJh@< zd0HRzlUV<0{TMK>|FnLb;AHq|JqOp*`B|*jlChs9`WiINr(W+A_V=dM>jm3V$ICvC zp_hUA`FUPnDZ~?zm-G%HUKx5t?;&G9uj+N%;rQwA<*WK@XsZ9Jz5>kqc~yT~F#CN2 zy_NRk`FUN>{2B9MKmXG;H066k&js^*Z|HS`+2^D6m9*c_HzV|>-Yvuvk=6R(UogKP zuMDlxB{KHYqSur0{IuvTXsX|$_kel*7QJGJIL{Wn4$SAdPVW}tiO2?h@J_M*$9gUq z>wlv6kg@(J`k-B~p6Y+19|Pv~Khcj9%wDh8b8tOfAD`(}WSr;cdLyo<*Q3AGmy_}N z{+D{-SLlbnzpz~olJWU|yIu_D_s3u9^Ds{L$6x7>2xjju((7?O9naT#bvO2p$McOo z|97#!@AM8Z@9#T(>TWn5x9oJJozv{VrF(3BRt(T(deC^iDz&zh>y+Uv@yj!oL z{doQN=v`#Y_oqH=AM{7(YoDG=#`CpLuO{Q`Gk@vx$#}m0(%ZrOeD&%_{ssByeD&%> z1SiA2x&_AhvCmiQ!N0}+4(J2-gQ>rOkpt%a1&lhu?D>MR64%4LW`xp>;6JJQiAaCL z1M~BBm{CB+^L2#LMaJ`Wgpqzgtbc^jAI$3?VT1%H!$%kruBY>Lq)|b}`5t8~LQ_9s zW2dmcH!WD@)<@snCCN$nS$BleWRN8Xf?#JtAlrarW^+y?3fO-8<#x;W3 z?~@r-v>*F9!)PVre9koXqbc86h8Ohf@qA|)iv+XZH#XLQ`So+Qk$qTdeIjzMkq_qA z&p4x$jQxx^qyb_--EMY+K>Gd8w<(U&qc<6aec6MoB#Y| zg0Yg^z+4iUU}PK)#~b_r;+Ghi6%=-&|@e5S$EOYBb<_x}GN) z#hKV29?xVW^9V5YH`T}k^Zuq9je?WmsYWZVr~8{}h8Ke4h5Cue6-E)5&-W^0CK=~D z!^k-j>*Mt@!x)FA`ZJ92U|xTQaj9VTejTHn_Tzl7HJZuT&vnLjTu<}8!RRLAd~Y!F z28#X8G^T)gy_v?9g4ypO7_)Fa&F?0oi;VSV83jj)`ED_0f_c7Mj4r|K_YjQWAnYG+ zZ?lb3Fs@HTs*D;TUKzT}Xe8tO?lH>3;{5J0=AvnS_ZatqdHs8ghXu3O>y3KakMq0N z=pmLD`h3v%0^@Xj zK4^R^n0;Q`=*IOl--nEuM`M3@JdYSXXzK4#Blj3M9?JKq(Il9CAF9y?=C}XHjH)52 z_3Zmlje0P@KA$$UtW>=r=}Qc4C>pQNCB}RIf&IY=-}v)bVr(Q|&Rh~%Vq`^NJssat zBM;2yztkuY%svlc6ytj8_c^1BjQze~T$GLV=0Lp{jj7}Zq27x|Bbd+kC1W$jX&x^b zUkYZQ-!``6daBoGVM-q^~w6M6o{3ceQa7n(D7MZUOW9tBpGav(IlEb+jL^-*=2EN$lrc zV;`FGtu^xG)baPGtu-11C&O!vjbPr-`^GFKwLTH~&{zcK*ULsDTTRs)lHO`$YiR7J z)p$z>Q~g%sZ7}br)mSH(eV>xij_c|Cd}Bqf8$m(<@>_81I+V%Vca8_eV>xC zkoMzz+Krv2m~V?Q)e?`d!>9%Gd>ux>_T%VexWmxEd_LbARYE)w*=p1a@ygJT#(FZI z@1Koo2kYZ}em0h%sh^*X=fS-G&&D#r?E93AHMAf5*k$#{F%W3w*Hb;+%p57!GtKN%#pAclv0#4uw%IJ0{T`axiR&TXjF4;Q<@x(@eIhcSGZPDWEdCz;d0y#7h%biv8+N#<A-AbQ|6JUU=i^#)GMIfn2p*4KYnG9_;PL3S=5q4y z5U((s$-NM-FoR?LeEjx(ojH(<^SaKQM9%rhfBbU2SxU}hE{R-kHj#rr`|%shmE?iU zC6ODgQgwlZ@BTJX0zb^WAS2fqB0B%{7AA@2{C%xSslX(9FM3?B@})6wLcs zVAhbapC`A{6&GVY?DrY-Yw+CQxS#!c&zfE2Nz5gYXU&`m{`$GW8zH{L%q8Ci@g-(8 zm_PnsYOcaK9nVs8tzhrzrySl zoD8opGfOZZ{(V?!P9o!c-!f~!bAyln?9aE^tR>eomqeP)4qQ+5R-1vzem-7rwHXx5 zo^P00V1EDij+r|J>tnrl&1N*^TWbcUiuu-><$~Gs4YL-^=l8yucUfvZd%j^#1@r57 zquEKu>$lbHoQCyrey!&1rC_SxYTgOv{j{3*31-hX%tg4Ku7^*}`AN)&{j`}Iz;lB; zfA;71h1o{_i@7B7g(+R(uV??C|HY4gX8eq+wY^>lvrnqAl6e6XLt%z_Fr-`{2pnCJW3>=DeqFUrii z4)^2V|9{LDFs@HT(yZ-5yfTzwm0h2zHzYl1mEC~G^AoiC-ze4(S_8nme$W~un0;TY zrQv$&XMi=6jQwOk+TYXzF>%hp?9 zUSGD}6U@FZ)@q~u*pF&ym0~}-RRrdbmrQE{86Pj1Ry`U2UuId2Wc+`bW$gp=`v==P z{+3k#y=k^JQZRddV~qvlJlN+MtgPF`x)rsru~qo~=4CzkkTJf_J9s4N1?lc9QY>%d=)wi}mxY3NWvqXU!7Kp5ItCxSp=R z)2*Fky#Dg7jJw5r2}=X>d9%|!{sQy*=UHj@`1#Q6`HeLg%+JsH)*>?YbAi>3rhFG#88xZ>y=fO( zQw6iY@F3`@7DXG#~TfJa4cX(3I~+s}aoe-DoWroDAP+wa|XdceB;>pqQ`HTJ$iO^4)56 zf_c7Mt>Q=gIGX)lgf$Dy=X0B-)urNz$Q-K>jPc4)wY8p%^Qp1cKZ^D7{M1;<$He+I z)>U9$zs9;wa57wDRpWZP{oH4@k#Rort-wM!o*@4Hd%y~k@$cUQRxz00|2$~jjB$EA z@t}2wVD|qBs}|Q&y@#ya$MN{F-Xm5$n&$VYwH?fl|50nw6L36`pZ$Nrssi)*J!W}N zrsC}X6IKzJ&+logm5lRSVzn;9`Z&KO){LjYRDX$e9hlc&VpR%ezt?8X$Mw`tz12a+ zexA32&xrXNti!=PUxO7E%s!7`X}F&9y<{ySW4=bK6-~#t%o@Bn)o*XwGOI=~`#gfx z2$JOYpwNU%=f<4gQk2RSkm*U zetXkCuoentzt?OvgZX?uw6b1EtxrTgw(`JyKCRYNGR~*X%5K1Z@cL=9Mxv>Hn{_&v z_tR#L7R>%1VNIa@*v}VM0~z~ix7yH@Z;RC~?C(w6Vs#2;pGUB|X+P%cu*zN(=l!i! zho*d;)_yQQzD}$BrBwgPaHmxZ=JVNV)xVsICn7&t>%n|JKU+aOD ztmDyCf0uP4nAhKBohF!l9>FT2{n*cMRwEhb^SiYZP5Jg%zX|($)Am?<1+&i+TfzV0 z@nF6`tO_#b+iQJ~rhI={KZ5!3{blVE%sx+S1)9Wse_MHE%=eE~jHZ15TD4%F?_VqU zs=pu2zK_WAzkUcIwAZ{Q&O6io7ESdt?X6&5Khyq2 zF#9}$y`T2ud_wlv*D)XVGtiy|o*P^Suip)_tH|%d>vx0fjkuobh3#&P)8B)zy-zTE zf07+sF3#_0yW)Rhy&?AS6=2FY)IJf+kAJ9rnqc;M2D=E?)BR1vUQEX0Ki1xerhHL* zr?9^_EozT_!>`BBN7SwW^YbCwYlJxaJ|eqIh_mk_viFnme0cVvmDmqn|DOF8n(BM@ z+hE?0XRi~?-k)T*(|$Z3aoc)RoKKEjjHZ0Y+cjXG?|8dMFnfQJo%I&(_w%v$C)q2( zxSqW~$?g#1?EOi0(W+FvA?c&+5zS&hqwM9Yee>rpqwHp~{h|N-c$6J{8{_!=CEp%M z#^*2j_9Su>JU>6fE+xMW&(F`Wo5-I-JYlaSe-H75o$(IlKbrM3B>hY~ldLkAM9#D) zfcfK-0{bJ3)Ad+je*@L#ZMU`f`T6U6g?7gWV4C+Bdq0@ZdyHMa9*&0| zpNz3*r#-nT*%Z#r763pZCRf7a8Y$v7NI4 z>eKsSC)l}Uoc9E~8qDW$iM=Q{wSw92OW19=p5`&p9=g+X6KS|9_4lq8Rt=M5BgNBUv3`* z=Jm_%;{>zsgSB&TJ@s>qT}8%zD(pry^>e-5B<$}^yWU>ONA^SQ@vCSyPM+Bsi}`R3V0V4iQDy<9N+ zJcHei>#3jnZL3}E=OKG6nDmy)rcg?7eQP>&veF0>Uiou7ra0p|4=+Ht|j@IpJE z_T%|^!mcG_Ka1>UH068R?iTjB;T zobJ!ww_5}!!|&T|xSr~LU@!VntoNZ^_>*}2AK7JKe*7QV>jks#FS2*ydb++pw)3|6 z`*D3D@`*ha%;(o;&m!ae+U>0ESRd!tZl8pve%kF*z`TCDeTHE6dcR#v`|sQY}$|K zC*ZXHiutggbf@(KxI;AA+%*$C#h*ZxlD@2T~P$N(o}H|EFlbA+># zjQt$t6!l;n`#H+F=T9)zKgyX0=Jk(q9ub@jALZ2Jdb<6DogOmwbF?Gv74r>oG%(LM z#PI|t!$X`rTu=FiI<;iX7jZV=db<4|>$H*a_J6D+?Gx)A=bQ=V^^SAS6`Two=S;%& zR8Ml6$XHKt_MvGWnxp;Y=jZt}XOZA!Saa5Z`S~!M?B3M+M8t9O!Tk0gb4tm0K88Ee z-*Ei&_ieayI-2SacM@P;f4DP7a56mHnMC{X`Z~dBBx64(I_+r6ce2wV?C(uG+36CT z44>@u(0Qta9-)T-Qm>=J1PPgD>_%vtmKe*q|HzPF4DFx&DMC44T zMu=C2MmvkiIG-_2{sD15W1Puosz1h=2Ilq0IMW5Q&l5YdX+QQe*4aqLe#SZb(3G#p z$@|x@$MY3A^@7>wiJkRee!j;$GXn$q*0awOI}5@5d|%>ZrTKCG{nI5*RyrDQehG^dC&O1cW5IkrS33f zp6!%@`SYXOoOu|h#}l_Xj|fhNZ*%H#J)Ms`oZtYl-W;a_O~-$ivk1(O|1KwZI2;c> zKf25DzWSrjuXCtnsdXG83VVvgon6pPA!Q#oGcSewLelI!Q zWSrkiPUt9DPxW7Njso-fz2poP%swCBc(|UfheoHAjQuQg?!@&pzb0os8RysJwBvfJ z_p0+Z#%X@9I{gNv`e%>doxx!2HyM82nMKBW|8qLgl@2ZDXw>2|R`UOzuM_s7KgKRFM9`StUY^SEI4`wUJa zuBYo~yHgd%e0Y2K#rX`(@4t3B9b`OzI~{A7SZ|keE|}Nb;3N3plN=4oQ+_fZ;vx#xW69F{y*VN0Q33%;ba`2inH%aax5^P-+rfojPnb)4JTlI zoL|5_>qIcs54h)mdHsNUzF_wGXSWpBQ$Oi$?n#&r=a=EmLsP!~?t@^SufO}4VD^1U zZUgPd`}d%`@MJOH0Jj}Y`7+(?TtCk9WxCaZ+5acp1~8vb$Spo4wVr)nk~<5`=X12X zkBsvf>h2qf^>IE!-AD7lRDY=ZIGEQT>OL!&{eQt-j_YYY5x3?v%!l(i*8LjHudk@v zMaJtZ>gJpd$4mE5lABA$`zOh*2J_pm?7oF@y8X)TdxF{fi`+I`PsgLWWuwI7(cNIa z*q`a&wh{Etp@Y?=D7RFINuR&M*{2Pd`GyG z3dH&&+$msQe}sFb;AD7&I}6uSKPR~zWSnoV+k>X_HPRh?R_gfJ?@_z61hel)br*s8 z^^)iA6yk|UzB_O<9 z5h-@p2=U6$#cmfF`<>`6J{Rj_zZ2cJ(KPRg?t5Tff1QoKh3=X<8=K`b8i*Q-e2U-$MrP7Qn#Co^Si>GFb?X| z@t3)?!2I~j+z!F)_vGBbd3e13@y`fNcZK3ZjE5}{vx*# z%&&*rT(3B_p1r@wEduk~bG2K4VXEGc^cr{O#c1rO#y#s&Fx9Vd&jIuLHSYO>+53y! zQe02x=RS8a8T*;@qxN8L`!w)eF>yDk6I^JaXVfSV<<*RdV z1@q&pbMF$&zVFnnqy3m~f!j*P<6G!%!}av~(-Uqt8DD>T!p)l`&f`gU3Ygb>(!EkJ z`#gg?3)j;;o^m&mvEDQ8;1V(4vu-|^=X=&&DL5H^*6qOckZ(q4shd05-;e7Pkr&)a zV19mIa;wOGy&>t#+`K6`KRmz7+)L3kzh&-ZFt5MNy+Sa1e~~+j_T&7T+~s8K=QZ~u zH04|FZWi|UrY(2B6wH2~&D~D>G2aTeZYmxh=3D7nmx=Rv%Pj=+<9o|pDVY5}o7;iw zX+F)aH%*++8n+0{=d;!=BjbENaD$hN^ZCFv(A3Wdt^?-vKX8v1%-&z*7SMj|=R>!O zjQxD%E<{tlkKGnwKl^<)H?K5xyzKYc+^JxGd*19e3-LtcGq+QSSBAcDGm?1x*v}Ss z4H?h(7WZ55+~C?>{`IiM-A>-bToT#hj<^Eq)92s5cJs*ghkpEPw}$*J^N{oox0bvO z;vH@Wc`3Yq{u{T8+yw8R|HjR^67%Epp>N$>GCm*r)~yEfzX#vBdofOb559B%70iCW z+8tPi{o=g8ciSsc{U^gexXm|$Y2H7&?|}LF`_cVCa5DU(+m7q$_PWi@x=GCUvzw2m zd^_B%oBcS?x5I4^%>KXOZUpo5x69RTNv%&res>GO{CezhXUIfzr)OazuIj9^ZE9=2QW_a?REQCr;d+( z-;$dJ#^Yn(x8ye8lR7^3{|>k4J}}KA;1z@UJObV%!R+~lSB~pxzUkiBd1Af{?+G;J z>+d}c=K1=2&kJVHH@ua!AJ2c#3(gnw4e&;wDPN|S3+DMUy?nv!`G!|S`!Qe0n@`5u z??7)Ut`By>d?b!R-A|UL&rjzYin4{X(3*AIg&+N%hO#59Q^Ov7b?1 zI~n^K<^74K`lGymz`Xt_?~pn_ADVq%la~eN=jRNs`%$r}R~!O2&T1d%vQopYh&qFz;u) z*DIKPUz3;lcq%{peFd-J2{fLci@dGixxx2-3j{9eH^KXb>|GNGnCTO|-DLmo%Vrk; zoBR=5zc&36uiuld+kN+MBeBey;hLc|hU+#?|f5-fpQ|et# z-VIKAv&mVz1A*_HE4)X^9{5Uc8F@VO4yVlffSd$h<#m!DWZvsc_x>Wk0KVEA^fVsd zm(2a#a?d4qgJ*aJWOYv>duJ;0q zVSa(O=0G58;0<06`A6`L-i^;<{AIR(V!xZcYQd+tv%HKY81KK@kKf|ef#(EPvGvk` zTfMBM82^Gf-@VOiAa8|ycX$Q$7~cu5@;bnC0{fWz4VvTSJ?F>g1P1g30#^*Y)0^-- zT4I(4+~t+MfF23H+nd>dz7TwmxA;Zha|1KL_jj{fqjH`=2>z|Kh$l z?qAYp+`qKXxc~Ws_P@{<_xE2h@Wnp+`>z}LQlD}ED+ldg)))8pSGY}m_V-u1ulE`E zuRLh~n|*PA|6F%fpZ)z0xNr9v_pd!@e@kE7-+zj`uFwAdC*1XY#{C-)+W&E1+~5D4 zySdN){$=i`ea8J?ddnN(dI@f1*TX8e-D@U)$-IX7EAm!|f8~8o-U;!qyaVJvA-=`y z{|e>{{NeB4;;G~T%&Xk5J(oNf;$M4(Xt@7c<92vY3SQ@aR(Vc%A#3*C_a3_jfP-Rb0Pe9{aC}yW5ilXLvo{`QYln z43=+g`d+V!d=qnT+Foxv_@S&59}NUfKYXv3{~F$ZuG|+0oaOEHE+MZ4@AIxFcQT*v z{pHOg?*aFE_2mEj#U9^#e|xLR!@&E!FUaRJU*-Md{YIVwKHvpk$NF=aZ}k54Wby)V zAU2ZxCi5IGEp`EUJvcp9PTs+Mzt=BzH#yMjJ0tcqc?9$0-XXC!$i?9Pu~zbZ%+Gm; z#(pM03l7H8m*eqmW`5N>EEXYe0}qIeAP@RG5LoRU9{WGC0nUtFLHwW$b~gDU@G-HeHw$xnf^Vh@u)Vm>N1H1;z22k?JlE#yJ}1Oms#BC&7C z4mdmZCwVfn9XmF5^v8_YnO0?~(oAKk&VQjE_gB6}%=*nFZ)bMd`oZKLX1~8|a{9kGAB{YS zxs=5{vc>Gz8$r%v_WR2tpU*sPS6 zfz@{h0(ZxhSjOAv&))R!fArW?a&)}^_eqZ}7hK_*u`a<6#GF|1JGkFp|72`fta%N( zH;~5m=f*Y)el<2Smh~RSLuqO3@zrTDYb{y@pB|H1(5EoJ85i{Ej@5pEu4eu=c5cl25d9GIud$+7!3Ojq<^!>dV&xy9Ut}H-zckiK zesHQkk4dq-jTm3f;%n0<#a<-8#q7t|lGia8^qUm>mAnC55(|Ee`#%9sj^&Wg+!Y86 zicg8@V`Eu>Ss7s15V`o*sWN7A22i?oE3*cDCTn{T_~$lP_lR z>*J5a)_;lnFJqqAZ(&SpN6%o+8u)mufqWappNwf=Vf;IGz2BU*ki~D#d^%Q6 zeu}v&zBpF81=l~vyf%GFY$mypd47CJY|Pgf_x*5uX{=1}so)pm zFU6|A!TA5!{@3EK#OejV8UJr=`M0U~#D1^E^zYE`v-K1Ey&fwTe2Tj~)=mC`#c$4B z5o_qg^}jH`7hf5h{XKdg^M~;_W8PMDuwPoBHU3ttojioOH?29A{{zNNa zlBcuvM-TffHg!A3eVfC+j@6RyV4m1-Yiu8QPT)aiX}}M$3BUO3=LDVu{}}5czY5+K zYuJJD_rX8M@^+%X2JeWiC;tiF6)W3?@k28F{J+IElaB@e9@|cK!Fyt*zv21>_>b6x zZuI%gCk@*h%l_T>+(0F`H&zCo6Q~3K6VrC%`v1cIK)kUB{mD}Q`Cxk7`xE^R#53Y8 zWPE-c;R2@;359;4T{&0bHGQ(t9mg$ z0h|?|@Gp8UI1-;4I2`(Uf%%MK$HlcY-*W=Z%+dfQUPEpLYw<4fcCZm&oQ~_$`uppx zcwRrq7hJ)-HrP(9emVN8SK&H$H*f25~n&jr=Xdz4+DSUm)(qZzTT-@mTzJ za{8fu{#d+*9AaLZ9*;jv&VqP6{uEh(_^|j3WDnxQ;;)fUf_P56nS3V1bK)P6iy%Hc z-bOBg`0)5v@^pwFAODSfBgBu7|3j{V_zCd=891+b5I-TFMP2~$5pkXTEW}5|Paro! z{KR-Z`AvwQ7#~Mo2l12Q6Um=I{G|9*y!b!lX%Nqg zAAShVs{-Pu#k0tFK>W10L4E+@r^inqKLzpA<7bc?AwDWTj=UP;qvDgun;@Pazl!`F z#Pj1fle-~)M!cH*FT~G?KTHlC=J%h7KSMs2xu9Pn{tDTH_?hvy$frR3%=mipXowfY zKPMMMydeGqc^bseig%N*hWJ_W1LTY0Z2yzp| z3*%>y--UQ#{5%<*@VP4di*ucMQ8AzUeTGFMxc-@oj<&`W43m15)w3 zhg}#i%|t)T*55zu;`o>&e9sBI#@sM$TKrP-yUhO`c6t0Zax3Id#vdYYW$rg98Q%n+ z8$9EPH1>Sriul*$am;I&e#LMDGk#C21Sv*Rf2l1=o z9(e)8uZoXE!+d+wrpL?C0et;sdi)kLzW#D`yoQXgzm&%pkn#1G8S#3->)dPNuM7Uy zt%$!%-Z0O9{pGrNtKbaphIl9WS$2HQ!)}VR;R>&h-a^LLN8cYdyU+gXYg>j@_ZeSb zd*Gn`5BA0V*XQ;Od#KO;{zGye?=$XSdeHv*zPP_XlJk6@{rzrEW1n&V@`LvOuP^TJ zAC>b)pZ)#k=B(~B?tlNF{pO55_8Is8e$f8i zeQ|&P&6z!Y_V+)Z^JkxNfA2y2|L%+9{(t(6`~U4T?(aA3|G)k+$awut?AO1~{{B~U z4(&7UA8^qA!~5cX{Z%LaaKI8sz2kk$vFYfQ(-0%E8`}@xtKEBVm|H6az zU(^@(_m3Msq0j#Qi-%9_Gwz>y(EiK%;{N{9;g|Q>-#>kLX`gZbl?UxF>x=vQXAYm< zXMg{^;WPV;`>PJxKc_G5?|**yU48cVuNZz`pK<>q2ko!xi~IYt1}^BczkkEG$*A^O^i=;h4_|fb5iQo#r2cdzd0%Oh!c~m%l*rol*Y{G1COjcC#4y4L)6br zxs2I``nf4Rkk$Kv=Tf#IPZGa^UUvbXA=8^AD%Y@yYOd!~Hl7*e|G8dFDL5<0^;`>5 z1|}2N1$)EwYRaw!be7lwHUZL^^Pm>z$Nt=SV$q7uUNft3&uY*RqtH zbICso?EAS^q%23CAbJ1~cD=&@}86&=Do}_n6*<#e}K6;ydY7S)RI%ZOmsPpXum)8R?zK$&Mk+mm;6zn8Vy1xt`-Q<^jm( zJM>KQ&quEB@Gwt9zR1ywc^+~@$5iHbkQ+NbWZs1Aa2#O%7TM+4kwx+Uh3s}DwkJOQ zG+7?6!@=x8_B*;UUy2-X+{1h|a++f{^R38D9qX7!AUAVp9Vq^Xk()c*%+DcbIJz@0 zMQ-JIka+`g8^=4$Un945>_W~HzXHb_nU4CMDE_La%lv0KhG!Ee1OMgf;HZ{E>_P72 zC}7S)`y7YpO!{2pE{+`L{>a@N^N}Zsk;qp#4tA0Dlf)Cq-5r@-C65-b0#`Ava%}8I z@ht~F#kkrr^m5|;!2dIPIA(Vzw%3w;og?{b;?sf8H*Rob_CV(Mw>LT<@{s2X#k9YR zH~O%Cg-xzcjg5XL%k{}`+~Vkl@r_PAAL2h-ztz!$*$I3e@C4>G)ZgZq%G?t5w>efZ zXQ6(e<74Kos2}LiuaWs3o!A5QgB+EaZ$kYbM;h}$)DL!KFyD##!Hz-9qftM^aVPV` zs2}2Zf%ys44|Tl8JR9{x9lMzqp#FA8-D@d7OHhBi<0)c(KEK1UB!r*VhB@xK4(-K^ zHFEvE(=jE4H#NS~(Xc1!=|0LEYnn1Vb~xPcEE1&(HYrGBKi1o>IVM&vxv9$2q2*WvCLOuu&0bB-Rw82_2>d5(?D zGX68&FF4xtr}$+2-jw-{DmMq?_olq;Sc$CSf6d_-fbl1et|RwHuREF|k4$_5cx2_* z9qmZZ`>BPF!4|&X!jD_{B?~VK;YZvH9ovCr|G1#8O+4*h;`p68fc&PT+AXB-0sNx- zEysn-1Cif$G-sX;yx6_ek<0uN@;i=!%-ew9cfad+fcY2XWsX_Q_0F(~4esTRx0x?N ze$TN5IM_c|IO^YqEY^Ykko$dyKZFxJA36>WB>m^0Ki#v=ac~gv7mJ0c=h@_FHZ;gS z&*zR_%s$#Wz7XQi)&FtyMII^AfMvAy;v_^NGJgKFPV1`8VWh&YV%CKlv;fUkzuKdx#& z$a+zWnbwOLHU4L^oF7(r>Y7aRL$byHY*R1imyMotO_u(jdFq)={ufyM>zjJ%|4NOE zOqTxNcp8{Y{*5jEDW;zMohFmN%VhHRSp2=FUiv=~?>AZc@Am{uCjX`u|4U50^q=KP zH(C1s>B%se{4aHOxL>x%=)^amJu>vR&i>46ftP8QIR`WE0{*ALWzJE|hk#G>W;(|c z^Lmx(Jctba5#P_XbBeLl-gJK4-kHc;Em@AY4$gYaXE4t|9xdtv|IgdOS$7=fPox2# z?d|9shny!a1HRDP$+?I1Ilw92Z0FDi$o_iNcXmF-d>in%#$B9Cn5#^Z>t|PI+Jj_2 z9Q2a?4-t=Go`;+#9su@vyE;E*o(jB7>*n0U{2FjmZ#U-w<`02ed9SdvPp(=2vVGcn zuQXYBm8`n8s953^;)AlFCca68Fa~raHzPbVJg;*Y!akfp|;tg^(@KA3r z=dKX@k(FnrP{k8?KjGu??-5+}X{@h#K(IJY3@iMN5J{jP_l zf1X$mJj33{+2Ik2Zzu3A-oDO-$a!KP>iapXOhi5Qmn-Y^cjinY|KaD@#ANTy&f&K{(v{% zS@&sLFV_Owefdrg^G@VZ&MfAW>cM%1Z?v-)^F_$_I`3ib23*%S#yOR_5AuD^1-+9^e#rbZ@>u6C;NW^W&N-rh%5(Ai@_g?B=Zp|eYW$${tq@M}jdy+-!hYW)&VwPG z;hXFn^NfryUo3+3l9Q%6tIZ-_gZ#L2DDz(AC!GhGZRbh*ncTmr|BkUgZT5FL93^5+O_QbngTCb^lmAB+ z|23vw`ak7cXR`F4=i6X1`EPMfd{)+%+P`jf)}M{-gX3Xj<*m-ubCAW#`ZjTr|5Inq z^Tca`H#OeoTmdZiYd-_m@qh08g4uqdkoP#dFrVANCWiU`B~6!YW$B=yh3`( z1%BaL$h-vjdB5&*yh{2aO~)lYT$& zNB&b>$qR}90p9LE-8G+i-RlCluB+K1(x2SWCcg8Z?OMv54E(eIT-Ux37O5Aws=Yz> zQeQo_v1?xl*Gu)eb}c6TMWFYmrn|;0A^!Ch`F<$FRpm|Me~??b#xwiD{&{~J*Fol1 zz|B+Jx|X~p?cweN^_RPPd_Zh(B;(I@^$#VSWq~2gM zjo&^N|GuVPj{hF1{Y{qsy;5&Bnf!0H_}^ygrT?v|gG`qGBT|Q%O#UM+{`sa}`cFz7 zZL;)#Hg&AY^nn|kS=5qQ&N>7N~V z*JSelz%?EF6Rlr&23EP2hwxf`t!v$C+21CKr=h=%3#@a^_=x)7Yrt#u^{(z~Bu@}; z15XTm?3%*78hBb@gKH!6R^X=s8(p>5qCKCled78UI9W_eY}y!}_X3}|zGH5WyvZfj zh1zd+^+cW|hJ$`tV6*Gy5dJW*)pbV*ZwhR4jS1l$fiGPB*UR`O!Cg_<{{+5r4G7_% z1G_Bs`Hfj$vOW(5zBO6ar`F_qlc_#`bbW~N!S{R+|CvpGa&2HP0ImnTjrm3322J+4 zb}_#M--|TR_PO>G^92m5i2e|MdaJV`W3v5DbL4!Sa#F9ptP@`tN0 zb63>=>3W8_7wQkYmNE|kPSgH&tzsU5`hQ$om>&cl)5K=f+DPp&3;5wCamG^QN5mrF z$xY&o9iNc?ec+i*DjC~05r2$a#h9^~_;cX7O-?qFw-A31yu8U-h9iVOY?5ruU_K1` z4NcB5_Aw_pU_EMbt}$^d`PTyeu1P&(5wd!}c%HEYSv{|uXDkolwfcF+#t{Ci$@#`1 z^5^%9^^L>K^nS6vAwHGqjTWsSy$iJZhJ(2SaOJf6M)GHrpWeXL(k?V^_?q|@;M!>y z8U2|@0H2fAz!;7^K}-N{kk-&x&HNa!JFT(N@EhqrK|BL|ahk&@Kprhdj1}UJB$qLL zkJOJA+t|o@ir;N?`z6%gZEPlHdylb$ z^t*LhVzH;lym8YV2dC`b;(Q{tmSd7~_c9K48=mRYK}NU`(?ibN-tc zpbS~>71Me@x5mY+r}q(erCnk&%}*_irzyU~I}Le0n_(;siNAJIhA~Ey>B0SM(8KrW z#yFjLGIN2Qcm{A&Z%bok9Oh5F1w7Ex+US`;dU-zhcv_Z`S&8%?fj(EyHl|l5{Z5Q8 z$2eGpcptD{BgaTQnK;gE6LZo!8`GKV04FDPF;-S1y$89Qv9Km_8{{jD`B6 zUw306^Ao^}fp?rP?bZ10ZhT9eI2QaHXx)uUwNRfpnYlVK*8kI>_Y;eypg&K)%IL|w z3V65oYGZr|zngZAv4nX8=vSs)XLPHL@r%!abM; z7suad9A-}N!2SQUn~d}SNAaBk{7G6L!^wOW@K)e7=7zuxv_3{FW-oAVqdrCl=5*ky zdLN@Vb0+ZT;QuXiH{e}q{f)Fbl-~8gUG$rc;mCPn0Pxe=&4#0{)aQvifxk<;#rPXp z&7Zd#wlmP5`}3_vr4T-xc&kw}gb$?+H0B_$;Q4cqv4olC&q2l&XHtF=;rozf+92aL zWR>0^V=(DCy+OuZA$&M-kns@NbNoY$3CtA#5Mv@S-!Bq&pkxE)#bkLQd>kSAgJnt^_XML%hxj9-n9=ZvYys((CZ%naefiO(6&h45PadE=E3 z?wtODv65H}%aYFnFBPw9r}WajKrD2_;U62 zMy(JoNdMTlFobjUjYet+7o>k;v<=~0eY0^z2p6PpG5UmXuKuYpEQAZvKQqP=Cq57L zxlH@qn9lqTaEAW5@pg!PuD;z^8^Q(YUl=>s{%f#*FMX%6pZOQy4}lY&!ty2BI@!dH z+Ly*@%+-PW12-hb_RiJ6GSWi0Abpq7E`)RSZ;UHLxFCJE(LaQ9_3wcuahzoYqS z?!-C7e*xF3R@+?=!lRnkao2o~^rv*TiAS5C;eLhr9N;<4&vj?cBfTH^wdVER8P5~9 z1%9jfh3<{axxgPZZ{+U%0_kr9{ur*KReO>6PT((_yWN+B@Sf&g_WMh-4UL(Hg z3wb`$$~}+yE!4MmuVa?yC!?CTaqn43_8)@&kgcuzH|Eco#UiQC6W;>sE!w)Pyg~Md zfRkEW=5~Z|a*J$tmBpm5(gnW1Z_(XdD}>WqT;?eVKU5k6&1 zW_;-0fjmjf1%5DNwfoJ@Qa?#70Dd&%Bll|NE8Y}hdd3>}^eyE7F6f`lSm)k?JVAU4 zyddLach9ZlzYBPA#wYG7JIMajZZ@$ZW0QNpE@CHea?)1!7UuTIpSkP*K>9w&pSxG? zB_4{;%AU|x~K0aUW)vcJL4DP&yc@%FJb-__|gWu-D7?uJ$)bjoxAVv#Fa0X z`TNmb_YiS?WN0SK=c8XU;!P(1D$KNB9b>O*>g9Q|-tuIVrGHY(Y9^EaDHi{lre6B@ zt8tpi(*M+!r<+Xv|FihlG4;|vS3kpK>Hm`BOq0p~Y>WRnre69dx2$Kf^l#L%zRA+R zY0JhI{}fX%{WDrRO_u)IExjgF`WIXLo0@v*U%gs0lcj$bZ*!B$zm>(mwW*i>H?+Le zWa;0(Wv0pG-_hdV$<#~#A2M=Gmj1tHbTgU!ud?`GZR(|et!mepEd5tGuQQqads+N@ zn|ezBCX*@s{w97UcF3Y{tM46T|HPaIyc_s;=GMRsApid`cLx3u^a+1c`ELOJ75HRg z+)u65M|c_{udp@AmCwH;JvH^JFh#7eWdPS}mG4O-7W8|MqdoI2e5xJoP5l`bZbr=U zkM@j+llJO){a$RZWU->^$K7GS*DA={k;j<&y}-j--DmP&$oHFE?MirFZZ+2AbCJg( zLwTyE0^ir_0h8MR=Qav*H{fNO$#FLT|7Zkx2=JNihm?QZ1HccpnqczgbugbKJyM9L zw0hL!=fM8SR+CJA3HXq0vgdxR4|Sd~+4Df5`kCx`E`$#!PWF5p!by#%dhGF3|MdOW zG|v=fI-i^7@g{`U_cTvaVEKIU3#9*2t7)FD%=W7!PxlN!{-zSu_v4=Xn5n*>@I1x# z=Y##bt)BEOX7(e`@N8th5_nCknV!AOw;(^|iBF{TCj)=l>S@ne%yW?oJbvbnfxl_> zjHe^>x5%?RHz9vhiQ4;F&q!u!@7bQ|Y=7$2u%B)<$MY(4BjmZBHO$?C_14dMb~6t| zp63yjWPN>8iTcO$opn;O61IfwPspI-D_#QGON z-#~lO<70l4IfIy=Z(j7goP_DysQ=CPyo)?qr1y~hae-$&>#0A!;@QFa9MGTXe$Dd} z>t%nO(rTfnR%MEh`sX4~L*&t-FW5U5@|JX#C{`$M+n z9&s}92;h_a%RTd%<@=Sktyg$@Rww;<(06S8zGn;aNFnb(UeS7`XCLzupx@N^Lr+=_ zX%D|Ifbp;P%wS&0-1ijHZwKz#dbP)1lXwrXUSo~t6=wT2a=*9MGv!p$pN_oVvyHhC z@&?b0(@39+{E25tZQ@IjH+y>4CGG+2P1))RoIyMU_1iod%nu=N_sj!MhWl0$>o~7)5Z}f;9hugTpFuw_gl%mSyx<(N zU#`SV``zTE$|lSGLghA9P0k0NVXtoSuVL!te&dSPHBFZOwcDI-GWplF_@80wrN3U| zER&`G1#OZ|CjWCS{`E|~^iQaEzRA+x(dGh^$^RmYe*;r5{hPLFWU};c*`~3{(!Xg- zr^Vl8>ZSjt#%`0z-(xbR@3;7;ntJKqp-mH$rT-OeE;gC`(=GnZO}+GATqDC|>EF9e zE0f8;t;PQ`Q&0JCXENnK%VhHJXz}l4>d8OHWb*H9GWmD2_+M`7rT_ZYxh6~hfo-ld znf$M@_+M-4rGIvVo+eBGd)nM+GWieiF30hp&MR+$8}Lt(ll zzhv%#e24c>=8?d*%wgV|UW#uL@^Eh>=EcBOGw<}aVqSxMm-lMs{lK*|@AeL5)^3q} zk9Pv|MZo7}=6UBbH%A`fUB=u8*qJ%fyN&ry1>%bCvu?wom__f}>f^8Mbi%-w*m$sFq~VD61P&if|w{lNV)AMkEs zejNEh?@!Dtfp5=z$eZY={Ov>@?>(Ej+HE#5DszH2zWV)xT;dJ>uOHKo*~Y z{*Y~=w@nk`eZaZ;L~q?RV%tC)%$JXPdt6L>3UIDI$-9#I0^oI-lf46*lD-M@6mRk+ z#O;u$dRH@FkNlXoO*7ID1)k-Z=H0@)x}QyK&V0fwW>Yk z&1b$4^w%{m@E&At3jB5EEbq`3WIq$^bM-mi9n1@W_h!!Z?#Uqid%y=WpY!f%Ni6RJ z*Q)lscYG`2^`QSN^F{BJ)~tv8+1t(c4sAoc4fId>7I^DjO8f)ztKN0YzXIp#3%&lf zq^~ka@*?jHJ{xI=ZUVs z-jsK|L$io)!}yka*D>FR`W4=0?MXii^&fawcOZTP`9tq39f?0e{>ZyJn|LSkT5n<( z;@^IobC_-s)|01@Um?&%E=QA4dM%TPv6J zbCAFAZew1Cywftje`U_!UHZZA%e4F2WI4Y#Z1;`HG{1jm@&De`OaB|H?J-&U-%@R_ z$>hJ!;=kY2OaHx@znCojFK&0hWb*&r;(yT8OaC_Q4w)?dFK_pk$>gv3pz%ZYXF4*~Kgra~^e48fX0r63)9w_L$-kDxzqYBD{_nP{W3u$$(C$o= z$^Tr7e?3z#{l9H@zRA*mf4ll7lYc{teb{r_&4VzTs)&vKbe{yvMp-_%S0Ayon< zOaEDpG?U4{nZ-Zd)RTV;lgYoO$>e{j#lNkom;SkWrpeO(B}Y4x$-jfezoV(A^s`N- z^gEkO{+C<)uQ2t}zeZMflcj&1tgB2W|7(32-D&;#5yoSqtm}MNGK(RSd-?`5%kzcQ ztm}ObG0XFX)T|qPvw`LF8a?0l^1Vxp&+mt9y?k4U@%cI#L=6fXP%}w^{rLntEB^nOTEPmj2mULrfJCRD!LSL+&#Piz5x zyz)K1c_I9K)Qw{_oJUd zex_tS;M>c*ANfIF{Pm=-JrthjvmWxD#oQ2iywA^^4Lm<5J=4ddYue&G6LLmFU#$@C)_%Fq5yIEDf8TeQdFiY2{p&}*@qNjEIrtA~zsBe2CmFua z1%~~HuWo7Ui1w#npQ z*S~L2RVcyeM8|M>K6r-zAagU|Wxyv7mU{X>s-CUS@cWTRDQXqd(d6ePqKwfSKNR82*7|pSa*InEyH$ z{&~zxfmZnq+==LwYQ^u$6$NKzRkmSI0~IZAOv4KKeKFCyth^&V!oy zn=;dVwPyZIX1cG|%s(7?QsO6YzcRIBy8kKWoyaZx^O2Ve`n`je{>1xb{LAsYf2g;W zzYTJpaANvx{5zNf%ss|Q`#jMGSg+B>KZE&lokg0#b?=Ab65{s@Q zY@%1kO#i?Kr9J6~b!_LKPAnb(eSXJI{%y>6LH_MpCx4HJr2Ql@3iy7|*Bmcd)las6 zI5X8xw*PZxs-JBCA!NG0_i)D?f8qp;59@1c$Ikv<%(A|wcI@iE4O#8iF84o;OyhM? z$IJaok(Z0_Aiwbc9{ws1V|fyP2L8EOcmD;*s(*F&cVT_Ek@EdgcmGw)H!=5Nz7zPf zj@|vY5o3Sd0sJhnm5mk%LH}dNtNp{7UjzQRSr7j^z{xOv z9>|CDwoX0#pE6HFzQ+Fx^Ag~5J6-FqGLh`pAz$Y|kNFqilukYUO_}vklCSr7Wxfcw zNv9k91DKm5_wwJz+z+^Qr{4ajnDdZt^e<+f51ifUCjUm})yRGPdzt?RzPeLifBd7A zzf(s`?&m*?xhZg;PW}CU=8niW`#Un<0X(GB0RK(Q6OeE5k7Rxicx0zr{nMGhLcY!a zD)Sll!u#Y-1O0251IUB?yP0nSp4MrwUreI>-Gw~FUmIA>_qCIT`W?vheZo_nZugHx zR=@u;%>OJi{r=0H{%vG0W?1yGw@rT zM)+$zM*I<+KYi3`j6a8YC+IhIy5GMugy(j8z`uuCe$W0zr-%Gwr;)$p?>ar~pThhj z`2XB#qTex{^uGiD*=eeOT?p&h)BWQfC%ryK=J!c|wI_&c0DsqMroVvs9MnJU-x$It zXFuZ~KZESyk0Zo6+0Xk6LfFWD*`M|_>Aj$DmHmd_Q9#@jxLfu+{@TwFw+6m3`+a}I z5WX#Ym46F!Ht6rlUgKXri|o4tkI7!|pZF|sZ{UZsH~JIj5Z?+sJ$ti%CG$w&1)VU>dzs(; z+5h-gGu!X8iNo1?>cIJ=p9JTHm2whNlV2jP4*FAal2X5AJ_GpdoT{nI7LeZdp6qWm zQrCsBJEvx9hnJ;3Uo-^!85slRA$%3pg*QN$Nr7 z>w)jjxi~drJK2u}el(|9>UicEz;ipbNZrQ#GVsitmZ=TDAp3WaFHIfJ{0Z>9oOY?J znZE{JnA0(}?hdm519*8(=hVK;)yKm9=$tE3#ZJpa6`@}Fh#f7aAX|Cu>+OqTxNB- z{Fhq%-!b*le|gR_lcj$~=anXt|5}UxI#VzG`{sOXvh?rLd5g*9zr*6c)6`4HO|2vES_oiO@XXflNS^5v_yw7Cv|IOn6yQ!D{V>|z0vh<(a`7e{nUk{Ag zRTbxlZ^yy?>m+-i&9^~*xpQ1#=^n|G#6i%%(K$Y_BZS}WoEWIKm-N~LHnFO6QotR; z8#-4B^k%LC`fZ(03XBWkU7f21<}=p<{hrP>0`?y%KFPm!t{Ired>-)MolgtY{E76E z6T8$73}yBJ*XU9=FmRvL!+mJrv$~uW=)FJ47j-#1(C24lK5soYa2xVBwuNBt>2hvh zFzFNT{Zxo{T`maR#XKHZZ+SuBUS|4zi~50wnCbT|>IbGU{|NDQ(Ju_lVEz+0yUT@v zCCqUT+Qj9+?=hbY4F4Y$_=x!|VEF&2z$RkOZ-c=05Y}5Z2A zYaG~xOwTg~>5f3&0jXEdC$7MBWYVwIU4dtS<$nAMNPk!tBk&gU5M*~?GxL1ld%Ji7 z`mB{(xe_+46OJ<EcL967WvMOPyW}MO#auIO#U|n=3#kMf9(~hFHV9Isqaa91=5-6dAe8Na^yVxp7Zps zy#vFLM~fX$A7^&GF)#~ReSh62@B--*<0ruT=|+75OPH%OuVStXT(4`N!0*I79{U9T z0hZ&X6X>0wuVo|dhuk;dWS#aazP{;VhkH90l4hh)p#Qy+~?RtCQ0CTlR;P-60 z-W?biNBY{pbGnWUB*hb72t2&&=s+^_#lX4xy@83$9f4ozIwr6#LE7hutAST!j1BBd zBpw0`zfT?LorIy0q(KCd>Z1 zq3h!&Q-6KR;{UX%m;T>(ea2+zzrX7&lgWRM#ec4;m;Q&l&NEs1>)oC=nf&Kl{9iKl z(*LAxFPkj=>vnt9Wb$8R@qfeAOaI2*mY6L4J>A|inf%`kygLk<$9zAxEU=nbtbA3T z4=fAhKVd7RA4e>HS_13MjmrX8FAUW$5A-G$4c?T`56c5{3*`Sf(t35swlc7QSiJNW z{J!46m4W)7gz7&C^d=VL-j?Zq5O7%ZehW8a`?X*{qs9k;#`OQEJl;PHc=`WOPg{!j zj|2Pg|0h*`R>S-sn*Qp5!2hEhEp7z+#<#ByT*Ul1@<)Lj=Jm*H0^1ja{yxsyz_-L= z`7)XRwSl(u{VL~YZJ-l>&wA7Q@_WU#f!pWe_ZqBU7sw|TcYr=uUl*uF-=ngAeIS{? zPkjya)vK)!ET!)US-&B$lD{WBd!<}oHUuWn_kyh77?{c54`zV=hL#%xQw!-g2bQxw z5A+*7n*&R#Rt;&tErI34;?@u3eXA{ji_Q+!ZwncklK^AeZJd*6$2lXW>3P-z@<9@4M~{ zG{N~wrT=B11+n-7^y34(CNcsen(5@D)%;7az z)?s-b%M_NWEL*V5W_h&!*Kj;mX)RZ{@~Uvy=dX63%{8nE19~xLthB`k#xmgFN=9bg4gT;!n1- z@;?}^iNr@`{&jIOO1STbQWIx!cq0zKn8PXGI_u%Q-V(0tJ8(F~1M?m;#SiDK%r~Rd z#qB8VA|It1Pnwv_{4`39?ert;RJ`-pPL0RHtc&{^Q+ug!sxMvCgtn6HWetCs)3=7d z&f!Zqy=Bbb*P?hxYNCBBs$a5$=kqXr>p7fcc)$O8JXEAd?OERIVJr9J?c5K)V*Y`7 zUm>Z9-iBnPPq7h2FNJSYZTB3yC-DiK2 z8vIr~r5BFd74p-B;ud)_eNFU5sf!&qNVbc`oZfPj@nQ|i1hJXpxr+VnKneG_F&yTj z?$TeeO^}_Eny3u_=_lvcIw*tT6FB{^I6hU5862LC@!Q39DC5K(DC5N_lnLS~l<@yU zDnC!zFdx?W=rXJ~O?=go^3f6P?VQgzk$sm8hu?9D$}XPgvjkDxd=@Ug;?g619H$ds zkq)=l@mg04!G=kH2`K##L8SHX^F+L$c_Bf}!+a%**&2=8;>s1-zY^y&De8Qxd21o}%lEk* zx1fv{G@m7i?~#M`7n@(~^>-G|U%I#erCm5s#)(vv!F)uvi+z6U&*@VCu#1jdA2grG zA2Gj1XCHmPu9#=#IIwd)SF9V>d1?%ggUKk5?2pmeAANtE$N6|8%6t@UfAsk{Uf0oz zabC8^`F@=DHSrfpT_j*Xw~Oj1;ao7H{^;i|+BX%ypD%0|`+8@cFG_kmsr{cd9ona< z=ba;;XVgB9&RdFqZXi3Y*nQ9OYFC|~kBgR?I6X#vDx7D+Q@%(BKY0$S;tdU#&yk87 zvE5)k2lZik!F1JmN>dJRg%a-fS-1m-cjfS_nAJHdol^wQ-BoyRwo|en`w!vp3TcB0 z74AEqVD(`=AE9$CO$_6DD9k!PAK8zXCzKt{4>l2wRlHen_g~g`9;743k?Q}WI9;oh zcG6zi5eNO0zOW4Hm0xK|HEzdZIW#d9r7j9k+Qmy;zCS*e>$)c5Hb|+9(^0~H9%YM!tZ0C)Wk%Tx|qe`uX6Yz4quAWE>^PsBi3(V{im$o zfih0)Mj0>mqD&A6P$r5)DB*WcrpR(>A_*mY2ZH4fUk}CUPvQ7fJzCj1Ul+&Laao7s zzku^wn8T0DV--&$&W{(RF48z(MTgsY-iSM5-mvDcCCA%=QWw-tcJU0yA6Xy1 z-Ckz@H^NADk3h+H(M}U;zFozB^qv;pH?sa?4yW~A6N;7pHr5lvy+&plxA4ECJYOpL z6YJG}>lb8A*rw9_8IMvE)tLXsGMU5AN2!bYDDA?<`ioglcDf)tJKNd#J#8@mKVL7` z1GuNleiWZ>#z*y{iH@k(#T6*+q8Cc_eqIw_){^U4-ZQ>x30HcOns~F2 zUK7iiso!csJwGU3Z_yXWR{#Hst?R}om~TyN=lmDu=;w3gw+rLZ1>JwKi#^D3;txyw zk?o>CPl$hv=LwYI?>mGmcNO+m`6rIO+^1RMA&xzsvn}xuM<36tSkIbh%<&ZF=;QIC zza}n0sf#u!?V=OPIME$tygANdvycA#HC(*c$C!_z?W4~Jtq+=@{ODXScCMEr>mxS% z=<}iGr~X)exM#%eO&opu()^~0fgDd^jy@ih{_U3h5Jw+RKKg6o%+9n97v}KssOPKV z))}>at9_AL@0Fau`JcqHppevr($D66DpvOM*`Dsd!1uQnJ9RHc`C0WUp4Y)oKG(mE zQWqa^yq~Zn*2Grky(l&DGxOifanooYLhGGfR7H*xwNb{4vrs0OeiRSfd*ygkKGpiB z)+ewF&V`D!-DM>70+LHh@& zSKb%Wd4TE%y6D334B&hXXQus|Cg}c>F7C!~JKyV!6IMIY!+lV;8;LSbjJCuVt=&WD zrwfV)z6{Nc0w2o&L{>DQzKNQ~o!}lUwPP!+po(F>A zwEqvX)z137K>Pooz12TDR{01%mrTKO!}&MnS3Q@&_e7lk!r{T^6;;0I(mmRITm8#w zIZ7^Hs=u8W^;~lGRmzcxj_iLWYk&OJ zTX`wJ8V}{AJh7JJ*pxrk@ltyI|Janj^vV-!`$x7fy>h5_2`3}x`}pgBs+{GeTovV@ z_m73^q4dU6;e5n8KCJe~PdO^amF$Na-*c&G$HL>_`02-m^Idk@QH?LFjGSL<{)^*^ zcB1z?$LhULMg1Oa{Z{nsZdi^bOeO2Tua{XA_wdCsS-}X!8r(|sTx0c7sC0D+Z&6hQw#c@SBj_v-Wtk!Qu zzO3V}yv-BktvuHDIyx?^{lB>R+NwW(%5iM^qqRPY1@Kava;|0BgS~j>~F$l+}C{SD#jW>6Jt6gOrSIy|9+U%B5GX zigFb7KB)BCqoRLBx(8w%H^p)3wPVG&DqG{~#AuK5(%*|4*H(RbDR=3Wqr9y<<*hs? z#{6X+*Tr$^jhBk{s94|S@3d9??nP1kptx}xtG;5Km#uTI6Se&+%1!;SxO%7)-Y-<)>ui{&xJdQ+X>-u<5P=dl?-ONda-vchM?N#3TUwJ7{c`1h)H_^)SQtpa!6m`F` z^wy_X+e7u&Sp6c~mtOf*d5V*f^MCyAx5`VoD#~$e=N0StI5FzG-j9J`77Ccm0o{{ zwH(%dZsl0xi)>$V<1}(QvDSZCvoA08R9?z)toz4_T2E!Q+$EPUHJ_I3d{uJ!E7^R- zI!-FeakSq>m2CS}v`5)$kBaf+no8$MQ>K-LdzKaLaeTK&Mf)A!?N_lrRjf}%yYx&VI@zD=a-VNzlwU3>wqq(-~ZRYD_U~xS<#NA*^aU9 z1IlW$ zMgKgJ`kA%g700FDFUxEHEU)FNm>21JvFPWe(i>0ZrCln@QPg@>di|vW8sy`}O zvgwtVdF;q~tEi`Zl z)^eO!P6-{h++ncSU)Mng^}xQt9=(@-luZ%28B5 zD=+=ZI$nz7igK6rbJob?wY;=nc_~M6MybOkALeIIi1q0--_}?Gd@bMeIoZ8>o_frkDqd=eyQY%Q4hyY z`$TS!@=}iC#*E%n+vsG5qyWB^sduql1j=!qEih7H!-b%KMAvgNKQ$I-5X72{Wq zTTM{EjD6ly^=Fl3wV$hemeu^lny>O!p2+1dtMlE7p0Cm?zv}-=M(#hw?F+2>(koZ2 z{ivk5td_g<@}>H{l9Bs!tnE?yGi+kGhfHg_>Nq^$4@!RTfZ-F$SGD^A8*?#TA#e?3w48Mz*goL`ln zlCkc8kDvBCHuJ;rQ~t=~u;k`#RnNuA$oVO~dbQ@e ztmd<1^HqBFU9#mUxqe)cuVZ`vPK~pQdOo)G9Jzig#!KY-DSlo&vHEfG^-;J!EBaUA z`iQmuinA}h`Ymt$zM?#G9V+|%O|{d%l_fhKE5;wyr@H5TtbT{NxPEEXmwvmb{#jo7 zTjX+-Tz!|fdMj_``LFsx~Z;$+F@zx3L{TF%lf zSFH7Lq`fLn>6WA9`eVtKqat6{`c(ZTR#_9Cq2%|Ek58j>y*VgtBG!0H+P=didcIqL z`O(B%oG&Y{;&76h5R=JIg?GhxG;tNj_c6!!8T%32gpyx!c>H4&kJUd`{*KdA>F;6w z1EtRSwTn#TIH66abeB9Tr6!i4w23MlPEr%?TS>hx$j&BKv0Z8Vsd^(BeLhwDor2}m z&Gs%j+|K2XE4KVr|1-EAiw^&{@k0G`yQ=(C``Dw--}zi_!;-(k;oyI zMY3+%7gz2IJ!O{~Otbg>boUF_g^ zzhij-r6z2TQ+-xLsfjaC>f$1lcCM#5;VU7#W*ASL=#J}AycsX0rwP*Qthbx`OVC~u ztvDa;SZ1@llI8U%HPH{HE(R47K7{S>ve=JeKa!ewg!NCLw2N6N}R_<-n}e;N2!UXyx$?ViN82J;R))$R<4HO zno#;WY*&xNY24XFVb(=Mwxe}QG@p!nj%B;yd7@^QJK2;q1fZTeYLoD=uyyzmw~q_Vp@% zHc?#qD*kYGB^7=;Klkm%eCi?(=L@^o$N5&}RnIN4aeas z=ObP}NNVPJz#os$`cYiFS@-*jRe999X5IHwIn=(<#_NgV;J#nkWnejUaVbi8K0;~Z z=dR%Mv)a#Qvpwx+?IIUBPSAcaUeI|+g17<06V3JP==>}3^J-GD&x0x*+Arv$KjuU2 zN8`kGIBw%bKa>e#Fz0gwN@yEA|Im295vzan`Bdv@7SA8Fp4vIxIB`GbCtghAe8py; z!1a|_Y<*EZX}oXLMI82HyO@FL#&Lbbi(5XG>$i>b7p;Bt`FJ1O!zM^Zf9~--=2H`k zQR?h(7i&2GpP`I5_XV-pN1uP|IaOiSxjl+M&rtpE2QH7=pB5b+{yf8aj-~cxKV!V= z`ArkV(dVyZ;|b;?+VeOXzwo?;{Y4jtusn8=I77~>apDw|@gf2Dn>HTr(b`Af-e+Mt zHbFA_{z~(vCQ{H}7jBex(FA3jc>Ww(AEL91=YEw?>^N_U@xwV2N}DLm(YJp#$8!Tp zUEGQio~O89Mb^i0e&dVH@7Mjg#O!9&NvRn9DVd%Qb`3FFHK>arX?zLo)hu zEa3d8^A~!~2(Du^PY2Hd=s7A;(79qIK1WFsAOA!1cFD$9ncJ~SvF%9bK=A&7>vbhc zyV#5}PV7b*FMdOrAhem(|Nos|BIm18vH3b($aFMu5~o*~qaP22{cNHzhmWTz?hoO7 ziT8;bOY6R{7UmD;X+A$pW~OkPxQN+}QWsv7;lurGPku1}Alps9X!VqjBmFPo^p#Zk zZHeK!$YgysOO@Wm_`DD21stA>QWMvr)WuCg3`B(TR0t+ zFUpTD24lEg+{1e1ukt;b!&Q5z@Nvb27hOMg&JUdPvOhgvYU0r_JO{%y@iOcGYo_NK z&3upcU#DM@9?fT^)&8Yj|JMFz<&w@Ho#&|EcejZ*dHhkhZjOU+;qQlxR}J1nhkO4V zIp5*e7wb9_E30#sH4jj~`jyWu)OnUQK4q`YtwYx%4bD^OJXxJ12j^WiZ>r~8H6Irj zZaq)4KJTdbLh~Wdb?7`hPEfgm`H5^7exI$%{V})a=RE(0W7R)YJt{kEIGrcigo^)r zOZ?%O_P@b%TxDksSMjTMJizhOK0_CWk?kVxDcX-IyONTsTupf&WKEa$?KXZ7qxL_+ ze5rFMWp^6i_o#vS)x~)z?ZQAACz_y)7cEf+jf$$9Od{g7fhRr=#|*7xH_(mMouO`)AnBI-dV) zw$2|fa{j12ZK5!%b}#-sXCar5Wc1H}s-8$5d%riiydQ9W3v=}4rSn!zY{7VRv6JH~ zIz0Syv~`|Q^F_FGf0{>ZeBP_Zmy*HfEM=$UZq6UQKhVTp=AT$v`^6s^9(+Gsn8VkT z_B724aVTvfv5?fn$;?0SJ+#`)=de7VrP?Q4#Oz0@?kVUZjl!Fiq134f1Kou{aJDa_&f zZM6B{fc-0u>ouP5FR1$@HW98ok^Q1S&nY_o@afX}cI5rXseE2`74J*>b3Y<3{d>LE z@uS8C-HQnBXQ>>z7+NU*no!}?&+JF&NAfth52al^h%!!0L>bTa31TX;N>52mJd5GF zc(IUPr5m(U`FI`e?0o+$PAo-^7aLF}i0x6vL+7N{_^lkgck;a@UMio?<+TecKfKrc zmv-vDkLpLNy!&u|w~Jq5iZ@=6U&0Z7DqhNeu)Qe%@tpqz_D^L0O5!g|`bQT}lKFf` z@n|BhK+gZ_ePZzbQ8f$?a!uyK^<)!tk5}V)MCbd8#own1cfZ3rk4I}~^(&68^CgW- z)&F%-hs#@Zc=-L0HQuv19+J`T4^=&rpE`Gd?|3o3I3C~emhr8L=2Jb$r0n{h*J(o)2Z{#Gt z&std|J|owyDxx~dsyrW^B+f)WSu{jhO?Xk-M6*It6YZF9J>LL<#SKQNs6xQR>yWzMAcCN2!T>nbmx&FeS#70&*O z!?n*Wwx7+iHP)kMzSpp_s;Buy+C#tMa2c;WpO*eGyNGu<{6m&%zTb!p_YH8}xAFXG z6JKDsCU&vCmA~U~CF%U##^>$oyMox`vBqajSEX~b;i?_O#i#U2hO;}?;l-t2oIck4 zS?g7`hgGU{OG~PCh{^}gskn~m;s@@Rg~MT<;{L483+D6tpT96%7y7eup0bO|DC0zR zl<{VK(b=p15BG=AUlZq`)WudD*LE|$qV+*PveyOeBjGz#j3@Zss!5Toiv4zBOUhZ{~cd_kGllHSr~e>tY{DxUXli zQ|HHjupPC(o!0?%&r_wV+E+=xufEF6^^u{3*Yy_}rGB zTY~5LR6oJ-k0jlzTTo;BZ;KbuhgJvp75QQFP##H@O&pDJG- z=Ub)!V3Dkg$sDfQQ^_Ye{27+&y*hnwViVch<++9?7Tq8veD4GOK<;1UbFO?2RqM?Q z>`&`}y04~-*E!s}??2XD_&WicDDJyB_4^j#@*gfd+!!+TJkmkYBRhew`6 zgo{Ug$3WxNZhlv*;w@UQ=8xjzUQ2MEp>l+?3x7UmZExClXkr7Gr!Ys~Z&d!j#&~qGhvO?c zT&-_MzQ?oXFLHl_{TF_}poydHk1C&sEcqsmz8)gyr{wah=Hs|Iavjyh$tdmOG?c;L z6DV3AzF*S*$0q1rmW}tLn#n3$&CAhBHSeo+LEUdtOi~lcoPRZctM7t|ZK6KwoAQ1^ z-QS|$#n6O0=ZQ97rDdm{XRP&NWotcIS=EcGFSU-lv7TUD;B$yB=$-`pP6md@iRN67 z>Rd(LqaeNA)KmRy;xe|U{Mm#$mr?sYx(5@yzo_y-QZwUI-_ct0d$b&Goh&Zi;@aQ( z-CB372fMhQ>+xo;my)uh-z$k1Dqhv!l?*ptRJdv{>%Ca@`zAC`2EWT6hWXb-K9?ih zK18)6)n{;@t?olv=k3V#9{qe8u74FB9{swazB^av+EjnV?+3EOpZBZwBaXiQt@ri{bM)~{<9Z``?Cb4$?$`8w&L#?T^!eU{^{0vAezz_BcUjWDEVwQgH*X#9dbK{P`$6w>J*e*sqLZ3fhkm;FypTUUCvo^M9Il>6 zDPB$dWwF=h(t8c{9rek`x;TTw3;Wyn_Y^dK|6*gQi3V(MjlXDy-=$;w!uhg>+k}hl ztn;q&YhsC~IkT$YXxGnZ?X3AY-q^aHwdVRF8U6f~#eO8C_bc4LqxYlVVbb`$xh^i} z^otIUe!aB%)A)hk@#5cMp?;+Excc|;UK1w26#nny?H?vy3XeWsHU0;2e1$psbw&Bn z^P=^4`hvgjKY{iEIYlx+HNer{2 z&>nt&1@8mIoA#u)36h%lo#Un7<2y23drtNE?9_V}cz=ZYU_L2cRZsMu6yEBJ zQ`qik_X{PpPqB{MI-Ea};m4oV?*jHC8NDC9r_zLr{R?yW`OBKV@@r;^hdB0lvMlis z#~x32OFYEU$8!_=lMG+4>iJildktZ~JeJ|kJ^JxEqmA!ZS?e`iKPx&s{5sy$a-ON? zNtG{JZ`3)SO^oAwtMaJxIT|;?_pOuAF8KY#O!k|{Qk}=?{M}aqN}I5c9HIz1??zgCVK3=6-=TtvApUYSHoW>^9d6yao^u0&$9M8{wh4s3i`?+?Zes@)^ z6X_OvdLI#tPkon?X|XFhUHE+&i=E1k`Yz=v)I99*C2d!slp3d<4CzXKIaFFN}KF_!B=r9<)Q z9G{)PpNtceIUTw$ksxM7={LKOUod~FKAy(?aJX>0SYSy<`7I6;{!WOr*i(o`8O*@uhJ(wc%O;+h&v)5s$N@jeOT*Tg{yswbzi6KReJRMICha` ziLYpV`1k9josMdERX)}3(Vhz_KUHpPe1*fq?{~x1gUXK@S1P^2;jzc7`dzqoELtCX zJLYo#4VO;Q`qdbsDz>C=5XxTDSg4@pDwU>{6>nKtSy5rq z8x|!M6&4jG6&9Hp6`AFC-)CU`-rse7*Y(x4_jCKq%rnnCGiPSboIT6`|Lb7zdy%R? z#lY`zocn!_|F3mS-N&5U*AK2w|98J}_ziV`^S{5dHds!0zP~W|cku@0;Jh;Uz3lhj zp`CNzL%yy>*&X~|?*IK>@!;>X4SpZ1;yqQq%8(eR1LuZ=Qu%*Q|9|8A-}hC0e?tz{ zytQ1dLFD0cKR)^R6yh@vpCWt~;Ij~)CHO4Grxc$ud{*MK3ZF`RR^zh!-kK6~(a44=pGc>X<`_;q#@-TtN)wFU%_w}$q53_pM2oD=Gz@qi>9^FI_n>@gx5)%ekxnI%% zJ1ypV*lM)n`h7xc6@g%?9a%_?gsw|00*eKkmRJUsh3B4g5+|ZlnXlY$7fT>D-_Yq> zHEn((buQ>i43-PF++YjADh*Z+w%%YHz_u8SCF%_;r?+U@bB69==*CLg+Y1(aBiXZH zhYa0YV6Tm(t`#i%YOvcmnBI!xwqi&?Z9`Dh# zr!o4_B7>C;r0$kv_oGA$#=NGzh~GC4k&O5Q(2Y+TjQDB6R^A7DcP1T1>VT&MR;C;E zR-#1NE!&{m0`{~Zs|7n|FlCwkJp`RSiT0iX%QV=FV8QxeG!`bYmGpkMB%^Pe zW#53V+$hT)Tw}0zpqr_)jt{_^jS|Nmq7}A{_Ue-871<+6)Ty|Tor}vOKQdO#cNA8R zi4S4#2e9`Iuf9Rq^NqN4VZ8W79`!_n-v5bwKP62bsN;yf8amc?T98Ge#IH$Y&w-7V zWE^!F`Zu0@lcg##V=_HpZ8s!S=l8tOoEHzWK%J?K#;u;zEA_$DJCbQH5G6t+$5j)o zjFQKpyArx%Q?kJ5>C)suwjz0v$LC)Me0eN+%z*B+2=g#uQvNk2TL;)XhLxva*)Nj$ z*vbTu% zqwGPj?nvfiYIh{Pe-FC9lEcB+Gq3xR8J7Jbz}O2v+&Bh4w-+7FY<_CVTWiD=`B@w;Ant(I{~pQeU&jAeHsLXSac|-cwP7mcKIW z%|^Z#y&VJjezv!q5n$kcpArsgZMtwtT}H?9!hJHCOvozVS! zGj*Ixl|f1E#w$v5{smzCP7AW1P$JNI9QOVK!;S*X`=vo<28-6& zAEUuuPGpHNm_HDjbha`1(g25hi4zLg>Q+Y*UJbS6yDox+O4c0r#Nk%Kmg94-M zD+8&g1=(ZJ#W({|_C>JiieXMnaD(F-z zYruE~{A{lWQ&#{})oezc8smFB`5HX=$W$s<16qDLk>h}Dhtn6Hvfs8{HU_?^kwYDO zaNA{M?7?l9Wr0~<7TOn1dP=XlodPsv%uP5 zd6L08!0wnmm^#&9-O%OC9*pi0o$Lg3g|h>}{stQ>$-E8>vQV&Hvlk82_QY%}Qlp`J zcJ^wpSg?5uLp>qan3!AeaEmv1EnY#9QZ7o6BO?I-?U~zL; zwjOMTQ9|_~uOmj>F^AVG*<2%4^&m?;iW2E_274xV&KP()cQoEoK5rLldkU!`k~-RR zUQG6ap=0VHu=+VV9(B_2R^R~?InW+f=!yuoe|gHP-7p)sA1fD>Sc*>$oEA;ADHU% zMPT%KaSC-Tal%Md(WOp}*fX9ICbUwO^#@a{S~yY_J2+6=5#5Z`LfD(*7Ye3UIx@A= zg@LKs$W+9cO5I^U>b}CN`?|q6dn=}9vv8!U*^Er}C2M;e`4;&_fGO|El&7?;*r2Z5 z$fx#0)P0QFK1_`SV;w)FMuV}ASLVck&CH_*)T!DWVCU?q@#h{WVRhw#sZqy#s+CMt zWsAU6S>{vYv;<7m!Bka(Ua6>&^`dQu44+km5}>1%rEW9WR-{fbQdM+WLPd>C^$eLm z+IHHwhnS6V@SM8}{ib3?rh0mCwI3xpc6p!olbf>-_oBbL4-c?@cP>gOPpe>AwTMjl zchocLjw0Vu)K-+ny+9S%X;FiG+*Peis|REJ-m~ukQ@zSm)ee8^jNT_xI$C+eu+jjX zs+UaF8;RPK?l?R+fP7x*`;n?fP9vDAV=(oS^g$Mu-t5WO>d8l@`i*53+X%)wW=x(u zP@8_w;C;$2ovDvJt!egjvi0{F_X~26{W=hr8I#G5z`yzFyO8fV*pl=S(47DqC55+| z+gBL7;n3G`XK1uz1lVaYxEicBbgI3+@P$|MMx!07XV@ZDf=uOOG*l{UyB_w&N;2gs zeNl{&RIw*hvFBVj0VP_}sZ(Q;OpUNW_#A`OkJC91{f)bwqv=_&mkQn2=?B5`zz#{W z#b7G6(xa;Z`#zm>qPkNeW50FySz$RG=eVOJ>)4BYei>wqU>9YK0P6r7ZZOt6GGh#M ze?oUn20idb=N&aHQ+GoKJ$UJA+%38}#)FWWov{l(j{%!=HA_T+6=Y0=l_ao*8Fz#6 z3SDaCD}>H@0aNMo(hPdaYwP2TPLx$~CR1aQOkHK&U~0~xPBH3KiCzz5oZ07UW#SsY zAoC!`{kle+1!eLIWlt~9WLXt^mQ{=`dLH@KWs)5Nd&yuQgT0oCrNh``9yH3H^GeNO zeMsf?VRfAWQ*#rUn$4K1t^n4i%95$FCX8`a)*noj9jxs{CUwdR^C>HwL6j9THTx8S zsc4vy?;KN+4E5;9)F=)c&{dkk!459OuJ68x0Uc&}Pd;CGN_)E{>rnP02lAa3(H<7# zVYUHQ?l-6__bVH)60NhW>cJ$816n?})8Ci<4f1iPuU|BHZ*WLDJeFBjtyXR@6~A0C z6~7{|f%OASwUVhSYP7-$cm>Qxy$5qyLap)510{Y)Z5=4_${b!t z%4ag=GgDQ2qrtLaPfT7)S74Yqy~bi(=ys)37i;$ zy#y=eeq>D^_8wS?;nf$0j-K+KuH4Xl58di~`Zog4a*jsc?U^G6*%5s*bm2%nVw{!U z1olckd;c!5g9hX2^eg%7qYivyZMO^q<9Xr*1&ao*-y_Bug-Yew1KISXGB9=GN}Xb~ zoCV9X3&?o-n_l1x|5RDBbNPypZ)G9#EeHF4)F?K=E7n$NqKoUBv;u81cN{d4}>NB56OL&nCzU zJ#4Lqy^lzKKA%1FEm+Tdmi+_lcY|qf;!b!0bv!)^Fqk)Vr^S=-AOI}Lc;;X>81q>? zB^Z~cvDA$+bYUo=+DqN_hK}_zb?gH6?)#@~rIC(SwnTISy1z$&|e^wD%I& zQ%{^Y!p1G8?h5E`TFg;$J=oX7xbsXWRa~ShsHiK>@EWfsd?WL}H33q}#efx9?Q)`g= zwMX~8!5)Jy#yNO5wz`D7>wVB2O=nrAepJG^@Qm!{rL0%2h*e-}MI=+>kDe-@xq|V8 z<>L&Vu(ZQU*)27mR5CUG$kf$MrdnC=$#)nY&|am9Iu$E26)Q3|V#$=1SKxgQYV%#T z2Rh{onJP=B%95$FWUB0OrlRbeWes4eESbv3_;KyYTgDm0=PjN_kul$TqlD@YmQeP{ z)b-m4rmo-pVCt%+PDPD6bxj|H_v#8bKG5>BV-G{8VnE%UsP~r#$r8ZMjwPE77OjuL zP9Ym?NGYF*sMB-q9?GCQue1=1R*vXoe6|x<`XMay>CI`u-s1ggcxe(^r1loy!1BW= zdq^HdK6Td268oV0B7rl_A+VHEvX2b*7fP^>>{2q*A>6+i>;kY-gQ+{*;{#EvG%??0 zNZn9cCeiy~kCuLe)J(9kw=i`f*z-o&m0)ifY!g^}Df@%Z#lJCFJ#;^K*w3XOBJ~OA z&Xf+G!yVBBhYZGm?S1?T*3k?`pHGWHR_@md9k0;-GBQ3@__wSbO!X?)g|A_G-g4^H zDDDJPBaBRqFfuiA4uf&Ud3ibOP*-<1n5vgd>3Ror<$h#J$1CqA)Hb!;XfK$({1x;d zPlZy-%MdHFta2;b_AT~Jo65%wwDPnV50=<0w8zRPf~^E=D8C!5t`v8w<&(iSLicic z0+{k8X@DKk=Ysu?)Hlit!9w2_+S}#6X!)=2pj8)<-82p}gGZ;>NaRzDb$nD_=CLMA_M!Mt9iaLANisyI5TVjJ2vGEnDU;? z@Hv@`?I`ynQ~ltL$dQIM&A^9SQh_(Q50j5FaY zb3(zCJ?hj<$P%hA$<&Al15+^|Q}r@cje}ii2d}M?71XIKl)9(jbJ+@x1Aeb%sC0JTDQo~)vHDmt*ALWVj!Q@6$z&1Z0b}Ade3~dxzPjpa7XIN$5ho0GBuvbl=mE` z+(p`x23g*+LH2VZ8NVa)bLqx`tLL<6!1boek|}#5zz(C8!K=POZ+!+9x{7BWYL2ym zy?vL^0tDHo1{*(M<=-;u`k?zPip(;F&qN$xst)Q#Lf2`ejsvUpq3&i6n+^73)He8c z0`=bJ$JB?R`!mW7mROFNRnng7BQn*~%y$g=#!9jUVERR5cY+mNOBM>&7s02^f57rR ztElsZER;Be4RzpT2Tb)Fb!z4G^~^cB(4A{h6|9_!qE4MDaNRn219xd;XHi?~ zDl+<Jr%oXBlSoVvYjQ&;MPT49WhpDTZ9yHhE%Jp`j-cM1R`o@Qf)gF{kv1$NQ zyCpIeHKwYlMWbFd)_AtbddvNu92gOmCa&ElVL4$9S;h~zetoJu`RJdzwu<13D!U&# zvcrCj9@ad-aNh$fynA18A6u!ecrs;$_LPooct9Y%x47S$L@$PujT1HK^jZCdQWCxM2+>ea)<}9KI>PjI~*9U!3Ix?kW+f*dU zR3x86td7Cn!m5K{+F|^0k7gUS&Iik*_?RjC1k#j>7{HKccsL@{y^YCQ~Os zw4!3gvb?kLGroy64)(5G*NIfs-fj=;1yl9*4KS>_9_EkntWrOO2l22{u#P2Ey)5x+ zF4riQP>iW68f2Ot0b+c zd>nP^PL9_q=ldJie=}h3h|W|MAro4309Fo3GPdnR0$a%z9rhzr-ZPawb1LdMtn{M9 z%Jm#;zk-F?8I9k;YSy!aT9eISytaNw4Fywc@@h{nP^Ye_CovLLOv%_=OWnT?czRlp z(U*76Cu563sg>6$;_e9J?9Fyh^$5HRtckx?w8-x$O`vEp# zLm*fwShT_Rg5A4;qvSO(^?c?K*u2GI@RW57b%c9Zgoj0XShR=n{)l%#r5m`zYlW3n z2KxkT{e~=f^%dBb4OXQ71XjO+&%Dlp`DMfmSUD|h9_H{c_y4diwC#02>eO9At|ygD z^JIxcRb7K*${zD6dyJ5Z2JiS1ogD3Bz<6h~aMK8k z11r9}U%H8@xh^o{ZjqMD{iwSKGjOy{#&N%6lP~Ns^@yRn3T1a~;>h6%#w&)Eo1kki zV41qv_titkr;#TTs8e?*d!RFRf}0z_)Xs9h zCm(g{I%@Rjn!#uf_ncrVF0CFNnbNfn=*s=bl&;gGBU8HW0o`dqrgXiYd}K<;I~$(v zFHYGgv9hDRhh(3pELWkO&|!Z7#yKonXR7Moi39D8-f{*yw)Z`|30H+`FY~EBC+jlC zJ(=3U(;nNqa{*Zs`q#c?A|g&*rHQ&1QLk&uJK-D4d^gSLC5bS;qJ~;2TO3K{(TE~b6>!NGh1j+wUSJY zVls{c%hqr(#^su=5n!s%$y9`R&#u1d9*AD}4)*Z=GTQMwn0qVhU>{{0jI|YRrDb(} z&==Km<`b>-B@#N-N;1{IWNOu5Sfuv_wSEvWqXy+Wa=3jnX()MrtFca9wejX z!+vDSmm;*|v*q|JKM7br)Q5R8@VtGaA5+y; zMy9S+GBr+VMd`?tt_&^W6AtxMhEGu%wo&&b+B-sj5|)1g3rgbNM~$Wmls#9kdeYB) zCz0>%ZCo4sz?LUg4dgp5$kdo5Q&zZpU@Jo<8GZgfojV01bvqe#AqG=@S%~>SvA;a2 zytn7NU@x!n)JCRiBU80;6~EzqoPBLy1S_1ggIDpSXdpuHfGxtV870(gwg*g&mn^iL zyTh;@Wdk$PX~D9pe;Wq!SzY_VRR1#H^0k;TcQAEez6VpIgsJ?t@X{TP&?!%M!N19P znl@=Rb!x;mgDDTl&RJ10U_Lbt$keX16-?F9?qSq1&aeBCsj)$(dY}0e>jYC}$&^>! zV5%&cN+nYzdIxlsCV#LF)bSrbGBt{sPx(itV$}!67U6p>VCo7WQ&D58YUOHAoV_$3 zZM25BQnjmq0a`fFtX%`NXybsP+I7I;T7>3{e76F_wcCN?v?;&{Ee1G2O8`b{Gl5Z> z9T=^-fK#} z_C5Fktq0hs{RnK*dV$T_31EwM64++sY&UXt7&$w&KcMe2@^@?f;JrqklSZjNqg224 zFZ7zA9h0CPA3=@3FbPChcmpkhF%K2=VYr|VVS<)N3wjbRXnCCQN6rXwf$-5H#jWV4 zC~-S5T1){>6(P{ah#2sA5ejY-BY=rwB+wxev>}>XTqlNTnc@auu9yI8MS}Gf8}*hL z^;Q^~N<&j+XsQiQY79^644>=a^AK&1m;&4@?g2K4Sl~Vp58Q9ma=@siQA~%XNz4Q` zizIl`DqO%e!~b@}{|>|dPQ(8$!~bshk4PGxoHRV?Gd$@xJUL@{qDjWYBpDMQc>&O0 zvcCc($E{grL1U3Qz)+b794_;LVX_c7T0Q^_m+X;oaz1#3TnL;X7Xc&X5@3{E3XGNy z0;kF{V2msW#>*8zn_LA<#J5PiG>2RZbjfuFU~U)yg1K9dU2kK^5Q%b?ZtU!su$;(7%$E<@m`!~ zY+jsa61_OjxC{$!!$PKEp}^1-8Jc24Q)1XGHEdQGHY*LARj`TP@nWCWc(G6Gyrhoa zF?`VK4a|o~B+#w0bQ)J{XHu9Gk`Ad!b6-NF_BY%~VzuL%OGvuNnK3cs| z?@pua9;2+kubnme(jSK}{c-uy2e&VM$n=fTF3|S*4)wi2+wWWKE42f@-)mB91o~)A zzF+(LXwAOez!u-*z*gTAz&3-o`~C*r;oA@F^!*3erht*?<-P!p z$^HP2$uj{x@Y57XZ+!ykzkeY84+vze%z^AjOCb9zG?4u@Jdphr7Rde@9mx2H2inf} z(Z&Tf03!mQ15OBh2^bmp8Zaub2^by75i&I}6Fep`2^b&vHqaKB2izOTcvf7**fw9p zvMm>}uGWiKSKCD^aa1#UDCgDiq4aayQ2H4$lzvVaN1Xj!`dKoRepVPhR2n{1 z89r1SKGYaK)EPe18$Lvt>1VWg!%%o)t^vlFw*lkL4+CxH-M~ciUZBJLAE3+pJkV`^ z8JKBq1m>C#0t?Ll1s0j#0~VXxfFwU?leoYkG97=1i07i4{R_80{5ANf&0xD0}q&o0~^g(0-MZN0h`U&0$a=xz*h4_ zV4L|iV7vJaV261su+tn1>@rUScAIAbd&~}CuX!%;q&XefXU+lkn+t$v%=3X-&|;t| z=s}=QPzBIGXf-e(Xg$yzv>9j#ssn}wJp>#c^e8Ya=n3HHpax)g&~w0XK`#L#f?fko z2x0&2Au)s z28kfVKgb(c6yygi4hjI41O)+0gN6Ysf-VDA2898ug2n)=gRTMA1YHlT3z`6|54sh& zGw62Uo}ekfy+JX+hM)xCzMz@F{Xur%fgl&KF(?h#6qF5Y4$23%1Qh{WgBAhXf|dc> zgUW#&L6yMHpmo5mpiRK;pju#0P(83WXczEg(Br_qpr?WTLHmGbf?fn_!LI^M!EXY6 zf}4Tfrlw=4c^}$PlJA;=4 z_XMv3?hUR2HUw`3?hD=u+#kFHcp!Kuurc^CU{ml@z~0NaA!0JaAo z0(Jzq06T-<2X+O21nds}4A>Lg3G5C226!^~dthJiPr&}*lfW~%g5MZvpp& zyaU`D(h6({`4G4-RR;LVg4`hx`I;3F!m2hWrI=3;7q=9->-60{so{&&rZ^#JX$&iu2zL2rN{*ZCNGa)wsHOtLFlVuXn#}W+rOa!)BZUeSk?f`aJrUE-HvA{0N zG+?)77O=qEfd)<=P1)+d0Ytqs6%>vO)XI6>$|{c>k;5oYdbK; zdK4IM{R(Ka9s?#?dw>q>&p?;;6wqz`6PRf|1I)FGVTixg8(3uZ0~T8YfF;%-V5xN& zu)=y7u+ka^tg?;)R$H$D)>y9x)>$V2>#er}cUo@;?y*h*?zP4M8>|Vyeb$-4{Z>2h zfYk+Tw59=@tl7Y3Yd)~WS_EvhE&{e$mjT{t^-&Z$J3-eaXsU`w7qdZ0vqCb zf&1c4j7J*{|2yJNj`!C(<9>&xEABL~+h}!<(ca!T_R+~W_EBRz_w!Bhj7f`ut?`UZ zTRbDv9?$;mF!FT9-w*+7@izmz<0k=ojr=E#{C!6LGloV>U|CZF%lafRwgCyWZ%&|P z3sQ0Soxppaums-wgd2RE!6OoQZ$2S`cm0tGyhD#l;9Y-o0#9J3Ch$}$-mqp%py!DR z^v97ve_RPEKzBk0Ff$<+n43@tEJ#=YEJ|1cEKVqm@YR~9@lL;G8t)2Qr}6HrZ5r>( z+Nbf3uVY#$c;__U_jOGh3GAN6yT6`k7Y*^%dZ+Oo@Z_`xVBa*3NX1zJQgK#*RNReD=Ut?0I`1DdjXb%AoucV%S1~l`eQ0p+X<(&c zp=vs#S~LBFn{cH}{}@<5y#u&&`j@~x)4#n5<6$~uyKg#UyMH?4d0;x@**Kl?Y?{t^ zwiv0cMrxa(?=VVr8u~6n-))rYF;aVtQhi3Aek0ErBaddIWs{ATeQdPsZ!^vtZQh8R z#l{GP+SrQWHbx-K#t4kIF#_Q>Mqr$c5s0wy-h6_Mcjb{b-j7GwcqblhcTlBEPH7u zVHqa_uF`-R^9-BCQ>@XmI3B`hdBa-7EY?23$RBCsk3xRT zoU>w((>99{NSwt8IA(F&x@K{7xo2^7WzOnH*~TPVXi8#@%}K1WC5aYVljwh268&#a zqW_j;UW2*G%wLeq{6)#kU!2VRCCSWRn#}wa$;@Aw%=T6prK*#;X4NEf&8kc0npL07 z8178wnzbjHYu4Umu2~JqTrc(|bIsbH%r)ykGS{reWUg6F$y~FVleuQKBy-JbP3D@_ zmdrJ)J(+7(M>5x}&Sb7xUCCUtx|6wP^(1r6>P_ZKbTWC=t=K;#&qmq)V{V z{YIe4ehbjY9tHHb-w6z`-vcz;`ww+_Gf@@`wPHK`vG9C zooi@;{dMpndldXHw!Z~lVt)r%YHtNr*gphT+CK$W*}ni*+q-}@_V0jo_8)=u_FsTI z?R~&K_P>C8?f(KB?D}npzugD8-+n&ufc+w1qdf%JWDf;4+eZLf>?47#_OZY=`#4~` z{RUu%{bpdNeG;(C9u4fa-wo`s-v{iqPY0f~pTrv4XHNw0w>yDn>^vpY94X)?M+VTx zkqh*96aoVr3xHj9z;TX;ff0_~zzL4Mz(~h` zfKiU;fzghafm0ogz!=9tV7%kMK%3(|V4|Z9=x}@jbU8i;x*cBwGacQ)TnBeA1&-t3 zMUFcef5!>%631`AQb#|q!toEV(jg}y{*EEQYKK3t#t{gta|8qH9Tx+4I)(%HIIaZl zbzB8(a9j)A=ZFCAcT5BxaNGuLbld@Ka!ds_J7R$?j%mPF$1Gr*!vSn}%msEh(t(|h z9AKBD0NCxA5A1O)2KG801fFzM0Q(%Pf&Gs4z%!1`K+RbPG&vsv`Zym2`a7Qh1~?ml zX6JK2i}NL5sPi@8aAy-R%=tEOwDVnHxbp~boUafWoeI74Q- zI78;TI71e=I71e>I71e@IImV2rK*imHAbmAql-_|np}MT((Jkl*y75NTDa0DfA>ag`O0o(37GRdQzN1PfAkg zNofi_sYszGl_~V3DuvJWs#Ew}uO@}h_3BdiT(3Tb&-Heu@VU~S6s~c5Q}|qOpHbKT z6s~j!Quw5`F@?`=nhkvmYDc?LjCQ4PHSb8_YTlW`b-XKut9Ew^_d-1>+za)la4&Q+ zg?pjC6vm-Hg?phhDO|xTQrTaXsqC++RQ6YOD*J1{p+8_~8dKSKO{wgu=2WgwEvZ~b zT2nb2x21AUXiw!GO-Cy4XgX7QN7I$M2rcSKW!!pG8Ml+Ej96bPBi5hFh@DAg#56Y} zW^yxDK5oX!-_2MBxEU+6o3XOE8LLn?V>R4u><8S8)o3@Lfrh*J40N2E&p;#GdC0k zVfmzCxzDiNZ$$NsVP8vQY)xs5txpz~Hh2Ba~z<}}9El4is#)YX%ml9R`-9eE=*?`xsb})&Zg+?RGCaDSQ^cp%LRY)rcp*pzk!usLlsuqEwkU~AfSz_zrTfbD6K zz>c)Zz|OS0fL&?#0=v`Vfjwz6fW2wSz>{fnfPHChV1HT`@J!nMKrQ_Npeel==##z_ z=%2nE7?8dSXil#JTGBTHL({hcho|oVhNbTWj!u86|^9Q43<5 z&U=bB!-samhYrJsPQ!;T!-sCehaSU+-gIN8N;hUI!=HY`pEK#aYtu4#*JjG#9PX3B zyEgv}-n9i}@UG3A!MiX^20ahW;Q2;a27McyLEpkN=v#!rCm1|3gC0g@@Eay28T?L2 zX$HR&Qjx*$gj8nmJ0VpW{N_n@2ETbylfmzV)MfBHA@v#jPRJg^+Frw2gJEqStRW^D zoFNZnaE5Hm;0)Q6!5OkSgEM4H24~3D49<}4hKC)7ole6}R|fCMnzPtzEm`cf)-3i~ zTb6O2kj1|1$O;vHT36Ps_xNeuS$6?@vf_ZfS&6`tS#yDXS=qq;tOtN+vPytj_6ndW zdp*!6yB6r5y%QLa{Up$w{XEc;{TeVdyBRn<`+Z$1PN7yGLm z_WRTv_IpeY`#nB~W73wx9#72S4#bhe9f&K3I}mpcdo44E_hrzJy&H8@42dSc+XXx!+Wlp9Nu%)QdyLxm8nrhV_V?v*RP4{; zs5p?rQPG&gQPGscQPG^k@z9dPGr-my?xWgrcm~*>Qwi+I;Td3O4$lC)a(D*Vox?N0 zo*bS5_U7;m@MI3p0Q(L9&lvUMxC$CmF6;HrWlREc8I68}pUGu>v^;7|d5nxt9`pO> zF@HcF{WRy%PfH&C49%mT!}BQ$b+n79h8=psSZFxMgOw8knr6Z3gmaaUWSi19gVwsu86U*GZ4=@WA<#9eN&f|(x zlE*cxG>@x%MP7A0c3FA+Uf;NUUNsTgK6iIh^9vKO?&ot} zwdHeOP0Z)K>d5E3>dNQ5>c(%^;JX%vwSD=#2KVRl8a$BCYp^k&*I=`e+G3=(8mVoD zzCEAwYDYfj)y{m*t6lk=)4KCHr}gA>j_u9o9NTAD=r=5!F)U~Wv}`J%1)l<=7YevT zGZ)+t;jcv%oIefY(9l#Aus16U*n?FC?7`{+j_?{-z&I@6tlLz`Xfzkn|CT~y4l#JU z!8;1smd--f*j30gpYB4Q`ScVfXru70-lxZE_S_57d~Psw_kzV3Y&uxVL#e>s_}q@~R}Qi}@EusC zOVtNixrgocuq*I=+_m^uL-HZ8-G-GzSVnXV`=6Z02ADRx{5+)_GkZ6t$=yi(ezqQh zH-qr6lGJ0C!Lr&2cnV9mYfWebzJ3AL40vyhedgq%fr6872kD7**~0fCo6Wr z?6LuN$?RQs4C)RJuuEoN@ywtH`o2MS?7$$q;?+TR%)_pDW6=9UZw;pEhX&alEraaP zyMs(`9b|WSSgMDWd)OflJLX~f`-5du&#|^a-La1beM$XzP*?6@yFKjKC!W+#2ia~9 zyW_J#UFtdZxyN$nV9%6$*lrIy3Cd)RIdJLF-p+%aW>-o=AE->7%61q(77XO}a37YI1S%+T_j2waGh@KTGzr-(*j< z*V!+1Om<{BDjnM#uQ+-ge>yI4UgNyUd8_kw=N#uw=ZDTuoC&k-v**rUGW*Evh&e@b zw$6EDPS2dHU2|RKt~%Eq*DJ0!T%WqWb)9mZbp_5HHTSN$bLP&QTQ#?F?x%DAoNG!6 zOc|CkGUeKo8&d8}nUOLlr8MQKl$TS!NI8=dlzL6-l+-6uUrqIK-{79(E_c_tA9g?P ze#!m1yT$#HyTg6VebzlaZD-nxY5z@YP5UD4ue5*CZcR^3-=6+{`cLV@GH%bP$apT} z-HgtR{)`JVEt!{PPRg8-nVz{h^Y_flvaZY;n{`9hEm@PZrevjMRc7tadNr##>yxaW ztg~4+X2)hHX6I+`$$l#PMXGP8vIp5~|lJk4c-#Om7H|3`0X61I} zCgr8(W#w(idpPfzychC*$qT>#w)Cen$TK{C)X{ z^FPb~I{*9pQ~CY*XYkFSQe4+6D!Y>QG=2_-lKX3ZHta(-Qo}TyRJiiC7eIWmViU(eM;QI%zD2gj`6_pn~ zT(rCBnWFtguNECFdZ*}*qD$uAIX`!P<@}xVpPk=4|J(T|=bxQ#Suk?JtqYtBQWs<` z$X~E`hs^Ce6--J1wSr0x!{ile=iUVhb%mQ;n0OwFN|3@W8v(D`3u)B ze01U7h0iQ}dEx5|-&y$n!jBgoUD&no`-Qy=Pc7_U`0qkf@p;7o#TOTkEDkT8R6M0P zzBsXXc5!a;vf`@Z`r^lm4;Ob9|6FWZ6uc;O(Y!_9Eb3jgE}LHFF1x?1sBCfB^0GB$+shs; zYbyJwtfTC!vhK1U%e-?qGA zdE@fV<+A+Z@-gKR<+qmKS6*1Yw7jBxZFzlpYx&XgzstQUF0Ht_Vq!&9#l01?E7B@T zE4EY|s_3owtK$3>AuDcQk+Gs`#nUT}uLxW@Wo7!x@|CZz{BGsXEB{zIX;s{+f>j$= zJ-_PnRsE|(xF&tg;x)_HRIb^y=EXIK)*N1QWX)G=epu7D#jKwZ zy6&oV^Vcm|w|iZ~y64xuv94|1_v=or`*+>>>#tZJzW$c=cdd_G?^>U}zHt5e^#|7f zwLWyiZ5t9cJhq{E!^PDjs&A>DQ=L}*Ky_L5hU(hthpP8fKUKZ2`laf|>bI&}sz0c1 zul~HctNQ!u-s-dX5_QnV@f&a67`Ji$#(f)q**I>~Et{e@#cZ-|%HLGEY2T(po4(z2 zYLmYC!p&ng$827>`NhqjZ~k+$thulzq~@}kD{IEqTwim0&Gef2HMKRb)O=BMq9$O= zRaHx_9emTYulG*PdS+T6=lzsM?6y z+iR!R-dAg@wb#zA&8WSKiwRNx7joFs4EqB}EZDre5ZCkf($F}|3-rM&5w$Sa9x8Jq> zzU}tyncEj_-?07J?QPpnZV%WIvt!+k_ji1^4IDd>4tm~)ek&wlZQIIb{Mnj%}oC-Pe z4B7zs0AxJm%aAt6e<2eg@B9ZoLhgWcK}swB_6?*3gQ6QU9loODyce<>asy-yWE*510CGIu>1~2sFiqh5fQS=hBjj<&Cdjbq_$@@pOvq-)2FO;(KOoy7 z@3P@neIO6u9qf3kdKY^fWGnt14f#D}`2S09nGOH(?^wtQkd=^;Ooxnu94sg1;1|m9 z@2QY6kc0LgnTubp#lMFX2z+Y|*9W8pvIsI1vH@~9WH)3OWN;zk20ct`Vf;cs4di*nh%@BvkoAzIkUJsY zfZPN58{}Td(Tng_EM$2F-nE8ofaJ#d2gm@(;1%#6(g|sStb-g5`4i-5$ZJ=kJ&+lY zCdj8DeIQM%gys*K3>gkNc|H08vKGl9g^TS(z{=%l6FJ@>Lh?&}j zVisoKWGztGwTpy98!DWbh39HPB1H=psal9g!)%nW7=Kfaczot0`EcY z)$Yb$$Gb;7rQIu@#v73hS}guf<9+x$jdA!pjq&0+EdhV4aT@+s<8-kfZ%MwS%@8kZ zGsOXImUsoL$*WqDcuh+dZ)$eYgjMCB<`i#fv&A88j%dc}^0qct{8vj6?`Wx_1*^EeAY1AqH5QykH!TUP;_YX#8K@5 z@j2eW{6d>AzSI_oue61t3-4lnqb(BOYKuj;wnTiVmEiryrQ!!|8Qy?=P#o7v@%Cex z_(@wXdbM)AQ(7T@)mDg8+Dh@8wo3GAmEw18HQtk4BmUIZ;=R!-{LQCz;t*O;u`U$xK=cYapIsDFWwRn;t<|3Z5B6*x5Z83zj&YZ9Wha~h?~V> zaf^6YM2h#sZTPW2NZctt7I%quyv6#7m?}OMcZ<*P zE^CLlR~!{F;&Z&w`h~bpbc#6fCEjcON+gJ{#Wc}{H(I|DHu0^PA&%j_)^3p~zQdcX z--~4NgK&r*;S|TkZ1E$egh&;?2)8&X(!{SKU7Qjb;x~~g`b3ua zU1We;5qHVMVv2lMOqK76yJf4mN4_ual^=*0 zc|^p@HgTW)NW{rcM7;b|B*@RiG&g zNB$*pnmWESF|kA%o-!87x=I5V=ZPWTmvq)pD3z zBZteia)hjsm&q+BmY$qjO}td?WtMj0+Q$*bjNd5x@**U2sNdbw3b$XYo;*2#%- zo4i?WmyvRZyj9lA+vGzsNE$%^!kE6vu zqQyU<#l2|l&uHxlwDuRY_9R;SD_VOBt^EzH?L%vSM{EB;YyU)R`_bCJ(Av{z?cZqa z8MO8vwDw=L_AFYf>2FJ+|5r-=9jWUr(xe}jUi!PzTYpau(OadD{=W3pKal6?N2H(L zCjIpf<@x$Y@&f&1d7<7e1N2X1p#G`6NdHU@)jOnFKPrRt&t5@Q`nU2@{g}K=@0P>$@8k&mdwIG3gSJ+%8~lda+H2T zj@EyXWAu~qD*coktN$j$^*(vE{=2+J|3hA@|0&1m{c^nim%L6tEw9)AmJ#|Hd4v9s zyixyG-lU(E6Ld|Vs0;mOUDt2XP56a&Fa1`1h<=;yqff$LHICBH(EeusX6 z9<5)f->C=acjb+Shv~8U#rl1Es2-IwQ~ z`ZRsGK3yN7+w{xz8Tu9aOg&7WrC+Hh>Lc|eeYBpeU!~jivARPK*PZ$``fPoiJ_mmz z*`;5n&($OJ6#Yg$RliAh>l5@ec$^N8GvIM1yv>5Q+3+?8p60^SJa~FPJk5uv1@N>G zp3Z}Z55U7BcsL)PEr4eW;aM@fS_H2a!>c9ms01D@g-6Ta(Sz`)6dskqqvi0Z93EA` zqZROIB|KUMZz|!leFti9%)bKoNcmXx+M-4BchL=#o%c$W1YIp@TyowrLgY`yO ze;wA}fb}86&6mR^lvELhtj{J^dBhw zCrb9CE5Q(`ViCK zx{v9M?rZu-KhN~9?q@oy`ay?Qaka7c3ZbZsWNST0?iAcE_DYqac5-GPL z@ zv&_BccGB8uowaAR=Wx5=cE#4Hw(8XZZFNMWozBE-deg=sAXtJw9&LMMk~_B(#p%UGLBYW z(TcV4v^0U1CeqTY+CXg*txcx2DYQ0~)@IV$ELxjQYjd;_+H2ZKZ7!|8POI~1bv~^w zpw)%6x|mj%(CQnsx|CLz(dwJDx{6lcqSe*3x`tNY(WYr@wdvZs+6-+Sb9j$AtY;1z zn8QZq@IG_c#2hv=hb_$E1Lm-eIc(P!X&*9|9n9qu=CYf)>|rjSY0I^}+6rx-wo?0o zIqqkUUoyu7%<(JjZS5d){hGNRVy@pX*CWjJJLY(1YJadaH&~iKS(;ng z=b9w;@o~^EG)3&!RPm*zi36GtUuhgvb(+qNj)wy+pLg7BQl?u!tNHD{@7g$P;Bm9}zF|MS>_0iK0l96@5jL=qDZ# z{Y5!ZEFKlli}GTCs32Yt6~#dDm>47~i6P=~F;r9*!^9I}xTqpt6jj9tQB8~#Pl{2Z zx_C)EB}R)HVvMLMUKX{)I8j@?BI<|<;%PBaB#T$YGh(tx5mV@msr1I{^u|1TW4>r0 z7Sbb&=#jWsB${J`i2SR$&#}L^rWrq>Ekj)F<@RZqZ$QCNjlddhBz0Y#%+g zpC0>?9y>sfeMOHQq{qId#}3h3-_RSU>5X&rhH4rt%9>_~M@@4?dDA>m(X?7rGi?@6 znzo9kOqWCr)2|}gB%7WwsiqW@W=b^)Q$3T(RNv%fYGCp;H8n+3>%+KA1-lBh= z;BzNGqlZnO8|hfCI;0w(mvN?UV;${Hec6#dI+gbidhlDy*^cQL{@+mE2a#4Ly_(K* zcGBuh+n1xBk+v{WuK=EXlkaTbnR=~oY=>Y{`+7fXq|W*L)Aaq-{JJI2LH}tzXLN=||`M?Z?UAm3OYMvwUf(v!6@Lclr-o&RO1>I_s6(j)xwwz9s89+xu^) z&iVeU^Z8fnJL{F~r+;-h9#n7Jc*p+pjgda6{C_)tLn+I#obmVX_Vd!}{j1A+v&8(I z?Vl;(|Eul)tM#1AQCj^)pZTl<` zR@#1W`T^G&rPcfYzT^7x|CD~%x%a=bUr*-4Qug!1Oe39Vr2pxDxw6kOAMu4F^)k{x zBP}_sub;o)@92-qM(QkAGA&uJWWIB{v~q(F zIOg-P^K-WMPty_Hr`_**qcp!{`~P%5|4*MkN-j@n(GEv;`u_Wyv)u>f zfB%5`&UQ+sJ&gU_d47J~I1fATKb-fYr5%qY+xw@}54t~fE|+t8_@I)0T+T9<`$5Z9 zvi?6^zLMpg&r{kxs!`1i~Euw$}ibo$!X{Q@Sywchb{LC-|4*Hb+U8556X9z`*&04@|M=lgYrwO_fP$j^Kni; zsJ}~_&%@StmUFh_oc>qm>ul%WP5);t$3MN_df4^)pSAoCyFCA^$~|m9JZw4VdN|8F zr~hgCPxtQ!m48tF!!F-{Ykz#$`ImP69x(Fn$Lo^qJGW2j@xQOUrYt`?s`y8GX`GZ<3MDHPX_`m*zX$apwQ4$3e+`D=W;!4{muW2`uE3&oNvkd+6O)Nbmo`V zZ~v|P-je-a+WejVKP~U9_fONqXC24SMI$Y(zO!6u`BuK1Zy)!18)?aM|MY&dWc`0S z?d-qO>OCmGw0cgzwE7|E9Q_b(q|S2RjCc4khVN{rw6x@N!x^tQ>gO0~Y4tWep#3ak z+^lD$rL_}l+^2ul-Z5Y2_0PZieAGGqls4ag*Z)_S@86wo$@&laJWt8;&i%yMKbN{Y z`u)0*+CNWvzw3&U^-8w;pPqi~{QZ~X-<{8Yt6k@EJ!rr9ck}BSpG$K7pOdfJ>)We+ zBS-3N{{o*Uwr@x0@qO+`$Ml2#U+%2$T%U(co%Ni{^`Lsr@}-q~P=0Ckoc_PNoufuL z`pdcBJO6L?u>WsyetzuOB1b#UVC;F9b%;AjI^eaHZjs}r0+k%dozr5#1-Dn@+j|eG16C!bhuFCn;5WyAnbh9yA|st*q)$@b?xz~5{rc;EpKs6RzR3Q$`cB;U z**_oNg7WtHbs)7bPj}MRO!p_X*MEuB-tG+24){g<|IR+W%$VLiUXr@t|K=gg3oiZ493m)9drwVC45O zrt^(-ppm|0q*IJ^zLBmp()WyXtC8+D($9_bTO&PVq?e8KnLUo>`IBjTe|qxE@%H`= zC$)c`KFLV4jP3Od+tuEW4UM#wkvcz*znJSad;K?z^yd&+-)>)<9qD|VV>_NSrmq_L z+cF*gB3DOx!|>k?cP!7>F^=UqN7}e5?_;qzrq5Q8r8YHq9}j6q(y1>y=5N1m?!xp{ z{7ljtq2f38LYk1wdt{7hXT1Y09m`jA zRFb|R-_lCfzi;CF-bqLPAAcG@yS*&!t9$1--pcnJ?E7zvj*j{rjnvuyIZWI8Ki}9M z1DSrLo+OPXtw8#!G41oXELCB8mNC7Qv?kN$w-~`?%rPZ?}u!E!BKuM zseS)*&UerdSxRZi*u!?`N8Ti7{g?3haVzQgUdOm}YnUwUVS2}K$MWnq(i5b=;@i(R zJ=^lW9b><#KtI~YkBYCz5--%1s*u{}n>#_4E;0SQk-kJ~-_Ir*smpVYdiMS7D&@-a z{v7-9^MsLBqusLYcwf~4$Ns#Q)V|$z8|jHj_T}Nd^pYZ(rFl@1WJx7nAZff~b3Rmf z_m04ghGuDzWWrwvWy!*Oc@!xInx!SUu9E$Y$qH}haU(Ylnx&<@w}*G#Lq#eh@fL4s zx#Wqn3@W_C$BTG{afM#h6{oyKYhKkgT9%6rn zW@#(E!aKB~EVZO>6sZL?OWWxcS7{qmq*n9?`w=utJ9xJdZ`+1!ao%yHNUfo(^bzkm zGD|z5BDLk6N3zronx$R5`-t~)Ls@FiJCGFVS?DT#!aMKG(r&0o9e6Ji;}bMXdw4$* zZ}5gP?@z5rZYOA#_DYZ8e+Ff#3-3-+c&ln9oX>fOl3CgZ6=@<{$;?}op1}VCD$=WL zAKn4ZHZk+2rK&iSq-r={Nl)S&go-qoH!$&raNfaWmJUHhn##MFIB!C;bXclM?l(}D zX7GL{MVb!H(h=U%#2dw-BF*G|O|mo#x=PDm7N0#cu)?=>xevPE)l5PBW-TJLHbU zE!0l<&7mTF!ds`zQY-a2oR(0L7Aakb)6}l`t)U{lrC6EEYUnDpQM=){g&d)3I!-$^ z1Ls+&Naa=gJJs8(-ElfVMXI1?5_eL2;CFtc!pwr=>rB2PjJ}y!23!OpvAJMTaacR3tZT0C8u_3;54LMe@}K;&ibL!s!YX zDNq|s+|4os-wG8eQX5K~ZW)H30U6~q`qgQcZ0vOIr)F7g=5=_kE~HwKeu zEc0>pL0KBCEx;cHU8Vh&h2(w-6={gJh}@yjRXSiq+y!OX^ z=Kz$Ywc1AfcOYY6-23{Q|K!7D)TY9*-()_({>T( zl=%d|H&mqk+HT_9GN0n-K}9;O?ZN3&<};jpXul5Hi+>EdN(E&;$1jAkbW+=ge*&7N zzGc23w+JfIDQ!Pa|1w|V^n;3YPCJ0}e3`FsilHK1(hlN$Qs!%%T~LvJ(+&}T7XJs7RsWEb|S6oN?m6C-(^C9p&O2egt%t1}6M~KL|1= zi1YYS&{Z0o@FV^Zs7TS`0?yEcpKyjj##M0NI8&e^Jt{8YOilO&XBuRL6qj+P zC;W;t19F8UuF!rpXqILr{6_9fs7SoY0KYmkOLG!_$Da)qi8mYI%uV zk0#oG>$V(ZY!N;<6%x%j@Wpv7(GRC0WK2PF1K#V?-$NlZj#Y)gYsa2*-IU(f->j)uAFy6OqI<5~J{ILasMN zH2!R8mTD))kXs9Kr6DXhixOjT7D7c@AmWG@Czioq0u^bwh{yRfF#%@}Y-OLu z=?)d?v`EIuEc*;j52#2NL<(`wvUTyZpd$SuQgO1&*2C!q73r#|Pu#m~1N{QfEH?2D zLus(7AMqfaLrlduLm}r@(*WY(P~i>N1L0`XU^vk<6izh_hqFv0-~!Vq_=agTe9JTz zt~HH=8%*QjHq%7f`Pejxc&E-?rYSg|Kt){hF8*ys6 zY$C3yv$o3?;uM#yu(8W_*urH8Wm-b+wp@0?b}qYMCzstY!(|W5a@h;}xa@;{UG~F4 zE(hRnmxI)O+2s)NSe@fs4imrXas+=811!Q}$n;&Ku0bh!jSb-4_`bh!c#xm<Su5QrV)dL2(dckm49~k563(LCt!}6|y@Nw5*_>^lXtm7IE z>$*nLPAX(?bd83MT`jPMYaD#mH6C_$O@!TClVDHRaxmAmJnZLM5x(GB3BKrB8IE?X z0w=mwgHv6r!&$C1-~!iL@D0~GaHVT9eA_hzZg5S7TU_hI4_zC=PhA_seXdR6SFX+B zcdjkrN!K*^y=xozvuite#kD=W>Dm!0Zk?fvTNmi#W`zN6>8w|v&R{niPLR$Jw@l(l zw=5X%)(bx3)*DuI%Z1h4`oNlQ1u)sI2sU)<2b;MS(^_*#&$tbMZQKUJ&TfNYH@BfM z(``7+b{hc;-A2J;x6yEr+gLc#Z5$lyHXcrJn+T`7O@edWroj1b)8I0<8E}=`EV#~X z4t(EjF5K!i4}Rpf0Dk7S2<~@V0>5@!3Xi!hho{|EvV>?}oMA_rMhQ zy|97%KG?#2KWyWE0CsRc2)nr-f|>4zVYd4bSm=Hf7P}vZgWONTk?yDASogDVg8Ml* z-TgeA<9-3ocfSaixL<;++%Lm-+^@j(?pNVv_iOMY_v>)C`%U<{`z?6Dofo=FN8D9- z!d<|#?i@DKMRzy&tGfrh=I#Y$4(U^F-M^pHg zM{~H=qb1znkp{PTw1GQ4+QCmf+QWSw9pNF5&a`vXqYLqOkh=g6EAcVNmA^+i@d=%$ zJZw0pA!C$BCOq$v1uuK_!v7U=JbLsdzV4Ar{0Ee!n;w0LZ|MBfqkvfTEP@`M{h-;i zm@>YQea~|M4E7udqdf=1GM+=>qn^WICC?GCy5}fZ+jBIm=Q)sG%9Ea0DXCu$? z#LYb?!gijMU?cfahG=8R|KYc!tybeN7uS2xs1vxu-9ftm1M_{0Z>lF+)dxgU7 zUg2=JS0rUVg^IMtD;j>`Wr5###lfRq@$i&aBK*-S310Fl2Y>S_5C8P42vzS&(8Iej zG<#Q}HD8_n-qmpYbOv}=#}CvQ>|FytNN0$5E&Nc(_~~5-Mtdj2MDG;*^4_V$k3w0h z=v|+$G{N6ZiDC!F=yb%JlcnBJKxe>3Q#7#Kk%Xc=yJ6 z0V>i!?_4;{yAK@WU4TEqyNGza&WYarh^KlN!`HkAzy;m|DYFprOwxNWT;@F#zU@66 z|2^*!#Orjf_Z~&O*?Tnn$a^f@?L7{D?mZrU?L845@t#Dj?{psXo`Q1}%F+q%X~f4N zzir_?gZQM*)84ai&OkWTZL!M4}&xJpE&x5~tFM!v*7eUEq33T;Y3cY-mLqDID zFwAEajP_Yg3-LZ{h|B0q@L5Y-&SxF0?6aQS>OLEZpMw4VNag} zFxTfG?B{a`zTk5h4)r-g3uAna5|7q7*5^3R%TSTV`J9BW`kaO{ea^zUKIh;PpYxP? zL+3J|3ph)4F88^Jze4AmK9}%U>Rjb>nfM)_E99<)9F;y-;YOcpaJ$cS__5DTa(6-Q zG<|Nty*|8VT{`Ha!f$;9Jmup8&-u8)pL{&vZ$4f^magi&=Hr9&yUss+eDSYCMmZmU zD4PRu+|9wnZaO{8p*Wt9t!WO2e&$FRW{$=Whl&(owm^$H4knr7VFhy{tZYt#HO%EG znQSgk{50f0P3DTk&p?hxb0y-sI_sG$E zlVKlo3hZl6g#*m>;c#<9_>#FX9A|C{Uo|&})66a5Tyq*+Xl?_Sn%luQ&F$g4=8kZq zxij2u?!uCM2sx*it?(0bI{dzXD?*cf%cM+W8y9CbkT?*&>E{98e zSHcy(tKd7ntKoXzHE^@y|{cL8SlU4+?wmtdjaWmxQY1rGJQ3P<`~ zgJb=!!%2QO;dH-SaE>28TOcj+Q~9*XVo3k^3An<~1-|3whQGnjgLu8pjecIlANcve zkNte%9zTD0z%LMf;};B%`h`;K7-Wp~3x{X?BH>Sd(eSdL1zz`ygOYzd6#j|O%Rh-) z{{H2N{UGN`|MJ8EI)nTx;sitb)4vjo^sfx#{j0!7{Hwvo{j0-j{xx7t|5~uFe;wG+ zKN&XjPl0XyQ(;H{`mn2iL)gQ=F)io#Hzn?^GuOX4aiM=p{36Ic=AQ-!__u+>{oCP> z_HR%8lFl*y9f`;LcgCLpxrg=d0;l?0;cNcsaDl&#+=Y3t>OT&9|dpvkA_OXSm+)wj#}n`@x(q*miz)H68q}(512$85->P!llLtG(XF02|b57r1+K$)6Qk!l4jg3kmjfsF!|;0bAh90bAkZfbDQbzz$lT33*}=uoJ!> zunWEsup9r)fIY-3b*>87OZ-m2KKOpXez-N@0Q@N6Ap9)g5ZoVd7=9ga1Re`G3Qq?d zhd%_IgueuwhF1g5((><+V?W>=@vVUK#DD6P0x#gmklqfw2weg%L7%|OFd*;>3=O;r zErHi4nHYGTI6-IGz?(Qpki9za7OWV^kBUgu0##TukVofIEy(x~=mJv$-Eitc#)m); z;(Cy)f!16c?A$xUTMYt@m5_~(bGF%r}1->6x4SpC{9qtOO0Y3|@ z1-}Zc0}lr#!()Ldv~w;nmH2y|KLpk%z8KgLUJYyvZv-}la!_+<3Tg?xgVLaXP#YK? z)DFf3wWpngppL}xkbO0%GjXEMq@XUu6@sj=YEU|?5oCi;2W7(4pe)!Zs26M%)El-7 z%7vYR`ao+?0n7?2f;mC`U_nqZ91t`B4hb3vUkVxw#{~_AuLcc=GlNFJxk01g!l2P` zMbKEdI%phxH)uTE7&H-X51Ir&4w?e@1Wkhnf@Z*Pf@ZN6$Aab%AJut0XfDnP$W?35 zJotUk0{C;#B6uZe3Aw*P`YmWF@$ZnmG-x^eGiW6=1+Ri0!K z4n_yBhh>5{!bgKQ!AikfVD;dwuy*ivYSn@CUhoc>8oU!W4c-M?1@DIKg7;9SYw%v; zE;_Bj`-r;-?}s_T2gof9K1f`kvncow@$M3ce1%3%&`@1mA+^ z`L_?FWv~i=4;D}gae*Sl%~h66kfS)n1A2yd!GI7S{6NTkT!=3W5Ala_A%U=LNHBaX zB$P5$L&AxxK<xIO@#v$>PX#(lVkVM!jBnfs1DTm)Rq&#sK zoz{?w#N9(G!JLrFupp!g>>pAM4hg9aM}*XXV?t`dS3~N+X(7pQc1Q|b7?KK?hSY~| zhBSn0LK?%3Ax+^2A)Cq#gV=q&++p(h;5u=?s4g=>mTXvBK*i z=}-!_K@pk>y+X5~UuZ8F9NHU3hvu?I@u7W)%Rt7!&;sHF$mkbZL|j(qBcc6>D~1-s zYM}#Q&Cr1`Idm{=7&?^l%|nM1H`Cc7bOcUIooS(?@LTC@9Xgu0edt(d4IKx&hmME6 zLMOt4&`Gd==oIP}L-xbaX>f4p44fg5>!{FKaAfEl_)6$pI4N`j z`NfdysL-WwMd)&zm5_c8T}iwO@|-Pn74d4wXc@X1t_xiQw}h^RABL`jyF%B)&q6oC zuR=G$!=YQKbv$${@iEAAw$SawCm`1Vp*x6A={ys<6Xz^sdUKT2mz*hzc~ z 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 C6EA`Q diff --git a/prebuild.xml b/prebuild.xml index d2d1e6d9fa..640d530064 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -747,6 +747,7 @@ ../../../bin/ + From 7df54d4ad2b874eed0e93f13a6bdc06cccf2077e Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 26 Oct 2009 04:52:11 +0000 Subject: [PATCH 35/60] Thank you, RemedyTomm, for a patch to handle Xfer requests being dropped before the file data to be transfered is ready. --- .../CoreModules/Agent/Xfer/XferModule.cs | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Agent/Xfer/XferModule.cs b/OpenSim/Region/CoreModules/Agent/Xfer/XferModule.cs index 834aa141d0..d275b7f1da 100644 --- a/OpenSim/Region/CoreModules/Agent/Xfer/XferModule.cs +++ b/OpenSim/Region/CoreModules/Agent/Xfer/XferModule.cs @@ -40,6 +40,12 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer private Scene m_scene; public Dictionary NewFiles = new Dictionary(); public Dictionary Transfers = new Dictionary(); + public Dictionary Requests = new Dictionary(); + public struct XferRequest + { + public IClientAPI remoteClient; + public ulong xferID; + } #region IRegionModule Members @@ -86,6 +92,13 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer NewFiles.Add(fileName, data); } } + + if (Requests.ContainsKey(fileName)) + { + RequestXfer(Requests[fileName].remoteClient, Requests[fileName].xferID, fileName); + Requests.Remove(fileName); + } + return true; } @@ -105,7 +118,6 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer /// public void RequestXfer(IClientAPI remoteClient, ulong xferID, string fileName) { - lock (NewFiles) { if (NewFiles.ContainsKey(fileName)) @@ -114,6 +126,7 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer { byte[] fileData = NewFiles[fileName]; XferDownLoad transaction = new XferDownLoad(fileName, fileData, xferID, remoteClient); + Transfers.Add(xferID, transaction); NewFiles.Remove(fileName); @@ -123,6 +136,16 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer } } } + else + { + if (!Requests.ContainsKey(fileName)) + { + XferRequest nRequest = new XferRequest(); + nRequest.remoteClient = remoteClient; + nRequest.xferID = xferID; + Requests.Add(fileName, nRequest); + } + } } } @@ -177,7 +200,6 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer Array.Copy(Utils.IntToBytes(Data.Length), 0, transferData, 0, 4); Array.Copy(Data, 0, transferData, 4, Data.Length); Client.SendXferPacket(XferID, 0 + 0x80000000, transferData); - complete = true; } else From 1209db6dcd9e9d8ff15ddbdbb246506817ef9b23 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 26 Oct 2009 15:51:28 +0000 Subject: [PATCH 36/60] Thank you, RemedyTomm, for an update to your previous patch. Garbage-collect the transfers that never happen. --- .../CoreModules/Agent/Xfer/XferModule.cs | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/Agent/Xfer/XferModule.cs b/OpenSim/Region/CoreModules/Agent/Xfer/XferModule.cs index d275b7f1da..ef7dce812e 100644 --- a/OpenSim/Region/CoreModules/Agent/Xfer/XferModule.cs +++ b/OpenSim/Region/CoreModules/Agent/Xfer/XferModule.cs @@ -38,15 +38,20 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer public class XferModule : IRegionModule, IXfer { private Scene m_scene; + private Dictionary Requests = new Dictionary(); + private List RequestTime = new List(); public Dictionary NewFiles = new Dictionary(); public Dictionary Transfers = new Dictionary(); - public Dictionary Requests = new Dictionary(); + + public struct XferRequest { public IClientAPI remoteClient; public ulong xferID; + public string fileName; + public DateTime timeStamp; } - + #region IRegionModule Members public void Initialise(Scene scene, IConfigSource config) @@ -138,13 +143,27 @@ namespace OpenSim.Region.CoreModules.Agent.Xfer } else { + if (RequestTime.Count > 0) + { + TimeSpan ts = new TimeSpan(DateTime.UtcNow.Ticks - RequestTime[0].timeStamp.Ticks); + if (ts.TotalSeconds > 30) + { + Requests.Remove(RequestTime[0].fileName); + RequestTime.RemoveAt(0); + } + } + if (!Requests.ContainsKey(fileName)) { XferRequest nRequest = new XferRequest(); nRequest.remoteClient = remoteClient; nRequest.xferID = xferID; + nRequest.fileName = fileName; + nRequest.timeStamp = DateTime.UtcNow; Requests.Add(fileName, nRequest); + RequestTime.Add(nRequest); } + } } } From 2222172afaa97a8550c08c32cab3474d37fcf984 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Mon, 26 Oct 2009 11:28:02 -0700 Subject: [PATCH 37/60] Removed an unnecessary lock in LLUDPClient.UpdateRTO() and LLUDPClient.BackoffRTO() --- .../ClientStack/LindenUDP/LLUDPClient.cs | 55 ++++++++----------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs index 0948e1cf17..a823f3ba1f 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs @@ -144,9 +144,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP private readonly OutgoingPacket[] m_nextPackets = new OutgoingPacket[THROTTLE_CATEGORY_COUNT]; /// A reference to the LLUDPServer that is managing this client private readonly LLUDPServer m_udpServer; - /// Locks access to the variables used while calculating round-trip - /// packet times and the retransmission timeout - private readonly object m_roundTripCalcLock = new object(); /// /// Default constructor @@ -487,28 +484,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP const float BETA = 0.25f; const float K = 4.0f; - lock (m_roundTripCalcLock) + if (RTTVAR == 0.0f) { - if (RTTVAR == 0.0f) - { - // First RTT measurement - SRTT = r; - RTTVAR = r * 0.5f; - } - else - { - // Subsequence RTT measurement - RTTVAR = (1.0f - BETA) * RTTVAR + BETA * Math.Abs(SRTT - r); - SRTT = (1.0f - ALPHA) * SRTT + ALPHA * r; - } - - int rto = (int)(SRTT + Math.Max(m_udpServer.TickCountResolution, K * RTTVAR)); - - // Clamp the retransmission timeout to manageable values - rto = Utils.Clamp(RTO, 3000, 60000); - - RTO = rto; + // First RTT measurement + SRTT = r; + RTTVAR = r * 0.5f; } + else + { + // Subsequence RTT measurement + RTTVAR = (1.0f - BETA) * RTTVAR + BETA * Math.Abs(SRTT - r); + SRTT = (1.0f - ALPHA) * SRTT + ALPHA * r; + } + + int rto = (int)(SRTT + Math.Max(m_udpServer.TickCountResolution, K * RTTVAR)); + + // Clamp the retransmission timeout to manageable values + rto = Utils.Clamp(RTO, 3000, 60000); + + RTO = rto; //m_log.Debug("[LLUDPCLIENT]: Setting agent " + this.Agent.FullName + "'s RTO to " + RTO + "ms with an RTTVAR of " + // RTTVAR + " based on new RTT of " + r + "ms"); @@ -520,16 +514,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// public void BackoffRTO() { - lock (m_roundTripCalcLock) - { - // Reset SRTT and RTTVAR, we assume they are bogus since things - // didn't work out and we're backing off the timeout - SRTT = 0.0f; - RTTVAR = 0.0f; + // Reset SRTT and RTTVAR, we assume they are bogus since things + // didn't work out and we're backing off the timeout + SRTT = 0.0f; + RTTVAR = 0.0f; - // Double the retransmission timeout - RTO = Math.Min(RTO * 2, 60000); - } + // Double the retransmission timeout + RTO = Math.Min(RTO * 2, 60000); } /// From c04775bf682866cfa4009c28a4152c6ad549cdb2 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Mon, 26 Oct 2009 13:38:07 -0700 Subject: [PATCH 38/60] Changed UseCircuitCode handling to be synchronous or asynchronous depending on the async_packet_handling config option, and added a debug log message when a UseCircuitCode packet is handled --- .../ClientStack/LindenUDP/LLUDPServer.cs | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 82ae640b93..8c3c5beac4 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -570,18 +570,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP // UseCircuitCode handling if (packet.Type == PacketType.UseCircuitCode) { - Util.FireAndForget( - delegate(object o) - { - IPEndPoint remoteEndPoint = (IPEndPoint)buffer.RemoteEndPoint; + m_log.Debug("[LLUDPSERVER]: Handling UseCircuitCode packet from " + buffer.RemoteEndPoint); + object[] array = new object[] { buffer, packet }; - // Begin the process of adding the client to the simulator - AddNewClient((UseCircuitCodePacket)packet, remoteEndPoint); + if (m_asyncPacketHandling) + Util.FireAndForget(HandleUseCircuitCode, array); + else + HandleUseCircuitCode(array); - // Acknowledge the UseCircuitCode packet - SendAckImmediate(remoteEndPoint, packet.Header.Sequence); - } - ); return; } @@ -692,6 +688,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP packetInbox.Enqueue(new IncomingPacket(udpClient, packet)); } + private void HandleUseCircuitCode(object o) + { + object[] array = (object[])o; + UDPPacketBuffer buffer = (UDPPacketBuffer)array[0]; + UseCircuitCodePacket packet = (UseCircuitCodePacket)array[1]; + + IPEndPoint remoteEndPoint = (IPEndPoint)buffer.RemoteEndPoint; + + // Begin the process of adding the client to the simulator + AddNewClient((UseCircuitCodePacket)packet, remoteEndPoint); + + // Acknowledge the UseCircuitCode packet + SendAckImmediate(remoteEndPoint, packet.Header.Sequence); + } + private void SendAckImmediate(IPEndPoint remoteEndpoint, uint sequenceNumber) { PacketAckPacket ack = new PacketAckPacket(); From ac7ccdf7d77810aef0a3ad70f1504fdb111dc0aa Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Mon, 26 Oct 2009 14:41:27 -0700 Subject: [PATCH 39/60] * Changed the watchdog timer to improve the speed of UpdateThread(), only track threads once the first call to UpdateThread() has been made, and allow re-tracking of threads that timed out but revived later * Added a commented out call to Watchdog.UpdateThread() in OdeScene. If it turns out that loading a large OAR file or some other operation is timing out the heartbeat thread, we'll need to uncomment it --- OpenSim/Framework/Watchdog.cs | 60 +++++++++---------- OpenSim/Region/Framework/Scenes/Scene.cs | 2 + OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 8 ++- 3 files changed, 38 insertions(+), 32 deletions(-) diff --git a/OpenSim/Framework/Watchdog.cs b/OpenSim/Framework/Watchdog.cs index b905609ed9..5d46905a73 100644 --- a/OpenSim/Framework/Watchdog.cs +++ b/OpenSim/Framework/Watchdog.cs @@ -28,6 +28,7 @@ using System; using System.Collections.Generic; using System.Threading; +using log4net; namespace OpenSim.Framework { @@ -66,6 +67,7 @@ namespace OpenSim.Framework /// stopped or has not called UpdateThread() in time public static event WatchdogTimeout OnWatchdogTimeout; + private static readonly ILog m_log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); private static Dictionary m_threads; private static System.Timers.Timer m_watchdogTimer; @@ -95,9 +97,6 @@ namespace OpenSim.Framework thread.IsBackground = isBackground; thread.Start(); - lock (m_threads) - m_threads.Add(thread.ManagedThreadId, new ThreadWatchdogInfo(thread)); - return thread; } @@ -109,24 +108,6 @@ namespace OpenSim.Framework UpdateThread(Thread.CurrentThread.ManagedThreadId); } - /// - /// Marks a thread as alive - /// - /// The ManagedThreadId of the thread to mark as - /// alive - public static void UpdateThread(int threadID) - { - ThreadWatchdogInfo threadInfo; - - lock (m_threads) - { - if (m_threads.TryGetValue(threadID, out threadInfo)) - { - threadInfo.LastTick = Environment.TickCount & Int32.MaxValue; - } - } - } - /// /// Stops watchdog tracking on the current thread /// @@ -137,19 +118,38 @@ namespace OpenSim.Framework return RemoveThread(Thread.CurrentThread.ManagedThreadId); } - /// - /// Stops watchdog tracking on a thread - /// - /// The ManagedThreadId of the thread to stop - /// tracking - /// True if the thread was removed from the list of tracked - /// threads, otherwise false - public static bool RemoveThread(int threadID) + private static void AddThread(ThreadWatchdogInfo threadInfo) + { + m_log.Debug("[WATCHDOG]: Started tracking thread \"" + threadInfo.Thread.Name + "\" (ID " + threadInfo.Thread.ManagedThreadId + ")"); + + lock (m_threads) + m_threads.Add(threadInfo.Thread.ManagedThreadId, threadInfo); + } + + private static bool RemoveThread(int threadID) { lock (m_threads) return m_threads.Remove(threadID); } + private static void UpdateThread(int threadID) + { + ThreadWatchdogInfo threadInfo; + + // Although TryGetValue is not a thread safe operation, we use a try/catch here instead + // of a lock for speed. Adding/removing threads is a very rare operation compared to + // UpdateThread(), and a single UpdateThread() failure here and there won't break + // anything + try + { + if (m_threads.TryGetValue(threadID, out threadInfo)) + threadInfo.LastTick = Environment.TickCount & Int32.MaxValue; + else + AddThread(new ThreadWatchdogInfo(Thread.CurrentThread)); + } + catch { } + } + private static void WatchdogTimerElapsed(object sender, System.Timers.ElapsedEventArgs e) { WatchdogTimeout callback = OnWatchdogTimeout; @@ -160,7 +160,7 @@ namespace OpenSim.Framework lock (m_threads) { - int now = Environment.TickCount; + int now = Environment.TickCount & Int32.MaxValue; foreach (ThreadWatchdogInfo threadInfo in m_threads.Values) { diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index f052c6564e..95d69a1570 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -1025,6 +1025,7 @@ namespace OpenSim.Region.Framework.Scenes float physicsFPS = 0; frameMS = Environment.TickCount; + try { // Increment the frame counter @@ -1152,6 +1153,7 @@ namespace OpenSim.Region.Framework.Scenes if ((maintc < (m_timespan * 1000)) && maintc > 0) Thread.Sleep(maintc); + // Tell the watchdog that this thread is still alive Watchdog.UpdateThread(); } } diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index f979ce38f9..82392b1f41 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs @@ -2705,8 +2705,6 @@ namespace OpenSim.Region.Physics.OdePlugin { foreach (OdePrim prim in _taintedPrimL) { - - if (prim.m_taintremove) { //Console.WriteLine("Simulate calls RemovePrimThreadLocked"); @@ -2719,6 +2717,12 @@ namespace OpenSim.Region.Physics.OdePlugin } processedtaints = true; prim.m_collisionscore = 0; + + // This loop can block up the Heartbeat for a very long time on large regions. + // We need to let the Watchdog know that the Heartbeat is not dead + // NOTE: This is currently commented out, but if things like OAR loading are + // timing the heartbeat out we will need to uncomment it + //Watchdog.UpdateThread(); } if (SupportsNINJAJoints) From ff4b45a1e342017d50858a8342e76f51d6d4df27 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Mon, 26 Oct 2009 15:12:43 -0700 Subject: [PATCH 40/60] Do case-insensitive comparisons on region names in LLStandaloneLoginModule --- OpenSim/Client/Linden/LLStandaloneLoginModule.cs | 2 +- OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Client/Linden/LLStandaloneLoginModule.cs b/OpenSim/Client/Linden/LLStandaloneLoginModule.cs index fb0aaa5e39..bb9b62315e 100644 --- a/OpenSim/Client/Linden/LLStandaloneLoginModule.cs +++ b/OpenSim/Client/Linden/LLStandaloneLoginModule.cs @@ -286,7 +286,7 @@ namespace OpenSim.Client.Linden { foreach (Scene nextScene in m_scenes) { - if (nextScene.RegionInfo.RegionName == regionName) + if (nextScene.RegionInfo.RegionName.Equals(regionName, StringComparison.InvariantCultureIgnoreCase)) { scene = nextScene; return true; diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index 82392b1f41..0eb0c4550c 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs @@ -2707,12 +2707,12 @@ namespace OpenSim.Region.Physics.OdePlugin { if (prim.m_taintremove) { -//Console.WriteLine("Simulate calls RemovePrimThreadLocked"); + //Console.WriteLine("Simulate calls RemovePrimThreadLocked"); RemovePrimThreadLocked(prim); } else { -//Console.WriteLine("Simulate calls ProcessTaints"); + //Console.WriteLine("Simulate calls ProcessTaints"); prim.ProcessTaints(timeStep); } processedtaints = true; From ad624f703d75c048d4bb0fc1f8bbe02ef20dd2dd Mon Sep 17 00:00:00 2001 From: Dan Lake Date: Mon, 26 Oct 2009 13:41:20 -0700 Subject: [PATCH 41/60] ParcelObjectOwnersReplyPacket has null DataBlock when a client requests a list of their prims in the region and none exist. Instead of leaving pack.Data null, this patch sets a new DataBlock[0]; --- OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 6f0b177b14..edfb13c0b5 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -4158,6 +4158,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP pack.Data = dataBlock; } + else + { + pack.Data = new ParcelObjectOwnersReplyPacket.DataBlock[0]; + } pack.Header.Zerocoded = true; this.OutPacket(pack, ThrottleOutPacketType.Task); } From 428bd7a74bd9e1df3af29dd285fe385e5c4d526d Mon Sep 17 00:00:00 2001 From: Dan Lake Date: Mon, 26 Oct 2009 13:57:27 -0700 Subject: [PATCH 42/60] No need to create dupe TriMeshData for ODE. A previous patch created a dictionary to store unique meshes in Meshmerizer based on creation params. This patch contains a dictionary to map each of those unique meshes to its ODE TriMeshData. This eliminated hundreds of megabytes of memory consumption in the unmanaged heap when there are lots of the same prim (roof tiles, bricks, siding, decks, chairs, etc). The objects do not need to be physical to benefit from this patch. --- OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 412f84de56..09c8582a67 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs @@ -801,6 +801,8 @@ namespace OpenSim.Region.Physics.OdePlugin m_collisionscore = 0; } + private static Dictionary m_MeshToTriMeshMap = new Dictionary(); + public void setMesh(OdeScene parent_scene, IMesh mesh) { // This sleeper is there to moderate how long it takes between @@ -832,19 +834,24 @@ namespace OpenSim.Region.Physics.OdePlugin mesh.getIndexListAsPtrToIntArray(out indices, out triStride, out indexCount); // Also fixed, needs release after usage mesh.releaseSourceMeshData(); // free up the original mesh data to save memory + if (m_MeshToTriMeshMap.ContainsKey(mesh)) + { + _triMeshData = m_MeshToTriMeshMap[mesh]; + } + else + { + _triMeshData = d.GeomTriMeshDataCreate(); - _triMeshData = d.GeomTriMeshDataCreate(); - - d.GeomTriMeshDataBuildSimple(_triMeshData, vertices, vertexStride, vertexCount, indices, indexCount, triStride); - d.GeomTriMeshDataPreprocess(_triMeshData); + d.GeomTriMeshDataBuildSimple(_triMeshData, vertices, vertexStride, vertexCount, indices, indexCount, triStride); + d.GeomTriMeshDataPreprocess(_triMeshData); + m_MeshToTriMeshMap[mesh] = _triMeshData; + } _parent_scene.waitForSpaceUnlock(m_targetSpace); - try { if (prim_geom == IntPtr.Zero) { -//Console.WriteLine(" setMesh 1"); SetGeom(d.CreateTriMesh(m_targetSpace, _triMeshData, parent_scene.triCallback, null, null)); } } @@ -854,6 +861,7 @@ namespace OpenSim.Region.Physics.OdePlugin return; } + // if (IsPhysical && Body == (IntPtr) 0) // { // Recreate the body From 119cf80e13e9fccea30147e3274f5d44958248b2 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Mon, 26 Oct 2009 15:52:59 -0700 Subject: [PATCH 43/60] Added calls to GC.AddMemoryPressure() when unmanaged memory is allocated for ODE (helps the GC make better scheduling choices), and a call to GC.Collect() right before logins are enabled for a region. Although this doesn't change actual memory usage, it improves the reported usage from OpenSim and the operating system --- OpenSim/Region/Framework/Scenes/Scene.cs | 5 +++++ OpenSim/Region/Physics/Meshing/Mesh.cs | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 95d69a1570..4776beda97 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -1107,6 +1107,11 @@ namespace OpenSim.Region.Framework.Scenes } if (loginsdisabled && (m_frame > 20)) { + // In 99.9% of cases it is a bad idea to manually force garbage collection. However, + // this is a rare case where we know we have just went through a long cycle of heap + // allocations, and there is no more work to be done until someone logs in + GC.Collect(); + m_log.Debug("[REGION]: Enabling Logins"); loginsdisabled = false; } diff --git a/OpenSim/Region/Physics/Meshing/Mesh.cs b/OpenSim/Region/Physics/Meshing/Mesh.cs index 4c3cf33feb..e8a3e19081 100644 --- a/OpenSim/Region/Physics/Meshing/Mesh.cs +++ b/OpenSim/Region/Physics/Meshing/Mesh.cs @@ -174,6 +174,9 @@ namespace OpenSim.Region.Physics.Meshing float[] result = getVertexListAsFloat(); m_pinnedVertexes = GCHandle.Alloc(result, GCHandleType.Pinned); + // Inform the garbage collector of this unmanaged allocation so it can schedule + // the next GC round more intelligently + GC.AddMemoryPressure(Buffer.ByteLength(result)); return result; } @@ -223,6 +226,9 @@ namespace OpenSim.Region.Physics.Meshing int[] result = getIndexListAsInt(); m_pinnedIndex = GCHandle.Alloc(result, GCHandleType.Pinned); + // Inform the garbage collector of this unmanaged allocation so it can schedule + // the next GC round more intelligently + GC.AddMemoryPressure(Buffer.ByteLength(result)); return result; } From 4847e62e9fd1cd473cc180220a379efba93f94a6 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Mon, 26 Oct 2009 16:33:04 -0700 Subject: [PATCH 44/60] * Switched all operations on the list of clients that could be either sync or async to use Scene.ForEachClient() instead of referencing ClientManager directly * Added a new [Startup] config option called use_async_when_possible to signal how to run operations that could be either sync or async * Changed Scene.ForEachClient to respect use_async_when_possible * Fixing a potential deadlock in Parallel.ForEach by locking on a temporary object instead of the enumerator (which may be shared across multiple invocations on ForEach). Thank you diva --- OpenSim/Framework/Parallel.cs | 3 +- .../ClientStack/LindenUDP/LLUDPServer.cs | 4 +- .../CoreModules/Avatar/Gods/GodsModule.cs | 2 +- .../Framework/Scenes/Scene.PacketHandlers.cs | 2 +- OpenSim/Region/Framework/Scenes/Scene.cs | 48 +++++++++++-------- .../ContentManagementSystem/MetaEntity.cs | 6 ++- bin/OpenSim.ini.example | 7 +++ 7 files changed, 44 insertions(+), 28 deletions(-) diff --git a/OpenSim/Framework/Parallel.cs b/OpenSim/Framework/Parallel.cs index 70eecdcdac..515852f323 100644 --- a/OpenSim/Framework/Parallel.cs +++ b/OpenSim/Framework/Parallel.cs @@ -118,6 +118,7 @@ namespace OpenSim.Framework int counter = threadCount; AutoResetEvent threadFinishEvent = new AutoResetEvent(false); IEnumerator enumerator = enumerable.GetEnumerator(); + object syncRoot = new object(); Exception exception = null; for (int i = 0; i < threadCount; i++) @@ -131,7 +132,7 @@ namespace OpenSim.Framework { T entry; - lock (enumerator) + lock (syncRoot) { if (!enumerator.MoveNext()) break; diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 8c3c5beac4..dee0a39b41 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -262,7 +262,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP for (int i = 0; i < packetCount; i++) { byte[] data = datas[i]; - m_scene.ClientManager.ForEach( + m_scene.ForEachClient( delegate(IClientAPI client) { if (client is LLClientView) @@ -274,7 +274,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP else { byte[] data = packet.ToBytes(); - m_scene.ClientManager.ForEach( + m_scene.ForEachClient( delegate(IClientAPI client) { if (client is LLClientView) diff --git a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs index 7855862f5f..273c128412 100644 --- a/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Gods/GodsModule.cs @@ -114,7 +114,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Gods { string reasonStr = Utils.BytesToString(reason); - m_scene.ClientManager.ForEach( + m_scene.ForEachClient( delegate(IClientAPI controller) { if (controller.AgentId != godID) diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs index ac89f7b7c5..cfe32d06c3 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs @@ -408,7 +408,7 @@ namespace OpenSim.Region.Framework.Scenes } ViewerEffectPacket.EffectBlock[] effectBlockArray = effectBlock.ToArray(); - ClientManager.ForEach( + ForEachClient( delegate(IClientAPI client) { if (client.AgentId != remoteClient.AgentId) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 4776beda97..91367db849 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -106,11 +106,11 @@ namespace OpenSim.Region.Framework.Scenes public bool m_physicalPrim; public float m_maxNonphys = 256; public float m_maxPhys = 10; - public bool m_clampPrimSize = false; - public bool m_trustBinaries = false; - public bool m_allowScriptCrossings = false; - public bool m_useFlySlow = false; - public bool m_usePreJump = false; + public bool m_clampPrimSize; + public bool m_trustBinaries; + public bool m_allowScriptCrossings; + public bool m_useFlySlow; + public bool m_usePreJump; public bool m_seeIntoRegionFromNeighbor; // TODO: need to figure out how allow client agents but deny // root agents when ACL denies access to root agent @@ -118,11 +118,11 @@ namespace OpenSim.Region.Framework.Scenes public int MaxUndoCount = 5; private int m_RestartTimerCounter; private readonly Timer m_restartTimer = new Timer(15000); // Wait before firing - private int m_incrementsof15seconds = 0; - private volatile bool m_backingup = false; + private int m_incrementsof15seconds; + private volatile bool m_backingup; + private bool m_useAsyncWhenPossible = true; private Dictionary m_returns = new Dictionary(); - private Dictionary m_groupsWithTargets = new Dictionary(); protected string m_simulatorVersion = "OpenSimulator Server"; @@ -142,8 +142,8 @@ namespace OpenSim.Region.Framework.Scenes public IXfer XferManager; - protected IAssetService m_AssetService = null; - protected IAuthorizationService m_AuthorizationService = null; + protected IAssetService m_AssetService; + protected IAuthorizationService m_AuthorizationService; private Object m_heartbeatLock = new Object(); @@ -184,7 +184,7 @@ namespace OpenSim.Region.Framework.Scenes } } - protected IInventoryService m_InventoryService = null; + protected IInventoryService m_InventoryService; public IInventoryService InventoryService { @@ -204,7 +204,7 @@ namespace OpenSim.Region.Framework.Scenes } } - protected IGridService m_GridService = null; + protected IGridService m_GridService; public IGridService GridService { @@ -252,7 +252,7 @@ namespace OpenSim.Region.Framework.Scenes // Central Update Loop protected int m_fps = 10; - protected int m_frame = 0; + protected int m_frame; protected float m_timespan = 0.089f; protected DateTime m_lastupdate = DateTime.UtcNow; @@ -265,17 +265,17 @@ namespace OpenSim.Region.Framework.Scenes private int m_update_terrain = 50; private int m_update_land = 1; - private int frameMS = 0; - private int physicsMS2 = 0; - private int physicsMS = 0; - private int otherMS = 0; + private int frameMS; + private int physicsMS2; + private int physicsMS; + private int otherMS; private bool m_physics_enabled = true; private bool m_scripts_enabled = true; private string m_defaultScriptEngine; - private int m_LastLogin = 0; - private Thread HeartbeatThread = null; - private volatile bool shuttingdown = false; + private int m_LastLogin; + private Thread HeartbeatThread; + private volatile bool shuttingdown; private int m_lastUpdate = Environment.TickCount; private bool m_firstHeartbeat = true; @@ -479,6 +479,9 @@ namespace OpenSim.Region.Framework.Scenes // IConfig startupConfig = m_config.Configs["Startup"]; + // Should we try to run loops synchronously or asynchronously? + m_useAsyncWhenPossible = startupConfig.GetBoolean("use_async_when_possible", true); + //Animation states m_useFlySlow = startupConfig.GetBoolean("enableflyslow", false); // TODO: Change default to true once the feature is supported @@ -4253,7 +4256,10 @@ namespace OpenSim.Region.Framework.Scenes public void ForEachClient(Action action) { - ClientManager.ForEachSync(action); + if (m_useAsyncWhenPossible) + ClientManager.ForEach(action); + else + ClientManager.ForEachSync(action); } public void ForEachSOG(Action action) diff --git a/OpenSim/Region/OptionalModules/ContentManagementSystem/MetaEntity.cs b/OpenSim/Region/OptionalModules/ContentManagementSystem/MetaEntity.cs index b6513e2c4f..1a72971b56 100644 --- a/OpenSim/Region/OptionalModules/ContentManagementSystem/MetaEntity.cs +++ b/OpenSim/Region/OptionalModules/ContentManagementSystem/MetaEntity.cs @@ -183,10 +183,12 @@ namespace OpenSim.Region.OptionalModules.ContentManagement public virtual void HideFromAll() { foreach (SceneObjectPart part in m_Entity.Children.Values) - m_Entity.Scene.ClientManager.ForEach( + { + m_Entity.Scene.ForEachClient( delegate(IClientAPI controller) { controller.SendKillObject(m_Entity.RegionHandle, part.LocalId); } ); + } } public void SendFullUpdate(IClientAPI client) @@ -202,7 +204,7 @@ namespace OpenSim.Region.OptionalModules.ContentManagement public void SendFullUpdateToAll() { - m_Entity.Scene.ClientManager.ForEach( + m_Entity.Scene.ForEachClient( delegate(IClientAPI controller) { m_Entity.SendFullUpdateToClient(controller); } ); diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 9ee9829ac4..2adc87f440 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -44,6 +44,13 @@ ; performance on .NET/Windows ;async_call_method = SmartThreadPool + ; There are several operations on large collections (such as + ; the current avatar list) that can be run synchronously or + ; in parallel. Running in parallel should increase performance + ; on a multi-core system, but will make debugging more + ; difficult if something deadlocks or times out + use_async_when_possible = true + ; Max threads to allocate on the FireAndForget thread pool ; when running with the SmartThreadPool option above MaxPoolThreads = 15 From 0b1726b524934c2020aaf2b1f130219fb87003fd Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Mon, 26 Oct 2009 16:48:43 -0700 Subject: [PATCH 45/60] Removing the ClientManager reference from IScene and hiding it entirely inside Scene as an implementation detail. This will reduce programming error and make it easier to refactor the avatar vs client vs presence mess later on --- OpenSim/Framework/IScene.cs | 1 - OpenSim/Region/Application/OpenSim.cs | 4 +-- .../ClientStack/LindenUDP/LLUDPServer.cs | 14 +++++------ OpenSim/Region/Framework/Scenes/Scene.cs | 25 +++++++++++++++---- OpenSim/Region/Framework/Scenes/SceneBase.cs | 7 +----- 5 files changed, 30 insertions(+), 21 deletions(-) diff --git a/OpenSim/Framework/IScene.cs b/OpenSim/Framework/IScene.cs index f34027dac9..8067052ef0 100644 --- a/OpenSim/Framework/IScene.cs +++ b/OpenSim/Framework/IScene.cs @@ -62,7 +62,6 @@ namespace OpenSim.Framework RegionInfo RegionInfo { get; } RegionStatus RegionStatus { get; set; } - ClientManager ClientManager { get; } IConfigSource Config { get; } float TimeDilation { get; } diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 0366d944bc..b44818266a 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -970,12 +970,12 @@ namespace OpenSim m_sceneManager.ForEachScene( delegate(Scene scene) { - scene.ClientManager.ForEachSync( + scene.ForEachClient( delegate(IClientAPI client) { connections.AppendFormat("{0}: {1} ({2}) from {3} on circuit {4}\n", scene.RegionInfo.RegionName, client.Name, client.AgentId, client.RemoteEndPoint, client.CircuitCode); - } + }, false ); } ); diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index dee0a39b41..e3233daf67 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -583,10 +583,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP // Determine which agent this packet came from IClientAPI client; - if (!m_scene.ClientManager.TryGetValue(address, out client) || !(client is LLClientView)) + if (!m_scene.TryGetClient(address, out client) || !(client is LLClientView)) { - m_log.Debug("[LLUDPSERVER]: Received a " + packet.Type + " packet from an unrecognized source: " + address + - " in " + m_scene.RegionInfo.RegionName + ", currently tracking " + m_scene.ClientManager.Count + " clients"); + m_log.Debug("[LLUDPSERVER]: Received a " + packet.Type + " packet from an unrecognized source: " + address + " in " + m_scene.RegionInfo.RegionName); return; } @@ -764,8 +763,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP { // Create the LLUDPClient LLUDPClient udpClient = new LLUDPClient(this, m_throttleRates, m_throttle, circuitCode, agentID, remoteEndPoint); + IClientAPI existingClient; - if (!m_scene.ClientManager.ContainsKey(agentID)) + if (!m_scene.TryGetClient(agentID, out existingClient)) { // Create the LLClientView LLClientView client = new LLClientView(remoteEndPoint, m_scene, this, udpClient, sessionInfo, agentID, sessionID, circuitCode); @@ -785,7 +785,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP { // Remove this client from the scene IClientAPI client; - if (m_scene.ClientManager.TryGetValue(udpClient.AgentID, out client)) + if (m_scene.TryGetClient(udpClient.AgentID, out client)) client.Close(); } @@ -877,7 +877,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP // Handle outgoing packets, resends, acknowledgements, and pings for each // client. m_packetSent will be set to true if a packet is sent - m_scene.ClientManager.ForEachSync(clientPacketHandler); + m_scene.ForEachClient(clientPacketHandler, false); // If nothing was sent, sleep for the minimum amount of time before a // token bucket could get more tokens @@ -942,7 +942,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP } // Make sure this client is still alive - if (m_scene.ClientManager.TryGetValue(udpClient.AgentID, out client)) + if (m_scene.TryGetClient(udpClient.AgentID, out client)) { try { diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 91367db849..7eafef7f43 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -2482,7 +2482,7 @@ namespace OpenSim.Region.Framework.Scenes /// public override void AddNewClient(IClientAPI client) { - ClientManager.Add(client); + m_clientManager.Add(client); CheckHeartbeat(); SubscribeToClientEvents(client); @@ -3121,7 +3121,7 @@ namespace OpenSim.Region.Framework.Scenes // Remove the avatar from the scene m_sceneGraph.RemoveScenePresence(agentID); - ClientManager.Remove(agentID); + m_clientManager.Remove(agentID); try { @@ -4256,10 +4256,25 @@ namespace OpenSim.Region.Framework.Scenes public void ForEachClient(Action action) { - if (m_useAsyncWhenPossible) - ClientManager.ForEach(action); + ForEachClient(action, m_useAsyncWhenPossible); + } + + public void ForEachClient(Action action, bool doAsynchronous) + { + if (doAsynchronous) + m_clientManager.ForEach(action); else - ClientManager.ForEachSync(action); + m_clientManager.ForEachSync(action); + } + + public bool TryGetClient(UUID avatarID, out IClientAPI client) + { + return m_clientManager.TryGetValue(avatarID, out client); + } + + public bool TryGetClient(System.Net.IPEndPoint remoteEndPoint, out IClientAPI client) + { + return m_clientManager.TryGetValue(remoteEndPoint, out client); } public void ForEachSOG(Action action) diff --git a/OpenSim/Region/Framework/Scenes/SceneBase.cs b/OpenSim/Region/Framework/Scenes/SceneBase.cs index cf5c3c8148..82731d1c58 100644 --- a/OpenSim/Region/Framework/Scenes/SceneBase.cs +++ b/OpenSim/Region/Framework/Scenes/SceneBase.cs @@ -102,12 +102,7 @@ namespace OpenSim.Region.Framework.Scenes private readonly Mutex _primAllocateMutex = new Mutex(false); - private readonly ClientManager m_clientManager = new ClientManager(); - - public ClientManager ClientManager - { - get { return m_clientManager; } - } + protected readonly ClientManager m_clientManager = new ClientManager(); public float TimeDilation { From b6651ce79017bc7c6d1df66757e26a74bacfc36f Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Mon, 26 Oct 2009 18:22:32 -0700 Subject: [PATCH 46/60] * Double the priority on avatar bake texture requests to get avatars rezzing in faster than the surrounding scene * Adds duplicate tracking for SceneObjectParts and ScenePresences to avoid sending out duplicate ImprovedTerseObjectUpdate packets --- .../ClientStack/LindenUDP/LLClientView.cs | 18 +++-- .../Framework/Scenes/SceneObjectPart.cs | 46 ++++++++++--- .../Region/Framework/Scenes/ScenePresence.cs | 69 ++++++------------- 3 files changed, 70 insertions(+), 63 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index edfb13c0b5..31028b35b4 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -6756,11 +6756,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP if (OnRequestTexture != null) { TextureRequestArgs args = new TextureRequestArgs(); - args.RequestedAssetID = imageRequest.RequestImage[i].Image; - args.DiscardLevel = imageRequest.RequestImage[i].DiscardLevel; - args.PacketNumber = imageRequest.RequestImage[i].Packet; - args.Priority = imageRequest.RequestImage[i].DownloadPriority; + + RequestImagePacket.RequestImageBlock block = imageRequest.RequestImage[i]; + + args.RequestedAssetID = block.Image; + args.DiscardLevel = block.DiscardLevel; + args.PacketNumber = block.Packet; + args.Priority = block.DownloadPriority; args.requestSequence = imageRequest.Header.Sequence; + + // NOTE: This is not a built in part of the LLUDP protocol, but we double the + // priority of avatar textures to get avatars rezzing in faster than the + // surrounding scene + if ((ImageType)block.Type == ImageType.Baked) + args.Priority *= 2.0f; + //handlerTextureRequest = OnRequestTexture; //if (handlerTextureRequest != null) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index d84c35cf97..a87bde0947 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -248,6 +248,12 @@ namespace OpenSim.Region.Framework.Scenes protected UUID m_uuid; protected Vector3 m_velocity; + protected Vector3 m_lastPosition; + protected Quaternion m_lastRotation; + protected Vector3 m_lastVelocity; + protected Vector3 m_lastAcceleration; + protected Vector3 m_lastAngularVelocity; + // TODO: Those have to be changed into persistent properties at some later point, // or sit-camera on vehicles will break on sim-crossing. private Vector3 m_cameraEyeOffset; @@ -2387,18 +2393,36 @@ if (m_shape != null) { ///

u$!qG&z6k%$Cxs;70k<6aB!KOM; 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

public void SendScheduledUpdates() { - if (m_updateFlag == 1) //some change has been made so update the clients - { - AddTerseUpdateToAllAvatars(); - ClearUpdateSchedule(); + const float VELOCITY_TOLERANCE = 0.01f; + const float POSITION_TOLERANCE = 10.0f; - // This causes the Scene to 'poll' physical objects every couple of frames - // bad, so it's been replaced by an event driven method. - //if ((ObjectFlags & (uint)PrimFlags.Physics) != 0) - //{ - // Only send the constant terse updates on physical objects! - //ScheduleTerseUpdate(); - //} + if (m_updateFlag == 1) + { + // Throw away duplicate or insignificant updates + if (RotationOffset != m_lastRotation || + Acceleration != m_lastAcceleration || + (Velocity - m_lastVelocity).Length() > VELOCITY_TOLERANCE || + (RotationalVelocity - m_lastAngularVelocity).Length() > VELOCITY_TOLERANCE || + (OffsetPosition - m_lastPosition).Length() > POSITION_TOLERANCE) + { + AddTerseUpdateToAllAvatars(); + ClearUpdateSchedule(); + + // This causes the Scene to 'poll' physical objects every couple of frames + // bad, so it's been replaced by an event driven method. + //if ((ObjectFlags & (uint)PrimFlags.Physics) != 0) + //{ + // Only send the constant terse updates on physical objects! + //ScheduleTerseUpdate(); + //} + + // Update the "last" values + m_lastPosition = OffsetPosition; + m_lastRotation = RotationOffset; + m_lastVelocity = Velocity; + m_lastAcceleration = Acceleration; + m_lastAngularVelocity = RotationalVelocity; + } } else { diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 67384fb711..0ac5be0129 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -93,12 +93,13 @@ namespace OpenSim.Region.Framework.Scenes public Vector3 lastKnownAllowedPosition; public bool sentMessageAboutRestrictedParcelFlyingDown; - + private Vector3 m_lastPosition; + private Quaternion m_lastRotation; + private Vector3 m_lastVelocity; private bool m_updateflag; private byte m_movementflag; private readonly List m_forcesList = new List(); - private short m_updateCount; private uint m_requestedSitTargetID; private UUID m_requestedSitTargetUUID = UUID.Zero; private SendCourseLocationsMethod m_sendCourseLocationsMethod; @@ -145,12 +146,9 @@ namespace OpenSim.Region.Framework.Scenes public string JID = string.Empty; // Agent moves with a PID controller causing a force to be exerted. - private bool m_newForce; private bool m_newCoarseLocations = true; private float m_health = 100f; - private Vector3 m_lastVelocity = Vector3.Zero; - // Default AV Height private float m_avHeight = 127.0f; @@ -158,16 +156,6 @@ namespace OpenSim.Region.Framework.Scenes protected ulong crossingFromRegion; private readonly Vector3[] Dir_Vectors = new Vector3[6]; - - /// - /// The avatar position last sent to clients - /// - private Vector3 lastPhysPos = Vector3.Zero; - - /// - /// The avatar body rotation last sent to clients - /// - private Quaternion lastPhysRot = Quaternion.Identity; // Position of agent's camera in world (region cordinates) protected Vector3 m_CameraCenter = Vector3.Zero; @@ -1123,18 +1111,18 @@ namespace OpenSim.Region.Framework.Scenes CameraConstraintActive = true; //m_log.DebugFormat("[RAYCASTRESULT]: {0}, {1}, {2}, {3}", hitYN, collisionPoint, localid, distance); - Vector3 normal = Vector3.Normalize(new Vector3(0,0,collisionPoint.Z) - collisionPoint); + Vector3 normal = Vector3.Normalize(new Vector3(0f, 0f, collisionPoint.Z) - collisionPoint); ControllingClient.SendCameraConstraint(new Vector4(normal.X, normal.Y, normal.Z, -1 * Vector3.Distance(new Vector3(0,0,collisionPoint.Z),collisionPoint))); } else { - if (((Util.GetDistanceTo(lastPhysPos, AbsolutePosition) > 0.02) - || (Util.GetDistanceTo(m_lastVelocity, m_velocity) > 0.02) - || lastPhysRot != m_bodyRot)) + if ((m_pos - m_lastPosition).Length() > 0.02f || + (m_velocity - m_lastVelocity).Length() > 0.02f || + m_bodyRot != m_lastRotation) { if (CameraConstraintActive) { - ControllingClient.SendCameraConstraint(new Vector4(0, 0.5f, 0.9f, -3000f)); + ControllingClient.SendCameraConstraint(new Vector4(0f, 0.5f, 0.9f, -3000f)); CameraConstraintActive = false; } } @@ -2373,6 +2361,9 @@ namespace OpenSim.Region.Framework.Scenes public override void Update() { + const float VELOCITY_TOLERANCE = 0.01f; + const float POSITION_TOLERANCE = 10.0f; + SendPrimUpdates(); if (m_newCoarseLocations) @@ -2383,28 +2374,17 @@ namespace OpenSim.Region.Framework.Scenes if (m_isChildAgent == false) { - if (m_newForce) // user movement 'forces' (ie commands to move) + // Throw away duplicate or insignificant updates + if (m_bodyRot != m_lastRotation || + (m_velocity - m_lastVelocity).Length() > VELOCITY_TOLERANCE || + (m_pos - m_lastPosition).Length() > POSITION_TOLERANCE) { SendTerseUpdateToAllClients(); - m_updateCount = 0; - } - else if (m_movementflag != 0) // scripted movement (?) - { - m_updateCount++; - if (m_updateCount > 3) - { - SendTerseUpdateToAllClients(); - m_updateCount = 0; - } - } - else if ((Util.GetDistanceTo(lastPhysPos, AbsolutePosition) > 0.02) - || (Util.GetDistanceTo(m_lastVelocity, m_velocity) > 0.02) - || lastPhysRot != m_bodyRot) - { - // Send Terse Update to all clients updates lastPhysPos and m_lastVelocity - // doing the above assures us that we know what we sent the clients last - SendTerseUpdateToAllClients(); - m_updateCount = 0; + + // Update the "last" values + m_lastPosition = m_pos; + m_lastRotation = m_bodyRot; + m_lastVelocity = m_velocity; } // followed suggestion from mic bowman. reversed the two lines below. @@ -2447,15 +2427,10 @@ namespace OpenSim.Region.Framework.Scenes public void SendTerseUpdateToAllClients() { m_perfMonMS = Environment.TickCount; - + m_scene.ForEachClient(SendTerseUpdateToClient); - m_lastVelocity = m_velocity; - lastPhysPos = AbsolutePosition; - lastPhysRot = m_bodyRot; - m_scene.StatsReporter.AddAgentTime(Environment.TickCount - m_perfMonMS); - } public void SendCoarseLocations() @@ -3316,7 +3291,6 @@ namespace OpenSim.Region.Framework.Scenes ///
public override void UpdateMovement() { - m_newForce = false; lock (m_forcesList) { if (m_forcesList.Count > 0) @@ -3338,7 +3312,6 @@ namespace OpenSim.Region.Framework.Scenes // Ignoring this causes no movement to be sent to the physics engine... // which when the scene is moving at 1 frame every 10 seconds, it doesn't really matter! } - m_newForce = true; m_forcesList.Clear(); } From d199767e6991d6f368661fce9c5a072e564b8a4b Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Sun, 25 Oct 2009 23:16:12 -0700 Subject: [PATCH 47/60] Experimental change of PhysicsVector to Vector3. Untested --- .../World/Land/LandManagementModule.cs | 6 +- OpenSim/Region/Framework/Scenes/Scene.cs | 4 +- .../Framework/Scenes/SceneObjectGroup.cs | 26 +- .../Framework/Scenes/SceneObjectPart.cs | 46 +-- .../Region/Framework/Scenes/ScenePresence.cs | 18 +- .../Scripting/Minimodule/SOPObject.cs | 42 +-- .../BasicPhysicsPlugin/BasicPhysicsActor.cs | 54 ++-- .../BasicPhysicsPlugin/BasicPhysicsScene.cs | 40 +-- .../BulletDotNETCharacter.cs | 96 +++---- .../BulletDotNETPlugin/BulletDotNETPrim.cs | 257 +++++++++-------- .../BulletDotNETPlugin/BulletDotNETScene.cs | 12 +- .../Physics/BulletXPlugin/BulletXPlugin.cs | 158 +++++----- OpenSim/Region/Physics/Manager/IMesher.cs | 7 +- .../Region/Physics/Manager/PhysicsActor.cs | 86 +++--- .../Region/Physics/Manager/PhysicsJoint.cs | 2 +- .../Region/Physics/Manager/PhysicsScene.cs | 32 +-- .../Region/Physics/Manager/PhysicsSensor.cs | 7 +- .../Region/Physics/Manager/PhysicsVector.cs | 28 +- OpenSim/Region/Physics/Manager/ZeroMesher.cs | 5 +- OpenSim/Region/Physics/Meshing/HelperTypes.cs | 64 +++-- OpenSim/Region/Physics/Meshing/Mesh.cs | 7 +- OpenSim/Region/Physics/Meshing/Meshmerizer.cs | 21 +- .../Region/Physics/OdePlugin/ODECharacter.cs | 113 ++++---- .../Region/Physics/OdePlugin/ODEDynamics.cs | 2 +- OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 269 +++++++++--------- OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 50 ++-- .../Physics/OdePlugin/Tests/ODETestClass.cs | 4 +- .../Region/Physics/POSPlugin/POSCharacter.cs | 55 ++-- OpenSim/Region/Physics/POSPlugin/POSPrim.cs | 53 ++-- OpenSim/Region/Physics/POSPlugin/POSScene.cs | 52 ++-- .../Region/Physics/PhysXPlugin/PhysXPlugin.cs | 122 ++++---- .../Shared/Api/Implementation/LSL_Api.cs | 8 +- 32 files changed, 867 insertions(+), 879 deletions(-) diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index 53c64cb57d..93a949a249 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs @@ -264,10 +264,8 @@ namespace OpenSim.Region.CoreModules.World.Land avatar.ControllingClient.SendAlertMessage( "You are not allowed on this parcel because you are banned. Please go away."); - avatar.PhysicsActor.Position = - new PhysicsVector(avatar.lastKnownAllowedPosition.X, avatar.lastKnownAllowedPosition.Y, - avatar.lastKnownAllowedPosition.Z); - avatar.PhysicsActor.Velocity = new PhysicsVector(0, 0, 0); + avatar.PhysicsActor.Position = avatar.lastKnownAllowedPosition; + avatar.PhysicsActor.Velocity = Vector3.Zero; } else { diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 7eafef7f43..6c34056605 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -4606,7 +4606,7 @@ namespace OpenSim.Region.Framework.Scenes { case PhysicsJointType.Ball: { - PhysicsVector jointAnchor = PhysicsScene.GetJointAnchor(joint); + Vector3 jointAnchor = PhysicsScene.GetJointAnchor(joint); Vector3 proxyPos = new Vector3(jointAnchor.X, jointAnchor.Y, jointAnchor.Z); jointProxyObject.ParentGroup.UpdateGroupPosition(proxyPos); // schedules the entire group for a terse update } @@ -4614,7 +4614,7 @@ namespace OpenSim.Region.Framework.Scenes case PhysicsJointType.Hinge: { - PhysicsVector jointAnchor = PhysicsScene.GetJointAnchor(joint); + Vector3 jointAnchor = PhysicsScene.GetJointAnchor(joint); // Normally, we would just ask the physics scene to return the axis for the joint. // Unfortunately, ODE sometimes returns <0,0,0> for the joint axis, which should diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 34ada4c3b0..38a0cff7bf 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -1479,8 +1479,8 @@ namespace OpenSim.Region.Framework.Scenes dupe.RootPart.PhysActor = m_scene.PhysicsScene.AddPrimShape( dupe.RootPart.Name, pbs, - new PhysicsVector(dupe.RootPart.AbsolutePosition.X, dupe.RootPart.AbsolutePosition.Y, dupe.RootPart.AbsolutePosition.Z), - new PhysicsVector(dupe.RootPart.Scale.X, dupe.RootPart.Scale.Y, dupe.RootPart.Scale.Z), + dupe.RootPart.AbsolutePosition, + dupe.RootPart.Scale, dupe.RootPart.RotationOffset, dupe.RootPart.PhysActor.IsPhysical); @@ -1595,7 +1595,7 @@ namespace OpenSim.Region.Framework.Scenes */ } - public void applyImpulse(PhysicsVector impulse) + public void applyImpulse(Vector3 impulse) { // We check if rootpart is null here because scripts don't delete if you delete the host. // This means that unfortunately, we can pass a null physics actor to Simulate! @@ -1622,7 +1622,7 @@ namespace OpenSim.Region.Framework.Scenes } } - public void applyAngularImpulse(PhysicsVector impulse) + public void applyAngularImpulse(Vector3 impulse) { // We check if rootpart is null here because scripts don't delete if you delete the host. // This means that unfortunately, we can pass a null physics actor to Simulate! @@ -1641,7 +1641,7 @@ namespace OpenSim.Region.Framework.Scenes } } - public void setAngularImpulse(PhysicsVector impulse) + public void setAngularImpulse(Vector3 impulse) { // We check if rootpart is null here because scripts don't delete if you delete the host. // This means that unfortunately, we can pass a null physics actor to Simulate! @@ -1672,8 +1672,8 @@ namespace OpenSim.Region.Framework.Scenes { if (!IsAttachment) { - PhysicsVector torque = rootpart.PhysActor.Torque; - return new Vector3(torque.X, torque.Y, torque.Z); + Vector3 torque = rootpart.PhysActor.Torque; + return torque; } } } @@ -1706,7 +1706,7 @@ namespace OpenSim.Region.Framework.Scenes { if (rootpart.PhysActor != null) { - rootpart.PhysActor.PIDTarget = new PhysicsVector(target.X, target.Y, target.Z); + rootpart.PhysActor.PIDTarget = target; rootpart.PhysActor.PIDTau = tau; rootpart.PhysActor.PIDActive = true; } @@ -2374,7 +2374,7 @@ namespace OpenSim.Region.Framework.Scenes if (m_rootPart.PhysActor.IsPhysical) { Vector3 llmoveforce = pos - AbsolutePosition; - PhysicsVector grabforce = new PhysicsVector(llmoveforce.X, llmoveforce.Y, llmoveforce.Z); + Vector3 grabforce = llmoveforce; grabforce = (grabforce / 10) * m_rootPart.PhysActor.Mass; m_rootPart.PhysActor.AddForce(grabforce,true); m_scene.PhysicsScene.AddPhysicsActorTaint(m_rootPart.PhysActor); @@ -2479,7 +2479,7 @@ namespace OpenSim.Region.Framework.Scenes rotationAxis.Normalize(); //m_log.Error("SCENE OBJECT GROUP]: rotation axis is " + rotationAxis); - PhysicsVector spinforce = new PhysicsVector(rotationAxis.X, rotationAxis.Y, rotationAxis.Z); + Vector3 spinforce = new Vector3(rotationAxis.X, rotationAxis.Y, rotationAxis.Z); spinforce = (spinforce/8) * m_rootPart.PhysActor.Mass; // 8 is an arbitrary torque scaling factor m_rootPart.PhysActor.AddAngularForce(spinforce,true); m_scene.PhysicsScene.AddPhysicsActorTaint(m_rootPart.PhysActor); @@ -2706,8 +2706,7 @@ namespace OpenSim.Region.Framework.Scenes if (scale.Z > m_scene.m_maxPhys) scale.Z = m_scene.m_maxPhys; } - part.PhysActor.Size = - new PhysicsVector(scale.X, scale.Y, scale.Z); + part.PhysActor.Size = scale; m_scene.PhysicsScene.AddPhysicsActorTaint(part.PhysActor); } //if (part.UUID != m_rootPart.UUID) @@ -2851,8 +2850,7 @@ namespace OpenSim.Region.Framework.Scenes if (part.PhysActor != null) { - part.PhysActor.Size = - new PhysicsVector(prevScale.X, prevScale.Y, prevScale.Z); + part.PhysActor.Size = prevScale; m_scene.PhysicsScene.AddPhysicsActorTaint(part.PhysActor); } diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index a87bde0947..70f3112d20 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -167,9 +167,9 @@ namespace OpenSim.Region.Framework.Scenes [XmlIgnore] public uint AttachmentPoint; - + [XmlIgnore] - public PhysicsVector RotationAxis = new PhysicsVector(1f, 1f, 1f); + public Vector3 RotationAxis = Vector3.One; [XmlIgnore] public bool VolumeDetectActive; // XmlIgnore set to avoid problems with persistance until I come to care for this @@ -537,13 +537,13 @@ namespace OpenSim.Region.Framework.Scenes // Root prim actually goes at Position if (_parentID == 0) { - PhysActor.Position = new PhysicsVector(value.X, value.Y, value.Z); + PhysActor.Position = value; } else { // To move the child prim in respect to the group position and rotation we have to calculate Vector3 resultingposition = GetWorldPosition(); - PhysActor.Position = new PhysicsVector(resultingposition.X, resultingposition.Y, resultingposition.Z); + PhysActor.Position = resultingposition; Quaternion resultingrot = GetWorldRotation(); PhysActor.Orientation = resultingrot; } @@ -585,7 +585,7 @@ namespace OpenSim.Region.Framework.Scenes if (_parentID != 0 && PhysActor != null) { Vector3 resultingposition = GetWorldPosition(); - PhysActor.Position = new PhysicsVector(resultingposition.X, resultingposition.Y, resultingposition.Z); + PhysActor.Position = resultingposition; Quaternion resultingrot = GetWorldRotation(); PhysActor.Orientation = resultingrot; @@ -675,7 +675,7 @@ namespace OpenSim.Region.Framework.Scenes { if (PhysActor.IsPhysical) { - PhysActor.Velocity = new PhysicsVector(value.X, value.Y, value.Z); + PhysActor.Velocity = value; m_parentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(PhysActor); } } @@ -817,7 +817,7 @@ if (m_shape != null) { { if (m_parentGroup.Scene.PhysicsScene != null) { - PhysActor.Size = new PhysicsVector(m_shape.Scale.X, m_shape.Scale.Y, m_shape.Scale.Z); + PhysActor.Size = m_shape.Scale; m_parentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(PhysActor); } } @@ -1225,7 +1225,7 @@ if (m_shape != null) { /// true for the local frame, false for the global frame public void ApplyImpulse(Vector3 impulsei, bool localGlobalTF) { - PhysicsVector impulse = new PhysicsVector(impulsei.X, impulsei.Y, impulsei.Z); + Vector3 impulse = impulsei; if (localGlobalTF) { @@ -1233,7 +1233,7 @@ if (m_shape != null) { Quaternion AXgrot = grot; Vector3 AXimpulsei = impulsei; Vector3 newimpulse = AXimpulsei * AXgrot; - impulse = new PhysicsVector(newimpulse.X, newimpulse.Y, newimpulse.Z); + impulse = newimpulse; } if (m_parentGroup != null) @@ -1251,7 +1251,7 @@ if (m_shape != null) { /// true for the local frame, false for the global frame public void ApplyAngularImpulse(Vector3 impulsei, bool localGlobalTF) { - PhysicsVector impulse = new PhysicsVector(impulsei.X, impulsei.Y, impulsei.Z); + Vector3 impulse = impulsei; if (localGlobalTF) { @@ -1259,7 +1259,7 @@ if (m_shape != null) { Quaternion AXgrot = grot; Vector3 AXimpulsei = impulsei; Vector3 newimpulse = AXimpulsei * AXgrot; - impulse = new PhysicsVector(newimpulse.X, newimpulse.Y, newimpulse.Z); + impulse = newimpulse; } if (m_parentGroup != null) @@ -1277,7 +1277,7 @@ if (m_shape != null) { /// true for the local frame, false for the global frame public void SetAngularImpulse(Vector3 impulsei, bool localGlobalTF) { - PhysicsVector impulse = new PhysicsVector(impulsei.X, impulsei.Y, impulsei.Z); + Vector3 impulse = impulsei; if (localGlobalTF) { @@ -1285,7 +1285,7 @@ if (m_shape != null) { Quaternion AXgrot = grot; Vector3 AXimpulsei = impulsei; Vector3 newimpulse = AXimpulsei * AXgrot; - impulse = new PhysicsVector(newimpulse.X, newimpulse.Y, newimpulse.Z); + impulse = newimpulse; } if (m_parentGroup != null) @@ -1333,8 +1333,8 @@ if (m_shape != null) { PhysActor = m_parentGroup.Scene.PhysicsScene.AddPrimShape( Name, Shape, - new PhysicsVector(AbsolutePosition.X, AbsolutePosition.Y, AbsolutePosition.Z), - new PhysicsVector(Scale.X, Scale.Y, Scale.Z), + AbsolutePosition, + Scale, RotationOffset, RigidBody); @@ -1523,7 +1523,7 @@ if (m_shape != null) { PhysicsJoint joint; joint = m_parentGroup.Scene.PhysicsScene.RequestJointCreation(Name, jointType, - new PhysicsVector(AbsolutePosition.X, AbsolutePosition.Y, AbsolutePosition.Z), + AbsolutePosition, this.RotationOffset, Description, bodyNames, @@ -1708,12 +1708,12 @@ if (m_shape != null) { } } - public PhysicsVector GetForce() + public Vector3 GetForce() { if (PhysActor != null) return PhysActor.Force; else - return new PhysicsVector(); + return Vector3.Zero; } public void GetProperties(IClientAPI client) @@ -2078,7 +2078,7 @@ if (m_shape != null) { } } - public void PhysicsOutOfBounds(PhysicsVector pos) + public void PhysicsOutOfBounds(Vector3 pos) { m_log.Error("[PHYSICS]: Physical Object went out of bounds."); @@ -2564,7 +2564,7 @@ if (m_shape != null) { } } - public void SetForce(PhysicsVector force) + public void SetForce(Vector3 force) { if (PhysActor != null) { @@ -2588,7 +2588,7 @@ if (m_shape != null) { } } - public void SetVehicleVectorParam(int param, PhysicsVector value) + public void SetVehicleVectorParam(int param, Vector3 value) { if (PhysActor != null) { @@ -3430,8 +3430,8 @@ if (m_shape != null) { PhysActor = m_parentGroup.Scene.PhysicsScene.AddPrimShape( Name, Shape, - new PhysicsVector(AbsolutePosition.X, AbsolutePosition.Y, AbsolutePosition.Z), - new PhysicsVector(Scale.X, Scale.Y, Scale.Z), + AbsolutePosition, + Scale, RotationOffset, UsePhysics); diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 0ac5be0129..87fac0c5e7 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -434,7 +434,7 @@ namespace OpenSim.Region.Framework.Scenes { lock (m_scene.SyncRoot) { - m_physicsActor.Position = new PhysicsVector(value.X, value.Y, value.Z); + m_physicsActor.Position = value; } } catch (Exception e) @@ -474,7 +474,7 @@ namespace OpenSim.Region.Framework.Scenes { lock (m_scene.SyncRoot) { - m_physicsActor.Velocity = new PhysicsVector(value.X, value.Y, value.Z); + m_physicsActor.Velocity = value; } } catch (Exception e) @@ -1046,7 +1046,7 @@ namespace OpenSim.Region.Framework.Scenes m_avHeight = height; if (PhysicsActor != null && !IsChildAgent) { - PhysicsVector SetSize = new PhysicsVector(0.45f, 0.6f, m_avHeight); + Vector3 SetSize = new Vector3(0.45f, 0.6f, m_avHeight); PhysicsActor.Size = SetSize; } } @@ -3345,20 +3345,18 @@ namespace OpenSim.Region.Framework.Scenes PhysicsScene scene = m_scene.PhysicsScene; - PhysicsVector pVec = - new PhysicsVector(AbsolutePosition.X, AbsolutePosition.Y, - AbsolutePosition.Z); + Vector3 pVec = AbsolutePosition; // Old bug where the height was in centimeters instead of meters if (m_avHeight == 127.0f) { - m_physicsActor = scene.AddAvatar(Firstname + "." + Lastname, pVec, new PhysicsVector(0, 0, 1.56f), + m_physicsActor = scene.AddAvatar(Firstname + "." + Lastname, pVec, new Vector3(0f, 0f, 1.56f), isFlying); } else { m_physicsActor = scene.AddAvatar(Firstname + "." + Lastname, pVec, - new PhysicsVector(0, 0, m_avHeight), isFlying); + new Vector3(0f, 0f, m_avHeight), isFlying); } scene.AddPhysicsActorTaint(m_physicsActor); //m_physicsActor.OnRequestTerseUpdate += SendTerseUpdateToAllClients; @@ -3369,7 +3367,7 @@ namespace OpenSim.Region.Framework.Scenes } - private void OutOfBoundsCall(PhysicsVector pos) + private void OutOfBoundsCall(Vector3 pos) { //bool flying = m_physicsActor.Flying; //RemoveFromPhysicalScene(); @@ -3592,7 +3590,7 @@ namespace OpenSim.Region.Framework.Scenes */ } - internal void PushForce(PhysicsVector impulse) + internal void PushForce(Vector3 impulse) { if (PhysicsActor != null) { diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs index 292e345cbc..1f1ebaeb01 100644 --- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs +++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/SOPObject.cs @@ -525,8 +525,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule { get { - PhysicsVector tmp = GetSOP().PhysActor.GeometricCenter; - return new Vector3(tmp.X, tmp.Y, tmp.Z); + Vector3 tmp = GetSOP().PhysActor.GeometricCenter; + return tmp; } } @@ -534,8 +534,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule { get { - PhysicsVector tmp = GetSOP().PhysActor.CenterOfMass; - return new Vector3(tmp.X, tmp.Y, tmp.Z); + Vector3 tmp = GetSOP().PhysActor.CenterOfMass; + return tmp; } } @@ -543,15 +543,15 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule { get { - PhysicsVector tmp = GetSOP().PhysActor.RotationalVelocity; - return new Vector3(tmp.X, tmp.Y, tmp.Z); + Vector3 tmp = GetSOP().PhysActor.RotationalVelocity; + return tmp; } set { if (!CanEdit()) return; - GetSOP().PhysActor.RotationalVelocity = new PhysicsVector(value.X, value.Y, value.Z); + GetSOP().PhysActor.RotationalVelocity = value; } } @@ -559,15 +559,15 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule { get { - PhysicsVector tmp = GetSOP().PhysActor.Velocity; - return new Vector3(tmp.X, tmp.Y, tmp.Z); + Vector3 tmp = GetSOP().PhysActor.Velocity; + return tmp; } set { if (!CanEdit()) return; - GetSOP().PhysActor.Velocity = new PhysicsVector(value.X, value.Y, value.Z); + GetSOP().PhysActor.Velocity = value; } } @@ -575,15 +575,15 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule { get { - PhysicsVector tmp = GetSOP().PhysActor.Torque; - return new Vector3(tmp.X, tmp.Y, tmp.Z); + Vector3 tmp = GetSOP().PhysActor.Torque; + return tmp; } set { if (!CanEdit()) return; - GetSOP().PhysActor.Torque = new PhysicsVector(value.X, value.Y, value.Z); + GetSOP().PhysActor.Torque = value; } } @@ -591,8 +591,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule { get { - PhysicsVector tmp = GetSOP().PhysActor.Acceleration; - return new Vector3(tmp.X, tmp.Y, tmp.Z); + Vector3 tmp = GetSOP().PhysActor.Acceleration; + return tmp; } } @@ -600,15 +600,15 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule { get { - PhysicsVector tmp = GetSOP().PhysActor.Force; - return new Vector3(tmp.X, tmp.Y, tmp.Z); + Vector3 tmp = GetSOP().PhysActor.Force; + return tmp; } set { if (!CanEdit()) return; - GetSOP().PhysActor.Force = new PhysicsVector(value.X, value.Y, value.Z); + GetSOP().PhysActor.Force = value; } } @@ -627,7 +627,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule if (!CanEdit()) return; - GetSOP().PhysActor.AddForce(new PhysicsVector(force.X, force.Y, force.Z), pushforce); + GetSOP().PhysActor.AddForce(force, pushforce); } public void AddAngularForce(Vector3 force, bool pushforce) @@ -635,7 +635,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule if (!CanEdit()) return; - GetSOP().PhysActor.AddAngularForce(new PhysicsVector(force.X, force.Y, force.Z), pushforce); + GetSOP().PhysActor.AddAngularForce(force, pushforce); } public void SetMomentum(Vector3 momentum) @@ -643,7 +643,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule if (!CanEdit()) return; - GetSOP().PhysActor.SetMomentum(new PhysicsVector(momentum.X, momentum.Y, momentum.Z)); + GetSOP().PhysActor.SetMomentum(momentum); } #endregion diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs index 8d8b3fee7e..8df997eb40 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsActor.cs @@ -36,20 +36,16 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin { public class BasicActor : PhysicsActor { - private PhysicsVector _position; - private PhysicsVector _velocity; - private PhysicsVector _acceleration; - private PhysicsVector _size; - private PhysicsVector m_rotationalVelocity = PhysicsVector.Zero; + private Vector3 _position; + private Vector3 _velocity; + private Vector3 _acceleration; + private Vector3 _size; + private Vector3 m_rotationalVelocity; private bool flying; private bool iscolliding; public BasicActor() { - _velocity = new PhysicsVector(); - _position = new PhysicsVector(); - _acceleration = new PhysicsVector(); - _size = new PhysicsVector(); } public override int PhysicsActorType @@ -58,7 +54,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin set { return; } } - public override PhysicsVector RotationalVelocity + public override Vector3 RotationalVelocity { get { return m_rotationalVelocity; } set { m_rotationalVelocity = value; } @@ -137,13 +133,13 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin get { return false; } } - public override PhysicsVector Position + public override Vector3 Position { get { return _position; } set { _position = value; } } - public override PhysicsVector Size + public override Vector3 Size { get { return _size; } set { @@ -162,9 +158,9 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin get { return 0f; } } - public override PhysicsVector Force + public override Vector3 Force { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -179,7 +175,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin } - public override void VehicleVectorParam(int param, PhysicsVector value) + public override void VehicleVectorParam(int param, Vector3 value) { } @@ -194,25 +190,25 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin } - public override PhysicsVector CenterOfMass + public override Vector3 CenterOfMass { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector GeometricCenter + public override Vector3 GeometricCenter { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector Velocity + public override Vector3 Velocity { get { return _velocity; } set { _velocity = value; } } - public override PhysicsVector Torque + public override Vector3 Torque { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -228,7 +224,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin set { } } - public override PhysicsVector Acceleration + public override Vector3 Acceleration { get { return _acceleration; } } @@ -247,24 +243,24 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin { } - public override void LockAngularMotion(PhysicsVector axis) + public override void LockAngularMotion(Vector3 axis) { } - public void SetAcceleration(PhysicsVector accel) + public void SetAcceleration(Vector3 accel) { _acceleration = accel; } - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(Vector3 force, bool pushforce) { } - public override void AddAngularForce(PhysicsVector force, bool pushforce) + public override void AddAngularForce(Vector3 force, bool pushforce) { } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(Vector3 momentum) { } @@ -272,7 +268,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin { } - public override PhysicsVector PIDTarget + public override Vector3 PIDTarget { set { return; } } diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs index 66bd099e49..b6e1cb465c 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsScene.cs @@ -54,7 +54,7 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin { } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size, bool isFlying) + public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying) { BasicActor act = new BasicActor(); act.Position = position; @@ -77,20 +77,20 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin } /* - public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size, Quaternion rotation) + public override PhysicsActor AddPrim(Vector3 position, Vector3 size, Quaternion rotation) { return null; } */ - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, Quaternion rotation) + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation) { return AddPrimShape(primName, pbs, position, size, rotation, false); } - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, Quaternion rotation, bool isPhysical) + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation, bool isPhysical) { return null; } @@ -105,26 +105,28 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin for (int i = 0; i < _actors.Count; ++i) { BasicActor actor = _actors[i]; + Vector3 actorPosition = actor.Position; + Vector3 actorVelocity = actor.Velocity; - actor.Position.X += actor.Velocity.X*timeStep; - actor.Position.Y += actor.Velocity.Y*timeStep; + actorPosition.X += actor.Velocity.X*timeStep; + actorPosition.Y += actor.Velocity.Y*timeStep; if (actor.Position.Y < 0) { - actor.Position.Y = 0.1F; + actorPosition.Y = 0.1F; } else if (actor.Position.Y >= Constants.RegionSize) { - actor.Position.Y = ((int)Constants.RegionSize - 0.1f); + actorPosition.Y = ((int)Constants.RegionSize - 0.1f); } if (actor.Position.X < 0) { - actor.Position.X = 0.1F; + actorPosition.X = 0.1F; } else if (actor.Position.X >= Constants.RegionSize) { - actor.Position.X = ((int)Constants.RegionSize - 0.1f); + actorPosition.X = ((int)Constants.RegionSize - 0.1f); } float height = _heightMap[(int)actor.Position.Y * Constants.RegionSize + (int)actor.Position.X] + actor.Size.Z; @@ -133,23 +135,27 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin if (actor.Position.Z + (actor.Velocity.Z*timeStep) < _heightMap[(int)actor.Position.Y * Constants.RegionSize + (int)actor.Position.X] + 2) { - actor.Position.Z = height; - actor.Velocity.Z = 0; + actorPosition.Z = height; + actorVelocity.Z = 0; actor.IsColliding = true; } else { - actor.Position.Z += actor.Velocity.Z*timeStep; + actorPosition.Z += actor.Velocity.Z*timeStep; actor.IsColliding = false; } } else { - actor.Position.Z = height; - actor.Velocity.Z = 0; + actorPosition.Z = height; + actorVelocity.Z = 0; actor.IsColliding = true; } + + actor.Position = actorPosition; + actor.Velocity = actorVelocity; } + return fps; } diff --git a/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETCharacter.cs b/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETCharacter.cs index 8da9687f81..5ed3b144ac 100644 --- a/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETCharacter.cs +++ b/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETCharacter.cs @@ -60,15 +60,15 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin private btQuaternion m_bodyOrientation; private btDefaultMotionState m_bodyMotionState; private btGeneric6DofConstraint m_aMotor; - // private PhysicsVector m_movementComparision; - private PhysicsVector m_position; - private PhysicsVector m_zeroPosition; + // private Vector3 m_movementComparision; + private Vector3 m_position; + private Vector3 m_zeroPosition; private bool m_zeroFlag = false; private bool m_lastUpdateSent = false; - private PhysicsVector m_velocity; - private PhysicsVector m_target_velocity; - private PhysicsVector m_acceleration; - private PhysicsVector m_rotationalVelocity; + private Vector3 m_velocity; + private Vector3 m_target_velocity; + private Vector3 m_acceleration; + private Vector3 m_rotationalVelocity; private bool m_pidControllerActive = true; public float PID_D = 80.0f; public float PID_P = 90.0f; @@ -96,8 +96,8 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin private float m_tainted_CAPSULE_LENGTH; // set when the capsule length changes. private bool m_taintRemove = false; // private bool m_taintedPosition = false; - // private PhysicsVector m_taintedPosition_value; - private PhysicsVector m_taintedForce; + // private Vector3 m_taintedPosition_value; + private Vector3 m_taintedForce; private float m_buoyancy = 0f; @@ -115,14 +115,10 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin public int m_eventsubscription = 0; // private CollisionEventUpdate CollisionEventsThisFrame = new CollisionEventUpdate(); - public BulletDotNETCharacter(string avName, BulletDotNETScene parent_scene, PhysicsVector pos, PhysicsVector size, float pid_d, float pid_p, float capsule_radius, float tensor, float density, float height_fudge_factor, float walk_divisor, float rundivisor) + public BulletDotNETCharacter(string avName, BulletDotNETScene parent_scene, Vector3 pos, Vector3 size, float pid_d, float pid_p, float capsule_radius, float tensor, float density, float height_fudge_factor, float walk_divisor, float rundivisor) { - m_taintedForce = new PhysicsVector(); - m_velocity = new PhysicsVector(); - m_target_velocity = new PhysicsVector(); m_position = pos; - m_zeroPosition = new PhysicsVector(pos.X, pos.Y, pos.Z); // this is a class, not a struct. Must make new, or m_zeroPosition will == position regardless - m_acceleration = new PhysicsVector(); + m_zeroPosition = pos; m_parent_scene = parent_scene; PID_D = pid_d; PID_P = pid_p; @@ -161,9 +157,6 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin tempTrans1 = new btTransform(tempQuat1, tempVector1); // m_movementComparision = new PhysicsVector(0, 0, 0); m_CapsuleOrientationAxis = new btVector3(1, 0, 1); - - - } /// @@ -254,18 +247,18 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin get { return m_zeroFlag; } } - public override PhysicsVector Size + public override Vector3 Size { - get { return new PhysicsVector(CAPSULE_RADIUS * 2, CAPSULE_RADIUS * 2, CAPSULE_LENGTH); } + get { return new Vector3(CAPSULE_RADIUS * 2, CAPSULE_RADIUS * 2, CAPSULE_LENGTH); } set { m_pidControllerActive = true; - - PhysicsVector SetSize = value; + + Vector3 SetSize = value; m_tainted_CAPSULE_LENGTH = (SetSize.Z * 1.15f) - CAPSULE_RADIUS * 2.0f; //m_log.Info("[SIZE]: " + CAPSULE_LENGTH.ToString()); - Velocity = new PhysicsVector(0f, 0f, 0f); + Velocity = Vector3.Zero; m_parent_scene.AddPhysicsActorTaint(this); } @@ -317,12 +310,12 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } - public override void LockAngularMotion(PhysicsVector axis) + public override void LockAngularMotion(Vector3 axis) { } - public override PhysicsVector Position + public override Vector3 Position { get { return m_position; } set @@ -342,9 +335,9 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } } - public override PhysicsVector Force + public override Vector3 Force { - get { return new PhysicsVector(m_target_velocity.X, m_target_velocity.Y, m_target_velocity.Z); } + get { return m_target_velocity; } set { return; } } @@ -359,7 +352,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } - public override void VehicleVectorParam(int param, PhysicsVector value) + public override void VehicleVectorParam(int param, Vector3 value) { } @@ -374,23 +367,22 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } - public override PhysicsVector GeometricCenter + public override Vector3 GeometricCenter { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector CenterOfMass + public override Vector3 CenterOfMass { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector Velocity + public override Vector3 Velocity { get { - // There's a problem with PhysicsVector.Zero! Don't Use it Here! if (m_zeroFlag) - return new PhysicsVector(0f, 0f, 0f); + return Vector3.Zero; m_lastUpdateSent = false; return m_velocity; } @@ -401,9 +393,9 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } } - public override PhysicsVector Torque + public override Vector3 Torque { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -413,7 +405,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin set { } } - public override PhysicsVector Acceleration + public override Vector3 Acceleration { get { return m_acceleration; } } @@ -586,7 +578,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin set { return; } } - public override PhysicsVector RotationalVelocity + public override Vector3 RotationalVelocity { get { return m_rotationalVelocity; } set { m_rotationalVelocity = value; } @@ -604,7 +596,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin set { m_buoyancy = value; } } - public override PhysicsVector PIDTarget { set { return; } } + public override Vector3 PIDTarget { set { return; } } public override bool PIDActive { set { return; } } public override float PIDTau { set { return; } } @@ -634,7 +626,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin /// /// /// Is this a push by a script? - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(Vector3 force, bool pushforce) { if (pushforce) { @@ -656,7 +648,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin //m_lastUpdateSent = false; } - public void doForce(PhysicsVector force, bool now) + public void doForce(Vector3 force, bool now) { tempVector3.setValue(force.X, force.Y, force.Z); @@ -671,7 +663,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } } - public void doImpulse(PhysicsVector force, bool now) + public void doImpulse(Vector3 force, bool now) { tempVector3.setValue(force.X, force.Y, force.Z); @@ -686,12 +678,12 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } } - public override void AddAngularForce(PhysicsVector force, bool pushforce) + public override void AddAngularForce(Vector3 force, bool pushforce) { } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(Vector3 momentum) { } @@ -808,7 +800,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin AvatarGeomAndBodyCreation(m_position.X, m_position.Y, m_position.Z + (Math.Abs(CAPSULE_LENGTH - prevCapsule) * 2)); - Velocity = new PhysicsVector(0f, 0f, 0f); + Velocity = Vector3.Zero; } else @@ -852,9 +844,9 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } //PidStatus = true; - PhysicsVector vec = new PhysicsVector(); + Vector3 vec = Vector3.Zero; - PhysicsVector vel = new PhysicsVector(tempVector2.getX(), tempVector2.getY(), tempVector2.getZ()); + Vector3 vel = new Vector3(tempVector2.getX(), tempVector2.getY(), tempVector2.getZ()); float movementdivisor = 1f; @@ -885,7 +877,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin // Avatar to Avatar collisions // Prim to avatar collisions - PhysicsVector pos = new PhysicsVector(tempVector1.getX(), tempVector1.getY(), tempVector1.getZ()); + Vector3 pos = new Vector3(tempVector1.getX(), tempVector1.getY(), tempVector1.getZ()); vec.X = (m_target_velocity.X - vel.X) * (PID_D) + (m_zeroPosition.X - pos.X) * (PID_P * 2); vec.Y = (m_target_velocity.Y - vel.Y) * (PID_D) + (m_zeroPosition.Y - pos.Y) * (PID_P * 2); if (m_flying) @@ -927,7 +919,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin { // We're colliding with something and we're not flying but we're moving // This means we're walking or running. - PhysicsVector pos = new PhysicsVector(tempVector1.getX(), tempVector1.getY(), tempVector1.getZ()); + Vector3 pos = new Vector3(tempVector1.getX(), tempVector1.getY(), tempVector1.getZ()); vec.Z = (m_target_velocity.Z - vel.Z) * PID_D + (m_zeroPosition.Z - pos.Z) * PID_P; if (m_target_velocity.X > 0) { @@ -1016,7 +1008,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin tempVector2 = Body.getInterpolationLinearVelocity(); // no lock; called from Simulate() -- if you call this from elsewhere, gotta lock or do Monitor.Enter/Exit! - PhysicsVector vec = new PhysicsVector(tempVector1.getX(),tempVector1.getY(),tempVector1.getZ()); + Vector3 vec = new Vector3(tempVector1.getX(), tempVector1.getY(), tempVector1.getZ()); // kluge to keep things in bounds. ODE lets dead avatars drift away (they should be removed!) if (vec.X < -10.0f) vec.X = 0.0f; @@ -1048,7 +1040,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin else { m_lastUpdateSent = false; - vec = new PhysicsVector(tempVector2.getX(), tempVector2.getY(), tempVector2.getZ()); + vec = new Vector3(tempVector2.getX(), tempVector2.getY(), tempVector2.getZ()); m_velocity.X = (vec.X); m_velocity.Y = (vec.Y); diff --git a/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs b/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs index f22ea71d0e..5b542db867 100644 --- a/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs +++ b/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETPrim.cs @@ -43,44 +43,43 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private PhysicsVector _position; - private PhysicsVector m_zeroPosition; - private PhysicsVector _velocity; - private PhysicsVector _torque = new PhysicsVector(0, 0, 0); - private PhysicsVector m_lastVelocity = new PhysicsVector(0.0f, 0.0f, 0.0f); - private PhysicsVector m_lastposition = new PhysicsVector(0.0f, 0.0f, 0.0f); - private Quaternion m_lastorientation = new Quaternion(); - private PhysicsVector m_rotationalVelocity; - private PhysicsVector _size; - private PhysicsVector _acceleration; + private Vector3 _position; + private Vector3 m_zeroPosition; + private Vector3 _velocity; + private Vector3 _torque; + private Vector3 m_lastVelocity; + private Vector3 m_lastposition; + private Quaternion m_lastorientation = Quaternion.Identity; + private Vector3 m_rotationalVelocity; + private Vector3 _size; + private Vector3 _acceleration; // private d.Vector3 _zeroPosition = new d.Vector3(0.0f, 0.0f, 0.0f); private Quaternion _orientation; - private PhysicsVector m_taintposition; - private PhysicsVector m_taintsize; - private PhysicsVector m_taintVelocity = new PhysicsVector(0, 0, 0); - private PhysicsVector m_taintTorque = new PhysicsVector(0, 0, 0); + private Vector3 m_taintposition; + private Vector3 m_taintsize; + private Vector3 m_taintVelocity; + private Vector3 m_taintTorque; private Quaternion m_taintrot; - private PhysicsVector m_angularlock = new PhysicsVector(1f, 1f, 1f); - private PhysicsVector m_taintAngularLock = new PhysicsVector(1f, 1f, 1f); + private Vector3 m_angularlock = Vector3.One; + private Vector3 m_taintAngularLock = Vector3.One; // private btGeneric6DofConstraint Amotor; - private PhysicsVector m_PIDTarget = new PhysicsVector(0, 0, 0); - private float m_PIDTau = 0f; - private float m_PIDHoverHeight = 0f; - private float m_PIDHoverTau = 0f; - private bool m_useHoverPID = false; + private Vector3 m_PIDTarget; + private float m_PIDTau; + private float m_PIDHoverHeight; + private float m_PIDHoverTau; + private bool m_useHoverPID; private PIDHoverType m_PIDHoverType = PIDHoverType.Ground; - private float m_targetHoverHeight = 0f; - private float m_groundHeight = 0f; - private float m_waterHeight = 0f; + private float m_targetHoverHeight; + private float m_groundHeight; + private float m_waterHeight; private float PID_D = 35f; private float PID_G = 25f; // private float m_tensor = 5f; // private int body_autodisable_frames = 20; - private IMesh primMesh = null; - - private bool m_usePID = false; + private IMesh primMesh; + private bool m_usePID; private const CollisionCategories m_default_collisionFlags = (CollisionCategories.Geom | CollisionCategories.Space @@ -88,11 +87,11 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin | CollisionCategories.Character ); - private bool m_taintshape = false; - private bool m_taintPhysics = false; + private bool m_taintshape; + private bool m_taintPhysics; // private bool m_collidesLand = true; - private bool m_collidesWater = false; - public bool m_returnCollisions = false; + private bool m_collidesWater; + public bool m_returnCollisions; // Default we're a Geometry // private CollisionCategories m_collisionCategories = (CollisionCategories.Geom); @@ -100,23 +99,23 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin // Default, Collide with Other Geometries, spaces and Bodies // private CollisionCategories m_collisionFlags = m_default_collisionFlags; - public bool m_taintremove = false; - public bool m_taintdisable = false; - public bool m_disabled = false; - public bool m_taintadd = false; - public bool m_taintselected = false; - public bool m_taintCollidesWater = false; + public bool m_taintremove; + public bool m_taintdisable; + public bool m_disabled; + public bool m_taintadd; + public bool m_taintselected; + public bool m_taintCollidesWater; - public uint m_localID = 0; + public uint m_localID; //public GCHandle gc; // private CollisionLocker ode; - private bool m_taintforce = false; - private bool m_taintaddangularforce = false; - private PhysicsVector m_force = new PhysicsVector(0.0f, 0.0f, 0.0f); - private List m_forcelist = new List(); - private List m_angularforcelist = new List(); + private bool m_taintforce; + private bool m_taintaddangularforce; + private Vector3 m_force; + private List m_forcelist = new List(); + private List m_angularforcelist = new List(); private IMesh _mesh; private PrimitiveBaseShape _pbs; @@ -124,40 +123,40 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin public btCollisionShape prim_geom; public IntPtr _triMeshData; - private PhysicsActor _parent = null; - private PhysicsActor m_taintparent = null; + private PhysicsActor _parent; + private PhysicsActor m_taintparent; private List childrenPrim = new List(); - private bool iscolliding = false; - private bool m_isphysical = false; - private bool m_isSelected = false; + private bool iscolliding; + private bool m_isphysical; + private bool m_isSelected; - internal bool m_isVolumeDetect = false; // If true, this prim only detects collisions but doesn't collide actively + internal bool m_isVolumeDetect; // If true, this prim only detects collisions but doesn't collide actively - private bool m_throttleUpdates = false; - // private int throttleCounter = 0; - public int m_interpenetrationcount = 0; - public float m_collisionscore = 0; - public int m_roundsUnderMotionThreshold = 0; - private int m_crossingfailures = 0; + private bool m_throttleUpdates; + // private int throttleCounter; + public int m_interpenetrationcount; + public float m_collisionscore; + public int m_roundsUnderMotionThreshold; + private int m_crossingfailures; - public float m_buoyancy = 0f; + public float m_buoyancy; - public bool outofBounds = false; + public bool outofBounds; private float m_density = 10.000006836f; // Aluminum g/cm3; - public bool _zeroFlag = false; - private bool m_lastUpdateSent = false; + public bool _zeroFlag; + private bool m_lastUpdateSent; private String m_primName; - private PhysicsVector _target_velocity; + private Vector3 _target_velocity; - public int m_eventsubscription = 0; + public int m_eventsubscription; // private CollisionEventUpdate CollisionEventsThisFrame = null; - public volatile bool childPrim = false; + public volatile bool childPrim; private btVector3 tempPosition1; private btVector3 tempPosition2; @@ -190,7 +189,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin public btRigidBody Body; - public BulletDotNETPrim(String primName, BulletDotNETScene parent_scene, PhysicsVector pos, PhysicsVector size, + public BulletDotNETPrim(String primName, BulletDotNETScene parent_scene, Vector3 pos, Vector3 size, Quaternion rotation, IMesh mesh, PrimitiveBaseShape pbs, bool pisPhysical) { tempPosition1 = new btVector3(0, 0, 0); @@ -225,8 +224,8 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin AxisLockLinearHigh = new btVector3((int)Constants.RegionSize, (int)Constants.RegionSize, (int)Constants.RegionSize); - _target_velocity = new PhysicsVector(0, 0, 0); - _velocity = new PhysicsVector(); + _target_velocity = Vector3.Zero; + _velocity = Vector3.Zero; _position = pos; m_taintposition = pos; PID_D = parent_scene.bodyPIDD; @@ -244,8 +243,8 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin _size = size; m_taintsize = _size; - _acceleration = new PhysicsVector(); - m_rotationalVelocity = PhysicsVector.Zero; + _acceleration = Vector3.Zero; + m_rotationalVelocity = Vector3.Zero; _orientation = rotation; m_taintrot = _orientation; _mesh = mesh; @@ -274,7 +273,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin get { return _zeroFlag; } } - public override PhysicsVector Size + public override Vector3 Size { get { return _size; } set { _size = value; } @@ -348,13 +347,13 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin m_taintparent = null; } - public override void LockAngularMotion(PhysicsVector axis) + public override void LockAngularMotion(Vector3 axis) { m_log.DebugFormat("[axislock]: <{0},{1},{2}>", axis.X, axis.Y, axis.Z); - m_taintAngularLock = new PhysicsVector(axis.X, axis.Y, axis.Z); + m_taintAngularLock = axis; } - public override PhysicsVector Position + public override Vector3 Position { get { return _position; } @@ -370,9 +369,9 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin get { return CalculateMass(); } } - public override PhysicsVector Force + public override Vector3 Force { - //get { return PhysicsVector.Zero; } + //get { return Vector3.Zero; } get { return m_force; } set { m_force = value; } } @@ -388,7 +387,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin //TODO: } - public override void VehicleVectorParam(int param, PhysicsVector value) + public override void VehicleVectorParam(int param, Vector3 value) { //TODO: } @@ -405,23 +404,23 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } - public override PhysicsVector GeometricCenter + public override Vector3 GeometricCenter { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector CenterOfMass + public override Vector3 CenterOfMass { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector Velocity + public override Vector3 Velocity { get { // Averate previous velocity with the new one so // client object interpolation works a 'little' better - PhysicsVector returnVelocity = new PhysicsVector(); + Vector3 returnVelocity; returnVelocity.X = (m_lastVelocity.X + _velocity.X) / 2; returnVelocity.Y = (m_lastVelocity.Y + _velocity.Y) / 2; returnVelocity.Z = (m_lastVelocity.Z + _velocity.Z) / 2; @@ -436,12 +435,12 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } } - public override PhysicsVector Torque + public override Vector3 Torque { get { if (!m_isphysical || Body.Handle == IntPtr.Zero) - return new PhysicsVector(0, 0, 0); + return Vector3.Zero; return _torque; } @@ -459,7 +458,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin set { m_collisionscore = value; } } - public override PhysicsVector Acceleration + public override Vector3 Acceleration { get { return _acceleration; } } @@ -528,16 +527,16 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } } - public override PhysicsVector RotationalVelocity + public override Vector3 RotationalVelocity { get { - PhysicsVector pv = new PhysicsVector(0, 0, 0); + Vector3 pv = Vector3.Zero; if (_zeroFlag) return pv; m_lastUpdateSent = false; - if (m_rotationalVelocity.IsIdentical(pv, 0.2f)) + if (m_rotationalVelocity.ApproxEquals(pv, 0.2f)) return pv; return m_rotationalVelocity; @@ -557,7 +556,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin set { m_buoyancy = value; } } - public override PhysicsVector PIDTarget { set { m_PIDTarget = value; ; } } + public override Vector3 PIDTarget { set { m_PIDTarget = value; ; } } public override bool PIDActive { set { m_usePID = value; } } public override float PIDTau { set { m_PIDTau = value; } } @@ -567,20 +566,20 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin public override float PIDHoverTau { set { m_PIDHoverTau = value; } } - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(Vector3 force, bool pushforce) { m_forcelist.Add(force); m_taintforce = true; //m_log.Info("[PHYSICS]: Added Force:" + force.ToString() + " to prim at " + Position.ToString()); } - public override void AddAngularForce(PhysicsVector force, bool pushforce) + public override void AddAngularForce(Vector3 force, bool pushforce) { m_angularforcelist.Add(force); m_taintaddangularforce = true; } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(Vector3 momentum) { } @@ -778,7 +777,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } - if (!_position.IsIdentical(m_taintposition, 0f)) + if (!_position.ApproxEquals(m_taintposition, 0f)) { m_log.Debug("[PHYSICS]: TaintMove"); changemove(timestep); @@ -796,7 +795,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } // - if (!_size.IsIdentical(m_taintsize, 0)) + if (!_size.ApproxEquals(m_taintsize, 0f)) { m_log.Debug("[PHYSICS]: TaintSize"); changesize(timestep); @@ -820,7 +819,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin m_log.Debug("[PHYSICS]: TaintAngularForce"); changeAddAngularForce(timestep); } - if (!m_taintTorque.IsIdentical(PhysicsVector.Zero, 0.001f)) + if (!m_taintTorque.ApproxEquals(Vector3.Zero, 0.001f)) { m_log.Debug("[PHYSICS]: TaintTorque"); changeSetTorque(timestep); @@ -835,7 +834,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin m_log.Debug("[PHYSICS]: TaintSelected"); changeSelectedStatus(timestep); } - if (!m_taintVelocity.IsIdentical(PhysicsVector.Zero, 0.001f)) + if (!m_taintVelocity.ApproxEquals(Vector3.Zero, 0.001f)) { m_log.Debug("[PHYSICS]: TaintVelocity"); changevelocity(timestep); @@ -849,7 +848,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin { changefloatonwater(timestep); } - if (!m_angularlock.IsIdentical(m_taintAngularLock, 0)) + if (!m_angularlock.ApproxEquals(m_taintAngularLock, 0)) { m_log.Debug("[PHYSICS]: TaintAngularLock"); changeAngularLock(timestep); @@ -1012,7 +1011,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin { if (_parent_scene.needsMeshing(_pbs)) { - ProcessGeomCreationAsTriMesh(PhysicsVector.Zero, Quaternion.Identity); + ProcessGeomCreationAsTriMesh(Vector3.Zero, Quaternion.Identity); // createmesh returns null when it doesn't mesh. CreateGeom(IntPtr.Zero, _mesh); } @@ -1029,7 +1028,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin return _parent_scene.needsMeshing(_pbs); } - internal void ProcessGeomCreationAsTriMesh(PhysicsVector positionOffset, Quaternion orientation) + internal void ProcessGeomCreationAsTriMesh(Vector3 positionOffset, Quaternion orientation) { // Don't need to re-enable body.. it's done in SetMesh float meshlod = _parent_scene.meshSculptLOD; @@ -1038,7 +1037,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin meshlod = _parent_scene.MeshSculptphysicalLOD; IMesh mesh = _parent_scene.mesher.CreateMesh(SOPName, _pbs, _size, meshlod, IsPhysical); - if (!positionOffset.IsIdentical(PhysicsVector.Zero, 0.001f) || orientation != Quaternion.Identity) + if (!positionOffset.ApproxEquals(Vector3.Zero, 0.001f) || orientation != Quaternion.Identity) { float[] xyz = new float[3]; @@ -1202,7 +1201,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin //m_log.Info("[PHYSICS]: dequeing forcelist"); if (IsPhysical) { - PhysicsVector iforce = new PhysicsVector(); + Vector3 iforce = Vector3.Zero; for (int i = 0; i < m_forcelist.Count; i++) { iforce = iforce + m_forcelist[i]; @@ -1237,7 +1236,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin //m_log.Info("[PHYSICS]: dequeing forcelist"); if (IsPhysical) { - PhysicsVector iforce = new PhysicsVector(); + Vector3 iforce = Vector3.Zero; for (int i = 0; i < m_angularforcelist.Count; i++) { iforce = iforce + m_angularforcelist[i]; @@ -1276,7 +1275,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } } } - m_taintTorque = new PhysicsVector(0, 0, 0); + m_taintTorque = Vector3.Zero; } private void changedisable(float timestep) @@ -1317,7 +1316,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin //resetCollisionAccounting(); } - m_taintVelocity = PhysicsVector.Zero; + m_taintVelocity = Vector3.Zero; } private void changelink(float timestep) @@ -1361,7 +1360,9 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin if (m_taintparent != null) { - m_taintparent.Position.Z = m_taintparent.Position.Z + 0.02f; + Vector3 taintparentPosition = m_taintparent.Position; + taintparentPosition.Z = m_taintparent.Position.Z + 0.02f; + m_taintparent.Position = taintparentPosition; _parent_scene.AddPhysicsActorTaint(m_taintparent); } } @@ -1382,7 +1383,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin { if (_parent == null) { - if (!m_taintAngularLock.IsIdentical(new PhysicsVector(1f, 1f, 1f), 0)) + if (!m_taintAngularLock.ApproxEquals(Vector3.One, 0f)) { //d.BodySetFiniteRotationMode(Body, 0); //d.BodySetFiniteRotationAxis(Body,m_taintAngularLock.X,m_taintAngularLock.Y,m_taintAngularLock.Z); @@ -1395,7 +1396,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } } - m_angularlock = new PhysicsVector(m_taintAngularLock.X, m_taintAngularLock.Y, m_taintAngularLock.Z); + m_angularlock = m_taintAngularLock; } #endregion @@ -1460,17 +1461,17 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin // TODO: NEED btVector3 for Linear Velocity // NEED btVector3 for Position - PhysicsVector pos = new PhysicsVector(_position.X, _position.Y, _position.Z); //TODO: Insert values gotten from bullet - PhysicsVector vel = new PhysicsVector(_velocity.X, _velocity.Y, _velocity.Z); + Vector3 pos = _position; //TODO: Insert values gotten from bullet + Vector3 vel = _velocity; _target_velocity = - new PhysicsVector( + new Vector3( (m_PIDTarget.X - pos.X) * ((PID_G - m_PIDTau) * timestep), (m_PIDTarget.Y - pos.Y) * ((PID_G - m_PIDTau) * timestep), (m_PIDTarget.Z - pos.Z) * ((PID_G - m_PIDTau) * timestep) ); - if (_target_velocity.IsIdentical(PhysicsVector.Zero, 0.1f)) + if (_target_velocity.ApproxEquals(Vector3.Zero, 0.1f)) { /* TODO: Do Bullet equiv @@ -1512,8 +1513,8 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin { PID_G = m_PIDTau + 1; } - PhysicsVector pos = new PhysicsVector(0, 0, 0); //TODO: Insert values gotten from bullet - PhysicsVector vel = new PhysicsVector(0, 0, 0); + Vector3 pos = Vector3.Zero; //TODO: Insert values gotten from bullet + Vector3 vel = Vector3.Zero; // determine what our target height really is based on HoverType switch (m_PIDHoverType) @@ -1545,13 +1546,13 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin _target_velocity = - new PhysicsVector(0.0f, 0.0f, + new Vector3(0.0f, 0.0f, (m_targetHoverHeight - pos.Z) * ((PID_G - m_PIDHoverTau) * timestep) ); // if velocity is zero, use position control; otherwise, velocity control - if (_target_velocity.IsIdentical(PhysicsVector.Zero, 0.1f)) + if (_target_velocity.ApproxEquals(Vector3.Zero, 0.1f)) { /* TODO: Do Bullet Equiv @@ -1626,8 +1627,8 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin else { if (m_zeroPosition == null) - m_zeroPosition = new PhysicsVector(0, 0, 0); - m_zeroPosition.setValues(_position.X, _position.Y, _position.Z); + m_zeroPosition = Vector3.Zero; + m_zeroPosition = _position; return; } } @@ -2177,7 +2178,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin //if (hasTrimesh) //{ - ProcessGeomCreationAsTriMesh(PhysicsVector.Zero, Quaternion.Identity); + ProcessGeomCreationAsTriMesh(Vector3.Zero, Quaternion.Identity); // createmesh returns null when it doesn't mesh. /* @@ -2197,11 +2198,11 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin { if (chld == null) continue; - PhysicsVector offset = chld.Position - Position; + Vector3 offset = chld.Position - Position; Vector3 pos = new Vector3(offset.X, offset.Y, offset.Z); pos *= Quaternion.Inverse(Orientation); //pos *= Orientation; - offset.setValues(pos.X, pos.Y, pos.Z); + offset = pos; chld.ProcessGeomCreationAsTriMesh(offset, chld.Orientation); _mesh.Append(chld._mesh); @@ -2433,7 +2434,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin m_collisionscore = 0; m_disabled = false; // The body doesn't already have a finite rotation mode set here - if ((!m_angularlock.IsIdentical(PhysicsVector.Zero, 0)) && _parent == null) + if ((!m_angularlock.ApproxEquals(Vector3.Zero, 0f)) && _parent == null) { // TODO: Create Angular Motor on Axis Lock! } @@ -2447,7 +2448,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin { if (_parent == null) { - PhysicsVector pv = new PhysicsVector(0, 0, 0); + Vector3 pv = Vector3.Zero; bool lastZeroFlag = _zeroFlag; if (tempPosition3 != null && tempPosition3.Handle != IntPtr.Zero) tempPosition3.Dispose(); @@ -2471,10 +2472,10 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin tempAngularVelocity1 = Body.getInterpolationAngularVelocity(); //rotvel tempLinearVelocity1 = Body.getInterpolationLinearVelocity(); // vel - _torque.setValues(tempAngularVelocity1.getX(), tempAngularVelocity1.getX(), + _torque = new Vector3(tempAngularVelocity1.getX(), tempAngularVelocity1.getX(), tempAngularVelocity1.getZ()); - PhysicsVector l_position = new PhysicsVector(); - Quaternion l_orientation = new Quaternion(); + Vector3 l_position = Vector3.Zero; + Quaternion l_orientation = Quaternion.Identity; m_lastposition = _position; m_lastorientation = _orientation; @@ -2598,20 +2599,18 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin _velocity.Z = tempLinearVelocity1.getZ(); _acceleration = ((_velocity - m_lastVelocity) / 0.1f); - _acceleration = new PhysicsVector(_velocity.X - m_lastVelocity.X / 0.1f, + _acceleration = new Vector3(_velocity.X - m_lastVelocity.X / 0.1f, _velocity.Y - m_lastVelocity.Y / 0.1f, _velocity.Z - m_lastVelocity.Z / 0.1f); //m_log.Info("[PHYSICS]: V1: " + _velocity + " V2: " + m_lastVelocity + " Acceleration: " + _acceleration.ToString()); - if (_velocity.IsIdentical(pv, 0.5f)) + if (_velocity.ApproxEquals(pv, 0.5f)) { m_rotationalVelocity = pv; } else { - - m_rotationalVelocity.setValues(tempAngularVelocity1.getX(), tempAngularVelocity1.getY(), - tempAngularVelocity1.getZ()); + m_rotationalVelocity = new Vector3(tempAngularVelocity1.getX(), tempAngularVelocity1.getY(), tempAngularVelocity1.getZ()); } //m_log.Debug("ODE: " + m_rotationalVelocity.ToString()); @@ -2665,7 +2664,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin m_taintremove = true; } - internal void EnableAxisMotor(PhysicsVector axislock) + internal void EnableAxisMotor(Vector3 axislock) { if (m_aMotor != null) DisableAxisMotor(); diff --git a/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETScene.cs b/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETScene.cs index 18d4bab709..9e048ab69c 100644 --- a/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETScene.cs +++ b/OpenSim/Region/Physics/BulletDotNETPlugin/BulletDotNETScene.cs @@ -139,7 +139,7 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size, bool isFlying) + public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying) { BulletDotNETCharacter chr = new BulletDotNETCharacter(avName, this, position, size, avPIDD, avPIDP, avCapRadius, avStandupTensor, avDensity, @@ -177,14 +177,14 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin } } - private PhysicsActor AddPrim(String name, PhysicsVector position, PhysicsVector size, Quaternion rotation, + private PhysicsActor AddPrim(String name, Vector3 position, Vector3 size, Quaternion rotation, IMesh mesh, PrimitiveBaseShape pbs, bool isphysical) { - PhysicsVector pos = new PhysicsVector(position.X, position.Y, position.Z); + Vector3 pos = position; //pos.X = position.X; //pos.Y = position.Y; //pos.Z = position.Z; - PhysicsVector siz = new PhysicsVector(); + Vector3 siz = Vector3.Zero; siz.X = size.X; siz.Y = size.Y; siz.Z = size.Z; @@ -201,12 +201,12 @@ namespace OpenSim.Region.Physics.BulletDotNETPlugin return newPrim; } - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, PhysicsVector size, Quaternion rotation) + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, Vector3 size, Quaternion rotation) { return AddPrimShape(primName, pbs, position, size, rotation, false); } - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, PhysicsVector size, Quaternion rotation, bool isPhysical) + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, Vector3 size, Quaternion rotation, bool isPhysical) { PhysicsActor result; IMesh mesh = null; diff --git a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs index abed8df4f7..cbe73bbbe0 100644 --- a/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs +++ b/OpenSim/Region/Physics/BulletXPlugin/BulletXPlugin.cs @@ -52,14 +52,14 @@ namespace OpenSim.Region.Physics.BulletXPlugin //private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //Vector3 - public static Vector3 PhysicsVectorToXnaVector3(PhysicsVector physicsVector) + public static Vector3 PhysicsVectorToXnaVector3(OpenMetaverse.Vector3 physicsVector) { return new Vector3(physicsVector.X, physicsVector.Y, physicsVector.Z); } - public static PhysicsVector XnaVector3ToPhysicsVector(Vector3 xnaVector3) + public static OpenMetaverse.Vector3 XnaVector3ToPhysicsVector(Vector3 xnaVector3) { - return new PhysicsVector(xnaVector3.X, xnaVector3.Y, xnaVector3.Z); + return new OpenMetaverse.Vector3(xnaVector3.X, xnaVector3.Y, xnaVector3.Z); } //Quaternion @@ -349,7 +349,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin vertexBase = new Vector3[iVertexCount]; for (int i = 0; i < iVertexCount; i++) { - PhysicsVector v = mesh.getVertexList()[i]; + OpenMetaverse.Vector3 v = mesh.getVertexList()[i]; if (v != null) // Note, null has special meaning. See meshing code for details vertexBase[i] = BulletXMaths.PhysicsVectorToXnaVector3(v); else @@ -392,7 +392,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin private int preCheckCollision(BulletXActor actA, Vector3 vNormal, float fDist) { float fstartSide; - PhysicsVector v = actA.Position; + OpenMetaverse.Vector3 v = actA.Position; Vector3 v3 = BulletXMaths.PhysicsVectorToXnaVector3(v); fstartSide = Vector3.Dot(vNormal, v3) - fDist; @@ -404,7 +404,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin { Vector3 perPlaneNormal; float fPerPlaneDist; - PhysicsVector v = actA.Position; + OpenMetaverse.Vector3 v = actA.Position; Vector3 v3 = BulletXMaths.PhysicsVectorToXnaVector3(v); //check AB Vector3 v1; @@ -573,9 +573,9 @@ namespace OpenSim.Region.Physics.BulletXPlugin } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size, bool isFlying) + public override PhysicsActor AddAvatar(string avName, OpenMetaverse.Vector3 position, OpenMetaverse.Vector3 size, bool isFlying) { - PhysicsVector pos = new PhysicsVector(); + OpenMetaverse.Vector3 pos = OpenMetaverse.Vector3.Zero; pos.X = position.X; pos.Y = position.Y; pos.Z = position.Z + 20; @@ -611,14 +611,14 @@ namespace OpenSim.Region.Physics.BulletXPlugin } } - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, OpenMetaverse.Quaternion rotation) + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, OpenMetaverse.Vector3 position, + OpenMetaverse.Vector3 size, OpenMetaverse.Quaternion rotation) { return AddPrimShape(primName, pbs, position, size, rotation, false); } - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, OpenMetaverse.Quaternion rotation, bool isPhysical) + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, OpenMetaverse.Vector3 position, + OpenMetaverse.Vector3 size, OpenMetaverse.Quaternion rotation, bool isPhysical) { PhysicsActor result; @@ -645,7 +645,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin return result; } - public PhysicsActor AddPrim(String name, PhysicsVector position, PhysicsVector size, OpenMetaverse.Quaternion rotation, + public PhysicsActor AddPrim(String name, OpenMetaverse.Vector3 position, OpenMetaverse.Vector3 size, OpenMetaverse.Quaternion rotation, IMesh mesh, PrimitiveBaseShape pbs, bool isPhysical) { BulletXPrim newPrim = null; @@ -879,12 +879,12 @@ namespace OpenSim.Region.Physics.BulletXPlugin { protected bool flying = false; protected bool _physical = false; - protected PhysicsVector _position; - protected PhysicsVector _velocity; - protected PhysicsVector _size; - protected PhysicsVector _acceleration; + protected OpenMetaverse.Vector3 _position; + protected OpenMetaverse.Vector3 _velocity; + protected OpenMetaverse.Vector3 _size; + protected OpenMetaverse.Vector3 _acceleration; protected OpenMetaverse.Quaternion _orientation; - protected PhysicsVector m_rotationalVelocity = PhysicsVector.Zero; + protected OpenMetaverse.Vector3 m_rotationalVelocity; protected RigidBody rigidBody; protected int m_PhysicsActorType; private Boolean iscolliding = false; @@ -900,7 +900,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin get { return false; } } - public override PhysicsVector Position + public override OpenMetaverse.Vector3 Position { get { return _position; } set @@ -913,13 +913,13 @@ namespace OpenSim.Region.Physics.BulletXPlugin } } - public override PhysicsVector RotationalVelocity + public override OpenMetaverse.Vector3 RotationalVelocity { get { return m_rotationalVelocity; } set { m_rotationalVelocity = value; } } - public override PhysicsVector Velocity + public override OpenMetaverse.Vector3 Velocity { get { return _velocity; } set @@ -934,7 +934,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin } else { - _velocity = new PhysicsVector(); + _velocity = OpenMetaverse.Vector3.Zero; } } } @@ -944,7 +944,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin get { return 0f; } set { } } - public override PhysicsVector Size + public override OpenMetaverse.Vector3 Size { get { return _size; } set @@ -956,9 +956,9 @@ namespace OpenSim.Region.Physics.BulletXPlugin } } - public override PhysicsVector Force + public override OpenMetaverse.Vector3 Force { - get { return PhysicsVector.Zero; } + get { return OpenMetaverse.Vector3.Zero; } set { return; } } @@ -973,7 +973,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin } - public override void VehicleVectorParam(int param, PhysicsVector value) + public override void VehicleVectorParam(int param, OpenMetaverse.Vector3 value) { } @@ -988,14 +988,14 @@ namespace OpenSim.Region.Physics.BulletXPlugin } - public override PhysicsVector CenterOfMass + public override OpenMetaverse.Vector3 CenterOfMass { - get { return PhysicsVector.Zero; } + get { return OpenMetaverse.Vector3.Zero; } } - public override PhysicsVector GeometricCenter + public override OpenMetaverse.Vector3 GeometricCenter { - get { return PhysicsVector.Zero; } + get { return OpenMetaverse.Vector3.Zero; } } public override PrimitiveBaseShape Shape @@ -1009,7 +1009,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin set { return; } } - public override PhysicsVector Acceleration + public override OpenMetaverse.Vector3 Acceleration { get { return _acceleration; } } @@ -1036,7 +1036,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin } - public override void LockAngularMotion(PhysicsVector axis) + public override void LockAngularMotion(OpenMetaverse.Vector3 axis) { } @@ -1129,7 +1129,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin set { return; } } - public virtual void SetAcceleration(PhysicsVector accel) + public virtual void SetAcceleration(OpenMetaverse.Vector3 accel) { lock (BulletXScene.BulletXLock) { @@ -1143,19 +1143,19 @@ namespace OpenSim.Region.Physics.BulletXPlugin set { } } - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(OpenMetaverse.Vector3 force, bool pushforce) { } - public override PhysicsVector Torque + public override OpenMetaverse.Vector3 Torque { - get { return PhysicsVector.Zero; } + get { return OpenMetaverse.Vector3.Zero; } set { return; } } - public override void AddAngularForce(PhysicsVector force, bool pushforce) + public override void AddAngularForce(OpenMetaverse.Vector3 force, bool pushforce) { } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(OpenMetaverse.Vector3 momentum) { } @@ -1174,7 +1174,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin Translate(_position); } - protected internal void Translate(PhysicsVector _newPos) + protected internal void Translate(OpenMetaverse.Vector3 _newPos) { Vector3 _translation; _translation = BulletXMaths.PhysicsVectorToXnaVector3(_newPos) - rigidBody.CenterOfMassPosition; @@ -1186,7 +1186,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin Speed(_velocity); } - protected internal void Speed(PhysicsVector _newSpeed) + protected internal void Speed(OpenMetaverse.Vector3 _newSpeed) { Vector3 _speed; _speed = BulletXMaths.PhysicsVectorToXnaVector3(_newSpeed); @@ -1212,7 +1212,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin ReSize(_size); } - protected internal virtual void ReSize(PhysicsVector _newSize) + protected internal virtual void ReSize(OpenMetaverse.Vector3 _newSize) { } @@ -1227,7 +1227,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin { } - public override PhysicsVector PIDTarget { set { return; } } + public override OpenMetaverse.Vector3 PIDTarget { set { return; } } public override bool PIDActive { set { return; } } public override float PIDTau { set { return; } } @@ -1256,19 +1256,19 @@ namespace OpenSim.Region.Physics.BulletXPlugin ///
public class BulletXCharacter : BulletXActor { - public BulletXCharacter(BulletXScene parent_scene, PhysicsVector pos) + public BulletXCharacter(BulletXScene parent_scene, OpenMetaverse.Vector3 pos) : this(String.Empty, parent_scene, pos) { } - public BulletXCharacter(String avName, BulletXScene parent_scene, PhysicsVector pos) - : this(avName, parent_scene, pos, new PhysicsVector(), new PhysicsVector(), new PhysicsVector(), + public BulletXCharacter(String avName, BulletXScene parent_scene, OpenMetaverse.Vector3 pos) + : this(avName, parent_scene, pos, OpenMetaverse.Vector3.Zero, OpenMetaverse.Vector3.Zero, OpenMetaverse.Vector3.Zero, OpenMetaverse.Quaternion.Identity) { } - public BulletXCharacter(String avName, BulletXScene parent_scene, PhysicsVector pos, PhysicsVector velocity, - PhysicsVector size, PhysicsVector acceleration, OpenMetaverse.Quaternion orientation) + public BulletXCharacter(String avName, BulletXScene parent_scene, OpenMetaverse.Vector3 pos, OpenMetaverse.Vector3 velocity, + OpenMetaverse.Vector3 size, OpenMetaverse.Vector3 acceleration, OpenMetaverse.Quaternion orientation) : base(avName) { //This fields will be removed. They're temporal @@ -1323,25 +1323,25 @@ namespace OpenSim.Region.Physics.BulletXPlugin set { return; } } - public override PhysicsVector Position + public override OpenMetaverse.Vector3 Position { get { return base.Position; } set { base.Position = value; } } - public override PhysicsVector Velocity + public override OpenMetaverse.Vector3 Velocity { get { return base.Velocity; } set { base.Velocity = value; } } - public override PhysicsVector Size + public override OpenMetaverse.Vector3 Size { get { return base.Size; } set { base.Size = value; } } - public override PhysicsVector Acceleration + public override OpenMetaverse.Vector3 Acceleration { get { return base.Acceleration; } } @@ -1370,17 +1370,17 @@ namespace OpenSim.Region.Physics.BulletXPlugin set { base.Kinematic = value; } } - public override void SetAcceleration(PhysicsVector accel) + public override void SetAcceleration(OpenMetaverse.Vector3 accel) { base.SetAcceleration(accel); } - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(OpenMetaverse.Vector3 force, bool pushforce) { base.AddForce(force, pushforce); } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(OpenMetaverse.Vector3 momentum) { base.SetMomentum(momentum); } @@ -1430,7 +1430,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin m.Translation = v3; rigidBody.WorldTransform = m; //When an Avie touch the ground it's vertical velocity it's reduced to ZERO - Speed(new PhysicsVector(rigidBody.LinearVelocity.X, rigidBody.LinearVelocity.Y, 0.0f)); + Speed(new OpenMetaverse.Vector3(rigidBody.LinearVelocity.X, rigidBody.LinearVelocity.Y, 0.0f)); } } @@ -1452,7 +1452,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin //For now all prims have the same density, all prims are made of water. Be water my friend! :D private const float _density = 1000.0f; private BulletXScene _parent_scene; - private PhysicsVector m_prev_position = new PhysicsVector(0, 0, 0); + private OpenMetaverse.Vector3 m_prev_position; private bool m_lastUpdateSent = false; //added by jed zhu private IMesh _mesh; @@ -1460,17 +1460,17 @@ namespace OpenSim.Region.Physics.BulletXPlugin - public BulletXPrim(String primName, BulletXScene parent_scene, PhysicsVector pos, PhysicsVector size, + public BulletXPrim(String primName, BulletXScene parent_scene, OpenMetaverse.Vector3 pos, OpenMetaverse.Vector3 size, OpenMetaverse.Quaternion rotation, IMesh mesh, PrimitiveBaseShape pbs, bool isPhysical) : this( - primName, parent_scene, pos, new PhysicsVector(), size, new PhysicsVector(), rotation, mesh, pbs, + primName, parent_scene, pos, OpenMetaverse.Vector3.Zero, size, OpenMetaverse.Vector3.Zero, rotation, mesh, pbs, isPhysical) { } - public BulletXPrim(String primName, BulletXScene parent_scene, PhysicsVector pos, PhysicsVector velocity, - PhysicsVector size, - PhysicsVector acceleration, OpenMetaverse.Quaternion rotation, IMesh mesh, PrimitiveBaseShape pbs, + public BulletXPrim(String primName, BulletXScene parent_scene, OpenMetaverse.Vector3 pos, OpenMetaverse.Vector3 velocity, + OpenMetaverse.Vector3 size, + OpenMetaverse.Vector3 acceleration, OpenMetaverse.Quaternion rotation, IMesh mesh, PrimitiveBaseShape pbs, bool isPhysical) : base(primName) { @@ -1481,7 +1481,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin _position = pos; _physical = isPhysical; - _velocity = _physical ? velocity : new PhysicsVector(); + _velocity = _physical ? velocity : OpenMetaverse.Vector3.Zero; _size = size; _acceleration = acceleration; _orientation = rotation; @@ -1497,19 +1497,19 @@ namespace OpenSim.Region.Physics.BulletXPlugin set { return; } } - public override PhysicsVector Position + public override OpenMetaverse.Vector3 Position { get { return base.Position; } set { base.Position = value; } } - public override PhysicsVector Velocity + public override OpenMetaverse.Vector3 Velocity { get { return base.Velocity; } set { base.Velocity = value; } } - public override PhysicsVector Size + public override OpenMetaverse.Vector3 Size { get { return _size; } set @@ -1522,7 +1522,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin } } - public override PhysicsVector Acceleration + public override OpenMetaverse.Vector3 Acceleration { get { return base.Acceleration; } } @@ -1583,7 +1583,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin set { base.Kinematic = value; } } - public override void SetAcceleration(PhysicsVector accel) + public override void SetAcceleration(OpenMetaverse.Vector3 accel) { lock (BulletXScene.BulletXLock) { @@ -1591,12 +1591,12 @@ namespace OpenSim.Region.Physics.BulletXPlugin } } - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(OpenMetaverse.Vector3 force, bool pushforce) { base.AddForce(force,pushforce); } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(OpenMetaverse.Vector3 momentum) { base.SetMomentum(momentum); } @@ -1613,7 +1613,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin //When a Prim touch the ground it's vertical velocity it's reduced to ZERO //Static objects don't have linear velocity if (_physical) - Speed(new PhysicsVector(rigidBody.LinearVelocity.X, rigidBody.LinearVelocity.Y, 0.0f)); + Speed(new OpenMetaverse.Vector3(rigidBody.LinearVelocity.X, rigidBody.LinearVelocity.Y, 0.0f)); } } @@ -1632,7 +1632,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin { if (!m_lastUpdateSent) { - _velocity = new PhysicsVector(0, 0, 0); + _velocity = OpenMetaverse.Vector3.Zero; base.ScheduleTerseUpdate(); m_lastUpdateSent = true; } @@ -1654,8 +1654,8 @@ namespace OpenSim.Region.Physics.BulletXPlugin #region Methods for updating values of RigidBody - protected internal void CreateRigidBody(BulletXScene parent_scene, IMesh mesh, PhysicsVector pos, - PhysicsVector size) + protected internal void CreateRigidBody(BulletXScene parent_scene, IMesh mesh, OpenMetaverse.Vector3 pos, + OpenMetaverse.Vector3 size) { //For RigidBody Constructor. The next values might change float _linearDamping = 0.0f; @@ -1683,7 +1683,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin Vector3[] v3Vertices = new Vector3[iVertexCount]; for (int i = 0; i < iVertexCount; i++) { - PhysicsVector v = mesh.getVertexList()[i]; + OpenMetaverse.Vector3 v = mesh.getVertexList()[i]; if (v != null) // Note, null has special meaning. See meshing code for details v3Vertices[i] = BulletXMaths.PhysicsVectorToXnaVector3(v); else @@ -1709,7 +1709,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin } } - protected internal void ReCreateRigidBody(PhysicsVector size) + protected internal void ReCreateRigidBody(OpenMetaverse.Vector3 size) { //There is a bug when trying to remove a rigidBody that is colliding with something.. try @@ -1729,7 +1729,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin GC.Collect(); } - protected internal override void ReSize(PhysicsVector _newSize) + protected internal override void ReSize(OpenMetaverse.Vector3 _newSize) { //I wonder to know how to resize with a simple instruction in BulletX. It seems that for now there isn't //so i have to do it manually. That's recreating rigidbody @@ -1744,8 +1744,8 @@ namespace OpenSim.Region.Physics.BulletXPlugin ///
internal class BulletXPlanet { - private PhysicsVector _staticPosition; -// private PhysicsVector _staticVelocity; + private OpenMetaverse.Vector3 _staticPosition; +// private Vector3 _staticVelocity; // private OpenMetaverse.Quaternion _staticOrientation; private float _mass; // private BulletXScene _parentscene; @@ -1759,7 +1759,7 @@ namespace OpenSim.Region.Physics.BulletXPlugin internal BulletXPlanet(BulletXScene parent_scene, float[] heightField) { - _staticPosition = new PhysicsVector(BulletXScene.MaxXY/2, BulletXScene.MaxXY/2, 0); + _staticPosition = new OpenMetaverse.Vector3(BulletXScene.MaxXY / 2, BulletXScene.MaxXY / 2, 0); // _staticVelocity = new PhysicsVector(); // _staticOrientation = OpenMetaverse.Quaternion.Identity; _mass = 0; //No active diff --git a/OpenSim/Region/Physics/Manager/IMesher.cs b/OpenSim/Region/Physics/Manager/IMesher.cs index 1a8c948d8a..1181b8ddd8 100644 --- a/OpenSim/Region/Physics/Manager/IMesher.cs +++ b/OpenSim/Region/Physics/Manager/IMesher.cs @@ -28,13 +28,14 @@ using System; using System.Collections.Generic; using OpenSim.Framework; +using OpenMetaverse; namespace OpenSim.Region.Physics.Manager { public interface IMesher { - IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod); - IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod, bool isPhysical); + IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod); + IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical); } public interface IVertex @@ -43,7 +44,7 @@ namespace OpenSim.Region.Physics.Manager public interface IMesh { - List getVertexList(); + List getVertexList(); int[] getIndexListAsInt(); int[] getIndexListAsIntLocked(); float[] getVertexListAsFloatLocked(); diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs index 760313143c..6bfdff2807 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs @@ -32,8 +32,8 @@ using OpenMetaverse; namespace OpenSim.Region.Physics.Manager { - public delegate void PositionUpdate(PhysicsVector position); - public delegate void VelocityUpdate(PhysicsVector velocity); + public delegate void PositionUpdate(Vector3 position); + public delegate void VelocityUpdate(Vector3 velocity); public delegate void OrientationUpdate(Quaternion orientation); public enum ActorTypes : int @@ -106,7 +106,7 @@ namespace OpenSim.Region.Physics.Manager { public delegate void RequestTerseUpdate(); public delegate void CollisionUpdate(EventArgs e); - public delegate void OutOfBounds(PhysicsVector pos); + public delegate void OutOfBounds(Vector3 pos); // disable warning: public events #pragma warning disable 67 @@ -125,7 +125,7 @@ namespace OpenSim.Region.Physics.Manager public abstract bool Stopped { get; } - public abstract PhysicsVector Size { get; set; } + public abstract Vector3 Size { get; set; } public abstract PrimitiveBaseShape Shape { set; } @@ -144,7 +144,7 @@ namespace OpenSim.Region.Physics.Manager public abstract void delink(); - public abstract void LockAngularMotion(PhysicsVector axis); + public abstract void LockAngularMotion(Vector3 axis); public virtual void RequestPhysicsterseUpdate() { @@ -159,7 +159,7 @@ namespace OpenSim.Region.Physics.Manager } } - public virtual void RaiseOutOfBounds(PhysicsVector pos) + public virtual void RaiseOutOfBounds(Vector3 pos) { // Make a temporary copy of the event to avoid possibility of // a race condition if the last subscriber unsubscribes @@ -187,23 +187,23 @@ namespace OpenSim.Region.Physics.Manager } - public abstract PhysicsVector Position { get; set; } + public abstract Vector3 Position { get; set; } public abstract float Mass { get; } - public abstract PhysicsVector Force { get; set; } + public abstract Vector3 Force { get; set; } public abstract int VehicleType { get; set; } public abstract void VehicleFloatParam(int param, float value); - public abstract void VehicleVectorParam(int param, PhysicsVector value); + public abstract void VehicleVectorParam(int param, Vector3 value); public abstract void VehicleRotationParam(int param, Quaternion rotation); public abstract void SetVolumeDetect(int param); // Allows the detection of collisions with inherently non-physical prims. see llVolumeDetect for more - public abstract PhysicsVector GeometricCenter { get; } - public abstract PhysicsVector CenterOfMass { get; } - public abstract PhysicsVector Velocity { get; set; } - public abstract PhysicsVector Torque { get; set; } + public abstract Vector3 GeometricCenter { get; } + public abstract Vector3 CenterOfMass { get; } + public abstract Vector3 Velocity { get; set; } + public abstract Vector3 Torque { get; set; } public abstract float CollisionScore { get; set;} - public abstract PhysicsVector Acceleration { get; } + public abstract Vector3 Acceleration { get; } public abstract Quaternion Orientation { get; set; } public abstract int PhysicsActorType { get; set; } public abstract bool IsPhysical { get; set; } @@ -214,12 +214,12 @@ namespace OpenSim.Region.Physics.Manager public abstract bool CollidingGround { get; set; } public abstract bool CollidingObj { get; set; } public abstract bool FloatOnWater { set; } - public abstract PhysicsVector RotationalVelocity { get; set; } + public abstract Vector3 RotationalVelocity { get; set; } public abstract bool Kinematic { get; set; } public abstract float Buoyancy { get; set; } // Used for MoveTo - public abstract PhysicsVector PIDTarget { set;} + public abstract Vector3 PIDTarget { set; } public abstract bool PIDActive { set;} public abstract float PIDTau { set; } @@ -231,9 +231,9 @@ namespace OpenSim.Region.Physics.Manager public abstract float PIDHoverTau { set;} - public abstract void AddForce(PhysicsVector force, bool pushforce); - public abstract void AddAngularForce(PhysicsVector force, bool pushforce); - public abstract void SetMomentum(PhysicsVector momentum); + public abstract void AddForce(Vector3 force, bool pushforce); + public abstract void AddAngularForce(Vector3 force, bool pushforce); + public abstract void SetMomentum(Vector3 momentum); public abstract void SubscribeEvents(int ms); public abstract void UnSubscribeEvents(); public abstract bool SubscribedEvents(); @@ -246,9 +246,9 @@ namespace OpenSim.Region.Physics.Manager get{ return false; } } - public override PhysicsVector Position + public override Vector3 Position { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -296,9 +296,9 @@ namespace OpenSim.Region.Physics.Manager set { return; } } - public override PhysicsVector Size + public override Vector3 Size { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -307,9 +307,9 @@ namespace OpenSim.Region.Physics.Manager get { return 0f; } } - public override PhysicsVector Force + public override Vector3 Force { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -324,7 +324,7 @@ namespace OpenSim.Region.Physics.Manager } - public override void VehicleVectorParam(int param, PhysicsVector value) + public override void VehicleVectorParam(int param, Vector3 value) { } @@ -344,14 +344,14 @@ namespace OpenSim.Region.Physics.Manager } - public override PhysicsVector CenterOfMass + public override Vector3 CenterOfMass { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector GeometricCenter + public override Vector3 GeometricCenter { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } public override PrimitiveBaseShape Shape @@ -359,15 +359,15 @@ namespace OpenSim.Region.Physics.Manager set { return; } } - public override PhysicsVector Velocity + public override Vector3 Velocity { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } - public override PhysicsVector Torque + public override Vector3 Torque { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -387,9 +387,9 @@ namespace OpenSim.Region.Physics.Manager set { } } - public override PhysicsVector Acceleration + public override Vector3 Acceleration { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } public override bool IsPhysical @@ -436,26 +436,26 @@ namespace OpenSim.Region.Physics.Manager { } - public override void LockAngularMotion(PhysicsVector axis) + public override void LockAngularMotion(Vector3 axis) { } - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(Vector3 force, bool pushforce) { } - public override void AddAngularForce(PhysicsVector force, bool pushforce) + public override void AddAngularForce(Vector3 force, bool pushforce) { } - public override PhysicsVector RotationalVelocity + public override Vector3 RotationalVelocity { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } - public override PhysicsVector PIDTarget { set { return; } } + public override Vector3 PIDTarget { set { return; } } public override bool PIDActive { set { return; } } public override float PIDTau { set { return; } } @@ -464,7 +464,7 @@ namespace OpenSim.Region.Physics.Manager public override PIDHoverType PIDHoverType { set { return; } } public override float PIDHoverTau { set { return; } } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(Vector3 momentum) { } diff --git a/OpenSim/Region/Physics/Manager/PhysicsJoint.cs b/OpenSim/Region/Physics/Manager/PhysicsJoint.cs index f46359760a..b685d04d19 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsJoint.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsJoint.cs @@ -44,7 +44,7 @@ namespace OpenSim.Region.Physics.Manager public PhysicsJointType Type; public string RawParams; public List BodyNames = new List(); - public PhysicsVector Position; // global coords + public Vector3 Position; // global coords public Quaternion Rotation; // global coords public string ObjectNameInScene; // proxy object in scene that represents the joint position/orientation public string TrackedBodyName; // body name that this joint is attached to (ObjectNameInScene will follow TrackedBodyName) diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs index 6dd26bb663..bb0d18e647 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs @@ -64,23 +64,23 @@ namespace OpenSim.Region.Physics.Manager public abstract void Initialise(IMesher meshmerizer, IConfigSource config); - public abstract PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size, bool isFlying); + public abstract PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying); public abstract void RemoveAvatar(PhysicsActor actor); public abstract void RemovePrim(PhysicsActor prim); - public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, Quaternion rotation); //To be removed - public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, Quaternion rotation, bool isPhysical); + public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation); //To be removed + public abstract PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation, bool isPhysical); public virtual bool SupportsNINJAJoints { get { return false; } } - public virtual PhysicsJoint RequestJointCreation(string objectNameInScene, PhysicsJointType jointType, PhysicsVector position, + public virtual PhysicsJoint RequestJointCreation(string objectNameInScene, PhysicsJointType jointType, Vector3 position, Quaternion rotation, string parms, List bodyNames, string trackedBodyName, Quaternion localRotation) { return null; } @@ -129,11 +129,11 @@ namespace OpenSim.Region.Physics.Manager } } - public virtual PhysicsVector GetJointAnchor(PhysicsJoint joint) - { return null; } + public virtual Vector3 GetJointAnchor(PhysicsJoint joint) + { return Vector3.Zero; } - public virtual PhysicsVector GetJointAxis(PhysicsJoint joint) - { return null; } + public virtual Vector3 GetJointAxis(PhysicsJoint joint) + { return Vector3.Zero; } public abstract void AddPhysicsActorTaint(PhysicsActor prim); @@ -212,7 +212,7 @@ namespace OpenSim.Region.Physics.Manager // Does nothing right now } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size, bool isFlying) + public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying) { m_log.InfoFormat("[PHYSICS]: NullPhysicsScene : AddAvatar({0})", position); return PhysicsActor.Null; @@ -231,21 +231,21 @@ namespace OpenSim.Region.Physics.Manager } /* - public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size, Quaternion rotation) + public override PhysicsActor AddPrim(Vector3 position, Vector3 size, Quaternion rotation) { m_log.InfoFormat("NullPhysicsScene : AddPrim({0},{1})", position, size); return PhysicsActor.Null; } */ - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, Quaternion rotation) //To be removed + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation) //To be removed { return AddPrimShape(primName, pbs, position, size, rotation, false); } - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, Quaternion rotation, bool isPhysical) + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation, bool isPhysical) { m_log.InfoFormat("[PHYSICS]: NullPhysicsScene : AddPrim({0},{1})", position, size); return PhysicsActor.Null; diff --git a/OpenSim/Region/Physics/Manager/PhysicsSensor.cs b/OpenSim/Region/Physics/Manager/PhysicsSensor.cs index 090ad52393..f480d7170a 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsSensor.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsSensor.cs @@ -27,6 +27,7 @@ using System; using System.Timers; +using OpenMetaverse; namespace OpenSim.Region.Physics.Manager { @@ -46,7 +47,7 @@ namespace OpenSim.Region.Physics.Manager { get { return new NullPhysicsSensor(); } } - public abstract PhysicsVector Position {get; set;} + public abstract Vector3 Position { get; set; } public abstract void TimerCallback (object obj, ElapsedEventArgs eea); public abstract float radianarc {get; set;} public abstract string targetname {get; set;} @@ -58,9 +59,9 @@ namespace OpenSim.Region.Physics.Manager public class NullPhysicsSensor : PhysicsSensor { - public override PhysicsVector Position + public override Vector3 Position { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } public override void TimerCallback(object obj, ElapsedEventArgs eea) diff --git a/OpenSim/Region/Physics/Manager/PhysicsVector.cs b/OpenSim/Region/Physics/Manager/PhysicsVector.cs index d6f4d0d226..f60a63638a 100644 --- a/OpenSim/Region/Physics/Manager/PhysicsVector.cs +++ b/OpenSim/Region/Physics/Manager/PhysicsVector.cs @@ -29,24 +29,24 @@ using System; namespace OpenSim.Region.Physics.Manager { - public class PhysicsVector + /*public class PhysicsVector { public float X; public float Y; public float Z; - public PhysicsVector() + public Vector3() { } - public PhysicsVector(float x, float y, float z) + public Vector3(float x, float y, float z) { X = x; Y = y; Z = z; } - public PhysicsVector(PhysicsVector pv) : this(pv.X, pv.Y, pv.Z) + public Vector3(Vector3 pv) : this(pv.X, pv.Y, pv.Z) { } @@ -115,17 +115,17 @@ namespace OpenSim.Region.Physics.Manager } // Operations - public static PhysicsVector operator +(PhysicsVector a, PhysicsVector b) + public static PhysicsVector operator +(Vector3 a, Vector3 b) { return new PhysicsVector(a.X + b.X, a.Y + b.Y, a.Z + b.Z); } - public static PhysicsVector operator -(PhysicsVector a, PhysicsVector b) + public static PhysicsVector operator -(Vector3 a, Vector3 b) { return new PhysicsVector(a.X - b.X, a.Y - b.Y, a.Z - b.Z); } - public static PhysicsVector cross(PhysicsVector a, PhysicsVector b) + public static PhysicsVector cross(Vector3 a, Vector3 b) { return new PhysicsVector(a.Y*b.Z - a.Z*b.Y, a.Z*b.X - a.X*b.Z, a.X*b.Y - a.Y*b.X); } @@ -135,7 +135,7 @@ namespace OpenSim.Region.Physics.Manager return (float) Math.Sqrt(X*X + Y*Y + Z*Z); } - public static float GetDistanceTo(PhysicsVector a, PhysicsVector b) + public static float GetDistanceTo(Vector3 a, Vector3 b) { float dx = a.X - b.X; float dy = a.Y - b.Y; @@ -143,22 +143,22 @@ namespace OpenSim.Region.Physics.Manager return (float) Math.Sqrt(dx * dx + dy * dy + dz * dz); } - public static PhysicsVector operator /(PhysicsVector v, float f) + public static PhysicsVector operator /(Vector3 v, float f) { return new PhysicsVector(v.X/f, v.Y/f, v.Z/f); } - public static PhysicsVector operator *(PhysicsVector v, float f) + public static PhysicsVector operator *(Vector3 v, float f) { return new PhysicsVector(v.X*f, v.Y*f, v.Z*f); } - public static PhysicsVector operator *(float f, PhysicsVector v) + public static PhysicsVector operator *(float f, Vector3 v) { return v*f; } - public static bool isFinite(PhysicsVector v) + public static bool isFinite(Vector3 v) { if (v == null) return false; @@ -172,7 +172,7 @@ namespace OpenSim.Region.Physics.Manager return true; } - public virtual bool IsIdentical(PhysicsVector v, float tolerance) + public virtual bool IsIdentical(Vector3 v, float tolerance) { PhysicsVector diff = this - v; float d = diff.length(); @@ -182,5 +182,5 @@ namespace OpenSim.Region.Physics.Manager return false; } - } + }*/ } diff --git a/OpenSim/Region/Physics/Manager/ZeroMesher.cs b/OpenSim/Region/Physics/Manager/ZeroMesher.cs index 81eeed2ef9..e6e75f964b 100644 --- a/OpenSim/Region/Physics/Manager/ZeroMesher.cs +++ b/OpenSim/Region/Physics/Manager/ZeroMesher.cs @@ -27,6 +27,7 @@ using System; using OpenSim.Framework; +using OpenMetaverse; /* * This is the zero mesher. @@ -60,12 +61,12 @@ namespace OpenSim.Region.Physics.Manager public class ZeroMesher : IMesher { - public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod) + public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod) { return CreateMesh(primName, primShape, size, lod, false); } - public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod, bool isPhysical) + public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical) { // Remove the reference to the encoded JPEG2000 data so it can be GCed primShape.SculptData = OpenMetaverse.Utils.EmptyBytes; diff --git a/OpenSim/Region/Physics/Meshing/HelperTypes.cs b/OpenSim/Region/Physics/Meshing/HelperTypes.cs index 232245fce3..8cd8dcf6ff 100644 --- a/OpenSim/Region/Physics/Meshing/HelperTypes.cs +++ b/OpenSim/Region/Physics/Meshing/HelperTypes.cs @@ -33,30 +33,52 @@ using OpenMetaverse; using OpenSim.Region.Physics.Manager; using OpenSim.Region.Physics.Meshing; -public class Vertex : PhysicsVector, IComparable +public class Vertex : IComparable { - public Vertex(float x, float y, float z) - : base(x, y, z) + Vector3 vector; + + public float X { + get { return vector.X; } + set { vector.X = value; } + } + + public float Y + { + get { return vector.Y; } + set { vector.Y = value; } + } + + public float Z + { + get { return vector.Z; } + set { vector.Z = value; } + } + + public Vertex(float x, float y, float z) + { + vector.X = x; + vector.Y = y; + vector.Z = z; } public Vertex normalize() { - float tlength = length(); - if (tlength != 0) + float tlength = vector.Length(); + if (tlength != 0f) { float mul = 1.0f / tlength; - return new Vertex(X * mul, Y * mul, Z * mul); + return new Vertex(vector.X * mul, vector.Y * mul, vector.Z * mul); } else { - return new Vertex(0, 0, 0); + return new Vertex(0f, 0f, 0f); } } public Vertex cross(Vertex v) { - return new Vertex(Y * v.Z - Z * v.Y, Z * v.X - X * v.Z, X * v.Y - Y * v.X); + return new Vertex(vector.Y * v.Z - vector.Z * v.Y, vector.Z * v.X - vector.X * v.Z, vector.X * v.Y - vector.Y * v.X); } // disable warning: mono compiler moans about overloading @@ -160,9 +182,9 @@ public class Vertex : PhysicsVector, IComparable return X * v.X + Y * v.Y + Z * v.Z; } - public Vertex(PhysicsVector v) - : base(v.X, v.Y, v.Z) + public Vertex(Vector3 v) { + vector = v; } public Vertex Clone() @@ -175,11 +197,15 @@ public class Vertex : PhysicsVector, IComparable return new Vertex((float) Math.Cos(angle), (float) Math.Sin(angle), 0.0f); } + public float Length() + { + return vector.Length(); + } public virtual bool Equals(Vertex v, float tolerance) { - PhysicsVector diff = this - v; - float d = diff.length(); + Vertex diff = this - v; + float d = diff.Length(); if (d < tolerance) return true; @@ -369,22 +395,22 @@ public class Triangle return s1 + ";" + s2 + ";" + s3; } - public PhysicsVector getNormal() + public Vector3 getNormal() { // Vertices // Vectors for edges - PhysicsVector e1; - PhysicsVector e2; + Vector3 e1; + Vector3 e2; - e1 = new PhysicsVector(v1.X - v2.X, v1.Y - v2.Y, v1.Z - v2.Z); - e2 = new PhysicsVector(v1.X - v3.X, v1.Y - v3.Y, v1.Z - v3.Z); + e1 = new Vector3(v1.X - v2.X, v1.Y - v2.Y, v1.Z - v2.Z); + e2 = new Vector3(v1.X - v3.X, v1.Y - v3.Y, v1.Z - v3.Z); // Cross product for normal - PhysicsVector n = PhysicsVector.cross(e1, e2); + Vector3 n = Vector3.Cross(e1, e2); // Length - float l = n.length(); + float l = n.Length(); // Normalized "normal" n = n/l; diff --git a/OpenSim/Region/Physics/Meshing/Mesh.cs b/OpenSim/Region/Physics/Meshing/Mesh.cs index e8a3e19081..f781ff9bd0 100644 --- a/OpenSim/Region/Physics/Meshing/Mesh.cs +++ b/OpenSim/Region/Physics/Meshing/Mesh.cs @@ -31,6 +31,7 @@ using System.IO; using System.Runtime.InteropServices; using OpenSim.Region.Physics.Manager; using PrimMesher; +using OpenMetaverse; namespace OpenSim.Region.Physics.Meshing { @@ -141,12 +142,12 @@ namespace OpenSim.Region.Physics.Meshing } } - public List getVertexList() + public List getVertexList() { - List result = new List(); + List result = new List(); foreach (Vertex v in m_vertices.Keys) { - result.Add(v); + result.Add(new Vector3(v.X, v.Y, v.Z)); } return result; } diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs index 01093e2fd6..a90a89a615 100644 --- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs +++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs @@ -61,7 +61,6 @@ namespace OpenSim.Region.Physics.Meshing public class Meshmerizer : IMesher { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - //private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); // Setting baseDir to a path will enable the dumping of raw files // raw files can be imported by blender so a visual inspection of the results can be done @@ -160,7 +159,7 @@ namespace OpenSim.Region.Physics.Meshing float minZ = float.MaxValue; float maxZ = float.MinValue; - foreach (Vertex v in meshIn.getVertexList()) + foreach (Vector3 v in meshIn.getVertexList()) { if (v != null) { @@ -185,7 +184,7 @@ namespace OpenSim.Region.Physics.Meshing } - private ulong GetMeshKey(PrimitiveBaseShape pbs, PhysicsVector size, float lod) + private ulong GetMeshKey(PrimitiveBaseShape pbs, Vector3 size, float lod) { ulong hash = 5381; @@ -245,9 +244,9 @@ namespace OpenSim.Region.Physics.Meshing hash = ((hash << 5) + hash) + (ulong)((byte)c); return ((hash << 5) + hash) + (ulong)(c >> 8); } - - private Mesh CreateMeshFromPrimMesher(string primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod) + + private Mesh CreateMeshFromPrimMesher(string primName, PrimitiveBaseShape primShape, Vector3 size, float lod) { PrimMesh primMesh; PrimMesher.SculptMesh sculptMesh; @@ -289,9 +288,6 @@ namespace OpenSim.Region.Physics.Meshing ManagedImage managedImage; // we never use this OpenJPEG.DecodeToImage(primShape.SculptData, out managedImage, out idata); - // Remove the reference to the encoded JPEG2000 data so it can be GCed - primShape.SculptData = Utils.EmptyBytes; - if (cacheSculptMaps) { try { idata.Save(decodedSculptFileName, ImageFormat.MemoryBmp); } @@ -315,8 +311,6 @@ namespace OpenSim.Region.Physics.Meshing } } - - PrimMesher.SculptMesh.SculptType sculptType; switch ((OpenMetaverse.SculptType)primShape.SculptType) { @@ -351,7 +345,6 @@ namespace OpenSim.Region.Physics.Meshing coords = sculptMesh.coords; faces = sculptMesh.faces; } - else { float pathShearX = primShape.PathShearX < 128 ? (float)primShape.PathShearX * 0.01f : (float)(primShape.PathShearX - 256) * 0.01f; @@ -466,6 +459,8 @@ namespace OpenSim.Region.Physics.Meshing faces = primMesh.faces; } + // Remove the reference to any JPEG2000 sculpt data so it can be GCed + primShape.SculptData = Utils.EmptyBytes; int numCoords = coords.Count; int numFaces = faces.Count; @@ -488,12 +483,12 @@ namespace OpenSim.Region.Physics.Meshing return mesh; } - public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod) + public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod) { return CreateMesh(primName, primShape, size, lod, false); } - public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, PhysicsVector size, float lod, bool isPhysical) + public IMesh CreateMesh(String primName, PrimitiveBaseShape primShape, Vector3 size, float lod, bool isPhysical) { Mesh mesh = null; ulong key = 0; diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index 71ace163d7..c86bc62b92 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs @@ -68,15 +68,15 @@ namespace OpenSim.Region.Physics.OdePlugin { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private PhysicsVector _position; + private Vector3 _position; private d.Vector3 _zeroPosition; // private d.Matrix3 m_StandUpRotation; private bool _zeroFlag = false; private bool m_lastUpdateSent = false; - private PhysicsVector _velocity; - private PhysicsVector _target_velocity; - private PhysicsVector _acceleration; - private PhysicsVector m_rotationalVelocity; + private Vector3 _velocity; + private Vector3 _target_velocity; + private Vector3 _acceleration; + private Vector3 m_rotationalVelocity; private float m_mass = 80f; public float m_density = 60f; private bool m_pidControllerActive = true; @@ -99,7 +99,7 @@ namespace OpenSim.Region.Physics.OdePlugin private bool m_hackSentFall = false; private bool m_hackSentFly = false; private int m_requestedUpdateFrequency = 0; - private PhysicsVector m_taintPosition = new PhysicsVector(0, 0, 0); + private Vector3 m_taintPosition = Vector3.Zero; public uint m_localID = 0; public bool m_returnCollisions = false; // taints and their non-tainted counterparts @@ -143,22 +143,17 @@ namespace OpenSim.Region.Physics.OdePlugin public UUID m_uuid; public bool bad = false; - public OdeCharacter(String avName, OdeScene parent_scene, PhysicsVector pos, CollisionLocker dode, PhysicsVector size, float pid_d, float pid_p, float capsule_radius, float tensor, float density, float height_fudge_factor, float walk_divisor, float rundivisor) + public OdeCharacter(String avName, OdeScene parent_scene, Vector3 pos, CollisionLocker dode, Vector3 size, float pid_d, float pid_p, float capsule_radius, float tensor, float density, float height_fudge_factor, float walk_divisor, float rundivisor) { m_uuid = UUID.Random(); - // ode = dode; - _velocity = new PhysicsVector(); - _target_velocity = new PhysicsVector(); - - - if (PhysicsVector.isFinite(pos)) + if (pos.IsFinite()) { - if (pos.Z > 9999999) + if (pos.Z > 9999999f) { pos.Z = parent_scene.GetTerrainHeightAtXY(127, 127) + 5; } - if (pos.Z < -90000) + if (pos.Z < -90000f) { pos.Z = parent_scene.GetTerrainHeightAtXY(127, 127) + 5; } @@ -169,15 +164,13 @@ namespace OpenSim.Region.Physics.OdePlugin } else { - _position = new PhysicsVector(((int)_parent_scene.WorldExtents.X * 0.5f), ((int)_parent_scene.WorldExtents.Y * 0.5f), parent_scene.GetTerrainHeightAtXY(128, 128) + 10); + _position = new Vector3(((float)_parent_scene.WorldExtents.X * 0.5f), ((float)_parent_scene.WorldExtents.Y * 0.5f), parent_scene.GetTerrainHeightAtXY(128f, 128f) + 10f); m_taintPosition.X = _position.X; m_taintPosition.Y = _position.Y; m_taintPosition.Z = _position.Z; m_log.Warn("[PHYSICS]: Got NaN Position on Character Create"); } - - _acceleration = new PhysicsVector(); _parent_scene = parent_scene; PID_D = pid_d; @@ -189,7 +182,6 @@ namespace OpenSim.Region.Physics.OdePlugin walkDivisor = walk_divisor; runDivisor = rundivisor; - // m_StandUpRotation = // new d.Matrix3(0.5f, 0.7071068f, 0.5f, -0.7071068f, 0f, 0.7071068f, 0.5f, -0.7071068f, // 0.5f); @@ -205,7 +197,6 @@ namespace OpenSim.Region.Physics.OdePlugin m_isPhysical = false; // current status: no ODE information exists m_tainted_isPhysical = true; // new tainted status: need to create ODE information - _parent_scene.AddPhysicsActorTaint(this); m_name = avName; @@ -412,20 +403,20 @@ namespace OpenSim.Region.Physics.OdePlugin /// Not really a good choice unless you 'know' it's a good /// spot otherwise you're likely to orbit the avatar. ///
- public override PhysicsVector Position + public override Vector3 Position { get { return _position; } set { if (Body == IntPtr.Zero || Shell == IntPtr.Zero) { - if (PhysicsVector.isFinite(value)) + if (value.IsFinite()) { - if (value.Z > 9999999) + if (value.Z > 9999999f) { value.Z = _parent_scene.GetTerrainHeightAtXY(127, 127) + 5; } - if (value.Z < -90000) + if (value.Z < -90000f) { value.Z = _parent_scene.GetTerrainHeightAtXY(127, 127) + 5; } @@ -447,7 +438,7 @@ namespace OpenSim.Region.Physics.OdePlugin } } - public override PhysicsVector RotationalVelocity + public override Vector3 RotationalVelocity { get { return m_rotationalVelocity; } set { m_rotationalVelocity = value; } @@ -457,20 +448,20 @@ namespace OpenSim.Region.Physics.OdePlugin /// This property sets the height of the avatar only. We use the height to make sure the avatar stands up straight /// and use it to offset landings properly /// - public override PhysicsVector Size + public override Vector3 Size { - get { return new PhysicsVector(CAPSULE_RADIUS*2, CAPSULE_RADIUS*2, CAPSULE_LENGTH); } + get { return new Vector3(CAPSULE_RADIUS * 2, CAPSULE_RADIUS * 2, CAPSULE_LENGTH); } set { - if (PhysicsVector.isFinite(value)) + if (value.IsFinite()) { m_pidControllerActive = true; - PhysicsVector SetSize = value; + Vector3 SetSize = value; m_tainted_CAPSULE_LENGTH = (SetSize.Z*1.15f) - CAPSULE_RADIUS*2.0f; //m_log.Info("[SIZE]: " + CAPSULE_LENGTH.ToString()); - Velocity = new PhysicsVector(0f, 0f, 0f); + Velocity = Vector3.Zero; _parent_scene.AddPhysicsActorTaint(this); } @@ -481,7 +472,7 @@ namespace OpenSim.Region.Physics.OdePlugin } } - private void AlignAvatarTiltWithCurrentDirectionOfMovement(PhysicsVector movementVector) + private void AlignAvatarTiltWithCurrentDirectionOfMovement(Vector3 movementVector) { movementVector.Z = 0f; float magnitude = (float)Math.Sqrt((double)(movementVector.X * movementVector.X + movementVector.Y * movementVector.Y)); @@ -643,7 +634,7 @@ namespace OpenSim.Region.Physics.OdePlugin // (with -0..0 motor stops) falls into the terrain for reasons yet // to be comprehended in their entirety. #endregion - AlignAvatarTiltWithCurrentDirectionOfMovement(new PhysicsVector(0,0,0)); + AlignAvatarTiltWithCurrentDirectionOfMovement(Vector3.Zero); d.JointSetAMotorParam(Amotor, (int)dParam.LowStop, 0.08f); d.JointSetAMotorParam(Amotor, (int)dParam.LoStop3, -0f); d.JointSetAMotorParam(Amotor, (int)dParam.LoStop2, 0.08f); @@ -688,7 +679,7 @@ namespace OpenSim.Region.Physics.OdePlugin } - public override void LockAngularMotion(PhysicsVector axis) + public override void LockAngularMotion(Vector3 axis) { } @@ -716,9 +707,9 @@ namespace OpenSim.Region.Physics.OdePlugin // //m_log.Info("[PHYSICSAV]: Rotation: " + bodyrotation.M00 + " : " + bodyrotation.M01 + " : " + bodyrotation.M02 + " : " + bodyrotation.M10 + " : " + bodyrotation.M11 + " : " + bodyrotation.M12 + " : " + bodyrotation.M20 + " : " + bodyrotation.M21 + " : " + bodyrotation.M22); // } - public override PhysicsVector Force + public override Vector3 Force { - get { return new PhysicsVector(_target_velocity.X, _target_velocity.Y, _target_velocity.Z); } + get { return _target_velocity; } set { return; } } @@ -733,7 +724,7 @@ namespace OpenSim.Region.Physics.OdePlugin } - public override void VehicleVectorParam(int param, PhysicsVector value) + public override void VehicleVectorParam(int param, Vector3 value) { } @@ -748,14 +739,14 @@ namespace OpenSim.Region.Physics.OdePlugin } - public override PhysicsVector CenterOfMass + public override Vector3 CenterOfMass { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector GeometricCenter + public override Vector3 GeometricCenter { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } public override PrimitiveBaseShape Shape @@ -763,18 +754,18 @@ namespace OpenSim.Region.Physics.OdePlugin set { return; } } - public override PhysicsVector Velocity + public override Vector3 Velocity { get { - // There's a problem with PhysicsVector.Zero! Don't Use it Here! + // There's a problem with Vector3.Zero! Don't Use it Here! if (_zeroFlag) - return new PhysicsVector(0f, 0f, 0f); + return Vector3.Zero; m_lastUpdateSent = false; return _velocity; } set { - if (PhysicsVector.isFinite(value)) + if (value.IsFinite()) { m_pidControllerActive = true; _target_velocity = value; @@ -786,9 +777,9 @@ namespace OpenSim.Region.Physics.OdePlugin } } - public override PhysicsVector Torque + public override Vector3 Torque { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -814,12 +805,12 @@ namespace OpenSim.Region.Physics.OdePlugin } } - public override PhysicsVector Acceleration + public override Vector3 Acceleration { get { return _acceleration; } } - public void SetAcceleration(PhysicsVector accel) + public void SetAcceleration(Vector3 accel) { m_pidControllerActive = true; _acceleration = accel; @@ -830,9 +821,9 @@ namespace OpenSim.Region.Physics.OdePlugin /// The PID controller takes this target velocity and tries to make it a reality /// /// - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(Vector3 force, bool pushforce) { - if (PhysicsVector.isFinite(force)) + if (force.IsFinite()) { if (pushforce) { @@ -861,7 +852,7 @@ namespace OpenSim.Region.Physics.OdePlugin //m_lastUpdateSent = false; } - public override void AddAngularForce(PhysicsVector force, bool pushforce) + public override void AddAngularForce(Vector3 force, bool pushforce) { } @@ -870,7 +861,7 @@ namespace OpenSim.Region.Physics.OdePlugin /// After all of the forces add up with 'add force' we apply them with doForce /// /// - public void doForce(PhysicsVector force) + public void doForce(Vector3 force) { if (!collidelock) { @@ -881,7 +872,7 @@ namespace OpenSim.Region.Physics.OdePlugin } } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(Vector3 momentum) { } @@ -908,9 +899,9 @@ namespace OpenSim.Region.Physics.OdePlugin //PidStatus = true; d.Vector3 localpos = d.BodyGetPosition(Body); - PhysicsVector localPos = new PhysicsVector(localpos.X, localpos.Y, localpos.Z); + Vector3 localPos = new Vector3(localpos.X, localpos.Y, localpos.Z); - if (!PhysicsVector.isFinite(localPos)) + if (!localPos.IsFinite()) { m_log.Warn("[PHYSICS]: Avatar Position is non-finite!"); @@ -946,7 +937,7 @@ namespace OpenSim.Region.Physics.OdePlugin return; } - PhysicsVector vec = new PhysicsVector(); + Vector3 vec = Vector3.Zero; d.Vector3 vel = d.BodyGetLinearVel(Body); float movementdivisor = 1f; @@ -1059,12 +1050,12 @@ namespace OpenSim.Region.Physics.OdePlugin } // end add Kitto Flora } - if (PhysicsVector.isFinite(vec)) + if (vec.IsFinite()) { doForce(vec); if (!_zeroFlag) { - AlignAvatarTiltWithCurrentDirectionOfMovement(new PhysicsVector(vec.X, vec.Y, vec.Z)); + AlignAvatarTiltWithCurrentDirectionOfMovement(vec); } } else @@ -1197,7 +1188,7 @@ namespace OpenSim.Region.Physics.OdePlugin { } - public override PhysicsVector PIDTarget { set { return; } } + public override Vector3 PIDTarget { set { return; } } public override bool PIDActive { set { return; } } public override float PIDTau { set { return; } } @@ -1311,7 +1302,7 @@ namespace OpenSim.Region.Physics.OdePlugin d.GeomDestroy(Shell); AvatarGeomAndBodyCreation(_position.X, _position.Y, _position.Z + (Math.Abs(CAPSULE_LENGTH - prevCapsule) * 2), m_tensor); - Velocity = new PhysicsVector(0f, 0f, 0f); + Velocity = Vector3.Zero; _parent_scene.geom_name_map[Shell] = m_name; _parent_scene.actor_name_map[Shell] = (PhysicsActor)this; @@ -1325,7 +1316,7 @@ namespace OpenSim.Region.Physics.OdePlugin } } - if (!m_taintPosition.IsIdentical(_position, 0.05f)) + if (!m_taintPosition.ApproxEquals(_position, 0.05f)) { if (Body != IntPtr.Zero) { diff --git a/OpenSim/Region/Physics/OdePlugin/ODEDynamics.cs b/OpenSim/Region/Physics/OdePlugin/ODEDynamics.cs index 019c78bd1a..4a802cd1bd 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEDynamics.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEDynamics.cs @@ -232,7 +232,7 @@ namespace OpenSim.Region.Physics.OdePlugin }//end ProcessFloatVehicleParam - internal void ProcessVectorVehicleParam(Vehicle pParam, PhysicsVector pValue) + internal void ProcessVectorVehicleParam(Vehicle pParam, Vector3 pValue) { switch (pParam) { diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 09c8582a67..5ff9d32bc1 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs @@ -57,44 +57,43 @@ namespace OpenSim.Region.Physics.OdePlugin { private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private PhysicsVector _position; - private PhysicsVector _velocity; - private PhysicsVector _torque = new PhysicsVector(0,0,0); - private PhysicsVector m_lastVelocity = new PhysicsVector(0.0f, 0.0f, 0.0f); - private PhysicsVector m_lastposition = new PhysicsVector(0.0f, 0.0f, 0.0f); + private Vector3 _position; + private Vector3 _velocity; + private Vector3 _torque; + private Vector3 m_lastVelocity; + private Vector3 m_lastposition; private Quaternion m_lastorientation = new Quaternion(); - private PhysicsVector m_rotationalVelocity; - private PhysicsVector _size; - private PhysicsVector _acceleration; + private Vector3 m_rotationalVelocity; + private Vector3 _size; + private Vector3 _acceleration; // private d.Vector3 _zeroPosition = new d.Vector3(0.0f, 0.0f, 0.0f); private Quaternion _orientation; - private PhysicsVector m_taintposition; - private PhysicsVector m_taintsize; - private PhysicsVector m_taintVelocity = new PhysicsVector(0, 0, 0); - private PhysicsVector m_taintTorque = new PhysicsVector(0, 0, 0); + private Vector3 m_taintposition; + private Vector3 m_taintsize; + private Vector3 m_taintVelocity; + private Vector3 m_taintTorque; private Quaternion m_taintrot; - private PhysicsVector m_angularlock = new PhysicsVector(1f, 1f, 1f); - private PhysicsVector m_taintAngularLock = new PhysicsVector(1f, 1f, 1f); + private Vector3 m_angularlock = Vector3.One; + private Vector3 m_taintAngularLock = Vector3.One; private IntPtr Amotor = IntPtr.Zero; - private PhysicsVector m_PIDTarget = new PhysicsVector(0, 0, 0); - // private PhysicsVector m_taintPIDTarget = new PhysicsVector(0, 0, 0); - private float m_PIDTau = 0f; + private Vector3 m_PIDTarget; + private float m_PIDTau; private float PID_D = 35f; private float PID_G = 25f; - private bool m_usePID = false; + private bool m_usePID; // KF: These next 7 params apply to llSetHoverHeight(float height, integer water, float tau), // and are for non-VEHICLES only. - - private float m_PIDHoverHeight = 0f; - private float m_PIDHoverTau = 0f; - private bool m_useHoverPID = false; + + private float m_PIDHoverHeight; + private float m_PIDHoverTau; + private bool m_useHoverPID; private PIDHoverType m_PIDHoverType = PIDHoverType.Ground; - private float m_targetHoverHeight = 0f; - private float m_groundHeight = 0f; - private float m_waterHeight = 0f; - private float m_buoyancy = 0f; //KF: m_buoyancy should be set by llSetBuoyancy() for non-vehicle. + private float m_targetHoverHeight; + private float m_groundHeight; + private float m_waterHeight; + private float m_buoyancy; //KF: m_buoyancy should be set by llSetBuoyancy() for non-vehicle. // private float m_tensor = 5f; private int body_autodisable_frames = 20; @@ -105,11 +104,11 @@ namespace OpenSim.Region.Physics.OdePlugin | CollisionCategories.Body | CollisionCategories.Character ); - private bool m_taintshape = false; - private bool m_taintPhysics = false; + private bool m_taintshape; + private bool m_taintPhysics; private bool m_collidesLand = true; - private bool m_collidesWater = false; - public bool m_returnCollisions = false; + private bool m_collidesWater; + public bool m_returnCollisions; // Default we're a Geometry private CollisionCategories m_collisionCategories = (CollisionCategories.Geom); @@ -117,85 +116,83 @@ namespace OpenSim.Region.Physics.OdePlugin // Default, Collide with Other Geometries, spaces and Bodies private CollisionCategories m_collisionFlags = m_default_collisionFlags; - public bool m_taintremove = false; - public bool m_taintdisable = false; - public bool m_disabled = false; - public bool m_taintadd = false; - public bool m_taintselected = false; - public bool m_taintCollidesWater = false; + public bool m_taintremove; + public bool m_taintdisable; + public bool m_disabled; + public bool m_taintadd; + public bool m_taintselected; + public bool m_taintCollidesWater; - public uint m_localID = 0; + public uint m_localID; //public GCHandle gc; private CollisionLocker ode; private bool m_taintforce = false; private bool m_taintaddangularforce = false; - private PhysicsVector m_force = new PhysicsVector(0.0f, 0.0f, 0.0f); - private List m_forcelist = new List(); - private List m_angularforcelist = new List(); + private Vector3 m_force; + private List m_forcelist = new List(); + private List m_angularforcelist = new List(); private IMesh _mesh; private PrimitiveBaseShape _pbs; private OdeScene _parent_scene; - public IntPtr m_targetSpace = (IntPtr) 0; + public IntPtr m_targetSpace = IntPtr.Zero; public IntPtr prim_geom; public IntPtr prev_geom; public IntPtr _triMeshData; - private IntPtr _linkJointGroup = (IntPtr)0; - private PhysicsActor _parent = null; - private PhysicsActor m_taintparent = null; + private IntPtr _linkJointGroup = IntPtr.Zero; + private PhysicsActor _parent; + private PhysicsActor m_taintparent; private List childrenPrim = new List(); - private bool iscolliding = false; - private bool m_isphysical = false; - private bool m_isSelected = false; + private bool iscolliding; + private bool m_isphysical; + private bool m_isSelected; - internal bool m_isVolumeDetect = false; // If true, this prim only detects collisions but doesn't collide actively + internal bool m_isVolumeDetect; // If true, this prim only detects collisions but doesn't collide actively - private bool m_throttleUpdates = false; - private int throttleCounter = 0; - public int m_interpenetrationcount = 0; - public float m_collisionscore = 0; - public int m_roundsUnderMotionThreshold = 0; - private int m_crossingfailures = 0; + private bool m_throttleUpdates; + private int throttleCounter; + public int m_interpenetrationcount; + public float m_collisionscore; + public int m_roundsUnderMotionThreshold; + private int m_crossingfailures; - public bool outofBounds = false; + public bool outofBounds; private float m_density = 10.000006836f; // Aluminum g/cm3; - public bool _zeroFlag = false; - private bool m_lastUpdateSent = false; + public bool _zeroFlag; + private bool m_lastUpdateSent; - public IntPtr Body = (IntPtr) 0; + public IntPtr Body = IntPtr.Zero; public String m_primName; -// private String m_primName; - private PhysicsVector _target_velocity; + private Vector3 _target_velocity; public d.Mass pMass; - public int m_eventsubscription = 0; - private CollisionEventUpdate CollisionEventsThisFrame = null; + public int m_eventsubscription; + private CollisionEventUpdate CollisionEventsThisFrame; - private IntPtr m_linkJoint = (IntPtr)0; + private IntPtr m_linkJoint = IntPtr.Zero; - public volatile bool childPrim = false; + public volatile bool childPrim; private ODEDynamics m_vehicle; internal int m_material = (int)Material.Wood; - public OdePrim(String primName, OdeScene parent_scene, PhysicsVector pos, PhysicsVector size, + public OdePrim(String primName, OdeScene parent_scene, Vector3 pos, Vector3 size, Quaternion rotation, IMesh mesh, PrimitiveBaseShape pbs, bool pisPhysical, CollisionLocker dode) { - _target_velocity = new PhysicsVector(0, 0, 0); m_vehicle = new ODEDynamics(); //gc = GCHandle.Alloc(prim_geom, GCHandleType.Pinned); ode = dode; - _velocity = new PhysicsVector(); - if (!PhysicsVector.isFinite(pos)) + if (!pos.IsFinite()) { - pos = new PhysicsVector(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f), parent_scene.GetTerrainHeightAtXY(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f)) + 0.5f); + pos = new Vector3(((float)Constants.RegionSize * 0.5f), ((float)Constants.RegionSize * 0.5f), + parent_scene.GetTerrainHeightAtXY(((float)Constants.RegionSize * 0.5f), ((float)Constants.RegionSize * 0.5f)) + 0.5f); m_log.Warn("[PHYSICS]: Got nonFinite Object create Position"); } _position = pos; @@ -210,9 +207,9 @@ namespace OpenSim.Region.Physics.OdePlugin prim_geom = IntPtr.Zero; prev_geom = IntPtr.Zero; - if (!PhysicsVector.isFinite(pos)) + if (!pos.IsFinite()) { - size = new PhysicsVector(0.5f, 0.5f, 0.5f); + size = new Vector3(0.5f, 0.5f, 0.5f); m_log.Warn("[PHYSICS]: Got nonFinite Object create Size"); } @@ -222,8 +219,6 @@ namespace OpenSim.Region.Physics.OdePlugin _size = size; m_taintsize = _size; - _acceleration = new PhysicsVector(); - m_rotationalVelocity = PhysicsVector.Zero; if (!QuaternionIsFinite(rotation)) { @@ -388,7 +383,7 @@ namespace OpenSim.Region.Physics.OdePlugin m_disabled = false; // The body doesn't already have a finite rotation mode set here - if ((!m_angularlock.IsIdentical(PhysicsVector.Zero, 0)) && _parent == null) + if ((!m_angularlock.ApproxEquals(Vector3.Zero, 0.0f)) && _parent == null) { createAMotor(m_angularlock); } @@ -882,7 +877,7 @@ namespace OpenSim.Region.Physics.OdePlugin if (prim_geom != IntPtr.Zero) { - if (!_position.IsIdentical(m_taintposition,0f)) + if (!_position.ApproxEquals(m_taintposition, 0f)) changemove(timestep); if (m_taintrot != _orientation) @@ -907,7 +902,7 @@ namespace OpenSim.Region.Physics.OdePlugin changePhysicsStatus(timestep); // - if (!_size.IsIdentical(m_taintsize,0)) + if (!_size.ApproxEquals(m_taintsize,0f)) changesize(timestep); // @@ -921,7 +916,7 @@ namespace OpenSim.Region.Physics.OdePlugin if (m_taintaddangularforce) changeAddAngularForce(timestep); - if (!m_taintTorque.IsIdentical(PhysicsVector.Zero, 0.001f)) + if (!m_taintTorque.ApproxEquals(Vector3.Zero, 0.001f)) changeSetTorque(timestep); if (m_taintdisable) @@ -930,7 +925,7 @@ namespace OpenSim.Region.Physics.OdePlugin if (m_taintselected != m_isSelected) changeSelectedStatus(timestep); - if (!m_taintVelocity.IsIdentical(PhysicsVector.Zero, 0.001f)) + if (!m_taintVelocity.ApproxEquals(Vector3.Zero, 0.001f)) changevelocity(timestep); if (m_taintparent != _parent) @@ -939,7 +934,7 @@ namespace OpenSim.Region.Physics.OdePlugin if (m_taintCollidesWater != m_collidesWater) changefloatonwater(timestep); - if (!m_angularlock.IsIdentical(m_taintAngularLock,0)) + if (!m_angularlock.ApproxEquals(m_taintAngularLock,0f)) changeAngularLock(timestep); } @@ -959,7 +954,7 @@ namespace OpenSim.Region.Physics.OdePlugin //If we have a parent then we're not authorative here if (_parent == null) { - if (!m_taintAngularLock.IsIdentical(new PhysicsVector(1f,1f,1f), 0)) + if (!m_taintAngularLock.ApproxEquals(Vector3.One, 0f)) { //d.BodySetFiniteRotationMode(Body, 0); //d.BodySetFiniteRotationAxis(Body,m_taintAngularLock.X,m_taintAngularLock.Y,m_taintAngularLock.Z); @@ -976,7 +971,7 @@ namespace OpenSim.Region.Physics.OdePlugin } } // Store this for later in case we get turned into a separate body - m_angularlock = new PhysicsVector(m_taintAngularLock.X, m_taintAngularLock.Y, m_taintAngularLock.Z); + m_angularlock = m_taintAngularLock; } @@ -1120,7 +1115,7 @@ namespace OpenSim.Region.Physics.OdePlugin prm.m_disabled = false; // The body doesn't already have a finite rotation mode set here - if ((!m_angularlock.IsIdentical(PhysicsVector.Zero, 0)) && _parent == null) + if ((!m_angularlock.ApproxEquals(Vector3.Zero, 0f)) && _parent == null) { prm.createAMotor(m_angularlock); } @@ -1163,7 +1158,7 @@ namespace OpenSim.Region.Physics.OdePlugin m_disabled = false; // The body doesn't already have a finite rotation mode set here - if ((!m_angularlock.IsIdentical(PhysicsVector.Zero, 0)) && _parent == null) + if ((!m_angularlock.ApproxEquals(Vector3.Zero, 0f)) && _parent == null) { createAMotor(m_angularlock); } @@ -1347,7 +1342,7 @@ namespace OpenSim.Region.Physics.OdePlugin m_taintshape = false; m_taintforce = false; m_taintdisable = false; - m_taintVelocity = PhysicsVector.Zero; + m_taintVelocity = Vector3.Zero; } public void CreateGeom(IntPtr m_targetSpace, IMesh _mesh) @@ -1576,7 +1571,7 @@ Console.WriteLine(" JointCreateFixed"); //Console.WriteLine("Move " + m_primName); if(!d.BodyIsEnabled (Body)) d.BodyEnable (Body); // KF add 161009 // NON-'VEHICLES' are dealt with here - if (d.BodyIsEnabled(Body) && !m_angularlock.IsIdentical(PhysicsVector.Zero, 0.003f)) + if (d.BodyIsEnabled(Body) && !m_angularlock.ApproxEquals(Vector3.Zero, 0.003f)) { d.Vector3 avel2 = d.BodyGetAngularVel(Body); if (m_angularlock.X == 1) @@ -1633,7 +1628,7 @@ Console.WriteLine(" JointCreateFixed"); d.Vector3 pos = d.BodyGetPosition(Body); _target_velocity = - new PhysicsVector( + new Vector3( (m_PIDTarget.X - pos.X) * ((PID_G - m_PIDTau) * timestep), (m_PIDTarget.Y - pos.Y) * ((PID_G - m_PIDTau) * timestep), (m_PIDTarget.Z - pos.Z) * ((PID_G - m_PIDTau) * timestep) @@ -1641,7 +1636,7 @@ Console.WriteLine(" JointCreateFixed"); // if velocity is zero, use position control; otherwise, velocity control - if (_target_velocity.IsIdentical(PhysicsVector.Zero,0.1f)) + if (_target_velocity.ApproxEquals(Vector3.Zero,0.1f)) { // keep track of where we stopped. No more slippin' & slidin' @@ -1726,13 +1721,13 @@ Console.WriteLine(" JointCreateFixed"); _target_velocity = - new PhysicsVector(0.0f, 0.0f, + new Vector3(0.0f, 0.0f, (m_targetHoverHeight - pos.Z) * ((PID_G - m_PIDHoverTau) * timestep) ); // if velocity is zero, use position control; otherwise, velocity control - if (_target_velocity.IsIdentical(PhysicsVector.Zero, 0.1f)) + if (_target_velocity.ApproxEquals(Vector3.Zero, 0.1f)) { // keep track of where we stopped. No more slippin' & slidin' @@ -1821,7 +1816,7 @@ Console.WriteLine(" JointCreateFixed"); d.BodySetQuaternion(Body, ref myrot); if (m_isphysical) { - if (!m_angularlock.IsIdentical(new PhysicsVector(1, 1, 1), 0)) + if (!m_angularlock.ApproxEquals(Vector3.One, 0f)) createAMotor(m_angularlock); } } @@ -2130,7 +2125,7 @@ Console.WriteLine(" JointCreateFixed"); //m_log.Info("[PHYSICS]: dequeing forcelist"); if (IsPhysical) { - PhysicsVector iforce = new PhysicsVector(); + Vector3 iforce = Vector3.Zero; for (int i = 0; i < m_forcelist.Count; i++) { iforce = iforce + (m_forcelist[i] * 100); @@ -2160,8 +2155,8 @@ Console.WriteLine(" JointCreateFixed"); d.BodySetTorque(Body, m_taintTorque.X, m_taintTorque.Y, m_taintTorque.Z); } } - - m_taintTorque = new PhysicsVector(0, 0, 0); + + m_taintTorque = Vector3.Zero; } public void changeAddAngularForce(float timestamp) @@ -2173,7 +2168,7 @@ Console.WriteLine(" JointCreateFixed"); //m_log.Info("[PHYSICS]: dequeing forcelist"); if (IsPhysical) { - PhysicsVector iforce = new PhysicsVector(); + Vector3 iforce = Vector3.Zero; for (int i = 0; i < m_angularforcelist.Count; i++) { iforce = iforce + (m_angularforcelist[i] * 100); @@ -2207,7 +2202,7 @@ Console.WriteLine(" JointCreateFixed"); //resetCollisionAccounting(); } - m_taintVelocity = PhysicsVector.Zero; + m_taintVelocity = Vector3.Zero; } public override bool IsPhysical @@ -2216,7 +2211,7 @@ Console.WriteLine(" JointCreateFixed"); set { m_isphysical = value; if (!m_isphysical) // Zero the remembered last velocity - m_lastVelocity = new PhysicsVector(0.0f, 0.0f, 0.0f); + m_lastVelocity = Vector3.Zero; } } @@ -2261,7 +2256,7 @@ Console.WriteLine(" JointCreateFixed"); get { return _zeroFlag; } } - public override PhysicsVector Position + public override Vector3 Position { get { return _position; } @@ -2270,12 +2265,12 @@ Console.WriteLine(" JointCreateFixed"); } } - public override PhysicsVector Size + public override Vector3 Size { get { return _size; } set { - if (PhysicsVector.isFinite(value)) + if (value.IsFinite()) { _size = value; } @@ -2291,13 +2286,13 @@ Console.WriteLine(" JointCreateFixed"); get { return CalculateMass(); } } - public override PhysicsVector Force + public override Vector3 Force { - //get { return PhysicsVector.Zero; } + //get { return Vector3.Zero; } get { return m_force; } set { - if (PhysicsVector.isFinite(value)) + if (value.IsFinite()) { m_force = value; } @@ -2319,7 +2314,7 @@ Console.WriteLine(" JointCreateFixed"); m_vehicle.ProcessFloatVehicleParam((Vehicle) param, value); } - public override void VehicleVectorParam(int param, PhysicsVector value) + public override void VehicleVectorParam(int param, Vector3 value) { m_vehicle.ProcessVectorVehicleParam((Vehicle) param, value); } @@ -2337,14 +2332,14 @@ Console.WriteLine(" JointCreateFixed"); } } - public override PhysicsVector CenterOfMass + public override Vector3 CenterOfMass { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector GeometricCenter + public override Vector3 GeometricCenter { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } public override PrimitiveBaseShape Shape @@ -2356,13 +2351,13 @@ Console.WriteLine(" JointCreateFixed"); } } - public override PhysicsVector Velocity + public override Vector3 Velocity { get { // Averate previous velocity with the new one so // client object interpolation works a 'little' better - PhysicsVector returnVelocity = new PhysicsVector(); + Vector3 returnVelocity = Vector3.Zero; returnVelocity.X = (m_lastVelocity.X + _velocity.X)/2; returnVelocity.Y = (m_lastVelocity.Y + _velocity.Y)/2; returnVelocity.Z = (m_lastVelocity.Z + _velocity.Z)/2; @@ -2370,7 +2365,7 @@ Console.WriteLine(" JointCreateFixed"); } set { - if (PhysicsVector.isFinite(value)) + if (value.IsFinite()) { _velocity = value; @@ -2385,19 +2380,19 @@ Console.WriteLine(" JointCreateFixed"); } } - public override PhysicsVector Torque + public override Vector3 Torque { get { if (!m_isphysical || Body == IntPtr.Zero) - return new PhysicsVector(0,0,0); + return Vector3.Zero; return _torque; } set { - if (PhysicsVector.isFinite(value)) + if (value.IsFinite()) { m_taintTorque = value; _parent_scene.AddPhysicsActorTaint(this); @@ -2449,20 +2444,20 @@ Console.WriteLine(" JointCreateFixed"); return true; } - public override PhysicsVector Acceleration + public override Vector3 Acceleration { get { return _acceleration; } } - public void SetAcceleration(PhysicsVector accel) + public void SetAcceleration(Vector3 accel) { _acceleration = accel; } - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(Vector3 force, bool pushforce) { - if (PhysicsVector.isFinite(force)) + if (force.IsFinite()) { m_forcelist.Add(force); m_taintforce = true; @@ -2474,9 +2469,9 @@ Console.WriteLine(" JointCreateFixed"); //m_log.Info("[PHYSICS]: Added Force:" + force.ToString() + " to prim at " + Position.ToString()); } - public override void AddAngularForce(PhysicsVector force, bool pushforce) + public override void AddAngularForce(Vector3 force, bool pushforce) { - if (PhysicsVector.isFinite(force)) + if (force.IsFinite()) { m_angularforcelist.Add(force); m_taintaddangularforce = true; @@ -2487,23 +2482,23 @@ Console.WriteLine(" JointCreateFixed"); } } - public override PhysicsVector RotationalVelocity + public override Vector3 RotationalVelocity { get { - PhysicsVector pv = new PhysicsVector(0, 0, 0); + Vector3 pv = Vector3.Zero; if (_zeroFlag) return pv; m_lastUpdateSent = false; - if (m_rotationalVelocity.IsIdentical(pv, 0.2f)) + if (m_rotationalVelocity.ApproxEquals(pv, 0.2f)) return pv; return m_rotationalVelocity; } set { - if (PhysicsVector.isFinite(value)) + if (value.IsFinite()) { m_rotationalVelocity = value; } @@ -2544,16 +2539,16 @@ Console.WriteLine(" JointCreateFixed"); m_taintparent = null; } - public override void LockAngularMotion(PhysicsVector axis) + public override void LockAngularMotion(Vector3 axis) { // reverse the zero/non zero values for ODE. - if (PhysicsVector.isFinite(axis)) + if (axis.IsFinite()) { axis.X = (axis.X > 0) ? 1f : 0f; axis.Y = (axis.Y > 0) ? 1f : 0f; axis.Z = (axis.Z > 0) ? 1f : 0f; m_log.DebugFormat("[axislock]: <{0},{1},{2}>", axis.X, axis.Y, axis.Z); - m_taintAngularLock = new PhysicsVector(axis.X, axis.Y, axis.Z); + m_taintAngularLock = axis; } else { @@ -2566,7 +2561,7 @@ Console.WriteLine(" JointCreateFixed"); // no lock; called from Simulate() -- if you call this from elsewhere, gotta lock or do Monitor.Enter/Exit! if (_parent == null) { - PhysicsVector pv = new PhysicsVector(0, 0, 0); + Vector3 pv = Vector3.Zero; bool lastZeroFlag = _zeroFlag; if (Body != (IntPtr)0) // FIXME -> or if it is a joint { @@ -2575,9 +2570,9 @@ Console.WriteLine(" JointCreateFixed"); d.Vector3 vel = d.BodyGetLinearVel(Body); d.Vector3 rotvel = d.BodyGetAngularVel(Body); d.Vector3 torque = d.BodyGetTorque(Body); - _torque.setValues(torque.X, torque.Y, torque.Z); - PhysicsVector l_position = new PhysicsVector(); - Quaternion l_orientation = new Quaternion(); + _torque = new Vector3(torque.X, torque.Y, torque.Z); + Vector3 l_position = Vector3.Zero; + Quaternion l_orientation = Quaternion.Identity; // kluge to keep things in bounds. ODE lets dead avatars drift away (they should be removed!) //if (vec.X < 0.0f) { vec.X = 0.0f; if (Body != (IntPtr)0) d.BodySetAngularVel(Body, 0, 0, 0); } @@ -2712,16 +2707,16 @@ Console.WriteLine(" JointCreateFixed"); _velocity.Z = vel.Z; _acceleration = ((_velocity - m_lastVelocity) / 0.1f); - _acceleration = new PhysicsVector(_velocity.X - m_lastVelocity.X / 0.1f, _velocity.Y - m_lastVelocity.Y / 0.1f, _velocity.Z - m_lastVelocity.Z / 0.1f); + _acceleration = new Vector3(_velocity.X - m_lastVelocity.X / 0.1f, _velocity.Y - m_lastVelocity.Y / 0.1f, _velocity.Z - m_lastVelocity.Z / 0.1f); //m_log.Info("[PHYSICS]: V1: " + _velocity + " V2: " + m_lastVelocity + " Acceleration: " + _acceleration.ToString()); - if (_velocity.IsIdentical(pv, 0.5f)) + if (_velocity.ApproxEquals(pv, 0.5f)) { m_rotationalVelocity = pv; } else { - m_rotationalVelocity.setValues(rotvel.X, rotvel.Y, rotvel.Z); + m_rotationalVelocity = new Vector3(rotvel.X, rotvel.Y, rotvel.Z); } //m_log.Debug("ODE: " + m_rotationalVelocity.ToString()); @@ -2769,15 +2764,15 @@ Console.WriteLine(" JointCreateFixed"); } } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(Vector3 momentum) { } - public override PhysicsVector PIDTarget + public override Vector3 PIDTarget { set { - if (PhysicsVector.isFinite(value)) + if (value.IsFinite()) { m_PIDTarget = value; } @@ -2793,7 +2788,7 @@ Console.WriteLine(" JointCreateFixed"); public override PIDHoverType PIDHoverType { set { m_PIDHoverType = value; } } public override float PIDHoverTau { set { m_PIDHoverTau = value; } } - private void createAMotor(PhysicsVector axis) + private void createAMotor(Vector3 axis) { if (Body == IntPtr.Zero) return; diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index 0eb0c4550c..2f42646c20 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs @@ -684,7 +684,7 @@ namespace OpenSim.Region.Physics.OdePlugin /// /// /// Returns which split up space the given position is in. - public string whichspaceamIin(PhysicsVector pos) + public string whichspaceamIin(Vector3 pos) { return calculateSpaceForGeom(pos).ToString(); } @@ -963,7 +963,7 @@ namespace OpenSim.Region.Physics.OdePlugin //p2.CollidingObj = true; contacts[i].depth = 0.00000003f; - p2.Velocity = p2.Velocity + new PhysicsVector(0, 0, 0.5f); + p2.Velocity = p2.Velocity + new Vector3(0f, 0f, 0.5f); contacts[i].pos = new d.Vector3(contacts[i].pos.X + (p1.Size.X/2), contacts[i].pos.Y + (p1.Size.Y/2), @@ -981,7 +981,7 @@ namespace OpenSim.Region.Physics.OdePlugin //p2.CollidingObj = true; contacts[i].depth = 0.00000003f; - p1.Velocity = p1.Velocity + new PhysicsVector(0, 0, 0.5f); + p1.Velocity = p1.Velocity + new Vector3(0f, 0f, 0.5f); contacts[i].pos = new d.Vector3(contacts[i].pos.X + (p1.Size.X/2), contacts[i].pos.Y + (p1.Size.Y/2), @@ -1646,9 +1646,9 @@ namespace OpenSim.Region.Physics.OdePlugin #region Add/Remove Entities - public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size, bool isFlying) + public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying) { - PhysicsVector pos = new PhysicsVector(); + Vector3 pos; pos.X = position.X; pos.Y = position.Y; pos.Z = position.Z; @@ -1698,18 +1698,12 @@ namespace OpenSim.Region.Physics.OdePlugin } - private PhysicsActor AddPrim(String name, PhysicsVector position, PhysicsVector size, Quaternion rotation, + private PhysicsActor AddPrim(String name, Vector3 position, Vector3 size, Quaternion rotation, IMesh mesh, PrimitiveBaseShape pbs, bool isphysical) { - - PhysicsVector pos = new PhysicsVector(position.X, position.Y, position.Z); - //pos.X = position.X; - //pos.Y = position.Y; - //pos.Z = position.Z; - PhysicsVector siz = new PhysicsVector(); - siz.X = size.X; - siz.Y = size.Y; - siz.Z = size.Z; + + Vector3 pos = position; + Vector3 siz = size; Quaternion rot = rotation; OdePrim newPrim; @@ -1736,14 +1730,14 @@ namespace OpenSim.Region.Physics.OdePlugin } } - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, Quaternion rotation) //To be removed + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation) //To be removed { return AddPrimShape(primName, pbs, position, size, rotation, false); } - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, Quaternion rotation, bool isPhysical) + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation, bool isPhysical) { PhysicsActor result; IMesh mesh = null; @@ -1976,7 +1970,7 @@ namespace OpenSim.Region.Physics.OdePlugin // this joint will just be added to a waiting list that is NOT processed during the main // Simulate() loop (to avoid deadlocks). After Simulate() is finished, we handle unprocessed joint requests. - public override PhysicsJoint RequestJointCreation(string objectNameInScene, PhysicsJointType jointType, PhysicsVector position, + public override PhysicsJoint RequestJointCreation(string objectNameInScene, PhysicsJointType jointType, Vector3 position, Quaternion rotation, string parms, List bodyNames, string trackedBodyName, Quaternion localRotation) { @@ -1984,7 +1978,7 @@ namespace OpenSim.Region.Physics.OdePlugin OdePhysicsJoint joint = new OdePhysicsJoint(); joint.ObjectNameInScene = objectNameInScene; joint.Type = jointType; - joint.Position = new PhysicsVector(position.X, position.Y, position.Z); + joint.Position = position; joint.Rotation = rotation; joint.RawParams = parms; joint.BodyNames = new List(bodyNames); @@ -2036,7 +2030,7 @@ namespace OpenSim.Region.Physics.OdePlugin } // normally called from within OnJointMoved, which is called from within a lock (OdeLock) - public override PhysicsVector GetJointAnchor(PhysicsJoint joint) + public override Vector3 GetJointAnchor(PhysicsJoint joint) { Debug.Assert(joint.IsInPhysicsEngine); d.Vector3 pos = new d.Vector3(); @@ -2058,14 +2052,14 @@ namespace OpenSim.Region.Physics.OdePlugin break; } } - return new PhysicsVector(pos.X, pos.Y, pos.Z); + return new Vector3(pos.X, pos.Y, pos.Z); } // normally called from within OnJointMoved, which is called from within a lock (OdeLock) // WARNING: ODE sometimes returns <0,0,0> as the joint axis! Therefore this function // appears to be unreliable. Fortunately we can compute the joint axis ourselves by // keeping track of the joint's original orientation relative to one of the involved bodies. - public override PhysicsVector GetJointAxis(PhysicsJoint joint) + public override Vector3 GetJointAxis(PhysicsJoint joint) { Debug.Assert(joint.IsInPhysicsEngine); d.Vector3 axis = new d.Vector3(); @@ -2087,7 +2081,7 @@ namespace OpenSim.Region.Physics.OdePlugin break; } } - return new PhysicsVector(axis.X, axis.Y, axis.Z); + return new Vector3(axis.X, axis.Y, axis.Z); } @@ -2255,7 +2249,7 @@ namespace OpenSim.Region.Physics.OdePlugin /// the position that the geom moved to /// a pointer to the space it was in before it was moved. /// a pointer to the new space it's in - public IntPtr recalculateSpaceForGeom(IntPtr geom, PhysicsVector pos, IntPtr currentspace) + public IntPtr recalculateSpaceForGeom(IntPtr geom, Vector3 pos, IntPtr currentspace) { // Called from setting the Position and Size of an ODEPrim so // it's already in locked space. @@ -2402,7 +2396,7 @@ namespace OpenSim.Region.Physics.OdePlugin /// /// /// a pointer to the space. This could be a new space or reused space. - public IntPtr calculateSpaceForGeom(PhysicsVector pos) + public IntPtr calculateSpaceForGeom(Vector3 pos) { int[] xyspace = calculateSpaceArrayItemFromPos(pos); //m_log.Info("[Physics]: Attempting to use arrayItem: " + xyspace[0].ToString() + "," + xyspace[1].ToString()); @@ -2414,7 +2408,7 @@ namespace OpenSim.Region.Physics.OdePlugin /// /// /// an array item based on the position - public int[] calculateSpaceArrayItemFromPos(PhysicsVector pos) + public int[] calculateSpaceArrayItemFromPos(Vector3 pos) { int[] returnint = new int[2]; diff --git a/OpenSim/Region/Physics/OdePlugin/Tests/ODETestClass.cs b/OpenSim/Region/Physics/OdePlugin/Tests/ODETestClass.cs index cdd38c4cdc..69e2d03482 100644 --- a/OpenSim/Region/Physics/OdePlugin/Tests/ODETestClass.cs +++ b/OpenSim/Region/Physics/OdePlugin/Tests/ODETestClass.cs @@ -76,8 +76,8 @@ namespace OpenSim.Region.Physics.OdePlugin public void CreateAndDropPhysicalCube() { PrimitiveBaseShape newcube = PrimitiveBaseShape.CreateBox(); - PhysicsVector position = new PhysicsVector(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f), 128); - PhysicsVector size = new PhysicsVector(0.5f, 0.5f, 0.5f); + Vector3 position = new Vector3(((float)Constants.RegionSize * 0.5f), ((float)Constants.RegionSize * 0.5f), 128f); + Vector3 size = new Vector3(0.5f, 0.5f, 0.5f); Quaternion rot = Quaternion.Identity; PhysicsActor prim = ps.AddPrimShape("CoolShape", newcube, position, size, rot, true); OdePrim oprim = (OdePrim)prim; diff --git a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs index 35fc616a96..26cd1dd2c2 100644 --- a/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs +++ b/OpenSim/Region/Physics/POSPlugin/POSCharacter.cs @@ -36,20 +36,17 @@ namespace OpenSim.Region.Physics.POSPlugin { public class POSCharacter : PhysicsActor { - private PhysicsVector _position; - public PhysicsVector _velocity; - public PhysicsVector _target_velocity = PhysicsVector.Zero; - public PhysicsVector _size = PhysicsVector.Zero; - private PhysicsVector _acceleration; - private PhysicsVector m_rotationalVelocity = PhysicsVector.Zero; + private Vector3 _position; + public Vector3 _velocity; + public Vector3 _target_velocity = Vector3.Zero; + public Vector3 _size = Vector3.Zero; + private Vector3 _acceleration; + private Vector3 m_rotationalVelocity = Vector3.Zero; private bool flying; private bool isColliding; public POSCharacter() { - _velocity = new PhysicsVector(); - _position = new PhysicsVector(); - _acceleration = new PhysicsVector(); } public override int PhysicsActorType @@ -58,7 +55,7 @@ namespace OpenSim.Region.Physics.POSPlugin set { return; } } - public override PhysicsVector RotationalVelocity + public override Vector3 RotationalVelocity { get { return m_rotationalVelocity; } set { m_rotationalVelocity = value; } @@ -137,13 +134,13 @@ namespace OpenSim.Region.Physics.POSPlugin get { return false; } } - public override PhysicsVector Position + public override Vector3 Position { get { return _position; } set { _position = value; } } - public override PhysicsVector Size + public override Vector3 Size { get { return _size; } set @@ -158,9 +155,9 @@ namespace OpenSim.Region.Physics.POSPlugin get { return 0f; } } - public override PhysicsVector Force + public override Vector3 Force { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -175,7 +172,7 @@ namespace OpenSim.Region.Physics.POSPlugin } - public override void VehicleVectorParam(int param, PhysicsVector value) + public override void VehicleVectorParam(int param, Vector3 value) { } @@ -190,14 +187,14 @@ namespace OpenSim.Region.Physics.POSPlugin } - public override PhysicsVector CenterOfMass + public override Vector3 CenterOfMass { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector GeometricCenter + public override Vector3 GeometricCenter { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } public override PrimitiveBaseShape Shape @@ -205,15 +202,15 @@ namespace OpenSim.Region.Physics.POSPlugin set { return; } } - public override PhysicsVector Velocity + public override Vector3 Velocity { get { return _velocity; } set { _target_velocity = value; } } - public override PhysicsVector Torque + public override Vector3 Torque { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -229,7 +226,7 @@ namespace OpenSim.Region.Physics.POSPlugin set { } } - public override PhysicsVector Acceleration + public override Vector3 Acceleration { get { return _acceleration; } } @@ -248,24 +245,24 @@ namespace OpenSim.Region.Physics.POSPlugin { } - public override void LockAngularMotion(PhysicsVector axis) + public override void LockAngularMotion(Vector3 axis) { } - public void SetAcceleration(PhysicsVector accel) + public void SetAcceleration(Vector3 accel) { _acceleration = accel; } - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(Vector3 force, bool pushforce) { } - public override void AddAngularForce(PhysicsVector force, bool pushforce) + public override void AddAngularForce(Vector3 force, bool pushforce) { } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(Vector3 momentum) { } @@ -273,7 +270,7 @@ namespace OpenSim.Region.Physics.POSPlugin { } - public override PhysicsVector PIDTarget + public override Vector3 PIDTarget { set { return; } } diff --git a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs index b50364b869..96c3e2616c 100644 --- a/OpenSim/Region/Physics/POSPlugin/POSPrim.cs +++ b/OpenSim/Region/Physics/POSPlugin/POSPrim.cs @@ -36,19 +36,16 @@ namespace OpenSim.Region.Physics.POSPlugin { public class POSPrim : PhysicsActor { - private PhysicsVector _position; - private PhysicsVector _velocity; - private PhysicsVector _acceleration; - private PhysicsVector _size; - private PhysicsVector m_rotationalVelocity = PhysicsVector.Zero; + private Vector3 _position; + private Vector3 _velocity; + private Vector3 _acceleration; + private Vector3 _size; + private Vector3 m_rotationalVelocity = Vector3.Zero; private Quaternion _orientation; private bool iscolliding; public POSPrim() { - _velocity = new PhysicsVector(); - _position = new PhysicsVector(); - _acceleration = new PhysicsVector(); } public override int PhysicsActorType @@ -57,7 +54,7 @@ namespace OpenSim.Region.Physics.POSPlugin set { return; } } - public override PhysicsVector RotationalVelocity + public override Vector3 RotationalVelocity { get { return m_rotationalVelocity; } set { m_rotationalVelocity = value; } @@ -98,13 +95,13 @@ namespace OpenSim.Region.Physics.POSPlugin get { return false; } } - public override PhysicsVector Position + public override Vector3 Position { get { return _position; } set { _position = value; } } - public override PhysicsVector Size + public override Vector3 Size { get { return _size; } set { _size = value; } @@ -115,9 +112,9 @@ namespace OpenSim.Region.Physics.POSPlugin get { return 0f; } } - public override PhysicsVector Force + public override Vector3 Force { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -132,7 +129,7 @@ namespace OpenSim.Region.Physics.POSPlugin } - public override void VehicleVectorParam(int param, PhysicsVector value) + public override void VehicleVectorParam(int param, Vector3 value) { } @@ -147,14 +144,14 @@ namespace OpenSim.Region.Physics.POSPlugin } - public override PhysicsVector CenterOfMass + public override Vector3 CenterOfMass { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector GeometricCenter + public override Vector3 GeometricCenter { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } public override PrimitiveBaseShape Shape @@ -173,7 +170,7 @@ namespace OpenSim.Region.Physics.POSPlugin set { return; } } - public override PhysicsVector Velocity + public override Vector3 Velocity { get { return _velocity; } set { _velocity = value; } @@ -191,7 +188,7 @@ namespace OpenSim.Region.Physics.POSPlugin set { _orientation = value; } } - public override PhysicsVector Acceleration + public override Vector3 Acceleration { get { return _acceleration; } } @@ -202,26 +199,26 @@ namespace OpenSim.Region.Physics.POSPlugin set { } } - public void SetAcceleration(PhysicsVector accel) + public void SetAcceleration(Vector3 accel) { _acceleration = accel; } - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(Vector3 force, bool pushforce) { } - public override void AddAngularForce(PhysicsVector force, bool pushforce) + public override void AddAngularForce(Vector3 force, bool pushforce) { } - public override PhysicsVector Torque + public override Vector3 Torque { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(Vector3 momentum) { } @@ -255,7 +252,7 @@ namespace OpenSim.Region.Physics.POSPlugin { } - public override void LockAngularMotion(PhysicsVector axis) + public override void LockAngularMotion(Vector3 axis) { } @@ -268,7 +265,7 @@ namespace OpenSim.Region.Physics.POSPlugin { } - public override PhysicsVector PIDTarget + public override Vector3 PIDTarget { set { return; } } diff --git a/OpenSim/Region/Physics/POSPlugin/POSScene.cs b/OpenSim/Region/Physics/POSPlugin/POSScene.cs index fa8cc70803..c3f5040842 100644 --- a/OpenSim/Region/Physics/POSPlugin/POSScene.cs +++ b/OpenSim/Region/Physics/POSPlugin/POSScene.cs @@ -56,7 +56,7 @@ namespace OpenSim.Region.Physics.POSPlugin { } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size, bool isFlying) + public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying) { POSCharacter act = new POSCharacter(); act.Position = position; @@ -84,20 +84,20 @@ namespace OpenSim.Region.Physics.POSPlugin } /* - public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size, Quaternion rotation) + public override PhysicsActor AddPrim(Vector3 position, Vector3 size, Quaternion rotation) { return null; } */ - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, Quaternion rotation) + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation) { return AddPrimShape(primName, pbs, position, size, rotation, false); } - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, Quaternion rotation, bool isPhysical) + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation, bool isPhysical) { POSPrim prim = new POSPrim(); prim.Position = position; @@ -152,23 +152,25 @@ namespace OpenSim.Region.Physics.POSPlugin character._target_velocity.Z += gravity * timeStep; } - character.Position.X += character._target_velocity.X * timeStep; - character.Position.Y += character._target_velocity.Y * timeStep; + Vector3 characterPosition = character.Position; - character.Position.X = Util.Clamp(character.Position.X, 0.01f, Constants.RegionSize - 0.01f); - character.Position.Y = Util.Clamp(character.Position.Y, 0.01f, Constants.RegionSize - 0.01f); + characterPosition.X += character._target_velocity.X * timeStep; + characterPosition.Y += character._target_velocity.Y * timeStep; + + characterPosition.X = Util.Clamp(character.Position.X, 0.01f, Constants.RegionSize - 0.01f); + characterPosition.Y = Util.Clamp(character.Position.Y, 0.01f, Constants.RegionSize - 0.01f); bool forcedZ = false; float terrainheight = _heightMap[(int)character.Position.Y * Constants.RegionSize + (int)character.Position.X]; if (character.Position.Z + (character._target_velocity.Z * timeStep) < terrainheight + 2) { - character.Position.Z = terrainheight + character.Size.Z; + characterPosition.Z = terrainheight + character.Size.Z; forcedZ = true; } else { - character.Position.Z += character._target_velocity.Z*timeStep; + characterPosition.Z += character._target_velocity.Z*timeStep; } /// this is it -- the magic you've all been waiting for! Ladies and gentlemen -- @@ -177,29 +179,29 @@ namespace OpenSim.Region.Physics.POSPlugin if (isCollidingWithPrim(character)) { - character.Position.Z = oldposZ; // first try Z axis + characterPosition.Z = oldposZ; // first try Z axis if (isCollidingWithPrim(character)) { - character.Position.Z = oldposZ + character.Size.Z / 4.4f; // try harder + characterPosition.Z = oldposZ + character.Size.Z / 4.4f; // try harder if (isCollidingWithPrim(character)) { - character.Position.Z = oldposZ + character.Size.Z / 2.2f; // try very hard + characterPosition.Z = oldposZ + character.Size.Z / 2.2f; // try very hard if (isCollidingWithPrim(character)) { - character.Position.X = oldposX; - character.Position.Y = oldposY; - character.Position.Z = oldposZ; + characterPosition.X = oldposX; + characterPosition.Y = oldposY; + characterPosition.Z = oldposZ; - character.Position.X += character._target_velocity.X * timeStep; + characterPosition.X += character._target_velocity.X * timeStep; if (isCollidingWithPrim(character)) { - character.Position.X = oldposX; + characterPosition.X = oldposX; } - character.Position.Y += character._target_velocity.Y * timeStep; + characterPosition.Y += character._target_velocity.Y * timeStep; if (isCollidingWithPrim(character)) { - character.Position.Y = oldposY; + characterPosition.Y = oldposY; } } else @@ -218,8 +220,10 @@ namespace OpenSim.Region.Physics.POSPlugin } } - character.Position.X = Util.Clamp(character.Position.X, 0.01f, Constants.RegionSize - 0.01f); - character.Position.Y = Util.Clamp(character.Position.Y, 0.01f, Constants.RegionSize - 0.01f); + characterPosition.X = Util.Clamp(character.Position.X, 0.01f, Constants.RegionSize - 0.01f); + characterPosition.Y = Util.Clamp(character.Position.Y, 0.01f, Constants.RegionSize - 0.01f); + + character.Position = characterPosition; character._velocity.X = (character.Position.X - oldposX)/timeStep; character._velocity.Y = (character.Position.Y - oldposY)/timeStep; diff --git a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs index e7d989c841..8bdb18d006 100644 --- a/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs +++ b/OpenSim/Region/Physics/PhysXPlugin/PhysXPlugin.cs @@ -34,6 +34,7 @@ using PhysXWrapper; using Quaternion=OpenMetaverse.Quaternion; using System.Reflection; using log4net; +using OpenMetaverse; namespace OpenSim.Region.Physics.PhysXPlugin { @@ -106,7 +107,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin } - public override PhysicsActor AddAvatar(string avName, PhysicsVector position, PhysicsVector size, bool isFlying) + public override PhysicsActor AddAvatar(string avName, Vector3 position, Vector3 size, bool isFlying) { Vec3 pos = new Vec3(); pos.X = position.X; @@ -127,7 +128,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin { } - private PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size, Quaternion rotation) + private PhysicsActor AddPrim(Vector3 position, Vector3 size, Quaternion rotation) { Vec3 pos = new Vec3(); pos.X = position.X; @@ -142,14 +143,14 @@ namespace OpenSim.Region.Physics.PhysXPlugin return act; } - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, Quaternion rotation) //To be removed + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation) //To be removed { return AddPrimShape(primName, pbs, position, size, rotation, false); } - public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, PhysicsVector position, - PhysicsVector size, Quaternion rotation, bool isPhysical) + public override PhysicsActor AddPrimShape(string primName, PrimitiveBaseShape pbs, Vector3 position, + Vector3 size, Quaternion rotation, bool isPhysical) { return AddPrim(position, size, rotation); } @@ -219,10 +220,10 @@ namespace OpenSim.Region.Physics.PhysXPlugin public class PhysXCharacter : PhysicsActor { - private PhysicsVector _position; - private PhysicsVector _velocity; - private PhysicsVector m_rotationalVelocity = PhysicsVector.Zero; - private PhysicsVector _acceleration; + private Vector3 _position; + private Vector3 _velocity; + private Vector3 m_rotationalVelocity = Vector3.Zero; + private Vector3 _acceleration; private NxCharacter _character; private bool flying; private bool iscolliding = false; @@ -230,9 +231,6 @@ namespace OpenSim.Region.Physics.PhysXPlugin public PhysXCharacter(NxCharacter character) { - _velocity = new PhysicsVector(); - _position = new PhysicsVector(); - _acceleration = new PhysicsVector(); _character = character; } @@ -310,7 +308,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin set { return; } } - public override PhysicsVector RotationalVelocity + public override Vector3 RotationalVelocity { get { return m_rotationalVelocity; } set { m_rotationalVelocity = value; } @@ -321,7 +319,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin get { return false; } } - public override PhysicsVector Position + public override Vector3 Position { get { return _position; } set @@ -335,9 +333,9 @@ namespace OpenSim.Region.Physics.PhysXPlugin } } - public override PhysicsVector Size + public override Vector3 Size { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { } } @@ -346,9 +344,9 @@ namespace OpenSim.Region.Physics.PhysXPlugin get { return 0f; } } - public override PhysicsVector Force + public override Vector3 Force { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -363,7 +361,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin } - public override void VehicleVectorParam(int param, PhysicsVector value) + public override void VehicleVectorParam(int param, Vector3 value) { } @@ -379,17 +377,17 @@ namespace OpenSim.Region.Physics.PhysXPlugin } - public override PhysicsVector CenterOfMass + public override Vector3 CenterOfMass { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector GeometricCenter + public override Vector3 GeometricCenter { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector Velocity + public override Vector3 Velocity { get { return _velocity; } set { _velocity = value; } @@ -413,25 +411,25 @@ namespace OpenSim.Region.Physics.PhysXPlugin set { } } - public override PhysicsVector Acceleration + public override Vector3 Acceleration { get { return _acceleration; } } - public void SetAcceleration(PhysicsVector accel) + public void SetAcceleration(Vector3 accel) { _acceleration = accel; } - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(Vector3 force, bool pushforce) { } - public override PhysicsVector Torque + public override Vector3 Torque { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } - public override void AddAngularForce(PhysicsVector force, bool pushforce) + public override void AddAngularForce(Vector3 force, bool pushforce) { } @@ -445,12 +443,12 @@ namespace OpenSim.Region.Physics.PhysXPlugin } - public override void LockAngularMotion(PhysicsVector axis) + public override void LockAngularMotion(Vector3 axis) { } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(Vector3 momentum) { } @@ -492,7 +490,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin } - public override PhysicsVector PIDTarget { set { return; } } + public override Vector3 PIDTarget { set { return; } } public override bool PIDActive { set { return; } } public override float PIDTau { set { return; } } @@ -518,15 +516,15 @@ namespace OpenSim.Region.Physics.PhysXPlugin public class PhysXPrim : PhysicsActor { - private PhysicsVector _velocity; - private PhysicsVector _acceleration; - private PhysicsVector m_rotationalVelocity; + private Vector3 _velocity; + private Vector3 _acceleration; + private Vector3 m_rotationalVelocity; private NxActor _prim; public PhysXPrim(NxActor prim) { - _velocity = new PhysicsVector(); - _acceleration = new PhysicsVector(); + _velocity = Vector3.Zero; + _acceleration = Vector3.Zero; _prim = prim; } @@ -580,7 +578,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin set { return; } } - public override PhysicsVector RotationalVelocity + public override Vector3 RotationalVelocity { get { return m_rotationalVelocity; } set { m_rotationalVelocity = value; } @@ -616,11 +614,11 @@ namespace OpenSim.Region.Physics.PhysXPlugin get { return false; } } - public override PhysicsVector Position + public override Vector3 Position { get { - PhysicsVector pos = new PhysicsVector(); + Vector3 pos = Vector3.Zero; Vec3 vec = _prim.Position; pos.X = vec.X; pos.Y = vec.Y; @@ -629,7 +627,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin } set { - PhysicsVector vec = value; + Vector3 vec = value; Vec3 pos = new Vec3(); pos.X = vec.X; pos.Y = vec.Y; @@ -643,15 +641,15 @@ namespace OpenSim.Region.Physics.PhysXPlugin set { return; } } - public override PhysicsVector Velocity + public override Vector3 Velocity { get { return _velocity; } set { _velocity = value; } } - public override PhysicsVector Torque + public override Vector3 Torque { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -682,31 +680,31 @@ namespace OpenSim.Region.Physics.PhysXPlugin set { } } - public override PhysicsVector Acceleration + public override Vector3 Acceleration { get { return _acceleration; } } - public void SetAcceleration(PhysicsVector accel) + public void SetAcceleration(Vector3 accel) { _acceleration = accel; } - public override void AddForce(PhysicsVector force, bool pushforce) + public override void AddForce(Vector3 force, bool pushforce) { } - public override void AddAngularForce(PhysicsVector force, bool pushforce) + public override void AddAngularForce(Vector3 force, bool pushforce) { } - public override void SetMomentum(PhysicsVector momentum) + public override void SetMomentum(Vector3 momentum) { } - public override PhysicsVector Size + public override Vector3 Size { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { } } @@ -718,7 +716,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin { } - public override void LockAngularMotion(PhysicsVector axis) + public override void LockAngularMotion(Vector3 axis) { } @@ -728,9 +726,9 @@ namespace OpenSim.Region.Physics.PhysXPlugin get { return 0f; } } - public override PhysicsVector Force + public override Vector3 Force { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } set { return; } } @@ -745,7 +743,7 @@ namespace OpenSim.Region.Physics.PhysXPlugin } - public override void VehicleVectorParam(int param, PhysicsVector value) + public override void VehicleVectorParam(int param, Vector3 value) { } @@ -760,21 +758,21 @@ namespace OpenSim.Region.Physics.PhysXPlugin } - public override PhysicsVector CenterOfMass + public override Vector3 CenterOfMass { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } - public override PhysicsVector GeometricCenter + public override Vector3 GeometricCenter { - get { return PhysicsVector.Zero; } + get { return Vector3.Zero; } } public override void CrossingFailure() { } - public override PhysicsVector PIDTarget { set { return; } } + public override Vector3 PIDTarget { set { return; } } public override bool PIDActive { set { return; } } public override float PIDTau { set { return; } } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 56d4d28b6d..3849558a07 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -2047,7 +2047,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (local != 0) force *= llGetRot(); - m_host.ParentGroup.RootPart.SetForce(new PhysicsVector((float)force.x, (float)force.y, (float)force.z)); + m_host.ParentGroup.RootPart.SetForce(new Vector3((float)force.x, (float)force.y, (float)force.z)); } } } @@ -2062,7 +2062,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { if (!m_host.ParentGroup.IsDeleted) { - PhysicsVector tmpForce = m_host.ParentGroup.RootPart.GetForce(); + Vector3 tmpForce = m_host.ParentGroup.RootPart.GetForce(); force.x = tmpForce.X; force.y = tmpForce.Y; force.z = tmpForce.Z; @@ -4180,7 +4180,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { applied_linear_impulse *= m_host.GetWorldRotation(); } - pusheeav.PhysicsActor.AddForce(new PhysicsVector(applied_linear_impulse.X, applied_linear_impulse.Y, applied_linear_impulse.Z), true); + pusheeav.PhysicsActor.AddForce(applied_linear_impulse, true); } } } @@ -6088,7 +6088,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (!m_host.ParentGroup.IsDeleted) { m_host.ParentGroup.RootPart.SetVehicleVectorParam(param, - new PhysicsVector((float)vec.x, (float)vec.y, (float)vec.z)); + new Vector3((float)vec.x, (float)vec.y, (float)vec.z)); } } } From f5cad91578d9f7dbfb54d17bb476929e935682a8 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Mon, 26 Oct 2009 19:03:55 -0700 Subject: [PATCH 48/60] * Switched from OpenJPEG to CSJ2K in Meshmerizer * Tested the previous patch and found no regressions --- OpenSim/Region/Physics/Meshing/Meshmerizer.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs index a90a89a615..fbe1949994 100644 --- a/OpenSim/Region/Physics/Meshing/Meshmerizer.cs +++ b/OpenSim/Region/Physics/Meshing/Meshmerizer.cs @@ -31,7 +31,6 @@ using System.Collections.Generic; using OpenSim.Framework; using OpenSim.Region.Physics.Manager; using OpenMetaverse; -using OpenMetaverse.Imaging; using System.Drawing; using System.Drawing.Imaging; using PrimMesher; @@ -285,8 +284,7 @@ namespace OpenSim.Region.Physics.Meshing try { - ManagedImage managedImage; // we never use this - OpenJPEG.DecodeToImage(primShape.SculptData, out managedImage, out idata); + idata = CSJ2K.J2kImage.FromBytes(primShape.SculptData); if (cacheSculptMaps) { From 322b39804d3659b637c2b9a4df13c247dfa561c6 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Mon, 26 Oct 2009 22:05:07 -0700 Subject: [PATCH 49/60] Adding missing CSJ2K reference to OpenSim.Region.Physics.Meshing --- prebuild.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/prebuild.xml b/prebuild.xml index 640d530064..12e33e9a2b 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -588,6 +588,7 @@ ../../../../bin/ + From c75d4156487b35aac47aa6818144862a99bb841c Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Tue, 27 Oct 2009 00:26:56 -0700 Subject: [PATCH 50/60] * Converts ClientManager.ForEach() (and as a result, Scene.ForEachClient()) to use a non-blocking parallel method when operating in async mode * Minor code readability cleanup --- OpenSim/Framework/ClientManager.cs | 5 ++++- OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 8 +++++--- OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs | 2 +- OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | 5 ++--- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/OpenSim/Framework/ClientManager.cs b/OpenSim/Framework/ClientManager.cs index 61b59e76b5..baff2f4354 100644 --- a/OpenSim/Framework/ClientManager.cs +++ b/OpenSim/Framework/ClientManager.cs @@ -204,7 +204,10 @@ namespace OpenSim.Framework public void ForEach(Action action) { IClientAPI[] localArray = m_array; - Parallel.ForEach(localArray, action); + Parallel.For(0, localArray.Length, + delegate(int i) + { action(localArray[i]); } + ); } /// diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 31028b35b4..f6a7a0ce54 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -2105,12 +2105,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP public void SendViewerEffect(ViewerEffectPacket.EffectBlock[] effectBlocks) { ViewerEffectPacket packet = (ViewerEffectPacket)PacketPool.Instance.GetPacket(PacketType.ViewerEffect); - packet.Effect = effectBlocks; + packet.Header.Reliable = false; + packet.Header.Zerocoded = true; packet.AgentData.AgentID = AgentId; packet.AgentData.SessionID = SessionId; - packet.Header.Reliable = false; - packet.Header.Zerocoded = true; + + packet.Effect = effectBlocks; + OutPacket(packet, ThrottleOutPacketType.State); } diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs index a823f3ba1f..84a495959a 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPClient.cs @@ -372,7 +372,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP OpenSim.Framework.LocklessQueue queue = m_packetOutboxes[category]; TokenBucket bucket = m_throttleCategories[category]; - if (m_throttleCategories[category].RemoveTokens(packet.Buffer.DataLength)) + if (bucket.RemoveTokens(packet.Buffer.DataLength)) { // Enough tokens were removed from the bucket, the packet will not be queued return false; diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs index cfe32d06c3..1a91f0c9b0 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs @@ -394,7 +394,7 @@ namespace OpenSim.Region.Framework.Scenes void ProcessViewerEffect(IClientAPI remoteClient, List args) { // TODO: don't create new blocks if recycling an old packet - List effectBlock = new List(); + ViewerEffectPacket.EffectBlock[] effectBlockArray = new ViewerEffectPacket.EffectBlock[args.Count]; for (int i = 0; i < args.Count; i++) { ViewerEffectPacket.EffectBlock effect = new ViewerEffectPacket.EffectBlock(); @@ -404,9 +404,8 @@ namespace OpenSim.Region.Framework.Scenes effect.ID = args[i].ID; effect.Type = args[i].Type; effect.TypeData = args[i].TypeData; - effectBlock.Add(effect); + effectBlockArray[i] = effect; } - ViewerEffectPacket.EffectBlock[] effectBlockArray = effectBlock.ToArray(); ForEachClient( delegate(IClientAPI client) From b498693cff9b044e8ab3c7a88a18e9d67f16461b Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Tue, 27 Oct 2009 01:46:14 -0700 Subject: [PATCH 51/60] * Tweak to region module loading to check for a matching constructor first instead of throwing and catching exceptions * Commenting out the MySQL startup sequence that cleans out dropped attachments under the advice that it is no longer relevant. If anything, it could be brought back as a database cleanup console command * Updated to the latest libomv 0.8.0-pre. UUID.TryParse() will no longer throw and catch exceptions for most failed UUID parses --- .../RegionModulesControllerPlugin.cs | 13 +++---- OpenSim/Data/MySQL/MySQLLegacyRegionData.cs | 32 ++++++++++-------- OpenSim/Tools/pCampBot/PhysicsBot.cs | 7 ++-- bin/OpenMetaverse.dll | Bin 1638400 -> 1642496 bytes bin/OpenMetaverseTypes.dll | Bin 102400 -> 102400 bytes 5 files changed, 29 insertions(+), 23 deletions(-) diff --git a/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs b/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs index ddc37edd85..6c0c74d1a8 100644 --- a/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs +++ b/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs @@ -341,14 +341,15 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController // Actually load it INonSharedRegionModule module = null; - try - { + + Type[] ctorParamTypes = new Type[ctorArgs.Length]; + for (int i = 0; i < ctorParamTypes.Length; i++) + ctorParamTypes[i] = ctorArgs[i].GetType(); + + if (node.Type.GetConstructor(ctorParamTypes) != null) module = (INonSharedRegionModule)Activator.CreateInstance(node.Type, ctorArgs); - } - catch - { + else module = (INonSharedRegionModule)Activator.CreateInstance(node.Type); - } // Check for replaceable interfaces Type replaceableInterface = module.ReplaceableInterface; diff --git a/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs b/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs index c07963cf51..a807948bde 100644 --- a/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs +++ b/OpenSim/Data/MySQL/MySQLLegacyRegionData.cs @@ -66,22 +66,26 @@ namespace OpenSim.Data.MySQL Migration m = new Migration(m_Connection, assem, "RegionStore"); m.Update(); + // NOTE: This is a very slow query that times out on regions with a lot of prims. + // I'm told that it is no longer relevant so it's commented out now, but if it + // is relevant it should be added as a console command instead of part of the + // startup phase // Clean dropped attachments // - try - { - using (MySqlCommand cmd = m_Connection.CreateCommand()) - { - cmd.CommandText = "delete from prims, primshapes using prims " + - "left join primshapes on prims.uuid = primshapes.uuid " + - "where PCode = 9 and State <> 0"; - ExecuteNonQuery(cmd); - } - } - catch (MySqlException ex) - { - m_log.Error("[REGION DB]: Error cleaning up dropped attachments: " + ex.Message); - } + //try + //{ + // using (MySqlCommand cmd = m_Connection.CreateCommand()) + // { + // cmd.CommandText = "delete from prims, primshapes using prims " + + // "left join primshapes on prims.uuid = primshapes.uuid " + + // "where PCode = 9 and State <> 0"; + // ExecuteNonQuery(cmd); + // } + //} + //catch (MySqlException ex) + //{ + // m_log.Error("[REGION DB]: Error cleaning up dropped attachments: " + ex.Message); + //} } private IDataReader ExecuteReader(MySqlCommand c) diff --git a/OpenSim/Tools/pCampBot/PhysicsBot.cs b/OpenSim/Tools/pCampBot/PhysicsBot.cs index 426ef29885..38986a28ff 100644 --- a/OpenSim/Tools/pCampBot/PhysicsBot.cs +++ b/OpenSim/Tools/pCampBot/PhysicsBot.cs @@ -154,7 +154,7 @@ namespace pCampBot client.Network.OnConnected += new NetworkManager.ConnectedCallback(this.Network_OnConnected); client.Network.OnSimConnected += new NetworkManager.SimConnectedCallback(this.Network_OnConnected); client.Network.OnDisconnected += new NetworkManager.DisconnectedCallback(this.Network_OnDisconnected); - client.Objects.OnNewPrim += Objects_NewPrim; + client.Objects.ObjectUpdate += Objects_NewPrim; //client.Assets.OnAssetReceived += Asset_ReceivedCallback; if (client.Network.Login(firstname, lastname, password, "pCampBot", "Your name")) { @@ -369,8 +369,10 @@ namespace pCampBot } } - public void Objects_NewPrim(Simulator simulator, Primitive prim, ulong regionHandle, ushort timeDilation) + public void Objects_NewPrim(object sender, PrimEventArgs args) { + Primitive prim = args.Prim; + if (prim != null) { if (prim.Textures != null) @@ -396,7 +398,6 @@ namespace pCampBot client.Assets.RequestImage(prim.Sculpt.SculptTexture, ImageType.Normal, Asset_TextureCallback_Texture); } } - } diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 3f9255e9e73955fe4edbb42aced70109dcd7e54d..8b07942fcb4a4000f30a40f2c361ecbd3e775022 100644 GIT binary patch literal 1642496 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%0AB!?JfI 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∓y;d!}V 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
    *e@Zi6Aetiz?4yK#1?OS3+h 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

    gPu6DEopQi(qCK~I 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

    u$!qG&z6k%$Cxs;70k<6aB!KOM; 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

    DY~)O)tNktfbkX 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 DJ3t#y diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 6cea1312a14fca553caa83aa791ec9ca726eb756..331d58b7229a4521e54782f1d3b5e63618288f6e 100644 GIT binary patch literal 102400 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 R3+%JNJ`3!#!2i=0_}>a>d{qDd literal 102400 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 From 3a1ee79ee4239213b35f6b73a65c127c2af977fb Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Tue, 27 Oct 2009 02:36:57 -0700 Subject: [PATCH 52/60] Finally hunted down the Parallel deadlock. Packets were being handled asynchronously (filling up the threadpool with handlers), which would turn around and try to do parallel operations on the starved threadpool. The solution for now is to disable Parallel.cs operations until we can gracefully handle parallel operations with a potentially starved threadpool --- OpenSim/Region/Framework/Scenes/Scene.cs | 15 +++++++++------ bin/OpenSim.ini.example | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 6c34056605..42051d07e1 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -120,7 +120,7 @@ namespace OpenSim.Region.Framework.Scenes private readonly Timer m_restartTimer = new Timer(15000); // Wait before firing private int m_incrementsof15seconds; private volatile bool m_backingup; - private bool m_useAsyncWhenPossible = true; + private bool m_useAsyncWhenPossible; private Dictionary m_returns = new Dictionary(); private Dictionary m_groupsWithTargets = new Dictionary(); @@ -480,7 +480,7 @@ namespace OpenSim.Region.Framework.Scenes IConfig startupConfig = m_config.Configs["Startup"]; // Should we try to run loops synchronously or asynchronously? - m_useAsyncWhenPossible = startupConfig.GetBoolean("use_async_when_possible", true); + m_useAsyncWhenPossible = startupConfig.GetBoolean("use_async_when_possible", false); //Animation states m_useFlySlow = startupConfig.GetBoolean("enableflyslow", false); @@ -4261,10 +4261,13 @@ namespace OpenSim.Region.Framework.Scenes public void ForEachClient(Action action, bool doAsynchronous) { - if (doAsynchronous) - m_clientManager.ForEach(action); - else - m_clientManager.ForEachSync(action); + // FIXME: Asynchronous iteration is disabled until we have a threading model that + // can support calling this function from an async packet handler without + // potentially deadlocking + //if (doAsynchronous) + // m_clientManager.ForEach(action); + //else + // m_clientManager.ForEachSync(action); } public bool TryGetClient(UUID avatarID, out IClientAPI client) diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 2adc87f440..4f1799e94c 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -49,7 +49,7 @@ ; in parallel. Running in parallel should increase performance ; on a multi-core system, but will make debugging more ; difficult if something deadlocks or times out - use_async_when_possible = true + use_async_when_possible = false ; Max threads to allocate on the FireAndForget thread pool ; when running with the SmartThreadPool option above From bcd7593dfbd7ed3a2436b0eb0a1c7e2577d6b7ea Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Tue, 27 Oct 2009 10:07:35 -0700 Subject: [PATCH 53/60] Forgot a line in the previous commit --- OpenSim/Region/Framework/Scenes/Scene.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 42051d07e1..3c23c741a7 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -4264,6 +4264,8 @@ namespace OpenSim.Region.Framework.Scenes // FIXME: Asynchronous iteration is disabled until we have a threading model that // can support calling this function from an async packet handler without // potentially deadlocking + m_clientManager.ForEachSync(action); + //if (doAsynchronous) // m_clientManager.ForEach(action); //else From a718d7d56a3f7d99b33f0ebc246b419aeec06308 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Tue, 27 Oct 2009 10:17:20 -0700 Subject: [PATCH 54/60] Making the defaults for interest management variables match whether you have the [InterestManagement] section in your config or not --- OpenSim/Region/Framework/Scenes/Scene.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 3c23c741a7..7c3875d5f0 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -282,9 +282,9 @@ namespace OpenSim.Region.Framework.Scenes private UpdatePrioritizationSchemes m_update_prioritization_scheme = UpdatePrioritizationSchemes.Time; private bool m_reprioritization_enabled = true; - private double m_reprioritization_interval = 2000.0; - private double m_root_reprioritization_distance = 5.0; - private double m_child_reprioritization_distance = 10.0; + private double m_reprioritization_interval = 5000.0; + private double m_root_reprioritization_distance = 10.0; + private double m_child_reprioritization_distance = 20.0; private object m_deleting_scene_object = new object(); From fefe767476f3233a7cf2d2dd68d967f23231c73e Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Tue, 27 Oct 2009 13:16:58 -0700 Subject: [PATCH 55/60] Lowering the position tolerance of terse updates for ScenePresences to mitigate some of the rubberbanding issues while we are sending incorrect time dilation values --- OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 70f3112d20..9b11582d7b 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -2394,7 +2394,7 @@ if (m_shape != null) { public void SendScheduledUpdates() { const float VELOCITY_TOLERANCE = 0.01f; - const float POSITION_TOLERANCE = 10.0f; + const float POSITION_TOLERANCE = 0.1f; if (m_updateFlag == 1) { From 2525810e2a1b23f9c5b17b3d075e02c0c6255e2c Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Tue, 27 Oct 2009 13:31:04 -0700 Subject: [PATCH 56/60] Removed the DotNetEngine scripting engine. You will need to create a fresh checkout or clean out all *DotNet*.dll assemblies from the bin/ directory to run OpenSim moving forward --- .../DotNetEngine/AppDomainManager.cs | 234 ------ .../ScriptEngine/DotNetEngine/Common.cs | 51 -- .../ScriptEngine/DotNetEngine/EventManager.cs | 544 -------------- .../DotNetEngine/EventQueueManager.cs | 460 ------------ .../DotNetEngine/EventQueueThreadClass.cs | 428 ----------- .../DotNetEngine/MaintenanceThread.cs | 238 ------ .../DotNetEngine/Properties/AssemblyInfo.cs | 65 -- .../Resources/DotNetEngine.addin.xml | 13 - .../ScriptEngine/DotNetEngine/ScriptEngine.cs | 485 ------------ .../DotNetEngine/ScriptManager.cs | 703 ------------------ .../DotNetEngine/Commands_LSL/Commands_LSL.cs | 40 - .../Commands_LSL/LSL_BaseClass.cs | 56 -- .../Commands_LSL/Properties/AssemblyInfo.cs | 63 -- .../Commands_OSSL/Commands_OSSL.cs | 44 -- .../Commands_OSSL/Properties/AssemblyInfo.cs | 63 -- .../DotNetEngine/Compilers/CILCompiler.cs | 187 ----- .../DotNetEngine/Compilers/Compiler_CS.cs | 70 -- .../DotNetEngine/Compilers/Compiler_JS.cs | 56 -- .../DotNetEngine/Compilers/Compiler_LSL.cs | 57 -- .../DotNetEngine/Compilers/Compiler_VB.cs | 56 -- .../DotNetEngine/Compilers/Compiler_YP.cs | 55 -- .../DotNetEngine/Compilers/LSL/LSL2CS.cs | 44 -- .../Compilers/Properties/AssemblyInfo.cs | 63 -- .../DotNetEngine/Compilers/YP/YP2CS.cs | 54 -- .../DotNetEngine/Events/LSLEventProvider.cs | 121 --- .../Events/Properties/AssemblyInfo.cs | 63 -- .../Scheduler/BaseClassFactory.cs | 240 ------ .../Scheduler/LoadUnloadStructure.cs | 49 -- .../Scheduler/Properties/AssemblyInfo.cs | 63 -- .../DotNetEngine/Scheduler/Scheduler.cs | 55 -- .../DotNetEngine/Scheduler/ScriptLoader.cs | 216 ------ .../DotNetEngine/Scheduler/ScriptManager.cs | 203 ----- .../ScriptManager_ScriptLoadUnload.cs | 287 ------- .../Engines/DotNetEngine/DotNetEngine.cs | 196 ----- .../DotNetEngine_ScriptLoadUnload.cs | 95 --- .../DotNetEngine/Properties/AssemblyInfo.cs | 63 -- bin/OpenSim.ini.example | 128 +--- 37 files changed, 1 insertion(+), 5907 deletions(-) delete mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs delete mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/Common.cs delete mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs delete mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueManager.cs delete mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs delete mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/MaintenanceThread.cs delete mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/Properties/AssemblyInfo.cs delete mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/Resources/DotNetEngine.addin.xml delete mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs delete mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Commands_LSL.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/LSL_BaseClass.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Properties/AssemblyInfo.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Commands_OSSL.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Properties/AssemblyInfo.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/CILCompiler.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_CS.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_JS.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_LSL.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_VB.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_YP.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/LSL/LSL2CS.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Properties/AssemblyInfo.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/YP/YP2CS.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Events/LSLEventProvider.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Events/Properties/AssemblyInfo.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/BaseClassFactory.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/LoadUnloadStructure.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Properties/AssemblyInfo.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Scheduler.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/ScriptLoader.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/ScriptManager.cs delete mode 100644 OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/ScriptManager_ScriptLoadUnload.cs delete mode 100644 OpenSim/ScriptEngine/Engines/DotNetEngine/DotNetEngine.cs delete mode 100644 OpenSim/ScriptEngine/Engines/DotNetEngine/DotNetEngine_ScriptLoadUnload.cs delete mode 100644 OpenSim/ScriptEngine/Engines/DotNetEngine/Properties/AssemblyInfo.cs diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs deleted file mode 100644 index 7116512347..0000000000 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs +++ /dev/null @@ -1,234 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Reflection; -using System.Security; -using System.Security.Policy; -using System.Security.Permissions; -using OpenSim.Region.ScriptEngine.Interfaces; -using OpenSim.Region.ScriptEngine.Shared.ScriptBase; -using log4net; - -namespace OpenSim.Region.ScriptEngine.DotNetEngine -{ - public class AppDomainManager - { - // - // This class does AppDomain handling and loading/unloading of - // scripts in it. It is instanced in "ScriptEngine" and controlled - // from "ScriptManager" - // - // 1. Create a new AppDomain if old one is full (or doesn't exist) - // 2. Load scripts into AppDomain - // 3. Unload scripts from AppDomain (stopping them and marking - // them as inactive) - // 4. Unload AppDomain completely when all scripts in it has stopped - // - - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - private int maxScriptsPerAppDomain = 1; - - // Internal list of all AppDomains - private List appDomains = - new List(); - - // Structure to keep track of data around AppDomain - private class AppDomainStructure - { - // The AppDomain itself - public AppDomain CurrentAppDomain; - - // Number of scripts loaded into AppDomain - public int ScriptsLoaded; - - // Number of dead scripts - public int ScriptsWaitingUnload; - } - - // Current AppDomain - private AppDomainStructure currentAD; - - private object getLock = new object(); // Mutex - private object freeLock = new object(); // Mutex - - private ScriptEngine m_scriptEngine; - //public AppDomainManager(ScriptEngine scriptEngine) - public AppDomainManager(ScriptEngine scriptEngine) - { - m_scriptEngine = scriptEngine; - ReadConfig(); - } - - public void ReadConfig() - { - maxScriptsPerAppDomain = m_scriptEngine.ScriptConfigSource.GetInt( - "ScriptsPerAppDomain", 1); - } - - // Find a free AppDomain, creating one if necessary - private AppDomainStructure GetFreeAppDomain() - { - lock (getLock) - { - // Current full? - if (currentAD != null && - currentAD.ScriptsLoaded >= maxScriptsPerAppDomain) - { - // Add it to AppDomains list and empty current - appDomains.Add(currentAD); - currentAD = null; - } - // No current - if (currentAD == null) - { - // Create a new current AppDomain - currentAD = new AppDomainStructure(); - currentAD.CurrentAppDomain = PrepareNewAppDomain(); - } - - return currentAD; - } - } - - private int AppDomainNameCount; - - // Create and prepare a new AppDomain for scripts - private AppDomain PrepareNewAppDomain() - { - // Create and prepare a new AppDomain - AppDomainNameCount++; - - // TODO: Currently security match current appdomain - - // Construct and initialize settings for a second AppDomain. - AppDomainSetup ads = new AppDomainSetup(); - ads.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory; - ads.DisallowBindingRedirects = true; - ads.DisallowCodeDownload = true; - ads.LoaderOptimization = LoaderOptimization.MultiDomainHost; - ads.ShadowCopyFiles = "false"; // Disable shadowing - ads.ConfigurationFile = - AppDomain.CurrentDomain.SetupInformation.ConfigurationFile; - - AppDomain AD = AppDomain.CreateDomain("ScriptAppDomain_" + - AppDomainNameCount, null, ads); - - m_log.Info("[" + m_scriptEngine.ScriptEngineName + - "]: AppDomain Loading: " + - AssemblyName.GetAssemblyName( - "OpenSim.Region.ScriptEngine.Shared.dll").ToString()); - AD.Load(AssemblyName.GetAssemblyName( - "OpenSim.Region.ScriptEngine.Shared.dll")); - - // Return the new AppDomain - return AD; - } - - // Unload appdomains that are full and have only dead scripts - private void UnloadAppDomains() - { - lock (freeLock) - { - // Go through all - foreach (AppDomainStructure ads in new ArrayList(appDomains)) - { - // Don't process current AppDomain - if (ads.CurrentAppDomain != currentAD.CurrentAppDomain) - { - // Not current AppDomain - // Is number of unloaded bigger or equal to number of loaded? - if (ads.ScriptsLoaded <= ads.ScriptsWaitingUnload) - { - // Remove from internal list - appDomains.Remove(ads); - - // Unload - AppDomain.Unload(ads.CurrentAppDomain); - } - } - } - } - } - - public IScript LoadScript(string FileName, out AppDomain ad) - { - // Find next available AppDomain to put it in - AppDomainStructure FreeAppDomain = GetFreeAppDomain(); - - IScript mbrt = (IScript) - FreeAppDomain.CurrentAppDomain.CreateInstanceFromAndUnwrap( - FileName, "SecondLife.Script"); - - FreeAppDomain.ScriptsLoaded++; - ad = FreeAppDomain.CurrentAppDomain; - - return mbrt; - } - - - // Increase "dead script" counter for an AppDomain - public void StopScript(AppDomain ad) - { - lock (freeLock) - { - // Check if it is current AppDomain - if (currentAD.CurrentAppDomain == ad) - { - // Yes - increase - currentAD.ScriptsWaitingUnload++; - return; - } - - // Lopp through all AppDomains - foreach (AppDomainStructure ads in new ArrayList(appDomains)) - { - if (ads.CurrentAppDomain == ad) - { - // Found it - ads.ScriptsWaitingUnload++; - break; - } - } - } - - UnloadAppDomains(); // Outsite lock, has its own GetLock - } - - // If set to true then threads and stuff should try - // to make a graceful exit - public bool PleaseShutdown - { - get { return _PleaseShutdown; } - set { _PleaseShutdown = value; } - } - private bool _PleaseShutdown = false; - } -} diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Common.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Common.cs deleted file mode 100644 index 1cd60e3df3..0000000000 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Common.cs +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System.Reflection; -using log4net; - -namespace OpenSim.Region.ScriptEngine.DotNetEngine -{ - public static class Common - { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - public static ScriptEngine mySE; - - // This class just contains some static log stuff used for debugging. - - public static void SendToDebug(string message) - { - m_log.Info("[" + mySE.ScriptEngineName + "]: Debug: " + message); - } - - public static void SendToLog(string message) - { - m_log.Info("[" + mySE.ScriptEngineName + "]: LOG: " + message); - } - } -} diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs deleted file mode 100644 index 4e13fb33b3..0000000000 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/EventManager.cs +++ /dev/null @@ -1,544 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Reflection; -using OpenMetaverse; -using OpenSim.Framework; -using OpenSim.Region.CoreModules; -using OpenSim.Region; -using OpenSim.Region.Framework.Scenes; -using OpenSim.Region.Framework.Interfaces; -using OpenSim.Region.ScriptEngine.Shared; -using log4net; - -namespace OpenSim.Region.ScriptEngine.DotNetEngine -{ - ///

    - /// Prepares events so they can be directly executed upon a script by EventQueueManager, then queues it. - /// - [Serializable] - public class EventManager - { - // - // Class is instanced in "ScriptEngine" and Uses "EventQueueManager" - // that is also instanced in "ScriptEngine". - // This class needs a bit of explaining: - // - // This class it the link between an event inside OpenSim and - // the corresponding event in a user script being executed. - // - // For example when an user touches an object then the - // "myScriptEngine.World.EventManager.OnObjectGrab" event is fired - // inside OpenSim. - // We hook up to this event and queue a touch_start in - // EventQueueManager with the proper LSL parameters. - // It will then be delivered to the script by EventQueueManager. - // - // You can check debug C# dump of an LSL script if you need to - // verify what exact parameters are needed. - // - - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - private ScriptEngine myScriptEngine; - - public EventManager(ScriptEngine _ScriptEngine, bool performHookUp) - { - myScriptEngine = _ScriptEngine; - ReadConfig(); - - if (performHookUp) - { - myScriptEngine.World.EventManager.OnRezScript += OnRezScript; - } - } - - public void HookUpEvents() - { - m_log.Info("[" + myScriptEngine.ScriptEngineName + - "]: Hooking up to server events"); - - myScriptEngine.World.EventManager.OnObjectGrab += - touch_start; - myScriptEngine.World.EventManager.OnObjectDeGrab += - touch_end; - myScriptEngine.World.EventManager.OnRemoveScript += - OnRemoveScript; - myScriptEngine.World.EventManager.OnScriptChangedEvent += - changed; - myScriptEngine.World.EventManager.OnScriptAtTargetEvent += - at_target; - myScriptEngine.World.EventManager.OnScriptNotAtTargetEvent += - not_at_target; - myScriptEngine.World.EventManager.OnScriptControlEvent += - control; - myScriptEngine.World.EventManager.OnScriptColliderStart += - collision_start; - myScriptEngine.World.EventManager.OnScriptColliding += - collision; - myScriptEngine.World.EventManager.OnScriptCollidingEnd += - collision_end; - - IMoneyModule money = - myScriptEngine.World.RequestModuleInterface(); - if (money != null) - money.OnObjectPaid+=HandleObjectPaid; - } - - public void ReadConfig() - { - } - - private void HandleObjectPaid(UUID objectID, UUID agentID, int amount) - { - SceneObjectPart part = - myScriptEngine.World.GetSceneObjectPart(objectID); - - if (part != null) - { - money(part.LocalId, agentID, amount); - } - } - - public void changed(uint localID, uint change) - { - // Add to queue for all scripts in localID, Object pass change. - myScriptEngine.PostObjectEvent(localID, new EventParams( - "changed",new object[] { new LSL_Types.LSLInteger(change) }, - new DetectParams[0])); - } - - public void state_entry(uint localID) - { - // Add to queue for all scripts in ObjectID object - myScriptEngine.PostObjectEvent(localID, new EventParams( - "state_entry",new object[] { }, - new DetectParams[0])); - } - - public void touch_start(uint localID, uint originalID, - Vector3 offsetPos, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs) - { - // Add to queue for all scripts in ObjectID object - DetectParams[] det = new DetectParams[1]; - det[0] = new DetectParams(); - det[0].Key = remoteClient.AgentId; - det[0].Populate(myScriptEngine.World); - - if (originalID == 0) - { - SceneObjectPart part = - myScriptEngine.World.GetSceneObjectPart(localID); - - if (part == null) - return; - - det[0].LinkNum = part.LinkNum; - } - else - { - SceneObjectPart originalPart = - myScriptEngine.World.GetSceneObjectPart(originalID); - det[0].LinkNum = originalPart.LinkNum; - } - if (surfaceArgs != null) - { - det[0].SurfaceTouchArgs = surfaceArgs; - } - - myScriptEngine.PostObjectEvent(localID, new EventParams( - "touch_start", new Object[] { new LSL_Types.LSLInteger(1) }, - det)); - } - - public void touch(uint localID, uint originalID, Vector3 offsetPos, - IClientAPI remoteClient) - { - // Add to queue for all scripts in ObjectID object - DetectParams[] det = new DetectParams[1]; - det[0] = new DetectParams(); - det[0].Key = remoteClient.AgentId; - det[0].Populate(myScriptEngine.World); - det[0].OffsetPos = new LSL_Types.Vector3(offsetPos.X, - offsetPos.Y, - offsetPos.Z); - - if (originalID == 0) - { - SceneObjectPart part = myScriptEngine.World.GetSceneObjectPart(localID); - if (part == null) - return; - - det[0].LinkNum = part.LinkNum; - } - else - { - SceneObjectPart originalPart = myScriptEngine.World.GetSceneObjectPart(originalID); - det[0].LinkNum = originalPart.LinkNum; - } - - myScriptEngine.PostObjectEvent(localID, new EventParams( - "touch", new Object[] { new LSL_Types.LSLInteger(1) }, - det)); - } - - public void touch_end(uint localID, uint originalID, IClientAPI remoteClient, - SurfaceTouchEventArgs surfaceArgs) - { - // Add to queue for all scripts in ObjectID object - DetectParams[] det = new DetectParams[1]; - det[0] = new DetectParams(); - det[0].Key = remoteClient.AgentId; - det[0].Populate(myScriptEngine.World); - - if (originalID == 0) - { - SceneObjectPart part = - myScriptEngine.World.GetSceneObjectPart(localID); - if (part == null) - return; - - det[0].LinkNum = part.LinkNum; - } - else - { - SceneObjectPart originalPart = - myScriptEngine.World.GetSceneObjectPart(originalID); - det[0].LinkNum = originalPart.LinkNum; - } - - if (surfaceArgs != null) - { - det[0].SurfaceTouchArgs = surfaceArgs; - } - - myScriptEngine.PostObjectEvent(localID, new EventParams( - "touch_end", new Object[] { new LSL_Types.LSLInteger(1) }, - det)); - } - - public void OnRezScript(uint localID, UUID itemID, string script, - int startParam, bool postOnRez, string engine, int stateSource) - { - if (script.StartsWith("//MRM:")) - return; - - List engines = - new List( - myScriptEngine.World.RequestModuleInterfaces()); - - List names = new List(); - foreach (IScriptModule m in engines) - names.Add(m.ScriptEngineName); - - int lineEnd = script.IndexOf('\n'); - - if (lineEnd > 1) - { - string firstline = script.Substring(0, lineEnd).Trim(); - - int colon = firstline.IndexOf(':'); - if (firstline.Length > 2 && - firstline.Substring(0, 2) == "//" && colon != -1) - { - string engineName = firstline.Substring(2, colon-2); - - if (names.Contains(engineName)) - { - engine = engineName; - script = "//" + script.Substring(script.IndexOf(':')+1); - } - else - { - if (engine == myScriptEngine.ScriptEngineName) - { - SceneObjectPart part = - myScriptEngine.World.GetSceneObjectPart( - localID); - - TaskInventoryItem item = - part.Inventory.GetInventoryItem(itemID); - - ScenePresence presence = - myScriptEngine.World.GetScenePresence( - item.OwnerID); - - if (presence != null) - { - presence.ControllingClient.SendAgentAlertMessage( - "Selected engine unavailable. "+ - "Running script on "+ - myScriptEngine.ScriptEngineName, - false); - } - } - } - } - } - - if (engine != myScriptEngine.ScriptEngineName) - return; - - // m_log.Debug("OnRezScript localID: " + localID + - // " LLUID: " + itemID.ToString() + " Size: " + - // script.Length); - - myScriptEngine.m_ScriptManager.StartScript(localID, itemID, script, - startParam, postOnRez); - } - - public void OnRemoveScript(uint localID, UUID itemID) - { - // m_log.Debug("OnRemoveScript localID: " + localID + " LLUID: " + itemID.ToString()); - myScriptEngine.m_ScriptManager.StopScript( - localID, - itemID - ); - } - - public void money(uint localID, UUID agentID, int amount) - { - myScriptEngine.PostObjectEvent(localID, new EventParams( - "money", new object[] { - new LSL_Types.LSLString(agentID.ToString()), - new LSL_Types.LSLInteger(amount) }, - new DetectParams[0])); - } - - // TODO: Replace placeholders below - // NOTE! THE PARAMETERS FOR THESE FUNCTIONS ARE NOT CORRECT! - // These needs to be hooked up to OpenSim during init of this class - // then queued in EventQueueManager. - // When queued in EventQueueManager they need to be LSL compatible (name and params) - - public void state_exit(uint localID) - { - myScriptEngine.PostObjectEvent(localID, new EventParams( - "state_exit", new object[] { }, - new DetectParams[0])); - } - - public void collision_start(uint localID, ColliderArgs col) - { - // Add to queue for all scripts in ObjectID object - List det = new List(); - - foreach (DetectedObject detobj in col.Colliders) - { - DetectParams d = new DetectParams(); - d.Key =detobj.keyUUID; - d.Populate(myScriptEngine.World); - det.Add(d); - } - - if (det.Count > 0) - myScriptEngine.PostObjectEvent(localID, new EventParams( - "collision_start", - new Object[] { new LSL_Types.LSLInteger(det.Count) }, - det.ToArray())); - } - - public void collision(uint localID, ColliderArgs col) - { - // Add to queue for all scripts in ObjectID object - List det = new List(); - - foreach (DetectedObject detobj in col.Colliders) - { - DetectParams d = new DetectParams(); - d.Key =detobj.keyUUID; - d.Populate(myScriptEngine.World); - det.Add(d); - } - - if (det.Count > 0) - myScriptEngine.PostObjectEvent(localID, new EventParams( - "collision", new Object[] { new LSL_Types.LSLInteger(det.Count) }, - det.ToArray())); - } - - public void collision_end(uint localID, ColliderArgs col) - { - // Add to queue for all scripts in ObjectID object - List det = new List(); - - foreach (DetectedObject detobj in col.Colliders) - { - DetectParams d = new DetectParams(); - d.Key =detobj.keyUUID; - d.Populate(myScriptEngine.World); - det.Add(d); - } - - if (det.Count > 0) - myScriptEngine.PostObjectEvent(localID, new EventParams( - "collision_end", - new Object[] { new LSL_Types.LSLInteger(det.Count) }, - det.ToArray())); - } - - public void land_collision_start(uint localID, UUID itemID) - { - myScriptEngine.PostObjectEvent(localID, new EventParams( - "land_collision_start", - new object[0], - new DetectParams[0])); - } - - public void land_collision(uint localID, UUID itemID) - { - myScriptEngine.PostObjectEvent(localID, new EventParams( - "land_collision", - new object[0], - new DetectParams[0])); - } - - public void land_collision_end(uint localID, UUID itemID) - { - myScriptEngine.PostObjectEvent(localID, new EventParams( - "land_collision_end", - new object[0], - new DetectParams[0])); - } - - // Handled by long commands - public void timer(uint localID, UUID itemID) - { - } - - public void listen(uint localID, UUID itemID) - { - } - - public void control(uint localID, UUID itemID, UUID agentID, uint held, uint change) - { - if ((change == 0) && (myScriptEngine.m_EventQueueManager.CheckEeventQueueForEvent(localID,"control"))) return; - myScriptEngine.PostObjectEvent(localID, new EventParams( - "control",new object[] { - new LSL_Types.LSLString(agentID.ToString()), - new LSL_Types.LSLInteger(held), - new LSL_Types.LSLInteger(change)}, - new DetectParams[0])); - } - - public void email(uint localID, UUID itemID, string timeSent, - string address, string subject, string message, int numLeft) - { - myScriptEngine.PostObjectEvent(localID, new EventParams( - "email",new object[] { - new LSL_Types.LSLString(timeSent), - new LSL_Types.LSLString(address), - new LSL_Types.LSLString(subject), - new LSL_Types.LSLString(message), - new LSL_Types.LSLInteger(numLeft)}, - new DetectParams[0])); - } - - public void at_target(uint localID, uint handle, Vector3 targetpos, - Vector3 atpos) - { - myScriptEngine.PostObjectEvent(localID, new EventParams( - "at_target", new object[] { - new LSL_Types.LSLInteger(handle), - new LSL_Types.Vector3(targetpos.X,targetpos.Y,targetpos.Z), - new LSL_Types.Vector3(atpos.X,atpos.Y,atpos.Z) }, - new DetectParams[0])); - } - - public void not_at_target(uint localID) - { - myScriptEngine.PostObjectEvent(localID, new EventParams( - "not_at_target",new object[0], - new DetectParams[0])); - } - - public void at_rot_target(uint localID, UUID itemID) - { - myScriptEngine.PostObjectEvent(localID, new EventParams( - "at_rot_target",new object[0], - new DetectParams[0])); - } - - public void not_at_rot_target(uint localID, UUID itemID) - { - myScriptEngine.PostObjectEvent(localID, new EventParams( - "not_at_rot_target",new object[0], - new DetectParams[0])); - } - - public void attach(uint localID, UUID itemID) - { - } - - public void dataserver(uint localID, UUID itemID) - { - } - - public void link_message(uint localID, UUID itemID) - { - } - - public void moving_start(uint localID, UUID itemID) - { - myScriptEngine.PostObjectEvent(localID, new EventParams( - "moving_start",new object[0], - new DetectParams[0])); - } - - public void moving_end(uint localID, UUID itemID) - { - myScriptEngine.PostObjectEvent(localID, new EventParams( - "moving_end",new object[0], - new DetectParams[0])); - } - - public void object_rez(uint localID, UUID itemID) - { - } - - public void remote_data(uint localID, UUID itemID) - { - } - - // Handled by long commands - public void http_response(uint localID, UUID itemID) - { - } - - /// - /// If set to true then threads and stuff should try to make a graceful exit - /// - public bool PleaseShutdown - { - get { return _PleaseShutdown; } - set { _PleaseShutdown = value; } - } - private bool _PleaseShutdown = false; - } -} diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueManager.cs deleted file mode 100644 index 58654523da..0000000000 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueManager.cs +++ /dev/null @@ -1,460 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Reflection; -using OpenMetaverse; -using OpenSim.Region.ScriptEngine.Shared; -using log4net; - -namespace OpenSim.Region.ScriptEngine.DotNetEngine -{ - /// - /// EventQueueManager handles event queues - /// Events are queued and executed in separate thread - /// - [Serializable] - public class EventQueueManager - { - // - // Class is instanced in "ScriptEngine" and used by "EventManager" which is also instanced in "ScriptEngine". - // - // Class purpose is to queue and execute functions that are received by "EventManager": - // - allowing "EventManager" to release its event thread immediately, thus not interrupting server execution. - // - allowing us to prioritize and control execution of script functions. - // Class can use multiple threads for simultaneous execution. Mutexes are used for thread safety. - // - // 1. Hold an execution queue for scripts - // 2. Use threads to process queue, each thread executes one script function on each pass. - // 3. Catch any script error and process it - // - // - // Notes: - // * Current execution load balancing is optimized for 1 thread, and can cause unfair execute balancing between scripts. - // Not noticeable unless server is under high load. - // - - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - public ScriptEngine m_ScriptEngine; - - /// - /// List of threads (classes) processing event queue - /// Note that this may or may not be a reference to a static object depending on PrivateRegionThreads config setting. - /// - internal static List eventQueueThreads = new List(); // Thread pool that we work on - /// - /// Locking access to eventQueueThreads AND staticGlobalEventQueueThreads. - /// -// private object eventQueueThreadsLock = new object(); - // Static objects for referencing the objects above if we don't have private threads: - //internal static List staticEventQueueThreads; // A static reference used if we don't use private threads -// internal static object staticEventQueueThreadsLock; // Statick lock object reference for same reason - - /// - /// Global static list of all threads (classes) processing event queue -- used by max enforcment thread - /// - //private List staticGlobalEventQueueThreads = new List(); - - /// - /// Used internally to specify how many threads should exit gracefully - /// - public static int ThreadsToExit; - public static object ThreadsToExitLock = new object(); - - - //public object queueLock = new object(); // Mutex lock object - - /// - /// How many threads to process queue with - /// - internal static int numberOfThreads; - - internal static int EventExecutionMaxQueueSize; - - /// - /// Maximum time one function can use for execution before we perform a thread kill. - /// - private static int maxFunctionExecutionTimems - { - get { return (int)(maxFunctionExecutionTimens / 10000); } - set { maxFunctionExecutionTimens = value * 10000; } - } - - /// - /// Contains nanoseconds version of maxFunctionExecutionTimems so that it matches time calculations better (performance reasons). - /// WARNING! ONLY UPDATE maxFunctionExecutionTimems, NEVER THIS DIRECTLY. - /// - public static long maxFunctionExecutionTimens; - - /// - /// Enforce max execution time - /// - public static bool EnforceMaxExecutionTime; - - /// - /// Kill script (unload) when it exceeds execution time - /// - private static bool KillScriptOnMaxFunctionExecutionTime; - - /// - /// List of localID locks for mutex processing of script events - /// - private List objectLocks = new List(); - private object tryLockLock = new object(); // Mutex lock object - - /// - /// Queue containing events waiting to be executed - /// - public Queue eventQueue = new Queue(); - - #region " Queue structures " - /// - /// Queue item structure - /// - public struct QueueItemStruct - { - public uint localID; - public UUID itemID; - public string functionName; - public DetectParams[] llDetectParams; - public object[] param; - public Dictionary,KeyValuePair> - LineMap; - } - - #endregion - - #region " Initialization / Startup " - public EventQueueManager(ScriptEngine _ScriptEngine) - { - m_ScriptEngine = _ScriptEngine; - - ReadConfig(); - AdjustNumberOfScriptThreads(); - } - - public void ReadConfig() - { - // Refresh config - numberOfThreads = m_ScriptEngine.ScriptConfigSource.GetInt("NumberOfScriptThreads", 2); - maxFunctionExecutionTimems = m_ScriptEngine.ScriptConfigSource.GetInt("MaxEventExecutionTimeMs", 5000); - EnforceMaxExecutionTime = m_ScriptEngine.ScriptConfigSource.GetBoolean("EnforceMaxEventExecutionTime", true); - KillScriptOnMaxFunctionExecutionTime = m_ScriptEngine.ScriptConfigSource.GetBoolean("DeactivateScriptOnTimeout", false); - EventExecutionMaxQueueSize = m_ScriptEngine.ScriptConfigSource.GetInt("EventExecutionMaxQueueSize", 300); - - // Now refresh config in all threads - lock (eventQueueThreads) - { - foreach (EventQueueThreadClass EventQueueThread in eventQueueThreads) - { - EventQueueThread.ReadConfig(); - } - } - } - - #endregion - - #region " Shutdown all threads " - ~EventQueueManager() - { - Stop(); - } - - private void Stop() - { - if (eventQueueThreads != null) - { - // Kill worker threads - lock (eventQueueThreads) - { - foreach (EventQueueThreadClass EventQueueThread in new ArrayList(eventQueueThreads)) - { - AbortThreadClass(EventQueueThread); - } - //eventQueueThreads.Clear(); - //staticGlobalEventQueueThreads.Clear(); - } - } - - // Remove all entries from our event queue - lock (eventQueue) - { - eventQueue.Clear(); - } - } - - #endregion - - #region " Start / stop script execution threads (ThreadClasses) " - private void StartNewThreadClass() - { - EventQueueThreadClass eqtc = new EventQueueThreadClass(); - eventQueueThreads.Add(eqtc); - //m_log.Debug("[" + m_ScriptEngine.ScriptEngineName + "]: Started new script execution thread. Current thread count: " + eventQueueThreads.Count); - } - - private void AbortThreadClass(EventQueueThreadClass threadClass) - { - if (eventQueueThreads.Contains(threadClass)) - eventQueueThreads.Remove(threadClass); - - try - { - threadClass.Stop(); - } - catch (Exception) - { - //m_log.Error("[" + m_ScriptEngine.ScriptEngineName + ":EventQueueManager]: If you see this, could you please report it to Tedd:"); - //m_log.Error("[" + m_ScriptEngine.ScriptEngineName + ":EventQueueManager]: Script thread execution timeout kill ended in exception: " + ex.ToString()); - } - //m_log.Debug("[" + m_ScriptEngine.ScriptEngineName + "]: Killed script execution thread. Remaining thread count: " + eventQueueThreads.Count); - } - #endregion - - #region " Mutex locks for queue access " - /// - /// Try to get a mutex lock on localID - /// - /// - /// - public bool TryLock(uint localID) - { - lock (tryLockLock) - { - if (objectLocks.Contains(localID) == true) - { - return false; - } - else - { - objectLocks.Add(localID); - return true; - } - } - } - - /// - /// Release mutex lock on localID - /// - /// - public void ReleaseLock(uint localID) - { - lock (tryLockLock) - { - if (objectLocks.Contains(localID) == true) - { - objectLocks.Remove(localID); - } - } - } - #endregion - - #region " Check execution queue for a specified Event" - /// - /// checks to see if a specified event type is already in the queue - /// - /// Region object ID - /// Name of the function, will be state + "_event_" + FunctionName - /// true if event is found , false if not found - /// - public bool CheckEeventQueueForEvent(uint localID, string FunctionName) - { - if (eventQueue.Count > 0) - { - lock (eventQueue) - { - foreach (EventQueueManager.QueueItemStruct QIS in eventQueue) - { - if ((QIS.functionName == FunctionName) && (QIS.localID == localID)) - return true; - } - } - } - return false; - } - #endregion - - #region " Add events to execution queue " - /// - /// Add event to event execution queue - /// - /// Region object ID - /// Name of the function, will be state + "_event_" + FunctionName - /// Array of parameters to match event mask - public bool AddToObjectQueue(uint localID, string FunctionName, DetectParams[] qParams, params object[] param) - { - // Determine all scripts in Object and add to their queue - //myScriptEngine.log.Info("[" + ScriptEngineName + "]: EventQueueManager Adding localID: " + localID + ", FunctionName: " + FunctionName); - - // Do we have any scripts in this object at all? If not, return - if (m_ScriptEngine.m_ScriptManager.Scripts.ContainsKey(localID) == false) - { - //m_log.Debug("Event \String.Empty + FunctionName + "\" for localID: " + localID + ". No scripts found on this localID."); - return false; - } - - List scriptKeys = - m_ScriptEngine.m_ScriptManager.GetScriptKeys(localID); - - foreach (UUID itemID in scriptKeys) - { - // Add to each script in that object - // TODO: Some scripts may not subscribe to this event. Should we NOT add it? Does it matter? - AddToScriptQueue(localID, itemID, FunctionName, qParams, param); - } - return true; - } - - /// - /// Add event to event execution queue - /// - /// Region object ID - /// Region script ID - /// Name of the function, will be state + "_event_" + FunctionName - /// Array of parameters to match event mask - public bool AddToScriptQueue(uint localID, UUID itemID, string FunctionName, DetectParams[] qParams, params object[] param) - { - List keylist = m_ScriptEngine.m_ScriptManager.GetScriptKeys(localID); - - if (!keylist.Contains(itemID)) // We don't manage that script - { - return false; - } - - lock (eventQueue) - { - if (eventQueue.Count >= EventExecutionMaxQueueSize) - { - m_log.Error("[" + m_ScriptEngine.ScriptEngineName + "]: ERROR: Event execution queue item count is at " + eventQueue.Count + ". Config variable \"EventExecutionMaxQueueSize\" is set to " + EventExecutionMaxQueueSize + ", so ignoring new event."); - m_log.Error("[" + m_ScriptEngine.ScriptEngineName + "]: Event ignored: localID: " + localID + ", itemID: " + itemID + ", FunctionName: " + FunctionName); - return false; - } - - InstanceData id = m_ScriptEngine.m_ScriptManager.GetScript( - localID, itemID); - - // Create a structure and add data - QueueItemStruct QIS = new QueueItemStruct(); - QIS.localID = localID; - QIS.itemID = itemID; - QIS.functionName = FunctionName; - QIS.llDetectParams = qParams; - QIS.param = param; - if (id != null) - QIS.LineMap = id.LineMap; - - // Add it to queue - eventQueue.Enqueue(QIS); - } - return true; - } - #endregion - - #region " Maintenance thread " - - /// - /// Adjust number of script thread classes. It can start new, but if it needs to stop it will just set number of threads in "ThreadsToExit" and threads will have to exit themselves. - /// Called from MaintenanceThread - /// - public void AdjustNumberOfScriptThreads() - { - // Is there anything here for us to do? - if (eventQueueThreads.Count == numberOfThreads) - return; - - lock (eventQueueThreads) - { - int diff = numberOfThreads - eventQueueThreads.Count; - // Positive number: Start - // Negative number: too many are running - if (diff > 0) - { - // We need to add more threads - for (int ThreadCount = eventQueueThreads.Count; ThreadCount < numberOfThreads; ThreadCount++) - { - StartNewThreadClass(); - } - } - if (diff < 0) - { - // We need to kill some threads - lock (ThreadsToExitLock) - { - ThreadsToExit = Math.Abs(diff); - } - } - } - } - - /// - /// Check if any thread class has been executing an event too long - /// - public void CheckScriptMaxExecTime() - { - // Iterate through all ScriptThreadClasses and check how long their current function has been executing - lock (eventQueueThreads) - { - foreach (EventQueueThreadClass EventQueueThread in eventQueueThreads) - { - // Is thread currently executing anything? - if (EventQueueThread.InExecution) - { - // Has execution time expired? - if (DateTime.Now.Ticks - EventQueueThread.LastExecutionStarted > - maxFunctionExecutionTimens) - { - // Yes! We need to kill this thread! - - // Set flag if script should be removed or not - EventQueueThread.KillCurrentScript = KillScriptOnMaxFunctionExecutionTime; - - // Abort this thread - AbortThreadClass(EventQueueThread); - - // We do not need to start another, MaintenenceThread will do that for us - //StartNewThreadClass(); - } - } - } - } - } - #endregion - - ///// - ///// If set to true then threads and stuff should try to make a graceful exit - ///// - //public bool PleaseShutdown - //{ - // get { return _PleaseShutdown; } - // set { _PleaseShutdown = value; } - //} - //private bool _PleaseShutdown = false; - } -} diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs deleted file mode 100644 index 51fd41a8b4..0000000000 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs +++ /dev/null @@ -1,428 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Reflection; -using System.Text.RegularExpressions; -using System.Threading; -using System.Globalization; -using OpenMetaverse; -using log4net; -using OpenSim.Framework; -using OpenSim.Region.Framework.Scenes; -using OpenSim.Region.Framework.Scenes.Scripting; -using OpenSim.Region.ScriptEngine.Shared; -using OpenSim.Region.ScriptEngine.Shared.CodeTools; - -namespace OpenSim.Region.ScriptEngine.DotNetEngine -{ - // Because every thread needs some data set for it - // (time started to execute current function), it will do its work - // within a class - public class EventQueueThreadClass - { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - // How many ms to sleep if queue is empty - private static int nothingToDoSleepms;// = 50; - private static ThreadPriority MyThreadPriority; - - public long LastExecutionStarted; - public bool InExecution = false; - public bool KillCurrentScript = false; - - //private EventQueueManager eventQueueManager; - public Thread EventQueueThread; - private static int ThreadCount = 0; - - private string ScriptEngineName = "ScriptEngine.Common"; - - public EventQueueThreadClass()//EventQueueManager eqm - { - CultureInfo USCulture = new CultureInfo("en-US"); - Thread.CurrentThread.CurrentCulture = USCulture; - - //eventQueueManager = eqm; - ReadConfig(); - Start(); - } - - ~EventQueueThreadClass() - { - Stop(); - } - - public void ReadConfig() - { - lock (ScriptEngine.ScriptEngines) - { - foreach (ScriptEngine m_ScriptEngine in - ScriptEngine.ScriptEngines) - { - ScriptEngineName = m_ScriptEngine.ScriptEngineName; - nothingToDoSleepms = - m_ScriptEngine.ScriptConfigSource.GetInt( - "SleepTimeIfNoScriptExecutionMs", 50); - - string pri = m_ScriptEngine.ScriptConfigSource.GetString( - "ScriptThreadPriority", "BelowNormal"); - - switch (pri.ToLower()) - { - case "lowest": - MyThreadPriority = ThreadPriority.Lowest; - break; - case "belownormal": - MyThreadPriority = ThreadPriority.BelowNormal; - break; - case "normal": - MyThreadPriority = ThreadPriority.Normal; - break; - case "abovenormal": - MyThreadPriority = ThreadPriority.AboveNormal; - break; - case "highest": - MyThreadPriority = ThreadPriority.Highest; - break; - default: - MyThreadPriority = ThreadPriority.BelowNormal; - m_log.Error( - "[ScriptEngine.DotNetEngine]: Unknown "+ - "priority type \"" + pri + - "\" in config file. Defaulting to "+ - "\"BelowNormal\"."); - break; - } - } - } - // Now set that priority - if (EventQueueThread != null) - if (EventQueueThread.IsAlive) - EventQueueThread.Priority = MyThreadPriority; - } - - /// - /// Start thread - /// - private void Start() - { - EventQueueThread = Watchdog.StartThread(EventQueueThreadLoop, "EventQueueManagerThread_" + ThreadCount, MyThreadPriority, true); - - // Look at this... Don't you wish everyone did that solid - // coding everywhere? :P - - if (ThreadCount == int.MaxValue) - ThreadCount = 0; - - ThreadCount++; - } - - public void Stop() - { - if (EventQueueThread != null && EventQueueThread.IsAlive == true) - { - try - { - EventQueueThread.Abort(); // Send abort - } - catch (Exception) - { - } - } - } - - private EventQueueManager.QueueItemStruct BlankQIS = - new EventQueueManager.QueueItemStruct(); - - private ScriptEngine lastScriptEngine; - private uint lastLocalID; - private UUID lastItemID; - - // Queue processing thread loop - private void EventQueueThreadLoop() - { - CultureInfo USCulture = new CultureInfo("en-US"); - Thread.CurrentThread.CurrentCulture = USCulture; - - try - { - while (true) - { - try - { - while (true) - { - DoProcessQueue(); - Watchdog.UpdateThread(); - } - } - catch (ThreadAbortException) - { - m_log.Info("[" + ScriptEngineName + - "]: ThreadAbortException while executing "+ - "function."); - } - catch (SelfDeleteException) // Must delete SOG - { - SceneObjectPart part = - lastScriptEngine.World.GetSceneObjectPart( - lastLocalID); - if (part != null && part.ParentGroup != null) - lastScriptEngine.World.DeleteSceneObject( - part.ParentGroup, false); - } - catch (ScriptDeleteException) // Must delete item - { - SceneObjectPart part = - lastScriptEngine.World.GetSceneObjectPart( - lastLocalID); - if (part != null && part.ParentGroup != null) - part.Inventory.RemoveInventoryItem(lastItemID); - } - catch (Exception e) - { - m_log.ErrorFormat("[{0}]: Exception {1} thrown", ScriptEngineName, e.GetType().ToString()); - throw e; - } - - Watchdog.UpdateThread(); - } - } - catch (ThreadAbortException) - { - } - catch (Exception e) - { - // TODO: Let users in the sim and those entering it and possibly an external watchdog know what has happened - m_log.ErrorFormat( - "[{0}]: Event queue thread terminating with exception. PLEASE REBOOT YOUR SIM - SCRIPT EVENTS WILL NOT WORK UNTIL YOU DO. Exception is {1}", - ScriptEngineName, e); - } - - Watchdog.RemoveThread(); - } - - public void DoProcessQueue() - { - foreach (ScriptEngine m_ScriptEngine in - new ArrayList(ScriptEngine.ScriptEngines)) - { - lastScriptEngine = m_ScriptEngine; - - EventQueueManager.QueueItemStruct QIS = BlankQIS; - bool GotItem = false; - - //if (PleaseShutdown) - // return; - - if (m_ScriptEngine.m_EventQueueManager == null || - m_ScriptEngine.m_EventQueueManager.eventQueue == null) - continue; - - if (m_ScriptEngine.m_EventQueueManager.eventQueue.Count == 0) - { - // Nothing to do? Sleep a bit waiting for something to do - Thread.Sleep(nothingToDoSleepms); - } - else - { - // Something in queue, process - - // OBJECT BASED LOCK - TWO THREADS WORKING ON SAME - // OBJECT IS NOT GOOD - lock (m_ScriptEngine.m_EventQueueManager.eventQueue) - { - GotItem = false; - for (int qc = 0; qc < m_ScriptEngine.m_EventQueueManager.eventQueue.Count; qc++) - { - // Get queue item - QIS = m_ScriptEngine.m_EventQueueManager.eventQueue.Dequeue(); - - // Check if object is being processed by - // someone else - if (m_ScriptEngine.m_EventQueueManager.TryLock( - QIS.localID) == false) - { - // Object is already being processed, requeue it - m_ScriptEngine.m_EventQueueManager. - eventQueue.Enqueue(QIS); - } - else - { - // We have lock on an object and can process it - GotItem = true; - break; - } - } - } - - if (GotItem == true) - { - // Execute function - try - { - // Only pipe event if land supports it. - if (m_ScriptEngine.World.PipeEventsForScript( - QIS.localID)) - { - lastLocalID = QIS.localID; - lastItemID = QIS.itemID; - LastExecutionStarted = DateTime.Now.Ticks; - KillCurrentScript = false; - InExecution = true; - m_ScriptEngine.m_ScriptManager.ExecuteEvent( - QIS.localID, - QIS.itemID, - QIS.functionName, - QIS.llDetectParams, - QIS.param); - - InExecution = false; - } - } - catch (TargetInvocationException tie) - { - Exception e = tie.InnerException; - - if (e is SelfDeleteException) // Forward it - throw e; - - InExecution = false; - string text = FormatException(tie, QIS.LineMap); - - // DISPLAY ERROR INWORLD - -// if (e.InnerException != null) -// { -// // Send inner exception -// string line = " (unknown line)"; -// Regex rx = new Regex(@"SecondLife\.Script\..+[\s:](?\d+)\.?\r?$", RegexOptions.Compiled); -// if (rx.Match(e.InnerException.ToString()).Success) -// line = " (line " + rx.Match(e.InnerException.ToString()).Result("${line}") + ")"; -// text += e.InnerException.Message.ToString() + line; -// } -// else -// { -// text += "\r\n"; -// // Send normal -// text += e.Message.ToString(); -// } -// if (KillCurrentScript) -// text += "\r\nScript will be deactivated!"; - - try - { - if (text.Length >= 1100) - text = text.Substring(0, 1099); - IScriptHost m_host = - m_ScriptEngine.World.GetSceneObjectPart(QIS.localID); - m_ScriptEngine.World.SimChat( - Utils.StringToBytes(text), - ChatTypeEnum.DebugChannel, 2147483647, - m_host.AbsolutePosition, - m_host.Name, m_host.UUID, false); - } - catch (Exception) - { - m_log.Error("[" + - ScriptEngineName + "]: " + - "Unable to send text in-world:\r\n" + - text); - } - finally - { - // So we are done sending message in-world - if (KillCurrentScript) - { - m_ScriptEngine.m_EventQueueManager. - m_ScriptEngine.m_ScriptManager. - StopScript( - QIS.localID, QIS.itemID); - } - } - } - catch (Exception) - { - throw; - } - finally - { - InExecution = false; - m_ScriptEngine.m_EventQueueManager.ReleaseLock( - QIS.localID); - } - } - } - } - } - - string FormatException(Exception e, Dictionary, - KeyValuePair> LineMap) - { - if (e.InnerException == null) - return e.ToString(); - - string message = "Runtime error:\n" + e.InnerException.StackTrace; - string[] lines = message.Split(new char[] {'\n'}); - - foreach (string line in lines) - { - if (line.Contains("SecondLife.Script")) - { - int idx = line.IndexOf(':'); - if (idx != -1) - { - string val = line.Substring(idx+1); - int lineNum = 0; - if (int.TryParse(val, out lineNum)) - { - KeyValuePair pos = - Compiler.FindErrorPosition( - lineNum, 0, LineMap); - - int scriptLine = pos.Key; - int col = pos.Value; - if (scriptLine == 0) - scriptLine++; - if (col == 0) - col++; - message = string.Format("Runtime error:\n" + - "Line ({0}): {1}", scriptLine - 1, - e.InnerException.Message); - - return message; - } - } - } - } - - return message; - } - } -} diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/MaintenanceThread.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/MaintenanceThread.cs deleted file mode 100644 index 87fdf1fcbf..0000000000 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/MaintenanceThread.cs +++ /dev/null @@ -1,238 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections; -using System.Reflection; -using System.Threading; -using log4net; -using OpenSim.Framework; - -namespace OpenSim.Region.ScriptEngine.DotNetEngine -{ - /// - /// This class does maintenance on script engine. - /// - public class MaintenanceThread - { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - //public ScriptEngine m_ScriptEngine; - private int MaintenanceLoopms; - private int MaintenanceLoopTicks_ScriptLoadUnload; - private int MaintenanceLoopTicks_Other; - - - public MaintenanceThread() - { - //m_ScriptEngine = _ScriptEngine; - - ReadConfig(); - - // Start maintenance thread - StartMaintenanceThread(); - } - - ~MaintenanceThread() - { - StopMaintenanceThread(); - } - - public void ReadConfig() - { - // Bad hack, but we need a m_ScriptEngine :) - lock (ScriptEngine.ScriptEngines) - { - foreach (ScriptEngine m_ScriptEngine in ScriptEngine.ScriptEngines) - { - MaintenanceLoopms = m_ScriptEngine.ScriptConfigSource.GetInt("MaintenanceLoopms", 50); - MaintenanceLoopTicks_ScriptLoadUnload = - m_ScriptEngine.ScriptConfigSource.GetInt("MaintenanceLoopTicks_ScriptLoadUnload", 1); - MaintenanceLoopTicks_Other = - m_ScriptEngine.ScriptConfigSource.GetInt("MaintenanceLoopTicks_Other", 10); - - return; - } - } - } - - #region " Maintenance thread " - /// - /// Maintenance thread. Enforcing max execution time for example. - /// - public Thread MaintenanceThreadThread; - - /// - /// Starts maintenance thread - /// - private void StartMaintenanceThread() - { - if (MaintenanceThreadThread == null) - { - MaintenanceThreadThread = Watchdog.StartThread(MaintenanceLoop, "ScriptMaintenanceThread", ThreadPriority.Normal, true); - } - } - - /// - /// Stops maintenance thread - /// - private void StopMaintenanceThread() - { -#if DEBUG - //m_log.Debug("[" + m_ScriptEngine.ScriptEngineName + "]: StopMaintenanceThread() called"); -#endif - //PleaseShutdown = true; - Thread.Sleep(100); - try - { - if (MaintenanceThreadThread != null && MaintenanceThreadThread.IsAlive) - { - MaintenanceThreadThread.Abort(); - } - } - catch (Exception) - { - //m_log.Error("[" + m_ScriptEngine.ScriptEngineName + "]: Exception stopping maintenence thread: " + ex.ToString()); - } - } - - // private ScriptEngine lastScriptEngine; // Keep track of what ScriptEngine instance we are at so we can give exception - /// - /// A thread should run in this loop and check all running scripts - /// - public void MaintenanceLoop() - { - //if (m_ScriptEngine.m_EventQueueManager.maxFunctionExecutionTimens < MaintenanceLoopms) - // m_log.Warn("[" + m_ScriptEngine.ScriptEngineName + "]: " + - // "Configuration error: MaxEventExecutionTimeMs is less than MaintenanceLoopms. The Maintenance Loop will only check scripts once per run."); - - long Last_maxFunctionExecutionTimens = 0; // DateTime.Now.Ticks; - long Last_ReReadConfigFilens = DateTime.Now.Ticks; - int MaintenanceLoopTicks_ScriptLoadUnload_Count = 0; - int MaintenanceLoopTicks_Other_Count = 0; - bool MaintenanceLoopTicks_ScriptLoadUnload_ResetCount = false; - bool MaintenanceLoopTicks_Other_ResetCount = false; - - while (true) - { - try - { - while (true) - { - Thread.Sleep(MaintenanceLoopms); // Sleep before next pass - - // Reset counters? - if (MaintenanceLoopTicks_ScriptLoadUnload_ResetCount) - { - MaintenanceLoopTicks_ScriptLoadUnload_ResetCount = false; - MaintenanceLoopTicks_ScriptLoadUnload_Count = 0; - } - if (MaintenanceLoopTicks_Other_ResetCount) - { - MaintenanceLoopTicks_Other_ResetCount = false; - MaintenanceLoopTicks_Other_Count = 0; - } - - // Increase our counters - MaintenanceLoopTicks_ScriptLoadUnload_Count++; - MaintenanceLoopTicks_Other_Count++; - - foreach (ScriptEngine m_ScriptEngine in new ArrayList(ScriptEngine.ScriptEngines)) - { - // lastScriptEngine = m_ScriptEngine; - // Re-reading config every x seconds - if (MaintenanceLoopTicks_Other_Count >= MaintenanceLoopTicks_Other) - { - MaintenanceLoopTicks_Other_ResetCount = true; - if (m_ScriptEngine.RefreshConfigFilens > 0) - { - // Check if its time to re-read config - if (DateTime.Now.Ticks - Last_ReReadConfigFilens > - m_ScriptEngine.RefreshConfigFilens) - { - //m_log.Debug("Time passed: " + (DateTime.Now.Ticks - Last_ReReadConfigFilens) + ">" + m_ScriptEngine.RefreshConfigFilens); - // Its time to re-read config file - m_ScriptEngine.ReadConfig(); - Last_ReReadConfigFilens = DateTime.Now.Ticks; // Reset time - } - - - // Adjust number of running script threads if not correct - if (m_ScriptEngine.m_EventQueueManager != null) - m_ScriptEngine.m_EventQueueManager.AdjustNumberOfScriptThreads(); - - // Check if any script has exceeded its max execution time - if (EventQueueManager.EnforceMaxExecutionTime) - { - // We are enforcing execution time - if (DateTime.Now.Ticks - Last_maxFunctionExecutionTimens > - EventQueueManager.maxFunctionExecutionTimens) - { - // Its time to check again - m_ScriptEngine.m_EventQueueManager.CheckScriptMaxExecTime(); // Do check - Last_maxFunctionExecutionTimens = DateTime.Now.Ticks; // Reset time - } - } - } - } - if (MaintenanceLoopTicks_ScriptLoadUnload_Count >= MaintenanceLoopTicks_ScriptLoadUnload) - { - MaintenanceLoopTicks_ScriptLoadUnload_ResetCount = true; - // LOAD / UNLOAD SCRIPTS - if (m_ScriptEngine.m_ScriptManager != null) - m_ScriptEngine.m_ScriptManager.DoScriptLoadUnload(); - } - } - - Watchdog.UpdateThread(); - } - } - catch(ThreadAbortException) - { - m_log.Error("Thread aborted in MaintenanceLoopThread. If this is during shutdown, please ignore"); - } - catch (Exception ex) - { - m_log.ErrorFormat("Exception in MaintenanceLoopThread. Thread will recover after 5 sec throttle. Exception: {0}", ex.ToString()); - } - } - - Watchdog.RemoveThread(); - } - #endregion - - ///// - ///// If set to true then threads and stuff should try to make a graceful exit - ///// - //public bool PleaseShutdown - //{ - // get { return _PleaseShutdown; } - // set { _PleaseShutdown = value; } - //} - //private bool _PleaseShutdown = false; - } -} diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Properties/AssemblyInfo.cs deleted file mode 100644 index 4c4c5e745e..0000000000 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System.Reflection; -using System.Runtime.InteropServices; - -// General information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. - -[assembly : AssemblyTitle("OpenSim.Region.ScriptEngine.DotNetEngine")] -[assembly : AssemblyDescription("")] -[assembly : AssemblyConfiguration("")] -[assembly : AssemblyCompany("http://opensimulator.org")] -[assembly : AssemblyProduct("OpenSim.Region.ScriptEngine.DotNetEngine")] -[assembly : AssemblyCopyright("Copyright (c) OpenSimulator.org Developers 2007-2009")] -[assembly : AssemblyTrademark("")] -[assembly : AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. - -[assembly : ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM - -[assembly : Guid("2842257e-6fde-4460-9368-4cde57fa9cc4")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Revision and Build Numbers -// by using the '*' as shown below: - -[assembly : AssemblyVersion("0.6.5.*")] -[assembly : AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Resources/DotNetEngine.addin.xml b/OpenSim/Region/ScriptEngine/DotNetEngine/Resources/DotNetEngine.addin.xml deleted file mode 100644 index 78a8dca4ff..0000000000 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Resources/DotNetEngine.addin.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs deleted file mode 100644 index 9806218497..0000000000 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs +++ /dev/null @@ -1,485 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Reflection; -using log4net; -using Nini.Config; -using OpenSim.Framework; -using OpenSim.Region.CoreModules.Framework.EventQueue; -using OpenSim.Region.Framework.Interfaces; -using OpenSim.Region.Framework.Scenes; -using OpenSim.Region.ScriptEngine.Interfaces; -using OpenMetaverse; -using OpenMetaverse.StructuredData; -using OpenSim.Region.ScriptEngine.Shared; -using OpenSim.Region.ScriptEngine.Shared.ScriptBase; - -namespace OpenSim.Region.ScriptEngine.DotNetEngine -{ - [Serializable] - public class ScriptEngine : INonSharedRegionModule, IScriptEngine, IScriptModule - { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - public static List ScriptEngines = - new List(); - - private Scene m_Scene; - public Scene World - { - get { return m_Scene; } - } - - // Handles and queues incoming events from OpenSim - public EventManager m_EventManager; - - // Executes events, handles script threads - public EventQueueManager m_EventQueueManager; - - // Load, unload and execute scripts - public ScriptManager m_ScriptManager; - - // Handles loading/unloading of scripts into AppDomains - public AppDomainManager m_AppDomainManager; - - // Thread that does different kinds of maintenance, - // for example refreshing config and killing scripts - // that has been running too long - public static MaintenanceThread m_MaintenanceThread; - - private IConfigSource m_ConfigSource; - public IConfig ScriptConfigSource; - private bool m_enabled = false; - - public IConfig Config - { - get { return ScriptConfigSource; } - } - - public IConfigSource ConfigSource - { - get { return m_ConfigSource; } - } - - // How many seconds between re-reading config-file. - // 0 = never. ScriptEngine will try to adjust to new config changes. - public int RefreshConfigFileSeconds { - get { return (int)(RefreshConfigFilens / 10000000); } - set { RefreshConfigFilens = value * 10000000; } - } - - public long RefreshConfigFilens; - - public string ScriptEngineName - { - get { return "ScriptEngine.DotNetEngine"; } - } - - public IScriptModule ScriptModule - { - get { return this; } - } - - public event ScriptRemoved OnScriptRemoved; - public event ObjectRemoved OnObjectRemoved; - - public ScriptEngine() - { - // For logging, just need any instance, doesn't matter - Common.mySE = this; - - lock (ScriptEngines) - { - // Keep a list of ScriptEngines for shared threads - // to process all instances - ScriptEngines.Add(this); - } - } - - public void Initialise(IConfigSource config) - { - m_ConfigSource = config; - } - - public void AddRegion(Scene Sceneworld) - { - // Make sure we have config - if (ConfigSource.Configs[ScriptEngineName] == null) - ConfigSource.AddConfig(ScriptEngineName); - - ScriptConfigSource = ConfigSource.Configs[ScriptEngineName]; - - m_enabled = ScriptConfigSource.GetBoolean("Enabled", true); - if (!m_enabled) - return; - - m_log.Info("[" + ScriptEngineName + "]: ScriptEngine initializing"); - - m_Scene = Sceneworld; - - // Create all objects we'll be using - m_EventQueueManager = new EventQueueManager(this); - m_EventManager = new EventManager(this, true); - - // We need to start it - m_ScriptManager = new ScriptManager(this); - m_ScriptManager.Setup(); - m_AppDomainManager = new AppDomainManager(this); - if (m_MaintenanceThread == null) - m_MaintenanceThread = new MaintenanceThread(); - - m_log.Info("[" + ScriptEngineName + "]: Reading configuration "+ - "from config section \"" + ScriptEngineName + "\""); - - ReadConfig(); - - m_Scene.StackModuleInterface(this); - } - - public void RemoveRegion(Scene scene) - { - } - - public void RegionLoaded(Scene scene) - { - if (!m_enabled) - return; - - m_EventManager.HookUpEvents(); - - m_Scene.EventManager.OnScriptReset += OnScriptReset; - m_Scene.EventManager.OnGetScriptRunning += OnGetScriptRunning; - m_Scene.EventManager.OnStartScript += OnStartScript; - m_Scene.EventManager.OnStopScript += OnStopScript; - - m_ScriptManager.Start(); - } - - public void Shutdown() - { - // We are shutting down - lock (ScriptEngines) - { - ScriptEngines.Remove(this); - } - } - - public void ReadConfig() - { - RefreshConfigFileSeconds = ScriptConfigSource.GetInt("RefreshConfig", 0); - - if (m_EventQueueManager != null) m_EventQueueManager.ReadConfig(); - if (m_EventManager != null) m_EventManager.ReadConfig(); - if (m_ScriptManager != null) m_ScriptManager.ReadConfig(); - if (m_AppDomainManager != null) m_AppDomainManager.ReadConfig(); - if (m_MaintenanceThread != null) m_MaintenanceThread.ReadConfig(); - } - - #region IRegionModule - - public void Close() - { - } - - public Type ReplaceableInterface - { - get { return null; } - } - - public string Name - { - get { return "Common." + ScriptEngineName; } - } - - public bool IsSharedModule - { - get { return false; } - } - - public bool PostObjectEvent(uint localID, EventParams p) - { - return m_EventQueueManager.AddToObjectQueue(localID, p.EventName, - p.DetectParams, p.Params); - } - - public bool PostScriptEvent(UUID itemID, EventParams p) - { - uint localID = m_ScriptManager.GetLocalID(itemID); - return m_EventQueueManager.AddToScriptQueue(localID, itemID, - p.EventName, p.DetectParams, p.Params); - } - - public bool PostScriptEvent(UUID itemID, string name, Object[] p) - { - Object[] lsl_p = new Object[p.Length]; - for (int i = 0; i < p.Length ; i++) - { - if (p[i] is int) - lsl_p[i] = new LSL_Types.LSLInteger((int)p[i]); - else if (p[i] is string) - lsl_p[i] = new LSL_Types.LSLString((string)p[i]); - else if (p[i] is Vector3) - lsl_p[i] = new LSL_Types.Vector3(((Vector3)p[i]).X, ((Vector3)p[i]).Y, ((Vector3)p[i]).Z); - else if (p[i] is Quaternion) - lsl_p[i] = new LSL_Types.Quaternion(((Quaternion)p[i]).X, ((Quaternion)p[i]).Y, ((Quaternion)p[i]).Z, ((Quaternion)p[i]).W); - else if (p[i] is float) - lsl_p[i] = new LSL_Types.LSLFloat((float)p[i]); - else - lsl_p[i] = p[i]; - } - - return PostScriptEvent(itemID, new EventParams(name, lsl_p, new DetectParams[0])); - } - - public bool PostObjectEvent(UUID itemID, string name, Object[] p) - { - SceneObjectPart part = m_Scene.GetSceneObjectPart(itemID); - if (part == null) - return false; - - Object[] lsl_p = new Object[p.Length]; - for (int i = 0; i < p.Length ; i++) - { - if (p[i] is int) - lsl_p[i] = new LSL_Types.LSLInteger((int)p[i]); - else if (p[i] is string) - lsl_p[i] = new LSL_Types.LSLString((string)p[i]); - else if (p[i] is Vector3) - lsl_p[i] = new LSL_Types.Vector3(((Vector3)p[i]).X, ((Vector3)p[i]).Y, ((Vector3)p[i]).Z); - else if (p[i] is Quaternion) - lsl_p[i] = new LSL_Types.Quaternion(((Quaternion)p[i]).X, ((Quaternion)p[i]).Y, ((Quaternion)p[i]).Z, ((Quaternion)p[i]).W); - else if (p[i] is float) - lsl_p[i] = new LSL_Types.LSLFloat((float)p[i]); - else - lsl_p[i] = p[i]; - } - - return PostObjectEvent(part.LocalId, new EventParams(name, lsl_p, new DetectParams[0])); - } - - public DetectParams GetDetectParams(UUID itemID, int number) - { - uint localID = m_ScriptManager.GetLocalID(itemID); - if (localID == 0) - return null; - - InstanceData id = m_ScriptManager.GetScript(localID, itemID); - - if (id == null) - return null; - - DetectParams[] det = m_ScriptManager.GetDetectParams(id); - - if (number < 0 || number >= det.Length) - return null; - - return det[number]; - } - - public int GetStartParameter(UUID itemID) - { - return m_ScriptManager.GetStartParameter(itemID); - } - - public void SetMinEventDelay(UUID itemID, double delay) - { - // TODO in DotNet, done in XEngine - throw new NotImplementedException(); - } - - #endregion - - public void SetState(UUID itemID, string state) - { - uint localID = m_ScriptManager.GetLocalID(itemID); - if (localID == 0) - return; - - InstanceData id = m_ScriptManager.GetScript(localID, itemID); - - if (id == null) - return; - - string currentState = id.State; - - if (currentState != state) - { - try - { - m_EventManager.state_exit(localID); - - } - catch (AppDomainUnloadedException) - { - m_log.Error("[SCRIPT]: state change called when "+ - "script was unloaded. Nothing to worry about, "+ - "but noting the occurance"); - } - - id.State = state; - - try - { - int eventFlags = m_ScriptManager.GetStateEventFlags(localID, - itemID); - - SceneObjectPart part = m_Scene.GetSceneObjectPart(localID); - if (part != null) - part.SetScriptEvents(itemID, eventFlags); - - m_EventManager.state_entry(localID); - } - catch (AppDomainUnloadedException) - { - m_log.Error("[SCRIPT]: state change called when "+ - "script was unloaded. Nothing to worry about, but "+ - "noting the occurance"); - } - } - } - - public bool GetScriptState(UUID itemID) - { - uint localID = m_ScriptManager.GetLocalID(itemID); - if (localID == 0) - return false; - - InstanceData id = m_ScriptManager.GetScript(localID, itemID); - if (id == null) - return false; - - return id.Running; - } - - public void SetScriptState(UUID itemID, bool state) - { - uint localID = m_ScriptManager.GetLocalID(itemID); - if (localID == 0) - return; - - InstanceData id = m_ScriptManager.GetScript(localID, itemID); - if (id == null) - return; - - if (!id.Disabled) - id.Running = state; - } - - public void ApiResetScript(UUID itemID) - { - uint localID = m_ScriptManager.GetLocalID(itemID); - if (localID == 0) - return; - - m_ScriptManager.ResetScript(localID, itemID); - } - - public void ResetScript(UUID itemID) - { - uint localID = m_ScriptManager.GetLocalID(itemID); - if (localID == 0) - return; - - m_ScriptManager.ResetScript(localID, itemID); - } - - public void OnScriptReset(uint localID, UUID itemID) - { - ResetScript(itemID); - } - - public void OnStartScript(uint localID, UUID itemID) - { - InstanceData id = m_ScriptManager.GetScript(localID, itemID); - if (id == null) - return; - - if (!id.Disabled) - id.Running = true; - } - - public void OnStopScript(uint localID, UUID itemID) - { - InstanceData id = m_ScriptManager.GetScript(localID, itemID); - if (id == null) - return; - - id.Running = false; - } - - public void OnGetScriptRunning(IClientAPI controllingClient, - UUID objectID, UUID itemID) - { - uint localID = m_ScriptManager.GetLocalID(itemID); - if (localID == 0) - return; - - InstanceData id = m_ScriptManager.GetScript(localID, itemID); - if (id == null) - return; - - IEventQueue eq = World.RequestModuleInterface(); - if (eq == null) - { - controllingClient.SendScriptRunningReply(objectID, itemID, - id.Running); - } - else - { - eq.Enqueue(EventQueueHelper.ScriptRunningReplyEvent(objectID, itemID, id.Running, true), - controllingClient.AgentId); - } - } - - public IScriptApi GetApi(UUID itemID, string name) - { - return m_ScriptManager.GetApi(itemID, name); - } - - public IScriptWorkItem QueueEventHandler(Object o) - { - return null; - } - - public string GetAssemblyName(UUID itemID) - { - return ""; - } - - public string GetXMLState(UUID itemID) - { - return ""; - } - - public bool CanBeDeleted(UUID itemID) - { - return true; - } - } -} diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs deleted file mode 100644 index 6ac209ef7f..0000000000 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs +++ /dev/null @@ -1,703 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Reflection; -using System.Globalization; -using System.Runtime.Remoting; -using System.Runtime.Remoting.Lifetime; -using log4net; -using OpenMetaverse; -using OpenSim.Framework; -using OpenSim.Region.Framework.Scenes; -using OpenSim.Region.ScriptEngine.Interfaces; -using OpenSim.Region.ScriptEngine.Shared; -using OpenSim.Region.ScriptEngine.Shared.Api; -using System.Collections.Generic; -using System.IO; -using System.Runtime.Serialization.Formatters.Binary; -using System.Threading; -using OpenSim.Region.ScriptEngine.Shared.Api.Runtime; -using OpenSim.Region.ScriptEngine.Shared.ScriptBase; -using OpenSim.Region.ScriptEngine.Shared.CodeTools; - -namespace OpenSim.Region.ScriptEngine.DotNetEngine -{ - public class InstanceData - { - public IScript Script; - public string State; - public bool Running; - public bool Disabled; - public string Source; - public int StartParam; - public AppDomain AppDomain; - public Dictionary Apis; - public Dictionary, KeyValuePair> - LineMap; -// public ISponsor ScriptSponsor; - } - - public class ScriptManager - { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - #region Declares - - private Thread scriptLoadUnloadThread; - private static Thread staticScriptLoadUnloadThread = null; - private Queue LUQueue = new Queue(); - private static bool PrivateThread; - private int LoadUnloadMaxQueueSize; - private Object scriptLock = new Object(); - private bool m_started = false; - private Dictionary detparms = - new Dictionary(); - - // Load/Unload structure - private struct LUStruct - { - public uint localID; - public UUID itemID; - public string script; - public LUType Action; - public int startParam; - public bool postOnRez; - } - - private enum LUType - { - Unknown = 0, - Load = 1, - Unload = 2 - } - - public Dictionary> Scripts = - new Dictionary>(); - - private Compiler LSLCompiler; - - public Scene World - { - get { return m_scriptEngine.World; } - } - - #endregion - - public void Initialize() - { - // Create our compiler - LSLCompiler = new Compiler(m_scriptEngine); - } - - public void _StartScript(uint localID, UUID itemID, string Script, - int startParam, bool postOnRez) - { - m_log.DebugFormat( - "[{0}]: ScriptManager StartScript: localID: {1}, itemID: {2}", - m_scriptEngine.ScriptEngineName, localID, itemID); - - // We will initialize and start the script. - // It will be up to the script itself to hook up the correct events. - string CompiledScriptFile = String.Empty; - - SceneObjectPart m_host = World.GetSceneObjectPart(localID); - - if (null == m_host) - { - m_log.ErrorFormat( - "[{0}]: Could not find scene object part corresponding "+ - "to localID {1} to start script", - m_scriptEngine.ScriptEngineName, localID); - - return; - } - - UUID assetID = UUID.Zero; - TaskInventoryItem taskInventoryItem = new TaskInventoryItem(); - if (m_host.TaskInventory.TryGetValue(itemID, out taskInventoryItem)) - assetID = taskInventoryItem.AssetID; - - ScenePresence presence = - World.GetScenePresence(taskInventoryItem.OwnerID); - - CultureInfo USCulture = new CultureInfo("en-US"); - Thread.CurrentThread.CurrentCulture = USCulture; - - try - { - // Compile (We assume LSL) - CompiledScriptFile = - (string)LSLCompiler.PerformScriptCompile(Script, - assetID.ToString(), taskInventoryItem.OwnerID); - - if (presence != null && (!postOnRez)) - presence.ControllingClient.SendAgentAlertMessage( - "Compile successful", false); - - m_log.InfoFormat("[SCRIPT]: Compiled assetID {0}: {1}", - assetID, CompiledScriptFile); - - InstanceData id = new InstanceData(); - - IScript CompiledScript; - CompiledScript = - m_scriptEngine.m_AppDomainManager.LoadScript( - CompiledScriptFile, out id.AppDomain); - //Register the sponsor -// ISponsor scriptSponsor = new ScriptSponsor(); -// ILease lease = (ILease)RemotingServices.GetLifetimeService(CompiledScript as MarshalByRefObject); -// lease.Register(scriptSponsor); -// id.ScriptSponsor = scriptSponsor; - - id.LineMap = LSLCompiler.LineMap(); - id.Script = CompiledScript; - id.Source = Script; - id.StartParam = startParam; - id.State = "default"; - id.Running = true; - id.Disabled = false; - - // Add it to our script memstruct - m_scriptEngine.m_ScriptManager.SetScript(localID, itemID, id); - - id.Apis = new Dictionary(); - - ApiManager am = new ApiManager(); - - foreach (string api in am.GetApis()) - { - id.Apis[api] = am.CreateApi(api); - id.Apis[api].Initialize(m_scriptEngine, m_host, - localID, itemID); - } - - foreach (KeyValuePair kv in id.Apis) - { - CompiledScript.InitApi(kv.Key, kv.Value); - } - - // Fire the first start-event - int eventFlags = - m_scriptEngine.m_ScriptManager.GetStateEventFlags( - localID, itemID); - - m_host.SetScriptEvents(itemID, eventFlags); - - m_scriptEngine.m_EventQueueManager.AddToScriptQueue( - localID, itemID, "state_entry", new DetectParams[0], - new object[] { }); - - if (postOnRez) - { - m_scriptEngine.m_EventQueueManager.AddToScriptQueue( - localID, itemID, "on_rez", new DetectParams[0], - new object[] { new LSL_Types.LSLInteger(startParam) }); - } - - string[] warnings = LSLCompiler.GetWarnings(); - - if (warnings != null && warnings.Length != 0) - { - if (presence != null && (!postOnRez)) - presence.ControllingClient.SendAgentAlertMessage( - "Script saved with warnings, check debug window!", - false); - - foreach (string warning in warnings) - { - try - { - // DISPLAY WARNING INWORLD - string text = "Warning:\n" + warning; - if (text.Length > 1100) - text = text.Substring(0, 1099); - - World.SimChat(Utils.StringToBytes(text), - ChatTypeEnum.DebugChannel, 2147483647, - m_host.AbsolutePosition, m_host.Name, m_host.UUID, - false); - } - catch (Exception e2) // LEGIT: User Scripting - { - m_log.Error("[" + - m_scriptEngine.ScriptEngineName + - "]: Error displaying warning in-world: " + - e2.ToString()); - m_log.Error("[" + - m_scriptEngine.ScriptEngineName + "]: " + - "Warning:\r\n" + - warning); - } - } - } - } - catch (Exception e) // LEGIT: User Scripting - { - if (presence != null && (!postOnRez)) - presence.ControllingClient.SendAgentAlertMessage( - "Script saved with errors, check debug window!", - false); - try - { - // DISPLAY ERROR INWORLD - string text = "Error compiling script:\n" + - e.Message.ToString(); - if (text.Length > 1100) - text = text.Substring(0, 1099); - - World.SimChat(Utils.StringToBytes(text), - ChatTypeEnum.DebugChannel, 2147483647, - m_host.AbsolutePosition, m_host.Name, m_host.UUID, - false); - } - catch (Exception e2) // LEGIT: User Scripting - { - m_log.Error("[" + - m_scriptEngine.ScriptEngineName + - "]: Error displaying error in-world: " + - e2.ToString()); - m_log.Error("[" + - m_scriptEngine.ScriptEngineName + "]: " + - "Errormessage: Error compiling script:\r\n" + - e2.Message.ToString()); - } - } - } - - public void _StopScript(uint localID, UUID itemID) - { - InstanceData id = GetScript(localID, itemID); - if (id == null) - return; - - m_log.DebugFormat("[{0}]: Unloading script", - m_scriptEngine.ScriptEngineName); - - // Stop long command on script - AsyncCommandManager.RemoveScript(m_scriptEngine, localID, itemID); - - try - { - // Get AppDomain - // Tell script not to accept new requests - id.Running = false; - id.Disabled = true; - AppDomain ad = id.AppDomain; - - // Remove from internal structure - RemoveScript(localID, itemID); - - // Tell AppDomain that we have stopped script - m_scriptEngine.m_AppDomainManager.StopScript(ad); - } - catch (Exception e) // LEGIT: User Scripting - { - m_log.Error("[" + - m_scriptEngine.ScriptEngineName + - "]: Exception stopping script localID: " + - localID + " LLUID: " + itemID.ToString() + - ": " + e.ToString()); - } - } - - public void ReadConfig() - { - // TODO: Requires sharing of all ScriptManagers to single thread - PrivateThread = true; - LoadUnloadMaxQueueSize = m_scriptEngine.ScriptConfigSource.GetInt( - "LoadUnloadMaxQueueSize", 100); - } - - #region Object init/shutdown - - public ScriptEngine m_scriptEngine; - - public ScriptManager(ScriptEngine scriptEngine) - { - m_scriptEngine = scriptEngine; - } - - public void Setup() - { - ReadConfig(); - Initialize(); - } - - public void Start() - { - m_started = true; - - - AppDomain.CurrentDomain.AssemblyResolve += - new ResolveEventHandler(CurrentDomain_AssemblyResolve); - - // - // CREATE THREAD - // Private or shared - // - if (PrivateThread) - { - // Assign one thread per region - //scriptLoadUnloadThread = StartScriptLoadUnloadThread(); - } - else - { - // Shared thread - make sure one exist, then assign it to the private - if (staticScriptLoadUnloadThread == null) - { - //staticScriptLoadUnloadThread = - // StartScriptLoadUnloadThread(); - } - scriptLoadUnloadThread = staticScriptLoadUnloadThread; - } - } - - ~ScriptManager() - { - // Abort load/unload thread - try - { - if (scriptLoadUnloadThread != null && - scriptLoadUnloadThread.IsAlive == true) - { - scriptLoadUnloadThread.Abort(); - //scriptLoadUnloadThread.Join(); - } - } - catch - { - } - } - - #endregion - - #region Load / Unload scripts (Thread loop) - - public void DoScriptLoadUnload() - { - if (!m_started) - return; - - lock (LUQueue) - { - if (LUQueue.Count > 0) - { - LUStruct item = LUQueue.Dequeue(); - - if (item.Action == LUType.Unload) - { - _StopScript(item.localID, item.itemID); - RemoveScript(item.localID, item.itemID); - } - else if (item.Action == LUType.Load) - { - m_log.DebugFormat("[{0}]: Loading script", - m_scriptEngine.ScriptEngineName); - _StartScript(item.localID, item.itemID, item.script, - item.startParam, item.postOnRez); - } - } - } - } - - #endregion - - #region Helper functions - - private static Assembly CurrentDomain_AssemblyResolve( - object sender, ResolveEventArgs args) - { - return Assembly.GetExecutingAssembly().FullName == args.Name ? - Assembly.GetExecutingAssembly() : null; - } - - #endregion - - #region Start/Stop/Reset script - - /// - /// Fetches, loads and hooks up a script to an objects events - /// - /// - /// - public void StartScript(uint localID, UUID itemID, string Script, int startParam, bool postOnRez) - { - lock (LUQueue) - { - if ((LUQueue.Count >= LoadUnloadMaxQueueSize) && m_started) - { - m_log.Error("[" + - m_scriptEngine.ScriptEngineName + - "]: ERROR: Load/unload queue item count is at " + - LUQueue.Count + - ". Config variable \"LoadUnloadMaxQueueSize\" "+ - "is set to " + LoadUnloadMaxQueueSize + - ", so ignoring new script."); - - return; - } - - LUStruct ls = new LUStruct(); - ls.localID = localID; - ls.itemID = itemID; - ls.script = Script; - ls.Action = LUType.Load; - ls.startParam = startParam; - ls.postOnRez = postOnRez; - LUQueue.Enqueue(ls); - } - } - - /// - /// Disables and unloads a script - /// - /// - /// - public void StopScript(uint localID, UUID itemID) - { - LUStruct ls = new LUStruct(); - ls.localID = localID; - ls.itemID = itemID; - ls.Action = LUType.Unload; - ls.startParam = 0; - ls.postOnRez = false; - lock (LUQueue) - { - LUQueue.Enqueue(ls); - } - } - - #endregion - - #region Perform event execution in script - - // Execute a LL-event-function in Script - internal void ExecuteEvent(uint localID, UUID itemID, - string FunctionName, DetectParams[] qParams, object[] args) - { - int ExeStage=0; // ;^) Ewe Loon, for debuging - InstanceData id=null; - try // ;^) Ewe Loon,fix - { // ;^) Ewe Loon,fix - ExeStage = 1; // ;^) Ewe Loon, for debuging - id = GetScript(localID, itemID); - if (id == null) - return; - ExeStage = 2; // ;^) Ewe Loon, for debuging - if (qParams.Length>0) // ;^) Ewe Loon,fix - detparms[id] = qParams; - ExeStage = 3; // ;^) Ewe Loon, for debuging - if (id.Running) - id.Script.ExecuteEvent(id.State, FunctionName, args); - ExeStage = 4; // ;^) Ewe Loon, for debuging - if (qParams.Length>0) // ;^) Ewe Loon,fix - detparms.Remove(id); - ExeStage = 5; // ;^) Ewe Loon, for debuging - } - catch (Exception e) // ;^) Ewe Loon, From here down tis fix - { - if ((ExeStage == 3)&&(qParams.Length>0)) - detparms.Remove(id); - SceneObjectPart ob = m_scriptEngine.World.GetSceneObjectPart(localID); - m_log.InfoFormat("[Script Error] ,{0},{1},@{2},{3},{4},{5}", ob.Name , FunctionName, ExeStage, e.Message, qParams.Length, detparms.Count); - if (ExeStage != 2) throw e; - } - } - - public uint GetLocalID(UUID itemID) - { - foreach (KeyValuePair > k - in Scripts) - { - if (k.Value.ContainsKey(itemID)) - return k.Key; - } - return 0; - } - - public int GetStateEventFlags(uint localID, UUID itemID) - { - try - { - InstanceData id = GetScript(localID, itemID); - if (id == null) - { - return 0; - } - int evflags = id.Script.GetStateEventFlags(id.State); - - return (int)evflags; - } - catch (Exception) - { - } - - return 0; - } - - #endregion - - #region Internal functions to keep track of script - - public List GetScriptKeys(uint localID) - { - if (Scripts.ContainsKey(localID) == false) - return new List(); - - Dictionary Obj; - Scripts.TryGetValue(localID, out Obj); - - return new List(Obj.Keys); - } - - public InstanceData GetScript(uint localID, UUID itemID) - { - lock (scriptLock) - { - InstanceData id = null; - - if (Scripts.ContainsKey(localID) == false) - return null; - - Dictionary Obj; - Scripts.TryGetValue(localID, out Obj); - if (Obj==null) return null; - if (Obj.ContainsKey(itemID) == false) - return null; - - // Get script - Obj.TryGetValue(itemID, out id); - return id; - } - } - - public void SetScript(uint localID, UUID itemID, InstanceData id) - { - lock (scriptLock) - { - // Create object if it doesn't exist - if (Scripts.ContainsKey(localID) == false) - { - Scripts.Add(localID, new Dictionary()); - } - - // Delete script if it exists - Dictionary Obj; - Scripts.TryGetValue(localID, out Obj); - if (Obj.ContainsKey(itemID) == true) - Obj.Remove(itemID); - - // Add to object - Obj.Add(itemID, id); - } - } - - public void RemoveScript(uint localID, UUID itemID) - { - if (localID == 0) - localID = GetLocalID(itemID); - - // Don't have that object? - if (Scripts.ContainsKey(localID) == false) - return; - - // Delete script if it exists - Dictionary Obj; - Scripts.TryGetValue(localID, out Obj); - if (Obj.ContainsKey(itemID) == true) - Obj.Remove(itemID); - } - - #endregion - - public void ResetScript(uint localID, UUID itemID) - { - InstanceData id = GetScript(localID, itemID); - string script = id.Source; - StopScript(localID, itemID); - SceneObjectPart part = World.GetSceneObjectPart(localID); - part.Inventory.GetInventoryItem(itemID).PermsMask = 0; - part.Inventory.GetInventoryItem(itemID).PermsGranter = UUID.Zero; - StartScript(localID, itemID, script, id.StartParam, false); - } - - #region Script serialization/deserialization - - public void GetSerializedScript(uint localID, UUID itemID) - { - // Serialize the script and return it - // Should not be a problem - FileStream fs = File.Create("SERIALIZED_SCRIPT_" + itemID); - BinaryFormatter b = new BinaryFormatter(); - b.Serialize(fs, GetScript(localID, itemID)); - fs.Close(); - } - - public void PutSerializedScript(uint localID, UUID itemID) - { - // Deserialize the script and inject it into an AppDomain - - // How to inject into an AppDomain? - } - - #endregion - - public DetectParams[] GetDetectParams(InstanceData id) - { - if (detparms.ContainsKey(id)) - return detparms[id]; - - return null; - } - - public int GetStartParameter(UUID itemID) - { - uint localID = GetLocalID(itemID); - InstanceData id = GetScript(localID, itemID); - - if (id == null) - return 0; - - return id.StartParam; - } - - public IScriptApi GetApi(UUID itemID, string name) - { - uint localID = GetLocalID(itemID); - - InstanceData id = GetScript(localID, itemID); - if (id == null) - return null; - - if (id.Apis.ContainsKey(name)) - return id.Apis[name]; - - return null; - } - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Commands_LSL.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Commands_LSL.cs deleted file mode 100644 index 0b7c89487a..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Commands_LSL.cs +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Text; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Commands_LSL -{ - public class Commands_LSL : IScriptEngineComponent - { - - - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/LSL_BaseClass.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/LSL_BaseClass.cs deleted file mode 100644 index fdbc699a1c..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/LSL_BaseClass.cs +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; -using log4net; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Commands_LSL -{ - public class Script : IScriptCommandProvider - { - internal static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - public void llSay(int channelID, string text) - { - m_log.InfoFormat("[{0}] llSay({1}, \"{2}\")", "(Commands_LSL)OpenSim.ScriptEngine.Components.DotNetEngine.Commands_LSL.Script", channelID, text); - } - - public void ExecuteCommand(string functionName, params object[] args) - { - - } - - public string Name - { - get { return "SECS.DotNetEngine.Commands_LSL.Script"; } - } - } -} \ No newline at end of file diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Properties/AssemblyInfo.cs deleted file mode 100644 index fc67ec11ba..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_LSL/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("OpenSim.ScriptEngine.Components.DotNetEngine.Commands_LSL")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("http://opensimulator.org")] -[assembly: AssemblyProduct("OpenSim.ScriptEngine.Components.DotNetEngine.Commands_LSL")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2008")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("ea77002b-c967-4368-ace9-6533f8147d4b")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Commands_OSSL.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Commands_OSSL.cs deleted file mode 100644 index 86eab097d4..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Commands_OSSL.cs +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Text; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Commands_OSSL -{ - public class Commands_OSSL : IScriptEngineComponent - { - //private RegionInfoStructure CurrentRegion; - public void Initialize(RegionInfoStructure currentRegion) - { - //CurrentRegion = currentRegion; - } - - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Properties/AssemblyInfo.cs deleted file mode 100644 index c6b15cf9cb..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Commands_OSSL/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("OpenSim.ScriptEngine.Components.DotNetEngine.Commands_OSSL")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("http://opensimulator.org")] -[assembly: AssemblyProduct("OpenSim.ScriptEngine.Components.DotNetEngine.Commands_OSSL")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2008")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("ea77002b-c967-4368-ace9-6533f8147d4b")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/CILCompiler.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/CILCompiler.cs deleted file mode 100644 index 3d2d9d236d..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/CILCompiler.cs +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.CodeDom.Compiler; -using System.Collections.Generic; -using System.IO; -using System.Reflection; -using System.Text.RegularExpressions; -using log4net; -using OpenSim.ScriptEngine.Shared; -using ScriptAssemblies; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Compilers -{ - public abstract class CILCompiler - { - internal static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private string ScriptEnginesPath = "ScriptEngines"; - private string Name { get { return "SECS.DotNetEngine.CILCompiler"; } } - private string m_scriptAssemblyName; - internal string ScriptAssemblyName { get { return m_scriptAssemblyName; } set { m_scriptAssemblyName = value; } } - - // Default inherit - protected string ScriptInheritFrom = typeof(ScriptAssemblies.ScriptBase).Name; - private readonly System.Security.Cryptography.MD5CryptoServiceProvider MD5Sum = new System.Security.Cryptography.MD5CryptoServiceProvider(); - protected CodeDomProvider CompileProvider; - - //private string[] AppDomainAssemblies = new string[] { "OpenSim.Region.ScriptEngine.Shared.dll", "OpenSim.Region.ScriptEngine.Shared.Script.dll", "OpenSim.Region.ScriptEngine.Shared.Api.Runtime.dll" }; - private readonly string[] AppDomainAssemblies = new string[] { - Assembly.GetAssembly(typeof(Int32)).Location, - "OpenSim.ScriptEngine.Shared.dll", - "OpenSim.ScriptEngine.Shared.Script.dll", - Path.Combine("ScriptEngines", "OpenSim.Region.ScriptEngine.Shared.dll") - }; - - public abstract string PreProcessScript(ref string script); - - public CILCompiler() - { - } - - private static readonly Regex FileNameFixer = new Regex(@"[^a-zA-Z0-9\.\-]", RegexOptions.Compiled | RegexOptions.Singleline); - public string Compile(ScriptMetaData data, ref string _script) - { - // Add "using", "inherit", default constructor, etc around script. - string script = PreProcessScript(ref _script); - - // Get filename based on content - string md5Sum = System.Convert.ToBase64String( - MD5Sum.ComputeHash( - System.Text.Encoding.ASCII.GetBytes(script) - )); - // Unique name for this assembly - ScriptAssemblyName = "SECS_Script_" + FileNameFixer.Replace(md5Sum, "_"); - - string OutFile = Path.Combine(ScriptEnginesPath, ScriptAssemblyName + ".dll"); - - // Make sure target dir exist - if (!Directory.Exists(ScriptEnginesPath)) - try { Directory.CreateDirectory(ScriptEnginesPath); } - catch { } - - // Already exist? No point in recompiling - if (File.Exists(OutFile)) - return OutFile; - - // - // Dump source code - // - string dumpFile = OutFile + ".txt"; - try - { - if (File.Exists(dumpFile)) - File.Delete(dumpFile); - File.WriteAllText(dumpFile, script); - } - catch (Exception e) - { - m_log.DebugFormat("[{0}] Exception trying to dump script source code to file \"{1}\": {2}", Name, dumpFile, e.ToString()); - } - - // - // COMPILE - // - - CompilerParameters parameters = new CompilerParameters(); - parameters.IncludeDebugInformation = true; - //string rootPath = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory); - - foreach (string file in AppDomainAssemblies) - { - parameters.ReferencedAssemblies.Add(file); - m_log.DebugFormat("[{0}] Adding reference for compile: \"{1}\".", Name, file); - } - //lock (commandProvider) - //{ - // foreach (string key in commandProvider.Keys) - // { - // IScriptCommandProvider cp = commandProvider[key]; - // string - // file = cp.GetType().Assembly.Location; - // parameters.ReferencedAssemblies.Add(file); - // m_log.DebugFormat("[{0}] Loading command provider assembly \"{1}\" into AppDomain: \"{2}\".", Name, - // key, file); - // } - //} - - parameters.GenerateExecutable = false; - parameters.OutputAssembly = OutFile; - parameters.IncludeDebugInformation = true; - //parameters.WarningLevel = 1; // Should be 4? - parameters.TreatWarningsAsErrors = false; - - // Do compile - CompilerResults results = CompileProvider.CompileAssemblyFromSource(parameters, script); - - - // - // WARNINGS AND ERRORS - // - //TODO - int display = 5; - if (results.Errors.Count > 0) - { - string errtext = String.Empty; - foreach (CompilerError CompErr in results.Errors) - { - // Show 5 errors max - // - if (display <= 0) - break; - display--; - - string severity = "Error"; - if (CompErr.IsWarning) - severity = "Warning"; - - //TODO: Implement - KeyValuePair lslPos = new KeyValuePair(); - - //lslPos = "NOT IMPLEMENTED";// FindErrorPosition(CompErr.Line, CompErr.Column); - - string text = CompErr.ErrorText; - - // The Second Life viewer's script editor begins - // countingn lines and columns at 0, so we subtract 1. - errtext += String.Format("Line ({0},{1}): {4} {2}: {3}\n", - lslPos.Key - 1, lslPos.Value - 1, - CompErr.ErrorNumber, text, severity); - } - - if (!File.Exists(OutFile)) - { - throw new Exception(errtext); - } - } - - // TODO: Process errors - return OutFile; - } - - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_CS.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_CS.cs deleted file mode 100644 index a8599bf56c..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_CS.cs +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.CodeDom.Compiler; -using System.Collections.Generic; -using System.Text; -using Microsoft.CSharp; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Compilers -{ - public class Compiler_CS : CILCompiler, IScriptCompiler - { - private string[] ScriptUsing = new string[] - { - "System", - "OpenSim.ScriptEngine.Shared", - "OpenSim.Region.ScriptEngine.Shared", - "System.Collections.Generic" - }; - - public Compiler_CS() - { - CompileProvider = new CSharpCodeProvider(); - } - - public override string PreProcessScript(ref string script) - { - string s = ""; - foreach (string u in ScriptUsing) - { - s += "using " + u + ";"; - } - - s += "\r\n" - + String.Empty + "namespace ScriptAssemblies { " - + String.Empty + "public class UserScript" + " : " + ScriptInheritFrom + " { \r\n" + - @"public Script() { } " + - script + - "} }\r\n"; - - return s; - } - - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_JS.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_JS.cs deleted file mode 100644 index 4361ae26b3..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_JS.cs +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.CodeDom.Compiler; -using System.Collections.Generic; -using System.Text; -using Microsoft.JScript; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Compilers -{ - public class Compiler_JS : CILCompiler, IScriptCompiler - { - - public Compiler_JS() - { - CompileProvider = new JScriptCodeProvider() as CodeDomProvider; - } - - public override string PreProcessScript(ref string script) - { - return - "import OpenSim.Region.ScriptEngine.Shared; import System.Collections.Generic;\r\n" + - "package SecondLife {\r\n" + - "class Script extends OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass { \r\n" + - script + - "} }\r\n"; - - } - - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_LSL.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_LSL.cs deleted file mode 100644 index 496afc97f3..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_LSL.cs +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; -using OpenSim.ScriptEngine.Components.DotNetEngine.Compilers.LSL; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Compilers -{ - public class Compiler_LSL : IScriptCompiler - { - - - private readonly Compiler_CS m_Compiler_CS = new Compiler_CS(); - private readonly LSL2CS m_LSL2CS = new LSL2CS(); - - public string Compile(ScriptMetaData scriptMetaData, ref string script) - { - // Convert script to CS - string scriptCS = m_LSL2CS.Convert(ref script); - // Use CS compiler to compile it - return m_Compiler_CS.Compile(scriptMetaData, ref scriptCS); - } - - public string PreProcessScript(ref string script) - { - // This is handled by our converter - return script; - } - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_VB.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_VB.cs deleted file mode 100644 index 04597bac9a..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_VB.cs +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.CodeDom.Compiler; -using System.Collections.Generic; -using System.Text; -using Microsoft.VisualBasic; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Compilers -{ - public class Compiler_VB : CILCompiler, IScriptCompiler - { - - public Compiler_VB() - { - CompileProvider = new VBCodeProvider() as CodeDomProvider; - } - - public override string PreProcessScript(ref string script) - { - return - "Imports OpenSim.Region.ScriptEngine.Shared: Imports System.Collections.Generic: " + - String.Empty + "NameSpace SecondLife:" + - String.Empty + "Public Class Script: Inherits OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass: " + - "\r\nPublic Sub New()\r\nEnd Sub: " + - script + - ":End Class :End Namespace\r\n"; - } - } -} - diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_YP.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_YP.cs deleted file mode 100644 index dce17ad525..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Compiler_YP.cs +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; -using OpenSim.ScriptEngine.Components.DotNetEngine.Compilers.YP; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Compilers -{ - public class Compiler_YP: IScriptCompiler - { - - private readonly Compiler_CS m_Compiler_CS = new Compiler_CS(); - - public string Compile(ScriptMetaData scriptMetaData, ref string script) - { - // Convert script to CS - string scriptCS = YP2CS.Convert(ref script); - // Use CS compiler to compile it - return m_Compiler_CS.Compile(scriptMetaData, ref scriptCS); - } - - public string PreProcessScript(ref string script) - { - // This is handled by our converter - return script; - } - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/LSL/LSL2CS.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/LSL/LSL2CS.cs deleted file mode 100644 index d4af1c7c06..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/LSL/LSL2CS.cs +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; -using System.Text; -using OpenSim.Region.ScriptEngine.Shared.CodeTools; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Compilers.LSL -{ - public class LSL2CS - { - private ICodeConverter Converter = new CSCodeGenerator(); - - public string Convert(ref string script) - { - //m_positionMap = ((CSCodeGenerator) LSL_Converter).PositionMap; - return Converter.Convert(script); - } - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Properties/AssemblyInfo.cs deleted file mode 100644 index dedc48e91c..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("OpenSim.ScriptEngine.Components.DotNetEngine.Compilers")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("http://opensimulator.org")] -[assembly: AssemblyProduct("OpenSim.ScriptEngine.Components.DotNetEngine.Compilers")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2008")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("ea77002b-c967-4368-ace9-6533f8147d4b")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/YP/YP2CS.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/YP/YP2CS.cs deleted file mode 100644 index 10b571585a..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Compilers/YP/YP2CS.cs +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Compilers.YP -{ - public class YP2CS - { - public static string Convert(ref string script) - { - return script; - } - - public string PreProcessScript(ref string script) - { - return - "using OpenSim.Region.ScriptEngine.Shared.YieldProlog; " + - "using OpenSim.Region.ScriptEngine.Shared; using System.Collections.Generic;\r\n" + - String.Empty + "namespace SecondLife { " + - String.Empty + "public class Script : OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass { \r\n" + - //@"public Script() { } " + - @"static OpenSim.Region.ScriptEngine.Shared.YieldProlog.YP YP=null; " + - @"public Script() { YP= new OpenSim.Region.ScriptEngine.Shared.YieldProlog.YP(); } " + - script + - "} }\r\n"; - } - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Events/LSLEventProvider.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Events/LSLEventProvider.cs deleted file mode 100644 index 81dc62dd74..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Events/LSLEventProvider.cs +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; -using System.Text; -using OpenMetaverse; -using OpenSim.Framework; -using OpenSim.Region.Framework.Scenes; -using OpenSim.Region.ScriptEngine.Shared; -using OpenSim.ScriptEngine.Shared; -using EventParams = OpenSim.ScriptEngine.Shared.EventParams; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Events -{ - public class LSLEventProvider : IScriptEventProvider - { - public delegate void RezScriptDelegate(uint localID, UUID itemID, string script, int startParam, bool postOnRez, - string engine); - public event RezScriptDelegate RezScript; - public delegate void RemoveScriptDelegate(uint localID, UUID itemID); - public event RemoveScriptDelegate RemoveScript; - public delegate void ScriptChangedDelegate(uint localID, uint change); - public event ScriptChangedDelegate ScriptChanged; - - private RegionInfoStructure CurrentRegion; - public void Initialize(RegionInfoStructure currentRegion) - { - CurrentRegion = currentRegion; - HookupEvents(); - } - - private void HookupEvents() - { - CurrentRegion.Scene.EventManager.OnObjectGrab += OnObjectGrab; - CurrentRegion.Scene.EventManager.OnRezScript += OnRezScript; - CurrentRegion.Scene.EventManager.OnRemoveScript += OnRemoveScript; - CurrentRegion.Scene.EventManager.OnScriptChangedEvent += OnScriptChangedEvent; - - - } - - private void OnScriptChangedEvent(uint localID, uint change) - { - // Script is being changed, fire event - if (ScriptChanged != null) - ScriptChanged(localID, change); - } - - private void OnRemoveScript(uint localID, UUID itemID) - { - // Script is being removed, fire event - if (RemoveScript != null) - RemoveScript(localID, itemID); - } - - private void OnRezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine, int stateSource) - { - // New script being created, fire event - if (RezScript != null) - RezScript(localID, itemID, script, startParam, postOnRez, engine); - } - - private void OnObjectGrab(uint localID, uint originalID, Vector3 offsetPos, IClientAPI remoteClient, SurfaceTouchEventArgs surfaceArgs) - { - // Add to queue for all scripts in ObjectID object - DetectParams[] det = new DetectParams[1]; - det[0] = new DetectParams(); - det[0].Key = remoteClient.AgentId; - //det[0].Populate(World); - - if (originalID == 0) - { - SceneObjectPart part = - CurrentRegion.Scene.GetSceneObjectPart(localID); - - if (part == null) - return; - - det[0].LinkNum = part.LinkNum; - } - else - { - SceneObjectPart originalPart = - CurrentRegion.Scene.GetSceneObjectPart(originalID); - det[0].LinkNum = originalPart.LinkNum; - } - if (surfaceArgs != null) - { - det[0].SurfaceTouchArgs = surfaceArgs; - } - Shared.EventParams ep = - new Shared.EventParams(localID, "touch_start", new Object[] {new LSL_Types.LSLInteger(1)}, det); - CurrentRegion.Executors_Execute(ep); - - } - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Events/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Events/Properties/AssemblyInfo.cs deleted file mode 100644 index 299304ab6a..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Events/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("OpenSim.ScriptEngine.Components.DotNetEngine.Scheduler")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("http://opensimulator.org")] -[assembly: AssemblyProduct("OpenSim.ScriptEngine.Components.DotNetEngine.Scheduler")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2008")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("ea77002b-c967-4368-ace9-6533f8147d4b")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/BaseClassFactory.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/BaseClassFactory.cs deleted file mode 100644 index afa2300759..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/BaseClassFactory.cs +++ /dev/null @@ -1,240 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.IO; -using System.Reflection; -using System.Reflection.Emit; -using System.Text; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Scheduler -{ - public class BaseClassFactory - { - - - public static void MakeBaseClass(ScriptStructure script) - { - string asmName = "ScriptAssemblies"; - string ModuleID = asmName; - string ClassID = "Script"; - string moveToDir = "ScriptEngines"; - string asmFileName = ModuleID + "_" + ClassID + ".dll"; - if (!Directory.Exists(moveToDir)) - Directory.CreateDirectory(moveToDir); - - ILGenerator ilgen; - AssemblyBuilder asmBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly( - new AssemblyName(asmName), AssemblyBuilderAccess.RunAndSave); - - // The module builder - ModuleBuilder modBuilder = asmBuilder.DefineDynamicModule(ModuleID, asmFileName); - - // The class builder - TypeBuilder classBuilder = modBuilder.DefineType(ClassID, TypeAttributes.Class | TypeAttributes.Public); - - // The default constructor - //ConstructorBuilder ctorBuilder = classBuilder.DefineDefaultConstructor(MethodAttributes.Public); - - - Type[] paramsTypeArray = new Type[] {typeof (System.ParamArrayAttribute)}; - Type[] executeFunctionTypeArray = new Type[] {typeof (string), typeof (System.ParamArrayAttribute)}; - foreach (IScriptCommandProvider cp in script.RegionInfo.CommandProviders.Values) - { - Type t = cp.GetType(); - foreach (MethodInfo mi in t.GetMethods()) - { - MethodBuilder methodBuilder = classBuilder.DefineMethod(mi.Name, mi.Attributes, mi.GetType(), Type.EmptyTypes); - methodBuilder.SetParameters(paramsTypeArray); - //ParameterBuilder paramBuilder = methodBuilder.DefineParameter(1, ParameterAttributes.None, "args"); - - ilgen = methodBuilder.GetILGenerator(); - //ilgen.Emit(OpCodes.Nop); - //ilgen.Emit(OpCodes.Ldarg_0); - //ilgen.Emit(OpCodes.Ldc_I4_0); - //ilgen.Emit(OpCodes.Ldelem_Ref); - //ilgen.MarkSequencePoint(doc, 6, 1, 6, 100); - - //MethodInfo ExecuteFunction = typeof(ScriptAssemblies.IScript).GetMethod( - // "ExecuteFunction", - // executeFunctionTypeArray); - - ilgen.DeclareLocal(typeof(string)); - ilgen.Emit(OpCodes.Nop); - ilgen.Emit(OpCodes.Ldstr, mi.Name); - ilgen.Emit(OpCodes.Stloc_0); - ilgen.Emit(OpCodes.Ldarg_0); - ilgen.Emit(OpCodes.Ldloc_0); - ilgen.Emit(OpCodes.Ldarg_1); - - // FieldInfo testInfo = classBuilder. - //BindingFlags.NonPublic | BindingFlags.Instance); - - //ilgen.Emit(OpCodes.Ldfld, testInfo); - - //ilgen.EmitCall(OpCodes.Call, ExecuteFunction, executeFunctionTypeArray); - ilgen.EmitCall(OpCodes.Call, typeof(System.Console).GetMethod("WriteLine"), executeFunctionTypeArray); - - // // string.Format("Hello, {0} World!", toWhom) - // // - // ilgen.Emit(OpCodes.Ldstr, "Hello, {0} World!"); - // ilgen.Emit(OpCodes.Ldarg_1); - // ilgen.Emit(OpCodes.Call, typeof(string).GetMethod - //("Format", new Type[] { typeof(string), typeof(object) })); - - // // m_log.Debug("Hello, World!"); - // // - // ilgen.Emit(OpCodes.Call, typeof(Console).GetMethod - // ("WriteLine", new Type[] { typeof(string) })); - ilgen.Emit(OpCodes.Ret); - - - - //Label eom = ilgen.DefineLabel(); - //ilgen.Emit(OpCodes.Br_S, eom); - //ilgen.MarkLabel(eom); - //ilgen.Emit(OpCodes.Ret); - //Type test = methodBuilder.SetParameters(); - - - //methodBuilder.SetParameters(typeof (object[])); - - - } - } - - - //// Two fields: m_firstname, m_lastname - //FieldBuilder fBuilderFirstName = classBuilder.DefineField("m_firstname", typeof(string), FieldAttributes.Private); - //FieldBuilder fBuilderLastName = classBuilder.DefineField("m_lastname", typeof(string), FieldAttributes.Private); - - //// Two properties for this object: FirstName, LastName - //PropertyBuilder pBuilderFirstName = classBuilder.DefineProperty("FirstName", System.Reflection.PropertyAttributes.HasDefault, typeof(string), null); - //PropertyBuilder pBuilderLastName = classBuilder.DefineProperty("LastName", System.Reflection.PropertyAttributes.HasDefault, typeof(string), null); - - //// Custom attributes for get, set accessors - //MethodAttributes getSetAttr = MethodAttributes.Public | MethodAttributes.HideBySig | MethodAttributes.SpecialName; - - //// get,set accessors for FirstName - //MethodBuilder mGetFirstNameBuilder = classBuilder.DefineMethod("get_FirstName", getSetAttr, typeof(string), Type.EmptyTypes); - - //// Code generation - //ilgen = mGetFirstNameBuilder.GetILGenerator(); - //ilgen.Emit(OpCodes.Ldarg_0); - //ilgen.Emit(OpCodes.Ldfld, fBuilderFirstName); // returning the firstname field - //ilgen.Emit(OpCodes.Ret); - - //MethodBuilder mSetFirstNameBuilder = classBuilder.DefineMethod("set_FirstName", getSetAttr, null, new Type[] { typeof(string) }); - - //// Code generation - //ilgen = mSetFirstNameBuilder.GetILGenerator(); - //ilgen.Emit(OpCodes.Ldarg_0); - //ilgen.Emit(OpCodes.Ldarg_1); - //ilgen.Emit(OpCodes.Stfld, fBuilderFirstName); // setting the firstname field from the first argument (1) - //ilgen.Emit(OpCodes.Ret); - - //// get,set accessors for LastName - //MethodBuilder mGetLastNameBuilder = classBuilder.DefineMethod("get_LastName", getSetAttr, typeof(string), Type.EmptyTypes); - - //// Code generation - //ilgen = mGetLastNameBuilder.GetILGenerator(); - //ilgen.Emit(OpCodes.Ldarg_0); - //ilgen.Emit(OpCodes.Ldfld, fBuilderLastName); // returning the firstname field - //ilgen.Emit(OpCodes.Ret); - - //MethodBuilder mSetLastNameBuilder = classBuilder.DefineMethod("set_LastName", getSetAttr, null, new Type[] { typeof(string) }); - - //// Code generation - //ilgen = mSetLastNameBuilder.GetILGenerator(); - //ilgen.Emit(OpCodes.Ldarg_0); - //ilgen.Emit(OpCodes.Ldarg_1); - //ilgen.Emit(OpCodes.Stfld, fBuilderLastName); // setting the firstname field from the first argument (1) - //ilgen.Emit(OpCodes.Ret); - - //// Assigning get/set accessors - //pBuilderFirstName.SetGetMethod(mGetFirstNameBuilder); - //pBuilderFirstName.SetSetMethod(mSetFirstNameBuilder); - - //pBuilderLastName.SetGetMethod(mGetLastNameBuilder); - //pBuilderLastName.SetSetMethod(mSetLastNameBuilder); - - //// Now, a custom method named GetFullName that concatenates FirstName and LastName properties - //MethodBuilder mGetFullNameBuilder = classBuilder.DefineMethod("GetFullName", MethodAttributes.Public, typeof(string), Type.EmptyTypes); - - //// Code generation - //ilgen = mGetFullNameBuilder.GetILGenerator(); - //ilgen.Emit(OpCodes.Ldarg_0); - //ilgen.Emit(OpCodes.Call, mGetFirstNameBuilder); // getting the firstname - //ilgen.Emit(OpCodes.Ldstr, " "); // an space - //ilgen.Emit(OpCodes.Ldarg_0); - //ilgen.Emit(OpCodes.Call, mGetLastNameBuilder); // getting the lastname - - //// We need the 'Concat' method from string type - //MethodInfo concatMethod = typeof(String).GetMethod("Concat", new Type[] { typeof(string), typeof(string), typeof(string) }); - - //ilgen.Emit(OpCodes.Call, concatMethod); // calling concat and returning the result - //ilgen.Emit(OpCodes.Ret); - - //// Another constructor that initializes firstname and lastname - //ConstructorBuilder ctorBuilder2 = classBuilder.DefineConstructor(MethodAttributes.Public, CallingConventions.Standard, new Type[] { typeof(string), typeof(string) }); - //ctorBuilder2.DefineParameter(1, ParameterAttributes.In, "firstname"); - //ctorBuilder2.DefineParameter(2, ParameterAttributes.In, "lastname"); - - //// Code generation - //ilgen = ctorBuilder2.GetILGenerator(); - - //// First of all, we need to call the base constructor, - //// the Object's constructor in this sample - //Type objType = Type.GetType("System.Object"); - //ConstructorInfo objCtor = objType.GetConstructor(Type.EmptyTypes); - - //ilgen.Emit(OpCodes.Ldarg_0); - //ilgen.Emit(OpCodes.Call, objCtor); // calling the Object's constructor - - //ilgen.Emit(OpCodes.Ldarg_0); - //ilgen.Emit(OpCodes.Ldarg_1); - //ilgen.Emit(OpCodes.Call, mSetFirstNameBuilder); // setting the firstname field from the first argument (1) - //ilgen.Emit(OpCodes.Ldarg_0); - //ilgen.Emit(OpCodes.Ldarg_2); - //ilgen.Emit(OpCodes.Call, mSetLastNameBuilder); // setting the lastname field from the second argument (2) - //ilgen.Emit(OpCodes.Ret); - - // Finally, create the type and save the assembly - classBuilder.CreateType(); - - asmBuilder.Save(asmFileName); - string toFile = Path.Combine(moveToDir, asmFileName); - if (File.Exists(toFile)) - File.Delete(toFile); - File.Move(asmFileName, toFile); - - //string a = ""; - } - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/LoadUnloadStructure.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/LoadUnloadStructure.cs deleted file mode 100644 index 9468c185d2..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/LoadUnloadStructure.cs +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Text; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Scheduler -{ - public struct LoadUnloadStructure - { - public ScriptStructure Script; - public LUType Action; - public bool PostOnRez; - public int StartParam; - - public enum LUType - { - Unknown = 0, - Load = 1, - Unload = 2 - } - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Properties/AssemblyInfo.cs deleted file mode 100644 index 1831e505f4..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("OpenSim.Grid.ScriptEngine.Components.DefaultScheduler")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("http://opensimulator.org")] -[assembly: AssemblyProduct("OpenSim.Grid.ScriptEngine.Components.DefaultScheduler")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2008")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("ea77002b-c967-4368-ace9-6533f8147d4b")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Scheduler.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Scheduler.cs deleted file mode 100644 index 8c36764f7d..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/Scheduler.cs +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; -using System.Text; -using OpenMetaverse; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Scheduler -{ - public class Scheduler : IScriptScheduler - { - - private ScriptManager m_ScriptManager = new ScriptManager(); - public void AddScript(ScriptStructure scriptStructure) - { - m_ScriptManager.AddScript(scriptStructure); - } - - public void Removecript(uint id, UUID itemID) - { - m_ScriptManager.RemoveScript(id, itemID); - } - - public void Close() - { - m_ScriptManager.Close(); - } - - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/ScriptLoader.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/ScriptLoader.cs deleted file mode 100644 index 3c20f2030e..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/ScriptLoader.cs +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Reflection; -using System.Text; -using log4net; -using OpenSim.ScriptEngine.Shared; -using IScript=OpenSim.Region.ScriptEngine.Shared.ScriptBase.IScript; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Scheduler -{ - public class ScriptLoader : IScriptLoader - { - // - // This class does AppDomain handling and loading/unloading of - // scripts in it. It is instanced in "ScriptEngine" and controlled - // from "ScriptManager" - // - // 1. Create a new AppDomain if old one is full (or doesn't exist) - // 2. Load scripts into AppDomain - // 3. Unload scripts from AppDomain (stopping them and marking - // them as inactive) - // 4. Unload AppDomain completely when all scripts in it has stopped - // - - public string Name { get { return "SECS.DotNetEngine.Scheduler.ScriptLoader"; } } - private int maxScriptsPerAppDomain = 10; - - // Internal list of all AppDomains - private List appDomains = - new List(); - private Dictionary AppDomainFiles = new Dictionary(); - public readonly string[] AssembliesInAppDomain = new string[] { "OpenSim.ScriptEngine.Shared.Script.dll", "OpenSim.Region.ScriptEngine.Shared.dll" }; - - internal static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - // Structure to keep track of data around AppDomain - private class AppDomainStructure - { - public AppDomain CurrentAppDomain; // The AppDomain itself - public int ScriptsLoaded; // Number of scripts loaded into AppDomain - public int ScriptsWaitingUnload; // Number of dead scripts - } - - // Current AppDomain - private AppDomainStructure currentAD; - - private object getLock = new object(); // Mutex - private object freeLock = new object(); // Mutex - - // Find a free AppDomain, creating one if necessary - private AppDomainStructure GetFreeAppDomain() - { - lock (getLock) - { - // Current full? - if (currentAD != null && - currentAD.ScriptsLoaded >= maxScriptsPerAppDomain) - { - // Add it to AppDomains list and empty current - appDomains.Add(currentAD); - currentAD = null; - } - // No current - if (currentAD == null) - { - // Create a new current AppDomain - currentAD = new AppDomainStructure(); - currentAD.CurrentAppDomain = PrepareNewAppDomain(); - } - - return currentAD; - } - } - - private int AppDomainNameCount; - public ScriptAssemblies.IScript LoadScript(ScriptStructure script) - { - // Find next available AppDomain to put it in - AppDomainStructure FreeAppDomain; - - // If we already have loaded file, then reuse that AppDomains - if (AppDomainFiles.ContainsKey(script.AssemblyFileName)) - FreeAppDomain = AppDomainFiles[script.AssemblyFileName]; - else - FreeAppDomain = GetFreeAppDomain(); - - // Set script object AppDomain - script.AppDomain = FreeAppDomain.CurrentAppDomain; - - // Create instance of script - ScriptAssemblies.IScript mbrt = (ScriptAssemblies.IScript) - FreeAppDomain.CurrentAppDomain.CreateInstanceFromAndUnwrap( - script.AssemblyFileName, "ScriptAssemblies.Script"); - //, true, BindingFlags.CreateInstance, null); - FreeAppDomain.ScriptsLoaded++; - - return mbrt; - } - - // Create and prepare a new AppDomain for scripts - private AppDomain PrepareNewAppDomain() - { - // Create and prepare a new AppDomain - AppDomainNameCount++; - - // TODO: Currently security match current appdomain - - // Construct and initialize settings for a second AppDomain. - AppDomainSetup ads = new AppDomainSetup(); - ads.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory; - ads.DisallowBindingRedirects = true; - ads.DisallowCodeDownload = true; - ads.LoaderOptimization = LoaderOptimization.MultiDomainHost; - ads.ShadowCopyFiles = "false"; // Disable shadowing - ads.ConfigurationFile = - AppDomain.CurrentDomain.SetupInformation.ConfigurationFile; - - AppDomain AD = AppDomain.CreateDomain("ScriptAppDomain_" + - AppDomainNameCount, null, ads); - - foreach (string file in AssembliesInAppDomain) - { - m_log.InfoFormat("[{0}] AppDomain Loading: \"{1}\"->\"{2}\".", Name, file, - AssemblyName.GetAssemblyName(file).ToString()); - AD.Load(AssemblyName.GetAssemblyName(file)); - } - - // Return the new AppDomain - return AD; - } - - // Unload appdomains that are full and have only dead scripts - private void UnloadAppDomains() - { - lock (freeLock) - { - // Go through all - foreach (AppDomainStructure ads in new ArrayList(appDomains)) - { - // Don't process current AppDomain - if (ads.CurrentAppDomain != currentAD.CurrentAppDomain) - { - // Not current AppDomain - // Is number of unloaded bigger or equal to number of loaded? - if (ads.ScriptsLoaded <= ads.ScriptsWaitingUnload) - { - // Remove from internal list - appDomains.Remove(ads); - - // Unload - AppDomain.Unload(ads.CurrentAppDomain); - } - } - } - } - } - - // Increase "dead script" counter for an AppDomain - public void StopScript(AppDomain ad) - { - lock (freeLock) - { - // Check if it is current AppDomain - if (currentAD.CurrentAppDomain == ad) - { - // Yes - increase - currentAD.ScriptsWaitingUnload++; - return; - } - - // Lopp through all AppDomains - foreach (AppDomainStructure ads in new ArrayList(appDomains)) - { - if (ads.CurrentAppDomain == ad) - { - // Found it - ads.ScriptsWaitingUnload++; - break; - } - } - } - - UnloadAppDomains(); // Outsite lock, has its own GetLock - } - - - - } -} \ No newline at end of file diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/ScriptManager.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/ScriptManager.cs deleted file mode 100644 index 3dad902fff..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/ScriptManager.cs +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Reflection; -using System.Text; -using System.Threading; -using log4net; -using OpenMetaverse; -using OpenSim.Region.ScriptEngine.Shared; -using OpenSim.ScriptEngine.Shared; -using EventParams=OpenSim.ScriptEngine.Shared.EventParams; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Scheduler -{ - public partial class ScriptManager: IScriptExecutor - { - private const int NoWorkSleepMs = 50; - private const int NoWorkSleepMsInc = 1; // How much time to increase wait with on every iteration - private const int NoWorkSleepMsIncMax = 300; // Max time to wait - - internal static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - public string Name { get { return "SECS.DotNetEngine.ScriptManager"; } } - private static Thread ScriptLoadUnloadThread; - public Dictionary> Scripts = new Dictionary>(); - - private RegionInfoStructure CurrentRegion; - public void Initialize(RegionInfoStructure currentRegion) - { - CurrentRegion = currentRegion; - } - - public ScriptManager() - { - ScriptLoadUnloadThread = new Thread(LoadUnloadLoop); - ScriptLoadUnloadThread.Name = "ScriptLoadUnloadThread"; - ScriptLoadUnloadThread.IsBackground = true; - ScriptLoadUnloadThread.Start(); - } - public void Close() { } - - private void LoadUnloadLoop () - { - int _NoWorkSleepMsInc = 0; - while (true) - { - if (DoScriptLoadUnload()) - { - // We found work, reset counter - _NoWorkSleepMsInc = NoWorkSleepMs; - } else - { - // We didn't find work - // Sleep - Thread.Sleep(NoWorkSleepMs + NoWorkSleepMsInc); - // Increase sleep delay - _NoWorkSleepMsInc += NoWorkSleepMsInc; - // Make sure we don't exceed max - if (_NoWorkSleepMsInc > NoWorkSleepMsIncMax) - _NoWorkSleepMsInc = NoWorkSleepMsIncMax; - } - } - } - - #region Add/Remove/Find script functions for our Script memory structure - private void MemAddScript(ScriptStructure script) - { - lock (scriptLock) - { - // Create object if it doesn't exist - if (!Scripts.ContainsKey(script.LocalID)) - Scripts.Add(script.LocalID, new Dictionary()); - - // Delete script if it exists - Dictionary Obj; - if (Scripts.TryGetValue(script.LocalID, out Obj)) - if (Obj.ContainsKey(script.ItemID) == true) - Obj.Remove(script.ItemID); - - // Add to object - Obj.Add(script.ItemID, script); - } - } - private void MemRemoveScript(uint LocalID, UUID ItemID) - { - // TODO: Also clean up command queue and async commands for object - lock (scriptLock) - { - // Create object if it doesn't exist - if (!Scripts.ContainsKey(LocalID)) - return; - - // Delete script if it exists - Dictionary Obj; - if (Scripts.TryGetValue(LocalID, out Obj)) - if (Obj.ContainsKey(ItemID) == true) - Obj.Remove(ItemID); - - // Empty? - if (Obj.Count == 0) - Scripts.Remove(LocalID); - - } - } - public bool TryGetScript(uint localID, UUID itemID, ref ScriptStructure script) - { - lock (scriptLock) - { - - if (Scripts.ContainsKey(localID) == false) - return false; - - Dictionary Obj; - if (Scripts.TryGetValue(localID, out Obj)) - if (Obj.ContainsKey(itemID) == false) - return false; - - // Get script - return Obj.TryGetValue(itemID, out script); - } - } - public ScriptStructure GetScript(uint localID, UUID itemID) - { - lock (scriptLock) - { - - if (Scripts.ContainsKey(localID) == false) - throw new Exception("No script with LocalID " + localID + " was found."); - - Dictionary Obj; - if (Scripts.TryGetValue(localID, out Obj)) - if (Obj.ContainsKey(itemID) == false) - throw new Exception("No script with ItemID " + itemID + " was found."); - - // Get script - return Obj[itemID]; - } - } - public bool TryGetScripts(uint localID, ref Dictionary returnList) - { - Dictionary getList = GetScripts(localID); - if (getList != null) - { - returnList = getList; - return true; - } - return false; - } - public Dictionary GetScripts(uint localID) - { - lock (scriptLock) - { - - if (Scripts.ContainsKey(localID) == false) - return null; - return Scripts[localID]; - } - } - #endregion - - public void ExecuteCommand(EventParams p) - { - ScriptStructure ss = new ScriptStructure(); - if (TryGetScript(p.LocalID, p.ItemID, ref ss)) - ExecuteCommand(ref ss, p); - } - - public void ExecuteCommand(ref ScriptStructure scriptContainer, EventParams p) - { - m_log.DebugFormat("[{0}] ######################################################", Name); - m_log.DebugFormat("[{0}] Command execution ItemID {1}: \"{2}\".", Name, scriptContainer.ItemID, p.EventName); - scriptContainer.ExecuteEvent(p); - m_log.DebugFormat("[{0}] ######################################################", Name); - } - - } -} diff --git a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/ScriptManager_ScriptLoadUnload.cs b/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/ScriptManager_ScriptLoadUnload.cs deleted file mode 100644 index dd72dbfa5e..0000000000 --- a/OpenSim/ScriptEngine/Components/DotNetEngine/Scheduler/ScriptManager_ScriptLoadUnload.cs +++ /dev/null @@ -1,287 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Reflection; -using System.Text; -using System.Threading; -using log4net; -using OpenMetaverse; -using OpenSim.Framework; -using OpenSim.Region.Framework.Scenes; -using OpenSim.Region.ScriptEngine.Interfaces; -using OpenSim.Region.ScriptEngine.Shared.ScriptBase; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Components.DotNetEngine.Scheduler -{ - public partial class ScriptManager - { - private Queue LUQueue = new Queue(); - private int LoadUnloadMaxQueueSize = 500; - private Object scriptLock = new Object(); - //private Dictionary detparms = new Dictionary(); - - // Load/Unload structure - - - public void AddScript(ScriptStructure script) - { - lock (LUQueue) - { - if ((LUQueue.Count >= LoadUnloadMaxQueueSize)) - { - m_log.ErrorFormat("[{0}] ERROR: Load queue count is at {1} of max {2}. Ignoring load request for script LocalID: {3}, ItemID: {4}.", - Name, LUQueue.Count, LoadUnloadMaxQueueSize, script.LocalID, script.ItemID); - return; - } - - LoadUnloadStructure ls = new LoadUnloadStructure(); - ls.Script = script; - ls.Action = LoadUnloadStructure.LUType.Load; - LUQueue.Enqueue(ls); - } - - } - public void RemoveScript(uint localID, UUID itemID) - { - LoadUnloadStructure ls = new LoadUnloadStructure(); - - // See if we can find script - if (!TryGetScript(localID, itemID, ref ls.Script)) - { - // Set manually - ls.Script.LocalID = localID; - ls.Script.ItemID = itemID; - } - ls.Script.StartParam = 0; - - ls.Action = LoadUnloadStructure.LUType.Unload; - ls.PostOnRez = false; - - lock (LUQueue) - { - LUQueue.Enqueue(ls); - } - } - - internal bool DoScriptLoadUnload() - { - bool ret = false; - // if (!m_started) - // return; - - lock (LUQueue) - { - if (LUQueue.Count > 0) - { - LoadUnloadStructure item = LUQueue.Dequeue(); - ret = true; - - if (item.Action == LoadUnloadStructure.LUType.Unload) - { - _StopScript(item.Script.LocalID, item.Script.ItemID); - RemoveScript(item.Script.LocalID, item.Script.ItemID); - } - else if (item.Action == LoadUnloadStructure.LUType.Load) - { - m_log.DebugFormat("[{0}] Loading script", Name); - _StartScript(item); - } - } - } - return ret; - } - - //public void _StartScript(uint localID, UUID itemID, string Script, int startParam, bool postOnRez) - private void _StartScript(LoadUnloadStructure ScriptObject) - { - m_log.DebugFormat( - "[{0}]: ScriptManager StartScript: localID: {1}, itemID: {2}", - Name, ScriptObject.Script.LocalID, ScriptObject.Script.ItemID); - - // We will initialize and start the script. - // It will be up to the script itself to hook up the correct events. - - SceneObjectPart m_host = ScriptObject.Script.RegionInfo.Scene.GetSceneObjectPart(ScriptObject.Script.LocalID); - - if (null == m_host) - { - m_log.ErrorFormat( - "[{0}]: Could not find scene object part corresponding " + - "to localID {1} to start script", - Name, ScriptObject.Script.LocalID); - - return; - } - - //UUID assetID = UUID.Zero; - TaskInventoryItem taskInventoryItem = new TaskInventoryItem(); - //if (m_host.TaskInventory.TryGetValue(ScriptObject.Script.ItemID, out taskInventoryItem)) - // assetID = taskInventoryItem.AssetID; - - ScenePresence presence = - ScriptObject.Script.RegionInfo.Scene.GetScenePresence(taskInventoryItem.OwnerID); - - CultureInfo USCulture = new CultureInfo("en-US"); - Thread.CurrentThread.CurrentCulture = USCulture; - - try - { - // - // Compile script to an assembly - // - //TODO: DEBUG - BaseClassFactory.MakeBaseClass(ScriptObject.Script); - - m_log.DebugFormat("[{0}] Compiling script {1}", Name, ScriptObject.Script.Name); - - string fileName = ""; - try - { - IScriptCompiler compiler = - ScriptObject.Script.RegionInfo.FindCompiler(ScriptObject.Script.ScriptMetaData); - //RegionInfoStructure currentRegionInfo = ScriptObject.Script.RegionInfo; - fileName = compiler.Compile(ScriptObject.Script.ScriptMetaData, - ref ScriptObject.Script.Source); - ScriptObject.Script.AssemblyFileName = fileName; - } - catch (Exception e) - { - m_log.ErrorFormat("[{0}] Internal error while compiling \"{1}\": {2}", Name, ScriptObject.Script.Name, e.ToString()); - } - m_log.DebugFormat("[{0}] Compiled \"{1}\" to assembly: \"{2}\".", Name, ScriptObject.Script.Name, fileName); - - // Add it to our script memstruct - MemAddScript(ScriptObject.Script); - - ScriptAssemblies.IScript CompiledScript; - CompiledScript = CurrentRegion.ScriptLoader.LoadScript(ScriptObject.Script); - ScriptObject.Script.State = "default"; - ScriptObject.Script.ScriptObject = CompiledScript; - ScriptObject.Script.Disabled = false; - ScriptObject.Script.Running = true; - //id.LineMap = LSLCompiler.LineMap(); - //id.Script = CompiledScript; - //id.Source = item.Script.Script; - //item.StartParam = startParam; - - - - // TODO: Fire the first start-event - //int eventFlags = - // m_scriptEngine.m_ScriptManager.GetStateEventFlags( - // localID, itemID); - - //m_host.SetScriptEvents(itemID, eventFlags); - ScriptObject.Script.RegionInfo.Executors_Execute(ScriptObject.Script, - new EventParams(ScriptObject.Script.LocalID, ScriptObject.Script.ItemID, "state_entry", new object[] { }, new Region.ScriptEngine.Shared.DetectParams[0]) - ); - - if (ScriptObject.PostOnRez) - { - ScriptObject.Script.RegionInfo.Executors_Execute(ScriptObject.Script, - new EventParams(ScriptObject.Script.LocalID, "on_rez", new object[] - {new Region.ScriptEngine.Shared.LSL_Types.LSLInteger(ScriptObject.StartParam) - }, new Region.ScriptEngine.Shared.DetectParams[0])); - } - } - catch (Exception e) // LEGIT: User Scripting - { - if (presence != null && (!ScriptObject.PostOnRez)) - presence.ControllingClient.SendAgentAlertMessage( - "Script saved with errors, check debug window!", - false); - try - { - // DISPLAY ERROR INWORLD - string text = "Error compiling script:\n" + - e.Message.ToString(); - if (text.Length > 1100) - text = text.Substring(0, 1099); - - ScriptObject.Script.RegionInfo.Scene.SimChat(Utils.StringToBytes(text), - ChatTypeEnum.DebugChannel, 2147483647, - m_host.AbsolutePosition, m_host.Name, m_host.UUID, - false); - } - catch (Exception e2) // LEGIT: User Scripting - { - m_log.Error("[" + - Name + - "]: Error displaying error in-world: " + - e2.ToString()); - m_log.Error("[" + - Name + "]: " + - "Errormessage: Error compiling script:\r\n" + - e2.Message.ToString()); - } - } - } - - - - public void _StopScript(uint localID, UUID itemID) - { - ScriptStructure ss = new ScriptStructure(); - if (!TryGetScript(localID, itemID, ref ss)) - return; - - m_log.DebugFormat("[{0}] Unloading script", Name); - - // Stop long command on script - //AsyncCommandManager.RemoveScript(ss); - - try - { - // Get AppDomain - // Tell script not to accept new requests - ss.Running = false; - ss.Disabled = true; - //AppDomain ad = ss.AppDomain; - - // Remove from internal structure - MemRemoveScript(localID, itemID); - - // TODO: Tell AppDomain that we have stopped script - - } - catch (Exception e) // LEGIT: User Scripting - { - m_log.Error("[" + - Name + - "]: Exception stopping script localID: " + - localID + " LLUID: " + itemID.ToString() + - ": " + e.ToString()); - } - } - - - } -} diff --git a/OpenSim/ScriptEngine/Engines/DotNetEngine/DotNetEngine.cs b/OpenSim/ScriptEngine/Engines/DotNetEngine/DotNetEngine.cs deleted file mode 100644 index 3b8a0aec99..0000000000 --- a/OpenSim/ScriptEngine/Engines/DotNetEngine/DotNetEngine.cs +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; -using System.Text.RegularExpressions; -using log4net; -using Nini.Config; -using OpenMetaverse; -using OpenSim.ApplicationPlugins.ScriptEngine; -using OpenSim.Region.Framework.Interfaces; -using OpenSim.Region.Framework.Scenes; -using OpenSim.ScriptEngine.Components.DotNetEngine.Events; -using OpenSim.ScriptEngine.Components.DotNetEngine.Scheduler; -using OpenSim.ScriptEngine.Shared; -using ComponentFactory = OpenSim.ApplicationPlugins.ScriptEngine.ComponentFactory; - -namespace OpenSim.ScriptEngine.Engines.DotNetEngine -{ - // This is a sample engine - public partial class DotNetEngine : IScriptEngine - { - - //private string[] _ComponentNames = new string[] { - // "Commands_LSL", - // "Commands_OSSL", - // "Compiler_CS", - // "Compiler_JS", - // "Compiler_LSL", - // "Compiler_VB", - // "LSLEventProvider", - // "Scheduler" - // }; - internal static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - public string Name { get { return "SECS.DotNetEngine"; } } - //public bool IsSharedModule { get { return true; } } - internal RegionInfoStructure RegionInfo; - - private string[] commandNames = new string[] - { - "Commands_LSL" - }; - - private string[] compilerNames = new string[] - { - "Compiler_CS", - "Compiler_JS", - "Compiler_LSL", - "Compiler_YP", - "Compiler_VB" - }; - private string[] schedulerNames = new string[] - { - "Scheduler" - }; - - //internal IScriptLoader m_ScriptLoader; - internal LSLEventProvider m_LSLEventProvider; - //internal IScriptExecutor m_Executor; - //internal Dictionary Compilers = new Dictionary(); - internal Dictionary Schedulers = new Dictionary(); - public static Dictionary Compilers = new Dictionary(); -// private static bool haveInitialized = false; - - public DotNetEngine() - { - RegionInfo = new RegionInfoStructure(); - RegionInfo.Compilers = Compilers; - RegionInfo.Schedulers = Schedulers; - RegionInfo.Executors = new Dictionary(); - RegionInfo.CommandProviders = new Dictionary(); - RegionInfo.EventProviders = new Dictionary(); - } - - public void Initialise(Scene scene, IConfigSource source) - { - RegionInfo.Scene = scene; - RegionInfo.ConfigSource = source; - - m_log.DebugFormat("[{0}] Initializing components", Name); - InitializeComponents(); - } - - public void PostInitialise() { } - - /// - /// Called on region close - /// - public void Close() - { - ComponentClose(); - } - #region Initialize the Script Engine Components we need - public void InitializeComponents() - { - string cname = ""; - m_log.DebugFormat("[{0}] Component initialization", Name); - // Initialize an instance of all module we want - try - { - cname = "ScriptManager"; - m_log.DebugFormat("[{0}] Executor: {1}", Name, cname); - RegionInfo.Executors.Add(cname, - ComponentFactory.GetComponentInstance(RegionInfo, cname) as IScriptExecutor); - - cname = "ScriptLoader"; - m_log.DebugFormat("[{0}] ScriptLoader: {1}", Name, cname); - RegionInfo.ScriptLoader = - ComponentFactory.GetComponentInstance(RegionInfo, cname) as IScriptExecutor as ScriptLoader; - - // CommandProviders - foreach (string cn in commandNames) - { - cname = cn; - m_log.DebugFormat("[{0}] CommandProvider: {1}", Name, cname); - RegionInfo.CommandProviders.Add(cname, - ComponentFactory.GetComponentInstance(RegionInfo, cname) as - IScriptCommandProvider); - } - - // Compilers - foreach (string cn in compilerNames) - { - cname = cn; - m_log.DebugFormat("[{0}] Compiler: {1}", Name, cname); - RegionInfo.Compilers.Add(cname, - ComponentFactory.GetComponentInstance(RegionInfo, cname) as - IScriptCompiler); - } - - // Schedulers - foreach (string cn in schedulerNames) - { - cname = cn; - m_log.DebugFormat("[{0}] Scheduler: {1}", Name, cname); - RegionInfo.Schedulers.Add(cname, - ComponentFactory.GetComponentInstance(RegionInfo, cname) as - IScriptScheduler); - } - - // Event provider - cname = "LSLEventProvider"; - m_log.DebugFormat("[{0}] EventProvider: {1}", Name, cname); - IScriptEventProvider sep = ComponentFactory.GetComponentInstance(RegionInfo, cname) as IScriptEventProvider; - RegionInfo.EventProviders.Add(cname, sep); - m_LSLEventProvider = sep as LSLEventProvider; - - // Hook up events - m_LSLEventProvider.RezScript += Events_RezScript; - m_LSLEventProvider.RemoveScript += Events_RemoveScript; - } - catch (Exception e) - { - m_log.ErrorFormat("[{0}] Exception while loading \"{1}\": {2}", Name, cname, e.ToString()); - } - } - - private void ComponentClose() - { - // Close schedulers - foreach (IScriptScheduler scheduler in RegionInfo.Schedulers.Values) - { - scheduler.Close(); - } - } - - #endregion - - } -} diff --git a/OpenSim/ScriptEngine/Engines/DotNetEngine/DotNetEngine_ScriptLoadUnload.cs b/OpenSim/ScriptEngine/Engines/DotNetEngine/DotNetEngine_ScriptLoadUnload.cs deleted file mode 100644 index a113c1e67a..0000000000 --- a/OpenSim/ScriptEngine/Engines/DotNetEngine/DotNetEngine_ScriptLoadUnload.cs +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Text; -using OpenMetaverse; -using OpenSim.ScriptEngine.Components.DotNetEngine.Events; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Engines.DotNetEngine -{ - public partial class DotNetEngine - { - - //internal Dictionary ScriptMapping = new Dictionary(); - - - // - // HANDLE EVENTS FROM SCRIPTS - // We will handle script add, change and remove events outside of command pipeline - // - #region Script Add/Change/Remove - void Events_RezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine) - { - // ### - // # New script created - // ### - m_log.DebugFormat( - "[{0}] NEW SCRIPT: localID: {1}, itemID: {2}, startParam: {3}, postOnRez: {4}, engine: {5}", - Name, localID, itemID, startParam, postOnRez, engine); - - // Make a script object - ScriptStructure scriptObject = new ScriptStructure(); - scriptObject.RegionInfo = RegionInfo; - scriptObject.LocalID = localID; - scriptObject.ItemID = itemID; - scriptObject.Source = script; - - // - // Get MetaData from script header - // - ScriptMetaData scriptMetaData = ScriptMetaData.Extract(ref script); - scriptObject.ScriptMetaData = scriptMetaData; - foreach (string key in scriptObject.ScriptMetaData.Keys) - { - m_log.DebugFormat("[{0}] Script metadata: Key: \"{1}\", Value: \"{2}\".", Name, key, scriptObject.ScriptMetaData[key]); - } - - // - // Load this assembly - // - // TODO: Use Executor to send a command instead? - m_log.DebugFormat("[{0}] Adding script to scheduler", Name); - RegionInfo.FindScheduler(scriptObject.ScriptMetaData).AddScript(scriptObject); - // Add to our internal mapping - //ScriptMapping.Add(itemID, Schedulers[scheduler]); - } - - private void Events_RemoveScript(uint localID, UUID itemID) - { - // Tell all schedulers to remove this item - foreach (IScriptScheduler scheduler in RegionInfo.Schedulers.Values) - { - scheduler.Removecript(localID, itemID); - } - } - #endregion - - } -} diff --git a/OpenSim/ScriptEngine/Engines/DotNetEngine/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Engines/DotNetEngine/Properties/AssemblyInfo.cs deleted file mode 100644 index bca9c2ce92..0000000000 --- a/OpenSim/ScriptEngine/Engines/DotNetEngine/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("OpenSim.ScriptEngine.Engines.DotNetEngine")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("http://opensimulator.org")] -[assembly: AssemblyProduct("OpenSim.ScriptEngine.Engines.DotNetEngine")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2008")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("1d1c68a7-026f-4556-a060-4af69f488d2a")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyFileVersion("0.6.5.0")] diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 4f1799e94c..927eb7aaac 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -218,7 +218,6 @@ ; ## SCRIPT ENGINE ; ## - ;DefaultScriptEngine = "ScriptEngine.DotNetEngine" DefaultScriptEngine = "XEngine" ; ## @@ -826,137 +825,12 @@ ; Density of tree population tree_density = 1000.0 + [VectorRender] ; the font to use for rendering text (default: Arial) ; font_name = "Arial" -[ScriptEngine.DotNetEngine] - Enabled = true - - ScriptDelayFactor = 1.0 - ScriptDistanceLimitFactor = 1.0 - - ; Maximum length of notecard line read - ; Increasing this to large values potentially opens - ; up the system to malicious scripters - ; NotecardLineReadCharsMax = 255 - - ; - ; These settings are specific to DotNetEngine script engine - ; Other script engines based on OpenSim.Region.ScriptEngine.Common.dll will have almost identical settings, but in another section of this config file. - ; - - ; When a script receives an event the event is queued. - ; Any free thread will start executing this event. One script can only have one event executed simultaneously. - ; If you have only one thread, and one script has a loop or does a lot of work, then no other scripts can run at the same time. - ; Same if you have 10 threads, then only 10 scripts can be run simultaneously. - ; But because most scripts exit after their task, the threads are free to go on to the next script. - - ; Refresh ScriptEngine config options (these settings) every xx seconds - ; 0 = Do not refresh - ; Set it to number of seconds between refresh, for example 30. - ; Will allow you to change ScriptEngine settings while server is running just by using "CONFIG SET" on console - ; For example to increase or decrease number of threads: CONFIG SET NumberOfScriptThreads 10 - ; NOTE! Disabled for now. Feature does not work. - RefreshConfig=0 - - ; Number of threads to use for script event execution - ; Threads are shared across all regions - NumberOfScriptThreads=2 - - ; Script event execution thread priority inside application. - ; Valid values: Lowest, BelowNormal, Normal, AboveNormal, Highest - ScriptThreadPriority=BelowNormal - - ; How long MAX should a script event be allowed to run (per event execution)? - ; Do not set this too low (like 50ms) as there are some time wasted in simply executing a function - ; There is also a small speed penalty for every kill that is made - MaxEventExecutionTimeMs=5000 - - ; Should we enable the max script event execution thread to look for scripts that exceed their timeslice? - EnforceMaxEventExecutionTime=true - - ; Should we stop the script completely when time exceeds? - ; This is useful if you have a high and want to deactivate scripts that go wrong - ; Note that for example physics engine can slow down the system and make scripts spend more time - DeactivateScriptOnTimeout=false - - ; If no scripts have executed in this pass how long should we sleep before checking again - ; Impact: - ; Too low and you will waste lots of CPU - ; Too high and people touching object or similar will have to wait up to this amount of time before script responding - SleepTimeIfNoScriptExecutionMs=50 - - ; AppDomains are used for two things: - ; * Security: Scripts inside AppDomains are limited in permissions. - ; * Script unloading: When a script is deactivated it can not be unloaded. Only whole AppDomains can be unloaded. - ; AppDomains are therefore only unloaded once ALL active scripts inside it has been deactivated (removed from prims). - ; Each AppDomain has some memory overhead. But leaving dead scripts in memory also has memory overhead. - ScriptsPerAppDomain=1 - - ; MaintenanceLoop - ; How often to run maintenance loop - ; Maintenance loop is doing: script compile/load, script unload, reload config, adjust running config and enforce max execution time - MaintenanceLoopms=50 - - ; How many maintenanceloops between each of these. - ; (if 2 then function will be executed every MaintenanceLoopms*2 ms) - ; Script loading/unloading - - ; How long load/unload thread should sleep if there is nothing to do - ; Higher value makes it respond slower when scripts are added/removed from prims - ; But once active it will process all in queue before sleeping again - MaintenanceLoopTicks_ScriptLoadUnload=1 - - ; Other tasks - ; check if we need to reload config, adjust running config and enforce max execution time - MaintenanceLoopTicks_Other=10 - - ; Allow the use of os* functions (some are dangerous) - ; Default is false - AllowOSFunctions = false - - ; Threat level to allow if os functions are enabled - ; One of None, VeryLow, Low, Moderate, High, VeryHigh, Severe - ; Default is VeryLow - OSFunctionThreatLevel = VeryLow - - ; Maximum number of items in load/unload queue before we start rejecting loads - ; Note that we will only be rejecting load. Unloads will still be able to queue. - LoadUnloadMaxQueueSize=100 - - ; Maximum number of (LSL) events that can be queued before new events are ignored. - EventExecutionMaxQueueSize=300 - - ; Async LL command sleep - ; If no async LL commands are waiting, how long should thread sleep before checking again - ; Async LL commands are LSL-commands that causes an event to be fired back with result - ; currently unused - ; AsyncLLCommandLoopms=50 - - ; When script is converted from LSL to C#, or just plain compiled, a copy of the script source will be put in the ScriptEngine folder - WriteScriptSourceToDebugFile=false - - ; Specify default script compiler - ; If you do not specify //cs, //vb, //js or //lsl tag as the first characters of your script then the default compiler will be chosen - ; Valid languages are: lsl, cs, js and vb - DefaultCompileLanguage=lsl - - ; Specify what compilers are allowed to be used - ; Note vb only works on Windows for now (Mono lacks VB compile support) - ; Valid languages are: lsl, cs, js and vb - ; AllowedCompilers=lsl,cs,js,vb. *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk. - AllowedCompilers=lsl - - ; Compile scripts with debugging - ; Probably a thousand times slower, but gives you a line number when something goes wrong. - CompileWithDebugInformation=true - - ; Remove old scripts on next startup - ; currently unused - ;CleanUpOldScriptsOnStartup=true - [LL-Functions] ; Set the following to true to allow administrator owned scripts to execute console commands From 27ee49f1980ddaa5edb97ea68b0c1b0f310f45c5 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Tue, 27 Oct 2009 13:44:23 -0700 Subject: [PATCH 57/60] Updating prebuild.xml to reflect the removal of DotNetEngine --- prebuild.xml | 285 --------------------------------------------------- 1 file changed, 285 deletions(-) diff --git a/prebuild.xml b/prebuild.xml index 12e33e9a2b..2d61b73bb5 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -2705,46 +2705,6 @@ - - - - ../../../../bin/ - - - - - ../../../../bin/ - - - - ../../../../bin/ - ../../../../bin/ - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2846,251 +2806,6 @@ - - - - ../../../../../bin/ - - - - - ../../../../../bin/ - - - - ../../../../../bin/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ../../../../../bin/ - - - - - ../../../../../bin/ - - - - ../../../../../bin/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ../../../../../bin/ - - - - - ../../../../../bin/ - - - - ../../../../../bin/ - ../../../../../bin/ScriptEngines/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ../../../../../bin/ - - - - - ../../../../../bin/ - - - - ../../../../../bin/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ../../../../../bin/ - - - - - ../../../../../bin/ - - - - ../../../../../bin/ - ../../../../../bin/ScriptEngines/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ../../../../bin/ - - - - - ../../../../bin/ - - - - ../../../../bin/ - ../../../../bin/ScriptEngines/ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From d3cb1c6b33991f4ab4c2472d96c283834bfa43d9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 27 Oct 2009 20:57:17 +0000 Subject: [PATCH 58/60] Bump required Mono version in README up to 2.4.2 --- README.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.txt b/README.txt index 83ac7d6265..3a87fe2f9c 100644 --- a/README.txt +++ b/README.txt @@ -25,7 +25,7 @@ See configuring OpenSim == Installation on Linux == Prereqs: - * Mono >= 2.0.1 (>= 2.4.2 is better) + * Mono >= 2.4.2 * Nant >= 0.86beta * sqlite3 or mysql 5.x (you'll need a back end database) From f89c2cac0fd3e9e1ae66552bbc2c3cc4bb17aaed Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Tue, 27 Oct 2009 14:16:01 -0700 Subject: [PATCH 59/60] Experimental test to rate limit the incoming packet handler and try to always leave a worker thread available for other tasks --- OpenSim/Framework/Util.cs | 21 +++++++++++++++++++ .../ClientStack/LindenUDP/LLUDPServer.cs | 8 +++++++ 2 files changed, 29 insertions(+) diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 10f38ab819..87ba5a8168 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs @@ -1330,6 +1330,27 @@ namespace OpenSim.Framework m_ThreadPool = new SmartThreadPool(2000, maxThreads, 2); } + public static int FireAndForgetCount() + { + const int MAX_SYSTEM_THREADS = 200; + + switch (FireAndForgetMethod) + { + case FireAndForgetMethod.UnsafeQueueUserWorkItem: + case FireAndForgetMethod.QueueUserWorkItem: + case FireAndForgetMethod.BeginInvoke: + int workerThreads, iocpThreads; + ThreadPool.GetAvailableThreads(out workerThreads, out iocpThreads); + return workerThreads; + case FireAndForgetMethod.SmartThreadPool: + return m_ThreadPool.MaxThreads - m_ThreadPool.InUseThreads; + case FireAndForgetMethod.Thread: + return MAX_SYSTEM_THREADS - System.Diagnostics.Process.GetCurrentProcess().Threads.Count; + default: + throw new NotImplementedException(); + } + } + public static void FireAndForget(System.Threading.WaitCallback callback, object obj) { switch (FireAndForgetMethod) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index e3233daf67..74d3262680 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -801,6 +801,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP { IncomingPacket incomingPacket = null; + // HACK: This is a test to try and rate limit packet handling on Mono. + // If it works, a more elegant solution can be devised + if (Util.FireAndForgetCount() < 2) + { + //m_log.Debug("[LLUDPSERVER]: Incoming packet handler is sleeping"); + Thread.Sleep(30); + } + if (packetInbox.Dequeue(100, ref incomingPacket)) Util.FireAndForget(ProcessInPacket, incomingPacket); } From 92f752198399668204d02c299a1d4b0d546e3852 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 27 Oct 2009 20:25:54 +0000 Subject: [PATCH 60/60] Remove the rest of SECS. It was never used, except by an experimental version of the DotNetEngine that was never runnable. --- .../Shared.Script/ICommandProvider.cs | 39 ----- OpenSim/ScriptEngine/Shared.Script/IScript.cs | 38 ----- .../Shared.Script/Properties/AssemblyInfo.cs | 63 -------- .../ScriptEngine/Shared.Script/ScriptBase.cs | 72 --------- OpenSim/ScriptEngine/Shared/EventParams.cs | 82 ----------- .../Shared/IScriptCommandProvider.cs | 37 ----- .../ScriptEngine/Shared/IScriptCompiler.cs | 40 ----- OpenSim/ScriptEngine/Shared/IScriptEngine.cs | 49 ------- .../Shared/IScriptEngineComponent.cs | 36 ----- .../Shared/IScriptEngineRegionComponent.cs | 34 ----- .../Shared/IScriptEventProvider.cs | 38 ----- .../ScriptEngine/Shared/IScriptExecutor.cs | 39 ----- OpenSim/ScriptEngine/Shared/IScriptLoader.cs | 36 ----- .../ScriptEngine/Shared/IScriptScheduler.cs | 41 ------ .../Shared/Properties/AssemblyInfo.cs | 63 -------- .../Shared/RegionInfoStructure.cs | 120 --------------- OpenSim/ScriptEngine/Shared/ScriptMetaData.cs | 95 ------------ .../ScriptEngine/Shared/ScriptStructure.cs | 137 ------------------ 18 files changed, 1059 deletions(-) delete mode 100644 OpenSim/ScriptEngine/Shared.Script/ICommandProvider.cs delete mode 100644 OpenSim/ScriptEngine/Shared.Script/IScript.cs delete mode 100644 OpenSim/ScriptEngine/Shared.Script/Properties/AssemblyInfo.cs delete mode 100644 OpenSim/ScriptEngine/Shared.Script/ScriptBase.cs delete mode 100644 OpenSim/ScriptEngine/Shared/EventParams.cs delete mode 100644 OpenSim/ScriptEngine/Shared/IScriptCommandProvider.cs delete mode 100644 OpenSim/ScriptEngine/Shared/IScriptCompiler.cs delete mode 100644 OpenSim/ScriptEngine/Shared/IScriptEngine.cs delete mode 100644 OpenSim/ScriptEngine/Shared/IScriptEngineComponent.cs delete mode 100644 OpenSim/ScriptEngine/Shared/IScriptEngineRegionComponent.cs delete mode 100644 OpenSim/ScriptEngine/Shared/IScriptEventProvider.cs delete mode 100644 OpenSim/ScriptEngine/Shared/IScriptExecutor.cs delete mode 100644 OpenSim/ScriptEngine/Shared/IScriptLoader.cs delete mode 100644 OpenSim/ScriptEngine/Shared/IScriptScheduler.cs delete mode 100644 OpenSim/ScriptEngine/Shared/Properties/AssemblyInfo.cs delete mode 100644 OpenSim/ScriptEngine/Shared/RegionInfoStructure.cs delete mode 100644 OpenSim/ScriptEngine/Shared/ScriptMetaData.cs delete mode 100644 OpenSim/ScriptEngine/Shared/ScriptStructure.cs diff --git a/OpenSim/ScriptEngine/Shared.Script/ICommandProvider.cs b/OpenSim/ScriptEngine/Shared.Script/ICommandProvider.cs deleted file mode 100644 index 6a02a4adde..0000000000 --- a/OpenSim/ScriptEngine/Shared.Script/ICommandProvider.cs +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Text; - -namespace ScriptAssemblies -{ - public interface ICommandProvider - { - void ExecuteCommand(string functionName, params object[] args); - string Name { get; } - } -} diff --git a/OpenSim/ScriptEngine/Shared.Script/IScript.cs b/OpenSim/ScriptEngine/Shared.Script/IScript.cs deleted file mode 100644 index 6afb4d5a61..0000000000 --- a/OpenSim/ScriptEngine/Shared.Script/IScript.cs +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Text; - -namespace ScriptAssemblies -{ - public interface IScript - { - void ExecuteFunction(string functionName, params object[] args); - } -} \ No newline at end of file diff --git a/OpenSim/ScriptEngine/Shared.Script/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Shared.Script/Properties/AssemblyInfo.cs deleted file mode 100644 index 090cb447f3..0000000000 --- a/OpenSim/ScriptEngine/Shared.Script/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("OpenSim.ScriptEngine.Shared.Script")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("http://opensimulator.org")] -[assembly: AssemblyProduct("OpenSim.ScriptEngine.Shared.Script")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2008")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("ea77002b-c967-4368-ace9-6533f8147d4b")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/ScriptEngine/Shared.Script/ScriptBase.cs b/OpenSim/ScriptEngine/Shared.Script/ScriptBase.cs deleted file mode 100644 index ab7835d033..0000000000 --- a/OpenSim/ScriptEngine/Shared.Script/ScriptBase.cs +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Runtime.Remoting.Lifetime; -using System.Text; - -namespace ScriptAssemblies -{ - public class ScriptBase : MarshalByRefObject, IScript - { - - #region AppDomain Serialization Keep-Alive - // - // Never expire this object - // - public override Object InitializeLifetimeService() - { - ILease lease = (ILease)base.InitializeLifetimeService(); - - if (lease.CurrentState == LeaseState.Initial) - { - lease.InitialLeaseTime = TimeSpan.Zero; - } - return lease; - } - #endregion - - public delegate void ExecuteFunctionEventDelegate(string functionName, params object[] args); - public event ExecuteFunctionEventDelegate OnExecuteFunction; - - //private List CommandProviders = new List(); - - public ScriptBase() - { - } - - public void ExecuteFunction(string functionName, params object[] args) - { - // We got a new command, fire event - if (OnExecuteFunction != null) - OnExecuteFunction(functionName, args); - - } - } -} diff --git a/OpenSim/ScriptEngine/Shared/EventParams.cs b/OpenSim/ScriptEngine/Shared/EventParams.cs deleted file mode 100644 index 28eaa5862c..0000000000 --- a/OpenSim/ScriptEngine/Shared/EventParams.cs +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Text; -using OpenMetaverse; -using OpenSim.Region.ScriptEngine.Shared; -using log4net; -using System.Reflection; - -namespace OpenSim.ScriptEngine.Shared -{ - /// - /// Holds all the data required to execute a scripting event. - /// - public class EventParams - { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - public string EventName; - public Object[] Params; - public Region.ScriptEngine.Shared.DetectParams[] DetectParams; - public uint LocalID; - public UUID ItemID; - - public EventParams(uint localID, UUID itemID, string eventName, Object[] eventParams, DetectParams[] detectParams) - { - LocalID = localID; - ItemID = itemID; - EventName = eventName; - Params = eventParams; - DetectParams = detectParams; - } - public EventParams(uint localID, string eventName, Object[] eventParams, DetectParams[] detectParams) - { - LocalID = localID; - EventName = eventName; - Params = eventParams; - DetectParams = detectParams; - } - public void test(params object[] args) - { - string functionName = "test"; - test2(functionName, args); - } - public void test2(string functionName, params object[] args) - { - String logMessage = functionName; - foreach (object arg in args) - { - logMessage +=", "+arg; - } - m_log.Debug(logMessage); - } - - - } -} diff --git a/OpenSim/ScriptEngine/Shared/IScriptCommandProvider.cs b/OpenSim/ScriptEngine/Shared/IScriptCommandProvider.cs deleted file mode 100644 index b2498d6e20..0000000000 --- a/OpenSim/ScriptEngine/Shared/IScriptCommandProvider.cs +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenSim.ScriptEngine.Shared -{ - public interface IScriptCommandProvider : ScriptAssemblies.ICommandProvider - { - } -} diff --git a/OpenSim/ScriptEngine/Shared/IScriptCompiler.cs b/OpenSim/ScriptEngine/Shared/IScriptCompiler.cs deleted file mode 100644 index 57249fd784..0000000000 --- a/OpenSim/ScriptEngine/Shared/IScriptCompiler.cs +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; -using ScriptAssemblies; - -namespace OpenSim.ScriptEngine.Shared -{ - public interface IScriptCompiler : IScriptEngineComponent - { - string Compile(ScriptMetaData scriptMetaData, ref string script); - string PreProcessScript(ref string script); - } -} \ No newline at end of file diff --git a/OpenSim/ScriptEngine/Shared/IScriptEngine.cs b/OpenSim/ScriptEngine/Shared/IScriptEngine.cs deleted file mode 100644 index 3acd1d5957..0000000000 --- a/OpenSim/ScriptEngine/Shared/IScriptEngine.cs +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; -using System.Text; -using Nini.Config; -using OpenSim.Region.Framework.Interfaces; -using OpenSim.Region.Framework.Scenes; - -namespace OpenSim.ScriptEngine.Shared -{ - public interface IScriptEngine - { - //string[] ComponentNames { get; } - //Dictionary Components { get; } - //void InitializeComponents(); - void Initialise(Scene scene, IConfigSource source); - void PostInitialise(); - void Close(); - string Name { get; } - // string Name { get; } - //void Initialize(); - //void Close(); - } -} \ No newline at end of file diff --git a/OpenSim/ScriptEngine/Shared/IScriptEngineComponent.cs b/OpenSim/ScriptEngine/Shared/IScriptEngineComponent.cs deleted file mode 100644 index 0959b53582..0000000000 --- a/OpenSim/ScriptEngine/Shared/IScriptEngineComponent.cs +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenSim.ScriptEngine.Shared -{ - public interface IScriptEngineComponent - { - } -} \ No newline at end of file diff --git a/OpenSim/ScriptEngine/Shared/IScriptEngineRegionComponent.cs b/OpenSim/ScriptEngine/Shared/IScriptEngineRegionComponent.cs deleted file mode 100644 index eeb86c1e6b..0000000000 --- a/OpenSim/ScriptEngine/Shared/IScriptEngineRegionComponent.cs +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -namespace OpenSim.ScriptEngine.Shared -{ - public interface IScriptEngineRegionComponent - { - void Initialize(RegionInfoStructure currentRegion); - } -} diff --git a/OpenSim/ScriptEngine/Shared/IScriptEventProvider.cs b/OpenSim/ScriptEngine/Shared/IScriptEventProvider.cs deleted file mode 100644 index b796a4beb6..0000000000 --- a/OpenSim/ScriptEngine/Shared/IScriptEventProvider.cs +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenSim.ScriptEngine.Shared -{ - public interface IScriptEventProvider : IScriptEngineComponent, IScriptEngineRegionComponent - { - - } -} \ No newline at end of file diff --git a/OpenSim/ScriptEngine/Shared/IScriptExecutor.cs b/OpenSim/ScriptEngine/Shared/IScriptExecutor.cs deleted file mode 100644 index a48c7e5b29..0000000000 --- a/OpenSim/ScriptEngine/Shared/IScriptExecutor.cs +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; -using System.Text; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Shared -{ - public interface IScriptExecutor : IScriptEngineComponent, IScriptEngineRegionComponent - { - void ExecuteCommand(ref ScriptStructure scriptContainer, EventParams p); - void ExecuteCommand(EventParams p); - } -} \ No newline at end of file diff --git a/OpenSim/ScriptEngine/Shared/IScriptLoader.cs b/OpenSim/ScriptEngine/Shared/IScriptLoader.cs deleted file mode 100644 index 6beea170da..0000000000 --- a/OpenSim/ScriptEngine/Shared/IScriptLoader.cs +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Shared -{ - public interface IScriptLoader: IScriptEngineComponent - { - ScriptAssemblies.IScript LoadScript(ScriptStructure script); - } -} \ No newline at end of file diff --git a/OpenSim/ScriptEngine/Shared/IScriptScheduler.cs b/OpenSim/ScriptEngine/Shared/IScriptScheduler.cs deleted file mode 100644 index cf1f1abdee..0000000000 --- a/OpenSim/ScriptEngine/Shared/IScriptScheduler.cs +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; -using System.Text; -using OpenMetaverse; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Shared -{ - public interface IScriptScheduler : IScriptEngineComponent - { - void AddScript(ScriptStructure script); - void Removecript(uint id, UUID itemID); - void Close(); - } -} \ No newline at end of file diff --git a/OpenSim/ScriptEngine/Shared/Properties/AssemblyInfo.cs b/OpenSim/ScriptEngine/Shared/Properties/AssemblyInfo.cs deleted file mode 100644 index 4ce44edf0d..0000000000 --- a/OpenSim/ScriptEngine/Shared/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("OpenSim.ScriptEngine.Shared")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("http://opensimulator.org")] -[assembly: AssemblyProduct("OpenSim.ScriptEngine.Shared")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2008")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("ea77002b-c967-4368-ace9-6533f8147d4b")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyVersion("0.6.5.*")] -[assembly: AssemblyFileVersion("0.6.5.0")] diff --git a/OpenSim/ScriptEngine/Shared/RegionInfoStructure.cs b/OpenSim/ScriptEngine/Shared/RegionInfoStructure.cs deleted file mode 100644 index 64b33d48f6..0000000000 --- a/OpenSim/ScriptEngine/Shared/RegionInfoStructure.cs +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Reflection; -using log4net; -using Nini.Config; -using OpenSim.Region.Framework.Scenes; -using OpenSim.Region.ScriptEngine.Shared; -using OpenSim.ScriptEngine.Shared; -using EventParams = OpenSim.ScriptEngine.Shared.EventParams; - -namespace OpenSim.ScriptEngine.Shared -{ - public struct RegionInfoStructure - { - public Scene Scene; - public IConfigSource ConfigSource; - - public IScriptLoader ScriptLoader; - public Dictionary EventProviders; - public Dictionary Executors; - public Dictionary Compilers; - public Dictionary Schedulers; - public Dictionary CommandProviders; - - public void Executors_Execute(EventParams p) - { - // Execute a command on all executors - lock (Executors) - { - foreach (IScriptExecutor exec in Executors.Values) - { - exec.ExecuteCommand(p); - } - } - } - public void Executors_Execute(ScriptStructure scriptContainer, EventParams p) - { - // Execute a command on all executors - lock (Executors) - { - foreach (IScriptExecutor exec in Executors.Values) - { - exec.ExecuteCommand(ref scriptContainer, p); - } - } - } - - public IScriptCompiler FindCompiler(ScriptMetaData scriptMetaData) - { - string compiler = "Compiler_LSL"; - if (scriptMetaData.ContainsKey("Compiler")) - compiler = scriptMetaData["Compiler"]; - - lock (Compilers) - { - if (!Compilers.ContainsKey(compiler)) - throw new Exception("Requested script compiler \"" + compiler + "\" does not exist."); - - return Compilers[compiler]; - } - } - - public IScriptScheduler FindScheduler(ScriptMetaData scriptMetaData) - { - string scheduler = "Scheduler"; - if (scriptMetaData.ContainsKey("Scheduler")) - scheduler = scriptMetaData["Scheduler"]; - - lock (Schedulers) - { - if (!Schedulers.ContainsKey(scheduler)) - throw new Exception("Requested script scheduler \"" + scheduler + "\" does not exist."); - - return Schedulers[scheduler]; - } - } - - //public Assembly[] GetCommandProviderAssemblies() - //{ - // lock (CommandProviders) - // { - // Assembly[] ass = new Assembly[CommandProviders.Count]; - // int i = 0; - // foreach (string key in CommandProviders.Keys) - // { - // ass[i] = CommandProviders[key].GetType().Assembly; - // i++; - // } - // return ass; - // } - //} - } -} \ No newline at end of file diff --git a/OpenSim/ScriptEngine/Shared/ScriptMetaData.cs b/OpenSim/ScriptEngine/Shared/ScriptMetaData.cs deleted file mode 100644 index e351632a65..0000000000 --- a/OpenSim/ScriptEngine/Shared/ScriptMetaData.cs +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ -using System; -using System.Collections.Generic; - -namespace OpenSim.ScriptEngine.Shared -{ - public class ScriptMetaData: Dictionary - { - private static readonly char[] LineSeparator = "\r\n".ToCharArray(); - private static readonly char[] Separator = { ':' }; - public static ScriptMetaData Extract(ref string Script) - { - ScriptMetaData ret = new ScriptMetaData(); - if (string.IsNullOrEmpty(Script)) - return ret; - - // Process it line by line - string Line = ""; - for (int i = 0; i < Script.Length + 1; i++) - { - // Found a line separator? - if (i < Script.Length - && Script[i] != LineSeparator[0] - && Script[i] != LineSeparator[1]) - { - // No, not end of line. Add to current line - Line += Script[i]; - } - else - { - // Extract MetaData from this line. Returns False if not found. - if (!_GetMetaFromLine(ret, Line)) - continue; - // Empty for next round - Line = ""; - } - } - return ret; - } - - private static bool _GetMetaFromLine(ScriptMetaData ret, string line) - { - line = line.Trim(); - - // Empty line? We may find more later - if (line == "") - return true; - - // Is this a comment? If not, then return false - if (!line.StartsWith("//")) - return false; - - // It is a comment - string[] keyval = line.Split(Separator, 2, StringSplitOptions.None); - keyval[0] = keyval[0].Substring(2, keyval[0].Length - 2).Trim(); - keyval[1] = keyval[1].Trim(); - - // Add it - if (keyval[0] != "") - if (!ret.ContainsKey(keyval[0])) - { - //m_log.DebugFormat("[DotNetEngine] Script metadata: Key: \"{0}\", Value: \"{1}\".", keyval[0], keyval[1]); - ret.Add(keyval[0], keyval[1]); - } - - return true; - } - - } -} \ No newline at end of file diff --git a/OpenSim/ScriptEngine/Shared/ScriptStructure.cs b/OpenSim/ScriptEngine/Shared/ScriptStructure.cs deleted file mode 100644 index 1095a8be9c..0000000000 --- a/OpenSim/ScriptEngine/Shared/ScriptStructure.cs +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * 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 the OpenSimulator Project 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 DEVELOPERS ``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 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. - */ - -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; -using log4net; -using OpenMetaverse; -using OpenSim.Region.ScriptEngine.Interfaces; -using OpenSim.Region.ScriptEngine.Shared.ScriptBase; -using OpenSim.ScriptEngine.Shared; - -namespace OpenSim.ScriptEngine.Shared -{ - public struct ScriptStructure - { - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - - public RegionInfoStructure RegionInfo; - public ScriptMetaData ScriptMetaData; - - public ScriptAssemblies.IScript ScriptObject; - public string State; - public bool Running; - public bool Disabled; - public string Source; - public int StartParam; - public AppDomain AppDomain; - public Dictionary Apis; - public Dictionary, KeyValuePair> LineMap; - public uint LocalID; - public UUID ItemID; - public string AssemblyFileName; - - public string ScriptID { get { return LocalID.ToString() + "." + ItemID.ToString(); } } - public string Name { get { return "Script:" + ScriptID; } } - private bool Initialized; - private Dictionary InternalFunctions; - public string AssemblyName; - - public void ExecuteEvent(EventParams p) - { - ExecuteMethod(p, true); - } - - public void ExecuteMethod(EventParams p) - { - ExecuteMethod(p, false); - } - private void ExecuteMethod(EventParams p, bool isEvent) - { - // First time initialization? - if (!Initialized) - { - Initialized = true; - CacheInternalFunctions(); - } - - lock (InternalFunctions) - { - // Make function name - string FunctionName; - if (isEvent) - FunctionName = State + "_event_" + p.EventName; - else - FunctionName = p.EventName; - - // Check if this function exist - if (!InternalFunctions.ContainsKey(FunctionName)) - { - // TODO: Send message in-world - m_log.ErrorFormat("[{0}] Script function \"{1}\" was not found.", Name, FunctionName); - return; - } - - // Execute script function - try - { - InternalFunctions[FunctionName].DynamicInvoke(p.Params); - } - catch (Exception e) - { - m_log.ErrorFormat("[{0}] Execute \"{1}\" failed: {2}", Name, FunctionName, e.ToString()); - } - } - } - - /// - /// Cache functions into a dictionary with delegates. Should be faster than reflection. - /// - private void CacheInternalFunctions() - { - Type scriptObjectType = ScriptObject.GetType(); - InternalFunctions = new Dictionary(); - - MethodInfo[] methods = scriptObjectType.GetMethods(); - lock (InternalFunctions) - { - // Read all methods into a dictionary - foreach (MethodInfo mi in methods) - { - // TODO: We don't support overloading - if (!InternalFunctions.ContainsKey(mi.Name)) - InternalFunctions.Add(mi.Name, Delegate.CreateDelegate(scriptObjectType, ScriptObject, mi)); - else - m_log.ErrorFormat("[{0}] Error: Script function \"{1}\" is already added. We do not support overloading.", - Name, mi.Name); - } - } - } - } -}

    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≠tkZ&d16iAU^VTLOEiKbv{Po&e18e$?Kqlou8L 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�nVH*38|zbWWDN62`kMC3>>xDxcH?uuZHLV7<=7X1;`B zb9ykR>H|t>5Yi1@yW@x+#?R?G?rmY@9Pl@e3{n|B7(}NFFW?N<;0%NSjH%Pz4`FpJ zwlQ~Wu)1bD@9Gw@11Mp*9cTz6t9pkL2H#j>?m7sUX=31=uD7vphaq=*LkS~oCXa5D zS-^N3U3F7@li3Mb7>K94?}2s5_}c>OOm#p=8?c~dQfu(PHfL`WW7~`TJ2`grkCi(; zhIg|r;3^$%dbJ8)qHDYvD;!5hAI7(Q*Ae$;^VLP%pUw9gd4D$FS>*lMeDRTMyEvb%hUOjz?z|XLD3P1-)VR%@vOlNn&*}Cf(N1NeAuVj< zCrFF?krrk#ZmwR~ZOd4&Q=OR0)%EbenVFE6NzeQ;ob|Xsl1W)ymH>PH=xGTFfRkG+ zPq=mGQxrPyl~fE9b6{t3_G84jY%(06nL#*&V6`mUUIC0Kf!1YM|0D^cV}NXiHg!eM%d1$FhFw~vk}V3r6}-5=|tW&x8$ph-Cu=%cX$=8Qm7D=`cl;iFao zQ%9gUfH^XNO|MLGO&PtL@c?We&CQm)DG8S7lYwl}N~F6QWs5~%91;GVJ$kyCOG`eg zu;0P>mN z0s@;gcAp)H;i)i`6!AmA{r!N}Boz=(S3m^BKM9DZ!VpmW5byv$;CgFc(TJxjU?iYm z2q;ekJg`G~($Bh=6*k3Wk94e9A1GiPp(1l=0hZ7S2+SbJXKJ^}s}hel8!}H;M5( zY4XpEjsNAd&+am>;J^>W!{g$+%|ird%{u0k!eWK}^4WuSnRiOz>?-P9MfJ|uA>?0D z16!)F-#qt^T?4txfMK6az8#2o?2Cw_z%2j4{)OfA;ar>(2K;3d(=x0JrMtV^$IAJH zx|oIA1jfqsNBHhxV zVGOGg#;+P-?5Yuo+ZVBFz*xzJxh+c;}*lZS+jJJW{?Ln;nJtEB^2s zwW9&rm8h3|!!;N6;@4?QOQFThi&ry#b8buEHVYR)yW0vtv&)W^F6FWo+M>9D_RPRs zDB~qDT2xi83RuZX=j=qAq&9CAP$jJv&Z1WfXIZR;vvAhJSz2r1EWU$r^_|R-m?2_O zBsjai7VTK9a0^2CW59cXSXIbtKt{$2V^~CV&X0&&gYo)vflQ;!@+h1Hh-JVaV>M;pB6XhC{~JbY{Z8NHOALa^!zrPR-C;EmF?orWqXtlmmls=-+hr!!mebI2D zZy4clq5|ZR+E&r{_#K%!-3? zU>VELY4->)E4o5w33Gg`nU>*S!b$?1WYxVE)2pL~SFVI5mvr6>%~uoB-5jJBn{^@E z_;B}Z1?ODa@39<76H2HbIMXAFS?-G4Xhi9sXbT5$*`NAGL^E#8k*`B^DxSP9jg>M8 zOrrFm1g=kdfpJls1a>B!ht~djxIImh6j-rIJ4>p4s;p%t4CIq2eI)X6yuS-^Xl+gf zpRSO|Fm@eS=QnaC6rc3W#d7o=Z@Qsz!3e48Y0S$pJ2H&_GMeHeJon)vnodw|&NKD_ z=Z}$(<=wW$#}g7UmpPTNT;@u`bg9NH+z2c1;W8R@J<~F=(VhkNGR{}0%WLt2^N*O_ z@?av*Z%>8HC#0!nG>N5sv5545Qg-*xDG0`Sb{u zwQYg4h&Sexa);9ev5 zC^{?hyV3ptu`K@!aOpk#1n{kd|3UcO0LG!f4?v{t?(K2dRRl`AL)+NWls=Vw8&s(B zoxc7GD=gXhELjqj!NurJB#(-pZ1Apk{iY zsm>VyYimME-0Kq|$gX^kvCbxEd>@M&*uOXwMSkWss5I?4ZySaKCx07;BO`wsh9eq( z8-}A0e;bA)2!9)fy}!Q=vr{G9hB*;#e;ej%xczOI$KejPVLl+?Z^KMj3c}xp=_TQB z!(2i_ZNp4-9wO1`ZP2_*Vx&jdE{IVcF^NRRBlaWFqnv2OYl$?c>bGFE#bIaxIuH-DDoXH}G&MlX-w~~Vlv}U}63S(C2+;TblD>AQP`VN-wdouCP6A zd;>P(-K@Jb8!2^oHfDT{Pa%lN){Q(=8F@PVW*jZGg3jSd*5w?bT+Y!- z&KD@>=cuY?h0ZOPgOLg=;TI|Ae33)vmdhEf9UGmXdP}<=|WmIbzxq5+D?rQX-F~$Sx5{=Ws=aavGGJ`IPe( zIxe$9=a$Q9RdNK8}Cf*or&L*5w!QF~?nK>kX9ph3Qrm6ISePXtL#s+lT=<*Lk&)@x}t-R6EV+i1n zj^2aYA04H?5{`~$!tIZa9Ju|_(Oq!+qoY^gR)MPDK@Bc2>NheCd!wO~ z!NneUUV^{h;cpiVD%Rl-Ct{5rbQj2!bC|As22Mod1|WFch=&Xm;J!&g>wKtmp2`$# ziK73Pz;uRzZ&uVT>Vdg|RhWWS9t`~ox($!g)=J88aL;%gCYcpF!Q=(slnLOfA^moW zov6fqnPL};SUQI-_725-r+R!{J?_FoQlqq;l72jZ8FeC^&QQ7+{2L75#rbZ{eUIk8 zm+qP9s1f>`bo2OMsaq*n3}D9H$TYJ;Cs^(yizo71K0EOHHTSoDcj+`G<^%x66U_>r zp^*=e%@g$<&HbR}{;uyXO{FO3QtV)vK~_9hq_&j$l8EeLEe9Zm$IYqT+A=SUo8B4G9U`H?_$^Gt`c2whUG zwcb+)$+?7bU^0&bV$FOF$SV6dA=0ICZ90ax3k|h~9SX!6Hs?$F8n(t4MgV-A;#Bh$ z&=u-=7P9+m-D_c(?|wvcuc!S>|Ag|j^d^+}!c;U3S_Ew8#gJiLO@>!OhG`5uNWyEH zx{oxsQvKfMR13qVR0~6G)#(*stjB9^rTWjCQ!NaeQY{R%RqvsxJ6>}u)$eakwJ>Z- zwJ_9HeW9lAPR*@U|7CNkg<(^wg`u|UXEb#mYVODFgA%6+e$*Xp=mK+9qwP z_{EoQrucabn^OHB7Qgt?%@jY6VNFfpe^~tDOE**eJcdoF9%k{| zIVf_bb3EL7E6g@{?q>Uls}V}?BW&jZAlPFaTir;S4%eBY@-d?}o18G@R%gM!080A16zizH^m6qR@vm z;lcW%;Y8ms!u>+@EvVLap3+AY`mn7qSYI@p=o?13XGI_93tIeen1EP#;m~+p3nnXgJX~jBwA3z7wnU zeMRXb3Vq{h>5GOFeZvU1LG*DwTZ`XvrH?4|wb#-Y4JZ1B5$*-i$8~Q_-}y=(QRwTa zr7s#z^bI52i=vO~HO--KHFqTxi}Fv7he`cA9Xcd^n( z6#6FC(iaUU`i2qiH=>VA=306As?tXk`X<%V7Y!%+h7s;n(Z{8AO&?aU*uD^jzHMvi zi-r?@!wC0V(RW6*zDt!pqR>~Ur7s#z^bI52Yod=!<68VKQ~HQP-*&b1MZ<}{VT5~K z^f}e~zNYjMg}%;O`l8`P-!Q@rh(0d0Yw=sD^bv)=u3Gw{;Y8ms!eL<(<6W+iY5K5j z&+_aH4OM;Vk2uM)exf;PaA?51J3X0;GD~@1H;- z>wc3iueYdduLB|KAwQ6=EI;w@tGGPq9ekHV)c#(AwsKo z5<(fmcm&~^2Z!S^317?RczKG#K=*mVy@@DiCk4w-hm*uRm}A~YNCNW ziQ-*q_o{cSJ?CCSP`&iNmQJSwCc4*(a|b%Fqci7Tj|X4Y!ZLJnZWWy)UH%-C8w>GJ$zQy_)dNHk`4)|6 zY14?-aT?L4hZ&=X8LNlcN+-tY0@_pUcvC)5+n&}1w%4`S>z?(v%1YyHs1Dj#O^(!c zwvVa`nHjCiX=>l7$np%PNR}xQD_p^C4ON$ah_wELw0lfA_4$Pf@~HzHq#PZyE7;An z)N4@*yWw@TYP=61{CL8PW`#MBwR71-*VY+3ljy5U6q{lREufWX7?_9aba5p>1|K-Y zdrdE!73O1>w-h53uPClhB2-cjm24Q8px@j(?PX_I6#ba91iuAL!qa6;&(lj%h>El; zv+;a~WpMSvG25HXow2qnJ3a$8ef!uL&(#ted!-bfd9kgo?0p`udE^Q!nHt~#k@tu; z5-o~QvQLMcKSDOT1{`tW2}HxF!=H)2t}$kXsTb?Rp#-LeI2b`V#>h7#`EC`B=jXmw z-i*@BuZ1oXpw(KL!M*tXi8hHCz74uQh}s6c3qm>0?Tqqj7z%(IoCh?3x}C>;fM?+1 z#<{2<@50_(y5}S~V|L$+WAJpI1Di6bA(gZGQ+ZpC@%5)#z#^&NpK7IZB!r@CurHRK zmNq>4Q*HDZr93*7$FAa0n2FLwPn^uKN}mUjwR$kkHt;k5)NzSrbo+_;Ry1}mCOH}HpWjAVxcOBjoFU*3o-nj*V)s-r|y&{*C z#!JNx_W~pcd_O9Ly zX}?}3r~M{_mzlM!mn?}Jnu&nOqG_l8d()sd!Cwv=><*N*o6a(jQZDWFM81ErY`E(w)Z^l~l z<^33uRC#}i0(2e#M{ZHBbReFS&|>7W$>waTIh$@#pLz|h*vRuLlBR53&kb=_y3#?E zfEP@i4`83X9bGt>5HdPbSK0&C!kOr9&DhSz;815h=Ob($*N_}V8OfP0?9}~>$$U21 zGn1aS^NAm-*qlkJVmzD1B6y2%cot?eS-AuxD;8$eRUo)|e)YoEUH@t!tupnv-R4Tv z)Jgchd7rb)w8qM3Yb3fBVWI5Ia+x7iFU-$#>jmZ{4#on zVSM)4m$D72UC1=NQN9Ga`UA2r)9}1oj{+ScIk&NjriCt>^^he~-`eM}j!VM1toyoW zTc5+~t~^=)L(lRdNF|rmKE!bI{M$@x#($I_%Nc7Cf5l_#Hrsu+X0P3+TWj}4Y$ecA z+fsTV61D8K`=VCbec2T1>+|WJ&-;c-gE|)l$upF#Y{EBGh`xkpsG{;-vMNe5)CX!9 z>U-5NRC(!!DkPgi$N79+&l;2hNzs-_in8@j`i2V8m-Gx(REuY*qBKK&poXEoR}Djz zmu{#+vMJoJ`+R*5E~YY^@i4O0tZ?vFSc?MMgNyl4&D5uzcYTCa!S>#%*D7p3@bX1q z&o-i+R!u^4rdcXnvsAcdRpCZv8Z#sFeJ-2yOrx1;l*V1EooflU{(6))8D(ciw)Eu- zb5Kn0Am+01&x}OGq{`op94|IeT&ubQ$YpQPmCQ8e#g$1*Z-ZNx4uyoCdWl9=YoQoQ zhe>OZ>_G$QM|1`z_Kc@j;pZ~rsBgwojOSMwPaJ^p;yF4qTH-lc;)y{V+q6;mAjT-v zR`!vZviLSM`3Ptmy-V*W=n*&7wPc(}5jKjKaDH|P+&4d2sI6G)9<4*}2pXp`TjZBxYMVRiM zR>sa9-p6rH1#cOEGrP$i7$ot9L#xaJKcSc4Tk}k!1dEnbCH= zczgKX=tm9gEE?1C$H<}58J%KW+w_W9XU0p|QA&H@O9_yLfuQ(52O=CAYX<1wWR;ufCeMCjjDE( zh5a4lL&#DmLd#fc=L=m}0q0FMy~x`VR;MvxDtw*o5-r3fhWMSa0s+fsz^~3@?^2Wg@71V=0ZeOg@wr5o6GwH=dA;$-Q!2hZhc*)p z&fl1J-$Hzlc8@VyIGb(RK?mL7L9Lse9Ooxr57 z|HEQw+Py9C%B{Ma9nG&g`u zA37p{X8F*O0c82mQG`rq%?@6S+-($adSDQiLeri`z+LE_b$&Lh6N0o<>UxR)tDQ^{_jQRH+nY@?N@2Efh==nMe7 z7(C{`S=|H9Q@t?0X0^O_O~`vSvaZWDxkri$UD!b@bhTw`ddip++>D`Z%sG0dux zu%YlG87|crj;zISnZ|Hx6~jq|UsJ-@G=>$m7_h(;#Gx`+fxs8t%ny|oyyxWxMMQgyl6OAB^6!f(k+EV z$~^-_`2p}`)8+5-QRh_=jNYBcs)W18Gd$o|16bOdlRfyOYWPGCPOkJV6z&r|cziW{ zlE6zB;(@)GYCql_oJo6rv#b4hi*Vp~VznP{6wcHwT_iG>Rr|4#4E)ws`>~Y_{O+sv zV>21}Jyq?;b~00EIs?`4sf-%nkE`L+J-BgIRr;Lf!G&u06h^}9YyZE0IQs$ceEk=%EG3j=H-;j!lt8bg0isbXpf*QY&tqmP);Cp8cOl)&Mq z&bzCioGj>Z!-WpuW$n??g4n>Sr03=wk-!;%o}0%B%4vYki?4=4F6RO|x>it52z2y* zK{?pa(MJVktErVv3-1BE0(v%E_%Rp;u5&9re_?Owhw4ymtyZH-bJUD5t}^+}8x< zj95oM6qJ)<9W}0E+}JS|E)Uaete{6nP~M1cR@hzY_VUtnysJ=!;&ph?#hmR-7D=Q^ z_hS?(trFgM_k3rGFR9XZLSGI?8TKIYB~^MT^j+Zj&J$l!rSFHnoSiZ3>EcVO^l0eI znO<=g-ciL9^T0{yBJer&t~|a#M+je3{}Gv&BbU8T>?zJ^1GcjS5)+>NU#1*rxmdK2 zDm~$AVgJarwLfv~5C6=VH2I}HS#*xZkE}xgWs|SaFA`d zvh4@TCSRfGjMcgYP&WA*%C;XUn|y^HNM5%6K-uJLDBFIZZ1OdfZ9h;p`5MZ$A1IrA z4eeGan|y_eWo-Mw%O+n#+4civldqv{`+>5_*HE_oK-uIgR8o>{KTtOL3cUhl*k#)f zluf=uCB|&~fwIZhP`3R*+2m^|+kT*I@->ugKTtOL8p^gGD4TqRN^Y|42g)X2p^}?y z`+>5_*Ld0X17(x1p=|qsvdPy_w*5fakpKTzJ{{(2g*iYLl0Ic8-0cD&HBRD zAG~bz6)N#y>kpKTzQ)VeA1E7r4Q1;Ol#RYZB`w+d17)MH@v`*?%0^#9+4=)zqpzWC z{eiO4*HE_pK-uVPC|iG^Z1fe1y;wCZ0?I~TL)rQRWuvc9v6rnsP&WD+%GSU799_&< ziMH=!ZQR=j@n+?CaO%Csy@H-VRO|I074*ai`jntt5YTzo3wm+{eM8WNM8om4?0H-& zt+KSsG)apEZA08>l0sFfq;Y_0lMd55z%)vSX&zu&rNgujFwIi1v=X#0nr>%D((Qc& zF)NF}sgG*@Dd;IgwREe$n!Kk*&^AF&i=dr?o?eZ5eOEb5BdS*xOZ}o9hzHf{(W4=N zsb7a_31Awa!>1{j7U(c-2~&gna63fOqDO2lflnWE@l!NrzsAk~!t zfs$XLQluF$R4a3~m#|N#m)-qD@0ryaoVkKJ5%hRL%S5%DSuE({2zrU2XGPFk1U)-~ zJ}l@t5%f7h&yAq(3VL1yOwxzsVAM0Sy@UntUuBjnH4vJ9wri&5!FV* zCky(O2)b0zoBt$FmqXlncsk!%?g%6&-?}&8FMhdfkwt0%x|E~W+g!?6Z0D=GgOny zoCV4Z)s0}*0%ndXSQ-;%El}pDhB9k`GDj79H9IM0El}pDhB9j-b@%E>-JL6C;9@Z9 zC2om9R3Wu}x#<`J@(S)))@!A2ADae!^|_SN=bkC335#D52r}(UI$LSeC#9W^+dIPK#gDeh-$5P zukhYLRI7g{3wmP&Jy+11BIsp;u8W{I3VL${y zsfw=5>A|KYJ<|e-$s|yyw2@2;pph{Y(*h`yKu>rk24JRv4l^|XGZA!{$pM(DpuU+3+* z2h9~1J|inGgs|fB)5wa8;^d0UKOs@AxcKjQTm+r}kTraV>NNAH7sFD5(=eAT9^nyO zby<8qj+5Y2PicP;;RzLdE@xu-XV6}s#Id0R$e06T=_x?U;6xH{IrP@yL=Hnv+kit# zVelX^U=!10S)|`l>-=}XF1-*22FLL9Oe_dpA+7 z?&So%C&H`t1n!NXYER&sLr$08y<*sd!sm{y~pv(ph zWqtsStkW?+fJSEb%nzWE**)_EXk?Vk`~VtROJIHkH3OG^|D80}Lv3TFpC`@~B!~MG z2Jg6H{s_ZGg@bbzUW#*39pStr3+L0~T<{*8KM$SHi1QX4n00?4&M9ZX`K&l4*e~g9 zPrJ|YImZ1JA9;6!dc2?>FRI6{)#D}gcv(GOQIFrK$E)h`ntHsh9s}y}JN0-&J$|nq zZ>q;z>hZRE{DF^UPvF;Ci@3|7KldGi9cVmeEpq=T?$1Eva`K{A`5KOS-zD7Y{)vyg z`yL-{?w^JC>2D$0e^DNPRgVw(@V_SXHxd>8%GY-~T5-UajO$p`A+;8xqgxsx=d(`7zKFZfK>faQk+(-9)%J*A* zEPVjK8%O^DWdV}zS3cjyL-zhLb>+u!GqK87@Rd?$+g7w-`;Xv})#kzt5H;f>WMX;s zB!0NTtk7QfxUu|fLxs_Bk5_J{fO~>+Gv4lr%1yi7la!l9z&%;qVp3%(fiG*oasmrA z;Cup$Gyu2sTJEVD;1W1R11=zNng)D@!08%*3Szk>0V>Qc_YCD`hPr1eH&e-Vl$%NA zmX({uz+J4|%uV+!ArBz7Udb^CZQM~1r z%*84$@;Vc*qJy#CPV#KBR8{9AJ5VKf){__|emfT*TBa-JQYe<;e-LYKPh`c+0kf-G97YD)2 zJ2_#l6n{ZukgU`Ej@A8`l`6 z@(DU3d3~aeNRFQbB!<^rjTbZoUJU$DcU5R>0 z7N0F%i}CB_@Hra5M$A1IK+G21P|9&L`g-G2=rk+e0Rs-TCt+3TM$~$~{~I$V!#^$l z55j+9y6|1l_=E?!W9l`O7QDLZk{(Fdh3~=pHON-y;Tw$BNk#%9h9PSqLM|SbEZ^>b zi(TKWO_biHF-(!;mAmMpP*Sh9S(H;Ucg)9hYX!|sQx>?XHocN^^{ zJ$$=s$r8JVCCj%PBP5iQ?`wA7T*K~1s_Z7WXZIM|O?vot*ODc64@;JBHwIs@`v;oc zx74uv(JH&i?b$t+c9R~y-L+(i-NTaQ+dV?;{-I{~tu^d^tjcb3dv!)y$QOPFC{aVn7Dn0>-v55>^&TcyGpN=3&jiXky1!!H#>YDk9L z(M-U|^pFfsDhYK%GTf#l)K@Xc_`ozUjWOaVU*!)QWK6PRWRQm8xbs4Qb|va1W0H%+ z>jM17+>67o{93GC!ppY)+TuyjV^hy-7~!Vv%0V)Uk(3Vg%$D&?)JyanB3=jM*K!XH z+;Mjf+**!l-Ym0PRZDOZ5LzyncaS%iR#Ti;8~WFWMBM#VNZ9Uk zA(3!j08zutnfPRV#|I`Zj=*9D&ZB!bL~-nxG}5TUDcGOGmwI#cJ>Nidat%Fe@h~fA z;lmnXMJX*u?skvBwKiu1FYSx5Z!%T51FcjyzN`@PK96FdcyIvl6ijxP&zhGCTuC4C zo*lS7Z^`*jYiz~={0~=BrQth*LI}Tywa3S1>!0k*x6;^lG z=!VGGj90*Db-9eXGzNPx>Ac1zHxejwbME&rWs^E%$(P8GHktD7+ZuL5D&{iMsklqK zQl?8wQ<4xB1}cts8g4Mo@Q@WiWQ7WfSo%drr}E5;61=K=ADc|Z)hc%9(p?ky>3PK> zNoyx^g*%b9vU=V=YuelL3OXDwr#9Mqz^3qniue@Zbr7cB89xO%hYxaO${2>T4*nx7 zx?y?zA1T~XFDZ|oh}S>yYq|dl+-h;>Q_wZam&`%F4!yV#AyXcu^gbQ(hI)S?0;67{ z_gV4!Iezo*^MM;>|Ca%QdJwqd?sI{=5p_a{XYku-yDx-9!rcI3D4UOg%?-5q+iI@X zAM%Da-!9UkUSjhd;&mH-E%(kath9^aH?d;|+r>uexmoGCG2{*PtP^2TFVSbyZ3_NbTWyivUR@N2m@g<%K9?LEY86!qZt z29~#lp-rKl)5Pegm*_cNycXdXi#dTi?w&z+eid3Q(>+CS{^rU}P}6T$gy>Vn@=SO% zTE+eBMyqrJmNi#l&DC^IC3{`hB)dXaqMTO&h3IRL2xl#5ftqEGU)GePc#<>xSfb|va1<>zqmIt0Is33qNtB;6xIB6W&; zWJsmmqe$de?a2B%M?CnOEBC<$RB|EuEVnoG>WjNaYZS`rJe`cY$LOT(9t*N&A?4T& zOR~mj#`yqMXD$d!bQtH0rN~FUB+g$IuM6=TbFp)Vq@mk#FQq%b3h8UQ7YWYaT=`hl z1POtNTn13L%^yl5KTP8s*p{Phe{PoiC^ZGlp>1aZv@20BvCR>$Gw_SgG~?GQHrf@E zd3P~>(aH&x6RL(4z72WW@NZ?qSqSK{hBll7(5^(i#D;Ul>umhS-1G1&HjvD@OYln@ zNacm9X+z9lAKgM5HmW@ONtkG%4L_Acj(Uj=Pl?x)__f@hg<-4uG2X#<2lTW;k7h;* zM_O#Po$^+6JEd4IUoCqnF}K3yf6HCUN8EMsP`d#2$wcXL@Z>y^atV%X1>A+Ep`m;& z{J0H}QfDTv0Ey-8WeA^*5425k-a!>^Q(>jG7%-%}>&(PiXVtf__cHdn#AwFW5ANKH z8@~nKCUM|OZue+iG51kt{16PW#fYt$wxpq|d;_LTtd|904Y4a5kyI5lidN}va1;+1 z!t)+@)-{dr_)YM;+}EnjohaQ4_JKrFEikLq>S7VwrJ`*FLTidOndMQK)t1&vYpvF# zcQO{}TlkS~8xeBUchxtRriPoTVdI5jk5&E+cZ9j$8pGKi}JCDeFEf z;iF6`>G0Pm;&dIkmdFwvxjG1Xjt*Z##&dy~iEs`5cK`J)(!ibsjN;#HAiFlLU9Z z80PaNt`S1^zU<1bM3(Bv&P0~!$Sy>XbRuFm61RB7EE4NHVs{cZc*GtgF7k*yNnGy{ zdy%-rBlae7tw-!bqR%7tCBa=U+PxnMZg`Q{pTxx;F^>dylj(B+3GP3WIFJN)p-CJ> zf_wCK=S4ZX(xj+!R zvVg?>9`Pj-+&0!5QYrZNq9KiIEoin*notdD8X+6BUYnQ9)Tu@Q!Y zWRsaB76!iU->MAvEg8GJ&MDl)uc}_d3TeqYOW~Vr%$v;$*By!&LGoF;9u3KnRPAs?Fan*0yIXiG;^KWWrd0Mt&=4o46ZQ z-8Rww8GA@C04XMBrEj7;!`Vrmso>kHbDLrtM?c1X0he0SFWFc5BOdP0AWOsE1y;Z+ zciMfr+T%}T{yDHjs&pTO%4(FaX4FW`;79eY^E7_D5_+ zD(&ww&f9u~q&?3l;oy`pPSTz`YBO#FS^gGmO+`L@D!k`(q%i|dpoIXQ2 z%3_RkER4lTDva}fgpkF!9lRpR(jy}xSsJUBr{)$n;p5=bzBP|cm^V+A7oHcuqm6roy5Py2{~ zk)0VLTkd8IaS~6h_s5L~5vi>a$Jk<=#A7wvpNVk*esa@})~L4a5A>)5;kSBWokr!X z$_1FaYTSu=iNYGxIcs9&Lipr+T|O)!+NSN(sjl^|Pv)F&qJ8U6=C!ag(e6*SIR7nP zt?JZCe^O4j>GNUaQNox7`^QTj{e)%VbFsxAFoW#MzmP3;s3=Q6#rUQ&q5<{1@+q)H z<=^tV5x?c>ObwhbpN?5T6O}e&F1>M0BYjP*?R!ic_?#Iq2?-f5 zc-}91&tH4bm%Qi8-t!ecHw3{M3_2JJIvB{r^q7H6tdKI0iN#R~1SP)#O@m+cp1<{; zuX)ec`FtP{PId?$DDCXB#>!uJi2>-XOCO+Lf4qBpqd z3svHYKyP`>Z+p)_@EHc8Hv-WYfy5Jm-tn0K$Y*E|VK55{u6I4IKY7phyyu_2=lgty zNkMjmCO1@(nMpxrCWSCV=!c*?9ejY~J7_r27mr?tD^?$bdkKnzc!KF~5vH?rCh-K* z-y=*f=uF}XrvHjCO}$xDC!TD8u&%H#p8OYVsL~d5* zArfLYi0_dYN+#Df4uQ;VSoh_)uT^*$0a#NdIdHjBC>lg48pI|=U$)t##N?g&M?wEb zSVG1I{`W<-UDy+eCg+K9G+S(oc~;qlz3BA`zW2Z^iWMGV>?F5T@$e9dd||ep18*^_ za3D)A@TcD0Asc6Z(f=t?qTCimb!I{onM)~1GP~GdE@dkEIY0FlO`OCdl*d3`WTNt@ zs;0ckCgf4?aO4HXqQLzul(&-^lk!{GpJ@kMW3ms<`>`PQ2TXHYP9PT^g}XR@u~(%g_MMtC~cD}N&c_o#uHR5KQuw5 zlPXjau8NmA;UymT4GvOjxL&_}H~e@j_Y&LXY^8k6^Hm;fvwRN;;ib=VwqTt*6@G=Z z!VO$;!#bKBF3DK0OByZMGC6UM%c%WRCOSY?#W>sloYM}%c^Fgv0PhfaPY4BUdxRLa z+=YEj&KLEebI2DZy4bU zqVJGueFI7#QRv&DmcD2>(Kn26+ljt8)%t#?^bv)=9c$@}h7*082*>)l7pA-XXO@4$ z3N;tvz2j3y(kZE4NaE*}oIw2cwqL?ogebBlbSO?rBd zcy~hDrmi?1%XjN_r_!s%?dAiuelnk0+RDCzJ579TcRHSpcJXAh!u*PrzJshQ&hx4J zK;c4gm#vqbcemps=fW_IK8z$Q3gw-!EhH~8Ohb2rMP7t+cYqVy z7z$xT-JNuVadmgp5lVKa18HxT4rHCw=QiI=KGK{Yqbq^Rh?vt3t%SQ8``I#lIBgKrj@a#hVNzSsP{24UW zmFId%wu3iV%?tea z$BnH_!zhO3SCV0H5r#3FD8sFrEW!y@gcHSuexa2je2hl-pQ^ts92^$56JKV546sVLWUr zKdW#WwAbO488(2Z2C@!VkMMQW4Q3cfmd<^&M!s-55w;PQ@jTl2$*dzs0!!O*)!JH8 z^J9&1Js-y)9}7Q6YjHka${AtDa5l*p;qHkD+40p2-AQ!h7P))#>Gc)moyPH{yvi?f za`xs|cqk(0J{P#b`)oj9B@}MRYd^lX<9_VHZGWosHllAYWn-#ck!&xeW*w-|0(EA_ zI|<3gU-p+(8>Tn)%8a)WRlu&$g= zwomJ=H#cT0_->n3OeQ-zW*f$|H`R0dPBXtT>(a}_%W-^!LzslLdMY{%16gO(ZGPFy zcug@s`Qhy?oIGOw&(!+1e>&EGa^83j__jy>$GZ=<&dMQ7aqseXv0b0GEwy+5APBtl zi}mQr)%bDFhAwr5^H|&#g`=X%bMd`c9j~kfN9l5wF6R>PVO8>6aERevJ}`vTBE^RC zY8g+!hAFV2xgkFDD!7#)GcJL1)3&@6*fQU<;vQOY4Xmh3sCPq)dne?*#rkBby8(l` zeR#a|GNe9+2w!6+n3ePXAA9csCs$SWkKdh{otdr4mdqxbGLuaC!K8chD*?{m&A(~`SD zUVs13=iOwUd)oaz&w0*s%01;?h@}1isDQMA!;Qay#doRH_d;a{&&W}04g}|4RC-Cg zCkqU+Pl6dX1lUXAahIhWxT7`)Hscebly1~(nzdFAzcq-hwALin&z)tjZp5*1PmS)% zh+7lwdle&NhfpKWAW?)c(l8@3R^draqP<#@z^AcsS)W))W8$? zdcSi0y6Q2h`gPDT%Qc=o2zMpN53I4tK3J?~563RnoC~aKj!jt3KSN&d`VEwGYfCJ@ zJ;dXu4zYg*H#b#dMPIHFhuEzU+8eU_yH)Vb)%t{bZ&=X@;GXT=eJM5L8=I;(#CIqz zW_iCh@+_GCb`_pn?NUonxY*C^H5W~>@dJpmBT=3}`Ew-LR4wM7eG>jLU57+$K34=b zp5?a2!v@FKsSfKmkL;XE#ZuWN(2oqcO;EK7;*i@7!Z2KtO)-eMDa2vhJOTQ`{1*BU zK2i0I(O0m{T?O2ADSVtLFv^X)qgyBFuDV$HL*`{?|m zwY(mZ?@jW0K>ivmB-D2AnLiqz$*%3*DL+`!&&uPIVDL}LUx0yrZTD9BgCu@T9}AC3AE=5MgWN3*9sat1_m-DbaRRBtE4`zX&&>&h z-qi}-R$DKi-`j@uYE>tg#qGX!Rz>z*&M9!3fKGcSgml(pp@xp6bE+3-(>de2V2>SQ zaAxqf1O0hZ=PU3=r8m-J5}m+ia7vF&v_PpqM0*CyEtWh0L_2MEMiMa3q0#T^lZSw?l!D21laa_9+*~wc*cSd%qD=Jb1L`-c; z#O|+X%m6pdYd%)Q$RkmVUy?G&N-vY?B%LCA202=Gs1$%vP{LJ?*G`xdJ9=IBZfo2t z?wBfK!PcxPEbs5@@;;4akZ6xEQvz_D*th#E?{e2_|`E#vmA+9=P%t z8DmbnhS&l%q<2ms)RDat3hvpv0@k4htNTFnS!DDoDRm^2bsfGHtidmS3JR06_y`-U zp4O2=3K;4YR%|MG7OhQCuSuKpqPo}aQuQ}ti0GI8#b_>d0~NeQ#$R|ok6=eZ>%;n4 z!onBkn*U%8L1mLYjk94_)5NakbDNoKSBqhYb`Hd~t9GRG?1~04<4sW-h01&j4YBT= z$LJE8@i-#Y4G=O}JZ9G4lM5J3esBH6J{u*K)RP=@;jFQB0EgVp90UaFMNQJ5gh-}j zR>n2E;IvAS*_mk-ZEro<0=ru`gxzbfD}$BdjcIYr*u-toMjqP0hpuUM(yEx?lMuWh zkmQm@(tsv)16mNF+lqBNj!`3TV)1#fmn@QE*WktzfcKv#^q2Ksux_lg~)% zxhYo*i9jn|q=kgLU4_$KN$H?8-`rj30#SZ!GwW}km zY7Xt}X{+`3uARMa4XCOTJ3|j%wa*DvJ7S6z^FuFGwf;#z3*cl+WKd_s*kVk^0(hY! z#u}V0?%6fk_X76|Xm8xU8M^}PTR~)phVkF#`g2#vcm!|oLD%i}(+OWbE(qc)rsKEs z$0H6xW(Yq%+l+5k|3nA%9Ie)>t7r=e)y8EAwtFDTPYHfNdiBc}=A1ko|h z4!E@$yKmW{XF0=V8pF7BkNAWmHigO@8rye11L5W8Xx|TEJ>-@=b_q6n2f4WwA6R9Z zpJPY*0dm+y=gj(;e0mEN{ z(fD)m<@m&g)O`?8e}~eaUQP5I?8=-BRF~#R_IZlvc2?eQYOc^AlJbk3xr?ai`IYL# z9CgCYtmIxEq>VOyN-BfOKwd8X2HWtD*zC)mLd+*(wIpKAv6en)akvb3uXWYax_(8h zx2!>*xOFX7HDtK1YkXeY8*TMWDYt`MTjJ2t=Ag2yElnSZJCc1b(42xpB5d&*u#n|Z zV^2lyw>s5zwaxDx5UH`ZK_J@6(`d)0+v6Lu)TmqJjaY3>v5Rxal)NR&(P2Y0lp9{s z%^6gks%^f;Zi>zL4)PxuoV8TfpnqM7u65;z!{?zlU6~%p>yVY{!H3V25lfA>aeuI& zE{6y@P`9WY&}XkiBOd^6uaOo$I4r(oQTu#p(`(!|onuKEN;68g>fJj9KvEh+x``(C z4uKmgB554(psF$0=cQ1`!J>gWmM!c#p~mKPdA1!n8B_&hS4{L8C3S zcLNDDf$pYF(;(tB7sswWtuoj&#l3jFSDfTvSmk`sJk zchhYk21YtBM%E5 z-MSIU9M(r`$FEseo9w|tzsSi}Sns*{06gac}({U*)2p zU5@K|gb%>f>?bB3XAP}^@Z(UJ{GEU_Rq!|9cOu+TTx;-K40i*V15Hvyzvl|-Wngr4=rq4vT)YO!XY0EFZh%{>{hn0SJ%QW zChJc8uszMfo>%K#{QiM^zlJ`Qe-XH&_{9v~MqHa9hs7WMYT^GUeo6Sx!?h8=0r+t; zWgvdd__g52!%6%*0@rr@u7LYXxXuH=4{@!={b%DkAO4SUjl+Kqt_$G*7}o^+=i-Wa z5$j*LQb%9M^%(g7jcYyp9H3o>AO8-=bx-{Ez^`Ru%4)mAvgW|{@-M;4meByk3ftP$ zdbGAF`O1-MxYb&sMv{yN=~#8;l@DqHz&WYbW=meXHx%buHVi^R4^8B+K?TnJ8jylE zc(9s|8x7iig=kMbx%-+9A+SQCVL);}K$0|CqSX|kwYRHde6(|jb}h*rARUlsjZ2oz z2AX~);LxU6bG3%U9{WP+h7MKt`*_b0>MfEFi1*Z!PyR#`G}y$8Yw4Qe7?+56O~tt# zHcV~w@kZVTsM#cYfE4IX@R9~E*<54rit{^sxH=fO8tt7#sPjm!BwjGT7Uiooc(u)S z2CuFtzavJdTYS8S2=yY#JH>cwiC1s%>YE!3UPBRHx;9;_qTlxej zgv??2HX6i6eC|?fa6mC)UAj)q_Yoa}4LlEIFi1h3MaF>!aUec`sS%rs5$n_S>Ix50 zUTvwaC+upF0z|RFW`o$=++q-0iV+*q4eCA*QN2ts-)>MY7GX(5##V#a+C0c04k|`$ zOgF0aKH~7z6?46eC6h9Uspd9=*j9`axF3rHi(0phZw{m z#fVsURf`1i0^(doau*3ryZ{kp-L~R%wBjx8P3@`7(P(hK)70KP)bJSEJk0PIR?MR* z-K5qCkHvTcvwG2mS8u~rz(e#f+#n8b9$^qi6eBjLo7KlY;_%x6JC$TE2usMbP$~Vi zK}hL>gV<4w*qUxt_xXs=5$s)(=p9A5 zma-aU5JxqSHi)B(5eKCQso}WU$T$~Hbri{IL`0MOpe9EjeIxCu(;#*>k1>d2iV;)k zl)Au2Turd&NZul1(B>uAV-4ci=Bz=?79+N$+tj~&!~u5#OzdeSTm@wh-Vfe2Kz6OalAns z-@KJU+^QI{J>9M@2TYsvuhJU%B%sIM-d>i>1cNxCd7?p_Sd2I{JyhM|%lJg0j40tX z9YWA|6LFG3oYXwoAWkku9F`uY-V7llN}YP_HHf{%o>PANtlkshH2-Bn4CC5TfE;?(A8260+3Vmh5xy+DMWv)S1PPPK?655ki1 zH{E*e+w`XCsm!s`zD;kQVR+1F-q!HgwwTAr^hkAv@R0V6PPKyMO7iIKZCR^{(d>2x zal1;xt8_=YLtXC!-bbt#N#53gu3}ABw7KD0dQ^Ip+UVmo-3=&z_=kZIn@b^5^qa*S zogS@50mM{EI*W&FM<4x1mi|37&duU=raRSCACJyJ6-R|!%Z80w?4@aL7H>>?jM~k^ z(}RPf224#JRm^YR{?K3H8X`1gTo zdBuPpp}ffYY}utx$!Dhq2Rh*nJPn`|Zp)0)j?J?=Jbk!&Mp(V$vHB1$6}?B-2XB-k zExxO2aK%b+Rm;q#nW;||OMT8(@EnfP>^wji#lE}eY_HUworVma}Dv2MW_yaR*5uaH@vJoUG-!K>A`-~+{Ns{4Oie-%RNiom} zNrl2Gxj$W_0eFW*mPt~p@2(VG7l@WLrA+D#{|eC!z6_duDMDi)NvVjHEof1Ck=jix zh^?@$M8QVRZ|Py#Lrf+8Qus=GT>3b51n_kqug-*1T}`qYgguF=Ibj>U6VfNBHMljU zUIEqezDc}y3-P4V`;A^|M3KRlE9*dQte|FN^E8Gswqh)P6Q-hVUW1pGlD7B&>yl#D z25(rG#2Q-{>B?JDWjk1$UabD*=~dPJ04hzBi~|Xj6J`Qt20D|rwj#Y|egoa4$E7<< zq^rz3m(Hnez$RFxJCgT4hPOA`C~RHZi+O(n-kFz3xN=(}fhpg=Gwv>s^pcV!x`5LQ z(%JODl1N>?>EY>`VI^^ubGIbD#8@oHQvYYM!3O-ZSnNsZlhi?CHNIX?q}ABQYQp!) zC8cRPzEjc@(k&&Cm5W-Xm0D3G(hU^pE+bL}Lr&KfS#sspDV-WtYJA3O%NnLJ+VSZ@ z>AI4vm_B&V^w=_yrUPD(-lj}l&@EBsd{(0`rw5fFo065$!Ex!4CGon)%{_ryYTc*f9vlWRjMI=}U zD$CZF?o;bUHovbMdM{*~01{}Ei~G9bQKx7*y>oi!a$`@H0OR_hvy;;&tL-5|u)UVi z@WK6*>s9hb36zt|jgwJZIDMU(K2;qra``R7Iq<7%jaB-Qs7 zHI$)dYBJoJCPWPYfSClF0Ow~yy@aSFYDXXSh|h|8DN#w(sXpozM7@vXF%Xt9tIe{t zAZx?S-DKE62~n>BpiNH$t|#D-AAxj&5Vd^gSh3Y)YnLHWQvqO5=Mzv+?PAnx!pvJ` z*tQ8#D}B^Ei24KxU7tc$Hk8s@s@Hwg=#O1gx(ZOkSr(hc42c>A0HcA~L_LUvt^(A8 z2cC+0WgD9zQ78GRD?L=Y3Q)tz%CTF9MBN2|U}s;jWEix8VP=A0|IiZz87}n;QO}9& zG8z0=$}ZCcveb?wK`#DdeMOCM)+s}xs{Y5Dd>9U=+Jn=I>Cli3`0|1!eUBiPAb1Vs6p8}PGINV62?D-Hvi{Sd{(!QQsJ1nptP|iY+zn(}GP4rB*@t4h3dG8gsGR|2^mbNft zkfG=rXgFMH{g9|6YPpYkbs;L2IQbA0esMB`z4Vq4b)S#=d?6~95NGxe^+!Y{QSbVw ziM7ycnxq%xQ&`rIiAth&0e~5H98ADG$#RYAFGq*d>;DjyM6CdTS)chX0q-JtjHv#O ziLj-0KT%24n?7p8Ljc@{WDgK(fW%#f&K0AT9Yc?6VNaGOC5_PillZ9Zkn z!lHV}NBymbTJ_UURa$F_N}>hPo1=Y)~G_#y_e;W`ldTGbHLEFfeuL9r8;23}hsTr#EIJ+`}T-XGqjk0BGe% zj#R~Lgs7n(5|u>F_feNq%y){FtaDiUI};vZAcPf@ChG zASqZVd;Av}lBj=^O-L=wTghKs4gne%yDv7$H2=zXqKL6=ZHxiXZz2l?SJO;qwB-?;| z3R$fPP)XEo05BTxQIG$0s8vKIQB-EI)=;IM1}Ye_l!(+CDlwEPN63&wQT8B1IiB#g z*<4+TA=N4jsfkbwqhv^;&J>2yb6*ap-b`p_a(sIX_hb|!Dv7!UP;KfJ0=@+z4VjP* z)JV%E;abLOqLQfffHL)bz~g`p)*VYKBS|>aI8jMdC!h@K_C)npc7msA)`ps*=GmYO zi8>5W=*K|)%xevp=K`o<)s^#sDjNdT<&+}Kgb$A!Wk}S+6PcUUjRNK!h<)S=`-H<*M3%m@*%8;njc#FCmRMZntKeqMEs<2zKIc6-rMLRY> zZS`d`BvH3jWXSU9@YNRRm@=&{!$Dyg9!!QL>c>S4{o^t-YY(i%Fy%6A3(N2jG9)o7 zeZH(pu>sZ3p*wFnKm2HXA-Ry4Z24ULY!%st%Vj}$E{Bo}iF#d>M=q-77X`Jmh>JVT ze^7WXhmi}3>I8I33747VvLDI8AgnpFI(&_}T)rHh3(x;$NYwEF)U9H1n^2S&Q(;#k zeW*5pM+!3}>L=k@@NMDhjj$|^B?}VO^aOR~KWIpMDf{EO53j@5Rj~dHbIo~pSaV)P zh9qj7Fx(!rxP`z5&0ygK8MeC&hlXW%JQbQX^wDpWJe^SK!ksYm@`QT1d<+vBm{42hbFTY@b1gI^s6 zQXv<|lSP>RC`T3~>iQxUL|5cffyIx*vRFbEB3)vDc*;B@N6oJ&Lgh-R zKo`gwZUojxR1$TEpmMCFUWe0f96tr>$wVbl9|B5`>vW}Rc^dc=K!_Ub1>HHRgTuG! zr;!VZ+8KaG&-2OPc#_i$mwxK`bfS`|Gkw&{33v<1eV-21CMt&^v4C6Qw@CL4l!8}ss* zL7nYF7iEL;FdOOPLgnE?awAc10N8M=eh!SrlFSAP)KqhVcC%}O7ZH_2?FRtUdY?!@ z*@$xvQGLyX-JW(aQArf{^k`Xi&l5^Blt&7fJA^_hX9XFOsP95zqnvw~ji*Rn*V*tV zal%b1UP4q7^`W53RAtLA0XTtVE=WgEIpI(*B`S&99{@(>bgD%pXK2)A4+0vb=s-`! z%`aagDv4SN0HcB12>1xe%Nn)6Q@|^UN}}EcfRQ!vJOD?Mh|&2P2zf{>^L3(~H*t~aOx7#{VTL?uz9UMN(~bokYQARR@@apx))h99F`K`taJ z?{QHVk-_yOKQ>$}vI;Nzw}?ujp7T*(C*XS|4KKQSc9+9L%}-uQR1!570H(rBg;VWJ zGT%e(m#o(jl|-E=sN935RuJ%dlKY4%bE&A@GW-c;6W0@!L_H^{{!-GLME#G4D$pRa z0%rg#HW}X|Dv28OD^CLx;8eSi91PNd%(JvyS%cm1fl*Uo=4r>~CmwGgLlSiouuZ+c zg1lre>8I?5ZzL*7pd0Q-XG3{d??ZOOH<25Oy2sDMQ_RC#BwODRNj_K9 zTZu{{J&iH(lAflZMRd>k9~!>W-$pJZs_rG%jI{p8!LR0mz~qNWS0?Xr31yt$Cn||L z&_h+{5by?)`-m#WDJCCw$hMlOBs$(jXnC1=MN@WfS)jl|=Od zAUGP?g{TXOidsR9^aGVI1I&;FHSn2RAHGH~LlQ*&%$D{5QAt!@G~jPuUr7z{;B5!3 z7DV?kLA|EZwMA!cGan*Z=2{ZjAo@65!E=Y^^!Tq4obF6-FGtLS@#ftC+yR=NnBKi4 z-WO3yp&?#J@(@X}#h427G2@n#@M*gwm8mu_A})Qp9OWxXV&1DE>;ywjrxmj^ zb?7f-av{-dZGxgz|O$|q5~ z6)FEj_|<7tzBJfo8ML5dY%4j_?Y(704sMq_L0y<4{Q2(8!<3XnomV93wUqRJN{ak* z+z!G$7H*Y&8Bw9?)6d9)L^ZrxXo&?c{xB?bmG#E|sq~QIwp&_Gv9ymMQ%PQpDT+p( zW&$DfmTAG?W&$~@dwDr5V~sqYE=Of#uWt!QV~u}cswYVPR1V7+q{#JWCJ@ssmdn`W zADMth!qP{TunW9MLk=yb4=71u-nc-C&^632iFaSOAR_bFU-~PhY0T>ueoIl_AYr{N zO{QOYls+`wmp-sGR=@2iJx`9UmU;72+Pv@Rr^J4XMEDh}C2ih$Bps#*BPuLOHb7pD zlpZI?eljnV6?mY2eUhAu;Q8guS!I(o>0~^UlXlXJO0(9i6R?3o^Kf`+f)*`IKD|?V zkJ8vyefw3seb4lS(gcHaf_EvMPfD_^-!_&J1^T2UnR(60SJL=b%FDb}1n;#?*OtUq zZs#6}KsFN9T~xKpwI0FVct@lU)p|Ti79{GlA{Hy*S2uukKtlzshfH*;hr+UWj4Vjh zJ4Gz~)*2kjca{IEt@Y!Sltd+7`@g1?HlF#vrnJ_)VDSH%QrN@)Z=2Gevucy5QAJhT zZ-iuv>wkU7_zOx(qP8!R^f36{XYs-oIWV59DH_kE2d58DXEXms;ROe1roXC5ADKR* zB+_(OGt&plOI=Fh&GYw8cz@f_l1TF+tbBU6^xTq2^CGMx!S=|KNIf`9AB68G?^+UR z9=DgIyD%Y8oE!7Ftskh1BP;i>Pf*n)>eM1t2d6zkt6F+?Ik6|tG9?|o89M)z_2_7* zy?78|p5HkB!W(#xD2X@2WqDv4m)@=<-e~?X%t&lo5^2WAY|rtYsDn%5&B*u?#?L4- zUNZVu=@IFzN^UODe{r@d>;G@mKZ&|Z^zXj~;C`C=&q3swr~^WA1X8pr|L3S#)p$oc zyjoCk8RcCvBvCH{JFtaDeN2W8>q;5=PwkrZIu2*|OlM$z26JJp456d*ni*wihn4+hRVP>Lij2Kst=_tu=7rL`862Xgv1EP|s=x<$RsZKc6Op^UTWFo8sYnjZ( z+Ti?UMQiy7QAyN^g6c2jokP^Ci0WDZwHC#0$-sOW6^@$L>%&B0eEQ5_KuCjd`pl zul!mNa}wSXZLgu;Lsgmo5S2td<)gk!RC(vUd>unp0fiuKDCKM=X!>K4`^>g5Ji0K=nJ5tT$yz~Ew%$hz8~vVxTB)0j&s zND3CJAo<~_42gOK*hV?BwdHmA)rW?m1%|p&3008%6jg>q)x6=>9Z`-?JV4q=xVA4w zR1!5oQ2iG5Ao!IH@+naHE%ywGx)K0El^19rsB*WfJR*Eo87CJKb(hHQ4OR*?(%)TM z38Ipy=R|gY!R4>;tC~LqOk0YuaDQbIcZ#{xXvgMUtahD3D&yZl+d^5=REMEXz% zAL_`0L|w{T0;lBsQwf_mLpC^O@-##{HlL?@G9)n!`*FJK$nXZxKrSSPi+4&g(4n^8 zzH`vb+`Z#Rh3CTWx@AbzO}c!rE6KMoaiNM-cqXaXz3@wM84~r(=ZMPh&Sgl{2cIKq z6H!UjkT+>QUPV*g@T*-wiZ$Ts`RMR^=J)b4BIn8;&Vjh zH~lgs>aNcbbr4ZW)Js4O>iKQ>RpO7OdUl)5W5Vk>MJ^<26aYUjJ@X5M84|UZpvpO< zT1gw}1e(U~`3Q&&P(> z^DuHDQTGGTaCx2#WaK4ZQ^N*jv$YE&=ujiC;Y1}-Zvx5;E~?%F>Tr^&AO#u;_h2=G zs3dAP02tI`2)LZ&>Q9H7CMt=#3jjs~bgD;4-Y}@a_Br@0%UnuVO2I;nyfS1+Vva8R z9fE%tzxJggf(+e)T@=1xN0JMPs``^uQye%GD-WDG=lIJl2aLpAF2{xE(m^gH=76-H z7r)Q0(77ESp35k5AyGpM^HNZ43-aPOy5&9rw5d6lGM^QxJl!&yl98whTU4@2A1tXX zStlhUQ9Ey0$pT+X2{%PGhLVw}gGDkn!hS)Diw#@QGXIxKb1WqzQ73It$@*WKSxQEt zF4(e?^}963Q8E(sT}T!<5$zZ0f2lOPC>e=*Xp2hL|I+NHWF+dXEh|~SOS6ZPk*K=2 z*=rp3@c%1yb37#@QRyuzS^rCOD@sP9rix@cc=e};kisC7ZSCPmlt`dk+R`emw~tghH}$Tv4|NAtpr4e>me#=VM@6z0sl98x~MKbSWvj6qc+>VlwsFy`D@2xE=`VP9op&*;;4*T5h za5*4Cb%!&_kVN$YJEgXiD*A6evnUyf+GEQ~)^GEfP02{qQIPEar6-U%l#E23w?!rE ze`(I8WF%_!mX)mErTGO)Mxve*JM$K0DmMnf={P=#%5)qJB2<;zo(xIUTc3s@A25X> z%Q+Oo9mtSGRsDr^yq`JbbE7b1@r7deMKUB&LxiEUVl&}X3rTE{f>tctZ0s&XB~e!h zs?2(?Cg8&)uLMxt1>|5s?TAkRPE-=L2T%g-xLQQiGeAVb3UB-z?XG2ZhF#0t zgA7U3rNC}eH<8UfBu|jM4pNYfaAmwFQAyOt05GTn{szFYBy&LuP{S!_Z=#Z@Jpho> zvK~XgGf6Hds@YGg7c4`qIV>P5iCXQUYV!y_AQ!x3wN->yk1>6iSMwc279{G!A{O!< z&ANBpQuQ}!7#5v~3dQ2fWI>`1;w_>Zor@g&YI$WASA}J9Fj1rG!l%u9voR2xa!-Y?Zna1d}j?vz2m3EHvwLBL`%B-wI#%8><$ z8VB*sg7Efms{Ke71@j~Z8mfC*LR1oUhL5_Mfd0Fy+_xKr-#EFPs3htcK*8cSTjvA2 zO3ST`mN~|ZPobyx4!5*-HpL-P>nn;=`_lE>Vb}w*?~e|_5Uu0VpMJQVyb(Us$-{HV zf<$$GP$|bg3q1;yP2BQE__i?J{JCU7qV@>Sf;<)92p@{Yd1OJNmiLndx6_4U!72C* ziMmf%Y`)>%qNee6ibJB_s3=ZJx#6wdGZkM99?CQ>BMTB$_Yayzxg3|U5bNWM!9%gQ zk}OD6FIWTyHh$BMR{OuPcD;&{k*J-wsAT=0Yq*M%k*I}RR%1|>K-QXVaR6WuVg_Y z-?81iBKiscH^P&sxs<4q(Q#wA8L?t)i6`!vYGK$Myh|1&@?qStIS38^cfymXEBliJ z)Xe+B=HNZDAdxTahRQ*I;NK@aiFz-54x}?``zWLpeLxl@^6B0XIp`n!KL}5v4x~h( ztSEH5B27oI)hK)Fv7la8UaJ3)l9FuVLqx{ZVekC#4eVXM2om~3L?4j_$tFHTgQv!Albx+h|04F{UM@%k_E{oPH~iH5&9IzzsQ1Q6CZ#n&m!~(VE#=O zB%AmEObLtreE?=XS&*pZV*BOi=!-@M{j;b~$bv-OM;4py4Et%Y{~p=QL9*p~x(2c!*>Y`EBUzAa zxi)G5S&(eG{(2x;kZidQwTUc9wp@?LZ%JlIatDbBFLiO1Acz>GD9MVr}~qN z&_gtSPcuWJZtG_*LbKqx>kNsUZw}-lu>BpQvf>#oOg4lbNAW~=hD1Hn&s>CN!7nIg zNYs16qTFupq7N{ddNJr~qXclh02+e{Yp3IQQcPsT5qKhZlIDhF+{9ye> z#!;bJ@RODq5;YeY55uD0x!}hoGbD1` zS!Bq9L_V@uJ{RTdMd%0Nkz_#x zvLI0_#iBOP!Yzx?EV!R4Ln7O;%ICu3vQ0@Y?qx2*EE;mBR)$2qRWTQZEZkg#V9{l@ zOpIDBnADhCWi>@?Rc*y;<2}iEB$|6AV%2t8LlM6f;%hC&=Mmpoo4ptQNT;NZW{-iV zZ=_`nb$Iu>L_B*RLSF5%tg3;Q6|owuA!Dor=S?<`wJ0=}EB6;f?!JKBua=Sfw z+Q<#d8tTv=UhZ;OB6lb(SMKda?o$GCzg9->Qw!u~Y9se3%1wWGxyxaR+@Y{sxpxq` zzY>spT^YGgE0CM1johOtH~rz|E{7#@hr)_ZthOGc@!>C$9|rq!XvD_JvNTSr$2iF` zl4aUR)H#VBo78@$-il=!VA7Ed@q1%dJb#O2#dBwa1QRss1V5~pV1Q0=U&RE&tteUi zs31YtDUqmQ^GnE)L%!nDE@tmWy3NEc_3mXJa!Vnyy)16UV%6Cn@a~-=(U=5OH^y{G z%fyIxWC%k z3HN`|s~~B#Gm?rn*TDCB}*X?_SOEi}IJ#O+_Qr+JUu?A#y zf9p!~2BBTgA3hDAH#f;=DB21%#%7FADrfGGxP45qoDJ51VOma42XATF+`eWPsY`bt z-|m>?Pm-W;9C2qrFP%11o4%%#eGUCS=go~t%3(=g6AH_fdsmVBu7KQcmy!GK0=b#m z$UTN~(;r^$a#$jFC@fd*-9+wt0&@SkjNCsckejKE++!&>{o&;R`OXLoP<;uN>$bDZx?!T0g`$q+GGqsU>9Ob4zyxirm zMD9>nuH1Wy+&>P;{ns*b|4)J3Ol{;w&oAP?$3th%Ds=s zy(Sbba?>AP?s8ZncPK1Z?gK^cCjxTgec~l@ zKUp9*QyaN^DL4J$n zuH5rQ?q>pWu-7Gd|cGx7ZDGUGUCnCFM>B>zYM3$#L6sYYxa=174O-pINZJ-vzrl{_cdEN zd;y@grz39vBEdj%irY`Zo&6Cavj0P}fhDhoOU8KD#W~Csr~~28UdL=}2H9^$ITa(a znhS)YtQQu@+G7_BWCX=jM_~ra2-+O6sRSb;-oRf*u!qYFCd$*diw1PJvu=KD^Vmk{@##f`vs=*U+gZ5Jk)S?eu} zbM6;a!+}3D@pUIMWSpFwYCQPkxP=MyQih-43!6)@>*f-CadQdgY$k!4upVvA zhB)jA3lLQh^4!8)s6BLoiz_9_Y|t#0Rm|o^I>DJ06FjIBoK-Qw13JO-iV1$I6P!~q z!M}Bab1NpeP$xLAVuBe}QkoZ3Ot4%hIKN_oR=w_YNyP-`YZ)%Bm>{8-wl1rbKpn3O z>+4KVwlvSv2`;RdV2w_2Ma2Yf>jdAZm|)~5Vo{e@OfX+3_-3U9FvqVk?t0dlLkrCj zU#OE}xRMFVR;r)q1ZP)FkkZAls$znFYJ{sQCK#j>{c0TR^!8grUGcQlLPZLKrV3#fLQ;0`n~X7LU@$$L*+ z4fTXqg$JbC(;8Kqz7idj$Sm;Hm@$h z)RSN7j*Bc~Ugp^Tnl$6nt5_LEzR@{#FJjPTOdjTou zD9?>Gx)VH4wKl4p7tk30rE{F;i#bQb-B{BzAZ`nn8fOUtx(8~n=uJY5pPF+PdABzv zonzrCHBognDt&eKU?d-+V`Z$@HOnjf?6$NFu04%}j*pNr6+3ym1_sqxr#Hpe42k7x z5j6b`n1e2g&!Wb3Q&=^YXf9QtH($kChvgNd7w)Me9k13yFSr(C5!Bhb zM8ewwWX;7kiU<_Zj9&tJ8-kx~27;e$LInOJ*(Qk1ekMf?2q?rNsS>?jK-8J!xzX%Qgr~G5 zxEJIal*7?d$E7Ruw#~F=55@!M__n}ZdOOV-cy1bBr@sFmYe{}ET9MPsrckrntR*=t zY@_dO&0d8*pl5QvdaM<%OGKSt4@36y7vSdlWFq$ocH5*3$g}9~?4L)m7hnZqy8>J& z>u(_IG5;&Fo{--NsUT|(WmUU^9hvh>NS&(h9+t4_N=ok*P3EAy+B2CT**32}sc)G4 zN+RYw@8z%+sGRTjN8RgVk3WGRNIOP*g)g_ zUXqcf@|OVay0|T#RV9Fb^i!^CmyXqJGES(=@=02@)wYAP98pJ8ftdLpv&Sze>;B6KO1^pYw^SEzQi$}KXwG& z6GcmP-CNF<4ObWeX~~ z$%0CH1(hr)mSn|Z5gQ-yU$^lAv1~o;s?f-*3zZcwu$lDI0#+O) zJRAJ<1)+lGeH3Q5~#=GlX*7UhClGK1ib2k^qd{d{3=5F+2 zqB%@_7T&MtlQCCg?S*H_{P=e1>#p<%-@ZP-E#uVUDADKDUX&hleni#dllY)4&;HkXsoH|6+E$^aluI=@m}>AU z^kIdm%9$71#i;fFv_2ZpUT$6=eEEmkiX*@WkDS(3Pv4TRZ@q59i3QXVFRE1MWTB0LS`^X zQbqpkJ`_vJ_}92&G24*!O=9x{o4oeMxA_(X#_i%LvH4bsY66WqgFJW4NzvW5VmNly zJIxYKn#wmci&=|jRkhRRN3FuM!Qh~`+8Gk`#+~+{H{lEodXvsDcmpM4MqZp#!UjR3 zmspV^N))pn6+_#94|n9Kmu3izIlJLLy04dvNKhOldKoEEBS520hv%+#MtSa-Gum^f zoKCviR*a;+(h^RZ%8%Ci5)U;r#*bTt*`BdMZ`{cSy$NSr(3^C+g5DaZ8{SfdT^O{U z68-G&>gNgQX9@K)PV1+~2lMqaK^PWCiGC(Z)Ob)l9@5>mqLX>wO2SD~`E7OH#j^^J zn0^#2r#Ik(UbYT;tDS9v-ncU*=uJ3N;VsSiB_@dSM{|2ib(9BD9q=VnXCl@i$oomm z`>DglHqK9ZaDLt|L}1)5j*`4zBvBWD>VDy3|NcNfyf0=VWqm4h0Uqg6*@fi)1x`-jlGh&|&n!6J1>KLBY zOIULwm~>>`cf+JYOLbFqt4VkU656tMXfNYE1JKX(bTn1tXhu=YK#u;2KJ8H`GQT^3 zYU54F0D|HXXE`sa{O#cBkh=j8ZN7}c!x;~RrU$jfH^leAz4^0ZSSC3FBreisCZ3EU z&7DY@o2qRx>N(Una^tX?(z975u> zrRt_}Cej4is6nwr4jYUx>ypFMYrG}Vl-LnwCy%kqaph9>4fsua5=1jh_ND0D5BH|p zvRk7%OuGY-$-Y(uH`Lfz>WKBsGQx3HxW>k4E|zPi*0F5P%;=!D?2%HtgCR#Cr2FvF zRNZ?TL{auSC_C9Vh;r;h>^q_2?w({{8$w!QO)(q&e5|JhkI$#?0N(-dEm)MrqE#(? zUxIIpEI9=Aki-74+S$L~uyG?F*Y$alXRWD;swBM9MK44w==$N#XvH@MbeU%XU={e z1!tW~-mTDCZ9LkR8w5ur9?KrZ_Ez*?oF-M2hU*ir0_Q7|2YD9z>L)1cnDZZ)OWgjC zKPTk(5170u6D4`9VpKGjf*>oVapG(P08(|)TpL0fy657dbue7@I9P^=ME)_b#G`_E zR^dT+2qK+`;Co^142vR+_6LBW@Q?rDy2j?{hSbB@RFyjqCh=-KwPHFMZuBJ%^hnw^ z54ZNb(`rO^t;xD`$Q~n_(q;Jzgr5dIL{iRssDcrjyC`xf;o33zRgG-b^4HA)_U}wJvw4OO8?pKJ5rm%tP*d*>97-_cbi<7XW>g@647g2{o(r6ZK zMQu=C@F)Q{r%mO)in)+jxA(gh5}u1zrASPffA7KL_c@4jdp?$T%xXoeZdc6v_}&ts zIA`B8tZZ-&2TkMS7v%SpW-j7Tl7#8?$Qf45C?BS~&Z}g)S&%W5sc@o?h;ZB&i0s<5xplhv=5Y6@bqc+RQK zE^*5%W>K#W<$F}?_BH6i+)mx zMX+;YFk~7-ZU}^AUn1D8fe?F!2X-5R%a%pN!jR8e#yl<3dHTL2l|0=pU^+nZbcY12 z21TB>_0WG14Bn1{-5m^>=_R};7(9y!?+k{__7dKO;Ii_@WZ&$&k>lMhh1opo*V96A!t7{ry4RNKn} z==Lnix`Uply$%ziCb2K;_hgo|I7(!_L87h)O*uFE_ZAo??ec!`Sx!EqN65gX2N&mI z8B~&%uzaL!l(2l1QTa&(_?e_44FXJLjrqA3)#g0zxpg%bGk?qr)U$^6Q1qrbZ1;{k zzwiNr8DSrD9P)8C^Kp#c1Gbx=XJ22ti&BcCMEE_5qx`bn(}xnS(Hxf2-M+04e9s}@ zjuxrctNdvfpYOM2YNj|!_+BkhSAoWy?|SZP=R2Mo^8nYt6SNc~0q6b3gFpWY+QV2i z+QQLj3r7XEcol3zlYSXvV(VPW{za{`USt##3fqY)#1nJ2^*wmbLP&|;*G-P(()c4ojG)I?*#6b5bi4dmxMDGR;V zW24^`_+?Qg`!tH9q%0y5h1V9L5=T9EV?sB-NiU>C!k8C@*Nk}XYA5cw@%j@n?t~u_ zcWQi3wNvYPQchjKT@QCK$NIG;(xaphPu-Mx7@A z-eA=dJNX^>U|qi{e{6%;_)dOD=kxiZ^n}GxqSsv{YG=@>v#aNhIlFmoJx92w=TA9% zdG2awZ_f?u+{gDM$465z@{F^u9~N`=^F3yJ*6x0YDa$<&QmRz0FUV66^2;%Eqnk!@ zITm z2z;XU20V4k-t#%!^A_z}h*dQ_Dcp}fWjg1dnyd6~H=DaDof~R!>;fU&(`a*_T6QYO z5;q2ex%1JvDHy_yYR=8U5boS_ZV85P^P_WXFofGOo!f#T+>7aaKN!N@g3jt-$cYG9 zoFB$#_uGTv+&HI&y(1XRJ!8(D!4U2rbnZe(BoWJBgD1+|Uoc}O3%HH*=f3mNqB|b*qaOF2Pr{i$m$LlE zm*rl_vO;9Ji-pCZY_#tsij#-g)z-!BQK*Ftsg_vxu$rdWs`^CI?na0R$SF)ru(i$O z6kH8<^S%~|+vs#+cGgW|{9}v!UGSTz(Y~{@DAkxE|2X&)`AeCF*K`)p79=ffWVJ4l zJlumk^n5AW_q^y690ubKdkBbew)@VZa2hpBs$oU`;qd3bNnXG6cvZ`K;-$jtDe~Gq z+V>)PVY~Ab`Gukzws-yct0~DF%pUuygTQyC@I654Z`|G+ zW^8|nw!97^1jarlYJWuKHX1JAYB)wF4xuQFR3Qk)>pVV<-0x|+f25=mgT z7yFrQi8U9dY*#l+%Ir1RcNpA_EbU9u!sESl8TF{!WgeF4RnfjUl?u(Qz=+je3F2S? zi!A>b6zdQs;!+vvN}8|vP9`@AzV16O^PS&-Q}my|g;{?aS&!KF5gCugaxgM~9V7ne z)ukxU4_M!ToUy)d$a}u@Y=CTe`4wglr(=^piXqNDly(9%k8-K43-pnR+}DtzKB+gV z_RMWxfu#)5^{-uB^KR<)u0a-*KSTpvjCrf7>uR#k0i~_Pf%BwjsUq9-MB#UpysRne(Dx>3|Ik_*EcaBLiLz1X!-Pn&oc-QB{=el|Vp* zl3~|Ct@BbKG>XvYoL>h*V!ZKH1O$X{nHabBj9AtckUfQ_(AXW1-1T-v`&MCEr9Pt0 zhH7QzG->}8_uGF1sf)D9tnaipIBd}7%7b{l+eG_T;I@WHjr}YWKM$g-H|L5?;4cMX zutvDnN8m}l-tp1CZv&wv7QqS-i^HbMeGD`G)mA$V+lgJ?JL1kcunP2nU*pYKQxx^v z%yFITp&|vSCEgaC4|U_I!NvIzP^KF~4Z3cYP+Ledl;qpP7vyW~mz z0s&2l^5!^=E58x-H}4*I{+tR58uc`+Fu3{S5yjqAMC}_fWf2)FoZ4!;k2LC^!z2er z`z~PqlL4WclJ+AI-Tnngoslr&20o6!;y%KS`#IvIlc2KrZl0dOXc8!e! z7cE1alijj%VU~I29dYazz6INg_8rQ4fkketr`XFtil2IPzwi%g#^y?-okk&aw#3Y` zsuz^YARKF>cOxYht+_n2%03eptnC=zS@1OkP?9w{Y!azW#Osz?oJJ0R zx8A(uQtSYZi9F-SCYQch<$BtaOJDXp4audixSpQT?vA7f&?dNUZnM+wRF2_h$Uq@4 zSu}eNwhd$9H>S^^L~Oo^M;ct_H2*`Y^+Vm@>NTX<*2{z4_05EJC~|)#^orh?_o2|| znX$~=xP3qR=ESP{r2QZq*;VLi8j|)}xTQuV?VrGzv>y<<2DB#s0NMQ$?2L>=z_8{A z*oPIdR)81(A_K4tj;95OQ*!j2MGvRr=vht=&-v4HHa*hA!gCHi(uu=^W3e%Pyciys zcg&Fk#v3%f~SV!Ea@J$QkJAI z#7lmxZ%bJ`q4V?#v^svI8Wycu61RT?kH5Gc?4?nZxIb=T(cQXQZ2K`Pwky{6Byljx zc@_7@?cWN0P3St%{LiTM4b-~3DCb^p#O(0*YGFI}`COtqkK{evg12bGxypVYZmH;9 zTOuX$F_i0l7}Xlefr3FVyLcq{<& z)Lt+mKMH1$8x4Y%B&l1H)`r%WSZhmlejjp+H^rM04l~~rPdUu=G=4q0fNf1Bw%A=( zTQk0~2|Hx=hum`+$`i)Q& z)@)f&GIOK50!)Jo&YE;?C)V z!7Sp+N}U^d@_(RhwV?H$_93KnQp1!o&gr-P;O8p+fR+QREavu9&23-`mqxfS-SqFjdlrdCGMWMb<7z*%TW; zfcCMUYaeW6#6oar*G*j@;zumAn^4ph;y-5m&6VRnVEhf0D$WsroWbabM`i?c}8P~nID!oGY`4M#WnMo0o=B((UzmJNW`w5vDw_=d8c;nBWhO<#BkhLQHAAo-_xORd}j zebrlM;GXN{p67VaDbc=tI46X8u0!MY98Bt9Y#6s^!@*~?xwt0n9fW=nRK!TyUyy+9 zh3+VHSD`x#-9_k5p!t`{y#d_K(2)!-U0xPh@$Xvf#boM;ZCgq5S88#O-tG zJl}U->^m>=ohy9j1-|n_IPcd4Gc!X6Nt(Lqu>cd%?U=q6Np+CjDjZ+g}nG;z!Qv$1fwDa zQL$iDtRN~Gj7kcMJk86sJ$+Xucvq(2t~tS|IR#P6f>Fy%6yAG=PZQ|( znCbI)H?Xc^&jCX7nEm3m^jWg6AX_kr>&%vo2*pvd1T`lRMI2|Y4-i;~0&je_K;FGJ zo>v$V*4^hoE&Pk7CLuu&B6y&U*Jw2N8lGgwKsrfZ7&~Z?iB0KPyugg9QX8u9pYM0u ziahutd~twROukt_Ugq^zBap&4({#G;u42w3`SoZ@9Bv(m%3Iy=ZXG=9#`AaKxhjWA z|F{>7=i%UctTO*V-PSTKHX>s)B{P)!3C4wZilv(mE_kYrcipb95#VDkC7#EAirQA4 z7ftgIAVl9oedU<}{6*y1Ib!?8gon#`4iog4f)KHDRhajTe3iM3j?y<-a}LU`!5O*Z zopV4-;~tc_a~T)0d7~qWiDl&gA=>w-)sEcVDDAs&_GVG0zYi9&hL4FOU#Kp~lbVt< zL9_wT(k+Mq;+cq`gW^UgKx6AAEYL`xc6WcU>d@3iq z78%PT54G7zAaw~5H=do$5Wdc?K9Y3AD3UtgWmO!_MX1*-W+>t~Xf`@lEbQSCyd6O} zd-7&6GZODQoF6+W7eT!qh-UvL(W`7%!44m8-xN1iDdLz(7dN-DU>ZQ&|AHGc0IXCq zz7FjtBlc+O>;YtD`k4rTC3Ls}J^6?|9G-}cZ-2ykkBZn*wDw3Q=!FJ&xCJ$#1QDuc@KeQ;-q1FKNu$>{v#M7732dyB$l%*`NfY*d z06Dh|+Uyx;LcI1456=~<`Q(U=IjvZ3YtB!hTcRhL+lD?jYFa_m^kCGKf~cv%s2K%O z+tT-_>9jgf+qZYgHFNWaqtD21hZGLEM{B)1LQ^(l5+u@Si0r%%- z!c~(SheYF_U)Nf5GKS$*oDu0sU{(aP-L5p)@s6I?A8k$A-)e;zBG0L~-WrtW z=t6mBfq^GaS2=m|=Yx$a)UJ>uH`^EL>B>S8xyzGj$^u^|?k%{DGWF~e$<0Bs{9KUQ zNbU=`)OU{rv+d!ki{ovqJHUaDnk<8`03*7bHV*tA=T*7xZIAnSr%y)-7y9Wad^F84n z|D0z2bSZOP4k@d57ngU;x&+TwtHHY!9}sMq&QB+9Xjz)WT+WOS&_$)kq@jN#eG4;m7*EppcjOQqN8ja@`a8C~~p5GB*pz&Nk z6fsT4gVz)-NjDqMGsEC%F`k+9v>MOyc6bIE&l3c2wSr~nC23bJ|0Ew*FZ&bPRm{xc z@VJ_Jor1cm;j1{)u5S32)wHXe)@q=++Bum_(?)_G#$=3VCwfL2&vXjfVLT@=W|Z+< zNY7~F!4%z+bfLZLO;PT28*l5kLQMl z;Wrw;9{je(Z#(>Uz;Ac_zJ%YG@jDW~6Y!gcsXr@!%@_Klu(d2V0$yD?ywJ7VH3_g?wAd%E9Jjmf^dP4mPHJ+uVm*3(f= zf<*-q1X+6DZ=JJ;%QGr-pm%urQb5AvD9Q@%hqSLLvyqqb*!qNgi?&EvVfaL{vI zx?cTHiSbc=p4ArIJR#B36S%oSZVqf?faL~mZmY!$Bh?>(ug}V2(#4BK(_?ITkX4s) zZFyg-?qJ`RS0l|20(p=_IBq_+N%Tx^#zXrI2-}QlxNYScbGDOfwKEgfh|O|OUi?A8 zvJ3JvHPN$mbJT!D4M^00M1vqT0g%n*i|yjBko{hp~ z2o%jNpj)J}CB&wCL2Wd55F#?QnK9O!dyu=xFp=41M^RmOv0QFAMT(~IwCv;Nv9Gwc zO;B?O!&#TeVOxD|b|DBqNINHDGiNo)&bH_0)$jc6h)wW-mwW?Wvhcj}t=jnH2cn7G zp}^}hS%~3%;JqWTiIF;YWh0K-3FVqU3`tKnNt1&k)|^|I+rcHN-8+kOTRw+Gk{rr1 zxtGV5>Qqa-8?T9DF0o^yn)z(0b~9QSLK%Z0O>u1EM_(VGye5jLOv$7A4)UO-zxWMU zqQ7$~e>gKHbGLXDvhHK~+hTUTRhU@y%VYssA_rF{ z+mlE-2-Dn>s?`xawK~jb0){%m1!0jzY|;z|lGzdH3%cu*NRq(K3{Sv}y*fcNMl^yL zO&{76$|$xS<2!M!AF)2`EcMm`oED5sw$`@Rwbsiv8B{ebL|HPgO{YZE48r2@qc(gH1L!c-}hy&!tf zycW!>iU1A&A8}s-Cs$GJeW!2tz1=-aa;GQVvm}{GLMF|0&yZwTX2Oz$9YhvINI(pm zAnS$h1Riv502f3|0zpxXaUqD}EUsheG> zT0ue$wO~*ba$e3}emc|;J=nf2K!GT|{3!TliJqM{POM!Z>px)pd z>X6nKgq{*q)NhQ+E9vyFnOuZe>gioG3DrQ@xvA7)nD=zWP-(Th+F&NTsuPG2BxP|; z#mV)bWRR2IvW>pdDuWl}?}cARkn#7yFW7)z%=>C?OK+5;YAtW+8z&Z`M#Vy=vVnu} zoUj^RCaj0&poeIINUB0#7OFL@jAWigW$0yXngFa$6QFOE(014d=oRL;bQ87(80{>9 zG_rghI$`2^r5;u)pQuzWs#Jbep*ep%u ze%Cx^@>bZ~Gh#pS+Zu1RrJ!i@jt3iBJ*_y!z1k(z_=%3q7PO2ZqUovPkGAyBGHx!ZY{1 zvP-{ESwWKDJ4`LZCKKl->?Yx7?L7EHQq3;C57eN#Es&R5vZkqa7xR^D%CWa$O3FJa zsDb>6(q1Mm3P;yghi(=cx>^0uO}?dWu@&M zBGacDQf`BJ4|Yih)%SvWPCyiBd-}#ZQyb1ko@MMSoytN*i~l-6ic3n!fu$DxbKq}W z&*#q=ttk@rEr~dr5vNBE`YUbRKM@b3ho@>!VhvQr0iaVXkKuP1IkOUt8f*jA{t^b3 zmoWEaPO7-sT}Ld7D|sV$+nra&o;*4EV)v9^;qV+K?z>bR3o z;GG&rs_74*22kWzPD9L&cV%UkNC}3=`mwNx5$@v<)Y;(-KlK=T+8I5>6tTZs8lQxY z7m`#pfgYKL%1!XY;!GL`>m91S9HbW2q%P7dTih8~Zxu#Gcac^29{R4Rf`iHF< z7(dOF1EfXBR*)Q zsDCc$=>Xm>N}{M=NYbqOS~Bv_Ly|&A<&5r*^7(YSscyG?0qGEyB-7^-(6OVbC#22NfKD`^QyY*=b?2rwz<}6*>I5Pr8(_lX1}MP9N;aS~ zZa`;q1By$=QdmpN$ifPagi-#WYdK&|F;SRy2vxXH;wT3;|pE89j#A66+rS{|~ngK5-elv`EJ*@Ft$B{h@F`(BT zau2DxU&g=!FK*kD9e#0J&zssDj9x5>zLvUZPrHlIl=UY2qQ9yeyO8v(Z$fzqaVT3m z4B_{XPj2`MG#|>}&r@n#&ck31PW3JVK{)=!_;u@jz((heIUThRU@)e#A}5yjEBmtL zcS0oG)49XSh4MA*m&(>0mQh&TW}S&LzQi)}&LIV<56%$qb?}$PUkCm|KVhtN@{h1E zoZrx$hr7~I#9Y)n(l^pSGB7er?gt$TIR9xk^p1DhwZEX!{%>(kGFnYQ-|`?H6%iOp>Y#w3qy%QI?`3!1*y$U$w(_GBl6O#A1h!<9&s@#xBx~ML%4$A<}HSB z)qtya2?#4uz-BLw!_`3{uMH`nT9QkLHl)z$j@msHsFO*$F4&|HpQM>lEX+vwDuTGCJPU)*~qQD=2qHN?ACU19`jJ?o@F>iYOj!OV*`dE0e4X6d)6If!;KH zV~6UWdKxYR%W(avtV{E0xIktdsEe@Pl6JCdK3lRUv70JA z*$}WKXI$BB!ur$)&cAI$+j^|kbEYM{g?jQU(N2NyTLONT>I6^#oxLB(_ z)>+BqN~<61RD#+Ack}?niV7+w03*7_g)oZn4B#2UDPl}=A@*J~?-D-L#Jhx>HSsRt zN?2pJaI^LzmQD3yp|kQDuhZ)|ZE)tA(cL@rCEL7q+(+A1 zkvNXT@zN5>%S?%7L{^>PEu9`@ZDcn~Z}K|e@9?nk=2m0r8%DYYxz#EUbApDJaJr21 zN-8P|1VXJ>Alk^0Sn1QD*XmEidJt&7smLa-hYquteIOn&)P_~ndL z3?!I)sf^`=P``%$PVFo-m__x>4PV1#pK36U+(yl(dV2@GdL6_XG?>1@-yuxQHwn{sDp4H>Rvw}#htZ@u5a`%W4PSSD-BZ3o$;rm&sVsZ8w-{(QX)g9~$D@_8Y`^OF4OKkIAqcxc3X&WXtnb z50Don+F(lZ*CVI)l;iq1<%(+#BuU*ZYr%prPq>G}JX7+d)`P@T^t$9{LCugDnD-TB zy$o_mVfC5wLYYCz>O*_KF6oRKf*mm74%Zk%CrzrXAx_6L^HIRRfpnPM=3~O01?@6a z*m29Zg7b25A(Q3cilsjnh7HH}OBB9vr1E>4`F_}ZKf*8aq(1#xPzV31ndV>vg3L45 zSH;fP(`iL2}(^c}Ht8=dul zl(t=*8|b`6oLA6!E1kv$@P`C^CBba2DT6Ie)vqG-W8!>0oww6DxMFZc{SEZ8FH-3; z);kWkXFy*jxRRfgn)IPQd+-SYhD3?yEW`{xnus9UvEK&ktG|&Mesb4ApF$8=b;$=W zhmP`(!AV9$-gTyShh7l7Bc3*P$QdSl>ebKSY`oDxoNj4HttxDgRQaPM1cs{L#78SU3aK)jJw;&tsO} z&S3pg4VFJTpRvx2V?Bq3=@5T3CgY@}5u zEty|@x`z!m>nqv-sWSFE4h}d;@AbbxDG55>8@pH_JI!B@=`q*@e+Z3Qsy4;1n>I)^ zzc(`%r+fnQU;l0v_-zvZ-Ei4_{vpaqah7b^V{DnJrl3_{t4jI26QMnnjQ%j9t7+=d z*|j$`H?}v?SWF4Mm~W^}1>qpecgr`)lvzyZO?}n+;~i~9V84y`e_%;S{uyGJ&~F11 z1g>cvkDRJ)Befr+%w$1HiowYv$tPLg@3VP}>~cSnk9MU}cKtArmP8w=?cUzT7igm% z0@LAM_e-e7!x7C*%CUM;dTm;gpN77tj)I;*h_ELR3hN0N!?Y7L9TUB2f?Zu!-?D%+ zzHrIa#BERkd&Q|gQh9FJuOX?UuO6COUfJyg39 z)S!lYHqL^0^iUz6H&}+-s~uuEBUEjvqtiACYmwnSAI|kW1B9aGBag^n#6XWmykF>Ci(mN#q- z{#M$X7Tw=RNmGpnkvRxjR^D6M@sg^!(9+=!t}xC{TX`@R@W2FDi_}8MR0g0JA_-w> z=*_5|m+q&@M?G;)53CY2?tx7&Xa8>8n?an>hoG^#_rfq8j&GR)C!tz{up)yqPX!D* z04yy#dQ@ut2arekEy#gZPBdCcO0{8x{2KR(bT(Vq_?lFa8|#2hwDC6x%{Cav34Tkr4D_O2Jjza)3crd} zAswfz8P<{&y6$}vZzCZ{=Z8{l5-)-&L>aG0ct>hO7-I%-3I;EBYU{c1DqoL^lh3BC z-GBqGo$Ynt64-_qGkRG3YC1>wxc^nAeg`fjZ$Zi`1ZAnJEh1HoWhY{dA=W8Cxo!qI z-k?cj;lPD=AT-_$$V9gwYllFiKK)X}=y8TIL5ZYTs|tt6f|-yo4Cl!9)>bIIFPTLN z72FQfHRMsrX_n7_d=O36JW8t}CMETEx9JxH`$}M74W*;`Aq%yUm3a9e;gbu8Yd4@Q zjjB2Hl;4KRmWfSeuR9#jYEXwAjSa%TNqQPJm?-;RXCN*L?Ez+Qkxc79lIo;7x2 zOk>5PsqSGY$v+I`G*CUkM3rgah>-l%=ni-%o`xdbCL(2T^xwfugli_?kc>SZo87_V zH5gFBmBx>C)}~-q0kRPp4+Y&%@t6&~hoD^JP|z%Fz%~xUSF;Zf+B6KAKM`BSF{QSl z{*-}}H^3MQ&K+<|_|su4IdvqN-M7H(mSQz<8mP!*z{h+hzlfenHMlWIWb2=eSj#Zo zSq3PWJkrn+PHT#_gS$A>w3ia8HbS=223T+H0~!dckckFcB$Q{$< z)Dh;?(VSCZO zb0Hl7r5f(vRt6TVH(8^fwib3{B>-!#ZR49myDy(_8~?Ss|7OVSPGBaZvQ9vP!99Sj z0D_vd_ch)$F`BX+eYAclGU?1ESS6lPe>ZXpNRFwTuuZ*}fc4XNq+T%-Kj2^hLy`{d z07k)^An2o^Y5{CRo=(w!4?ZAbV^dEi#P(vx#GgrJSfS(^oE;~hhSya$w5j5bdkFM< z063gXP`YY|+=KH8|LN#Wl~2d$)ZK?}Y}LAgk!3-a!&Ahbq44a%wjKxM zN%UXw+jJNfE(P?8PPUeF#J-B?7yQD1nTKg&GrO z{r5|jgy+QV6wh69h>M>UT7K494b8r|Ls{g>!M%vD;W>A@@UI{o_w>uFi4EoPUjj(` z67y=P#QiMuu{V)91y9pmzZvxjo?&vzRc-67z|VJuz6p#3W%Stoc0{h8k!ncN#!m@* zFN7>~P=AlPpAyiguvFtGaF36r8cZH0BkV^17Gy<57y9C~;>+)7k3@1so|vg@t<$Ps zscVz15cB+nIl{UyKbhcf{J;v*-{qSL{tI6{n;A!Yz9;Qr82XC|oi#8QY`#oNza(ui zp|hs`I^dD%ZR=8`{~OMB2J}v+Q+v3~l@N0&--zl+LIr!Qb6U<(!4r_ zd|2JEXyb$Qfkhc#e@Z&W_{z}Z!|IZ9&{X2>Wj0!3_#Z^SB=Q#jX^HGZKvY5qVEyAP zP8+G&>xgfPYEu`}W#7u*@vnKHKgENof2p7F9RgJ{hYivO8x#AxT7LphO_q<}dA0g!{|A~kr zTa^vivFXBUd(EARg{7<>FsMpUM*?CgUxrvo{@Jw~_9PKANUUM{9|Csm+G$9aYV@{1 zAHI@t`>55V(O$n70sT$UMkv#Iv&lbXO;XGw1u!Nahvog-P|B_JN~Q3Y7Ym#=oOM7r zi+<$7ru1v+4Okn5vnJD~XXR9edtg|n^=z#%oG!$)o`oa;peAV~15Zn>XBNp&;E-#W z9_04}j9Yu11FFHLOQ@Xsmyvd$SAg)BoAPYIuHslsN>(RqL9HTKK?`juQVUk8U$-ro zRs5=T&>~F-mDjS210WNp1N}NznuvZ)Tk|m}`H$z0>kw+!E|s1fKosfU1dcu|J^fY* zpUrR*|06O2q>nUw>>zgW9EPL8ZKmUIkyI>r6R{25|mDFKpY~RsC$G+ zON7%a-H31^aoX~USA-Lt(~bmU7~#b3wCRa(gcHw?yuG=6dIO>!;Y9l*kVz-&M{mHM zKsbBh5#m2le|iIU48qwTk8lZ+2$vNJy9nXzo=5g;4yQL@k0G4BHEsRbf#^1w7r2+> zztnp6N@8%P*0URS7TF^q-;aq`2XrH*TLTc{G^3qpN@R%fPsEfz0aAjSNGN|&+zCoF zN!h~kr!*p4v$M#CnQE+O{gWB9Eg>JlofYsAH{v7Zt2oAs@}>re$J$jm`OJ@q2>b(Q zAorR47TmUsSRJ=3h%CDyUrPc@r5Jl*1jbH##gud1Y25X83d0TrhG1t#L6A(Vkgj@?DmMJ(h^X zWMQPJusN-T89)?aZfk@XpjaNvYm7r9G=~r%-b9%(C5nN>QM@Tp3}n8x=P|K_Czy*9 zbx%oTATO4vFeQ?c=_>YyR+SYXGfa8~xZikdN)?D6fEss!?w+}Rsr7ZqR_U+MJ z-W)BDP?R?@U3snPq`a4q?rAA+adUZtS{|V&59a|>+t->-%6kdvo{{pFG?zD5%Oe!! zEt{^q)^t+dOGx(B?(OC*{3_bU&5y#+%EVujLVn@~{k;iqF<` zQr=5Q_pFq+XLEVGX?cXAy#1#uuQi>Nx2tqud;1_S9ZwnB0<#Xoem_;8jZqX#AShM; zG!_iOGI9PVo%@RO4m$UvGZahhO;3ZrVzYFpy$zM!2~8=>sec$EQU8tjNk*8d5z@Pi z(5DfyyNuAG5!_uyC~AbvE+h16gxoG8%-0C{T}7zT;1inJ#Rx}3%EFk0T7mA zm<5@R|64II7vTtD?F_pGN%Z+Ih*xUIx_E)gDb-#t-`?6I^6jhLCg1+r-{k9`hD20B zWmk>7H{5=1g!L$0tQD|ld@FpZ#=f|ZpMk#WuUdrTXILC(s_-Fq#&&xo zsk_rT0Ws=W(m`3nDdX%JjcG7;x_mD@uH>BwpL2K0kdFe$VnZIi8D;&PWnDQyJ&F1? z_yi}<;z0#}4MD^z6Q@iYBq|fHVNhw)r(j<^c(p|1Z?V1!S#Eb4;=u#lr^Z2B)4>|} z5>$sXXX1@(a@+bk>h=rN&Gui5-bu^vSbJ?0b87t#sP|p|f2-13KwNVu5>9G`-DK_E ztuPw_V*>d^8{Dlp=@%GVqMG?q(WUoHZB|GQXcy%_ug91Fu-Lo~U7~bxcB-)%9vS!w z_fJ9p%9LL{a%$kK5a@pf!+mNH)2-!FL1z4=koRpu&W6;QJjAynHp!kNEu6TB$31qy zT4hrK>(i6Z8ZAQRk=^O6LYz9bDA12^%aFA@sjReuPn&jS$~Y-^vQl0b&SIbml&^Lx zH`8c7>zzkZ949&=2iEhbUrPBxi;X2QZNvmPF67f1Bm}sp1TDpHCYXra5Lr(~9y{18 za>J5RL!AsF&6sW^q0Q3IsOEC`7wXquesR~6%S?MbmzB&qcZ?w7=Mi!ATevBRee6%I z(0XEP2_xn{Sjt*u?Y&uT8HVI{EeP%g^rCJn3lQ;dfiKm#9={rA_OxwQqNegL}Nk^|3yKl^O{t z1}pGQH8=w<44?a;$ML@a^zCrX`#7j!sZ-!Z29&|lo8q%&LnyVyzlWT4hmT0K6)$@+H#0M(@3aF1`_toCv* zhYY2lX(-^}5$6Yi4*!dY7k2V(t)1+!SHpS^Sg*cR`}I!U5I{jyr>S7-y|G5qsT4*VLd0T^gk5%G&-{QB;gGTr1V~WGlaiNl++0sXtMeZ4kXVsKs@9ne9j^E%+i@kWIEAf$40x#DQ=YG7PI| zz3Mz2$0>X+XoP3-KerAWZR^6YvzCEPiTyMkj&g=VK7^yASmD62(p(kJm6(JNjdlcv_T7N-XOLbi9gY9wKhvXldv7Yi1 zoH}J6vx_)Aj)_A(R*YrqugHf6LuLOkiks+J-SgneYyB=o;3%Y?DsVgl;mIc$>t0 zOo!+uNhbwpIkL;l9BD$xrKDSud#IbEu85JrM%>9pyh|Fv-(vkiZG?DCBi_SCP{qwO z!n_{qC{E)npmvE?Fl9EGO?E3ZiDYBPj5H4enWhzCNYo0^xzeJR-W;o;C3sr2)ipHs zZtD`SP1c<$>$J8@zN`9J^6u1kNlI{amBq#N*iX=~zePMxt0(&l|9G-{=|^1JkQJ(n z4F;~?fj&FT(z8#$P=YfXjGQbP+bcOlj5ZjUgIhNkuI^mw-vp6kew0tf6qBti24`Y1 zR0h>G?o2O(2k%PgZ5bC8F+dml5noDsKzUH2G#IMOnBigYv(Vc6GaCYRzPV#lJCmWm-d(y$VvBwF{i#={|e&jLNkuQhEXwr2#nl5B$eg%r$Ci)ufyeH+uYqj~?s($|?E~s$DCxP|vo4x}g&WXN-WV72a|IJSNpNpnVpGK`37%8nX`3K`w`lwaaTzZT4)X{VL*)vGgIgv=#V-2`UAQS|2LLwt_2^eH&Z3(Y!X2cX= znd@=qtO*Ou0(KJ@7$H=<^5D*0);iH|I;G_JYRUgwgJU`Bl9ee_xkP2P@ z(P8KSni3*HQ!1)o4*Y?IeFn&!(lwt4aB7fr%@-u-v-q`xyCQcwxRdVErZ=&-J|}Sg z7VCKQ(%GJCh-Ygi_+lKi6_vjm-UJ4ew_&YHx`TSSwNq&K8^9CSqtImM;Q;4@GPH-O zRB0!Ch|hFi1fE|&y80FrjWzo{aT(DV3BC;A)F5f$y-`p)_zK;&|1b*PbPb#KB>-Ul zZaK<;1pS+Uchui2n9Pb+is*0#Uq`H5w)`*DG5DUiMKPv~t0ej0y9%KCRdBz$hu~I8 z&XWSrtjMW?hcyP38iL2v&G{_&n!2et6FitmL_QWgq=8hS3BILns<{M@s+)_L;H&E9 zbf`stM*vzh*wjPZNzgS!OZq5Jaw#HR7ZT%d+ z*o;nDW5`;f#y5DHYCL%*qSt={ZiY!K_ySp7X4I`cj+R$4wWsh2?o2Q~^i}6B`l>5! z*B@bL{c_sQ@;|a`j#>Lfgy?H^eV*i-72NX|UQ{aoimd4s;SxRx6#n$#6!zk1d;Rp; z!k>PINhFz*2w0v2&}p;=34i)!6odu(uf+3n{OW%9*O9*z{3dc|g5M_Gzl+?O=J%1m z82lk}ce%kIBTq5-Q{?VSi$YoO=LAH#hVY)hOaTiY`|A|2@R+{|_!sy^w!)YGo`eXi z`>!NK*ycZy5aCb%OhSYy{wo1Vu;zbH0Sh~OehOF`vvUeq8uP*wurvk&P;{DUj4lS_iBSE}<;9^k}WjA;)i zMoyPAvLR*TN`)*_eu!1gZ2vwGxX!!3A*o|*a^A%bnwR`wV@c`yNg!zoU4LIN*BT^r z{R0NoUxviNcO@2ol|p|Q`P0FVB6lWuDsq>CA1B;TM{cY!cFs(0EEQ%OaO$!_lf}t0^hq8D)hZiD^$pPq7^FCJ=qEs;$9X*MJqShHv(jW z{UW!a?EPB-2P6PO*UJ+CA?pdHh$38xql=}Kd?MWxD`{WOv8JNPfv zcpJ{2Q;oOdHy*8_x=sv@2zCe$oLT;tF@$Aht>ZXvod;S^lh#jO!~=j-z@*vwqo`J( zB}A+Mr|;s9vMiQLLpMSD&i^WMg=)pCkwqQ0aq|A-_!)$SX67L4>C!6mgu?WAFSS<= zaoj=gBu(O$R?BKz^w1yM)(n&jIHup2q_oO(o~$zyWiI)6qQVL1|L^VuJ*Fr#w=%%H zbaTG`EJRE=QvN{9mLe<%9|CY{kZ_vYBS%AROqf1R&->cPF4R2l`?H8grm~VyJEhzXX7xyjVmK z59p*~%R4btLJhl2a3g%F#ydEC-UX&JOijGKVCp*6*b3NqFH|7Fl+wYwB;LE@c!kAT z>vYhT!!dmd1|%Qpu>x}W=FQ% zhK7yQPMpQmyD$XTrZuC@^dWzU*KX`FMTZCvu<08R~( zl8=y}L-A_|FN@rn;3#n)hF`-!U!DL6|2#SY5dL{g0wDbJ*aSfM=W#J0!9QQo3KjnO z%2ufG&*NL6!arZt3Kjl&LJU>@d13@`f>n{*@Xyr=fbh?g5&+?!Cno^HKVO{y2>(1K z0f_nMYZB0yf38VDWBz$+3|0Pl8UP6jP!X%ygQTp*pu2X`UA|A~ZV>V&I~Wq#6W!@x z9)1()jkt;PFW=1WVA|a@?Qk43rkt{5)fyy}v%3T>!fz(1MsBDlMQ$iA!9BHf>gU;_ zv)YOB@lqn#P-IJC5}sM(F76M}g&Se~lvb&)v5YVQ`A=YlRrP9fiemdG!OG$|whs%8 zSkf|!CPSv7ZrCa3T1H>+e_0>V+1L6!sr6Ymr9N>S+lavb+xn2FJc|CIZH6MO)5G;*D~CTG z|4|=AVredMSK@m({*J-l3HYm=Y}a4US<0@zQ9oDf=NkQN z)DKL%GRoWa^A7#oq@S(&d9Qx9>*oXfz*=O3UzEdfwg=UY;>Q$@%BD54(+=H{oDZ^{U%p zdI%Ok^LV~xC|Bc2tHKLdH+t#8^@2-5VZn7_MRWOUa1Q2W=Z=@XjGW2yO+J{)>qBqT zV!E8jJ6=vyi6@TCphGitUdQD_ZDBmvRF`;wWaX~A_^W))`5Dik-o6TAOHsaWXU0L_SWp|4ozFBS$SaNIl< z=eXgV#Q8E<$ALdW`!X1pf}aNpimw^Ke7hoeVx5G=$Y)rm30o~;GfE*fd=1nvfv1b7 z)?gceiC$l}QT%ZYW=Kxkqn@0NQf8NbfWDkO4N<%MyxC&@W#W~R@b0FFb2K7s#4zF< zjW{9^A8Cp>S0m2Qh;zlB&IGPAp=vx`*T%ExL5=ux&?<5q6qSUD?+NAdbUuzaq!GWU z5r;&FVFCjmIr3mWjyO*v@?aP_&J)FkiK`{zL==$}-(?824L-LB^ z#0?U3_}jxA*$usdqT$MANj?JHwepcd<-}a=-cbZ0hbVPbc?wQI10+;7J4&8rwEXl0qqaK(W(4wq1Pw2JpdUHBN%Y> zi?s{KTPPf^vP|#j6&87minSZjg6-a-QVu`8wJ)l#uY4_92uOblKjrtsqXrq_4KoqQ5rm>|R3b&Zea@Fe6|cfvQATk%KA>n7X zr4Dptp|>Ru2p)J4(OLfp*6WmMG){|G*YS$|3;?GIlO_9^8g@E9#o)EE$CQ67S`nNT zgNwnrvB$*uIOCijgNwlhvBxa+r81Nl>p}a4aRgN(@nb+SI6L;pR294~1|;*NoH;lL zVS3kFs{`d7AA2*Wdb+6|yO=tR{bOC8GngAI;df|kUS$+0VY3H<^YB}lYrHVaAbyNu z2_Bp$e&g%5MaUXl#3ZjtmH@lBEWwo$V8}O7!t9n3+FMGPpDaP~!Tb}uBo9l(_kmtz zufL;@TH>KabnbGXU3n9mC$kKKh7z*=V3hvV(x<*(;#duJJtaF;Eu38OckrO zS77IbHQ?5@ebAq4cS>93ea#N1ck8W}BSojvw{>k1jzT&;I_?&=Sm_n{@n-?mFIJ(n zrUw3NOSfQIcn}Kp59SXphlw@e+LO109PA3jS_2}FV->QsivfTgS+XxNmFQ*b*T7we zq$ST))f7!LFJ~--;!T;NyWQ(7W%1LSGxlmb`@A&#qG9IcvbASXe9r#{CX5l!tz8mU zX7T|bt@b$-uBAG)zp`df*vnTppq>MLq3@y;yb>slTa9`psg#G=dV#kj>#Qk}!_1=8 ziq!w$Qn0C)^V-X6++uAHl-}A4hw&-ArUdPpV9YIgdb_Ww&tO2cDRxIhMEb7Eo>t$> ztv=EX5Ye`Hdz*3J)zARHthSWEsjqqjP=@&*`*+^budcAy-h?AZV1r(#;X!oO zD2OaeoIP;**!V)pG`8?hdJZl8bHAiIo-?ckORXa7G60$Ee_{DsAPukm2=jLu%b4>@ z{1gxP7wFq*>`V97#)0@qo6GM;uS|Xj`9XDwv$AfyG@`2!WfL~Kwh1O{cNj~R3=!`j zWGHi348o4oyfDPYeGEUCQK@kYkkoHE0o;9S*?L_tD_XX4N~48f??4?or?DTRqX~!N zlW4+hG_Tk>0SPKv$tbxgQEqToiQ-03MiEOeUL5l(OG3+?PWGNEERs$w08eNgZ0jn4Q zo!`7JOyYp!nG1z7Y<-wOEI0oiskY;(F9fnP;Owof=@%FbHcQi))-dgk{@NQfaKPji280I2BWd4= zmr0}-%R>=_EJBPBO>ORpz(vu&2X74MO=JH@Si%<%I2nV&T@^q0-vq2lM_?g2q46S%WY%W zSp~mKR}ax|?V~_~2`~Q`8OAx2Dts94;cUE%iNiDmRel;tC&s~My4~g+^isCFP$~iu zE9;}p_Z(Qneg^6Aa;~%yp92sYUb*%_iz4L6iUEV=SqeZPOj29o`>}S!=<@rp6~q;q zPPJy7YS8{qbyUCTT4@GGBAc;`>C75gc@&U}f4_#98}_ZFQ`et_kdcHa>QB8s-+AmulJ&K)n-K8a39()z?) zMABflu>+BWM|Nc0#;@TK_6GN_=q6i(`%jGYE-WR4odNI+1IZiV{v!h;mIlCY8Aw(J z_fP32r-J*Jbdy8D{f8)#%tCJCCk*6lgTNotO>PYLvv9kOU&!yz<@Y)H{TY5^Hid}4 z2SC^p+`prnY$+>dHg!IF7(>3gXBPL~DeRSfQECWtnVptkOfv^rh^TxE`d`G3fE0e z8UI<6Qw;Qf#+*E8wgXcnGptRUa&n@aXiKSjaH=6TmGn}K;4&)~IkRH=FDrU%J|=qR zg$dz~Lw7M%S*hzP%2}aeW8ozktamn& zK5LG@I(Hg7h0G_U2lTi5gUXo5>eaNZ+Lz_aDQ0g1_-sacCK8;DQd z$u$_qNEwT-qKuI{bc|dMUb^|5;sIYp1UyOsA66?H@JXyzxZu*TLcUmNmm7SLX0~s| zDK|;Ll?1x*npgWb>aUQPZklQ)vCWdqZCr)2bessuJB`Z#XspLiNcUIJO}d{-aCm)S z6&Z||M~9pv3$6xYvq38{nw-gWAtm_!{@E~ zxmG_L_45{dVjd%j-v*E_f|&RQ`p9PtN_9TKX7@E1Udj#->kWv72W^B&Of*52OJLeT z62m8UH6oQygt=vvQS8$MHJk#b_d`~J?Pk;P&KXu=)?rFP%YP!{TlV3%q&hyS;}|#m zQ|;gwaA@pQY6r_<3YdD&;;Yy|PjB+UVxXCGE@5CqA>jBm2AVnNb#$9K=R&&8oWr`w!XNS1!JQb4 zZsTkQn)&Cobes9-9Jt-a`SN?7{9Yix=i)b}4dl2MfN=h)(=GFlHdbw1Pcw_qdLflx z#EPMhc?o;V&Za&KyUaY41gZlA*o;L97@h7lk8kTbUEh-9o)+7As~7#0YS7YM^;moD z!|X5hI*rFrv&Q52G0rDq=Xc-~l=zrGUeX?S{6O8~^6j|qqTD{x$0SvWVECU4T=R)< zZPs6jtOK&r8JWh75Nir|%G-ke-zSS4gqU53Ezo??p86|A>1E%5d`-C zBRJm?X4{b!0fuCoZOu08AI)q#6WQK`ggMPt1_<&Zh}o)*ptpjJ_M?sIbrdn-1)@kK zRor^(bC`Gdw$slsU3cL73w%2>%V1Lqr-iWeXSGU{C;*LxNs}@!CB#WbQr-mqsy8pI z7vaE7L`azar`&A83u(Gl5fPGJYk?doQNhwyF}5zOJ(4ClIgutA=}&y!OoU5#KWTDq zlhg*+cb%um2X?V+cMqWw3DMJ~Px4J{`=Uz zRO+uNr+_D)nwXtl{e9~D2t!+1Bv6v<9wwWfM?SS(l6g9p3GrxA*D}p6HY^v{&H%;= z?V0LiW*yquRxM@L^6MXu&RlytUC<5Ab0Wvg*k1eDe}eQ@@L*9<}nn2f(vnFM% zAn0FG)CzMszeJ7O@x}9V`HuAH;%TI+*hB7;ag7*}Dyh9$q)O^e3;;+;Nj)tBRgil^ zeu~*~%2grHHN+3B7M+c(HXm!6N;`)5+f|h6swj1O;zz||D*g;A=1%e~6V*$~QKuFW zMrfvH7xVi|i0ca)8@nLn9j8N%dUNxLlmtiaf`oT0ajO)isy>2}lO)*nhMRNBo@l2v zZ1pWy-fmf|+QzO9*ZJ>j>-}8le!OkgbL!@q)yt3y!amG9v_M)tFufMfb8+6G*J<3s z%U+F}<#)UMegMDzN+FzGNmD~v>cTz4dB(PWh;j}?Pt?8(RMhv!n7NXwID^Ga7ozgC zkvVS=QW@CD9G7ozZKZtsYNyDzzjm>F2WnTzcXsV<@|{z=MZR;zG{JV9ywpA?fWf>; zF^CKE3hAglq>j$opViS-%MG#A!5Ot#>X=y@Rfku5nL4_|RE5ydQ>$yxtlC?|aV6MN zT3&eQMZ@GS_wH!#9KkDam9&4n2nQgre@rOsy&f=~z1P-s=OELyFCiV|1L(&Co69R} zd4!@oDC5dNAA8_G)GidNfZf9(jhPEQb&e5x_d4bg- zxUeRz<2R`&jP+lSS#4fa|Ahs8b*u*qFfP)Cv&n%;^{lWb2@jijoJNzCCQXf05a!mu zj4FaVX~#1!vG*$@o$hsuw z(K5y~ZhG~uwp=s~?whT`9g3P1p5wgz9)(A^_yy_`58l)fkDJY=nFuD9~U5C3i3rsub$2P(bnhIZHghN?h>XqQ19`O)mG zLg!O=ABkN8-+Bkz4-qHFSmzT{~vH={eR+j>GyWzvsIWx z6*jbEULjKpP<8MnuD%m>XEDd4nA$@K#%@lq`CYin4@JlESF*N{b z$dTmShpY^ZCC?07P(lmf{w}y4J3Fcc(EmKpzib`PZ@Rj>b{78-(J=(*I}tXT^^gQc zL~V2+VA6RrE8X2QwdXncJpq5O!QVXmac{@?ci<1VT&+XlA#deB!Y{_p zAimcp;MCnFPlgm2>p5Yi!g5hx;$3v2eG{Ip9-~LKwoav!wHwif8EpyKd+n=$q?2!_ zl{jd~U78jnX<1c`m=Z(2-GR5!SZa9{SsQqM+8RUISm>f|T*X!w>eo*DXK?Ppt$}bq z&xKBS%t4+)MS5UpMk&;>NL!;(URr=g84>I#(I!shkvPh8wP!_9>J->S)2Ai$w5HRtY8B_;jjMI7NOjd1fWBb*2U4+J3Z-&F*JZD-gwIT=AA4y&3dcZA)-u=^Nx34ZYOs)NmD zu?(EW_gT?Cj?H7iV@81I5|+g8!A;C+6(U%Sgl%v)*jTrGE0SHu#>>Nu!v3ra8+O`F<*J+NQ%)g=) z99>|_xt=K@yxeV<>B{d2GylnpMB0i-J2Jz?{0?i!;hJ|bAW4|QN!eA?xCTAoZ%i^^ zED$Ce8JZ#dQKSn%p1qUA1U%z-U-&z{L-6B`LJMRm_OwF2&-fX@T>Kr*i1^2|)@$&s zpr7ieE#jpcJ78xyset%Ot!H&%W8Mb2Ry%5qg+PhEB%W%#p4G<{9)5kO?dMZH0o^HQ zr*k^;szW@VufGF7!5au}@VEATWZ`2!396vKxDBA5G zN4pp>*x_doZSpOE3Xyg|;J?p?bqI2|=C*LBCaJD6k&e=FP#zKs>Lz&~$FhSd4iLmu#MDjdzaJYaSKZgQ> zL*h({S{(m_fGCULoXXY0e?FjVbIx6JfVMH{P*L0JGdG?LmC-@pbtBdsfYWVq#nobf^X^D(2-`t?TV?4;*xC2 zEtZirc1esDBSz!1BD(m*UAd$wYH{D{!LAch6OvFMSFkl@=_AbbW?()w7Cc z*;@jaOaEWvFeJrH1sZ;jk^IUZK%ECW$9tmolR1rM(Dn+%W7_(`&ZUpU)PxrGq;%%& zsQn(iS9jJU7*?2W@!(QPXsnsE%ve6d+GlIn=9G02+B}XnYuS;_es+ZKp&Ff)3N8zD z!^Jb70>095D(6tSBLjL6(7vOLsI%Z2eHa@eduQ=4(bg&wfe2q6aYt0P*Jn)}7w-Q% zt>aI#L?%Le?Yp5~d&c!@7e=m?tQT3E=&5*TM8{00)it2$$)k=%`n{0e7B#-Q7@p)x z1-2fk!6+}PR=Z)`RlI94eWsK(aiyY(mOc&x-@qs)G+cc(42yYx5R>lSq?5nuJhnb& zo-s$h0zjwH8YB$)N(l<^D;5rdt0I3octhk?W0j8uuP4MI zoN)4|XtDvUC2Q<(8jR}J-T7i4OFUb%{x;!YQjP(s$pSGr@Rq4?F;8$!60T66VN$rn~TBK zi41eQXs&@zX>M+6bJa9?@Wy1Wq7*x|xjB6;cW*A3lFc=xO=)f}Zf<3M?Ty0_)EWLJ z=mfv#t~y#F%c?=CWBKnOVn{6PjYWh{8^OOm8m_O2>qEY_JiMzf_+n8&GM712iWgB99$l zGk{^myp0L+%Oe1C6Kq}4*&l{LXOcVMvKD#oTbVLYZcOU?|! zJ7jT$yqtq4Ud^R*@nX(VH`az+#+fywtl_q& z9NE!h@(s^CbncpGO`a6aT|L&99uMc#jP*@$seOS1*lNeW@{JHv+I|W7;&Sdg5r*5i zz3`#ojcd{7#woD&wE3KlZaa#eEsf7fh8C~e7wEp2Kb^t^v!w&L<3k(_+jQeRm^S> z&$zUD34gd0!)FZ3zS62n%F7hcUy_ZNInPU}aiE7Z%p-5+KtXS70z5DXiqsV2rZ zeNCLGCW&atnuPlVQzIyYUd($j`LYYFE_?=7^*>oQ-ub%zXHZP@CeCBk=C! zX7qW%HP=q5HdXsF)*sZG^4yJNK5+Kdex$HI?S+kdDqJow$;po)4M=g*K1_#^>p{hh zTrW>w77whzvJ)=7rbJ-qUcmd&<|E;g#`#ip_JR;;3;g>w3iuCv&x^}yhpx%w7>2;@}jLGZaOf^1$5!$!~ zKk2oE1{{3}sEkHF``}cEQjJ>~c{_d*G0I!exf6FcXVxS6)Sg3+iW!1*<3yAz+P-q2 z30Y;7SG?w|T&6eRs8!XwNVKXF1&I(yb?Thn+E4c6%f!ehYJiM>r5dNdR+aPvb^~(s z^hO+_rnWobUASqAPBlJ=W*P2USnOK=M1z)-H=VPHR^sqD7s6e^l;C99j}W1LE&}l^ zd%#LS2+E8d!-kn(N|2?JNHJKb=_wB~S#fPrf&}zDWK@4W)mzTMk0Z57FwW6421MZ& zOulv!Tb3=E449W9CEHv3pak`qAaX;+N4CE2Q_F;^7SPpwXYrC*&qlH%2xUS_=*88lzzoWyKV-$x+7H-ve zcKJgt=t*9hYR3Y!48;M6+##qO>>i(?$TcEn2oQ2^`R#}MG&))v$XZ|{@~4e0yKnsD zv@i#pT2u~5H9m~yN+0SujbxW<+yrYpPYR>`Znp`Nn z_Rp{n^iUzy_z-fA#%#uV73y^mY4v>c1J5Q{GKMAd4TmL@m`w*qq$9P%0K9-*SIJ=j zUMvHU@rJ(qM4MS94XfNaW4#e&9LzFsJN4!E8<*Q&Y7N!Dg1y zVIop!KC6#rf6wf(_hi?7K}gP#5T&>a%SnnGpcejZD51U=%Q_VF6?Mu5VJ!0!nvdIeBB*;Z% zsr@+YXrV;cas7Reg|ue&(mNfW4Jt0FU@dqfD%7U{9V)p|7!KL#_^3*K0?|5iWvpT= z7_(Ys)H!WI$V7dEa6H)cG9*hJ5R1YAp;gogUMRbe<~nS5#7mBcN6Oy@&I=jWA3=z+ zQ0_sBwVQz4?OwKIZ-fFF4CH`$-lm{FN#kW!n;X>NouAc^cqJm^r{MIeoYJ`jXyK9CnAvAXArCO=?Z!FCM$(|3R3Ke;6xU`Qo(mmP*H`7OXg-rYTU!}R3hPYk z=ud}x^%3i?pN0CQbFJ_EIo`KJ=wRWZv{(P|4E9N5_nA=_#B!Ta0H+3t+-58eTF)bH zJ!jhk(D}fi)h@q~FX3M&f0q|DppX$*!O;)y;ETAY(5t7Hg{(9514Q2h{kBw4MRtj9 z>zm+-yw@k)R>*bdq>~DH&8odv0Gnv(ul~w-cfa-*_R2a5&od6~ue|nGyY?3jBG^Oy z+CyJM5A`Q|$m6GuOJTqp82UR}x47RM7@RkD2)tAW9b0MOWBXT5fb)(NqV&M=5je)i3}mcQ znS}E%gbl-SBsQ^Q3n~k}_V&t<*WOWq>RM+7w`y?8G84a<3SJ z!|MZi^(lGDE~EZD`A1i=Fr#v$@(ORp)2)0MOZa>hHpjdfK1j?d%=BhX6W9McvV!K_ zDk|b#s1Y`wbMDgHoJNHR>GCs39E`*5%--|`Qosn@#ez5SDd0jmTz9chsO&H2*Pgf4 zD{LwBcs+W8Jx{ye>*=1Qr?fM@Zf{n6gk9+N3Mjnb73M6x$Lm&BC{^!=j|bVF*K(3w zfW(k>@VxqGwO`e@Rn~}}w~#6~fm=gnSzIL7RPPrv8)AG-f#|5{!s z!g^cg`~|=K+$Zf{YQ( zE%!?2)lVnGU5tuBu-6+}afp;+RCZqb6*#;sBqKfNr-Aep_@h2XxUU0=Ss%yW8Gy}% zhY~0LBYZRdP6z4z0e@Kn@vj|o=RWGh&W_3zc#9FshHW5)`dz43eSfe;)w+=2p`oL3 zbKZXn9B+7sJxl{xl)X~3uV>tX7Kha~KUGqF9YDFBxC-BPFa|S)@VS?S)4vB(p*+nh z@=y~JF*&i%VT)xB+1&W|Bf6QSbU6wE5(Mz?MTJLd<=v@FJdS!}#}XY(z`AON23AoI z-n)Mg-y^|W({jjvTt?2ak4sbuFHkgVf)q%p$IwJ#cbgoyK<*J@QXA>A%eI8kjeryMHUXoAC*4DCB@g0a{(>TSe z?E64#)m9|~>PF#Kvh^~wv6#2l-Uit{)UlP3>**yHMh&;I59I6Ft$43*KR6P@4W>~T zIoH@9a9Hvam5M5+QSKZywxE8r2QZ$U=NkJWrgq0*DPI}I-|opwRQ#U?xLX!mS~es@ zmtp`qlOINp)b2+sg}^nTe*g%Nf~*Z18JD+tLfu-|lK^5h3$BXXu~bt@0;IF> z{lLR*)umtd2urF_K=7;@6z04;s%#yVt>kOFjhKpJxVGzXb*N=UJxNNOtMj1% z{0WqWTak%tm?SCB7#zc>!T!z2ZK#)WIQk2#r)XRPWL*M(4qvKj_u-3S3tL@j3vv2DjGyBGk-aklNe>PmccFW6>blW!djJksuVC-ZOlqn_P=_gBdbc8&~;%nI||3u%rqc{(OP@L@R! z%j3&($f7IW+>ycD$Y6eCuzh5(Ff!N^=P`!x>GEKHoI^NYFt19!G}1THKT^bhtN?ZC zJ^}c#D8IfE&CaLV-9wm)t)RBh{`fl|e>gp`U>ea9-Fw)DIuMbae)&``b_UcxIKzBr z>bGRPo${?5;mkGw&wM-dJ4Zjg2HGXxO25;m4%nycR+npv|V++5R<=>@~7FGUcl4=8RMKy6fxt9R%x5t+q=!}laBu5Uwzq#{8=!M_%mPhV8f(c&hu?>lnFD+gc)VRj51+HneEPi$p{0p*t-o@LQFnRn2!_YLsQr~g* zCTb{Bv9Ku1yxK-ETDd=a6$7wER`8Q8;9dm}Rhnb>DfrwLaKD1@XaNr>cxMavN-jHV zhgZXkycFz%bYxxgI()&Jz1j^3R!IR!BqcMV5jsP96-!$kC`-fwRtlmi%H0SGY(tl% zWcPyyC>M_60ZMQZiq#vq;jc0q%0||T<$I_4!7cko=8UL+uheW|Uy1sS zA__U$_SA+9_kRzgu|`E+?Q{Hq0CoNdPL-3LhW2dYx^_w;yYUso3itz!m#@;zAGp6p zH-F&1k8b|JeLvm&f%^fv`2+WZbo0ky~l#emVV`5a+X0o@7#;n8D0o6nJl<|;0x zA%ce5BXsiz?nmk758RK@%^$c) zJOO{;eu8fP!2KP%`2+Wpbn^%9@6yd5xW7j?f8hQ;-TZ-@eGo`T*o`03%^$$oApw8j zeu{4Xz`cWR{=ofXy7^-_p2lw#%JTBX`2oM1&r$g1bH)mYt)NY3V0sSdR)|IoL(2zY z{u1;u1`=_A1pI;fCv@}2ZhQ&9)w%kW{WG>JMQ8Il^%tH!#8Ioy$!pM?;-Gz7 zQf-QZ_G=0Ha2#}4OVGV>&;cz$kH$gd3&|Qj69=tm3HoCkw6Z0rZ7gc?{w+c6anOM+ zK?8BnK`lX*IOvd;pnc+?Lz{y7r32dCWCtAH6vIt)fUv8$1Kip%QNHCKaK~g&qHm69 z$#8X)s&QmfP_NXcBU?KgF&ycC*m#E97589H!XYdrMON_$2Orx|U*iJiv>p^AQFFDs zH%CDiHU(8iG+pf~WZarUH5C%s9DW0{ArBiO$6upYl*$|8g05q0Bt~hPP)P3)N@i8Q zCZy?H?bz!HCBG`aC5C=Vpk!vrxUYa|Y%?@o#)fQ+6WkmXJ!Dx|PFK0xB?eh@`Pw+$ zR{_lmo>Drji@Dm>cws_)ehOV_LdgZI2wj1f1X98n{dsXH`6WXil~U;Q2jWnfe-V0= zq?K8?8iwY?-Uh50SjTg{eGgbjJ|*VB(fh2Pe-JP%fXkMMI6lq<^N$6@UU%DIE_k^(U_ORiM`KJv3UppT*3;dF0P>t3EMj#R;sn{eSiq%Y_iqnuy8La@ys;Qte31y81l$B0FhY4lv1C*6qK}|y0S6k)H z=w*wVl=f8O-5nvVyjD5fV@Y#c8|ksZO-eI6X$rQ%VWh`)Sk{lY&iPdgY!5`;kEin) z4DDp-)viWe?INyu?lD7F9KRz*ZostquuOhFSD24BFyPH3?!`XQJfSi zv|@!8S8a4LPoz1Bmrn}43RobJ`WeL2Oodsqn}|6;ps2@5jAHLwV%q3vMy*tjT!g)P zocBEzA4dm4*7kIJroFMf35Q59pN9>ghKw7BrYqO&1}zAIK@o^xSdXQB97a*?CXvY7 z?FAAZsIhC2q`3r=G?art!hJv}3L82Y<)XVsw(DtJCN+D5(%cyO ztKv;avg$0}xh9`6YT{Ww78QaTa5C8{JnuFU%LI>R^iljXR!^F zLPqO5!_1H~wz~3Vz3Ouz1BE8T^9b4s8I(r>G8B&jWB?uo$gn#Kkim8oAVcgZKnB)P zfDEUj02xF_0Wx%s0%X7(0aOBe(P~pUlu>g8O~%TrK3l5@84E|yR>%lg1Ne=!KDRBb z-6zd2!}YmsBId(ys`WYC@ap5p2u_zj8+1P@KQ@b+FguVcn_Iz8*Xp8W>8;?{skn<2 zr+lXRmcbAARbL1)GjOsoWSYYX(^%gypemP|DUhvB1LsO?lCc;sPedSazJdMhS8aXB zam8K1?%sj1-hFOEEvo`9BAAO@#?17eHvEvrUAt&4Q%4|2e_;3^12ZVtxIu}t`n4a`^4EDFOS2Et@JHbBhDee)4ZMq|QsRIr)Zv4Jy<%3Dxn@9D_YVytge z-b4rrdIye+DFJKXSZr@05E~K$%q1SZL1NC;N#cJ-5~Cig#02_@iK!ExtT=Z{!oPp;c177D*-k z!;p#|ovP4UldM;gy&g#>ekP;GPu5$LY&%KzMkJZ|nT#Gk*>*aaUwT~Zkd)YG;Fn%S z{470sbjn_0>cn5FD*B93WN{Y?i`V+a|2#|Z0i#bMdLN^OtSzDeur$bA;s+;K#+oYH z&5CyKtwO>l|02o%UehWpm@@6Ft7x}sxqJ1uu221CQh&-9{?Sl)6Dw6JONHLaGw@B# zM45JrQKUKh-_t%1*qSx)IH)nQcfI0)IWo%}+CW3|U_nTr|F8mFP{ksxSWFAm5A#y$ z7wXt7MfEFM!jS5pgtV?(d9jJNBQ_y^T0A{kCVW~*Z3Y7qYfd}E<)1%G%L4?eDoW#_ zDwy(0wK2VSNK0Cb;UsQB5n@=J(?mHgT83P|f%)7*TFtMSxe+`h^$3V-6$-SC;%?|kq6x4&62w`sQRo>0eU{K5gGLec-CDUGs#S~s zomS}_!6Ur*IbS`49SW`%g#$3YYWPiaH1s~o@u*B(q|GuKaw`*8s+Z@%hRu$_RvqRH zhfGZzfb-HoY*Zy8A57|#@qDo56_1Z1)>b8>KBr{5!bOiwFpDM%{;LABY@*;N6_|w+ z1^-QfSvpbhGYZV&QDFJLc3)6nmQNJ?k^-}U6qp~}E;ns8BHwDQE|=oA=I5k)VUZkHhD*eOUjJ7?^2C}inQNGY){ca8g3Jg z*XtlHHj8Z{ewel@*Zb*snhZ}E`SG;cRa=B3u_6t2)s_(eZ53w(?c(=k$XukA%2^#9 zrfII)Dw2TK#tnzjp_#I+yOB?r7w#j4DsYZ9jvyE5B-`p7k(E~&UUdrMunucTes!qJ zC^EY`)NK@*TOH~#ip;AHO;hzza<;~rZiLxdW8riS^R((h;ZR7a+9g@Qg}i7~nL|Go zeH>M$$rf;31hc0X6xB-LwRmfK^*kuRi(%xc+rW0IH{N^F&hgij0_VL@W{i7q`8UOc zEF-a6qoOELe6dU)K#5%%r4OK*T-FvJKux)fO` zR6c;3acSK?fX3spBKZIshs$c=1E@WviIeN)-o)myIOYwgr?{M}pq|V^@76hUm5Tx^ z{bd$ryt!iP-~L3Un~#kTu+ z5wYqV@*2k;VzJ0%`9w^_NVz5pt)q>D+q9WxQeKCZFs_QBn7x>qT0GRub3M=tj#je` z)K}vq@=LM7C~j^2kYTnNZ4J0PBn6z|>wFgZ@q$7!2N&#dT=a}<2 zyu1PSi!H{AIX0M)1-2+Lfq#S?N0W6IQ)TmU{e!tASBzNIOOtp_!%59SVc+a z6o(GMcXG%>&dGyA-pNhQ;e3~0CEWfvxV4!)Kif%fF58vId)uIluSHPqQj|Ld*XaV~ zE~gumyPd8HlyC5D=zNzW?2vMgqC731oleTrh4M5-xkqrFX`npKnGVX+ooS$)j4w)T zhB@G9J@~Otzj!Zo!&X;#uzU&0&QN>``D`!w;A;{&C@4NN1m7uuPr>O0pI)ahAqUst z{@_IHFLo?;DBB~|%31PW??8DWhNWq%jFU*bOqi`2Ha)OGZZy#3BvI9>piKsbBom;x zFbX4+iQt5R`-dljEd%3}iC`Nq^wj|;4V)F3h@CQU^k5A_aIsASwIr#vKkPE^fXKQkBK@PtkOisSs?hd63!XT&0 z4)+8Lxha(%>WZIFdO<{$9PS(zB2y|meyVF_(F-DJoiVt`7=AxEWAY_57=og+cY>2FI`^Lu_?|h z(o;;M9gsMrVjJN!jjM!RZCznP-IFz8p=9J1JLm2RVm=$zf^2tNcfPn6pqfwf;5I3z z8GJUi4SFW>X&#rVlH*D#Xt@7|J)mciMmAuXWaXJc#v-$Vv2 z<8F|`Kb6C$wMKqjLsy2;if$|DCY)AHm%fQ~TgTlXh3SX@0B!}ixn+H}yv8NoyAhS^o+qL%Tn@GHUTqdj~ zh0_knaXiYQwbYg>Yo?~#0lI0YL(`>iBHfO0H%Q@hfNqD=!Iu~(&<*OTCZ2;vGEPow zguaQybK`DxGCk(Oku_?>a`%OSWb^CV?IE1(m9vlG<@-(^1APCi1C|kE-$H+n?U2D; z;^^gYt7j~BJz!WI4B(uT<2>K*ao?nB67+hFv<_TaP$4@I7HRV<7FY0)) z-?WVUiHqo*Z#ok+55ssvb}eD6T<_+X?@~<;j$)+c_KD(U@R9ufKFy(>tVVU$1QwE$ zYf|~re56~G>a^9V-&9wr*&+Ztd9@UzwkFjh1lOeGEO3oXYm`i;?3Dij<|%L}K4tD> zbzCmz+s%ET-j~()Q5-KdU~*Nyj}B;#=MIQ3)T{hB;}c(aemarZefm_n(-AXOWFB-$h;z+PsduhtbFWRgtnL6)O8F=tl_$^s`2K}-nz#92Ya$twj zLg-69hlI~a>}upb=5Ip={vj)c){!Ie2n}{Dv>NAo4JgwvguPXf5O!fiLil)RNIrAC zgbH+zs-UHUGjz~KZ~&9OLOkaQ)to2fa-Pt^lyNMks3@;cP+m!mXxb2Vvc-PJx#CvQ z4lKp8Avp%Bq`mf1KSUN`h@8R@8Lqw5s8Hr29__=eAntysNJfQBHKcn~!^piFrfer2 zdkPf@dyyUJFgO1R%yyaa@}d3Q8fF!G-J{_1FdD_J$$ki5xd^$-7=!*3{@jci?r{ue zs)LOx*wv$Ao2rA&)yOT?!Pe@aQys*%@IVIaONv|h8PkOcj8OX;17DM2CsXC6s7@X> zOimdW+nUJZ1ZFH3@#n?wYok*_fd;S#26yICH`pqpTwEa{VO*3eu5{VBPt38)yim=< z1{NRHcRwfzHvCcTzGAU6DH@z!9h^}e#D*MLv5~`_(jJS_NviVAslqhWpV(|)Hsw*% zPO2}P_E-c?x-XmYST;_kFWcy`(45A;Y?H^*bej6I%^r){Y3|Fmcr1UXMOj78V>ubd z$~{pIec4uz>UCPBL;&Tj0exA=qjDWb={x6%a#i)AVu80mEW9t<=1~JUk4xQAU@dOe zWA2=6U$)(2ww?CAY==jEI2|6fByD&i_6wN#QrLXqAXWcxRRK*tgFzi_9c8-&L4>HF zFhpyg;YZQdS?q@^Oy)Hbq!L&@I+ogr1gW+NGW8h=QqhqhOCS=Y8fUnRh3g91bLAP# z_|WPVF9mzH4(z#V7z>~_t-xy13amP9h4sN*s&dXE^ZhKaP+u&wh~z9R_Xw4U<>&iZ zFcIajxFSK8V7HP-zN&!$jVvd?Oi9% z+gAb0=R$+t{s^$Q6|Uffj#U^buh3RrA*H-RKw21;oPF($NLkz08WmFQTs&vgi4^C7kU4=-gCPOqT6clpyZa=DVf_|QI`!Hh# zb6z}{R-k%xzGGv?Rv{l;UoKbBRAStDp^Q73kLWt2J}bB)S+J#E$;C0)k*EV@)O`#Z)T%&gJ1kbk)RHX5HX>}e@F-;pD20uz zJBm>NOlhNF$_+5Zje;pSz?3%%rsM!qU;#%q0#kerdtm?S4F`C!$53?m1AGt|D@1W> z<#C0mOZ!Dh+Apfneo~C?@d_@?A&*4t8)SgLppL~CVVsJcF7cc!4tNJ3JwpC~^B@)U z2b>41V4+bDKt~xiRxnY;mh;DG8R6=_v1gsk!kN#zx4%1b)xJHd<{ z0eL^lzEO`&jSBf;J=drZO?Y5&7guRwB~*_t$v}-RyETM-6l8{mke!0yMllXlbsKjw z_(kpdd9gq8jBb#4Q=k+eYL$%_@`QwN4|Ww;r2&D81QBSrKt+lWD&qk&_65jr6m1xt zO=!cjSB3^msUqgYO#-4}SQ|5Q0g z7ur{dI@k?IS`{}Z#9UG}ScS?;1OWIP@dJP%pPDxycaPE}kbqHUp zWS~Q8d3nI7i~%+s{VsM6d-M1Qn zLIBHk=PROW)TrP&1%jT~R`$c?*~)^W#&^aFCYA|3ZL?OP)hPC%v@ccPL1t_Vq>0+$ z9I+Qk7j8KzT`VVdn5W_>Y* zwgyg9B1g6)7%POU>=PZhTd&%yL#4-4Gs=5H=ygNyiSYXE-e(~v|8Pd|5P&`Yz<((H z{DJ>4`uPL@68iZA|KarW2mYn>^9TMT=;sgoN7K(A_>ZHXKk!pVIlcftg_MH{s?CYV z4uCxDqm9bP5yeGqy5}A~8j5Z4?hL*gN))Or}Kr9igJ$xAqXy4a&4n-e2cysEb+GcQDB*+TS3NBiKpY5$aU#(dX)C- z&xvjg|DE{Hw}*Jw2LBBF=e->p0EVlogE>*^o_nf~f$nn?6&ptj1;xfiv6zgaVr@}u zqvWqil$MOBF&l+YjZK67r3WCmLX!L^-3_7k@EnM`OEc*f0X0{ifP!g@KEjxi`+AdN zR_+XBoYRWDY7rj=^Oh)`;g%XeK8K7wtnV*sk6rb1m3@x+PeeA5ZKw3<*$pR754LSp z&P0ZAsRk}tfJaTd@>+$@h9Puss~EZp1ms$Ua~PsQ;JON2xxmodQ1BWHwp|>QY zy1u2x3Q{hr!6eCw_i!GqS%?i+Lpc5P4SI^(u`cAeyPOGH8pN56W{!yvq=OCnxq+*3 z70tN_j1=Jc0z9*FXqr|N(ge?W#51_JKZoz%$^{7aGV6yi^u;iAt%{3cEK&$jv_-`| zpwnOwi*|D-%K5Ll(g#ClF;s7~=~qDvTzi$Y4AVUdHlprz+!XO?Y4g8@_`bAy7pG6K z&EnCBTs{xirg%)f&bHJ|Nicl>jhwFjm<B{#9P+}l!ahNmufJz667lxX>KpCEGoAR_m%b>zOLN^W9n zx#v@EhNmufJz667lxShK>&IY+3SIe$cCS-zaWN}8zggLO@XshuL%s1>IklHIs=X|B z?WHEQm%sG&nJRhe#7btmt9-@Zw+$02RqePyYgDBIxCGhuE=x?^TKAY&J0WOKe=Db@2 z%$)ZN@!yDFT#ys^6W*@^e=}~&2?Gi5*9c6^4!Sg&_rTe4_Y)|QX|p?xxO)nG-uLCY z;ve8QxaL^$zCZF_V%|#|bETkN5N&<;KGE&W_@nUH6{29_ zRh~fUM>M{h0VOxJrye#DE0g~3ly3hL${p(VVaZu-l<4-6AS&Ul3;a3nv55as@jrxL zTs9N%Dd_&QU7x6WW5+$0>y42~rP^ZIE-;W9Y1xZRLBR@KaXcYKj z+Qh8Mc~p^kv|Qty^Wor-%R-P;7k=OYo6>h~ zk4{B+tAS7OH?FG!pR2*w`Sj&HjmMEFv42pF%^@qnHwV}<`EfqL*t%3c8TxSd#}7Ay zCT-b5zTgO6>sh*+DMm2rA9C>cMs=w|75tXj820c9H(~Sk91Agc zR%twASJnbHmkU33^GAwWhdAOmi16~f9Y`m+8DW3*PFQi3F(2*BqW zds2Xiopeh8g->~@(JCrUvW#zV%iRY*{u{2?AGF|Q-2bfZxin&HW5u_y#{_@uGz55ZI38KUy4&VcGOpz85UCIWkw zurCVCiF+4SM?TNU3jxE+X6|wbI_Gi_E*-FCwb9JM%0;ZaE7@V6eI0foEMynLo+Fn_ z$QhdTE*4KfL`3*fHS7f@__By)DY0w{usa37HHAUiFux%z6aZhk-jyUAMhfAt31M3i z{ywx>UP!{Y!L|>hg}E@*d=kR ztrQLCDayMsEpE51lQx6}X(M=22$xZ6%n5jxiYFi8Au-Sv4`z6bkJR#jm>So z5Ema4YE?cDh&^687mkWX;4B1|1);O6LgygVJ*F-zcRvB@u;$MJR#}ao+1M)+rRZIa z;k8WUDlimu3c7@N<=cQect7G4_Q9usihC-48s%w}CKX*d4UoR9dYm}vRuJM7f!J!l zg5G!p3sXoQVEu?&33vD*^<+b`A$Xrh<<|WqQ>F&@#K!#7=}kn4;2^*mfQed%n^Jxd zCkN9Lu@L(yB2xh%_Gvi7SA#2#9;O1WXw>yn+iL0rlf>~?x)ZYrx!@5qm7Q zNvfe4CIWw7!`LT%|DR(&JrDcH@W=LjbGQ|0-}$9ER5X{bk1Ja`6@#?OX)SxNiVtIFIjLToQq+H>-5+cBC)&ME zyFbda(ZDwcDH_cQj}#3&^-79HbJ8Ov1Fy&Wly5+o zlKot}H){7L?cS{2TeN$tc7H*)t~{g&c}NiQkRIhBJ<3CRl!x>v2kB8Rp$9pBi7@54 zO}oF+?yt4`8}0sOqhsFBoT<;jWC(~fo^C?1cQh`5ql3~L+g|v!1wCJYqfiycJJ5j zAGP}c-B3a%197H;giJ&UnTQfH5havFVDcw~DdC^B`yk!0Ix!l=7z<(&3FN;W4MJ%u+ z5?Kloh&)f^u&^Zv@C(&o2?G2g!Ej&F?#pz;;$bvcF&3;O63BliQpiGr0KY;o+*h^x zns#5;?i^IY1sVVAjci+9m^*Fd4AklL6~J z85qqej|`0Fv?mN8=sO5g;CHpVUc2vU7jyLz-=JNC?kj;XOb%g~8p1F!g<)a}!^9MZ zi7AXE1~XF=i_;BFfnX35D6kS5%c{mA7+3;@UN}Fn3EUOZ*V%|n^BG08lJHq{3XR4J zLX&oJSKdT#*|Q%-6F+G>nN^)aI_$Z@w^Op3-1+{(838x zaox{gMZiX2vq)xv)xqV=2>zm3(qDJw-bNtunN#B;eXp^G4A+7Hw>67n@HLH8j_{4&449o<;Epbo)oKqRyGUPD)7tTtWtjS zt?>-YOglO5zJ`P@wo&2iJyb{=C-hBZL`|vydC|xN_`DbwauAGT|Fa>-8IZ$tPeoxb z{|qb^pI*$d>0-r{>+z$jS3u~-B3^1syXWDj2_JT%20NK^zW_jgvV1-qoRh^;`K#cl z%wgT^{?g4TJ*A5NEGF8hLowUo4pm#Q7Amy{pX~1-p(v~YpDO%=zM8PckFOK>kBIdv z-I=l32!9GP=S8rzbviZIwfY30!gfm-#h_{9?J~! zAgJtV&Di(x)J~g~y006LQpxY`2gqlu;a-TuBToW0M6GwNN&Gb4HTbB$JG%Y>an=9T=AC}${o$tr;| zMlz5`8WPR)mt3z%#4du)J_q`^{HFuA!5VE?B>>1{E%N=WM82PO$oJE1+hRG7m544Y z30>9*x-@^fH0zdzVh;Kl${BeJffX|VD`o*HHsEJq0@NTBf>6dUPm~c4m<2Mz8}qb` zoFMkJjPSnfDH#imTF4n%$ZjoUp>+}|JL^hW3sq81qQ_Y5%}~a7LK)u-Wz1>$W@zzx zw0K=LI_yP~_iFT5D~r-&Ei|gfI%Pct85M7($I0ZJF^Lwt>T0nT`hhaO7wQql>6f+G zsVZwpRY7Z8z*<2Wpz_UV_**L#kyZ$9k*%dHBoYh}3QI zAJCiQ-hH&iZ=ox?UvJEn*DTzx0IlCDwXt@7WwYxWq}Ml0_4e4;~xMM{e_s#Kal1k9ZUG?oCY~Dm&DHZC?i_l2oPDmz6+}uP3F|bduSos@l}VdgAZv<>Ki-@&85W zkc+4M^Xu7@@ZbPWP|td1HOQHVb0Y0^F^!6sS=Sz3rO@A=S(o5XjN@aqhG551tpS-> zcXup-K?XR+V%>#U0{k2N%^F|A?#*w&%sdD7<@?)|pCe~43qR;`jv5ml^5>(qN0M|z z{4@q1hjtIYkYd66{x0}=n3Jv?<{ZNpxddKbYyyDun}UM#n*!}!TpMP=o=pRX8KjCJv1*%qXv)Ib^4#F^9 zA+%l{UJLXvHp_Sx*i&mOh0OF&b=%@aD*KBDEz_ zXKd_2vUsmY3^(XP9#jS;Pb6!cA}JiX86QhP(I44pTS<9yOHfLuKo3HzDV4JdM^2Y- zEEV;6KT5i9t8iTXNWOh&6_%?=tc`LL4LX^vKI$ru|S`*dOr`1 zXauYGQUnA|&1KRaB^yk2sa~tog4;u$a8lD$rm$8HzDz$&(p$ab@aJ#=MXe3Q ziGiF8x;~2+1&4f zFHSR_PYUG$pk`E|oL|^u_LizBi-0!TD+iIrND4Xkdr0Mx%LGz`0}9j16^?Yj@1xna z$h2}8N!%S!DJ8KT()TE;<_yc+bP(?sF2W9cc>r53xtR_>jxxyxyg6{U$Nz=+Ke)G@ z_n7g)oqf-?cBg`DVRtFdpxv!JGwmMb>9VIOPpds$d2D-zcv#2Oe49F#MO~RnPo^%{ z9&vSO5%!l6#}=G^IhoI}bab+pb{B|=W0Q_jp&1vwtlX41KcMzTOa9B3M%pjGl0+<;r^j>D4PF8G% zF*Jt$p=G~FPZ>qhW7{Ggmc=)&S9QOEm zI}>13=wMSrtijtQ0>G?qgSRUI$Q-xz;7AFvtbFL>bR|;eQL1qbTr_kt+=4^uC zpRLLI1l`mkOwf%&pmFr6r`ENZ{uC0dv-P$R*bNRJiQSBI(M0*wMp?P|NrBLOKZpZ^ z%rW(#&dppKYr4fhH)F*(PmDWg&=v~ICUpi!)r_BkrF%VoFh6V`=RoNf@Os>(cY@2}gdX($_9EiEiaqo_Ri*r#vjW+L4L&t~nHJi_|`zqTZ!OWwM zI&;C8M=$Pn+ZXXj(#KF`zWho|WdZ!j;+CMIi0DF)s`mnHVsk8Ri4rP%L!5D?3CMdR z#F)1ukBl|9;h26?xW&d!h3ARn`?V0e?Qwbc6{Cr!*psjLI!eS&LVxik=*U#p&)*4) zL?vpr=JLUHEy;sy1onlLru!otew>TS6e}Ny?4&KzV}AS^5kdSuPk3(3IPB_zbM7%- ze^sc+P~4*;teiJMC+}?nr`hVVL`y1Rc?-;fyF<`UL>eDKh*U_JJCrb8I;nQ*GSPi0DDk*Fy(QKCdBQDS}W-;-#7 zYqdt~;n>EezwhvbhK(;$exAwX-uz2Y?sGEm=8Ces6((?e#e)&@c8;>Qke3Zu3u~;&Eg) z>*Nj$5IB&-{bwQu9u*wiKn=W{#DyJrwNM6OSnI_|MGbSMyGlo2q#tdVRdZU zpBmaQm6s+mWl5We0m&Q`O!*EpMXBPQ`0XD|_hOMgR=iS%GwhM)J&O(brH(lbC*nqU zsVizera!jRGQS_{iY?_`koYrVSH!lsU->zYdLxL9vrk%nA;wN=t5f)61g)Ad>5Ka! z0o@_D;cH0RI3h@|oB>3c9xYwRvN6+MX`!X(RRG;dSM|1cK>PD-NHjwZTFZBHX@BHw z4My#jbjhnY{6(;{bcBMV10!2?u-b`tm%ggtc=u8SWP|J{npV0^Md~(GT4+B~uEkU* z%Ke-O0rsd;2OF!aMQczkx|7mpA}rPOZ!n*KyE14ks(R>~mv7}Vq!%@GTprq_u0NYM zOyA3|KUX%i{z&cH?ZKSMu_$*OD&+l|eQIEq&zSC=Qbh)b@r`sByp8ryW1CUD8(v;F zn#1t#UaZClz}nQt?V9)EN>Ctgf~A$=-><`jWO#I5kb}M!&2>!G>Gs&Xz0_HH*lz6L z!^5%AU6AQgvAbJvrjq;7=e45C+y+0m5=c5)OcCLrjWq7F^{~v24$IW|K-$fw!Hsa~ zx@tD3MM%{)pr$IJ`%pq=b#ui*UlsMJM7nt_-39B3P*)cbU=|^*%qAQg?-JYm6jk?n zX4$c=Fu!`4*(*}8=(7r!f zEH;Y8*4=T}1pLTY!B(cuVnJV4w`Z!$4}J8v1>4ZS6Oit++!V36n*QCq*B(cC1UHM zzH&97#ts&+p;l3WVY9!Tv<>+;Y&s5`_6NQ1YtwrCOPj_=_psE&fa~bqZItf;lE;`JcSJ|- z1Qr*3?@@wqz=3I=GAfV3g=o)5L=%jV!)&K`KL{%}#s6Wt9CgGo*uikGkTMlI4a^69 z_h5pjhc}6(aYa(Bp?$rX9^6Pv{W#(?)=-DNibxVKnYjOm{6+1bMigHW%*KLb(Z=sGzhnp9n)sLb*pu0@FAEzty z)g6$SyMQfU2530(g&otCORFG5{(CzWC?jo^=C?QCMn>YO_ZxS{tg%(vtIT^ENh<;^ z{*}6xd3?+X#@49(0LQ;8=n09hzTfA65Fg$Z^cX^VhyMa7+hcg@cd68)bqunxd`h&q z{y@2}6uBRd$o*s;x&K-vH?g(c+fi zx2N0;PhIYMv_$SH(emZ~hRFR?MDD-Uk^65|auZw2y#wWDckI4OO9l2kqlAG9C?wu$%!&8^L9xai3O0;~rzb$gV7?JzAI&!~M zB{#9P+&fclhNmufJz667lxX>KUoCRK9FhC^I&%NLN^W9nxv@Ol<1svSx$Dsqxu-9D!GXr z)i=Xam%ARVP~RU!%a1i+f5$$Euti5dQw3iKt_OecDFU?$gX*t@|urcS4O2x?Z5K5ZVwz-xKJogqnm_NK!Uelvc$tnqF^R z%;f}JsAIWjVuCD!(0iu3y6zGpd>e6k_eDUV_Y{S2*`x?d6v9^~MQ|0u<&z>TR|sF7 z6yaoraK)quA5#cln-t+#g|KE)gry4M%1IFpPzYb26k${$d}C6Ck0^w1PKxlN+Q)L$ zqzGe*!nY}ekNze%m1N|BWU4mLNwxIs=7a+t5Enf*R_RgAQ*992<|F>RYgcUl zgWI$N)$mUrxxT>!U-G(&mr0MM?~Mu|LkO4RT1YkGGDe#^TX z{t4!Si8r+mDjRFwz_%AA>yIL`vY`%SWuR8pE0wG-hCD)9Ult*1qeRxfOVmsFHN95? zzvaCO|Gy$D&M^ggt&){}Nv*7RDp?!C`W?z@0%%uiqeRxYL>c%sy+q)*JPZD*$Vyu~ z9yaikK-TihN|Kh4LMTbAu&9j^Nt_@G+cN^cPCrZy^JdNkic}o;;-p#K!04CpVhnJ0zYpC09X~CjWsp+>~b$s ztkD5%1DZ*E6*Z2QPuigkiHNNhwxTogt9sdy{)X+y&zPU%QL5-~9!AOunRrB4)J91r z)&)_f_h^{5svV&X9R)tulTVB4*QSM~9x7`(fL5h8O8CqOqT*g};5WTONT)8(8_4rC zmAA)2`9hwLO9pDAgy&x+>VNQSdQSxYxc4Od^%Tl{@~+{ZljkbM^QjOw!i<_y7 z%WF)3!J~X^4&m0Qz(J)xR(KN5*goujJHz8X{!C%AZ$0nda zsxa+@eue$lZRB&X;&W|?8}j+F5UY(6K0lGDAK};Zt_#yv@iAwm<;_p9!q)$wZ;W_d zY^JeH*zq{3Sm^*Pzrz0&R<}Fwu_G&~h2ESzQ7Hl3{<1GWf#)I_*FufhRiOPV=A&1Q z1FjF7rZ68rm!_;XO7d}|MBRX2)4M6~LyAuamHrn|@Mi$_ZjM4eOUNxz$eD!P3P>G` zq|DU)uPO7hs_wLfsG-d5La{bVWbTltEPhQd7pAS!J=cM^Xo$sr13p+LheUIW2*#Ix zo!f-UZ}1}?7n`%W=G_tF*cjV}Q-Ehq!^wm3%Gq$d8umE^!1r9jJ_(qOYoy3O<^BVbMrIfKvT^-U985T9RQF9zHDHOp zHUjY!QBA7g8fP`}Ab0er4CBJwH?hCiu*+A|xc1}xiu&%oKQ^~X?ZLXhsBjv6sK+pu z--L#$avU1v$_e->|Bi{uOax`JZR9<~zZJbpl9BlGZ&B&^wwQ)}k>?|ixc>KxaKfbe z`d-HIAd*_=KL`c(JE6ms++>+*SQNkk5u0*c!Za$*#+IU!+dzl>!nE+}J$tjg=)SNSJ?R2j3$Gb*)FI@eq(sw9xru;>Yj z5JAyfh)2=ea8UF$@wS@;+^W0*hEnu%J`M51(!W^O4w33jAbI>EVJ&}~0e&kmupR+b z>ipCoAi0#Af-qHfP!c;xi;N<}Tfn0oypKjA*>^KY zIf)%`Z;ZBsTKcqupd7T9nYYV7rX3tsWd|RD!a7k(%OmCO+X0pUVk;wX+QD%M-z9c% zk#7f_g$;|4A$)0~ov38+qwIh?&y5OK0V|EjlfTtofg;!_@Fv8gz?&Z$JfXPZTev7TZLM!aR3GXFDE4&tq8-N|FNj3ua1eQmw(Aq+4 zxVu@TWqIg>R*@Ro#eL>-A1aPNwgc^y2La(w`Wl zH)D7LF18lw&E*UDCWBSUVU05*tCo$n8rtk9Lz|{#s**=ss?v#H$)t?_)wh9)lcmdH z+zi0ag^B3xtopdXlsBBp0PLH=@?kQv3>)O@K9LKjlcA5wo6Oz@&`T5Z)hhXFrq>Db zbu#mXkCiyMM=nH{Ai#-guml0N2!?BGH%Ye?Tr19KZ183*Hg!uRkW(5tt=$aWFcG7X zh_Of{kx102k(;#JOgBu#Xe44R5=kTywP@s4?K*VBM2tov#v+kKB2k-0&e9EUH76Lz z0tHsP#_G^+j&4Yr(ZFUbNJ}IVYYNiRWwyLIB8>cj*iu|R<} ztvay;`HjB>wu&)1&La-)j_+?9RpY!P*okdoV5VafGac&Pwt=e10Ynbt!QBY{FhI*s zK+8LzFRNf2x}vM)LLaonAH?gp{~9muZP*qK{ryshi^zGg8=sTISp8=}XJsyy+mTNt zW^O(f{dLIybQi(X^2;d*UXrBHlXW#TR23;2LLW);8b8obdT^Jj2vPNf?CVrfRo4>A zs0(~`9u^#iVVEWI7Qc@C4i)W4pvNdRy@eaN>|zf;t*Hp5j;3`vL2Fvq><_;sJdol% zftp{~Cicp(e}>hJT?_ahMYo$ob<2R(E#G=qip5*+7<#2OT(7>v*zim-5u(PnGBAKS zRgt2BKHR|*Nf7ALBUe}}elzQ4RGZ$V!7cD7tu={W(up*m zPCreAPiIY%cdL_h*GbY{ljQB{Bs1zHnNgGEA36z|iw`rGaCg-1PTJjBySr$2SM4s; z?(W*%L%VxwcQ5Vkt=)aJyRUZl)9(J-J%H{}!FD`~W0X74*Lf1demW7u$)(r>?9Ylh z#Nei{@}d3MY+~SQRrh%K^u22>PK%poQf5YFsdP4NtrNiEOzCIvm%HFU&9L2NNTb@XeG?vxgz7$c;f#d131c(G(uu!s(orP!w>xRJ zzvYC~COUOuLhACTxJ_yi)9FEsPInhBb^vr}PA+Q&>8(l9k1;*!KCkNw)3f}BhI6=u z0)|Y5Id&wycZfjLY=%zsXJ7L)TWFrn>g%X^+AnW|-_EGe>m<)3xNG&d(4u5poz|S~ z9*rWq4A<-hzRtks9VltQ3wKN?vLn~wm?EG<2lzZ$HNcaOJbmD?j^IAOK}?*`>!j?$ zc2T=_97pVWjf3LilYJ`j$UTEuTo5JXav`NMrsUJvbPbI*r%h;NGjpCsYiPTNAQy#M zqjqI>k96Oe(z8MJXlq>GaXqr#*63us!y!@|u75g)mbz2|ZH*OrR{x9|I|9C3wrTKa z+dUR2{gc?~e*_on>35ot{U)bLvmZGZSH(8EJ;-iNX0uLKXV%G-cH9On0K3U~Ho8s2 zNxRdK!efJ^wBV~Czi6`~P)3qZHd81gI;(GBF4ba1xKTnSiJN75EbLBTM7*As_(CcuG3R^2H5SHftlv6>YtdL`bqJ#sR>V~}!3xZ7qrz&XL%7k7 z^+hg2T4NP+?9zqjBA@5~fM-w0^CQG|eV&Ihq$B{(!@>}FE)GNBxr8Alf#QO?OH&&- zvvlBxcnFb7m1{zM7JCA!})5sN)2 z<3h&t4O{&(?n;+OU@mw*eHjYS#R27Xzg@Z{;{R&IAHs8Zo#^AB!zZKZx_9ExX(JwC z2X;~{K)n*Q1_Tw=WN!XxF#0HQJZ-xWAVneN;?-u{lwgAeILHXwmh?9>Xd6 zk`=Rtvq;#3gyBi+p^fa)$CZ^ZqOKhcZfuv%3UP|>f>d2ZyL6>On+{UNU&FK~8pw|n z#tdTorY^=Eg0Z5H7`^XnY{v%qwM)^8ajsI|Mx=oG+d5KwOJQsXj7ch8s7t%_h?2Pr z*tl+avHLoPh@}?*EJjWLRfX02{#fRGskHr+?QY~>x}=FUH)M}NRM6Pu7j23n?*j={ z-}I2vyWh4f`kpNngSxsk$7;?DcV z@zUOqt+)Y-yRXTe2?w7+p984e3AEEv?uG#6-Hq_;;*z3taUQ^&`OlAFlCcwyW!w@V z`xKv?Nb&CzkTMGcI9-e#EqKiY|a^OfzIlTZlvOoGro=Lu}>0q3VCLFk!tn?iVJ5`<}U)+mHdU%t8L6A%?+ z`ka*j;rp%2ndbC3)1B_($I!jZS@$jw^QC)&l;6Ox{@*O9-iZaZfzw-6P`#0YI)bcw zOE>tehnk%YRD08;3aYpCO+Rk#F;wCP#r0Ha^PEE%%FE>>emUAsrz+z{m7|xFet9&v zwfJ!_<5_m3i(eAPwfb@QtGJ5;B{w7HK{T;hXU@-5+%~>-L)6aVLyT*ibE%5k^+KO! z*6ECte|AnqGfnvj-A<>|DSHWB+)b5suYhT0+vn`B@b(Ot)Wz$VGpO)zh)-9wZUQ<* zbwzBKL7kst6V!%x$Je8fvooEUPSWF83Z9h5Arm~93Ra$s#{m!^jULCL@HBbsvEga< z*tx^g;&E^bPpilA3p|d;(FZ(Pk3$G}+CBE%@N{_WoZ-RCZ}6y&)tTwu0gd^#_1^n6 z0{)balUPuC3q7swyWTgAkCfTIrZp~>W&@;JW6aF*3&qF1hL4SMY$1JT5|2xaJc6$* z`Mi-|G1st^1TCN4Xx)tLhNUv7Ivcu!NG@G?mt6drLu}01NWG(kx)hs<{~tsDeK!8j zfFBKI@CFMecut2nJx2`e49Vy5`iTu7IbDc#PFFdf4%(r zUwsNFpMEydM1tp32Ui8b(}=vfI(Tjn6jJ9QSnR^f>%|`aOyf^CA7aNhpB4K%I6uU> ziT*y>2fQIJNyAQX{BnK$7S0wm^m1**I}LQ&8t}kgMLedr06q5~aH~RXALw z#c4>0nv!WRJdAoO)Zz6LBJ*Fk;f>K1LUKM*@d8vX-MUu+Vxa9qnCIXg#Euisaiwz90DS<@+||`{9~$|G$`TWLXvKe1pS+c47SmvrZi~r-HQpy-hHbF~niXkP z+G47miTjO^X%*7N98zEhhFxrir_r!;$znTvsvg8+NBaESK2(o-EHnQy%lsrPInVbg zpC9vwb`SacN07gGZloEnO3g|oawCaEp#>i-Tka5KKAtEx{!6mN6I4LwB+{t8)E|R9 z>!5GGn|do+y_vl?-h5|74lJ#oVo7Z-tj<@xEVj3%Iz!7xTgR z!YZ_mJSg9p@Z8ZBOM0FZj-6bD9^~`|qsMqF0pQ*yGd4w@Sk=Yx1$hJaKj(=Sa?*T4 z__3zJc_tj>b|WJtX7B+SHuIyvN0Xe#Q@T(B12?@-#=)O?KLYNf5q-DCj2Z4n(Nkz^ zuF$9phtD>w0Yu4?omQoRE=3TjNW>M=D#&iOE!GxODO(nIj(TT^s=+TF`y=>027WlF zC6pPTv3o`v?fj8VDZDKgAKV7TcOh=M!+Xe^;kB2sbP`KnJyzaf&04y62>W#G&0A6C zgD7=O2*3tXvmWyco_i&3=JxuQhCX4@`!ZNAmh9LCXI9+q+$>W%2WG5B7(SZaxoC+X z8Co>eu`xu`aSww|7+`L7XUd=qD$>%Ma#U^ho$v#_QElQmJY<5x>$$uAD%;StkLAxpkAx1r8iu}i>?I?|LfgDn;e z%0}kFRZd4B<@4rBj;Z1oYThafD>;&aMvu8X-#ECRCeSoEjRaC8AhINp6{sYl-A5HQ zrQ!?a(Te$FLQH{3(a-O<{r33dkn=h2>&XlrW#+}gVVe7g-Yr9KjwhRF>k7@VVZ4_Q z4o-kxKA5)~2a`rJr}!ljV2WMDL##qU30VhL#{Dg2aH8jX+Ya2O`qQu#yb~vFIBA}rtqjW^t;Ky0=5P4sZYz` z>$_uk&i!Iga1x8I@Hb5(+YkAAg#Y)UWLedTt>%YPHciDqp(!U*bf`703Z>A-L5Gj+ zIgQ0O#_60R?inYIw&Q;{-+0@CgMj~)eB*+o+VXDp3*3~BX&DL}BeqD1HwQ&-N`=rx zZU#kes$R0Wy3E-TpxD(IBsn-UQu0!!^$K5)K<@VqKo3H0{O=n9?4Etd)^PF8CHGto zqkZd@x@Jk)agwqwT?alb)&SwQkG zpJdSQe+KgX4Rt)1&ZA?_$t6k0N%N)pc_+>q8Nb{b9=3-%l7*JdEH=D@vh^sJ$)^YB zrwC-*KPVfS@&s;T54967m0#3^M4Ota;T+W1hV~OMj35b14jZ{N`q9l2;5Bl#jFqu= z9eWz`7?q!*Axq<7B7GCy?=V=sgzn@q0!_DO6M=1E=y0nS;t4$~TrjYIh;df&-zk3xwLcwqE zdi-kB3BM_%dr|n^RL$=`#g9<%+ovAC+H}Hi3h7=Fem7V1TdVjH3V!?6<5!zb_)Q_* z%fj!LYJO;VSbl_p-+uM@)ut1EQ%LuB;dg5_zdIB^LcwqUdi-kB3BM_%dqw#DqMF~G ziXWliheff8_F0=w_)Q_*tHSS>)%>iS5P2)qBCVqlZ`4vbE;Z}OO z?oDWJ@ti091HaKESPEg>dYo2+ay%*`x@q3IQjSCy^nIMMUHfN7yGp zNGSx|LNE!!8cdIY0*=l{5d8j){q$?Fqw-A~%KZKEF0Ryw3c@=cP6p7b)JDl251(LE zesv2j4)9JAH2&twzX!QBRz(811?AK*YCPwif>1=ymZ{zw&IIIFXABOC?QpTWtC8af9@u|_dVZl*^!yV%t~Ei=KLyaL z)J93JeilUGX~*lsfaTr5Kz=nEWy8BpBKVstzXe7p0STZ4ejY~Qj+z@IAw1c66M~Vv z_yq!)DLXd6#r{Frzt>LL%RhnR9nwZw`5X5>g5NsHnf45%eUoWDNAmq#$SJfh=mfNC zqa@!iGAh5?#&g8p^Mc0TT={H}L+&Ji+`R9%6h1>on>KW zLmeI`%BhVK9UdPPFLaR1P*)ULue!-;@VZ>!VpAUF#|=FhX8`!Cb(8oWIq{sc$c!D zr*!*rn9)$TuZS*cqeQo_GAh41&3f~9LE~?(e5ul{1R&6B07hj98Zqkc^N?Zve<}m( zNFar(BV=wzB~f*Rvbz43^k=8da(JR2>u2OlJhilO9zsEeh zt@POH1Q`zXm<7Cdm8P93)ioWHqpQ=7C+5`YQh!zjGk z>vcwh39l;}w7l+U(Dr(w!K610!HLCH7?CGP%bS2NI?SOEDa_(#08WgOEY6asVf@Cu z&FRmt?qilV6*zx$qvU@m`2s683#8LI*0tg?(4g!Ugw@(lN?(W3hH-Ml=J~j+k-m)M7+(m!8@yf?7CSEw=BsbNPNwnG&Ftx9c_v_nY7 zz5`om4DU2S<8Q8fmKwE70R6KUMvW)jL=txV$q1-f-&ng6usVeV8Cg#Mhq*6-ldGuK z@44M`dzrPTC*70DGD9GtGfM~)mV_-~M-&8Kz)4ubCJ;b6bjRg!r!k;{ViE`nXhekI z4$30nuDGxXD8>a;2#d>e*ZF@YCCmmdk()2 zdA&z@{XiHxw$@8{y@g(dby)s#sy9n8e)E;DD6ay5*IPrcjeY&qO#qv{lhFQX zhK?=hbUh83uigf)!FC@m2<$`6rGDn}!xk~$%Oi6A%Ib&k((~Al^4ckR^|`Fg zPVbIpN6LgcY7w=QE5pJIE8jbStoM@2hXz571bYaa>Qxeq z-+bkhtb9pN093xKL$8f}=Txt;z<#{g7^_}uVNg5Y1<`05qkJ|=lL%ALNCs=2mQk~ZgRjg3tDIi_1)=Na5rkAmx;4y4mu?$4M#kZmC z>Dy3njT1bQm7nUILIBuMGDKn{i*GgIlf&a#O@cAhx0&p7b!ao8ZK|31c%}ARuM5j8 z%*S~^x?Zi9R_65gMo7w1lx zfH~D40m9sAKi8uxSy`$Q7eMR_&k7}lo0A*$=+G91m0SN|bofStOo7Kq=4;f>SBm*s zruljfX&B03zFrV+YP}?1FVc(o!rZ&hCZ2l487{fnef>m|JYHSofv&U6>nwUO&T3!dM6s$6p*s+*VcNCHy7mRaloJPmToRH(%MTJP81vn!~tq^=>f7 z_xp+#^6+Wp;h!PLVR>$qT-ACB4=>Tn^c9_C?`PztURE+34p#L2HtkMuNa|< z)|W2g`bx7OwK+BgvTa4a3YqrAaKfE=2A)mEKF&xO?!#x8-XKhS^APrWcGd)Dd%g`} zQTW-OAZ+D!%s?@qy*^ZsLy47utoIU$t)f?9T`Mi-7fUdH^OeuiVxIH_*oYZfIrKvz zUSdHV@!~KoO%>p*+7%hYHiF-FmMgi$6=dUbS??8aiMkbV=_+H&r2$aGl}#U3HhllGw^WYVA{NKZ?X;T5i=q6_?pGli(n$Fbj zNY=Gi6pQ7^=5h1!ZR8`%e9Y7~|45kWum(Q{r0dmsiOe4tuSfCCSD&EU@CrM>Q~f5< zErTb!9$m=_tVK4cu`x%_-T|j7^petGVg;rz% z0y*DHFH3CW)rnMWVOuQL4PN7`U&%Yb9mr%)9(@_Wr-*yF-F(Z!G{U$Z?oz|O;Bve4 zLs(eE{XQvgFW|7fPL0{JHv1ITW`{4%y1X2xZ^gdd_@?L0#doiH^NE=^WAFt0mgY^# zcJ^NbK^^$fR@BN)v12UQSGVa54=>yRY|0x3eOn}411!EDqvsIrPUY5?MJpxTvE&xp zt1`Tzn9Is|vF%OR*R^g8>RJvL=E!O2tel4CT|Cf3u#w#1os8+hBe+p=qh1v^(uE6E z30>gC+^&q?hW8Y9I_g2gcmcaMaU+jh1eeWRP9py9N>UxUcQBPVq`O+SPB|2U>S{@O zL*TDUOCy2#1ZYYmupa^13JL5_fR--;3jq{2(}G3AAu)@H`7SZE84_~jQb0{%SF&1rs z#2gl2Xa*$aaAKZj7}_q0IU=A#!y++95+iw~m5-RCh>^U~z(>r{#QczSXxr;*$-33! z;K1h7l(ztW>sRJ*t5IM7`~tq62jcQqoXY6yKk#`}vW1%x0?j}0Gk}0TXx<+9zG}(U zz<1$pT@uK)R@UJROZAheSJ~FS&e5D)yKB7G)9WtvYHi?k_xN7-H1aA`_F@P3=|+AP zN$lRxYhh-xeA4Ffb$lK;ym$>b_H)+59fplOdS&Y&V=OsBVpPsT>oFOf9?2)dtYN@4 z4M;cg2uYh5N?HZ=vXE9m*OUGVxn5i^kTnfFl1pc&I=c zcuchmStMl@a_`F_DJ^7XXRuiQe;8@}-b`*xDK0>3#MN0`EiT>=$C3RvH=_e{bGXwC z!)q_T>3Jjg?sXtvStfGc?hBVPOb&x=Pd2B6EMCk4Mh4j>`@!wtChA#Ep-ZOgW#@W^Qq4^_C?wv@LoLRKH>&?WE;>12Kw=g;W+#vx^m(F$@ohs$M5}|Mx&4Mh&N+7?X z`Uoftwv?Y>Vad_;Y@6B}AEn1Zen@CaayXh;pHP198HNlBk{)^UyMCn{lE#&MagU>D z6$_OR1t1QbRV>~q#NMHb^+$!+psQF$REYg)6)Twvv2|3j@`!69hxTB_u?pYTRPi{A zyYMu0k`si%OE2!iMF=yFUimnh+9GTw3{*~9O-h$R_bs00#@t1>z{^rbO>KR)IS5bX z-p~2-b!ZX6mO8Y^;)Oc22<62(v`FWNYhM6nq+M85u6*E;>>RZ& zTb-j;Ua%H+5m;i9Nleg1pjMaw*^VM!>~XV9H)wD4wxZY-3lBxPgGnb8bIxh=Q?Ui;-Zn~99(d_YOs3(XNYQZ>0G1?a50~I*k*J|ORjfiF$^YubWI@CC$c+s!y z@S#?io*t#T=4(`R4l{aNNVNf8wKglfQe~~HqiU&eMobZPK-FeRt${8m_z6_O^vqqI z2euC8A?00&B3-|7Xa-A!?p`0&yDS{3yR@iXCDw z)ZK6wk3N@Tx)62(=t6#ni{!$)V&+1eThN}9=qIMa4QCVYe;dQyF<6g-jplgvEwIR} z0LJx}g9v((d|MZK{nG*Di>uI=NUK$Zb^x|}=2@dQ*wRwl(sjX(bDCl!)m8MH%!_I=iN_DE(LvRPj_&qIfe?r%oas zhO+kCDdoc8DwMxyn^FkbRR0>3!n4>!@biGf2w!I z&{Dl|E;HDh#Z*+nZdgmhn@nDEa$A6pAAW|X^*}#U6@A+;lYHfRN{;F_1v=OYW>2Ld zLPDkban=E1JU~-wK}s+P)ukjC2>AFQr54roQ!^vQ5NOfqzLRl$Fc6pM(##m{^dDLl zptWE*0nmc=`7Yv}p^T{ik$Rxxu1pc4AvrgYkjN5tc&u3TA=D4eRV#7@Q&wHB$|)KZFRNaFIb6Fjbnb?0(FCHQ6GbaCuy(a; zcBoym9S1dWQ#I*~JlLqA(QIiLE8;1#Os+HC6Ew+eXK1{P1j^chvY|b*K?not{fo~Nc;no}G2ib*+A z23>X;bcL4JNT8e@C>I)IBZ0c@K;5Bz)(<4g?UYF4$WBphg)`lBc8WB%B`byskwDhW z*EE%(0aR1YO7L$kkczpGV z9JO8V3?Wy!8z-oFXGsBBAPUdQo{gWK{BqoP7Rm#}EzIk)1Zju{FO(aOlc^DMFb-!JLk3I&Ai# zJ0%ufj&3#KZDN)W0GZjjPRTOvgIL%OFOwq(o$|^ht)N&rf|(3C!cZ!lh=6kGx{PH9 z59`Wm#(24Jn6c!7xyV??&X@v1E}J%9n$4_c^FCxVYiF}Axvs%QU0s@73uv^236}7l zR|Zf1Vl~80Qvpq-OH=tWQt7f&@o&Hgg!vO(5So(Ha=F~#^sby7m&>)<@@Xv{jP&Nf zPfo@C7&LSCsW`kB*r|^frOoT|=l{2@M>22UJJY#E;?s zq4@tx{BOs9{t?gO=6Td7@oVG%0Qe~2_d_5XeoUu=s z@OVEhLg!HUZ2}H=5e4D>Tl7zldo)`*-n}!}L!nbH(zY}(4fi)-{XI5S+Hk-23Ln6t zGP;9>I1C)?&Lu1VxhG6Esbp#+bdbtkwDplnHYLQ;-pvSJCCLDDJ2B_jm^+AhosIb< zG3VNt+ki=XACd2e<@-_jehA+R?}n|OVF&*d(AD#7%qC!7U&OoInd%A~|3QX4)yCWh zj2c}pw$XPp-~~439%3%EF}D(Px{bM$nDcGSUBs-kF`p*pA{%orFv`N~ZS*Y+c$$s* z7%^wsm`@OMwvG8XF=yGB&j6$3SJ~+M19S=KwD(!Sy!Vp#0BLz<6YFvqK&qF(pAY8D zGkA}PZ1Xkr)Off|taG_&p_dcs_l4QS$m4bwC_VV~sGHi{vdQ6&Y-+1}DJoTEG1{EW zOPA1r8&bN9Fy6XDD`oz#3>EPRx@$Gn*}1fIpB5_Xit%21|J@sS918L#AJrGp4$v*6 zwKXFllMLR!mU};V>FVNU+}VpE&YYjU(>dg~jx<5PJ(d0TbRXN(=O9Jz3lyz1D#YWv zZ^rBsLw^cm0Al$SRUp)&=tjb8zkZ=i(7gG2jkiDt!&q8|w;v35rNzQ`!7qEYnMiDo^Gq8}uhl{Jd~2GOjs z?wGV{JJVmLAK#v6;P+Mf@x6xzeh<)(Z%8!o`x^cD-a`Ywuh5TgR@7BnocA}?Ha!eO z@K$%sueEr#g>|+yr8RaDRTHb?`H%BjsFYPlPp`+bih8V@!~KmtwdZAs#{Lr7Ey3{X zhOgv88A}%5tooYnYyM}`n^$XH=G($+Syx3z|HtwFI1Hb7cRuzz{Qn2wg$qHaD^@7xAf>JtjxNbQ7hZ|HW^q-vbr`p7 zXEAQs$YR{Gg~hnJd1PUeP|WW_ig$w9?c)(=3IZPCuH*4Ep*Yp&v41;reMmjU7NIz8 zM=36@r^wqDx?+JGcb><=3oIe-0&>&J@uTqS)7p2U2iHe2FhF420MfsXhz{{Bxd&<`u)i z;jA2sLA$>aJM}CMOLEJ_JAkbBlKp@@7K8n)FLEm&&%n5P5=M{37y$cOuMWL7cEt5C zDv!SSA%F{yqppj3ur=z5%JoqXR(m~U%40SbDYgOixHjssgdTd(bVJmKwin}bUDSvB z&-AeAyQ3cANzwO2J;I~1*GD}LBPltcdPCHMHWu}`G3voyMvvFNH|jytigNY7sD~U> zT^q%PM^!gQJ;KAP?~i(f$5n5Fhp7>x1qkzWZglza9`<~FevM?)}1SaaIKf_ zYo%9V9j?!Hs+UVJe)ARZ!mYXjpzgda^uoEAw*zXx59c!b2JMfxVh!PyN&ZTc;rZ>- zM<;GJqVI9`l%J{XhI-t*fF^H-8k+5R{Ea6{@0ysHj$^4||SD44<*xo@Nxz;j- zZi~O#ZM}73asj=rUO%5UJ>FDDdi+&-SM3x%Zr3F}{wh5@T|a^3{C+hRYs?=P!by+6 zO7DZ)P0x)j2;|2F^&vdFz+a))-dwtELW+Lbc2D=^7nl3V`$Wf!n$?ERk6U)QR+&^; z7^qgI!=RK7CES)RhgbL>F&=!BB{H{J7RcPVw+6$A?0B*xx+OePk9!Tbw54>CC6Nbs z=PLPgVtd41U5Qaw!#qj(>#yODb~Ex98qIwE0u1>(BIIwgK1ew}e_=$obYu;GjNFhv zf4&z--|{XpjK8?Yok4oL$5CY9&2f)AhZOTg*i47c#g(93wNnp`039>7*zxYi+;7&I zE%zU^Y`MX-lGWICA?T&|Zx*48?FRY9J?`u};6-7P%Xzp}zjzFi zXi3hxxw4kQ2|?CWhuaV!Md4EZgnr?^ztGYuu8AT z2OhMO)8j4lcqPb}UWHF+YJoNVdW%EhxJouHq_CY_mgyVm=Z$pkvf^>%GiC0!!^I%H z&n}yqQhFAN&f#0z4+1eT3-4-*1Bi!wggAhBm?N?$EjS=g}% ze+(&qn2b~@bWOsdOYhZ8Cgb+3<1Zd>dGZ)P*-fd!ldlMY((x#IJWJjq&*QeG^YKmT zLSijLY)Y424bRmswry#-U*Hrej$ya_ItXY$A({FNwD+|%c$PI$#l$;-4QQEynOope z+1Mvgo|RSzBlF}_pe^ET;lt>^08T6jyTgL8vDHl_OITXbyrxP6aF%lT_{M}ZD*F#0 zwKyg$Lk>$Y7AwC6oK+4+0j>Eagj0Sj03Rbbx+ z!Gn+SNqvXlRROq};CBM>y9B4b!VmmCg0Bm}?-RT;0DnO6Zvpre!NZUB<33GrT>$=& z;8OwkBZ9lV(hvM&f)@thGX(Doz-I}*6o6X@zT#DW+~)|sI{=?2_-p{aKyc6F{J<{~ zyd(gBLhuU#_)~(-$NPbQM)1`E_;Z5q3&8&(_>%zq1;OE0`*D9s@J#{uD}rAQz+V$= zIl&M78-gbV;BN_jFaUoCaNs(JgPqxGcLJ(0QW6td}ewm_y#)a`^Ji1M?7w1I$|vXJVXV?E^9x4zkYc z`?*2mRQWE?#3Nu!!g1et;j)vP<4OL&>h~%%3XFBlu{#hSJMpuZEdi$dO9-VPtsnOU zIQoh#%-|#8Qj;+ zYw+O(dADFR2!2AVi7f&c?QsCQ-bs@8Rf^WPVG~6^$z$UZ7`SIk2zW$LU ze=gg5CV#Nki$87iI{A~Cm&Om?YRC-g6BvAJ>YMJ+$qBPPrQ1oAaEWAQj#F-T{nu3E z2vu0NVR))jT#s51&kJ1o6xeQ+^{x5ry<7@y?Nlu={7UHO1_#N4?-4JgyHGDIdIC zhG&JcAgFID6v(o+d8jjg7ewD_t48U2V+GvHOsVxsWHt7YfgvKALgz8?g6kI1$IQ zE^)NrWgB{zFT*wOZrk8%oHT?w8{0EBw-r7_zv!l3*&43lQ-dl0xb*@ zVtKTsFHT)B^0DO59`%94LI?v(A!xr8kF7=?o|gOk-3}asgj7c}Zbv3?r2|(ga3up* zv+ru}K(zKYep>ix=cg5)1pYVUze9wJPrUzz`N<@nh;au-obreGj^z)bGmsz7?YIs; z0GSr&V<6AC9r_|mgG<(*}7%kmiU}4F$q%|1-iHlpLlUOzK(pSRu0EZ zq;*R(f^`q124YQS@5^qx@k%0gi+jZOI7Z#n?+-(|gGkpYodP12Lm>$EAA91dozkhm zjLBi2ekP!Z5>B+ZrK1o|cG_sXktdmvY0x*W0=*%jcQiY{G~W1{^BTXsIji$v0k+tM zh+a7jL|fd_0dV7Sp9QFSn4o1o{7n#Q?Q)6-0bj&f8NMs%6b~eH5J<|rHJL7*j@XDY z7g2`4v1Lj&@rD#=bFpLy8&pf+Bl8R<(yG_ak1bgx*Gq^Vc_nxp29NT_eZ~>}vn5&T z2dUPSPD@@P^N=>TR|WuSrD;*L(CP}(A+nLC9nr(!oLX-0h^=Cid@|^tB9o6h-4fPU zGILx}3-hw^uT(%Ds2!q=GLRp~Fz#=dNBMaUW=qza2hTtw#2w+p;*M}^S*pL2yf)rS zkX=2Acza2D@o0LO;xIj8ksj35`t)k!NqUorhioE$iD-JyX?nyWz0pSL)y9+bCJ}FM zNv}DY-WE-dSfsbCQF^uUB)v(*89y zNbi(J>D9)Q^d=E+A4xA2P47ibk65I4YNPaO<4Jmxh_|n#myV|QQ%#RpqzA2_zJAum zlk_Ht$2;fWiT1}oGshf@f&SJhzeHlrSd+MaO?SNd5;SGU<5%v@@Bc^>@LMqq*f+M@ z0TLRZZQKBlqjv^{)<^)34_w#f`oVsXLuH2Ei;>1syrCYhAG84JdbM7%e$Xmj8GQZw z2Ri~xyxJMK6V<}lP&nx_U0~c&q`?ilE z5BoC@P@gfzbu?YJ1dieg^n#_iaN+r^I!wG4gR6m(L5M4q4J54 zO66I-;`buC(n%^zSYj9RE+wzlOG>OHUa!YDUR@Qqaa|AGR+%JA?|`XFc*Wpq%NK(q zgzCgiZnO*@Mwmq`gM6>7LtWb)Pz$+wH;}GZ>m^*hC-4&6PW5_$H{e@*15&Hr7{GD8 z(Ch{x5~YVRey>}dfW_oGAfRCkxE@`}3NG*93YGx81mzKq^!t(4d+Dz?p)mT$6IQlO zRXo=zKM7HH*hQdK68U8Lorzy)7^cqQTB*JzxN-F`JdCJqH^?+pj@n{$yPAsBe8w;4 zpNGY4(mSsvy`-EX8Eo#q0v<0zs?_0*1!=2Y**TkyOIJiSv5|PX+$}x^32VmUrp{*m zBdGb5T|)XC=v{t$Ef*0$qgYOxFc-jE@P>3vbBM@#dpMdGa>TM^J}rJGlX9eDn0%fP zQbkWz22{QRAFVb%hI#cX64U-&M8@%)Gf9l^)jYme`vlS44m{wC`mdtz zNQFRqniQ`FtKvsKuJr+2i#9Hg?e6$~PWc9qi1Zofyu5jL%J+mRQr0&{(sRpC!aGus zIxmtTqx=JU+D+H?e1@L5$1>=iZO<3!nP}+glz#zF6@pVvER76yXd7UEHQBsOc;CkFX(Z{6$gdkETAe038P zE-c(~k~DOZ{<_|JG)oWL)6s0jc`ck58}|mdWn;8~uLE3~j~U69JS-%G=)$lIl{&0{ zCYtjT-AmCCTYS8~m!df~H-SZb;o%bU;CfUMJt~7jzBN^TFItq`%(m#gprHz2expaF zPlDiNv?2=@vUo69P;`$$FN9eI8*iyU&a_a&&A9JvFpf25H8m{S2=kXZv4}w2C&AAYIw=L0@R0Y~|?(uQID5GY|LfX#DPs@Mgi98B}s6wc?S zb2GCu`?AZ9goI*mMaw-DJ;vYg|3Sd;>6zDroh-CVEW%@)hTi&>(+>Gz08O(b(v>V` zm3rj~$R?MWj`wbtbYc53C6aB?pnAHT58al&g;3a4+=i1pR(WRI%$`X9eO!$XEBd|4 z49|UMN31Eb$OC#~yRc8CZ&+%yGSTr}_cm2xghfE8g-U+zxn33xQ_gK&u?mHvg zcVx3Z_qZ)Cl6sfVeJ2jS;`&0Hdon}rJ4$=Zv;%AU-S`|eVa z+gTk@!8z{b%9lc(nK|`Xrn_m1&1yt;j%ACy@QrX}Ml-Kh1D&ipkWRso7~h z_tUe}BdJgKx$gz{z1dzrU2;!m$o8TO@Aa-`CmgWXIqycc$Fn82lfd-MZrjzc@Z+Y24uNj_?@B!DofB$IUX&Y!?>D~7S=^vGK#PMb2GZG${CmfqJ!yzEhLxZS;Q;ACGwQo z*jjlOxWe|4?_H?tiL#I^239t$^gOsk9MQAUF4=(zJ6Y;xIpCg% z@K6D}bN^5Q_FXamL;GVd!2(1l5Q*NY#n`yV+!7nm^@bnBrv6^fB;aP9rm6F^3_0#X z6OUn$0rDOJX*_SAa-DeTEaYlH)4eq95;7e)AHXv6pMff2qL+VG8~z-d*&ljpk;E#Z4ow0yp?sE2lUkj3|T z4fsAd!Z$-3zE2?EgeT8;BU-}uq-gnkA1!dSsCa7!V^XNlJt`0`P;0BEkB8@TZ(-1z~33kCvryn0UHR%_eYfa@}Y^(9B%-+dMN zyp(0&dfyAP9rF1D5m2p{@cEQ@eIH+(C;d?X7%~4aKqwzi2XLbLW4P;hay^pr7*6Z* zb&%t(;jgfZ*}K%~TQWr|jDE2EuWhZkjP>G;s2Av0tq^gMLFmi&5N{Y4d1l#s7{AA{ zY+j{hbAKqYuxvgDBwm-U@shIneBgzu@&y4tgD)O7{GtG##kW~&`v05EmM*6t3x22H#lcjcA81=|X4zB|Ql=ZP3kw;sQfbIG!}!Ll-wfl*u|i$(_4f_kgJW4Z9FZtp4k^mL3PZSB zsB{IO>gVBsQ(*X(-iInThwUU0D}lEY$lDqmmcZuL%BMJ#GgML+bxAMTEwOQ=;&L9T zxB!|-#&L^Bfo#%2RXB0{1@3Hk>cu73B04d1 z0t}v=5X>IHRIf3>ECTBcusg%ja8q4xFniMbIsn*Fb`jE#?Aco5Br8?qrL-6y6fE^N z?qPV1@K4Qa5xefn>nWS~>T{3_ye)JgNGksqhy4H9@Lyqi*PFyICh%?plmIAi?=hG% zy>BqUDgrke;1UAw1>mMj7uRxqwc}RaPOgt3*W~#&F!>)L&o>4inVw9Bf zyt1C>CGZS*K7xSH^Wg-1c8?<9vwJ83pWVXF(0jPN2Z!mugFgF>@Ul`#708klL)r$3l zj_dsq0lYusldQaz5oLbM+%pBtcJYIWp5M_Y;X_Z{w)Z95Kyx6X3Bk$FZY=c>T5%}bE|&*4TI9(iQHZ9 z>!?ps9~OQWl_snbS_~=gVb)5`O3Hf#fL003aLRi$z^Lp~-ZvRR3oPY5MnFp{qEX`J}wf1hj-x-ggO5!bVDVZ@PFE zZ+vsTuOW>05I(k~*taHP4p8DZiAL0HEyOWiZY3zS{t9;C+w5BUzIGL7=nx4Svk<6ySafoJv!Ns=(t94E#Rw6Ay5|Cr$^h0QWoMIDVlPaJV&%pGl(e zzftS;e*wbs<*)IRta!}JLCnih&Lz}c*78$)hPw)ZA=7L52{0V9*76fzI3ld&M=@+4 z(63^rh)mdQ9Z%XTPX81)gYKM}vQ-`0ZFw`aYG}BQ#}*3}w|sjq5jgenW~{1gO7$AV zw4^~yH;5UI$7XM^q6Cv&_C#y>37BJ3Tg#7Pz!&-Boi4)P7>m^V04m^xj=FEAyK5p| zSueJaSEW3H#m}`LmwW{bvw5xMN7=){+OL870M60Q03X=AD@8P(&k?U_t9q`i6`M2=q5iBGlt1)DzKA zL?e`75$ap?4U-TM=S(qQm;-~?z+re)lSfN&b-Z;7mG^gWa5@$Bi|2YOc&jGU>P#(E zj)8#lmH!0TmagoM^Zz)&^gGlrtgfG%ZN9A3gvrI5pi>WJQdma66yXMs2may!--FA; z-FR_5n!}Lm;yBgdJnrfoEF#pZAXFPeC5qP|)SN*8mtEp}&B@~8`z{=LMcT7-?(o$( z_OU12TQcb(D8N@C?Ps=3%caVH2UppYEHBDFFFhHx<=r47kbC?@>Ej&C$S=oWomI zx&=Y-Dl<0lXXaeC8kAC{Do8E*F<3D0Wn@0l&FAg7mElONw8z%qKQ`pzxuI#xj!eS= z{$r=(KQ>UvFWn>fkD4Gb4{~PRzU~F1>3C&tR1cKzIdD#8i8l`}gY!IGHx1|Ua6XJ4 z2hPLcT!<6ea4v-NZyI(O&Z{9tU}wR(53Ue{vrsObjPgmW?S{zY#sMuKY_0CXV&q&T zIS1>IrJE45Fi^e|flVPn{ODiY*cTw<(;?%28cXC;c?+`6Q)tCCaNsVvMVG;AYwog3 zpo$$poxHE5f_^G9yZl?w%NNlp!2K7v3&!2_TBf7;7PzMx_Y}B$jk^!-X~sPW_jKdl z7w#Fxy%_G9#{CMo@wTlJ{SN{e0k-DWkTJtwwi#FF{u2x>dQ@bO*@Rxo){Ng9Ch>pa z1_Z)hxqj&Ku?5HF@tVNkfq9&zn(JbVOFShPoXg5!;2?CM#anVN%fAl`iI3u zjw9ca^K|O|QlVw=mFD0R*6#D=70AIRyvXR_(^G!GLQ|2jIir}Aj#mq7Fk5~W0rcpa zqLM>N?Af~o#R}^P&xld6TY++{T*1R_a4QjzjM(fhE7VAt^%g?4t#R%;2d;8JVmxT*@R2?(xrC-UAYyTd3dSh zP%4hDgY^rc`AdT~~6;sx?9o)axIZOKiC-$1yg17r; z%i^&D>fag2Tf9e3;uWOhtV~10z@ffh&x)-oA57k70O81}E8Ru$G32FqHJEKl=9=@! z2s+2Ci=+PHohrTyUec$fig`FoGZ7yr(MH+cv(4D0^Q581?l?k?I~G8V+ZEbe>8;Zt zwX{VIS`DAqRgR?EIp#Z)c;P5YSWpeY@JQVwBS|!ct!vm-QZb5rO^-1`Z^*xADxgH-_ z%HD&d2AcK(=P@^y?(olHcE!@ubf1e8yFNDkZoQ(|i7k$;eUBe#4m2n!<-1; z#Lz)FuRW}8cVkOD>AjDf-$4Gl3}kRO0>{A?D_o3;GI)gjD98CFsH10tW_~=`9{{=4 z%N{pVU{CG&@WYkspx%l{Q!DR-L$0Qnlfu;$+*VTD2o!oYj#xt(T;qbKa~_(c-{J77 z)$itW$%X8m9kjUjBYX~5k*7+3#X0h!)98XKl8JYvtj*cwF%~AWU<&gl#A5!o9Ggp* zZ-8GkG|#MKTpwh3?z}d-z>M-kwLyiZ_EhNOM&&A+(g#3&@d^}d`R@qtN=H}DEH~Au zAn#TUG!>BpXa(sOzf9X>>4Lv^>BiXnhk492hIe3`*x?9y4*P}5%^;m|D;Gko!u3MM z8&ErvrHcSER8i3g;#i5Jl(aNHwo z6He(Il%am*>^O5i>vdYUIY+=H%dvCGTlrG3RXUZS%QqqY@?H3pZXt)|#3_J#@DVuf z;b1E+u~Ho?xDqCHm8tNo^^E$8{FT^jFy*!T-?JE%Y;Gf z2hX^NcEAH=SCnI`20IlTyN!XSqeMz)3wsxl6X8^HhY>dJoq#YyxT&{r1|e9q6GN!s zT)2!02KGyXK?M*Dtb+l@5e)2c0cMF{U?~bP31FP^$>0)dUAil6b9CK4il}?+X0AM*dx)|5zjceCXdOzP63>$bJ+97JPjUdl}8c%B7DO5CoR?DVH4KC6)Lgv1+*-U9E!otho`nG$*D(xUmgI}2ZN*Jtm?a^d zcQOpFRpaZ2?RJ=x!!TC|VLI^Ughl6~FwDCc1{bfnn{%CAopzur!a!@oKv_HtVNqHb za{X=wlALwnH3utazX=Il%P_pJG?&983sx8>q_ZIi(~Y+ktT68l>8uOVn$k7J4s%Bs zW_=JQ-<7w+{6K01_RU3V#5o}c*V9X?L7}T)m*Zt&m>U>I%DShk#}4zJFwBh%^Bv}P zYS&adOy|BVYn(pt+vBwhfEYWRh@eX~b@Dwx_I0e-oI|f6m6VA7KVb9%E{QH1H9709 zy_G6o0Zr9Zr`1F!*IwygFKp1q2HcI2PMDfgz6)N`B;u+?b?a{tSCzS?W=>C2gZjW0 zE_=(S@_Y`ybQ^~v(_|lsjsQNoF0;=goQx%gr$4j%`Va`2?yUb*4njB=;Y+8yj^eTq z8wG(K$$po39R)hZPSx(&uS2I6_h2kXy+oIt>+R~bGyJL%Of)#A89p8%)iKypBVu_* zu&2~uj{uK$+`l6fPJ2jqd9$94 zt{-DY*9_a^zk?VvyJp%RtwD^wu0Gr2`<-C;XP*u-dj>Kf>)6Vi6yd-|>@rqmgJWmp zz@W-VgW=A!MC>foK>h_$p2Rux4rdIv0Mw5eJcACuUp4Z3TK#ZiKwUhOoTNv)DgSEI zduyXH#-#VQMt&x}w>R<|LUDmlytOa^FY(wGWd){F7>qKwuJEmxwN$z70PaW8UaEX; z2<~6g{T+2Lz`5Tlw>1DihMjfQ@2dNEuo6|jr*1sp<5s_~Zaie*R)3)GeHrE{b&p|+ zSbbXEXW@)r^@r+y6FQpekJSAYzHjnlb-xmovigj=pCbKd)qN-9Zc+E;Fj`fgqr38& zIdDD?CvM>J$ZiRT4!Qd#Ui~=(c>E4QC&y!xE^e~AgFi5+5)FfDy!tbSQeU764Y0nP z>dS0*I@Y|p>rf3@P_q6FjW05`$FJ;Y#8$-HkwE2c2)J|+K2g6<(C1TO(3a*%-aRje@QF8K*dUxxVSPC;iJ$IIg4eiHk z+h~V%VrL`YIJae`jRZc0WHT-qshotWfh{j`&NLaX&c>-w-0>O|iaZ%z#nViQq-zeL zCJWWMK3o)soK=M_D~`NkxdLT1|q}xTH0z!G15&GKaN0K=48tMglydsr^StBn{V0T z6mY|@FWZBT3S~PJykLJ;RJJVAj9Z+Aer3pU2f7DN_lq5@nzE%Q@s(^f1zLxc^l}ZDi6T32#fk)t^Y;4Kk+#KezSP_ z1+rkBk|RWebHyMB>s>P}4$Ux1(gsA<6Q58I%{-v{cI>p{H& zJ9MVXU>dkk%0b;Q5pixaQ@{6oW^DfPdIpE>aTd~iJ<`lykcrbiolT`Tw!q-Q?2bzL zrD+iQCD%o*D)BSOmVMs+U_|yX-3dCZd*y49w@kbr;F1eQ_9)*1&_JiGZG+KQE(k2& zO9{|elo`B~-kmW!Fd#ed7sJ5EAuy)!R$xMQ;BSP1`{Vfw_MT>9?A6uLRJ;?pDnA~C za0l**m+k^CA>ZN)lr)-G1bH|7hny(`dFGdcF8a{s7*>8`7fV?!!Og~a6}H>)=)y~= zcu1VC-W9_whDo(1Qrwcg8);jf0VLR0z(~LO|v~> z3Zs?>(x~;g>=y{+ztvN`7c9@5mxdAMYbc+=BpkTG*lkULqvb2WQ4g|lsdAyoFUK9w zCL^PccPJRjcQtvx15vzD1!~wDskkxXiuVJRzF@TY8UC68ht~z@SzZ&wD0*Eiu}PlQab4>FBh{RTOZ7kClg`!xWUc_p^^ zS>#8FEr4ecw>)F96U2(RTHBoyzDDHAo0SeKIgO;tQ5X0y4@_tBH_OQvaW5~oB+3|Z zAbvSU#Jf*Sbf1V$_eppT6%+9jN;9A>$@)q$1KsMxLd%w1rhGrRo$3}bhjZE8=Xs&K ze}=m-2Xw?{*&O>A93{}@TS8K?Vz@xF%8Y1rXp@VjgZ#vbxOQ3c6D#6@1$T~&j~|Ift#=kTA4tyn9KE&K>X6pzO3 zsq`SvCj!Zu6hA>LTT(>tL->{ImXupREv(cr#V)+6p7!)zM7t{%R`aB(!{9n?-^=p%Ji!fFpC%#abby%1YFdGtGK-XK@co3ehwA2`e$+Xj^^+dZH?Do#`pSb;FV3xMBFr< zX=FNC_j36WWem&m%EHJy<8YDRb?pdrBG#-1R~kR#af+;4Ws}Q=%q1j}OJn_t3rWih z%PedrenK{R4e4~HJ#t_DB|afC@iY*$#&^Hjn?^VpUOR}xy zp97U`le&vU+QLL?P)tcsrM0ko%*nPv!^LG2WPaqcxPO9{ydr0QSjx=$w@uJ@@e){& z+yl7FgD;*Roo&|)?==hQwM%+*6h_0O3(G`egHwVK5E=(46{L9uU6Q`LJm*a4giM&y z>R8Cz5)iE;q!vO(S{?aA);0_kk=8}!b3j?8)tS#_A+1i8R@N6yHcX@jRV%G5q?OHP zjkG##X)U}Jykt8Npd;HM0y`K2Tlg+u%P)chR0l&`<)&!{30Rwr2A7vVd=|F1=;gM! z3xf&@E4swrl+6_YvxWL_4`7bRK0FmLTdWVu)zP|!8uV3-)SE7SZ~~f(-&b+_(QD8z z{U`qW`VIH`;9AhwCDeaQ%P`?+bxJT^X4+Ee%h zQfVEsa5Z&4m9AhzTc*&T!P(6c_Ge+`wS+B1SoOgt=dyD-J}E;W_gl;^d>1<^j=m`= z>OmAkoi&Q#aBXA4-OeL-EW~>Zuv!aiiO$a0l52%C9l|4=(YKy6?AmA^d~G&)G&+Ot zjvhVptkKQfoN>|avDot{^xq$P3S9VmzO-cd=3F`{S`L^=hrH9tv0bp(xPz?W)*DVY zfk}+qHdsle8}O6raT@T07SlX4NJ2y3r2!rWLcU`+QG1KXK6O27!6F$zJ%-}v7XVTJW-2n zC_lz{e0dII2j*fHRy!uI9i;4dGs#+&x3>v0iVBvZ1}nHz$BqT$xB%uV0Bg@co3@$l_|!j32uJ8hjF0!Q=76~GnrN&o*Wqcj`+l9AB#{+2N&X@OhZW%@O@{(b6Qud zC-ej>zUPe5rCqV^Dn*3^62)gw5Hfem;jOHTQ4YVRP0f?a_BvCImMu+fz?O@3II7nq zF>zz+!7A<~iYSR|^`|bQPz=xmp!2LV41|04X9mEAGj8T~+oU`471Re8F_#AIOl@)) z=VRZ*UHE|ih985CSvk3_qHxr%$*HyWJK>K*w7auA>I#9+9VKc{#E4De3A z`Y-g$PCpDWvFcVj$Nq`$)+wxb>ejMQcR^(2yICoGHw((C{0eMT$&k~#4*e3I&4gR( z8Y~Pk*o0tOtLo^TZ*!g}Q;#CS#`NGSEyNWME%Hk^?`wr541KRO+)dwS1 z*7Bh}EI_&pU+CIh^e!)qVq==vNMIAxz$t9od0K=`$pb1q2Z*~_agc#>$M!NG>u)9N z9r>x1($Gu`V6yEYR zLt^c?US3w4+n#pMcXuRPNo?NJcF#lsNxQeHj?=6ekWp1ekF;8UShrWM)VjUZ@klLNXG7Y{u!4XF9;Iy| zMHc%ZKQf-Ta6G>jNp?qS$8_eWzKtYcUa%YI&JFcU+aJ_Z>DgG#^;6k=lNtKS zNQ0r@4>$6x&CNJn1$7If0k9vu4)c^ZW2}@jZpd(7rnQ@EMZ-omom5KOK zn-NvUC^G4;geGP;z1EZj!DX~khiPLpy&gqCP`W)96Hb3D+=3EwY?{NAlZW$>KW?^kTT35PgZP&f#h0sxM%1gRAyo9Sv1&ZT`|uYYQE z3v%6skI@-yMRiGSzw+Pit6y zJFN>dv2k@_rdeOEp)SnG6Y0X1{B~K1dnEd@=)y;g+k5I7;U-K%|8r;Nk?#fPJ3Wtl zUq}RF8myZ;GLPIC5}{o-+iHkVyUMnOlToY^EzP!DlTj?OEX{W4Wc2+Z5nL_4G}~#2 zV4Y@ZHX9P@BHU#W$q|uLA~%IZx{2;KL~z~r((IIwNS-jC&@@(rT!Dy!68S(#q=)Dp zLu4v}sUZ>E!o4)xYY~}7#55&xvl2O0js{mh2nd4;EDWZ^rZebtLwE*(86n}BglAfW z`-tdM!ncIn^%LE1i0npSw~)vz!m}(QyA!dy61g=bvIo(77$VR;mS$&%MCK5lV-eYt zh&`3arbrfVv$JTj{h!Pl#KzHXUt}^x!_-^?b3>*E2oG3H4H7Y^OnnrjjEskf z9x_CR2@Hos<`JG}5!s7~y_CquK*So3Wev@A)v=9exBSobe%g_^Hw}TSUlW+^+IX3?e7EX9S>EQMiu zM|{@7s7>uo#EaV0?gFOPrbgT(Y--ad+4iS5X#0n;!IK-<)R8WS{4 zUE~_rtH=UvYMOJksm-BHjR>`=(Uq(m4aRD0YV_EaO^x}f??)Qi)X1ahMWQw}rW5k0 zHnr{J(U7IFCZ%@2TAP|xKP;P?WWC0wMjY$N4t8D*md}`WtxZi+32bTv8`{(iH~*Jy zYN2Syx2ZAAwry(6?9SNKjIeg0O-(u4DVv%yW!u!+`}(&r&g_Fej(^VB-4IFLICD=u zvcAt98qz-ZQy~#+XmG}SA{J7{3!Fq!{izEB#=S^M1`IklU^w1=K8lV>j3FNA$$pBl zPa{H2UK$N7OiBh8IwAv$gq9sWvK2$Dh2%m)(-8?BiX<3gE0u5@x)OY;UDD^vl7u}t zY1TP72}1#Ewhd6jm_0|b@T`L3P8@aVpr$el2Q?!@4r&~$_wr>g`#yLrc&NL6CIWrd zf^^>pZhVu!8a;N#B*(HD^)s zjV@Kr4SWgoE`?37QTIu*(nrw|=@8Z2q5Y@CR4vipA>;2d35{K5r-|&6;kyFHUSc+! zoG0%K2qAyVNw9{)j0h8SM3}H77?$&W_l5oPjmR6v3%d(eQL!tPOa7NI|^B4 zxrN(xLOD6!SKzz(Cc%g(98aZA>cVZnw@qEcaQ4A|;0W*-uIGOh6vKX+*C|J5BD_z! zb|ylc&O~T~sDK{-OyBLV?ep=PN$lC{o4Jj?`$G28m5|C#DBqAFEm~P0kPF}W;XG1oaya>;USO;u{;hunT>zFm0 z5!uwtW{BIhvl(*Y&t`CquLb%01vJfIZbPu)+{W;>19O`@A)9~8et}Tzttri{Htq3e zI*bv_bTmo;vWOdQCZHsCX5wQcxeF&g%F#|ue3Yq4PkcD`hV!0pKqBnJBlfii>yhDb z;*ZDHyvHYEjmOTIPsBoQhfeU&L@WgJ3`-~QBiPA_PH+g?x!9?fKq+_xWJM{ULzRL@ zeH0yvdeTSHF&RDK4`?SI*AB-XMvNMHhJ#`_n_}`Z{?QQ`x5EK53{B1?G#!!9swrs4 zE-`)OB2YGb-6B|7Gg^fx8{Y&yqikRs3pcYW5i}q!JqAR~F4j7(_IuyslRe*IY_v?jKJtcLs z|3#}KRU@eoLDjHTBMlRs`)ZwKJgFK%C9&ga7%FTmZVJU-;9==Sal)5T*;tSu&JtuG zd*zBHSc_u`MsY$+>Zc;%6r$%(wRgs6PFk90%%vx%O`I` z{DH`}W-NWG9vSu@4aQQRh+XZ+d?FT7>UgkUa4N>OA0j0g+vu2h)Z)2`@1lK-$(Z$Y zJ&V$8#l9AHza%SdmX2um8+IAmr|N(d^r(93&sy8}2PF<4KLWMrgjcBfQ{8}w8I!^> z$RCtQ`}{ zXwWAy+41@$raw`iL_$HIL_!nvN#n|U*Y!zEBIt!Y@)JP+JAKj?u)wMq(eIzDM~023 zL7(Iku^Nms<`c1y(kBJ$8q?4xy?~UYPohJW>!124IwtO>#0JNA1>}6!*z<@`lb1&Q z6q7_Ok(31?<;9VElR5N3GykIcFw zKhso9V?!#GCR5SEoic9#Ma@SPGle@d)a`%&p$~_VLI%HafZmVZpt$xC?;z|YeTe%$K@#{0r0`fT6 zw)+bSw(UM+2h|I?0ZQZY9WZlhikTrOXOH*Z99ycVq9quDJw4O7VmHI8`;P+wlw-IfM?Bc zO*1tcIt8a4S_l z*J{qNSye69hDX;%vu*Ynwlu&T9u|V6GOUOa!al>s_!xZd&nD$a9LvYIVz*1+_9(e_ zlEdsR*V2%j7B|SHgdB^^C)Xk5I-=w{NDc;}Tx&yeS_62(PEO|O3A;`?VVC6zyUu(z zD;h+2!VaiT|Abv@w_QgIFzy1+m~Xseck6+QHZy|&N9 zjiTwugY33)t~D7gjSNvmRN<)Rd@yxdB2+b}D_MCQT-K=O^r%zKX^V=k?K6Lkb=k}P zcI)f1jS_$?;)ZMcl!ULw z?8rp{Mv}X5ZC^RsskMD&D!R5m{KXiD%ZOwU8N41Qv+Sj;CQvJdwBKQE;KoL*1?h05Rp*|*B%0=>WiF@ycB8jug0c0dy@Lg>}}{Tcu>f# zGAB-D3!Tgc^cV7pAMzr4nQd3Z8%N{lF;mcX)=1mg0lOlZ2=o}TVe2vet!rraWR04P zic&S1L#fFSp_&X`$;wZ_XN@L9k2*~z(ngQ~GtC6FAT)u)m;e!KWTY!y!40i-Mn?KH zG&0ufOOzu@x`FNQmnd(MqpvSfHi5oG+1UEhxUx}=Y5QbTqcMp>=Jy|Uve5*#S2iXI z%Mj@6Wwc9Q9@yu`ZC{pNCME4RAetdC(I!qBP-v}Vsf^doc2Io_??>YOMtWfzIR+%w z3EZV?L3neKIuVA*R$cH;frr@-*C} z?t${JW=iW^e6BEj$-B2qs50wiz>< zRY!6#qNPS*^s%mrO3?-cBNd7#t%fXwu+40yKKW)giq}^tTZLR}5FR&A8RL*;wW}d# ziU$g%c&J^hP3&Urw2QUnv+Xr@F`(LfyI5Pcoi(XFn-1(^n!#*aS9`=RmR7qMF2ZuN zK`dI+)Gns^sEL)#iZzWtu!|WB7b4phuC~C!rIK0vE@R=+oGl&$I4P4>jb7RW!E)H0 zv|j2*u#}JO(Mz4}P0x>Drzd)8u(mxDU1S1eMK7g8l~C75(XkCBlzVWFK`nl(jH7Wx zsF8^bS2cTZn3O0xbTrTtRSA`ts$mAI;Dmc{nuRRan$Wr6=Izk1#*9dUbTmlNU!2mh z)u@+2qGrh_+_OVd7_UF&o}DBp8YR~38&x9A1GaqzM3@n5)(naG*Vd3o3PeIB*4~e~ z1hVCSdoBEH7;p6~qAzc&h$VGntJ5N-ekp4X^9L2 zY1*_j3~5m+2x8gG9FLid;{F}By>vvh!JaD1w#N`Pe5w8%J-3rVuuy+)2_d6Dw*phE zKNF|Q@dW2~=1fvIp0f?z81JjNRdVT6{!S-Zgi=f%YHfSJh5yT7+hgK^PR!(Oo!Fl% zdSr+Ss|rUI)}yGf5}_I~UC9cr8>`ib=~1T<*Xydx9|Ye(SG^oVG)e%DYulqFd{t~mYw?^~+zGOxL(ws@!bE*(6Z)XHiN4fP z&rdk!hUyE+LQI-a1NCJG^`$JxLUl1qgAu>I`Iu+=RR39FI&9XRQY|+Jl@!uyAbdwjlPi9DBz(7qRCg$KE}+G4{5$ zVZbF9P9;kxS*Y2AjJFdSjJdqyV5iPSFwtPlWwHi9#-r<9Ouv3i49`W7P%sdZkO8PW z)ZXDWuDo|}0BUf10h0)J9ed;_fc|&(AWs1ctcq4&<&5R)k)a;%?`yEm82Uu41``so zkkNAyya=ENDM=qg$F}>J9?TiuE`3a)p2bFe49OyUn$WK6W2S@+SYH?(ixUesj_FQYzpN?Q*zc(X< z%$#Hd_T3aJ=I&GQArayO*edpY5^qn)=VKOI9Wp_H64a{4}Cw|CF zU0;@O*q3r|!cN)r$wbhXk_~(QV%e?98fP#nN}a(R#~BO}I)kArSt)|g8k;^n>Si!n zodc_d$4oN;EeK8EcqTxE+Vts4SB9AYno3(b+&E01N!s)&$NDjWa;&rIQ#QfyK-m}| zA)9;6`W^Zy<}Z|u&Xl%KHiodQF9n->$CHgFu)VS|No>=mKW_W7=3`RQHS;mzqydFC zeU{32?Q91}%|%5Dt zwDOw7cs6~_M@_8lv+1j30-L_(Y=>?7{SYjNT}#IcRfb?LWbIS+BUsA8_RL3j+urp2 z2zGkW`6zAryMwIgigavSR~&@yqxSn*_58@tRAav7pGM>%7{ z50o}Dbc9Nq>FUM0K06@cYm7={yG-fU6g=8D zsq<|E^?GaN04PjVas$nj$<@s9N8sJqu6_&n(7oV0u-AkM+Nx+^mL>~SwlwFeC!R<> zkqA{p=}J}>Q%{r)2f-Uy^r%xr8{`KfZD2>QdjpF++A85VJgUC7eLU7Egy6CEzFw<- zSelt+y+$)5j&)=QRjvk>a;9Bt8`o3<+c?37wsFJF4%o*3ZEs+Oq8)#?1H*)>(0E&0 znOR?J*%9-%5!Nm=e=A2jW&T#CqUP_(-?cFak+A!-^bKchs2&-1qJAH0*_3=D)&LU{ zv5--lQWko`JftLg0v+4Z6Pjbkp%2qBZMdGrMtTCtB72%pL{A7a1e$)Hjyy87G1Dfh z_7^`bD<}5&sjPGSq)W$7#f9Ui!g3ir@6FxK(AIO6dm&nALz!Xvc9S=@&92u-1 zN5q2Zzo+ynjw$5AshmhBS*YoUk7ziq?6mEei3au#CToB?dkfRA9|uC)F$tMo+VM!p z0F7+N_z~>nWd0FtQ~Q8!*rxWiAiqtWfwsjzqnr8fjt@<;O%2tzsmkeW zJWScCoJ}W_t!YOmzdY@Ti3aV6$&S~KnEpiVh=hW6L_!m^qj6=t>)H{M2wILuegbG$ zwxbD-g4FD}+Yc<%jF(}PX;feR2zB-KMASXGPqB<~@F0+tagYvOT3y;9a?_D7VOyf|YE8z8NbRh+uo>(8H6&kkqL{th`Vc`O1o zv-o0W*+RhI9_N$rr`916e>H|g4hV^uH5nyhR$>AoW@;T0@mFI=f8ga{o`BATjsc&>T`{7r$Ir{~n)JUADW zm3eb6EGz%fIhNItAY!$uSmbV=TTy@c-?nx947Ly5&*0Z-tGR`B+D3Y;n#fXQA&fPx z7N-@*4ktM>#uII?RQ{y)h>R2$Dt`(`jVIcu`!U$WPKzE#R-c(?`+nLJs9LFhA!UWJ ztQS$>~bUES4PSN+%5)zw`cPPmDg_xlZ;uG^=ox=&So)#3Dk2#@d;^zo%h z;(hn=@dHT(*k3e0eo#&f;i`}~3lrsYW*|%y(TVYzfSZRAPcwLUf%D)Ij;H|Ap_|JsmX62G zEYu|yTo~#!L80v2{G9|AOEEEK6;mHwH8zHFB-D!lk?9|bLP4L4|$Z4>Ub7(pGIZ>WOPOUWK!sHIEKeUEkwtH zoq~@XJ2p|JfE_2QQVVt*)Db%lDqzQR02q)==NRJ>ViW8*e>&I!p&mORwhlWWzX?0Q z$YTc>HDE_=A5RWDAi|?X1$}&J`(VdOqymgD!j4Dg#Nhb_><}iA@e3109AeI8bCU|C zF|6F6#T9a}lZkKeqf=C=#g7i|=tl<^{ODzH9!RFMcX0`^i66aqI(`J9-j5)*&W|9! z$&bLu`wiPtK1Z!h22yeSB&A_|c>dj2ch2gAhyo;Aiv4?z{vX^7&Z7_ZGTVB_aMT1TLpc5Y5Vxz zV@QR}_a2)Q8*N;eD04OgVWNoSd$+0m)*Z$&_zuYP?cC*=xeAPTx;N{=B+d|bse0*Xkxg9)DB1*c02Q=Qn)9}9RVIAY=VJ-3VLkODC z()2%yOQ=ZOdZ0u4zU+;~I6C%Oco6R6D8##hH9K|@nuUNu*yO{V!<&50!X_UOc#{vV z=KG%{Et5??_#xlqW9RVn898WQ9;ea1i>Yq(zASY1Asafo!ff=NJID<>^QNESbargX zoB1Q%R_F9AyjmMmyMS!pB)fn>o9r$iXd=6SOoe`tlDsd=GX0()6pMR;oNgoR3A)9; za~HZDd#BM@cJ%rkLb${45aL^W5s$cd79M(HoDD;+CnvaJh&38(!w@SKZy0J=0FBq{ zpG-Z1(5uF@0VYagN4Y@(LgP?1S#N#Hu=3;vEzgcs{rj@`p2j)E*3PTqqInV(dB-xs zJN|aY)?6POD>>Kj>t$d|-Nb_8DNI|PlM#0c-BYPD=N}w#9r;{OmXFbKGB8wH^0dHY z^t7Z;Ow>~j`=$Q$r?6k@28xe-ey{YAdIVN;w`9g$j`>Gi@xm6i5o|zMayA|dHg^6;oz(f%#(C*$ip2GfgUPpLVuENOUsb>?fT>nj*I99yP z3`Cex)l|3(Jrf2AY%}p0IOkKX;G2YLx(h{|4z}D$Ij^?-1{=b7jt?jg#4I0hjaR^$mv1goE}&6{a=xmNluR+I^^_d zUmh!pIX!gtVFNn5!fce&LvGNSbNb$vN=68ku2U+=ocwT zPR}xZPLE6fTS5=;u=yOh(*4Jv*Qlha=?tUS3v%ZqdRJt(KYh}hbk9v5vn{j!A{w|i3O!Oy*t9@VycrLVdMMo+caTbJKLevVlozXc-?RAA%^rTn(Gk0+PkLWIv~E9m1(+b6%hgj7gki5WaE zCx!r1$Zv&-a)`i05gUU}Ja2JnlM3EH)q4hVgBDj<^L{?@4SsZ)Dv2M}tij!_qaWQZ z_oHYHZsl5XBxqs!yWkQkBtB(`J_VnGQ14R^Tjx`d-{ezZ=hX1hmFJh$&0Y$CjTF|oCHi3{Fac)5^p!K9Z7 z2^Y<%%I_B(OM9~~vukuOq&pJ5&EQ2ju>`iziSA`BBd`rqKVb_$)U~y75!Kf7YW7Z< zOY>`KZaOWj>gl)tuONPIY0zy{WF~Gd%`=g+qWprKY&gV%+?9ce+jh8g6_Z@nu#HNb zHIOVvdr5)zQcq(o+!~>ub;KjG-GGa@8wM}u-}J<75cUes*fkatk@SuPiy3Mwy#X2LELJ5ogT3isol|9z$$S znSQW2MYJt*6OwHINU(6l2^P~rg2m-{LXw>X_gS;^2B^0?avdaQFeN-)y|@X>h-p?Y zJ3DMD7zr_lb)Ztn=u8FcNNKQ+m}Z&TIb~C^`$Ac398^(gp^;n%do#saRF9boRuT&^ z6&^Qex>b03F%4Ll@4I{z)eG2pjVcLto5bE&~V(ah{@|*Ayj67a~Q3GDq_VMKK5+Xc8R?x?nCW)8zyR!IOk9THMnK6S` zlM1juwMJzI*XG0!VG22@Fwq|1nJ8l83F25gI)?P(_3IJOFnJAW9#r*sug)+*jm+V& zA7UfP#u#_Qs+Dej^tDtqogW1)%#WTb{kZXdJI&0QbxVJuFUgwy?%vVo?w1n%QK$O#*8NjJmZP0`TjwqOETk$ z9||*`@%g4`L+-a|!&%Y>KJ$Avn$-mFpcl_-4yTv%|1hfwncpIr&!9XEXAIyFxK;L> z?6!r;yd`LpoVS#@N#^V4CQ&TTO*;7_%uPOnaQ|7<#wmZ#m_IqPj6)`7813h4YG)YH zo^fUvU4Kk)hLJTIYle}Pif0%XYZsTu_7MB7p#SrGnXjWhNn>)z!Q_jw*HJA_9(nF9 zWJ5l2mkHRIyCOOcZ zh(3im0|@mw5X9EyK#-ru(l8GPMm`4uqlO%)wvQ*513`q(dMfDSOWP+0dK0OT`rF`! zoEW^KkOK)5dV09$d}$k0-^Fqz6CbNl%>fpgp;tqCMI9Y|znpX`BE-PSBAPpy6~( z6ClX{E%m45Kc-Ulp|T;{^duVsZIam#%TCvAS&Gk%P%P#~PMZ;Oqg(8Jw$QcpyDw3v zeQ6er9Vc;eoi)M4i8UH4abl(7#HssO_HEQ9SsZ_RPHc?h!bHVTGY}?C(r7KQF4ms=A}i}EcsGrRtNG}PXYi|Bqg(dlM?U9x#2)p9?$S>UCch!mbs z{C>Bg{=q*zpSg<4oHt9Ksi$NrZo1woWgFtAGx(VT5x`CijgqFmQ;cGK~uLa#}t%#Vd9=1qmpyB6!K>3+@k&<`PZ zey=LEKl(7KkonQyVGAIViPgTHmePq?G3R%03Lqd74sOT5JIk3O2`k?=0$Q4m6ZL5|Wg$oW)Bjw0Gz zY=7co*X!;3-X9}vf}j4KDz*6OksbZ?$bz3f7tRUErhgeOAvW>TYC3)jq25m+w$4u> zzsXO*$onZ6HTY?5A5YFtA;NoR1$}&J`}pa{NrlW$KamrI>5JW~vtflvWbDF35y?;M zM?V-Ze3Wede2f=DPP=WZz2-ULtui>^p~6-_70iQ$t=K@o38b4E-nwBwp}4&sTQ_VJ zireh5b;BV-aif8)8xE(f8=s_JFoRFIzKCMO-{-{8LDUB6qxZj`W5b_K1#al*&$I9E zix4BcmFt^<@K!_{4;G?$@M&Tv@!$Y^PV|ZNJN}aO@}oNX|4{}1e>t2Uk`QC!xu45x z{r+gH1!CX`b6F4;T)iMO_w|#Ed`uTNd-tY$cb<6}>2j&zbud$@KAW6JgXvU!_>fve z-=DfYF;h)%ptF6T!d z-O<;M&V9`~i=3@;J^T(*bHBT0I(`RXwSEVgO@4=)oBU4o-{kxbOmA_&i*v~@*-nf7 zZt&$2@hdq|S$)8ZaxN)ywB36-5mDqQVj-9ODrqD3Y^txRQcEs*pN{r@pWMFt?}kl7 zvgyAMmk^uel5eiH?XkX53!y%jgxFx{F{VL&Zs%d{1dMzx2}a)Nfi*WqSX0}_lk)(G z@E%|vqc2S|m+Zb*`DWX_v8j`u6B-M9rY!~K6qXKABd}+hQ>vQIp=57 zy>|Xo;hw$hKE3>P+YmLq?5BgF1K|a06-@`LmIi-5_gvXyz~3*i@BCEEUPG4E&rRWS zGqG6{S3E(>v@k)-W&24H+h1{R_zk*G{JSwXynjc3zJI}=KLIC(q#UC@TgkQ?G=@2-X1Q1#j5JQPf);FG+U#Gh$#dvcQRk|gUSxM+3~jI(~T)6C2Z z?Yhi2sXh`Qy`lrxFcfvmNbZ6^JF2CT8*AJa3=j-GB zgMTI_AvEc;ynaD8fPZ@J31^+WD6$I`noWhr8)wU=!qbXrR!bMm@SMWRkp0E2N8y+K zDE{CGd{c4v>Cv&R>(-vwsHL|3#jQQ@FF^u(0tZe0Ed)(2r)y8>Wl{kB6gPw8+Riia z83f;>dJ!|;$0y;E9}CBLfGuV9l{$@UXBeZAn=A1T+R2t zOeD!vtt`}=tAf8 zEU{XVrr*DUVsZb9(`|(PE4SELVxik{?m%$o z`rRzJ!|!I{TYRy0S1@{FoXst+CnvbMg*6&$a|{y~>AF>tWAQWP*4RV<+K7;NAcu{(vg=^QQ#ua9M zcV+|0#Ge`bgcaA%L}@Jgs_~oLpu3u4o0*BnBR?g+f|-rukz+by;4uXZ{3(DBlJfD$ z_llT@bF+@-rjIsP4Pmw85y;GOD2zvNbJKW4_1WacBVam(@yOZ@cW#-hzLffzbBmwZ zPD}j$=OyAV3dGnX>o23oZ!r%$vL|h>psv%|LXF zh@zt=RuGn?lDSX(D^=>`6A$d@6Avu-#DBskASw5Wf1Qp`Kv=C$KxUIq;N~WuP<=Kz zp8(UT_(c6mXZp_KuWY9!KJjlkF<7v~VugjmM4RG3m?&aledFIrR3}?}P)A#QP{9`e z0$YTn+!lX79b1I3T3dw7CR@bKO}41|Y;v{;rc{aGu?2fwy$jhZw4s4C#3gGL zv-ESm&lBUi>!dG7S^tK>;?Nl?U>M3R=b`g!F?0rjht9Z~@ApWtWax|^@}YA)Zbo}@ ze?WV(cR8S=bB)<(s0=wlM;J?1Ag}@f63xT<@?E#=^JQyBwiw>qoz+(>~l)k7HrQ^4|RB-ipn= z+0FaiI6E_Q$N{~1DlW|T=qWEOrz!bNkhU~kK^nI{lGjJHc&0Jc^q zTtr=9YbS$oNVK(a5!F_3C zkL$>qUW$wVMe4`6_}@fHaS^l*xcK0XxcJ}#F769lgf@hW5SQTM;&gBk0*kl^6@WS1 za>hmaLa?#AF)re#`Tk$!xQHLxaB;CaE<(p5E<#Swk#TW29ounH*@wbK+w=q%L7VK1 zF=VH>$WlBmqFBU5r_GLxi=k`laS?UeaS@FjXByab)&y~pH5v;SSt*T+Yd19QU5xio z{hqpn!lA}JGx$S^_&+&Ohj1UmWj;0Dk1ui*<^?$sQRFCM<18xL6XsC=w^2(Ox2ri+ zxj~C7jEnwAeB=24e?&>+KWH7||3f;)|A!Rf{~?I~(1zka#3k{6<8ff6G75{D1 zllTwXWaB?%r}3Yq`1p@vG5$MkcI5aUy0$+4qfUGLM`Oo{|E{wp82?$LvEn}~HER6- z6Lm=z|NmSf{v{_45&uPw3bSS)aw4M0QN$tQ|IDsgdz6-i_%AnTafLNBx>Mr+T;m$r zaUEm(afR4^AH;S@%I9eBQH<+juc1L$?Hny+=CL=dq2Xp18SOYUecwa%*@%-ss}@)D zoir=!CV{|o3UjngZ$_o-1;%z-k~8g`6NBNA()LfS7YGw&cV-|=6tS>gFiWC3trtAB zqb)wPV2clfEkaUmi^ojI79p(G79q3A7IAZvEvi17oGpUsRBW;SORW6v5#~mCJ$ISy zw8R$Y3dAtOG~CkdJn;&KOmfARw`}3Lnm?O?D51>O3`7Y{tiTO$6W$go*!Oa()XBad z*3rHnR8AquTc> z;?-u~qJ%c(fheJg6}T1bdw=qq@GkjkswDPpsx_(vTg10-Yrb3X@Q(KW@Z8>`_uIC> z_MwI8Z^b24NXC(msr7-e-UWhC=L6jG;1Kb8806>v5Z(m>Bj*py$U8^=E>LZMPtH>y z!h4E+q`oxCcY(U^X;^DJI`Nxba$+!jiR&sy5hmKi2f{=VZ48(FeYc_ohh0gKU4y_y z%Yp;mhq#vP9`Dks^#-+=pm*eo`2DsrA+SIT)4vFpP$7vi{prLQ2=y@rV(VfIhJnb=;Gx*tms@4smM&?>erxT9w{)gbp^;;UWrk#Xc#&>&WbN!W|w4x0kmv zTNz%OUKe#;fu&|UFA~R@y-2qZXZBVli8E)=efUex#W=oWoH;&^GyTgEP$1d#UxG`B zO=8RQrW0Er)W;Txt&1&?-xOQG$j25iYKSeheLT6?0uer%RM5wlwoh!?hg8U7%dHB; zV9vvhYxgByML$xpMU>ECWFSgtVg+tVY+1Q){jNXcJdYxuuw(d9Td;v-QjX)kS+pOO zvacUXygcCq&RK3S74C{PH5Kj!EqvvMoHsx7aet~7eErs{)Z*(WboBKT3cmh2I5;Gm z{u^-#v5Bu=Jsn?%Q19yyTj%SL-{k9Hg**u=PdFii1 z9a@6i)SKggxZqy)rcu<*OB>^!*vZXHKmYkMrkR~VPGjRz1)*_6!vioC#Fa)lpocMz zy~Djm4B^oo?j>T-!yTMw>}+hyIP~EWF zetzW+L|HD2v385AsX%iJ_Lz4$pW2SUS_LI6WcXzd=Vn*K*X zfvQA-E;jD!Z}Ysh7~8P^y~j>7GZ)!+#YZ^j3re_fW}lFJvx9PAD2CN??n_?L|1ehc zLEsgAT+R1CK&mA>o$*7qqR-DFlIHA_q@mG}#t(v}eFV}#SX^^pkAGUxr!(&6uBY<| z)~uL2>{r)>rjeh(kJ#X8O@?J9f#zp8^?60ov z8{SDUT;DjxvcsDDCX!ayH!N+~zHzLxzL}lrll@#w_JeN}MgB!4_qsMlL| zjnwPWsTd2(dds99?FYAQmEQv&wny-p10NK7bAb=_%EDZadW!3H+E)(MzYAsgd&Rqv z-JM7MzwYv@Xi;b7+@d+>Nc!m4^>eh^-L!uTxnp>r?~bHchMfl$h#_w^&5&1c9{ah$Ey;%k0=A-CND-MfmLIE%}##&`zKit!E2dBR3tea$W5c;yvbj zOTUIb+_rRQYEpO{e!gd6L3E#;f#2ZShTBYq+o9?FyRG{A&#`27TK5?991BOlvF;ddNkE4#Jv07 zH{`ST&EzQ44004Ph%pre$fuh)H;cc`cpv)R*|D29yDw4Fc{9-5G?>ka{h8nKcc@S9 zXzM5EwjRxc(bmAZC1^&oUJ#w+#xsLjZ_dSk);SlI--}WGH6`>ItRKOe* z_X5vBeHL?2An=SAuIBr+yDOdX!VlSuSD`(*UlreBfsW3_W}|oeAt&g_b3w!D=-A54 z6X}?~+plaz&HC7;C$m1F!Cppm^TNCRke$B6!czP@EGQP=VR72*$nUU(uC0HE1$Elr zVL@ZZd56Vy)&$>SVU5OmhlQ1j-(l$4%vIV;SA!>Gow*9(4o|p; zir@l;5V*N>7+k&xZ~=kA1y}R^Tj$_{A98S^K8?q`XkQs$E~dJ?$6yJ7X)5UKfPi%_ zf(_&bof&L~(>Vnjt8;qhYORea^s#-Dpbu!1MIUG)=)?UYB{_4IWqK?^v4}-Zw-K=D z7CUn_bUV&m4X#~}Ot`}%6W`*C$R}u#>2?7;3 z&R;VYP_a@mP&F*p#P8ZanB-?T^^g+rxSXg^D(r(SziTgY6eO8}$ccy|M-dy}wFE{z zT4KuJp-xM+D8zdd>`v(6mYE(#yh0OYu5{BT9w)uccwuT8$W*v10ki32?875fOLL{D zk*I~3ot`Q42&xv3&5kEZimIS>7@Iw+Bd$KG1y^YaZf*&h5tu@BGM1s;9W_{bowth- z#%2&$giojdDB@mV`1}gs69k4&T+R1s2`C+#;fEYPW9&qG%GjBmy9OPLa0xj#PYv9&0of7i@uF&%ZiZm5MRF``(wwP?w}|ICyMM3;|W*soMJ@Omyt` zOcb&Ecr@VEa6`{CNpmxJoYP-r8oB;qJX+zd7!Lvu1)`-jxyRG3F-AOrC@DsO)&V0< z?T8VlwqOJ$6?03_j4%SC6O5oag=t^}1Qsy@Dj@!HFEB=Y0~i4UV+5||`;?ia7=a(! zFaquAh!N1Sh!KzzbYzSePRDkPP`08l!Ztm@2+$^r5s;l?1WWN4fnpIOoHjc$Mue`d z#|YGE#|Sib9E@JBjWc}A|{N%EkmGrXZhSi%lg$9re!MPJplzGbvccwVu_-y?9zy>&xez)mK zbgQhv@m|WukPQ4KdzDY?hykayU;tVB+!Cbb`;ll=R*3&&pFam-F8-Hg<}o_#tHjMN zg3`_TzDm`9BW_eE>_i6Bsq9DE*fOW`O?vJ;r}AXmX~}x`QwqdUt$i!;ir+TmG5gXv z;RiR_;eL2(_<>*w?;g4z&J91f_YmC=Pop1-zVqcThrLm+qc-!LhqPIFy%|WGHL-&7 zvBQOKFcn(B8hkzas2ds((cMG_^pEInA_M9Ry_Dni>GwFtdpc3l91pY(Io|0V{rmJ5 z|0bp9mY^Bsco3cBcodcjK90Gk>-=*VVQwD+i#Z-tK>ozNz&YM`kmG^CIUcU&`_ClB zk~aC^*J8uwC8we>^M1|>#Papc&yP_IUXxDYL52|>XIzSJ1-}OFfaL$ z%JGDWj^P7gqKF5q+`Aqiu`YcI#VGsj>=5pUn+KpMlc3(xvxpS55Bc5k#|MnM9m%!( zgex$pM;`Fvchu5#;Ahh>F;<*UloTsK>wpz!bi|4?TCn00U z1yn#B=3Zc|_-9}R2#giDn(x0L#|r$=h81W}N34L3MXZ3Fpd(|&a5}bQg|Zce6}IUK zR)98HtbptkD_Dxh3KWZ2;k4P2u_APBJyxJjJ652v<6wpBtO;TTYcv*Cuu`L9MMYhb zVFfu|N(|AqfEB_-!GakG6Gfz06~2ju^C&MMLG~SNT;LsSQ(Y(|T(rEFZNJg@VT$wN z442Z2*%o+s`PhF1S5}BO;4`>OB+6C_M@r0HPUo%cv;@7Vdsx%xRc@~D231@L2fFxI z!O;kNKQ5yCLx+<7(x*4wB>1&#=FLRM`{t%%_3F-whOLuXE-5s4gOXV*I?AC@Fq|)&V~s(-A)((}JI` z0DeL=lF>q+VB(Yq3-SSofha= z#81cxIx>C^r(-*QDqB(bX`7zlCuoz!PsmR3lcjk4M6rmUPMaMWKSS5n<0tC0<0l$B z4t~1Mnjn6%Mq}Y8D>W*9K8Ly_!_VjD#1QUx%D*`wOcYd_fiO|T>5sK&bdip=o=2ph zeZZ>nSPKl$AK^m+78~6e%-~fXYh6me#8~lsqNG>>S_iCnY)7nkYztPr1y}*i2rD2u z!HVmqgB1{1#0sc@ILy7kSn(rZ1qh54xSH?3Gsg=2(1sOgPe-hPjzz41oS-9P#c(>d zV}-I6g%!5x308nMS*(EU6f0PY#|jjSSmCtUk+C9lZ9P_?PCHhhvEyKc>#PZ41#2`G zR83+?aq_x-ji8;*6{ecqyOL0zN2++gL%e{~^ zk5{9XUKB`f9ct;tfmAbCx_RmHP={Vy+SFU_Hty1~f}46PaJJUXOO(ipG=NEO<+i0O z0|~>v-l}a&R|OIVGriT@mbL{F#(=#w+m>DuNNYh_yX~x{mj>D{pzT7mmj&9cpzTVu zmj_x8v>wrDOd-1M2HI{!yE@PoKwH?h^vXcm9i-i<+N%O>5772-OsZOvhy|4K%n)5H|U2IvVf<>@sce<*nU=fbQ zwq+_=R8Fp~H#Hbwp=+(o%i zI$!=8x;4(>UQ3iThXbuc4tHk99PZ4P9PV$B!$C93;UGH6;odWy91a4DIUH0#e#E`N zIowZ?!-2p#9Iod3f0yTQ_@OO_Lwh>raL}=s!$D5ak#o4=bZpPzl&z>7&Ne;C;Xs>g z4hPw34#!e_4u@hfhjZHO$T?i-+WH(0b=q?{G(c+f{cV_Ae>?Sy-M>_!dG)ys8Ww?}?Lt$59-z=F=W-piSoR;8idD~MLtOsD z&k!^BxZ;_6riGb%F3bG-{YY<|54&L%&W65$?s9lbr8kEX;mGbpq3H{8-_0xCxzM07 z`Zk;e^0s$nB$PGF( zNDrrT3er~R^em8C8&jxl`zAqc&?bx8&_qz1`$bA}76{Aq7>;5Q!<}v;VE8R|7D(uJ zoCOkGyB^VTheve2#TRSO0zprV1MsdVCkXJY(O3Y_N_7T!oCR`cvVHuS!CR?EGJJnq zPHeYZ6!O`o zC&&ldWRVZDQ>^N}dI%|S(#u|+UXRK5V zXAMVN&BSM0-9%lI;TcU5<;3^qL=|OcJZ_ZFwh}oC3d}&{L`0FJh>f6uaqQTb@jhyt zYK@Eu6=tAD2h4asRf{p>14KzN1GEm9@q~_;@q`x4_%C1vG$YJ_=mazVeL9!{fkn)K z3W&$t3yc}R24;Z3n1QSL{{QBffgjp11MTUE8PKta8ITinWXu>&$9Bwsa2cQDGfX@x zw@ptl1GLFv24tt0!BRYCpjgBVr_GLx8KGi9m5MRr zsQTA5EM}aB0TBI}!3U{JGR*i;iTL3Xkyc#N+g0fGIC9cSJRi3+jlWK0(Mq;L2Qv`a z5m97EM3JqCG{{=f&~!T{!TXFC`gu|wXW6k3PnpsrXPD#L=4UDGG~PBlNBI$IbFvox zw}DhMacX(WXCOV-1vgV_`F@m`sLm7Iy83FF%bcCL2kFl5xj=~+!t{6!`p{G(IHHpJ zNxLh-XyOB=7)?m-6ytT`y-sVp+EG!>Z1{(!+22t3%r)qMXD(lS}Q!VmdiEAwTvFZV07FI&5U&K~lh zvn$L-A5DSWpfeA?hSS-x#lpt&xx;?R@h4rost-8H&ZRnbU2AvDq!Qb``oEYgfUw>qlz1!;jSX7GJDgyFyQlGjMY~Il+M&Yc$rt zjg^WAZVd+j#%ot!q#nt}ZL|iT5<`@i7_agvVWI-N83+?aZ2XWc)~;kcq4yUvBrJWI zbP7sPyb(S2+%sU!o(^j?tl&luD{D8bY#Z0ThjWT!aFQap~LSj17M%?LPpi>-@=uB}H-)M-l2AGm~tgup;C|EQDVWNnQQ;=BS8hifnA4&5B zr@j?Pqt8Eno0x*WLC}ma2%-}VI%YZ;1c5~if(nT5+zX6Be+CADz!-$9`TnLHgYZKe2BAG2 zF$g*qF$i*kj*LOW>DZ1z%2pHx*`_BL1lnXV2(nWQVksVjP%L7Q(`HA;pwPAT7=$|Q z7=*@-gF&vdCWt|-(O4M7N{xy^wD&2;pnuMZApjRJNSG+NF#}_^zka$_iWp4d+cqq zb9SHup#p1Fx064N6VE+Y#zf0zj&p4?6|>KF+uP+l=6uB#?6!w6-fhoK54-JMSI}uT zd~R*LU+@QXUyMorLX;GfKPwt3GPj11a#{iR{8DSDcCzy2dbTA15i+w=sJK$|Qk zL3WBsEX89IibYIv+U&@f6uPz^lTfD}lhD|4Fv)e+1Tl#<8Vi$HsZlZMhtwt6xadbY zu@RGmiGm+95GIP4VbV`Xki{fi+%lL%`>mDkd@eI!xkb0+Xx^FHN7Y z#&z%pSP7GUO1j0E^fRKQm;_n}OnOR3OnOQSCiQ_y(2Ot%q7zJd(sVEh0*jag6%g;a z7Z{Uffk_}RCgEzn|EwI7@IxCWp*r!L7b=@&V% z5tD?8f*&&wCW?5#%6;osl`vQLVv57zywMT%3jUHbkLT(l{E>mw0{JLD*bp`bx_7JX zYSF(Elf1o`T*Bj`8%zZ$=(KPUo2hV9OmllP;&INes9KCE|3;J)Q$Xv0DO)>Y%GMT4 zc^)tYnh~Zzbb={M)4>!7EMf{&K)mK&U`&|@rhvehf~)!d3v*1t4{ex&_H@J)=vc%Q z$O$?!rVOWJJEkaGQJ7+zo?r@Slf@LsPBDe0cuYaDh$&8+9T`(X*VbbS>a=4D8aocA zxXzj&rm#k1VG1iXDyGmoBsr%1znqxIShfBmOcZ>WfiO|T>A&CfYtlTZ>ep%1`%S3P zA@=`QMYKZugXe$YC^{&PCU{&QMl|J8{7(2Qa~L?^NT%IU;@2rR~asDQZ2y}+@5 zC1O7a9Q$!K-@i7G{rI6R_M<%=V?T5(#(u~NI&$nEPRI7xuWUude%tgU_JcOr*bmuh z>}M%H_M=#g{Z5-5IrfLHt&jbv(;oZL*l}XN>#PaJe%5HL*w0Fh8vFl~x+EJ<{5B_s zfLd605hg0kn}IM<#OcTW-;w4))l%$7jSjK@zo=Rq`~RCLY3v8BL+pQQ$JqbWme~JR z#C~W-u^*z7*#G+J#C`}Y#(t=PxXQi2v40I>KL{NAaW&t6S04NELtE@edpgE`=va*X zkP~#|*gu?(?Xh3kii-WV=}GJdZL+Z+veVelQhe-3u^9WEHal|c4_#Xy`%$Mo_M@@m z#D3RV6O8?=(O9vcm5O73{V6*9F3kO9jd<{T>XIz>|Diy%b22=;v-CgoyNa-39s1t) zmUZaanR{h26bhJu$WX)}!c-7(E$tKAwRZ9eb5CP`FZX{*j2Zlq+dI_va&c#jA)ZhA zz1(y!*ZQzTdeWapl|`SNb0TmOvZA5{OH% z5n63dJ)Qru4)bmHDU}Xt{?0~ z)#7+>h?2&8&^pBXr*(|?Pbej(of0P!B$P`rn@ zB;J2(I`JL?i}4;RAeM5=Io>ZK-h;sL9#`}IpXBi#KeWYrw5MadhmOT~4>>_cj`zdq z*dFhdeW-YEo1Vmb&?X!2Av=xtEXBur6pQiRX|p58`_Q%Z@g8;B<2@QXPP})WHNkk# z8jTh2S*cOu{c`G(EZ(oki6Mwe&aBpmg^3F7W*|%yar*IoC21a1Eya7(=n(H$QMEYU z(+OQ-JU-ro)*;?My<@z8dLiEb2jV@np?D8*Nxc8%bmBb(7UMlsKrH2!bG+XZ@g4+@ z_qdwx|92km@k3j@M|(QPd+1n<_mC5GH|SROmoEU;=A>IoU z723@}m?+}(kW_BY=I=cfJNB@Si zx}MQ7_CF(!{r1GdbxVI)O~Jpv^KOI#(9-mm;}R+oBtVDstgb)SV!~M8nSpSJ3EV?P zfPg{>zT7zs5VrzAfWQEOtNH#KYDIEZ7kJvl+JVU5ND8&;|_*u-abEl`hSShIUh3<11= zHNr%}iWvwKMQmMH##*aABPlFN^Y>%Bo`1XtX>JCKPXA9Vn^{S()NNS3c~h?crcJzN z{x(zLt{8s;k52_2q<+KU)mRtDS-O12)4E&*Ggx0Bj@nW>^ORb;SApYT?-FsJoS65? zTi(Kbg0rwMptj)845TfpD?(c|v4T?Q$Z)7iP*GR(Dn>+6Q4!s`PMinaill@*fKG*! zlFI`&5GBn6Kx@qd&g+;5oY#^E>;>?LmZrY}mr#-N0O*kB0lU%f`T4YCpV$pb)}Y#snj1o=&cevy*o0W8z!0Vo#p0H@oIoCkz%M;?I2vZL4M0l32h zKi}euwRr$~Vw^m{_2dNe0M=-%Jb;xNF%Q^}dL+vO_RonqW~ezvVWJ@441|dy5|G}Z zaevvRggcC*x6V~CgTHb_h3{r?n*woEaJ?<@3M~!$>@K(<;NvEXj=)FJQMEAWsK6}f zsEHMX#o0$=q7mmAw=1-I@Ye<6s9mvE(RS1}@rii%jwGwwiALY{HQP;z<3K}1RO4A4TJahBM~#{2CwGiPM);4?es z8PCk~jQ*iWD4?0?-xZfoi*gIdO>>Le)9+KrEg; zSfjCW3s!2x+~Q#Bku0}3Bq!!Lp>hjh5`nBRQN-!bXCF$M2USb+*{CrDqT}5FJ$G=J zyFE&8?o=R-is^SIUS>c?J6kOyF?THy@0Jro2Q*{4v_)a98Aw|+v4T=5ri+TY;y_f4 zh@zq*T1-#BCv`YU37CF&Rif%m-;;V)N6da!j@i)~!2(8BbO!zENm){BoKdXC#; ze@_ZRJ#Is+E7*S0-;;v;99P5lq`=67DHyo|pWz;VPpY=RC--F=i11&wsi2Q9ZJ+N+ z-Gfxf;@v%SV(vpK-U$;G+RQ+hC}QKBD&~4ONDexyKsP`#|t@A0!Z}KTH@;(Jd z4L()d-;?txi11!iK_6e*K0b9MsgU{9Q8}^Er-X^JXEP8ciby`SPwo7~D*E2gUA#{n zovUC5_hDlDdu?~TBm3IB%s?0^H9Vu}#kSo4?n~l=|J_fOTKw<)j{bLki~l_tP6sVa z|6E)`g~b0JHy!_jQ15>bTjzg}-{gN_?a979109{m&PJbjgPfovPw5P&qhpKl zzWu~o{_PoMD{2PEHa(fa0d2A~IFOyr*{~EpXM4NsM9_z zgT{_CE#o?Cg3~gr(OA~^^grm5%@FUCA(X7r+n*3`4k@?_WcDCNP8_G8nS&SAZ_SFi!+y26Fni!4|3cB%>E5HyP%Kb1o;&QP$jxKC zLqC@B?w3^8_T$b=|A*5jtf~2Q6@8<@ueNU({)X$D1pX|#*7gkx7`AVmh^%jBXZmD6 z7nA+)x8Q62OQEiP(&9jLQ0=ODF^t20XsfmR*@#*E8hYS->x$iGH+~y-ZXXks&iR2Y z;WyZ{*@31a757oa*%C6wG#0Qy~ndead_n$?(;8rfK+OTr>6^6qg8)hv1Rel zL%F8?9Ht@@KEkaNd;Cd?=9clTeZ12yLrDGXJ=*(IiRfhYWBWfc3xC&2x{KODcX2zCyXJc8T#Mt0Tb7@kkP`!V z%UXn*M-?UtyUjqDC?cs={~1?&N7m;}AwAi)w28FgGqib!>e7i!ICkUJJI$;Fs-&hUeOa*aK8U%6l)dt9cfX`4LJ9!o4#58K+?)Awb)}XE? zoEdBX?Pd}hntC#o(&nF1pgpQUd$gy8Zt}U=l~;y+IFBct@nLrftgt#p7>T4W8i62 zO>)cw?0VISB9rGF7Tx(&OC9sUr92<(zk?EyB}mG1lsD2(d9H`GsiQ@YQF1*9b170; zW}X+FWF#5F%`S(qx#`X`FC$$pHHAJ?cyx!`r~-hCULgu|YgcRmT5VoAX8~)~;%fel zX5k#PL+Ey%lRMpZ+OZq|j=g@vt`uelXXM0Sd4>2WOjIZgOcaskno?VQ42kMwix+gX z#S03y_+i*0B;|H-({yYR!fI_1GMj7>H#ga$>N90+W7;B^Zf9G3tnIYK7SGIyjkYLE zl-ZeqFi}Kni~C1$@o^+dY|&JYS0&gD#?5EY|MBO>%@QXs>}Z=87Hsn~uuVud{V(DY zVv{-9kJZ}fLs=c#KZ+sUkYi&AbvDYa4F(&JDIq_%*RYlkM$TTDkvHB2!n1fSzqXGj zXUP!ZE!jRsUkb7L4*M#Bh}>(rOjYgRWuBhF&NI7F|DH!*rdM(D?nRC)kco?E0*n*l5?nM47M|2opuLb}iq=Tt_nxXOkfN9Wq?Beur$?%;D5# z%(dB^ku%bjh9PVTEGWTXrZt}t6MQ)25ShPQHgk94iTp$7p{x$R7lteTh9%R&H!Qg< z-wR8zV+-9U{>pjGX7PtOkGZIuf9`h?-Cl6fZ^JJkEb+^))%xXFc?={4S4`%2AT#&H zkjLO=?|yboD$Zk6pD70z6Fb0k3O?5K^&*~!9{c-6PbAHG?6u%N?rKd`X1}_9zvxNC zB==qQ{US&~UakifxGARDyffVw^JJ5xTDQqT(TwBjgEPdq1o^oy1Y80mk4s?W9V5r3+J2s#mq3K~68k89Y5U;P zR@=7;E}fGTbK6#PBf>;MkQoRQMQofnz`TKfZ+Gz2Tm|;g5k63MF7e9s5AW@IVMCkL(GWrZ6~Uc&y!(IboZTR`1|!%=8)q)Xyttvdieqr!y+aAf5n#d z2i;a{ytopJl=x|`zd)K@kEO7=^|VO2>c9p5VP2Lf?P|gL!+y!n$MKIctJS7LqalqS z4wgihU;be94+y*@imMgMDa_$B)XiIMDsq(;}H7r7u4UEU|m_J0MRc# zB%xn?Vf=n^tm1xg#93@Ml8iI!m*pe%i(@Uzq1-RCGfyJB32ULXK9~3vpNxb~$UTs3 zz->Fg6RGpN5d(EtCd8T|FNZ>DS=clc9+Q;Z;wSVhEPk#(>?drEQa!AJLh~!O_%%># zTBS8mt~bgW=q|Jddc`fV1{xkI)I$r`uF%V&R70<>x+g`;q4ozm|Gu!gH%H5%YkG5wz16h-m@J19X|*he z(&8wVL)Y}Mut^%x!X|6fTfN&FwH!(-vRK%}|7dmAEo{=wdSP=lFKklxvQm1ZmCY%S zpvK#^nTOD1&1KYZJ6VGZOxBp{1wz6FlU^t!T(nH-*!RM)27ei1-C#g>WO>C>fvBc` z?B#0ug75NeG9c#to8fc5Zt!eB=X(Khb7N}Sc(AFrjE~=u4Ijc{fy`o4Z(e;9n9N~Q zZ}~RMA)Y#Npv2E$O5xYxtwPQDaf!02jp2xI(?J_HF z#bBei(&>(Qu-+=)`~~zzZ?)1L9nxFFx?jq|z+^4RYaNqaP}n6f*%jqo6_XwaJ!bNJ zV#0{I8>qW&^OJBe4SIxZEYTz!*Iz*Wg-{=MW9#FhP=9yS-#yfaQQ7*qi0X%AlWg|r zeds^#?`X0w{F|rp&a^oL82n1Y8s0A~Hm6cRGZ358#0sVZ>kQ*AQ^68a8tefyy;co- zNNKQ#m}a}kjw4M4qoCD!vW;kM`!P2TDXtPG^M(B!|K|F ze2m9$rf2y~n;((q-FAeb_lu~%#-3YyabV)Y0~@(>Y#&UVw}y!1Jk|!2%ZW*3yD~@p z`Ootl^?#cR+T!VI(}VDo23|3(arDIVl#ApGSB}${SCG`P`|`@bWc0qgDllu(&>P4OI*CHm_EtmO0Q%I?lCRLS0f=lRE&jClGG>2jdcw(>c&v z(+~Ol$=L6}L#m%Lfm~Ox{iEN3hkQ!U*PXnQ9?7!ZX3jZ+){YMd>l0w)=NQ1q70`}! z-MqG+M;uxgb|XQApY^Puk1uVXInZlK1(;wo2l|?v7>rwRUCn_C6P;%cgoz@Od)}rN z3V;LWif;~Ho2y_3uPYF3$QmJYx{i2-Mv+`;*Oo2pvwt>T3Dtz4geF$thHeabtKB28 zKk*HF0$)#+f*)V6O5(@oP<{L*dtaW{(T|@;x8{Bv&6(Z{jtoUi|7cu7i`1v@JRP5g zRPWP}Tj$e|-{jL^2q(bJ?Z_J6o{KfW_PYV-m z<^y4(h}O=LJ6b#6M3X7+AW3$91s6P-@-89af=TZd5-yl@qmXdXHswNj^f5X%c64qM z@pB321`^C26OHxF;GK0$+^mjgf{wFHa1k+Kp|nu2sW;~)LENklrHTH2^s>Dl7lr#> z!t3kf5!m{;i0TKciRUM_(zC!n$pX?6{7bPH>A6regcwk3zhEchXJc$#3EPNv5!}d|%+sW#P^yU@CSc=w%u;jYahT;+3ExAMc#XnTpy{>0(*a`im%RIUX-6Exv7$MS^&bkrf@j2JtR7)3I;?|dA8M9T;taB`-YpaxCR2h(1@$~{t2X5@eeK;MSGqu?U8jg=;%;zHhQlfa)OTh-rsOKI<^!b>fWnYHez4hQOAdSMRjx^1dAe+E?J%=5Dd~>ORF?)-m7P&qU9dD-lO;CzLy$q(-B;>WEIFMn)c>`g$<#&s6j=^ zrP}u9vO0*&mYHX(BQw_tdvh^PK%TXpqR;!JUAW)`>it5(MN3m{{`3Umhy5Wou5tS0 zGXSu)O5q}EYk=jjpaF@tHZG#tI$w~!IqkHtZy94gzZcrA8gP@)H&(b;L-!5Wad_tz z1GwF|&#K`S()V$l(5L&mKIQkeK0xY+G1>=JNycb3dqJPy5!;?m;tJSy2CxmnP5<$@ zgya<8Hq#GNm}`MlKQ4pZx^WrglUXHr6y{pM$dAjws9{`I+s`9HLt(B3BK%0Kfj)=HeqHYz9A0$4RN*c4Hqp=kNEa5=kq*7 zVyD03&Wi``v~KCcRzX^c;(?P71>kIb2^V$FE&3mGOz>@t3sc{Q5SAC86vFDmcdZmJ zPx~&{5#QZ;W~1Z3VHLgfZV%@82ysudQ_wg&ExcbO`_eA!=)ad0{a4Si?7jqnNiO%q zqVFP?dnqv-F*l9VQAkCq$Iaz*^kk%?AaFX0tNH%ZNS7oX#SeKpO17rwTG58w|IvoC zqz#;p#wjRx2fa829Zs(_1tq;^XTC);pFv|w#BJ=5YJdJChL$Yrlry){Fy7NNi*p@N zEasV9uhX8UB+q;X4GNz{ZJhGC4!n0K%`B1e7gI^JXPi{h^~VHLN!DnrRFaj_spQ%X zx38V7Cfmb&^(*QBFT(uO;BTocC@<}(yh7O={%tSV%Q)ACpLJ=bZiikYHbiQn`{s_ zH`$=-zscDkm`=k6_iD1i^7$WskM`RWV6*{>{i*XmP%#dBWN^8?eVVGp_Ez)W?29_u z+lz|!)_)aj48jr{+cq5=gQQv;gUluy!_7@LruuAhHU_3surYq-2hu~a>t2V^K!_v%nUxuzv+>s8GNolw2a-d*yrhY z4#I8)>>84i$>@UT7;7R zNSCVoY7jr}cuj{_^i0LS=`|hOIli0pc$e#j@$UV|J}{o9@h-hT@)gp?#TYmG`6^M; z(JyFr^lPfGg&XD$z*zW+#1DVTI?ana#w5HNo?~GD2E-&NN9#0@Zu&QZ0_iqZ>M`YO zi*X9$yRp8n4e2gU*(b~vPEHDaFc{@t;X(3aF-Qi12g$ga@4uZCO9sjKAsZxfuhzyy zv@ef|Xy3)udAtwJofQe4U3i?0)^H#<=*$D?;dFLvWetaQ4xyOvEB(Hg=+^F3~XaM9pWb3{or4sSlAq-p*SW5ludCErY~ z<2Ws0nd7b7BH%ZJy7(LRamvdd>mR#$>Fa?BSpi-FVJ1WE@&1Rv1QC*6&R{0+E_yM; zYtpzc`5VL}ME`gXLG!+3bOcf_Jqks;QX14uX^ikb@df)<9_O$XdjT!H?_`1nF%M|rp4TO?IIDAD!EBN?aZEIibJUTW7{ zDHr}WRqK=sU)~XS@M>`ZcRmV~fv_YOet!{T#vb!SQf=Ia%slRgF+Xk&0XQG?t3K1= zYP_@Xz;p_^aPwiI@i|T3v7HvJftbN}b7C+&u{*UlO_-=WE-+C8U&r#`ns>E|s$r;{q7TFaY?evPGoknv6Ux3X*DbxQdE}@a>e*>3LC(D;U zNxziW01>b7$L2ER`|8lZ*)sQvFF*@#PwScH*7j!H};wDlL`p4(VoN~;{sO(odP> zUcCJomHb@3qy4-<`$d8F%L46RH4SS6qrXD*D`Mq3cJx<>{w*+BkB(jMvc^48*fV5} zd!f9SdJk!D5ccNxkp4X|*$3o(wz)au|HnVLe)~0*vMejkF)t?j#6P`H^-P*?z*x+h ziJNa=YsY*8u6VwIX<@#B%Xo1WCI}zZxhX6vrNKaAnw9BhAYd!e3W-uFSy`&v;PnhE}BD*&2{fY&+oZ4F$Y{p2bL4X9IH2n9KY280&Q(vM77xucp|~x zDWfqTqa-Bx7$qYz48Z=A_&HZ{VTqZznBYl_i*r&f^Xo8eS>MiH@F<{&*I04`)v36j@ENt zTn9ddE`#-GpF$6$G&CrtQQBnZHiFu&?4RE^_|)rZ>%%_Al0XJkn7Vr>MK1b2l;tk7xsC9kx%8o zNK!fClfF||+vk(Z-XOwfXchGFrR|fi{hm~SJx2N3A97-F!onCwn5fju41|dy#`)T< zD4zZgNwV=27tO&F`P$FO-(Of0JHdfk!aNJnaKwD=e~Inb`Pv@?lhO0F|6?XDd-xNT zd?tp>$%Rc0vO^s$^5>wPdr6y_xEHj2q;_dlh}7=wY#Z+X5}3G`w3&%}LEAHNX;on2 zQY*`Z4p`RVK8p9>r)Q6UI^KVpf*5jtE6U|UY)OdQxZ-%vv=HyPjJS=*8^>c);c2Bb zbbd<1BLGcjI_OK#bY_CCNoi6S*&M*H=$9$X0YC$f575CEpoIsE7%QMljul}J08BkrfT=Hl zsQ^bl2hi~uO%6pM(Bno0O+yK)`qJbug>#g>oo(*-Rl1m9Gi0bmUdD>Xm@t^< z-y-B=E-vSFgSO=?(1qOGgN`vL3 zG+0hdYdo1LKG$|1ceBcimHkN$tloc+8&r4j{DD8uZxsd14aC+4OkD8%!G1!*1(Ws{ z5-wW8s*S7rQeG6!<{Bxk-ik!UaWx955}KP&>D!l>@NI5tz(-=VmmUW9Kop6&zDtXJ zeRPJckBdTmH>Kd~qo-_rTtxNNV~gSj*1GXe$Bml_);MmUJ77FIkK@*9n$_Lqo%}=* zI&j6IgJ~gja5pY*T%s^*jUDararQG!@$h?z2tyjo0^a9odtUo>zWr(lg|i zf2B$-a||!@Ff*X&EU29FIX^m{dbP1VHz8s9H?MMr;oMbY2- z`@pdvEZJ+Yd#zs`O^oozMmgmAEF=Y2N_+`2b6*O34REt}AL~Ey_i9w1P0nM$bSge_ zhlb7Fu*F9a{-ozXZndDo7`|0tm&Zq2{g8-9NLw*!!uaWiNLx4TCloh2+PYz*P~7Nf z>xM&w;zl}KHylnQtBuqPE&~{S+tuv@6X-nJwyOicWN;w;7ha@x@{)RPh;j$|(G5`s zcg!m)|J3IIoX28oCw661LA`|Ll~vnpO$8-UQKkG| zSyhqq#Q5E#gXq>yvEk~DvEgcJW}C;RPZ?OsQ$@tF!rrTz*Tv2W@e9o)li_7G@IgVX40=&?zN3%q54 zlP^idnkJ|3Ox#?Ubm?UQKKqTp=szSJs|>3QyTOIE#y2_RX0h(k4FNn{l#Xw ztnL+CLU48s@J-Rv8tx%)vg^rl-gG#L?-U2F=@^N}G zz@*0MIS9C^P(L>GA0xqX*}Vc2mt^rxZnuDsNOBs#-^wK)BLS0p+s?rPn>*B_)*(UnN>iEQUY1%b^*ZN3OsZ)Gh}1w8Sx2%llb)T>BJ{Us*O*O z*%Y5}b5nd${WrPz1g2AnPir^q-ZI7u-#9(Wc3L6+@W9X7D9;Ir%W_uYz22oIaMz=W zS3ZVP-#8UvkyGKW*jY;R68E86o$UA8j`n+PyZt^M_6xy@{hm4<`-P-h`-RLV`^C*o z_N)4Da`p?RQ?TDco_#-(WbqXj?f80MitE_x%vk8=G_5VO_4@fuw%#zmDf^Yx45y#Z z^fR1(KGV-|`uR*h!|7%+d4}`8q%=cUx;%;I*iep(2)7)JyG(oO{`9*eIox&IL>>@+ zaFZMEhhy-=;DPjCcvqHREY!gA*-H~BX&|sm5hO1b^kAP>aO@(Ggfa_12#xDVI zd2S+ILphe}#PMh|^#lHrebKM!7>`~<148qM# zF-Y~<*H9ipOoHRfSp92Xe=*fVL&=@W@i3yKr*eQ6&ZImK&P9L8IUKL; z=wGj;TXX-ilY=s^b|HKXikki=ztE$ z4Lb7y9mDDD*phwoA?x%&^D{YW?TkQM&cC#Mlbp!`+GNkcraz$r z#o`GaPPY-xV1GAZ^(}BVrl~@=<9olsz3We8#~uDecD}_I@raA3YN98`IaSm36H6k;3IQ2*|zhgjhx!@zHR*38~e(%UZ2gy9_?94$K z&op(iEKLPwl4set7@xI#JpF7_bzC&3>a>S&*~|k-F803J5XY&yz4Wu+eu^0kZQ6*7 zC|NGG?T90!ZOi=Hon`Er!RkdBpp|Ya{v~99OyQk%{9D*r$7PywX*|>s?UX(24AcC0 zmQJ9SDCGrn>AUvx{QcV5ncduT(YoWdYaPzU-y+#Wzc`$A$a*4CQe*{pEiV>qx~MTl=p7h(aL(QAkYp*IiMIq1O?^5zl)z6(km66FLBbxb+O1v>IcqatxdJ zX}vK^-$Fcp3*tG1C36wi7328W z`wk$fb}j-k^H>}99pGjc2^~(x`#DvgO>Qm%Os6sz(cMQ*v7Hvp_Z93;`H0-0eT2qU z>3r9th;JtwdwoY6dwto)-VYmtu*AmRIUO5=q*@z;%qAPd%}q9@`fPGG2BzED#vW}u zZ3r8a8xk8!zoU05@pU%la@W()*d!+btwZj5eMdXIzHEn|gdIX5%3UEb&0YVdXphLX z5IjfDT_LfUyFv%#uH1UgU9Up!3IgY@xSH>OmJ~~-eDFhC?uz#0wvP5>xhr%m=B|(v zbmZK1I33$_S7jq=M#nb2#!g0bz3hu7rh@D=cZFp2eG?RmxhvNj<@+YLSne9Swmx@7 zo%Y;SJ&uJ@zN6X=l=ibl}2i`zz3OVmLfCCV2`rpANB&S&LCHi3s?+HSx!vbz`NL1o^2guK3 zcQ}g(j9g@8Mm}lD&myYr=Mlqb;j1bT;WHTfD1B*id$m{YQ$K^sjC94r{`bAxy;pMx+3@?|%yUg*}dkfts zaj9|a{icp_=uOn*LLB-Tf)9ix_xgO`O{XCWc>*jZT>Vj^ErA3_+E(_Jdx_dzaxKoQi=HF z0x{Tc;$`*+w++v4qt!>(JjHUuHrkq(1H7N2Mb=Mo(c-5c|9J4zcTpR855Kfgxuh9L z8zZ8$Q4=dxwJrp5hnF0he+l7{pAtJX{}vpY%hsVW&k^St=TO7NpH1~tRcgsI-rUi@ z-%MRq@bBNkzagB?x56bPr+LP&YJGjI^9Uf-=NXV296!!8AV2r}kY|9A&ojWt2Z21# zsO{&;MFfcO5y3u6Uz%K=G0b@c=i0ta{Qqe=F(eFviRwH8VWQn;AWRgI&YY8y=;u4Zm-~7{bd=pZ=Z$fUJZ$f^PZ-SBcO)zTk&DwsRoNq#e_r?nP_|o?A&1aGd z88$yFC+4=Td{dZc+a3rLMI6F6pPj2PvTvSGymI}OZ;CLbs;O{S$v5LXxT0F(n~iz! zTRZyVTg$$<4h{%mNglil(aU4-vGQO@3NDxA!H}8zT*!lQvv;#X9<2Ioa-IdIQ}Lxk z8V1x@r+pATF#MUpz;;@Kb4w-S1vxPoDDe{fJNjtOHF0jnQ4m6ZL5?=pfyjx7B1aL) ze$w3ULefTT*i;v(lHkiZEL!%U%C}D5-qEJtPPgZ|U$h7HHn49fV*0noCA3JfW}jMH zA1e=pRF5@~8w@|r10g@R`;Z5Mk;fV^@=lQFfwg@;Igfw{?-BN~`qK8nnu~4UCjRl9 zoETg|{6JxiFi|FL2Es%Ut)1gc0y~#_4;sH-N|NmO6&D!4n(FyN!UdBq6A~_%^a3H_ zf=MqF5-vcRtBn%KIWOBu-hY2C)z9$uk`nQGIk9#q><6-F8nNfbMgv(jTK2WkYFir@ zd2M+q$k#`g*!s9A)OW*dUmyKt>*JzO-@Q=e>!UMmeOyHK-F)NdUq^TmaSV2)&nUWx zo(=x#cYCn*Wamf+^1PH~nSng7h$zoX5pAElZI^6xr7=AJqQ~%{@ED$d3uAaL#|IO# z?cxO^`xyNL)h`%v9e1C5Z-@;X_u0qkAFRHQ>$v-zJ(!C90C(C4>mRYclk3QxY#F9v zcfpjeqF9gE%^10j`)S68d~t{t^h44V*2;Q zCA3KK>!9i27o>Xpg4{a%f_w^AwdX2=k;gAEYQV4BKA#+ZL4-%F3i|lc_Q9_!NClW< zG>>^@P7HCTfM3Eyg$XkdCW>hBD>}<|8%eVGg$stEmkJ3NOnRA+aM6rRydE@xvuv*- zQ8w1eM5~YJP}Mp)E=m#IK>*+F!n+`FE}t+-s!v+XXN2LJ?uQRZ zMI@BPV7-|>kK^m3r)+&(MD@dyjL%SLKFgN7Lx(L51pM?60&So8-q9hD>mUSjD>Ghh z$38!H@Ul(yjn=%lP7E1r8@SIl**9L_$8}`=Cw;H&<^DA#Nvp4@9U^yY{oty2pV}`6QsLv zY;Ay-D=71XKG-wFJ;eK(Zos}K5O`k`uIBs4kz&cdCj5}?YvLXbp+6b3qkZ%!lGu;- zT`cX}*?nsoI=jd}8@%=QNzoj;*}P#yWeHDZSUG?2Nw9sf{S?;I|!>?1BPq zvOD;pNxBP)rT88EC>D1?Ic?}$(`bQk(NH=5x2C&)GxC+B1G#*RW3S4IA^H_?OqeLh zG6P|vh!)2VBpb8iumj2TuO&$q$8f=*^;#j}q6M@to;sZJ^Y9Kb?;qlKkhjY@2iK6+ zZiM0x%DsQ~YWjgOC&ehV-G*IUM3`d+ui@YH^C<%tddo7wMZ)BDIg{`__4tR5UYx-{ zJ^uMDJukZ#qC(SPE8*2=jb&(`yb@>W4wv}J0$*(Nd_y(9a2fd(|;T;p+!1wc_jT%o?{+s-VIXyxCL?p zc*XN>ke_2$n0Ess2O_2dBabNgyjyLb>tH_rh zR5UKTAt#0imFy((BLQe=;|ngLfNJlR>}~GyXHy(lg7UUDE~45F4BTcE7fIeqwcHPG zqRjp9Hp{27R#7XpzR}Ez^n5km}6c}BE9erNu zJzi*2|Z=&<07gbp5!p|O57dUT##E};HQUpXZytWj*fR+2lGnY z%8ZxG-}$kFmu;$VwC2Ti;`q+Cf%|NeedG0gT&FJPzMr}(#M}?4lEmDa_Z@ER7;|qd z#@zmM5nLhM^e@9DB&Ttp!>+x%NnA@OlD_-IZHjxWBVaw%b=93(JN zL~GkoEciQ;WMcs?hKU6q%T;WT1rTDL4;Q1w0+Fj)rDFj%qZAAH7aa?%5?&o03%IV0 z1?ju*A1BRSEO6^cpCC%Qjs#kVci-RBF+RMf93S3{pa6wvy$BN1*zmeyY#969cSv;M zz;?aNGE~q3>n+@RUL*Pd)`&phH6mQi_uoN^C2K_ZAzLFNd(~@RXipw%itoNdM;B>k zqctJO2|Dtc&~Q3Bwz4KfI;Q6~DH~DmzT2iJt3IGjcGU;6WxYnuFJvix)d$7ms*lrV zM?SYHbZz~+@2J!M?mHSg&bdvlvnKfNJ8Lx7yYH-2{O)^qEczsMNrpwA%889wBurF* zHUnXzh%pxRC@=jqNwQdki*_u+x3)Mx{QF!*g++d{6l`s{$3-3b&^+m`#F+l>fB!H) ziFE_42bzJ%QZ3Q=!>VIIX@z)k8eO=K9Z=@E=4VK^kZXQcm0EJm_jbgR_fk{xHJ1K| zfh7=b`X9q3B&T?C6a6rSbrneUxhCY+<(iP6$N#Xd0!BX91fzyrv$mfnmuo_V&n_$I z<4fBo*Zdr*koouLb7G@^3lrr4W*|%yvGLFftcf2(hG_Sx1pgWC{I)NU=0R2Ox9ZFa z)Ifv7i~8h5xzBx(ss*3>k}9?M-1|EE-22Kt_eD4wgq!}?a0$t&&wXk-J_o7Z=ODMv z=ODky=fKGO92hnDTx~y3&gUS)dszj2d})$C*L@D>%cMf$a|N4Kb2xH?b|q`G&vY2H z;ckSLUnRB{D{%p=G}YIHgbOC!EF@eo>FYwm1(W_kNVs6qw}pfYkm_F-u;I*JzO-|gyTVQ#;S{-zar(%z4Y!u{#AJi6J|$3;}%tp&Jwc@~Hsq^~6VJ*Mcx-kNQp z6Wy1(>>kr^5J$(veXxs}xQ}&tChjv`frlf6LLiV69$-XG>t2EgF!UoplyTnuZt=^CH1G0Vm)BBO; zsBF)YsMxGE1X)$w)Fpc_(nV|Awna<}uTXH=ty{SD4t84_EV2bMSg7I<^n@%GtVh^8nHKKkGFF0M z<5Wd~x~X8YDGe5w(%7K%y=)j9LQKWs4w_iIvYIe0Xu@S|-4a9loHDcumJ*9C<{bY- z)k4nk&#KgtbG*M}&hh?o&hb4Y8W3*!Kf)y>r#Z(rr;~F)s?Rwfw=U;^d_tXM?{CQS z!N}(vVAPOv)b{h_at?^_Sw;nYd})$7NB433_ecepV6?yJ`#CWLG#T@%Ib~s@@(?o+ zCW<)yJpTuzc~G^K=c7gkpZgc87JTl9s?_3hAL!_FA1M3Wuikij!hr@s~*NOU+Dg!!XZfavlpsy^mJVG?bvKFKr+H z{ROFz`R^}tVsMIr{|b};&)s)`TUHeLUwYoWH(4HUcmoIwgM@)0j)<6m5zsZRBI>L; z;}~Yt3kJ@4t0-bXP|OOetgK-TE4t=@0TW`voWtt6y5=>bz`uT7UES5;oO^C~4B!8K z-#~ZWK2_Cyx?+c;MAg)SL;)9He*c#^53H8t7cGkN>(__(q@=wZm03S)THRbgEKX99U$K>DlRvgO(ZdOUmxEKuUJ@(c@s1=kVcfc^O0mFzcj>+3pU&C+mg;9kb3skpFc%ci^5zsg zCV`ym2$Lag?9z8U(P0fxVr#&#U=6q)r|(!AqBNYfil*XUbP~?a5I<2*SV3KHIGR^Z3iCTT;v=jL{? zV;k8}Q=1$Z^j0Cx5F|=&0}=(abK9R~e<<178KPuuEedQhmk9`kc9Ut>`c5M~$v*xP zdH`ak`~g!>6@XUy*zp6WHf68h+f49k)c^{SL9wklFklIHQGvFZ=$3sN zh3IKhFX!Ll9;|S{eErCU7);8UNgt3nGZ<`?vuM^vtt6bzM#U%YSJ4mQU27Y4R~l#h z(>Ch%R6oz!C>eY8w!_#fpyk!sC=9x&y)gJ`V`rmyfBAn5%ysy0CHf1sn@ z|3F#q-xkUq#7%z-ilCh8{bLqK?}Mt>`=HyT_d&l+?*oz7`#{v9_Z!D~a(W*myr!?f zkFV_f&bG1O^F}JBlLs_88`Euw ze5l6wvy1@!j5g5Gj$l*1Nqw)KSJhMBOUn`W^zo0x{x2=hwD2 z%GDM-LL;u5fKm{pB&P?Oxh#ddz45RYADhREzj33+Y;qCCUUym!_6^SG^(`t&Sw6nWXUb>h*3HQO46s5Lvu zWtX1)Zprie#J_XIt)IOQ;S1vB?U&Bk;}Q!#Hz560Qe|rCuL5cxn#UP#F-n}eVOU7r zaNW7Z&Yk9$f#+J1^>sPLDr_c7Kmg(s;!1(mp63Vrn zCbGBjwvWjAd<-cBa8Bn^HDD$BqQEQXa}F?1I>3( z#qllfA|EmPI*ynDz(>qbn(05Dcu9_!;fMT)S)xzShg_ea52s5Xc=C#Me~s8$|O=iuaJ03ik)v9wsNr0Gs4VGC4cOc>UQiREuZF9Q_f_j-5#{ z?Nh0b{io74I-1t&SFBpQdVY@51AnK9T1~B{k=>#y7i^n9`e?4NTjEmH7pI^lK2wfYMeS6VmaMlw$tgP7*C^auB5tiDJ5RoO@ zJs!4oVL$)4tWP++8|Vk6!NYm1Cq7ZuU8j1d5MR*YS~G(o3GYn>{LrA`=!b3Vv@wWC zTf`&Kt;af?q+4m<%Kp^C`BF~P-i#orrUgu&^L;Ggz@OW{BD(hSj=J`8dNkLyRu0xJ zT)zrI%~_1YJ|+57*2iZ^e`G5RM#X8-SUH1E;E|Q{a6G2UIY0BO=8MwQw(E(e25gd= znqN+O=9j5>y^U&7Z#!;A(AziI_pZaxHlO)Lo55#((b;j7x*MzsDs|>)ETzs&X{F9_ z!aYeous3D>A>=n5NIkc40ty@_93&tV7<90JP+-tT0iiG;n&A7{Pa=EH>jMYSBhbMr z=M|K2ILiT+tUruG6b#tbN$3D>ZEFe;&JMR9c>Nr=iB|!50^vD3@ctF(=eUh~&b~KO@hpp05By>@|EAXu z>`U>lN8{$U2&FL0)I^0+VbIlJ!H$~VIwv#hNMttAgH~iv7%=m3PttMptoKQh=olz0 zpD0ArD7E%{&m>mqQMds1!?sJ=_JIf9uCL~W}s>4-HaZoA)#qtJHzb#0-vjjN%{Q)f z1CjF#coc6jbsYnYX=FRb+WJ3*HkFgaB({| zwQ*hyU`1LGR0);&VLap^%c|eX2%JXJb2x7Yc{mki}RsJ*s+cDzp0PRfw>H* zb0~sD$!b8NfHof*?OnY&QL+MzLc0LRdsmOjSsWwMIhwFJV=?;r@n*{suH1FY$3F3f z&RHFRLW624=E1_=Rq3x9O;dsGL~mBih1R87G4U`%FjhWIFV`>s0-O0M+7Ix4Q-EnLVY}FltL{IEmkSL(l9UJKVT7TJ|kGLg~lDTNA z<5W#-WW&9lAL}?bKStzo8`*yg<|c@n{$(hFa%vYZZJeiL-ER-7-Y$Y}n6&Yn1^s-^ zhJDmP6%Oa|u7>_ijtLa{kpfjD?tD)l_&2Mki$L*e{Rm#ObL@u!tpqa~DuoHOLi&?==s4<(IWC7_S z$P(u-{I}!|pkVBHqGWwJ6gV?+djX-qppyiILc7O@T*XqmzJmDKx-m)221?e4K_POi zOnn0XrlWRKpI87|#4IH)zrDq_B2O;KRG=4@910ORi$gLM-tR*fZF>}=_Cf5t-}l8Y zhM1D>^0j$j?Yi-(!gaHq_1)I48@IuhJn6j_UEg~J45Ml)bXzj+VNguPFAtP$zx@bk z%G@SS6!06ybGH9}B=mFK2F@m8`&fsZO#F1xAy;(NAy<@j$Y-HLKrGQAA730D0!ocK z1T@=p2p(?JA!^Jfr$c~r(R7I4E3p^pkW+|~)gdUb!nlKgP#B;vpf4yIws&ENnH|!Y zz-p%<3XwpD`5sz>plyvp)Y{Z{d zb4ZP4(zC0jhTFtxKpq}EXW8|P>*u%)SQY-SDDkg=CAqv4bu*SroE5`gl8gF8N4fk2 zJ(~O3(VE&fAfq6h$mkarM@B)ZQARn~bXQo1BaS>7vP~#j%)8qyo-F9>Taqgacx8H z_mdsv?URG$?I(~oFk<>YM-g14G46L8WpAt)7gU|>aqoj5#xXAF=W-ZgTp)6C$cVg9 z<}q&Lm`_eZLBdO@eXYK>b7I`P+ksAE+<(l0L3BiJRPI-hD4){Qf`QMYH7UOvrbcQIJIj1&!L_8;_f)Eqm zlaS>7J?9+O6K^mTsE|bKwWsa*ehapW3Qy7^VwE8Hu|*)FW}Xh6W_==1_~|p9l#*=I#&m$q2j+>x!Td zxklXHT`%g}<5k)AC=}Yedq;hHyhqy}g+hCGHK}ipmu%ak5Vbe;gZQ^-1~ZrLLeqr@ zQwvi+q_Lg5=ae6Ex10JAbQhe45tJKFVF4Zr%*5EnSM1VTvG6deO&xgWy(ng4T<-4E zg@;=P9#LSReq;&wCrL0v0m2royC4VLXTQvz8|ppR!aV&a@MW9_EtvZn;eypR(xVIXj{3a|{c+^11Gw zvodTd)(?2jPAvNz!@_f1kF!s#MDU!QVD>qNh3B}Acvxnf(ro-9ZvD0KEnQ{QrV&OyK`O0D$?`n`Zf^<$XFbI{i8_SgV&$Z~g^s=ifBXztApJ$NMZz z|2f)~I=%V7%i~A{lD#(=$Dh-fbIiYhf#m7tT{eu3t4!g9hD7z**zh*s;l{=xmNObm zz`6X{*f4=%$HtM!#%8M5r}=X>`6GNsNu!JrJ90M2zG)F63Pe`U$i&$EBin4Stc~c& zhVvUZe}RJ*{Fwo2+==YpGim%6`J9SYpR1Oc3IoN; zw0ZY4CWGJo%#Zl$vOVkx7dqT>+@oj)(FvFNx#jb7E8IC3HAm)FE}LDpb#~>}*{QAj zT{hM09d+pJGOE&<7?R_;<(NUXh5PwPHJ{!yJ7bT{VBBSg^(xzVRg7*G(2=#DTTw*E zuW>W&uqIBX_$1HV>e;0iY@1s%yL5hb_5AD_YhtH&)MWhTk6s1PYPxj(HxK^u#j~qt z*I*{CnO#m5I>@s-PZc^gvwF8RcIH_zn4O+ozIF4D?f+<6_@`FTQ`8T7iu;i~H8Z;c zPvL)aGqY3kNAJ3vXwR;how6*Ek|SI@&LX}r(=f6ZY&+q+>#o0kmIRM`c0x_n=^Y=X zHUqZOC41=}PuO7cqqu8(4h;TWA)g{hBHJ%W6maqLDLaUB=k$)APk90%$@{DFDWH=2 zPIw5g;Hc7zXud6h_cX32n}a`7KhZs|-a}x)=YG|F3G#p*-d2L~{R~eUmYzJI=@s%t zeZm`jv@=v~K)&cR9sR4%&~Od#uMU7y1x8H&5EQ{hnlIX$eprM(z@X~=DbRHl>U`|a zfqw3Xggh`1dFKO&Tm}6|_W(DJ`G{7wum>0$5`5#a2FG4kcGL}54%Q9FLLs0trhgk0(Gv=~z$*O@?Bp@S5k*}wcI*W%ysiKr zu9C)H;0>V>4=0C4e?@2n0LNY^&Gb(sK9krBKMah$&}$Ijm%#+C0RaFw_CjfS{}d2N zVlVvCG4{eZ<~pw!dtq$6`oq|`%2X12p?_g)I5Zk=Y#idI*bChYW5Wc79UDhtVC>Z> zV=DHtZ#s#+0JB1b5RGFmu-znUBU*)0>;;Y`iZT`6lhi^4#oYPW3)N!m<$9rFFLdI9 zZ9ew0Gp!VRal0FJ>=j-uVlNETpx6sf_+X14@znvb7e-QorBPxp_a-Fv!te^ZQDQIm zdL|fqaR-wqYGCZe{Yah~F81P)@v#^8Y~<~Ciec?lBbu9#YoDB$Az zFi$7W$M#{KK}hocDjx<^Vt>U{cnGi&W3RK__G{D#aL+%@AxA2$bzCYX1|N1OFIv_SXm3)8&Flzeu zMG;(*;{`Ud80pT`Adk`DFT9NijeO?>sC&N)^tIn5yQeE~1jEk*#7@z5aEbt6uM4G_ z{sV~1#OuNjnb(#3mFQpDA39t5CwEYQXYUVzXYCI)@XXH2a6Bj85c53My9s6Z(uibs`Z+l;w_D0i3lgQn zO)W?iaPjT*bBXh@?ey~qN#0*&r$HsP(|BkMJN}Kn^ zud6!R!K;dPu)hrk55$uF;14a@xg})hwh$uxvBn&7Z5NcBY0GU7Xy&#jocqGV&KOv` zyrdVO4_0F~qB<{R8G&>s=M`UI2Q66-IX?&Hb6?52AW`$q)Ph6-?LM@4E?z*SI?ct; zb)1X%JX`LQ^`DHn2x7@x+`c$-5tJI|B51bFMLgU#7uA?eZY~1pBFshJW9#peIFOe2 zFC+~UuSsQC*dWDqY>*P>6aij8 ziSOil388W_=OU$-5+se30CTD89%7{jQ$O&R#7dv?$3&o541>S}!XWNFhe1oHC=3FC!yuGq`p+fCk}wEA}4u<~ZvXA~` z_wa$oV%P&ZfkzH|hT|~}dqDs9G@c>mQFBB^IkxLblmpmgqa4sq;~J*o;~G?pagF0< zgt+DgyN53fZSzhPv>6<_ptIwIE^e?U7`iY=V}&lvlnz~1tZP1%!spL7(A>2;Ht5a^ z-8u1>(HJQW9nO{Qxu@vpsotLM`S7@@@SvQuZu`(EY}6e^7X<{vUGwnrm`ho^J>dlA z@jj+PizJpPonLtcH4}fzRIgMu_{7lT4fm~lp`#xE0--7B@s~l5gShFx8bwe}b@}=9 zL!RG)-#^w_G*ETAoO>J`uUPkjey)4N9t0qAnvoHCCoJEC&^XSM^TKquvP3EzR6$FX$QA{mJ6tGR?>{+z2W$q&4Jh1A0Hzjju0htRM^lfZt zdZKT559!6!EXdrysM-LT`(j6#`(jz<-UvYhanpY*ilCgz+-ny{=0MfU9OyR59O$>n z91wY#1ELn0YaHjv$s9;{DXYMbuk9R}dkwLW#ys_Fb6}Xr1(_2hO1z9mqJTr(adb(} z0_WIl;4+-?`&Yu1^RMnW5@L!~Q{kypIP>$IucKB$HZN7R0kZj}jsYvoXX}q7DqNg)ypR6HpwRFx5*|DdD#S_7TIhZ=gG+?NO)lx(9NGLgVj+{w z*XO`|ZYz5zNc7yU1&IPKzCC;caUNJL*+aBQMXsfc~9LZEcQ4)@8x7R|(+R zRi>h^xPWfpnG+Pl@$AsbE;ZFW}Y+W`CJJw~H{3{0FuB1Tjg{PB zrgU;+h;`XF(}-mD<}EoeDDi?XC`goPF|{C3K=K85YfQV~4zIhBOxnA6>bK@BXkXAJ zV%|or7|iK<2mTKN2Zjl!@O;WCAwP46jF#dwK%#)H5{+|Uxjes@SV`sieFfP23$PD(Sl~YBt+G6WUM!QQ0=*OldMOO_ zVpv(8KS=F@Jby^l2FUYQI?D4`%JTdN2r-D8{$Ei9_^MKJHnML;qepZ9ILcG)0RaS4roRu0;K=m%M-l9hB8YQ2 zyV5UZzxn=_Q{vU)A98OcIPh`_9()B{cp=Ss$z}9%BgrHn^)d>iz5=8ou<)m`sqb7f z7{$G~2QH`2S} z@1TD^XQ7Z6_yV;mw~4xp!`1Xd7z(c| zUi;dRZ+H^*0rzm3TKb?yK<694yyO*hz5(0|+*DvC);+eZyF3m2NZZ!k@O+=**mtmg zndtF=%f}EbH*&+1A6?3#o;EwJE<&W^52ww}@aTSpkc2^$`K0#4gG$_IQ{kZ)X7yK^ zm-s3*3p)5~swRHV4$)=&E%tf$E%vW>)Vp7&#|P-$BcWlzi0L1LBDhF>po1HA?O6L+ zK-H^P(Dmvy(e(`K@03xqafk;$pAxF_T=9AN+AmKG-1%7;O=jhF^6APK%{6-GU z=ef#J2oj|rOf5(hko4x-mVD}T?*TL^c|Yqna~8DT40^_2TFNTY>p@;TvUiPsi*V)q ztF?6@rdTxx)I?D&;evM=-}Q-Rx96_^Ud0So8PO$A(WJ8RpQ^y0GzKcZ$%XSm$}|3#2= zHvnMz?7?G+H~b}M55Cz^k9?CJ9boV81?2(eXcGXar#j>=MIC}Q=}QRt$mbA1(Wwoq z*8Q?Sc)$`mj|4CKZ^W`c0KDvv(oBCVF_tX*mmT7vKMWSi?S*#sGiDkAbqTrb1_8J7FsDmf91LirbN8 z-ebV{|0~h8-zTa6$33p|o1>2Z&j{DpAnT`ew)Z>9L6_CXP z279%n7vGQaztk%D=f4OwXL)}~kks-5HgF%_w>sM0Z_(=*V0Rx0y9-85|1l_nOESS= z!}<;{jrWd>9Ne0Bn#^n(6N#E)#={A990C zgA?0i^sj7_vwe8r*@q0^xoDt4H}K2`dN`g_18sRu_u)0pGi9;u*d!Jku*q6%a3U7l zR2Ubj$v!-$>FqbFMf>e|8^M0xVEgdGuwx${I?KY|Y|Zh6x90qauQu+(!$^!{+}%h{ z(6}>4V;Og5DmL!>H5(V~AvuQTKK@MoD;g1KUu|3JU+2J}?!`{3cvO&RUGI@7AX&X; z#*lB{v`eq|!g1o!-w@|xo44NrN&UNg5FF;weUASN>>oax)q~{F|Y7yM#hu?8AGMebe-=D-2F-X-$Q`CKlQET)jC{ zf%T+e1x{kvP=3uH+~a!gjq2C@k#LRu;{QZQ)X0V$g7RyG>1c33Jst>C0U2N+u>ij& zT_5-}wF-XCUsO%C z0=lk}`ADFj`w(GG0EoQf07S0B{^MoT@vzR?IL?#HHG+iCE>_^j*LF^>@vp=JW}ud@ z`kEXVrhGxS3lcrwJrV^Z$?v!(Fsg|EjX0;b)rJ4CCQ#w2L^M4P&3-{Pucb$WY+k2o z17!0%9cA-7W!by{0tw=#{}L2IIhDlv@QZ~DPGvaz;A(71>hCZHF-;9t4^qg%?BEX+|0!=VJ^F;dz4;&#~(_0If z+lBs{FiW=9og6UqBkxuW9S}Y8=toOFpaP~;4h663lc|6Y4Z~@HlHFWFt%7V$soDV9 z{BcLw{Bc<}FM&XUxaq$hMNm#<^OcJuo1p4t6Lgzo6ZG3;6NtQQ0#S=>HjeY;WD_L3 zG*;lp*Cr{O&5;Lx&n3h}ONoVay4TY=FrV)#CK4oiZhIsOxcK`CXNdE_s@E-QKOtJg zvT1#>)K^_b&4SD=SG55$_mhq?_mi^By%T~4;->#z6hS$axi>G4%z>(xInZsAInZyD zIUw>f2ShD0*Er6TlR1#^QdWT&wjFLG)qQuM8fZBL}~%464Woa~C;_eQRW~0pKh)N;CaW5HCp<8$T4X z*l`XUeaK}ReK=kEz}tVPqNQZu4t#N@dN{tEZtzRV^uDKh*gzzA+J)~q+8!pkXuu|! ziF*>J(XHdnI{e))@U6Cu{7+V}e;@ z=4h;}F*6lsjoZQ(d#`r*=G{$bOcH$^RI~RnRQw_jbkJkFhVkBNKM6^nN(5}69{XiS zJ@(56Jq99)9=me!^%$r^UvL*$kKGn}3;@<+D9!Y*&h;367^uh4hY|D`a0k9vj}6Dy z5PHn^FwtXxEruRryk3u?TGV5X{{J_64E-5LkGb)fpdMq6#?oWVl-6S;+{m+UqW{~o zP`lAR&AZvTOkZF{0rxbUYED2Xv|rs!cl0goRfLbvQOwc%X+hfW88bvjBj{qN^G9X|}z>F5IuUg2Blt-dL62fkRR569OK zI^Fg#(dmFKhE8X^UZC)>8yUNy4`$W%`{7|5^ zP8$kMo@LnU67DKnYVR_K4{d6prBtN$Etz%rh?a;ar+q|j<9tNZo1?J^cNOeOyvf=E z-$(EW`W=7CeFVSls7HTGkLLcMO>WD*nSUYOvjD=0Uj1!Rua5mqCr}E@2Q&}#eqhkd z^6CQRd%lX(Zr4EMuEo%HGw@Lt{J9%ATFFR<-9+sQtz+m7D>jHvAOWZZF3P1x6MU0 zW|NzXK)RFX;y!lJlDW8V4s4x^f<#R_QwtIWEX>9AM5@zV{C&r{h~sI6xwsqVB8Vk( zaRtH4`vJE=An1=@_mKCofKuaJ1kJX&h=<$eq8hWw%|#&H$#Zc(J7~#V+>irX=b|7{ z)6Ud_L;(wPaepG!X)gYu<6Qg$O`pPCT#va3V#!=ww>WbVlp5zEXtvEoJlr-H)tF6g zE&}PI%*74OM+j^_^e*(m*f+eH9kgUF9#8-Vk5Rs8bRe|~Q`D~;oph4qH>Y|hWpvcc zG_}xCz(B@SAmA^gvA*{PhmY^bI*5Lkd2FhKRc*kYmOpl!*MBU}>%%awLEQ9@MiG?L zJuL?`&hfGCWC2w-$GOL0!pA--=;!l2?7s#gH{ThNpZxi~v5n(AIY|HsFA4Tl`r6Lf z)3VVHbRrjrR1>aSWsQGPbL85@Pr=?k95jO^TJv3**)SC*xAV?ywhf%A*?f`ie zI*Q9cM*#yFQ-MI6ydF-!2YEe0)dtAxpE}CxpUU!jJcJa)P5&emK{=JzV;4tWLDkDE z=r+kK=(ou$5P5k8q852=9Ouc&D@b?=t-z13?HqYMl2}OcDW*Ou2L=Hs$g3bx^E)6> zK$6$y9jWmdy`ys$Ouab=w(=!N6bk`~0v3F|n-eLKxz^mwpF7IfpNldUF85=7G0i_^TNp1!-bGZt+89eMoiJncrx2?u+a?%5&iy$vae)2(-pS%@OvfnsH zVNiZ@x`#8v&$8b*K8D(7@^p(5@YoXYmJax_rM(q&z+n9qU&WCT!v8!)>URUetVB4Z|0i-PMEJEv-3s@8EV% z&K)M*9?p8YYmc_$&NF_4)f3F)q z5rDSu_RI>;!3(w_zii*9f3rHj?55{wrovmo#0&T1nhNgIC}1=}1}@TT9ve6A6;;cmRx73i_2SSg6Il71f)Kj13-bH1w{aO zK@p{y{=;;cbZBIoTctI!d$cu}^@#xU{4ZNTq z-vy=Si@I6Dc0E~X1Z{=@*`jl-k8%5)A5))H0-js~p5lO!k8y_*@Qw@|=y;$5G(g;?$vGZ( zBDBHrxHHw#Gne`vh$$K${L}XP2c-WvUngUxUP&0U2qP@0o|B28FhZw zFzP7rhD3&ijfGq%&#%G=VCHF~j&T4i7L8&oj0nOYFhL{Bpx5X@K%qADJ0O=ycENj*u(3-2B?mba#e|=Xw zXp#Oh_1y}<;C&AF0pPn6E~OE}zKU(zIH!G`@k~TwB}`~w1#Fn$>Jky?&Lf>Ha}N6- zsgcZYQ{5w~-BZ;#cHd6V;xAdhzNX{czlI(y%>5d3AB@m_A}E3j(?1tQuweHr==~07 z&@bh+#Ie5Z01li?@JRRyxbV^v`;6cvmzD5s2OxE_!bp7uNJWYe_s8FM==feHCto1w z<;zZlPy?&JwsZ1prxFX8%*uB#^}TXn5Fha;)EQ4fqQ%4`Q9#PCHERXjjbO+=^8J>l zITj)(;NAtG(g_^SbJD>F^PE%&p*&|6R3Pti3o4LzUwKf0yyOc)ATK!s8_3^>_~I1C zoJ$>8uI7fiEcw2KB#d&CNyMK1=5#P|nSq$5CehIe7FMx6@{#XSN5_KjKxnrgNAAh{8 zJ1*@(4Bz{k&1I#55%A(`3b-} zX@N&4DpOHT3v>dHoYNYPM~Aj0r={kL%4ylI zH_Vw4#dX#EYJQTkSoY|)sX#l;X@N45#`AMio7VB`Ddx1e-R2u}PAd#;b509w2IsWY z>zG@d@I4s?N>K(p#QeMt;Xi+rs^PfejY>v2M;CkOCOvATlK6UQ7YBcfb=IX8NHVBaXHI2~>Sp2)e;BiQ_`h&-HHD{{%!%EAlXUCk3`NzJIcD%tus#E9Y17 zljNf~6$ldEW3jK**LF_4_i#J5iCjG*2e!(UAW?JL)Ph6-$$v4u<7wjAd45+4Dz+0P z8&sfxpu$u;1cU;Eo**C;2813IdrbGPCg;EMcNBB*!8?`~9!V%n{V4ixs!mjNqI?Ix z2;92ne7eQ@=mOSyn*-{|)#8^`=Y_}MVFtM{a^bNS-{T7SxZUVs<>M_*tTDUQXdi~* z71&q^g(wVTnr^L{D{g^WhjDmc_IVTv&%67P`T1S3IKC@xQ}*=na_#ddM9+uGM{`H# z(66NTjDI?Z{uZj^n+%qYTbjm8mmO>2<*S)#D!f6=h>*oIwY*Q=(7#U=R9jMZmYE7K zlcP=>=$ZU7-)c|l@jnYj2>%>?RSL264aW(pr%S17*29HiW;w#gX9*$vlEj7KHx1wg^)0nDOHHqmPz9X?qN1H*-3Nd~E$FLb7Zu&n%5tLKA z@g4eM5#o4I^>IAt2InXCeLz3g^C6B0BBzCU=)5D8$MKEhJfg}i#PJ~Ey(0T6eQoE& z@e6ir6FL6p92jP|%x$%9D@e4+)q+F;N#oIw$p3dllSCrCA?yjOmMdzN!+XVX(b4xg!N1LV+jltV0A7ksxr zLij-3^shk?lv6qU)#At@sCqdB-6lB%{WduSA}@zP)FOwC<2*Sz1PL#B75MSBog;_O zA{Jl@B71sH4s4Y}L82zIsRfAw4wS>A3UavcY~se$=XT*~=9pw_oBXYU46GiTunc0g3 z6O5YvDipybg<4?4+H@VSUtg3}#3o~X9}?8Ptb)F)gw)W5lqLm72x@qMIPiJ`0xtkK z@Iq;(KTF+60x$fK2VOL;u}wz*a$SJ_olR}+xdYj!51zeR0MD*66)kXrZs3^%vEg`j zXni1Nc}~9%**MQsWM;=EiOc|->@I$AB9WP?FfLM)`?{H?U;jk47^gYjMp*y6!M+a} zh8^FBL}yvpo1->7;iEQw#8>f(=jW!6`#!zm`MH_-xn;A{D>og@6Mmcx|868F7{meN z%&W%=;+Uy8h&!s$#j^K&--!kWf2Mvu(a&toc_rWra$qn-giCzFEn8UcV~^R1AVPnE zj#Bfc7CI47=qR9F``Lr=*tH+rsdhdwW7mFAXkXRQcdA)6$V)nY=>QmL1Q=(ubYSWW zI`+AAr<(RPnM>@1M~QdBGc4?c=Q_?n3ROJL{`6OMAC+??m^N*+E||GLKeg@41b=Dz0GbUqnmp{P0 z>%kH1CJzwX`ZHkb0bpB?(oBD2ZtL+w2V0N+(cl;ED$Z;@c=om)JQr;}=mwtI)(^*X zCtKe*&y=mVW0Tl=z$Rt8}6lG*x~mVhtIfx!@v&KFxyw)H|s*)LNI zod_s&6fn2-FDGWKp+lkF&<(Qnz+ep$3Xz>N^(*){9eo%3Jjm8Fm#}}9h$pA*AGd+6 z7pi&$a$EmO;>`{L3hhHM(AEQmWeSC83_^G1{SLDA%ntf$k$JSbuiU1|*1w9F2)6#! zq2_G;MFdH0JzxWE{nC!Me(7Lae+w9RFlzd@MiE?+tp^*Ktv{R^EP|~Eb#LoIzi8{h z5$q-p5Zn5v!qx-8wjQOK{t3io64&F04z?csqrvZD>%p_P_29W^>p?g0%(i|wo;%t4 z#(Ab}y&apx)&n+KTMtgex|<5)A~mt~Ow-$XRExIW@pfaj^(SXkwjNJ-h@ZOu&mFD2k>a$qn718u#~QT8j)iGV^! z0drgbT4Kf;IuzOs-5^^J4Avl_5ZO6XU&6oX(JA(MkgaDfVgD=!>zN(&)gtp~bzixS*!px0`*p-bu=SU!+JLpQ z>5jI1x@gP$cZJaganrviilCgXot;cS7N;Bs=jUj0UD7G&;Csy0C8W;)8;Oj+h01VICF(|B`KV~O;~sA#Z0^Jc#U7{4PV=5PxjE1yA!qlr*<}}I_XgtHz=i)HBw<*+ zez@wYkekPPx7|lmOMlg9>V!QH9}K(gsPD2i?A(T&m7E=o?)f24;n04p@OT?4YdVt$l2OoZC zyhrEV#9NT>_k^0u<-M06X)X`2fw{cp9p#_4l?+<9dnObB7&ZOppa?E0mj^a7pZu(% zP8fUL4%EF)0DV_cmV{;$I6_{G2Z(cd&qgi}0M6y1G}C_pahc@u@I!}O9{QK-oZ=oG z@a)wOcy^VkXpau)2A(;WHyqCnEfPJ;rZ@i_b^-j{gkJ2KWV_j?ZJcK+muJT&$>jky z*<2ntk?ftRFfLM)TprW(xja;hxje_)jX9SWh8?*)be4s^d5;dB@X0%V#8(@0c^HXt za(QkfCz#7)j>gL6F;j6aujK-R_6p(y@^j@9IiIlU0&hmYP zAgSd8j4fa5UC}E#+P)QoZQrY4@W31yJWx-4;0qh=-6f=l?Ve5R+zokd6%>mm4m`kI z@JO(UdoD~I0Bqt=n(4nLH*xqOH*xVERP?88-?F=+!DG>+fllC&P1Y{#!+-2vX+A(=;IJ|J0#`Z|SV4*>RHB%cpR_5^rO`H)Z>I1b0Kfr^_p5}2`*0wj2hxF(>GPjPxrYS^6ZMwGD@syu z`-9N_pwJ$YX4|6>wRh9(U_5ZJV{#)Z8v~PvpniyA@=yQ{WhTEt7#)&L0B>?g4nyUz zfaGx04_8Qz0N@Bl@=Zb#)RewE=7%Kv_^0oVS!R0f&U(=YN(-4<^nnIe5NphjkT?xO zt{ZwGkANcN8dyO}6OpcQW!)cg<*!rF#9sy@a4R$ z`}s*b6NwXng(sa^pbR+X7MRr;a7>lB1BJNYThu6y3%*T|G%f(FLtL=3V_dLua9r>f z#06lE;sQ`ld`$n5j4}X#V;r{9*n5(eKcZKpE<_m|!%-L;5bYGWGZJ zw!!53^^EfOf`v|MZk%lbfnb}2kZKG)XZ+m&5*z%M9<#9l3LG2!PCzIO7aM$^o=C@{ z{y_m43?;iN-D86v5;jx+sDQKnuM+Ub1t42ecUe7GhKdb-0v`Ce(PM-E4oF6i4SpJs zj2;{OPe3wyZ1A&yB#sS!jvwm(rT?ZggGbQE2EPaxd~EQ`02@6v_*Fn6vB9qcX!O|N zH-v=ykj4fOChD!JP>6heZlA^mkTlyKg{b}5vBCcl#<63A-xHFcsJh1nq7RfBGF~5O zUeU*bov+5Jm_DU?usGX z*u@5z>TzsHn9O&%)BYa%aYunt$eGk%KdC4jt zPuiJipJZ5w4Y-coF_>FmR>uaIDscx2vB4jxQ5+lmksxVo09c3EU{%N10H0YKaL)C^ zhz-CT#Rj0B#s=?RoY(*qi?IQCfZxp{!Lh*whz$VX*Z`%O{>Ss!06z?h4bUGN;x4fP zcr3;Spc8oH*kCvw2ge3#zNpy1c0Gv=0Gn)V0NQD6z*Kx}fNC)|aNOLOV}mfX&9MR6 z42})Z*>Pe6H&_#l4Va^`VgqJs)Y#xpG$c@lIyR{PTmS}3A_2o+s8ukz17ZWAqs)!* zbQCaG+B3j9*t69g?b+(V_UwzWXJC%(8K|fB?9+>5&p@$g&%gt01&;*VvkPI*0APED z(oFxWxjn-VgX|gl)6t%R$D%z0oxmg8v*CCgY|qquQTEJsJ+WtiP1c@)c52U5}bTW3AT^8)z3&hSyT1~IpXONqDG9!?V^wTFOdd)ROf{F;vTa81!3_J0H$2!_Z8f?{d| zzqL3v5EP3x5In%XaPQd$z7#eP0JecB&Gdho+d%v<$OfW69c>_ZEZRWO2|Th59FE7q zHc-tGWdm*36B`KFWNjd5r#6tOcpHdn(FQthZp=0?3~jRwM4Q1j5S<;z2D-tTpbcb> z#>T(=`$a8i5-$R#!A=2fbnCkLhERHS*#iA|;573j`d)DQzfG!7s zbva5i{lDb896t=w<>*gGT@D_Lx*T)@kF3jw<8iPqS93(^a@+MpmjgCgT@Ko*E@vuU zm!n$L<&K*hvn~%q+pNpcX0R?tXUEayZm=e(%bBCGbU8CMsxDteLz3z8)j6anoOc zA}FV};M$@s82gSBP<6I|d+aLNc}mdFb$7Vq1c;nwWkjxmex!GtG>-G+&NzdFKhZ<8e;^0EX(Ewa=&&XbcRknqw|fgfL+q%3vM+pQxOGCQ|N z4s4ySP#BcATiV0E)L-D6IQ5=6i>BVI08|;i(-&@P z8_rJLFh2uwZjXCh$hniJQGe`K)*pvJX@DV$$v`pH9UF?e1Lp!S zp>ZAgoFynabzw)FJsz5D-~sUt_nu?2OAwO*z%dz0GyNlovE(WN{4gjcLw|Bzg#Kjv zsllVuL{rh#0iY9j%x5~Y((El3nF zw^auaC2Olt7{*p@$XPV?{smxUt8Qi+=ydd(QbjqqTK?Wz$4qO z;dmTux72)5cFT4>v0H#m)^34zYPXn*w_B(d?Uv)_#%#C3&^FsGv>9x-(Ajb9mK&@I z+AZd2EW5=_#dfRvIiQ1SNHV*%u>cGTSN8fHLal;1^SO=kIUu2;_7SY@Xgk&x zZAbrZuoqy6>;)*M_TrSqu@|6Nv=`t3x|n;<_Tmk&7XYxmKxw9bYHly^!ytQs{&ch# z;IU{gKqv6X_F_052iprZN0hy=T~F)k$DSAs;%>3~E5Nv;lRUDLgk=Cs{|THhjP!PLhVfWdJaZlU*< zgv*`ubeAcy%eQb`_`#idc0b&Teh9A0tOpDziQK3dg!)PT_$dT zO_nlD+{GTgmHnhx@2qorXTGD}nIEioo(N@w4v_B%4(Wg3ER+3hMcsqkE-w3ihP{95 z@1zumyps@=wGSC~BUj)C9vY7udy#L27YP7+ktogdpG>SJ*>e1ld6D*&&XFgEyWS}s zkA8vx{(r$XCh#^80APOgrdj@JdA|YyI!?cO`Sj*r%+F12n&)50d2+nZ(zKojc zFU^m${hh%|R+LX{U!({FU4FK5M&A48AK7MuWoAUXv6|i|Ke~Lksg2)U*>mztwH-g8 z+Va^cIzmrv+&qN$ymZq#uFfufwX~Zh{WZ6AcB!=6{JrobPcS?=jVDo^oeob@2j`|| zok}3_@8WlZ*>8hA_7M)FJFlKeW88o0(%y;{^DEb{ShY6vteRR)GkuF1p$oRnAAK~} z*Ddtu*XXys?ze8My-93!7#R?w+lIsIYxcX*CivZZ*iV4d*T0W@6io#B1o-^i^7*+H z?nB_}#m}u=HoI)=?8>dPQ(O1DY^v8g>d@I`RHcuGlkCkc$F#65+|Ng~ykodvmry_XtA-i^i#VGwe&LrNiO$VJgs%VfnhwDb&WU>!2{qy3Xw#^5_ijNd;hVX6RDGlWl{1T?f>ORa2ob(z=fD zqerC{eiSgw2vdQZcwL7_0qZ)J5zmrd*Wos@uA}Y_dOp2OGVS*ztaeCIz>u11tAJ2w zA7#E*^isN4@a1;?-+`XMON_?(jwRqflz?|C0qha3WqPxo7s_xz(i}yZ+gdcNP2l)*~kOM18C`7`|?cL3zzCDD*wnrgq@1~i%nv|bD z0MqIKzvFj~j36!~4V^y-fP;9~?>`YnhvZ;@N4i(^euPBnb$##8MI^WQr|$&)1Gyd? z>xwKZb!2Lh$p>Z)W3q;%g4<-_r4Z*yrFfZZ`6xMF;PmSVu{Q(3?<8{C!7)LDLufWU5O=xb2R!Q7xPeCwT!-T^iHwQI z^t%9RzSv-NrA^@2t|u`okJRQLsc`DB15^cZ7bSl}`tgEo2)4Ga;G3IQ&AW(;R&HD@ z3fk#94pZ^#IH(raaU3^Y;z{(f^=W)c@cC`kzOF_5XiD{{z7KAElZ8 zYjgdN9|q}v^rxf#2aiSl4?2NI*8jutI9UIy`J(i{?RujB0mGb88h%Xu58A2zXDVL* zqgvGej++~^{trXjtpCwwu>MD9$I<_8uqLSgnWM4vKQk5U|L*719!^7&=>MQn{hFFu zFP8_j`n2oi{<|$Mzj7vFw)qtlIKT2_0iiHle&rGLM8c=3A6WuEssuc}1blP>7-FDd zuXf%>*v8JUJSHF+J-_nUfMoRi%Hsl((eo>h4@lzt%69xv@1XytFO{5yNMxvdzoja_~P^E%G2U{)iofr(il;_@q)qtu9Jna*qQ9FqJB>s+9-la26k zN#|F%O`2a})r=?Yw6jk#EaX?Xj{FKH5}4Kb70ipc1J=Ke_d`658pZzgSp-S_YrxDz|(_D5reMXpgUnKn82`O;YhUahfuPj zVhj5slh^_2n;Sh^W^qJ z*r`+655etj)cYaA>uZi*&?dw$?fW4xSQ5pIvLC_?w(N(%2nxDU_CvTgFv0y0+`(jL z!@&Iz+>hj`;r2uD$oTyb+_QK;MDq^mIDb{ssKN+Fd9{Tc7#yfVUQLiFAHvjvL;=aZ znx4OF6n7S!O_Xf#g+hCzh5N6=ody4#vuNt47l6T;q5T5SunqG40-$a^2oxe0Ht%=& z&H~{_^)~RMfR-KSh=H4UzW|Q{oEpoBXGyz5+@`Q!z{Oy^8=F6_@Tal{#%?GbN*XHFANy`w}xI6V55I) z=)!xN#)BcKR*1Qa3HzzR~D(5WDF zDGV}{!XOeU3^P22*_Y|mGp2cnlV!RqhHPUOCu6F|aWW=4G&$yKfryKfF>R?4Pdpu; z^0bmTnRPkP+4)EKxTFmOw@Kq8c*LbWrbo~HAR{%IRMro%18HBF!P6hlhFg8X%L4Ze^349O) z0N~gdrRDw4gFq4+Sfy!!}3Wa8`Mrj<$cFqV13NDSn&m)B+eW{U4wRF4Da!U#1^& zA7Jb|Zb8-g0Ni_5$$Svd&uwWqs|-ZW2r(j8K|j*7%8g?_q8(W|zlxuv^T=+SA4vGq z$@aDSTG%Xj*uIJ&wi2!hXs~&2#`>7M(L8uEom*IU{);Fvv0{4O>^NZ;a!RIKcW9;G z)A?6B(1{$sE(f;Cu^>@%+SGzX0f&&|OWRl|$+0}3$yvENlE&%nIKyl2xcxW68|3Qs zQSA+?cBqxHv*=m;IsaPj1K78tjO{yE#(oLG0#l~{I~2i@>Hi5uu#?UApU^L5dAmQe zO7{qla6T6tczFX4z5*`1@Wp3d!AmZCmm4|g3Z!24fYeujR0I)n_&MVJTr=c5QbID! z=Bt8Kf>AGr6*vtwuld-tPv zbso-3g?zwp2mbz@ICnW34&g6ccr$?l_dPG)r=A+_0XT^0LXJ%Z1aZ(ESTPlFU2Nqh zKQHzn`pxElQQ-XVhXsT}m;7%yFZLFCB6}}yEdk$F0{%w{`1S%YGrc!p@cWtG7ht3B zXL^4?BKw&>5J02vXZj!^;Xb7MnIH$$TT`JBrDC~#x}OO`V%wt-wRh8O^z&ku6Gn&R z;E~UZeT0xGMWS=J?dQcrmX#(nwa9V=6j_ddBFhm_WLX0%h$QBh$_H1FuoMP?Nnx1( zDGbv&hS@jg^0b)KAx|rFTQOuCyF4xCb)2WgtVVhi6SF|X)Fst*lm=|#e?0V}4XH(cW{3taF zzTwAIZ9vSmzN0_5ey~5dWN-5Pz=-KDLlIo0G1uQ3eZad@fABYw4+yH>?E_u!_K_d0 z?>Yhf-0ur97Z7<@4~WFoE5uxlV?H_W4kWw>SAid2+d2N+$B6|@#wd4kMGg##tdKhq zBubV|El3oQVy=$g{0VwvIDhUF#JQFOZ^#QA(PE3OTf?Oz#y=MPh@t>mT(8j zi5VR=)lDsQBB0Pwz{Qv8tEh9P{#;uZrGHAM@l-0)fplSnTdP7H< z-cXk5gCWQuZu*Cz2+FBUuU{OQ230T9pxY$Vpx-9bK;&f_h+1U2ahxY7(;(rcxB@@E zHc6Ro-o=;ZIKN0NWHSAw92mq`=C=B-mLO5{*wlhV0S{fVSF^G~{^X9N1MC_8QSI&3 z#Cc%V>zNZyU_EmmQ=vsHhb|v7N3=sO^vl#tWRCNlj}ZN|@nlLR8_9R>-%-Z)FUpvG z>GI8kTS3S`nEY?;Qy$$YV_SqLi)YAt2SF)_RpQ5jW-eFv@%c+U>_y4?t}i8CLY`8M z-{hnRNEbm~dRFK9{iSoXzw~QF$tJ^4XwQ6M-aelC&Ua6Ih1#d`6ynGvNA>81uiECc zvDAi(bR#2Qg0KLxgoYW3atUg72Rr)6M@lYmY3~`t3-0AKweX@OFvyjuKzqL)P0I(y zn@IuR_uUpvWDty+{#{T6m$b(RY*;;^|c3P|zQ%^RIKoVBP)CfWXcCuf0^*fs%s;lg+6 zcT<0_(5n7^0jSLA!VmDM1@Iw)g&z_i@820`h+UlO^)tRyue4nRTNekuR4e28Qoz8L zsle97fh|*kt&3aTUb}8Mw%_}ssQV?q7cDSJLTBAeQ*L_b%F0?3vlZY>bw_1*Jw`7c_G_7kphj+~(`5F&oiz6xQ8=bP;^r zHS1>^r59&-miCUNakgv8^^fhK#ktrZDDruvpHQnHdBG<=;)o!7a(9ODI8y;~YcfD4 zYcg(r9_jdD+y39wK<1~Zej3&ON7Y*Qs2tdF?jBg2yHU*c7|dfZW%@f%1V^TS28v)O z^BEsTzm#*JW9?A^2i|7{5558}{LGL2JMfav`>;m^NWD`Bq`m^AA`$r>m5%Rda~ebkCdqj9AF*^Uq7b|IL9~w7gy~=S_uTqG~8r0V)BsT%zCXD2d0m-fa@9L1atsb6} z-SFdX3dtM*bByFqgd|KSz5f4Edbju&?u(u3T}OJCV_13LYPJM3U@E+B@|Wa&Ur~DB z5m4TDiq9>z<3)=N2=Ciec+(NwzHn3FRSVoycxSPnV=BCY6owH^VHlto=4_DIul=4+ zgF@+{W%DjQgaYrCS}q_I+A~J!-P(V4WTQ3Dzm$M~Edj470smG2+QDR*3ghZ0Ad62B z1h@apUaI_e!p5>E0%Q>kcenPn0m#bR>&o`MQXWp0grzVDObWyNPhptOG0eU>=a*wndmZcNwqnROb_yKx zI^HXVS&g(YCT4+%Q{(}MTol2z>7R!pSf&&>cp`I{1M$G=0XlH=fQ6TSS98}B$b zRi@kyT9PRTY_geh@Flr%Q(?qH4MQe1$(u6=K5vd{F>mfT9U*W2IU2VcByS#G3G(LX zIx7#<&~>TV&r!`S<**rfa(8YD&-=7FBT!Xf@YTkoI)+IOf{v0@cf&lvq&jmnR#Kgr zij(TiQ9E+#VXxD!G$2s)+I_2MOTgW7pz<6-KCB$G3ms)jji(a?l@Jd*SM za$tA|g|#z5q6Wv*fE<03WjADO22 zA5ks(kB+wy{Kp$?-$fX9c#P=mAdeAGc%P6T@zq8b5hF21`nW7WUvCLU@C%I#kt=hd^GW;VjFc9c|H}Wn1(v7$6Wg{r95?%IUuMx6%)}4I2Ay z4^Z_s2y|T~vw@(W+lX+^42Zm803ugGKhnEB8pnBZE3_ctS79sg<7<;#lWh^*#P8cg zEM&5KSPpEJT|uJev8e@#0uCX&hqtj%l3jT~lPk#55rj9$(vhk*K$Z^cC`*TxW$9B8 zAP_hGt55{xRF*DZ99aTYFH4}?Buk**CQCr%WeJE{WT|nSCnrlF;iabnKfbneWa%hk zA(N$}b6~412@*ArO)W?ia0pr2+{QvlmgE6Vt{_V{C%i$Hj#0G%vUGSySvtHdOW%Y5 zfw<{^4@FQ;W$8?V4Jgx40FN3Nm-= zP;+^U+YltpTL3mNZ*fFNnLMH_lm81r1aqeU8x+AA+Z`z=Ohhi(esc0RZPMP@3ugfw)Za7Wkn<-U9v0Wgq=JJIz~wXRijpv#U%+ zOJblKc;>vta6CJ-YDtXrd78IqoLeeyVaF!PTL3oMyahOsOogd1E>e@c1=I9-3sj4F z3&-1yId2h$9eE3MmIb`|ya=A~i3)ziR~z#d7>RN67H%Xbn73e##>!hTQzParZc8JQ z*_hkqz*b!@NR-+(wIETzA^f%D+gK?1Yw|!>a!KCegkkB)1DamJKRl7}23xg7)du*7 zM|QMDN0x2TF8h!H0&&xyMiG=#|M0Ix8#H#_0#v;X0^KJ65cG2!5%Ly5wL_ndVfCKL`eF)JX z>n_u~Q0Lr6T(_6p?en-R{Sdk-ecZY=oEJNsXxlSr6_8*o!?8uZjRBZs8v$%9))3OY z`VXQu_9_Pyc(4A01%$$Id-d-|Ph{`*?j_(qmVoyt0qi<)~;P>j^ zFTh6MtAGE1ME2@GAb>{StN%bk!hJ~h>O&5wx28fN+I!FK)4lo-65AeysJ)wJqwm#! z2w`+cM&GOdP(l*a$q;+>MV6ITG_}Zb1Qc10fFjEgP-IyHD~KfKS5RW6f`p|o2uupY z{7+$+&N0lsIk&e9b6S*QnA?gW+t_W~!n}_6>SI=8i##S~fr#6{g*i%%c$Vos@;rxR zuRiNsptF;W@Nr4+)#o?0I_6+9QYs zOvY%h$Rl%LP-Nm4se9H0iIQddu)IT}fOej5qIqHWQXEc)BOXtUtP_L+J3-q8gu(zP z2XJ_Fp1$zd z07JLv;O@fXEIV{B*PPq`>u=`50222+q>(jbO3u^q?J>HxJql6#@Tw!5br%|E{0nDs zm-eoqcWHg`3PXs&Q>MfZsG0$$mI2kk3L_FfZJBn417j0k1%{D{tpf&zZ#Z#=fF~66 zG)jCLi(x@eb6qsN*an_=c+w7yA0%xXxQ+d2Ep&IB8`wbvgYJGpRC}VTwdMvkchuvX z2kY_MLV1HJ)8B$3I5Pb^pa^!d+`uvP%Od0kz=7B4;K5hGg;(&geg`kPeh;|;Aocnk zNPPuJMcL=MfsXHJa+)6my{@moX{do!U)wo$;7P;+BrviA{TvvSL%|LR5-r=cAW^{9 zi-#t1-{u*_d0^G&E7X0PXc4O%D+lU(-m_$%o=mN*eL|t#7~zhZyOBP`c}r8D>Cmh3 zv?`75lh?vPYZVL%O}rikTZ4uLmp6*6ETG8#dGXw zgtyZiJGSE-JGMN>9)dXrV#yrax;S$Tlp5z4XtvEUJlrbnQ+>e1*v__V1EQSSP>P)WW!$>!!j}Ff>>4{WJSQ z$>#BXO|4}9n`%MT2E_Zf>?jYnEXqT)hV*#I1{g8@C!q)~(s=)ojdC(pybr409R%GV zG_frJ{aj{3ybna)1q325KzY31IOda+CXn#bWM8YV?HoVvpY7PjvQp?roq+d%o2P&&XLc_1OiWQVt8xq~BR{uzIk+ zv1SmxA$q|p4!KCkUdZz-k3g;zS~w?woN`!rb^wijwD(*>!kQ|L>@ifo5+!E=i2@F>$K?fWEcn=0`Q-9|CRgyu&nLVhR~+{}g5(Z=$(qBh zJIc|m2g}ig5FQXt{PX8E%FY&MX|xy+l!Ca>80feYG;?_gF(4lHB0|rmF`yd1$w>u} zE`l8J9tCf!k04w9QleySH41}m^&RNtKFiwb3#ff2Coe1jgYA%8Ghall#cCERvVl4kK0X_7(V~56074 zITRWVy0+)X)7avlw&(AqdC$2f8E+-drk3$mK-&pt&oR(`F}A{};f)2eZYm5y3gbTM zcHtHBgyGL{*pB%wYD4bkQZWX48Br8{W2%>{+5kI#n~wVDHZ+6-?D%V-f53?8Uy35Q zNbUH`8+FlGF%YPFI}W-*F~xcb^mDxwVjv*$b{vSjlFDPC#xb9q#sUeivFvO0waMA> z6??a&7wld3k0p6I$FCD|Dk02Xf88iY3SOi+TCf8B3hIYjwsZT&_I()Z1(!+KdiBC9 zsZB8d-u6EH;gYwVvfq-ja$5l*BrL3%X$b|Yud^!C35B%|x?*Vqo1^ft!RDm4@)ptohb zm5MgCjJE>nS%HBLdK;sLH>UMA1|fxUpLDzM3QfiH1Ob@snD3(2+uVk8S4(=hiyw2C zzn^poQFMCSoqGFMf~2S30OM0{d`H5A#c$*9maSX3wnuYlzuR`y<+m;B^8RH|+F*zd zyMbb=yWdpQ-8g%73Gp-Xy^x^j)U_R1RvY9*fd?EF zP0$PD4cqENE8tX_JGZi06JD|l`!20tOMRw}f(U3r!MmF)%0x&3P-c8I4y%H)kdlmmi zxRl2b)_S*XW1rzVu8&9SGG+bhiw8wWSc-SwM`#b9NPqn zMcV`(p!d1=Y@2q4Z32L86G}7vPv^D?KMb->=ub!61RjgF33LLFY@3GTajVk+J?p<1*}j++~^Z3;u%Y@5(#ux&zT$FWUruqJ4mn4__56Eiic zZF(~eNoJegQUH#suir|z2H7TILaXLln9#rq*b;rcX8qbmOAOoe0B?uiHoQ&&X}>&Y)&DAN35X?m^3N4*$k^Yh1Er9T zO7i5Ond|wGC&$B13)?+*X`Wn-+2pcLK)MKdrX){}J%aBbN;cnu!k~PM-XnM!wNK>N zN@}u45NN3x6KYI5_*_$YkD$;}Q#xn`M$M^PP~+Xw+?}vn+I5dow}pBCPI|1z!Xv?yj$ zRz&ozT91?m)Z~P3oci+bBD}FL|88_P@zDV5;LD%baUPyno`=82JOo4J%Y$O-%m1`E zAIHu!fnw2@2M_R*x%ceLuY)fS0Q>SN&Gdgyj3s#{{4mIuM}P9UUd%Ir$D%I}I)O*_ z<%i>OurIIXi1Oua*Bj=^h@w~csy1k+zC0*HvChv;ZCb~#r|8RbyUjOdUp@?NvoDV} zgME4RI!5|bwi~Po`tr=tSiU?n75nnt&*8m?1}^ahO#R**7!;}KQME5mkSIMGkSHMK zgu43O@5@=>b)FFx(B4nDa{iUyEyNV7rovMgnXtxDvJD@gR&O*@L04Bpc8mx+b|rDgKdMFBg!_|t|ztuu*v3mKs&V!OvT#k#+v%gex#BHcRPzA*OgW6`m^T{Ed_ka_i2dx7JRZ>Lb)L)$)L`md9QEr_nR` zOTJNf`;I#P_C+1Pb^%0^7<2`x&-~mheB_r9{SnueZIteplR*_~lDo*Nd~c|709ciy zG}GTLSLOI2SLI1A2Yo2(^3$acyq-K2Eg=JU;EUDwaD1ieoA{dQeS>Jq8uGfWD>}UM zNqO^fuPHjF{C8A~I-1*!;=i9s6YK_9CoX@bukm(L^k*D3?8ak)YM411OARwq-PLe% zFXu;TOor0K@_^E9?7QZA>|Z7?>M`bMEIr0djjYE$PGd5Z9+L+WJ(k{Cbp_#-H2_n6 zLe&QB-#)pc4m-K1!=f{+hmqVbfDzL_8bxrC#@`3f54oQ<_FcoE>f&$ieONe%_w0dw zuA9RCZ6I=Lgb}$4+m6e~Cpy>A-b;J-t#Qmpbc9yUui__Z4Z(fK7bN_Of_<&NHo5)V zZC`vy@2vWy9q4F%!PKA1fqC4aa%F-<&FO$d0m(M1J3;oL^}bINCA;2-!l3oO>E5OE zzOe7Sw6q5dB#DeOTG|_HGxcW(t*NhMv%;G<%&^al zvJ4EntZs-)R1)Jh;E13I$^h!1UIg{rtKfnw=!hFi48~n!G%?1+#4N^Wi2f4MxEq%c zHA)hVM&k8`E&^qt;X1=2-Wt7|r{Z9Kt+ zdtH|H9z^q5zEk`R3oW(VI-%*p!_QI!yE^@%`)2~{q6s;~``jn2nVH^wYBU-D8RnD>dOIyLc7W3{R3P?d1Zs2 z3#@DmQAmuTnko5gLaePdq#)0IQAqlVstA_YD~qpCD>wM6bV@$k5c{_9Yg_*Xm<5Ud zSlpBRnm+KK9r_1f*9UMn=mJ;&;2ZQn-()YjXZ1*uBmUWMz3)QxtAcEK=UrZz9NA-` zM)BIO_Wax2#$2<Gi#!V7VwSf4>QwJeK=d*|iVWf_F!Rn;kRjnS zoB1Np;B`Qh0fl{Eu7WJnC$xvVZH~5pAk6T@pH1AH=okm!9~8_FJGMX4ytjzgKpD$2mQA74n%Ri15wL*Zm*@iPdVvTpMHCWsAUY*Ujr=FIafAP=(@EVlYt`eW8{y7}cCnT9Q@0CGF0f7iHI9rfX`b3;# zS3ykS3G`?EEdGzEh1a+KRL1`hBtMA*nCxJ;-uZBLM;&~2Q3v<0gR%ufblwsabDeul zQRhy479SM7npJu4qD2ZGu!$_Am(A_tvAGR^Y;L18+rOR|%g$TkL49*OjkPhJx(+X% z#RrdGgU=)fc0fmYl#TB3c=Tvn?tCzF#GJR}p=Z0^fK7AP+f|^QpSKh$aSt5T;vTr? zW&wNPzqUIcRJ6_KEzxH5c}om-k_~b%tSN4g3r7=ekPB1k26^}2N&GR1q-NuPQUd;O z9cZkJ-sMpKoy0)LD)T|0lK=x9103UCho9EDbc3H2fNIgiBal6k(RWzUx8@81Nw14dl`Z770^-1fYl z9xTFH15l0rKIk_2`=DR96`Gd?qUi4fQH#IdDD&z0`ydfL{0jWU+V1i9e?=_RbiwU) zpich~9~*x^AhFYY5Re!kt?A~>!%EuI)!$*bqm6~Qk8ko0p@SvId+VFYztjDW-Uhp_ z_As@ut{QS>+dHnS?ZtJ~|066Q5O@6#p$N+PT6*{5tR+y5YYB9l))MHqttB9eYYB*2 z)>5OKr?-|sBCeha{KVQc*HZJ0&A$tF#6q@~blH^VZ0KO;?3#^p%^Qx$h2j1m%x5=P zQl}?jBnNFF7e7O-3>%S;V~z>=t(o}Sy^7PYq*l{aKxP6b#7*}ne*8BJl&oG#4b*Ne z)0&T>W(kr;0hcea1o(MaCHv^R{%(Gh0<*QABoE>xWa>aa78@V$5&tH z7~j=leBn+#NGvXS@a!uyNw5XF%CiJp=WIT@T#p^oz&Ktnw-Jh$!{gv zrS<+k*K<1BrE|)5=_@csV8r#mfg-qY{coWN7HYQXv-G4KZ#^dP$Ij1~XEVV;v`ye4 zR=|a?stObmMZ){6f&LuV>Ar08w1RKopiR;mLn%yiv~6TeTn&S7rr%Vr`o1w8dQWx>0+* zj#$XnsT=H52kO)=*z17AtR+QafMeL}^=&Ma^hfAm$raWTS$MOS_BFK;Yw6sMYw6tb zTAJBN3kbwre>sYvoUf%{F3ws4)wq^Gw`nbbe%o3CqPUiTsAVlR%6WQg2_)j`slZRH zO>-@E&!y}~EM#j*mrZHTh7NYlj*&~*zfP}Um=2&;hKbaBy zse#(6gS6&zDF+iI&!qr1GM92*$Mtt!dHt=&q62fTe*lW$jB+U;UGrDhP=mU^I&m%q z)Z;n?eP2m)Dc}fs2@#6qQXY(43ILKzL20(XiMY&iDR|H!mxA%t*Lg9Q0-ocN2hYAT zljKrBS9z9P%6L3`wC%Z+#<^v3DJ+{Tmjc*yb1C2?WKUcLxrAECr3lTKOF^}mOYywj znR6*BcH~kp*ipF@^oYq5=@P4rxfDoZl3a?H