From 680b295f9e34baa0281cd8f178fc2ce1c72d60a4 Mon Sep 17 00:00:00 2001 From: Rasmus Date: Thu, 16 Jan 2025 12:27:23 +0100 Subject: [PATCH 1/7] Update gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 30c8ce1..a13d7d8 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ **/**/bin/* **/obj/* **/**/obj/* +*.gz # User-specific stuff .idea/**/workspace.xml From 83897c72cf8854468b11552f94de5a7470d15f32 Mon Sep 17 00:00:00 2001 From: Rasmus Date: Fri, 7 Feb 2025 18:44:22 +0100 Subject: [PATCH 2/7] Way too much happened for me to create a commit message --- Analyze/Analyze.csproj | 14 +++ Analyze/Program.cs | 3 + Backend/Handler/ContentFilter.cs | 39 ------ Backend/Handler/IpFilterHandler.cs | 118 ++++++++++++++++++ Backend/Handler/IpScanner.cs | 51 ++++---- Backend/Handler/ThreadHandler.cs | 31 ++++- Backend/Helper/TcpClientHelper.cs | 13 +- Backend/Scripts/443Header.txt | 9 ++ Backend/Scripts/80Header.txt | 7 ++ Models/BackupDB/Filtered.db | Bin 110592 -> 118784 bytes Models/Handler/DbHandler.cs | 12 +- Models/Helper/CompressionHelper.cs | 2 +- Models/Model/Backend/FilterQueueItem.cs | 7 ++ Models/Model/Backend/Filtered.cs | 4 - RSE.sln | 6 + RSE.sln.DotSettings.user | 8 ++ ...m for Communication and other elements.png | Bin 0 -> 1825689 bytes 17 files changed, 233 insertions(+), 91 deletions(-) create mode 100644 Analyze/Analyze.csproj create mode 100644 Analyze/Program.cs create mode 100644 Backend/Handler/IpFilterHandler.cs create mode 100644 Backend/Scripts/443Header.txt create mode 100644 Backend/Scripts/80Header.txt create mode 100644 Models/Model/Backend/FilterQueueItem.cs create mode 100644 Type Dependencies Diagram for Communication and other elements.png diff --git a/Analyze/Analyze.csproj b/Analyze/Analyze.csproj new file mode 100644 index 0000000..2f601cf --- /dev/null +++ b/Analyze/Analyze.csproj @@ -0,0 +1,14 @@ + + + + Exe + net8.0 + enable + enable + + + + + + + diff --git a/Analyze/Program.cs b/Analyze/Program.cs new file mode 100644 index 0000000..e5dff12 --- /dev/null +++ b/Analyze/Program.cs @@ -0,0 +1,3 @@ +// See https://aka.ms/new-console-template for more information + +Console.WriteLine("Hello, World!"); \ No newline at end of file diff --git a/Backend/Handler/ContentFilter.cs b/Backend/Handler/ContentFilter.cs index b6930b6..368e458 100644 --- a/Backend/Handler/ContentFilter.cs +++ b/Backend/Handler/ContentFilter.cs @@ -99,10 +99,6 @@ public class ContentFilter string url1 = ""; string url2 = ""; - string title1 = ""; - string title2 = ""; - string description1 = ""; - string description2 = ""; bool robotsTxt1 = false; bool robotsTxt2 = false; string serverType1 = ""; @@ -161,37 +157,6 @@ public class ContentFilter for (int i = 0; i < ports.Length; i++) { - if (ports[i] == 80) - { - if (string.IsNullOrWhiteSpace(url1)) continue; - - try - { - (string, string) temp = HttpClientHelper.GetTitleAndDescription(url1, 80).GetAwaiter().GetResult(); - title1 = temp.Item1; - description1 = temp.Item2; - } - catch - { - // - } - } - else - { - if (string.IsNullOrWhiteSpace(url2)) continue; - - try - { - (string, string) temp = HttpClientHelper.GetTitleAndDescription(url1, 443).GetAwaiter().GetResult(); - title2 = temp.Item1; - description2 = temp.Item2; - } - catch - { - // - } - } - if (ports[i] == 80 && !robotsTxt1) { robotsTxt1 = HttpClientHelper.HasRobotsTxt(url1, 80).GetAwaiter().GetResult(); } if (ports[i] == 443 && !robotsTxt2) { robotsTxt2 = HttpClientHelper.HasRobotsTxt(url2, 443).GetAwaiter().GetResult(); } } @@ -201,10 +166,6 @@ public class ContentFilter Ip = ip, Url1 = url1, Url2 = url2, - Title1 = title1, - Title2 = title2, - Description1 = description1, - Description2 = description2, ServerType1 = serverType1, ServerType2 = serverType2, RobotsTXT1 = robotsTxt1, diff --git a/Backend/Handler/IpFilterHandler.cs b/Backend/Handler/IpFilterHandler.cs new file mode 100644 index 0000000..7462ff7 --- /dev/null +++ b/Backend/Handler/IpFilterHandler.cs @@ -0,0 +1,118 @@ +using System.Collections.Concurrent; +using Backend.Helper; +using Models.Model.Backend; + +namespace Backend.Handler; + +public class IpFilterHandler +{ + private readonly ConcurrentQueue _discardedQueue; + private readonly ConcurrentQueue _unfilteredQueue; + private readonly ConcurrentQueue _preFilteredQueue; + private bool _stop; + private int _timeout; + + public IpFilterHandler(ConcurrentQueue discardedQueue, + ConcurrentQueue unfilteredQueue, + ConcurrentQueue filteredQueue) + { + _discardedQueue = discardedQueue; + _unfilteredQueue = unfilteredQueue; + _preFilteredQueue = filteredQueue; + + _timeout = 16; + } + + public List Start(int threadCount) + { + WaitHandle[] waitHandle = new WaitHandle[64]; + + int counter = 0; + + List waitHandles = []; + + for (int i = 0; i < threadCount; i++) + { + EventWaitHandle handle = new(false, EventResetMode.ManualReset); + + if (counter < 64) + { + waitHandle[counter] = handle; + counter++; + + Thread f = new (Filter!); + f.Start(handle); + + Console.WriteLine($"Filter thread ({i}) started"); + Thread.Sleep(25); + + continue; + } + + counter = 0; + + waitHandles.Add(waitHandle); + + waitHandle = new WaitHandle[64]; + } + + return waitHandles; + } + + private void Filter(object obj) + { + while (!_stop) + { + if (_preFilteredQueue.IsEmpty) + { + Thread.Sleep(_timeout); + continue; + } + + _preFilteredQueue.TryDequeue(out FilterQueueItem item); + + (int, int) ports = TcpClientHelper.CheckPort(item.Ip, 80, 443); + + if (ports is { Item1: 0, Item2: 0 }) + { + _discardedQueue.Enqueue(CreateDiscardedQueueItem(item.Ip, item.ResponseCode)); + continue; + } + + _unfilteredQueue.Enqueue(CreateUnfilteredQueueItem(item.Ip, ports)); + } + + ((EventWaitHandle) obj).Set(); + } + + private static Discarded CreateDiscardedQueueItem(Ip ip, int responseCode) + { + return new() + { + Ip = ip, + ResponseCode = responseCode + }; + } + + private static UnfilteredQueueItem CreateUnfilteredQueueItem(Ip ip, (int, int) ports) + { + Unfiltered unfiltered = new() + { + Ip = ip, + Port1 = ports.Item1, + Port2 = ports.Item2, + Filtered = false + }; + + return new() + { + Unfiltered = unfiltered, + Operations = Operations.Insert + }; + } + + public void Stop() + { + _stop = true; + } +} \ No newline at end of file diff --git a/Backend/Handler/IpScanner.cs b/Backend/Handler/IpScanner.cs index cd4f360..2971008 100644 --- a/Backend/Handler/IpScanner.cs +++ b/Backend/Handler/IpScanner.cs @@ -18,22 +18,22 @@ public class ScanSettings public class IpScanner { private readonly ConcurrentQueue _discardedQueue; - private readonly ConcurrentQueue _unfilteredQueue; + private readonly ConcurrentQueue _preFilteredQueue; private readonly ConcurrentQueue _resumeQueue; private readonly DbHandler _dbHandler; private bool _stop; private int _timeout; - public IpScanner(ConcurrentQueue unfilteredQueue, ConcurrentQueue discardedQueue, - ConcurrentQueue resumeQueue, DbHandler dbHandler - ) + public IpScanner(ConcurrentQueue discardedQueue, + ConcurrentQueue resumeQueue, DbHandler dbHandler, + ConcurrentQueue preFilteredQueue) { _dbHandler = dbHandler; + _preFilteredQueue = preFilteredQueue; _discardedQueue = discardedQueue; - _unfilteredQueue = unfilteredQueue; _resumeQueue = resumeQueue; - SetTimeout(64); + SetTimeout(128); } public void SetTimeout(int milliseconds) @@ -76,7 +76,7 @@ public class IpScanner f.Start(scanSettings); Console.WriteLine($"Scanner thread ({i}) started"); - Thread.Sleep(100); + Thread.Sleep(50); continue; } @@ -138,7 +138,12 @@ public class IpScanner if (_discardedQueue.Count >= 2000) { - Thread.Sleep(500); + Thread.Sleep(1000); + } + + if (_preFilteredQueue.Count >= 2000) + { + Thread.Sleep(1000); } for (int l = fourthByte; l < 256; l++) @@ -156,7 +161,7 @@ public class IpScanner Ip3 = k, Ip4 = l }; - + IPStatus responseCode = IPStatus.Unknown; try @@ -166,8 +171,8 @@ public class IpScanner _ = IPAddress.TryParse(ip.ToString(), out IPAddress? address); if (address is not null) { - responseCode = IPStatus.TimedOut; //ping.Send(address, _timeout, buf, null).Status; - Thread.Sleep(_timeout); + responseCode = /*IPStatus.TimedOut;*/ ping.Send(address, _timeout, buf, null).Status; + //Thread.Sleep(16); } } catch @@ -181,15 +186,7 @@ public class IpScanner continue; } - (int, int) ports = TcpClientHelper.CheckPort(ip.ToString(), 80, 443); - - if (ports is { Item1: 0, Item2: 0 }) - { - _discardedQueue.Enqueue(CreateDiscardedQueueItem(ip, (int)responseCode)); - continue; - } - - _unfilteredQueue.Enqueue(CreateUnfilteredQueueItem(ip, ports)); + _preFilteredQueue.Enqueue(CreateUnfilteredQueueItem(ip, (int)responseCode)); } if (_stop) @@ -229,21 +226,15 @@ public class IpScanner }; } - private static UnfilteredQueueItem CreateUnfilteredQueueItem(Ip ip, (int, int) ports) + private static FilterQueueItem CreateUnfilteredQueueItem(Ip ip, int responseCode) { - Unfiltered unfiltered = new() + FilterQueueItem filterQueueItem = new() { Ip = ip, - Port1 = ports.Item1, - Port2 = ports.Item2, - Filtered = false + ResponseCode = responseCode }; - return new() - { - Unfiltered = unfiltered, - Operations = Operations.Insert - }; + return filterQueueItem; } public void Stop() diff --git a/Backend/Handler/ThreadHandler.cs b/Backend/Handler/ThreadHandler.cs index 4cebb5a..bafcdac 100644 --- a/Backend/Handler/ThreadHandler.cs +++ b/Backend/Handler/ThreadHandler.cs @@ -10,10 +10,12 @@ public class ThreadHandler private readonly Communication _communication; private readonly IpScanner _ipScanner; private readonly ContentFilter _contentFilter; + private readonly IpFilterHandler _ipFilterHandler; private bool _communicationStopped; private bool _ipScannerStopped; private bool _contentFilterStopped; + private bool _ipFilterStopped; public ThreadHandler(string path) { @@ -21,16 +23,19 @@ public class ThreadHandler ConcurrentQueue discardedQueue = new(); ConcurrentQueue unfilteredQueue = new(); ConcurrentQueue scannerResumeQueue = new(); + ConcurrentQueue preFilteredQueue = new(); _dbHandler = new(filteredQueue, discardedQueue, unfilteredQueue, scannerResumeQueue, path); - _ipScanner = new(unfilteredQueue, discardedQueue, scannerResumeQueue, _dbHandler); + _ipScanner = new(discardedQueue, scannerResumeQueue, _dbHandler, preFilteredQueue); _contentFilter = new(filteredQueue, unfilteredQueue, _dbHandler, path); _communication = new(_dbHandler, this, _ipScanner, _contentFilter, path); + _ipFilterHandler = new(discardedQueue, unfilteredQueue, preFilteredQueue); } public void Start() { Thread scanner = new(StartScanner); + Thread ipFilter = new(StartIpFilter); Thread indexer = new(StartContentFilter); Thread database = new(StartDbHandler); Thread discarded = new(StartDiscardedDbHandler); @@ -39,6 +44,7 @@ public class ThreadHandler Thread communication = new(StartCommunicationHandler); scanner.Start(); + ipFilter.Start(); indexer.Start(); database.Start(); discarded.Start(); @@ -47,6 +53,7 @@ public class ThreadHandler communication.Start(); scanner.Join(); + ipFilter.Join(); indexer.Join(); database.Join(); discarded.Join(); @@ -57,7 +64,7 @@ public class ThreadHandler private void StartScanner() { - Thread.Sleep(5000); // Let the database handler instantiate and warm up first. + Thread.Sleep(15000); // Let the database handler instantiate and warm up first. List wait = _ipScanner.Start(256); @@ -83,6 +90,22 @@ public class ThreadHandler _contentFilterStopped = true; } + + private void StartIpFilter() + { + Thread.Sleep(1000); + + List wait = _ipFilterHandler.Start(256); + + for (int i = 0; i < wait.Count; i++) + { + WaitHandle.WaitAll(wait[i]); + } + + Console.WriteLine("Ip filter finished"); + + _ipFilterStopped = true; + } private void StartDbHandler() { @@ -101,7 +124,7 @@ public class ThreadHandler private void StartDiscardedDbHandler() { - WaitHandle[] wait = _dbHandler.Start(5); + WaitHandle[] wait = _dbHandler.Start(4); WaitHandle.WaitAll(wait); @@ -130,7 +153,7 @@ public class ThreadHandler while (stopping) { - if (_communicationStopped && _ipScannerStopped && _contentFilterStopped) + if (_communicationStopped && _ipScannerStopped && _contentFilterStopped && _ipFilterStopped) { _dbHandler.Stop(); stopping = false; diff --git a/Backend/Helper/TcpClientHelper.cs b/Backend/Helper/TcpClientHelper.cs index 4e01df5..a448cfd 100644 --- a/Backend/Helper/TcpClientHelper.cs +++ b/Backend/Helper/TcpClientHelper.cs @@ -1,20 +1,23 @@ -using System.Net; using System.Net.Sockets; +using Models.Model.Backend; namespace Backend.Helper; public static class TcpClientHelper { - public static (int, int) CheckPort(string ip, params int[] ports) + public static (int, int) CheckPort(Ip ip, params int[] ports) { // This would be way cleaner if the TcpClient didn't throw an exception if the destination couldn't be reached, // and it would just return a result.error, for example. for (int i = 0; i < ports.Length; i++) { + using Socket socket = new(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + socket.SendTimeout = 250; + try { - using TcpClient client = new(); - client.Connect(ip, ports[i]); - // If the connection is successful, update the result array with the port number + socket.Connect(ip.ToString(), ports[i]); + socket.Close(); + // If the connection is not successful, update the ports array with 0. } catch { diff --git a/Backend/Scripts/443Header.txt b/Backend/Scripts/443Header.txt new file mode 100644 index 0000000..a663ab6 --- /dev/null +++ b/Backend/Scripts/443Header.txt @@ -0,0 +1,9 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.5.111:443... +* Connected to 188.0.5.111 (188.0.5.111) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 \ No newline at end of file diff --git a/Backend/Scripts/80Header.txt b/Backend/Scripts/80Header.txt new file mode 100644 index 0000000..00cc4a2 --- /dev/null +++ b/Backend/Scripts/80Header.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.5.111:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Models/BackupDB/Filtered.db b/Models/BackupDB/Filtered.db index a1172a10b5f4a58021ac01492f6e3c0dcb57d763..ccb8ab2383d3860d6f1e6053719d5b8f77ad2acb 100644 GIT binary patch delta 356 zcmZp8z}B#UeS)+g4+8^(EEF>VX{Cue#-cn7dht@MKprFiZy?Da&HtPK+jfBoj9XYY zYp|W;1WB<N!*OgvK(%iIVGt@sVR#D3>GOU zU`3l0SQNIiOkiXZ;P}PBf12$VThn&F1&k$ZAUAP<>}6o!be!I|j4{v}DDXyHU!QR? zkntGASd?Fqn3R(Wv~QxHB)hn*EKCGuF^ra(zG@lcx$Q5OGfHqQ5)haez|P7DG*}Yo zVh;AeiJ3snAafaE#wEpgT!nH$SIBGfTjBmH@^-_L~$~1h%s@Ffu7{bTROsX6s^L*v_|rv4o8$Ge1w< zImp#f>D^;CAB!YD6^mhs0%E~ WgCqb}BDP)O1mgqt>8IB-ngRfst2l1} diff --git a/Models/Handler/DbHandler.cs b/Models/Handler/DbHandler.cs index 282eaf8..5b8136d 100644 --- a/Models/Handler/DbHandler.cs +++ b/Models/Handler/DbHandler.cs @@ -27,13 +27,13 @@ public class DbHandler private const string InsertIntoFiltered = "PRAGMA synchronous = OFF; PRAGMA temp_store = MEMORY;" + " PRAGMA journal_mode = MEMORY; PRAGMA foreign_keys = on;" + - " INSERT INTO Filtered (Ip1, Ip2, Ip3, Ip4, Port1, Port2, Title1, Title2," + - " Description1, Description2, Url1, Url2, ServerType1, ServerType2," + + " INSERT INTO Filtered (Ip1, Ip2, Ip3, Ip4, Port1, Port2," + + " Url1, Url2, ServerType1, ServerType2," + " RobotsTXT1, RobotsTXT2, HttpVersion1, HttpVersion2, CertificateIssuerCountry," + " CertificateOrganizationName, IpV6, TlsVersion, CipherSuite, KeyExchangeAlgorithm," + " PublicKeyType1, PublicKeyType2, PublicKeyType3, AcceptEncoding1, AcceptEncoding2," + " ALPN, Connection1, Connection2) VALUES (@ip1, @ip2, @ip3, @ip4, @port1, @port2, " + - " @title1, @title2, @description1, @description2, @url1, @url2, " + + " @url1, @url2, " + " (SELECT ServerId FROM ServerType WHERE Type = @serverType1), " + " (SELECT ServerId FROM ServerType WHERE Type = @serverType2), " + " @robotsTXT1, @robotsTXT2," + @@ -256,7 +256,7 @@ public class DbHandler continue; } - if (i >= 50_000_000 && !_compressing) + if (i >= 500_000 && !_compressing) { _compressing = true; @@ -427,10 +427,6 @@ public class DbHandler command.Parameters.AddWithValue("@port2", filtered.Port2); command.Parameters.AddWithValue("@url1", filtered.Url1); command.Parameters.AddWithValue("@url2", filtered.Url2); - command.Parameters.AddWithValue("@title1", filtered.Title1); - command.Parameters.AddWithValue("@title2", filtered.Title2); - command.Parameters.AddWithValue("@description1", filtered.Description1); - command.Parameters.AddWithValue("@description2", filtered.Description2); command.Parameters.AddWithValue("@serverType1", filtered.ServerType1); command.Parameters.AddWithValue("@serverType2", filtered.ServerType2); command.Parameters.AddWithValue("@robotsTXT1", filtered.RobotsTXT1); diff --git a/Models/Helper/CompressionHelper.cs b/Models/Helper/CompressionHelper.cs index 319b9ff..64b8a5c 100644 --- a/Models/Helper/CompressionHelper.cs +++ b/Models/Helper/CompressionHelper.cs @@ -8,7 +8,7 @@ public static class CompressionHelper { using FileStream originalFileStream = new(sourceFile, FileMode.Open); using FileStream compressedFileStream = File.Create($"{targetFile}.gz"); - using GZipStream compressor = new(compressedFileStream, CompressionLevel.Fastest); + using GZipStream compressor = new(compressedFileStream, CompressionLevel.SmallestSize); originalFileStream.CopyTo(compressor); } diff --git a/Models/Model/Backend/FilterQueueItem.cs b/Models/Model/Backend/FilterQueueItem.cs new file mode 100644 index 0000000..e7b72c2 --- /dev/null +++ b/Models/Model/Backend/FilterQueueItem.cs @@ -0,0 +1,7 @@ +namespace Models.Model.Backend; + +public struct FilterQueueItem +{ + public Ip Ip { get; init; } + public int ResponseCode { get; init; } +} \ No newline at end of file diff --git a/Models/Model/Backend/Filtered.cs b/Models/Model/Backend/Filtered.cs index 5499d3e..0e9a4c6 100644 --- a/Models/Model/Backend/Filtered.cs +++ b/Models/Model/Backend/Filtered.cs @@ -3,10 +3,6 @@ namespace Models.Model.Backend; public class Filtered { public Ip Ip { get; set; } - public string Title1 { get; set; } = ""; - public string Title2 { get; set; } = ""; - public string Description1 { get; set; } = ""; - public string Description2 { get; set; } = ""; public string Url1 { get; set; } = ""; public string Url2 { get; set; } = ""; public int Port1 { get; set; } diff --git a/RSE.sln b/RSE.sln index 7851f8c..42c9599 100644 --- a/RSE.sln +++ b/RSE.sln @@ -8,6 +8,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Manager", "Manager\Manager. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Proxy", "Proxy\Proxy.csproj", "{55208481-5203-4B25-A20D-4EF644F76773}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analyze", "Analyze\Analyze.csproj", "{7B0C666E-DC4F-4008-9933-08AF5FAB0099}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -30,5 +32,9 @@ Global {55208481-5203-4B25-A20D-4EF644F76773}.Debug|Any CPU.Build.0 = Debug|Any CPU {55208481-5203-4B25-A20D-4EF644F76773}.Release|Any CPU.ActiveCfg = Release|Any CPU {55208481-5203-4B25-A20D-4EF644F76773}.Release|Any CPU.Build.0 = Release|Any CPU + {7B0C666E-DC4F-4008-9933-08AF5FAB0099}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7B0C666E-DC4F-4008-9933-08AF5FAB0099}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7B0C666E-DC4F-4008-9933-08AF5FAB0099}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7B0C666E-DC4F-4008-9933-08AF5FAB0099}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/RSE.sln.DotSettings.user b/RSE.sln.DotSettings.user index a46370d..e7d85bb 100644 --- a/RSE.sln.DotSettings.user +++ b/RSE.sln.DotSettings.user @@ -2,14 +2,22 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded + ForceIncluded + ForceIncluded + ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded ForceIncluded + ForceIncluded + ForceIncluded ForceIncluded \ No newline at end of file diff --git a/Type Dependencies Diagram for Communication and other elements.png b/Type Dependencies Diagram for Communication and other elements.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0f490a6954e011eee476612e8a2388e82ecfb3 GIT binary patch literal 1825689 zcmeFac{r5&|39vGr&L0xND(R(5-M8^rcF|z5-MAcB)hTR8w@jL zkC5!^*ws(hew|nl_b9p=;&*gs2oCoLi zw0SoOZ{XtM;?+5Q@*)?PP%{^o=%#i50%xwRnn>Z|y2GV&^4KL$b5ge#^7(Md7-eZ| z>eYr@WcUlUjmM90~F?4lMiQ@zR_TLSOge zIq;6n*@s{K*Rw}UB>p-1XQTXMkUv`ky#Bw`AV;S>J#S_h21!C;`{(2OME@?0L1{l3 zT@?47&MZ4hdCkMaf4%^`zH=_kR8cziaKV>y1lK#!U3jYZ_{iI!(Z7ZlOThV=)33x; zJ3Ee}Y{mx|k7ps;_~Gz<`1b6`12WeWhXL3Re*l(G0CzvFP7(df`JD#f(mkW@vDyx0Ga-BL~aI}P=HK79(T?` z;(Puh{@=5{d!1`-tm?&L%4tevT6B1oev_h8s}-l-&=OtW-9hp1{Nh~Q?owN7Gg7XP zer*yhbT8tWU|LArcbu-@{eyRonz_F5w6fN^^7(Dsefsg_V-g$Uhs{jlg5;aSpIV9Y zV2g8I-C1*zc3+CMJwN*A1P&%HyYJ}T`#<>YeA}B!gmQ+(W{cDFHL*&C56Bylp2h!0 z*(M0be|Z08y3S)V$|rdUE6XfL+-32t#>>jr>7s1jXJ-8y3P(@=fUrA7`;_noS1u@f z)jXr?Wx9N5N{Uu0M?@)-Z#h@3a>Vi3MiF7YSJM(0C0*{K-iS$jf0g;_Q|8L}rZ-+8 zMwqpE#pr7+sjCGJsL@~~GH+6CZh>V^kyuvf<@Bb%iWo#LrcUJ3_2P@~0!zlQuW_sg zVRfAgU3hB-Q9t}-OEgEbpztNJnttPr70uFGYmy)<&l?isjV2CB8=#4!PlX3yUXF`S z#B5fIKL0(8JX~6?1DoK3-DPVJi9SM$g&|rK$>b$=cLkCFGg*j$Pj92Ohf%)g6N5f*VF!BY_bFr9J4?wFCc6yu@F1>9v!QB zdA|DNYY8ophYP8i^B?dB8En(>vUu^JaCt$ZbT4k-C(f9jMYJC+ z_Va#+B%sniQ_oSeEft9AsUtIF$+P=qYS>Do66s0cR*27~n2K~xX9+OGE z3#b>IaROG^xl4Ydh{|M^N6YJj@^E&Ivk7}F54g3g@#(;0ME-H0eG(vtIbPHsKfUWKQTC>jt|!2+HqXX4S2^1^4l)FJ0zA9daF+8HT=@q&y*03?AnOV#hrvH^r9t^-_$>Qx&8GY@ILS-Q(YaeaoiQgd39~ObI zAoaPCsV?gHEo>hXYpo7ahr)ny?v&b|7+(-aHw%92U>%H6wfAN{9dAmk7=)eOYS?oz zr$t66V99O}29oaUbNVwaiQIgIY~P7o+q%xV5cHPsg2?@qG=LzEV%xfbAP*jdm4(18 zOfTe}&)s!y?PDp2XU3nc-dE39*`aJ`t)rzb-Gf^Ojk{xsGBLh@3InzCH7w?>NLZ8%A6BzvC!f?Z@;n5heB2 z`=`9t0K}rbvfqKY2A~<{ARhW{>32; zU#-b{zp`--qiI@P%**N6w)z;uI*F!4eV)W53g&r(VbAPnTRuM5b^h(SNM$9G#eV#j z-0{Pn{dW_I2ax?>owxfu_i4;uLTz8RQ$f*>#mGDR*L1zA>9W%6OHmbuS7JI8UMJTV zd*zhb5_VY)QZSPH^!UmiPj0Qs*fx9K@`x-5ePO*A^}QQa(#$rauTLdwQRwwyVX+&^ ztk0sq5H#MY;jUz^~3#x<8ys82UUR` za>NN2uUuHD8x4%cPKxVs^JeVBQ<<6}_xd9wgM7QP5uJisNTa|eP;6t_t76w?827764@AlJwsS0-D4IymKOn<`!Y+%Zqnar12T1!+jgs;)bHXpvEYs`WdZ!5Vz-F?N@ zn6_PgznTVRw8unQuB*U_qU}6&rbJB^-;_6cLa07GAYQ+>2j@u528N#MDx786aF@-b zNywk9ZK*_DMTqV2X+T(X;prWP4WHslkdv;BBFgC|F$)^YMd+Orz5lf3+_r;{g*Vgi!y}Y$v0bULFw~ZK=30#w_IbXf%%aPgWlXK{kP^ ztFb9VfkG{b+Bg`yjtbCo!TcE0>4Z5fS5?W8I?hCD3+ml>KDEd%N(GXhWO6iJZ!)rN z*7C`0gjarLqfWQ&s5hR2{yFgO*S!2 z$J1dW8iPC$?)rgj4Q9v$-0f3|D0ij)ce@vz_`&YWxZ&dZrx}1u@lPxE6%hY)l3&g6 zzi5P?AXf(p%9$PJ2OoTyzj2$gG8=u&^umwn47%x%Iel0W{ClS}l<9QmNA`jKUMS?N zI(747QK7y*G-aTxvd?F;ligPTND0uD)g?2vwytrp9=d+v(0h1Qx2i$L8I>Q~5a=&= zy1zC5c0pjh>pDLS4sL&&BfOIZqCVOC!wjNYwN<>dHM+!?i7&%Os1J_ zpjCKxN< zR87uqvb*uMJxh_Bf)NqH^2jr0!v^TK*#NBXpF9(LE zTFli!h?9u|)`G@y`5O(b!;~h_JiRErMQMs7CsrZS?c0-e zdRJrF>8`A?i%yKGr8Kp{=2G;+$*wEu`dm$^3Ou;3bFZrqk)C($niZ7_|lszp|qhf8;{0bJauK^i+7h zhgq3XKd(4Guf)B|JVU&5+k!qiQ^m2Lo+XM^n#^{s&33Ng2O{{O)8~eeNHHWU%cA>I z9r3*q@6}*26MAL8ZX=DgcGy)zUm$_qQP7uFe3d3%s2<#Xg#0TF}lfA8@>d5rsHU@B(ck2s&k9J zdTi15JZDW`WSeoE(R1%F12D_mtoC39ar1M0Z#xRDuXKu!!kry)h^mM58=#Mb>xquF zr&;7#0BYn)-vn5#Iuv;Lk7EcLvNrojXov8Ad=aUzuS#FxG1;`~<#4)Cc!2gpTKa}C z3uOl%u*SidLnRa8Fe+}UCm+QL9xY`>&z2#vvP7ICBUtuqys=UdjtbUW$0I0duA1rG z((70ozqNrjdWN}io0zQjRP?($RJKT0?~&qh(Elcz(W{bHb1$TI0;%n~6Kx2VN$BuA znNe+RG9K?vEwaHnnwx^|Bn2*ieuFC;1^2NN%#Y=&nG zOPKsYlfCvXof3q?lqMm`houH3ixv(Y=P-w*S@e2)d2?c>`^4mbil=Ox0-ti|EUpDz02mUO;!OrXX8#9e%;G&AJCj6L+A3S7EsqA%EcIVnS97J;QA3Em&(#R= zT5a2#B;_sCVN-^H68V|&Ra+~GP)E9=i8otTd{KQR+!RmzoEuLXfPuBVa<7|RK0@th z&sa8=UZLaxkxra?v{Bo2^jrxDS4F^^{E1=v;M*7C7wP~OoC}8WbTiPQ2k62Q#LS49 z^Zv6zui|)y-?mj9hd<@Cywf#Lnf6(`kz>^{G81cSAX)K0$n?sXWBE!r2Sp)$wc6NQ zrL#hH!O;pxJC;9W44hF?ICBl0kw1XdkArBn5PFdKGj2Uu092*Mi6^H@AvyDo zw%P!G=lToieo9^0z83_Nq<6qI@#kGpqyD^bb#p)76rp=dwfW9==I=oBUC6vch&vE$ zAq?dr)0NocBJ0(4pLJD=ML5?9^+|d?hS9@zUpy+1#29N2ZhoixCV*c5+CQhX(L`IB z+?`FjSgCRK`Fx=RGhxIZbZ`uxHI3r^xSY38Y>kFn2W_nvHaIffu|}Z+!S%JI*?AUV z^N-^R5`wBg&JEr5{VxKwgY_^rqC{2JY}8Dj|Lm8U{zyjCAT%C6^;mkNHg$ykh9i5c zV?no$2h2Q5ZIU;@$i)i-qOwH^azP*~8G@nbPc8T6ChaJ3Q?Qq1+3RL64+`dKeAOu( zOzcvCKf7LKIM5`Y9GSnp0)f{w4E1QvcO|>bjT&1Nr(34vHc7_D%#iLznr&Fi&bFL9 z_+8b}ipN1^*XPd?2gT|2?9j+R_z5z76(r$LOz+}v z+LoF896U-`z!FHc-m!MX1wqUH*!(q(2OpAS7%m*9vqMVj7p)uvVvZwqV5U0SIvRbe zsiL_)BPy3eijOFDsd@ImmL?{fw4a2Ux24!~tB^X1)YWR7+Xjz&*&bPrOzO@)&?!F#Q{3>myX%#WqWHp0^+67e z$k*F5OG~18jD4Z8Mh%H+U=ql(33MuWyC1zpj5X0TKz|FBP{oByDhT(7%JNb}57$v!(f@PzE(YAIdsX zK$b#CzMt`kO!5cEDRj%5rG_|dO)mrjO5pktEC6r%`196G+bY;qx5o|fO?+mH9%LnY zIud6V*Oh?)DQFlw+35WFz6bx@QiDlXr4VR*z|i-nbx3xqMczwL1p*WQ&dps8#v|!+ zE7S#h&XU<>nriuj@m4UgxS7kKWbT_-fuVrC^R!klJ{MQ>))kiE;yQ1#0-V51!f}QA z{GY}CfcMu5?x$wtL|~Ad^lbG_8f^G4TZ1eP#&m4t*=paIr|*K%I{7w;M~E%a{FuARq^}S zw~f|0oQT~+D()yIEsf-~jS6MQEfqIViyH>2Q_8naeFFrd-9Pr#^lu%SKh$#n`eV1o0^k8{{&5H>_rJdWzSvIRuLO)O)2n!O;5kR{{E+b)cS4-@b5p~`okDU|8EB2 z{SJN5Fe^{BQ7@~is*;?LWQhmxfF~S3jp0o>>DMc*WeDpxMbh;e zp-l3#m@Pkt;@+lC!Mp~$bbcD|_ao_i2f=n6E$~$8=j$j?M6b=1BOZpYz%x5<48Y#^ zJs=CnuE0@8Kb0fyeAq&izPbVt+<5_r$WIb)kh>Cz90JB#tB*>&2`>C80sXdB7VpZa zaaMMYLAp$`uvq!Ast;+@XqEaBb-L=4ga1vzoSPI3ugIu>5(e+kendWI)#=Uu&0tq@ z>Gje24QM3uZc!~>d6oktF@zU^PAyT?TeF+#D7z;qi+xfYxRkrjO&@YOnVHh<5hRWw4BJ<;VS1`8-=OF zMQP0X=OlJ(8BHlIZ9Q5G!6S~IJ83h2gP3KpbYh;7(R-N0E#s$fWWjHdY+%@RVcZ0zU%Jm`zR? zu@_P{yHye8+(VynG~v@k4_r@(m!*zpF-6Fm^vCsEYSs{aNZOpaPmhD5f79trwN-OF z+;nTUP;weJSyEo|$iVc~w)^B~P&xIp)Oz&O>k5STyQ{Ytse92(xXoMKU0BbsI5DZn z=VOjGEgx&G$)wdylB3(GU6oNO;)R?B@f&K{+*cRmFvM*Z4gRiU68J4}V=1u#*xQvd z@ur-+<%rwth2#wFAo3-pR+N2LIPmU5tA%>rD;wp#DkF=dvC})K{o!#v9cM@1CXXkR z)#)WlCQdk4>KAK710fY#bf%@oAC2bls-#=E%_ljXuIm)>Enu`F#VmZAN_dJw2&g)D ztV7XotSnYh`jUqqIJ*jo6L?kMxBsTqg>>4p?22pWJ~H^EMt!>8PJiD3x45zvwX}X3PMPW>ZN||Es0ggD_VkAJ?)bj>`EHW%K$71?xLx}X* zL6y!NBoSVmUn9!q`XgB{FW`Q2@ zYi&Z4tHr9td~Wvm*i@KqP}N!RcN9qwJTp;}Cfd#Ff|tzcC^t2R zGf3@4(b4q{dyYke88ijsC{OAPt($HTBl?bEqlxM)7SpWj6MLei3g3An1F{~L@_F1q z?G|ZVh0n=*&>{}Wi8p|wIUSN>^yG<)EthjVYvVZ`orNO{t!8NTxv}Xb{wbeHMr#-b zZ3{zHA?o)SCzI`2Eo3n`y_K4VX~KK3EX3iSV-!DvJ$|$~8)1p+Iho8{(l$(5S8{c5^QX3qovpC<($#(og{wEtW zeiCPMMymgl;bYf`k~z~+X`fuHw(yEVgXF?VCQNUQktXam?Q!9gn$Ai;@#_!)qS2#{ z_O1%e2T(JKXqHsdQy<3jI*aGtYH5E^Fmob?dG%Cz#Ph23z&=6Y&(Xr4Esd1qE*H|` z;AHg%n^>=*iHUCiLfVK>$TWjB^gEbneSt<_KWkd27+LyVkphkcQZo5go=C zVtoOhHam6AUNIR7vZBe7!>QG^on419OHbSQ95ZV79xuAIbaT9Zkh?R7$;nP(&nj48 z^q%C3dXCPcKUo{8aeSG&8Tjb&o3$~l`7~n>4ztEyOszPhWa>S|81HJnZ~J*vqAc~; zNP@qOvnzWX!PMk=b z)!@!I^|=zlLv4!N!Iq+eObpW3h85G-YzUbI@^?Dg18dczQcBkgc?#H)$7VV`IcsFm z!iiZdOJ&5hwPx(NtZLnF5aJVBmrJ1b)wF1!FSlH#(qOR+bVvQp+H8gAPZYFX^x(uW z$kskX6$gzXLcAkK+?SCyy(T=lvQU@X+{w8Xm5cV$4GGq<+_(KSN)p%#PWF0Xh)`tb zQ&TX6cF%;^EuV^A&bCQAlBS-ezo3Psq?;pK?)Ifz8|pT(Kqr;RQYjyzakSrn+$Vjm zjP}ldEt2~b~G8}wPV=d$@tQFOVl<~50AO)!}uOhinN})tS9|x&*}$c602gh z2DhnNCG#i_1j@0;eYa(q40Rg|8T#W2fCZ~(0xe%P4#*ZLW6Mv6omeC6;4YAZ5J zEgauOn5JOXrF){9syfawk^G#3BpXt^xZz`Js~D;T02h`aSE&B(o*Q3*)i7D_x|*IQ zVVE5|{7md)^eQd=`pG?*#Yg11!v#4pv&TS8xyD?4XV;>HbuhuwW_ZMXatXjo0Cy+` zMFixR1&0I;Z`A0H+G>vVe9`1CPye-Z35(vpdA`8d%uZ@7#e5Vr@nzc@p%SmJG&%Uq zXb%N5fox;F3ORflJ}Z}~ZhUX}8Ghfm8-4&roSJ`jcfGUc98Dhmv<|Wsr_Z>G51u8T zW7$>TMfS;MS7l7G28scTFJ*i8%%3klzS_&cN8^zCC)Zf8xELrfp$A1j8$aB60gAbf ztZ5N54#^3W4FY@c26@T8U0JI|6aRInF#q(sWZQ9`DsxTBbh?keh5MDk7yuP4o_!H% zGBQZ)R?EOz7^-mQ+CQE{PKI;03RtKPf7;U}KDPZt5*{%nt}k#9@4EO*lhNbI;|+V8 zbHhHB(YhcT2go`NMq|Bx<>XE?GriR$qY);DnSD$aAX(4jCwF=HuU-6RLqNF3Bvp4y zU)*oLF8d50E6u~O=-z#JgTpIAKqj27XH^Gh-R?>R{^!<*&o<=<%k@;5GMlX=VfGSG zEi?DR-$ZPZ6jDsRW`L!ic4EyFPzyN@BUCH6nRmkGFUEKGaK>~#?6WPhCI&_ZlWOIi zH8CL{BWdk$O!d|ScxsDup1K=zs$aS;rG#nHMl?axC1oTFkFx1?#;}ORN?ncL6anI# z8j8DnZBU~^OI3&s^lWe9{3hJ-)jq&GS#4#-wrO zJtDgm4I**DWM@D$x8D@nI?7X?dDS6U(>>?3O%mq&Wbg$@?8dOWy4l~{>=;Q?AX>Eh%uGzGa4hwaCc6e<5lcg@ z28p?&Gx8ZY7RewP&xw_ggmF8=l?sw?P3!aFTYJO3oXL+}y<}LZ7sBuuYj=M3v7V%$qhS6b}3z$L@OY zDMFmE3vaN0MR)#KEBNPOrqk2don2i*#f&+YOTeltGoP2LuEOGX#Vw8Iz_9Yn1%18Y zYew~Eo@97Bdj2Daeh@reWw0>XkI-~MpA>@N8qQ$#Jsb5{+B>KyHx`_-{g?6)FUa5M;~(% zQbPEUBg-;8_WcghQqvbRGN>Dv#E;#@?~=NR%*&O17DgGk>BDZ{%{PBAMR+vB(|yzi zW0MW4kI9i(uYuB$1fMFJ&tiYCeD-z<=Hh>?4nS$kTv%A+)j5-sb6DzEC=D!C`=C9^ zM?o}$`X7LVIaCsnla|Qo09ELaJjadWqY-y8&yKQ0@EXr?NRUAG4RSoE)3C9uo-X;^ z*dt11%&u4;dQHymeLj0m&xXVb*oD>_`Q|Lvck!`oz;*-s98OCSU`)`Zv#2K1>ZojB zE>P%yM6(9KZBUaTF#QJ}(ONruzIM31`m!g+{ZMWP7JB z%1jp-H6OOHB}0@G;f^2@UXE4+gspxQD{w7T&bS-hRbNI}%rK~(uAXL&>4&H<_8GPy z*adwQj6&jEwKz`H0lAQehCbU%GxSP4J8worj-&~}851l8an5j7l~~bYg0V*c1!JIK zft!d!`?CD%pPbiT$Scuz(`zRmUONvmgFE8H=!RhqM6B?@EA#P_WS{w@aDIK-D^Rdz zSAqVm?5>P59HfB%TDiNfGE9p>)Rm~9IIrHqQ8O@NiT$zpj=TtSaGsOKj8Jr9vy%hy zOZ@iUw%Gz{GOegd9L)kd7F^halo{1&lU{P6(xS!KdOpO&OD&fb5L50%^bj|~k@2C1 zx2@j9Yuev1?W)U^zVpoj+C(8^qb5h*{=Vs}bgVx-nc=hoqWe~j$rShTOEINuI=%;Hh;8!KnKUlutV#4KXJ>o%XXFT zGI$0yy05h2oBbjhN@i$9C7dd2|Eg2E=4!TACht>ROEWfKJ3ckNJ`Yz$kUVPVFkj?f zC8s05o^a+)bL#x~qJ;IZL21Ue6^l(BLrtIgirTLI!dC-ABDedR4D6Sb({!WE=HF5> z@yj^VTkX~Z{w!zSt9;l@$k$|It65PJqh?ShnfA==61e_Lz}p*_6mw0Bi_=h74d}8b z0#_O@Kdm{XuiGX*WmoX#hDzY-Go9}~p2g)WFYB>tuOrYSy+`+5k0`k7MXQuHS@l-b zFl9t0#3IyuGoO@g(v?Y^xoHvm^cBW47p@ccR$eGEV|wBaB+~0w*7O&V{VzfdRc}#V zbx&8eIPk80mictNsJnGpr(kKbAi17q!(LnbEdAkxhP9AkfYq7i%;rZA1H!w5Wa3%{ zf-Uc_)ST?m?-)xOUySb&kxS~R>(AV*WHkLQdZ04 zR9 zGZ^tE;-24GJ-gP$nTofQAJWeym&Ro9S zJANB@iypQ)G%8OMWo@?XF8HpFmE5Is5xDCz*T=1#3{p-I$kS7|}V+NuMT>s`q z8oz}RVwoz$L$9s86mXUUdhUGV=fkK^pJuRH8Mg-pPV{?tZv&2^Tdv;*l%Z`FhEy_P zK`NzA&1Js!)`vLGIjH+vM9t{VpVv&2X34IHwvYX62y{9iyV0O&Ub}2YTMD8(ucsnP zUbY2KKYw?U`OsGtpU!}I!q>bRf}Yu&_4OjTm{%`ki`)#_JH}g< zIYL1o?OQbU!zK)&a9X?aLR{AIi3yV-0Utx~5ch=%q+JM$2rwD@jyp-|tB`weW3~4> zd-^wO$tdM}_mo;$+9b+D0R^rHWZus+adw&fHgAUZ^!#i`z!NS=r;-p~z{y{AN|gGh z({VVY(?02o5bze6DuB)F4PqcK9U#qFY0bxG2kkHOdiZ(SOH*_4fXX_8EYbW+!nTGq)j5e?}Cu7`9=8Mj#0X@98p z3Ob#is7cJ=J1ahV=^OG~@^>424JOK{V)_mHgNBU|IT*)=09tp+|1D?ii>{@~XpGS% zvNZ19;h3~{8_(9gyLodxu~rr02O9~mm7;cUn!{YP+fw5}>eG;B(uhmx>%$Q7bueBm z^Z7lkugoyafPxC#`5X5gaF`q#44n%F*MB7lX~yX`acP;j&3dOxSL%n)TxHC)SPn|) z13oUR`m}NMfH1`78zL}?5S_0Ns;+i3D;QxxwSw!`5Qz6u)V!`PvtIq~L(2>y;k6%R zsCu217c%~qp)C6(&`^rX)%vY@=xzU9s>*WawGAqVJQPL!%I7vuPcO$)%SYng@x9>s z-AeX8bhX)tbofOh&Al<dtrY6|TDk1(fN`okuAh!sko`pnz)O zYX+(vaXoa|Z9E|}QDNtDEm4p9z`N|IiaXCBNA1&D(NW3Ej+#1j9#U#Zs2fxhWpDYK zm(eFl=z~bY7s-#tZm z3Drmfa!Pk0Pkoe!$_W=tBPi_rsTP+(+7$?Q+kJW2Q*54_m+ekzoj6P1x?2kJl>Tok zLgK=*r2smyqj z?zfPd`E`%q3JLzDz;k^I(XAT0Q@#kn*P^Uv|h|Io5xgLgSd~sXeX3&<(v=hleHH;C8mIWzM%M+Fr@E!%9%R5`ZRT= zl*_MAuem^-$GK84Q5i&0J}JGjiwdARE=4MxhH|mZQ?8W~4P?8GI4i{`FIam4&EWFyt=auCFyj`L?fA zZhH9`6iw>sr@>y0=gT?h@&5a>wz~aWq*v@9HZM!}Vn*s2kS@~ut8{OUM=n#_i6HRo z=)za&5|8UFOZO~vr7SJA3zBXr_+QD((sf_{7V8&RJ%*&q-3Fu!S(eUh|4T?ZS83ao zYS85E;90!puQEB0;XO*JjZyOSm)e>DAcP}7h z3FoqEv}K0Cw&*{6d`*X0hlMV`(D_SX*G~CN7Fwt`?!0CC@K{p+zoeiq6aKU!+%w+m zxc<5K$Gsi6+Fyy%vL}YFhC+M$e!4XxbPsNID5+-{43NTi-Io0b?ezO;L!cAdvr1=S z`gS?uOzoz^@F8eB+@ROjtMuV_jg5AHqxm~n*-q5qiiA2j}Z!{@jCp8o{(|A)Ad&LQ+9@JcClwt9n{_pub3)de|A zF>L1h?`1%cyy*k2RUL+^Y8pa%{Mrxe_~KRlWu|M}xY8>*(s4Xk`p%8bpziwPNYe+m z;qnS4dq$xeYlX63GB!Unu z%na~4Q%H3mNUc#ikTm~3ay6mb4C&wpZD%!b_h&Gl##L;L>Hd#$$r^`9$AkZlKCX}= zgeOmfmqr83st^4aJB#Xvee;N3#(MXDp~GM7zfdiOZlC)bc8+YCVj;`quV)26&nYt> zdj2;|aCkI&H9^F8SCHYS_TB`CYwb@>AUSJia%tK>Xb{Dg|vt_zs8v|r~gmYq8&?b=0)ZBMW_ zq-P~Q{yV~?wY?cFlb4izM~pEOY{Je*oo@p^CaBI#2vkzm{f$6s3RX)`xcwn^hN*LI z|EN!U$s!)ogQ#^81jA7Uhz9Jdn^xmunT-|8>!+a21e|10?EsgXZ9cV}Jb{;k|x_oIuve+cCD6Xy>V zI?Ut^m$h!1@L-pe>}xhWM}z`&hTnG(7|6EG^*a6cs{Khz0s#2eV<93~KE53Isd0{; z=yXf7BO-sRG8kEinnM+=+tCaOHdy|@xru>WYK-9_D`bH{vq9lCeO#@nuANR36RZB5b3UJRtXUgwD62_%Nbu)5o@J$-#>1?X{QGLW-vy}- zp*3n#l4<5>_4H_fs8wjQ??YgM!(a2&vIw@}m$Hrkh&8vY{&RNeJ1+_lQm{`z24;1k zU1s0kcP}@eA<$Pwh_pV!|8z(cuVu!IJ$Z4v!H-3Kf}(2qI2yIr@BkmzCKdPjKW8V= zn*orn;FH8F=ykaAJ%3;2qY7^CUhI(L(OMAgn2O0X-tqT=#HXm;@jh&1iqAOUH1K;X zd2`5{1p^QgPrUwAc%068^RQwS*FZwL*q>=;bzKv(^K5_3%y3*nzkQk9t<(PtKdS?F z4v;zVhL#&q`oH|7sD7kK`o^a~Y|Ymo^`%to{a;u)Rsx4{oi${ZR_yx1zNcfEu{GlF zW8-DVV*TQYf+Htu>I*bUUk3h`p#c~3NX`$F>P-YaKE9sq*XoCjrtyhfZ+r2(O#BRn z;^)L8^4@adLe4JJ9eCDi_i0hfh`%Eg9}z0dVlKU*K6z^y0h096QN<*=6UG6&+4f@} z+fMewB4SG99Jm6ddF`)VWJ&{vR;vRt0LQcJi707AclKDY$ySV)ldh)_boR90pWUo; zV&)_YDt{ye$31JhGtX|F-nU6;n+8|Uv$5%M_NBOZVy`t>VFmx?&1Y9-A7U{#wcRq~ zvS^3((f$@rLv(a0F6pqxfWJR>@pDgY*$U#k$Q{4x4&h11$I>D?eLYLT_tp`oS)Rt? zU{!Z>V5!dMyjL~GdydoVCv?d9G9m)`zn47?P&)Wye4jCWme#}^qL$(;MDPX&hfRb6 zMF+R|lUY-b6M-BTHEv{oqi{ZhixmT0T(=C2`9T@|W|!ygeN#yNjWz;MaofH(-rJ&J zZ&X{OWZedl>z%qv1lfD!)X3r#laNNs)kk*NUS1vcLza12E_=Cv^J@oiRgPSVVzJ2% zyz4w-l%~ljz8khS7Vh2MoQOvCwZaHq#ReIz%s~6sGZ=ycaZ|7EbJr9}kU@cy`VRg; zX~K6UfBTZf>2^8w^x=3{soZw=(uxc%>f)(5p0c%(3q4e{m_PZFk?CgTJ3qAqC;6$r z+Y4>7$*;Y#e8j@*tt4-3r-#_g7gvPPbnrGMX_CojeAml|?6Tk~*j%;T>QdY*3Eajp zuK`t!MT}_gL*X6kmKal8`gR5Tl{Mx%ga38ZSmizVn%QZ`UB5)U;(Us#HbK8->30q{L~_4Cum2o|-t<%1J&|1@ zG*W68V{wZkOnlFd#HTYD2{lZ>(@ubdu{trprv}x(r9(%r>1-O*h(X54bibXF47cyVN5SV(wcp z>{!D$D=peMp6k2%l!Gb4{uKqdzYD8=*mdFU>iQjfzozLsWzYVcA8psg-ai4A$8HbZ zVVvGf<5L*V3LHQ=>CkS6C$?7HJ)8Z>rV6)RqxHDu1MZFJlnKB1kyyJCqq_cgUVN|# z;Ug=H;i>O?xEFnqm7fMCMUflLX?-MYF)u|kBGLxWjBkx(P=lI*b+>OPZ9-^C- zt8;s+bgyVIGA^*|uSi;m=Kp@k{*K4wT0@)zmHy{utS(FaR zY0t6g;R~kqNM{Y7N>!x`gHqz7G{RLOv*LMeW?Z45uyNZtX|ZA?F(>{50?#ft27IW&SOD*fa?=ESPRBo!1TNY0awYTRny2 z^`65EHlF`h8QskPYqqSl1C=K<#wZk+1RZnxp?C;CbtwQ!mVP_NzLYF3JRqNBzy{a$ z2etJt8}!GmWRSC<6dwXTgrQvf7QHu@foVF!#pzWGxBIHa zBwi;$1Y+rj+NLtr3g825<2G&%Mc3*7h%U%5&*8=CPkvRnO?u{y73L>Gcy@MHpP$;U zPKQ9x3Mvc7z`BP zZ%MCx&+kEMpfIjgo%t@*0pB_u1@p!yhTICZ&mKixdCU4$r6ymjqk1u zO^|)J;|S>}^txQ*=hq>qRbtJ}^3aHRryW zCMv$czmcR@K+nrO<`m;T+X7%6^%1vqBgdB5+f;VL<@A4)kX+hsYExrY4W0m~Ag3~0 zcxY`nL6Bn(+k2FlXuEIsY)jtjk0a1KG%B$5Vu#oOmFpCoc2@v;NxgEl;0UOp+K>)Yav^gpw-9K1PGnN~RUp74GPFPj}~Q`%TMgF&{*$(Tl>`mtpTTM|q!t*B(P z>vdYc=;ArpNHYTyctBP>KOt63Nd(M_Bv2{3%~{#LI+m@XK3`IAdX&g_gS_!r8M7A3 zh_~3m>%{mh{-Yj!*;n{Dh3C+r9%if=s^nX#(E5t`l2Afv1_@c5J>C%?q7m zj)6G?=r4Lsb@#Y-8KW=B}N{izNceT3p5=FsE)jEJay#U4=u%|nUm4k$3Qn)DV%4Z z4+aO?qQ+bBVX2dDi%N|--wT%nI1G;Oo@cwRgP9Hq*~t!<&6M-4p9UaI}B!s{q&@bA@VA2nDwW7tHk0pg#5g zI`49M@k0spwC@3*PXZY3iQ!FCi;Ril_^=&PDansV+O0kk2i{~FGD~~3T3zg`uiRg!9Y4xODbCYtoF&h{T&!a5ZsMW--g)G zJoFw}lDlZ5+4j0zXaY*{tXm?5`~(p_Prq3+%HaL`-y&H3=ld9%Wv z=YO0cJ-MLmq59-`4(I`*Gc;RClNDmfYu2wmNc*M42VFQ&FOFUsv?%dJf5@-nKNUaK zafQ|hYXHsI?Plw0FRS>;kY4Nnju>fyENg*xWUAST2asb97cBaTHf(ir1eT8Kva@$C zSY+thzrH264VLFA=RXN3f2wFBtHXf1lQW)I6_TQ^Qq;nE^t7=LO6~SeDJAS8G89A? zLhBn;dlYvClSFD;`bt zr<5md!ZoFjR?pN8onmCRG@@z)eHi35;lU3F6LmGM>RMXldo^#_yl@JWO_3~t-y!Y38{ zj{x+i@95TuhRRp}jR38D9dnnsfE2BM$sx30V2Isfy|*%Oy_x$oS$GtWFT zckX>Bxu9Ej#{OAwp}vTE>uRf^cj{Wfpa2*1J7*4hj^4XqEv;fnZw$kEHyqHj?|XWK ze&(sjnTH3nIyQa0_pSFRIHr;T+bDo3%a{%(m*k0zfE@4e`D$yGmno@d`?OuU=_^HQ01k96mwAmb}g}>Ww4wf1QC8LbVwSWYU$zLf2xI-O| zw2U$8JOFWh_b~zA)6n?}HdgIujrE|ZmDhtTg%>x9n05;nDVVq;4CQ7FwV@1v=harA z+DqRFuEr_6XtElLfG{9X_g$M7n1y*(4P3e?U6l+XWC>>KuYZZPjf(HqgUHFbD)8h; z=_KzgtDfY+swX`+a~?eazkjs(nYVxFGe z;-p9qOJ8Q?;?x$c;-NW=8)|eslQ&c=Jb*b*`^|_Qc zz#ahzz-lRdOJyjvv9B0r?j5lXClLccw+>F@m8`InfP;ndKs~@tLuUvN7c~E)uyV+82^0Syidtg~(1Zx*p?9a<9?y@U36hq;?$u)t?*TqFvdPcM^jJ zBG?tIwSo)*lCP?bvAguV8wN%L=EkakNMV-Hhtv%8Yo#0EiT7@c>&!tbUFTt$iT9HwCH7ZKSMy`|5dOGfN8^t-s}&M8TAC9JbhO;% zD{;>*JL`V*=UX?n>EqF#KLrZVzxIxV#dV&Fb{cQp8N{_l{kb@cwo~^8Dta1x zyy+hX2IWO(x;GZETsRv~EX!GW!0_uOT%5#9y|2{9zofP+DjQ_7VZ$nTHS zW`XOBm+v11Ya}1g&Nn~+=Fxf1FtOM|D309vHtrji!5aIUy_Bc7#X3-XGl0x?Z%x4P zIU~vk$E&s^M34^6KFS8K0=ll|GN)ur1?9-&6eVB?YdYMgjpsa4}ct$tma|X`T`$4kv*J?T{&S6A zARf(GN4gt>Fz*Mu2}VMRAkrQcwPI~ouQclhDzFjC+*64I#6#U!kX!w_BYp*0&xcR6_Z)i%VXgBM>qFx1tZHvKvOLV#7{o_!|*&?S8t#jf+NFsP9=82Wf~UCllSCLa8C z1#ofDueaUof7fyX<}b9n5jNimCLZ53(soqzdfHUoU9R^&WidIRS_BaD55fBD_CU&? zZ$$zr4}t^@fA$fU-)40|y|TIXn}$`LEE>Cvk`5LH)UO!`DXw1`a9G()4@`R~SCb`S zRedlR5QKHsl!4uV(&SKt!;OzOE&NQmlrR3&&_Nvtz1Oz4s^|WUj+Y@?2lVBXL~re` z#mJ8zp5a9{50vO{+i~}(zo3&fFIvW;r!sw6%}%&FNYDgWT`ug;H%@P~ezdso{)wS2 z8YNOt2`*#49WTf+^X~>P)r`mk0YO|9I`F)`G2Q6vsJS@UH#?GLvp0;fM_+=bhfhNt zCZDgiQdUzJjWr%l$mGz@#sqvYIeHDg_m2ZUmX1dC%*89YJ?x*%A@2=^tx;FgYY}i?T z7b{=cyLv3ScK{8-|B3Qh6?WssqZu|sIKlaAzx?ZJ;jeE2#P>P5z6`C9{tP*y`HTAJ z4g$sAee26W%SnCQ*fZmbxD&rPLhG9`h1a0##kl%t#$*f0M>u>J%Nl>dgxXs`&H(np zL5qc0_0wIfrUq8)%cN$I_g+7+jPYPS?rUvoP5PQBFPidKJJph)Ng`G}Lumzo0Q?`C zp}+X+r?2X(&OT-6hVVc;Jvs(iyW~f9Y+5R6-NN7e#ql=F2aKy00(7s4P{e?W3h3P6 z=sym+1P~VJb#W(T&$0Ga!rV^$nzfsq^YQ%vDD}jF-pQ!Gs8M=KD9tE82E=|MT#f@Y z+lZ#V@Y(%K3!s*rB`$bT6`t}+_-5QI&_VI4?^^Mj*|V{~w8Wr)&{@7pw1MNrxQt>q*zb4UuB2QidOPq08j=9ox1s8sCMm35& zdVEn~E1yS^O<-$&ZK+@Cuvu?>+_GJ)HY8ActgO8RZo70W(au`&Ys+&Y{y^j^T~O{3 zdA4$wxmZnSH?VL(aRWz?=Ae{|?-h9RYtS_UEarx*QNBGOhVw;E>IB=OE>JK8bwfkd z>s)F!L0stUBW3+|Z>|gf+QOZGb)>Ah(#xY{rZF0{_hH;Rv{^OS*EFJ?5Xa@Czl82L zv#grj>{zu4;}Lg|uj~QFrP==6?styMI=?uOxG4I7vbdoZ7z~KRN&D?jpI=j00_Z-u z&q`v%VwajYXL{15Irg3WCAfXKo0U!np5#w5$jt$IO5esY^{XR*C0Z}?gi-lugvGi! zN`Db85@&^S#Fcjnf9BU5Cc(evRNC%P8__Iv;IAAfj~=?1y911-VDVPln4hEf7yVP4 zTI;C_s1DNtRw5t9*I&=(Whh7Y59BN}H zKKCay#sCmwJpk8k>to1qb;Sp7y=I7RPemX~l6e$X{mW2O#q&LSD?c1^C6Ux+vJ(3~Y+oqhPH0jJ$h{dP)oEMn~`m!jQYZUEd2dE8b} znKE;a{X*lbCqC!L4@Cw*gH+uK_54VrEm%gKhu5DTGtxS#mS7e6(5V9 zFXjDMplw_}vCID0QJ^|B7xa5jSgV3S(73zy!!NUvJv-6@gY}2j2`;I-{^93c-OVbE zc9%BYJo|dg@&CsU7abM9f6lMGE9+XC3JDM($cQ(-^*-1U*Jug9bq$Z`ZB( zy8mGnRtF`y)ONMcQO3@kgo~fTwo~nDv}_*NRK@N2 zK%+--!K#k&I$Q$8q3iNbR=qEN`_{4#N~U$HjN}Ui5RdQ$;S-O3XhX466_s*Tut3A9 zlQ>5{Z=}MwM{O}{vU+HmUr0fDD!IR(GlVZkfpR+*mD9c(>f7|_o(w#GsqE04m_Ke#89aH^;<}-!FK|f3S)ylhNF=MzF#w~t3 zYmnF5j|lQtCu>eSYLs=77bIjI%U*^Z+d~ma ziSt$Q2M`^Rg5D=U+|^8rOJ{Rw$Euj^xapUVpjM8J@9R1jv<^C`wD`q!O?CJ&Khg=v zc4gaHu06z8sXuW#dCyZXqWdFvA>$_l=oF=-Ng+{}>)E3nBYtC(3v(!=1p-2!NrI+% z&QG;!k!%>9;XJAovU$^G*~2^1cGAhw$jMG>J6acun0kF~kA443x4+5EkefaT<(qRrH(QG)7gC|Fl_fxN~!o$yX-k0i|xHXpldCCQ0vk-K2 z+tRwo^ylh|Y?^6}yDy;=$Vod;N0!sb9(SiS1(Gb|76=$4x)ZKd3sR@mE*kxs5L{%7 zH7ae>ON=_J{{$|HVorm3Pj0){L+Z_rBG>ctGS{-^nSZ*^Ytxx@WSto{s* z@(!n7-2b2i@o+j^(@RB!TaJefV35eMcu`yWY|M}+o#1EPW+0p3GX8M@7lp(*kL7@u z;v#M6<9#Vi98{;?HkJ9&Cg#F|#4Jupw~e+&_&m9GXhKZd_4)_8R&6+%JSLcPbEPWY z{qm3*K;Unq+HnyH`M(k_uzLR&KVL}*fm)w`mpn_v}@eLJPC zB=>DUUu0HW9x08aPPH;Aoh3=OqEO}}mt4~%bS^$H+cTS>ODHP5a#$nc<#Th{J)7b- zz$bLCQcJ91o{SA0MROiadAn4P*Z9aI?~+E2yN?Y~f{Ht)O0@g9#oXfKT&lH1x>4OMb4*j+hks%Iz{{KW_Bk}Y znaae13kZv}An0t*>!+G6T4l7xZD$&&puNuQ?P!O%Zr4oYz*w3-g?QUbUTdRUI&ZMM znDjNBYBU2c+Vy%eG08UaQkQ4*v_`7iaF~88^n%CG?CN9Ud-kn$_;BpayOgpE78^u) zRvX#(H;&-)n4{rs%$_)!h3HFxW#k!TQChYqH87vcx}2}5Ubh$q(5|pQl>lzR#12C9Ou7!0Q>Y27hx3GBm1vK{ z%Y~h;9qPNoRNTb8JN9ELvB^EzV6S`o6R+6_Z-1kCvuJZkypl#5Zk{EOY2T5Y(@zWV zXb6&+qy@oJF--Tl%)lH5h6mL-UksC0_*nAh_RoO5Ui`i`EC6ZURGQy;Jfa0dJM;t= z)~n0Y*4%B+0P&PTy}$ZGNHg-jNsFIl3UVlz^`v(pN#$}vI_Hb}Jut4wF-w{eqo!QE z?AgwiH%+z+lx+mhT;yFQy)B7JOVfpPlcrbMV&7Oy^t(5RL8A(D=UxahP5YvdM<<}v zs#Za%G+{$TUzr3l17A|KDisN=o#uk|sF;ARcC`9%Xr4Zs@CF+9Rw&(}J)9{i#G~*K zc45}{0-D*R&KxUAX}I-B3yT~qW2aeN;?9Iplu7WibvwN$4Mqo=GL#rcF0bR=zFVElzf5; zGw1MOVbK*R=WC?=PIVS>N-QY%N}G-i*1&y4Sxjf4-&Fk&7Au*%w`5p<3$2F2V?apOY`fxi+dA8+gl=K-Rc7jK_oF7XHe&sb4eyqGcr+(x zBeiO1-AZq})Mq8zpFMNj={D`ks6SJiXHo0XJJ(}xNEkcDypVQ-jvcflFj`tGu;T=k zz4f%#Y+Fyaj}RY&>O;3VLbte;z*-?xGM!G>r{>tYPU^y#6&gH*N@WYC7AlwY-gHnX z&wk)ojtcD6DO$D)u{sl`GSeIAGNIr~OZ7o}j6HICTAmumNq~~#i;ke&>=F7fd3MmW&?z`u7P>KN`5^4y-|U81HJ zp*mZ%413bfn(8(k3sj!fK@vLC;4^+cqT2=0Gd^Ovwphw+4_eF!F@mnC!_JLY3DS5} z=kz-X2AP8=u$q(V`fd$5o+`6f?>vLvk5=y_x(~)oy7#2&2Lu@H9v{1xW_Q#LP!T1l zIh%_3E*{%6`H+*We7+_Lw`mP{LtsP^kP0`OT9y!~qzFNU$Z5xEXETxJ$z2akJc$-Q?2c{BMK`(e}rz zb?bO=LcW?K!d*G`O(Z_cGuLEY-WbewE4gqRGD|OzA`Qb19sdj6gj4!RawT}jT8esB zXQnbkD{^j#2n{2~NNv!t2ai`Dw;8`S0v}gDqTMm`zK;ZbnsUBr4hrulK?L)`HKS5h z4AZ)#f~f9pkLS#hB23<7WlQ_Iu-ZI&Ic{P^r5=+oG#TSyHkf>wVgM!FLW?3uaWQ`x zJ9zq^^VD0R?2N}8w(Op-(e){Z69Y;J!749jTyRY^7}k;2vEtcjRCGL}Rl9DyYyZLe zPSS!eCy%=706Z(8!gCfvFS?TknY~j`TNgE}VC`J7Tw29Gy%^l2>v?D!RdHJP;0tAt zV@0OzXXjXDiw7$+N+l%%Pc$V?)FhEmE`u#4%-`HPp6SY`VR2d4JX{e+Pm^n*SXT?X ziV2BSg=;D48P*JbCjC*g+2n+E8u@a7dFiy|r_`IWy#*X3J9~{fx~!2+=ae87sK@UI z3Ci$3ONX6=qu_{+r-nvteyERp$B-lm5Yjo9zR~YAMCE(!gd!y6^Di^lxdTMaRFbN8?m$P*kgC^2Zf_h6gD{F z{4CT-btbL_)7k0q9NAaG9I^{IO}ZV68=*4lbex45^3gm+*f%{?sH(z2;%u#$RE=uc zyLXQ2CH>@$F$=E)=*`<`8!jVSIFE>uABiTb?1ozoE1$uYs}l|?UVi0aR3)5K*wF?o zYnZCf6S@nYl?KhA%wd<)18?Nhx=!2GtxHPnn(jDzwIS~M)rJ%3fIDqNssF<}??ZK> znpBXJEj$O(+>6}i7~6D;R7s<&hMYv-P!EtsI|K7Ap62P|MAiy!SdVtRa-}L8CG{W~ z&6PK4UFXAT=M!vspIzd3FP2~dPNkl2(&c$5!X~K{%BA@20sVyj)7blW30?59g;04( z*Z%T$QRbBzVt*tt6~CzrXjjT<4jO-EgoJ>B=l5VMKeP%erMk>4~JL6gzW-=iBGHiV>i9ZRY+{BvPf z?&|?xl*)mF^|bO#sECL{ko2aV6%`u?LY>FsMH`b^j5OUD6( zrMr6!$4i8CF@5%|qRL~^qvgV07^dzxu*9S{qh5xA!;Ggip(<+bFY)QJ9MNV&L*xs8 z38d)Crxc|O58ZdF{JRQFXR1T(wk5pTG0A=G;nwljK^U@=Zm#_5-2vOj5(S{px`cTr~pZW0Skfu8v1x zhQ0mLa>pd(Rc7Z_d3q8g3Os-hGAO!CMPFj%KDb_m=jbE)niL~Sas4XB6i=&&XG{r5 zjK}O$YtIo{THus8b)3jBeZ~>0BBl$j$=7v^E2c%!+(|jo1^bB);zhb4AUtzQ@VV3o z*R(x~FJ3pmDwe^6A1xKjb}ybF_TAyBmuJ;t4bZEOd~t|~;j0CIyt@+FRy?M@M+zQK zz^}6TkP+7U(YdyR|9~j4Iv?=HAtJ|||IcA-S1FMgsn9*sk!n@hPvCu8_@n`jGqjy0 zaibX%);h=QluECThheDgC@uguGxrB9SFGCMEtQ*1Yg<*P*M)SHg^T^=b|I)M;>Fti z+il5b0{nbTuDVqC5QJh*MVD_FLYUL#QSKuRDjwNuxn~&z4=fqeQx~~EOPhAx4 z=pT5F92z{6z{%X8=s58pZ7rh52knU14!5i#95DJbD%WcK+U13qRX&dqo;jnL-3leJ z{edp8&Qiv4`R-PvF4NX6KFS*ccGZD0%TSX4QkmuK6f6HeD>+qF3DgFVUX)R@cgEe7 z{;CY{&c`)a)zOetFC3N0?M+zde_!@!6wZ*-FnE*J`dPIG#>keCfXrw$RuyR+olDkx?bIL%)(!86Yoje;K_ z!QH0L;gwb(gpW*L{9oZvT7n<+%DiyKz6lT0nKL&MO109)6~d#VpNLwc9>l7R%xE89s`$ThW%al3 z3L%>h94>|p8WxEAcMI6;LW*rv*eV6L>=_ZxJO4IQ04sP~uHyBcpOJ`NrTlHOEZzBy z`2g;ypj0CxTJ_c^&fn4u+UQ&b3`f|H&-O7er~+>E4=1p=;9 zK8SOs-cVjBAA}Kt@G0MRH(I6fzJ2Xup$p{b9I6M&wjjgwnCx`it~>?PO=bhS2beIz zErw?Jq$;oI6FDYUi8RN*2R?Knm@yWRl)5HK7UQhh`B;z-1tY3IFx=C&P_h1q=-e~u zV_O|I6%0aK3as|pl52VTN?^V~2cDzFo?f*Dgjz#j=2YZ#UuR&DisOkPXoP{3$9UML+M#gC) zfNNt2v$1${f)c`NW|Xd(L@j=_&7>H{f|xsL-Sh`7>e6~HdxkwnaoAeP{uKYzn&2CM z%M274K}T=dbttJC#x8$N zg<0yoMR@S_YqRyBzEvZnVx^;G7JAe6#5adV&|1n0!kc=&( zT$CEHpiu`F0*ajf08F?Il`rXGFz`?t>Nbk;9u-}Uvs$3~LV1e1wM6ph!`JSL#+-oa z)W)mIo)}N7zpbxZWJlD!ikmUyw?KM%dl7_&kqh@d_(bU4a*-Z&Ij}ikQ6A)5`qN0^ zq_lBi@WwTF46<1lX-DL=@tA*SnbT!Alj5T;MIJjSd-x~bFm1TrNMPGe_z=Jk2%)=? zG_5I-s+1Min)_l7Dv!lj?s`@*#Lp8cYWQ6F)jt3hQkh&01Wg*}7g5~pW{Iu9(WZD> zl&5Rz3R!4lE6n%!am8&V8*Dagm*7AOL?z4q$j}hlb1!#X!9avyhpk($hZ3UzW(Sx= zt#cbsl{SbhBjgX>!0=X)RP#sP?XVO*bMcvnVFd}=A^Q=hlO?QQ z*W!1->9Q*`Wm1}Z)Cj1YR3o&>a2YFu_MGiOfk#7W*c@AsEyul%sVw7l843PNX|<*+&pCNw7@>+}wP zL=nj##Lr{q-_mia(vGun8A)zaF!WS-8_#i7`gCQP55$iA4rG^7%#lFv(QFzX<%v9* zUHm|TA4)6bp#f=VqO=@Bb)AtxPn*5#!>+#xtd!f%l^{tUE>}mtK|l#TSk1JBc?PtQ zc!${q=6ZIzb}+I?*I=*YGmqS#6OoMxAXc!j?)vnZk_18&={{*5D@PdM;zWB^Wt6}` z$m2r{#o^G5S)fK%x|WWd2~V>f#d!=fMK%s2W`dP$(c+3{`g}QU83U%aT#@0f)Ca;4 zcf1#YP90DuO)4EMPMzaHc;L?|96WTr5`XCUiOtFU}4cGc5@r zz_H#H@j&2AXX&{OGH|i;vGTA5q8C4!R7^N9IVR{EEC8q9Drgm{^a528bBL$;Oug8M zhY8IVyjLX?2B9@>^B~Q0Pa0t;c@?hOLt9T)W z_x;UsY9<+38xp5|lSXxEE76RsF6yXpil6NC=Ds^bD*kZEq+TIfi6=2 z{17H@aBxL~gkxEpkdX23c?!n_w#QHgCFIewO-uz|u1vSORzh+Cy-OyoAZ{41B!55|9MJv@Q>VuphcPbKhE=!og{Z1Y;s< zqQK|&UG7;3r5Wb4(x1N3l=|91bfrz;*(wWMMvAX?kru3W?>?z__Yc=-OiX8^`z~+?+Zz&OGS0%;_#H z9GjF*&Fyon(iwPfb~0s9`$i}h-ms!Adu`yj_@mRoXm=97t|#rW-;8cTMpA;EdB^t>$x$y zl0>f?%~8*}DJB`AJm&5==JUj#O1l~fn}`EE!g%~lQz9Ddnr=vWm%idYw9rpC>hCjG z)5ymgpE;(5k*e=-?x!fV_eTys5+kT3rl6_v2*7+q(9A)h2IZ6DKg>$X40WWWmX5!H zBqi_hHE`S1E;+;;$EQuENR%Jg#+?X@JIx5_7cP%2PYv-C_3U{7iVxi|WZ!5We#QS7 z`WRG4YU|$*tzmzvw<~EdrRWADQ9o=b~?`3rra zm9l%=QZLFypnMJvUJdb(U_aKiQj4F9sXxl9zx2 z{M%psaDiUB>E+p%^-4@)rUgmJXhi=QY(US1eRb3H$wWONj_1v@Ez3V|2Ya5G5np{G zT&4}~IadTFhk}=YwaCdYSiP=v+`p^+Tal|=fwt@ZVz-(+)H+`SZgPo@OB4CrYBDq9 zs3&GXt3;bWcue-5zcAVn*ZjsSO=c@{Cc`=@QLwm8EJ(JR-Pg~q zwdKair7=6Rq1?!UQY|BB4&0;Vq`HZdszJ`eprcX3vjft!%KnZJYAqUuctw9NA?E4i zT;=De3ZEcGpRuBqWexgxWA+#Apt^`5sNNSsF^UTls$^J|jjCnmho(UbC>Vk;=$MVT zT0ZnT?P8=8HKB^>+AEeSsM?G(B36y;5%k9V##S`+TSY&lC>)`V5Nng_@@x=;-+CrsOk$q}D9wez*uv`f4caxSZC)fwt6S9>(N>tm)1ex6g+6E+{r39+y1@an|u zAG$vdRMndg1UTqS5luRyNU!fiyh035DAIPeWt&N}fu>UWTl;*!5TT{*T;gx859GZv z8sUuB60Z-+&#opkf^T9x@2j|}S}^R>jO*6g&PT{i_qTD)un$|X%K|T~YK{mfmY6!7 zS?Hg8raKy9o2F>B>-bQKa}{fHK-%y+w^)mgLcD-t`^Lx*OKbY9Y7kuMP<=K&i@w#d z2CVD;G_$Q9-k9!_DD;+@%7iLtO=0&crcFCOr_*IREANP(d(&Vyyf(YqPc#hldpuH! zN98XBJ`>bhD0O}o&6vLpwJ>^yeZ2*Kerb81U;i%TRM$~1){WNkMxzm=mkF6AoV$+R zu-1z6f0LpDrd_(U#+H?rRFaemuk@ZMfwND9uuGH!jV0HR$x8W?BM=*z&?J-8^u zq9HpM`=mXcG22PDm?)m$M@*xa=BfaCc|B@IL-@r|46A2r?? znZM8i77kc)-e$pwTj09n!ljw2xqY`?^9<#fm}tXVv~2DRL&=PzP@;9597I<6wb;y}i{jHFz$AGhsFWC-O{Y~nd>(iw7t(%^)~RL4 zsEAR0E0#*@pS=NtVt&p_+eMJ^geZXK8!voDj6r0GA>Cdau*y5L05hGH;0K;<`AWP}I!WdpSRb zf_sfKr>A`8%qy@+q+?q>&HxXlqmX;1D;3^#B5q(aAL*hMnR!mEYA<2ZzosIo7t=r;3(_t~>Uz;1P2U;AFAH{c}yOmM^_!LT;o0_)LrVqj4{k zeST_b@Ak#h)dmkx^RJD%r8_Lxo;}9j!N3eTOms ztLPYJIneJ!F~s{$U6GlVt8M9Q2p9eW+wILCe!F{X=Eu&}SV!rWEk|aH;-$d)u~ld0~EZ2z{hCwxGl= z;tgj`nqHQvg{9N0!;*%tC4}~v3{aFx1he$vazXqB(IdS(8%2((W+2JvIn4N^`-1LiTPU!J-al%ano{}%QI9v?OiDE0Cae* z%5K_Vh*u}1K{cpbCe!gs%?n}UgJ;TnV-=>;0~40?CKaC-I=-6l;3*3|T-fN*`~&n@ z*OHlEqG;BfLx_@fc5&s5?r4olzbU|ikGZ=`N+Ug8R9c9=^tVcjSyY<$3&%A%slyZs$#ljv>T323Df;%<=PDNKahYF{R>5 z5qLi7ns8s?nC~@}%$Diw`5%}*J`uR#v5l#0pcNEI1(qe*ZO2lT;ad5GL4WGJsSq(C zszn%k@Ozo;m*T12$>FCVi21n_^EH(-Ox~5fN0a|fOU|FP^xbYK01s{L?!Bh%t?7TP zW8ooThxI8#{YzP_P)9U+eQgtAtsmb$@b`(M-bAdurt;F;q9ye?&(WkHy< zz>{mWuWY4r%d%?!n8Yl`}AJ z`Qy#7dCk-ttCQG$^g$Gt(l!F@&MM=r6q zsh=PHfl~>voT{QOo^2|JUfq~jT@|babaL>wMU{xYi;e<%!*A}>-ZaQQnzyv|wO6sC z?LZrBoRj~~akF+yC{LelfEDm?8Ksyb8%#zX8{)67lc>W9U^kw_wae#a??_&~WFlwR z{9tiF*wtGy65^EUY2ZpimbY0>#J3v@tibt<4j>1X$`eJMaj>RVrmkzx7LU$W=9 zgc0(Qf)6m_rMyq1 z@FF40t>G6Pk0WUJ0%ri5;r7`S`fczycMzSOhc<-*QP${6F)nOGI-a)Xn|RtTAe{K8 zM(8*=x_!xwQA;ep2Z%Nx_{Qc-(%gLU1A?!sEf2s}4nA+XXek|cd6(%GS}AzZ>%a@=fG@yX&;Ik*L)22gTL3w`{W}|LC(_li@mYujw@)oX=UX z;uv$pYtZPmSfRX$dzE+k{v}z|8g_i!gYpc;3hq2c_t*q|Rm4*kJO69L3zk}Ln1n5= z=W65hs=iBO{x0eGY1{TcTiN}{yS^_+tX74v5))Lu9UEA?v*BQBd5lRVNA~Q@HO1 zdXafv+QBy8d*7Mw&glgMwihL+o3Rp#_vsgiA$8xj(9(Y z6^5!#0Oojio0iZLywu<$@3HWur|;x9_;NOvZ7rN^YZ9?2ri`NNmJlg$+JY}* zdLa`3VBK6K;)%6>@ntsTmOcKKaLF1E4T0DK+{8Ojc?~NBRiHMrTxf+rBrqC0dHrIf zK6IQ#f3#b;@Z`SZ-$}y?LM^CsPumsJEgAy$j$1hKNegRwx*SnwJ{UUgv!>=V^)pUk z+pWoWrKPa+8Alecb5s8Wxj9e&VENH)|1&IeVI1AdHkZy12`m`m`(BdgY`r8wmb_@t zqIpR#RK6dEA_?|^6y9UshNAk?2o%UcfRAiaCA?x07}Jm1yuQx z@40Yx1}fEejUuA0==vBH^;upb+va980h=+@ZB$D%$3{)hbsXgnUBqkNa2%PB!ZM$nwWOOj$4mPqR;Eg|$CSW!dbfsQlJ9 zf&TfQO<`?5W2!M1PNbjN(#Ct0eAchdgOa=6LW(gI>L*9GV`;^it(9`A@3ivUl2*io z3qEPZrZ5p`#c!_*ODi4^blFK6H;D`W#H8c ztk2tx-^DV`EJ_~Bxt^AtXQyD{0T7ll`uH_~7m@?|>Xyn8K7mk4mPyH{IDHdY)e6~O z=%*UvQav6{t)d0GY2u5ci*kF zfEG7kn$yyspK*_J5PudgaZHxQ3IAR+7I2sMvVohJQtk{;$gQuN^{vV7nojw%h=7t;Z@nMJ@YDn{j1b!T3qOl+kxdABmK3!2+82cIeS1Tg zb``i0btx~FlE6I*LdASG`> zQf~Z-QJnjdYt;s{CQq{t=*ij-4zZ@RJmfHfHhJ=brH|+pIExaC=JB#X8YU{bRO$e6 z?ffec%{^~c276Q3w}-GdFpi-&ya@6k$kORyPkBVoMLA0?&2saXfHl?qGVH{%$0nWu zXCH24%_%IXmX!_3_%B~vc>S&HIYEwiohm^_ebqC`Qt#)NiIng9!sEXh78ta#=BaqF zXbWqDZP<(EvnP@@!-`jDt;lsUU+ugA!9VZoeC;&o@Qdrk)y`Mfty}ZBjs;(vV-EoM zTG+lJ1;7_^pT;$I+!RYV`lDfAoV!antum7u64)J5#Ii@0*~(dBH*kxj4OSQI#0-I} z?eJ+!x6XqDU`Agulns@yw5o-3z{Zj z%%+a_a{Kx!-cwu@pyGDK>10PX8m;@n%z0U{jzJfEd&3Vn294Gfd)OWrASk`uS2WPamLRo06@(T9#RqXOKu)q_a zwzKvg|NlyatIA%4W?4@qxZRR9KL4`BvJR(tdC}!qE4<%jO77x^!>^3bOqq*o9r~)z z{anBPmQ7lCC7BR9BX>0L|CW<3enBmI3rz$9VwK1a-ph9Xe^Lppu!e=gkye)J4X!)UEfC5ZJN;A%(W)RHaTZ2Xei z!IQ4JvCfh1{|C14s<#*xSI0Cy*lZVXG+oK6gs)jz5{?~T5?8WL%P-Blkmhe&b7`Jt zmxTva?g)o>X>ql5n>lsNd|P~$4!s6)cLm!Ge0O|_7%7PZ3gGeuRMZU=WRKI38p;9GJJaEv4va;pJ$ z)hpgFecx7lPaW&%{ov3aD+CJ2n-a~oH1CZkzYdDu{2kV7UnAG9mH|a8#ORK+yCsV| zXlgqY=N{`OX+h6v(;wMA65UMyf@G}2CH`}NPV6E^vUWgfsj+~);omPQDEdqukpgR# zUfo7ncK%CJIrS?BxbvC`tq0;aDUVJ(BIB({U-+U07H!YLr;0h?6MLpyZKW+m%r5f+LqNjplj4J{!tj6 zEP-w1HlM1djutSj_ACw?RPh0o*Qa6$aj5LI91F4K;jiukYH_QWRlxhot0jK935M2o z_NT{k_=o+I0I+@!`>^+8ZRf_33XJVLC5YXKM=d4CZb~_xHJ5mu;I(I(vp_YX<A7s+L5PU5Ka ziW9#7M88XyqjPNLii>iF=7y*mu*wfoH-rA;+#7p<)iwja2yM!YlcR4gGLZ zR&s1ExsN#?0nD-V%N!l8t&L=-8$TnXthb}GJ_-9xKltHaxa-U%rvcmfw<4Z1ze`x? zlh1^;M7Y7oPK!hDwK;7~J(T;()6ALPgj;L7?1aJBYxE0ravgdm^;xJnL2;mXs5pL6 z^qcnEJUGahKKUoWv0>d3Ysw?$jXxlSx#^K_F6l$HR5~v-eq{ZXmtXjkarfHI zk^d;j1`#8}6kz7I$t0|Q9=o9Bx|g~*eX8>$JP02A*Vm%fEs9!x>%Un5FM0-pMV_0-g2o%dQ&lne>BV7RIsG@)g4f)D z@@14m!%Tap7Nc4iZ@R<~WBs5G(ppVoZ%=%I1||6dYKqVPLGpi553dAjb(uM+e7Jhc z{mf#q6)b6Q`to7=jiTbTZa(^A7sO4nY43rNmHIFC*Xx36QBN41u+wGDgz z(`uQ6b1|^uYLI%UyWG7X<*v$ZoO*Tjzo}LV&SH}wE?03oR359-t-E~Axi^{kXo)HR zRra4eH+Lyfz^)M7b|f+%zQ_n!+?9V3$kfd5|EJ}f_qDk zQDW(r_}((}9Yfs;*S^Ag|fG0XUFQMsOGud>kT>~#zwx|wgKj>&Z$q89v|B73%4q7s^tL>*`>YpbZr`GOJSS!HI8@NMrbKc|yN!+sMGvJHk%JxykqlO0PrcO-e zNIl6yiqLQ*`)(l&*CLC2QJyOT!YK$OMs`kqq*n?T3*)$ly`n-0U_%Yr^o z47NNR>=iiWuyMc8E)k6|HHYr_OW>`-LwXi%+WcE4N^{YtVP+`mv(-x6o zb5Z*cB+_k=KOD6%HpfXwp>!h=-K`ZRty1fzLOjBvwQfoTTZ0z_Kff_Jx~wwVcIDZf zLylf*VSbjoJ{Z5Zd+sV}_1gz$lnI5KBhnIlacn!+wq?_u0VRZlt($vy2{L1DgvrY= zTzs0D<6vVxf`6w@oe#orrEgAG(^|xD1_=fwy&N1jWORAXawBAJ?pHub{N8AweB>ne z5%1+?rYF~*NTu;s!8nGM!57EI`}y1r2lwDcXkB5nFIHmUslrr4rG6B*QvTiEJtWy9 zC=T7-ZRy||j?U_qD8Ng>$WIz$Lpa5su$@1gwiHcw_q|)(JJvKB4MBBQDng9_wVQNQF`h9 z;hQtetzl3l1Q{%Mcm&dIuv9&GkXU^`FcrseBJ0hT=}%gDt1e5um}(3zF35hCv}%_R zT0retMBRqptfZo%xBF})*{tiqe ztrKQESsm*c>I%fhn=WMj>qY$}?1u#l<{8X6_+VqDet=KipSF4N0@UAg&*yoAdk8u# zQbnE%Q7t&k9aMGyc$w$w{aDC*?JD1j$2%Vyki9QAJCi(~I!&ca(+h6p|;jLjR8 zZxoQLW5=>pMN~6`{<}&26@Ezt;@BH=Y@*i@FQcLN?~#xNx!|+8C>%|^hA}Mk#1|27 z#Y+BruwyM0_&mgN<*2mT@`GcZ>iFgVPb9RC=OJ~L0Vpsezdg_Q-z~_ty`!7%GBrMf z^5&5=|M!sl$#WzvP|PgcKBH_G82Rnv4gXod_a=kSFk>+Pv`AGU)pWD}ZZ)qzPL~E! zh5H0;Jfz@PKK%P2@Q4L*;A55n%*C_9)qycUytPB(Um6V`#>Y5gj~2r@Rx1cWsbv%} zUNIk4xD*O7Bp09Je@o5-%eYZN_Cxahdp(p^f57kv9&xk;hu>$B+SH@%p@c4Zk_mHL z1q>;%ptty_jm!N6tE^TE6l}#hgl;$+_e zAIK7Do4%cnRGbPaNWQuMmspFM;}a!}fQ#2)tx=Q$g@pGId@YUBD_}fgs2k~%_b%A8 z#W%ha7Uf!HsH67mmq^$1JU~Fa45RZhL)$=E4xO`wHXS+eM5$I7{gL)QuY^BTYw{1| z*2Rb9OI<(PwB9zaYR#?-zZ4T?6GPU9>s#T1DF`bWZf$0VVwdDxQ80*R26|T{|5K{4xXB0|ONW znI3EMKr3YqTp}-RI@c@w%LUtP0v`B(*n97QrqAtvJW7=+3RR0}5mL2^mJt;dl@VI2 zs0dg^*#t#EWkhCxgaoUAihzoM$_P~f*?U8xARsdevLTTfcEZRa>-Pk0>%Fz#tKj|o z{<(j`KhOJ|=gil6ohQKc3qjU+5DE?O!C$eB;Z*ENo*2XV0fin?raUlqrv^$1FHZ{O z6g}s}t322i8?W%$;rOXBQyo#_H2PW=i4(-5g{^y}qQoKLDT<~A*=>3VPe*6>RlqKv z4yXgWwDz8UttN#vZzndHJMUWM=a5x)=H{<(NY|&wp{Tsu<3yLGb^^w6*~Z*j<`W z)F|Z)O;yYFyn{eb#Lml#l}yyg*h`(+_-oCwkY}fh2ROn5xuc9@%_1c{8&KC&H48p; zhCWl`J`^e=Kl}U+8apjFrvTmh2{R(LvtB{XL8HKh;d3_RPUE%tL{PhBrgnA2>T{hDOjO8XFS`xPpb;q|slq(ry=EK(ef9lk@)m(~?drvuC?%mFoPx_e9s&ghY zqv^=nd3m16rZWy&8RP8;zufO2&!ivh=S+gW`ph`H^2G?c{H}E@(0;cm;Z)|O@tEQ~ z&HT$O{G99QHUz^tQ)vnW2gG z>cA97mAf8vaq0(TnSNoFa77U45+dHU5Hl&}J{12Tabz*4pP!HI3*$o#&(KS_$9fG-o{lU3wZ8kAu8Nxm_GtM@pl7U z#rqD*`Xab%|Y|h@U8rn;=swX2`fWNi4Nlv^lSj|Z2RjZ zPxS);3sCj~j^)@?Rc3eO`*|fW>#@pC1HTFrN`C`V6s&i+08e_~&Q^BbOymIFy`mi_ z0DA#<*JGWdJg;N=E}ff7b0lF`ueH+@Sq^qNL|gU)!zcwZh{|N7zI-%J0pp)HKcg^D zjp80Ne!y@Lj#Sv#)1=@_Ah9d|5-9vP5QAnSL#dL8uAIpe>=miYW#7!aFq_C)TyyW! zLBfUt(_$9IKg@&_l#gGI2dL>$HhJkgNX0kKs^Se#WNB~kygvGRQ|WodI_KP;XSlBw zvq3ANroqIrcR;k!f2m7p6%pM@9AhaEOGbZYL*^?*2d|%UEvy}M62O5le>)?;8*PZFs-SYUX$zBw5s_uqxgVqYjtE9hTm~NGB2rq~7s4HXA ziVYcGHZPksE}CRg%d;FnOHpqi(EFPd2`o$k93_ZmD5|8p(MKQaWYP3PE)yP3da#Y z1b_{v@?~bak1YtQ%3U;{*f88W^>=pwYheXFI7R-z<+e)Daen5LzB z>cJw2QeMw9F8|W`sTf=smeb(l3S$!AOmN1eUe}#r@~~zFBo}Oj8pFB)CK>)QeA*kj~{0<C;9C)$~XizW-@dJq@43&H|H+iAf|Cw^WbY1J56Rf=XO9vkdqE=!7>?aQ^{rae)-&Cl-g3Bk39f3n zyyzfMOyq~2UsxW|t;u4b;kee;vRrkLG)Y>*VfW6Max1MR{9Vu<8AL+C(XT0JPd7OdCEoqP6l|=r_5)0W<+HsKJz{lJpvg zIfGZGA=($Z58||Z#uBm4`0Qdl8-0;$}^uLAh6JmFosF93^72WE~I5WcFcywOe5PepIT%;BrAVip=% zkL68;C)nv@zTGMYF~0-)yR6B#2>o$yevzYrD8=*C)Y1Sh=2NSHI*!yTVlg8O$ifML z%J~=T#*Tuos=gwJ1hE6j=86z2&=M}No>6Q96MTRQ)kPP6TiK|}uJFfP5_i=$rw{A!|u*;Uq!TWsNMRV52%S)-!6%N=4qZH4kV zX@!9D(Y;>KAqt^8Oc!eA(nGW32BawV)4P=bI@wA^5PDjuY0+9G@7jFdaJLH_Nw*H_ zR+=TKQrc6iXp!7mfamToe?ARjP!t)noA(R&5`YIRFu-OvniKiM?M*^9{1@jxDIuVT zS_TlCVZD?hSCEI(;j_~-hDA*ZqD7!sl}NYiZY_pW1snYfVDx~$!N4*9U~z~+8Ucgi*bXpn5T5oByiB*t+aQ4#rHfsZFy3gw{T@x8j;7D0sD}~@EZ2H90x_ndvp7Gf##-E3@B_YTtDCwt^|%b z1qdlOvp~iIqKM{%bG{n8;GmEN$dH$XIx${@v@*bODggoS(Qzd9k_EQxeWkvT^IbABiz z&r234PNX^FzL{IDe0F-FkwB?<4}zCX5xhi`B}G@`?NAlT&wn^Z91SUJv@xtjwM_UZ z@H(%&>SOUD!O>vQwF4uH3%$Yx7=~bY)B%F1Z@i#@FI%pN7*M&`hH*e#&`J@@ueTu%7)WVkcG+dPSD7PP#PWR+n7sydjY+RqbVv ziihub0vSTBP#qL+_*tXPwOUj>Kz{&lVLevi*|{$&REmWwY=&~)1<+(1+Gp7BP80Rn zU~oxSU$j=@OB%#33-!3&gaP22kfXo+WcVJP*cu8#`M8gUlEp(9rI5oGb_;3ah{AoD zvt&AV(d-xXv*RL43ofAAEC9P7;6CK4^2RvMRJ6O4uwpEcgyk+_mB?Y?+6eYdQCDGQ zIAgiX1!X>OB)7H!vIX+(g+Dkua$DaqYBJm|5-@i4V${|#uVNt)G|^^+vk11uBF!&) zx3MC<5=;95uLe8*rj!p~t{ZVj2@p|yXv}o;G2Hn+Ylil_A{pG}=}A5kNK~^yxh+S`p$m7fS*Eq+uAwPnps=L)YH+C54?b&GjG!k0-o87qAEnkXoi* zT1pm&^D)%m(LBvPpxf;c6Jcdk+H40vmda_+@L0OEI1u{T)1lJy{SyWAo=Aj8FFFP} z;_x?m#bv5K30y&U$?y^OFwlM3fI6|A=sLXye1|jpI0=AC?Vfa4f=4N~J1=3YQ^$HN zI^)|fcoqI<(g?`%%Bx^n>B34yAPTq!z?p)(Tm=9QqPP5RP0;i3Qm2Dr%ZqiVFEd1bZ&$Q<_zh5>98bp6YzuSQQ+O4Fqk ziuG#sYeExQjhk`Y!RI06TfTB0W%}J`_dY>0vt(#OS6f1hkbOxL-7U+ z`1E;p?UxJ3#c>+ih375_hIr~=@Uj90g=p{k3qYGTQ-iM(*h>Q!W&#+=9Pa7>)?ogC z;NTINIg^=47$pP7v-uZ)Rvsws14RGNq|Lsc)hHEjQP(bXoNWW6^RLyuhiETOSHXBr z2~Z*`&&=RsP)=ME>L0omr`uVJngw>`1!FM`@_X`Lc26mHFj z<%KSDf{h1M^3NpOzMuEmIv-m@mdVPLU`c*(B3o_p=7kIEEsN5 zAPYG>2q+Gzro{?8>P649!*?A3v@{3sRy_cmn1oO!p%lyw!HnoU7`ZLSZJEu(4fF!u zg(V0YbQ!DdA0|Lu`h@3^&*rB7S?K9H`nuTGiij^K+VcQdrO_Y@Gn*;Uus?#rVPUfJL##&klnftj+FJpb#fvO+^i?8tfEU zqNdk8FV{8v@EcB|sziHapUEtLKk%$|8eVZC?fyfYjZi#LjV9tjiRd#5i(=2e`v5gi z3+zEtz@)#umlCRMz}tp#xw!m;(nOa!!9E7o2tJcD@_r85t{lCnM#Ms)x{>~5fc02| z;y=SJ6B7`wM9DycTxrQmcHuJ<%B%h*fakbP1g9I$cc>iRy?T9Y*Iu77V8s0W-QXht zCZ(-#EiQ0CJ?B#G8u*AX$>H6i$%zm3y$R?WY$489-`oGxH-BTdh>3OXk``tK9)S2d?$0urq7m2GmbVY0n3h(1qhooK}Y02PNC%NrJl5=kNCX8G%d0w*eY-8@}FW_zu__`}06&piCg4h$i^O4+Qkr z^FTr{!UUk?pAtGZH2|w&;2gtKDY9DGzkFFCX&~qF+q+=2A`uW4y+#y!Zr6!;J;IJI zPii~Z_WBT<2x4_RubF?!@6*&S6w#hYgYs>YhXESr*3eNZOf${FOp?m-AHO-hPb?KZ zgp(3(`kLQRF04Z0Cb298u%%TW+ENKEIP&_u6TB>K(Xs48$SwTJ5I#Qak&TNWj*c%W zT5cDs7eJ5|9Qx)vTBEb)2j?9T%b0&l(hV&4Vf_*--f<}RV%!Cj{j9L}r_B{Hf#2^Y z$Mw-ah9Ps+#cj+A)D77-tSY!!oIJ#a5~=?3jioKUz7s5J;RyszYghT+K~ z1%;VDTu zdh#@`MbB=nMTf*a57$LU>c;%4zC94W1xYz!Iu#$z?r!kes z_fi(!Fa6~_#5nF!qV^eWe1$1^wc!3m=E$Pi@~#!J_%6J}SB;iF{&yXI_KzE}9^QJ} z7;fMUUcRQsZujPDDFZ17t&aYI zAIn;{K0GNTE>im(U!wy2xZH}Ea@1YJX1sgTgF_L_#c|!{kkzWJ+fr)}ghz*z=I8Y5 zDNhy?2B76<60BOAa69Z9vgoR1h8OdL>;2xL74d=Xy1y*-J)IQ3{QQy`lN1}UK0i+t zSJ!%Yj^9N&Y;#jmmv`2^SRHBFD-+F2&1hcchi%l=D0RCeWswzq10nQD zk{~6rL8&N5X50AS;@fxSLfFP_nIdf;(^4iB| zUYnKQHQF{AN3*=t(?M+ap1jcmhm?)}h|%8qK0q~9jBVK@_Uy;gx=XSa&nmTK?Sni! zo^2%c3OZ;D;r9#7zrW2KQN4G5%`TwpshfY3ZZ##b3YUic{GL}YO@B6?n=NmhI$wrxE0tVt~x#Dat#{hha zf5bSwBayZ`yrgk8k$)v30P3h69>oYelz_2&{t!k&2&(sUE!bIdlFOT{4~JPAt^e|0 z^>y~(1hL*Jp3n1ZVR?0%BDC*aFs45`KEC?#x!HF z)=b%4`f$yP?WJkEzI`{QxUXUhTeTi?CeifA+tRP>GQ+_n#`a;Ux36G_n%Iy6i@Nwq zjuHO%A0ls`O`J6@TJ}Q=>C^^-*t56$F$zad^G(#EP24WRPIS~qzYL$2>h^v;**W3N zj1q%IqS_8X4(t#H;#n{D%4|>7 z#I0*v(&Jwsb1yf83tJA?UF@OB4-i@pKRBy(JmTT#kBa}4>omff6{4IOr)3stH-JYX zmCxQdes><1sQfV7Vd8nKk|y;A{WtMg{9doIh9kyPBf7knKm&6SmdXqw{FhYW+>`y1 z%kEuB7Zla}(O3N~=ZDzjAjBd2Yf~pWK@t}Gyd>O}XbUqg1lCffE9XlvnN6dp04tiN zcy{KYW3sEQQHRU!wmx~Gfcc69G}R%B)e*;a_0p0zyzdYGmXs%r4|ClSgwaYVb9Msc zc4T^&`ze2S3dokw&&-wttA?yXaYXh^ltS6)2HzNCmzFsX9F(83>m2jwNGasX(E1}m zbQs*C)x6nrZHmth-nom39QUxi_ob)XPV|kJkc?x^C$FUVY6a#h$p`WeKwRP{#J&kE zT(1o;gv)&Wq;z)0miB8abepRh^}f#>{PClyTg$E?3)CrUC1nS7Nj@&Es)CC>k;KfV z8d!sR@1R#es#vU8dKXm_#IRpW&<5L-yh6j-sWSM2x9s!@te`SOdqqnn_V0UXCNs z0}WMV@PtfNS=r8g5-nQmut7PQUahCS|0xA~DltbPFCP?1X)FCh5`LJx4?I`%+?B0= zH)%H8=|J{Sqh)LkSWkIg0}|XSOL8$@IP)k}{z0jg4O<1W;#cFTjtF)H2|gBvj?V9s z)e?Xln3lA)G~ao&Lct&LU1TcXJs3df|3I=QN6l@MZ_RX*#Fxegr!>zN|bvt9_`7r8o$~TQEnSa9=%lX zh4od3QA2^qa7~7pY``UhuvIQDw&TLtYTfh~q>i3vscTc)J!sP?5U$Q%NzR*76f~$l zlRElii>_2}|xm?m|Z0uA!Rb|tT65o{CJa8a48+c0~mjTmN{!F*1? zn&GvYkhXR8Kcy4vOoX_0!y6ySxt;%z@612aCD>FJ7ouSYhVRgmV!%Z`-@NF^PsUS? zDwAdo`K`5savC^Jf(IODZA`mKW^f~DnDgvaZ7Zq~Ml1iRZkjY6Yh83()g9_<{11)U z9;1)+NDs!HCKSV?)><|O>U*CL++SNJE_NH#lW`WkRie0~7uXf>g?|F(&;iUh=~B6Eiww7 z#kc+6ot|fj>7Ae=SI8FrCW=oO#NLBjTbsB37v$GZp7_y{luq0Ub{DI^*0t=|f=yat z4;7tUVW+j0usL!gel+Qi4*c(Vssbwq*?)?)=z7IJbf>P;AL)qOCk9n8(-fIBDyTu# zKRDXaLtWXS|7WuXxCREXHH_qb8uot3Y*A;qX%{5rWUk@&im{|~%7Im2)x|d|kqdco z&S~i@g9*}-#TV1H4j$dRvHT<>({0U>l){hn4>b-bR~h_dUm2r>@u&|BW^Uh_Q+dL} zT)q}?i%nw#%Pk9Ay?VI25;1AX-v3xLtmV2x`j2;uf4}x0l5_p(kCb}0#gVcxKV=N? z4*qqtgr$3L`B|7z28fpOgw3HfBSlH?c`$!3Fz4xVF~x;Ir#Y8*0-wJ@KMQ&CgOb<9 z2=;Gs6#8UFgraBj4XFUy%O_byX_x-F2AH3dQJp4Q0)t`Zb%7+dGg!+!337XmF6Ox+ z>i`TWTa?yP##zfK5jW1eTQt9iw*TIN%+tw8-Ce-Mihi)=H;C<&lgo-P4)I&YgQ@Nd@9(I`J7t&Tn`q;E{A_d&^_m&#Uy7$E8a&9>6D?) zZxZ1$1MTNUFM7C@|68{{&r+ezRZXqrNfX+3(YAg3+nrTgXm7h=ZRd(h2j$%u1>e-+ z`oPZ){a{Nz3zOSxc<3hw*mz53p+=SkdCvuG_Ge=5wrJU@6t5r#3e)5sG06T8LVGLKJwEalQV-s*>3^613p zMrN;xLH`IhZ;}$^R4Jx`peC1p){y3Oz^S~JI#yiafi68)eX;N73{i8zI(FPx@bmI> z=#Q8UWAg=*Mf`8=O*BB9yiB5|<3=XMW4w7+nn<4Z?3O#Z3NZ(~>mq1HJ2CbL%^JGV zGe2SZZ9Y9_SGIk2IRRqZyW4$cs6LT%&YULF@oR)r?ge0AW3%BFTA_ITcqdt!^g6ibtc{G7lw|GZ$qY+*!4TYQaC(82& z!qw$=s(htO&fJJee{pR9_T>A#2oca5qbK@36K%Ek84dnhxb!Q7_tq^*x$^lrO#|gx zu6v-=Zmn;kB$@Bi=Z%`(m>(i=X#rDHKda$FgHP9hRgom6-DQHT4)f~PPv8Foris01 zr4*&zCjX$2+ItlNtg9#T=SW`3?{aJ9a#&Y%l*yxXy54Qs&n~|H(%N48;!@bYso$MT z&2ni0RY(!E&}X{CenQa0jsM}(yz&B$-4L}z95dsutHyg9__&HU%9`Nu65s`+F#*!@ zXS~@B;jSzJ!oRo;`?w+P-Ov0r-E1Z znPv>=>s+Hn-u*NijUDJw=gMXEic8^~W?B-l90OL#bTsY$?8~Hb)L|UwY5<%ybPz8I zZ)lY-u<2<$SdMG7#gK9A;!Z5HTtzeqcT*pQTh@&yPB0BD)wR}8tMO#qOeXR> zc!7W(oyovWCmP_!MgjaI9M}9SrAgmcmXw=Q?4BYV+3;j=#M9 zxxMUP32NPbTgqr<*o6Ncc(gi>^Cn*f^eE2Co)veS%05}J9ait_%l#Ay^deqa& zeHjXZ0YQR1?(Lm)tP8Wt1}w(B^-&8U+fc5C$n)#B0^xfO%E)NFyrF>C@@^`}@ozBk zti&qlzW(dh5+MO~pIyHHWrxanoujD%T{~4=jnZcYXI!O}G_0uB6Y{OU0r+?w_S(Hq zjJT0L?1o9Cmd#8A)KiFen1-`p1v8IOA!P3fFS`(VVs$wxyp;L0jOYji6wa2a>(HjA zWJvApV_SDmt*=(Tn_j&MiM3fWb1KC~)B-;TzqW*?74(cK zl8r_hNIv_3P4Q{y36IR9Mi$P`hbBcvh8xR4uu144U8rm+V^1x4M-X0S-LLa56SVWn ztWhm;!fA=Ua4k_X0&c+%exH{5`pQxI@V?X@Go6+g&yk^> zr-1dicT4x&QTyG!6>-2DGrVzMACZT{VGP(_`E5?=lZ9}ku`_Qs*3#;i&uzs13d)7; zPF3YB3l}HPv4)~P9F{*)wN_bUBPIeEn7s%y;&NoG2COE2G71Pedic}ATSj{T&D^d9@Z13W>?oqhW~QZ^WudjedziA+vZEZ5FxYpF zq)Wnd%NeEcoID2`UU~)Kyn23<5u7SGsh(PdHkb5J=SIx+*T=sro02*CO{Z?LyMqd8 ztLP`(V`bkDG@w7#E+0w&Ls8InU9AT(?M)MD9e>~u^uo;YA2q+S1MZKOXIIiKu(RDT z4F+3`=rtxt9UNDkt-Z)8d3JsNQK~4jUQ(P^QahsQp*ek9$RLDqF;8WyXvB%`T4>4H z`o5lD)%~ndYl$QMbc#9Xq{~r2puU?KO-aS&RZlj4TDj0RR*qt-pRX8#2?gm|gn_P7 z3EEUcHmQi$$dU);^jKl-VcaS2uN&T!qqIC3TnXs;`eh0sE_ zrEAkP8L^!JXI6|zVYe`np%Nh_!&m*m7^7ZuXk`1Lvwb3HN^9$)PxO6TC?Olv=bD$P zL9nPu*Ji)Ia;H4tBtBAFvlN_L>yVz#2KTNZn6A|G2cQ_j@rEV_bf9o-)7{b#_VaSQ zZ0T@aeyO839Jb@p=OXEU_BX!6d(ab$6gFJ0)vI#++MsCohHQ(5U}8W@o+vCbf?-av zY3XW!1Ym?0@ST74WDHaAd#G_?x#vGIRy%^?)LOV1H{Hg6ti~^=bmvXX>cZ&)IOk1O z+Ux+l8`vL_K#lWHnE56uF@Sc9>;@Vk3y*3vQrMph=l00x;5b6wxSgfez_sWFT59}j z`?b-S_SYf))b3wU6*aUNPLX8b9(Ba(N5# zyZDN+Lh-1}&y+#Sw^4&_+dtbJVv*HrMwOckJ0(@*I6#1!78>Y;mkvgEj(d8trJSr2 zPNPCb%be_lF14H{-sEG6PitUJ<>xH5^b)I;GR+wkU1nb&Qoul?EL|px^AVnJ-voro z|E4OaC30)c5V_n@q9@nAPiiW%YJ$iQZEdh%chFVygbNb4!;F^{3R9nbU3O7DLXJN) zDrogXk9iL^6sM4F10n>%oUcR>QFnu2pkVh{&d3CP=hd~JRv#UYD3m~;K?xVKZ=}G2 zr7O3Zyo}}SnmsHPPkR+z2KoaD>2}FW?v1^mF ztp2{Y;q9(cUqhpA0h`l|JK)ge-KypnvOew8`it+=CVSK=+)BIh{Kcwz^Ute}bus8? zHahSFjQ;4_VC>AEKz&K*gZp62P&zw9BO1y{@{h3Z_bmT3qv`z)N|-jFfZs()eRlk_ z@#a5K4Q*Lba4I;^<<{lDMzX+$*(FvMu;n5c&fH2a=c$p`YFQP0qKg((2GDpj#fYyd z%ju1V>(iEyek$vK?L_mgkz;T}6$v%P_7Df7vmD*U$u>H8Ny zdq(nSk=&*+cX2ABivtSVk2&5UV);0`8@n}b?h*4>{ItA3k1_FI$*n%aDq@ca5i^$& zIT?Ltb?2qmBhKz^3}yHV=nnHw%hdB3RQ-vSIQWNgdF=(;%splvXH(_B(c0=|HsSW7 z;D8b!)_l6P%wuHprwcu^-3JPn%0oS`G_}6b`d%DRY2ay+V1B*}^X&2`miqG;8vcp$ zWvp*d=jrx6%BV`S^Ot)0qR|z1C+-{U044 zW_M^?*rj2qTEw=vbhU89bo|l6I1y4+x8Wmz$bv%c@gGSyPyE>22n{EmIEFwfC0fEm zU35ibq5Jzk(j_mY5ugDc^FzegY&pDe|09S9fA;dZ!wY)Y_@__-rdL-FTC zLtPv&*X=%~nNPg=$7_^Dk6v00zNeo5%e-kGGxk40I;)djXRe)03>N^?JUQ!aeUvf# z;GUW2_a2|sy=QU#3$(bP!1!b;>Z^4zYO;0a*@rS9l-w_?0*jSZ;a#* zD%AgFu>WPSf8D?Q3%dAUi8x1d`d^9o7Yq9@WaIy|2ip>;Z&64JI2^8YU=P4izzXFp zux}#UZkw-K_Hig-pV}is@t5PxA+fIV;fqB(x*~4ff9@;}s*w9a;DWDkWkxmHA1jww8aTPG94=4PG+2KZ+ipeCnfZa!rZsFawI{e4RGGF$Mm%!5P9gpsyp~E-) zNjua0JAXs8)@|e79m&w2s2WO3M9ZWi_TI~5nTw{XptvIb8p4l{|I?7* zcHrw1jF*8SOM^?;L$4J#Vd7TY`*52Xd4kG8zkbIoTyY0^@BXEZkA2UEQzkB|R;r<&W9GMe6=&Hzch36Ys7Z3fe*Is|J8>3Ww*pXWI8_i8!ET7 z$}qg^IJe&`1^ZR>bjG)H%jbY+v02g7=eo@xVfez)_ft3dhpx}!dNjQpsyo%L(e7$2 zN&fp<+eR7elSQY3EWs-mHnAV>rsJ+2AW;G(=Xl3f*D;S@7&Z}tzWw)U(zCbsYwku~ z#A}57TVOeVC|N4Au1if$`HyMR!Qu^Qgr|Xg=Rg~`40SZ-x8{F+hd{LHaXauR?uql8 z3LS)d-%d5m%>6zU#Cn3Xztexx*6v}oV^17E&%=&)jC2|X4DWKKxaB-~A9tjby}17L z7>&JDU)}P5{Ky;FCz(@sA4Az=BlxcDK?PO{r$y!r-YpJ)>Gs3_6boMeLfLkw$~sCF+Qs3o}E1_y^`7` zLY7e!y*}=S4~0jpdDFKT`Ki3dl}P%jm3Mc0AG(%)?~2O@D|v#IBN{l^fjOf6m5m*5 z)Q(l974$ZoZsmD5=i;^%4Yn$#6-d28DrM451!Qp?9wj%-EXm`oRkhxp1aEZ0b{n!0x(LPxJqn?o6@d6F& z=8Y0k9j*d?D>rfJvi}(QnsJYFdTZ1JiQSV`XUx5*fG^YALQjQh3>H#mwqeiDUi>`k zd6PeDy|?*nNBxI3t_T(dk<}(}3FJ#_k-4)i_n*l4*LNW1mbqMB_v?J;hqoImK2Ij- z4(jm}D<>oDIH!ViTT3_x6JjRq?2QmvkJ#~-YGGOvT_gnOL2(1RHf~LcO!WHy6yrsb zPCZ1V7BQs)5v;U~Ri?Zml%|ll4gBh#jsOF0w2dERblj(I0$I|_sp4tyUOLOUkGDg) zvkEQ3J_|S}L0#T!h>t8j??*!%{&>1r-)ophTl0q6YD#t)cUFW=48URNkL8bJKFRRa zj;DOG&pdx%NFll(YyHrOOLvKeAH|b~u95{mVA3~i`)I&y>krv|3>ULgkXR`O^_ocd zPK}IlU$|*@EDYj1u`Qv-F~rshyEIvn`_n&J6}hgI|`vU&y!`NWo0rq;n%S z?&U0bjC76RRpX;uJ-wVhYOPT*dNxGMaeLup(6o^j95zn8Dh2`BeBMNu;%pT4hf?B!(Uet5iidk#eSGpEKR`LYgzGR zTO*3^QOgMkpoNKjJhd?3jZZmVmB7N~_#I26aDzjlaM=+Vyo`d{R134@WZWa%Ot&ZJcm-RaIBGaS&}-Ub z0Y%7bQI&0lPxD9?G2GX+l>sQD=&e2?0heUE;*^Y~83UBBO$Kbf>2MMi099-BHjVfi;kSskJIwA0> zN76kkSezcVnI*^HJ-e4GbYQ>4@53m#f3W>>wJAAq?1I#jH`xa16!s7ru@94gTl1zP zHyo)o83Oed)(K?~oY)=_qCyGTPR#nI*Agzfv{n!zcyqoN#yY zRE)V4VNH{uD6aW<=D37?@|sRvkK+_JE5f!DXirRo3eyW`&_slAj7H<~Rz5dSzeL_$ zczQIA(~}PF09;%QuO^@9Q5`p`e_*2VbaLAMfi8m*VXzKO*iCDN1E&-6k!qH1&ANES z4Jk09XT3TcRgpmOoVXatwa*MqJQ92QZIB-VEBucI$tA+CNt}V8I~Rp}LiCv9O_$jX z(lp#mzQ|c~1GI_+|(@Uld#Lpfv zA(ho22d{=*d{fjZ;SBuVv* zg(-$IsZ%gpX|3fly|W5I7{+VoeCOJl((tC_;?K1(_-I-co*N=5;L7B8yOm3z4Pm8> zM`6g>{vhF0|E!&w)>JJrDu1>DwozbJy6MW9D{5cyOV?tgA2r~lGsHeU##T+&;UD*1 zJ;mXdL2Lgl_*@5-wJmv-8f^clU60(poS}QPYtW6*kDD;ipEDzmxy+;e7#0dqW8L)05FN{PO?{Y_Kvf`V_nBkib z)ii~}!RXo`(SJ@+cF)?>)*8%)8W36Ks1jO@L6nzEJH&@`NYS8>8%)JTGsr~tg~=-A zzN#o^icAc;E)<0sy9&dU_E_;N418vf+7Q{=f8~JOs-o~$Pi+UC)yssy)S0wV{s|}dL@fiAmOsct0w~0}g^XqyP zf7m2K25MscAM+9;sPQEz-*QJf;7Zu;;DY4lt;w1~7P6z5VeM-#qvq?V2zOfI)|DVnYBZK;ZHNgX93*pGFblAtkD zJB{#J6J3flPvJ^b39C2Kz;X?5b0j=#(ClixZm!eH_%W{E$$yWenV|N5;QH1E)Otej zblBI(l09H2^ep@J)bAfJT}O08wab{u2A?r>HsnkP}~w6Pu_Bs z@fK;x=IR<0&A^bI^cSvpo0)VU+dhi0O3I0sJt`a$*MRYB)6KYK7;b`sH--x$ggvb+ zO?HK9rLaWrhYXV|$U)*>-ju8YaX)?nh4LBnZ%RkA1wkYnha?cB8HDp8DK(!IYov|H z`)4(SepE~=ah-YTgsp$vPmivo?7QVH0C7iF$dt{8w}L0bW?%w6K1&W(Qai(#UI~9A zk><@+mZI?A&@4UsLHZO@gw9oRc;n)Z9`*Jke{CqNi#n@kgYdkJ-1=0n)ieg(riS+t zB%3jM%gfSxw?Ip#s)*2WPu^>C#d+c21NO`3O}jV$ia<5mAc*!F=dnO5g3j4MGIsdp zKt%NHb0W8Q4bjJ$T{3wmCY-{AmO7x(WG|!JnoawI>%x2@d zj$`}O-~^j)oe)@5=q_b`|C7-c1_f5a-m-fn0FUlJluY5sjAH3DisxX3Jhwe)R5&Vw z>T>Tqsv}Kkvkgg^ZL!Ke+5O_XyN14Uh`eO zxM0nT6G}sg-(G1k&FtB9GUK%ABC|x9r10MsFG;tG4c9e=Nq01!8OwataW(eHqwzcb z)3vNz)oR;pyryC{%eS5h++nB->yBL$~K`CUqaA4E`I$Jx@G(60bLnnKk zVWRI#DRC`|v;>VzokO@-bN4lCTlI$IvnhEQ*oo<@9b59#`1K7ETquh*R_9L z1aom57*r3ztinz7;b}g76{HSR1ALp;4BZvSZYrXs8)_Q8JR7}g>iCUqODQ|=T42{6 zw~dc(N1mvfF1_G&Br@M_(JyzpgHGmGtEqJEzE~kXwIt-IqE>-(d;DZzQR5pc%jpa# zCV?s&P~f z=O0F0F?6ah;rPGY?itND&T7-sy5>C{Sd8bsdC0D}lay=cr#Cn$>)bdQ{JDQqJ%w=X{!}9mf`oa}-E&@l}DCtXC5)nq9DO z?@6h(b`xyMtA>eL#BrD`D_=m5^Dz)GhwSCRO+tz6#x-^U72B<9F!@U>4&_!k?eL<> zOx--F;3afAVE(9E95VEC_X=OH*%ika&|HUSZBUDo#6p+Zn50hf(FXW-nDgtCSiWgt zT;|VL2VxHR|I)bZ-2I3HO3%Og#mK_%IqDl3kC5G!u!sAsIr|Ov>>{aJdS9w}vc*mz zTi(i8sOdcULI!&`#s){7zBQKcy`oXF{KbOpt|5rb{_#_(cKUqY16trzW_^0mXg60M zS3-MnWdMO7^Dq4FHPQusjFfL!w7KCq9_RHl>){)I|Bbx7mf$r8DJ3M2?x`&06g%OQ zLM&MkF4QrzuM#I|a{HAZ)DzDRlmrEMpmOrD%!#Y6u3U{=kEo9JA{*wtx)&7wU<0cW zp}-xZqp0Uw2gWy@aCjDIYF5b6-;8*H*OlVnE>R<4b)^-PkvZ)tsz1kUUsdr|{cu(- z>9^{-998bh5l@1Qved`S&o|bP8q>X2$l>$}yWKEUdwG2Iuu1PVyRgqzOw`PDn4x}&h4U?LwS2F4v=$Hrq?==-Se(*bh&A4 zhX{Abk1UaJFM5WZs_2$QrqZGcJe;kk(^7{|VyJ;Hl;Mt9YfpBX<3?3S$p!{QG^y#7 zi`uE`kJ{t6iP+nk&C%4l{g)y~i3Hb9cxU70vXZH~2nBbA&^2eeG6ipwg_rEd*?5MO z?MmO?qgp1HQT7A;pRaJ}-RW}nnoZ0Os7KeG8q6(^YGtV$!i6|SGP9Le}<%{LbA(n~2nnQxQ7cpl!|mUqdVOkKY}WH%wZNQ*XoDlyF8 zI51o!turvQe*;rIOAb@T54x&%Ok`d4W0r%{eoB{kV!9N;Hhw5yHh$o^#@S|+q|ZIV zma~61tBlh&zDKMRF7;6R(PSvsM?@a36826a6N+*G9LxVHUzKg^Q_UxUwY_p^RH_6 z<&mSkO-ISZNXdu`tVNKb6KY~sx3nS*WOq;dmfTzawy_!>(J8C8+jt_;`p6H_-}`$d zmajgp?bdvH9Y);wckGipe8bJaY@&3&lY;N!gqX!UA@(r4Xi~?+T?aC1x`eFi^eFlz zdbH{|m)yBiJ>fi_`K(b)!HkqsS}?9Ne904}ixjFF-U+Gc<2f+it@(6AmLdpF=STeU zn8t8iPi{RUkX738n(RH6TWEpbH}ue_6^3o(n_jf-9jHgf;TXLwP-d53@{q4gZr-`+ z=tG1yc)n|ubyA4YQxm&u8mBhhe2%(xJ_5fa^ua|trtF(Z49rx%ad6xO^6Q(XpvHdL z2*-yxy;mCywxG-=p9j_M4MMo-Kf?B9>5v|5tqrP`mkzAA;R>D=I=qWY5sm6-_ZQ_D zGUrjF&tMF97@jJx+r6mz;XcM&Gvd$%q|M)r=EP|mo2nbPnsBC*(jiMJ&X!C=qZ1M% zEho{G()0v%+mfl?qO^g2gk9jeO$krknP;m#DqLX)`6CSq4a?led)p%gCA8yQ0$c;W zxws1CSpHqUvfOwoblmKO9iloyBVEJpsqQOhmGH%1t6D@?xc`omI~SK=2)`aPvSgrc zzte2{sbQ7%GYqWGsg6prv z_|==sqG~z!rdnd#o*o!k+SKQ0u{T@2nu}`cSv{@=(Uuvpg{(Mn@{9$R-_g$tojS1A zy_%x{i!K@G=_2o$$^Dbryzbi^G#R*c@Bc^Ldq*|3t=+>x!~!BHO*)834=5sCK$?m) zY0^;Nn_8_LJ6md1D@$Kiova!iL82|9e{jR9g?q$J9--9%=QZ< znnYMO8o?}qYPP#>LyX*PaBx4pQDk0Fyq5XWCly9v*@znHkc2o~Z3pK&EP75_zP*>} zgVtfzXdU+2(I0B+GnX^|!AhcvlRo;AW91#|Eme+?5NkcS2xa3&^f;}_Km-=PI1q-A zFAiSO?wzu?8$|(BreOo1XI7b_IwH=r+`qv_;5*Vs2MwV)076da!nUzH^U8C}QN$<7 zByDd!A{=;@CNL<=4jrW5C#leC=XpG-BLh{P3}v{F{=5Beod#WIFji7693bq??e87} z3M*EiphMCp;+E8>;~6jG5hZcGEBL(Pu*?mq9F~Y3(wUy}OlXj^s{P_(PJbBE&;kHW zbn$fOW7(YRz`5RpvMTx(np4`I59Q;xiQx`thKb~Sf-KdJ3#gVIDAI?N=$e(zcnfv|Vl4ItM4vh) ziM&-CZd_$=!KUTAjm5Y!`W`2c3%IQwB&Hcz8;|?ZPFU+(v}qNkWKHF*mYtC=kbqII zQ?-It=e%MGzH_i!J#;<$Dy;zfMPQ!Ljl*bk&`v2|8WDC-Dqp1 z9nWS%q6xW*k7`T%N@xc~pF^C}U?DrSoXpm_rB&9srK4y0+ndEj=iqkQol^UWt#4z2 zFnCAv0JCRHqxE)pU?xAmSv6J!QeA3cz@c=RKT8~|57|RZXtx1PJM$luni*w^&@6;y zJG7xu=0y_fx$`6oMdjG4`123By?7-74BX(k3K3RG)OS;Byp=6i;=qVaUv2BGMJRNG zl6wrNCl*&|OP~DZ;&<2X#F*#H_xBHo0tt_aB{TPOeMvB^iHzOS5MfJDuXW=}_KTG) zwp;gF94{dc)344K9kb1C00#r|W%rzw2)h*ju-!PXsHUsm^Dl(LAEswmf$tfa#b=pO z96T#)pTyr7k_l*#96@};VD@ckefShE-o{%UlJ~O2ZT)J?l0H?Qtv0xL&a>k-Ha1yS z^(_`NB$em)EGKI>z*AJ%3}wUbd6Op}DYn8d_Ujlgk~9!`${_)xv~De{L2sjrU=BA$Y_vd-5n>>txlz_C~DIort6 zNIG-TGR)^QsPz6%ds4=>MWO#uLs(2D)tUaX@4H2nj~-*!FyPFXrf$ZFkCpWs^>S<^ z?&Rj6R%In^kY)5qS_RW2e78%AbwSDdDd}DF$;{D!%TyC3oq!Gzr$yPB^zeNef z>+N?vTWX?sNvpQ9(t4r4OE4zE(r5DY+6D>{=(paX056dGGL{Lw&B`$go4h4(XP=a9 z;5k_01IS1g*T1J@dP$fat7%wX(Pz_grdiMK8Rf8#c|}imMV1?g`}OT}uvV z&2Me1cYd@oZ5_`pMQA-r6GR7n%w70{m$kcim*dUY!Y*G;Gf68%mb1n80;Ej*8!59Y zsp=Oq6n@J9L1-?tJK z<>aFxI$Ns87|aGZc?UHJI#TQx6^$yZao?m&J^Jv$6;bV4pw5CaxUiM3m<#C`nRH$X zh0o95v5{8IwG5fRJr`G}Du@@;lV1xdJla)UXxEo}g5J}^-eI)b$lA{Vxq+I+c{b&1 z5Ke!QV~p(r^)ts&hX7RG)0su?_(((D2(9~S*O$xV<902iwiPhp13cqFJLTy-lW6FC zPM)n(-uY$&fwn8Tm=5mcI*Lx{-!e_7SHLw(E1ch|-!nFv=lQbyMQH?PDf_&(F@mqX zqsIb~&p@4#x(0MBvX-Z1dt1z$2gZl$WqEhHwY@w~KeN8TcykEcnbTBNxcgi@z2S^q zoEYKD#Y@#-A)Kq6tqpVB38PzDSpu>3y_ulsJ5DiUV_a{%YSqVZsJdIs>|fDO-Wl{N zN*}ibHt%vg^@1bU?V2Li{ z-wytmv#!IZajt~mv|hYlLpkUE;cy_3KS5AZO6CBeCV@{<9N--Gh}tZ#@oMJ=_0VTV zqMq2hZ79Iit#?KWo;3gd0jfDWE2WW{%;w{6+bDHzIOXN| zA**$>YU{%4Mmdtzj4Xl(l?cu@`Y9d~DGaxew1$y_CiwX;(K2h{OL6f9(hXspzH`{l ztse2l4m3A9>+Mnb=!glPYp7+DG<_ff3xy1s7^!ofKbdsl(eJS?S{?0MEvaN0pRprq zUxkTrU+Ud)e_kFHPz2?s1UD~Wf-Iv)a7i9YK^yX?t9#aE1^gP=~6%}#)liYzJAyIYd0#Q;-9 zg+4*2NU|lUREZrGt#R23SWzyQ=Bn8aQ9Bqq%6TJ&(ld~ z2q^(iu5LcokNl6y2L$oabIoeJCRx9>ni&>h;`B@vtom`O2{8z5vyU?w{Gts_PTY~8 zivhOldVOQqeK_lvoi%Cw=X&C%VH*|S#)tT=Hz*H%Xw3w73jy4EX;M4FeBpZlmFn7H zcWCttLXySsWqisdr9K8N4)k<%^fa&6)bgX+CH^hs!xEX$SwYduqZzWnckA-#)6wWs_K&gy)+pQb$ zdEHYpp;9^B(j^`RpMpP!FBKueqQD}R`46#a>MX5@JKa%MuZXOY7Q<>IW{5+>RJ)0a zfE-gw{g(8Gux-@S))c1x>M>uux}EN*AU`1T+=zUbf4kkPXm-+lEC9QC35R_8B#MB(sw963$R7kPaVO?eHeRr9Bw*udY?{hqh^ zw;oo;>UXE=1(w`dNLKS5)fT;H$07J^$0R1h?R2=c-^&TK9S!eI*h#FtMR;}M8aqKo z0AYn}Fl?vujjruep5B_}&p~FgAz8NDVx2JyZ3L|F zc5o#%3dI}B#L|yo2v%dMOnp|!uNcv}p=G;= z?BDA}1}H2F6kSQK_2=Vma2Or3UZM=$Id8UNH|cXv)^SiJa;t2iL3`eazhG+~Q%G>L zfn|PrK(kSxV7!u=b5lm(w^qcRq>S?p3YOBWNgojmFO=l?_ukHRWF*h)ZX<{HcE(h~ z*T#ai9(JzH=;fTn>nq$_)C{o7nnzYvuVPz<_2rn9VS37hbBf7`%+3v>#Te}0i!qX< zsfd{%N8aann&0>pzJ=hyyMb;4A~%v+V6$~_ciBCF+6FwlIWg%R#>XJEdO4Cct1!Et zT9E(6ilc3H3d4ETezx_n&6SGIL5;oSL6ckC-v%tNLJjq2<4E-@{Q!0>XXsZF*dE~3t!t%Cx-6^#4xlVts1hBj~hAl3$e$MO3E1ah*Vj@-NKDlcT}30BjwJP zQDb9qIf}mSEKA9D6?=s9#^N-et<7YtQzV6xX{V1(zq9s&Mn(%8w52$LdoXjpS#)vl zy2BR}Xm`5P=v-n$gkP2C>3*pO5{z7Q%ge{dvHAbzwNbHw@j%Kl8!^!a{1*!>f-T@P zP=sw{?CycPWlUDy@7ZsE6I?9XZd`bu$H_9VH$50(Vuza5=H=E@nXK3{qv*ped15oz zjAUs<*m?TQXbq)!TJOz4`GoH4yC=^VGjybe^F2fI0e0`~Z+7plQpckob}x2z@`a)t z+g3sLoZ#9(#bC*XnxunKZ`8OAYjvh(09DCGxhOxXnQLNa;LU*DoR=i|RRME2#pTK^ zblEL8MXH}9hd*!ChAuZR4)nZ&SA;>Y`t8+VY;_W%`YkcMQ?g@lSC44cgO)x zwm!V&pt)rYUF{<>e~%X*Uu4#i)akswL7@5MqSaG`XQb`6mpY`?OkbfVHDc$$8Zs`B zWc;D#)M{YbEbPj>r;6Q1fbTDJ0o@f7QLGnennXN(^9bAxidNp^gN##0~v4+ z3vOcQ6aK|?AeS0B6SgQ*|GIwh0Z`9E;d|{4k(=8iR=I;EkQrPmHf4#g1mY>Fp;aWy zlioUi*Av~An6B92R;9ihWLg9b;Hv*V&W6bCz6v(;ms)6!CDPvNAh1d8GjFU}TUk(R z|1@YezSnev(Kx z!Dr%_@CGhNwXVn>&0;$r&BRGn5@UztCWh_6dX>Xg5*5wzr%h8Q1gO(ATg-RpY{06} z&X&rB4=Y~@#T~PfIylFp%|~;;($XxhCv@_ zrDOn!+^5*RJG|`Ce#c0uBB$79^TF@hCLaw2+p7c`KPYaloP!f_Z}a!zK*v)5rrkF) zE%6KiWb4vu%inm-Oj9<8DxQW`u+N}gEsRtEt}BI|Z8AaKf*I*oIU@1pq1*e(Vt?Hg zhGv?A-_(ZUQ>1dQ2Db^a?DTmv!QFTUDx}E60RvyoBXg8#rgrxGiuOr`gs6p%x3}{; zcYp4fU1&ikAol{`I*V zpRhB#(!G24#;b*pU)tv9l~lj`9=YdjBW5I{;|rvQ7fo@Q+#KqE?$6-UVpiN@hAB>J zWT$DfOuCX9r1vRQzP-aIa&F~;C;bPPsib6%&GRFrE0Sa#Dp(!6<_PchfUDpJq|zO? z^a4tP;WtHpm!LTJG13+YEc#vv74kaOEch$+MKSy2Egvb%gdQN5HWY1`cKcIl-OXWJ zKQ{_4kGU&)+e7|f(hn^ur z%VYMqZ7hav=HJ9bugK|jSBkjb8KbU{iEaFv1bQa1j#L~u6mVw^L-QBnk#7bnDdKvd zJlBpag!qHoKjDft1{dE4C%#5+09BofWUL!)*RH&i!7nRndvx|HO~DNFxssQ8L;k1U z*8k0(ylndZZT-r?os6vj1N?r@UxqR$k}_VAAIa3T?WZl5e`yqn@5yh})+$!euc-rj z@$4~sap?|bmEPZ!{|nsrs{VTtemjF%u=z8EMMpcX8rp@_T;ebd55u~en1KA!x2R8^ z(u`ND`ZmUKwd}ejFS8+a0Ow`Va30miA8!5JD}O|!v{fmDdb$^&e^2b%rl0>DB2(u& z=X{;>OTLIj@mkTIB0(G)ZwP@HYPqrX=+z7Bv!~eGBzXfxXqe0X(dNlNi@ID?=H z&V0cCuXY<&XYz+a%NpzaLC)%x7>Q61oZOVnLU*{C zFthk%iL%r7&JfGdyxVuuAG*7eb@WbP$fW{qwR|*EfTU01_bqzQ^u%`|)G~V)6p_;A z_hWcP{@WV!#3`;~@P9rT8Z*D?b5h4!W8`YQKmy(!17 z6;RcLY_y1F<6K*FzU|fhL+U{^%JwR+7x*1t?AmcOz|A-5d@3WM!{%GbI;-T%Y>|eU zGUs3=+iAU(RgtIlR*43KgwDN&x?6Dnp1%q!zCRx!&u8ng%R6-HN8>!&bylekw`4S- zZ;_NlQ6?~xrV=YyIuLj;V}9@&QvawDeAUOcygyZR7h(EP>nowwRgsvc9LE6Ys}4O< zQn7zsMtpu0p#lz6=E7BP(o$=`0v&&lq*veKWwy#pP758E;3Lf3Q@j=-$8-6J6915t z!&I|9MU?)jO0_nYPPyjjt^UEhku(d03I-!n@_OR^d9g^uu$f8N?s9~Ok%T54l-#98 zY;>m0zeX%(R|&Ms^13kgx6}p{eYrW0r8!RuMPdH(=f~b~4_sj1<$5!JurNDN!!kPz zhZp#bgd6zHJD*j7k=G}Wc=Y;HRqw4HQSx1Df_Ye-B^l?P~7KS~S_Tgg)6B@c0tLwc5a%tU9J((&6P9Y9!P@xH*lg7&HrM*?5fm zlDeKW(@J_~D(ss2IPAob_M<-f-zI!8@y~vKssE5ycY25vkt^K%V-5$OXg~K%%)Bl}shxFXb+!W;ox25QFywn>Fy#Jcr*Jqo-*u zUi2+Yp}3BQ5iuj#kIi&DZ7kZT#*mnS%!Ymv%8D-cThzc`0^3=^`FG0nX@_zfwXaDo ztiBeJh5=;V`IK|uJx1NKd-B3N&eCX^FxG4LBmd$+Od1+d$+!$yD)4jchOotPlOH-s z&Rq2&M!~t%Inp<>bc4bS4EzZQ}QK-@>{dgzC9dv#G*Zpwke+) z>l+PWmV?i@L&)}w9j7YlnmB`e@%kAVR%BJ{qw8`U)I;Z+%U>q#ArR8Mp->>yc&o6j z-|!(dq_h)_s*@!M7{@}yZ4F_!p|w0D{o4?Z*_IC}M}nU;`h} zVJp1%t9aX-SxfDoxr`HeQ-A>O(;~v_0 z4DYgIhCM-apM{?FA_X7$sAv;`Qw?kKIf9hAs;j-!noA1`% zn8$XP9NhHPUqpLM0dppUA--ir&i>a9je3KOrr&iBd0y_74{;9i8T{21@I zwVy|ZkqBOu3Az*~``5fB2EJPqodN>EXQ_Kn<}Bfh;}}a~Mx{0E`4(cPEXT_uD2$$g zOl?fpeMbG3ef#^eZn_3wgA`kL^+RfIKZW*lPaMry7EK3?6;`T-hSj}B-2CW??+foK zoF-b4z6{p!9vbp=`pX&syuwU2l5Y0KU}Z|y;^t-v+)Py28-@@!0;I(iU&pUsr+n;6 zX#jL}J%E)`KoosHKlq%s4VdNO9aLky-EOkTf%3z+SCd8tv<3U%-6iHkHpDV($t9Af z=xF=yJa<)CYOgobC*2+5k~y`Hy4Xp-AAeW z+?71`or-U-ba*EsDR{I&cg`URwTpwKbcu^i>50E?^~OU*8`*4x3rXhu2%p%wbR*EK z0>BjS(}6=|eVIffOZ*RHX+&ED*Igm-EgX9MC@b0`8>ZR~YbvdWfKwH)-c_MhaAbITmE z@Q-@k#14o@y<(z18pZ{f3Zgz?UHK*BF)Gr$tde1>hvjg!p&GVRagz|s|IZ!hvJ8kK znFc{Hj!_wL)<&`xWBf*wcVR{K1${_Lo>5p>v*=SUpD_=I2cb%{3b%GseFMhV^>%D! z%eZ28=Qq)qQXSO{;NwGs>$t^IMT5&X3y@8;@u#uHf9%8b{3W3h7IsPTLiFd}$>@||wCqf>(MoFi#qHyy_*af; z*`A4=i1hOMPo1BYq#-Xz(Laejfyy{0btdRD!QhnA&D#wlZvCB3g|~-C$l?At;!#Ir zRysu(qaD>rA3qy*(C(GY^IETR%{!2fz2fBU*|_JjbQZkanIgRBsqZFW{3)-nXm&RN!BYi&-QXCaHpzvR^y5*$##HHx@_l=$7&Q{I7%dN3fUD8*dwStxvXCppv>LsTv=+%*CDm9GI z?qQEoJ^0O!fTENDWnM>{83=%F@&xwnA7GP{7g}JFQLVqc<%zH6bc&0I)H>d1Qma@D zj3Jnm;G}U%fsJ=VY<$%Tvm$k;G;jr-GX#?o%zUrDShjliuK)(L8wiv~_LS~-()?o@ z!Xn3tiFd0ECi8FxW2S}VQZ&@$dG95E9D6NzuRX;dMy;#Px9qF+6br8*6;%NHoM*Nx z0VWiGd&CCqKJ{9iLCUZ@Nsp45X~lUc6s;yCL*%{lm=|&;ux=xULQmS{M%FnSW`p&y_o{%jUJj zkm4HHtV4Mx&_ht?HQ8v&uN0PJsj6y*JB%$`qvxi19G)&=WPJ1 zmkngmYLI3w1nkn?Kisp+8xOzx)yYXWfb!XZ!&7;j&mncr&NmN8fGizLg7~` zgQuI(pCscR0gIoARYH{*nF-LRgHllc! z1s+gX7uCq1UyDh8ehofxi}V4vN8fTMFmA~UIC`S&H-WwyU9-_f|0N57Yc}Yy;naIZ^`{PGIKJ3DvNq8+W}|Q03LN86gee_XmYFBQ5la)y$oz(ee!o?*Mb%nE2b2yNmg~8w>Bw#=ZwM z8*oc8hp%P5dU@;R17IP^Io2hE+sx9!O5$g7Y~HQN)+kWDdMjmSuSzvzo)$ZoRBI;4 zh&dZLR`lkSjMK2|_bXfRbkctUP#XP{!N3eRYsBT_OBrA6=N>io*5f^0A}>s|CVN4b}6 z2r98l23Z&kDy&UvPt}8Npv$b@gpz@Y@*~@|cIx5|n%vr`37B0bS>&wEIA9H)igUww zpXAhZYodz=?;l0uHsCv}=9*=IVvD|~A8jE$mi_mL*hJ^QasaX;Tqs?JYKgIGkKDTO zb!zUrm0JM&6#O943lg&2RKFA#y?)K^Ys?u;1z6RRJuu=9 zorl&tMF>Q7$ovT_b~LPJ6MKMCnosfd?6IpAg)XH~qA=)wDb-iGb0e$D{f<+uBnPf%Wt@&K?T9)GObHkFUEyDB=tlK5pvFZ;2b$L zs7^8S!0MAyO{v(qYw|_aCf@C(@b3#B2 zKi28B;$QEG6#1nAR0W1kE#-1ZKn5g92A3>hJ_5E?uNv115w723fsLpehBV(wg(Dpi zH}lUo|LM-Zl2pf0BJ7ib02T|zES1IGnDKeCa_ixmQ6MX|#PWI20 zLo2s7c{TuN;M3-=hj!|#fD<_KCQv!;BqTM*SBnvz=b<>556c$9Y^rVT>dJg?DYX*d z!fIT0baf0XvApg=xT0_W39=0|$b1qB(6X(?h3Z(v3ql%xd^*}o$FLt~RFOKo->;z^ zhk~v4lwbkcdp_&NMi#)ztK{-%|I7|SE30Xj!owUilw0iEVD?cOYEj@kgH2TY?D)`i z!Ja)!Bo+y7Fb=CCAguDA2|^x(T8$)K;G#xmh?r`=A+BE=fZ1aDs1i8o z46rGkqW{>GpMeq@!p(;cRyD|)=zb*LWvkTL0=#>%0^zuysI(-J>SAPN3nyu+Xl()N zno;1=OcTA5K)@h%u9e}hw@g4wS{ctgi$3uAqcL@A_0@3(T|O8UYcdS*R>DDL)VD}L z^A-mkx-#kwegA;G-&I1iCU_|45*ec|P#HCOv>7T9vl2uJCuG zwT!?A8ARMyLow=JO_CF{0)MW~`lb9AhJ{ox;I$?jUh#zcH_~J%{ecxqJ-`(f@pk}M z&_8gMfW}o(vzOQ?IRC~c$sZJdby{e~+3qsAs9=%bcJ3=ikN&d{bwroW8Fw-5*&nq! zT>wGZ(Oa1Uv8%?_PZh`PIF|$iJZFpa;i@p~fU@ zWkW?FP&8>A;?03Jm~bltARvRhz*+_hAN3!Fj|yG*Vw>~PJarv|>j!e4tdh2U0LCFA zsw(90U@<7R=y3#WcfrT1F{qt&Msv7cL7XsFwte+QA|+sbt2IZ%bASyv4tyo@pO&0T z3P>?j9!#P|Kk&aej@ZT2wgYm?on^ZoZzv6;lUEB7wCH~<)VWxLW+~Sf&ku79jg(M; zq~=PN$@As%7>?L@Wk50})6o=`{Lv~Qc8)o}>$0(i)k_M4t1#bW)3=!2@nENFtuX$D$FPZ$NHseD#q9cGkj2g2XSstN!T><=*6qQL|#8yZaag?)dJ)Hxtg zJP*9k6;Xawet+3+n@;sT32e0v)`sUS5^2u@=2D>aLJ{CPfq7_T@cn@qL`X{b3tawj zYTP51PKyjkGuUI?(I3I*7>{dp(6nr~->B8grLjH$n-|VIG+oUfWMv4fm#!N8bEf&a z+~}G}fW2|lCVV$Q6ch0LO)Z(4$TpDeOMy$>F=6%_TZxdA5Q@cHLTjZj2F`6LC}-X= zl@XaU%oI<64;RR;kDI2feh2*JzzEt{Dx2b52SAtq&=W|0cJBR={D`5$j3=y$Xqi>* za^g_&yO5%1tYjY@Io3?OQGU0vI<;zZBzAI)^$a}2A7|&>y=qaiD2P`12X+l!Gazjb zY~7%rjCjkSBj2;FC>;!C8T&J!wPotg64jExL0iy&x0VHf;9q+@XSj8MLf}hCl0QO% z!je?!wAmQj4oJiZxMsknU50|58TOe{kJGAVobvKPw-+zJjr2&`oWpH=MjW=4_$I>4?w|K2_X(fR{I zpR?jN+Jw?$V*g;YQ&XG?*U+r*{uvmCbR4e10!kE z{1eRh67%lY+@5{QDt7nyuBAVU*Kn>%{Jjy1`IQr0FuAgL&>sj4{^K?S5Ewf=bLQ1WMgIs@b!{0`L%@CBo5G=xX4+_fK}nt?dlbb{eLEO1`s z^Lznc5TQ@TS<9J{Rj+Wzp2@hWp4Ea;2F-ky(PvnjDCip_p~*JM+<+GQ^*LwIRTF2? zAFxUAKWq{QBM{Zb`IIvOA7JYAAK5m()sNi^=LOtR5U^!qQ`Eq;%z0WEQA&UxC(*c> zy|{!GJh-iHXWwHq3lvZ=TU{H;WvO%Ql0OC9Lm}u`4VO&@sG}OUbUcqMpcevBv8g0L z0o8>n1}(c6HL1I88-(6Da5HdmncI zSFU3BZh{L9uR9-(fEPI$S6FSn=*9pHWOtk_qlrfI+^JlH?gO4X>m6iZ@P)YdM~sFg zUI?hNj(5e|1u*)Ss3q?s8clTv9RUkfK^AmN00AS^uOi|CIsp)m2;MLJTw~s3ycQNf z1Fc$`QO(+H27=U6``5Xr=`S$>{Yz{nSI&@z1f{AY~Kv)k4H`!7R-@ze? z0NhM(Yl*v+iUO{?sDEvFY%r0K&Hjz`{+kRS?)~6Q-&C=l4`?9;?uwS@n`{R|BqGrt zW4fs3hZrnC=;NMEkeQ2&=_F(JRIFw4v3?{zFHST{L}o-)O;`f_^e50QOpjJZo#h9> z^b&Y^;k07{$VK#UL+q3Q9A8 zO5-&%I08GEXzaAN7NfCahH>%d*V^Lqe?H&<7N?q%1LoaJPyJ~@qR{qHJ0C6YL*J@g zh+0B-bj@s>1h#CL#eD{1DEHUnlfj{5{LC4Qu8z=T12eOaVWdtI^U?u8+p$F*105oI z^(WR%m^m&<@cP1bSsb@iE(Jqt@qotdk|#EZC+grB3!uquzsRG*aVWK1?f|)ryxl~^ zb7F0{as!dP2F%4^T7k<67z41&naI;cC?9j*Xy-RGjTY;>>Mq}Z)}hbRp#7p{_YY2X z@DD)6&YLV&b#xSat4UJltig&|vQn2vXG?;luI_1|nh4Mdt7zHr)2hbEM`^4sCWF8HD?{i z6^3i!rMBg^l8tB3BQMz$%%CQ^!-E)H?ld`9VkrDb<;8l?6HOtZ|C)rnP`-x!Dh#cM zxrm4SSc zn?X_}Y6;z9{}aVLKt3NJ&Itrd2Tw9ayorDN^*Z*4f%=V@rE!}_MUNdD|ASllSYSVh zo_`OT8nMR`lexQhp*o*o>}=>Lj!HwoibufqZC$V7@jE{S|0jU)%O$*D_olNY9g zNnKLttgykps@l^8X|#xKXtcXi02{mr#D>oygoN0QK#GH~?yL-e#y`lK66`^LMIZ>| z{e#MHte}Sm5R1eji$9*vo6_JxcMFF9;AXm)#=@yc-~&Ca7to&@HA3}kF%AZs)%#O= zUj-1rybMtte7#{MC+?Np6(HhWjgSI3RVciEMUL=0*tDDQnwuyp{9bePhQaCm=eG1l zGn}nT?d?FbewNDDRnwBRQk6^R1-J^i&h^@#5WaZ~SEvA|WmLD`j4@n~9Aovb0Ei+Q zkpHp~>Adfr%f4Twrk%v4{j*}8bo*vAME$erlznbxh1V{1z>X9ConSMV4l3IwBA3hE zBN{Ek<^llwnSX*b!ZVu2+M-sEM3iUpm+H9J)!yxzf;Ii)LCi8cx(|O<$W$*&Ph|k< z9-hdC@#^Hf4Fw0$kG_WG8ghew{8^~H-HH~kR4jV+6M%Qe5pIF^*x{-T3)i0&YXF<_*LjL37R9EYCmHwD@e zIix@X!9P=s3=l2RNu~~x5t+PbsYEJz$B8!M`x4~m=>-gc!!~~rzpWaY{i18{e%mDB zlP1z4QH+2tQP@rb)<4ao{17>a3Vf{P|HZ}ENWy~RO)7xdhC}2eNL@7xoHSlw+Wkyj zMJk#AOsqo2pDVWA0_)#Uzm(RvKjRC`KK;4Rlan11v<}J($D1N+I|r;4Sn*0xDib3i zP*He4!_cI~#d?UHAZ`!FSHFbXV4(#aG22(y^H+cZJ)u7w1xp<7>m%bc66xprI4M5;@uusujffk?mZk{{CTR z7)R~b_I5!<_5-5*AgNVYRP4IdIbb)?K}hJm!e0E%3r$EQA4W&c%GQvsyi0zxEI^3$ z#Ya7-=$e?wE`MOO_+s<<{f#?BUC5{YHk+n6rqKZAGTrZ}=?>$dur;(cx|Fka(#7~M zU5E6;jQepc;H$K}aJWUU*4Ilj0o-cwOX!(ajV%gvw}A7bbg|FN?)?9LxtHk(t!q~e zw}=6pztzdP@IN7#zJ|d(6Ly_*Yt`hb3Y)uP#lU5XPCC=*-w3rQIi303YX7XSqYAW& z%7$F=*!~$vI#hP^h;{4{eImT!Be#m1=(f!Glm=k~6VXaaw-J zg-)eS?6Mc}dbu8t)MY_chbOcF(zXYXw#+}I?UZ-#7J2SG*6XNSc62t_cqPb22=e)R zpyZL_#toEzo74F3LA!YYyYQ)fwxiEv6yqI^-ZOhLpADKFvM~3rbF(t7fmoOA&JP)& ztuoAV?sUY*eliaeK@6JE!&4xHuNc5bT@rsZWujS3C(ZhDNH{!zv%ve9Gys0iNAYg^ zZU%)l>&$3U)HSs4AN>OQFBr|2Ix1Z~PNg>2mde}pWTx-Z|ANLwtWgyv4j4}oWCyCk zOSMxRl+&OK6OPlTArk-K#~us?E)eSz6jcl>HG> zt>TSb7h7xcxViwIxQJ`F#OBX#_p6Y#RSu1jh`nTFvld2c;Z^~*_9LF9wz&=tdj*0%^0Vjoq0u1z}Fg)|y4;>l05Str{cNrp!aHoIF7xd_hdyRO5DMI0$m#vQ8e30siB>tLH`ntuBbU2M~=%(-NrS@pNlPsKf_U#~LNY8O0@+wD(8a z6+@eFGGI5FpT}^X!droFrm}JLl|9z0TQI^kOFYhhx3FrmwLeZ`HQWY!q$40c) zqIcQUWjJ2J9}8-Om9(%z7eOvpyBtrqeVgEa@!h9!RZMTpRWMX4Ti`u$Z|uvB`V+!S z>HCI%rh>n*l8h+cRV7YkyjMVo=)r2+g*GdCXq3sJL7Tx_JU-W_ZfQUrcrn| zxCFlllnV-(z96WnP%Q24OIvvSew?@)t2@MpJYE!b{gba&+h%xiZ*^dS-YlbiIN$2_%0^*-ebA`Q2<%~FuvDN5u(F^} zXKxN-Sfy{t&@7K|3i^}g>oiV0V8i=desg-rDHDV*Ft;Dm6)ZQbe32+m915IP+Pc{& z>rNM^vGK|^$AD&`DA9Uz&5>l;_I~h71f-R zZ~|z#eTha=5jJq4AZcKqCA_S+IpIYTIqg+fh2?NF*wBuVE$8m(#ZWAlp-1~+Pn)kz z#2YSV87$a+SWT{-Gjr@zB3;7lJ=E>q!&npqY8xK!ww!P^u!*E?bZJ(OWL|!HyNqCz zGU{37S1%`O?IbiD-@~~tX>RTa6>sQc z8g|)#DG=9s4DDb1uKgu~J(w8=PytAoz_Jf5kxdr54=}tjN~?6!#Z=$ zViNZONl8>}Q0m9B##2S#P|<^4|5QRCj|K0RX}@`zJYhbHq)vxV{euCUh@;(J{1#YL zwkM4l|MV-hn5PtExRIIteA79%uzPTgYgr{_vKBZ3NoR!;)O0d*(S@(ek>RcFa!5qg zYmIdM=ZQg{EssMjmr7JYXQkrLb)+0T{Ng(frMQ%3*XI*@{+y%)LC-NUn6LBtDsi}&|8;Y~X`8}^*ncGx}Gjy-2`MhxiYi?~}*->$NAs>EUUCh5H{ zdghSuKBvN-pZSIZ(<$z{xkzg<+1~1IRq%99HOKWlpx$+%&G4U?Z>h94^#A#rTSnn^ zVe{?Q!rwgl>FzEL)Z5qxu468_^+$IFojU)kKM{C!dG}5kWemA-K%7b4mars9)x%P> z3gggEt-YIkbNM&zfA#ConVaYA4j@4%HOV8eW=Cc z2s!&aPhD3iI@@5|B#lf^+P!Uo&pb-PW5Ej-TjUSVaqH$6Wr+HX_h5KS}N( zaCj$jFVH4NJ*MADLi2hzJs`6`+e!Z>vmaM&^VN-Ge5iBdRX(h-__tpbx&)oIaHl;K zvD!V`mn~m>YQZP;;)g|mQxtNmq>Qn`*N`hG)=7|3KNT?=ZEK&$>SR2CNRT@nx_I&; z`>j@jkYyTg;OpmYUYn*%f6TcyiAjl}OWJ}N1mbBfW6tLnn7?{7 zyy!DRE#{R|r+QPdzRb`*<2M-K|w>~5FSQ*1|6U@K1 zG43dU3dO&$;ZpqSKW*{FH~l^MCAhn;O80(Pq3yi@Iydd{7V}Um&(Jqgi_86*^hmpW zyI_0?arh*JvHr7qqC1I5AHfl3AeeYqePHoK&(JQMP`mn_$V2!rqFx#m`zA<6CmGgPCX&WUPKk7^sHb-2ZbHn`WFCojQ2;s0K*}|oMozNR5PZ~TG zB|#kVgO{jmkJM+z+9V{Mr?JE;EthbQ!hKAYAJNcckVRW6+s?169PG@|U_V~NfGV-3uYTNT>Q`-5l>3A!%Lq>mFR;q6D z5U+*jM19&d7Ab!kkH~b2H@<^R()%kDnK+rh; zS*M%?boOs>eqJ+umwZ=BRPM?`k$pkB%%fzp4(8cJ*8O->cOowUj+~e^gKurG?rgnK z$R22vym$JwI=@qU+%n$%=~@(_!GA(c+>|fYI_#6R&&{q$6)G$NAGJ@^y$96>BiX(M zGL?(!^=}B5yBIwCN?rsn$oX3e{{Hew*6w|g@^LEY$FBnltDCKEIYOr9aiamgSVX}N z>k&bykci^=Y^OMXwr&;_neu%PS|E1X|D!mBPOCbAv`RkszO@&S2tU*MJrTZ?Q6eJ{ ztWT%Dyr!|-)V(3dkr|tQZp9M+!O!LMI_HA-cWj?pProou$A@pr!uI1u$ z?DxFh2h~C2*GohC9j)T=?!V5_tUO(mk;Hq!O!`Jx5@mn_Dn` zqVIg?3m3*BzBp|?xj)Rp(h%9*Z)qt1Oa_xyX&&QW2heUrbh-0^Qc81J0;{}-v ztOKw6oLJ9wB?8x6B=q|~Jji&Ha+QLrwjKR8R;P{D0yBP+f+9Oa*;AtqKZ;Mr zQBn;7URU`1*6TNN`bmoPqtnTR!hcq-_k9YzCxo(ZmXs{ly@;i>q(85<`?!~XC%#gT zD1-WDWZO^#(|T{ex7-OLF5iPI>Ckdn$m0RA$gAH_Ow+~AMq-a%@(=| z*Bi$&(nu7_pA~VyroBGjT}CpJ>eb23J`*ON(r@!&h|_26Kp!qYi;h1vAZCC;ui z{n}a1^`C=m5p&+p8ZCtA-hQ#J$WSNz)9sy>ccY!VGg_#yLj8owR_|Hf6U&zewr|Am zYe31CpP=AGx)Z86-=suAkvF?!SvaG-=H>2asA#oVUxQcHXYrXvD34JFwHg;5%q&B* zSNCtr0zRJK^-T5|Bt=*3~MUwzK5N$U4OawAqvt-vBCoeu}Di$IL` z-uqtn+H0?qJ50@*UF|$n7rh?|B=TtJVOFz4hnxQGUci^w)>}5&cG^##;i@}rbuRgp zV4;82>B`l}*lFpQO98HXR3!(p#k}-|&z=#EUif_owEH2?7S{TT=1Pv4f{nS*JDa$4 zVTxcHQAQf=?Ad=D+i*tJ+mkqiAB|kmkb59?h;3U;;`_Q zk&D8qe*m4i39QvBKMDb}R!6z8Q0@B-? zCRwedgi(uJNm=wnnzS(sGqCiHL$=fLCqe|d>9u9A@TJu5-f1np0ZosB{xDym!ER?a z%Uk-75B}0fh$=(9_$*)W0W&+XhJWWH$hgg#J?EflpunZ$rlFj7W1swFXLiPsrBh|w z=D9_Qtv@wIl`~Lz01`!P&8S4c01rc$8az-`xF zetB*Y`D=-Oh>xy4bAPT#FR{~_#u%jBlG zw%)4AY-s;L3PyQA?}!1rR%gS8p0~v!A7it-WJqz}ZLI0pxjm^s z=V&#jQS5PW#4jDmm!Z7&TB%N}Z_wJ=0dZImN6l6I!sbrBK@dZ@0HK(nQGvX-@OkP1 z(p5rZAVCCbZ@DfNeqTw~D4`-auTJsnsy_2dP;@-mCN855?afyCxs{Mp87x_}nia4A z=jXWuV4w9JAn{1bw254AgXOH(?d8_K_H?xNgq)P9v*Re_ zPC6s}$;1cywpmW(aa$<7dUmFJ>WV^;o*VtR`N@yXZ{PSvDd&7hya65la6eAve%UHqG4sG&l0N78*8#|`$V zIQ(tn?uoc;(8bA?bge-F2V7P7cKhBq!-~+?d?0JA_OQe;lUvqoe)0k4L5cdCeap__ z{8`*=4LdDD_E=M-sAFhIgcc-GM+9D*LtDOSE`F%jN2YAjPp3cJ{3=gGVS6xk5nSak zy0O@@o|SaPKssk=>}}ltf*)V_w{@=x6ZzH?VJ*xT?ikBMP!%hf+tOr>%^p@sU+$WM zv(7X4GZ*;Kt7}__K&Osq)|hiKj4@?OybRD$SdTyQueYS#K(3zTKh0I>OvPeOSE_4C zx{fbwDRqY)*@sIOp*A2QL?7+>LLW!yC$C7dG|T%XK@ zs@(3&j1Bi~yK}9sBu)iX{UPVMFNIfVsg-~3i>&j|lm?{BK&-;Jzm7@Ck=8ruc8)oK zaabMtD&0a$$>elkOTx?LFeZeVu1-ty#+R3wDQ&Al4PWyb?(YL0VApJIZ?W1O3^RPI zK5txo&a3lM22+O2_@(uwg`u>u>hxn=#ddu|?sBS_du@ptQ7Q@pj+X>|Wez2vo9pEh zz^$ik3cpnr_Xh+7LobiZk`j^deu1fkDh`J1WXv4a69BM!OOz-jXWGeydQxF0Q}F^m z55J*Px$1P57GleoW(6Hb6$-7~%epL=vHU^O8O1x?Lu)ZLrZ1d3Vi=7vTYUl|*QRT% z-)XlTihROfR_fmCAET)v$P^cai;_A}hGG@XjU7X@H_jv_6uU$eGv-{Njge#PklZ{q zM@4(+oEhKDq_cG1elwL7bLo=Q$LoWvBjDi?W;)Tyd2{UzZRe|Fk+SKhuIF+rzd&MoFT`>?6Ji z8uV|mU9*t5GWHQ9X>}t3RYNmH6@vtm>zn%sNaZHIlgId6gYI|an{sNV=IzAXY1wNL zEEtRaB$1BfWEeY|dAh~!dau3tnGQ#O&i~SHmumkR{bnl&A^GPQsVsp@%`-a(Ajhvd zEojJ+Ka<_8l4&D@aeuyukPmlNIm`Rr;K^no8x zXKbg8207t~jtSBgiwqn%BT#$8aAoGUbd0ziE!>$<$IlULEkTJ8VZYFoYgAg`xHEsI zuxtQr;CT52+6z@is80_G2E`4!NUf|D2&YrhLZ0X1Uv8DXR4=Gys6yQ&Bo-qgPcUQ zxImXW=I#hmKS?$Z+=lg9EHUXYRFDHx52_?Qi)&xyih{3$I1^axy-jRA}Sr zC@Iyy!<>?+{v{0h`mMHmzwF1sDjm|=pr5xuk}b83qCr4g%fdRdtgVc(-Gg`1x$8RF zZ8vmu$*-!(%I>;K7aW;K@5m}C_4v6r>l3dtF#G{4a+L_sJFh$0bKII{uKeiPdC8Z_ z;=bBPvU6LYeLnn+r6ox#Zm=5FQ$Y@%)?rcL!gW24bchcB>=zWE@2hw9&ncwdhE+BL z+?<;0nv^C96x~CFkaw5niI3pzb-CPuP`TFI@L>!ip$O27M5LY|4o->AJ=;=OEB`> z(G_aj2Kqq_`v@h9Xp~fd!dYym(l1rV9lUL17*n9z-0GjH6MHl1!a6?fwm!yU^CfZwA5;!=IYD}S*jpu9nYfitUf>1Mkme1OqfMZ zOht%`jL@~xk55}a#}K%pm>~dNfPVE;=&uHo!k%52dA*piRy`Kj$R@r#Su^+oxxv}GA?j30mb7#hr zLR0VD?nWGAow?)KQmgi_^YGB@np57Ef1V5SbHmN2iEXt27F{w;?&C~)1ss}ZQiF-e zS??$ax~imT2>z~ldnY;5S6L4N5kWk3K|BpOn^|jiQEn{B%g=ZW#>)FAnRivvbftBD zz`K=DZ;_ofC@U_GIXS4Bl4$ycm;G#-reRt>1?Gv7+pGHgbD-~F376?w8%wX$tq1m1 zC;a3U2CXaJzUG5~{L&&rTjKZmHT(MAlPqM4vDmo=sxpoKy7lpcQ`j5)8b1COD~b0u zr1EO9O! z!=FBkZ`@r}j;`L#L2<2V!!Ae`m;*ozIoXSqy>XlT;T$CJ27R zrE2ECD6(Eb!r;J6noKTUA4#KgA#kYtem0)pv3!rj99+t|G(BAJR!ih)&816!AExc} zd3I4zfPh!-jEgR1Q&*BP7QwG@@FUwhLhB;|PD+K}c!?O%Bsq}pw1aE_RTYa3JFIRb zUe82Jb!)C#)0r4meT0 z=vgdAdY-(t+Oow|o|WP!hAEq!{1L*H15X;GUty923?9~Ywx|6Q?#T(HJFflEzQO`; zxj^EQ@r3Yy_{b?>YYN8yU??2cgLJ@MwzAV9B|GX>c0QJ$Y&D{_*EkaQ^i>=N-Z@sw zzN%&0N)cnYeDJne<4r>76)wTnz}cQxuK&6%wM#`7Pb%8H5Ag1jj(U`N51^lg9KBBC zzPtO@ga?W-Sro|!Ep6|pTB2*sj?f1z_0))0XS8h+lLSrrjEQ1^>{FIr{_kr)EnHnfd%#o{JY3-cInYEAh;}jQS&` zjhm_1k&5~(f8}NK1tcojh&^PW?Jh-y-fr9zHJf4>%!gWyV{@KjyC(AAYl+3cMU za*Le)t&f#&@m&;j;Q8j+?m#Am{BtV(ddSO@!k;cg&xFRZe5vrN+W9VoI}VfwC&%61 zS@ZMnHo)g$1aYs-j@e$+o3tPXm4ZsSE)3#y!yfYiPnb*)lo?Cvy?$*IYAIe}rS9__ zI_t>ebnKwR_MDKG1phZ0drlHZTX_3nDgzGT5AwaNx@Lr>+U^+dwLl}qhI`Bub-(*n zydgJwqDKrnEK4_}AbO!m2oRDSJQW@gDbCs<4p1Rs`B2p8n+kaeu(b1@JAiDE5{wL1RK3BHyqLz@s&!NptXYEjc`AUG-ZEw z*gp}(rmv#fzVn)F>SO=#TI%d^!AhPE$4k=t|9eXNhaw4svI=P~e$>7r24@TBKhLOX z4z}y}YV?nU5#J_J-1CSecf|(|2};u~;!PG4oO>XR4yp>COHaGT``atAMb|MLOl21t>$BCQ_LVBAVZEwKBw0*xZjbA54W3}H z>WY<{B)oEd>=@xk1)LF=94YSuKtwWWchN!M=&o@ zxOJgUDYmvDU%|MWH!d3!=>qb4qf^D@$I|8H$z*F;PAPtB&*eNMlqh%eZ_jKk)}KqB z0PXmgi2ZD?bq~-npqLT-XP>f+*K_0NocXX7meiJh5z6VpGFuL<$p(}4Fzx3sGHR8! zp4Qg%z`R{{b$cdqEA5=wUS#@6c|nvdt1r}Zs+nWKb7ju!s1gjDV-N$dYnM56sQ2W6 zqjU3VtHH{6dPSf{XX`gaS`ti|s`B#2ue!KDJSeL_>6?UeSRXc2cd92oh>~z^xcXJ{ zIAFXinqr9+B>>5xC3tzc?$pw8pk-rg=$d%}PM#j^vk}r~Q47}Ypp*th1Xr+44hgC1 z-f-)jzn7huSiV5sq-Z5c+CDIYQEOMw^$rcemVeUK-0j`F zh^E1m&9;5=c!G%uWjAzb;Dsc=NIC@5r${`KkJ&7WaD?c3w^gRijA|Sa%-_kB@Qy4O zX8Q4aou->Lp;tHr?+48my~_C4`W#?KDb6$`T+p6p_G6JoA!m`na|l&I*m3?yqf+Au z0g)DGp+YNOo!PCc@q0tB@Hv+lnR~R#F!M)ileS$22)0fCc9wq>h_LUKOo& zshUB&*ZumWbaGNqGu8TwTpOR(iVitS%~S9~&O82?A=2=3KHrSf7{y=@gTr0yZmYg` zha0OoqKR!hT7geF_=KY3uXKz(X3aHn%v7udV@;kQGTbrSuh@Ki?^^#j z6Sh4N=>r*edsiNT>mntE8~=IB{dM5zQ6M99c;KFhqM0uXG9eo+>NPJGqjHZ~kzE@W ze#4~OE8N9;DYSQUnX=^QY(6-fD2?>metWg!o$Jh~n&$d=$>gg%N8#IrW~tWAy>W9q z;@jJUMy|Mo(Gg|{z_{x>3UV>DtcZlMrQu68DmF`Q27=9yjS%fB1lgvM$}Qqv3XyNFga7 zqcHT?XZZski`zk;pF%vj^-gYE2|0N4lH1hwUSBPot(Nn0fVbuccjMW*PA=Xw$O}xf zFJg#|Tc~U6G2Ct8(VxY5qV@X#%<_Ftw5K}}Q$a|2xd5yeAkJ~ivmN~RJJSciS7w%5#J+0caE_Sbyc@HAgl24l1OaZ=|skV3uzME1iOww zG`%(x)!>1`vYQj?iakO9y1Z|F41PC76?A2=^kT?=1VH;BV!tSE8qU$&MZkYU=3rU7YzHh z3nQXW8Ww%62G-)Ne4jQ`Ioc`3+yH)Yu{vc z8a+0v3YmEf%3PL;RMMITD5*7CLQACE`g^|QVH&SZOJ-7~l=a22B>Z)!s$vU>hKf&D zRM5Cn(R&dUI?debQ#1XWrT1WA`-L`E7C#o*UgAUmUbZ)hYzKs-LGg@300wFN6%zRh z#^>_^oy^udwzBR8r2>!7KT!|sp=iRLKIw*U41~Yx^a{ld_2_OFr)?XbO|;G$rZ1+{ zjog|E=3$X8lp@6|p4Sw&OmYszRtaZb>b*(Ki}x&&0A6RPFBt!>2vI*>q228tW)?S# zCb`3kE+k4lJy&UAitb z(;eIBo$KeLR+^%gt-jy;*8N6)#M3>MTjSHlo#^PZQjCX#?~CfcW$!RM0`dJHv{iFH zV*IF9?s1RShFeiZ3S}bPC89sNPdzU?_VD~{#Rvh=*W8G?B-PX;wP)C&C)h>Wvm{Kr zM$OYj8@+}Sd2m@zJV1=?3T(~b)Y2OAVAoTx-|7|Fm|e~KEeJb}x2sAkJnmuM=w_-w zL|2a=4O8XMFFG{?G`-3o!Co^jS>pA#ojPA$USI&(GYd`Lk>&EOHY;2&@a)PIhXWHV zmwuJF{~Xi_EF6^|nRu&?8br?puI*f-FyaSu<;HqlKJe7vkG=w6aRpcCl)%cYeSE)5 zOfuuJV>7>ksGu?7FCu!X_%P6jq%D~*!DXGXhS$=JIu>cfbM>~lc(9Ws>3fT*u_p8S z;Ilwv6ZzM&gZbBExi=i#L;U#8xhV3ST-vd*@ zd+y!7sV=A7G`GGpmpb(4g78~c9a|(=MC`mbC#DzD)Ou|0L&JJ%0)n+YGe1`G5Bw^1 zujjgnos}w__s)mXL{C5xjnKw6vxX=AAj33LfSP`%3_{VZ1@bglP{vrPj=9>ROBIZ~Z$6{1CFDIfWIDEuF zJmeS<2XFd8Ff#$CO!v|$Ud~K+!6UYr_mso^iX6SF_J#^H$&Mhr9Ou_sDyE|S6Z^6r=%W!bVStE!_xYvBSY!dq4N_*oI3U`kw7<(q+gX z0_ZpP^=n9Iv9spF7jD%8FYermH2VYG=vu>b%CQdezVv;6gc7fk$YYK@vEwnZ7!{kF zGs1s_Kc4Vo>hgD}_b0Yu7KD7I6)ypp&CbMMEktVND+EN*cS{piE*2+E5ek(#Pw35o*!Oo$|k?4}*(uWN|Lw#c1 zm$XYVF$FrhjIU)dd0BF0otvv&iesZitXZ&kmTksDI}J?|KA^djF0#vFM6PV69KDcw z*cHdj#ig=&YlRXQjEkAS%d&X|g-%SSqGCC(=iZQ+0JBbcIMJWXC zZ>bE&hu(12s~7{KkjXNUxtsv{a|qV!JoOFk%&F@y|cDU-EEcG8!1-IS#C=Up- z4&m?fASm_1N&MLh=l=k6G*){8=5jmC#-&$Ve`q>BAnJcCfu6V-xG@8wYNu>)7{3j zUx5-XFf4{`Ib&#U`iHE+tl{-<{gO3EUge*%hPvHHkOGI4Ut~;_*=eU*E|mkV7~gVD zF}`?3q@zT3{0BKA=UQvwxGNXyy;t9A7=$C6ELf__D(PVl3~QhHRgI*x9 z${0tnE`+lGHwL`c*i>iy{WlTjkf6=-#MrVy&5%ph+2#OrdMJ^GDx_iZ8Ha?a%X_=N zCUeGhZK?Kt@2e3lxUz7YCwQX~#IqLyH}4aQ_VdN%s5hj6MEk8{RzI)1cwExGVbxwW zB9ehFgFBJeBS7K<0mpZfYy*|ck>k)=RpfQk{)+cW*hFEFLT*r~@U*@gES#(b5Ih8_ zWi*)RG3FCSm0~Qyw-c6v2QHi>OfN*R%vd5p!WUAhDV-gzKGxbM8pR8nBc*l8nZ0YH z)Z!^9b)&u2e<8W^$v;r7&zlopk=Tgg-)CMTWcxH7ZcVNh*uTG*VGK+Un=5Z0b4|t- zi8PAD(;u~-GjJui9zCq81^3*ujoh4wrN-S!yVFuD5$*za`83i-pYm6bqy;|f6TfsO zYvg|Tk^i+j=Qp=D+UD30C4;?THC}>d?_NP?R=JhC1tUb48vGJsM5giY2*tSp|7`GTOGA^@Sgn zE@BMBX&L$jyczLok{kg#vQ1YOKQ&3+NlzS#l03v52FbDO8Rx>50%2Q;9+06n2fny# z*&Qk$Ue1+EB`O&>);7#a#niS1{^5kO8tLMR-jT}q++cQa;_>{O$8zyIvhApI+nd@> z+MBIqRHsF>WLe46F_ZAqVCl@o;Zi~_tKc$qdMdU}z+f<_ElI<$kJppYeP+lgzU|}P zE2GBWP;Gkc9#o1)JU$JfewvD*PzgR;S#Tgz!RUu>!l0@UXLvN5{E+K1Ki&jcro&2& z+;V;3d2((bKf2$ZE@5_i1}O#7nX0J?$S8-onXX77#vHcwy`9Y<%XHJOtv7uJ_UUh= z=!aZ=JJKoZ(ms7sA{bT?L!fuPs0>r562pR$5@bWIIY5vmzOg~V(qEm)=Ry}zmzL_( zcnm2j7=tItyxkwkR3<}-HA3gB?r*xTlEJX zLsv?>8olWn!@SAbHDDlaE5nQ>Hsw#ULIe|Jn#lRb0dbk-l%bS{t(jdc=>~kGwWdzP zH^j#FsXt$rZ5{$K=W5;gs#i>y#vfKhVXf+ghhn`@o6TWb<5EPAa4KtdCv?1|Y6<&Y zoBAyUvzXicZ^QUkavn~8B0~mw;2Ddbed9Q~Mp!a~Y|kVn+8Y1uZ0wKH;%nxbRY|ag zt@RM;mUIIJ7jPH~i=cpnykGQ1fMLMthn%etT;(wB*73^RYW04i0Xj0p1A`)qot5(Ghc?9>xMsL?@grwc?_8NQIWBE&=Jxk4GQ zs`(5{`K93w*RyFCgqa3)G{lh}a1W&!+WC*cUcmJDl8ob84M_DnJ1RCV=lk#nm@5*mQbuMMMmfuZ&+RxYOjjWJ=0+xQqYvVp&sB^qShDE~^R+pf>H@j2xvXsSi=FX=9 z2lSbV786n3%cq)paQdBB_!dJYeP1|CPo9mjYrFa9BWTmv#_ub!A+mpNTS>q_U zy8U+Qk&I~~z#S|HF3`M!c~=sWPh_)txs9;%F1x2IT9n~Dq00}=i};fMVjtvDH8|a` z@}*hAa{xxxpct50O+K2OZZ!+=Kav$m_ck{CfU(pZ?3HVfJ?#^TM6nc$2*!PP3J>$ z^ot#y3>*pjS9<7BxL7wp>K?u#sLIM9%9 zCX(B_rORut|95=->^~b{|0TKj4e>MkI5T9Hf-LrVy{yW()zVD#lK*|z*M*#;!hW#E}GpgaS1dRwDOlNgGQd!v=b!>K(osQlhk zdnBPvr-Re^BiMJ+VYErUXhKu+&jn)P`TG@f;>atG_=+X1F-iQi7OQ-QI5<-+HOFm! zR3)U7O}|9Q|@#G1nf^^MZGOyNX%buXYV?m=n^cE(@>=S@cb{H9mk7 zYPy93_Q!3#Y1)-47Z}%1@h5t{-)`xV2khlevc^w4{S$o^Fko9iclj9xZ*F(I2ejs{_)4Gx8A9bGplA(kp+Un#!rRXmI-#yTvKO^Jj+%a03I}OecaHKv z=JFrrN4GZrR%?8q(IBj7lEU94Q|{5TyqJ-m?=>B^mTWkD=Q_f!q*-a{&K8uX0R161#!0ycFD1(ytU3k^)dfM=qQnc z^gExXe>mss7+uI2N7)5QMc)ER5lSnrPvi<=;H1iMP-sOsgV?^fp|Ij_Oc(O}W~6Z3 zWgqj!rpV`}e+S23SbLkO0LP)jtz9lL4=;l;fQ-Q~jSDjrb!<^ArIWVzAY=EMxz%Et z^>MYUXBhr1X}_yOkkBUVrV)qVfk>4nA79awg_>EAAU_F1RzkK=*s-o7ao72PnAwda`M~^@G2hslh=Mzf70()CRZ4OF2`q_#y*Kln|W#88(s@?m( zJHuIX@?X1vT#I6OB<$Gm_O}C4f96m$sZgDScxNp~ZiImbxO5G*&`)}o%zF75HiI_J zz-;E<_{9I`^z)N#?EfR{sIMmH_xzvJ&#vw1lkflEJN+>HU)cY{us5X7k*%|rBnoFT zx`UQ|@2yrIc&zr_o@W1Dv)uoGR$ceq#IQ9-K(MVA5lNx^fw7)Jm!E(Pw{#6WdSAZPaZ#2% z&vJHMN&yS31V=#zP}QmszJaKp@Qb;w+(C(ayxW94!C24yAn$*T;hY(H-6mLaSTVCQ zf96W_v$JG z=vuX!>{cis{PI_;I7#2*RjY>w0-)>MzZl>BTD_PXJ6u1d>ESrt+7k8-lfH8R?3sV# zf*x7SpGO`Oag8j*&prBaBV=zf!W7$8GlsrWy%viZBAFT3uRsTBj}K7bjCr{0%ZuD~ zLnOy*OAF1LV=^BSo?3^CR$ceREpp2NKYa-^O31clhi^Wp8z%L4(?R1yu;!q#y>QLv zr~kqX&<8mi+=4~QM!mx|joI=eCJl)&G5FZj`=!d6E#x4zFdo($#4~zhnL%uZ`3np` zf)#u%54WS*4)d68P9c`4$hgJ=Jo5S!!7~pz;kr!Gf#J8ohK^09M8JCe=S%+g!Sy({ zyvdty$Y;>eIDnUY-Ei;+>nnTq==|b?{q6-#@2>FX)_n#bK|VxXzuz<#azV(JPi3mcui~hIC#g^CPLO zlyf>`ii?#|eTDcocG*?1AU9`;JKTt(jbX6e|w8QFkjTQwQVq{iaepFrSHl|IrpD6{)4O8<5&_<3a#t@TN5{@oR8I} zf4?V`W!K?M+lb-Hypi|5=L)}g(EZq|A$HrA3o&7Y5Due;ack*&HUVy|lolDqAs)-! z)#f8zt+3p%0DizgIVVHg6g#>5@+^+z<&Yo$YnT3P8&0PaQO-Mq;GIovqJnzf$5|pb zQ{uIi<*+7+oOx(*`W7rMwqhO&uyx(x_oWa*Ss7l#W2G4 z1-KW1_cwp{bvW1nf815(4)+RB_xVVICWysxQXX}MLotOo(jgXk2kn}>QCz=pU|dH> zqQL$sx_rHgqiS*l;~~9e57gDMv!Ft7goAU)V`8~Ga9@UuAqkOEoqfkjAbscR*2h-w zij>`p8;zE6bq?W`;k)Retn`FZr>2FyQB@tYFv6}wN4uGjc!@$w97qOY&i4|3Wv=Hk zX3#~7A97fa2AR@5KFz;J6nV#ku$)@~defT1JGk`g5qml2j%_Vh+K`ICER==#$;#uLzVSTF5O00RT8_u7YdT?Wex``|ma)pJbZz=tFdh1DIp4#_v{#1OKTGsY7~uux@k)x&kfV&V6zOtW=)p!0t(GwQu9fAMbMz)-qKrfdiD1 zWyp69UmHC}#_^2NlqmBO#LS$%vx zL?+1`{AD}@7wFuF+W}q=KEGr+_eK)=0e8W98DdbmHiBK&(+HJRG+JRBS{HLI;t^)R zq&~1|PeeZcB8VIqp{=TuZXz*pF?qRRoAiJw+_()1XYZ8Rj7sjOQOa4o^ z-E3d!-vR7T_ez)VEC#Q8j+FaUxY>QiMI~z)F6|ucVgYZjOph}x+j`COXcq7s--<#Y zK2SYlel9TZAKy{liLGE)c1ui#G<|f%6)~*-HfteM?7$8tsJxhGiVZ$^ADP}o%tP01 z7RBKWD40r?gvZllnZ35Oh}&n}fs!^NQvFla;Ufh6CwwHPerNsm(sDc-KHv*=6Fo^= zy!h9VGm2dFna`a94Mj~Ns2#V7d$WM;mP;&%)-L-jX|(ty_1S@GD<_0Q7c*s#4Lfz1 zWw4c6Ar9GDvb{LMV7Ih&L~HE08F&xwKQITLk0;S>@p?@ND9;KLLMD>>46dc`=o!KQ ziFWzEWr|btDG~Z~BY{7^A_(}=Zh4|y9g}?D^3qcLy8WC;?*3WOS0#LoueYe^(spFkw zn^k`++a=aayf1~=zyX8dGsh2iS4p+uGITjZxK1bE3h6TQO{h;nV-}vj3-b&{2ZqM27@GW}r zVV^L<}GKAcP%d?(p`$W5-EyI!L z&2D^E7ZQR}J6Klk2r?AT-s>8rd=5b?FIN|Hi@nncWuG5)e1F_hj?P=<^ZMuOZv4}P zj_Hxuv0jT>JtbnZ&6Z1)`w_ho#UTSuB<+Z+z{ncOz!MR&pMQRYLXp>_(Y8UOugXuJ z&@r_t{wOeNq)^n3znT29fYx}^zF|%_%vFGF@+xGqjLTxyjm9E)c@xH95qTBF#*xxKp*3m4 z6F*tK-kF?`I>pV6I;ogNjsY&8 zk#S0%hleukVFY(=+o(a5Apr!k79b0)X4oq2v>nmQSIqyk1k8c3dpIo(Pfkf3h#dEh za#x9yvU7Ig(M+p`@2$FRzN2oh8beTXd!S=Am`4s7RJ2;?6}!k?VR6!s^TbfvIZR9g z3*4dg@fY8W!@g$`;~lkN_F=DJ&p|E__n7A(S^VtH5b~MJhgXZ+csCE72A%{%$Upm1 zg(d4oT94~%tyds(#$? zpn6C$Ro0q=Amn;h`Y?%5nyW`B(lNWJd>R`UBkni&t}u?_S`P#pJ%sSh(Agl;Ed0;G z9&K&D^@WOAZ4cRvar5$uT!bIsy;xP7qu1F)qfUj zFsHhiy;`(-b$;AP|Jm}!%;E+2sz7N~fy+|j6TJRKsX9uXY9I>!z_~e6jJ#(|NEuv*ldk z5i^9$quy;4#4u^*Ni?wTZtM7RfhU(8*{A%2WiCK`o9=Xpq{?vd_ezoj-h2-lUtBOP zcjqcrTAg)%8}mhAVV*h$X}Z=9{N~m?Pm`yI)|5a4J1Zktc3b&gL3M&Bq1AYuHE(MW zt)_fV>}Z6<_!FDnAA$G15H>=E+5QqV_Yd|<#N zae1AdMqBwNjL@3?z2|!6NsVnvS$fn*_rfZ1aP%^9^Px`C+`HIDnnGEXM$r-2N|7hw zez>l!l!2Muks}8rE6hB%N&bNC1tdZLm z<11fZeEplJaC39>SuH3Yrro#P$DpymTcvGw1N_Wrub^lwiBKtpww&+IwNNzN9}-wC zRj|QbHDmzAeX{O`X-61_up-+6lWJ3irZQIVvmz)79oiE6=iovkZwatZq2CRqr3}Y3 zMC?qzJ=e#RctzqAdEMspYcrOYOz8H$BetYBTUsY- zKOEMGRb7y(&#q+^zJBLn7VlsMW#?)Qqs((w)*I%UwAluzc=csBVkpKkFmoi4;%ijL zP_MO(@@0+s2p>++9!aCfqRO244fW3o+ZSy#@^`%scQdOQ-A+uRIdkv5x;4jR6Eiqn z_T1c)E_`NTZ(V+de)*U*wO}o^4G1K0PcOYX=JKhaSRY1{)C6Q#2D^jX^%Fl|VL$vy zsB}V?mntc+Wq1-bVGzppP`~a|(jzvn39{7fQ~S$A12DBz=kv`w+~@BzF4=OP((=Nc zbXTc9pOk;FH{1%@GAqZ42^NKSU9!8k zr5RZ0W4T}6?<{0VT4C?RqrDDWT}I+nHzzyX>~DW$GV~oo@$p*{B99F#6_gEV0Fhyk z1{4*OPu&q5bxVF#Q(x~$pv+2^m2$M7e09+>ig39Kt{H&w#Cp1)LhsdIu8vY*EhkM@ z7qho<)o9i5+j^fvZ)}Q2XBiEn)}cqC3p7YiTw>#rL0<{P_-t@2@gDH|n5F^aj<;KM zZuBAB5=NxcKB?l5!@zcQVt@(K;c=K$J|h41&eQ4ionTm-L&~nU4p)SeA;fv zsCu;j@jDtHdfwj0@*1+BqW!MFVBcnXoT|n6bl9&`4G?33@Yj24SH?67)DN_CT{S3{1;%~lRTPRf099TA}IK00OK9T z&E{FYi(&8|ovp~0(@f~>_+RkLcXd^3K?yWDH<`bTlgt%mCi*cKG(Qn$z0C1YgbPzl zkrfnp1_7$dx~<-A(}Z72%DwAANnvjIPf0N>nGUI0r~2>Wmyfi=QE!3r5lxB6mwI53 zbDwE)b210toqM0j<$*!{XcUf~iUNEccwQs|FTX}gqkt`2c)SBzPWHbk@;=F(d`WR+ zD|ggQ?@nUf_nFUeY1>@^yw^Pz8VXg zZUOhrcTQcLYzE5Cl8WA776L5d)BgfDVu%_!Rwu|+(|OfqASvGAk>EvSI(wV6MUtR!uk2@Jm=&Y;4TuWvNg4s>hm;>m)EjxMWm~5GZL~^8E z@E7pR$uDsiOu!-zG-U_|N)N2CdV*X@>hN+5d40EGz}#N%BRV)W8tZ-A&zKtIJ?Y;C zOD@WanlA2*B9L*~pR0Ln!y>Yb`U{sh%~y6SkL?KyScuKKPfB!YipgMwI`yh&zp23d zc!-WvQEybxRhfp+r}u_y4l${`y#U?Od{Q-dmAz9L@p8XQyOHdx@|OY{gBaBM)zghO z4|IWDY7$%-;r27A8D}mdw`CN-Ifr3US**5=ddZ()tCH5vRoA}Wrq~QBu5<2bsB|!K zV+~V~_VTT*t8+EJCjtgw&AOmQc`}tKRv5p37uO)~drft2ZdDsa*pBMZs^SVqPk0@Q zcjw?Fr!|$=s8d^s3AQE=_b)tvOc@ksStiwE0{TlJlLif0i%2?QIPU*r@5{rfUibE! zqzuU{L@AWHkP6v_%tV9?i$uv3GEYS^g%B#C43&AF=Xp-ZJS?+}%e)NBTEFMZ(%#P5 zXTM$hbl!KL?YI9}Lhb8X&-eMRPvQNoZ_AGi>N%fPIQA8pFMCSJ-XeYhKf0wlM`nMh9f#Iq9KsDZ zN#m2)Jwp=p&qP>LOi$g00NK2ONx6$EUxH=hBmB)aC}*6dmt1cvGDM^r8c}4qu1|_T zT@@66$pc!xpFS8*lb*?jXD1pn`; z)o^$b4l_3g-P_y;`+{PpbDUOq?az>{OTv-K>B@x}sZ+9S14_#d_C}Mp^5@d-J*`6; zB|^}XGZJG0cOS^Mo~ss*orxvOL<+eyk=p?g^|iIz_(;#R3H9niQ9*R>Kr9)=a2{1` zqRmUXPGOO)|4xf$eAY8FYM2@49$;s(yUS;vSC{WI89ZG{rvlaAhA2Uh+3{a;YnLE1^ zbs8;3DwC0si9J+(Qo}faEzi!*hN>tuG}hPG3rMym+y~;3?XJhDx7IYUnK@L54lE?}L8VT0YsEV1u7A!t_m%_#p901QUCeXW6O}D@(w9<6J(|h6ftuXADZIT+k#h#58yg0AXXC$h zxcIt|U_obJmMnUol**mCHdR^6koEz6XTBsIJ!d}4g*}xDZD@YIBdLb!7f~zU_^C8J z`aT!9s>_3+btO)lCkPr{^2O{g#12Lr=fS*gXZDY8bA~Y zv`A%4U*sN}fDMo+!mW;)vo-Nrq_7COBR!J~#j;ogJ9sUK&DrF^uMp(TEtx|Eqbd;) z>O`I2xn&^K@wy#hv96zgP5@#$=U;xyUEdg-p43je(s-5Ed&Aez20tq_SS4>tGoMcY zqB#%FHbJm+KXkp{Ld5*gq{QufUEvF)@d*~>bcMp8U7`0C0oHhO*U>vJQESf zu0aI)vq2i%o?d=&oQ5>BUhvu+!(aBz_@KE-lqoO=)qz1W5!b;T_h;yw-$nk?L4Eb(!B!$(`u zEegbWcmBW`JvXf6>UL2B{3uPhbG)uqYTlYZ=f-dC951Y$ll@2|0 zc~uH`yvO|v(UcSZ{DSUF?Ke*~E?*8+eVYZSay4r9WtFhsaR#wdA>iDqIqQ+Tftk{x zZ7iZk|9~YoHGOe9wEwLVa8k@e4pMWoIxP%dcw20}IQ5?OEOTNmf3J1s|M`|IBmxoO8S#G^~nzH@*Z-^}+c} z)(lWc=TRA_(B5@B6!Oeuk3*rwI_5UG=ZD9{+6+A(^P;fhx`^dA6#W80(fRLCBnm-M z!@c&*q58Ltj;>O-fJa*#JXprsfBwgTLtHG$loz0a>PZXwc^*iusjCXb{sra35sDvz@f zvnr#)vH-lmkKA4hVB&Gak3MYP`b?_u@V4F(OR4R%P{#T@SO17Oi){Kk0tY`e^DLGV z(KQKae>rDb*R|>DJgEh?j`Eq=rMj7Ng|pM^D_v~~u3NZsqfYuQDl&93dA86V+2`H8 z9$w4VQW3u39MeLh%-8Lu?Qtsuyw782oYBZZef8slW*5G!$DDGuJI zo5Qs2=EPvJr9~a0F4Cvnu@vW2;3%QkIlsr-6h~pa!$KDIydQWz=S~G~ImOaX6>Aei z2G~W&h$U!>0?84)UeD56=(R5?jdF&UirkIfqBrqM^@=fI!oY%7Q&S}xkyCEfSaNOP zf^=8Ld;cw~Sh}16NOGhM{{;MI;yHzN2kKPDSs|zkZfC$ z4^H+<$&HS+!7N^2Aa*mKV|{-(IIWQI!-R4s!k$L>pwDfZvGZRxguv63;?gBvaS8;^b5!`%Uc($)=}& zKyO4Kdh<;k(3^+IPIr3wqBSC*qAkWxqB zr1|ed3g_nxqDPP;tb8VR_KU}#S65`d7o;zwzE8cHp-~3urHdSpQv^SOZ9aJ7ze9Q% z6}$~5*6Ehlv*x*?+%VU9d1yfs0)IM)DHu$jUV*n;^!gZG6(O(1ifv~u$hWE6_H9_e z*lCv53ZOy#+pf6fdfZJGV~S-lWCjd;57qaw2%_@CL9c(0+qV$=z|(GEGJxI7nMF1 zvl%0R+0I);gvtx|VK+vw%NjYhe2G+R99$2}dlHSTC()SM69fl;zbtmqR+5tQuD5yTsxXb{WPZDT82T%iNVSw`P`_5lhEV8V6$FM#P=^u0; z`4?M0O;e7+ZDjde(H9}7F&{Nt1id36{oWafuUyLL-E?MdRu=ju8TGDpau41ecM1%6 zeQ~uRW{JvKOboM9Ila-S#Wn-sMtktmM?WF7m*1#`9Qe_uC>l<7``%~X|8t+w44f=_ z*zP|^dZmbnGe&=dxb@2l%GpBfOF!Ovh0XMN_P>K63~fF{Nyen0VqQ z7+0qjb?trfAhHqA9DwB{1Bqb9BrO?&wSg&Su%skv5zLr;RkQ14VTqdlRZ;hE{bq;Y zd2W-E7c&raL`7khk#w)CM%<<{A~K>Ad?}=%ltmKYe;&-C+FbIc3Z+`T_;eI9ffp>+ z5!w*7W6C7a4v<3@A*yUlaPyQ|$xc>c1(3s5Xrvv$hJRG$yuqATq2}|E_8_J}erHZQ zT|u7tI{)uR%s`!_iEVC_IG`ieuPMPRqr^tPUxUhF-GYSxqj8#R_U%hR43S+hP*RZ>z0Xdr3Ki*#R?(qm zIVV$^%n8T6AwDwyGQ)au&gS?V;JM^7!N3RRJb7s`+R;|QXXpq4Msz$7KtlG4_o!F9 zgRfIs5L(XUJbv=B74ROrLs;%1fAn_h9}V>cOKT1ai<$fLX&&}`eSAOAG<_Vuu;C__{Fd>?Vbfye$7CY>)D z4j33{xVj-uYXHQswB-cChl`hia;HIOt_%=^qTXwBlJwsHYnc7F>!{qMJZAdbl+%8z zGQz&bf?g)Jnt*1E#eOrxO&-<+PH?k% zt?0@k6SH`HP-(#HHC2Mtmdo-b|30-XgHR79T!=HYCYv9c_Y4LiiHe@lqcwX{SF2P= zy?Kt1kmOWHgU+c6sFQ=_N`XlitRn`gYo;)Sza3YZ5meN&EgRH{lef0a!MO^ckV zu{?tm8L{c!vPgePf~bZmCvb1$f``vty*5*KXM4sNU2fM9F)+0#rgDuF!ixhgQmspw z2m!B78)D6hO%+p=x;lRY{Ya@-Qkp9pQZWbft7q~Q3#_@B?z;kA{ItELUh210Bj7&p zZ>Q$^fSPk0eWbux$EKFH-`{Og=GA^^rg>i zvPdwLzAPjV?Er}A&^F7^p43qLuy$WR6w21VkUyzS5EU9IV z@YKShgzaXWWg8`kAAo_*y)0!gWv-8zF5z*AfmDax*DZ5If9(!1@s(_o4JH^qOvwYW zBHi+Fa~7oQ3wGRzt8ZM_Q>nHCEoY%Xi(AFQCt!|%hYVS=nsgReUcr50a)DN{r2|tP zl=aXqN6a9&*GvCkJ3t8ncqEV`=dQ8>F?;H=@Wt#MZNnodRN#qVU*6R4Vd(&I02{xZ z0dYLALzF4l1aHX^|Iyf<2`Qn4MTdSVAsSeqnuggr>ce}ntgs3z0R$KUE!aHD*{`C9 zNWBRHE$#dgkQIy52VS*Doa`|5iMOnZ?2YU4E8jW6{9HAZ`=%pZ#mf8L5GFMuM$mgyrfDCRWGjZ3VsOzO-NX@W5^c@C%{k zf^4gK2R4^uuRQ|HALNDGSW~&YX%#{#T~TT;fNYP_Jltn6xz=U-u_Bw$>*$FhlNkLO zXtXnegi0OXNMUXklrW1);^H1{N*itst~WEyP+L;1>WxK)U5sycK>fQYW=f z_amn=XN^v(V#HMLvA$~}#C{<8L_DXNcK;&(@o!dgV*oAgx`=O~#W5So>%Ci^M~Xhy z^I)PW2cu}JJS*(9=Wc^JXeL~_uh}KMvJ9*BoHH^KL1x824k(h|-X!3=evsy2-H8@4 zQ4_b);b^9y+F;N&wQG@6nr^TSQRoX2vOVy_IElPbsj6_ToeNtJ2}!vvi9%!OG1ugV3#XrJbQ#~Hpqv6ofp)ZJ>3?5+1ooX_s1$Xb z_e)gry!Zz_WE!gItEK%V3@;1Bhov8dyWzYhB;2gEqgx1|8|_CGE)aBlG>~3eU{YwkUN=kSXwwx-96LlrIyZr%dh{im7 z3lBdPrquF<6o3M<_sUb!kURAG=lfP&m9Q}tB74r6PX0k?BF!+QojMY1_ zJQEdI^vw|AbTD#u5}FHV2!_I{9abK^)*nXmC%%2u$@7RxYDO6twlUADkK;;UCpF}f zzav`ZKTuOszz&3CrrW`I22hEu zoSU|@Bd^ItPmj$F0ZoM8!9e;gdO}%yP!kd%ht~o_3)Krw`+D3=p-KuNuFwRrrNzzR zOy|&i!7C6nA#D$coiu{mP^8UDW!fe*n%|g%x2IzT2x&Vv5Fpp5mA7osbEajWlL%+} zb_VX)5AVSwxTAgP5#SRJ4COoYN1AH%7D7-+2t&r`M#XdixXpKdy|`$7ykl@#Gv9#C z>Hut-$DY+GS7)qSMUl|Uc$F9(83uwU1gk_vJnl<3XCuo_Sxb>=1!s1=u8;seMcE{g zoCmGv)T}ksIJ(bg4c=&N3G%p~ps+abukG~v@<4bz7Z=|0LlrD~t1x#CeB{H)g0EEo z9m;xnxnHb6Y!azn+Cv!9ZmR2yge0g|Ns~~aDcA?t5$_ou01BZuy9*ZTj9aSdF%{ym ziFR9gH5Efb$o6d9mZSPN64G9)tEJhkNn3l>&~*~RXU?0vjCuB~B9UP-H?h0h5@kZr z&}7qY7gNb=O-U^J7W?p5b%84`Pu7PW?Y05g&}eXclS!~|u&Z%StRK1afEueeHd22L zmVD*;3iQUJ;5Yql(}Oo#plqy1i_)DU67 zso(y_poms4gWzDz7BVPK8r(l-Lr2P24+e7)Tu-BS4CW+00R}NOX$z^1e}4SXaCf9B zU~9Om3Y6zy`{Uy}s~OfCSOS5(On8$YeY`G4A6^xWiC_heL}b{_?hO~Q3p(TuU^LG! z)EQKGb?O&Y)sAR(OFdHtpgd>6Ooah>5(3{ni5snHR=uXu^sjyWB8dKgMXD(f=6voQ zJI5dh5eJa<$x0N!G@p?*yW*fT2t??(k_G0r^51Nrx$V7fW5<x17!+pUM(Mkfxl7-*$I!d=2s;WUkm@EglvPY!dE4L)g-7 z&hRn}ax%T3{QwPX1Dad5hP8SF#*pJFDYrGO)w_!0p~82{GX^+T?p53Rf=h5ASWcV5 z5o=|ZFNwD%Z(5l{w}08RG7sA;n}RvYb7eU!8sG;&Xb|fndiA$MlF-u=wcgrdM9`=t z=V)O6j%eDk?K!P)Cd3ywAYumT&-1eZM7{3HnwR340UAv3(9$_&nIv_1TuKF&<+<4{ zv6&DRgkBgU4KbOj@;bFIFFgUsi5Wl=Mu6Cyy>VBp^LqyE!BL~v)vYW_2mXL080iC& zFmQje$Gl{9=`rdd#tEJO=z{g~O6FRH^5@7+mN2}@5=IRw@_krI^S2ZxtH)wp;na|L|9p>9o6Q%GkF@fY6P@F(l zlQzuuR;Tln5E6xYZ`1|J`uz^K13!MOx#hjJ!)>M z{VPR?OaQ+c9o$TONQ&v=LdxQnT3z+RD_02+_t17YgfF>6Uy1;$vZKib3Vo=%OM?779uX1TgRvC_ zCiMiMJKf^!n=&4lO>;E^>qo(P=2q+Z^$+!1shXfc&izHmmZr&OdA9cG?mK4QpniCS+%D|`Xg z&gYPF&LPsvqX$ND+nxa#Y<<c;UIZC5_4C zOr^zKWTk}zV@q`z?iHc&RQ+#UK^NQs-rOX-#I}E1O>lmvit-8S$8`AY3oMdP-+&N+ z@iZhC_8iB*<+wkIIpR!OhH4MROwuV>L=H$V7jM%6AFODICcFayfHch9IUM9QiMt%EvQIIk~LgM0?>S`*$4G;C@MV$JrTP-^XSU_?x zE@VmOyL-;$d zYDerMk{onnuAs+2h9Y=SEGv5;{#|he@uSMD!5L31Db2Hy3am1@x(t3l&}yqkD^N&a8m}{ zJ|$@11c*$WaHCY7vGOCpEF~;uwovK)0y5`1*DIkQ@sq3C(mT+)yarUMCY?HP3`a#3 zpYP=Iwg=#^F$4EC@2-CcRxW`GaZJ1h6yhCFh>rJd^#UgS_OFSNy#~_)E#??D=g6|i z)5G6%AKRUF{F;7h1r*=$@5T4<@x`5?@i)O+!-13o?L3Q511ezl3zek;WA7bkQV3YC z-nMT$`5K%y86n`{Hf@%`3c?0+mVtM4WD z+G3>kbl!kLl1oL{gZnB|ECc$qY`vBvD^uOiqA5w`Uv8f)xj4x!?8&&yigy^C4*-n` zcyUk$)8RrkWY6)x+_L@q=+q&it#Ncf&=(3N%;UCWYwRO?KDGEekpw`qr2);3t}>V( z2;Ab<24}NRFeddN7+#|$yP+!5d59I=Q}qvl=suyr`e3JnD+SE_yzG}ibdQQF7Vn_c z+=9-CdN??|$yB}EkecKS{I_X-c%`k+8$g*sjzlKWQ9JlZhXjjP|F_vQhc5*k?@uM^ zb0fv?*2r8cqq#V^|Mbo>u>oQNj2H6ME}{%2qVV0qE9xW_*-`eAk%Enfn+GqR9%Y*t*O2~T;Gm%&iERT*Ufs5HMzS@WGioCz*LgTn%e7<8V?OsdpL5L2 zSQ`RUe-OYH4Z>1gkF+b?Q7U(eB3{hq$nkv41VJPMn4YM;C9M$=2ns=2Mb-#xQ~Roi zw0T;`W?83o1^KGvU`BVg$gsxtQY&SxU5#fT28jaDdH0yJ#eLA>|G*RtUPsSV55wRP zkKOAD@z^x(GQeX?>ByKEe|!2uA_(HKg9;Fj6^q!n)94r{w!atDRj9fQKH9}<59=jo zFltYpRmiw|&~p57XjJMUpCi8hFLXNhaBCN58v+K_CXiVpf<~u|d5pUkN1ppcZk{$TD0kyZ%lV!Kk_KF~b{q-cllcP+HhF zzmiT9o0IX3`bK_*dk&9@krBLtRqTMlArJan)ZMM59yc$P4_;hT;@P>7FTl24Hc}YWq;lz9R+>>5D)HAC#!m3A$qYt z;^}Ji;c0SmVr*1$+9J7QlW{XDzMkuplQN;Ur{!dds7}SUThq3C&&Z^vl*vdyG!nvQ z-di`Y!ydRZbSfzLU1E%v()iVSW#8U0Vve*9c9+#2or5%AjfY75thOLIWebuW4`7Yj z`gT#7DobgxTi~@`*)yf6FatO(!lcl_L%j!&A*cTG8G@Zo{RxOk73u0S%V`yg9QoZX zIgVyg3E_XtOREaZlYf61ji^6q=I6w_mNkM;sO!blln&gR8zcc3iMMhZ?V7k=f}4)lwN{>$i_ca&Va;-b6(VG++vjUOuhqY}Rm4@29WES{b#e5S+#@bvV#z3;*7FzIIav=kXlIRO9JY9qYnhTjP-W1%lUw zz&oQ!CXjehPfcCtP~z-+uIknRHYUn4_RP-ZB!dPYJ=))ZK$#H%W3g)>!iCMPx13t} z%$DKMGNQz#RFvufoQN{{TP;^qX`L0>|DnH~FD`pAd*!W4$4qJheP1y#{fV6;tjNPU zNb;Cv0cLTpNkWO|UzPE?{0<(z#eb8aP3INX6cV}m>!!42Rd$|wmQ-+r!Y=l`c1qmS ziM1(N0&{Q>2Mn8f-*(aEhq*`8V8aXLs^P~J*ivBf;vn=re{IQ<9<@IQpd=G(A{Hgv zwE#*IYX44Y>(OaKlE0R?9Xnt|s}K<^6(%{g6zFWZ36NwiOH@qX$GX{Pv>o-Y z*@=oi?W+wu@!M|m9^8fz+>1PSJ@*lYx%IW$tSy5l({}Fpo`arvO1Y!x$pH{x#c%C) zC?*=lCV@J+cmQk0`SLFp@ZfiBG%M{Fd|F@5YHde#o-|2ohJgUJWCW?>GX&VqzVB%* z*n|1VPv3U#!9&m<>>L;ed+?b1&P?j|`b~V_g9S~>U=O-qiw&wT<~W`lph!{DG$2o6 zrbsyZ;y=2C+6KTtIt87%%2h%RfD)GZS0!x6O3HD#z(YH^E3YB=B zh*^($q-y|soZ^Hcbef>~UGk1Vj4Z=l0Edl7k z9Z>@`QtH~_s(&VspaqXAyHJA_G6YBVQcmyHM_i-47e9SBhmwELwf)6!9cwqe z{?0S*AERGfn9`b(Jq>1`I}uE;Sox|FE149LkXnJYxhh17?WEWigT4Z%;iEOg`flm{ zx|`1R??L`3>uaa+r;14;!!}c@_$sb#mf~Feo$@W-N<7d>DAc{&T6(#o{X*gMpSVa2 zDgiU1sVZD<%N&nPXUKI^JbV810^Lt{*HXZNmZR-4+?w^xmfko>+waKu^WmK@t4C1< z*X|;QHUC74qHx(A<-;K?!zu@*$drE{nk-=!N;x5H!cPE0yXD$@{#B!(Uh>uH3mn8Y z!JC&vTpt@CFM0Eb)4#&`Qo7Z9FY}}`UP{BC3p$87^PlY)mGkUxyna=H-8EesSI3Is z?5~ITv21pKAztk5tC6Ay0$5%^C3Fx~sn)awHUFW_fq9eLR~9)IYLN_HlVT<-4E!aw z04L^}k8ZMvsV>$v+~G6WXd{)B1M_OmlR+#?>33L`$s;;V;&=%pgDTrAVLQs)i%8E@ z715aH0fypu_B_s6}9CFi*)xPx^;* zf5mC?N9CkW8g-O(go=Y34zMP$v~NFu+SlcV$4Snyx4zsbE{Vd6dQd|Uzqe@a7S9&L zA-Gt)A^Gz=PdJz?wPwIM*<1%^}gi{8U&g9IsDjE@K2K=%mLuAO! z*jyMrS%057=OyL-G3^6{#ZyZrm$K$g32j&2mx>(amlZ5#WB*K6j=yEI}^b>VHgSzvEEC{VlVR>fz({!2bY~14mn) zF%G#^IjX4;PQunK@|omEc^8eq$0dGSPP@o~cRee-_v^;A4WWaz-H2!D$GyZj+qW9+ zCd55%74MLkOl|pXl)L>xe2D=`M3y+?2C1F-_l}eP#uGp*?1Y5?nnC58spI(-sa<&Dc-{#EQtT@SKQvynV#`?b7R$ z6(sBAu1^~s7&xa2Ct}U`RG;n3YdjT?m#51WZdb46(q*L1FwX(57-=5z{#?fD%sZ}m z+6%}0K48CNn(`EJ)uDDNr!=hzcZ9m`9}M$$w!V$0Uv{K&MnvJ)yC1On>7YHiVutf| zuR}~qoARA-#XBqF@Rr9}ymv;qbp7ES?Yz27M=({hfBX;EOffz0RgUUfczc39k?-_5 z1=!j9V$`QqrlrrR_-bz(oH$RsNJfL1(v=lOz9pz1PNi`yVK0EQv$+dqPV<3PvX;qT zvYcW6`Z%e~%IA4OcXtjYY5c`qygC_#21k1BKO{3*R&|ZdzM%?fPaXv&WpEP38s`i{ z^ZIx>qk^3@?B_uBwc8LHaCO#_xXSHkz^ndU}XEN;RM~OwBC{rRrOiIK<;Azvq$XC$GoG)%M;!hBtM^ zH<@KBsKkEeoD1QDEK`r_JTP#U^yRxulys;q%Fd6CqW(Q(T-b@K#xq#WRQOmA@b1VH zy+3As0dG+MY!o3sRUWCtuVArWK2N5LmjxuR`Rv8b zh8;$fdALqRp81pgOK(i_H)Va^k-)~Oz=zklJEBD-Y2sP zqzQUXIdfTHxf@5u<&`y#ysM$E`cXf+T}YvP&r4N)0L7Pl@z!AXDr_1xXigJ^F*VQ| ze3Pr0UqGVUZOnOKCBe_h3@y*gBbi&9bsZh^&?Ix(Qaa!H)3wa=9PZ-2yHKGh>lbM^ zj~t?_(&#3=-1;0;pPv1*<3I1N7f#@v3~ql**aR|f}NR3 z7qWVIvWywqEJb$l`dN*Q9144NtU+*~Jdv83QA3vpd4OqfW&o8`m^n9+l(^yOI1=8Q ze3v$^cL${1bLy4Tyof5^a1uFvXOV`JBJ6P_+?ts4L~}717Od9byOFN+j1}6>*M0XQ z^Y%Ua^8y(i1}u}m9uF&|Gp~U(Be^*xuK@r#FjYEimCUw4Q)C}uy)!Eg*_?D zInNfE;w={xPpTcG6p5;WNXFX@3vj1}1G?Rnxj(WIL%p?h?0HXr1FbbK3~(H!wHsUBrH+g}9$ ztCkA+@5CTzLfw=P7&I4%Q{az&>2u}yToA!_%a0#4a~7)sXRiMFMJ&EJz!nj$~g8bmAfc!m_8bQR$#B%LSsLU2z5u2yU0VB;CRY+ zs*?El-|#?-K0+4*|K*$uIhNS>#L02>32L1^W;ZjZyZViLk;Mf+=MYhU}!U#SVv7r4i#)0vt=_;(vq3!Eb`eX2W03{bMF? z{c?1Q1swE1N5h03ExayOh#G22Fu51>d|(Mopx8**h+k_Pq=Bt7`+^K_|2nzfp_w>l z!CyxSwI%%5v&|($d3nn7YJtLpDhtq#gya)8;Qr0=CCXjQ1#h+P{1 z!bf!UpFB%;aG8~X_`e2@{xk#ycs{uQ^s5qebI6R!y1KT^e04|OG@taK?t2ASHaf5( zP|w?aE7GO(p}j~&CFrdthC%Zvi&FJT94Qg)Z^2tURLCu51SeQw`SbwCn}S$6_7^BP zLOn}kB1%eooR0Bi)#Lp=Nk15>Q#TR66IH12#fL{cx$E_vWV*7`+t;w{qhze-l)0bu z$^DC34hgt>P(hy1J2|g*ag7q6HK1h@R*qj9iFYYq%R?MG(zNS(%%QxvbU2r)%4>o1 z%f@P>xAK`z$G#}T58AxO{!j0WaZIXtQqlVHRtF^J;BzkjlV}|C)N^F0w5$E*(uU5* zi#xQqECZOHTpW0@??dfzxRETOpSXB)&-h;36BZ2Ow$f5ZpW+^f`bE)WS>n^zJtX=e zVy=he(avhff=GuZ#GQtWdkt?g^bj^uNz7-38td;hJTJ6s%;5LfulB0wnw2t#;vJ9L z+A=!(*@I~#f;5+y4BHTA)eBunZTLLPjm~lf;6EQZz^PtnF5b1ES|9M*dx$@+eJsQ~ z$+?S-O0PU6CQv!>PBq@w(O%xF-jpT+!3)N-w*!&}^lNO8p&O1gRSqtTXI$GpD6iuq z6%;*cE;79?V2N41^ij9cNKJt$;X%pUbjJ9co5w75q&Gh?f6Qu~O(QcJUu zGkjNgy4nt@upkPMMD1lYSv^fDk@)G=8fE)t1D8@RKBQ9jccxQOevDrj=OzPGT$|l6 z)vX+6tyHoc9e2cr*6`C&S&qlkdfi2Kjr^bKllHQz(kToUQ;a5k=?%mWREbEPPsXLs zFEO-fyzX;2WXTRM7|}1%=gnZMhF3qlPv=qzelUX8f7za5;jZ4$%IB%2RlT9OcNg%V z9Wyn2FrpMqmAWs(#;U>8%8*Cc*PAB4ZP>v2wppLUy&`y}Dg1<>%TVb4tgmOcbkjZ=&-?z;d(ouL}E6Qa8GJ|_TQE3b1I(YN5UP-Rdo8RYiz zVzTQh>m#d?Ym7mk;svHka80<>`qKP#O7%9vN=NuF`dLMa_XO?Z&M8)rodrK|ixLd4 z5P02rv5?!&p|BI6af7q=b=r{IHcDro#s6Z|r(xc6oTlN6&d|Xm-c{-cxZ`M(J_zpdAk$*9{LOHnVOR{DlNP@AuE>yrTQpCn=& z^ku4NX5lboR`xL)5{@+Teic2B#>LdxURjNp#C$;E3f}j#bHnLBGpS?R&y{@|M=&{Y z52d{_QAm%nMgp?>T)dfF@!hj#RY&3LCDn%;Le=+lH)J{?!>ry4Y3{$3DiBrvguNd2 zK97}>B}GJcM4RY}wM*xGm^Uryg-IkC2fV~1pGI^rlk8OuPNkVMB?tV{>FHIr(VF_o zxzNtZg@#Jyt40(A+=CroYvUx(-NkvZF!N?;rsMuIIvPIfgqrr*^x^#V&yGdjLxopu zUtTk4iQ90sI~!Ymmo}hYGw>_wZOi$gO!l(@w=%S3yGYu4VhHliF>MyWFZecRh@E(} zugIHf^XHhoq@kxaGAL&Y49{Liwk_1GYofj8=@;LL&K#$B92xIh@uaNZpKP%>cc1#K zhM=Jt%p#-jR8?}V;NF1f>f^%p2;5W5JXU6V4f(p!y>@-3Xlp{1n)w$bxS3o|t}}`1 zpUO!B1Kk8y`U&;w>@Ju|cf`YQX4~U3&l{6@bSr2vQBu_%*37madyzht_KKOCrpih$ zsgaKchLfSnRqw8IlQoH@;syDqhCBnGJe|m6wuU|Z8BDOU7XO7A{`HLuKI;d^5B_Rj+M$DpVTW9xJO*16u#`A#Cup`wUk`r z(AsM2OIyZ*JRlv!U_~%jK>z&hm!2A&JYCMW1X-hZAU4JJU7qmJ&Ba! zExP4?7rs~Qh|cPB+G&n*1M|nVmR;4`1#Q_`efW+rrVi9Abi=uobacGM@>= zREF-Z9nhh$I!=#T1aH5N&`Axw-|F`8U1B6hGW%QIJH@n#{Dtk2l9UNpp zGt(lU_;B@z>~QZHlC0=rX%4O+()@?3pHJ#H-a99! zcfkiyuL(=KP>A;+P3skL)rVV}N}eZKZ-iL2(^^$s=U(i{E-{cPeD;xXtk-IJ-G~-R z*c?fAJ4ADuvqwsvk!k4F-R0P*(XqEd$FhthUZ=<6m^TL{kIL$Hc%R$5iG#PRg*{dx z4=;Fl;&;~sMz;6ZwNqob>1}SH_eXunyxyU3j$ZzazTf`ReY5`m4h+r-&E2ncm1L7w zwE;H=_i1J3-#bWqUid*%Qs%2ccud#U&DHv&bWaKN972k|3UP~A^c*g zwyMEm?S~S0wpto{IaU(sF61QT-bVQ8sEmX?u2C5FIa!Ew@gsf1pR*@3#0WDZh`8vK ze=z>8jW}?D$}#1UXaAH8oNWEyl7aIURiRdBL?gxmr*Okn48HtLa2|f*)o!bTnMnG4 zC-zchp}AS^Fsn2apL>*%cXITdD-k>`47g8m`WgQnKVZ;lu<7NWGQ^f1{BIdzId%gh z-G%5*v9`6c{Vw_z@1(k>pPVkr`FwE2`&V2h26yG7>4(+Nfur&L8tQXZPCy*aB z2LRO5^zXdC5mS)#(}q%F@bY(lY(XhaXqA5s-8XP z%8`y-X4lM_DT^)Brr`x+$H#oz9|y7#oi)|+S_!x2`E%az|DGt`=&@-J#Z3Cb%?8k+ zBY0tA^ttO@lyDXd>EgRx1_~Ay-N&sQ=gWwIS9@=1jNWOX%5fT9MZf-pACbE--rmE8 zG0)y@x_MuZIa0%w)tUmn(sL?&W10`OMk=)8g~&01L3Ya08#_eqfNqx1v?`?w(Y0Mh zDe=-k#T2a1SHV%QeFavAac3~D$UZy3Giw=kox|eXYtbHBv|Mg*Wxd;ErE-ie=b?GS zoc*E;vS@bRDD_auE|c4FY;r}TqY!k=RXO(S6j@@zolp&wi3yjUo7m6z!EE6Ujn;h) zsr$5d+rnH`UmsMXcbr{!niE7$*Krmg3Ymo-V(wj;?+^Au;yNsm5*1B1*(GK_I%h$! z%LoacX4rDPat|;oVZf#lS}jXjLm>+1N;ml7=+ek=OfO#_XxQ^YQ!={@Yp)S0tJ_v| z(-n-xgqQIbP`jBzDRi3SE(256@|9sXI+gZHW}(H$DBO+RRtxT?jlEV021DI2>&37< zgg@p3>2B*7+E-TJePH3$QgtCIxh zs8@+>cbi5%I_}5kh{?T%UO8p*0`m@cw*i1(qQhLmB;G2}TsCXGe05Gkvb&8OCJSL! zLfS>=9jqL}QMfa^4FC?Tf5Sz7bm4%RS9=_7N%Z52e5xzq6&n!aoM+o7Zm?xZn*ACc-ege-u zx^M}(adWkCE9-2}8&;f+J?e0>&jbY*%1#UjU++fNI`vEaP21pjG{4ipwR!{kwf(=l z44Si-{~F^=mXx2J@3U={f}5Tk^>Q4R8xh*Sxdmoht@jOKkNUV;mrRQMC7ya*`Oglv zj0d(C&0VXnL#(_(-P_vyh17Cd>ez(iQBLd7zlQn`?D*M{-hx3p6Q}VZI7-O>3c7){ z5NWx}xs`FH{cZXGZTG#=_~JZ&q2)sP7mYFIk$WKB~o0<9zQqBXejlu{mLRPrT>-58CW2O zVDqsTH<`oi)-Z?GLc`X(;6a#<-j+m%X>J&LCJO}gik3L9WLi(!39Zxz7p?2J7v4ha zSVnt> z&TMk9Yhd`!5V0=)52V9&*DdS3{)ZES|3)%c@+Y5>QoCF*5p5Ez9c~VH8!6g4DaZwu zD9IkZzsRX&2>ue67~U%5>$I>+ghJm;vWYgV)f(+<`ZO}!@C*N2bwhy&L+u~P2^zwU zZT$X+lXHJQG5jB>GP#^bb?}uGjQz8pXJex8Hg+~#s< zE=YDxUFSv~q4Z`p$w)7&si-_vOYs8-YigILgDC%V8LFSnLNXuaX3xktojC=w80sFz zmd~eo6s{wTj$hFRln`e~@BPuffryRa1W(J0IUUv_ouxmJukI}DooD#Z9Wo*LxraWI@kz2hXzekvGK<75qfl7mXboW-aX^}*&loHQ_v!2-*$UOTto<$x@f zzjJ|U2!d8s_Z5S|Ad)yuafmh-Fxh6t023`>l#ROSwCe08bQS}LtreOS^bg2sqGO6) zVi1iE(?u`6!=slR$Cr!jDx$kN-hNUy9nX}?!t^HhalTd0K_21cU^eO2cMF(Q@WXg; z{vDf{hTzhhJdUCTgYzqcm^|k(pYXi--1a)m(alx-#k{P$$ZX)nz`WeXNFb+m^22@R zBlvVLt-kckE+g4~Jne*-I$R&! zjR`}AhgnWf-lfEG?W64Skd#Jr)dWf*9!4bu$fhTp43=d6fyI*K-|KbqzX{_oM8U>3 zP4G46`b2*W78RP`R6mV52;s);aprKd@gPL}_1x0S<5#<> zy}ZRJQGw$X(J(}%l7tEo(0xc6zEiW+!kr_zQ0TIS`$kG}m z-#)8h6I6#&A)sdt_pX|ew@DCnwW<6lMaN^-+WX(MkMs{K&u;A=<;Fr}5|PU1uwsGr zJ_MTRc6hDh^Z#!&n&@JgV}xW10d&OwVHlU3Yj3wXiOH}K)# zwg|p3pa8>c8#LgmZ>_;13EM35(aC3W{lIZ>SJLD?|I@8VfBro9&-ROr#?x!b8*_(Z zY2a&6v+FGj&qXB`y-?Z`cV|>KH`0B~y9(E#&{7Y{Ul6VVadZWU_7N+`>E`1?>o29U z?C*InK-D$U3I9PtPcB=$ulhfBV)ADj%bC$FfUzUj5IIX2+vPY6@n)SBQz-YYbeP3H z1YIqbhCTpevlD&X=HISgc{DBTGz+S& zbA=vTL;kCooFceksmiZsg6;EAc9UBn&!oXeRXHO<@2XV$;SAU2+$z zIpSXcLnr#9dhWzFe05#Hv*Kbkampi*?k!*hE0!3AKBJyk#5Xup~_QZ&W9 zo8J0mAfRh>V7bZSVe7ffoanT$zww-I^TF?#gU0d0VV}T#LrjmxeZq^9#WfcrVJ|W9 z;r$j7e~II?KVRaX-F)xA`C${`FwIfQCK`IJ!ghVgm+B1`R1b&Daj5uwS`yQ%19+XYcI_>;qL>>M@FX|lVi z;zu7f2o^bl$Bvw3-gS>1h{ZPW*ulnU!l*L;T{Bpj(f=&{%yWTz-m|y@(@py(( z10%=(?Cpv_yVXPYXLgN)Q|j+fTMqpmVSV6xG?_hb`3%%PdyZDAClL2{oBO~1z(ni^ zu2=pGg{t`SrmmnHaId$h``GLkwA9g;>dVBV=pM=ZJkpJt;bAER4 zz_XfP?Z6-Y)#1`~RZw*~MO7_&>c(^ym7T-rC{da}N!QpnE9%F*s(eEt9OF43Qy3_LdlcS3zde7`Ys>+M&X4(-SEA1_*S z4c|zR+bDBFr&Khe+dlTq#lf=Yo;aPrq~zU$IZaN&7HXX^Aw>U=ymya_Isf9vhuD_T z?ouwvAf%G45ULs0CD)=5x=e&n8kL%E(}bl}2uZpQQb}r%beo!z?rB`Qs%E-OjczkF z(=^TX{d>Ke?6U0c=bzvA`)&Hiw%Er$=FEAW%kwc%R{#q{{twvx{5S*DE!AQ^HD{)R4YKWcUh9b@hJFGr6Ze7 zz}T>5k5FRNUulWSIC>&TlO{M_e>=Y-2YJ!xd4uP{+LZPT>IRU4n>;t4y7wQKZATUJ z(!Q=xM8|bWx`}wkr7&#BXAh|Z9)fQ<5soFayn_Zi`Ql=NL=7qJr3(TevHkE5!I02E z+K@okfa<|t)>V7LvGIXY3H*3HX_7%Q#GDCLM@oC>(Nd~E4SIw2;YUd5;#3^?pRM?t zj}2;+9sZB}Hp$}zrO=WP4opml{H&cmaHI-H^Q zIJT$;{*gFTtnAA~OM}de#TCq^g^^94vIqU(8-lg=Q4OpN{U~S0O#rrlqvu`U_u3Hh@TQX#F)JgMa zC8d=?`qK->T}xf7Id|>(=|66qtnqxoZyOF?U8S_)z==h9@BLS)-7a*pyU}qh@`!$m z-r68kS3_ISi+$?*-4Q{ZO8or6n}_~CQa|FHAGLJ8`|A; z(sC93MBs%yQ;0CkfNwoZ=7C$!!;(L=xYyTpTQU8&tKbvAS>EZ2Y;u8<7in1Y3U#Rf zclHQ%>$A1G6P-OS{2G1lRf}Q5zASW5rat#)lzvj~jvn6`%dTCp-~9XTt12&c~Zl{}A1I zxcg((1;bMgb=6#|@jw|AT(gtFeZ5JU_JSbGDnGS-fVwcbuBokDqBo;!S_Ko$E75^U z6QF9!i#N^#j-=eBXWCv{=e%%ROcsXMO-gl1O~IUs>3I#l9^Lu}PUeB|Mf4r;MeI{& zw@n_*BadGME@GoHgR|n2Oa_na|2Qt_$j+M$0Ygc|tLkqX^I>hAZvH2rjRVU9@Rl$3 z0I~pq2@h?7G*ESQwy`Hu9Y_PMhNXe{T61$RD*3DlEIg%kHg)>d&Iu~h=ZY&Y+%jp>WdypLCH+-_KqV(U}fgqC(#ki^hQmkBbG z@wNd>F4w1fULhZ9YAc64-4#1T5UZbuk%Y0uF=sqtF+RL4$JI2OyF#ONs;jB5P48Zd zbeCvzk14MK&3&or@ep%ZK4l-Qn_+r!llfD{4wd;pKd7%1U!`kf{9HMyY}!GDRbV6P zHAZr*$G>A5ETCpZF#!T<@QKtXIIU;)K|_{Ci+QkoRtl{*-;fRDvyx!>tQ@nJK6UH5 z)V<40cb<=ow%euo=llvUyTJGJ65=@&!f#GSFtvwl8ep|d~qXx-!&9mcC# zx`2F?j>q!810mFwQ}r&j*QI_+Cb=61mu^YiyjyMsmLy+V@0nQCA$rt2LAE)2GYMsFlhz)%=agohd$$pg64Q3crb9FQAiH zd1SU!t(zibBGLT#Y$LTfaY=gG4Qt0)l6tJSr}(Y(c;(diq}wuF)8{GZi<4e1P1k`F z(uUy++pE?tn&@NqxA*tB$A99}xRTyY;5Kp5w3Do6SZ{*oGXV4^V9hD-uwM*c{y`|T zFxLZ$dtF^k^T^z3sqHy)V8uPrjA``zOU7!2tuJO|)K4lpcVTh>JIcIMx~!wJ!epr8 ziBS6)ckk0xldu2$^O`hspg5Mi!I8FUdJ527$~ej#k6kU88*@h;*ZYZ`ewLwhEZF?^ z$9-v(8(|N&1I?xSp55D<`0I={SXQ^zoU%}2J&ZnrY0nj5$pZ#vPmH}niFke|MfBdD zI8+w^OzF~~#(Dk=oqLsR+&Oy;)+m`X_tpjD6(qzYpwwr^igoVn zx`{tnjmsN6F>2nU^sutAXR7N2YHOGtS`y2kVhPu@7VrBHur{qYsH(O+jV?yuGzpI;M zAM`RrXmm3b_+5GWQj+$6`5oK8_syM!>B{|<=-Gz%GB3hXcQx#HKrx`&X%$rYW&iXJ(dv31VjyO^3T|<3j zi+*ZX((6i-{P#=OZrxm0wF77!z8s(IrMx?1{hElDz-T3MHN(yGut#HBEQS8+rrr(X z9eYn(R7-!e4O{|LUXG<2EOw_e2d-vdw|{)NTQ?)b<8pGH>qr#Kqe)xosOKz8r~31P zAcE+RGp~C?|1!@GAKo<}ew0Ay<7wvhUn-XNT(aWRGx{GdZ+||$NcD^+&ugJW$PWp$ zQ$f!k%z%|(LSYq*56w4b^qlvaxDBYm`MM(AcUlJb6g`e1T$-QsexsOglUIvaK_ zd%t@5QO&EmA5FWsn=3(P%;{EbC++{Q)JPxK5UIPx8QDq#0dRwxB77J-nH~!cW5c3} zHQBf8o^289#N6_RW#cT_gU!)6ARAW=%f`_X&JImm-c!F+H6bqVjp>T`>HF6DGH>tT zJN$|}fqLa|qT2FGbnu0^y=Slf@iZ~?@s3}eCLZR_i#Y4u$W713Re}m-50ACu%RJ`VEFCQ>1VB zp#= zb%RSa183S(XvO7dc$^ZW2`a9xA>Fe7D!3ZeSB#nf^&O)eB@bTDCK6cpVMigYCoqYA zLlt;FGm2ub34@HxEB~8!XyX(sMoli0u}0V4s8pYICFV?&Uv6~LHWGnrOq4JRD87Pv z%NPpxeeJw-!t6X#7-FYRj|33ASoOFTtXiiH3zsG2FVLz};7+~)gv*8)sIEIH^Xdck zv!>l0HDOq3_=TLEA8oke7vqMt5?@2hewH^MPnWjZlZ*(=`yjrc8zRTlYj{o`NGq;A zoCALCMfSWIQ(yj}dER{;hm$Z8MrOb~@+s(qrN^t^RdhXL>Oe!#mcDc+tXa5cSes+& zwC(xx?ppd!0NNay{JrVtcqOPOuDHBWgJK+%75xgGjpuKEsxRtfHe~J?052X>&KrLB zPjw8BfVr}fnG=A%`>k%r!MY@mVA0a39|9iQDOc!h0Gib;A)-fCS>DHx2Qm%qUe3tG z{{b>d-MBaE!=lZ8!9cWmShbvOezaJ%pX9lt3)XA2$!WNVqaArkwuJQ>y@>#@$$07z zdob$Gcmu=yyQX_u`l2ngn}~&t;esED;rlU*Jy4VHY|a05;j8!qkF^V*s+@e|bMjR+ zkZiZ?v2IRYLM-_3ye&mtB2m5Wd%kCHpn2ru!I>QMRj_1xWR6y%2$kUQ8o%@Xk~63C zqhIJRla*QL&$05h4LG$8aC@y6dws6fNSm-Cjzr%DAqh|oVD8}x+^B?d} zJIlY`oH4in4A1NpSK-dWLhV9hZ<>oAEKr!U^NPCFYf7tDA}mno&U03#c?HySY=?E~ z@c<)heid`=sLSEWjXe|W*KY(UwrS!yf~uQChlcNo1NhK7!P0|sCKmtkW8~q)$1@5J z+*{4QKgkjZ^jbf2JD(omJI$>8dbY;^-)b#q;&T(N9cLbY#FXrOw+IOIIt|7@WQn3; ze&*|Lk9?6h5%<3G>2SzHD8A2B(0G@6?E^L4EtJ)O@paPusEHa}AW|G_-@BP_&nCxr zxst--9%K(dna5C#+c_^okaze6@cdI_?|W~cou%qw{5+BytY|JINu+Vzr0EApxr{M2?V+3E)&~x12}CUO^aMD|IX1<3aTGwVvy;~bH@9Oj z8wo{I4i-phc*5}!3Q_aiFR+lUeeG!cvE&A*pM+*n2s#~~L3{iTxoLGe9i1tnbedE=XV4;8oFf_G z54(N(tMQq$aYxf|>OX4>qa0MfCuZ^kbKu|f;wb$FDDq_qSJUtGcb~!ybA#b-FRB() zeNCyzZVUM-`!H^zCQ^1=E=5{Gz`T<3Or)Z2Rt8l%Rn`Pf`l1QEHb2gJxZ__-0+3&p z1G*;RKM>(jg!wI(imwn;yy!z}$d?3JHF$PBjC@5mtc?c9m&Ue48PZkh2vQ-dKA5K^ zKe-TaWjK6C8r@sO9h4Cf5T^IwwCJXm5CW$~E%(&nzQ^kffIEyu&rtG%cbw}NU!))A z`ZXI9{(Sut;6%7S-DN!(3T&0<*FV#Y#t(C(%_Q&xNI4SF-^x7Sq!#XjGOv9oO?O*; z;dWO2a1ls`2Ojd3{IfE;4TzF%2Pu6uM?~kI8hZv14qc=l(jZ7n2^qbW0N9f`z}&-d z`2(#nRi;hvYm0U^>CaCdW(5K0v*| z6sJEMAOkkQqK383VD$C#!z$UNgP8`PAAV1<@V5M5KbBd*?@g+78WA!usRDW6{>P&J{$6XjuKse%9I+H; zAzjiEfzSWhXgCPU+Tnc-Yf*Ck1kAh7VDT)HALQUDu2xFVCD5}W#-IW1IV3wq-ux3B z3x01{J5A0F@gCEiOc7K76HpE`??>@pn?XbO*+$|9qE~|z(WgnBUr(4e>>DfM0W)Ay z?;2AbInR%$3Jux9lkGpo6k5he3loqMGioDLt;v%70_;%PqQLg*hrt6iLR$gUdflhj zW+4I*Py?dIv*IF;UtwB0-5&e%IK-?& za4%A`rt+1XS7I;|__jF6kcDr<`VPTiRguO`(37&1YYiFIK@?FzdJb=$NEw*q0BjQ0 zn(K1zF7Qc@x>n!_T-YJFX3_$0B6%o@4%J%`xU)rk1mbEUfT0uNQKWehuNhofxUZXHZ0v=KkT&ds8zSh=|Dc5j4Ow2soB#1YGd$k(14%h~4a(C@9U0_~Q(o`hxjT+2RLBU^mw=vg}C@3E8Rsm{x zHGb^GfsCB9-9FuCxS&sQ0P`yUckqmc;oK(g6(&5dPX}N4JKjq{5>?#RKo||UewUN?EQ$hG|hAYR+hP86uX_p-dY%wa!q%U_dXIh{)U8L z^iVXfL(oE(UWEx7MeoK=vA5nBz;B1JF~itA5`kE89Yzou&&-u`;0?at`?m88R&o)1 z@or|~D!9sPgIPIaq{@qi0TejgbxXJaG&l|hQ~n#rPNn1TNAzQ$Q}|R0H-&HpF7w95 zhnG?bZjQT!1c*I#JMegaKPnAk*NB+PP$gvlrx`K~o-C5@$d7~ylvB1-zS&kvCoGFHn= zgGMeI;->C=4+)6GoZhMYIttwNdAuJpMmW>Lq~pD(icodN_qS6v<^x=Na~J)5CsV!?U$QP4?4(e@zF7^KG9)#zg*tp> zR4iAS4Q}=1opY7<@MjCi__!QVF4Q0EP+LM29ouvaxItbrQ#u>rzwMU#T~oOa1g&mF z@@6R#?LC-+qdN?<5#M$Vm%g`7E5--Ncj^1` z0^+CbX$l_-a*ix+`DVr^mH^dQc{n^`Wp&UPYTV@51s|CRlXhGgJ~S}}*kF&W|G9Nm zvFMH5+aL#=+yO`Z6KuVt(@bE6T{}xz6#Rvimm&9s5b0c7$2EemMIT%na#(kP`PI$G z&%yAc`YfcJ_d{n|_Or5~BKVAI(lq)Z_y`)*6gE%vx)=pp2(0P`OPFwe@EA#v?7X$# z1xDnlN~Y9+ld@0d=BEyUTW``&SfaRmCQ?vAG@3HMwixQW2zmzr=$+W^xLogb3WycY zW!+Qn3xyA_1J|rUZjvSJO5C^oN&mgz2PB~ZlnwpewRMIL!dPy?_z_I3}+LZ{z6&VzHJ3}E=?w=4M zsF7l37g6*C-l5wt7leJS11z%6_UonOf;EG5GqA*WL%s~1{w!@R^-(?up*m(H$ zv6jYLuNv zL?B*&8bc+|Bz&tq@-U>s@6|({fWzLbu@v_1D>|c|0>1|c!bg~u_^YfZUiE6)Re2xJ zAnbkvcVJ^Mx#AunGAo_jW(ya56aGivhmeLiNL25l;wi=6Gxob{G<3h=hwKKACmsej z>aM3>yV&;HYUTZ=MvFWY4*wXj?5A1J`~w!nApdB^c$Vm;&c8c<{*yl@ z++3oex>9-0)Hw%AJ%69D)Vvjaq|mn0&s+4c%dNXA(XH!1PF$_oU^=#XT|$@NV^)s# z!7IXpb7z6`)b}P9sn~(@)c2=nSMN?^fwS~I(^rHC)}e;dQL_%ct!st#jRe_zPm!R% zYek4)`9u$=7AR12G4WB}jP~~ICNHMSi6H*T5>)=yVNIyHC8>KC0Zpigxpq@D4}$a5 z3*u@VP&)eR1;(jB9VFB$f1k<>m0!tKW!gJY$9~w+*0j2y9-ODvJz&~r9unMgsx+(N z0Hx{muf+Mf<~OtAt9dg!5|_44wdx7?Yh+}wY#^^KGms$sOU7q_(0yVK0=9d z8Hl=h8{Y`Qp0Sy+(fPgTrz`LKxK>}hK`tHFc4rmS^Z3Kcy&{sP#R9_#N_jh~id*wm z0DULj6)A}6KwmAoF4_69I~DchDAB)k-|NAA3NOFpLXj%0jq-+`Q`|rewhRcbz-c|T zSAr~!v;>Q_f{H`R#=fuHVsZ%(=~jlc0ouZY7;vNd` zoW%-H&fW2(adQ0QdyoETi92xM5NCn@o;mE4*_A-v>Etul3t5C=%&0gdi! zER49$hk-;On(v*EOhNc-3Z5hm%r-UVDd{xH9%Kzne~-CbLpkYX$3)nzB0T;Q|4;wB%m zMC|E)x70Umyy43}LSe`)vwe1f98MF9%$=NC=(Fk=(JppaDP|g@e(5g>aT|6|TXA{% z6QB=v!@OIc7#e=PC8i!|4wWU_J)RsGILr3*@zBM{l?rkFtcaE#pbw_1qv@GgTHN>I zSksv#x^wGYvm2_3+iX5`36;3}X7pcqX0~$h!M5t|sEEMsc*fM3ex`SL;y43mpDsQF zsgSn=AFF`K+aq%Z&LN9V{V4BeqP0ySN%MYZ?4C9&{o%S|9S!&E9|^|clj|28L>zbk zB+@Pek%p7!T_)ZIA`PEjJG)yX`wSjY5lz??zwo89G+BA8>Z+H+YI{+7&B zkrz%a+f{s)>I7uu+7GPQKXJ>JDSBzo%Wf%$pMUR(dvn&qY1O8n(COqVhP~(E=d732 zSOb>|&22&Z9;Tdfmt6AF4jg)2r#aha@53&4)7^#c7MwS9(cVKf1o5K&O_)%^6od}% z8n{idX>~WiAB;*JcE?fAb``SP&Y7in|8&b>on7Otj=7|(RqIYeykpwO0_?_(@^Db< zSZTDl+*|ry%>gZR7Zf9&n$tgl{eXR`em@}cLVRoX38y63_MlApjK_)#yh0R;bWc_G zmu-uV9mJT$|K{I|hHS5H&6&@sHk%gzk$s zCtlNqHS!`UKEdfkBx#y{INRK=SXD~$H0NBIylby*ZbLNA_Q*@m;LAPJovMZf-_9GU zZ2^LBk4ncCoxK2*1ZSI{#&@Ky{P1g|z7;<7V5Z8h{TuiGT(C3w$#cf06ZclpZ1kgm zlHl8;?GyA?3ueXKd6IpG*RXpochdWXDv6GVZ3stV0vDow9o$}IJ0sCM+QP!6>9&!} z2MJRTZ*^c$9ET-lbovSSh^KqTlo5EhjYRKA%Wr#ZhG=^ny0bfrhG?U?>>i?(^~i!A9YBb6<_M|(o9 z<}5Ymtxt$=?b7lp4#?Hk@d57uE2RaOp?~ndB;2Zq@V_6y1JubFM(UD6{iq!v6!Jon z&dT9C;N2$oCelMfjR~FCtma9`Vtd5FN7!>9c+QloIF$h zLZPKuX(V0L{rovoFUN%yhqZNUXydTQ-Rl@zUf^5KC+s@l;R2rP2B|Tks`0C2@X+(J zg_Z|0!OvA?`68@qUdG}#>uhHyx>ZTLOZSyb%OC&r7v8hAE2d1_zESC_P9D&$*`(=_ z6nVNSRXM3n({828GkhNwzvB75XN9n;EEmV_ALO=GA6de+ncP$N3Q{rKf!cdstE?QC z&8^g_P-VZnfxmEVSi5EI4TsomK)Yr2y1ZGYPl1@rrX9&t-vcMsU-mhXMEXT1{X(Ml zQthLjiJ|-N_?Aq$U6k#3ITfhy9)1$l9Jd5n@Zpwwda_^k6?@di!w(m_?@sF0tFYMn zTC)gMS{Jl%KgsR1c1p}GO=n+b{Y=V&plr_%P1JJ2ctn?)Is$R|bPZsTdfuW&%%Gmt z2K7LdS<0(R@>dW!f|8IAv7cuI8KT9OboT;d4iRxT>Ti*-Nk3}NGf_r_rsXp^%mw=` zIG24`;yz5NaJjQrPug@%J!^p(qGI>grEv&nw&|rhymfU*(jNKC2mNJQg7|D=7|$je z-_HwC&UppS`5pM%Td1O*tpYVcs9DN*IeZJ<35+vHvBII&a$S=?Yqt(90d`!))~}tw z;*I{?Xy62rkffz@=mbJ7uQz9ci9Vf?&&%G|6Qt=0L}{A^TRIR)%{g0Ls>p~#Ofmb~ zA|HO^PchN-Kw3f!?H$`_41brM5pLv_=FCTu+K|K>>K7*3E$*^+v6}^?j#Xz_`omJk zracD?sAB?xS z9me)xMqA$1rNu4~O;FumsW>-^~CU-Fu95CX`%T^%>pqu0wq6VrPVuU$x zU4<1$gQGM0qg^Y1_*;YdVh_4t?;lOY;YOL0f0nO zvIs4(F=*6CIP>G*x~!lGhqZAaq#iI!5zApnotnV75;D^iH82^_vDLG<1q2?PWIogo z|Mpb2wChJL1kF}~re&oZmKYrtw=_Kcotp;p(HR{ti`!rD9_GFqhp>C}8G1Z*gfqn< zwhkX92+=W+!^E<6*Z`<#kXa1SoXjLssejZW z;{c;AHFWl3p76t6D{q1_~=VJHBw$!^<(F@~`_(V3#s z0Na~xsjL5%Qk19;YeBR2NYj!hmxft{AZR*gK@s|9IRYQFcX=!k&3|vu-ph9dDOd8k zREe{2cjDJT7Kdv)HXxP0SVGQFpbU_Q{7QdyiekKO(!nq)}?EM?0`TxHsd|Ygn510*z?VC65 z`@c8%guUY4OoK+Za(hy#RevjE6Ukb@*BxW;;vQ1d)D~pcZjQ4rJn$Nc55!duzD}{F z&}`EllrzOFMLr{@e@c|^ClxOPTQZLZ?Uv#-{)X#_i7l^LZG$3)w)|ndH0K@TKb3(l zq%wCXi@bmcCSH6aX#th^_@jRZiA7Pe$~+S87;ap#N!0rCHMdicMb63}cA4xt--1~-i6 z$<3Vk8fkEUjK#uf(Ow;93}XQ@0op{oLukD4H59P~8ZMtDsLaXo#{f!?yoFeQuIs*8 zxerIM6B`9v0-64|hEwjd;j|nigpL;pVs#_pzL!$F$u` z@k>&mMb9+npXCTdx(R3wCHEe}zY?-BFrt=~E-6Vy4y9ZE?j=ek_;s~d8hCfK*P^%r zx~&nHkx!L1Bhp_lj*;XLptY23Hf7-sQU)?lC%1^m3333`70cTCWP0zrv^he*oF5fw`hTt?)*&J4@-61L7H8FT%-lFr@vsz?#mgSz#G z+%-6DyP1&X?6yZN@jH@jKPK>TBFu>uL+Hg24~O;`%Kgbd(@hW0y<>vO?y9=zx-x6K zYUHpx$hjs{7aa51XIZ7l!gvnbe4QqrY1el z-BP^|UO!r%z)0j<&z|V-VTzU%*T#5Jq9S`s467e}@{5cAVk(y)tNJyG*1cQgAt}8o zt260~^7g!4fZIF+5wRZ7w@BIDht?UZZGY4MKolDBS{mT~ChETK!w%1Pk{w^|TFGh; zQ&i^1Ah|$)3@z!xx@*efSIK4)mW`e`ZC7FL*`aCva}tPxTVuimmx7b9UPH-PLMJ%F zffJ=-*72VaZiIKv4PYZ4aeKR2-Um$0-4fT?em_Bmn57IZln2DPh5h;(-!0}%rf%sQx^P~l;jDej4VUNiW zUooeB$zB-Al=4F2n(VabtDz*p=o0g?k2ATC3lFVmy_8tkFKl1mAzSGBvcB3}4wOMc zBD|}LJRm}U^NNEu?p^s-^YFdkf=9WJG}KmF1Aw6=B)e_2L{$_H@g*gG1U#1)LXVxs zpWy;)uy~wx%YZ)S7T>qCNYQVj)M^um5Pg{nU((t}0))IU`^KyN*;2rh+UCiij_834 zi*$)jqp*ryMsNg9V8k9nui*w$$tChm->KX76?cpN?oF_-DNR5+ z3##jz(A%-+06Dx~y;4I+r4rwRG;Q=GiPM*iu|Vk0{zPo#%=2P~Njn>)4g&0M049yC z3i)=n?U17vm-1>VpI|QCG+n-FTtoMLq`|9I%$oQl2J+s|p9{l_6c7<_xPobz4pwSO zGoB}WAr6r9$IuV=VD%AS{9q*FIAkXNzG*>kKc_jgN1N_jUIkCVzF{Nrte>M{!j6 zhRz*|2*mid>a~CKA{Me$%(De|Pv_VKg?(oXBOm+08N$mVlqjF1mpIg;Nb%!M<(E=6 zDt*ROejvc>!dqxM4?VcQR(og5@mt^pnTgvYu0>LqE&|1q8%L_8H_dR@{IJC5Qk63* z{xG(-wOwATWRhR&P4wYZI3|GXF!Af`FecuDH_L{Sd7>?!i`In@x??aLR*Tr8>eXs! zUL7$eL#ocf+I8zD%oEa(LNw`72TXT(okMy44(rP)u63`3|IvqLSHETfC5h=8Nf=y>DPfeA;9ae0ykZjeDh~try^u zD24I8dVAr&I1evMNXhOTH(Sr&+nF+vzV|WDL)X?>MvSj82u2`Q{UT4~Rt!snEqoPm zgCLNSYsesQP zx>}Rs(NAeQS02m3-g5(fK+3c+=2FCH%YEGZAdFut4O9Qg03~SaUeAR80rpOo=kS$l zQE*@?LzlqptXdjsPy^yqQPTahYw-@~<@$&XZv^ShlM`zi(mXR|%LFUwM&l80x5?8o z0pXG(HmgsM4yCQuMS9iFWY9OXWJN9)gU98yyC=yE;s>L}A_r5n?#STiL|?giJ7t9Ka5mRfM&Vfk*Vm-%pfl8Bc;KP3^g5-mM^Ika$DlIqL>(yzDA$JcVLkX7` z2IopF!W?)CZ1DhxetZN+oFc8dEzUDUypA~+(J>MpI8`4*MKIiq+^AB=y5d6+aGsQnP;+OC1zG~o2QG{K!J`+h-FK%OX)`ZqjtL7{!gv{LEw_Lz zkrMH6s7ln7asn;1Z{P~Ih5VWPxE36ajzYl@Fd>(LCs~8OW}SvFK#>+PV?+Nj0ZL2v zQ@@u0d!X{l92DEb`cgEc<~yVG`qA!^^}nF9=AQFCx9Znz&s){(>hJXJzO(pZYtRks z_${uN^Ia}4+A?4NSc(773pVv!Nm!B>G-G+ujQqh}o=1L*FMD{a`QfX(+KK^*uU_A- zAg&1QsqmZUx3h`Ls!po?*d$37lAnnUvwf0nB|WSh-0CmHTQ=DIvxJYr97CCk)8IU| zpR=vucT}9%G99ax-|ASY&T9X@c*~rLg@1gZW99LsiqmQ%-F2*&v0v#}@tiXR=Y4Di z7qJvR;gzc8@*HTbkE?IcR(M@sODeuicI}j`JZ;CMdC}=Uty3WpLDWGXy3%w0D1oUC zb-Cl9zD%`Ti^`xH2KLV{%qU(8)?Gd;U&*?xM=Ut$znwNfTEK|TU17jq zf>BkF$Q#d?SK>^M&?r8t>L4{Yo0u!n)Gc@_{@M; ze;%TJFMy=Tt_M#1HxPNc&vwGsRlReGD zTA~d;WKpJ9?{~CBb7XQ!rQgaW9kRRqef`MOGiGRfA(zzfrIu)I-wQ@Y!}YJ^k~Hqj zr9XHFZz=`Cgo3QT3I(E70##qx*A(E}V=zK4x6W{{8m)<*!jKxpc=M!&($wPWwBpM!q@`U zur_DIuS8{o5B^nadRYAOsW8Vf#@6AjGDX1UC|8t@y+GjYQt(FkiTjv7Ni3rZoCfFP%;Woi;o1Di*gWSR5_KDPt z-kX>Z=qH;St1b5F!Y5^6>}dn$bjMz;Z;IpvR1pe+SS=?-GI>BxdV}0NJB-FZ{;e~_ zotPJTi}EM&w73clYbd{4d`_v3fOb$w*Yi6P%ACqBbBYV$Ht|h%tOT0&)7a?6BczhZoo4J~%Qa#<>~fY?WH|)Mtj#p<9L&c55~YcVa2q zQ@nE~ZK!c8S}+~`JjKnAqv^L992@eX4Hl*i(YY`60H-CRtzR!WCr4roF?Uk9q+CWN z+mO!zmsIoWDzFP@CyL6SMfmKt9Y)}~hcAbQGVw@+|D3PsL8GfC<&ls0P_tZr4PgxZ)?Vgiw=v;j095!iiI(F z>3bij5dJUHW+HFzRoJwWa^=`VmR_+od-d$$_WX(L%-2_bH*!#Ow3g-9%w0P1m^-yb zZO8fIr{aLRP)9w~x&CO%QP+;j(l>4!722E=*LqnbjUdOLYmdcHI$m|RqfMTu zu|&VmU8ZA*_GN;Lqn%UXOS}_iT@>tIq~T6jcfgBOx@{Qfm9YxHO5G!e0!J;xbvw{; zIa%7JPrn@&3cCm}$2~ZR)Pf6VCS_$(WqKxfH(7(Nn^x-QAwH*~GN0XBJrtvi>amy`T|nu(OEtlN5dkT6u)gcN-UQicL6rmR44Be!kslDa;T+J+1h zNs5KTw|d*X=!%GYTfgR=j@IeeauvN?iMl0G5Kne3>kY>DQ!zj`1U|-kArg3sC$FB_ z{%KZMYhQE{6-DSRR6OqIPYb7SUTMw`v*+<6Zo}*dqnhD!*4kgy{Ug`TN9$BMJ~5+R zmw3mrGFv!+r1uYDo5UR$&w8AZTdywmcI{@1nYkhd#=Sb&G?39m@Gr;yvJ6`P-7?l{ zy`}P+a87BbWcCSlkdiF&kVhDLzz4jbo=XNOMI;U-U^AB1b+z|J8xqC1mFPUBto}5# z^gU&0lV0vXNoJ(224NDeP`u>U%`D1X{mfeOJ$ZGZn#7F$)#xR9*TZ?PL(}fLwI`A= z-t;i652F?i#+4M|^xDRO^@4&~B_rlY&8podujOpAg$qk;j6?O4+Ihd;GMop!2M&|| z&P@6`_(^vZQG5k?lW>C*la6=MmGa5GK^*0kEYMpyVoBn+kj^H=oJ?Vb0c<;4Uy&h$ zYX9R%c&_NO)fir^c$T~79KwIE7mYs-@#yETc5X&(^KDuf)^TlI5pcbeEFc$qG>{}afhfOD;b zHH2lc3UeC;uPFj0OZ1|oDih!}FvR}=6TI+?q4!sK9yrxm4c~1Xtp(3|m839hKk;C3 z?ozeiFw2elqMn35IK3C9L10Wvm6W5djqf|x5KAQV_p)!KeLOrSOyY2Mf*E@`*=6`- ztAA<|)t9?C3>nt`aUb~jX~*yU>q`NPM7F;(c8}IVuO`uRe+=YhW?4z z90sTD`O${NaFe)~70=~65NO)?^yjN#L~U^O+O8~#>G@&sasduum2NyZ@zAqg7}~Zv zap)aMwgff82)ywnG7GNQc7dbKqZS~D4qRAE;}nJAi}ejCf|;P;N>4#ail1BlSPa}D zP38_K)y9N7oMt+c`HOLW^r?L4lj}z%k5*xJ%MMBqpv4oGz+832mKf|i#ptxIQMdk)Er>wS=^GEWXhp}BRQ#=G$9pZ4~w$=h-C{$xTQf7~wEgE5) zGQLDwM>*Rxdh%71nq7O-9)0H5Sv7)UlR@p74dZ7VWJD4uxxS?tel?vL-892wi}U>@ z5n7K`VHMut)q|jJw$NW39x83rRW2boCdoaQ!gOMh##i(S-O46Uc69=DQ2IWm|2f+e z5DctVb06LQhH?8<)j7)dP~5dw%=;6GfGJf@=Zf1XiwUQw8G<*I`Oy932(NuRzTs7s zd^NHi-AhU9Rb~bMi95jS7i+TMj}Dult)G4idV65(1w^%+9>bWMlot-xcwsQL2|n?9 zdF<6nb)TqB9Di|Ks8k$H*MpMpkG;3>GFyC~9)f=95JiEoC4`fYLj<+bJ}2@&%_^)%*@9kI<26#QsGbS!nvE8T zGu1G<&@UP{DK;;+(41TEn%(%OnS2@@WoX_ld;(gBqiwstSXUjzAj{cHI!M9C@Rhl& zL0lQSVB1)G1=cO^eF&mmvoQp|33vsI{xvtq;VVcv+uuTs(P|5$v}l5CuqfTgb13Um zovyN!#0d_v29SMNZdWHfxbS`h|GE>y8-Q8C1nXm&oLH=&+Wmr&@D3)K;+nnBZW~|= z^wk6qc)QXX`-j4ollwET&GQ-jKonQ$Er)*q*9UE(5-h5pVW3JPFbrT_SnwAs5*F>* zu{<)a#!;8L|G-Fu`3}c;EtJ0Ez$iK?l5&3Rct($ZvYZ!ihHcL4hT?H;k0o>CQ2KX6ct-fD23!UkH0s z=XvPr;}>>Wn=TbxvtF|^x%O~O(vy+Q{5_(r6no^!C>oktw~3AEQYn3%MX4oJM#y5- zu#H7wpFV(xN9HQ}@hg79x-gZ+EchYLoI-Z(=!@31G_@IgC_etHwtN1$fXM+0nND{O zlhTYV4?XK2zRdkSzK)pw>fof($k9UC_#j2CFKli9*3@y>J1h)7#YH}8^YbYC{i z?DDFAq(e0F)pTpGIG(=EMm6^Fvb(H3Ehl%&7qqu}<}Tc$v#S<|y)o}jyTjDhSws6L5?~Z$HA`m{4caZU z!Q03YT1r2Jd;7tmv>*pbcqi~-&|{Tqo1}f!4n(y6leiR=NbH`DCQHh|bSN0GCb6}U z7c&GJEVF?2O2b)Y!Dyjj_XIETJ9@nz>^>o3g^yNFbmMiRQCtj6j2m7$3N{vXn)!9j zoC$t7B~a9YQy9^cqZU+)=0yIOWg%@FmWQ%23Z&i=OSS#Bmz}L>@`ai)MXZBNT7#babt<`OpIhwhz>D) zegi2g%L%W&;^DshC<0FtaD(_%G5gipG&H#%Qu0w$5OQJMmYmaJixFl&e2ZHx4tWwC^c1HA6*gg3_y4Hm9nVD#pNnT<_Yx<#cNmX5H$I9Lq}U zmn&6fnaA7NK0Oi0ng%wL9}lJPG21@SF2)EWYw41kpuA9tDVoR5c>Zrsw4=1Tauhw$ z##ttPSKD7HKxvoTv9$!rMTk8v@O+UhK*bN4t&F<$sj1o_*9-2(LDQhq{V+|p@W86b z8DQY`Z-8z^NK!Po>O5NdBTq-Btslh0;hWpBL)q!MBBCuwl_gri##W98r5{@$yj`S4%7tpVgi<16KX@s^GfL{`dj=YHfCjnnExS+zjkgC#}g@F zj-r>tPbYzp&N1knXd^6#8o6Ti|EUNASL%DMM^W*5UiV)B;w$*|xV9uxwj>&^1Yksw zfm zltlg{HgEf7n$rS8wo?$f>GiL~`QI>8&vl6KtV9|v?V8>Hb2K=E9|JM`}W<|w=LmZ$nJ z+=9&%XFQ)oOk_mnb|)~1v&Y;U80d~?3lsH2eY>*>He=EOQYil)d2b#M_1?daE0w#A z`y5IO=B`d8NhM2(IW1Cz>}4BKge;MLnU=eRP|3bbk$uY^W+5c&kbNEd*au_GKJVXq z=$yNA-+g}HK9BF|{&t#wOxr*6?76?L=XFhUTOFjo1$#k#=_m{w z6UJbM&p56Q%zmV!y^|whu7r>e(EPoBb<812F5cIy@nZ;}=M(PzVatp6|58bC{Blod z@L+`vJHZyWi~@SQ%~^AZXK+j9zxre}^#BL-+lDI$3O zN)hKe4+fUJxTRs!bFc3IcdPqdU#XzR?saBgrD2qqu2i0~z0#L=eWn!fKP(NlcCZP6 z{j>G9JBxS6wiR%P{dLi&o?~$0l#CjH1r{EEXAZ!Ey3PR}Wf|E7CeG~0x}Pq5P#;!D z$5uVeGo@8yR#x(xh#DOI+p z&y4fExgq?0na!hoi)6`yD<>-MomeXS!(l*2LxPRC=_fzb%Q!TiRB)o5?T0sido;Mb zAjnoHIF<8>)KT4>e0v(@yzRN1<2$YGF3goUFd@4}DmiKbc z5dj$^OVc_O>2LVGcrNMu)XM{O@FcFt#Etj%FigCVOk?E9RhhUL3Uv5lt=PdM${tjE zw*l%}qd@YCI)S3*(7f=>WcPu9R_)7|{-}B;Ve!_g$WtQMNg{IB!}~uSWu%^k(|SYZ zekNt%mJc!?f(F<$Y$8?JeYADEVP@=Lxe%@Y4|BS$rBzr@8j(k;u4o(n#pHe|F->ZSZYM|y=#saHW{*I z-;f3&$8wGOb*JNfy8Kbx$!U*gAHb&{w5-U!5$)_)*@^?chfP1pzNs@H3$I7{w?!r( zy^9qH-uJSqy;gMc;!_+cyvs|s1gfpY4`KYDOF?HU9`EpNdj+S@ z7`gg;4x*iDo0-j91ggqRIm!Vr41PY)0pe>+Q!veZjlZ5oPT!DMuSq4e;9pZHyWafK8QC>ZSV zXkDc&+Lh+q#+t6x{lHtX_RY_vJozJAcrTvb%oeI4Picv|X2jU^=kqD#x|JW_mg_U` z;B(~Uick$Ys}WaN(~GUn_#{;05A2J7;hnHn=S2j;6(1+{rqF#=!Hg)ti>ru_4@!`i zTwh)A2L|r^V~@NnGm3wfD88SjbpTW_3pu%zs5!?^DuH=SgOoeK8L=i~FM0-!x>;ob zO^d@gj`#GEB6ys^4;-UB14oI6^{r>UCo_g)Anq<@UB#`#Q1rZW*+y1~6vMc6d+yav zMamOj6C8+_$o87w$sAMeQI9>(|C;^kA81O$La8$$-t(*|CFX*kTVSjvoNLB=4bJ zKCwg2SFFBU3*W(;xG@{?Ea03ElPEagGgL@ZxM#|cEcOAs2+Twnd~_Otna@X13KQMo z%lw#S5*9{b|1llsMF_-<$ufz03Qw2^7~+n^F1fB@D>$vYe;qKR3GGc#zSWW4wNz$n zFnXi9!+!X9^gm{`@9k+USt@pI8AgC$0rOufKYDE$1099!VR;l98PYD$Qp2xQ3oqfZVc@A}mcgusb+Rba(!eS`T7r#-(Ys?5A zQU630zalIa>0nEAn_XCTUYPnMEH(^07Tb?VEf*LYE9>{bZ@wituu2tw>S3kZn-r_W z0~%_lk4pYQM<(;hP<;1PR#jb=nT^0EkSabg*n4pw-<%W43X5XKH7VpR`S=BS`* z=W-y+cDZ&4Qx33yvpJ+M5t65^lAFRhin%t^d+Vq(^8UrZuFOjFRzh~-UYPDJ!}t39 zD$wrh_Y2h4KPs5`h|>Vy#Pgz`?|70uTHi4%ZS9LSj7=U}dPVN{q7d4xSeqGqD1s?7wY{Z_ z2t;C(mK%%Q7u_F5gORIJos2UPlw3Sf?b>ooHcDQQIZE635k#Oo?|9YGpd8rOS38V7 z67_sX$d6&B10+pEPs(%-Ymnh0*Z&GLGWl*FS%|4d%7L@qg|LV)#Q?GjK+T!TF>xOi zVU}+zxj6$+VW?RqFbbPl3kRT7LH6&};aP{4C5tKkV$h8XEw z-7_g!=JgE!P}*qS#sr9M*rqKPH;*Sou!x#U^nDN{JQ+-ZL;Wf~v=P2(sn@5#6gU$A zOcH$0!}p9ZLb3W97q?tASgf92KC#kkk$O{=KiyiL)$cV0RSw)uKM_vGRLzZSK~$au z0UFP;^RFgf)xlKx5So^6W#he zI-Rkn?ojIC3uO-QmiFSwn(Q+Nmjj!4L%ZY#5;Pn`L6;SjEHXfkSkPR2>UCgVV+u;L zn6AULT2X#6Vyz7SC}{8Jo3>0QtPd?+nnt96om(LVpAq|fhu)2&Qb{WrF;+$G6C~6x z0K=A;8};b_M6djFSxBpbf$dMpuExbD>3NY6AIEiDd3Bo-f4liRTMb(k z9r-LhCe0a>Koq0lsz&8Lm*5__V$`PYJy*E&6HK@BJgV3ue)Aq%lFU@GuFBp;C(CR3 zn%FXLWb)o3K2{dr`4vgBhT=kM*|Iym#NB08l1z31UKRRWQ`anDaj}06NnBsFov^A= z8UJobp{q4tOCTlbW#k{Vq4nQ8VsDZ3&ByeQ$ZT4_&zzzq=u$hD!|2OFlI9T)RfH>u zDj3#>Y;LR~v3U+3eXr6T;WhrMAI5CSfhMfjjF_J&%C=e5pv>sCfkBA7raRsh8BZ0c{_D7WT2<6Djp$R zo!e?|d0(*jaii+C7+*KxZPZ$GHJ?0R)<^$PV03unb6OV-bi1_sC19UzI0c5QbTwSN z@kLen!9WjjI}MrHU&l@v{s!dJWhjG+n0r3&1C7U<^gtkA@+vE$j5a=%*%_MlRQUdS zv;9*yZkz28dVYU9TPv8*o_J|SU#`8>3gT)`xcgrjxx;SP#JTx^mdjJ?eI z4I4D)^T6zv26i-uB^SMOla#JP;geOhaHoZJ7kxh65EvI&7JQHnFnB;6#%6$3`^s15 zyn0;8)OXtjYIx2n;*Y7!UqUbX;eo*j5mp)>YDh)N9rFrDnUo_$Q`%D?r)I(|2M-Lu zd}tN@IM#bj%vC7TIjT#uDLAjo`Y5!b-muCtDL@@lR`7vX9ZtK>WF+y60kzfqzmRfQ z&j*}aqFeT2514Kp4}|7eswR|^y=$gL-V*wXeS0$w`%Erexs&vjnQ)9?Ogi+vWq)`p&=U$%7C6g5>PA!CUfJn4;EQ5bDhp5uBT~Q=rkOUSB-oO<< z!wbfQ=eAe1Xv#*dOlXp*CH%IW4a91MmCSxELMX&zzBFd8`RFFCs|{)^^T$Da%Wt@+ zSHn_l4QP+g8@)xhY|rm@{x}w4;xTQ4pYvQ?=mdH+l_=FXUtQo~eo5lJR?y45<`k<|==Rclo4Wb#X@NFdU!$-L40Y z-Clmwi(`d%GCuGS9PsGQIE7nU?9}g*qmZ&P$Rc9@w}$dRp~ProvNv0-UMt*UO1JYK zV5X!PLw{!ra^JbXIrX)hOGaEqJa{*-3XHdT-K0g&5!2bDux@j?YFqtq`4RbF)=RP# z=La%WqPnu|(_OGiGgSj?T6L?ID=?&ri510pYLP6wQ^Wx(nDa?-UX&H$uD$5L>5`Ty zx;M@ZUEVRQxHC`ljTTl%-kZnEQ#N3@KtP~%ZDOn$xFLA-!Vp2tY^d8Y7nL=jn%TE0 z`TQ%hb6cP`NyoV@YP_l(T^kA>ZkG^~KjP=>_Bpn!CHktaWOYVG^ss~6{%3BJYA`Ce z=1u3BQy_!eJ~Dgd)k0NZPaarioe@}tBUrCOet?ypp?G6?*Mi8=SYc_qSJibJc^h8g z{=nf;V7XmSZNcWv3JYF?8`uncgOdcS+t~qn5{|FO0Kp1#Pfoy7zOuq)k(>0s*REAx zRr-i4Qe}%(%_XCoxlZ@FohRJ>z-j}w>h0RdU76x6kSJ8mhuB{1OG%?+!0v(%i=(#H zhij{TxHG+jC;tArr@ZeX7jOiJmbxTKOAfrN(ZJVxyxM9 zVaz7~auBr~?_B0dq2Z;Fw05^?LV*s)31L<|K>0oZe!h*XJ{5&wO~E<4WPRVQ@fqG}xx8#Pa0K?_XO3!(;?#`i`FF z%_$i*4#Y51S!ecfTq}I!HXAJlCP2cbk(sTm@3Bhf|)3@}q!_RhVgGN%Q0 z^VMH{HXd!5hU){%AN2UV&j5})q8p;pc0c&aYETD|LI&PQJb}>A^d&*V)W13ouw=L| zWD+M*GTwq;;`4h|8yi)6^eY?WOaa03L0{S#J#3Ta;!^o*;2=F(aC9YR@4imV^k$l0 zW%Ko>OZ_{(a%G|)usQMkmwMteQ#-lt?)z)tAdOv_iL_!Bdru&OBORb*w62Wg(7xYb zAPZjR8i8DD66~9wwZbhcs8q!J^b(MRj~p);X|G_NgejwVT2DJ4(^EaSFh)K|^a7g~HBAk0 z3GrEOKtbXrCn3PSew%slV+{xe+|1`=X}}N^p*>-pc@O@Z4p-H8vF)y`om=rRY{-hg`AN7;cFVEm8VvES=3!}{jhWmAq0~q8 zEj*y*W(-2;?~P)ek!MbWh{#L1jnBl3p0W`?Q6X{rNVy;`s^ayMJEaLY^ROnbNAyra z%zdiS-L)$qcbZ+>-cLjfubz5t;2M1V`5Rl){E5u`?{Mk$B51Y6F*dnP_9HoT4%cZ&w*oVkFNr2KS%BW#(cv`N27Z^W_AM+hP zJ~}xHQIOQwE}Y|-2O_Rx&5f=b+{#55A2~hlJ+rr=EH_H9;Tek$_v+o*D|YaT#f4p12#bD#?|{~1`i%&;k!_10$YETdS6e5y+SjRKT@*1_?I>YGM}iqI3C{MEcdMSV-EK|z z3UKf*TD#rP9WGlQTJe+%b%l5+QC-fbbH71fHl#gF4U1kF7sI48bM6pBVW_2<-GwFD zlp2jd1+@@^4+W1Kqp#jl>jx<zfhHy+2_>Gjh*rv?PuJRf|0xMrpu2)FqAM&W6yRJEo!ICh5-J{tySy~+0Jc1m-X$GLHCEcV3m%l zE;_%S|MgGf{ZEC)n+$nzI}_jK$dfIkXkIwCZc>P;(^!A0_iVswk9??q?V*IfaETgw zY|Jjy&RmDaype0)9KQ7T%zpNF#;Oy5k0b)^olJ<5TRS)6Ekh4VK}x`~GP-|Vjh)MH z)<C@r_$yp))csU4y4Y*)PKLLIyeqe-p#k3(pucImp?7B) zYuf%kX4(YMgRhx@mHAh$JMEY4HIr{O$DFvN2~hZE^dGQ4CZt{)yH7}$4P)k;t(F9j zvHwlkK#xW(sg&xUV@#ZIjxeFW$+rGfrA}9DH&glxhtrhG=)+>90o3MJCx#fJ!Md(% zfLVxW>LWMI0r4e-s0`d&IPBHKpaM#`g0Bs zNFZcd&L)p?+4~Ml7%0xq5Sx(aL&r1U9ksrFgl5=)BRS%a`LS@pP>;diO8V(u${0hafL zE;*QBTq|`);yXmli0*UhF66^8stlI6{qB%rplP+IoCzv9zC8A8o!XyC*v{-|MvYIJ>8#ud<$fG#wc2;JojjU1Y4#5Jx+Mmyc64r z==#Y15v>GUwM|;+4Q(hwGsU0v`cmS?=bKKDoNx6h=PU;5t5;{7mSj=EP`lR;x+A+2 zkA9yF?pz;*S0sGl`uGdmFi*UV)rQ5lS|>oo|CNVYG8hT$Jajn_j^3{0bgMHKC`istV`rZmZ&JT- zq4b4i&OnJ_;CHyMDA@f>u#eIuL!fjPpCWbkG^Z!A)}vXDr*s}p%-j?#^F_0&!r4DM zmZ&EydJDl@nz%!uG^+PW^(COwrK-vVQ~5Qv@>^H3j$4`Fu1uI`-d&f zJ8p26eJ7(4ev#>|6emgxJqGUXSJSp2s!qyK2E1PY&ndymCO5e1T@B}d1n>I0%-#s& z+w{%$l;wy%>e*K4P1rL*^zd!<@j1MO*N}t=h8>7>SHrfI4AoJ5iXlac0m4(z%aVM6 z+8-DX+LB-qa^k<|aFz+FTrAsTsbm^QdKfbR?2j99HfDR=isioY8BHGLT)6!^Bs;iL z|M-q_Xh~Yz&ac82jv5++gKLBdFcE0)Gxf*~5Q`&N!`c4lK-h}@&86fJc zlP3LD=Q*{7Wndz3p+QO(6k%=9;|5^LqL@($i`puF|v7Al#`#ZE$c4su#wAXE+xFaKm401O56Xh1K?VJioE!S0+= zP0X4$x&C=!TJa-}ONKR$BVOoK*jkmt7$RZmX@Shvyziwx=^fJ7jK)c2)eDNCxqlLUP z0XrFSm*{rp_O-TVsq*A&Hf%h~k7|KzI35E{4;LI*MA2-)#lq@wd(Bgt$UH-XJuL2W zZ#`1@@1(5%2|W2uDJj2Vhal%eKtS~Bi8($QEJM{#SM0S%U!!?WVffkmrws$gFa0}L z&=(#J{<7_H!+rzgRJa(1=9WHIn`7!!ov|dR^Lt*{LsA^1#$5)}!SVSYI~L61;j=~| zs$&Q9hAr4jK99i6x-H3R zf^WdT=Y#TB9Uc-K&?J%$V`ldk!zYYzbU;M!LnDNdfyXc^Mqu%;J~3O2?$E|@$Ky6u zKh!$Q?XWBP-&w?dp!b!`F5sjq{(TK_rGA9{NSQ~6vnXWzZ#oX_I>9M^5d@}5Im~Di zL{+%V8DtDDoAiORkP_fRt%(z>#zEu7j|wnK0Ks!o5#mAZg_D!Xz{8HpXY6-x+8$}} zfqzAEN9gR7*Wl%8B)D(;(R=D~`uhx1^8IPtLIQ^D6M1bo*d_kG-^KAx;?^*^u=E^Lj!xh_A$eZ(5b!RK@A-5HwM%wRZK(t#QzO$Kl) zbqGmW28dKCIB}s|Mu(&3Tn2omuOF*itB0dv)~wsQ;d<)^i{jbkm|H?+{co8)`U-a4 z{e!NUEe~!Ss^Q=HWMQ3uRn%RcwV}VxS9L@_yYSC5@790N`kVYu+L!j$_2yA{vN4lYv!7NH|eEo1-fESJx=(*5n z3uVoak<_sR!FI#2g%@r7VUY=?p2a)_?+5L}DCyBiv-|x(F$+5mW{G}LqrJj zaye_HuM)J)Yh)L4+*POiRWE6opn4y;p(|__26j4KdUKV)CL6X|B^y58y7B#;``dVN zQQFo%+w+gvvW4Pk2XmbzuIzf4_~gUo<56l!O>a)R8osJ-TFbNCj62+Wan3*?v;V7IPp&2 zI~^@qP9u_qbDhIUFQ_2ZK-dR5C}^eVsr;g-s@p~JD$d(xOYfnG(k+1bxo1FGx_N@1GXv>;LVPh_OmOe%$ z#4R?a^KMk8n|Q8848`Eoe$u)9$*I``vlR+BvqE>mmJ^~~nPj$fp!BMAVD#iVi<1=~ zrR1fw0;RyKQH5;DIG?btl5K~A-f5k`ejvIbN!#j*utHX|xz#;xuL*~U*sd@&+&0@K^n5K}1E^<#Yfn_4(=TrGybjTDLV$V} zPV~RyXxH!j>dYfp?wiq0Xc-a4kIR^ePMfICbcwRIXUMA5DtQP5Eqe7|}?g%8Y;|Dju zDeVPhCnME#o&}-S$)N_TwE+*?_#KMJ9Xr9d+OeK{O(#qB z?2$IstEz0$ab}mqt_;n` ziHCJq9hJzJWy=TV{H#!XKS@iz?(r57?+qfHGb~cJ8O|JXG~;8==EaTrKD03Xhe#SF z-VJ~l7Y2UUS+6VaC(w<@*@Pb1P09HZJ1K5o+{E^J( zjj|aj=8eh^-V`0xtS&}Q3}vXHmPfEth-+6r&jFDP(U~8;8)(p3m?cA9T+$4DMxhg& zX#kTPU;*@i89yM1wKKf^^CVd7@J{1LPlBhm;h5n7X-Zp)Re|e(R_1*^BOaluccpol zFEy8&fa{$Xwmc`NC-h4e!VSr`3)*$wAkUcUs1K;+BT}O9R((!s?yY9F_F^)>=ppNh z1)J9uS~WRhYI}ItiZmTH!{x_8MH-PvP>}|mp%T-VWuHd+pcFf*1S-;uF7H8;YA5cF z^B%s-)X%^r)+jVJ+LmAHD0|VBtIm*!f9{#^vyQF-VR@2 zeNNvN>~SwLW!P(gM9w)(LJ?ScOzA_@cmPkd0mYpeKQSLX|9wbg=Y#8o>Tmsj5k-De&~QWBh}?CerZzE7tak^AOi#NEb*y&uB^~b*Xw)W z8*O47`M37TfKbj7*O&Rh_F=mn(p)gxrIH#zy1ndk1EA>b#Iv#oy`ys@!SvCC`yEbR zd-r_1P|o>XLM{x?JOQU)LD}l-K8JWOfwI+u_dGz^>N3xQ+Wx6}21V-)DJ}r@(^YjKh@_R)4&i%mabo2O4C^KTx zktjYWv8nasJOJv6BB`(ZmK-?I7cQZR^Z`l=hCXU7ObG$zyhsjH92gRpeCI;(%7bv~ zgA^DmnujxuaNHF9>Oei@l#k&$R-c&B_In)IBkTew1T?u|Eu$6Zv#5X}fUT0-)XGAU zN7864P7b7LR{xQ=>f>q6n`L2}_}%de1GH+G52JuVcYt|}S7MPmz^#zgL6VaSh2u@n znI<^BP8wK-Fq`EtgET2lbO@ED=LYD>C^F`3NI#YB5ZzLWq-GhHG%rtQoM-Pgb0NB!{BQPR8_3BQ@FXWV*MMO z4asZCy{5!tYhNl62iJ|HhBy+O6S) zd3RLm??l~+^)XU6CWhS5W418&;iN!NqqKCG$t`5Sd1KpFG=&Ocw1a8}h_W1N0oFuu zynNR2f%#;)X~^JPP7H&Yi1?FP$I)~&h_Y}r=Dc*+KUGHX8Z2mVUsltcgbX%wo)46^ z?;cnhZ#^~=;yb+&Oaz9UmkNtLXA~V2B&FFI5e$QyoEQcxTu|8NwEjS}?!7R-#5#aL%8lgZg4=b2;`r#K}1jgYxs}#`zO`Qi1)mHY}No_g5!B7Wp^QV3I!7f-=VW|CeHc|JEG7B*bDa}xzFo*Ky zGcS-#@|F2?qO~R@=7RDMcA~ZVm^`JgU%%zaqyv=Ymr@I$q;qcN)O;eSh8UBdO#a^*#sW5uOM;5wK2cFXWgw)f4%pIe9v-`$hfg#!_smm zlhoP(fTiIqM_S-Ku@MU&(Zt}@Qlfwde5^c{dfac_0SDEEal0IPT5AC?qXS^;VYC8{ zw8ECL-Z`IoDaIfqE}04QsBxIW_0@7-Qh2m@mXC#MjRhKbSR*JYPhDVK13cwjLEaU= zptb*YuX4(M@3tTAfQx;vl4f*OQu;`+7i?+5N@*UV>CEyIVR+Hxyg0B+kZ08?_!5r~ z!H0N&2{1eYS&bqb=nVG_P>cr%_fa>^e5SJ|v%A-ntV6R>;Jl{k*Taggc(w)DB@@SB z$W1{AqagLo3K&%_4ffk9*AG5Si^l_~kW-XsM6-pP61fe*tmB7afE(Be%nY9MtZ|e* zMGXLXRs+lk-{nLCqY>f7;M3%%*NKTx`y)_G;!JW3=Oxd_3&K*~bhSCJVNwobLIDlr zKv~H!!#W)YRv!pxpd+Z|hDVzQ$N;@J!4ok1x@R&wE~`6-AOi>#F3;XKT7WhxN|=Gay5xnQTn z>@vVnneY*IYG$Ws1yhPEQ;M>{acl9GNj)iG&?=sR(X3o5Nny>fohZsr364eaO+xlP z;<#{nBEk-*6bOCF`U$(Y^P%PDplK|=DcIiU9B2&esU>PFm(Oyo!zp4jo=`&G!<1e} z6ph-NKyI=o5enLa=DmQU)-Q~J??zHZIjS%)<&uJ~=@m>(xk_AjL zsEHjcie#nN@J9liw;bqU$A#uuVz(G(VTuk-g+DmNc}CcUTtf4CgGnOx(KuKfs@I&)1z>|e=glt1Db2mU%;SgoFf4~D$Uh=DuViij7ljDK`!TS! zOl7Tc;=Co{&3S18-7V#|N3DeuoGXH2#_4if{z&NTcAN$_)N5*x3^!#pQC`iLG^fiWKtF|IQ2})geH*J&r}^ zoihQ-Sh=CUizXB^zLk;&J)V)Uyj)7WN6169`%MBNZfzAdI(&bgg2HE;-o85T%VuBl zi(lsnU*d|d$xxz+mHK$~iy^#NF|5-6ibc}p(Bl^HY!qtoz8s)Vtw~JhYqbPzqWgW= zq+5}UG9cT>c+Gj`uu%U64+(I<0OGUhG*B4kBcPZ{J7V`0hZ)-Fr?gPN#^MgPegJqb#_HCKl=2ux zPzx2##6x@;WF^Kk0O`E5{|-^nBi(}hGh1^oSGDH&9zam!rX&Eg81*|l7b zlTt_s^P%60TRj;KVhc|+tGBY_n4ROO7O<<>ZF0VRp{S%$yEr^{MM(yW`V-01mjr3y z1fLpEBQ0~8Sm&eZs|Aporz#6}+Pyj1{yzu|Edsf2WE?_|^Pu4%o z#TBTHO{7)2xr?mfdS~ZOdO&lJ_86OHrLmMUQpo|*R8vv>_UFZuNO;GExWr{RA#PLm z9#8=;K{k-P8q_@-{S~wJ(wiKS{;I<+I!Rs~uYRU)xTN!w5fAWjbK=%ry>GdqV|pmU zUdT!h_pPA7kKU%tt|x$4{0rK-^~pE&VtAFZ!*pY^sgGH+sqJ#D4b8hUQfN6_O%JOqi)rQZE-7~?`#?^_4#0>OHJb)XbxUY1GJ z%5X@IIxV9QC+(rH+f7mg3I30ytjZr*^;Ar(Xkh){`-o%Hevp?B^pQ}btKbLTc+nN* zel5XCxkUK#T=c4sOd(XZ^5KR&)^Yu9VR5qq=Foyb@A4z;B*8h*Ge0V0g`4VCcYAX(dB%XTYUmmUlfYpEkDj(#eOJiim<7-iEat^NPLNsa0Qm&AMN`p z<`67RDX+0@PR!@$z|c`h=rh!j05iX`?WvGmBIruu-?#<|V}b*|L;Zj$8%D1M4m$20TKPYD$QUIg6_yr4wZ&xKco4uJe&|KOp45?MZ^2~pRy zn1lWKykT8(Ab(ibNlJw24!h>A_v@Sc+TIhoMueLxZ9%=f9Bs2|O9ph|b(`41Bg)eF znG;3KAO!3L71<#M_tW%us0D5TwbMYQ2qEFE>aVKexrJ_?A(#}!ox+tLh5Um(9lN4+ zjr3ce6gBK#Z)fM;xN){Jj{PB-utTdPp-<_6+>Mn`y4i@=BCh6?zFY2%{+mNstQ#Sy zRKCP06BSH4eC!`nsNqZKh}x2eqjo0=2pMgBDii0Ga>kXdBbeGa{OeIrE#pKps3SO& zp(2;7)~`Dm?~+=D2GugEIw~+r?`}SLFMIgzc(SZ-jR?U}#FV??x=+|z3E2_AUo1&U zYmfLz`f!6fvHe@(R)*SGz-*eOprmS zIH2&|HgSs`Uh!k>V7)UQEEfwOtn``#q-a|V^M=~_rVt8`zirIEI2+Ibb0nVd3XXH5 zrZw@*9qPF=e_Jwvi`000r1?tx)Y;{YvQu85qMw<@s-j<0!Go3+{gQwe(FkfoL+Mdt zX`@-ynG%6Zh3~EyUI#@kLsjF3CT`x`w0~J>@K=6MLf-5sbweO>)X3k?W_~CXt!%0Yd38q3jC}2yq`mo0RJ9im*(RJg=0-U zH?0{x1uceS_KHhUN$|I%W-F(N-g_5I@=rL_oiQ0L9Hy>|wn zwy&GC=oqrb!x^@6s8&q%J#$bl)9EE_jcAuah`o74Y1&7{>C65;+{tN=vmU@FAGT}= zvNPstRJUUUD-H~uLT-qxr5#+af9pNKuc_*ja7(9PNJgv)IzN0E?NDz->|Z(>Q76(9h&JU$I^RLnlLo0;y#N1+FJ^Y ztFz_O3id$I)wT@Y+Gt?ey>|#}b9#Mht)7*-lb()!`}vGuT)bU@Wl0)c5ACEdebqh; zuSYOYexDJfkU#cbb2L!S7QTVYOe++x6^sX^NYx8YI$E_*d6Y56tPFw62{MA`!H^w5wO`b1jjb$EM_1?Ca1)wTa8*v~*Ag+WN&dyz(#f8iw zshce~QXP_aX1w3^_#2uuAS#G%db?YpxNoVx7d|B?X4JQq)N zvsZ+j7*@`)foDb3Bu=V5y#08hB=P*w+jF*>ri;Ot=J2@SzySv7;O?|N9xXALY`FYs zuV6TsdHrw&g<7Ge^E(w%JQ3{KS9J+BnSSlb@Of`013Hef@vyb4l_391DvYhl@H z!KF*jFuivgRnk+!Fl{HBRHho+=O2!$M=DVF-1OeL$5Gtcf{-U>=67xA)^1kdk2UUYlSak;_;g=Kd?;`}a9CN)Fg zO72cT^OQKre<~_Lx)_%?Jz+q~J27)|S;g?4d7E78CG7iM(cjQ5RW+xJMfz@!78Fgk z-SVo$r^mj2G+HF*tpPaRKkQ2{CP7>&>PCTfFLq&0^rRjv9`_AP>=Qk4YcZy1J2AEt z7ABY@JJ*ou?_9OJot;btNPVEBXucvDh#>NLyZ4W0WT@yp{%_bXG$DwN^O~%Lw%J-b z4UDA}@K%Fi9iY>q}Qx|Bkn+ykff%d8s!$F@#??9lS2$Q)r=Y*Ex zEAym|+e+FF*^i`taVQ;iQ;T*+?n-lROQT*_`ty48Vu7q)Z_+~*I4mc;7VONILPOoa z1}j=15$r!pWjf5-{bu-YwUOCMWwEPDWpUO#i3)5DX8~~;C^0I^#p11HQBPQxvv{P< z!`y-oFK-?b17(R?TABq^XHJyg6I~j((OXO0DnwkfatV%CE4(4oc(Wd&*9=(TI7wT%;(YA8Eyw||OT(y$DWj`@S{IUG!&!FyG7S1L-IGpOG-e%NP} zP=p$C2B)s&sqW+J(p+Lg+F~+>HiMGimVKWpii?d>l;*+fejxL&f6pOa0Z_Z?DK`^j z{zZG<;V)}b51YH{r#iD6)NZ;Z%uthhB75`J$l9CsHY08`3%vLt8Bov7K>UrlGz;Ob zJ;mR?M|oNn=CfdgNsBmE3^swY4h+UsL0p>40Zp)0-?^E&C*vCqH+SY2O+dd82Go0R z*KJoYwYgy97MCo_^YS>`%j}-5My`RBDKUp;`-ilbyf+;v_BlrarLMLsD}qv2S6bso zaQ(h?K^V0ZUSv;fZ`ZMw*PfP#q{$gn3WD-897NGCN0v;u{tWPT|u)6fa!z8uYt*`f=pF`FTn zLp5N^)LvsdV1d0eYX{C&ZQeXdR_0~?O;5Ohz+WW{=n4U;H3?=0S(F-Q>z{Sg@ z-uJt{X?tj-FmT7v=*W$+w#{B5lqO{d>c}jV6k}vh8xG0(1!S0Fwvg)A|ggU^M0uCLjStH)B z2aLDEE)3kMC4?WxyR*kk9b&EbpVk+q>WiOrrc18$FBddHY-ulh+?ly_BUkG!XkAN)hHU=eHoylB-6VDHpSU&Tz7 z$K^|*jW$QW1eZA0?N=%dzG0tdZO`nOURI(+^mvDX1$V3@M==d9FGGEFednF7^gfTx zJ2AW5JB}2}hZU}EB4>2D>m=bNZfjj&7YBblyExpI1eR0(O0X zDU&FwufePYb7|Q`mo)gFIpA5Jf`!hX=Izr08{$@E?)g_r*AZrk=oCi^@A%R!fof~< ziAxGQ`q?6XDHqbHQP_se-IX%=?b%iFY8AQ?Pm+{3D2JX%Yugzd{3!XdId%>2@mJ)- zy&CZjgOPkI9PtXUbjb|s^G4%AANzvk;yQ{lX5^hbnH>*k2K+A^E`*=<%c_eje!7rx z&uXhqpw3l^L2pbzker?;`e(t1OJE5IcUJ;Sz>cymmp*r#@gG{<9=KA}pSCKNxzrNX z>rk>Z1erpl7}MtYu;74+?RLJ!T;C1FhrI%m{w~>$D{bGf-`I7MTqssJbZ|Eez%FTu zO5mOzdcbQGrr@w=#DE*SD|vfLo_;yiciV1<^d;~8hc`{K$EpQyaI8Awnmhe=0bR1` z^8vLG@ILmZ4FWci2`hWG81^iH?eh&ZT_-aYW1W1>B1rig?f{egU3QaA*i+P_nC^w- zR+^Yj_;=+s7h5C_d!?|3(!mZ7;{Zk(YHf!u?vk|nF57e8ato#2hEyG(55lr>o^h<& z7h}7h-)O#;;e?mG&afH0TG=+N+p$R=mt#Jn9u}WdrM!ndLhg@ekC5*Vy9&z<$QkVM zXx)!7`WQRX&VF@4XeR$@Er7cA9o9X*X-IYes5HZVU=R(G+50UElxWcaBcsPg8joIn z&GH>y+**5V;*DMjar-e}nfc6XHn$Jju8$=cmV(-aCncQba&0(gailr1xF|(!2EDOMn0&KnMhqd~aagb@#5KuH5VI`v*MiIrrQ% znRn)yndf;j?Ed_xYBiT@cTv`|P~}8;yTp{^y(LI;w#j!jAxTp*xNo$nQz8O(!MKuA zz9SW{3gic?l}hIt^O77QiXx(S8RWu>iUUpv!kk?$P{t%NfnYFvK2;gx)63S6y)YFf z22Xp-TN3r0Pjnm_EdIl86HVf^;A0wru_^N6-c!yYBsPCayWwKgR$k5CtIcPP7hDcX z5EV%o@ih7;8iTZ|b_OP)d`XQSf+ff(gp)i#X&P0<`+Qb$U0d!CCd9+b5dllOXy~P; zpQyH`XgsOTTJ!=Dap{_(Aqpp72enn3yD5ED9}WcqX?d#5wutd}%_tGn)R}%Fgr*%f zytoe1guI#9U#gFWyzvIbRWT`{ICK?JNn#iq&!Pu+D+QI{hNMQ^pPPQe_(wpenp)awHoEN9Na?R`9+Ln z_g4^DTs8)w?uehNSxrpOb>AaUMv#xPN4YLoo@D+N8z$TFq%;L|x-bvZ2Z%ZsWyC?l z{=6&xK)lACO*mL3eiz@K8-qx^*JH_Eynb4F6>*88=h0T)#t=^cM-DcI2v{qu+Rdc7Lf)lYW*e zd3P08nei<|^=d926OT$H8b^wRMcrZmv~72@hBqHC$0*vjUSSMm!P$G7NV} zO}0D5W~2Tpoj;r2UNMuz4G)0T(q-JSnyy_dZc{?c7TKB=T+(ZZ9WkpMw?K0nMNgSl z%VvccsS_ZfhV7JsZ>C{Qt(e}KqF@;#ZSE7c!}@1kxn_lCcmiUH!g^AXNHm$7)9kVs_GinwL~d*T5G|^*FoCp1i6ZB_+!2F5 zLeukpc=#eKW^tG&&KBRTF|Lxt%||TMZJZMXKWTN7!T(ru_PC6g{jh(U?Fm?haOw08 z@XevFu(`2H@Q*;Qnh1XH8WnV1yHKiD5J%3q8bM8XnK6=tsLwF;*alI!{_ub571gVIfM27FE296ANYXu zzwd!!1}RNd-K|(ppw`Qs8}F_g<1)dvBU4CrW5HLGA~83G?0Hs+vA0|p=c?OtF)EmJ ztPg>v7NbK|~w(mX-!q?x<;pd?$3=mGe3eHk$~fyK9$8PZq>FKR%O3`Ny)LKbvV zBrS*3f+;k~yvT_xRHjz%EHu}!h7=WB*FErJiPDTw!!^G9xP=|c;dwy&Z)xxQP~!`G zC92YlBm%(41T)67*dO ze|3~BU27I3+YpOn4T|8k(H!ce>w4#NqAN1vrVLq`CR|yN=~9-cn^C~ASIQD`k=yld z=&|;*QKAC2dG_ZmP+6QvxH^lI&tiNFL^z`8#_;tIK-b@UQ=p zQ6G^u{=w5f_@d9tIg%egEgHgIHXTXfY|Us{w6bz^1D>vgf+j_jaq;Pe)lWZrQ;>cH z$S!iLey3rdEmHOFNZ|sUSOZ7X5?cjDX-79ur)tIKPGh7<)%uI?<4A2tLTHT*NdYkq zBU1iiP9k0*Dh4aZ+?)s|HZdWl^ii%;EaX|*Y3`dT9SBk(r8Eaav0kLg?2bGE1kRI% z)XxDQWkgQ4lIL8438O4h>Q%;31?F2TV%87wnlG_}MlELsLXg*EWP)sF6ez-&_<=V$ zan|6|k#{em6B@$v8D9BVnH55QXk{J^Oc-pVz%iNRdw?my&_QUZqZeq`U$7%3zBX1h z71usv2#7-zN_(xcX)5@om^QD)c5iOfF}|i}l|(b;{%6aoBMyWabF|Vw2Br~Z~ zs%tirs1U<<1eQjQ>?RKAx4eB;@Oh;Ij&Ss#14Fsi8Bn%dyOo+ScsN;QkI*biA| z*7$R);?_z$_h-sCo}CCuLT1kClHEyRuXP=vQH{RofI=AVJbE9X!29P56rhi6R~hr2 z%0V;nu#+4MA@hDpkqGa79+ZFVCJ%u2Db1nuHdNVm4AmXldB3a#PEsKn%hdxGt9IR` z2qV*Da-D}o0Z1_(g?k_FQX|hL?d$QN{2Cgp{)0@@xkRSX3KCUZS`@dLQqc(zqtZBp zwqdeRd_=zh3N=nF29Z?v=X54n#WH>62SvL{wS!G0uU4&x z*alBDhP<#+AS*W}OIOWRDa3BfZ4s=jXzY`n5NPg*tE_OPFeVxc{mKK&+9+2m*=d1t z0_AY^cBUneJYQvOZ9~g-c)DB_6idE z*?35GFBqW@%faEmC#j(w{7QKR*tZ4+Q4l`#8~$e9+^g2_w>8k+4$faC<(b#=66v>g z_RJ}SjT#9ekpm}_v9YNdmviA{xkeb#UB4q~{0%Fv?{Teis8z#t%%~qLn>n_->1nsk zpjMAdXF;|yo8(}%aTT#VyMsdBQIL2U(cx#aM9Ie0gxF9{>X$T2qGGdArRRYSJOVx) z1hFMfMA5Ft%tu)oa~W`y{T$MG+mAu}E0!3q}f&rRZq2^o01bx`=?1&ZS)C3(T8_SY!DN z8bk2ilk*5ev^mm76W5?LH51oG$|O(EWNyO&;&C*b7~uS;Aj6bsbH?$<(85~68nJ*V}Uk>oU=^I z;DC?0%AujSS|y*WaS#tF+nJ_OedJsM&u9^KNXAv%v2hh!qtHS2NC?ueyfM!w(@{4A zu<-&>gavQi3<~oBrqj27uzCPZAq_<$4h&jTcth&ssm`>;{5WC*HNqmlYe7D75-0 zL$%&JuAPj4+SGeO_!hmTI!VEZX*cj@^@#c}r{;&D8FwRuaKcj|r+3st4pX{zBS7fmufgG2+l|x!$0oO>kheS#yTr(?Bz+G=v-H;XD|5GUnDt<2HZbP9hKYb69afS{)9!@ICqGLK|&{)T5 zxM`KM5najT$ZJQ%$&VqFS8!yj@L!R~3Ae2BToh;h*jvnJz_92+V6bO&3!5RZR!$lJrYgHyKCl z4_llv&X1A0k1u_@`VEJV}$>OWVmPmQL7ln2RgThdp?4@z1;0Ug@}D=z=~WA=v<3c))XVfv?(;)k)|%idlI z0@_wiCB4P#AJU@GelqsyhsCSleX~Vh1@bR*4F~ ze34=Wz4My)G^k&MLTlQKH#P?>uWd42X>!g2u_^^E)uSZ;^YQC~A|41B0zuD-t%>*gge< zic*5YpSsu|Cl(N=upj0IEDOqsSr}XSxNLQ>M$?=)7md)15*i@obJMSmkIM2iOH5Qy zg#+LPo><7$Ipc85In8z|dncq`a7$ZcHJ=mEP7;@1)9mtV^7^S>6KbAPR}Sq4Iwb%&gmDMkHwJ89)n^1| z6uAgEfIBFi_Hg9hpDi3<8c~qUc@-*~+D*Fn--*b8BdtONd^lYH17xej&(w!5OxaMd z@NsWJJTx3}2RxSPTMD~YH9KbFI^;tMsRhl$bPh+qo;dOwWEELOo)1wOdk$I(S>roz zmfJBj>*q+4%dgs&4&}$5Sk22hp_QXcI+Or5Qs|#77^f|}(lK?SBuVN>9SfXr1>#P) zkov+cg&nJ!8zFJsDxrkMz=atq;cuYiy>h1r^c2aXt06Qh%bQky`c42gGX(u$H^kgE zbA`Br6?YJ|Nq!YET8(Tl(irBAT3Vguuc2trzLF@k>ImfUi5ejLe!E*XW4H?O3UMb? zXkdSSwfvQAV7)vBdOVI5|uF zYBlRbXWc&<{R!Rr)I)S>)*H)4-{}q>Ot$eNQNUc+M)6{28R9Y2Y!;Ep|O& zF8$4+ksNK(&zVRRMJyuMA!bU@X{zDK)0*cFFivrN*=&o#yyR?@wwyTpCsu=pe%Vss zHwXg~7tok#T2O9C%)hm~cuH!)yHi}WzGhpHWiIxQF0}IxK6T=u)SL=~*&=go`Nmd; z?ifTn%ytJ#yW^b^!%D50!{%?Eyd!TXIx3{(r7^j9DI68=p09mlrm{f`e-6QKVfVkR z5dToZjG5DK%)|l1(OBr7=%sb8?d}EAl3mQ#sH5?E|Ll4PiT~7Ikg{aj%dIj^Up4Bn zWSgj<`ug96N3XpX7WbyhY_54V!_%5M4MVhsKuO)`CQ(H8#9}jAeQ__fFe~@|!^#1GOGipJF`;X$o(7RN8 zKx}{~PAR1AoqnH=wgVzVadASNQvWe6U6cv) z>OWihFFMF^YX3TBYpKPayK&hUzB@Ym(P^FW{SwF=uS_O=!Z@y7?*oKk=siCoZi^+T zML>FW=g;T?|N~)R0S4fY5R1p5(ulZtGl8{}nlOomrv(X${NUb=x-YQ*TH=AZSuc zgQN4kMd5FcFIOi0nD47hz11x?Rblq-m|TovmC{|jZH*q^+}vJpNQQFcf#Y7>OM>Hx z79fWSCLP^TfNgn(SaM(&89jfi@gI%*mVo6~H@#52DZZ18Z!{(Y*JJoBT?HIQwI**^ z$A)OVdv^>+5JgR`QMx2J#Vd|2EbG|k58OYxlDW=*K&aF0H3nt&h|q#mBk)VE67B#D z$&=}BtjnHm{^;CC!3!mNz-*2ySgW23Qj1Kv-d#Aqk0-L@;!5)xHS80g?Lt2N?wT<{ zY_orY+&K7!8fTr#j|{>**I1Eu z_%|q#=WhZPcKv0R^QmChT6o^Ro z(#uYq+>jPv`NR=+uUQbrzaXdIq^<`HmNk*1Raq1BZGF%V@Lz+$cS)$4JvHmb>+EW# z2-l&dmpwGMKeSmHt2Dvx)ubGOrIg_>`E%R?! z_}QC-9M(Vz$b5QoN1w;s00g~JVg=QTmG7}U&V|6drv=}8GO46%Rfro3cScmA@NO> zZ%J45{`lq;%GP7;O+5yaYuUgpT2#?O>weD&VwYuo!Ni3q$Yu7-GKsQ~b0YR|Kf$IdOYv3^n-9^YC4u7j53iRJGiZtZt9pM%8vtJf+1@l_GvYQx*)(ERcoInObz zYifi^R1#(~<_FAK(m)QKg$Bk5OoiZ-=(I9YM+45m`Y(BB9b4g=W7Dhs=l6}!BQ*80 zus}8(?O|LUY3r233NORewWR+0n?-JhHQZv1kteEz;NyQfQeo+96Lx((ZphEatC4vENb*in){kN-Oweo zcmH|yqbu@>t<(PURW7&Wq9!!&oq>yjEPjf08(t^xDb5%5@k>i6D=AT4;F+4W*z`JK z&6)>mu85qMb%V>v+}2*ug?)Ha^?fakMDfXwssx@{{4SIrdu0mJ*@P1m;?l`t0Bp6PEI8DF#FEjYpQRV+ulj9@h@SJD&Bh@-;PCc0^!r?^#Er-R%j1|hv3%5QVgRIv$vp%hV3w5|ORfFT0t zzAWIg@!C}(2T|b~yvGY@9YV`1s}CcSZs102R>0 z_3*D2`y7NlG~pH~JCqN;{Nz~Un0}lQ|lj8KuxT+IH8T#2WNlTXvwgYf$zZ{eFD>h6}^(Q#<8nI z`Pi02#O>fqxTIMpTbTm}dN;bwt)bW7l6`wbX%{nB)v>GDGDf!#YjdZ_@h@!RIRb`M zY5&%{9twLbKAcK8w=?;d@*3853zbku*3(r-f}Nc%i|E4RDu`WiB^Xl?5fShD)T|d3 zrxnS49x%;>I0(n3$o;0XHfPo=ly1r2{(NUtRi8*ozVP*9>xXtd-!u^wZlvRr8C%DN zeiq-E^;qJz5*4vddn12Cs6RtZPkD)%(43U(`{#lt@_O8rK{Mxuhi z!(>Z-?NQ~)d_@d#odcva!+2JW=|bs5pFyCuoSuK?#kuzc<6|=6~=SIeA(M%v^UB%Hr?P5aKL;xj${zR9l;JudNt!r|02}uH|S$ z8Gqn({LzEz=7#CjDJOWUMr}bxzCJ3zxB;8I^90R~rz0ZQEx`AJWDIHYaV8n9M@)LR zc@JmoG{MxEaLtp>ApY@YDUGRh?urk(e#6gbg@tCD%m}=-{;voI2XNswd)#O zwY3<1LQvWH{?U1H5fPzLytT>%J{O(k;pF5bQkgxWAk!=)G~(gz=4UBUQs`nxkfu9| zhP^EA5jnPP(Bky1=7|8}?D05w{XnkVQb%9RcgchfXDp{QKMkq; z2N2R?u9{m7eUuM&K9VC)P>reS;Jfd5_nX=dXHY@u#%(RZgI`D$;IhPpbXH7^tG0y| zSG7HNqh>S~sdo)XS*KqY)Ha(Jc=nSJ|Csmw?qw!P)n_3G_PQGlLL52R!Ao^X!tE~e zy+l$GGqU;)466E6mUnb)UVT&Svt4$~hmOk!6gg|zJHEZPsgm^&eTRb7U<&j~$IhYGv&r;RS`ZR6~^iu}(Ul|QB1Z+==`aa|V4 zw9bQH6n8SeZr68Y=!NtHd-*N=?SrYz4xp7S&~xTvyw=55QIDTMb;Mi4Lg?3*sJYCD z&Ft?HiOJLS(eZF(JlD5QB>VWJL#V!-SHszmV_34f5k-hdZ7{Qz=}!ui)wsg2KLQAGREW#_9B%dLM`_JnLz5^w68_T8q|!Q+OeIditWWzdmZh^p)?Zkw=Gx zp0pI}>tG$~9oYO-mLbJcwTbrl#QL(D<6HHyi4j=-LC5Mpcmh1vL-*kTJ7tY zUWh=G4eOX8g4&~UH{Rub&-1K3%%nms`jRLRKi!h9*gjeQf=-~Bk z%d|9|N6z@?)256oziGSHB1+#r=gQV)&=${}^l6i&YD~jg@6q8cd&sY*p_6B)bNAcZ z!3C!SBPzIS)2VN$plO?R#3RB&>bLKAXRG6=HGZ%o<(FWU#488%dYtICVZ-tmU*yV3 zU$1}qrjVbRfjdz{Mkyu9-9R|;fb!l@Kb51Fj~`Oe>~Il2&-!XHJJGdS&MJL-z4(-$ zlhc+6BF415djSMxCyOVJgMHp~_W}WX=WV$(x`svN+j}O>W80kxuH7wtG~qN#XR@w3 z?9%>#DB5v3AkFw(AhnRw^VB={$Y@F>BD{b|?iK1t>U-$yqOV=B&b%%$>zp#`rgwk_ zP6&Lv?zJ63u67nTw|F~jE;c!ITmT?^VAsY2XT?v_Zism>HC@iFsxZ=fRh+X-^UxtJm95C; z;|R`XQNz>%X7FRaV&^X`Dj?B|}@!>7MLv*($WRv5@pc0xtMI;Bg2 z42!tX^zV3P&&Hp-#Xerg@6OD#zr|8~aSUblz;&eC#OwTz50mtf9~-8P4WAFwjPBwA zhmkt)*g{z1@&aTpnlU({m7|R6qr1W}5=(qd$*;flWvBxP=7GEj0oU)7@=9{HfjCS@vU}+S-)QKDAB# z8Zh_MK~2#)@VxIQV@L9+^~*2OtW5^`^VSjUD(AR zTAL&5J3d#N9Zwlz$M^K#Z|oTe?D+OUa@*MRiBSBJw0$j>(IMIgRb}W}e1jxJTYo(C zkuRM7q0lE%(in14r=KU)qTqhPi^^D!+eQ0kVA%C_L*x4|)I6a&b*TY7q`B4;<=>8Z zK&tp<6KV(KcQAB2Ff?rZ{~}NB&S6d$(`)45=_u8uMqc_ms>`O?(wQpgWj!vEouI{e z-CJr_+)Q_O{P@~JU-M&Y3t!deYfF7M@$gf_N6s!#J4p2R3}xUAJ!FE4>6y+x#r^*h zlyzBf=hJSd%x+P`fe#a;+-+V~u0VC6cUy-xrv_+gx+$ya3zds|D-T_@0BslZ;sGykB)?^!|K^O{f{O z75fI2oL?IchgiKhg5TS=a7OhSON+0NglNW(ue8e2#2?yyuF7kj|B{=4L-p{kq=SiB;QWKo<{hAi%0|8(;%QX1oX9J^)xF6bpPDogOt^u9Y8_V0h z)!@-X6=Wfuyux=B+RM1oIqKOXc)#3vs{c=7G6A*_r}OB;kPD)7`J>;{l_L&}C|hV7 z1(!uZil|4|GuDTX9P{b1(0LAb4qEr}-LAPY4~Z#*b)q&8oOm{L#m~e%@$lE!$=r23 zBmOy8KwD&>?IT7HTu=G2suN!l(%knY+Zr3uZBmBh=>6+acW;|e$pqzw26k5pEck0`=nNkIxW`#A0eHpGh5guaSmcx&}` z;fWLvCTWcGk9?^^tPNRSR9^&uXtE4L=JMG@*|BaCDi(}#{qBAB;FHlGTXp@X{;0ZH zQ|EQ^G{m+LaiRxX0~h3r#xmzdEfLHX=cH*j*zqFS{_`v&1O*&dpX0!Bqmz(TaL(V2u9Em$M`Reu^!(;b0cm*q@ zVl%JODcteDBD8~EI<{r#k^iTAiN-Lq@~_`Z%nCC7b(ep3FkEIC{Q70i8tUW~78a%T zie9Lg=-61mo@+9@;GrPU?j!J&LH1%mT2gvTUlk3na{S6irs}8KL03k3;rAF+Kk!jz z$}FNXrEir(FSNcdjA)~qh8We3)!*~eM@eG>PS1GCaCXM@k0@Cmg@MPHVT+r#I4=h-ZZ0lt zT^-K~HmrPNV>S`bwgBU{e&ci=*3FrrpX<|i_h#|17n@FHo1=~xG;4Xwp22sN&DVBv zz0kZSM4%QNELC9_mKI%;rzaG3zxzaaOhL!^Le-}rQA>t@`S$ZwAaNmx_Af^YIsd8p z`LX@q1p0npYz=iPWwN0{CdeZ4;DDcGz}G)%xo6+FtFS z$`>(EiH5r}>^wv{Qlvq5#mFP_C%|cbSGQ_4ZGE26% zoHT5^_jHlCy3&>Gl&tG$RPcFt_-h2}d1zv{KkVIL@ysxp8imiNo>O z^Fz&9Q^vlHNpwLk`4;#59|)tk3YkqOr?4T#yvy1AacE`vU7%3$gRs;(7NLVe;j zv0YJK2Rr1jpZ&%cHnZ0OHoZ_v)KKT2dV*+ z1g_DhH4y!p~%cNf>ZClm_?l z8Q9c?n)lEgw+CUBa&C3R%z0g&ftCa#c6dhizNE(Y;RYWq9GYC*C=!b)tZOX(?jw{@ z5jRW2Vi(JyLvPOcMI#K$;L{CcxorUujYRLn^HaUJw4m{rv+$2K!|>CofQz@_vo#C!Js1RiDswl--8WV{%BGq;Yuyrm_~gxnoYS7W`%73^QY{!09j~XK zSN}XYrtO@0m#cji?7e<){k{&ON8^` zUQHuuW=h_^)^m~>+nuX@Pib~UGx>_q*k>W?Ph;;aUgqu1-6Viq`y9=mV3LCU?jyQ# zLe*xjPY=XV660Rqa3Hqk`zw>f99 z%TsSqAs9ZZ*&_j|Cp1Ytx$ZIZK2MQH#dNx{QzcD{6^r?{7M@$2*}6n#uWjLRivIjw zh)%`F_7|kNk*Uh;=4|i8iMzp9Mmdu)-nBCFy<8WsEVVHoK{35aKUP-qrqEksmD-N9 z`%C0cs1N616FB3F0_ryrVmkGhQvvVh^>$}TUem>Ssnb6D_!v6QOj*(W{6GN-a^De$}8>`kmh3UJJ!-`SG>z8E(aZO|1Yq!-$W~8A=T#AS0(MfW~`Xx$o z7j&>;cj-b6>`OmCA#)i_WHVyL!Y`t#lg8{oNNL8cnIpvUi8Vc3%*zk~#1_t~?w*kd zuzGLRIHCr6dx!T2au9+~?Y(k3G!*1;yLU@pFaO1>NBrw+Q{LgrYt(k}M3xY=%ji3g-Hip_EZbe(gRm}H$IokxG#^9v6!Rf>TNyd6dro*zV9t@77wuS zjGU;9Ewbmy_JRw|=n_bl3Q#+kFlh4vm{Cyzw=I;&0sbQ(uiwdzaf>K$=h8MJQZuQz zO!{ws3$~#XvlT(iJad)a-iSwAbQd>dCD>jCxI*uw-FA@M4$P_WIY}4h>jQk5yG>Q# z%{>!owujwM={3Kt@k@+(Y9-6=vj5kI}F29MLjSU0j1=;I3TM`Dzd zM&2Qucg7?U9E{yNdA%>9kShBsAAMPbC>^m0pXctKcv zj6HmW%brQAJwwDhY|-S2?qcz7{mq(YFstefm~mCJdxRktjd9}PR1aXa9>NqjJ?WrD zc?}Yoa~`cc%yHHeos)f}yWM+yb9ZrQ?_foByoepYiw=J8z|@@lOr7Zxd*0Ht`c2zQ5Jcu2KeP%#Y++ko8QMK$tlh()`>WJ{n7MmdgHws*%+ zU(w*lspWC~?B&e>usm+$)i=QFC)n-_izZzK7*cdm4g3s`CT&seIF-JTrs+$ntZkaQ zX)TM{bvRKQ{8WwUe8KFtrze;Bx_I^2O#%2l1^ljH|I}W7duzD+W_yQOq*YTx)TDgS zds})7__{;Q=66Q4`oEiEnQ;(w z(>%e(y}5uvgI2ZD|J73gYDEerQge&B6w{3t`fHbi*Tg;2=eF6n+k9|G8Dp?Rs-PWe zT~v_di46Ubezw%<+)#IxU_xGGI5t(6HPu4etn`az?1ZifrVdQcN2DAQQ2O^5v$Wwa zDl3bFkjyv?%OyN}Q9#8$F3b6hX}v-GuQOij0(qmhwE3?{p_ZsP4v_5zGv_YKmlG2`X2bupbm%t2-keAu5K zGVGFrEe3O9{JXQ+MisGZg!T{v&3c^9jjzEzbT_Q|`97>!cXM&F1LadvB()yb&gCX{ zO3{rG20>AYj~v$+CFtKiS-#wE(r;ht4wH%{-kqvrNkFvn4AD&ld`Q{~z0=n*QGscl z40vk=(5p^DV7OGfugz!>4U#u)!6@635v&2~%V~K#eog#5?Kspmz}9x^#-0|-lk?`y zizfv+87cq78z#k-1Xz#yT3~(sn#D5*LMSBQ=}g$|yZZ>K0=z?uRda@rWgwejb+Ag4 zGJ?sj4V*5n%FVTI)jWzsM}@=pw_56eyVf3SRtjx*G@Dhj-PiS*XrOt~hg^k8d)W(h zZLwq9^>y2~OY!Fwi5>9=n7n7A`(dy8+lZ*US3Uv@|l5^jOcJc>TPnO{t=ArrF31~bQZg{`uyXx>f!dYnZ`nJ<&tY; zx3^azxrB@hbQ;EvV9L>>6CSI2 zd3p&XH@-1u@9;5fx-MPM1FcPGvrdj=17x? zm+P+Bl^N0ON5rnZzVF{&LcVo;esck^Fk}88K!0Yp*q(}Y<3$*QW_2U<>M+2`PcOsF zP~3aW5-Rd$V)lwop6$q)P~eGKoN(BHkIfzKFONkoMqS|o;NtBy{-uGX70p3D(Unbe zywG}N3{Qj8$N1Sa`UNuF7D~1sdsgrzeDU;D7(xv{80-%?Fu80}G-Gq~U?jp?b_D@R ziLXene{iU#2GE%lQky*DHw!=iaRL5zehJW(b46;FdG!|T332a|qvO(ZbM<@Fku`d7 z@mKF>$!3?#%2HExonzOsD;+A*F~Ezd_;fecrW`9{H;jGQU&Hm=)q;|A&Hw6nm^_|q zrDePlq)5G;4Uj{Y57R!r$$d@XM4E8~F56tl24LK$Vw6wE*Tj(ZCa+yd2Vp}ndqXvv z!DgTS^@CfmUAcsLMg<$|1rJ9Bmu(9Hm5D8U6-^n=;S3CQ-D#EucGmhg=R32S zi6<-}4d8qEOf+AcsoK^Cf|I_C#$0G1Pxk*d0PLKw#g#n9r|G^wnK5uMVzFyAS%nMCRD@c6n%UHe+I=1!tobe|Wc+-195hV5DsH zpEnN_yfQ);Ey>D1@WoLb5aofE;Os)4p^YBT*3T(g)(Wy{w+YeUCn$S zXwc`ATsBAyD{|`(1vN6*b~N=o#qZQYN(dgN8B9WHJLKS6tD0$p0O<_0uUb2B`WxFqu8H2w&j&PR%R zAs$@_v0|sTnv&#W*QtC8>dV`tQg2XS#xs-9-NaDL*uI`b=Ibgn6Z6Dmn(mR@KAC<; zv%uDrb7hdbzt?+X*XaN5y0!Kw=)r#q4?lA?*7dX~nbD^dd-+#_fn-hc86dU-caZ~) z*1W}aLX=M;#zp&Nsu?W<2J}^&c&^qv#6oCNH#wITthv`5?E)hTCxN?{O1OeHLpeSs z{xd-Kj*yM!SWoI}VqC7S0n@oIphE=bL<_@|bc(3%KjJOZw7=L%8H{y&Kx8sw4i%hN zfsL!q`T-tq>K(9gbxn*v?fI;vs_h}QeUBrc}0CuDrWqZwY<|wF@<)jFQ`d zti5N>nC4mCfBm*P9v>GJS^9^L;4|}}nNyltUlFC|kBqA|bwMS&7e&DF1f@LL#hJxX zw5?4BblhPR! z&)=+>s_7%ECVEx7kne~iXRko6Q*t}p1|`JX`;|02><2oQ(czm;K5|}5Y6VV~kCXG#LHk{@w4e_SxLrGV z?#b?bOo=k&Bn_hs??B72rq435i|G+Xc()$XAM{_n%G}P43p!E0LZZT^KURs|u7oru zLG$YT()7{=GP&N=VR0NU_b32mf;mz$lAXqP@|{^<3(I8zS(hFV?-=C{2d0}q-o zl>C}%miok;oEXP~S&!#f;8WcuX;ymBPWN-A^bn9$g=qJJ=2dp@qohIp{t^?n^5w^= z@!2T-AmsISfRO3dT>)EChB7gI zAH~FJ!iw2$@UeU}THsvWQsuvy$dN)PEStc3cP zGFski@ecoN$8c505%YAU`y3GHsUO3|T5XDpSi9uTpz${r7!5_SBz<;k*W~+mK^2pS z55=Euyx`{fkz&|({(r;Mkq5wM^bf~{&j25;r{;Zq?zf!p3sb2w)+0AVFSAkhuCG+~ zJGZp8p6YryqU70Zhu5=6K1VKP}(HA?-ayWA-fJTOq|R8*cv;k1!gHF^ymG2)(!*6ADEr_ZKii zFGVWt;5`P>L!iXF;@{-wfH(!n+fZ?AItV7m&vKL!m~uI7r|CQl&n`)jJ`*V5taA3! z>4ly$fG1oSsNWaMQu9jwuR+?4@u={~q!mC~^Qo>8CAbsw(P}^IZQvjTwj9DA*xf{Q z#&sAmkAm)kD1kMH7KK%KNqMD=0wxh2h9*n0q|XFuPs=>@(>s8s1Wp&dMRxzUsuaar z| z#@*T(en|$i%Oc^||3jr|ye|+<=udR0%@ON8EGrHg-lMU;8=&D0VJ9e*79#_&%<0?E z2R8N$(Vw~WZ*T17r)ZY!@7=>x0CC$t)+IhJJFB?7ZIZ5GwsAd0VEi<_;PwZb{(sf# zC^P=Xm0DfO6LS;H^^@#aDB=z`1N7q3b4zD;69v!h00w-KwS+1yh}9<5U)jHuN778W z#^9Be{kpFO%L(Le|A?UiPv5TgB}wdgA5oh;&0vvmQb#=SSxD&WbUBel4ic=8>^T3M z?B*pCjTJdkzGG40`{GxsPA9s+bW_~79f+K(|9d;E!sy> z*k24=4?0peeTJvwJUSVOWf;4%u@-1a^Qg57xS;iZetw^5G5|Nc0UXF*8uzMhy$y;J zxcn5m+`X+f`e^^3#QGnKIgi{KFg&@4^d-?vKYX`+$q!-0yY{J81u3qTme+A|*_1)U zMNGVVN_cV8E^oku?9DuPAR#5mGCPDH)eY`AWefS61uG`^DXtW?>c?qE?e77cfVFEg zShBGi`ndSFlXX8v-eg+*h?k;SK3FMaVN~uP*Sor}aeM8#M}y@7abfR(JwfEzCBuys zg)QO$FVL*C_SB}Vp&|Kw+bP>F_iNIW2`AR2pI(VSO*oq;W=?VnZqQYU@7s{LQuXRo zu*u{VRh-@X$GgnPg2ta|^`6VezkvQy|0lQp9eMA0{H;xZ#54vVo$5(yMj4iYdwbP= ztd`_uOfx5ual8hxb7xhr`OmEZJ06rp$r4Gl9I^Op+b8}TGsud_q7{78{tzW>&o40V zD+CJCx^Kw34@rG%l~GSHEGC9*$=#9m6GrVzOP}*h*Ad6-lNN=tAKY~O$cM3U(_IXM zklvXO+RxF`$3oe)hXKg|{^&`$h~|e%JBy^k(MR z0&^3FaR+c7u@ViO!}>UQsyJ)MC!==w1x7x`mnHBwtcWtQC1sK93_ zxls~j7l5^^TNa^}@GohFu9Ny5AAKUJdQDc5XIshZ>mw26`KAN8J6M3#o43YS@rNFj z0bKtOaMF7D@D1?y7Xgwk%GljTQ(mFlPFY40Oox>XjIR>_Ud8^R#kAy01tcHSys21z z0M7Sl+!<{v!5%&Ykj9Qy*UGRL+n18E97C1#g+>Y}b6RCw&?xf;8qcsQ{`mq|S2kxB zM7m*JvZaNDi-6{ItSVSc5N*sZzP-k`JLcNGN}VLJ@FmL^S`FoC@iPX10`s2w>JG@S z;7qq4v#dp%cZY2M#3ap;WUiR9lHJ_kli!y)hX8~0B_Q|7`7cSQS5(C;wNwq|g_E(y zQsXQ(B{UWZ=bA5Mowv*Y-(E}`Z~;jRcKghsHR(fp|DJzth>`~!L($Pd#Pc~=s90W5^^wqRxFA0gD z!7B8}z1%Lc?%c=OK2~>};=$yH27DQ?ZS3B6j>^qkJbO>vaS59TK=){zz04LHgu*X7 zePV4$=)T+7x1yN#cSWCbPcOeAVAaar|9UtQiS|vtHJiU9y*ki#Ql#YV28*1(<=c6@ zSMjo2B#`>e?{A+QAHF&4yY=kLVX$!yo?`gks4Z1Bw%@B-AWEl;q7;1-TodcG^J>YP zU0YoJbj?P*C{6~I8;G#u!2j`o`6frJM;VJRPJq1tmA=JV4%+;b4|>;B_1Y=i$PaM^ z07(HO#O5m-fUImE$E)499sSMOrA?1RgAeaVQqt@B(dwXFT4-OK=E%X5thGrq+kS5j zH^Y(>zb)T{)ZV|mQa=>9*jro-FZ6_VoV(v9kR4_klw`Riko>2{aE1qP7SCvbBDYnw zNBDo7a*Sj*MuX?pqxWsblPnB3#XdH(pZdMI!kH+V1|T;(vTF}CnfmXMBq{|LT;2hM zQ1+1HF(KO0C_5!UghmYKp>N3F0Y3o^v^%5c1&~u%>?m)%hXQA(cwJGzU3)q{c6{M= z?X_@GQU1cHMfj;NjT+0oVW9Kc0;q?Uhxw0*E`k<}wY%`8dZ-?2oX=MF4oIL+{n!v6 zGoP#G*Uu$%Ei?(>y;G3qve^raVT#rmTkWpR5Ef$~WB=W~bVVhvCs=-)=CDE?T{-|E zQ<4e3^`A0XT+#Sk#BU(BlfP)uo4vC{ZI|-_z4<+s-*mix&;2`qd)O;_b=cRU_N^FM z%b*4m@3a*VVR=UCkbnhDBF2qjz zb?2+>j#SDz_%+N?rtyZ^v535<+6bfKM;R70DZlVHWE(q2ih%;#J2wuX<0XG?_&pYQ z9eiUs11lg>2*2)7SXvn@Cov@9aJ5}+ka`O`Q6l@k$*JTZ`vJ7 zY|(fb9?12>f;^#5dF3@LIM}qe7 z$8U(k9{j-}Zsmw07WJAc#R(utx6B=46oSYu1?V8+)Xi++RBy=5qzN}|vkueoCVmG6 z+u;-0Jq=tuaozYLcbnd*1@c%^J?t7=dG9w4MWGTZWC`V7Zpzr3Ewuix$O_o2aGKq! z05#r&Z;9FOkQmr%S_U}()!Dr~zID!iJc}B@4Yg)0b3Ig2g*r4_ zZ2y7HvYaV*8hkKtLkp&$RQr7jeN4&@P#g*-Fg3_Po||E0aa-&rPxtdk2~5L~h%pu^ z+W}z+jI*yC2P3@4?hx$~z=km7T6gj@QO!8ru$(TIA`WE5k+EbVo@G{bko_L6yMtT; zg_BddyATVGfz9gIsKXzA+mnmb2BeJiY~4K_!~lv4Ui5+iTQZ}UPy3S4ZwCG0l<8c8 z#u;Vu1yLUi+1F6EI?%koXTs-{pOiMBN203xg#(TSPfhQIl-}R6>q9ee69&7uJvuj0 z@0GCjF~h?zdHUNlu@20Y>9dN#oDW7_$90Z=g?zwbYEr*R)S?{l8#oacF-GvxV*YO&nd1@c=MDVhE{Ek+F= z!{3EkrbauYn`0aO$olJ^= zPofy|7qLE3#BN%Qi2bM-%I?I-Jh+8F8ABE_ANA>CSzk+UG`cVf+dE+(xIe zZJ$N85#a^x7W>JRMtfqfvu9oJ^G2$C?_$xTe~(_8xWqK3o>kdwraIB5UCoA+<-eOF znv_*Q#Pw^2wN3htClWdClwF&vZF=y|5ENxskhOrJ&`ApwyI?d4_2^Ms2>f-|j6W z5UOeS{&3}3l3bLg{=crU{$~O9;Mf5SzS_O(O!bsBb7}TUxr4SNv3-&kbp_c~EtZXk z3q%RIJnBdfTM@CU4j_|8k0mx@@U`P}k0T|r7qQk3q?NoTu|kAKa>ZlyMDPJmlNBFE zI-^*`7O@McHJx*22e(*XTn8&?Kr}0oVR~#mpSa}RXup;${`Y>2?J#MTd1}1RUO?wS z{zRX>qZOT=qO<784#8V7+s`ykms)}A1s4Z$fLtqbwb7lLxg0DB8h}D$UL^sj+~87O zr_P_XFwxi8auU4qRUgVIZ*ywEylr1`^v++!pIV3z;ohZtyE0KHn`z_z)W(c3e_O)h zATLN>{o#mzGnqT}$p5-a{ntvZ^tBHawm0tK!Om;pMpmVq{^bLGGR6z@5rG1T(m9kE zvFbBxH40g`qA@rh>c>K8^lBmj&MW$|?eMw#36?|YM|q5nm-D_wu?}pr<}P5I8%(w=Z@71R^h;x27Lnm20jKDe;XZ`XiP5!lu$Nm7Ush8DV1J{jzTWFnfpJU_h zwNw0D0W|1sv|6HzSPypRd4Y;Vd?r-AWNMDQ;>J*lpKI#RB4YD>^VIBd>tY*AjZUj3 zXsm*Je_FA1oAv5+pKWGaqi|<97MuULc!=~A>M%;ohrP4hm@&?HHewC7JaCCjrTUg5 zS7LheNMcb%lOuk`J9^ zd9tX!XQO&DENVi_W+I$=z~Rwqf?Wmgnfl4zB_~33V(BeRwd<*Bo4i0`vq4f@TpaW8 zCfS#W*x4{avM$*e|1GbIo2)IuRfj6a>>9D(ZUL_2r#+=(tj?>)G{5P76f93+nWgDi ziY$$aT64t&!8&sBy=T9XX!dtnYrLDU=`>L~G+vsOXa3x`j?$`u|4e->xa@C?fvrZ7 zAFnMaq@T4}YfPUbw{TJlBw`y&siit6Vq?%U6Kaq9Bv5KI0rx?vS_t`cTH)!Z8pA+5!&W;jo+)28?1 zY*$G*M3nQ0LU4)wa1E+tsYVrAh>e()J+nn3(-er1?Fh{ovz(&*rWLlkRtYSsSq79t zhPUW@uVPO9-NO(9wpF=ejEbjO%12t!CH9)vM{>4L-=6MUQrk=H^&2+zNRq(g`)b$H zQ^DPfi=#*W5)6ZVja$chR`+R58X90YS!GY=+C&zt@C^fC&B~Dt61BMH4$4 zehESRDu;ILx?3IP+#4e7k)V3MN+EFMS6wMp+!-D*&<@y5Hzs2wS4%~}KEv8Uj^CL+ zR)&P#MT>U%^_UATb@QtZI4=9H^6-Gn-Ovjqbt$_KhOgn7=ZI}X{N3{4)kM*Cf)|D~ zf+$CcP;v_*(rz)Tv~a9ejQM8vV&{x|BzYDUb!D;2Baw{5kY;NvQN%cuC;^%oE(9I- z2}Tp#974zE>;OvTA{DZmEhAS(?h>7lzM7%DKfUMv`1Utz_H(L}ztKZQNU2nwE zimf*JmDmi|gaNo5ZenqsO$09yN}|?2C0E$0I2$ZmyF=}X?I+o%})op8EwlouBoQ^KQ*2A{^V2x=1F(Bp)}#FV4`MSQSfu%R9>PYa0xPWX(}oeBdBQUBhlEA9b$ z9~SUy$OJoDfys%!)+(ptz-93JSk&Xg7Dilu<0RHF_D_EtI>CQvzXjbPc~ixG<(VBusizp;8<`>vV4ks5 z>BEx}RLANj-?tCve^D2_w~>1;$n0^hoio04IOubMYGik?ePr&VCdbApVqJ2!{>-w7 zaU^j+@A)9iZ844>8L6@7>oREJVnVRO<>ghk4^HoiVyAl?^`#`I{Gj9lbl6P<28vqy z5$;?mCf1J0l`vomE#a$y@&dw4!rI7L^g5D%)yX;Nkgm7IONcH0>y2P0!nvady+a(4k zQ_WCOu*@1aAMZxBrU8;uST8d@Uc0Jo5`ED6cRd2z&v3RH0+2buj}6FE(D(d z{3-@Je2lDS`E_p=2hdS8)PY=7@N+~=be$cq-yXg(gFfLq?4}LnP_CE zxWmTyrRzM_4`&QzekJUFBydiUhe^>{U8wja4-O|W{<`5bCw-UvSNnaTb7hd8V{TXT z4@)z0U3g750e-{M_?{?x!KwFdfo*S9xsoGFW}n*^<(>Docw9iYOpE_Bqz)6MTG<%_joVxg%e2^O#*QH5lkSc)B6(45Bt;_AR;4i#*yz zijGegC?2CLtm?UC;>4d_9C0AnribT`LhqvDfyuqfqIa|2kQbj`--!QoeRqguQbJWX z4GELA6q|Ck@#~>v&d`DuKEo@u6AbsYG9TjZUKe0!k&lnu204)tJ+oI3wYp85dK@d< z(kYnJdq5A7rAzcPwcc^demJH7eeu)>C=uT_KqmSLh@#s!x~qAJvt1amrM^7VRjy2E z+E~M2zmbk_cX#nf;5a!kb9D|X;@kwwBk|i}Y!-P+qE<_maFO)Z7um^;D_t8KJp{ry ztS%$`6C4*IR{~uf=pl5_US1ZliOF1D)Q&VTa@#!5O!D$GLId@ppohf5fZynj?J9K_L_E&TUni5LqC;$WM3pn9ho#A zq#)aa#2KT+F^`u^K4KZt&ChDCv`s{}?9I(SlW*3ouv@g3a0+G*(Nnec3oSOhCWC7( z{*c3T^39vB@tv94(7H?~?=uZ+pHVuNdV!^!!p zrS(m_Ba|-(r`^#MP9EnlDBZEc0C9Lw@6@*8zr0DJSFF!FG)J*nO%78tLK@=e7BfEi5myxY=nJ%=t? z9|C#7Y2a|R5#t1DKDB@qmSWL7OhnE2iWI!KjPVe(AV1+L`ogBuy(536n4~Z+h9oW~ zkhn$28&HJitnfl`KGb>C|L#Q^y!Q|LP)p0s zD;o}-Gv203%0+SSH)SPssd81g{Gx#t2~*6vo<@8=6V(oMDnDYKCL5uY`20` zi({hmDr{~EN?2S#u{AtB^mJ=zq{gnRy>+Zt%SS5s{bL8wOSd6VH0o0>ZR6&Jr{4??sT#wlA!F>g+nhcf2-&JXq68 zpL6Ntp6}jr>=myuVfg7#BQ>9sk1RsuI=Ol$nbS_waAQ(&=zzMq^Vn7$#x0E($7zem zEU~h`oQ^`Vr-YP~#7!|o7Ma6B4OHpg)XC*AB)xJ0>MAPsGU(Lf*FZS3v>f=_Q zYmyr?=RB<7@y67Sc!Wng@dR)C4fn>gGYos+RdGtCzX@yT8f=|y-f^sxBatbFm?u@0 zqdDdsHu-5ND~G0qYK)LA0pUc1+i|a!tXI=v3R*fj_2(b+U#4-Gwci*SXxh-S-@xb6 zyJ&uH&Qo=9^RlawspddvVX&( zkE}l0uq!cG;oN>>WMgCjaG^zQZReuZQYYB4&OUtLj^V2~W@+P7tLUYmC{yF=aGr+O zg2p6b{5ien54VXkBnMY+bKG%DscdIEy~~kPa~-rsOYK}^#~NES*yj%~09AR=Q=Q1MN zafbmeZp#ta=k}Q6eMHkfdVcrsI!24c`X5FsO)ln_!tmeQwf_ z#{5H=YJ+PA<4~sl-5dK`3=N(~OPtYwiyVY&4MtyAx$a;vqgI%*Q|m2m5fY)COk5rXzf_%mUi(JoOTHvP+7Tw+^(()B{TXp7aA9yxZ^PgWi89UY6u1QY~H)`-um zOX2yc#zPrg+B%O5bjK|OGDE50ydSljQoN7Gwl(jUczQFh(C$=WaannSclcMrdZcvM z^}_gTZUU&oU+o-pri|&B4vck9*OfGqGa@_rty~ubCh6jd+hghq>ZT$hFN`Ul_QLas z-OEvs)wFsk=&o)Q-akm@lH*D798Tl*FO2m#b}Qg{oVW8f?6T}-?YmZ%2WPH*WrRS6 z_w_`+#Mwe2IrDb7h@_qfE@6e@c{S}hOw%0xk?r<$Q=0)Z47!xCS~}3w2>r4g@#PVp z3NC^yLcTMHCQ6Tuq8+nmWN{HY&@+fqoZ(#OE_bZ30$~KTx~xTtAJ+;3o&cTHdXI;q zi6(OjjgjPFGCr2NX*?K7CI#z9+M8UDSa-M)gFg_@@4umqtZT~4)ol!ZR2$Auc2)|! zB$)+?_G+&ihLk=z!*PH6*L~vD{;OYSo-3G~*I1Q8R_`2WRxQLXt(_KQ;dRmgVH_dK z@plw>dQ6i2d@(3JoHF?hvd#&`?zqZs)%>|3Wg?n=Z%(KaFfAzUxY`$N>~K<66Q%9e z7ty8F%BhS;D~m zFx(>pQ;@(h9~F0qyFC%Kogt|`$=XF;0X;c~=703*0K7&}2WwjC|MzQ4its|`1t(EN0K11W}H`}Bmf z!3vZKZ5WNjg`hZv)#YWa()qpsTCTXnl>U|iVlE{gl&n>yA84>LsYZ3DjiXU*C5v7* zB6ntdpXWA-;kpwB>YyUUPgC)}@Cq1nzk=8rHcDP=mVCgk&wP9k)3(KaC4YZIn0uoz zs17EZu5(peFo;|^=ZJe5u4dI)EN&ggT9}V6;?4o zKu>j!X{ltPe$i%~V;+iKX6(wWZ6@Hm?+UZ?9S^l?Lrm7N)qN=O#i87m4$T%{NQ?GW zd5yTT#lFPjAq+8_MxB}dF2DbSl||+3Ol}BX%jDN6a8fU1Z05aF+XBx~JHHj`XWS#) zzo|t0NZnv-WXoqIvf&3MOeTn-vp4cMBaC&<+b@-AQ<~Fd4<}o}+`Q!emS)12QWQC7 z6<3O~$C+*DTt`G;*=b4o6l{Rm8LtlR{?ajPP=Lo*L;*)2O$_WII7g;WkkXJu} z-j}@GnQ<(GZ-Q~@m@_`=m2oM~qz@~sD7ONeAE*SygfDTrg-2nlEo%N@K9;wuvgbhE z2AWeZw2jWkWrguhk=G9WqRqzjOTEt(G;bt+e){*ku)Fz%{Mj>I|3%jg>F2^c(Pa5Q zE@URP>0Vy~pi#b+1{-)M^; zIvc0$VqfyAL6yE=^O~?fau>v|$$`W2M@TYjp_qTV}h=n^p!$ z0|H`m#Kg`wX1T(u&@0RB$z5|8+-!Fga1lL4MVM(a6lF8Ip>22}=j}N71nl+6d_M&I2(Joe(m5Nw&|Jq8 zi$AayT0`V18Po6Wxi~JztJfHc5=)j1IjII|zW!Cu9D)%KIDBE7HC41*jl;5HT;k&x z0ojZDf|yxg*0`G1K*?&JXnmJ5rG5jcimoR#Ulws=yH*GN zJp>H5?jO|&M@JzL7l_O?i95gWmGH1R!s6$*7-lVJNg`X1Y4z-XNw5}PwxqnGkwIa0 z3fvPG6j07MC81xvn(g&&pci|NU=7vskY3fYINYe^{l39nz%IY8*#}ekc(uG9@aw=IkoG>py z>xdwGp4N8s>0zen!W0?KrMioj05&XPpfn$yJt>QbmOu}cp=96T8#5Y%#U>EzIEgs{ z)!wT3<>aSC?ZvinZIZdhQ~ndSIhd}Ej~IYb0b~XjYV)%4igUs+3TlxGqhQb>hEfNI{he#*CIvg zFb|a9UikseYbpFG6MF3g%unpiF@411X1R*0@MTwgmzL0nk4Oo#)fIK5ckr)j3TX+I zN+yx>G7P_+$=ZNECiD-D?d<{K@AOb9dz6HTup^Ix9szDbavmBd&z0ymkw`UBWK1eZ z8>Bf@@q#@j73H`LRnN5g9Mf+EJfm-ZiH=OHEI)@5F46tak@Bc3)QP;(ido;7Bn*p* ztxY0OxDo9LK|;Ay<|^t*X&1??*wT$lg}l&jx*9367^UqTGC*FRPgun`ke<@|lA8j_ zW5dD@Hcp8{oKVKJsK&qv4}MH{%NlL9a}UOD0yM2+P6=~y?9dG@)QcWCvme@t;FXCS z9!#=Lk|MXlpHVx>WQw^fg!@^PPpze>2@JrrYaIhhFgsdf1? zMX6@KLDlo8>d?S;IXSV5hDhvDkoqe2eVwRwa?uYjsi4MR z5`$XFcWY)Tna{*WCPw2A?2j%{JZmNQ)F2Bjl%DMUv7&JcW{{s93s#O_GJ zzSkkzGPJl$zsg6SYip7Zq{ECGEDUD4y~B-=N9~^d-fH9nzVX#;!UpYm;pIDYrn$Pd zUz6VwcL#Az`V#G0XVvrPI-#lFM0C&b7?IQqEw;hS)MHC#Sh4#^hNOpT2bc2#j-2BW-JeVB*Bfh5O_blbjS(mTtw+Wn${t`R~(*gy8USU zGtUgIxOK-vCz}xj_ z=)IwH;_7rC$O-ub6AfXkqv6|nHQXHgT@GG0YDl4U$@v3=#|&O=KNFn+$r(gtin11E zne-Pe9pOlcUbsNqBfkIdBaUr+v2>oFJGfJIZpBZ<@~7aJVM|BncT;)>9$IhS9pe(6 zqU|6gK`mggN3H<(5%dvDPbYot!z=AKOBCtWA=kZA0C#XNbJy&EmYm;$=&xc^hEc6> zJFRr9*Y6F;rwz6)+qP&t&aB7*=yi|`1^5sw|7JY?lUS$?vs$4m%MQ`9V$qTHu_xw_ z21RPlJVyc&mhTzdrbB)`*{WKsF>BK^pZ9wG{c5@;40fQge&l=_R<)ryi@lp2ZG2;G zN-gl9q!m->NrRW4RTvbm1v6Y>JH1+1(n$aVsD_&4x799*zqh(>c4U9k?6|vilf^0( z*RZWLz2o-ZS&JP8*VqpS7+<|1Zw+|B-m=+*Y8TpXy^8()aKZ8{^C zAoEPW6&I*N=XTO<&EHC+7Z{PK!`;Ya%4pz1S@b`4dN1E+&*tpv42Chgp#GahX=s+$ zDt8+mmP;DhPn0gCW7L<>stLy9qb+N(uL3=d*_TB?V!scW@wpnKu`k~H$kE!pRsiF* zm1dg0WRbd`By>7Fk(+wdwxiXxuD{smh*iTL6fE_U&I@@--kmg;y1x#4Oe}79k3XD= ztPI5{Dqn8dQD*#mNg9Jvx|?8TWq50p6g;q)Z94M?mk@GEzX2U}C!zl3dC0`6<*X|% zh-jI8Z(ItuH@lKc);-eMCy0s=BVVuw64=iQ~zoV^6Jpn zE4mGHFJ3)DLhO8gE3j>Euyx(Lg_3O^tqN7&5dP+8h7TuY|J~2P#JIEUxlrTJMr*&V zuc~4~dbumhJ9Ii9<*D%~d~DNG1KqlHFlhw7rc2E^xy`WrSJ_(WW0+VL*4AJ^^ZyB} z4J__05&McN=Rs|Q9lih0s8$2!w!mltsB5$k==~pR9ZN}g@mG2#gA+Op&g=d;XZRbH zHk}O?9>Vh8wIVs@f#sH5tcHGtXy$g@uYCXi4NH8{kr)V_Bwv>O(XsyoVAy9ujrVkg zW8*_uAfWd8FX}gd-sy9g!3nuaENy0OMtqd4w$jM?%1uLw8j351@Zkzyonub&DuDNUKcp6c;v=Y>E%(dWQUj?alg44zV@-U&M@e*K>q@dgg9Wl#RRxVI*;yTuE2{}zleK7`goW2lebf?6D3vU$+3 zn`1~6tx%!~w_0+6jZ%{`D0p@?51c(*m>^zj@FXT&oPiIsaJqx!%|5kkic1gP4&AU} zhMj;H{6cplt!cB&ZEOKZ_t^gzJWW@>Uk2fON`r@->=PYU=U3mWw?ijQpJ0wd6C6F#QgymxJrm5}P z;0KV9iC0DUo61HzMF7Uqs;fDb6^aMl8IYuvJ_4`$TUYmy;O_nO|8iio)mj9AULTdi zWCNuZDR#po0@MQoSJ~7W@Qz7Pac+-aWLVWY)u9ne!U^l#8(og!?xk0G?!Ed;*C&d^s>LgJs= z{^7034%i7bFojb)^k=KAv~e6O_VD;$bJ#MA@td0;!L^(@zlOd~f~N0w$vLq(omDwO z3pVQ~?)C94YmVo6ivNn~_)c3E0_D@2CF&rU9PLx97L%eSseC@%l^k*DV7|c z^3uw(!40+YFG2Kw7P`Cxg`<}hoM4eu#C@P4Ov*K+%$m-WSs)B?Od|G@-62;4Oi^p{OLH*tf~1gUz`liS#GU30Z%$2le`@#(Cx)= z^n$_y$T1Uo#vG=?*TuGTlnH$Xteww+TuTE(~W-lYQ{ zwB;|B`O`l&3*VYNwYKilA~V5GQ2ieNgcQ7HG-}wN+e&7Jh{$iU0l}9b`=C#b=pAcn z1BN`SCI6>;4$&RcZROEM`LgVqyqYU53!?qAR&kk&y(gf<6NA$eOh)Xt=$?03fP{)5 zd)*p-p2zPK%dVFqf2AX1Z18p(#vqt30{3A;#Tk5k(9Jt>vGLANY{C7pE@Cs&IH3^Q zy5r_xrv7Tz6}A^Bi}D2eyR>SkH@UH2Pa?(l{U*0GOHLZQr&xD!9lgV)dXv+K3uslp z4OTNA)$IKYDiGl%v%sCvEZWo zfS-8QUx{euc+c(I9F3pXdGvTj>j;j`f_j#pWh-+7kdZ*pZ~?@0Sz31wa7a@acn;an2&vlHD_VjU@IQs{^On5iB zhxkHqxM^}<5bPN5o)PQ-Nc1_;>TFch_0^wvv@ZCdJb@g)nX^mj3*i)T4;%Fq8(^w0 z3$-`K&`<>qho_O1R{m+g2#Wff)Y@qFyrjz|sw|N={B}wM**!%PT@}EOlY8E0riug}vrRPGGGmU;j(C=m~a;|df)GJM&wX1q#JaKU_vS##ZZD$jzwvb!p4(uAO zGz}<8gLZyvlY-hs-SM=HyZ_QSyz3KG-t3eC!og`I_z3f!A@_J(HN-`KYmjPq$Bru< zT2y@9uUUcdG%1`LG4$k(#955lW9i28NH)7DBmcwaFF@(gcIA8|jz*28JtY=1H{7~f z6(p3l0tB9F0Tf1f{wN#}I38C5~|5~G4-gV+UZsgx49l*K96tI)RozNqk3@*6JTx>={D zCa#QfIlf`pJCOJ{&&|vr2m$-b_A2NMumS6z5@@01RDW4(>F3P^ai1;+zm zXy(I7OnH9MLb7=9T`_O)-|g|+C7Ctgqw@Oc4@u})s*gh_x|qc z<;eHk?f}4--n?%4O&;v}&4Z!+IZ}Bm6zpAq3`%SXdzCJyMQ4DzR9%G9i?+~)V%z8foK1tuP9Kdiy@^EOlT=ZqdhAa<`3)ALS^t$tIX-4s;C zxT?{$F*}Aj8mtZcS70YQ!>db_X7ImDQtWZ4RAd`HFs|;ayYHW~?A3a!&Q?iX zA1q?A;3{}ZS%l42zE8y*C?ZA}px3A)+wVs_1XINu?mdDzG0{rl0n6I8|2W|ZorCy! z8sbS(^kUov@=8LQBoo7hC31nG6nU_DaF)zH$?{?qqUuhH`YD6yz%wse4i@Nza z>+p@CIgBhaw6OL^1EKt@=x;L0S3Tnw$R|gl z{}M6;3F~iKC4WKj^nT ztLL}980SP1>onFbFo)E1%EkEd8k7fcgAR^iUp=bWa>4bal5)5|T&+iR-uB^e$``_e zg_MyG{2NjVAM~VWk0YvbOhP;lQjVzIo53PTCIp!bd{p z)g85L$SWLKF@|#4@x6-BG`nya)v_2uJJ4%)=IvTn6Uvii`p|ER0-4W$M#0Rw>M{k; z^|zHNZzXRk4nN0sd57mv_J{x}76LTHn6PFugVtNLg3Vmd^e^@9rE#C2J?#f((8u}h z+g=QhfhL`ghi409r3jxVflF6!{OT9 zp#w2q;`$9Z-r9WcucCp$e9xIfj@hrreH42gt9P*F-5Q(|rL)v?J$&Dh@*P#lzi z(uz1|BzQxN8WMSGE0pIh{;V9m=`>;75mC+NwVMlF^3NVSv-d4?FrU870h%P=bH@~5 ziN}<4pZY3zFZz(Rz7U2BK48EGP}5P>>k8Xl?|40YZTAH4oye_qLBa-fOWN_O=17iS zyHX(UebD9)dI3$ieX3N?!WPm>YF3u?hK#zdEIjJDu)JFsOZvTa@ptEo(;Yj%dKw=I z40hM8{v!iaQUB>vFX%~TCA!NAKMp6ZmH6lzOg))dX1@yXOxZ*ErwYpX5=E$PsIfTZ ze6NROEc8?npy3fNltetvR~n{F=cO)W9GRFZ(H=pA7!aBBa8tGoys0U8-eDKIKs3%NjsuT1-LP5`^36eWpQ2$HgC-UC(*AoVhsVV3FC&u(P|PA8@i2 z?3W*TM=%Oo4S)_fZj`!SyV!ccbz7FQNO981KKmzHHItmh_z^;nl>2C7%x8;_n+MFt zdV2KKg{P(lVgq+Q?OoHdYnU1eRB+G4D4WmtjOppUmt?y0V@#gW`|>5l!>yr%UgIvz zb|p8QtkpJW^wx&U!xGbzsF9oP^Iyloyv zS(5Ir!<6K%j0L4Q(X^qvE)X3o*)f;(S{ta`Zm9`=M7@~2H4viNR9hROeESO@cpd!p z5w3GS;m2mL_4nF6!q@Mv#`45sZZZ6>hpkHKS=#Sj@BzuUi{W+wD5^V@YB@ zcI#f2N!5;HSg~y5&&P5`#JyJp#h4$Fc0T%hGnAD2Ep^&M%2>A)rgv_vc=v@8hcXl0=d-=oL2oBg_xvS)AnEkBG>e1N|pxj&$7pBPfsT_7l9T6pvQ3l%uEnXg!d*-!H&z zF9~mh|G9A;dT9%#qDs(1w&or~>; zWs%QcC;xQ%;o8H|JL6re*9y5?A1qL&edArk3#qXYkJwJzmTOH-jdj}TSY$HsrdtiC zfQZZQEG-6{fmOfsrva=bXDaP}sOl{Rmg5AkKz$mhYDw058F)SC&YONMa*t<_kZdP`9`*lHP^?A1B zcaszIA5XupsFBWm-lU+K^zSXyjx!) z*tcX*Fmh+-Og>!~US@3_Ha2AVeuVMpk8mmUqSv0i$C6#M=OUYf5V1h+=h(_f^IU1} z$+i+N=IAlg2SYDVMmKAI@(HudT)s=W7eV`y|GdME&z}OR6K4zU2k2}s7t1iv>D!)% zRd$bkGG1fgM4aO^EYh9iP-iiTrLoQ6=zST&8|Dma`%Qx!>1&UY_`x`4wsmB(4ot_g zx4AHE1qtIop}21Z(N{2-3>q@S`Ec$ci>3AkFxx+!igH`@;_S0O3E0S!g4rOJzQLct zlZ14>0=sf%g)VU1!T~J)E88=B?j)?2n^Bz#Xia4Le ztgJ8o`yoF@)!jQ0wl-Y$x)lWd&_|+2xl2A@Yhw2LIhnomSB}ue&`lOfOR=6S#>d^R z?xoYv1|{{`{72fe)~`f*&8oSJkiq;&x*$;r+WFTP?fC=s!kFHoGBMtB>5=_yALiX= zPa{N{mkz)!W5F;(L(S>_T7ePrGG;_Ot@zPe!Pmf!-Qe{&w}Z>#ZNmL>0~4BSAHR0P zXn0GLIMd^qX21L{y66SqF|52IDc_b%AcIt!r;2tHNCwksh_=3y5-cV~bb(q;lb5RQ z>fO!p3)|=ir%mbvNW#qeFV11ixQo7OsOqVLt7Lq$)Wcjvs*iQ6B$=JsYf3Ke6QYpPZ!mai171Z+8NnWbev0 z>$U`fGXFr{#OQa1weex&w@Qh=35hz$w7&OCcajQxoNF;44i)y&=hLX~#ht;3{#CSS z&G{ry{d+sOy|k|~Vbim!;qR;n7gA>(j0Bg$AtyFJrCvXQf%=?>GtRER#vW+=-o|C6 z+8k(zQjqGPZe6DkB&Sss$h(N+s!kjrAYJvEf^wFFG8LAhLU=w5G1L=nK}&I`hyG1< z!g3|G$NcnR+J>koc&;V5{vsnl4APpMJPV4^bYYgwKT?;(KzGgzwL7B5)&-=-nlp)7 zBA^`A5u3985k-|M=~Sz%213+YWN3MB{WO<7a1K1dyh`h?N^n|$vdD9R?J>ZY&X?<0 zC?kt#22yYNNlC-_G+fn2fPB$_XbT?I+#dS;na8BK63Bmouq^%Pzsm^rELsHb+4L~s z4^=StE)-J;N02m`%Jes1c+gH06|264B+Mil4vXJ4A-%KfSO8T>Tw>oPHUS!vM|m_X z5$6tO;O+`0^`2=^fz^RU8u=2ts+*V_Vvl`|{I5L;aq;R}ZPfuqNFyU`EC~E`WvZ_# zkm_o!P3lmV5rpYB&(lI$Z`i4W#OB|qFmb&H(XT;i2%ro6KSF16V`y9_w`K~?x8m=s zzp{Fxcih22ER+w(Z))^2OVZLRD%ailQ!3NhC$~+erp3>IAex?0oxO)Vce_LtJQlyB zq8Xv`PHHmm)OpnYJ$)VgGR7^jX(DipgwlI_2y+Q)$F4oYaRxs7p z+%R_-HFHg3gcoc#G?qM$n$v44c6w+?%?$IS?y(diGrr>G1flZ_P}n7K#G}V11#s?#I|Zq2wE#&h#oKyd^M%NX zk~=pw{?J-JULwE2(?JDavV%(g*n8hdDrgv(j82L5VyTe)DQ=V~>N-r!_X{yD>Pbff z1(Q3NdS7**V|T~r4vnO!sz8BSsZl*tMFkq|j;ANy9Tzg@>R1 zdjMgNKu~W?hMV#wj_(rH-~dU%+}9IMcvr?Ub7% z+wdI#+T3nQP2L5}kYW9j>5`q~9WSYm^Dl4|`eN|x@Ue;n3dxS`*mXiPnzX8D?>?8Z+IqN*n49w;gd zoSqQYS&;kVO@KDT*hG>U(YC|!#9MkfHJM|us$dWvJZCu#sZEL!B>ueyV0}{uAKtX? z*5&E4)lY zH+_$U@-sjaarn*N0y`&K<+M7m@p&~YJ6BR5r%Vv3VqtpyUN!gB9O zdgA$bH%c-nx!9K9;$=ngX=%D2e7f^2Ytf~m!Xn3t4J*T}V_@r=n5K1)ow8fi5@U0~ z^lZ}M@rT6Vtbf|F1hP`dWJ=oktl9K0)HZ*DzSR2RAL#>|2!5$_qAhT0B!vB^v5`@* zHiq|)k|`aqh7E@H7uocK_&*LcKwEYYV$$MG5ja8P5FpugVHptv&1C^7c+=DddL1*; zu4U1MOZ__m!0J*5SK7R5%YH}wdgTrZ>MKITJvTqkkSG#kQp^$oY->YT1{h+1q`Z{< zlG}A9ypf#6Daov_lhO94SL^!miRVhkmfb9?oN{=hGXu^gxC!$#cYLN?RpCR45~FWy z#q6m%5?v=4ru)Js{Y!x${y(*Bbi%`7Sz}yD=9pvBy@Kv1KeZ;g-sj;50fe}LLu)bB zE*jl|dFT@@)i{G|*KTSAQ5cw`QA65k59#T-Y43X_6#T-YbH=#UHto^k31C*#A5^3W zh_V~oARJq0B4++3W~y%SOyV-49a|?l|SKop&2U=G+6% zTStKt!y~3a&DyG9_-ykm*vqQgTEK65mfR0x@q*PS{y5RkY1g(4&c)BB3Chym|5<~| z^`UDfclbXmmEbfORBc2AkU+39=ySi+QqXeuMjdtxW*OlHj-2*<5|fKv{e~SCo-Ka= zo);xFW?yZ->faT}Xq0Ph-IYKAXx(itdp17^eQJYxoj5tL#nGb zdPyTU>pN<3h>4W{05x2%+n=xYIvYhg|hx zb3e=elJu@toaCJSqGsE=L)>eTW<1TDMd%4)a!>$Oo1a!`v~1$*E}jMQof=>Y@8N{O zs}tMGuLYY2pO#Q~vzYvfKHTZRUlJ>{e}u9Ndz>CV}KmS4Nvj~2ZV zl-EpE`xap^AhON@-%1+;f7s^mzH2%+b>ac(M~WcY%^t@b{4Cc=|zph3UmKl34kM|HJ-wJ2yPf8 z=N-B2lo~zr5(HCI8=}jlLgD^t=NUM~K3=S{DZoU_+Ox21pZZ9+FnofkaP;JSY3>aq1hUXf7t(&kW6F(m! zgPyM#&kFXRbjbRiQVRVyY3BpPm-Rtv-$|98tu*{YUU$uIiutYrxe*;yba>O3c3qAF z3L1pr@vgOXXzMKpu+6lvEEd1J`sk}EoY)5{Y3ePY=2w!zJ(4w_vYcHVyQV$QJ+gA2broJLu7dQvFH1hb}YXjke( zzH;8#s`$+Xs|r#s;2pFosDqnX`F{k+@ECjCDUjAK=`kv{-rSN6U1*;ngyx<5%DW5;hG~zzp`hShxf^r6!u(!!Q!-0iRUhKO~-tQvDjBT!Wn$ z{NLFpN#i~iTq<{IubJ)LRt5ugdZE=jE~a1Kkq4_JPSLY|;NPAQq7KgQUHu;6+w};; z&`NF<95mkDF#d;hqX_PmwCEY#FY`$c0-fdI%Vcj~)9Kqh7cNyk3Dy4BrvA2KQGgcY z;>Yx+7TWDDwv-VHHVcS%Ah3G<|0B@P0ez9Ygf|%6#Y1oYfr3$Y-UZ@=o6TS(&{}bG z5ISDAul=@zY00I1ywpUr2VmBkq)?JXptK&m)*Qu__w~mbNH@jiUfi96X+flT+5cX8 zx}9HE4{jlF>zyr6=_F9EzNBzo**N~!_R_<n?;#5=9eeLpFC`uSCsU1uk#3?y*HOCxK>vfKfP5(XMlv9{mRwx^_ZCg`<0m2D z6Dc5@%pI@EO#>fDGK%miGUAWGfR|@uqfeatSa0ThZWkSWlT7pn8s5HVE}kdO)`}0) z>z_Dr>8#zhYt3bYR1)Ii64yrMITsGa?L<6@KKr6<=~KXt1LF;I%F4~k%BeQicWq~K zjf})__)_WkLKRqQrca$0{&ePER>+$?dHusV^i$52?WYp0 z+r&q1iP%-D``4-}*)+s7Ec@NAE<9U^o3i9C4t35m^G2dcIsxp02aq9MyNRc#=s5Md zJlc`_4q&z&@XU;-aZ$SCn6U8_;_}6%!uHAoEw*$%q2$c{qVxY_@4dpBT(_vvC@LxfDgq+S1}IfQdWnjN zfHdhfh%_nEJ0U32mENoL4hl#Q2uSa}6X_*DfKU@c&WEnP)%~2ao_+i;{u@v)FwD$% z%rV9s@0W2&W`BKJ+tvEPGLBo+N)Id_Mm*A#pH$a>VtpZ(^iyoU-d0u)vT)(Sb>LG& zKr^2+uH3S&CIx}^u4t4HfKH3+?Mo>TYV_y~NQH4`&*d{I1yg-K3QD?fT*wFVIpUQ9 zqP?64@;){P-Fo;oKv9>Bb@=gPjdZTlBfhrPy2e4h<ppT zk}4(b3G;XKZ;mBTPNcg*J&u!gEo zKpUdPF9<;w{F`s2pAXM=8N_Oq~j8+TqJ_JwWn5qnkKm-o5fs}-M(^?*F3CU?;P0ktB&x7FIn zzKMIBBaa${m~LEeyvKpYysOrO>ZUFW1gXo`ObWg`#ZWg06v?2?ODwLUtMe#m3PggK zeC-(YsUh}WMV834e0$~1TSV6DE1eAZt?OIWeyx&_#NW$=-B8i88{Lc)?He=)ffUz&JD*e3hP_pFON3aCWJ6dDe ze&#TC7N`dXffG1DN?>ZftTh&zYJOZSHP^@A*BqM{zG3~csO+io zfPBO@^yU8nT_}Bs$daoflJKRZx-Z0=h4N4Puv?TdLd}+4t(77R9BK)wH!EaP1{8pT z8Qotu$KM@wBb+9s2(wA1Cj@!B|6nSh{U!x7@miV=?YK?%8ek?2mm2rmvT~0X&vR|I zRPygkAvutEtLD$@#!Vr?J|82tV0&YJ`ROG`9Y4|cy!y-xSv+A*v9CL%9DTn+CadC| z#)0kSe@u!%qP*xxTgAr2n8o9a$-Xx_7S8*yFl%N%Hug{2IueNv%h3+Ag;Kz4X81x5^jchuE zmWTEL$hTmaT>BH`3k}Y$PvDh|jjkJYpsZJaMbNt>Unt^Ko%HdQ#TXrWx! zHQ&kapyHlH`V}>CTRM2e{{j6-ChIpaE`T`Tx4n4TnKx5*p_HP z$HqC|Q4tZ~&x>aFZtRMx2ky?WoLDm;POldm3{{MM7gdN%DMycNzZ?8dh%BRoMA#}y z)PJy6w@)6t==Y0Ja{QRJ_9&g1lhCE*nYeQQx{_YO2i`x1$xqVj{lXQ>G|6oDn!VqO zRaa$ZNS%X|gWTwUR9AqrWT3S!AfT^ZZ(Z15XQfu*p*>Ockp3M|Rww-%>_|K(-0a&o zwv)$UkBH7ExYUCtawdzGy8`Cg@=cMzJ1UaRq(mfQ}m4|Q$>_c-14I#V@>3$HrMflf=++>V0kl8M z;ST(hs^YnNDy^%QVjd=867BLuA|UIk;Qs7_yv`)DAcqqmP#{^d=chKD2*AF*Ovgz; zH)w*^IizV#CEV3Glv;A4tK$_V49*gPyiaGgPl2wVpb0)|<5qg~^7+V}erj%!CqB~e z^|)@E#dX{;Vi~~sW{Sxm(_S{jIIQ`8yc(9Dvdrk2U~}mZNd?YK$lW=hUb+hdFu~E! zrCONs?2j3^8zsYdxj*<3wdl!)6_&E+`j+^{BacWjv!n*oP?|RS`iZddLq|oKXG83-n1K|!VWGm z!es-0VZ8+Nc1_VjF>KCV=G(u*_UQ2jIjKXTXK$4$w{)a3m~V~S$DX)4?3TJTXXltpdjBb{d*@3fQ>)-wzyE<}2i?WO^Q$*vjJxx%?k--iyh z%LMldzJ7J6gqT|a1XZzVJc7B%GjL95P`Mbu30Jv8u~hov$(;ka)>f$%*w&^s@O^Pl zP^-c9o;k^@>BXg#tMU1KH8I>#z6avkAAY(<4NQ!Ytla?$v%FN^5B$|odd%>^IFliV++LaO zPV=TaKr%$7-P|%X;~pJDlY<=!4Xm^)@Gl@$(R0nLU~K35row+f3;<=-!9IIEKES6qg7|M6pKKdL0b|{@X<&r20(Ji%Uk8K7{$IEKl|%TVBNS;|sKDy{g3E=hz~)AP=R*{eL_f z?@FxO^7d|nKyptkb4pF0%1iK$MDqb6E%p}2`JqTIBb9zbp{yw0;|5RJs|xp1(5MQT z7CCb)x-htVQ#tX=R|?^!4VcMO3Lv)CBK2{ zmXRlWWnxGO`S@NKvM_>JRYF>GW7IJhCY-7?XvroR{;@QpLW79UuchDT0W-wMjo0MD z{Ku7U%!ro&$@sF6%WFWDM6dz;gP!ysW7YpP(D#E|T*u?YQD)Y4Ip`4_FMNpRSL1y{ z_`sluqRU`OAGv(UUVw~y##YnqB^<_2I(~+4L0_AGGa^SeCsd2+3GybN3*oLjr>?Ns zc@PM^ipffu7d_O*C+Z2luZ-hnHxgqqvT=)in`}-A@4qU#GJr(anyjLPFk~2^<5qit zZ)HS9T&rA~9%9yGFT54(dahRv-ODy}X5Uq7UYWmOxBnn`&C+%wutnwSm-gtoPRWMd zgtCy?c@>#=^rXlCPF?&@J01AjUec-mKr(B>QEEI@7BO}g9PIGRiyVmNK=xZMX!M;D zSm1LJgo0>)f-3trs>%%qeV-L60ZRVXTz-9ZSyb`O6F;CXF$p#Y&_M~RC1ZMD6lQzB z)u~&s@U70tRj&kh)n}I<30$V}QJBtSm)pu;)GY}iV6>kZ> zh`PrLy3Cxy<3|v9(c;nRt|L>Y-5%*osF?TdK4Rdh32y&fWGj&TE?0GjC5?hVH|E48 z^Qjt^0bj+c-~wu1bqH2&T?_Gq)M)BeHuD14!lxfAzd-k?Re}otp-0pwK$n>qsu6N7 zwz4BRMSywuJ!^GTQ^baBs}P)<5A~j4BK<1=_PsYx#!I;lKJX7n;Mj{R5#4wPNEdax zh4}$}Ac`tOcXdzlbfwxgqw(D7wUs+%@_@L17$GQVy{bjQ)KTe#SV)Z74pEyGsErtVDA2b&?=SQPuX9VgjFM9s$`Qgs`gf$IN-w_jB|f z10pB7OS6ar0tHym=Jeh@u3LYtv-)!-p>hBXsw=ldBcudL5HIcz=KpG`$ar{am1x=G z%<+}d0pi#8H^grIq<0f$*`Y3%Y3Uj`3R=6W05}h^GJMAKvLUhFBCriO zGyUUY3FJu!s2wyaeKj_xn;F$r z8foTS7>FiJ3(6KejiYN!B^d|oXv)ig7YNWaL7dLZuXF57rnS&F7aiSQuF*I-8n-gb z6z5r*FG2CEB}n}t3$C|^N-fSX6BzG5}yn&G-{&wTpkIi6jw<-L-t!02^JwZHs znXU8SDe>nlM?X1m){hhR6ekmW&oEk@!rG%Vy@VHSTAhOuDzBXf91aE#5pV(kuK?M) zk;(T^%b0fP4u)*F(08wUe(7Q@u-im@2D{8!j(UdNa>Fy`?D)!W9^^I&P%v_ zReRS@{pw}mlno7rqCbXyn803l7n%EGgUBso@rhy|Jg0OXT92a#{N~V5wi{GcX*0#b zS}2U~HrYJ@Z9OYKEFAekj~1cOeRb@v>sT$IFS|P*9z9%)gsdcXq~3wr#wiY3?%L%td3PV~6aVZ^uHJI2yT5YbTkXK> zznZYN^Z<$`W9Twqxh}Y1=c_MP6+-uxis2MmHshNY=}ME!^8$R*{UpE z25-Ysp`Ou?Eq7k7YCQjeFn$3!VBUJ~2MCb|;EUv6LG{VnA%teIKdZLjFGerO7SU;) z<8{!aB?EQ~tPX|EX#i0j;ZPOU0Tl7n$*+zY)suOLZ;Nb$wAoo)p+DOtd^$7fDAxHgOxmMESyb|m)w`b#jCbxiXahjAwr`O?ndxc*J0M8R;qMN`D zS0BHmSn$py@YAqU@Y0gnO=jx>Y zhEr?TG}c@hZCKbfhHRgBZqvVD9H7t|uEVWo{J<>`9N%XLT2Gmwr2CJW zxwyU<&jor;vuZ^M69Oy~tRYcyyPC8FzxQ5m)14K{9J==o7vOyNzuJnPef;qtsC~Yddv;!~x>T@jForUCM?hTo$2sk8qPF`~!Kc3dWC*&PrxHj<)N0`c| zBnGBt`@UOie@LypwDxBrL>CB?zdDDKr)9tpVBgpW2Ul;raMHgzY4efqH`EiAB`!Sl z6&C8x-LJS_yug{#v2Meeo}IeiCOfL_S5Rd(YH|*K`F6%tU#{{8Q@*DMnM0zJji4Z4 zwr8v8YbA&=U0nyB{Cb(`A@R#7EEI@RkPesAg5>zFPD7#vhJsHNYG;M2al?c&gWE0x z`(^ScG4)3to#DHFd;xe|?A`0PP}#i3E-B|@beauxM+D;JyOeXV+QSsNm%+U7!Flhq3j-$R6q{{*~MJvuyGVtc6B)p~g-n^Zgs%VWP z1nLxvsN%)xD1J3RBx;uC2gVm}Qviaeltb!9PF}btkP~^u8)FJAx$j~G@JDr$fqkZ0aO$Tl`Bh@eOrzF6}QcUxks;CkM zSl(t~`?(*R`9ND;@`Z7|vAYtQgx@E|nZEuW##>Mz*w_zU+f>|C5b&`J40u?|(* zI5G)1hl_;QULRUwlBZq4l;f74W+#>FOL|&^39GY@PqwK{0rM~tJ(_Nmt`isO*m%Ur zvgoUHc${Hv`Yr8ccus%>5pIh*KE9erd7a>wpTWai0dsG?tRQJRy=mG{PhpU}71D0R zuk;4ptpwLw_rG@x`TS4``&K7`#_CAk=^=f1@*8>BcU`^Z;NDtCiQtRT4j0zbF!cg$mGFD<8eJ1JC^G5qR3tR-*nkP%Fn3 zS8JXl=Y#Ynm;YtJMqWcn+8x-|utofHTa$Nk{v(#Qe<3Ml zYUq$qgGV3#mnxPv@&Q$hvM2&F3^-H8KhEdghWj7MIm2~mjS_huoLyjIlL9FAZxa$V z4;;;MAx&Tp=|n}aGerv9HBp8EsoJ@D73p_}B_rt{C2;y@#S#xG|0+QFrGu3ru|I{g z<k?KNuY588H<&912br-j`qBoZvfpsZX_5!^t3FohF;7D)!ATuU?$Q?75Z zw1+Ri^F^y7 zQFf=5NmYxZwQ1Ojq^2ag0bqmYHfpMio=k_OoU(pXi z->!9Lt@B!QZ7-?Nj$ix z_}3J1CR1F-b(8bR7gD=*2~@Bmwg-Oy8Ig@@6fem5+#+eG(gVD&m3X5w*7t$1Shy4r z7Avu=COCXC?JEJrCbVCZ#aA^gl#cf=d>uOAA(x+ab5aVj6k2r6QhuWXyGWS)=UP32 zUh((%A^@N~!Upm?<)wf*@aJT%PB^q?Wq7OStu~Gij)`;hz7<9eR%C%em**@xx&;q? ztC5>`Hr=Ea>$?xx@ddN{anF9sd`fj&?iS~GaV*%8!Y?2Bc}E{}KMuMZ8+7TaMEkW< zK&6v=k9<0|nfhY5eEj(NOGf?+ChX8cT6w-}Ik1qL_APX~8s=vYy(-F0?JjPOH1>HncG zs`lUgk!x3TfoveGGo8mLR`>4w6&8TN*iuiG)VRz+KGULpc}!R3ow_8tQL57BycxIDTy5sgF#;e`!^n_aKlr*Avm}nU2@*IbfhR0-#8@sy;T2 zl8U?c3EIy=+qo`(9{}`RbuJ0PJ%8Md4Uy;WP&za?9RQM}V)h9jIm`kXKt@#-1~P}i zMU`Xyyo|9$z?^h_zo$EZ-6H>f_!9(rAR&S02YN7Z>kiEyY6Idb_xs*^lC?^SZf=tY zCX}s+R*iUt=#0-Z;95CWxDC2P$v3|c*QHkOio->=0e$O_0y3|yy(qK`ZwoBy5b3Ulj0tjr$@g6sULKI|V!`9g)< z6a8cG-wOx5+pCS@Pd&V}aBjc;(v9I8KS+&&?uK?1n%_{DtxF_**RS~)SOWSy_zRs< zc8u&D-Cxgn(*8^f5RuO1(d|Vc?*V)T-TXKBdWu{1MqCeUyyqoWnRKMYsY|ex(BI)= zg$oGe1dMa4CxiTxi#y$mAf2O_Cncuit5+586I^Ee7xUaIZf^%SYh?@Pw3HH%l^b>?h@Gi z-f%p*VHJC-Zl~`{G)3qZ13ls0v+>%Z|9P{mZTgy;qOLvzAw8Gw9zj#>PpH$bAGchA z{0}Yxg4}K-8Y1M1;yp#_?`D@p0yh=T`}{>cuW3}UarhZtPsyt^DmNT`^wG-6nej?ROo@oHKJPN;=f_1g=h zw+j~oR93Orf^iMTfVdtGC2ogWKT-}gHOtXH*G{qcwiMjs5`PnKjc$sXg)-Oc3X-fy{c#2Y z4AaR%Cba_IF9N8n9~fPg0a!$h{9)3J1jRE>ls8Oqu&-t%o$sH^?#3hIjv- z-imkX@sTWG{BRHjsjq0wZL!lsu`CxT*Edb5ENciajL#A*(njC3l<_pZW6!j!=JWXVJ1S=jX5koiN(o7`g6Vf1dF_kvs}#RJ_e`!&D(yHosb1Q9YmTevD=649w3ONkj>HuNhmp*0mb zXm7~h$sfiJie(Q>fS=ESFqsodxaUELvGx2lqSq5b=A8++FBb~oD!-0Mct zw*26Ui!+lf;p@-#LU!Ph+OBJB{!Y$kBZhHxye5dz1B=;b`kT7rpA(@H#6f2=k+Ex= z*xQRX1)sC(>#6cPrdFoC5CSf1A7#PX1+F*(axQMh1_Q|!ox=3&;m3mO2_H$((jXK|+~96t)+J0Elc4NiYQSpj0$RWI z2uJ^Zpu`}3z9TDwLnAHgAsf!d5NKi;sYtc%ER>W3x)!u2>ZGzwyvoJ*932Tz-Yi z;CZB^PK~e6(Sm7X770= zz>vb8LIw!&!rkgruhrD4Xiqnulu!zPt5G)7W$8?0is}1M5{UFTk^ z?$LQxVoTQ22m%-gqDulyLO9pQ0<@kK5x1=DDG<5ZDqKhDT7w%?G&B6UmDB`W>WQK} zFW`nTqgL7wzO49KvOoG+k!;aMK+9G?DpXnD5s+x||%<|D5>hNn*a^ zi3fkbVE?-{mawP9M~e7R%`mGw9s;kWs|vY>MpGDMk=z%eN=tjARR$Xb@Mv;{OtPOe z&`Hk9{y2_TcdZX#r(SP0?(EguYv<-lC*(=t*Jj6BsM_x)gIh|Cl~K2e z=4s$$(K$m;D7f2o`WpV+f`s2snb7(9JqsogcMmtLGmjAXy^Sxn@M$xJZR5^kI^Oy4 zZsM_nz9Hv?3i}DqbbJBK1X^bhWRA$bG+MNpD&}e}t~4or6z+H=o^+4)meTmdg%DB% z)$Veo`vA_~6+6fuAS`Tpw=QA^`xyS*rM=AzTcYM(k<4o4e4@W>{+xaUut=;u=>=btn0PU5%QW_R*c!e-f6@yT8%L^Dv7AYRPCPD?-f#r-R!(ZL zNKnP~x%AV7{Vao3ve~?V6lN*$fj0aG7N8fab&JkkE!#z(Uf`#8g`DSt4WV1VzUA>_BCgB^;D@OATAt?aMm&6O3-JHtz??5waXcMy?FDRsqMj>IGpiY z$303LgBpM9ILiQQj`IWhKT{nCZYgxj*ik|A%GDArO>%QOFO-9U>&seJUy}P|(7Cq# z3T|JRiS^qG=0f20$Lw@(W6EvjaLuBbT&br<%^!-G)byJC=RNg!N0;k6PF+})mE{+Tia?lDsorpYTEsnsv=f3T~U&EVd`GJ@wOA%|}Jb#H5Oy|gUahjz^#Xihyvt?m|8jLwX+Hr-s ze&XYOYl?J;lew&L$Nqv7^i`M*mz|zR+tH)SRW?^c^1vTf!yMl#H1~0qnVvy9<{SIJi@prCRB!1(t8p#KXHZRb&I` z0oXc~5D!COzEH`up7gvE_kny6rdL>_S}LK#bhy0l+1ZFJRyeMIo|Hzl8rB&quN|~( zK5pnegO>F-v^$fOjJ7~6UTf&2wca7C!;u~h{KJKs?pb`$JC%gu%)w8M=G@mBn{lsF zyK3*h(LR~k(lf~tfs;+U;_NK^PzLGW*wk&`TiLfOtLJ)iLoF`${^^)dqR|h`TIXiu z;q2Qa&+&f@k3>l$p7kgzm3}LKA}hTtx7&ee5y#Jt88L!6Gfmf}**p4GHx@XJ(2u3z z&zHw;ha)b$iCVk@o-gFqrcy1anxi`V_Z!gZ@is}pITAUrInvg*qWPBn@F1G1X|>4i z%035Z-szU~FPo^#8S*bja*RLM%I2VgX<_qpsC?h{=mDk)vY5x{q!;?)f#msx^KZcsI4J8qIpg z)6f_Bc*`!Al37W&?7cm`=pd9I*T$dl^6w@QSp@4jQ$YJh&kk@SIGhc_8;Pl-o9PYI ztuK(1(NixBKfW4u(sz@wMqT$y)NQ<=V6YD-P>m>-WDL`5P{6rW{n;mGa{lfAJLi+E zKL;*d?WHoLv8S}@?BD@ST{S;CAbWh#lRzO0&lSrR)$6y+WU_wbLThsPZ`7Ke9Y=?o+qc zHrGC)dLpya6ujB35Fj$4N1L=Bm2i>UaB$>tof$ykTsl5nIJc&37WqaC8ze`bDYZD_U#0q2D zmI)OT*E_D~6;(F!Upv^`ZppzTxiogtSsJBRA~3ydg~f2I&E4Uh;NiGEtL~7Q`OB~B z_{CAL8Ci-$#iY3|e!Tr>xGME*CU4|V?;8#K7{6cZ>zxH$U-cb_P9z>8*ohOqH>9Od zzS^t}{Hv4w-lxRgF~-=gB>&)O<@LG5Lkj_C?%(|4@p=xILKs0~wGb*f-@Y$_jY!t8 z2ki3ERKMN3YGzJ5Y|_8Zc^bId*J}a74XTP!Tl2`NWS`BoT z+_VPr7N(ezCi1=&vsYRoyiq{BB6Qc{AnL|Ku-L138_+|3RNx^szs&=WjyGnBWr)BUYuP%{iv;(9p$E8`_ zMx-DG^Ry)YNmy!0p4QVi*`4;+>ac`-7k*AOUdf$7C@|G|g6c!)Xt3+=G`j~{%2$c&8D(8ZWpLTkls-yMdoVjhG41Uvc>Luf> zV%;60eg~m7nK`%4yOV!gjQB`}pDYdLUYRfx?@8wpoPhB6ISNS{FExS9G?$DE5i44^ z%n!~E-eeAXd`!$SM2_wDr?$w>IN*k!xPggL(@V}Q*nK(hLplx?H)AfV9HRf71)E{8 z()nb<9OHY0E1(MnIuq%b0_+js*&S`BoGxUacGlvQ^3B!5o0nT?G;xzyZq%w4c6?{x zj5&0!ovkw=3c;au$7IKgV|mYLW&JTAdyzG=+C%6`B4-iR${8w?;?Rzw@&l;^CT7IG zo2$#j^71CKPaX{(vSAL%>s;o;)VD4Q``JT_Fy6R}2sQ|3iRJ0tWv=|;y@)L)E&$bd zY4=@b5n!#&2X@&eUo_O(N}c=XM=yO|-CafNSM0FLz$&+~(~Fp77VWX3HeCOhS}(Zx zfthMa;Nu&DkCejw)k`+?>g;Lpk;u^$;u2fghh9&<0@0nyMkQoP&VEhRE}U}bz`8YH zAkLn4%n6mFMJ=muM{}^88s}_0fj6Bd1?Z{gy~-rf6?@?s){j8$53`5 zEMk0?%orwHo>sK!`PK9vCllVurQ7T~8bCkWao7PQvcTitv`ToJy%@}(H_xcuNVhS)D=`I>|@?Z+>o*_=Xg!;ZT64f}0Y z$N3O$1Z^QpT^NVRO2!!$DRZsj-I!@*xC+drH=Ul{)nqV{or7C7F^`nJluAJ)}zKKZ6SN}b&zZ6o02mz`#&4$*NT z3&vBwQJ!V=%r$zNF^64~+9293+r{1}GgLm!MC8INu*St^o}bzBumi4v{7^!@11{wc z0+^Ta>LiFOU!f|4B_sB@p+Cv1ivUz*VRl>rJ4g_@ZpT4A)f1mp?$|7X6#85@$`mSq z^_GJNz{sWJ&MwV8#Y*e47ga>p{ulA{p^O!FjE3(ub>FUkq-n*yxeVIrxGi%tZ70^k zid7^x4EvrDSEA%qRroo+!*moovasxP#_>#SoxqhZDY5gnR?cLtJG_r;tN9O36vBGW zf+725kBEXKmQS`A)4SjS6Yez#z(3m)ROV8%9eTlt$cLIq^m4b{V0@KSDUlI=QODr1 z?fls&Hj9VtL1%^NujNOOKl*rtKm316jG(F~6cdW7PRWf`NQeVpCSyQMi(BkgGG!w- zND<8`NE6;vl>jP-?LsI$+`iY&}Z0bklyr_PjXtG}}AQD``90)y@xkImkRKlxE*$(VDAibtdPir0w?fc6Ll1T)((wzKs~Bc3Q@d!zA&85$g2AjC`tpOJ zN2KtYCjI47S>x`<4TE5a;<^F4it1{|`M~88KY%xeO;~V-i0sYAo_ZT*H~jgnNe(?f zxcEhHfd-)-%ZfO@G;i{5cnCx&9A0W~I~$)ouXCjT*-3+1RawD23Kk$;P{a*SLkbaF+u3B2kM4z7Jrz`*@|6p?#Gcas2kg``C3?Ji z-V)bmmB<<9!F-~2jL9_CtHN>Z@%g+DuTh+j(3{t{(r z`=va3MR+3yWlR6Ks(Ib)Hd2r$Kn1350=2a^tK%rWb3SipJvYgRtae;TuUewr!#3i- zxYKW_rmOeQ>3%tDEH@3-Js@Zd38mue z=cnQHjym%}fVgOA=awdcn(sEvXbqU6=GqOJDgfTRYHqKnXPAVpP(rD}Fz=r-LU#(D z=J{cT4w@#O4V>2B#`*#pBSx7`P%YxX5>FP=CuL-q5x*UjYBSD)cA1YbYtpm1L4FC9 zVxP2QRV`&*qgInS*O35RJvdjdzpaf=Hwty$jZVIY0CDD{KFWQ_{+& zH~pdwZW%xOODOir6Z2a?ec)sv8NTMeT}0;x3S|T9^qg;%N-s5E zeW2FIo!VL1NUF*`(b}025U?zW_i-P%IGO6m6+L0tuv>XZ zQroJ5T%Pe62b&Hd`8ugtC*C^dZOoc+u^8T=)mJ2O+JxtB*;bI6Q6YAnoet_=-XgCO zi~J_6T2~lQ2AbIuoAA7q8*pTqXofYveFAlgq|&UbtY)+&Bc`fA)Ia0xdqRwCkQFyqs=ov1+P?0$SP{+LmS`+0LAZ%L!BN$GH^BEw zFeV{mMviV3J+v8+V^`!jUl21!7tb|4jT)!he(O&+&YN)7tM0=1!r&OOFczhYTh)@8o_4F`nVUBVJ9^xPn6x zhi&V?3j02px`jj97~Ht*Y*fqra|DU2WC9&^V?qv$rv_DP?WyS6Lx82DX4%#jzC8sd zR8%_hp;5T6&?C_0zko{SW)ZD#;k)*O#vnK~>FjzV6FU1eS9N7d&bwFSu_Cm`ZntR0 z=-tRTpa=t_`@;ITsbM^!Y~WWgbgVE5+`RMlo4G){qX@(|F7kO<-CvX74|u9h z0jR7YnYl0jp|V87PnHDFCOKJ+2;4M4dS#23kC+-e)nfn~oU4Mw^pX_U-794GiHqatGMn+{G;~8uRqZ>>I8)tAy>u zROxkv_6?ca6ev9nw^y!L3Pr8wO8doBHuiEDCI1-}i?$Mwn5|4G()NqM+Dt7@qUL+lAcyp(;WiegzhF^KwW|RVM5wOC^ zvW@3%*gx8IOe%lsKAy(b83Lu2rm9?aG+D4Ty4OE!tz7_w3PQo0HmX})_hu5B!t_Z^ zM^zya2ZQn0CdyGEPlBf``*P%_biADiv?17Gi7THlyWDZTDh@!E?P~r8_Q*m6711m7 z8ZCL%p?qm;RJlI%s`?T>!{W)ot}u6nw#aVW7SXn0Wzevt9*WD4g4i1VPHuqhg6Q=G zSW>X4qr+~NJ~3UqGskdwL>A2*B*#EN9nTDe7n10u-sb)sWrf)k=0Gz zoYUtXkT}~2(b!pzl4)n`D?A<%EB3Qghaf3JZAXs-ix)Wj=CtdNY}q3ksBPom zxXF@n_jtNTlKZ=dQ6_~AcoExL&wOAlEGVKn?6CI2xFvEHvMLZaytn5me-P)7J}CNT z&19@q0p3hVbZecK%ul_UWw5~;^oICL0P6a|#*!ONAvP1zV1s%5j{o<2B>J z|JKu5z;w)m?l-^?cx>{3pN_OBgnySy?(dfarUDu6=jxSR+%Fh6pmh2;+%q}=*Nx+@ z#{2lJwv!(RxQ5fA7xNp}NUP-n$j15K$VTS>m~4Pe5U5FV8$)~)4o8}AXtwtmzNjkH^HMMRaJ$@t912IuT7)FV?99a`A#Jm#P%E z9Xf#>zG&FdJ6@#2;J0D$120@>K7t2QPfZVBf2O5wyDOv9IZr1vH=Uh! z$RT#ck27%VHB5efNj~4NHvR|_=JZ)<^#5$RfyiY187&mOY-{dPm3I?kS2+;%z+fm6_fn7){thzhMGbBlN^rg+9E$+J#d%CJ)=@ zyr1xK5i`v~iKUZ@sMwMBw!&q5&AX2QDn#uO^bvhP?$5#o2hSeHsItRmz!puy8S(*< zwH@-E7PN_`iwY9JqU2<}2A%t!~`1 z$b`2teL0|`{%SCAcg8oRAOqMlw`o~7qo8R@yQHkB?@^-l&qj!4>J7kb_zYt6iBp@#X@DqkUCc>WVfo&f)HpFoGA+JD)a4 z2k?O(suFR{ArP%i1V0CF+~$vC(Pns7${a2!_v2UE9iypWM%pY#j|>Zj$@PY>CfFRVUlC0l1Hghw~u znO}VFFMfIioAF?8-^4q{YnhiQlXS7JaO)>YLc**~Gi2~%tV`uz zo|yonS~K`aYdqebQ40@kXGNfTEVsm-kVmgeoZrNS5yW=+4{C zkuO6tw`<3k=Y>jF*ynf1v29U%_8yCA0rF1B5fvGOuW79_UyS?D@!wNifEO-NGYTM{ zWz@&W9o}|LZ1!c-m+w9E(CjbIRk-r;?nt*yYX)1xt9?!>z%kXN8X?X-g?t&VnG>~%NCo7cs^0k+Qc0XgbhV{#R))`}z3 z!YpPbTba)&V3m7~Z?*^&(*3K-U?@MqUbISX0*~SPkXH%M{wt>k8mF|#T{8~VJJH7e zFv<;DRka?|;2#h=QMpZy6x6}eeW+HX`5ZVuDH!B9fmQXrRkblubYY>tE5Hj_CZrfQ zVick_0|*n!Ib3vN%l;qo-UBGAbc-4t6-7iq0YS2eBn3f{prio=M3R7tWXU;)Cbxp* zoHIxk5s)A`NNjRYa%wV26Plcw?*AObx!3>d+`7)a^Xk1_XI8nrjoeQ&FDef%3`l@pHT2YH^yqN#yGo!l0mF$b1!$ly|bo9 zFF`9T_8$6!dxfli@!@PloWa}keE?ds(43$g#YIReg$e6xwR=w3ictWv2b!Jr6 za+@!T^KO?lj=;sV0|t^4Dk+DuI(kyKE)nq*dbGSD@qP8$)n6DyskYTSqW@i~6F@2U zKEucGxc#m{)q92g=pdPg`u*EU`DHudaSI7*I+>3!hdtqO#3Q>vO<7xA!}jgX1s`@B ztpVX%G!IurFn){E0M~69;qD(uH-?unHYZ;P6K(cm-63~8QVbI9eyXJraO*(Z_^mP6 z8KJGX40kElJX2$N_`1M(YJXN7zsAKGld|af8Lsf8gav&N2pOi);k z#J1BoWBkMTzEv+cM4?w>lXiVDKKyA=V!?U~LG`$jIo=(TL&Nf|A>cPXg-NO^f##)D zZeuW>Vgjnk^Tyf}p$dg}ZR&3+5}ac=yyNnK{`D(laDrRW2Vc`SgGI%TCcmXdrsceO z;jNsmob@pMlhLiT-4|(niPXs-ST`vtXx>JW;0(Ji)^4=z43iC>Kj7bCFVtVziRCZc z-rDzAs?zUpTDHwo+G%%TOC--Og4&K>IYanZNg9h`(Ej-%6c8Tae_t2i-> zNfB($Yj?BXe+@FVbPnhl(!4sh;;l~1{tC>`Y_Ds21yAd2+-k#@z4c<^NtY+p2Fwkz z?ivJbq9ySC^#!Dpc(EDzNG4UkhOw=WbLO&CMMoDjO1X_&eJs$;9~)$B~-N zhE!dU3;2eIly~CImnQ}LbsE-QWVCL1QK4QdNXaF+OIfy?OY2pVQ@!-ky|E1;h(^q@ zRiM4v-}hhaGA=pblXZf&h(AVF+|%^19}gFi84o{b9Ju!|uEvSrSkS# zM_!=rF5{hXR!BXPZj|l%%*!9qw&UVAN=?Ci!+J&G>dkPkm+wB#nQoS<`(k`q8eULh-)Pv++NfsoZT~9aQ7-RbBxLER-@-p#LH@&@(m>~lJM0! z6>vk;=k$8H<2vdANf^*djJ9sN@_-+GR>1Nsf7Y$8=(_RLZQjT4=XkY~HWLAH@5Y!B zXLYL`h8JemV1s{FKX;xWP-}#al=XHF?=_(7(I@Xf0Z0T1F7{H*Wcm58AG^Q@&Do+Vmt`o-_bK6um8M$6Fc2hHZ( z3%eWnkEvF@M^+gP8M0P{o1sa-1qH?61qBpY^UTA};&R0FGVgcrv_4SaC%$-MjUyDd znntML(j+IXPW;SG$vKX%eUnQtQTpv&U|Iwmdb{)447ECpJ%q!)nn62yY9gbQ?6*Kw zF%|QJ^(4Oa72vo8;n0z17}B(&y&3a^0af{Zb9;Vs$9v|r0b^G^50dREQGN)-NLzLF zZtVe_jCJLFUy>|SjbvtiZ*f1%Tsl%*~|xIea_@Sc`5DCdfU`KAwS z^`3gj&2dMKwHJBtp#ep+{2YkTK#8FBP)A#&e^p=qh~+e!9cf!-l7?C_UpnwZIPy_G z%;0_ct4oh}ldliH$Ictw(AGe~OQ7f#NyO7SpAR``RKFmf)6zmAbkJdFjek6oW9GLG zh}H(547JF?IehBH%-Xyp=j@Whg5{m6?Zr+(s?ynE1#XGR(%oEX^FVwWCu4*sQQRpJ zB{r?-t9z9m^ZwAgdzwfKmIKHD()q}Dk3v$jd0Ox zIfNft_ZS9Y>^CGXC9}PIeX}>~48fP_%elmfgWw>p6B!yO0Ma(b#}@?sm>r25m*s2U z`1{~AFx&MWoBL(VwcY1gOQA38Ki}=0s^Ipgq;@sm)UR=zu};LmP2N~bXcB*}HE-h{u4Rgf*eB~g4082$3&hOaTVYh}G|3RF-yv;L)3(SZm-lPDM9*muM%;LYT+x>hcgA*W zW-o+=0T@3&oc9;H;DowpKXt)T{!|z-ck+td0p)f34XPv`YYWER7u>U2(LodpV+=^j z3!SQ6G?b0S;y0Cblpzm-b-Sx!tDjKG+PgNAb);nvnIi94dqU$_>F6{4+1^!PcK9v{1JFV?Kd{>8^s-XU4lY zjxAll?V=;#?Vf%wmuxd zBQ?dt!%T!9Y-vNn1S`Ijc_lh+&yAR^+KjLBS?PMkeuf`7uhq*gAN1&t?WFqEj4dP3 z2RV}%mxKA)gG=W7trKlsB)kh4&3f{Io3JwO9f6%Dq*H1aYLYZggYOP%yl1k<#aLi< zpH>D{a;6?ijb7B+;qXDQjjWGk22t_P>H+mhk|2}P2=gt-`7I;^al6x|8M{)CJV`9W zW!q-qgy|PDdf-h>;Ec46)Wt^dqEF$;r@AS38y0bb!OQN#Y@JBPyc-HBFfGEr_ru3u z9<;jdG^bSUbdFfIdDJ-R^mNgv4i3$iJga@&n_v%->q_0hls${)-_WQiACr`AJy%>j zzAaheY>X5vsVc3=L%zfypzKa@P_{@gh{Zz1=XKjAaN#l#) za$Rp;tG9FBC}RwwqH^7ciI~kS*^bp$XN&BwjUx2SMbW=!1Fy4gs)x(ui-A=>6k|!TIZ4( ztC+(`p+#HG24!CSA+c9=fhmvrvK7Xe6onS=uu>iS^V#e)Knc=0kZ;>T8{b^zgULpo zUsYmIl_Sh(2a`rV==jDM^5#I2L2hzo5sL)K>Yi~{^dw`|c5sSDc6)@!cvqQut4G!Q zl=4TJ_rbQP*4d zRhFF^SavX7&F`r)M@=EpF}5GwKhBfLtm7=<0Yax8dds#u^o$bQb^7eN-Y_$%P*!ka zNk(+BXkZPdzCop+Ng{dri8C&)O#SJ)4W8X7qD=ilF5W$}fql}%dv=>cQFc44u2s?3 zuvhu_pkbu}XKMC$z1N+&H*4!vxqDPY9*)g^EHiq*N}?Fv`&wF_n8HAn`5{a2KwsFr zctJF<(P}%1*q21|vT`_7}*pQsl9@4)gP zlF6!^Q3;o8bTd1jQOPT*A|u;|+iAHbC}1dan_s!QG{yd-;x;vf%XUptY2{|5{(}mb zNic=b8s)Y12YhIfQL>F)i-~p;uGCmUw;jWVO>Kv48K=OlSN~(~@qGWh>!+k*Agxk3 zZ<;qUIy;RImaL3W;C5CG05I7*b)#Q!3pq)rO{J->T2WVZs|%4azg9BQWESGx0qIxe z+*QsO={By{z`R3XeltWYFE~tzYqMf#T&A$2SOwM|C7X5>#MznCP*DkRm2YH1Xf(3E zILw?Q=&L}&A%fdMQ&771+7^g(Dn`Cy`}$aZw$;4@jl{jA{79tk!6ni$hY?9HzfKe^ zshEGeIjRQPk$FP$1({Q0;egbB=L$0B`y8 zmL>$XizRZ^{5%yi0*gk*;{zRq*{sSTl?XpzXl_tfQAj;43irss5u+-2G|%%oEC#r| zv=Cg@M5b{67I^XNqtYia2Kf1oCue{ixdS?5iK5(B*Or=~1sCG;T%FKCt16}DBg_b= zIhUfzRE%BmhDJ5qvBL6YRK=TvwnB}VnsOJjki8A_rTx*IF}SnNm;$!fIIGOnME=dX z*cAm#Ty=q4PELtSi^vYCUwOSC846txhA_;%Cs}Iygymr0}hd$>lgRDrVQ6m{UO- zPn92#k2($-L%a_p&&VYMVT)A0?jS?e{J_mTuT&R_9zZKQBgPb0_xiJNV?{Kc38}qN zz@z@eh(G1>&!H=0D(@Xgg`{p>*yc%|;_I!g*9*Pip6(`j2EPlz24B~*Bs;8t zjt(A3&+Ffd_;eRbpyW}gMaJNwfLGIuR#6r!>1itjAPN)R0t7Cd(gG#YnaP5 zIxAl9M*`y{=Ukijpv`M%Ph`Dg_fr=Nm`z!CvtA0KCOz9VJ)seZ8M88dn)2SZZ4kT3 z-gep+sR893;@s_niHFZuBok22mHW(HE%&qQ3sz>yWy%tYOJm~dE|m{|b|o*Hu`5XD z7O=KsNl^cMVDog)3nH)XF!JcMc&oRXN6hH)F*CxdVJ3AESh@QJ-}YZ66OX-Mi*jH7 z?%a)mRo98Wn)9TqdNp>fVJ!OX)f^=DA_Qv1$OiT@`-!(Sl{}9tht`Mr4~^B5cFq~@ zMB~}eF-5xHr}lxt-FUTkCnsW9O~j~pPXxW1uqN+;vY7W7cI79s|FQCB@chHh@WD+9 z88`Ly4d8n5ZSZ<=x-CA@xK$?Klm?vbYN2;_^|eIrjc(E!Y$QC^dfUbGw#DzHB)gw^ zm{-jB9IQ}+6WGM!4DJTf8xFvzIeos48HAkVDaujjdan=TmBB>yOx9H8Z$w17t`8em zVBkJAly@yg$OqKaK1+8^A4#Z-ajTnl&a*z^egxz}_?WIqMsW;kVhk=|d0^X-PJz~* z7xeAAvQxb=oLV!!bEtuy3mHJGqGW#?r*PRPsK~n>P0AB_5%s8%V8>bs?_Y36bDxXi_hH^QU?mn7< z!qI!t*)*7z1Zo8HJicnljx0>j&cvn*j!!E4WpGlQX6znvDg=~WPc*+YXZ)9B*DKxe zMTej<#ZmLQcdId+E}tqRJtv*~FsD%50|%^YmcI8g<+o-ACmFX7mlnH(!thxJhx=9S zf(kF|ZpMgUwkE7=M%OnqfH7_E9b&&OI`?`4m!?BOUO+aDn%3~ikyV$wz^k#h57GH0 zP0DW6P8+pO+@<7Eqwm*YP#gS$gIT!1`<*h@uBy^$B%lktTubK#A!ym?BSltwo!#qB&7E1&wrC>Nqg7)kjbC*Q-{z!!>UEoO4nH8aIewwQ*J==2X|WZLG~) zt2aK)t&XZvrvOS#eNi~U2pMb_Kke{?@KhOz8{*ycxO!w+YWD%#?^8w4d|eGaVwRC&R6K|@!#-L$?6IKb7J+nZ#MVZAT5 zC3!ZJH^3K+M`X?UXaBJyq2u+8l#g`M%(Vr2LEsWT6Yvr~Zuu^SqP@Trriby*S1B5d zxGDKgWX}=0als|%Gxq&cV=I~7V-@alIYfUkb>)kDYz=JS0(XEIW{mB^KbUJAG@;Ot z4H`@VZ^^tMdUo${wK&gZx3i^>QLvv0ciMZjmbm1UDl4$zGH|%kCz3YZ2O*^cT~)Jy9!V*3&6_Dk}{+W%P5o zhf~Y4;}|bN{^{HK^Uab3E6^`l+Tvc~8kH@Fg49vb&=K39s@(>7prFOr#=t2Eys(TN zG9hLXLiE%lfbL+lwPc6a)5V^Ma*p4TJNlggGp;m||2>`LPRrjJIn-EZ^}(Xk?F?@% zv8V^C$rjnSdnmQGu$sa9>sreB{mkx94FzCyXju*sesLWZE?u(KB^Kk0>jV|Grl9LY z8)}QMDZ_;U^c51q57mTR;DnyCBuQYOV$QH3wwk!D?B9_8M%Feqg!u zU?(?rZ*Ukm zCDlnQn%FPCj3T%cg%#l%qMho5wnC0$uhtaRx0#>FN!kTN%QP#WKB}#S?lPZhJdW%9 z+YxMTf>r1)qz1Yxh|&IhN+k-CTRym#bF26J_+lOJD@M5iSTO(t3c~O|i$vbFS{wU3 zi!3YI#B5twmdzN;=BZ9p%M!Lbu7zplj-6O#i@E>A0t_>RfP53Yj9Pn=(pdGbUG(N~lro2AUo#J~p=xOBT zdW1xOp?OW^vVM@7i)a#rI3QrC!gVLsxV?I7rj2cMe|aR3;A2?Q9Zwr?3ZZ<;2HL3y zEY+tWO;R-Y(L=(zy+q>M56)I+Ui<>OLIIR2Xa1K_rDnIuD;^_GS_Xc1wO1IPh1+rf z<}u&8VNA{T#=xkxEvDc2phVSntNi5nrHFLXtrW?AHFSEM;MfUCf)PhjmavjhIPCX7$^5a3?0>*gwt((z13uDg*2nRJiAsWh%2p}VziAT7eWV;vP&yyu7h9#`)Gl*lx-}`~L_b~n0*_$&n zia;qx#kKMGwG2wvrm)ZI&!qkC%R2KnWSu$xWts-xBK>8|t*{}K7E(R~| zQ=;x8>?8%nF^na5*1r5MH4{eDQ_AqQlrK`m)s#-DyiC-&t8KSL-AEcK88r0hKBZ6c z+32C`&2KVZO-OuleYe<}Paplq&MlKO^!g7?_OCGtvF+`>uF-MQN?$4uaZF6S{2TRot3XYN3P|pi zQ-N(2&wbSne&U-XBfxaY8LIgmD5b65W!n0t;+IiO-lT z%+eAw4K}Dm<-&Pt$GN@x%y{fiKJB2#GOZ4KD78f<&gmfc97k`>be$d8+G@|0H3uxk z26vHuma6dC$*oFZ+I~Ks3UP1ojV$QCQ~O4QWRViv=Jw}4c~@|6(-m!BCOz=3&~qi% zi8^SX%Dw>Z!rO{{H&VDDb}ezNK|pD@Jz%->I*l4Um5D6Vv?CpnbkM?^TA|@Q)moQD zWk)iO&LJhh1KiO0oglSE3^ZKg4;x`CC6y_^8>sv=rV>>1-*aB-j$9p`h!Pb&#+#O` zfv@n#pW>+l^{{{9&tW5=-wUJhrRTBchguMiP?s5m7>)@QzDjw_*8az;OfL6O4tg$^ z(6HB0DCcgC0{(n?yRirSvOROWz9~$WZdK+Nvd1itSnpyb&kj2?Mno@i1RAZUd?ak2 z8ky0|DA`*xk?#QZ7lE6`Gh*zB4%D1PwlEgE$=vt^H4vL!%%P?BYCz@}GTQH6-TV6J zG455~(v4*;J1X=BQjzqan4PHht3Uicq?@>r>!;ObqdCQbGxKk0KRi>FlXvHmkTZF0 zna-5|ySk!mB29}Hu(xukDPE2S%EUF%zJ;olGjWI27;Y%H3V+5*#aDV`P1)Td1>7sF1g^&QXHJO*uXbk|eJgdx>lyzEtLo4`;{vm; z6p9dgyVS7LqH;?;#fzV-g5W#D8lFJe01Xru)u#Ye2}O6Xayw^J)yRAH5;N1;CQx+R zYOvk&B}_O?FpddI1*<$8`?$t6cAvixG1EAKn;6+dh+^dferh^p$7r;W$7g%?YFUa( z;0<3B&41YxkT>8=W=&F9MLTG|5;)aTOGdf@WaPnFRk~qxTP>ji2c!$ zl1EA<+H&%k`!n20C(r*`CHE;uO(^G|w`kncfBg3JcZ9l|C7G!Y_kTu!7l5#rMe-N8 z!&-4D5{L}nEFosI%yGO#Pv?wB@hBXe{Um$%SA0o{;IB`2Tg> z4b@4@ctDng7`4bfaO{x_XLhjsKjO z+jhQrjQe-8a?6$dFOnMjZzD;8p1EJt>9Zc*)tl*TF7&G&Wq!Yt97Pbt_uH%$_o55q$>FfZxbbBl<)Nok~fR+|6geX(W<1ap3)sn#^iTXzaH(;lhL~|D<{0W?tG>dY(=V zyJyTF1Vv=e{59|^WDl$Jn6h zb5T?9OX-Wv!hnu;7z+w%TxRtfQ9-UsXbZazy+YkaIem%_MZ|_8>S`DRa6SugXb$TG zKTTEcw3c&fOEJ1EK4n|MqhKwWF&8-j|1AE&KVd;f+z{uxqd+-+x)yV#c<~KpfqO0J zoL8ap{#wvOoPX_L-IwYJlG0LOAtO`d-cX<+dFCa-KnLks6x{EKEmzvzA^w9O0Mf5E zsXUF@^@+=b)CjM*D{!pQeXh^||G^roQ@mxrgW%Yx ztBveroveIgV4nHP>Y$*L7)`bAr4WsNoN2~YO)pEAwvU@DA+bJ7_~Ms-O~zkpq{j28 z^{l&sR+D=h2*MzG;INd3Q4kT4;HNQEwj1yKiIjf+oJd*S1vJ0mJA<+66kA^4Pc!AN zk%)aV;7^Ym9bAzj90``2wFDgvkT6e^v74Q({ZuzpAmFJz@lSZx9QcXwJ9}hrD^23I zkcq7vuc?xDSI@BFlWyGGE>h9kF-?i7N`oxQw|>xO7!ykq(~$A(_NPzw9pxU_UGdkD zNdmW9>c$E!!`S$CT19N7vynM}%Q?<0F>_#cceT(+NbJO&ZA$u`TJYc~oB~5t>YWd9 zldSlhEnq48o*QeYBBS|J%|+(h4yg`c0~^Zq-lzgA%~8H8r?mWe1DCens^g@7t~5}C zZ-lE3?01H2CD18YsqLCsS#Ys4LJ6#&#Oq6s`NOz7tebkKDd4W)Y@BH7 zm47u5lCt(fBusqiqi*Gz>A@@KxoxUd4Til}Gd%rA`Q!L9?T0$p1Rp6xZDRDVihWBi zYJh9U^KJL^f3>&si#K2Sx7ss2q! zJ8WIbS+TU)x+H;th62}0DLpM-u@GAT5V>m>`^Gn)2zN+sQS3WPRFil|g26lIs!=AD zIo8mib&;KNijz=A&?lLmUUQNFw|_M*Tr%dw8SS^|P-E z9-v%CNFwh#?0u4*VAR&%_OF(ATL!{vbz%>>*i2Le?)2Q3F*^GEE!I=JF<5TD&px4q*E{0{=J66u{=W|psXh0!x+^HYf<&cfV$ zvMshbtCW@}pS#RAhpUphGT@YQvokt?z?^@F%h%NN4mXr1@F9RmHvo~$=?i!XY_c7! zwOwiMZ!h!a2UDf%e&4D&5XR7gmH*^^uCZbZ2LR386OGjA2`OL3S;#N`JUsuDcE$M~LLc6%2d$HvrOiuVf<*z2D1xaFeq5UDa7ZO7Jj? z1bB2^Gr}CAs2jiF;j zchsk=pOl(S)^ad@n1a1cU>W77;NGjV&f}YjR2nEcCm8v69A@jA1e@^<71D`nTrWuy z==mB#(m^b*&)Avo*v=<&O6ecKx=Zk#R#z`;K&f5nZ|Zd|SPMFjb?;e0Vd%9jJC%Ci zJTdI*#k_1z4bW8 zsrRVmp=$gRFZhM3yh5}-Tan=BWVYcmg5;wg_)u-#;8J67j8b`$(U0-%{OwOH6XW{r zZO%Xji}dha1!w`7%7ZYiNUccTn9VAq-)%9N14rKQWM=7K8K11bJv z@C3n?ck66ouwE>f5e=n+#$~4*%}yRfWs;ehcwYJ4@=S|K#%b=uYJzrv(-P2Bn=Lq( z)o5dO9aVBPcWX?7*+N&M9rd{fQd`%k5H8r0de#CL-XZrf3UH4wb zmfz=_DLD6SO7ezp3YPfs9a#U}dOTHRVP-pOdOC9mqRB=P9Xm0IaG!>gHpv@D=RqeG z7G!580!6p*=BEcz*{iF8gB28Tumumg2AJ~Fc*^CEP&xBx4hO`ksV$H1>0dtAPmeA) zT%73!KD%x_d=l&dOyzErYmf;6Bo}34eL$w4;3a+~?8bS`r#8)(JdqpnKtc_K_)C-C?>(f@95^*xp#v$I93QwddS;)!3341EgqeW65@ zk}ejggStV3Z<1v}R+d^7a*>+$T%rEvr1k*ekqU*u$vshR{k<)omK&QZ7ki(jRO|j$ z6G6$Yboat941A?DJTP@N)b3&md`;vJ+CC-3^n1rlNm1-$U=zLurY;kCR*GTf(2kdM zXLODzf70P$uCdGf*>Ps8XYjkX=?6UEQ`0ps@7{Ha4ud8tYV`O{H#YPsUNb8J{De+@ zBQqR)DQ*y;Dt!-*0s12&h-+`A+%8%FA@Dh=7+#7TVvfz|NU{7u3HzG@B^~+D+p!e4 z!#7ULA_quN_}hE8t#(Y-u?LkOl=|(r7r#l|7kX?T--eEB18249%~O6kp)~ zQoo*_^l|!e)9(HpI`D9}y{`ilrH$UfP^BS|0{{Lp)0ZkM<}%bPwe(j>Fd-eDhY+QJ z8TmQ)T~<*E0i`#HQTDupOBdcAv0!{bwbIuTR``hkWCd&h;7*q8f{@+u9tFStI9MXr z#KN0r`2+RTuG|g0FjSt<1&C6f>tg^1ehGgoMkrvXb&dC-^p8{wPNvzU<1(HNpp(@> z*xd#&Yw_SJh}?=k(c@@L@T1gP2XJ5ElJF29!D>8Cu^tAL>L3d_-Opq3`d6U}b8^=u z2J$K-+xs}L+V~Pt+5p;mB0FSh($Y z_+)?8H%>x>PEgqHKCm(@`SOukrAaEj3ZC)64bQzcF`Q{#Kfyrk^OAt7c_@+r3F?*d zFRYjI|7CgO2Y5(_y8;OH96aXwF<|xN{ z1z*Y;S*wt8GkGpkM?Lo{X+DE9nb)1yM41CSh{3~TOh!)^flnFK47y2Ui&rPL8N~`x zd$E6D$#b>z%HZ~%EdWf;ue{~`PQ@PCE|IglWkib$ z>1vX$MvmSfNM=gQHN51?&-q6U1(*P^NISmN{J*>Y;Y1mzX%sF74?t|uZ8hpIVCQ9! z3_O-wwU%cGNf{#h*@4~1dS~tDE)WLD* z?BaSFkX(a;v3@zZ3Lhs|DmF3W4av2$zM(n=j|R##)ptblORG-Luh)X&23FMi%DMY1 zQ1kx)>dJ+JulzUYBkk@Py`dxCB-+!|b9JBRHmyntM@+1Wn|n_KK!Ev#KLjK5iRb`# zFzCCYpew&&sMLix9V@kpZpK6~vkpWsVU02?FUN^aiyGyZrlg%Q4NV#RefpuC*2~IV z0fh~^u)(5-)Qa4N=HnaoirrztpT+oup9F_g=!eb6S2pj5X}G@5Fe9O+rTQCAQz&|D z9}0IZcIFmkvK!;1A)tt#khakJ;y!)hEt}M4KRZYwU2!{m_&sD@Q>^-?5pf5++tb!h zi9mP?U4OCHR_yYS=ZOA>`v49hC(-m53u3nDca&%U^Qj6YIjv*>l&4_#MKmu2y=IbN zIF7tLVOAVK#pN>NdaZ-*{FFpljJ=N2%sG+hQ_{evJr?NpPP@<&fnOJSu;3qAD!lHt z%qs;%EtD!9{i9s!lWwQ%ee5LpY`IC%B-{Bu-O}r^ z|Eb%M6RJXUB(=7T^auH!q4D8A);~^}*1g1x?D? zlZqVqAULnDCxhUm`(@8z0Vs5GZTnAsyv3m$r{N2e3vUQL4z=+do%hV=6E-Zb(!?h~ zIt8cSZ6KQ?qk{=bM#@U(x!B(SL4iqc=O2SqJMKM2bUGkXQG7t*rjl{R2-b5k9{AD^ zq@w|{DLI%;FYj}3mS6>iIUf@yS-&5_^%)3PS^*HQLgB4vKPVJAa{Dy}{>;kH3g`P; ziCJ@fO#m25_VKU6j^SE&h8E<(YO^=I!p{EaF*iw$@Llj4Oqex*N+ol zk68wAf3FsMl4(H4#}9bBolbl)!Ca>1xN;0xqNh;MRTA-V!?d0A1j?howXW$q?f@3> z8>&Dp?68PawEy`YoEr~q0N%@EgaYj)OJe%`V`bwt_0`&H_~Lxws@ZsQ!J>_wT4sjDO-Ri3Cqq*2MwnER+W07H9`2RxAY-C5+J~Qu`ItDfv+Ar zOQ~}Msin^W!loWHlwJr$1Iblf@^;^CyOc1hbfF91O{C{BN{8ZT zg-PTZlR8cpfjCVLfB*QsLJ>K)-|+80ORJj_-_j~0vIwNTJ%o~CD~ZyH*6Zu!@u>Av zoVF5%fi!gA1_^S3MK_dL&h)y9SpVflM;i+x#)O?V8kUa*3I9j7Ci z>gER4P^mkpBTS#qt!m~*ZaBlS^+s*$RVkU#;1^%ul>%E{&{DG4Jgo^NT0Z5_tdxAB zkR>KOw;u)H-;FY#3?6e|Bev#Exiy)dw<9b@r+#J>er7!4zIc~k9XrAV(NYB#J0_zu zxLsB27apD!229w^MZh9t|H*2H#Bc zsh1_aY2e!%uL~yG_vFDx@(>nrb8DPw>p zBkkcUt!MP+sOOCC%6dU#oyURy%Ca(gu*P&!P+EW>h|U|3H_t(%scHhK+|+6_ge{Wu z$^pGA|JMqfuXRO&ISB@qId=Cnx!XJ}`YFR~^E*+bz?JdfOdN z)T<}Xq;(fv42t>v*k>B(e?JpN^Cm0K1NP47Z>ZS3e^21grA#$YH7G4kOI zJePKAeE@CaXdDf6tq`m{dxhSdL1^p}Q`7PsXIF*3iT1=EFE4)9t2OT^^ezvSoPYgl zLTZ&dE9RMm7oFrUOI2Zj3Bx2UfGle-B`R^{*jFFIs^>e&z>QU(;j*T6fUMK>}a9AKEwj_-Q z^J{cV+G3MTBT!@ge!t=dLLyAZZ7@xamsOsw8R$X!@cBX2mCxc02`NvClzIt&YC=d^ zfddTp(-bfB(dF?Qoj_jiE4h-Tl=JI98^jXD3q&Jl-s=lHpbA%}UCH&wumD?rUvl{6Ay$3c{AATK^l zdJm>u@xZ7BifF*^&z|LL;{nuBVre!NEHI97#dnx&ln^Munu5r^NE!(uw^<_fAx!2p zfLx33HlrRR_dbAJ&tqn+vq9<=E|jHy1eBiGlCu_P1e-Cknmxbh z55-eLe{V$46MpWMJD1 zmb5=|oOXRfnT`)Q)k4O#KU>yjN(WBsC_a5IIygwb#M-jUbbQKlp1CX+aE0wLj4Xgh zoH0|5+_k(oa7J(B=!p3Zqqz_tgr<2MP2U%4k~>kJzF%xs(h3q~vxr-upiQED>$vpl zD(^!P+8=ZmGJx2%5k3tP<=RV7;Cy3I9Vt(L>RE7x!hli;Sl8LfegXPVuENdDV}&i& zGU`uKgF*l4X7bMRjofq+|DeF;|W)RqvP$vW^6h--Wc>`hDb%# z4zTYz&OM2s@wk|C?Za(A1&I(P0zIPw&+x!D3BKjl=p*zRc+qA5GJ5?%b2z-!08q4R zm+0lbbv31d+6NBt{+4g8B0>Ofcx_q>NVJt33S=O9*QT%L;<=4U#rfx4JK6fiSlNT&E%E=p_*$;@P5QWywvj+71u1>)<0i0H z-HEg{qDz(QSv2->Hjzgql$-exiDLCQs=)Hi`(^>9 zx*N{Fs(T*)erytlKP1cPU=zLJ8%p^NvS4LNW-k?TM38yD6672c`@~R$GW@O^#Pz!N z*Ip)NADK#u=;dXQN^Q>PQp`>9lp{RLc3WnysFaLogUq;y31G%THzcl5X)~S$PL||{ zCksF{8T&c|ka4A%7_>&2V`n;2ihl}Jsy~3bmK_ZMwdktMv7iklPdE~^h20N1|BfEg zNkI7AE6AJ}hpbhhFK??gj9@Y53h>D1uT7NujZ#yOeYO?){AFY`J`!X8iIFjpALf;t zF(Qdmoc+ZP^*b4c@gq@%4!R(+t`s0nvOMQLSBM)iG$B8WV*$>S=Ka_I_Xg%>PLDqw zRDK$M4n!!s4@i)6m>ybv>uKsd=n{ZpiWQVss@EH)7LJoFio^p*vN`wlg%8Eo5@pGf z&B&zRV3?FAgJ0#7t%@0ERrO=;>{T9)kd(uEvUzzihU*Sr54TNTO=MV7mJ zYtqZRWE2gF&%;n{%4d&?toFqhK}4$PfQS^s`j;iRstSL;FGUnb@+%_o!wf)=DFvvT zpFLJK`4)h(SxB5F?FRbIO_lkv1-0XF_IAG_QnronA)Kf)iZC;ZkW+BPBk zahm?PdyqfC55(LF^o@?0e`hu%Chq>#Me7%ptovFfq52x<4{kEJPU)R5Taa3HP1lpTZN36D6OY2MatN*gY zVllR^;m}NvG2Bkg%M6Ut5e~rP!LU*8wf{ zSY{;je>M_PoAd%ENwSg{5a&Eurbt~E<}U-7KX(*u|6Q#tlku+(FWcO|?^zRGabHWM zwWS?PMR+kPV4$9p2-Jh&I6i&=|0rt4g3@8vu^nw@oeBt^Kzh-B8@jWV*3|m5ogtU# ziH{o(#HOBujR&mP9}<3xX?_SbR>x+4UG~cbB*Vq@52iVZc?5RTzCX%p6MH2F;QS65=*yLz==qgCx{KJBcIo*OIeR$CKdazFCr z?Mt_Ae|?+D(_hwvoSKX}T5GW;_P}Dd{=)H+rr`1n_CK9!^d8qPgs^NK6%2Z(ZT#S~e|;95!a<4XnGWQqm^RO4oaTze(mkdvxK2 zCi%PK-6LOD$R}k<0X}sj&?}dJoB&Q%UCBP34M=FSKksn`6TttYk9J`))~5r=!mW=R zz`ly%e}1&L#2zsHM~^oCs9#);^2*vRu+(RFNi_c0%_zN4=_%7ZGPbNbY8|IL?4c=}t5;_@FN?e|?4j^XCj|lR$f*+LodwdhuId(oL+qWWc!B zE3^kJ!0y~9Z|Toq!7`Qu`mZ|WoQBDrK90r#!Wpg_#BmQ}ydQL4+~oSYvt0i=VD3G$ zM3NB^&ieH2THh2-J*S^(U<-8a{ui?HPfh#CHDd83lt z$!|q2Ix|qk_mrnJe=ALs$^&tBPd6C$j-9sVe9lNJkll<-thkgnc9bOpQd@6?Uw?` z52?U{pr7x^%c*5 zl&`LUeUIc^U^ulE4WU2o)VP_J3%-kUw0IcK( z|86Fo#U0W7tZ*Oi8A>7Zu%k_{t{Jz%NxO5sg83qdre^bIChs3r5OeqU!-vP|+CS6Y0#)O-3gSEXt%Ic5cO zVyrGoaCs<_uHmKN`JUr7OIgO}i2iI9`#Yu+dxA9ayx&5^)YqdH~$_n;5K9IUVvoH1oW@JXEe0X+)MR*WA16r=`G5bg|{G z+c?9~mLSv-&r-Sc2Aan1pnkaO^RJJyD(jrI?xErT7v4v8DR=L?;l%WI-Ns4kY&Z=RQV0CqnXLz`^W$+s(Fz=eueNuTH+*-|a?ky~@7Mjh zm)GG%KNN}Q7X24LyoFk)0y|R!=GHZ3ARM@$x*Im#=|1K6nlIFtsAUW4b>ADv96=q{ z8d936(%q!B^;EQ>-RV8T`_@EJJ#=k%S?<{JN5q-(%UsYVF>DH;@+S#K!QeqsDnuK+ z=a9daxjfc?MEq1+ke{rc*ju&|7w~@KzZ-iP@%c}$S_*Cq?v);t3U0mUAS+iIevfKN z*?Ro3R&WOc|@z@i&nbU%Fj;pc_ zoC+qU?`_2tZx8~xqnZL_hFtY&Vae&9nd5ifm{iZ}rT1tu5AsRktCL5&6R4z3&=Q!x zj9h7<{k``cSBXo{)Nq$Z5T1)1KwnF(hO9Ywerw4?&!|f?G^MN|eZx{L<^22SjXc5r zm|apD_D_#kU3n&+95yKK|3nKXxe6_y$>qD1s6223a)(z|?y^DsE`7o#FO#uwqFPgk$KnFYYJzdDTesHA-tWcJeQqucI4)p z?EJn0!+2qllP`>u`BG&c7`9&a(9L};wxi9_^HQis!+qO2T+$B9TjQLHLfpF3^}zOI zAwT|iE1@A5WUoT`q@cfDPN9{n>CH6PalI!5 zZcm-S$E%NVkOduH3LRY=#h0_onmZZ3CiLmU$S%`e? zf|R$CYSeGJ?yeNHpq9UD<0U;6jTv#>9(|n4Bv|k|EOOm@VN$w z=Ytfv5W7?a8?Y=^>-np?%{=>KRd zs#22y(GkhJKW+AyNPmW}W+Q*{y(s>1pUak%)ej}!k=B%nS2cPju+i5m^#pCdQ|oUW zmc6D)*-PWSZtY~qEVpms-!kQJ5;|-@aYe4wrA}-#Id}vYY4VF&Tzm<-?gCetBhz)-ZRjG4#G&lFx~Gf%EMa(0!sNGw|dS zQQHca*Q+19Uo?ZdJ6hFO`MfmZQRLcA!%D52^g`r8fN3D*hy)p6{jVluw-Dw5apsuOV+n*^A zLR~VzI61~|fK9pX_Xr&jrMXY7R#(>QfO72EmGdPeYh8-qfo@)#`KDber(NX@O-XMY zJ=InlYVN;nAU32JX=i7N$`h;!|^mR)hI&g#}O^5nT-qb^=pym}5aY4jv- z&6TG`VYZOLH6;Vs&`gK;)a1!M$tazvLFGzbIj$nwN{!-mY(m>|OgADZr!*60_^P7m z4_|T(^(vo?jFQKog>6nbbJJsmj%!PLY^)}y^o7jc*<~@b(mlc02w8UV&1~^4Vs+-e z2g6G-N7s{Kcel$uJUf_rWbV{?PUlV8g(4naeM!;h)@yhynMOXI3rNNr6dh~CR@RDc z*)g<}PcBZd-Z^hCj+XtDzFyGYe?RSV*w&{9VH)9ZgQ(+K z0bzt5)QwP|@E2`;3088YOA+wY*Qr#C^AxuPmqo-& z%G0|ca3+T?<6LK?JUL`jC@5PODRB>FC=_?ZBpxE%R`~`_guJX))9kdprkfqrv!q1% zti@S{%1FHKgkf?4XJr=uE_=}qo%~zUlo^ZESn-r(cfV1b9)c1mQ(3#5P;&T;eR(O{ zi9LqPp(XD^h7pySV!%$KCn)O9Y4xOzfPWpWXSM=@_tt%P5~?Q4OnxC!{9sK~erf#E zv*GBy(Xt*H+Yk=BwRgI`B-~rZK$)BJqO+_ARs=(`r!jZd`akLhLYMP+bzylS z6N#p!5p-ACv-P0{O~uFN2ofcTDqfh?EjVslQeJP*vPa>Px1@2GG@MlX&xN8kT`xO` zP+u+gZiwV)QJ0i{3q4c*^wMML9egMQ(~$1dUbUUS>gY?>=?-U(`3WWL(bR|2B2 zC)uDN-{v8A)aEeUgZ_ZbMHsXQgBD@XA`DuDL5nbG5e6;7p#KjrXnr~lHCuyXNF#^d z?K7vb13jjlEzB~=OUT9Yw2?gmV_0S!K^e7)+=iL)AhT)E2MNIA86qPB14Ixx#5jK> z;7w7-&|5??j&lFg6w+aL%K9iY*$bz{LlQ^!!igO1S8d$btEhg!bXC333gi@&$;&*< ziJ{~nX$KL&5RPg`zwM*;17Xl5OhTvse~n041^j6d(=@0oai)ByB{7A5_1XcZok zvg(Wx{kD8(baz=MQyfBCh7bA$sKzpufc8Yqu>nk1GBX82CQbcV&bdr=ma0CLc(F3l z`oB~<^Yj9L#@_u_fKV?}1zy7!9I^^Ea2qrrimtAD7j^Gd9%@D>&YNHl457;)ktcp2 zUWOkg`;;DF+gt%wjJ|3hDXb^(O^nr=pNnj$j9j}5B^={?4a%3jgT-`iQvVhjChwP@ zs)EMIh~0jJdu?R~QkALp;+wdIv>QJaJ8th^{oAxcmJtug+evbQoYbjn-_$pd z1Um#j5#_rWTK<&BTnsIL)}veuEq~g0TMR9K+D%#vEsLS$i^m@pL(5`l`SM2fVrW?m zEsLS$KN}ZXL@kS`<;w><77L=qg6NAU5f?+tVrW?mE&tgd)M7!jSP(51ME~J9>LO}c zL@kS`Sw%U8Ke0Xt6k2ERGh7qs8Lr&x<4aD=0OCLB}vTgkD1SK2iO{T}-b5Ewacr z+!VV$*dgwo#$vom9h6wqF zORI>A6x6zM*Fim~TSp#hGtjCfGO9&N{3$ldfpP1Sxp90@(Y!f*8Elm64`&Zg)O+g4 ze*NXlTX~57pkEa;5Tly*z%ZWpQ#qMEvo|k}L7&4-U-@sEjHhG>##>JSoJQH0D$LBN z6YrxYbzoX6!!W^h1>ogcqhRnVtAp=1os2YD`v39hacCZW$`CVaf_hsErKYvurmG0R z%Sh3?ckarcth9Lc={{nJTyLoV*Pqzz36RDR!gM?~&afURqQ8bvj#0?Id*B`8($8?) zU>bC@$?Pbg4nmg)y)As(mL2Uo`9e!S-6j3T2kI4p?7_iQSr1eiQC9^%(A_^v7Kld- zY`~shu$VoiQm7On{}VXb zC?76^o(ru2uCCFY8~4N!0}WZp6J19KGwJ#NroZKR(5z+9hN^Rq^N_k>i((`!BhlIlTw_t11R7jvg`iZX@EY*;Xy1WD^%`2yiYAwS60mD)3xe*v8&M* zUw`m?jXh-ubC)7eG@*5kXs2wy^rC&s0&h@&QECXctZ~l+FN8xfp_N5 zihwuNWBa~I=i=v6H(wM*`l4s&NxK!C=MEj!9UR9MAA zg|7(=iEl)OehMfC2kfM{G^%e#x`bp;T@&x47B|A&S7~vY!rzwa2Oh8I_5lyGCn|oE zcm_8plkvZ;dr*y>tLmQ7drI+k=q#HVvM0~-<0y7y3}vluyT)o%6B^Ni1#&pzROl5r zH--(Sw~K7O;Gan#Xq0Dx#$F65L-^Z3qf+;L947E^mxF2POj!$JEnqUEE;?Gf3?vV% zq<+-G?%ueebkU3nl=%Sge}bKv7FPx42^3Vxv0l`QOgcYQgU}JK7U$Xn`f%;zANA5*2xD{|;rg5;X2S68 zY|YRFZl(kL2AoqJ)bG!~^2E(fr{E}5cL>QZBQDLI2r%BY05OK>g6*#(->4nk=W*Zv zd={(9u674@d|Q=mI8edC+-)`IJyiim5HN0IHYh>`37C*zQDYN(aAaXt71>RmrcJHx z*x)>L6U=0C5kKm^#S`->ILxCVn-9E#CC1jA%0!W#WY7-pcGA2*Keu4<49t8thSo1c zrDu2y*tUma8GSYcj|}^68Ns`EE;jGv6JGG_5EAp)w|RE@YknxDM-xp}@z<=-gb)ch zumCNd=z!4r*ib`zaC9CV3#&x&{0sqw%^sLU-OP$05Ac-qVd?hghDA=&YBb3e@Dl21 zVfPGPm0B`f9|ufhp@0sCNwr1}F9QP$6SLn+H(`5$?8(a4EIBQ|(PGp$Vluz!aC?dn zl=%uTlewm7)(1y}p@yn(#KuBmW`yuh5VJwRUI_uF#W6QZcwEP9F!VbS-M0r$mwadd)3M7}=rxcpcjDD-wL0TeNl2>cd>r7J7` z_r-AzWkKVLh~ms~R{A+j*UKl!=2NT>6g&D#OiD6UFv!6ea}J3vAe+0;&_e zw_t&bX%aKy=C`%V#PmyU;X|RQLK&|A@klomd=p{TjAP>qM;5iM{4A}t_ z_T2_Pja$X(&bZl0fW!k;Hkk^?F~VAqbBU_-PzbfO1ycu~jNEhg&Ty2j?33LrU@S4! z4G8b}CS;t;WsewSK&KLs<7pX;;ssCv()X_pda**UdyPT{X(sU}@ZVz}gF=6cIfY=w z08k}l5J$Y40Fd|RxAnF_-3cgim5>sRh@sE40Ob(oYZQR*23RStPniI;M$W4po%IIQ zBEwkeO*4+focXrsF!6?kCSowXSPZ!YjqHFkDnV!w6uAc-0hwYI&Px&R-+VPtrUT=} zz&lF=*C9sBEKh;m@Fd=Kz(n}&Mv=EVs0ZjfR|;0#Lg>B}d%LoG`@>4!O`(y${<`lz z@8$Q8-t)TADfzdW#vNnPvr#F^&~*~ z!S%mg%ohRW2gN?=GrIp#pV6G9&v-(l=63X5woZoo^Io-kfKm*0jFcq}MdK2Pp}RBR}nR?^Hn#M;n0~Wl@_4kax0bI{SMjzuVS|$pjKGh-B3}Ff0bz|Hd?FT z#7ePYAr!&3_pC~O3s}i(r-KC3`9USJG$^qqamCg_H(RE3=_eJ#@Q*5n;c>rBKeFi1 ztMAc7s_>na0!8RzK6DgQSPFE$phVxYoyJnDL5V(%Pa1|>|EOWe18Nwma8^%$7J1B7 z-=Do8@~FJB_cf?tc##cr^Z>c$v&duA?;?+WpbF-r;UyxprjT*Pt5w4$*O5gtzH$s9 z|HeR0W~H9OydXK$9!=FjT`iCIlb?cBYI$GWxK0`*JmtI`yLMkf)0TnnMpL#(W@tRc z*lpWPd+N1rxeQQeRna6_^r@v+;Q2E%ep%Z8DsmVdYzxI8Sr%qAmg9wh{s0=vGgPsL z8fBPgCr}Ov34bc5%rb1#k8N1#H-XFGMT0#A=+%D1`C@!V3%1C2#Mc=hgrHr@@=p$j&qplNppv|fmm^TX;(k{`3lX4GxLtIQk# zbtJPN8{aZMJIpJ#AG5RL(Z6WfrW$Qmmddvy)S-N4$a0Qu0~+)T#tHR^@(QqrYa|hc z3)U_M8{kQ-2Kc}(5EGt_zYY9yN-VmsQjBLmKbOEK0gu*4f71OO|D*1&D@*rRIC%H(ih%C=avu}{ zVH*Njy1y<&tmUAa72dvlN3yhN8CsV%BRl^*+!!Wr(J)y_eB^B-J+;MzA z397z8;N9Ogqnwq*I`h9DJo6u83aTHJzi}i&LFq}o&enkhE7+}NpVVDS(Y;ACQ!PR?eud~PEfiu^pm!$${)2|r9o|1H<6IR z&*HbXL6@x-#Bbqi%Ys?juIrKBPQ-}M;iZ0q|@5aXiymUUzLNKH=Vbeq4P7Bi_ZpJQkfp0x z39p}+g9;MwSqc&k-0E5DB(bHarQ%%L*I=Q3(E+R1f6`da{;0A1Yp@)+B;wv4kCu7vAX`^ST1GL@RK%#L|>o%N3b zKDc5x%M~wNf<4iAemCKZ-;ah00hD15FMK^O*hh?nBPt479ao z&hnhpw=!Cnk-E7W|03UQq~{v|8?!dAQ1W2lrs|6d?D|{jc)g#)jIX;*(B-f0bz$gJ zH=pA{lg;T9=9Pb@MvT8|+cJ=W5ri zNQi0y^{Zp|G;zMqI#RVaiE^w>>|e!WwUy=tTsiU2VJ-WEdhlF7iS6no>uqBhGI!+B zz0Evqjq#e~JQU*`?mF)J=<(f`Yb|^>Hm5cy2X6ruaz!+b&4A{H)=u^}B}iF;L|CjMI`3#^oFkRw}Kv3uHe9P!6>_ zu0~CTR?#ZmiQQwF2{NIg|0UPc?RFT@h;0tY#?RyCIFX9me-hgjP!;w*R|3(E{etW9 z>vXj$bni(Fyl@OAruqEtW+_qF<@2m0d>JvR`He|90Ys>5r^YJV9LKByJKFK7$NSbdQhTm z{=OVJ1gdi6_>=haGw(l&KYM}V&p~QgzpG5_G+sLg>~L?oz!N z)Q|=4dW$K1mE;yVql9D6uY$Rk{XfmUR*sBXNPq2>SQU7;^441%i65G|PnQ4CFfc7# zkSD(E?NC0T-Z5`~{1R4_UT)v@UZK1FrgrMZ|6bUO_Q+H9mZMPzwtB3A#DcUcYc%5r z_q)sT3X{ObA^EC6cAaCFuwq3nzh)B(gpgxmPc3U7`E1?@zS>IIcw9R6h>B zTG|zl^*@X09GWMQe2y_NJU1bzFoWtlvoHGll zq*~VA|8F^-Ew0rVLbF%Q=eNdAfT`oBv7YHwDpn>>$;BSI>!iDUFB_q_gis)joK|d> zwR$t2&vbloiFILDNy*v=<;)%$$}#FMvNl%-525AiYo4xIBUt`uh{rPKy_$%7 z;6L3F-@lxNQBF;c0r%k(56QjyA0}3Q14VqVj2cu4btFwyVVW%m%4p`P# z&@uA@9&5Cr5na?@kgfVvE5zeVs~G?g+$%x9x@*9%fmcpK79$+v28v7S34`L2)dryE zX6ivUU`4FfzKQ^Csmt`GT`QQ*Cuy|zi=zlC!jxT8@g{YE~?=fu3g`F0EFK2ehycybpT zibGqWKEA`9YC}G+C#b8*740h0@Y;qCBlAS+$2MO^(YP%Js)87ZA>X9$=7Y^BWCoj zarE0-VV~pXHRJ#p=incgzRsP1ytvkoF-vQDXd>OmHl1zZ-%w@6748%#V*v77I(^e4 zMxYncePs+5xC1)r{*(psfO?{zQP$j-lLtBdFXJv!sXDj238c51e=6%aP7wRWOK=m0 zL1;3wKBt@;!v=faE2wlGP2-L8JG~Bt76|j10%>GM6tqH znz^pO4SSceO;O}@1MNI{pObog|J5*?iiB1KKUl!Fc* z*QZThUuwxpAaj}={XdoUNT#GPWX%Ekd{8f2$UlTXN}J>OB~xXUF;dAbsLYei-<&@7 zv?YPBf6E&deZZW8RC2@=d_e#dk?zs@{=1(Cx;^Hsse8tbssop4Ol`WB)j#;3@|b!{ zJ$*^bDQx#UlnlTP8(rYB$OMW0YPwV4DV}VLu`g|WhQwXQHsf{YohN~YK+P-V*cjiR z$B0tJ1Cv!cNDMA#eKA8}N-pXjK;Xc5$-J(qV)l5+WGH#hM=J1JP1s@}q}CQ#tN@52 zyYyCCYWQG3WzxTrjZc7t4e)oR3x2DbzIFGre;?g&m!){-R9k8h8eHc_H zwtM6NOg0PYM3ROS0D(N$s%x)xcM#A(x{SfMTe9s`PHsNfSO3kSilRWT&JBRgKxOuS zfj_=Be`)mn`(tgE4Wm^&5S554tT!dCMT&|4!=v^EAx*2}_(+Z%Wikz~2CRKXYgeDj;M3z_ zbxytsGB!`@yW2B0pT|Egyv6$aQ-xyUe@{Ai&##C*^!;--0v#lK4 zp!6!ZQstHCVvZ!Fr>K&{ZwEOG%ZRPE?<x4l8Yi0w7(#fdMp*+@ZE>f8>TMR zDnVW3VkFxb%V}H8nWe?{Dqhgwj|hD$&RH2ZUy>()7^kOUp;t#S6Yf}OMi*nca#_ZC zUD%div6+e2R`co!esW#KYZhTFbq#V>Ge`ii1`-+!=R&z}t;sW=U{A-Q7uVJ6b?O61xpIDOJG zqBGlZVlOfd8zOUDC`S9beoLBQH&`J-b6`)(mSxys$g}iad!HQnTqf!2;LFs$iYB6* z%JG2NOw@9`E#BPR4ZH!lwpNg@bk9}Aj3skiF@g97hVHn0>4;pA$QIW<{R)-uj}5^s z^rXSXgk_v?)s>0|HeQnwLUtK>&82f@TR(N3+nwLSYXr+v^sHF|y4B{t1i`Rz4t^O*T zkF8a1N>4$-7_})+p~4`vC5DeJ;Ihl7JfA*ZU3W0#;y{i+j#rQ8&syEW z@qYhtLvuP;lTbWihIS{v&fBUy<$%fO9-QLBVHnYg@HA-9?ZY2^7;~{@qKMwjfERnB z-bIQTDbL(isfzDLHe50VAzaNT2sh)W8W;6-u57AoU}8udFQ!O~UvIGc`%D--wxVds z_itIuPUV*MP%s@<;id|$*Q?HCrt#1M(l-Rz7GJHn39UF^oB4sWXMzBPG?Xa6_4+#C zH<^h{u+o47(+@kEgZhr_ed6*tFhhq&w8Xxufn?p8WL$6y&lH+yqn6DF^v?uNaQ=PW zYk^n_mH7VcE8IqF)*}?qTXdjvBMRkB=n`7Hw2BjXY#~;FF@q7WR0T5pDB6ATxL%8Q+d1_a2n$Js!HVDq<)7&I?ki6svaEB zCgJ8t{MIP{Uj0|?Q9|PdmpLJ9TQ2@>20TIgrDWIlAD5?}S@+-ZlPZ~ECA;A;A(X|K z7m|JAI`{$RMh?teB|O4!fz8%*>8j7`%AR^@Lr(O+bbF43$s*0RxIjtOtPv)r!V{U# z-Ytr*=LAvS?zS(*c+T9)P4fY1Gu=~f;~%2C+-vfh>*+#kcR|2e;jY|kYn$4I{~mKZ z?OTCZ`~Ca6Qd@N78;F0`t;|m(6%mJhL4{cjw#zNkz+L z<4V&a1<%$0K4R{(aS=J|o@p{kwJbKf1N@DCpn;LM9)K4Roe=P;%WDlH#f?AU(pxjKQxg zje&!uI+4H&^VcZ*3^^Rp^+&$e$h+2mS`!K-%W*BN3BkUAIjY0lQ2*|CT=YvpOLh^S zvKrgmY?Cpxmmg|BGTy0+8oYqu&d0NvcYs8kosBmhbH!gqOz3mDjdeYs>GM@R9=+D2 z$XNJb#sp?YSusrTWBkQ5asDiRYVgd4K~>K+A694rf3||Lc%1DcEG{?8!?(U8&nbb? zx3Rv4aEu-1FQfFi;<$sZH~wnZl(&h&7AZY*+1-zl*pK4_5o{`<+Uxj{k&L?s{ zyJicP$chiZdB`-@5?f^^1*`A{4YUS2`}OZXUmfd2*1cntP(f4xb*Ofy0hd1XEe^hQ zE>wVc;TU{duiN1}CQF0)VgA*%p8}>F(JB1v&~4%~J&jgJaE;?_pjpeoTWI?`e@`+z zr0@{G`(1<^zO2_QY$9E2n+7}p&>vs*GP6AEu^Dm~nxb44UwIz1o<{v2tcM)(yqEf= zlYF2nHhy%)M9>w@uJ%PyIDQ^KG&4mFK4dhzk#eA;0PQ2u_}iG2;+!?PD;`WZ&+Qni z0^4|DS`MF)(apr{*sq%AQ}K#BSz!`*(8rNl2{};e9kc!K;r&JCii6+%X76uO-L7p% z8O_w52i7#8sVbM<8<@5kMIRw?;P$6Dp9 zhWOmpD2Lr+?GwGDQfpcJM4c;t7EIGL)f#{sgSV*gD>wnyJ|tiP=dM7%D`nF2sW_nA zj;3(!`9GOYO$WdB>o`)0as4B#ar#7Oa5aWyN1-dXf0h(HN*>O{Ou$<}Mk$*X^r64q z`;^r&kw#`(PfVg-KG*{DPrCI935vTNu-^97NYDY?04%%Y!RW@z0iC18*q_J!SZSkc zE-pglJ)`PF?7RBjxiFo&4YVH44t4wJ{z~2tcMKLL0%o1+4}Db+B);sFs0FREnc9Xb zj{j~Cl^Z|7>va!Q^(w8u#+r?lJ{1m5pOu4F zoU0cv0Pber@h?JHV;iu&JSZwpZpn>*c0z1u5Pf!pJ_X=;k%vw=6_BGGkNm@C(SgCC zzdELq*iBKx=yf^Fg_4)bg|MGGc>B|qYUh$KdDehF@AvGLj$kurZ>!RL32lsAQJr-a zUSV{!(!7KV!2{d^9dTh2CEQD=ae&?xacWiv-(j!hE3`otapZN|=ea5M#Ln2ixU4~a z9TqgJ+@#Xtu>$hzaZYWS^A4i#$N2wh9bq4!z?9DYBh(IBB9{uei0N~W{28K>sJ zrhgw>?TG{lF|Bk@H;;$GEwV_Mmf4?ev4E%fmT5 zN9_YZZ|h-u{#6F+elcuFjT>#)1LZAt`x)$&I#emMc5_?qHCv{io@MW(Z}y#q13WV9 zEXt4dDr*r#536YEGuEnZ0+8P<$)5MJKeGfur}CBl;s)CsxP=6Aw#Ym^6=WX`>>l@9 z*Yf@hR(n1KUO1EKP;xN`mBIS<{rTHOksfm~9#ZB_0{gzo%iiQ6oyIDV+3ldO5tmtk z-8@IJ2%X}Rzgm)1pZUIXfUzSWD19NmBwDU#C4enNX;cb`PcG8#xM`;IBS#%OmO!@1TaFo(p< zn4od=!o^>gb#Ys-n_@`?z&0kIh^91M~ z^vUJ__&5dlBkZ~nqpzDifJ_`VZ;}?IfIg6QtxXL1V(9@Ku3(~?sX;Z#Q;F&%>7ZXc zKuMv%*f+Jz;f~HKCG2W;9lh1n^m>E-qQ6EXIBJ(6>Ip7Y)oC^(mw|_S}9>RG=5C&!$@4Zpf)5zW$apE#QUe)ab2gP?E)D{()Q8o;i z*&65I`0p>RagNEgsJtT>q7|8OW@A-ExuLp^+A?+y)ju|@e!M?#0&=~y5ED2hWr0h> zP89X6WqOS~TPR8vZsSJc+=%Be)ugqiCGVz8IGU-b6Gd;~J=1aeCGJuO$)mM7hlO6y z+~`^>zbYyuy>goOHOM;LOa99Fun1@M1 zDftMw+HD<^qgK05fw4t`e zz>#!%Qcd@@Rgfs~A^b9Lurgum>*LSmVS1qP=?@-#=E1YfbjY=R70WWf_E-?@3M~da|JW9vCS8P-#wrU{Za_-0!wqBi zzgkdzyB}3tJJ^Qp-b;h5iyez+jIU$lnUkki)3Yz}5zWXV6K|>JE`vit^vdQGC?-kh zXcby@O0FMUNnCyYJhYl`_@@5aRBa{j)T`5*I*osOf9YhZaxMW!f7^f=RY+eCEtLzo z=vy7C`S3@71=$|J1F#s8uFXF`-$m^V^uq<{uKkDPsTIyHjRUnj`U8p?tlPt`!^Cmm zz}57QgHA7iW`H4-C{={u0Y8?my6Jha#mHdG{dDD9l zN6xhxI;?ct#=Xo&@6_Lip7Jov#) zuTjdjK`Myr{HiKiZw ztaxJG3hxbl?%iJqG}eLKDm5x-D^MsMH(XOU)sNR=LdJ$dg=ydwJ+cBY zTp7Wf9pJz?>p|axb2_?Pf!B1O3uIFgSsh6=eY$ZL4EEZ6w6X{tM9<_HZo2tEde;b8 zBB^;iwtT@hy|+j{=l$P8%)oO)YvM(~i$Q(m>LspNXQ+}#6Y9lmNMXaVWBV$mtM{n= z;ItiAn`=cBt37{H=Vo!9YMxy`uT^9ALa`KLT9S=Vs1p}zI{=b)q9CrhN11@4QE%3w z$B?v^pkAS*RV*VnQJEmo&LWY6>;0Rk^jAF3vc7YIDLIhcT)vj9i|GL^(qt_ouQmHGVB!o!6` zjW?tTsZJK{2PV*1{-b7JYgFlKkeiP%bHK88YNKvr5w;-Z>{n9_9^NRSBxA>oIRFFS zqx&k_#NY-$dI0y18sa|aZtt=F;qbYIE?RpHeBSgqWkA>jACKyn7KYH9wWS#&)%MJW z04RN63P&NCU}m0yy~!Q1ibxBj-`0aIaf-<0z=>nO5z53R-sRn7hg~0}yw(p4T%feowcFdlnrK7spt4C-AcB-4PJ?tzfv^PuUTL>ibshk(@TLjgV+c8c zne<}|>ded&(AERLYtuZ`yK?H^3a98_FjMXz39&kL=|$t?y?Ll{@F-L=&fT5G$4V6r zY^CqGdC}J-uJZ?v8AH?KFUUh(G3bJxS#(C%42Pm%KqeB00e{=YTeiRy>Y9~gJCDBx z^_60%7z!u?1cvG)Fk-hm21|E>?!AenBv4Z(p5*%OE83vDGOzed&=fep6H$I8I36 z+8i5(;25_o;5Mt02P5^sRGKhZ1KgL`#hMBR8}#psF0n|$-!-fL22pmR~+ zDt;%SoVBx6dKB9y{&QH>bg7Lu96TE^Ifg7Ogo?47Kwp5KJ5e}c-#p2zV(q#!jqZS; z?!qaT1rs|xECW;(Ds)?p;VLkDYgi*T8FB8+_n|?y6ZsdpAXfe|$6vFi*momBq7~|h ztGE9yX7hLC_F1Ds;t-4Bwy$7W83fYhLENIzeP_kAN8^}SSYD#fX3<3Hq zVh0N?3-Vyx=LsKbM&_Whf&c_DNl{?F*C}C8>y*i0xRqHLX8#tqt-I|VKLPJ&<52Mv z+IezcMcSz=KREDpyvz!ttaJAr5*NTeK^@X#!6)xY|NiXtSVgu9k6pb7*o@U$`K@oh zZZM*|g;4p)4YBuy|J)6k5SMOdOLoeE8M=*WUU!WFDLlY#@2lmjeuYM)n7Xt{Va_YB z;+zlM>6N@nVdjc*5) zkF3hn81GUDPtNOYU9G>4XSrEPD5pK@j_x|9ZqF)*nF%F-Cw?e4{<4v5F7CdjcnefcO_kH2=zFNDBhu$tlc&+V;c(9-E(*7Fj&8hZlI5QIN zH62Tmlq|}vRaKg;*BLjZXYNVXSYJd@sN@kZOsR_orElx4A@hFM%w2owaq!qIu~pkW z?;hfy6&Q$N9`*T35H?(BHjv!E!PPD|5^f*C&xP&1nBM$b7eVr*|2oRDJf@e&Z(GfMv&Hhvio0t~qA(j0_Uu3hA1i#C?s;*eJx{a) zxBCSyO>ig`xP!b^CdGWBI@-HS55B5>xZmyiGkqD+0GE;Nr_qt-kZl%H@JD4PP%o@)?H)pUp;C zl~SKpewaKIXO5NHd! znQXXf`z!9Z9I0ezF~X())@Ko9mPx zT*$R6y-CV*!;V!d<6~!|=pnw6Pl}G-H8M@29kK#hjboG6E#M)x4H9U>sGweDh12yp6#PUK=i`rXnkRH6QHGJz8z% zQzx!;%bYm%Xm@`6xwDmK09ICl6BobS1F!>hgTb zyuk5-fDCJ${bC2$i?E?*%a2HVX3>pYbT8kwl+7v)d?xD$Z{2ll)a;jQL-PB!4KFD< zvXWTyHroGr^q?Gjv%(4=L*3V-3Gc(W%}uPZwq|f#Jq=}{X%he=A)SA>+(BBka^+!F zGMP`(bk%k>0k_tcG+Bx$x1pA+_lE3rSg4R}&zcPTB?qnFk{6WY~eRd=fhfp>?#a2FVuP{3U_Uy6|?loZC5iFqxj|o51c(E`_WSIDDl<#XI;)|5%$| zfKUA|gqcT8&)%{>*o_J|yWjq6l)vpW;ndnb!Q7LK$Ey`^;7=VHQX zR+QRXbJ~ad3^rvI>~yyDY6+Lfl}6yswrru{X30dN1w6+n`=u1ll~$J*D2yPm!%d1o zA3M_Utv+V|f>{hRVa8>ntc9N5jOa_PwlmC7m^nKn?RnAfwY5cqRI=oD<5wMCPfRP~ zTVI8=oB%fi%zZ;eTi$4iJzHX47;x7gOxrW(=OoXXuCdG%JUMyNR<(NL?5!Yi%j&sT zS$)S3MG!zlB$f%solEY%0~0^J-*kf$<g0lm{~@u+Dx+UQw{ z#EBx`BWHOYr>7FzWh(7~K(jlwZ2IXc*W0<#6iBCX7Z z+OQo}uU0BK%o~}QjTtF2@_T!$Cl6$s7FV5>Y)d&nFjFoQSG`VCEE7U3*UtmrYI@|> zdFK=@q(%j|;~WE;$A5dyqih8D6)MuWP$Ue-ov&5;JKRR=eE_9A%#_2;G^1>US`~lz zgnGbfM!dyhYauCRUMBPKyuNK{m-Eo7Zdgj#xIr9glD^S%!;x2yygj;hg+k9Ks7XM(myd3qpzk+YeO61%n>Z3bd=G^4$EtyB|=H5jd-#n2}z?pEY z$n4@9gK;12-LC8CH#hlzw{?8VGJ9sg{-`P;iU}>Ub({OHT+rnlmlHCZPR=LSyTh5Q z{t0);&f~6^POjNavoHD;C;ETQR%tE3Xmo8Hi4p3dWqVJByTbw=r*w3V_zqj=^Gw-em9R@ zJKt9&(?>MpCgk3&sqYkXC_3jjQU@MK0AY=q($E}7HwGyA{pYXI^8&6uieZnyl|m^K zDY!WW7z9H#Lpc%+k?sILF3%qC@A3H3@nVixM$MEa^<^8THkqfqiG=E!T+{r5%FO8C z$=8~E@(U-W)}WiOGS<<=UH`8rB}k8Q_7|kumqI5>uYadJQffiFD-Mz-(dEX-Xs>$p zq*X6d+odH+_sAldqrfw9nFv@*kR?eiQ z%bxAhsuWVNI_e-&L&$Zus(SW9TbFB}_gENAv55BEHMn-*%C2p}Skr|(^7BW-isTeD z0C@`7JZ9^r^MlDl;?LdnYFh!b6o$u4Z-GyqlPU%ek{jlxqu#FP70@Bf4k}NKRXFwp z1Z5N|R51CaTjBrrT=Ren!La52R@FJeIP8Mncv7oa;aKg)qK`19iy{p2!P^{$1%+_= z7p0=3>gp?mgxspCCZ3&_81@LLfw#Zc>}~BrT}d;6Px}a&J6~uisj+lW;J)|TI(-2k zcCKmX_E^Eyf(znJJStbG7SblzE2VKW+sqMYJ#GZIjp7YH#-nom~=x;)iDfyM+V>7ytU~sX!kA-a{c%h(0D|)Gkd?+;x{cl7p`-Vipucm za-E)TUdNFRk&rKq_qEF^tQRPCx6KJDPM+zGgWLjB%t4bD$P34*{gV-GT*^GCB4>|I z#!G=>cd!HS!hAFBRA+%lFI%%zd5wv}K?`W&|6}jX!=c{a_~F(=D;-G-COM_DRZ_&v zoTOBec4Q|cYsA2v5dZ$df@Q5~jsB&*D!e;k=kO*)F(=kEMt3F@cHbA?FFWpXDpXHXO44@Gm5CsJ z73*K!8MkBlZ4{groGnwg03Yvp@pl(SkwJs~9gn9=+k=MAgY>GO(p7xZhr&Rkt)qV%9Cq|W1>c<*AE zX4yS*fLYP)t1>OCRQxqeXn9Fza#xfb|Kn2TMz9$7z=bJy>(XHG0<}94b_C;RjpJ_g zGp0{c-Y}Id<)ubdww7begktt+ZxP=>;gw8r@ryt8jI^2G!uG(zYb#qNFU-R)kAHVK zP6v@<1g_U|Zbs4e_)qYON ze6IPXo4yE~=^8iL!x;`(QrFKJ3BR~Xh4*B4p()2m ziGE07s18|Yf5p5%_gXp1q(8naL_ag7tnIYFTx-bAZzE+0{YA(imtzswI8Oq!++eej)7`mmtZi6Md>bXCd&7IdTJa4-@a+H2*h56B?HkAAR8HRe_A$|M}8$*Zel z$G7gOPJiL@qlr2fWOCmZanxpkV2_eZsI1ZIj$n3kl_Oz=R&Hna2WhnZpfrqx?(p>_ zlF|km4ZhQiyJ)P;9T8BXaqfyhLw0x&X(Cq5*07$~%vMvQO`T?HuZMnOgT7Z9akQXjNc$?ka0QipAmLZFrX+ELWGf$)gWU*73N z6;_m=afk!6wO&zJm{6hc0BVnNi16(~Tn@giA|D01L%xwW!}wYzN6$9m$a~mU-@%Hu zD7Z3f_z-q#0xG=TZKYHsjpS^I>ZG3{*oE!KvhJDJ-0T@Y&@wqup@dBvi8i&`xW(C~ zIC>f&hEq;1Y*iGls9B$ytP=L&tXF*9gI&@Oq7Gcy@S3f6vnJ;-W7QSJldPtmC1kDBpvCLtioT99w}5#f5@Y1)k=?`L3KI+dKa0dzKee64WKDYG8$j~c4J#yYFdtWTLJ->&l0H!^6 zmNz#JkjvnB{a>8u>W|LKUIit-f=54qjH6Oufa3M7O}jOgZy-4hQaO$G z1a${nPKPPOqp#nOT^>-vhMLN{;Y49DZM@H*eWw9~L5~#+38A zPxZ2v=W@>~f*iCmZ!BZW-aSJ}^85n0JsmqNYE&ae9>XsQb9oLLJEx_QLTkW54P~n? z!lQGv$63Z8y=IsFcx@~d_nkqcI2c)EjId$#`@sPB>bmTVW@3oD7jAh!C2V&b>2?aM z5NQb7Qa&0Y*NJt2&Lr`t|6*c7G#BoE{pg~jR|WjiR_?c{WnFe#8&syQdH*ifpgzmR z6^f)$E&l{g)+(}FN1UONrOV%aBQ!A822C&Q+@5~>-Y4W4FQU1;5v|eHk1=s) z4908H^m44ry9>o3tOPaI_Rk{8#~b2tdwQ-3^MYW`64)dbKzU_%Q_#CgL7$)Gvv4nK zvNLbsjRxKpcKppBM6V+${raT38mb-rMTI^9FS%ak~YCY-|t}#eAoc&+IRhE`fQF^2nC~RX!sDXE){q-no45 zXKKQggVW0wp-{c9SNHUnAFUB^!8}9D&M73MAOm4@vj=+1{e=UAZ~h6yzxCeBx#4;F zUgS+A0<5)YO8^+@(;uH{LREs(%L6(PyC5Y)?KZcAN8qJOH{v8jCxU?J2mXqsi_t&F zXKfz_VyQRp_jZFthTp$1lY0ZtUD`O@AO(fA`o^a}+)&{X*Lnz^AqgbfTrW@>w&4f< z9?{^p?CCnpCtc&$3Azg*r+PYfoocVzab(IlWJx7@qK1i*Lc}@{{nHb0 zglq{P{wJbesGE-3_|T1cnZ?n~ zn!03=8qdVcVb=nj#Kd#R#$Xm}5c3@{1|q)$Q?d8LZQ}tRb28+6RRl>?ehZhkvu<&5 zO%xnGA#D=s4#qYA(P`0naT1uR0ME;}!Q|uzZk3|8B9QwFR=ARoEH>mro)xXZ>TeV~ zIkmcMdXA@6qy*ZbCP1GY0j4IezAOV|KM7gypR=c2soQfG4}6VC1GPuglLA{^iEjqZcvP-ec{P|TZ}4asjav<2Yd=NinZsLhP?5 z7|v*tJwF6iMqr1F0cU;sEq*3Z&jrJIQQw9qC9p?NqZ)Wrb?ct2KU&Ie-u11cHNSU9 zb@O%+sT%<@ZuHn?6lW@l7*7vw;JLRG>`3cZfkhjHV_Iff1oy{yA{^Dcr?#fWgZAK);vcqWUeE#W)2jw5!Vd2cAzFD)$4rdI!UsZ-}gm7&m z1>jskp5uj2ThjPCO~F$6bRpr0C#8)0+I!|a_rIpwI}7^mt++cZA^ z8$aP;L%paHgvX!_Z0>p3;)DeJ#8g&N>OdBG5A*6pUfnYXmek{Qi@!x8A^^8uIC?5u zL>2JsuX+-joQ6M^W9e<`vNT+`4D%QQT(Nl~2`zJ3B&^ABzVH4i@kfU-{`K1kt^JeL zn$3!#wOD-xQyBjWM>0m&>-D(Rmr z!IB(Dv&VQ;C1RxKs$p?mFuWT<+Z0XrLp4~addynW zo>d$gps}8?qF4gV-%aM6)z)W%Bw%`*MTzLav$Gs6?C=$cEt_WdxBR?FIX}__Gj1>K zan5LUJQI`ia@lMFuF$+bdw?x&fq~Y)t#TQl8Zn1e zR?NBNARcS0d*^1)J zMN@=jD1_T+WzTWtN&QA^!>*5-*gTq*2q~w-^T-VQhoC2IOWneFVf@2Gd;j)JErT^? zitbDsUrCo=yoQO4oWThkVx-XmP1{=}I83I&9XS(?B(IV9Mr=!(PUeDHvdgJtuvZ$t zH>c-~F5*gWx8_RqQ~njh>jC9Y6S`G$H-%uUkHSk=9e)UJXHE~@F@TjbV6 zzo-B>ABR#>DGH9ZRve!H<3#2EydE|D9_(F3=8PuCJBkfLc)S|T1Mn*~>(5i~&oQ7O zFWcN<@R9EEX6Jr!&8Uf#Sei#4fC3k9>mOejjJ>oHDA!Q^yc*}Y9@<_Jy}-4S)! z8#`16L^7F4DQX58R;P_-i3b<&f}K`q%JxoOwsF`iS^Q}|J zw(pUL?iA0dSgWpT1Wt9@;U{XDgciCtBNDpZ98C6XEs`a9(&>$01U?IxvAcwAn4Rj` z7L)dhlsEV>Is)n1Dh+FJD{xOwfLpZus?s_KjoML4c81&&n={yd4>pcwPeu`Q(6ba< zPo(Lbk1_W(*`0!swDMAJt;6|(J;EpcLYVcT!xS{ z`Z3B@wUo!!tsflPE7=7Mr^vhoj;qc+pKFDD4tlhdd9q$Z1LD}mv|x=NcbHF>&?A*o zK>A3!ks+ItO6y$5d^jg0vdC2ippz}rCb=-V=z&n;3Tz!^8!=Zy|ePhNP% zp3E^e%v-Ini`NKV6d{e)5TVKz&>SLWK_^#Xz=ca1r~`u+dyF|ZtP zJDqUQ3r*sK6gx03#jAff8{LFZtMssaO#&H}s^nUX5clCNopZ3{6G5QP5uU^cDRod5 z&eG8hDLNCviu>Un<*}57D*g|_dFZ(Xm2E!X<~bxVW z`_KF@DeH{){~Djjnru$ugWy8?Y|z#CU^#vFO2kGV|GCETFw}n{CIbMJBtdJu z7mA8+_%YXZkp;QI5&wd8lVbv2r4J;oGnaUfSeYvR7UtV#Q%M(~&XK^eezO17TIhu?Tkp=w}Z)wJC5_EXdphJLV04lsrc zQ?F@y4AOy{HGWF;01WsJl`mJw^otC>VW{Qnunq}lvCtWOykc*s8AC&*jU1QP-tMH~ zRL_mP;IjH(hL>)=AOD|K0)Uh(ITnPc$|G#6_QK;71^S2&zwoaMjy%@r_$`=Pw^G3{ zbnSg#AqlY+uEt?EwrlLSJL&x>T|JtN%2*uJKz%Z>bZh*l!;9j#-qp??TzK(h@AHsX zAH!6cLOItYALY77ItF1S81RzImG8woz1ryVj+K`m%k{ihoxCsia)J=l5&l zv|=Fft72fujACF0Pz*FINLmOf2D*8~s^^SAGCsiz1WF60WqhVQKHrahoCaikG^X#z zn%M%m#Wi({zTA&>+86}MEk?c}+*$Ic@KIXq#;nP@9?F$Rmk0Ch8g7_eD2sU$`qFZu zu0`51+ANOzRy2oj4hU`LTj3J@92^@1`198p!&X1hN>+NgHqZiPaMZE2w*r<1TO>AY zP~Bc7<9_J#X4(#w5K&0VEeu@adi3QQmne^i8U0k#w0PU?oRFbu@iq}4-qsDND@Ll| zAjzYk&4f3Gkfgu>Bobxu=dI!-;d8muw~Cei=!`C;PYVT(eH98Enh^@50-->nJ!Kvw z6e!x#_bbf<67_ugX3_BAw5TT%^I2Ze0uuEUn3h)zhcu5C@5%onuPEX#4rv}q49ZbAr5X1X0@tX|KSlods#57fP-Pgf5o;dMW%l%FH|!d)=&Kp*lN(b<@4}BNMgosOV8^G<2WX@auhI(V6?iE#N+}=Zcb*)AxyoB4vguAvsUv(qkL>X5>6a zJ_~C()&ew2Qh^m;qymE%=IwIdHZZM2d5BatKCMF; z1av4zAaTIs(fW{jXURQ_R$1tlGYUwbrpWy%LZ-bk&R|-EOytDy2@~e@Eo`?hx3EXY zr*C01>EIT&m4fp;=oWS`?MeU&0SQr_G+N*~J}pFv`63#d0)!~BOQuC*-$U}93nGlZ zh{mogybH;93XHGY<^89o7Jc>BMhVK5WW6L$6Vi$0$Ff$}?UI*#xvQ>~r!>#j5E z`?u47bFmSkpRl!6TD3{x0Oh*Mm7~rQf*pgsRqB=tl-)+}u{N%}%XqXV*tuTr%hJ%Q zSEDDu)oUEki~aOPFLq3!RT7AM7)(p2bjIJBmQJAo>6G1AAQDSk-2ln8IZL_z!d8Kf z|62fgU8Qe?PP-EOXM|4YZ|2*aj)c_5uwT{3f@jpn?11`M-VIY8NPTQ{{CJp44|Mh# zws^}OznQbw6Q5OL6|KP8>qpZnv1Ls_uT3g($rqJa^6$dadTrhqF@ZnNhFfXQPjPBH ztMt@d&#BrpJ$h}Z!?r}TOXm@El=}IL_5In2JhYUWvy>x)4KkGIrY7f2s`kIs^Z54O zqa5E}+*ThM_HmJd+lU&K=dyneG1VotJn9Q))wn=-c^tH)Ax&I|AxCCxW5kXG}#`m^_&95E_Qr1Jwid1WOZJ- z!Hn>QOmyhQ#{)o_hYG}DPkj}K?YN2sN9o=#J|jY$2SkV`*9VDAix77x z>9f_Q55VCcC38TOqhCLvn&+7I z?VG(oQ;OVq23-D>0m9DmUxc0EE62+yF_}b2$$5jTWXH6Uvl38pu7Knfm3*BcaVQb> zC~rI@4%GzdB2<1OO04+WZCaGr`S*7R0;tmh;^eOa;vF*r;*CH+9NShm9}*CU=T&be zO+Zr4YTipa+oq+Qy%3-E6)Pbr=PlFvio5oL!~V;xuYJ*1+{dp59ri!oYEioAPaW)r z({J=xvIt9y2WI3094o?DthM9LjkCJoMZH|7;ZZ<(3y8GSjH5M8pbwvBfX|0s;6`nR zCY~&(WmiGWxj5H6a2C(y+>jL~_Q}TDulyj}q83J+w(rBmMft zIpL#&dd$|n)MsT5&Em2KPUVXmudfZ9H4_VqW>Ot3t2QqUrX5qZZ|t$wQsLcEKjyBJ z>V>;NYm3yxOd6LBduAZ)@BxQ9m9%cE;VA3A+$NysRj=c^WJ5TsR%wHr&~!F%ooZha zh4L5=EMPPw6!OmMmDlWnS87Vi3~i9e!;K6wK7ML;9e2lHZpYD6aJKAB>IvTY1-f{= z*Aza6GeIulMAXtYHlfHP+wd5~SV68Iin6!L-=pW!x0Q7%3ANAk#nkyEeIS!^>5EK? zoA6)=kV(N#tJMylE1p)XMFF+iN08PYYAMx0(A`8SRCys<49Lu6rT~ri$R$!&iMHaK zo-Pyn|GdvVpN(!|e1 zJ2(nAG-SoTMT~IF5u3(%{sq4qv&>N+m&CV3DO_RIs|}2|$7-^6bX|c;vP;OI zBgWY1zW_fcUVLoc!EM!;HbwCYp{>Nr$ReyaTmtP3&@uz3&c~5_i)RJQt|a8L-xu*1 z94V)k-iB$jh;I=toyC05&I!R>x*EuYx=LUEv)iyOl;iuN#~SAoty|Ee-Dp-}vtjP| z8_iRDv|LN>N?6A|TuooU?=NVP@Al>uT<6Om`M^zqk%6R2AE?dh9a-CyHYd-T2zzrz zO0mz==u_{)EI8*$JQ(DJ!zE^=IR2875IFaj;=rz$=sRo0)^?}yx)TFtd zN2`Qp6RYNi0V#`OP!Ln}RG)t9%Nn^}4AY3)(xAQK_@H6^k}Zdf$Zz9_O{{RZ-#}7| z$)Q=WCRYJU3&N>D7ch|N!JvMSAduMZDzD$&FJVi?r!B(|$Bs;#YvPfeD#JWa*A!*S zHD>WY+1@o4(R?J$YeURbYh@t_8iRM0@?3f+Q&RLwVsnW0^M$ElpxDWqo%4EgBv-5cP5T#N*STy%a`CSR~cQ!%81_fr<)s)u$39veZ3|!|n;QrS| z@O-&_n(XSc8G4BV9m%uIg-WE=qFmUWGNPj8L1@XE;qY zMTUXl(B^lTq55j1+d!cq(vh|oX-`~cK^xCa$yk=OlXSWBUA>PK?K(|i_!(7|cYl5Y zC>&mmHOfT7GgFR251w7MQj@!*>Y~n9x-!s1Psg}bRKly|vHAdfP=d`;ioLrP(Lx^| zkuW^|Rw4>HF3_DD6yw3|i0DCuV#@%1K>Q1S9#UnMPrGLJ0E*zpP zDG#yp?Cm$j;OG?MO7vif^RIz2isPj>owv+VaNR#^>($tSQ5r$s?~( zN~_tyIFvO@9=cZtUjD>=S&4TTbZaaD<1rB`u30DR`}-5m6aLQc2A-)b`fb=?eiK@iM`I}HS&R(mjT9oy8A-yK`gacCp!yR69BUM zQ8(Er*DerH={6!6m?iTMG5_GF-fKSM%X_#pw_5{7^}oQ)1FVDo=dCfB{m)D2BCN3k z!K^o-t1!fb?5?+$kh9dD7urL`gTb)x=tuW~O7#>zAEW5M_+fXDvmRIb;U-lZx^Q;S zBODT%G3y>n7WU{Ys_CA^Y@LAzP_)KIyyGd}eGNRm7sCL1M)h|e+&QmO#sqU3MALd-#B7h#D zWKF1Rq~e5Hb;)eDf>6H;11*R-`3hU>(Zj*k#^INnpSFY}WPVupTSNkkI%KyOeKgp7 z&(c-%|MCj;MX1-f{1pyTa4a2NZF6h*P_UM89^;3I-H49F-kdRykK;`NdqwyBx@q-a zMj#P7v6StVcQ!Fa+z>n-$@KY&BOBf=!#qkPN|ph z(g<0tAi85Tz+Rz|UIuoPDBQA<2l|2-Ru zX5?BUSNc}0k~;l8%JMhb*~Dv!;=#CRGe!NV)2XZoWZ!EpzM4fQ{F0=1(Y<>O!S1EKa zfw=))ZgvM--vu_EG<4rj@1ywmAK)4Xi;9l~XiY=_YcrNw-;mT&lHbi6y6t=0Jew9R z#^%(WIt^M!%*&APFA!jy?$vBn-3oy>Tfx-yLHa|rV1r~B?^nv&3{k6W4DK*;TvYyG#R}ei`@_W^m|fI3biQIZe6f}0s%zJ@46I)Q zW?>`YQ`z^K@PvKuF0Gy^z8*l!bh_`s%F`tf@Sz=^zXtrZZ8HBtR#jjDF_+dAUKij= zn|#PpSjlsoqo&jiybWnTiEIeoTMBGw2uQ@{`>~#b8`4^~XAhT7c%r5n?9lyvyAOCV zPixX}9mE}%VThsIsmsCVir@82ytW}y9*&9vT()x%KpGTnEPuT;X_w7pmqz{PmmIyx zy;Ns-(<{iK*mg>n;(iHRjazfvHtEJq&!-+oa32LnH6=!|8rqhj?RXw5c(l>5aAulkhRyKM9~&=&BQxce zH}t03!;CKzA~}Ak%fTm)c9YcA%pDk=M2|I_7C7I`I2PgMdODqTEFLWGU3pO|>aYe{ z>2Na{`n-~*}q0{lue`Mb}ebFN#GUS%iOwrqb+?%-FM533-NIs))>Q=bMI~?igzi zg|)mCVkDml)NQm_6GbZj_`*Oex$eJv>!jU&EyJxvJYM(cVY)%ew)j<>R&z~w)v~4v z=M84aQR|z(zz-w z|FseMT84Nm9VfsZ5tTdN5T*4&{WoclvJIME7EsBE<>$&s8zm`L7-9N()ulmi05|5!yv<()_5}alBBQ+jeYCPu z!tBL9>79rwr`SGg=snrv#Llw#L^h^kD~0sV^HY z7Lga^m#$h`+kBLFsCyi|@#@OqK@qeOC`F+m26vRA0oVChUB||5^(~2#41SzpBYAm{ zLZt2>?dBnPHQy*b6@(jW!x+-T&hA;mc!%*EXt(&de4?p{U=5#;W9r<_q|7c*>yV9kd?o?`I8*l{c+!zN~>1>IU}Lrd}qDcnYMg_yz7EHhKU5Jb7SU=2bH6Nl?qeQ7z0LL7+(~t zn0=pP+(L!nO{_`=E{Yns>X@D9tv_|5cP3AMU0?i1-H{9^aM#|-!kQ*}K}P`xY?}te zmkpS+xjEtu+|#KQ=P4nQoZ4!_r%vcGNMXr}j~?!FYIZkFp0>4h?{4_3V(IsH8ZPIW zY0G|NZ8!I$nr;VMpo*F}Rc5Dud0hKZ?&6%`gB`Dk^0+f@Ysfy~({b(zXnV!V+L z?#;h%5oX&;oT}$F3r>Jx=iBby+h~^Ab2_G!L*94na!Pdd=!^9kI}Thb84ESe&8+R* z%TDw1$_GiYhD_ZC?-T5>AB@K5fNcES(t4<@e0#OZ;8AZPVZ-9GsqdcY_zX^x5DHtE z=|O;<_pwM0`z%Cq(Om#lx{db6fM(jb=M}%rDpxFb)G8k9+QHIG*W2!k@9+r+9xY5C zd5erE^f!%sbzXAT6qfu3WWiSkcA9-huxoEhfD)w>My=07YIL6sJw~wvT9(a}dW6?lB;K|4 zJ$fIgIO@In)4~;vp6k^KOHUA;4m-YaHW-f`(}{E^Eq^IO)V(p*?gkIzIEiTg>97kO z#^1IK;NT;e^*?FYqP+Nyo`IYzfJADUUpY?cgTYblSWFfp0$QX?K~0hB8-44P-R#w_ z9OIhG&K6V{4m2f9J$|Il2)}+}+M|U&PazW7OO+%SL;R=b7~%EZxrB)_wTJ zxK_KQ@J1M&*ZpJk2T`Me-HH=1FzqgOqPb5D`gvWFJmAe@c#3IQDz(9%`?iKGz|J;G z%ki}5|FUmWy^l4u5Sa^Rwtyhekm1ziCFR54UcogXxM}NGO2F%N*SPY*J5 z?VJJwaSGTCCwUE9q@Q@54C*||bj{a$7}Ggz>rc$v#A(+-Mnj^9yHXD$Id3$V5;Tu)>(2?rzeI8}|IfokGq7&pPDVaNC$ky>mmF;shcj7+z*~LJHS-4B)n93NwafEm z4_NK`cqx=1rR^TbzrljzX_)9_YSI!(zz^L%ZE!Ap%}=?TJuK(*f=zq{uw8NsFYq<) zfx>^_Ya=thCM^Pd&5Ih2jLe&97JnwOE*!WH@Q&ux9Z*IEwK#o)m=FI3u)fL-v@-R} znJ2A-jKY(l)6m*-i@v=Kt@5e$5i`$7y@Y-m3v=Ue9wG*Rx*7pSgSwN{9lK~MIm+ZUlGU`7ju|AQZ87qM<8=9i^U%bz$QaCzlO}EWnxG9ofg*Qou zYartdMPK-L*W?d;drW(isz{KH{Y-Q=|qfJ_~8q2qKD1|>z}jJ@*6r)NffU~zDU zM))0}j?c^(lT=Upo?6Z4XD7UI28l4JgyoWWnH1zPye~t51wX=V`ESCE05kFwAFO*zr6CXR~v^S zuVk1C?n;)L}b{*6E@YkmOA0||bzTv{z&7^>J!r7K2 ziY_w$I2XgO(y9p99G2L6R0+18&;Re7w%DMb;;#zP18et?nc*kAHVKP6v@FJ3BIp{~8&hQzm^uudooyM#Sq()UT^jjct#a{fBaD~pLr>?AVc*H711Lt88G|5 zzschwKSh`N-+GghE1OwNLNn$Vo7FRr0rOw-71=0T|4iyzWMgdWCw>~n90M({&I+E{ zz&^cN4bH6d9M8S8=h4DgkPNuSUY-MOkr#$hh6 zjC)Zujt{0tpUfcbm>9Fm?HRmlO5bqzE7Wba;#6p~{5nf{FdBRfKj`na`jS6GGld|d zJNs7Qt#rOiXP1gCx(6p>>e+)RJ-`N!Xp$;bPCYT#bE0^WG3peD{2=Lf7b&|!l4RF|W zckAAkiH~6%Mn=nNr39Xh0~v@BKg)GqWH~gizm>*~F5=TedTZoz<7_qWXUXN7{7yk2 zPP(L+gH#<1aH#1u&>vFD1AU>Q@D1Pr`(+@fI5GO>w0O;WyWS}dC6`rgrsmYbBwjr9 zwCerE?(qFaN4)OJ{Fd#n_VJea?t8x+*?3cEg}=}efyTQ0ytN5QPsxM7Ze3cE7ZkF+ zt#A=eMR3=Htjz~D{~{Eif9@48(r9BI(dg(>biQ;>NPI`G+Ze^7vX7SG9&cCEBNSQP z9EZ0WJMT_?susU6%{lS}}%s4TSfE+Kuwlc3ofc8VFuUZ;A(k z7j8h<(JV|w-&*C}%fjOOP1g+u$w%}Zl#--y@IT5SVaKpKoSl@0T|v@@i}R`D?xwW3(!JkFhm`9)pAUU45mmGj%38XIx<-R=D54?0`jhR@aO896`1{5~@hJyz zQm;wvT}sBIfsgBY##Os29~C7^ro){hEkjvNyY>neZL#QDN=mE<0^5@n`dKQTlO}hc z91_dEHfCF-q63oSj-W^mYhsmSzckvCXY`HtdED`>^cT(Tu95;YvT5p7nP7WpIFfPrpse)N-#5yihoim9ZHUln+yG2^e>i5(F=bG&6&pmigU{@ zC$^ps&tG&7NLjDBTkFej0tb3b$?DNEd!jqfm~M?XWB>pw`z zcL0)Lm5G~_Mxx4l%(c*rdY+)>OyN6s4Bct)6wO+_%3VWNwA>OIr;TfzZ$1|~w4q-A zfH*Fs9JRha?YK;~TaU9=a<2ZGgSp_RLqy4sCYTO^5GAWM1qpTZI;ZD4bjR|hGpi#W zhe)~<>`?;r^S!99rDJ_J4+gIH?Oj@n6I^Bn9*B{`l}Sn;%EQj9P!C;V*RT_A|3__t zKp^~5hKuMxMVxf$2d8I&Siuc5I%}j~$Z1Eny&8dZ*8HFTg3`++RjSqF`AwvfS)c*v z)myT2lY!9sT{q!L-kW9LKq6Nv!cv*%%y)PT4mQLeeC7nW4tzlHkaFt9O^vOJA$2bI z+&?Vyg1=O^l?XM<;JGpZ1P>{{x-)La^w}slFVv`Tx+c@IB!D=hOa}z@JlsVOxotp4 z!E4r%r3SrZve%otsc-EgI0$uFCq4!;esZr%D}`}GPA#5v@A^hsmPcjKks{OJ$C0@^ zlZG8aVV+$d!Cz_15(*nwLkE9@xw;vT5)s3xBI%AeGz&JsDaPZ_>=L^v9FsGN%$W+- zpt1+tk?`0yS{|c%9&A-PF@o@EIk>y8;M&T+O{WvS0ARtrS#q;RYIO$3e} z-@GTPQ*`v2p=STR#sIT=>U@1jNJ)q0ZXbxYXq7(*svi^9Cw$fh8SIC{j&>?M|MZ z&Nl1Q)75X;Ss_zi^rjIW%yT>FU>zN$naQXz(N0?ZN#j@wr6)A&WnzsJ>wAIYErQ4N z>1)u0ERQ7(hsh!hD>->0AC~Z3qV9{Xd+L0%r;U`;aBaE1+N<&NNn$fXZZ?SqaSxvC z;{!r&z6zJ@O8}A8;{j`#Sn;Mt2pp&k;TLariWW<$6WE|VykH8F5-iNWW@Yw^fcAWB z^Lf?tLMr}aK&i4^#y7jp=icdn+Y(tkxvj+e*`3ZNI?nFDhe1k}GD)Zw?MI{=rh7kp z(v#>Nj=bZ-ni1HwxKokQWBe>*s0Rq3CRHw=^*o6)exBiTk1d5dS@}yj5cO0l2&8Pu zXmajZM#$}?_OT-wdI%Ita+iVEP#i7Gf?g1u=g?=E$0@NO6kn7(#c}B9e**bEHm^q% zM-klCApIyRSnV_}MA+Jfs9xYa9iMHe7Hb4^NpfZvb2ll5tZ(;BTYGNX;;4Y>*er2A zDLX+ge?xjW&?mARC==|j7P`4werc5;$#KW_GSC-a+;Ml$=6Un3&O4&I|4dnQbx%+p z-O!qp|2oUkG;DH2W7Rpw)K*Q~kFyYEyHF>u9<@T}eSvGXyjYg{4W z*}{|8l@bi>dY)1Yd3Ua<_X-wVdnLhV?JDfD72yBZy}2jU3TgFeAHU`9lUojKI+rv41x0G#)a9C=%sT&F0=UK=pJF5_w(+3 z`@?8Hh2$9pM}_Owd2l}Q+}lW?rFzS0jSEspe}!D`<_Dt|SvMW_Xdef{#_P^q5b~gR zFe+DK#s^aPJVv!DTO6zsBwg~@;Y@QrkG5*YaahAz=}lw4ns`bs7Tt~bY;KaWD3wy{ znE0~!==wd$R*}nZ&iHh^^6BCl$$O_?ijlN#8jqbiv3qAlGDf#sRq`BhI&!A~nc8nt z;gezE`ClgJPt{@`d?p6EL*-Mae)CY%|BHJY~%wq3j5C7W3~15X~W2n7n%&Nl>g%8T4-Y)T2uvn?yE$#$Yaj^R1HP)O8MfpSne zY`}fumnS_)6lW^y_TAf`Mld*ZlzU$uj@mA$j5}C;v!kkXK+rKUve|8YdZJaNwSM#4 z0aYasvB~ks(}zAus>a-KF_gZcpS1dOUGn&1QGd3>V!Jx?H9!D1OH%8FrlHiSPg_;B zK4Gp8ojA8ttdKrc;H$)$8qXy>b{j#b-Tt7iJXEkjbn1Sk9ZB)xzdww?ZL^#>Pw@_H z909R|i7&mfieSfXpEx{KB{2}Wn4PaS5b0@RdO>`Q2j=QJ0P}1&z_~0Y*jA0UyX;PO zFA}!4$cVZjO*t>2tCf+cR8>ik>USd(9;_M*Ts4uE5$WFhu{opVau2CODN{Y+)PWo< zs0+21elAS@v&;7r@?Ew{679!}Z~ED}lJ9EaX}uzv8k@Cv#kM5aw^f1zDk3dP&g{Md ztXpYl*h)n%i0EWJP9O^;P{tUcX|I~t1{kwO(oi^Y-OFHBf4PM72B?{l4N?=wX}!;P zb|zcay-jdRc5+&V6IhE(NrbFk1zDYqK@4hPayjaF$DzJhnW;(H$9PjtLQzuArkRlA zTy)Ba7;auqkam0`7)PEi40V87ba#SYG{Q6K@X4qA`X|vVix22nX3=9w&J>Cr#-%k_ z6ER$qTf%M(N3kNMtw6_dCH-55oohJN=Kx*_NCtKSFnwzePpS{D`{^%1Moh3e?)~h88QW1hmqo zb0=BhyRr>d-GH)y?+8k^GFI(B1@(to62wn+-=xu*m|_vsG}%e&vTInn#fRVOp-fZO z0A_0B05+3&?x8m~6owhb+5SCy(L)|a1GvHAv}Jn^?K#EJ&uo-&5VQvMwt;Z)A!qEv z>!1p(PW06$Um*9dahBNOWo|rHi`n*+END8Y-h=V#e;el2({AWVXVW-+3mq58xD0_J zXtH&}6x(F@_>}s8vig5Yr3Q}uPJWe-mAr<+a6;L|d%YQd*yZpTY;tXE5$F3An# zPv=m671gfa^7Rgj0P@9V`oISD>PCCYFOMFP7wP8- z{E9^uy!eH4vUPd#1YP;o=pME*PzzL*@osc?Nzt^?;ZOqtW}C>zsR*up{beWJCz{Q1CZ zO~~)maitQJFLyU1$JI8I1B8MMJ-R=HJ31%wt6XU1a{IZ-JjOF82+c@|Zm4Ak-_Vp0 zrgP_iQ8Hg}Uuj-hcEF;Ns?Y8=PinwTRfuOGEY+5Zsfu#>dlvQwQIP`@K7PDOJ!|4A zRu5$V=F!*xmHWNd0s7Z+vRbbs3=}|=1ct0PR^h!H$OXCn-0PBJ-Zk5-)*D^9cJKOw z-Kob9Wk2cyLspAGey#ji#JGc7-gr}tyKIwL$tNp+fT`69s(b5OJTgOOybn0{Izduv z@P-ZOP5%O39!&2sYIv>eK)w&^B;%m5p__!doxoyuxZYw(S_4Q<7PDu$C)<$$icBx# zhlW4hS|!7I9L>9;<$CBcXvdYKP{P>fSh-R_#otGm3qW5J_?|P^z9qU#ReUHX84Qv_*ZQ%-Woovb zAAJT3tS4tB;>Oc-^A_A1mDW*RBo20p5Qt(#r5shKw<>F6JvGZ{viC+1W7o(o3TlC`F$i*7!UU$JA~{&)M2u0Jm!u3s?> z7)f#m{cSQ?K}tQ!ta4-yddTL#ja|7VQJ4cBq@aSow?lYdW zMuLsk+5f6&s81dS^CV!ap*OI`XR!%T~jxT7nE^3E^EnQTiWPjgrls{(7Brpa$o^xs?@wGvKX^0c45 zIO(5IN*8_~8WLgWTrx0$r-I_)aODa<&nmh@dF=otma4i5VpQaG>*%X3|CiAz!k?m) z)BGs`L^NrofT}e;f7jdZqKu(uPNmJvF#E|uGnAj%%vIkm>BG-+fitR-3QHn}PDiyLN z_c5hICtE7yDuoJ($&q8GLX@NnIj2%dWI}Fc5|TUQ9E^J~7~_~3bN*g$Z1;Y4zx%Uo zTmG5h-{(AE&-3woJVs~M!GvG5AN@selm@o?ioo}Q|MRjzRIG@P#Ivpc_j^3Bt8(lW zMx#ys40bbCK$!cW`81Y!6R9wBq12g?cygwtRxd7f+bCSJ7=AhOz+Z&)-p3QS@q8DM zra&b(N)f*dGoneI{7NpebiLPX5qZYZCCBznzozw@-Hlt9tMYg1CNPUG4ey~N*HW0yRO)%AAheQiKkb8Gk0vA##ojrHKq0Eb}qP#eF| zz!idLYa+UBak=`jto%ZU^??v>)_5?qIqJ?|+_QC3mCL4m7Z|MD{AdnyMM^b(7~S)0 z)+=*SDeKf^HY&k4z@g6*jAV7(7I%J z>VG)Ihb)6}Tzs1P)Y!dSEjB;RUGzVyuD==OW7_(C1+}q6Mv{-gStxkHyZ+M#8^N<{ zSEN{kyOL=m$m5!G=1hF#@;5|QOIYz(q#`)S9oC2acV8n#G%gw0UCc3?kFOxH+07x1 z&zG%TT+`!j=JC~Gmvq#_(_i-v^|2!;Xi6h^|G0S>IuoCp4g`XeD<>ytm)SRO_@h+z9Ws~8= zGD7J&4wm=;2+LEW`&|Fs;!Cga3Kz=AgI07~MkIB3m&$<)6CcN%3>g)Es1y>fHkQGa z1RqT4lM7>qr2lsxXO$i8u|g<eW-pIahNul&QP0gP8q?w-xJ3m5a`8D>x z6{I$jVOH6PEl2~&^TN_9Vr!?5_1#L@I&1&p;n`b~{ezj`!!;Jg{~p09DOq|zuQA%EC$m~n0NXz#yS)cPz_h9gL1 z8<}ZpgRPQIeKg-}h0HRoh5IJ>?UELy_ElnOtwIhZ9QKuJPTp-lW@Kg|UKzSSSR$yg zk}#BxL4vt|(&clb=Li4I!3NQG=sI3+MqNDhIySYrS;h#|5D--KeuYKv3e)5X_RQp0 z&AMt%19MH178!7hNlEl^Vx+}cqbIrl&7_;w(~EK*Diw^2CFk&JV@8DXWYlF@$>eNc z*2wGiltE}1A{R+APJ19^McFrHA}4I%r%M!7XO&!6K?x1Nq) zv6)~`n*KRjFDa%-03WCXFP&>ci+@(C!M(q^P27Y>}26y7Rd@_#O5-Y~#i{L1$* z7kBxULP5I}%ZOrWMfnQI)*^nGVWA?8Vi+JeWIbDyhdlXKPxmXm;685awi?w^4fP{%gSZSZj?9Aw2eUyKI25& z<3gf^2>&fOzkr33C7IWB<6`h%9=}2Cd z$=X_&>O0XjH&h+c!;qGR@q8Lg8eR$0imV5{9~#f8X+}Ba2;8{%f9_nsp)Ya9cX8-@ z_@Lss4kmdJ>j-Ww^g>6j0GJgQhf{7nv5Qw1sJxcb2e>VceRGK>8qDUCPX4m{|NNfg z!DQ?EU=(S&x(w6hD7~u(>Z5<@5(d&3|molzOAW|Gh48UYdTf&$l z>Ic|vy4H$&EDnp{FwmN5XDx1z)r8B~QFk8xwOgWxV0HHLyI2S1?jF4X#9g%ZD#-5t^|j+k_jz&S6?CJqgbU$3uP3+dsNxaEw9 z5;W}sh?Aq=1DZ+Cc2N(&1Z)>r2CdVq2opLzzMbPp8bCtsl?Y>{gst)56F)FEZ<-GC zH~)+4TA!8J>e;`34?CcklsRXdI(-VIQW&=#Y9`jLI=o5jAV<#2fR>qHVS8dV2wOMC z!&Zv+qrm*Xh`zLA8cV$WE_%?Gb&3vD2|@i)BuKWy^$9H?wz~4-o${-iSCQCRa*>o? zLotuVH^=Mz;iwn8{%T5W24$+|caaixv!JQ(i7YTUN}70Up;=vd*22cm9Y?UZD}cIU z&G^i%Tj$j6znT%VK}PiZ9)@m`v6r?+mWH2i@$%WG2u8oXZyHP!cmpPG^2>)O8V@22 zyaYp;wHzx6@D%TjKgB27kM{l5u=NWFTdLnj*iwdS2cK;zeH7lhW9hjQT5XA8G^sFC zV*e!o$IF01y!&{Fk5KoQ|EpnZBM4jl-$&T$RSG|buC6P`EsZA^G2dcGLt80pOz|Zrpk6JKx2%{{zbj~=<5%Bq~B2xo40#~ zUc|PE0{4Q9crXCqd(TnMG$P5VflJ>BqS9YD4q}8W{?J^2dIwc}FG$CR&hyinOT>-V zQ-2TWXEJ&&H1*Ab}2NlnpF%6W#OOJQ0gNWdEoB!d|t!n z)19-U%a^Q!f2gu@sV!9yIg?9gQL3yq=IHHCB>5E}?&y)StpwD|YDG=rbIm_6Uw=>G z{@%(twZw0 zBv9{qMHif-z1ZiTIgUFvF<jk!Q)|{R8=iKux-T%l7yxfr>igoPMf`PE*u-VJ$kn&cu zlJ`yYBbssj(g(?8XTLCH-RiQ{nrB?lVXI>2{fsV^Qg4R~lToD}u%rVzur%r`BZs|z zY%g{NCmR?HaKr0*X*HaZxEejhB&he;EYVZHek8x~4f<-1=0*NLm)}^V%e88L%>D;o z<2L*|he2W(u62c=fnG0qo>Ta&s~QGJ3BQ&2dOdonQI;Bdz8YVvTGs|nxTP(wL{Ixy zY!%$Ed66^a&zTEzE4S>LVR`4|*T~Nd{s!*Hn{=@NpaOm=h!ZlQHdu(>HK+ij!4`Q# zSH2qILmp6Ro=D5VleaVTuyC4$ND_bUmMmR!m%CY-ON&0DdZcA)HI@CNRF99D`T7lKmhFumnt;o&MR0^IGIW?lXU;2%u+c|J#DBrK=|DY<)?K%e{ChFm@P# z$f&80z{8AJA}#rP$+ev{iubu5X|-+<%}dfLmKBv;yC`QVWUr3dHQ(A``pAXee=4Ey zPZ{jEElZMuhmX{E6syRnI(7x%`d)~q|DmrHM^y_e+Y_Ranf}GA{VGUwB%s;000avS zL}S(-FJoJ@(QgY!U#rB?Z~a`&S^Jm&YvJwME9vAuB+#{h1c^Ev&b1_niuPQd`9}_z za}(ESnQ&@VWFx&=LWCC4RlPv98rzqAJ%jF6-8c{c*fjNxj4nb$9_^Rczwwl(m>#kD zU+V=rLv<8-v0Za5U<|U0iBsRB_2;sH$U;(r^XoqdfGY6pY?Jueasn=XNCM~%T5{Y? z6am$K1ZQY^rcvH#L-n&6@dhv=3^WPah^AN2(Cm!5U`Buaqf!L3vH476)WNTH439g* zlw2#oNS%tug)RlsN^~}vM_bf6cP3zhho)$%Q&qn87>(#R?dG4V`bft915>ngQ$Ur4 zBc%-9-{Z)s$Ca=;WWvGm&_hIXNsc4RtqIbg2r!^pFIh4Ty_>2Zf&!XDEWHqDgYd%Nl{*N<*4t1 ziDI$%g{=0Q{%X5Cwh@-i^94`)p!g1Mv8%2uS!yO>AeCscp*vB9-`KzJ{>J3hpEtCR zI~&^G1`Xzs7*vZ!7F9lB2jQIoyE_esDA~Q^(oYvD=j0iua-w*{p)s$>8gQBb4V$Q7 zFqd+cea1k0M^1EkeZe)cFRhrk3{kmtKe`Dz8WYBJSv))O%YWA)*+@zwm6{Z@ZjfcE zIy}APes`$ODo=Utoe|Op!*mWsYK1-3c)oD0^wg*WxWkBgmt8xp=J&omRnaDJ>+O?s z_vT(+9bBF?mFT%zLAVpM(zNp&uCdco{_F_PnV#(eIJu6+i4b)?B1IR)YO#9f&mj1w{b$Y6h+F(P4_yVqscGjLu+z= zJLod+aACn5qRT=3*Mo0-i6$dO#|JC6af=1-73|9xmgY5PV;I(}YUPamS06TCyhuy< zQB`&DzEc(Dt}=adH`Fb}ikw0>o$o*zJGb!*_MOi;(l-|b1HJ?}qhGCNK)L+50H6s2f&(wIP_LCXmrOY7CLi!V^mEV|h}PJiEZz`I!Bg<*k} zdZ9QC2!7=RFoMjwu8&D0!69j+b3htN>t1yIa-g$z$B7_&&9VvvWG@?;S8qha0PMmn6Z#zZ?dUN?9cSs}c zq<|m(&RyqGRTnv+>M}pW+)KYlzn>nvOso&H_+i(6@B2?E%VGlj7gbT8#9wP`DI{^; zaGh}_`ryxB*Tb+S{5S->OOGFtSf=gTd6O4Ic+G{>=iYzwj$q%imP4m@o6XW`ez*U$ z+q2p`^3uiBmPWpaePp5A!*jy-B&%B&Q)YoS+&uh(^{HPO!^C1&nL$B~9-lc#&>+1) zd(?&@g*?em#H5YV)c zRTO_tb4;pE36iQy15$MoZx5Z}1CpV;GX|HumLqCje3P9lclDbOEXUGQk?gE3m@xf?gWi%}euo*J zB8fWRgTk=xE5K}7Uiki({-jdZ>dSl@MNWs7ngo##D%#&UVqz)(Xy2Z}%oK&3lRC`U z=2z54=Pn_2T6`XoGoa1F%Xc~C%i>ddF$xBeMxf|V50W@)u(Sxla+bvxGClbi4_-l& z*j`C7inrsOeL#V(HYZ?Afo@NzmF=_Q6SJoGH$Gc&;CFdNqd9T4mjd<#65C z`d{SsI*SASIZvN>1-&gh1oUi|f;sGiZKp1bGx@q-`$bN&WR%HQe!;`jzd>Z=#VzEJ z1v)Z7e^Tp(xxJCnrRttvebji2@&4jD4TA2Q)aGnhSQ+kK86W?OE^;VfL%kD?&S5fJ z2l?A@GOFZfGV0`;y!9zGJEIhFk2PMpkFxxOG(2@QqlOdBb?RPh!uz;vy(XVaiZe{1 zc7&l_N^`wn4pcu*SEVD%w>T^FY*$s}v-DW7C}}9-e=a@O9E->dBAKx@yxsOUL#PXi zKc7pEis$1Z(^4zb!ZDf3Ra!|YRpuMrr#g`i&yV_D^K89mjn$UIM@1b8s+UZFkgZiJ zNd5-j4m`0DA>tke4X$K3qZ6;4@?VY1P#9dRRM za<5=Gt-wOWrR}vn4k-1lYdUo5gqivNFJE!`O`OR{h0MrJlOXm%ji%QU#*_%8(})BI zElHwD8q78Ju)x^j+-#Dr(?JjAAglc{Y13U6eb^imIKm@F+3pFUGU{|SdghZB1_RO6 zge%fxqN@RlwJk?N@_(7tlxeX2;qS_bX$wsgW=aQc3@IJpMgR@DxORlOewz5GFmOvK zBn)f>gn{`x*C}uVA=_1rBfqo;4@YcnYsUHfy0MPN>Pdb5B;jRV>XOrUhjswT)j5J@ zHqS2s$<>xkpxD}erF_b`=E|%kOHLmS9o1a1TDi0G9;E*koZG6f>aj79r42n<4CLQt zplgo_xCmrmBsIO$WoDgnUTC`JsTxl358-d0O=1D&UmtySpR%;2<&@qp*kdJF072s=JAYou=DI1hE zCBre=`{1~m=bk_ftE7AF2h0ccMY4bj@XDn6QmH+TGe!k#L-`@WS|Sjvoo3WN3#dvy z%uzudGfY4%^j39snZIL)5Ei9Yz1UuWrl_!W?(IfyAivlApl9yk8#iYj4xI&tx@-0? zT|UO5T(?|&Yw^`F7G>WVQA;5*zwHT5%*Q$J#x$(-jdZU!$*F+nbE(>~o!ge0yL_LY z#xL6w2}cuSVxD6({o5PsUEAuCF|;tQykrv^BgD~4NX%o6r|zR;{y{sxe9Jbw`&@fv z3=!Qh9Q}D)kWIYS*aw8y;`ZDP~m5(Fg6O%Bo^pqbmM91*hC{j~`-vLQ8Ndd@ai zZcE1|1{EEh(wKf|+f%TqcGerd`e=`syun+$wFx6qeoa7SYk@(ZMZhDKX`{NrC8N5+ z!}7~iF2>rqgN%BhC9L$l9MMx)qfWBV&wnZuuj=5b2YtcWPY&H2Zf&LWbyK&1l6Wn-#A0!EjOff2ym(`en`N&_7Nv4K!e*+M6#tg}P(foC@^H!; z7xzUcPF!3R308WNyYI~M9%CkzfAi+IgqAU8Qt>TMXFQg;6`1Z=4GGdFy6@@dH14_w;qL zVRIs{A0S#5KYnrQ6h@GGd9n3X{G57r0V*l6<${fI3N@hD-r;9^gRUcZHF?-Z1Z^&F z&Hpyl0>e~JcRKrZfKQN$F}2SuaNf@r-)VG|syb|AtSg6=bdgWv9T;O>DA*hMWj;*i zc7%;wk`}}pwRpkI(?f-SviHZYi{Y?G&Xb2>=j-Lc-DJGep)^M`k&9n>fGZ4LX~&Zc zi|SczJV}MMqn-NCQ)Q`;vu&J?B8;I|Xf6cwEA%tgHKcF!+x(S!etw@*L%Mb9-Bfxk zb|hSqiZdq6gr-EZY`)QuXjyEN>y#-MrtI3b<>0?QFzU-O2zNS*FjnQ%M?jD94p<9k zN)B>=WjG|z{3G?&=0O4n|*#BWC<$p(~6QX@fio{H$fG-)NW@0DGa>BJtn8 z9A6lCNy1o*3^te>4~Sz=r-usuY_W^O3=|1R31Zoe?OS!gpr`dvSEK*=8DHrXiTz;O zh(COd6g%KvTD$(M&vB0*Vjz7{M;50-p08!bI;OCmx9g8raPb!tJVBhl_qkKufzN|B z1oqD*d5q0m%_vgSiw@L$DAo-TxWJA%Z~_r;A;fJvZ4rB()Hd}WZaq+crDIS7#P;7F zx#)JxfAYQ$6ev*gf@)CZ8vmK-jhKxt0aMM_eyGsJ*Vnrc!!58QVRHt16lCgM3X|qf zdeEmHq**^grxv%j58yB-fCnv|^q@~YsDasLXuQ6G`OtcK&Z&bmmFIjT{Xbk=ED>DF zBj&-k#lO!eNb}x@YJ3f088pu$9@Q1dD4-Se=+CR2l4@)z2+f-& zL-WU>Sq3bEs?08dHgr^4u7U98ao)j(}f z3v)<@?ZXSB;`p^WE!dq)EW|t%eSQ2~Uj?*d(M8}}UTbTZPF}7M)>@ECs;0iS!M#rJ zctusG#4EU+IW}l!LpQ|8sd?C!j4)2Zjy+&)qn=D)2CPs|qpG~%mxPBYE5+dn>bCGX zV!Lgt{nTOA0eci+r$F%ENT;6pWSRSrQ+r|JhFQfNMZPKDYMYzY{z}a+W2nx?7|~tm zKr8`koI;sQN(h9naKH->Snlee_DOKwIUAm(-bOkbV=G$#z&P(ff>xESbmT~=$SXUe zeaTC8LeUwmSX_UJ;rToy%q3KxSXgcrXNip|UhA>ujWyb-P_2~RU}(_iR9spsuMv8U zooN78XRHYLI6z}Lt8`Yzgza(9u=6fXx$%t<8r&;nM($Hh+z6cKAxZg_j%>d`=37SZ zaup54^fu}Vy)*zc5jR{B0n~4++s0`x)qRx(!(?OOdSm~$Tl6f>_(zwaI-Y5 zws0Dy!C0AHrZkSdxWTrVK5>gh1y1YcDc=fwF~i5Fnv>WND^rk5@G(j`c>$#zB#j{zGC6(v&d+JEB5&+2~EEucqG#rLh6TCgTxA5gN zc#C!90k|IIIjwOV#eeweZE0Qw8$zV(qE%UffhfAnASZ+Q4w*VIWKv`9!o)gInHY)$ zhS`Q=Q=Zu{a1tN}qFGmDBB=(a-E`w~ZFHyw6-e@18CA}GKPC=}grf8}Shr5WaBY4l z7zUV!8RjF1Co1dYo~weoHz{%Awb>`ZfRr-GuB9Uy@2M!D7x1Z^7;GmhQx-djfb6OgVBK ziBZn6dO2YTD`E$78TXWL1;uy?Zw?pI#glct(uZOtuxA<3jg7AJ8re^i@xyI`^Mp*? z@=T0UEcCf{tnRl=*qDr8L3CLt!AMMlhxQJx*b?f=*P<6}KTv)gYq5u{2BSXP4ysRGf^RdlfiY0-0p;h$KnLiTpZ`Hyxy;aQU-M)rAEy2(W5t zfRPDaoP_)b#itPNiV7$}7e7GyyKGN_ma`Xul%d{()si>TUa4ZgDeSQ!{&B_Q+L5z~ zI+0#Zu`VdMYC~fg<(v!S*=64Zqgv$Kru%s1J)zI~n1`wh>fa4Zk|ts@u4B;DG$NKyqh}^s%lVKqVqI^VmUFDc#xP~o$dRgQc-F|?bjF5~eGNef|Jn-R;K`7K+rS4Ji+BmJS0J9W!kZgI95HMp z78o2$sKq7>w~-1Ylszrz zhs?FB6Eg6ifw06D=ex+76rt3Cuis^&c^n%ZyE-Ifu)TYdF1vbJaQb3J-Ha7T-iRC| zmw?8#D<2S|IWiAt_fHrSPno^{DC`?m#I};Uu?-YAm~EaVlKjYq*0gYrm}#GLp=fEy zV5|Zw%TzPBG%LMvhzsA#2!JKI^X}|XC@FA-;ygV*BNtt%_HZPl#(p%dPW-QMGUJV> z3daYEH$DpL5I)ja)zL#yh739V@sFII%yVkm#5w(SZ{+l<0XSrnu%IZtvoM@S z4aCz4x`+JklZ zTPZIn)O%?^T4rCaE*u}O+#N$Q-S@0ExA`t?Da?J-4?;}8BP<1f)?hi zc`o{m`kIt*oH6;h7bmbz!-~+dRn*8Tfd)#K`+jv>96W}FEX>rgi>e&m^wk4Rga{pj zEB1|g^E~21-ABBr-AdgL-IPzL*}v1r=LR2vA_^i*#ME(PM`-p{`9d4H4iHUPUd5P% z0>aejeV=@1SagevkPX49| zgX-HeBVHoDQ8n1QuJ1gpC0jI|UR2%Nq+yk%-qk{A3Z4twShYXYe}oC9KXU7 z{MV6iu58vW>q6a7oS3=fx3L1w< z|A(#XW6RmY&PN-%F^~z_C59tG9Osc|NOrsgn+0(A^4qt1``43$P4ui%five>BC_Vi zi^t#|O$ zX($n(I~@bA^!TPjuXW8!H@=ked=K6C;QL|LPi3tX-Aq=vBMa+uKNiEnX11Z21yn-} zK1r}e3Nn?y|LiBDsC2DOC_%8?y!1J2<+l40pg=_CT+a)4{{5?@js>bT1c|--||2&U!%QC4h?O zS;>l(XeAPw=rKiGMlVAgAB<%1X>iX!_!-v1)2;-%14*9eV3rkq4P6v&c0qs6`;$0; z&iGLP6~}LmA*i=y06^y)fc>6zJKQnpKBMQBWp<2clv)o0d?s3ZbZ!HlQxLOv z>!jz5VxQalBuwry8X*AXMLrg|OEnDgKQ$ShNAJ%J&*nv=lzLpoJx3FGPH;@own@){ zJg4>29tEUDpVN5Ec?4q4zQg7ZCQ}xavTU>3li4Hn25L0k3@a3{-|s*5&p>mb7Oc&M4DYBzhAfT|GVbhu;Edqy)B`39KvSP+cC zgvSy@<;*C`GS{-0y*nlY&uHKglgZ>{!_iPVIBA{FkC|G<95cIkJB%S4Op*V` zj)vZs^>i_3on9r{1O1?DqYNf}+Xl}ADBy}GpWOoRw1-0c1~$Sy1($S}m;|X6PDxn! zo}2`nw*Dy4$h;sZ9{1S|2ceOrl|-Le8dE?)cr9V0=qOXk--9BHc|3s@e*?`wz)iiZ zBl|69gJUYQ3TEOeIpZ>5djNy9{iAdbVJFpPJoq$be15ESKNJp~>ppWg((hl_Dw$xh zUF_e>%{s2VJZR*3!poGi44AXQp@eS3K^-st~i95w+v)Zar@Xyh9Bw}xW{e#^7I z4YVvyiN8`b>p`9RUwc-)C?x%UEs4Z_y$`q9>R+0N4T$gT|2B*tRwdhpHJ?98;sq;Q z%|9=97-WNL3#L!z&SrfOu+cz?QCGFdg7|B~apo{Ar#Ch2s?uhvF zF4T>XX~V1%#I{lmOk7(^Tmt9j2>d(weJ$+L4AF1G2$0vY_aJhH&uPZ5U^RbmlojBA zoIjj-!5K*KD-JLjq;pwKx83;f3{mfhZn^YrP;1BGtDnLyZBKMt3^u)g+NmqlL18DM zJ^lH1&I(q1qC>LhATj8vhO_Pu8<45NF!eqpq*OdiBEM+KOj_tu3z?*md`%ejtqD}{-X2?v zU(fw_FbUsj54L1w9m%;ntCj)1F+X*Br>_?pXKt!CSuDOM=)D6kSzd-Y+wO~`s3e;+ z_|q;~@JyQLWAiAMVH{X>)tol6(llA*P?;u@o+s*>8%;_!+IC^GtN)#_7|fw%55Bi_{S0a>Vz}i&WkF15s{0Jfg@UM`UXU z8pCL2pp6oY*G$^#V_UgvGP1bPtY|81AlDC1e@zfYxyve|=>5e|Syjcec=Ant{3d0} zFoTT>#vo#4mZ}a#APGVasshl=H zHCmPlW=r!{(s>&6CI!{mohFy7r?~aP{jkI+E*V38Es=j|+4P;x!gb{92rZOo8`ol@ zs1vhl7}}}87-0s3b4r-Cr1~@mR&Z~P(BvEa=#55Ny>L0(Tp)x8!xyOi8C2GCWoe5b zTc>w29499YA59uUqlx{&BS1VLWdjh_~cH#0z!QYy*tErlTnnT4~|Ce!Ca?Wp>2bI4!|h8pB$<(_bSGJE|lm!RUdqtkpd=5 z`*2M?ld0>|)HSz*K5RMIf&gRj+F2HPUn`xxIjGEJx1`>uB`Tby4H1k742P2W@_`$d zFS$6w(4*(Z;6Ms}uwr`D`s%{Cf%5RhDb_jqU`wQlfy$I`(ly4x|55-l~4lWJu?t}KX4CL#iN9F5GQILGyAxOUN$-3$f@^xQZq%H>Xbs8Vb*O@B(E?+lw_q+q;Z$FZ+ zlNy(=+Xv+91Xo>#L9%FE|EeE*z_K^xm$LZ&JYpqk!=#T3PXCPZ@ z0?C$Yco+I1ZCvfb&JX5+>z8fr5EmOk8xq}|;8(VkDV{q23udJ6=B@lYD@MXMouSX5g2faOrbyKtZ4fY5a*EWY2p&$j$j%b}#){57Kj74{{gK zgM5(l7U)4P;eV!QWC8RbabtRr9Y7BFV&}gX7@}#~ ziGRT!wgE^|dwwEGedc#b>gjiuJ$!ioBS~t#aY^c6poT89`xi(JeM8yRO8X9=hF(0X zhHe4W&{4k}7}6WP&M3o;9`>lkkPe%rF324hHmQy+l75>V6%jqAm<+b-4LgK*o!ojq zIw-7y)Xt9pwR64)7FrE#Oe?{JJ#w5l5~$t4R>$p_d}d>pb03n~P*G4in?Me-A0d+f zgTA-3N! zV@KWXJn0u(4EZK8S1A!HPr^<zMe*?K?5#`PT9@ubAz4n%j` zOJ@`#2N1yXX-KuTaAB0x6H2huLU3sOKp$ez9gKuTlV_7lXD#@WtnP1@q`6-sj{Yap zz^_`uSVDa!DwCN*?X40{1z)8Nj9Q&MQe1#hVXO6w7=L8S(d_TWc2p%_KpG_O*or@xSrYlqCbu6SmPy?)FXPnrjxOLJ2quP}_0 z06ds}Jp^dv0uuu2ZD#bS@brJ)hKoxu?bX-AStN%F0VQV&7UfomuHACjgE{LBspR=N zpbRQKq%Xk$iUZpZ_nzYqunah3^Sni>;euLsyj~*ykTyi3<}_Tox0>Bfdy)oz0w|Xj zIsu;e5#8gXHERoM?#eIu$v21|&NS^h;9cx+GF1{tvnG#8v&I5xR@|60D+Q8fJuoWG z`qa+%y)>)O*F+i&f05hkEOuwe!qX>SL2t_r0lhe(JKLT=*mmkd=af}kYfqhYzxIoq zWQmks=|VAq1rJaEwlxF2y10exvtX+XBh_s03sd_rrAyUTvOa1&#`qxdoCXQ^g=zxO zwc3<=N(u6GGV#jjx7U%G11el24FUmxAvnfUop=Hk+rG)%S4-hos(BX>hAk-%%eFHT zh^C}>=R>VdvLS*I6~O>DE+mWD_gQ0);kd<)yk-Ca2JBK7bAE$xK91G$sb7i=j6CmN zG^$>{wa_T2*dlc%wyFAdjh$M8RD%HM1A(@Ic29#sz|-XBn%M{aEoT^EZZ9CYUbZ!2 zeocbG^vSVup8F4Bl7@FOv*v7!e|fdx-pWghR_&g?jcbk4&RtuDPMmn6Z)=|A{FpoL z#_~h%OIzIJP6_y#+*#~gTPl70!J=ql(fkba5d9wgetO9=u|D-B4?E)&!JX{>kOZ3% zxpZA#8)oMKKgW!T3PjOlyc7^8LY|R1bq#|qga|ycjVubI(ELQtGxHqP=`6s%e*_;S zMK*Y+mO+kiWOXYbi72=B3KXN0D){+rw4)4~TanuRo{=T6xxa z=ss4Ne7jPq;bG^}vn6Z0Mcg`VIJ4uZ`5Fz4YhDK>Vq|O6*WcSHXm1g}Eim^fE7o}c z6vR0%Q+{6d7&d28$o=XYkj_15bIxCM12RMI3pKNJOpg%Qi6K4CQLFPbQGd zWI4U>$S>x-*xOWXZgvJ62CAQ)p6c%Fwn?QvGe%?M+N%6P5=S9vp(x(9oyp+ryRNJc zQR(l8sPuibY}{BClzsh4j;z5$=&se_#5%$ra%1B{zN2qII7&LO)U^jAwgH%VvGc&h}tCNJK0ZgP}UX*XRs4CtRY8m4lKa>D=^WU~Y&@-$f4(gaR!Fkpe+4 zYKv|72rYxAz2jEjMe1h`R(lOs124aL0&?>^M1yljHmQij9_~KJUuxeA$lXI!>YOqZ zTS33qgFn?Di!|Ql$b5R*Y<;(LfUc1Q*Wuo3t;UcMMUKO2h~Xeq*}1wlncdM*tddvC z=>b`+HbBGsHB^0ZPLC=OER_5}$R>%uzyzm2u+P`PNOM>OgCeE+z`^8hAe!&R*4-Wnwh;U*1Uy_Rh z^NJnl!=+XTp`PptG}8R|aja`U4{uGD&`Qcj=6;K=Y+xqQG8XGSk@VoR%!@R}a z9UXf+oOp3>w&i z@VQMjR}X@@K{bnWlLwC@`*MT@XCTSaM3t6n5)^9T!AE?h;#r67SosnfnS0PYH%(yq zD9qUzEAq{zG5NRXaH3FnYOfL2r8x_2gy>Q6(q^TG`SFPp@PoPe>?_pf5vpt1y!aJk zblAPe+z5f~ZX=1d>(yn-bM(2zlFWb>%^~N(s5=o_b&*@EbTnZ^6@48`2fLIb=!$)# zJmmCi@*;G4oqxlLQF|X<2ZxQ?T0aEH|9aE}6>7V3dJK?*@5<6wODqw~Sqef41+6r@ zzi4%msu)6S-&a)T{_Z$A4|Xe>>vNU4f2@ItH()6_^=5}~P&kdyH`XM2L;m`!)MoI9 zk;a%IID5;GBp&LY!_9wR~T{ni`m6g)90LOUPve+u( zIev&^JXAfx*9!xN^qeyZDD*(1z2>j}sVHTo=ch--=lC?N3fuFrj_gbmb+^3Y{HZ&* z<4$MjJYiXCO;b&{BCY*(Hut|hejxj`bzl5uQ+g{S@hYnE~+UH>EyyRJpTSA@;{m^Ypca;ZFv? z-iG_|t>9`TmtzWlgoq$NOz5t4QMVr&+H=^ktv?EeW!5;ZSEVK58d)w|Q#=+cy5*s@ z91dpiYU9b#4mTDZV*#q2Qpn&~DH0^5K^~LRh?5Q(kH)`CY0&lY`9SsIc6Oz6*qKp- zS6I9tzXc_=m90NDR^?Ju5$j$4#Y3Yq8h~SNhhQIf+3d!(@7Qt@Q%BpBuWQ2;c^yLQ zr7bi~5I)jZV5MFtO`C}g&j}y~nRO*ySdX8t;q7Kh!o(fSoSUb0@2R19=RnvUCxYxX zBA9#+Zx;ECR>tT4W)W9o%nmAHK6@E}!tdw&knlTHm;N-#j;H zCNXG5j>e^fb5DCyDRE34TbY;7KAkwsL2d!#T<+<1`Jve&!{ zWq|L$Unt6qJ(R)BB89sVZNf2w;#|5SneF|?xc%II!j$HxR{)h9C@wDih7O-H<-(L* z+qNA1`(tw8tX1Bi9zM?=f@0}Zj>eqVUx?NH?O{+B?3U1$Z)U%acPOZxCVO$PSE|Y? zWWq8DI?0BZ(>R_DUe?s+x^crz8VhnZV5~iUt}Z(5AVAhr`ta%Pw1%Wde1o+PqOoBB zWdHxS-Spry_5DE>c5OLO353GmNdYA$7uu~xp5N3Usm^P*_t-m}bSKE2v|?a^A|sR< zTDdqrX|6|&?=#A=X)S<%j+dBzNI!NPd7Kn9Q4-EGbhf+mwA-`VJMz+Z;9ALLucsUT z5fDYgTMiPQ3WupdCCN+djZ5S&l)wINbhqsHYuoXK^4C8#h`pV{t_L@*3VGOJ-%^~s zM$c=e+g1wrg`h}knBiy5qM={aLTdOldtT^agmD;nA9I>*aj?@GfP7% zGTB-HY&)Ix@XreDR$VRq9a7coD`>5+ju|PaO^2Nll8Erq@uDt_WwkvzTKxFMDR9JD zg6U0O4H*4c#7T?sfeCMt-1(-ag6t%>jo|9bNxQjD+jvfu)$R~*`9%P0&#-Nb^5aO; zkSp!rqM&2GVr2igpy!8+f*)w+21R!(5U-qZ=ARD$Y$@T|wZY78JkloPq!8gt$C_tM z&D!E^qUw!EfTsayza1aplWBqnew{d2klTN||7o!XDoB5}@S$tYzc)`ssD5(+CSO z8(jjXny-ziMk@>^7MTD*1VA>=|3S{_77|OZfc{3y1}F7da0Up~bVOB8Abvp*O?}cbKg}%}?FWvZ3%JZW;^B-uvXUbBFyU17AWgU|HS^G$DYbuBk6s04r)*}1~ zCh92zPkL|pe^!aPl%)1wggqDP84^~o-V-PElSeXzl8mn7f}-py0ByDw7D*ZEPqsqm zd=}8^;U%E#@C#?;uN?5w&UB*mY1i8URt!Phw4dAKl%cCQR3;tgrOkdDfS+xF7&)Hg zV)|KQNmn8;6J=`DDBUuv~j=CZ)pUjH_R+lJw z>B_(;!s!);;hfq>c~}=VTZWf2Jf*ZYnN`)L0&@nfYopyzNmSr#s0NJKH$}-4T@-Hi z3BLg7GAwg|Ou8!489IWTV1Aq?(R|-;cR!Fzhnr3p3#h=!`+SDkin%W9n0b~qgu<;$ zyAc75ldY;h~*8N;D7_=I7&7)U<-J(YM202UsOQzv>v7&RwDg#x){()RCtbNBm(S##LW!X{LE_1380|%a) z>(sq?;Z&l}S)?kc-p>Up@gTbC6sXn-nPT^|t{YCG+^g%6&Gc%k+WH{q36C(apjX=; zT`30Gcrqf-_Daaiw3L6eZ%;ZQG&|a&&$*e&GQkYd9H9fX2Crv>_1dK-3})1EyPa8J z^m&qh^G`c3_JxDgAfgVIV&;7>n|(RXVCxkQp{SQ(adYhVe44-GuYw{df}w@C9Rzth zllE3rM4ch%pe;h(%5+E!@j)Nh$|Bu$lC0nRO* zyUJjg{w5M0s*b=;sQXoz(r5jlGC``PGmHz(Xo8BKzDA@gZSOh3Qm~QS(91IwO4Toa z+QMg3A;>n*AKASEuBHO7=1FFk>qH`&r>b1KyYP^o75Q;Xce_g$+_bZC?=1pT($me9(JyzRtDti(E*P>9LyUN z9Feb*&_BKHcz6-TRrxo0s<96J!3=AexaprJY@ZS(IdDu?oE>Q#+Vdn^0(rKu`4BE; z-A_In+X7naOVYQ*E%5ZUxa~cAKYy-Tt4bPKvqMxYNNf*l{Y5|dyn1QmdTcAWQcT!x z*YwKWB*7?W!KbZ=Kp6bAtgT8B#g@=PuV? zyw1f^^O7_~0P$0ikxb2NQ>8C*MdpY+-j(ONS%SM~8+p7i5Oz*04Ccxr~*G>Jomu$f;keLcw z$;GT5QWT9ZVwm+A7XmEE>X{FAfMoU4d)VWY;lS|tc5)>ww~==9>jneUB>0ga z)cJh*=ovqGj=TzWlcWB%o}CFx^362{S_dEFEY6ig6+_gOC{FDOM`6SBIY}{7e|DR} zZBXp_4xrM3IOF&Wjqw6jLRvTN5M175>W_ z2>%1LxzIQ<#z@TNv6qgfE~5Z~wE~Fnl$O3}Xtezt2j8!)nWJ05-2Fn9|V>m=_ z=NsRN)nfTxcFmhSb)_wJ--LtdU|A(59$MysfOH`x9gG^nE*Z6c?M9&+Ksh6O@&_xC z3bw7=0c-i>yZY!FL3zDu{~?zFRd8nH$%Q#BB(YiZ%*2X8eOv8}|ADh#n{iq{U4sIK zeb-|t{?PHpcEYkLISn(7O^6G7mVWKj>~J19!s^W*1lJ!Hq>($;p;LrY$rCCA^=$=e z#*cy)fCC>|kOGofz7@YTx%QD4#=fIi6z0^>nq)g|7S;yK3Gq{7w_Z%fbBc!`>bz$K z1C2{sm{iz6kT$Y!&vYb59JOnSg;-9V5|V>WY9|8&0l}kcFooC&i@c7YRAv!HuxD99 z{2_v|NO64d84$u|RrNjijKiO`Kp_&`#E5xx-f)-X#T_S%9YM_Kd?Wl{W(>bQhGbPa z3*ZOo;5-jtv-}&<#KBi3*cHJBAN$qzMQ=q&=QE8FEieN={`D|2ib_mQ1_YZ`KHZCM zAs$Faj)a~mkF->cQH0wAd}b6N?+4AL|2cgGIZf(tZ(yPl&`|<>v8ACdd6B(wgO$ez z!M$MXvK-_wQuF^~@6F?(-rx7}X;lerNJJ7UYbiUER9Zx(NS4W-?CV%(l#pZ($yO-I z7P2#wWZ$yy#y(jGgJIU+YgA|Z)cN-Lob>Cw-~Kr1JkIhs=YHMGbzk>&-%m{6zxw5a z&q2(XfST?H?pD@MwYvd7FmtT3rqtu~&iiKz*70irS1p-Z_zsXxX(+7&Zb%2qY7Od? zs^{}&-2TIDdO#j+LnWp=n?`^xlbYtklk>o-Nb^{-$62i8n(sA!2TH4+Hgnf8}}V z3lNxBywpS5n>bZ#!y)9yGDh@~Md;vcSNZ|uYuq$+deLaz=II}HENXlJOuydkr`@mo zgs>i0QY~WMoN~PlED($`3q(mQzxkkXH7#Inry#4q$Q0|2ukLxf=yR0XTb!~k`NL9Bh%2z5>z1Cyr z|LTZgEl#VzMNo@5VZnKzQ6Vw8^@p?Et*N?h2IOi?y(R88JHl>`=$d;qn+g2;G6O+ix z02m2mgwC=cfAB%!jArgF4e-S{lbm6PvSU2)kao32=rrDF-Od1k8GRpCGbO{ewJ4WMD5_&9%sgjBXAkgxih!fx<8#PKM# zs-Z6qNW~ayictnntf?x2GU*t+nI}ltq+EtR^S2RcK03;p9*^YH3@z&4l9BQD-Qep3 zCwCn`PkTy?U*guelHK|SFSV@f`<-5Zy3Yo_I!#xJ$iJ=Xk9ySZR9esF9D6)zym)(t zVVHWPdIg@H?b#IU_}L~s8=hJ`_U1abb%oeG3rbY(1&(4H6j>_GaVkoO*zgv^RczsX zff>|y?wR%>b>2>KS6xr2Q{|J?`P_krQ(O|>sXi(MnfakLfRXyT3m0lR@B>IZyfkwd zy@UWePey=u6)4J+geLfiQVyidJDV#)9WqLNMR`T8KgF>#hKzwgZL9X{uKy%EJISlw&6L0$c3zt!~}oDcRq-w?|h%JwE+XKTjM z=2Y8$=A>zL2FFy^W@mL9nGh{a z^`gkI1mx@>geZUndasWWEe|kUSK5eEhKlmU9W#Zx?|u>L@*2g2WS5W z=j}jlgSlfN7ursm*~?X52#>0t-2^L50#+|J_gRO|ZRXgTnc`v!c zfXRp{13{zkvH(KYIM*I|E|VjO@AoTN8HRUbyuU_~qC?@!Ijs{!nCZKRA4)W05z$oo21tXC* zLSy1$3s;CkcL%Lf?FcCrDTMg$3po&jRJ)i*gZY9=lep$!8sNLQHO+JikwS%B&|n9$ z6h%c^QF~^Na%`#8ZyxzNZ5q=zU%!!OpTT<6@qgSQ_s-8a8({UONn zNJZ79f`N&5^NMS71NUF^*%Rby*OJVRJd{5FAVy)~l!icjXz#T!8k(?luAVl-t>&d0J$3}HB-cM*|fw$RLq!c7oh5~95h{m$fZlV~_P zt4f@0+BqboiJ)cV%29k7`Fx5AorEsUTQ+*KTD>a)Q^w#^pQy%g>5TI$6@}4bUEmHh z+71u=i}`+F-v%e`0x|$*#MI|30(g(aa^Ys!|1{d)D_(J?$bGX27-2(PLEy5 z>#1KMCz8k&pu|p%5T$o$q3$I<@X`bUKD@+0(UF!Hbp$?1lSy<0@uoV3mav6FuT3$% zxi*74+SDqpwsI@e$0CK(&m}=`tu*JWo|`-qEqFToyr#~`aXoUNEx6MfoGI9|y>E6e z$jx~N2H|a6M8~W2G^u-^SRvto#*6*Gd-yxd9A)a1y*H}c|evb9rBq}gY!i!=cj4%0N=oxw%? zrrk5BVz1{*Cnb0OKt!Nm{j)=X0SiO|E{r@Pf+3^pVSQ@A4QCXLTmqjSD3@jB-I_G> zu3VPT9MOw33mOr19=nKv>%^v5kLHAj>?COExI%~s3XF7a=xhY<&{67VFtys~)|Anb zG_j3P(?(*OAM;DL8M|%-nKao`Ywnd~9I5?ILc!exn%9c+@ONDZw^;O8T&fd6P18o% z3WPXDEgL_zb~7~qrk4gk;>e>aLfRA!qKm!|Evr8fI<3;+!Wrdl>dmXseaq&k`vxb> z<;#imAWJs2BJ0r`FKY#FIUdTys6ik2gV~=Gz5e}o>G2jRiRQ;w|Ew$ZDc*ws1E&caQtZu-iuIB`Ci&#$WM!h z%b7FE^M@H!k`SnA@sl$;OPcGTb2O4~@#Dz49s_4_Zn(jE+3AIYtC1<8B9QQTEm9(%a3H3+D z6=xM_juY@W;uTw`N)ZUo=6`xAAC?FuCoI>?S|3a=L~&%Kmk)_MB=+_($kFJsJPhKi=%HH z%)T_!GMU?&vsfMJPRH(*bhItxHF@D-v)`D-q;xKh-IQub(DXhbmpNq!H7tN0fZxeI&B_VLM2KFFkP6WP#r=D}5g+h-SAu4OtAU%YSSgRyt) zOi|Zj@C!IzP%}_-vK802$qtt!_k=w{#JDwvhE;R6Q;0BL4fHDu2LtZzD6hrwn{XPoO7IZJfa@CrmwJ>W*)EMa0PJ5W~l`7g64$Dp2=O1sJ(R( zdmac}b+MC5ofjYefbcF0B;>3Ie3%!4 z9Voy-12!ZoH-`zCX9g7oD9LBP4;C~z;d6IjB-cX9Lu#2GjYv1qF0)0+jFk%N_bmhFl)lX zcxNQlVTC!ADZ`WyTIiGilxokaj0E^8FFtC)kAaQugiH@}I0DerpX+TETeo4;C8J@N zix~>&4>qv32#{XBe~w@7Q7#4je4Lp&Szt&ezWzR zBgs$%Tur31H=vDPTsdTqtBOA?lm&njVSYcCf9N}2Uo@B~rG#8?G18<) zUR?z@U#>1wp0VUef1rGOS6TBusiy_GJ*#+SfZ39FlrK^;v{S8N;*ls&@czr zIF)o0SA#l!+L{~UX(-bXqi`_QN^kothgy*V4=R5ck5vi|>iWqgq;Mn;DowbfT)ufi znoz8aT=2zs7lG{kOf$n@W?IXtUPtjBu8z7TD+B_0?oSFW;v1?;wj8^D8*(~RrSqX> z-S(T^S_AXGN~NjuArhJV!Y2KNu*~on12WY@Aor3$4a&*GJUw&8U#wDJG`{3dynGequ&^%1Z{6BcV`icpcB*ydTgC~e z4Dxo?qBnrvUea&LfO=?#Gb-)9Fqw4A{(QvtI*GLp3oaBQ8WP*H5J!zdHy8>;wpoZ` zGix}gZgbO8+i0q#S~2LFtTR0xvURnWs^cx*2a!`P)fYVZ zDyr7f`j-T4y4-wFU|Y}Yp{Lw*dI2HN>`Oa5#>3ZIa-Dv~bo>Be?3KC| ze@Q;H9?*@&W^{XxVAq0f9?ZDiQE)P~W=n$K^Mz~2q@LGqLbI(Y>*3Z$eY`qx0}?J$ zy*87nZd@#4NquB_0wFBUmNzdHulvKGs|oPJoBhx1Srg2s@o5z1%T9x%VY1s5*4?^d zk-4;*ZU91XY$Fva#m)JoxlDC1z$EE61YBOV%_p*SY$Jr2g53KY;xcTrjDdEYI8#(R z5?5EXbX~_a<|RKgcBv2q+WjE;#zJZUU*@|+y+l{WS|wuON^qad( zWmgN;a-jkyP^OPyGa>ad^JTcwXP~32b?S4SYUoQ8LkNu_7OT+Oz?5xJ9JHZSG$LrV zNGR-`c zxY{zP!yjyf%=wKY&vXHx7`dl>&B24&9gmvTB{%?%V`s>)(y$nCayh}Z6LW@() z&_kvC3gPgRs7AwkHh!SNsU2w+wukLg(rUsD?x@qE=Ob!~{8*|q478iguN%*N<;V|{ zykr5JaZ*2Xz@>7m;za`+&C{pthALM+jS19cuC|u__YzUJ0xrf$(4UY?uYD2!iATtE zdYSC|-^*LB0+GK=*;g2dl#aJQ0XS#TAI z{8iPp3Pe_c$lsqCIPJd5h^#Uqf43UH%80BoB7c8`W0etEWkmiT^72(6vI<02fyn>r z*2XF$vdW08G9v%0YheEgKx7C9?5X3{63pOBXuWl>^?pC3bjhWz2G7nK>8{%5kB6R2jhiV@VCqg~u_=3CzWvLxh_}c-(RJN-49)}RGFt>MY-v|U;QV78`(@JUcBg+i z_NgiHQW|ag{{MbLW`)IVKV^<=L9D2b>8PIQLJ|kl*Q^@nPbYLOTs}^MkzpPFh(VRV zHBMcfMJQaCP@wXyGoKuIUL*$?4(w2pK7f}Np?MPM-SK zSz_R*FIAuaA7ULSY;G9U$u|ihy^8UrTeZyZH@={V1v7BAT4xNt4CUN|6)G3KS^VXy zgyrzl*~rZ8zaI=0muhSCEyOFE!lBjB-{yQ}%;%jG;FN3t(!t`bLT(6*pj2md68yf_{Wm&jhv z{o6HOKAI48r0?(7&);_BAQuOV*23(t~1a@N3Q<|7XHH!D7j{fgEssFwOJH$X7 zX0ch@LJT&>3dd+5#$se~+#C;m<=j_2>5C_&IgE$7+NR}%xy-u4=Nh0cW0Mw35X8q) zi~B`S`Br`D%b{z(!ue`hJk>tI7(!gpwDt^_5PXE%$L1i1y>jm>toqb%cRfX-2|*07 zYBf^Ra%ro!2%g*@&48E_F&Z*KE$CSge9{URUmzEnZ6G_jgz3NOWdGae8vY{)+9z!? zl-ahz`EqJr@AR2YCJwbx%KhP!7A`|clolEY9)%)4=kR+btou!*pja;k>+6CKl*4m5 zkTbNXqJ%LE;yWk=Hh(c@F(=)v5V&uG7~M$`{o?^IQvvEfu!wP;Q*pKEMH-Hk<>;A(Z3EZV{Rudl_WzmkCqhTOSZ7LM#SgfTI%XSmS_GQm%N7D zT}s1T=cs|q;kYE?d^|b=vor=L5m}KEWyRly9KteP5N+IGJq%rryGqJLEzMM?!SE2W zIsZN(#B5#+ISd)`$7cw#Lt{uK5OQq{i2<-K^+!iV;JXT02c18u>NLmLjj2nRbw$^Q zFlnlKS?H%^O|*f>e63Pl*xUl5bBP61clO_L!jc&8(%^%d2Ds1a<=giNeDazzkXH zc1BQ8e|n=NWw;zZT>u-9f?1`df@k(3AN#T$dN|?E{HOOgDxXgUE-%Y>*QJpgmD8{| zwWRb;n@jLiYzA;>f){k*cLA5!OnUKyVB##YD@I(3`jg-T!3VZq{x&ucmeE86 zUxp~!P+yL5S3^r5ocY65YwahWN*dZ8cqvL()tP>*-cB1hLOLQHBpl1mJ~3AU=D}2wDQnZ^T>JLMWYsLQP>uW z6C6Z}!;vaAdWl8p>K3b><4Lo02TH<|x8i{xPNpANe|sY?#J$RWRe zJRYIG<3*EJ=Xh!050AnX9{V(ft(yd10D7Oiz}6fyUI?7d?xg`pN0Rn;2Kk(!U8joeDv5$Wwp#)8+q71Hll6(QjsMVgsHJ zTq*6zhGK`N;$8YcKB}KK=UY>-BeD`P}g6JD9{MaF8Z0>zu}idFHvNIYsUBHOJeq zZ+pk3VvK4ryJKQ@kE^5Rqf923YC?*_6%Oxj*~}R)p}JIczU|%{b+1sZaDjSjR^r_> zUgPSenj53pYeZ3;_W~~OcSfDfurCRutvKAaqunLp>>K>nLF&W8pp3=V{SP0ClBG>j zkBq7I4YJW4S9Ch7C`(rDKPthhD#vqC99nv3dJn$aPpw`(9pYE%RY@cFV9)t=rwG?w zHwM}%aj@v?zf2i0^=Ogu*u@ZmxfRdabSzSiRkcepK{eLib8ax?Tr7JWpSNi3xvd{U zw?`Q{0RIIy3yWxG?4ktN7u1p>X(}gsG)Rh@M)%*yu8HE58GJToX_p$`vES_cbu>s= zTC0x~qEwtZ6Rw`QRoLVtlysX9Q-$BmNqw2rSb{%qhWUzcClhmaUZbJT#+`jd7f#1Z za^5>uei))Y`XoSf{6hv`=CHcCJ7jwPfSE*$I$w|I+YzaI+m4>s$FQDjH5a#Dqdt6N zZ3JeQw`z=zraSxq^9d%@jeCI&Wq{p}pXu4+5*hc*^BjYBWjX4wCXZ3c;fi=pj?TrX zX`cLncfr;tWEEvMU1`3wXJ2Ren8^KP8+^q+E_pLXBfjL`L-D}>uL4)k;}`u~J70IU zN@VTG5{c(XQ`|AXTkG5#V&+ryHN6f3Z{)=kNRd`+xtvaEZBWP<%N#@$HYKLx>n~tv@n$dE7r2uS9J-`9v=yE!pFPFfZQY$ccHbLn`YHjzPJit z4o2-WZ4e^!s;hjd&9zH$nQ62_aX=XDTXmJ+vPxdjD3EH|dKG}Q8>DA_b5<@O*0T}R zAgdZ9rytd%u#tu3c9OV;&b$(5DNuFyjFugvGy34!l3kY=@-m8({1W2)Hmvni`P3~ zu53?K+QeC#UZtj*&l6uO`DUWZ)G@THkJ&}$oJO5d>-ikI*Gu%A_a5%(Ae;%xV)fHJ zp_&&8V3^afEk?WB`Zy{#1eE45>FB?iL95&NUd~y|fxh)pr%_&ab|z;_SY^lSEk_*{ zh%+yc^q4q1H0&yU#hq0cXQWp*gjeo;&AompI^u*J59U6fAhBs$wlijOPi6py4BY zv~v-goLBZz&Lc~U8Xna{rZwT3@ZJrq@&OQ-sn`G8ED04OQer(0q!Nbi zrRjChXaeH)liQBiC}wu4S>VrM(;o;X+;3RgUCQf`5XX`(=WUR-jsYEbR+VEwcW+Tk z{k;IeScB?rmPQfwSM+M=^G^gCU))1^FL#WRs*)QD%8U$akG@Ub+%un)Qph*XyNq|^ zhhGnsLCzN6($H)lIUnJ{qUeSbWDFd;x2=&a$;IHg$;r-S`Rde~P@_CLSaDnMn_(Bj z6x%LP1ZLaGii3eg76;S|`YSf*hnQ>zQ22oxuAWwO zNk@#~|zCicXHAFl>w^4PYeWzVK2#{iu*KpcdY1hK+7H^iA) z=|u3EF&PT4=`FZ=>ebGZXKj*aLqbwF8)woB6dcuv9u{5P08wrX#fE1!nyoWM$Zz6| zJGFoa)SvX^Vh*^L$_=E#z+3YyWygU-x@+`jQcmw?F(W#*YU(woye*g5bNlgJz+)F; z$~yyVQG6k>-ESKjE7*RJW}8L;CeH1*QuX+NWUvjl`@^kS*CJDdT@nH^bg+AUZS|gb zirgxB(<)(#5IOMuol)GhRA4vI8d>h;i@K{dD3WQ&azHU7z z6o2!LfS{?(^V)Y?dEPpQJveIz@D6_05E+ffIn7$18K@anXLfHy_KlzGw3f|O%{Oza zg>K^1e^k*c7L?p$IkYyTDr-G}A$Fw5mgH`voE3EAM`Uf{it`26KQVcj&$uYAAWs*} zz9ZNlc`aA5?o14a^lO>-j_3&<3AgsUE*u;FSc<|U`MxkN{Zbx}=zeEhUS!qjV52yJ zKkm*fu)lA!%XVmoq*${b$bnkSi*UyK-0CU?{M*Y!|{Dla(OZ8tT}+_a{YcS3M#H%i^El_t{!e?pRBg`gz4Xupy{ZSRh|H= zAUhY%F~{pTMn=oqyDHQ|MP2&j%-Vx$apaD$Dd5e#nQ>|^@r~(b;xB9(k%BKG1tnl@ zzDQDkdC68V9$)Nup)S?6u)Z9*=z^k;zyvIOA73T11-Y}*_ZO^Ja~;AmB#JbFAWj*# zDWKOD;VR!I{~Za(ncd~GD9VxIIXGIXX6Qf>Km}4mTeo`4T>#66I6(ihiHx-xM%{66XeLcZHK) z9AF@iA)GNwA6+@{P8F%B-0?&T9{#w?#gl4DGVVhMIt-5c5CdNd29wL4-Fyas0B^b& z5;}~1s*6~Q^C~bwiq!pQ&V1)S>vBRptmR!e3U^@%H?1LaRljdE;Y4>@zT?UbOx3NFpHy zY*f3!yObda_}c&oMJ|S4zn=b~aH%e&9MOVX^r+ukF#MrYxCE-C)kDDmQ(V@is~#WL z0G#7l!uQpT#A3{;3|)u(w|2?D7W?e(g8$gn03#)8p$m=T*yI&Yd>fP#qfVZGJ~1Md zfvc5aKZ7%&*1LtUDG#Hhq8!m$VyLCLw%((&6FHP26sf=P{5AxZ zx!h|8z^?I8-`CtJzQvrH)%g`o#xH3?N<(CctS16-J+xbQ?X2rA;iY|NFUuRd-Qoy7 zWn`VI9}xH~`#~n-2xixn!={M1h8PNx0AZTQ>zfMDipi%emC!8kFo7$2AS7>|H|Q7T zv7EPiT@oyY$`~Lx8VanRmp+=qaPfUH)*^of4;=~wT#a}7yWmN<8vsvAenEJ0n61!| zXFU-T(=|U-IjNCj8dS1r_qPMLb6Sb>^c8z-lslAUH=NibChJt4UQ%G;a#iWN4uuzq z11g0iX*N!|hvHI^3j9h8bZ#|0hh3h|L`(IQ2@@hm1L-?ro$#`&LV2-HZo_lkHuKx== zUF?JI=PLgNgKmduPsX7c8?0%lbU-SjbHEa|BduM24q!ut_%iaQWgw5g<1}D=?p5ZD_h3qt3>`otrlSfN{ZtQ9> z`++fP$&~uOY`>&5`T@G%jI8}Dmd!m!MMPXN>^HEAU#kRf)Xdr;rLGs>rwGOpV1!m+<;}+bWUyz%hQ3}6~ zfH^hIHONPB$fi#+`%eadF@m0eX$uK)8cb2weBCxz;4Z)YO>LmKBdRhlNbZbh=ixe4 z+kvQ)`I`XtXpS%#39yR*{FPm<9C?H!@Tf8jKdgWP=*4AoQf7$CW~lVZkQk!6ttT4c zOnL8FUzIR)fOJ27iQX9eeO;|ryavkq4ceLR7wpA$2W6^R|BXdwqE1S#0W5lNL<&`evp8wL7l?Jn0^}kQhY$z2 zT*??jSvhkwmFy-@VJzrGh$Bn>97R?X${bSQ99UL-Gms>e`o1ek+PrCp@isog9RCH; zj5{z007Gw+9GOkKB??B}38DbdQ(sbmJ#s?hjBRxP_cQ3DUaGEXzhY~DpjZOa zu{b?r=8jZBX z-3lmxcRltwN|A*{NIF(KRnxM9JsZ>wuopJXY zV_-jk=I6$bO)}!wjGst=1))ut`S`3B*d+P({JBrcL;vm%-VTV;n=kVG1xND%BWyBn zBqGZI%LK2Rz4LQHJzLVR*;XGjYI-qhxd%SePA{>K|Y7sq-$&AmmC2b9fdY>WfpM6Z>6I3PGY*ZX;6fPL(D-FL8)y8|HX`vJ>Y zdAEBKFWF5RM`;hx$_W=C5s9qc>aRso3y(XzM4%3eok_=e@_O z1K^6-3y8xUpG3a*jwuxI+YVO=ONVJqBfV%xQ?X!P8r!|pMXqiS5njHH%x0tvHq`^x zJ~kGq-xO}bA))_hrAr^hDAGSj0Y>3~YJLP_tH!N)!5*$b&nmH#xqH_xUK|1ta@t52 z0vc&Y`A@5(i@)o}f1p_%M>;OqX*x{NS)W)lw?MkW{>nh1HxfBzFOfT5gIt_?P+MAn zX-AyD_Kuwl?`FSahIXR82X%@g8CUfY2n7B=QuEmnGr*MQ`;_3LZ zcDSl~aA2>0mCot?IpVmH^WR)L#TopwZCur~p53zKG?{c8KFHuj&^c$XL6yh3AZLF-BZS!w0gR$@e>_#jA3RU&5WVyxBl_ z`dMTf))*f-+kv|gLm*urFJPc@ zz+&A{BLoC;1D!i1clEPc2K>8r`-;Ujh9A=W2{1=H%O8|5k9Jh0Kj^lEDUy$VnS(%~ za2F(UL1k*%T2_+tchrW38|@UwB*SBMDp@AfsIqqy&1W$;raMHf(tzd#J@Jg}Cp!be zWqb9HRUtYK=AA^-+<;U~t0=Y)cFO{1bgJZ~BjS#=7p$)bRtVG;<$ZH6iRh~SkEG7g zyvpVbEH{C~Vg0s(C89fbVj6RJJF5nep(U)D%$yG%6zp6GU^`(tGYu@94AFhstQbW9 zCWccSqZ)4C7MVQv9Z4M5f8fb&^cq4{&BHmGmp8n0kVT`3T$KH4?7OA(6y~>ovh`WLH`OPN zQn$+6ptEB09>2B5`x3$23#&hY* z)qaH%lp<(Fv4Jq)!+eJ2YT5!`fl6Ob%}p@pwo;Ud>qx5PzTYx4HDi3N65gs8+{9}L z8AY8@u0b3Xl@KVWR=^8g-MzN)GSIZQbRjG3%dToQ_qI-dDu1DxWJPY>oy;&rp#14o z8==UD$ER6=-wf~8z5gk9tYE(2rA^3YAY+cvCY+#L^4E7MWp|9kKTK=qDi14eOoClK zB4tslFeKb){PlFvi3#E(tENf|r%y30EiWr>;*96)Ghr;3Q z8p5tIY@zOzMM4`Jyt4$gU+jHX0*GgW#6EAQ#r(c0k|=hc=7-Sv!L;>xN19p1>ZSQ; zcD=ppTRv>%G+s?|MLu%((V3aDxJDFwj8LQJiYkjw4L-CdG_n{*)f|68a0w*A&KbJA z*|&Eu;;I!sTbQmvkalnW(XAy_jBOrWA1_8!6WdOj`BZmxSDI+Qa)>M#b7NCwUs(ue zl$=A(;b@QklSn2HbkMe)VH{?(uTxB!raF#0QzZ@pYmfDuSd5uBSR3UtrV?*^bTEO|#d zcNmxp02sZF3cal|#DbYj6mR)9z7>bc^rKN$quzUwTjtANg=`@A40_|b57u9a0T70k zpOB{`X6f~t!dpO(bYN7F$1ZBQ7g<-kOXBYRn`>my`RCs|5nzH|2D-CP z!g_lXQz+{6`&1nqfR(CQ&rfT2Gd90zoO$Lq&H!tE|NMf@-dP0g6hmoQdN>-Wch~dL zha5vg_d42)y|pL{WhAjrm_6<$1iu=WPxDV}SJ`_`(&wuvS&0w@1iz-^Q)rLSFxMwX z4)DAc=0UH;;@RIwJ4Kt*a6u?nnf@SXIbV2aC|#2=m*Dma@mg6=evNq$9WR2)Ps4#M~xYU9IDF=|VsOWKEpJwNZJ9F>jwun5FF7Q2Fy(Y(;sv}xP zE~OzrQ^Z-{n89Ts*hx0BcG0Pk!rVWGSZu^p1;)ocZnismx+F-XeffY6lHvC9{_Go6 zx`=&62+a#WVs&Ki87$ousSf21y8zwaQ&_wHl=A;ViS z(I}|N%VSfW3k+DN=XMV`AXdXcI9CXJe2zG=Z1Dl#FxPN8U}V)I4o4dxsSTZNJpJ_) z-GgbqgQ_T{8A&ZX|66Br7wAk{L;AI_Kyvo#`sjh~-AA*_ExUBsZ0dby1Rs0Ylp_F_ z8CDc7bLo68h0>o(p`tbk7xJ`L1IsDFzmqnHjD9Lb?T|o6idP(M`09z&dz>G1W$qTD zu?_RaT4-jV69GyiAmL?wql|K8!UF)}MJLLqsZHQg3ByFYoZ3;dfWdP)!e4Dt?2uHv z@58{~OGeLrX;F3pElN)6R?L$KQ824{9G{vd?-!eQU!yt99!1nuUr}uL(qVRJA%JE9 zQlt(f6M#4>*ztzj876GBWe)0EUJpZMlptvvgWC#^QDO_qUTiBnw|2$-eCNo#;R`jC zXuBi&y&q)0F88Y61lynyCLGzHS!6=F%pSdECnoQ*toC7_Y}tKW)2$Y)sU#MSY1_TQ z`ARQtUANvySl$-J$t|y+YvBrpGI)mvXw;7prm3kV;8SV|I#a+uH(CXF{BncX^|5h3 zx%N^l6JBii=9 za-UWI+^VkyvU~!cnkTfpeQ3_RLk+Liuro95;l;P!0fe5)c(0jk*CXd{S8CuzysZ&6Gsj#blZM zn`%l^83STPsXI!#fm5JIKw*+~o@u04yu2s|be3$cC=pOG)EVcGGmNV(}cuVAuA zg#gjYAar5d;7%^XE!OOxztV=^z7oKt(5W>@<&dt@A6#eVS40~9T7j*Ib3YI&&kQcjU8^1A)UH`0ulM~Ul@EE*%2 z`L-@$#})>IV^`@Z=A*sLOlI&~{UhMx`s7k*y#_Wg=f-KpVdA@&)nCU_`6y}+q3I$3 ze8>4|r23BK?{{=7z$GZF0oBGYgfEp=tpTVxd^C^lWS5>cpBg$Ybj`F*%kBg{-`16_ z@cRAXtgr>&y_~FbjzH}xayH~qGYuG2IFUh7is{V)YaAm~ywBGt3)Q;f>T>E~j9tgO z6i9eJ`FNu2S>$$q;;5qylO{0{;Nhha162}5#(7%@hF17t`reIph5%Byg6uf2z|HLb7|as zT#F#W5~@U{+rqTxK}REV8xDaD6;)YbZr(%Zh%*II3!qx;$-qsb7JiwioAp z0hp5H{!t7}x0(T*NkTundaDBH4yhm`O^l1zV)LMpDWs5Kl}C_o zELh+`TP#jQ8fe7F3Q6|fL2ENErYf%e!lHoj!=eUt$dyTdA4~UWfa$sqS9cY+2{&+oT-b&2D|tqYa6)DbF@u zYQCgc%kPN74atSvjFrR`a`|M-9LvL<&U16&?;uUiWa27H9ZFUjTz44qyby(CO*I3x z{-oKoUoJ2_VUzUuy0h(VN|N=sSD!DpbMzB&%9+IBCs%Gv^CRX80DzH} zkG=QRXwfAie8^JNP{Dq}cqj2dzb+e9aI}zXV_IxjN)gblf2vp1ZrzO9tuuPAXt%Bi z?EIZGDaI><8i^dqcIkS*L9BSsjN)D=Qi?^h3#A3J z;(=kJo;BN-q5)@nb=Px_b&AT$(S~a6N1L*KiG)$ilSFr<`WsSxnVROItO^WJwt&yl zu;3Ls<*L)skE+~l?=GJJjJRjpk0x;Ye)W3<5fOuADK91e7`yOD;I)SxB=1s%vVDjNXh_xyl4t8W`%wv%} zxzyryD?RhAU^;pvYw49;f>I4)$N9TkVmioJWz(g8uLNWPCf3UyGQHGef{Nv%gRULq zOH-nB+1WS|w6y`aZb6dI!DwSKkJ1yv9npK$g-J`?7=ku{2t)6fNdP=<9r9zHgbWmA z{#77xumnWvAC~(s`O(wkUT-ApFlU_oIC1aEX#{Nt3;ce~JOwR+r znDup?6&?GO3FqmSpuuGO*op`~Jp7~G!uAx}`o`**B-us@r=~%^)X1EX60A_Z$?O<& ze0gOO|+Y$>vQ~B zVx0_b9nec%m3(0Hajtz%g!ikF_lby`+^nVHC~A#c(4g-(EqBB?d%$>UCb8t9YK0`@TH6zh++7APSqH1~nZ zWLs8;jUaLMqTN=-%`av`)TjV_Llf={GIw(g1gbIL5&PAt^raW5-Z=p4B+!%3;Dc&_ zKpPwUJPjcM&2E>Pr=*{$1Ha~JA#wD^F9B3upP#IonL}w?=>R%o-TKOxGN&eWGG83F zHBfLQW$8n6AUyFNv>}^jxWYWswECSu!VCH$*;_WF!}Zs^Li|>GewrbpsAz_;8~2xI zna>`)zz=Ep1UTXrXAcsQ|w$hWg#Rr2fyHcr&Nl3MfSp{Q6Mk~EY)P$;i8YP zv}DvOnhjvPw6T*ZEDtznYv6@i6jNeA9!UrzrNwlvsN!f(%^jQt{pdhtaM!RK8-KU; zs~x@1)ntXd7~d{-IQQZ=kGM7EB{5X%Y#3bWF4mMmEk%m)wi`gjXaZR6eY2rN@;D%L zit41i>i+n)nXJa!${xb7<0xWawloZ;79IXc@g*vO`1&Vsm@c@ru-#brwJnDB3kQ1N zUi~1ZYM+E8)*UdrLZoL5IO7WP!7+ekFz3a0qd$xbPZe)g90PE!%Bb#X`fffy_H17#=?3<^MIUAME_xn ziCEQBKsFiC*N&4amo-hb89v`CeR(7loZG8;#t3Xu5Ex`HVnoovu% zSszn4^c?W(441G^=_Ef7kkbKvot`}%b7e){x(rL5ccgAnQ%N0>y`EzgJHA>```%+3i-gYl-&tZt34GQey_W#EkP1F|59e%(wB~8FvRU94 zho13M;8S8wMk>(rZC+6_#KDilSxS!$ys>IG&`e+Vo{lwRsM0AFhR*lPWnxu1g7hA| zUui2F*L4^nDeouv`X}Kn`6||mEHxU~?RiMo7Yj(qY!_A8llRMj300;0vGj$PZ0hV^ z)fGf80!jg)=jCq)_QJnNa6cQkWS?FU9j`r+%)zTX;b4&5-C73J#{4|moXA&_Jy#}> z(zw8tWaWL00JS2gp0uNN0iYrW=rq8YM?>nXb-2^#X3=*$PIn=AXm)w8G)8HR>@mU6 zrICS@;h=jvlTBqKbp(aW@ehtZr2pu%AMX?BTrg_U;nw|{&bindMRi}9jX)bM_j&eu z-v$^12C8|=jVPOK#(e->S(E#HjCu5_&$^)(Eg`uMgAWkk3@(E}~vmoV9yy*Z7b$;=huVf$fMHt)%W$oD@ zwo6-={dlK|MXI<~KH69!`M?kpx>xg?=eo%V{(tg{(cl-Mv+*aPvrG{kKoo0io?Wae zYSGzn#J+W^&vxv?xDw1}bfxj#F|<4@a;G*4O=<8NcGJCXU5ctAX#w(E?<|GknU=Zt!Pr(^bL9dWgK<(L( zX#;5a*Hx`J&uLu8n=Q?uO)`qUW=+BMB4Plw;y5a{K2M3BCw?mC0;_TB@m$#iQM)^RJNsEnh+pg?AH6qTkTAOy&ail`u1 zDbhs1h%^NuKp?RJDguKv5khQ$NC^;%K#GV+Pn2F0dIS;z32CJLZ_wF$_WsWP_Br4F z&vo{oxvuz<5EAn|tK4g?d#y(nG!{Ov18RoV^qXty#;&tw{%=#qAF)#z5Cx1RqN%K5 zY3=U7k0t$7ApB4PyG5y39$BC4$aU9q^RBc8(j5QGv^_$kO_@z;y?A~$mY5j#DK|Ns zDosJbrNu9e+G?e8^~xoN?;nm7froc*_{*~uC--l^d_Qa3xgR&A9Qg6A`~|qznLFiW z@|Q-IAKka~_S+vY*A4D$Ix=(9pt0B|;OcWvx}&AB&xPH)s+t?_CBCLQF9oLe$qG~qy_XqE(M$CzNSHL3EBoX;OCpO8FCNSRn|68`cFb* z2~SIGyETqQ#TjAe-BuQr@8`CZZjA3RJ2Y9>i?Ivb$*M8BPv7Mo8Xx_el8BfxW*)1Q ze75}CePQN@o~P33n>8l)slb<>Y}$A`lKJz_Yo;~NS4bZ?t_b0;4g8_UM-;j?^W7O} zHLv1gu50E_Z6nyJGEZYMK1g`u2UET2te4wC;glw>+fHReguNp7g?$=bu61N6B=HG- zbJ>ofeUC4tq60nB?tAOyk~I_Akv|Vs^h2%>fwK{khp`q`+F%a5?u?{kaBEgdUE3Mu zu(xyXUCxGUN`+p@JEVzXri~y$Znav_+rpjD*a`yuj_c_IRPV9BG!Tr{4}649i6TWH z%>08#%3jV#JqAKezpK3eh>DfIjAWj{@bS`aq|PaKO2#dIfNDyVaI=x&R_hNG5_wB2 zC?cq-8~k(Ex@XxQWU*hF^bO)iWwi0MCOp8L%rqTm!RS$Dlh@w9J$qJT@1Dd=v} zNm5`?bfgby5U0O$zn&y~_Xg$flHXWUtWmRTHtPn=^`m=0>twfC&CeSKvU;^0u7H9d zZi#={d!T&(P#So$Ra&qL>`nI;7P)sjs0hb<@6}Ik*}`#S*ydGk5V)!y4%(=XuQ#ig zmr$EnTkGVTUON0`6JhI?R?8r6%*Mb?vH0sR##SAufj!t@gmyi33wc!gmT_1Vu*doc zlc-Z}FR_C{M{Gx7>jt!R__lW&f8eyPso~4{WqVc&>HWZV1@v%h%wx*YmWP{;vWp9! zX(I*@Kbojzm@79DT%*6YSavU2U~gO2P;Y~sZ$4n?cjTLwbuo0YI%NixJ7BvUjFW^taI^}s)7Li4boBZogKs)q$Y0;#ki24v_G8G*ejMRW~n{Oy?-~ z5M~8BR)uI!!pV`i3UByXbX0hdFQ@L5fAd>6ZK<0gH^B{h7Wt#$zg$`K8rWQvu&y9o z{Co(!lFe0li=KLA+)sVqpd50K8-!4dm+UBUct`oE!b;qKwkJT^xYD{?;b*tEO43?N z{|9zeoDpxE&^6vDob~YNGfXh%^2s$|iHfix@x=d9Voy@sw#O1gs%iUlfo0A`9+KVO z7QJseP>fk!b=*jhMK_tdsgqy!`|8G-3I#6*NY7wc^aVJqwx01T!@Y>M{s(?w-{v6 z038>>6@%V-Ml_f*6>5mIWeR-Mb$9imbmbU*fc;weyP}T=c++>T;^^6 z0<6P6?|>Dw(xcTmv&>sh>aQ1WC}63Xl!r#;?PJ}~=Fg(W6Z(uq2Q2S> zfVD8=cjbqV+Q->OsP=@WiS72%wPM2qe9YVf*Tv5laW!n5?uiNkXT4 zh#!gY=+OFR4Rzf*&+TC0yL(1!>YRUR_h0^G2z+!Eio83gn)q|duWE#YfYI1Y%s7~{ zr^9|GyrAc@oo8~NH1KknUw_z|OH}?`iCnJGc*06plo%G;yA1KhC`8R;hcHs>nC6-t z=ff4H~$TZ^Gx%y?)xb^E}2 zL(ae{*}^@yKA-$6C#0Y-4_|EB02=rK^? zrWR-1-7&RFWZZb76Z?B*WQ7T2 zgnH0^!AE#)RaZ%V&}DPTMrmCR$cuQPBePy%YIkvN;e?s?0p}U`F~n%Ft9@YfFEy}3 zhaNSM2t`k=YKoM;D|P(!65r~<0h+GmM->Yv7x(-|I*W8Brr?!Nb_-`3%c@OH9ZfIlZ_NRFo zGwdA)?aBWIk5IT!&*aIgTjA0VGpeq@eL}+zXu_+AZK@HkL8ZrMU-F|t*GBbP-)_gOR7p9xSUB0P%R>VMgkSzeG+NE9o}!^&1Ay7X`Cy%kNhmZ1u^MY?2b7* zth0AI^c;~VzIQfd3nZ_mzTi!kQpL9+)y$p$mZ~c@5{3%Ni5$yA_O^qxlaa+4J|{1D z{_dIwNz)uT^=Pcz!_wB9GcYxczW`;mns@C{@W$j9;<7UI5!bIFZ^}N*6{}!In zOboAaMem$Sy;EH9n*40Fhe_Ylx2@NodLTNJeD)T1bEGNzlmSFlH3&0aKtEusc!T$|j zLu3d|nV2QrnMtCjPt&LFgn#yPxL^)T5_9hD9D-BiUB5nl+<3 zxx2WJ&rvxRlS8`63}~^bIfgyKT@w|al?UC@SosYkZf_#T`yT=7un$u4hxr+lH_NKa z#0SD3SAIks0V0_rF8>`o{d0fa=^0dG131B2+^+OaMbhm9eB+yo`x_6>pk6kB(ZXg| z**%F3BUL)HVGlAFvn5*|sTY<#K8o^|kVdGJC?eK-?2PbMcx&aAcje9@EPT1XZSed6 z)n}gB1sa&gf;&xuT108;edw3`>TCq7yJEf3_Fjd*m`dlS$jxa#NJNQxFoL*q9EJ=K zzNxJypHIY$#`PsT6FxrE@We}cq11j6g$c69f3t^uqz3jJgENtvr5R}}@C>f`AI^A+ zN1@H0Lsl`8i(p5zA>?p0&vpsD^%&wL5Es8Sy~XZ*KG@Eu9oVt=N6m;_+>^qU=87_G zk#bul`AmBaLij%QaIA+NAiY@$9XCxA~XAj9zZv3u!5;L{+SRA<1+1o?{X zCEX-ieOPeJRMb+g=w1UOaCLNuU8UF(*8xVU-1mAZi(5@aGbkf}$DpCJFz3?YC=IEY1BD-R0$VsBq>XRnVdTd>LOH!K^?w<1h>UsR z6qlui78(LGGsCWR!qp_Ngqx>F(DI+dvB)>uRqPkS30Ge-na?|s{9en7Ki*rvGAeWQ zpQpt#9)Jv;?Q90Nyq{5B7k{xB>zDVU?FxPQAuZeQHW3n@zZa}d*d(&>R~{V#x4XKR z&rTU8ZaR%xPNhA{k4(A<PocPB-K#hkTKGrLA};^_<~Y-c%o*YSVze+g5q0GcZjptQ;mG$zyyfulU!> z0U@*gzly{D^owGkl~xQ%fb}X`&sT@zvGB5dKjcKUr%Qz^hz;W!uFo!Yn>=f6!lj+E zC4;&U(1{Gc+)aeG%EEBc%jFiG&aftv6mi>woq7bQOGKl8B(o%_g6h0tH)1e&?mMRQOj2!!i=F427@AW!S&wQ5 zXLL+4ZWO$WokzIkq)A6P73r|KNQvNCbTWiw{|P(?oBLZZojpLd*&ZM!;j*JpF) zo6x~nFK7;%qptn1P^gq2(Qt_mM*iqqZ`n|020R7|6I+%Ptp>R83C(#`5Hk!_)^qI4#MiW{&mD9v3)CJH8tGs};9Q0~!8rp%qEOlcgk-bHQRZ}{BzK^hlp?s1K+NpS~MF~!Uk4t^= z$fhP35$EIPY2HPeE+FD&@fc({*)BD7Rfh_pt@lF^rMC*f^JT)gIN_)l1V5ES0y_tD zieRv_6O_=A+N!9LGpk?Omk%|RW}bph#Bdm~psQUM#CIT*kI09*j@oM{C8Ff1hs0VM-f9Mw^VhwbT7V@S6yP0fyun|7y!S5 zM~AA255|lF8pafS!?Vi!b%=ZXm>}ttP=`YgW+km*6He{XeX)IU`&0f97>JM5su=el zCBT3>Sbs^_v6cof1m}0T@9Crt<_yg;eWix4uqCzt1yZ+($#`(E3Y#EUaO)DQm~wu3cRhYeFYa8iuJqFLi4yCHqWH zOovLxa@B3uP^J98vY*}hto**D+s>Z;^vFcT&jaQvL zl|PF$8E^u&ske(FMC44}a%rFZr7qD7WzD$;!*lv^{%$ZSKf$`+Fmtj-&vP-Sjc>TF zk=2)4n=z&Nc6wvU8x#5z&q~jB%%GIJtV1WBP^44}!~B zff|7=9H{Z&&iBSPu+fwmS6CMsIj_^E5y_;}r{~+Ics^m%+}}X>`DY4MRY0BhoRSqP za4MpU65e6}s+g#zF@-ICPQZ3cL?cN38W^x;W9ICuToHXZw_H@@1@&xu2M&c&OM)x~ zDM}giiRoSVu;bj3ja^iI+N`;0y(-|5_f!~*X?QfHWTq+wn9DK}u?BPvCLZfBgEI8O zpf&RYSU78OZ{SaBsSUP6JOQ!SH zq%QpoaJA^Xmw8`LoatQ3bb*3%l|U2$Uqfxs*~h6CN-qF0hxR;6Z;HTq)47I;YwH2L zSQpP_9`HR3`t;<^Ku$Zb@gKs{@!FoV9S)QN6@qSH0}(=P6A!169sMunPo?6x6i5mS z_#Zg2SOGnp+hH><7TP;tKZf}%a$VXqK0-w7#LU0)`$Uo2sToO@=4)=YpH^^%?g2HKIJ#9G>oZ34eT#(7Hc){^@bom zNnsjQ2}EfI%|E9cjoz+hZ|Wgv+^JiDk*v$jNZp?wE%hAPtTU|{C>d{%#~Ok+LV_#A z)t#{owh(p=rC~n=Ul86!?L1w-mO7z2j72ce0O(@+hDn6dYuxF(#$(^x`clw9I!q!E z9LGNkK#0g~%^V;UcY1YIEH?nSjV#CVsm(#SYaVHW6&keO%dLyK;P%bw?jf*?cz)Dp zs!!_X#1x^tNu<%*1bvEu4-i7jo@K~#98X##=QG1eZ#@|gLu=zYnVXR8_b6&N+h+_U z0<1^)%)CzuL(LjX^HV|*xhW`<0Ti)+U%4>`ijHV(oR8TsEU+@D_sURaSP zTdSSqo*Win+tohBxw0}Dwt$>QOn|J<4s;cY>ZYj_@ZRwV7n8uFWBfF4K8e(tK<VdW`+gMibk$3SPvI*CO!FyBx?PsVfs1b4-rV?7YoB2Q%YR)7FNt24pp zQKYQ?+_(&fjPDXtajY^IVwcP}G=hLlXb5z|Q)jMqEpsWLzb?Sh3PJ@>Qow#rWvpl8 z?fhBC#l0o>j2E^hrw?BnF!2OTU0N~| z&L_E0kvpH$2GpGg!p1_XucD z0&5=Vvjv1T)E+(Tcri$H5r}AP$+1uhpRA`t2qQN+fRMZaAT`nDBbdli;JNXwm`I#t zxIx4)V8MV_H-O}h~k-`cozBU0f4Bm?Hz1N z02om|!O7=&_m<35VysIcrCl>94t6^gXo>W(mS(nh2uFab7t>UHu4|30ttF)gaQ-7o zR*wp=Ro7r7GuBlEVps%II!+KyKMWijj}ZcByDP34&qLyNjDX-NcPMenoB8Pw+l zI|0ffg`e(Iv_6c^*SG5VNCrl`a^wx$uiJ}mby`;Fu-{9|1b(O zp6IvCVzAm`(wH=qEb>YT5Ai?fLh0SZX`cArsS+_^CE1wQHi zlsbOy1Uy8R^Mvlb%!+*rFjE&V|7m%a%j$*9grPx65{-F@WwmK>=gQ_%K3Scs;^#on zNWq1%o||Xe3a}Q(nwX+Z0`7;r%8R_vEfvox?k}9Wn9hu8R>#_6e(%XNeGajF`CxXry_wcnPpTN|U~`PC8MW z8rL5bDb9U#uGgTX#80+(>+;o`?cmdOYxBK|$v2{6(<{c)f#MN7H4rA*MhFq%yby&Nh4(Ic>?P{;|7_cM2& z(NYeRb=GV${UGs40;ILqhLn!?B|WUj?je@GOGoz70|S8PRCYhF1zrFMwrS;q z>iSPx0fOnKnerM$;e{|kF|zQ2=sGc9@(YI+b$|cm=}w@9G%D7?Ra!Q&sO`y$-C@wd zUu!b(UKh9uTn3bEG_Pyk6LKf2zlcfGbz@Y3z}KFOf5}{? z0JMa*7><$SE}2v#9v^Ee8L-`(AFE+F@=PNYP>*E+m{H_v&yeB1^~D+9)UeL_tq>oG zji)Ho=dW6?SL#zk$#3g!9fhUbq&i!CpnXu6FrcY64JpH`d{zo*V=S2a5taeT zWffCHBzYsTCcVIa<@Imt%v%N?g$v$a)u2Nc`EFR!hrnpa(8Jbb zml=L=EV;FnP>tBG`;>FryRliO6?rB+x2V_>kOp|>eY|d0`e}hc<{IKW&Sf#ex3&3W zM(^Vb+{YgUtX=Kc0F9G2!^vGA8#pP*YTzv^)djY#DH*Gc-RUnv`ZS25!96KGah$bF zjDq>rYL~Dn;sm+g6{?Q##MWvz%nQ-@Np_inv3s7_ZoTI}IOBp1;HpK_fqLVvQ5fy9 z_5E({$96jUawZQ9MNG7R;F`6E!o274Notx(v!`+26%SaajAy4bE3WnJDr zVMFmA8rp_4RFnp7%3ISoAlXcPHX8}iA8(3 z=HHkYwjqjn$3CeBC+RkP@3npwo>(D#QQ;uBTG3@_vfE= zF}>EmO4uO7W`8#T!f|I%(4uLUmBkVyya8gT5O!I7xu%2&_IB@xlL4fvV-~^{!ZBbZ zi9VnfFL%oJA+?CxAE$awTq+w>GWcXGw7{?qfjBg^l3RlZ{6uGxrMzQ=GnNf>TY-P>c>yeDuO=Hacs)DiE_vz{ka7A zxN!9kdxru2U>L+@P)z_$fNyI7lCXa_w4>q_o&LueGk@xK>V+U|-ByUW^K=^)`P@)D zol`;22BL*-txTDd2)x_5o_;5_SlNp#?tTJaQLVB&xcgJo01O~02E4qO3mmG%y~O}hvXOLOC#rI9Z5&~k zorBozLA<6S=EmgW@NW>%9>9ahsqHPBY)ms-)L_Z-{t$SX!X_@=X+0MCL_k4s^PWKh z+Lzvn0-}ejbD{?Wr-C$qANOeN0Ytv9F*WF|55nwDt#MI)GkFY=7_E zYG8`aq5fPlR!t{AW3DJp!OxR=o|kY8h#iW*-+Iovu*PFo%R=z1YA>1jT@6x?0l%sz z;5>Q>1@7l+lhTXgK7|bmsv#|q4EI~K;GyZeNcL=UIPW>@k9zRtm|R>1{gqoBf+oPy z$0BfSk$s&id=9`zg;X2Q&+fpMBxzgJ-nebOh6e!!vfSZBhMk>oVY%b@-UjAXRBf%}GqFAkdgpd`u`m+d-OmtPnSl`d{X>IqC3 zxMjNMLf^B~SY#RpP7LT=ZsA-kJeriuUGoY1`~__D?$HA9F=D+wXijnrh!s0{0iXx? zb?086Tlrq4mVJTSpzVR%0yLYglMc_b zW=h?9KcSqI_y1+e*#8;GyaT!7zhuevB}WhadIlIc^q)MP<(sztAux}^&!mGcx`>0= zX4%eca8)KC;QZ6;`)o)hZXTC6>GDbdtbb7oKklOeU8}ao6)^uh&z<(1xwF!zybHdK z=V#P+m^9lM=@sX6f|nF_c^EL`-X9*lYc}!u_$r)SS8>fV8~-wVS0E|l{j8VJM{kX4 z`5Wyg|7Gmh;zBT4cY#qbkM`>eZF?TBQP3%MIF>|qE^S?#xH7eZ+n?%1Dw3LvVr>gb zHXbw;c9=Rg2&TyJ+<@d575~{*D~CP6@3=z%a53S%T8`<{$+_03M-(!lI)%2S)(ZJO zJUevrCp6Nj{ag$*ur6XSC|kPfa)@tvB3`q5PdKL|=&>c%(j}bp zaXI*9bZ5!=x;Y`Hi2B=zGCdtxRJePK_m|8T6gp+Y;E= zlIG(y)lP8vT@=^&I^jy%Y*u?dR>!IlF44~tu`XvP=B5zB&VT@V=~(ck7Js3M;BZTy z>CA6MK|kqPE^bg95XF?m8F+)3CW%icGp0o;BecczUG;tELbv(JT*i*n@kfOD$q({D zXHv>+{iS+bC~rb0hxD_~Jy#e-^2a(h9^AxeP;RoZMJ5#uc0vJgmH1f(AB1l*@{MpZ zTeJ8<6-fFvyUfH$Pe`+m1JX|75iOmbmgkK-4gAUux?k8oHr`Sent6IN{sFrSEpy?0 zH;yUkFaSfjX}TdVN@o+igOH`#!bAi!_QE6dOiC_Rh-X9Zf6ikcxD3!+{;mqU$ijgv z1*+lsnZg8Xo!(5$f=;=zDRaL?nhfh-YUFr{67((dWP1O#i6CvApE^f$|Rx&3Y z^dtL|lYUw7Low3C(5+{3QfHslt4T&z#;ay$XwoSfeWfa~4C0*qWW=WXY&*cBIr{LA z6Zn!YKzV;04EpCD0kS7@L7kr>jSPiKkC;#hj>X3iykHM@W%uKHV&m@8WR}ru2RKj) z)V?@0e1~BZ_X&MC6IFJh9>I0*tWk==Pr|rfxy|#vx!|(qG9YF1M6ZdV(CPPkjC69@ z;!c?z+CDz);elyK`9Y8O!c?2F+2+sjV-QoJ#v?HB)w6B+MnExAZwSkX_MpuhCReFlfvsC}4E;Bc%o9WmfX4fT!1-_0cTtT#gV zK&aPc)^J<9?c$cer)w7^5bn1rMSMDc?%lY&HGUixw5-UgA_S|deCsLz4>bS@9C!K* z4{baSYCHFO0*hDl86E}>+*w|3>c$*7=#|`Ot$*>e5llIOUfj6)u1Oee1kGA;)__o>(w<@rn3*HNpV1hejt#H3YvN`(Y>50 zMtdRCm>&%l(z&HME{IWF8$qALl#+{(5PdRL72ZrOQ?U;kHB{*F%k`(<3jFO7(z*9WaP@p*N9oHq5vZ3&iqGNlbn%X&#QVYWG< z4#{z<3ZzHLI1)Y|!fu`0em}!yuS+TV81Q5FIXxc&yV?KXrx0h0W5bND&xc2*S0`KP za*(T&r-V0-p-m*ZnOeHVRTch2kZ$ss$+i?GWO0MbheP0KZ4*PG99)X0775=W0J_il z=y9*qvT6ib;+1N{OwyEO$A!w0Jwg*9Mxrq>6_yUlS3wW700&f*fnKzC=}@f~x1{Z^ zff;G{=!QXOH;yP6&plU(LJ?kGwl$>Bo#nbENygW!_dYcQ*p)w+5Z%i$7k8|=oO)j4 z+*rmZ$9<^k!4R~!(#C~0qM7$YCUA zw_}4=n|}9Gn+kPVj7)v68R&czSdo2U22%poBG0kD>zhFlA(C#O`ksh-#m^3s^NMT* zDvo8>k^mh-c+`~EY41n{`8@?J7qqwa?7R^ud#K8uoWcY;5EpZ3O94V#J+XYx4C*9S zT`lmB5P8oA6&){GY<5e3u;WqdFV#=J`<84Ukf>scG?PTg z1=Mi!nSn0wP71b*hJ`x$%^K}tj}ba)y!NW{xMAi_cDyhmuw!7EHg)NBt=cNT zrv>FhZMY>+umALv!>xoaVw!doJ61Dm4*K7Lt=g z^oyI5_~HACngcX1YijKXJpnDakdTxg#OcZGm8?#^nZn$6uPK;*fe=j7fK;)@Nw&iZ zDqhTndr4v3CgQ&QQLKw3lfSHoMh+W)9zLdFDq49}KzjWWFUO%7VOEh1z=ohH6uwuW z{JL#NpB9|?n{yyVsE5}1%kZT&kTb~vs3P((ZconsQVISyGsWAbJCY3K!B^auELn2C zw3r4J^G>AD*C~juxQ*VZImdc;uW@q8ds3-O#pJo>D6JnV&UDXiVg7{S!yCg!5w1>w zyz5P{CFd<>r_)|c`Ru>C)TxQ_mlWpeonW-*sc7jD->1Of4po~V2MF2z^6@~WaI|&V zIh)?vV!sV^tVc$SX23QC=(r|ZC3=&E{5`ey)ZA`&k6fqlpqw(u!N?}q-mA)SPR&ql zd@zp;>W5zo0xn_WtTk!u z%W}DD?dU1oE@LWvG%OFsy-b5Hv3}-VPRAb%?FeCZg%Q5H^Gr{4!k!fP&NQ0+?)h;0 zJnw*_{db*D|8vDeS)1DM)}usoTsKAAX@1-bU2$!vq|K0FVqg9s$bwnt=_0tNfII+5 zW#MJ!ui^?)?i+TC6{#*1iU~rjnAz7D)IDc{#mb>N z)jld|ppzVseD3ss8I_ihpPUp_MBltz=$#7P+T?hbYQDb7xbEq@)|*e|0>^jh+xJ|y zMLWG@kbfIup)4KWl|_3pj{=w+56WKTif|E7GD$UA+N2|$PAix2#j>k(kS6sI-3T1s zdrq;f0I!a>EnfVRpSo0=S`o}hg2$280*9?{le{*%s;m|5*+og9XxN8Btb~oWVf^*O zEYyv&aD_>7p!3EIzaW3pPB6Tbt$RKDWSIk(@)Ld%$MZ6E`S$IHO^6qoG$S{3ZHU{c ztCz*_pQ1It^*XuBPcdk)9+3Rkmp#bjdFB)Co~>&9p?CGmqDn_&HYRl}eT?!V`gfE* zRB+hspHnzuMmgv_%S#m0i{DgEPA^SiE_t0iJYaCLtMAJ2H0;s%o!y0%3P zjW$*D^iw{_$mS&}OyhtNi?%T^xu1XPOWb}z6mcfPMNm`DM6d>JB{K{pU*6>oq|nOo zaMOj}Qr>gkv1CeI8-cYEB)R=640^tUa%(;SWg9_DL#4-YNX`t=>Os#$Mlv3D1Y^V$ zKO!rAbG0NAw5zFt)D68#d3YxMoYc8~i~O5&iH&Iys{8i>f>3y_hmDoMUs!PO$RS?s zVZC@2wZZB){Air)Eci*yzjV+9vsj6%~oXMVd_sTEU1LP9s@5a%naroZ|CTz zzq(#97Id=-7MX}5@5`x0{%mkkjeuRNQI(ITX_jVHMia>D4q6(F3q1y_xIKHxhm$M5 zC&q104v963$y{!xFxh<8ySTWcz_jX2ANnU<;Js0AJ-n+Pax;KluU6sJUR%O&4f;F4 z`R4V)Paq4}FK5EA3G5IpN;v zDXP4^`>%GmD(?*?d~5^DIo^RhZn8vJFha-AYR2dZqWJ{Z>~5q~D6!soP8WaiiNC zYhazO9_1W%dS>St*ax1#J=Y`CNmF>Z+SFmZr+%;PFz>_Lz2u@7MJ10v{)(!&cig6| zw*#7TS*Yv&DolNSN)h8iFT54L?W>bpbZ9SYa7;E(E5%vDFfavNT`kf`@k`q8oFD;- z7(C%J0HE9%9p`!5S-I_3mHV`_z7*GfIfWTEOR~*sg2{rPzkT~D8&;e|pd`UGrAR(N zqz6RV0bhWDKh0pFklY9wf?-a@@jlYK5OXcE$HNMiGQ`JblTD?~F}V;aojr>tdCDS0 zQ3BZ{fK8;}ftQaX@j`1;o~7spoeeb&XkFy)P_|lVVYZTF7K#@1+ae}F$e`+^eKFC3 z2wDb`N1mp_fzh+*0ciwHEkJ4ox3w$P_WE(mgJCFlzHw1(nVR1~zAGZ35MxTCmLJ30K>d9)VW+dWldR(R<`D$TCl?%avF$0Wzv?HUe@NvuVw zSb6Vq9jfPsl-cfDnU*1f##&IAx1jxPmF#rw;I(EqI>L)Y$5g9HL8%d>S^%iCL6~KpJ;6fo$Oqr7x@{mG2e_0(tnvI0{+6p9S ziIb?P!CEpd$5TV8ibnkq-yzSVUfoZwE%B0NtW=PQCTJNZtTxK;X}uJA_IN4pvBZ&f zc1Unho#uwe+JYg=f;V|oc`#L5b4hUGI6LAOmHeToM*jj`u6??}_Kn${M5W^Tn}v#* ztc$L4v8w@hlV`&f*)t6}RDEht>RHDwjpdDLWd zBhng}=Ax6AJFRv_uy%>}PD=RtK>QkY?Z;jfs6iI$Cl8wL@yoNIhU1A*%)FXL-zl1* zMSjloQzpB?rs-If9XIA?cv&+x-lO0x^VwaG47ZbRp1*#$WfZV6Ezi3&m#p2vh1U0n z@wy=MNC}f7nY1S80YcS*4%3jlE~-M#q|kzrWS7~x?L;0(%DE;WF~xOA)ql23!{b#% zHFH(#s>PVj{Gs`&OZThtX0j;4qKm@+I6YuZl3jpD!wPxpQ$7?w3}To};2&i6S;)Nd z{@-%+Ek0*7e8z#Ku1m>{W!KIA+?lO+=M}|o-r;Navi}zIT!SwpvgP)6Ts-YIljABo6h8a0F0_sXdYwI-# zXzGGeiZ1M-fe~|{6y~?-e)HMVXh@t1oAe;#vz<&60C_DXpTQ;P%qIyA(7Pq`GqUcMH_yJl6N6h@ale@_IOfM zdA5e1b4W0pAeF7oH8#p~TZ%7XJ@QAPD3zR^hj^p~BIL7=OXrZYv?3_QzP0TWE5TbA z(g_wmU8Ax@^G{x&Df5?9##>AO9@Drfu|-n`(+F0Z(03Z)&jlWg3#l9y3OJ5sv#nZx zsJM#h6mmraU@usdr+kU3mz)|W%eJsF)L>5ew2Ch!m5F3F!Fsg@oNXX2$qLlYMeX-* z+0V&u<|#Hc*Zr-Q$;g!PIaKP;q;31mUD0O)VX;o{>!q)^{JA+zZo3ye)?Nr3jhv0a zgwqDVkV0Y|3GG_#FxlY1j|w{W1lZJ55D^10?;3aN-}wV6j{NmRR}oX zFD%&gK#XJhiF!_ifH6rvf7z6b(v{@|w+_X)PjDA1Hf!BqwmevDA&^P=!vHU4TcmAUk#KXC8YPpNjnDDKaA8l^;+0Brm$4w|XJmi}n~F*<0ph`K4_7 zLZah$;@*Js0%zrhWvPAZVnahKunWLi=H0u4_IxSnJCD9pVwiA>IM0CTP@QpqEu(w^ zzDz$|03<5HnIC$p<-4e{kllB`sEw~lCC<-qfjoXkRQZUEqOf4pI`c>0jCtueR$U!p zmGZ4=nqPp*ZzhR!F$7Kwh)M)%%9|ksX>+b$Er{P^9Vw%1_jDDwR3O>Fr4DJ7jaS#O z@t>VcgCY3Ucyp-iQk(1d4peW79M@G}D5d?9)vLMa(tV#`f3go$GTh|nMBtEWQ)s>v z!wOk2U4d~%0tpA8c82H8-l7ra9|~bW`T4>&TL>;tre7TjzjXo%Su4FzAk zWPn#-{A#0gBK=D#m}y0aNI07@l1@||1&4j1K4sJD`vpW0UmBQX>q-SmRDLgvf@ePy zx(G>CKoUVjEKvNSO2k0a>=G&+2fU@64j!rd_Z=W#0MG=ICXHeTpaH~ontJc=+a7#% z7CmARq!O=8^lkMJaBQu z&0qXutH)w49P|W@>kvepV-8Hmu#o9-RDx_?LWXdX!!t!(0rCTI5F~gyH?9KtDZ9d{ zaggbkqj(0Og#4`;W-+hOLSO`x-hp&MTap2gJ5WUq+AZ|Fw6?&qk{l}qR$tmu{38qD zuTwRqm8h>+gPl{kb1UMOF$`p5Jlg&pcbH*kM-ANbrm*K(`GE;}A6DJ5cwD|LI`&&z-VB#sLp}GH|+u14z{4 z7d90~lAMMA#DmrO}n$YBNV9sko&zMoUtf>db(bzy|jEwrdb;XiFy zpq%U&4E;YIgK?LKWVAr$rc7%B9{$VNxMgg5@vU-1t8{Gvjmi5@0|O#kZ*G+Ef8o0r8*KHiE!Oz5L$gt_~dm zPR&{NhxyNIL+j##=~0`b>{I6+o_%>izso_Ue$Z!$JSLLF| zzdNn;4-V?DM@;;`o<5-!3mmPr`jRAOOE5-u%$OX0#N3!$6H}9C`EQ;xcK<(d_(UyW zSFbN^A)fpTGf8$<%43-5P95Ua)rU#{?qMl^#AN>|vnR^;1E<%A8=3A?`?nf3p=4gd4Em!k1PVG+A> z`j%8ZRhQPR;J=^w+wheazdbm5^7+ow`{Is-9@=$v?3|u6u59?Q*5k>>drala3Ihf1V0%Y@Z?WtiX)INv&)q%OKKx=skg3J)Taq`u zSdY89L^y{||9HihH)$_irdoA>OgoF9o^QK%E;z?Ua7RID);(>TC_vRVQp{P)CUo}5 zsSa-0vVr2+Gk<%uF@Q+y7=w)c=Nb4hL;tG6 zyvl}&CfK2$AG2bTao^Lot=FFhgp4=pEB9QsLE9Ij$lo_VCKhtN?T4E| z#+B{i0#fxe3$C0|kaClgWw`abeD}(tGGR06np=zH!=8h2Df3Bj{449M%k1Akx~_V3 zyD)b%y-?xrmuhc0Foa6Zw?0x}%tMgG8<&934Mp8!IhxaT_hXK)vWg)p;p(p!ZpdMU zx-K(Ul&yra7K5!TF-ffL8-AVUwN-AdMT3{dmfYw&?QSUByvhw@g)6sauiC7`+BLeI zn4P$_T)ydLS~?-j{LnYMs5`F1YqcMH8dgvFU8T2_*4(#TBiUB5mNnEjwY#{FAHqH5 z_7XcN#1(cFwrVB@Y;{HNWLq9e)tCuyf6|QAI;Od1hfxZ&z&jy6{~{-KTc1F)diA`# z7dd$wNyHVjfc>axs;ZO_A%!bAz90;bYSSsyULp}0ifjUwf@7jw^dNs=f>DR<`7i|h zn?H~vUdm+4qk9&=uuM1mO?#&c`zhn3Nbxh%s{88N<8#&A0hn5I>{=#)JvdigCcZ(K z&$w^bP+fBiSfKvun%1be{mzrNro%O6#yuBTN*(KxT#@)1943(atK6$Q-$uaBm6`rj z!Ri+p@@$vTFGYZMH3p~_kq2@5JNN5JoM*Nydvoe}<5a{N75hWL&Ap_AOy=`WDEdV& z^DBr^*{`_`lYb{qd&{Y~K#Q;9X(@2Btb#?|NkrXVPJD)3ATh{iu^?;;=*4FJ<;^t%`BwT!Sse zxY8Z@7(-CsYEukz!#FfhVoZd~C^RKg>}euv9Y}k)LEnN;Gb&guoKhVR&&Mhly*4|v z1J_o}S=o?8qmV0z-<&ts5S=)gF?A<=1+DaGbv#{=Z;{=eWric( z5u=KO9aMq?d`4fp?hNrUa}Qh>ADYL$cQ)mzioWaU8P^dr=Lp;&FVTNA$kjeD0XP@_ z&XHfnHZQ+|>0Z81OFdYu6^pM3dKjNmP5im*SJN=K>fxZx5VG@S%Rt32v{Kn7n@17; zzCY7-Ju>d@2v|;tGfE68GrOC))QrYzPV(7X+>vLBbqAxjJ^U5v%IG5y1JP((&i5Gff8VuMfwL`nn% zga8>uN+<~}gdUPWLhAFKC+NQWI{SXRD`CYQ{e$N><6j)_bC>H}_jUP+;$ncJp6P=S zR>t{A5p491e>e_QpE^$pH~}&_0twkc`4#Gafh2pUD&Kl%wXJvRfR3P#lAxr`ioE)W zR`LAiJ30USci6yJq2az6)!zwouPT)Y{X_kb{R0;kxG!8dkM_(tNZ*5!%k~_?PHTKK z4{_)Qb*n9=$j{}V`zd}w+m6}6NxN<~NXl)=2m^m!pE!xZ&}ny+Niq^7D>*Iq!+UHj z7g|^w++W$BZ(EnNK6KyrTE8~>UNcuv8`Di%o@;&BthH-|qP^<7{hXcCTa>(~@59fv zL5ClAOI_h$cWPLz!s|CFvQ6l<)-pn7%reu2S!8NR%Eg-wcjD#d^7h6$uBx;;N4vMc zKGEfX?a6I#a&d_ z;WZl3uZDt>p14_Io?7RN6`tNC7=er&@*%4qTItIBW^ z*mR_c>c|gRAD&ZsPP1X>g5}ZI8_W#MWEVav--l0Nd zvAB(S8@0E_=WWb8iaxqL@5=4ccTfI0A%H`paX{@`z~iwb%F^)q>+Ij3;{5%d2K%ckb#mEac6v zaf&)`+DV(Gw&@4u9gp*E8ed-90hhv^Mm+u%w3IzPd&_Wl)9Z632N_M5U-zwAHF}u3 z=Bpqf{MU$snYd&vC78B6l zZI|Kjmx}Ay|@P~(N`vTtjul);53o?~e&GyPZU>Z1CaQ#lXk)YBr z@OhYGvvND8|M{i?tj{fWR*hcIG}(oBhK=#{ifhah0}xc z?9mu}%`_xJ)^7>pJlVAJT62hf-9BSv;p$b>Z@MjhSzs&s$Fumh(VQ);?xtfqAIyfX zTS;(+2fe;0y6|-Z9{p5jF&t#mc+V)98Pn_A-%XTR8$Ek*0$$xb zyW+K3Cb#PPU|{so*@BQPN4$rluqDNlP>31?A66uHU{iG7t-ne}`w9_!g$TYv1pgYI z^c5ob3K4vT2>xvx_A5m26(aZw5qyORzCr|l8Ib5JMDSnzp!gLc_zDqxWf6R35qxD4 zd`vm{3K4vT2);rDUm=38EQ0?JpXe)#;46zj{VR*$D~sSOi{QVObNm$|_zDqxg$TYv z1YaS7uMol4MT381(Eu%!LU1H`DOl@gh(8<&qB^Q``X@&#2`_{Pepk@(8M`Gi$v>P&+=nJUSj8aPNB^d z&k;gmudo=^d6UVK;0}zhX520vup;_#>+ss<-UIS0OwnNxmb(kY!eLY-@UQM`ibb_c z4WMCa`l{>E>J5m@WKA z0uz{{ZSa<1Bh#&4xT&gr3N8O(pdK@}EQ=T}CyI=NiJS`VBe1N1rt{RSgF3l(f*XQ! zrw2Bjk}<`K@o2QoUEbD=)M1E_=xElc(Cih4l}eURoo&Et&ihP)Mxtb?XiEgQBHXf8 zF%WT8*RoO_ea!oq_n9p|$GnS#FSmFv-5mbN937S=7D|6=epGb?R`~X!z!GPLab5|H zM@|NaoK?6@f%B)%_1TqJ@cfOyMZlDA%|N(cfe+>%ffU=Hie=3ugOX6lRhMH$z0)=y ze4kQkySO=n>YlWl?aeHNR(t(AN36+$!ZV{x#MZ#E7*BHqbg!Z)2K-+v=7>51{WfJE za;&hG7=cCo9MsNJU>euhU{LL$(ZnD#e@Z$h+tOn=EeffsZ)W5Y2wl z7bn()=6JurrO==!)B&mG#|hDlDwB0igaR+-P#!XHC?zhc;w|cUnd&`63n(<@+y%0X@DX2)(5{sl-E{AUy%i#5rh*>0HXQ;qCV`Swpct(d(C)Ah*hc;RmhX+AxIKY4N`|j)b_Fo0Gl3do8e2li-84 zj1&^pSrS*%9VP9%2St;m_`(p>H0Q>eGpyA-3{27wvrEs`;|w5(V+>@YA?3OnRN9pZ z*#)@>#*$O?C@FXH6=x}_JxL9Fo!lw7*JG83US|K%{vBjvHrcDG!9Q8>s?eMwW-GZK zV&`D^IdzFDA2v0_6h^yZ*k!clG_>NFDSH6D7Owi=k-JT6W5_usuWvq3!{G`!@8|?8 z`%3L#M(S2G8#C*L*G#H;hHrAcp`R;1+Ixozo=*B!VyBZ7`vvYX1VKJjCZ;tT;R({% z2QrSlt$6nSRcT3T&1pfkhUg5`scK;;d@if5x#(rlEumJul~PPgNbo8!@*?Bv@A*pM zH)DP^H?Uipk6xVM#5TG2(GEOB#!vd1$M@dZ^+GBReTVmi3l_Pb3YOv%RqzQM&zu@v z9ybeoh={&S(Tb0l0te)upo}c~P24j-$e5*s3*zIxgB$5f&MsUAk5%Lw+>57Sf@v9t zNY`%otW9TR^j!{94h4DIb5MBl#z*VTP=LjxD<+iCf;tbf*(0*(kq$SV%~^=!#Q#G* zLR=k_vtNTrkb^%nPs5E2x~3F2D*CVdP1EZO%IHyq)g&I{lMke}P39TWnxl}~p|t+ehd z45YRlIJsLSG9ggVa9vv)k=5$x{Xot{2&p;s&<{>@Io^_lj7yA#dj<~8cTl!gc4fbk zFWhRbDXd_X#Xucn%;97@1$P+ZERW6DdV_6xkaV-S68~6fRfY};ak(ao_gNZ%Y0!{1 z!5h6B0$1>uV}AvChPvawE=d6oxz2;eZivL{s|&zSmqFt}DPIh7tjc(zi)qe&)OF^l z=AAZeo!GY60X;XwFQVhT*h|66qvs3XJ&3`%N~X-A2u5!Bc%_YB(rcgZl6u^&PDC&} zY1aM1i^4vEHZtJ3Bf1K7RFoQicTHI?VbEpBxe-ofz8$v4^3LQSYSBQ?@Q}8YvAj+@ z6!Vz7-TBp?1uJ1e3+jTE(RzWe#1WOaERCQMMUAX}B?S37B>#Yb4#T(rTFt(L+j*~eCkt42RGzIm#TY7J6t$WQ`-a<*q#z2GWy5(Xe0f??hjz3w zZxfsq*WPwSIeN6W+fn4+0gED zf720(F9>vC4V5GPm_zMEyyJk>NS(YbP!pL9`3w~|GH7h&tl+aXczYYwOQ>htY!R+} z!7d&#LOY4jng3BPKoEfr-3D5Dw+zjT(lNg`Wfkwnu00hb9T=y4C_zG7ftGVT~B;%|_M|+S<;Q|d9 zTIl|OEQS3zjJ0NpR-|8-nImos3lN#maSA5U0L&T~ z+&bkzsf0p)p}@rW8E713NfO(;t;go+pgF&i>^ETMQxHqEhU%crxePA%(Pkb^YZWF@ zSAo~`rzT0ZF!`D3Bu{3{AM-}5>T?Rc=?QK&oO?8Do*N>c(;kT#-uyE$@HVzJHq+6_ zuUoM{IkoV#pp=F?1LQ=aMos@mOG0dut*)!TKexCuq5*YG`v-VPx!#IL=n8S~px(JZ z7mOBgoQjLtfApr%h)|b79Eoew9<cn~SHW4tpehjb0Q zOfwbjkbfF@X~pat-jhAX*z8NzY*>loj2I&P(&KbvdHsk&0R|c!MbjfOg`R`Y2AlV@ zoHr2oA;b_^oGOGki#M~g(f*zC0~>)ty;!6Rhz!;2paaOF)$n0@RE>nA?V$2XgzlvW z1gP5R5BM;d;m8Ez)Ltg}$9$=aRe8fpe1(iB`S^o+ODoYo9^9B9I3XCJbV7-%85{ob zoo^4=qdnPo9{YQYYdoi|Ag=XY1wf1I18}^7IApFnuZdMZa$~UZgyKd8hee|` z%YR=kW_&8g;QcASRS(+Fy?uoN?s_YHg8ON8yOz zG9~H`KY5kOaFZHH7lMuQNH-`)p2P>2 zK7bl$j$-FXfo$4V$bUOjM0%xh%3^>BgYkBQxjC++Aa*za0X;WaWd2P+NL&Dg3N5O4 zd^9r9GZTJ%xIYG#7`I0nr*ec%;80O-{c`i6Ad5=H?HrRGr}iR!1Nle~gPj{N!G9jb zCCR2uldUr3=T!x|{GtHOykl`Z5TZC{5)<2^7tmQ*Pm1;8AuE!PjXw&)5*?w3#iBc9 zhqrV(?&HttuWd%$Dr6*QYrz+M)zTZdb@%wmiU-)=JsZ}27vQxucOE&-bnIS~Qz1?x zhK<9Vu>sMEj2_RFKVpNP7Y5PC5S?N3&GkN4P+q>Ji|)okW8Ru4asE&Z$d+_^oC$_x zm5ETs+fKsKX_uXG1OpG3pQAYhg+^fcEv!9oPqgMfqrvV5G_t18=DbW{s6WV^ln;~RJ)!-=t+K1eD5|pY==*;R(R-84?e?rQv#}eNfPc{tnq-~_TNrKio zP&NSf?jZWqTDKfWAB+ZonV7NF*U{|SxcCA+K?D>aguee(bYdCJP<`QsKt`oIkGvA% zEOHg_orP7nG2IbXfG+7!6(-MX zh}eKl$n&ZZ9>7?adB}pdYVo|cW#^0T?!k%xi#br`**`02c^urQp{Q*Ro^p*H5gErb z{}>4=FGm>I{qQ-YTFdlYng0Nl0>r9N-avmzIsfIL5s>SV65TWZiSsoM3Wo-eIi z6hCjnbSp#vk7iZ z@;z`r+&v}rQs65Yj{ zfIc&fo&OKmGk2VkEdcM)-huHQEE$bx?SyXb+Wa~0p+Qa}kqh6$+R^cQXe!E6|C%K3 zWWb95EcWI)aEp&??+B{JBXhu^t^F*AM)nifY95i#_hF87-xe%AS^3ZLL)L)U&})%Q z;{EG@h9tZ>{m(RtwYLYu<*-2~Bp#_32rhI&mp)Tu(E^!!G>5#$w1)rnF-IYQI=Ey=|HZW01_0%)D2U3qF$oEB>=w@*8*pYpyxy2%ijymf4>pTB7C5 zvtQ(Lv55SWAI=2m^|r>)2FTToY&E#3#sm zun-IVR(+1HPMOSYDs@do(d1&rgG9{ysh|9YFimN=nt)DBv%JVOcPit5n1{#2!zQm#C#M}l3m}hPNkdkss0y!< zqEXhfl)j_<$w0;E&~2rY=QjW6EmW$myQG>$fuUQQNp(#KV2wI~PbT`Eqeuc<%2F)& z>t5C6AR>f}1i&mrh?MVF`T43DrX#Pd|8rY*_pQ}#$)~yhdC!ArXV0wL1H_D1vE%}O zZ@?GN2^f9)0e?U^i-TNJ_AbJ|vl)1Fz>GoB``2OS?eetD(I$U*MaarJaRn3qrN4YfsQb!a~DF zAg@6KZ|O%6ObcF#2!^>H%=TC;Tr&3`jLJV&-+cD+_J3Z2+@V6l{7Hp~jar=$;fZN( zZt*LI4C}p@npjo!UKq@y>D&UAO@PSNd%*?X`6|({T`M6aURX8n?kNXz->&@&j&9rdaD%#O=Ym!4F;5)k z&qD_tJp zkC5neWvgT$rXhRTy6W>8uy@#X$5l71&Jpg(>`6>ne_+`UO}{CA(1c&rjB>c9VqW`d zNM=vB%Tj`J_izzK&Bl+}mLb>{BRnQ|pn_vbZQfHu-s%S86y2_E$pzj|_>ke((QEky zSB)-m{PFolF0>0W&!zSE4`B%?dd8h0p%96Bu$&m)ID_YggFGnHGrdMMiZVP|icEPk15EBWw8#o;rC%LATk zRPAbLlds77L2cachD!8|IN*4W#%wYxxo@$b1zVpm_6A>98uojqUy-?F?Vgzia*VDI zj%s$z1mz6MsoRaM`W5*qow23y1s)EgU6I&)KaVr4%B8$>s)7=YyVr^JF$;#QUkERl zgHHzf%=tV0NodOILaRBE&KAYw{^xeLusKzE?^t>#&PghKGt14gp7fg)Bc7*4Rhrg# zA_SPh*Z^y_My%I7?+Apf4t`puvP=%@lt7QtjKd5ToK+Gw&pY<%2+5f9?Tkq8^EO(b%*HViR*PVW`8MmAxWKx&itC>NjW~E%*o%#C!?3C3N zJ7=wV8}nhvbw{N=H)e-vbX9!thkBijv9QC}{hXc`a^25zC&reQI#e(`TuG|arTQf!lswX;hZEl3*5Ki+PE}~?0BHqy_~{+oYOwU;d>4y=?H(1LL)3Wew4?Wy=pDKd036be z;_5dvZWdY%E6=QYdrKuo3Xv5p=OAmQ_#p^(P1PVsisx{g`G4Y0 zXCHgaF!6bn9_mzb<;=IjYgUpBhR9+gFj2SRdoP(WJ*>;-y|-uCy8+*{wFHCpxic_^ zDmQd258VBE+cO1|5B`HYvISMEEK?s`YE_|BA+4;fR>*I*va)_A|9z;+J(HgVz4F;j zH|JZc34mV|Mc>yB|DDjLd~Hc!fjucHoBfNV)f|QOzRek|i(S{LEd(v(^p`u80w1nt z!zN*<6w@>(er}t^>|6F31qIKcOJ1#MzM~iiWUS= zJ8ieYFNglM;$qZYT=_zH-Vjrb#bM2dMWtoVH3?e#Lxthh-wCyDglKlWEXj(V8J9Gc zb$OT9!X=bF@6O&-idGHDAO=U9#zr{$%|jItHrV4wt1`|+-HV~kQJ8U1@4z(bWtHC_ z$G@yyaeAP=Y2#|^3+Ocs=kv$i^)QZv%{voj6%w2*zm0PEg$SFeRj4oAllqc+Kyod? z?8f?UrCnY}eK0G%=7Pw49sT5_t&fowlgVL4uwBW1j0ibeYa$_MP@?P@zQ=Sgnj4zp zy>@$p5d^$wa-~-iGlFpqrz%&1LVVbr0k~!3b|ccY|k3=X=!if0jtFV z;4PMh>|Z>v46W)LJ>8*Kd5B-U3{t;sJ{-@vEN}}MkCdX}l~AaDCjq6IwTkzR}5Tvi$gi*;WK)BTX%T&QzDRZL$_NLKUbf;@x z;L5E14Cft}-cEaSQRjp6q70Fx9`2lbd!2XA{!MQ9M(3XdC1!coCtghhy^&TZ9=krz zp5B9yd4g1R<+t*STZy*pF7|kICi}S4_rR zcDHP#gJa>QxP%P!c2R)*<|}3R?K$~t!-PA^`3oghre-Z~R4&E-YVbJx;d=ACv!7a} zpV@Gudfl`5N@pFs>98cqc!OoCV{}s7@`6CaISYSdT$-`P+@RQ+lM@ysRDoSzkkUiQEOr>231t+VpVFp`P(XNkMh8m;yC@0w)wrG3Zp zN;T01V_bSiy$Lm@aC4lBi7;dd+;u#>#CCrtJvIfqFZ;|`GTH^A_@vTs*>2Foa24^j zAjZL*b~I9tTjjlN&M)2V$>B=m1Q)kvT(+nY+dO3xi1S7!H8sH+l-~F}?|RhlrP1j` zTQOx*#aDrjC_zxcdBd=|8PB1Lf#SX{vIX3Wgw30>S4QI&r$i#AIfk}e@3}ML58Ltd zs*!rV)PvVz6cA3ygxt=BPPkZwXRG5p+uy~> z7ZhyO^Jm`6@llP>kUx=bKeEAr4Xlq_FSK5$WknkQ0Wg~%wSrvfWfD*7=x^lYpBiH< z8>M{7$g!H}3AXvhi{Udn$rvOP+yu@VWL=Jr8C;fZw@=+@isP6D;05LcOp|33qR$rZ z>+n-vsJ4$@Va`^)7fgCVYsrca<8cWu^hxKvizU1yHTm@ayU+XAdOPit-O1f*fsR6M zXt)HrAI+VDm?1l*Bh6jx>Cgz>SQ$Ia*TQjz9U5E zLQjUAXb?}7nyP7DaxF9aO0~>C9X9{9B%~B9-A@cUeVQukttKE|eIXQ9Kzl^d!2u1C z@QfgADn`e_8h&85*I;WLk~f^phNUF2e@_n)Ts;-rs!+odW$gU&5#kgThUb}WO2Xf0E zX1-+mxjZ@cR(XBE>SLG)ZZc4?Tbc(Nn?aN)6uj=Q0u`aOvYOVc&;N;dh=ghj1|= z*h}=o3I__D8{Wxt2rw2GDhmCbQ#JI7&fRQeGn$jo&%+Kj!$Xhw5K8?yZ{kuY_s}_U zeZ3hk+#3Q9i}K?9shStRbr7~>Wx`{fXG2Ys)U(D-8kT#Zw7OKg3BUI}mDV3|6K#bf+P!L^RZ`2CY@`RK%(Q)D$YEnggCS0^Ny!Lz-Ny)`nA9xiKsmybE{@{r>;+ z!tpORodS!Nv1_e|O#J%Izkoy0mNhQmylDnOqKWVipcZf7os)r|e7u1yPm6A&?iLp? zyonyrYpF7BfoVrp$QRIy`bKg?1ZUZT5SsG@AC5(VglbQP4{U^%nWDn;6P1=bQ?;~c zd@fK0%ri3&52(sR$<}80atwiG^Pvp4Pt~)6UjTG6ZvjXX=S!)+fd7CFP~8&Tl(f+O z`C^Nq`L^^nO>YYod32#K9o-})2?x>q(kVVDFx;2H7Ufg#BDHtL+mT#_=nnOg@ zC&_B$T>5I>cprD?4~&FG+mw7?>@lq()fLFDv?1oba2!uXsn>-Qdzjyd?hUB#t&On= z6f~kh4G;5GT9y_M_chn1(=rwcE6+_yZj*T4i*6xxGK?`m4=@gw4L7o@NS9|TJHpq+ z?q!~HFwSG@#la1A1jfZWfZg4o7YI{VsF^Ba!vNOBOF91Z(ZQt$L@n_zXT3Y!eUZrr+uoV7PKYO#F@EI<52LY}l{0IC4s5LqMWH zkF|M#R|7DQ4N4qwUK*$J0Nq&jYsO($Ou$LE^gtH0>C^;}q1u{|!NF32$y3V3(kIZ* zakO~8NwD;c@SMBT@fI*rwscrkt{uDl8Fl}bsl@=6tK!#$n7W}xSbbwX)sZApu6ren z5dl&(AeKn@NC7mY8L{;jC@tb)*GO(DAeNYw8v-7dPwUTd5V5u-if6f6pw;eO1GvU{|O>Nd1#YnB^ggd*Y z9u0C*L69gyNULlNSy-^y)k23G2~$br(3&`RpX^3mjxIQ)=^r1`Yr>svQ}U29&1;?} z^657ji<~vP2e6SgU;9oyoom``3B$m zA)JS)QhjPHOsGEhak)43TaYrfIw7#jA!{ycUT*j;_=s(b!~Y2NyiL*SSBETGIHk_) z(kQg!y^p)X@@I+Lou*bL2WS%D&$1}mpv@5*)5!nw_*wkSVbQ2LD2+H;B41lh_TxJA zU~Ksji7Ay+!S>UnaY;tc5JEVQIFjU8oUk42bwo!(N8?rpw+#>1a*`l#hMM#Kk0+{I zL!Lbk=u?V&B&NZdtJZ1tG5b~SJ^M9~+C{GYQxi;&p)Y?icj~n*VpwqzhU>_J#zR=# z$*Go?R7i{}O~I%ZqVhrQjgdk-n(sfy8D*OYORt1|oLte@2zTyHt(jX)0kV~l`vV~6 zWty6hoxSKMPV?m97Poa5y6heSUZf;TFZei}Fmyuwr__R+vj!8eP;mU3Q9%Q1P~IzD z9Q#l;o~m;cW~cEwI%?Dg4stVRc?kqj(63uQ&K<9r%loF*%vc1Jg}uGK0^hk0HCezs z195a{I@I&hwi{*5KnK!TH=?*Q2oxItJlK8=Pa7su_fM@-1L!$G!2wiWKul@=8#^cB ziCub&9{VlHHW#K|On^5px)(R@Z;>BFlJ)Rr9$#?_UHb_gM?C3Ie~M@`>oZP{`!% z_lzG4A<&W2qn>v!Iud~l9L1QRwn%^cYSiVoV06lLcl0V-0KR1UGs?|LI$B!;C|5q{ z%Q*KNNw8I|p&}*lAtJUGO<=88RK^lRIivDTD@I2s+ES?Fh~=}Vd~SkY)x^$8>4%G0 zM{Z*Pap)m}fypc#s*o})`Urr!szbOlwcv#tRn6jHl!`Jgp}d~)2G_iK^o*(Xb0@v! z-%R;Pm`qm6_~nSASmH9APQlO45%NT-@|ROSA|^#jW&Cz%!L(Xy({WnuPah+YQ?3{T zj0pfLO<18)mt$`FGhHhMOjQ6UvN^)HK9(6AjZ_T_3-vx3*9F7^T01#?1fklh6@xg`F&` zvHmCWjZ%P+6`qqZ4S!i*0|!%drge%QMn`B-Q%Pm2+5rV+31Y~(g-}zW;GU{j7JttIWkdv^$5?HYqSUJ?f86yE&4?sb@ zrF;e?UI49yussWC@~KxNmo1>h6b8QfRPoCWYc#}FYrfZ>RG`h83AO{r3VzpJR`>!! z3`hh^-z~DVxMd%r7>9&649?O;1TZeUVhSnyiCDspGM=o;*t#f0A)~wE4N=MQL!dZV zBDX&G>E%k4Kr8(KqenY{L?A3qOWaA1$~dt-shz#=)Y!qT3v%#~l^X zs6&N8o2HnkuDI1o=&4dZHk?pRAu?cVel}#zQU@fZ!(T+4Ojw;{aRWJ*dmvydf4B~< ztJ|E8S*Sn9&Aupl$t`CTyn!^mOtgg4Lspzx5~-6#B-xOP%hwsJ=*PK8h21NWZz6!3 zkdtu~KX30;?p{5*)lyaA0-~C#+9W2eiPBL3uNsCToTb7r`NC#3HK_r|VCf3FnT&^p z!c6NjXy2vl*FaisM0LI~y7}yC`ai~le zF>NI!J$LnWfv`>L9m#I|X6*))up_o%usm4$BnS~-i=x+4yoyYGeX-Q5B+#kf%~fa= zu=nSlB|7?HGH&+gVwPN)%BfQtrj4eox!sL8_M7!=6g`*e{|Q9n!v z^yavy8>ez_E*4VAjgA-iq}Di^70)l=aD1Da8=5he6j>-l7W(+H>pcQoAx{N^qxm;? zSeQ+l(qoB zY%s-7WfD0f;DS|2=3!C&j7T_w5PpK3L4{SpXXyz~-bhCPc=(@70+>c}w zRne@rjCLEkVXsD#_&tLOlF0+`z7yce>uw2hXCGy^JsTHY4BG<)V)N-mr@R73fMzU^ zIAP5sv1JQ0KhYXw&*|1E3X9JeO2I-gG+k8hJzRlccfjv+6izXt8qfh}dIhzaD|oVt zF6CrA$bPD^V=Bj5wF6l0@qp@>$*gErU`~jw=t22Kh-qha{uXgYpdsU3XiQSa0B{#9^kxih1?=G7GelGoKjF@eYip} zFfxHm413{)oQ!paPj~*6;g-@YY1^$;ISwGR`<|rLn6sgB7+qj>*E2LVAqrzig(p8_ z*v#ym{mm}`l$vZQ*&7{4=KQp;+tLy{2-S%u3t{~*+*8GPyEPFS$}BAo#QZviZ{%bw z{Omcc5`1e@vZJY<-~ogFD^bBYK$+yPx>kW+n}C3U~pncpugfjVQIZWaaVK$1bY3IKNR` zDyLRrqSxN8?|X>(9SYld@K~YEE%v2)y&pv;ATiNz=2j%t6d++kx-2t)(*rEnP02sy z;N?>auS{Pxqzck3sfFHyp{$vweXrfz{Pc0}_}iTuaTm^`2aVaQW2K~(e)zJDKL&*HY2MS#i_Uu)MPAy9Ic?QQ;qCPW7($LBQ|~;a77_>X^ng44vd|1 z{(J-{I8?IzK()~r@aGHR_#Y!F9^pNl1{((19NDS3CT1%eRSi7X>W}p9+d+iIzWcNG zY2@akL9fkRcY1CHm1S1CCi{RUShQjzqkJ4#2QppCY{rQ)=$g;%)9Lg~A=g$JgwFY9hQ0i2}} z9W5nU4m%&iwuLiu$1Rj-jwYKQytgehyFF{I<~&wxhvTZn$aA!N3oc_^4%nXD_GXD! z;0M{_#}xJOQ-!w`H7wUB=9D)M9J?5&!d-K`(|)W%Q3ts1ow6wghA=-?HAph`-ZUA` z5}6bJ|F6Z1v8F6}Z@E_U)VA}*;ZL6)`*q*@CpY{~?#=BG&#t5WNX4bngCk9sU-zw2 zV%!WnO9B3w^IXzrt&RCE&V;dil+;}V=nCvoK+aPbv-J3$EBp{JIvqFKltuF zj3y{Q=A24wbiU(DT6sJ(bg650Pt=u&n07_Xu)BiJW52n;CF;>eq*@ivz)60I$Y{?9 z-xJ(*kV?YBhGIvQ3LdQ&xy==rZP<||-O<}o?C6900jK8c! zM~o!s&R}m$=DRa*yg-4NR9-&n&dbNu#Ta@Q*D; z4nWs_V@1q(Zay$wA3s+|u#mbkb+h_G*dS`f>v0DlUqry;pX$a9qSAm)b?$*Q!eYdt zJ7e<#<-PXvox{H~nt3_(Vdn?atOF_-i$lyhopho;JzuxXL2BZczqT}&qTafbEtG}u zHTA`)bu*@X8nn+$#Q9P?!rhSIb5~$0A8@65rNeXLU6V~3HWx90#U&xb54+d$ZOW61 z0}D3N7NrCoItv?5s;S&tbloT+0M`vv{+&`r9^4&(eK|*uBrUGf4@$1FdWmk0QU+~1%<9t~KY0I+ zYQI`gc?SyGM0Zc=dS$!8-(`oL*R>^_Jq9lsOP;8PWH+9_ZgiM@Y?=txGXURRTiwD$8 zfy-dw46@;h#fav+uil=$tJF94!JYIF9+ZT@%_h#-&VMj@k*R0Y$VBv+Qq=FDEQ(UX zNkxkx=LGaIpWIA)=**RL`X+wYqLsiWYqMHAFydU&-5=tIIWc%|hRAU6v#o%!#HEq3Qp#ZVB0q~cJ|*sIpsh8s%WY47Q38F zR$L_2u*XtEcxigk{KsHJF65Mn$kAHd@>3iu%NjGexME0jSQ{6`$UZ*1o1$Lq4rGK1{y(fP}`?FQXVQ zlJXqtBVH)SRl(9q z!vP83I=UNNc=Y#W`W*QoJ&+8XV~|FQz%WPtE(QPPEbB}-x!sET2rf8#H!=p(E{G^cUp`Ak+v7afic%-PAm z7lPHf(DVs6a?f;eK4@$Jr-mfZ<()g(cznKAmHVg9v^F$G1O}YNp|PROJfN3%KBIy7 z=QKH{8x8!B#WdRq4Ly{^0rQmF_5+3sGKfzB<~ugZz^H1%x5T$VI~46w^7wcF?T$bZ zc+V3jJzGMnbC-PnNtf;)gXDV3nXSNIh#W)!QedTxW69FxZ;t*ijH``(7?`JvsfQnv zuSnUZO125T)>_6RnnpaTnL(yzrChw}@JmI+`Je}5v2#kz+jtKzbU0exIJ|8CnH?*T z#C5AJtNQ?;!>PJ^8{2)UTIMo!@F$IcTkQ_vdKHbnOHquuQnJPOZpRD*|GIh1(c*lQ zXRHI$RfDA$=Rdn*yi3(MV2En2X<(i{5sKz zUXwH9^TSy-w2n&LvtxB&P24TV#F>a*AH0463Y*zJ|LTd2btAAT>x?To&i9d8!vV^` zC0G``h+7v%oxW8|Ck({3-d7nR0cOpp)+(x`tGK&f|`r!TkaMe`g?@; zB`qD8ek-m_y%~R4c?UKn?5S$TD&(a(hYM}%lKzmf-0!g=owJ7Ui`rPg9!rn-!)C1= zJrr&Iu;6EIi(eMlN=Y9vZtIQQ!gf!Iz4mwm;`&Ur38sVSZ~akc_jym7Htp=R-3GrL zg5KO5qG$u)qfzQi<8f!!Mo}+~Pe@^^4XFBL4`8nT^eJeV>4>WuL6tm~8}XFfmV#78 z3b$d~7V4jAV{etKX$zZe`uBM7Ok6qe?~4}?65h?v1m?meiLhzWRhw_A<$&@rWMRGVX|~o3OS< zfX3yI8ip4bHsh_CKPwoZzLZmgA6)=U#FDq>jNH_OFX9LoV&*F54!;cEG|%zAr!irI{kph@>>~0Y*|fc{~Wr7UpreSW~Hh()BDE6DsEjKQrKTokeTb-_4$lB7RV12S4}cPuN%{Am z@|?NBUprbtzPar?{j|e{bY?;c&IZ*>kW~{@bW}n*ISq7C3R60|@Y@G}|FR>2inIqV zB;o-t;Lgo} z6=(StD+BX`y8Gx5>cE$hKE#Zo?7)VLP6Ff)d^4G36R#yCyXn9^GjrbI$%Gs;QENh{ zCROA?PtXj1z;@4cdFmUM`;xWjyDE>W2|3jnEnVw;0-T;V2Bhs&vfF9}OR@jTuDWIsK)iQ0IE4 zEX^vAKG+XF&(M9xBh!f`^EE9;c7M{_-DMkvSIaHptp;o?t^A+sj5WG0c7kgzJ=EYl zjLl=u?)d2KPOPAGzoEy3QP_-M2pF9A5IpyBoTvlvL_HB`a_<|Z;9FYZjz~)|2j-bC zr=}pCVK~N5`b#M+awB}LM8pR@OZ0WV zbyi742T&u>&zg5&KvKDd{$4ceO)h>Zj#l0NLLx#?RS_Uxh;l#UODkzGL3q9uv2tDm zMnytX9?r*sb^|*&4NBxwH4}+H{o7QX*t_O)=4*fcR^5H#kl%(ite__{9O{tpImfXDK(7W=LotHwjGSS?+$d${N zuPEfcxuDKV{=g|1K(rvXY_&><(ng2pegd&cbXtqk135GEj*eK^2yP3^7fwFHCl;(~ zQc)Mc0=!fk<3r+xwEnae^f+if=GEjspNeG&g1NA8$oPy76m^=|_%X+ZTk0}dGlN9; zEZZc|l~zRQr;(Zh+=+mB@kuP<9aun>wFOPDclp>2GDn+dvg#!~BNqMjFcpw(&ZKYg zsU7-WSLhc&%@>%lcAZ~HLTyUKopJAlJG-O{My#2&Y31L0+-jd#w`*Ds z1|#C;d&m7CL?b%m^cNEwv{rJzO<|@Fnt(dG4Cbq;$A9wsJKW^@_8qqJKhbc-#E*%| z&dDCYH7S1~{YW-dHarEePf(-u7`J?%fb_;j=tA)XSB^xfLtdLIVkzyrcbwM}(Fxhr zejzty!do_Q{XA(0e)}5NWta!`bx<9E4MZd0q|z3})?Z9$*9JXShfg3uO!Q2!Tc#7C zOhb`fm#x6dL7@W0xLGiQHo3KvVtB6Yv#;IY=r z+COP8>ks(rrSm8Jvfj@L_fahzV~v7O6HJkx$if-3J)zZ@W`gr6L2a9(VAgnlMzRbF z%Um<_)xn38Mq)KZEuLdD(d9!h_yYt4a0bldao#omvu^T<8)#}aq}~zXK&MFNGQD`+ zk}X-FSSl|4AzFXZXw0`6_qGjBboY++1LA^Ik@rz&?!*q>DFCT@F`*kX&r7xa5>fR0cS?4GE+WlF!Z^{Rm z1iixA-6%TaDl9Aebl;Eer@*3<$);_}A^&SJK&%sqII?Pn1p(92nmZOEspx|lhTdgN z;`Yt+AYm`t^~`lC+CUQ!^nTU!709iOGX%Ra;|nHMzPH)5mCQkUM3&#onX z`XOc>q2RO^n`1q`^7kxizT>|SO@ph`;f4{Sg$yW$-;W{j`bs3>%zP|rUi=X-)kMvg zHo7xu)S7*q13&mqbX63l)=c0jheVanhisF%^1=>EtEnaU<-X%b`-m>@r^#EK^CDj#H8S=L->X!XhGT-qNm&rYQm^p=~ zlNJfVc~nv{*0AR8kH^29>mg3+h-RoBEwPCkiu28_6<%N?p8-AQLuFr1WjPsuN^g7t zoOR6Q(HyXhBO9(V(VZmCC_VIOdx$X)i}t6LqrC-f^%lIJ6b$w`A3SF&iEHq?KHYZ1 zWU|obeKS!O`UIC!s_zrRQwV};wwo8jT%?CBR&RO3eZrP{K{Kpq!-1~J_CyBMED$c#INk#bFN$v^K{ibZ*_vBJS>gg`(g z0V5yj4s}KZR>#xVkzI<{)^09`0^;X>Id=yhiG@wM@UANrn~?c8!o(-(6=^o>NsX(` z@&Ryy5Rf9k{L(JSQA5*nOqwB$4PQ|BOcsyCfkX{xAn2(~%I>IUJI<8)PeMwt`| zO=l8R2hnjyznrQAcAtb`k%tyE#swlJ1yV@BFxkyJw*Z#>(#rHXMH7-@3ryj~0eJsH z%M0blzHkA=TAuv!_^nVdM8^O7`;)pVL3&v_r`gs`#!zv44e_?>7&6_13RAIov&mRe0#YVCNpT=QQYIIZxF0WxxZSwQs zG%tr^R*?fCvzT2g&`g1)4;Im0*R}8qN^S4)DzNCI>&veIVlncGdH(gN-wE!S`?gfD zE)fQGp9czBEy3zf^CxlT=CLg1{1jYTPc7sQ7sK&nt(r1c8c8E@Tt;|4Uru@xHPv8` zgUxBBlAgcd@l(g?aZS4~s{i{toU?e!!Qa;mJxXyy1wkNHH7C`=^M)Zg*A=n!@|QE3 zPmHJX;(U;d{uK%+b?9MXxb-#xH<`V_H6cqryyVMiwc!~wr~?S4AUQ)$4W!)MM!jPb zRk{>inh5zIs(;J@1h>YEcW%pE5>M6WxD;Gw!ROK~xNG>T5t0 z__+5!73`J%a!Qd=Gc$nAei1_(XeDP(6uW}c#;vNzLeGNmM<6<02)2D$ClOv+AHjCT zamVmL8MffC^F;M@L$dUJ=zU<_qnxXbPdq)`-}bZ`J-Gnuic~O2rUn${8pFkf|5< zxpgK(iANICFvKliPFlo^Q$PhSm-M9^V!6+YG=BQPLHH0GLlDyFx%51=aP@{M0udhzg~cF3y6x3s3i%Yi@-HJ*qN0GSj( z3quNeied$|9~LiI@8OQ{{ug59B4tS8G)CvC|dv6{O_4@vg zw^ItODk5!8N2nCZG94{WshrXY*$Pp}6fqcP+O^3kNwQ2OX=7rt8YdN3qsndD)9_RPZJR1Ma-F090bv>`=^?aT`&nvQz6CKvzKeer6nW-nC zsHctY!-ra0;RmYWBq`^4B37ONjUBL|BNhPjYA$Zfax)=T4-3eU^tw~Df(ut9I z7*IC8UfaI5A(x<4(b{ZCjaQhhe^HM*K*eJaZY+sU3$FcgnkdO?D!8i{#^mi-^C~B`wGaKB5QlP)B+N` zIV3R_6dB`1D|!5##T^g}>Fj>fr@@t!1n4Q1JZ?pj9q*$Jc9#BOYIVPX#*a0MiDRWU z8=`%!PXl2R2#aBwGREfaD1+%R(dUtWQ1BH1J3ww?4wz5-gm6VXc zgz>EN1j?umf@+C{79Si)|0L164Btz|gm2BFF!EwK$t-SQcBk7NJ6!%rV`q&8JEoy8 zu60{^Id4h1qDr=0l~2m$hSPtXzUvio>5vxFPAndKYTN|bH#u{Aj#y{yAE#vGJ^kQ- zZpN#eMS{r_Ig_jzTJG(I_#`4CCj7}{AIf0czL+ODPpUJ!cY7MoWTcWZeK}Z9er_}? zP+$Bs#>8XksicYgSmD;x>yfP~+ojz6(*z*>uOe9kJlmcF&o|8aJ1pw47`UF*%%CJ!646M;g9vI%>EXB*yT_K}4^yf$%zhZ`hb3#yfsiv!@; zSFar#Aw!xi4yUoq>b+U|xVuIE=iG$)k+FHD(ac>`G2y?(tH*Iu-Q>|=ku z*yLSy3B=%N>kjJa36IQ65aiJ`{EJt-qdGUP4PiK2dV0Y#fJe`ZS8uxC!k9Cyfk%&q zT0LW<>VmqJEPJ{mu2~ zxb9^}K+sn!N;M_ibbn2gP|){OndY>E*s4i)F3k2!Rk>C>Z0F}Z?R6vh>FW4up@&zg zSzSkZV%hUItA27@dMJFz&d*a}E^sgV<iYUUyPG6B1_G2Ug&#+q^slBUw53{b(QyS8n0MmNuat+3j%gv)$VHy z)Qb&nhg@KFzUXFc37)z_ceB2y9di~xw(-V20%bMh?E%i+Ayx3BByWA!d>q@21vwy2 zga6!VsY%AiGwEn^UJ^H0urY1$B(h@wJ8qu-g9$oV+O~0^6|xjABmOb6jF`8rKX4)% z$ow9VOHSGEdJq`iX)IZrdJ!1j9RQwB%Bts6tIpjpzT~guHO)JdxY9kJo*mz?Lg@K4 z=>agjL*}e_vkq7Q9y>v68L|MhGu|XmwK{*jT&RtHsbqq6YeLk8^Y*`l$WHATwgBWj z+SHAkv19rS@ziAjSm*24qwLE=wk8e~EeXXwycDhiSa$6WNRT| zRkhCRu;v6$?K;NL`|mt#1EsC;3M1FAed~N>!^`4?8xtX;xS7{Wx9)3FE`>ZJPpmA< zS#dLLhqF$;@f!)$?#G5MO1I`}Y6(3f7x(#3s8ZHA{jh#ggv%9M&0&kY&Lte>ww z(-4|tot)Rd5v#I()jElSnqN(aE%GP^lYukfZ#G9Zy;<(%bNI^DRqLOYtcovom`Czi zzl#Q0YZ%b`Uf z?9)t41j>qA^j|2Dbg0vEG00ML>5|ARk6xSH zpA3w$8umWAvg;?UpeoNB(ZDDxY;SPQ?p4Yzu0o@%P3^LipPM*O*p)R^r*>YR%dn50 z#^k1M`tS42jtLzE+g5eCTbVnW9+`JD<@)oIAs@Z;fN8)x>~8j(Q+Ew}`U~bQFmv1= zZe|xsTopgyc&7^T(c9ISk`GonUAk#(Y`T|+j}RzV6<#{Jv6`G-x=$m|L`uOb5q;oL zo9BDXz(qBgS4%^KyAX?lr}O$Qcm-Efi_H*P_v|XH00wgrcnppJ`D}U`@2Zat#rIz0 zwWb#YS`%e3#j)tsY5ln@)-~QN#VwxDS)EfoB`OIEOcX=6VeD8|)oFuG)f7V{%SajA zu;iVC>L=5Ci9XrE67|=C<7V15!wY=xtaL*s`q?Q$)5(X2JErC@CsK$cq5ER`;}s_= zj~%0@_qlP@s+-@NFbxP{)PYP|1>(FkdX*YJjn|MxN(oL%YJDouP@3XtMe=_$`T3$Q z#L#A}#;{52BH4N)N$#S;S57DDS`Or&hHNP>zHVFcb5GC_$eb~GPP@(Q9lMunL^Q2z zn+%ICTb?w#@N%fooN?wKgWJZ_=7w&1cYK0TQchgxup!;9@m@a2x!d;3LT;QZfE#Cc z<*kMD?o2-Hvh3NgAsr)fLJm>mr#0&qx82amh~K*H)}7zMeQQy_;+%13g-0UTGJ03# zyp~s7u`%#oV-&h&X$ElPbhdg$b+=gCTPfROdB90wozR(8Q^nlqS5+?-s)P@Dk=E~8 zAC%_e`B z;xlVCXH^V4l(P4nZg7yjIe($_$?fviq$NuYi=Tk=V1{hfu--LW+q^vja}1Npr^HmE zd;2;VwRetT;uYrm?TR#7%X<$`tO%LDNbRd0vnNMu-60Xqzy>wGm&b8*A9bZvS9-kc zJ&A*&lA9j`|DT4p4Nac;Q8~*wr%zO^8(j7d!?$+|&;Qy==uU%Wv`Lrvn&mBUpN(XE z>LBChcoDlbWxDA8y65RWtzDV-crQ0VWzc&gG%lgU?yIvdJCoM;Jyy%DOW+VGsRNl#IMS`ZcS^jxsyy$toX zrQl#jzjJFomQL_hoODLXx+Ip@N{{j9VRrgWhyZQI$??vjQWyf#={k+jo!=BUJcINO zP{%l!5Z0&lSt@2L}-9mHkk>%#@0R? z2z-7?V0D_Oy$L3kpCm1M#hxuLzgN?|W9Nly!TgYbepf}Ec(1AG$`ko-tl_s2M`L{7 z2tC3nFPwE1Q<_K|Ee_-ddtNiBbE9JR!j?4f2zUB$G(F1s*OCarx7es!7!RV;iUXy| zx{^#~24zFC+d)BD&cis8-C$^p`-;tZhJqpkpA>0%Qu;YUN3vZTRiAPZW5E+q%JS!$TbK#+-Z+Je2<~R8#A&f3Xz@Kv$N`QztfE zEioxV@T7Bw@HrN#RMSf-$*g1wU__JtE%^bwb#7oJ~@{S@2P6sYuabixIN;GRhQciOIPit-l*oivwAOBu53Ce8UHFUjPPT|zgCwa@lG?q#LdvB!t*nf=zX z?bXI%yKcRof8#ozowa%58P)toWpg{b$7b&K*N^GpUbj3wYU2Pn4jTTgE8Kef3lt#b zR-mU8%(s`lp3kTAZh#M8&Ugk#nQGSdRp5j0P;8u>TIp*0m72m8Vo}eQizIkeVy&Iz z$>Nw$bhPz^PWMBH!+Iz3tQ%e>{A(fC7@s07w86D`CQfAV}6-*>L*h6AIO23c&+ zrR+=XI48{`dG$26|B>E*foHl@vtdH%2=SO0#(Toab&dtBq913%X14=-M znVvr|qXs`7YI#KG-AQd#Q&ELLe~SY^)#dNNOg}>pF~11T#VBuf1?NEuSTACu5_h74 z-iB3bR4t$5M_{WZAp{rfb2xwNEeWyov2`EN8+eO)HdC}-lgCJu1{s1**ciM!^K7L( z4k)_(9nkHqrP8_iFIgoe@38w@n>x$O0}{rI))?*Ype0a>m~I2!O^fhAlZfhogmM3# z-|ou}FKmwGp!o=4oxYmDWGlP5qL_ks1*h@-T4f?O0sB@^q#TiPBCf_=3C)RzBqvWQ zmTd2Gd-VIX{r(~{fyYI_lHIxr(ljMI<%Io-vqs1_;qMzWa3-CpM6}O4NI)@Fx^)?d zf}bZp%@vI?C?LjIC!9S$wgG>3E2_cw(F*0uijbk4JdqS2;8B0j8!_ecdo3h3V1-JuR@5s3;v zL1QZ%(zB&2v%a%_0XQCEJMW-c1gI*efZ4)3a-!u`4eBL_Ux1kR6?J(~=03t8ZMPQP zDka?(w)mX%myDaO76tl)SxuMn2Lk$eDp zyyskWo5huL3_A0Bqv$Z3N|i$J!K_%lltlL1h#{(+Y9RmXs00NEp9p##90XKrF6Stl zOl07hN2sW6;)=Kar|(hgThuS(#+@3seakQV{)E`{ZDrl^HRaJ%WRwMhz|VtGwQ+}m zq^op|h&|(Fx-hbyI}dM;6|{9!Qq$Ix^$!1y<~JyNA9}EXi{`Q`3s18V)D%ePRs;_P zee}dpsK|TU0K`+ionj$x%&SGj-kivQ4n)wKlft_yt^YrLTfT5Z0BBZ!HVZJ4v&8&Z z6C0lcB=sTe8#r5DI};H09hHLq*5+JJFA`e?*6Svn*nI}GIcD#3M-k!Ex)X`^=9(~1 zIv*u0*4XU?+AoA&%Q9;ZRsWIqSg(3JCpD6&h=#PdTV}t zxoe9`sj}xeX-iRjV84wT5FgUs>5n4}ysveAKNmH~*39758C_#Juz=LStP118$47BKh+B;l*MolOthnbYJI zvvUW^9T0kg?&3g#?*Niv#WzBGRPf2m^hFRv=h8eCDAiC_|#UpE6? zZtSk54s&PclGp_I_XJdb0ah=~SW;hci&MrRsg@z=E2V_A5*DVd7qurGc)3TjJtQ*{ z(cbVp{^KkE3=>MM3Y3?I(YKSd&; z>OqFjL$Cl$lY<`cGbs!-5f)8pni0$=ogSk0HvW_AM7MS>Keu=-C@RAZI8bY@Mzl6W zG2f*j_*a?yMWP0celO~Z-Oq}X!tv_nR6$21s3Vee&huDIBy6C5250*?QOi}|-fpZ7 zlD1jGeSd{%L}2gmlIGA`+4HawI0dH}qECYU_2HEMu6>5U_2DTz;I54m@J(zWJik_w%FeM z?}mpX6dv+rh3q^A8NSYn#^+PA1hNLE(s)s3p&D=JP zj`r}ARD=BDLA42X6-4i<+-)UV>G(1lH32@y)3fw3ZtLI9lu3e2p%|Q0h@< z8e8*dE?%nI)ff`-#VJuNK#03qfZ7o(y{84*p&L3D9+|T|5PYyEQrIRLxHo@Y=}0AH zhxi&Z{`|lGS zb#=g0#q2qEb%IHAr<-RS#EZ@p_SSb<=~-MwA$bkL1n3O!L0D1}Vn38IW}oV@us2!l zJaDE@gt(>c5ipov$LFhJ7%p1a0;;&zWe7TyycFr+jb}+~wMNC>$ z;1*(;`Mg=8!b!9Uq2It)nctEGvq-22R7+}2gM>9R&x_(UfaWRRu)K1CbVce}LQ4_> z4qJIn+TthTVPUysiv5=@@m!3F2`BWo{*LhFP=N%{e&{sziR5XVjUXK7aUoGLKtG|2 zO&eBP{i=1(Q){%7;kE10jmD7d@nU^ZEFA&=1`te|o3#P{Q3a{03MpKX0((>NN z>6!W0)gMzAmpd`a9ndrQS8C0p2-~|v^@t6uz?aUxN_Y3AWi7v4V?*% zN>K{|A4v*b8HAqj^M6%(>rD{?5#e+680%w|*>jtI5yg}Qb+Z6B8*pl!M??tBYzGjus8f0-D z3Pmy)y3RmC-vj9hnSp8!m3$_vBA0LECDb_oaSYKQ*vGs$R>}2i-HQ5G{e0qT& zM`rk06AJ#s@z$3R%l;d7kHM%W-#tpsJXnU(`}t<;+O#u=3T2*E{>#)< z#1*#$gVH0Mz^yE|>|)7)!i<%rcuy2ZH>13NOlThvssDKYFu8)}w|`yn{=BsQv(>=5 zrdSmUk+sW2G(<3X&p}EaToqXQ_;OoFSE7YrogNSfi2zb<$w<#!08j~4Ktm*$fO`VO zQGo+cSjy_JZKA=w3IgzE62a6`433V&_i;^r75o2Tm@k`fD4u%`Jw`Z5Rdg0=t-L74 z*7ufE0WwbOoq<^kFQd8w=xNq z$}8V)lC(28GU1od)JGjME1fHk&w2Ul+53}wAI6Pk64C51-n;2n5`zZ=)w=72mR=|m?L_r%Q0{(1}yQa(OpgA}?uulFN)Ikx5p ztI~85Yz6B!<4L!)x9fiGQ6yr*!o{&%XItBMdJCo(;ES#utm+y@Pmv${2C2x_n@Doy z3tuUpsB8G5Z&1OAZ;)c!WU6t&M;wNn2Kr{N1+#9$E_G`;DzS~bMOW4p{H|3ZzJi_@s>tb+`->E4|`0? zx}Y{R#2YsG9`VA1lf((Gb!^~;cWI)`m%Z@j4SV590WZ9Wy|+gDa23p+yxN2|9`eE) zTz<`R#0w9ytPMV7mpGz;-RkA?1X92r-1bUmSOHt7eZ(Iy9QXrjnU1dj)wdJ zv$9#Y;#&=5^HlL3eJNOU!&@g4@QpUH@KC@Wx7*(B#TA3gzA7BV1G?#g4eB#;HC;bqPjecNu1__l3+Basn(^CJ(bo-N~x z<|0o)zHO*WwlX8WZIVqr^uzN*J{XgEMT82C$uh35CJq^s=>%*XF$atW=777_t}TD2 zgL_>eGzVNAhmWES-~w@hky$GplpN@P>m-_Cw?o7m$%0b7c_Mi&_OiJAa9(G#HV47_ zTPIN(5z03)vKT7haDC8*<0ro8p>=q~Lrc2% z3}fZtk4z7B_Kb7Okr#SsSvOSWjCg24{_hL6*?;gAi)eia`HDrsmlX~BiV-6vN4)%2 z0x!S7t2@^#gWS+3^zz&33}1;vt=oud_U}ldBI^reD-9wWS*M$y=RMNesoQ7oH$ zChG5tf3&A^5!VVR;``$5DbWe6^9zLrjj4w_B!NL=4bjY65eRM4j)=qNfO^s*krJEkJyOu;!R+@xP9BhJ3$~h4noF@3s)p2J$u89 zRtvu)w`jMP@B5p+ceCVe6Z{?nyQjca)mH6Be2GN0lL~tLGAfb(`$flj>)TV$Qi09U zBWz_6=S4+^=|mZQ@hMhG&b7e$DTJfdp$tS?Pc52J?>C{@YFm-INEK9bfy)zr0KA%F zY$91~BW;Z^SEwLvbhmWBGh$rT3?RdbpAX%as`>DYo_egFAV^A6BNrznz9;YgHcLd; z=(5uZl%1I`KQ24xJdaf5{&u&f@S@k0A)10{6x#9nM0mK?iH`7AB?G@CiWjP*Xewuu zpYFEeLy2soPAZ8?fgK%cL^kB-ziSMI8?7+#)1*d(>G1ww*9wD4?=bf=7Oy%DE?2;A=E=|cpgN_-jveoHbO%^jxqT;o+Hm37BYw2fIIGZru zIF%DO&LYL2vQ><|Lm^`el#Xu}%b>dIn8cbm5Lj8C1=cYTSf}&GMqmj$xXn^-#|2yf zhS$L03T>d9TfRGHj{;8dHY~Xm_ z-m#vk7n7h?4eVhj1XQY+BY-_@3#w#r8W8q9Xt25e-lmk`nat@!#9YznWrQ!ZpL|Q% z`8*{CuO~>8u_z+7E7|w15$NZz^nk3;L@GoqA|)zJiOK zwmoL%{p^<6z&R>6P|*AG*FeF#jYzmH^AbtPw#yK20{3BdQH&m1;Jb^vyw%GpomzYy z?{wYZt|hARa4=7%lfb3GP(YK?Z!r^(>%1B(h&vWQX#1m5P^Bk#+RhDT2{q9=(~)}| zJyjM?xx&w?-m$o4fpF$f!Xmt@&wmIN%+d$b4=?2woTl2Ec`lc@*JU3Y1%vnGGadvK?&Ln&ta);Sy|EQHlb6#4+i5*$EyY7AP29FalA=jT| z!s6d=Ql(m5xK0|eL&vnHJcjJh-^)&A4%?wKADta>*WCf!b(bwQE-nC%9uIQYoiUqi z4zMlI1r(JSYa3;pJkRDnd_$<%cGEo6dTV%Mign(`_PP4vag$iq zct`#*#~8Ctg$ntZ!!>%lvp{=M#Q#33#na~079v;-8u|0H6|CQ89!g*~s=n#3um<6l z9haw(OAb}zVKaz%L_vA(?8;WzzDpgAt%CN-3>olu|85q|L2`jLBMh(lg0ig7@@iDy zon*_1)^%OuyyodYQ)3R6w`mHT6BYP3O5uD`HT$WTH?ElXx(_s7y8PpqrpyY5%NONyVF1?xL zROb}#pqM?lHpx23gqqN4;?}nt07(-o!Mm94T2=ZR6K?F}k5F@(HhhW+NtFp%fzzc8 zKN!>hkAiCVJSiV{i7p#7_)Ss{`v3v(J`uc-x?QkQ?U zmCRna5KNO<#7VNI;G{;JEBSO8S+ z@>@?giJ+_mwQm_z`qi{_|o%#6qo?K z_<*?TtpB_s7~<^8JOshEnS0rYN9@iM@Y)&}a2g6suXH%n%T+#2ofDPP`!kEI3%Aw! zbf4|S$||I2bMmtuJW5Kh%y}0ooC~U#^MCc;RioEDh5xHC?7~pZ?uGo5riG~Hws0^e z^oxPUgoooIGp(kc-IEc#{>(_wrB^1r6osJsf1q2lkV!kRbs;?=0(CuZM`<5yfhF(q z>zAHAF|mV<0Sd*Q51q@p^8)0#Nr7;Zl)~b}_-4Fn1Z8NL_LyZ*>eR?uso7<42~;gt z8v4McWkqLgWGNdlZi3mGqi>F*XM1@m2`L*LdsV}z*hk`=^l4E(&3mmz)*IJrZ47fA z-1}Z|pZIa=;~#gl%3Qj4Z3aJ2-DRb$yALmb?)Plwez+I*O7!rBed7DO_pyk=89u)Y zBW{pa&~c0R{&^>_fYl0)Y%_FZ14^NUK3FayLpx(Yrcqhocyh41h^;R^bBgvtTF~nG z%}BGQBal%c(o#Yve_Y(0|MdywUkB8@mPabNT*L5^8nXx#Zjm5v?bhA7CIp?1!25gh zObE^}JOAh2;CJibhuVE(`qQ^gObeH~rVXYyY1?|drx(fUn zW#PxJ?k@7t22RA!MfgJBYfUN%OYSRS0+h&{p+j(g*o#hafCjyEULY9pC9#dFVa2~e zu!(C=Z+{CpFu%0EI7vy#DBwTni3Dy9rHWStl4bym&(MVR!D8&Li#g@Q@4;j9QxDD! zVyAinARuYmR$k!xs-3rF`=2ySQ_Q~K%L%Hy;uv8jAp2D_{oB zh$~hsBD3gsr*9just_Nkt9z^}Cm5~WwCeo-cx`<+Ap#bMOJUPGFNNCW1G)!W`i7^({KmFI_E9L&2alLwV81Bx?zw*Ke(6Eqf8q+65tVGf-RkFciKx)ZQh z;ryKb5`-qY1MLhd1g9I;-NO;QL+$Nc{bw>B>xxola#QVgx7lw+*0E zbrA!7P8kteNui51FawV%gr!@i zi|Eh_strN%3y=1Q@Ol3VKzJ-8^|H`oDS>4;Xgc%RiEOoH{|06Y(-pAhiJgB~fZigk zZ?5v8lP!&*YN#%!60h#F{-skn52S7IB08S=j0a_Laqh>1%lmQ2N2eteFN_ArF9)sJ zxF(~!qD5K3qhtYy4uIxmrydeb$Q;mrN^|1?Ea%(Vfk_4^U1{zb&P&%S+cLR_5&s$a zf0|zA`PXg+M8P#aqp2RxZds?Jqt%JZ3fEXJWT1%TbWTKPn(?i~-6h~Liw+A9OZXh> zP|cq95$OS5TBZAWvc0?@yb5$wVtnC6xkLg7(s5Q~4}{I2A=IcO0uHWVDv7*$C#&o~ z^ufP)ZPcsN@B;;Y;pkjVN<1*Hs+g?3@Rii$0{qqCW^o~*((A@}o0WF&KzXV!zM2w0 z6V?2Z5w|LRmY8a6keunNtyuqyS5@yXvA#6#xlhhz!+WbV?ltYRY1}S<#;QvHeCgwq|Ypi>GcXO*xwPbpqF>AF6i6o*2gB8}UOPAPXpeKZIGiRj zYxZU7tQpYwXyA0nP(Qs-6nOE+%Dj_EVRH!csrI^Ved*uFVrYa+jBNhtQhCA!LC zV!*aMZ2Acv3#n$|)i`+MWR2c)IoAC3evd)bGt3V8Yxz_KJTD!m&sz-~KRI~Ecbj2D8q07kygrh2S9r!eg%a=|dZw;qLME}NLW_q7O2 z#y%SONW|%XG^;mX=OG2?K-pd0qc||77fas>?t@?7VqGN$66R^q%nzS)#QxHQ@xn%6 z<#4Y%oKeL8T|91uh(`YZjU2fu?tlFe72!&5C&ZGRuQ!^qao|LI!9*Dz3ytADmA2U> zqV*J@yI?X-I=Y_R(A*nk%sLI;iP3zyzm^gG=O2skuDc(Mwt>>YWD!jV``ZT2a$3`X zy|<8@@jOqM8^EAEH#E-(hF7QPxCqu|3F(xdUX{UIe%t3orw3?n1I1LUSK%#9#MhXL zXb%F2bLI}aYrIm#z zt3{AsNQuX}-df#$;KL38XaxfXOM$Wbs?qS-i=|nTE4O%p*H_^F@PCu){yY{ve%!cI z+O<}m*?2Qq@1sNvOehe$(YSEU7Tc^I#^#FLo}q$>=Qf?{a?ii~WtR6H$AhY#+TX>>!VHU0=@rp@oGj+L#SJo50EXt08Q z8*^9e8_|=ciNVBLGJPMH%QL5P-W3Kq1(5U3d7hNddDJ03vh0j?rYYYWYrW53gi*o@ z+xl(MoYu;XipIUu>g|VB2@8! zg%)iiAkF#qJRqHbg}XzBSk#sf{bw$E!`=#JkKD=g}rW!n4P5~!K zkzTKpx~Ed&!~Qs+VUz{PE1o-8KZ=}lf6)SuUlm{30^$W$UF7zrKN^`msV;1)Zai<& zwR3>PhVzRtmcAYA2yT0;)E0~yzak_{R$GR6%*CZ>#r~aUL3=7EkL8p3e@pZ{J*KuE zTQ~DC)M7KxjRl~a;|s_wIo$Ip$};U1rZMflgHW| zS0Cn68Q9?UxLvLq2j;uK{;>Z$HlaHL+JS%^DB*|uegso(f5&ol^`W&i$5dMDaTF-& z{UGzSExU5QAG&h&GLjy<<&zeaY&MRRlpf>J1N3~r8W)O#mx)b3;k)htiM*Y*#!=E3 ztVtihOd?r<=evd`*H}!&ET~5w-;5~%ba8dWs{j5Aa1RQbFN8{=CO$*({$8<1_ zUZ*Lunv&C!YYXzQJf&)&0gf3U!w3~24;tYDZgp{?ISV%3NF%agWVe1S-mOoL1F8Tq zX-OQYr*H^b3FA?UWeL|idD^6_mq!Xgk%c<{4|sDlZFCQE!3J%m00GD!C>Ad?{1A%I zk71zb@xE&{#`rPBA0RSntJ3=0oAI(pmXYtU@=Jo=rRu^1U8Mn62?OON|1c(F0OP#D5L40Q=1g~#MvrelawSZ4&1@WC@JW&9e2T%h7 zd{M1rH01-X1*qmg4G4qsc1ZWC;UAp>PQ}KR-d&;rfuNxNWraMlQ~!BPcSUBOEhV*_ zgXE(?r$pu`0gf%4fq8+xb5FQC)AYU@tRsPV0E%14m zvuR)ag1P@cfb%*1CAqq=dQA$;vo#DuKzB5nB+}ItN97+YQk9ARSZui)@A-i{$In!T zcVd#HdLL_&XDN|1M3c zUhcEvuW{SVH8%=$5ME?G=>X?#IU_u%u{fgys;@6j(10W|hBK%H6q4OvoGAKetpPd^ z2ujcvr1N{sIGe_LFpQQ)Rz^x(f@J%KB#R#5pDo1_d=i;NO@epnzalgQB`9`JI1ttO zNC_BJw(d2o=Z(y8oH-@MBH;MPVgZ;ypgS+NJtdfO(=@IW@iSAW8^V!u%NYs zBzETdG0A@oE|e>yNA+##PeITp+T1QP|7i-TW${Q$2W5o#z8Q+y8ym*V9OqWKH;R!< z$uUs_Uu?R$ z$Ht-OZjSooC<1dk|A>KuZP1xxhd=z6@Q+*m-C%{B-)?I?a2!%&IyHY;-@MDeBx+q8 z0Z%(*Igx>5@NB+y1qjAHys^=U=gW?hCCktz+MN0%zd(EpMRO`x8(TVdh}VELXGC-E z)J;R$IK1OO4$#frEQRxZ?#`)A1JDqeL8;ZNiXZOuwUQC5Atc+&;vuNt4oJ zy?V+Tzh+ar%AB*#ZqlRSvoV*6hS@w}sa^d|c)+CY|2^V%XD@#4Kb@O$&^LeG9gtRoFxkhWR$(H65vv-tni8Y*A^YJ{f;6Cvo% zR6_USSPRyy`y^yE9cga)6`DZU;o{g~rH-y?jdPRuJ(+$Zs>N%5`s4tB=Zo%GOSu0} z9Hd7%QBniOd?%)Wq8F3IvR^(*`fYlA@h=~SThHTU$69g)q?|wFoSeKGiyx?Cf&=l7 zdHZ-$xVJ>kVzONJ2vp{Kz=`HYOT{uNu$5tMtOX^{b|G2BPmke znZ%X!8@%lJh7|@1)S3E|9{38q+fF%cI2~;^;>|>`Gd^pPVJP%wYQ5pO^W?n#FL}4E z|5NX_CzvYA+s=XTQ0=}vgojIKmBc(SIx0Mr`mWZQqBL-|ySk}assoL3r;FiaF6x!m zj%qqo*1J)2`Ch`flwRp>$QZFQIh|uH%4g_?>su<=N9#u7RyvA(+r!O zs5h#^S}dJst-9QHq}jpZo+am(<{^NN;8Bdwilq)H(jUDwqDZesDq9@P*eg_|PkFF# zcKGBkTCvRdQ!AEsrNpEcNR*D17niQ&QiJF9lZ~$CDYMSxJkM)$z1?|IGnBpk&Q%4T zqxu&24!_74C)V0hvDDE`X_P%B+Z>sgp?Gfok|>w=9}HQzANCiiCBU2WKmIf(H%4g< zuN)DMyT9)!|B53{Nl~jD8z{2W7mg8G_ilp|?{!b?1+kkxNfXQ!lp$MOG#XY+sW3JlEIQaoX7>Kp~p@K%GExL<-ey;GWq4OTJ2OblEgfReg3<3boJQ& z?Sq6n>Agv;eVJao$nIvwwOl9M(L--OE@Q@OetIe!7^7tL%w;Dn;7*lo4SRJ*nv*6a zEdd;9Bi_6tjXj`eh`^~FzfmjW!Ior2(=y($q+qKI6yzBh>oR)ji!JyreKcesnPH;F zD_g-;x8fh?wwV|hTr0AlX!vh=@qDFl$ks9kOnQo2fz_J_X{31@@-HbXwFibJyS}no z+(|4r@&aX_?(62$QrteEK;oJZ1xHRcyeAPRKS&#ek(oQT>`G5?=#bUFsJOTN7G=c0 z@m0VF!2xywgsi{E}bqFlJ+bN?p!A>~5LVgIHYF??O?O^%(5YTQy=_XdVCf7gcJM(74cT`}!3dC49c*?7Hwzon6a~oZ-+`PGg3j z7OJI+Qfs8=<%SUShuE^ttf(zce7Sv_0qSsT#Znn`M^8zN0WBc=teYJOAtg2R2J`ck zd{pn7*)2BGwWDA&>Rxqt!w>{8{rcXd-VZvls1J*|aEAi7QDT0|qiqy!j(BzK`S~-0 z?5^aUkTr`3e#QP--A%XqRXD? zyEFZ8!S~w!Wi@p}rYSilmUq|eVrfMJ$!YP)(ddU^ar&hsmb33>@ikj^)V@s{u>tP? zAbvs!Ur8KgeHy!Lln}S^fnk&Et&cx*kAF4s7S{B{$`>Q<@tnId+_1N*B%@WzF0Q@Z zixjtPsvc7OOa`vucRsj=8)~e7-JEt)=o+s2r;4BZHvg&O=O9r0q(>+OT(j`(c#C8B z)W0$h&W&99ahI7rVV@@2ROWu_z-Hw5Q=gQJOJ&Dghk46`h^f&|K|F^wH&M1DGi|DD zPipN%2%9dOnTfIMoz_&RY9LR;{sq~>Fs&8g(pjcJC8ea;s+mqlURCvbzZ-$`!faW! z4de)Sl_#OF7c!pjJ}zY3>}-X=*jVa10Xo&~+1#CkNj|}5HNs(QUm48n7bg{GuNul;FI3uy8oEV0fn=4310R6py|C?ERiSd zjYl$q+=cdPDZQt!Q{Yt++)qkLt@yYx*MXSbZ$&V|p1?9dpLP>}7ihes_`P>Y%-Own z*M1EJ@}m{XECZWMSBbunvA+Tgg*5^8=~cnUDMXC90@JXUTg_@uKw!w)RRmV2n-lq| z5Q0kA#EF*iJPp*ThuP;7 z(a9TDMLGhk*L}}61BD3uOaD)vA%ru{P{<$}a}@|%x2QAR7~|X1QnC{HOJJwHdEGLl z*sw=Nt_=lKk*7_U0N@C{|7NWTZSw9uFAnDTp;b%q1eH#J zf*=vFfu`bGUZcY`lEj^pn&b&e3l)o z`S`QEl}ha0)qs-mUkVMoI4OQ=X?@&+-8YWaU-nu4!=}xCJFU3+&W2jNJNRe$CB@-j zRHm(o_%8;<^Qy^Knj3XAvbM*oSX{^cIQGG{az7<&em_&Cxv{i83m5Dg@g+3mzZ4&) zaT0i!lb+5OjP1-fEd7DWL$=X?u$H{nihBt^{Vd{2hl>Uy@Z#oI?L>eLPTU`1HY6bf zCNAF*0C{9%hLt5vcX*xHwe1IH3C$HrR195-m~N|%&>(#WdEsf_!96{L4|`=$I2g<_4sE7Uu9+8bx94H-}~#(Z@G z`HMf43=*Tln%e9S3w~QQc|W=n%+j9s6ipCv^1*P?Iyp{l(|2R%UEYd!Stk=(Uq_lJ z-K6~E2zrNny3KLL5El4Ui5BE%H=16OZf=3VE$RW}lIBYc9US7hpcjTu^tQm%ndv>_ z*MJei!RC<3LmPEb_8FUOt#5xXFeGob1hV#sszz2EPG$9vjG4@)d)+zI5N^9b``z{@ zPpKHZ>w;&;uvSQR3MjK6o=GC!QSFi0vz!=)Ty07UV40Nhk6ZvfEp6F)B`oF{LG$Eb zlmUJ6m#Wc$3I4u^zFVKRV-?FiGNo#|Uvc8NA6TF-!Fffc4)VZFBWbK1=n=>rvkJkZ zwgWavVuVgy>Y6y1WBjHo=2XkHZb}R|Ls>@c0jecVW*vauChvaRbgxjVe0Y8(?RTym zlLk1l&vbAvg(Pmkkd!$>lMrsAeGkUlVw>$)Su^Jg6Yb4k{=gUNglVljY%nOF&OXNO zze;8h`6?SEUL@CQN4FDeXcVo(YDeDII!lDvU3jO4@#yIB-(bj`A!k~_Ei?jnl?-zREuupqA2|Xcf@`0Le z^*mN5s;4_Vjgv=|8wsT)|7`!~5B^W42n#CQT=X65WL3203)xME-VFn+N*#u}O5x%VwGL+PH z@{8hRR$UlwrOLq5NJ&N_0dp5%-!yD^l1$NRGX-l-D{&VV-B0qPPxebkooq5GK{eNa z2}2q;CVE9jxZad4r$0~hma?4b-wW#Pyi#=-FXo3Q?4OROH?H}BaNEJ>D8XZVXzCo89ow{qy=ng@_2 z>^yLp#xfvqG!iRyAWQCr;Ndt*gw2I_=x zLPc9dHp9Wf55??c%Gl2x19kLvc9U zH8JPl4=X#YeG(oBN{tD(Gse3OCX}|bo>8&@Nk)gynyuMML4iG{+{U?pPUV@DEL`51 zUS2BZx%KEVCwF$q`{FC1ECV;MHyuP@I@h1=VmW}1HVH6cMeBayCXe^WuYguFzsDqN zU7VknQ~}*RGRs!I=G?7gYmWb@_Ni3DI_BBF%Fb$SCrPZ}zIQjwL{s4F-bc&}CTIf| zbVNMIQHpvhMUA2o3+*l}k(~Mzh5!sjQ!o3|LR|&0zVRLTcv?0xD5>@`EQSjtm%^f(t)hBnMe>jtiF?&D1Pck zVbcB3BkDz8iZrinWN{+<)Nz#(n!?5!Q1awv{i8M5?Cc9DsRH}kVaH}p_)(ADAHE6k zYoQ_{x|0_WQG&L85x*9RH@z4WomhhRI??f1g%i2rzZ4IpHjz*~6cr_2JoBUCAvt3q zMsNXt?}-fGzD*DrZ58(s8E5z;)}CD96v>3^@_Q95$tk>xyp`kr(MUO)a{&!S%I#w_ zr~If$S?!yEvIp4$r&;EtaNeu&ff8tZe@FW`upyR!5T65J{q%5kER1z@7o!u)kV}y9 z%=#yxd%H(flNi5{roW3(=>M=ox`R!O zC7B;})(m|9GY)$Kcl*E(v2U5C@ol_k&paMBkQK~m4iR3>p#={w7rE8 ziVyJUtO7@obD$=dC)OfMP+VsURpVqhLh@K|#7m?;=tY$XJjjAfg~5L_|Qk^qNGaONsOn zNTh}qLMRCkl6*JdD9$rJkBsx`Z>?|EEQmON%sQNV&OZC@eeUnw-{-pY|B>H+rL{m! z$H|z=ION%CQ#qMyT`9^K)PxtCy*^J+Aj?AWeXb1;p0&A8eQI-OZyVR^A4NN_DAx+9 z0a=h8WR|wx^xSA(~A$Xr=}`1o-9t-H8Ts zs+5E0udrAaa^z<$%La#2m+1MxMe^#c#D~Yylxw!Owa%}W{1?_Y++80*klzzw1j{)t z_oD{>qvR%6LT$Cmh0Zw_Rv7+f*~Hi7zbz5&&)P#rzCD+AAuK^MG7sB+9LX$Y`LVSE)1Jobpna!VS zaFrk1Zb$sO)K=L&bDcYv{lLRUF}8(H0V;&ZH)04>IoZUEfGtW<4jW2dEXY}P5Zn8Z zgLrzkAp;R(Odyt8w#mU^q){OOe10L?jgg0ZwOSMIxs7ebBDr|kng6ns%tEuQT>N4S ze80rT#9_#00kot{#+6h78R}%9i{Wg28hsSP=z&Cx#~RW)$)n1(?%Hns1AKa#IvYF66%MBA(Y?0VVB23 z;deH5GR~Ol^=%69rJv{24WntAd$q*A?6&*O9}elL!o8q7olbn!eit zKQB+!>XEPyETb~tIHeg4s_;?+m1DtVd3!eYwehsFGD+`T|Vj~exKj5w3sPVf@U zm}j<4(kfq}wKMJ?0DDiOdq;WSY=W*jwAxjA^{-3W9oOr29`krh!s96c=r`;VWb;cK zNqN43`qO+AfgF#e=AU2p^jPj*TjKC4%1$aH2&Fp52~A%H*iR0V=w+W|ivPW{mcF%s zF(N{=n6+zfN*T}#$ussq7MjV-VieaW<>{++MBiITIM)kdXoZ7pIE~PhVcjQaK@vzk74_sitIR>+)~d5T*t*wcqtHkE6AqBUc8f zeXxbJ%5s;{Q2~f!^+Jy6&n$=DhZZsX>tGl6*&!TsecM<{e za>vshO%nolH3g#R=9Dd=2BjYBHs+E{8ia3y^bw4y?0tx63+T>l>YnWch>VTyd2q}= zGmQn#O~%g;8o z9q*pFi$Pg3HFqvPRYou7tJLHXm(qfWU)C%IvX2+NFt53Lp=LHn{u>rDt|--_XsY`b z?l(AcZ9M-ZKW!C3>RbvI!OyQ7)~88$UEMqjui>#J)fkBX@p5+JmbS(8*Pg1^XQt*> z<;;lx4!*_g5bj6dr7yW}ayhy&H|#^c9Bi6^WcZhu7m=&#hH~h-!HX-nS2Sw7Ub>4~ z$Yqz1KVC0o>0T7~RC0K5qBb*q)wO@VX6WhkTils_4&2UYSN8?oPCKIWNpcX7>Xgjm z47JPvOpzsrM67$4{R!b&)n6@G0n)J;_}T!yntp@LnGmlA-=vh%E)QPpD1Msfu_MA@ zJ2*^Nw?M|9>2H60p@r0r-n3@%L0U7!`-T@(V&Ci1t9SmeO6=0rEiI-BOyVvt(KD@g zkniuc7Kr4^aMNt(TCF*`f2dxWuOduD>*=qFPx~$2Oi&5g=f1nPG(l!GJZt@5N+*+P*RnwDx5UyT69JH@J`k!SSx6T#bpv^ z?rOmmP}A61j@4i?o)F~XIrxg@^32^KwM;Yit9uQs3quoMU%LO3pOZT8%%89s938`engL1pCLKhv>lJ|Zh>au@@>Q--Y?+KF0B zXg1Y8sT_R>hdPqjY|cD##SJ9RO)eghuSlHNE)`A0Iz`pHE(Tj66y6?XJlB<{*XKl= zZ;@xkK^DC`P6|((E4OFVp&8}yIdlA64BVq%m|17AUwIW$zguCyvR{M>$yc0_%WF7i z!Sq6-$)!Q(U}SU~o0+zH$Er9*J+8LN-$40#6R|?!33*G}oQ>pT@Iu{5B{X8qbVMvu zKzPfJ&`mB5L-^82sIrIRJ63^5;Z>fcEhWq!H}3swkRYRDNW>D#l z+0RES=%Txg3ITtSU(ylX~@Kw3Pn+xX{V!@rPTs~X$-dC z_52LDG?1B4zTZh{40tBIo09pb*dy^FLkq<4tr zF~r1FKfqG>={nlm)@gGmBIACNqliyzZ?2WLf_r^>dr=nyH>Xqjm#x zf`9wU(()KiOl#d$lCuK2y0=OoV%WP@9yx)if=y+NSJzi{YaksdGKNTjAVfGlqyB*^ zqeEQGKZqFiJPtNaAkQc7&9}Vht$ZG?l%ooJ94W0&TfJlUD$;AzSIy(t4%&NqVcyvf zj1e*~qGXxTjNhiPV@up29W`;E{g-dWv$KZXF+#hob@d^E68wB^GjD2vxi?WK9g_Wo z{+8v$K^D@2h!)%qbEp3y;-Wc9N@wtb z=9-hzNyPZvAUjRUNl#E+j6@`r{)SxoD{Hb6t*9`mv@dqz+{5dD4VHYxlV=hO;?_e^!s1%1-prky|jm z{?YX9mTf}B(gQE&hfwSoQ(rG}0T*&II(Ob#{ZFW;sg5w4W#2lAHco6Hjgl5b-OR}< z^AS~1ZqJE&WYFN&5eTD3XhhX~b5LN%bQqP<1zknM%#qolueY~>_06*!fZ_vtoI4EE zjE6zt+1hN=lMT#Nqs2n5EcsIwQW`3^@-IZ63;l3o7of0;bu28tqWr9J^`2xPY}gL` zk{Hi08MSzXt8LPNUtzv|8a^Z{A2u^++7}+{GCs#VL=)s1bfn5akgWg4U$zfd zZqd=5Q4yyFrk8b+xM@??rsS!U<^qJCgDyerr>hh!#RG55&%Lq&uSnhFQ|w)S$Xk#1 zlXf34SxSxh_|O0WWwLzPH%`B?QDM_V2v4I~@?-G8f_2tGnno4S(nlD;d&KS95IRu| z^OpD)Lq?*(Z0!Fbm$%KBVp`)66-XOHbZmrp&wlba{<0h`>=@{~f&b+T;f znDM&s!ty)MO%Yk#<*()$t;kzcQg;SrA=2+aHNW~pBmLGTD%=y_J4n*cg=FhZ*C;m( z3o!dRDe<8|ImFGViv>%?k5nYBqn(n-qP1g{otj+&M>{&e;v_4$ zWbwh8<`C5}z)XM!yfvW3JjnaX#2gt}h=9Qeqm2HU9?H)w6d2CM^Yd509L0|9YQ1 z;K}0H;}@!eSZv1j0yXd`19>nl@B}AK1aTuDYIEw0a*vv4X4bO#F=KR1D%xKeCw*I( zvexQYeuUDJh{k_A_g!tRr{35b6if$Hl{+_sa@12794S6B($SHSxQV7A_viBJ4g&k; zzhNS&3YFTZwz8z2276!~AcQb&TgoZD+YDyfrh~<6qS#A)g;eDz)&x~Kw>OLm4o$cL z%4?SWfA{C|_s$jM{M=-w*Qu(>oa~tBNrGa$orWW#YHl)gTzhuH^mRR!;TB2xvmvP3 zS86(MgoO3Y#3Mt@j>;mK~ilvplfSk#`%Q{Wb9G z7_G7|Rs+8Gz*6Y9k8i(3(eAS^`__JZfyFOf!w&(8CfEuN7Fw}1nw*B27l(U@5lub# zL<+-pY6zaY59T&Sh#`BRKKl|sVgYMQ6iVzv5>`CZ9CI_wkqh3vj2-vfz>Qpp}OlKN7C@Bo=m`S=9(k$8uJC+ z(sJu7`%tdZ`9ed#8_N_s=b^X^U~|sN&YjPeG(Z3O;(6$7R@R;8qNxK<^ub-x&M-f)?XxfhRbvufbi0?LM8&hI7O=i4w0SL^RjX zPm4>2LW^AF->wYbPP`YBSTJF1?YaG+#FuJD4%{G~9`7C9EbEds(I89TluDnV2(X87 zofm~{U{QV34+gy@_-V5ifJQfly0hTRUeN##W=;L}1posv)t*n)onZL>#a-I>_kT3@ zU_2^UF8fwI{$xW?AV|}x))ui2YSMwzFP#R}BLgyd;|-61rP{>|it#sG79GShUaKwW#aQw zPzpLVm44i*k4kL0=CxTShKS6M>1x2bK{1SnMlHdwZ z`u!JEwfNzV$#cv~&B6Fx&i++`3uKu{K!ahkw?un5y8Og*TZH7to|$nQ44QO&qx3K9 z0bzC&ry{svDTLX_XKyA9GsvsH5ufZjSE{(OLdg_+jnqowQZM9JByo+bwb4!O!SaPt75#P zHmBHO7>c)l_2Xklq9Vh7`r?BpKQH$TG7Y|p$eIV)q-cDpZF&J3(i?}3 z@AKU2gAImrc<~PmBgjaDd+aPu+WSh*u1usBa!gw4IAVMVbFwEJ+%&A$ga=-ZUUlQs zPOC3nQW|fT?R}9rI@j9n8OrJ_z+reCag1y5WlS_WcjErjFTJmI?DAsGK&mIV(3Q&| zMo$Y*-@dh!+l+rXM)vYF1UEYNX(bEjMQ~oK#+2CCo+~Aq(>l;eq4}} zH>4rt+`HfUI%HpgKUlYrL{i*k)~wN&(g=pJZVkd+tBdIDYKS_SRKTLbi_VcvWgRmf|3s){bx9PPPH*4F%Al?~eO6IRy+%6{=MQiVIEH;YVOFyeL zC_LtQA!ag@{mdHnU)%fQ(`X(hp0Vug7Cq{T~pf`R74&9)IC_Q}uG-9@^(x-#}--yOTiYuWTW1FJMgcpxat20YWjcN$bbS&5} zIhnmi4Cl!u+gs=kK9q5>cT`lmbKXKHF6y41C&dFXEIil?zmvRH-kKMsl|B8OF1lW8 zr1>6!*s<*`?ckNj*E8*BUu*YZoT4B6RH^P-rKO~#^viO1ps9mvRMuYO`>`cW<__v> zpsS{S?od(RsmXd9t|Y|iQAUzUmGTj9*lUtT_uhEr&`m8z_9#611Jn$WjRHJs#i=Thw9gNP%Rb%mXv!cqFqSM>7d;pySqL zptrdhCYJ1F=X=qdYc4;qs(AKJ&O?KQFQvv%$tLVrb`!NKa~$~f!9SO}YH z@4?H7_q<7JUcpUeRL4Em;3Y{|2}uE$;nrMEVR*JG3(pnfKuJah(veOmJFkEi;c zvv0Y!Xj^GUY8Ta*bDd!c2bG^JFBGduT^rlB;jzxkZ1?gsohBt_sVT^bdYu8yugr;B zlnpPV-#V)BGW>W6Z{eX{H(6<)an#*Q=2uZt8dsaA9rgE^{+_WBH@*p+kk_ve#@bt> zglykFGTG}erTt`MG4AO5!qa{wL*T6!Ki7=48qN=G-1ZXgiBEf+k?Xr&nb9p1?@jVK zb)#GMx66j<;@d0_zaG}_&fsp5k~nBR1|AHoD0X@AroyU+cH{x;Q5;n5a%Fb5nq%R- zYlqJcnhTyWyg`lOiAC6|U9tH6ofyQ!)c>x?Ay5Nw{Ss`kEZN7db5_H3DQp7m=&1os zT8x3S{$qW01VvhFh!^xLc0pzDkr}W9XIl z8F?sT-xjVk>+V3-u&>{8BHA+C{n)jcHmXNz+Vc?RmJCOHkWF!mP6P+ma6P%qj@=Dc z%l@oLd`I(^CuubspB!T7ai7_8PsA%1b{w3X{bPhnT;7D!5eIi`pV9N+5-NS^vToY$ zzF_(+V1fmsl8Ybc@6t7Rd!(1m6R|<{h<-+LUhQC)tf2bS>A;^`wMN)Z@thlT56c@V z&91py%`*pHlpG)9OWdE)KJB^I6uhciXv*ONhvhR0aQ#Ypt@sLZwfK|Im^ZAk^dked()6L~n~)Xcf^#9EuA^HYjW1-KJ}s`oKrZO{Gf{`9)lQ#!cZX;Hf?1FHzC9v06iad;Vx! zu1y$WiPD|a7{>5%y$oH&z+A_euj}ILSY7-m=;FdNojbj*Oo7K4kIQL$?=3u&Q}n>G zf_qM3SJbrv6K#jchGG|`=f9KrR=iAW<-RBR+$?b3k&NMHm8=ar{K+W6+E2C&Inz zfrzGlgU}(FrZ#tzs(}mTj2B`0VY;ccB^}d)!scPAq6pMA=PPy{2JigqZ7eTxMpmIS zHVx}}79Pre2Y2An4YX;S(1qr1Z36&xEht^B$Id6qWWL8Z>G3y9XQfP@i7d>`-!53Z zM^aQn^^_QdhQdreynYa(nB(#!x6>dA)Ob+bxBsJzt0+8uru0V^_u3otvFdm`2Z~Z^ z{zEtDQE^b*HB*YLgmY$9;;>*D3HPl-2!EUCU%#S8g(J3O*#uZoIj5J77VN&)$#bwM zGUB+K;fZ94!-f%i4_nXWi#<5FP5U?d89yH%pUdwt=^|?}AyTGiGp6%qMb4eMLfY2b zxidC#t!Hx%=hHO3DaRj@Qpd!|)lmspv607Z5~lFpC-Y&NOs$MfBFVuBL*tXFr=dsF zFmy_7K^tQ%=Bb%-NGMFr*=}Vdj!g7_JAeArB@d)WNA4ILvDbs+D_WN_oCBKqHVm6(|eAQG|4v?A?1s~ zBqFz5<6M}CaH^yGbfC}1J*b#vlufjs@897p!tD}+I@n6=$Xp4pjJqQT^WJwiSqgQrtCRW(FHt*D~>Ts;B$VcE&GjiXK8TU3assp7i|*GM@9ZK)p4LCDLS zQ_?Jo0}mngPWbtJf||Q`Uej@p;1xW0_gKThsoTBdnIxK?;c1}>36mFHnI5kNH&V{+ zWsE-kGGySFpN^c}3cYOBW}vp_19pJv@vh&Z|6F^>{B*P<(>f>8s)+~?h~@1h&p@H! z{ia%#p<&n7&fJ992YsKx?6R_4?m;vQL)e+(4Bm(9hnZ=a&kS7Xv`K>v{sDp$E2a~5 zX(Ie!n$IHic}y@q_V3Hn9UcWNx5zOg(t~c&+Aj|xm!HYgtJ7Nwy<5!#kqUKDIV~HD z7p62WftC|WC%7#`XSE+oXJ3XUXjxlDGqrfS6A?X?GH2T^X7t5AQAEARV0*sLc+$E- zb#yDlqi+P%ss^pvbE8{xxn1Y6mUe4fLIg1$?$&6q|E@Z>sOn!&pXB!7hWft&RiI!g zvLlFWT+uIG&X8SJeQ`+n`RZk}e1#GP_c5@?>HddlrMsuyr(!^`MjfKu(_RR%feyye z3^UR78@1?L7Z3Mv9RK$LqT9n6bU4B1yEHn+2@?T%g%)}2Xj)1Sk6}vvnwx#9S>x1i#KaTYbExQ<>+HR1@`f6zD z_oGhP0{t;PG&d<8)J)HLnQ1J(S>}&trau3A)mb)Qb=ECZoeh7fI>cM5?NXzI1R+rJ zOPogGHI(|AxOTb`O<2X@&<{FZ3)4SJ29%rMJMF7Zf~5AhynQ;RKEYRumj310a$rL6XS68iT8-WIEA8^f2s z;!L1sG(PdkPChKj)hI*WSX}HC_z`|GJYHOGwiDx#K0L@4G#a50B7<+r^F}~C87X~G z&pM~MIbGUXNRSU3Cf8%kQG$ap`-;v?6UQ&7GST6y;E~rU&J*|7^ljKdig?7AB(sCglv~JQLUd&T-jm)Ll53kZa;SL4KRNlom?a-V zNz%xw{IJ2c9*8cA!0q8uJ}!@TrA%WK+{R*K+k%3!%ZOA7{kxEYk?X}&zGQ8lUs(C_oi0%P#(Xzt&qBR`W6q1{8<2SCiD}z zE~7MVY!<1;gZYd=I(5p4R!nD~up@Q~WT2b2{k1mmAOBL;SIzmmvu6NKXx=Wxfsg)e zM^XTZpw|3oKxA5mL*$T%B%7(-;be(egzp}Y6}TX)2c9`ceWQOmS~xfPQ1oC%BS8DE z5g3sNEDdpJo&%9m5gZ>Vs;{d+j*azgI{>|5+On&3Xzu;n=z>1Rfbj(7X4lQVIwh@V zvx$MW#uD$!H!r!?{$lJfF(VX+gUR`M1fHOF$?B_arFV7rPf&u^1fyU*Jk?qbJ2tuu zO!ixQpTH07**4F`KXPYS5g6qgb1vL!KTY5Ew&j?BAM)HG(T~&U=Pxw(g1XuWx_Wa>d ziu&Vu*DvA|;zNfjScD`?oBge0g-&;wt$cygVEeU}QEy5sn@FM9UQNOds$G)qD6`1b z=2>Q?frQfj<7|Lmb03{Rcu;8ab_VK+6%RyT^pNjpzsZ=#` z-mk)-NRA%6BC9d?qVHfREBu#rWcSp$R}E)i>IOWf&$Z~w@@K=X_O!xUuJp|88`aq} z`f{MEWo^KX7-QE77KeLd@a}a5$4SHxXJdLw81YcwY7ae)u~ml_23%HetC-EA%9~-G zI@@XdncGY9DYX+h7u{K~2yYddH1j!d3=;fOCo^RnN3LuGw?gwSq;ICXJMt2+LSd;m z*Xi0?#|g^MRjJB;P2mGJvk-Cqq{7i1)HpgMf zU0OpJrl&g3jv^?XeDNek0@B7|!i}~{LV7>Ge60s5ye~-{LXIVQj{38{n}?<;I1fN6 z83Dbrhey-lC>RBzH9AuYYRaX20(TgOK`<_7v>7zR^fXcNxB(2ck(ZLu-@`wPBZ)Bd z=@7U%ndDa)R@z@!=1p2-IZun8D$g-U#hgPNnN^Jp4n)Suf%5$u<7pYVn))#GXa})w zgLrfFTS(o!DHK=uMsh-vC7yB>oC3Pam8{&YBxYw^{$tE%w-eMoU%aU4H*B=N$GV+h zc@4k)4sUNY?nvQuNw7Z0s9mlUP*^(aH)qIj%9c4lX*-Z^T+P_i8>Ap*=+eoNx;2A) zP4LvFl)Vzrczd}kgG1xhI7{eJ!6lDKr>&CZ86|ZB&9u(UayX>|2f-h4c!%3dyoJCX zaTp6m!f{YC=SlcssS8Y^+8+E3QWa0N^hRl?NJWR$GdMCeSAQ-xvH&zuyfZm0sDn&R z=w@i4D0*R1cqClGWkA&?1NZJ7Z0?OaB0(-9$DFA9Z9lzBp=r#%LAdKwUsY z*4D@yiSN1Z;n;Zb^Rp#$p^!fvS#Y!|^`y-!vn9@W!V-iF~9xEKRe=YSL#5r3*%- z)1DN~wsmGkU?~~VF9V+)vaSjig?d_(LU-tn1l1cY6)&AqSI!hjlP)w5Vva=3@G_0! zks3pVJyA14?r>8}N)H8NCj7v@*F$^9%$@GIRL4DH3WgDuhRwd+&5++BhwDq(V>|S_ zPjqK|xU`IssLwYZRz#}e-1?`jBV;ovZv{&+A;%ZNp62L+;p5mO-V2>m&)9eNMd(dQ|TI7novz*sDaf%vM?0z(s7LZj?~fr%s)QAINF$FDCL4uuz3&h3O*>u@mogbF`#~Ugz3u z+uJI`pXb=%)uNknj;VI$@+HDV!QzYM9f;icb^nu?kQv_<@%&rwQ&;DgNI>K43SU~A zVII(f9i8><@?{zdcZa2-CdML@s=!C$itXMmLFgG`j}ys>4loi;wdU;Iz}Df+?7(N6 z{#f#SK6v(G1mXw-JzQgF2TNxJBQ@Mff%)Xp+1x1b)A+<1N|5=U`}T7lZ7U}NN>p?R zr}SXpQZ~ZLFE6_yU+jE`+S{oO_WQ;B7w#SFx7e%lx56-rY=#~n`KL}Nw2T5sntR5n zYQn_L23*;a9c-0MCbKP61#Cz&mz)N|hkDr}GsQ1b>DGjLCz|?krTvMeLd551wlils zo-P7U_PrC7jbH2>AFudNqD(?Ierp+e9qMXD?Hx>V5eKl;V`?;^lhkE&KzmDMY7U}Z z;ef0eJZt@YFVQH}5-^j@rpZI92TB;e0(wU-AuTU#Cr`DucUA@f7?ry*~t*tH~=Vedliya5Q7o>7gaGuD*rMYGE&~g{E zPz(k_A9zh_JQ<^a*$O8{d!-e)kJs{GLcG#H&SdsR&-FzW5>66*PMr|bw-2x-320iH z$Ri@S7Lj!Ua2zi0OH5#j=1R*9|u;$muwgd(d9I0zYtp&>Ke5@$h`t zLW(kQ#RL`kz8t>q?vxlzrPr=9W0GD7q9wnc_dR~Fj=bm4 zGh?3Oi=~~^Jb0v*VA8#a^Cx4lyxjl0b1-&AT>lq32WO_S>}bb<0}-V$x&`e-71`R+ zC%REdCv++C9)RdRXP93|8;eYFvB~C6j?m}s9omYQX2g~|)6?wv6L=4f5}Bmlc!72! z=Gx7<79vail>}lt+8ivYTC{R{B3-Qy{!@H{Z8j zuwO%!&=eeA()LG|3I(&hmNY*!10qB8jW|dy+Ek?Iv9W9?>b>6hruoYv+^g zcvmZmQxbRPtPS=4UV8KNcx^dCh7y8e zUQ;#kn01zcvZ@iXuy=okEOgF8TVp0;=q#qiOlJRZSasSC&&1}c!{@yxLpM<#vHOABE*SBhWj$%SDS zW#mCu5e!4kFG;RhYA4Vosze0Z(O<;}%{?Wd@xxQoUGO&1&tk#eptFIx1 zYclIUH&`g^tP=SWZsIf92d$!-s`OPQO343bD^MvlCC^_CRjeGmA-mrCh$`2o5u4Ox zFrDY|lOXBz99f2p@awof=bIk zTe(q!auKzdR=|NjGS+HD)7V@nmY-5Pa+Wsv+E>+}gCPL;5E_LwD+F-|iQ*5Krmd<# zTkKsb6OxCSD~VR!I;SZgX@xjEog$l~kYzqJ*<6QhkI(^nS{x@dz8CId^JUqjV9m8Z z@BUeLZ1#_jH0EFLL@f)Z?qtlTvJ5wnVdz_v7;4tnb(wdsRG2C#E{6ZFznc^Q7v|dQ zfmO9Z=s&j2m7Ze$T9K-plavWPNq`$@C+kvKb1!3@Yz!?YK1^UgU&m9j)OukcE3{U@ ztvqPBu5oH`2jp9OYc)+-U3JFJ6EvJ?4EKGd?k9!%Xg zAH~vy(d8}_*mEEjf;?``c!b%r2$L9&5r|)6J=0u#s|@t8)fLIF4Kot9e>0tYc$KsM zHG{~?x?p>`Y&92>y}^+gB7uUfQs+&5cF1d~;}Md-jauU_CJ&u6SLLHsf?8XybK86F z40$B-{!C}O!xyi4eI%T!^e_`>y(_ArzeW#3Mmw<`@`#D6cWT$ui_@hUQ?M z0{Avunu!%NpMDi-aHQJ&(V{LUK0QJC-)Q^all0D{)e6WJ#n`>a7hSt%=}>PFvJq)v zEYXxBn-frTfpT(i$p_h))|>9WhZV>$XSk`Oxi|9c^YtL>W=1W3`J$ZQFNasFX6uk% zft{jm)7vCsK20}*Blkq^6mxyB%NR}j`H|GwA9%l6rIuWqi@+LE$G}&6@l$@fS!COo z_$Wx`b=#T733DK7ZD-rCRBq}jG1vp2>|MWuhO!i2XL%2)aSbKQbM%Wsu~V5JgwYFA zwq{Zy080)u{Q?6~g*F~bDzl)XFc`$@{11;+eYZ(xG1{%Kx4!#1ayOq{UB6~OP$9b1 zq*P=7L7ZBMA>~89lOtqAr-ECx!H)WE(0CK5i=@{VwXMNsM;65N3-Xkv?hq*pgjHV? zAc`n1$3^TQ{*qNcN))Eky|vXzyK3m{$Y!jAS$Rp|0osm7_K;k(T@Uz*H@H_j>(~6? zZ}hB7lRb4zRiNyfIR`l^+8!73?LoPG6bjYyl0i|rb@y2SXis0}b zoy?rAZ5f1IirtZnQpO&>r6R#xDI_V!cgNIWcW`5ChmZqH<}E{!8skN>JW5}8I4@1I ztU)C%`QWC|v4ZjJ)UWA?<2-~PB^sMowRBu_T6_vGqv#!sf)MoBfGrS9H=ob?dC65j zd(eYg3s2=g88kwRL;n8U0aW~nQH!sHYescRikNmEB#RHU_f=X43YWu=DqNo{T_5O} z7afvnNN37%{w+tlp97bjKibPA$KLve&Pm`^TXs|8$d3-*O;K{=Xk~*I$)F$y2DGjkh0z@TZO%5s3EZrMile`~Nw);1 zs$^5AIOjBlY6~mrE~693{+z7gb0`3L)2%{~yS=71*|skA=08uO-gBr`b;vh__F)F1v)qD4SSFTRb5+=1DOUOzi@ z&HS0I_|wecpA90}X9o@WQzB+c7^|U2e=9b~np!H{7@I5Ua_6Emy5OK6JiknOu!a=) zUo_VBB8wDOTu7EfsYJ(m0?6|O9ZEd8ET8-+`63Vr=Q{$mN#?w$`iN}4V+ZJ&H&pqC z6kvp2tx+p*8O$~?Qt*eC`7IQ=@mOaypz4#6+q{g#+h>6X@NbS{+Etb1W|z zc|YFLgQaF}+uOUukoRRlG zXUp_K{=Rbsz-g{7l3(^9eOA^U4G`;6q&ieMP;KoGdYHW7CV@>D!M%Au6mt}3%Lq|a z8*Ano&~m`5X4LARqp(!^ltC|MUcx+^@hztO9J~=smtCE8B40O+-+X4TU{lQpqWXq1pIY715Axr4MAE?yE@;f8uYXr(Lf69uTv+F!dR zehI$ea>mZ(WY1R~EMFYX0e2_qqPbxXTJV~3vM1N+*FO}^Zz*V+5ipdwM4edfVwb}$ znfk}Gl;ul0IfR*;9JL*~9M6J?Ol#aqf`0JJhYU)Hg? zunJ<0&1>`w#1}2{%zj6}ersqz06UX2+xKX>YODXmWQUM_5^cs2jchP@cNkmEuk(0G zgv|u(wYf9HPTprU68_d;+kGD}E*Hx3ocu3{Jh8_x)4S3I^~?AwO83Fm9g_WHcY(U^ z%ClS!C4qeo^Jb%t4M~XO>MzdeXWQxt+pvLX>3em)A%8T`eorCwQytIJ+T5n5e7X_T zA!>|n6VaxqoY^no>5>1nb{7oyi21tHcA&;!JL^7U{K_pC*{p-jz?FO}|86ZzNUnYk zci3zG=mXy7EIBD>ipQ?LM>;R%JCXn~ z$`mdZ@tknpV=?L>LCanw`j*oX)8OE^BRo%Yh0M z*lLL@d;tLZKS-yQ+4k_(sGUHlmO4sH2i8BzuK`EodVn|R(Li#Zy42LejWI}CagMir z0oeH{tSI^eV|BI#H+59DLlftdi?Zb>i(^IkVy(L7sI69Z8)y$wJ9OdM`!OI)uJ=GYSDblDh6@q{;dw z7k(7jH)%%7nim)U-^2|ifDP##G8(6N6H7~9p0ud$+5((;B}(R{4>Phk6fCg`@o7<6 zXur3)iHAUwG+Jgy1BV*3n|pB#;i~=lxyXq* z8f1Df9znBeVSNA!>&l794y=@u-SVO8im)S4d?oc2A3Pm~5ieNVLFP`F&{vrO4g0KC zi2Q6hrTgcF8+)b4^-+&<%PV-jD}CLd9tTDWpJ$QoGT2!2jc=`=u&Gs0wu{G$g5lEI zSi^Sbg28(6q(TE5(yUsNd^3|39~0EL#SK3w?BXJTa_p{hnPP5Si^t@I%V$YiEA+I4`G2ML7Jw4Z zmBGDF<)NuEZrKIXBuev(i`+~k_=7yOmNEOzs1Nu%mfN>omF`g((@e}uhIKh;FYJ5~ z3`pYQ&o-}UGVb+&fF4}pdCY6(!f$`(b^YBemWwHW`VR5gBY*oWs%PS%`XQ#ZpxX1~|Z~r!tu<_4Q(6_l0mrpXZnJAK`(*2{*JMt6k;Cblt_!J~f zk&=5yAEuEP?5eG+_^F{Wr%b=3X!uv1NE>W?35#!_+T2FXIwA>I9a>(<%pR9*(*#vu z(x1}(WIjRjV)y=&1nr9yvY5pGN~*jnfAZGDv~HA^UxdVh{OptrYYPrPx0c6yh)&aO zBx)yxb6<75`bR8z<+%*ikNCvtMJ=+vy@Uz(eff>D=|KC#rviRM%Z9oFU<04p`zjH5nc-+rtP=Z4F%NE>RrNYh>6WB;4Jmo59E!LB9jOS*-B z*R55tE9wy+)`1WR>~FM~=l!GMx^t7k`Ox2wdvcu6iCl%t3P}O$k(wuOF#IRxQNeU* znQ@Kz-0ZclwWddjw_>(!xT6y32)8HQoH|UUrl>?z<1y^QhNb%Ar8U7H>SMUCep9{S z6kJ_1y1?coWc3 z)&66;_}PY4BbRiiUPYt?YcfmSim92lW*nk5k1^9zeP8RMl{0*aIJ(o7*yc##x|B;9 zIl?O_oDAFKvSXvP^n#!|cw>7e0qkKaaGYtO__!8F!j0ica-S#L#;5I5KE!bLL}&Rc z%YC<<70u!X{$tn9oY;$zG*4z)nBWiVB$mFuiJV#>PIM}&Dy`LD!kdLP=Lwf3cZIP; z4K1SR)rMF@+$>^}HJ@zHxaJQNfLY^<;nV~Syl0Srng!pD!Jk{)#!?v8%@0YU-R+6( z@cNi^0C?~*W!(zX&6J051rJh06?LwA5@~N|I72YPgq1Gr=&FBC&ZoQ)lA$u*MXjM_ znTOHfxk`TxH_KEb@xfGc|83(jDCT6MMhj4QWp-{p-^sYjMC>~b(-_!iW9{>ar$D3b zen~GK4nLoEl(jc-{u!5VUccm+RZi4tOpGxcK`TJP8nsO?M?%g1!70uP4z4Yg9ua+a zk&k9Y8zaz2fyIclK#wK^SaGSe&W;`Q^WzRlFx|)+I;lz~g13UI>45cSz90$Ya4^?z z6WfKKvJkYB#xop#tDr`~2be-+IEs=dQU^==-5?r{+BY%3L(Zh9i~!oW9v@T336G{A zRw|CtjjS8u7-$Va+UiaH8hbymK`t>Ta_~_4xQTQiYFd4K&KEg6`CeD*-l?8u z@~g-Qu_Bz6)2z4p-tLHFS}5J(f{){tJ(ED}ziIYGiS9=LMMIkyi=F!A+g*VcJ&r_r zkc$|jV{KN1|3Mcx)83ThA3}RCj%RhEV7DhRlB!tpbUIOH9B;#PNl{2Jc^6ra zloiAXCj`z(^X}oyt(Kld+1#4J9khEUgFh&yfN$kAe+KEi+#!R%(IcskN>bH4=#R~w z_2>2fU=LW|=0l~tisUDHsZPS()%HMdm%;XV%`=pl-KqM}*~?H&d7>ibf{@|B6A#O& zP?osy!us`ht;nZk6a3bLY3f=l56{Mrm|!{Z@(KM(X_WicJPQtPreqRJ8`m|}|3#a(B>qmXY?~E0x^7HW zo9taD%~4LqP1TX=c)myp{17vxYszru1TJh>W!Ob?1C&&QK@voTGq+Y)@?67$@p0$J zY1LP54AJx^W=b3B3dp@rgDNt+#yjbu7E$?rv|1#q~i|54kQpT zB0xqoH5U$~d;ric74q{_jy8^-)e=J64U4oT26}dtwTH{bqGUk_c!@szdp>5qwVFX_c1%p9p8_#{;Kbzk7^^yuT z;h1@RdPlhptewn81hiwqJsQ~1NP9|SGJXBBKjXbv+yFKZER7`ec3+q6@`R-4TEnG% zO;Z$?w_=2q!A)0~L3gwwS>9bgn6}gIerpM0_Uu@sq{DF0F;H-UNv?C(x%D40#uGy= z7lsp*qUWLDQVQ-nJ`n>)BRI6c!fGwS;@AS(t_AbYh@LAF7^khTLzzYU&I4Q_Xv4m@ z^iLYmeqe&4^uO(j-oUQ-FKkxjv|4CrsjtOAJu2*AayQ#tp|!H;E5r&#H^$mO!~D&B ztoQYG*|H5ym1)@VGmIhKSGc{w0_4kfT2I3<)jS=AmD?eJL4 zZa};oE_1hgODTLGYv1ZQc~B?n#ItrgHwigc9?2`{64nG6Y)1)*LU5e|K1gTY56A2f}xPe776I+Ox4< zE0M;?mSJQ!G1~$BrtY~VzjIOXNC6r|BHO*~o8U#~=HdlmVX0a|%w*(DUgU*Re^8ez zQhwU@-NLNCI(3luO;dYLqy8Cad`FRNj%b_VR&^&-I@NSF%PRONttJaH%&ONndnC0%y_OC= zeDqJtW`#~Cr)};6hCb#^r=|c_DKto*-csOU(xr_oT}soL&qef;mp7}SPHz- zJxdjq!gOC>gcTdUA*%^!Tn9GAoRyD0g1QyoZMoxLbdtf51iP|Mx3%24GE?lb8JcXK z?x>c2M@m<`Vo_`VBrlb2y^wJzZO+t;oO3Ufu!SpU0ITql z5)!vyK{HPlL(tKo=T^V1R|{P=?uQ=sqExR3vFW6W18EwoU}btQnJ#oayt0mxnR8!S&o!kfd=PDL=f)C?RUwai zSC3S8prk-TIMM`hM$;MIC-4&iFeUq%Z{JBWHA>4qN`A z3Qle#s6vx>Q+fm3M-SVlg+&8=y`&n1n$T{`l)91zs5YAJ!Hqs1y99aHquuC~7_roJzB(`c;$uv0%`>o)C+B{Wz{r!i0_3GTUQ5lGS?#vP z=95abZLFiD^dpbb5C}=p|Hs~Whc$h!|G%wOPK%18iinabwKzbksL0G|QBhGTE<{FD z1XPd+0m8_rT18|zL1dhqkoHi^gxGf`G#1`;6bB!rNJtl#qq?xX$M)~o#i{i9ck zUgey8#`E0w`+48**IsE+iHx4E8u{s;RC~=zkk_Ir-KsESGZF9|1wcdulpJ( zw)5hkaZE^3tf7_y5Q1j&WD|6r?CfOa1BjsF4F$;Ng~-+qD3$u7R@)#VNmE?9a??EWTFV1pUn{PcL>27`mckJt%P~ydcIAgZn8Ud^HJ` z^pMufI@Vv*5~broFAS{+@d9wIivJ97Vi$#M0RW{a*APQx3kUk61s3gRN zL1xYQ0qOJC`t2h-bjsz+!45!+R9@yX8(_9nPYpXmQ5ZEHr&ljs$=LR5D4r9X3%X+@f7L8~RM?Fn@AoS{;Fvhrip;-mE zN*#0KDW4H|jW_pKYA;5aeFqVyu0c?Mxz`3!UoF}^VV#oK@Y2&EAy+T!DL)jIpQyC< zSdv+=I%A*@eumeb@IVlEM%Tf>)z#Lgm$XurvlO~kz={~Flt#cYdWSoTy0j?$#=n^m zf0=Pt6apNH;7UV`oG^?gyY-i1!Pn|#Zh=~8^RwE@$zY4Y`D zYnDD^Qy3j}VzF^v7X?vojJty*|MZJIidthKkatQ}r0<@4N0~T(V=-q&oFn zh706H(8Fcz;N2B$UD2PP-8}rzs8(O!UDjrs=AJp2&VM98xj7%SfEnU_u_(uuC!&1r z#LN3CTrk+o-#nd<1C)-{P2?JohQIx&`y9s`8`tQ#0;q|hnCOh%YBCpY<~)VoF~M@* zH2X~5BH;{yyeuJk)y0KLmuh#DOQHGMj>$vnu_x@Ad|Ul5S?i{2(Pi269qsNdbBy-vxPCN4O1>Ue;=iO z!T`XT{sX~bp8h9+5Wm=J?$?IDR9UY$c(D3zjLl6z^14JkYf-Yu!6du+tH2uQ^*PEO z4zxhn9FKRj`MjjoZMH&Wl#7s|*Ntc!=X_86X;;1$-5$2dr>CWv9Ti3xH?A zKVVa#Z0aMZ{5g8-Qx4k%{NVYtPO!Siwfm`1ZKbPl4b1nmlZV*cIZTTjsqS)YLey6t z2@lc?cTa7{s;zMOjo$fH?_Bscy|PbIzp9qZRa~>wZ@3Dduy_2z4Y3K?-gMjRjmv~H zQ-jQUmN}MtUQ$IyT4cD{l)B*~Y&puZoLsleIGc#1wL}bgPSt{Th^14YbaSZ-r#vEq z%_wr-kOiC zO`W~stNhjcLz2l+t1;0kjk2%z8u?m=a1&H~C^9y;(D{dg%a!%rdkmoDiI_ZG{EpvT zC2K3RCzNmhk>{#-$jUDiC|Y+~=-D~mSNk8r)!R3uHHrF!gezaQ{85A~f!gsdPA=27}c zGZAjzuCrTm?_SttGcfy6uGXt>I5E2@ysCWVBkhT+Ns5)MNPCkpWY+g>x_QPbu}edg zuvkB(@180Hf8g8C|G_u$3mZnRes5-fvpzd_zolf?uG+Mtby#0oeVPu}di9>{uGY18 z9nKC5RhhxrppLm8#nlN7{1cB=cGr3E9)gu$!uu1CmHU8AU0D{HG)+EJZ^0g{Q;5xl z0Y;za7m+#^QGHZTWgKWCBXwwcWtFqYk?c8+hQH2(BbKrLkt?f|OB<(^LkL1eg7}8T(s}EHDnEJpX)N*V0?l~m z_VOP9Kj)XhU3Qy)o59Y+38I40_mJ)}nZC5R9yD2X=K=AqhHWN3&R7()+R-Hq@lc1j zuf5=0p4ARe6+2V@=uSDLWEJ7!y6Nirpv!&48z1=Ut+qdz$6xJy{hxW;PFxm(U9Bft zeL^4w7N&c%AP<$?sbL)WBy_>a_!~d5T`FR1cxnj5avLNJAxY=hVlUPL`-lbUS(8roxR$S5qT9SY@>pHUr8=2*dW)*WFQCrTBvsqq z10xDsal@<>A~Oc5{J4wqQESc5mvQ?~8d2>sP~b@@KV^i5HL4+g47y|43)7`%4j0IT zCoa!4n`FKfyh&FLz#J8kXt&28^$`G>F0R&(2D#_A*64?<*zrwt#6zubRAaG-RN@Vd zP{M-L(@5U&2G}~AxOYep9cq#BKAkqGzu(Jz^}x)s{#7@ztbsz)fdU>f-w;O|(lujJl%t4C(cyPbe%g z%IPPYFOT3t73H?g1z$xolw~zNKIw+*cNxT@Etme8Wn($FG-$!Hb)nxQ7qe*9T|1pf#RpfR^hIibkMqSX`F+@SBS31*JZS9UrE8WL-_l zYZ;!aXZ25ML(8;)Tr^y2@2UmM#e%Qj7N3sDbkzX@kPz3=f$5aA@+(4*o3T_t9SjZm z{K0;6bZ+IE@ut50mo4^Bjmx+H@+8~Eo$|U+F?d^eVly~BAM4c}P;m?(VMl43y@>-6 z)lyvpWUWU6J$=?aWX1t`kW@cM-U$Q=W^#8Pn1>kl+}~dQ8DJk@|B>znAu{V5zbo2u z-feGf+&Me1A#BC)RsU7E)8%uC6-w^-X-y7|M}YU`@ibL<`4Z*R8xM7$aE({0a5RJS1Ua(6f9Um+~} z29S!az5gH}j#KO$t8H3Paq6qLT%G9T{+|wr%C5lEYhJ>IU0-+jr_P_YAqvl(w@USN zzP5&7^W*T+<%=SHLC<&13Yp2sLg#b|^RVJ-cpw9|2 z{q)UnbF1sC{_FMM#N-3T#W!sXQhx-1t;N_`kuy>X0+7#8O}WVCfc!Y&o!fVhHl&C- zNe_?OGLnx>Gb=I=RT?j?&u)eZjctnJCV}-)PnBJdlJ`o{_Q;pxrC9!L#+y3$THpRzO($8?vQ`{CR{a%6dN=Bi%DfrU?=Q92?Y-b^ zb-*b*dC7;VyY^dY`;K8lqZa=&hX?x>HDiylqLk4|kdSnY1#|pt$Ack`}Rzp369>G!|Io^jw`!Yxd|%a`h=d>}r3~6zDFh4l+Ym{V;&WEn>`CD zchZqfGjI+wF>n;B*>9g1xFn!`9atuSZUFZ6ant^sw*uloAJ7Pr!PmzO4lP69D^%V2 z8J*e~qY?|xA!e>P1{8yF)*e%HJ(rZ{p)xG?bEM@Je(a}rYISAbu!7ZrXfSJh=}3=m z-65Bur^aL%J{OR3_*1NV;rHdI1+XUk0lZ|F2^f1E>*s_Dg>~hsZXIhoL74u0ys*ui z?ORo=)0$ob8MEJ6&1SDk(Du7}z6Tj;+&OS4p);l?oN+)Gk~rP zc9O~S4DoBhf}upsy&k}s_k;fF$zfMNBNA4lK%T`PGSQ7jP3>+$wo1P-s+FP;lKLC5 z$6PSqFG@1KkI%udx`Di^yc--@%v(JX19$Bx9|uC~!64u!VAdNYHF;Nr0g-WDmiUPd z!O)}AeeZZ$HZlvq+05N(tH;TEaKR!6C}Lk)F~^A@_V4ZeU_1V(Jy{)(Z*No_FD$oV zYK-x3z*``^<3DZ=O1-LWlb-qUhwj-vrn;Vh4vmde+~CrJIvu zgN(*=LdE&W=?%HOXkEdyg#U{WE7bo=|sYOvKB&)QtzCa?=2KZK^_fXHZuhGn(y(3;w`Re3xu8wzXMtm{SN zWEx3f;%PN)4i%qc8u4xbM`#zZ7~gGT6YD9pRaf1pPpS5J;M{<^9QPKtX*RQfE|2yyD>w zi%2#w>)J^untvj*;ZGhnrRC?72Kt4GmzrAOkM-Z4>Fp^)-|kj;*{u#{U|4WtX%9@^ zsq0-5rG$qr=CO`EdiXmY#d~D-e9}Q4_y`3>VZOj*wFVJJWZx2=n04VV1+0K!zm+Sy z1vst=GvPb7lo0?Pb;T7Vaf+4tpBblvYLwiOiSTWk@Hbw=M|jMzK1Q@nVi~eR=f^i< zE|PWWw{9!aK{lLk9f%Fb4@NF;@c-4q0bORz*x>m^a(4SNF5GU`TbUuSVNrSrBE_$h zMV|rAXR888p1%G-ka0s3v@upDk4g`XP!p)mvEGt zv!uK2iVOZ= zbhH2RyE!@3zpwZ>IxdTQo|M84cyu*Kx`h(;`QIb^q)!C1;`0B{uQ zPZhifKM^@a{*|$sJwfS>$9Pe}>L6Xf1q|zCeu|b;+5^I4F}+YAQ3;viKosoxCpuf5 zmNK-&Tv)Wq;?030a4Bw&M8d2G>rWq5c_g!GuKarQmq9O6t;&}F#UP4oR@;m1sW+Q- z5Ud$PP1v4gS!nv)e?b0mR|bhe^6A7C6>mljytdX(2ak)GcVZ-!qlk1f{f7fD609UC z7Js1{nsK+ldLFTB@DwDAZ9`=AoXytf8X}` zM1?EaJ!o7#8%9VYQwL%yFOB&kd!Y<~P;oune3);~kgdmpnXJDhhr;$zBpXuw4oAG1 zu!R+E+clE9c2+nLTTf6OiN{+6#Nc)t(6vPTa!cx)5qz)7bp?^^YFWvAl#bH0Y6^Zy4f!B7as>HZoLq4+wJkd(#*GQF(1QW7$-? z*YIO|peZHlHhLGfMgz_IKC_ky(ie=}O*B40K-pkvJQ$<`7gy-oJ=TZGdlTWJ^XSF^ zd2Mcbf&AAs$<00oeM1s;F{ZM#C1G?Qci(D+jB}Ekeq;4Jvx@(uIqe_4j5Z7!B7nKe z#WF`$ug(OezsTg0LUs{-O<^4h3De*QCF8!8)jrtp&S31Z+1Csfq!yN;Cs9aDq7YW=2u6JZ zsU~XphOg4;9^tz5sA=y@aQ-uM)c@q(^(t=ey;-17XHsQ@;G6~{G!svyuQ}E?C6UIK z)X}qrqE>6U)Kb?iv%5n`-+cgFCAqA*P}p!|t%n%2P67I>p;{Es2Y+$?V+QvAlPdZL@k^&)fJzym5`%P756#6zFKG7`50W+JZ+kHdF^Uy;Kf!h6G> zfc>Lf#>Den=s7}RvV-(S0|Rafe#}_mf4t!T{m>YHMjfNwC>+mk zZA}*t#VlvMY`94u%i~hRX#M2_`K-7cQFSbrVCc{2MbSn67%6lYF5ofX4(ZB!^ow9X zfapZxxHI#qa;}mk(OW9%#e25tAfv_Ma;8e02AB*NHRJsxKmu|> zka(e5IANoOygFFdm?xkfm5H_RQtPcj0^z?CIFkvgo(lnrzm#V@8uSyJ& zhmeW`!(&BHd6pyzTVAJ6$mNK%2*SogKA^STa^hpg6dwH)L1Y4F#|@h|Q$6|ZM!UQf z34MzhW#}V#hiMA(MwL*NzkB1$ltP5hUpE`f>8L`f~DYWTIU zyo!(%5@2|uH(LkK#S<~7Dk>8DuSzY6!_kDfIN3cHSd&Lf0Vkj4;5X=s@INFJf#vcj zhU*Kb2;`mVfdovyHQZ3r2Ho<=#t>9pttLVi8Y$Nd+u9w0;90#?y3&Rp2{#6v&8>i3*Bs&0)t~gu?p8{RSYQ{yjmq&+l=^0Fy=V zIEJ`6{w{P5ICT0(|&XxQe_r8{f|=f>xDa9*OEjI>YV7rVejms|1DL=vVuEV~&O#E|tg8%mh?fqQsC z{jzX}fd=_t0AjAJL6b~%7zif;!&qb^6V=(-)yl#T5fH>d7VyU;Wgo^0Tj@AF3iJ4Q z8M<+hE+2f%u?4l?7h|jTJ6J95kIVe3!@V)#JH5bqA!%IYrBA|c1e>ki&$R#+E zodd2O9MfL{Dwoo&hA2@~tiA(E+J|oB55XmL4RzTa6?x?{>!BDt*+QOP2vrwQc_O5{ zgVOq_I1Jf$YCA#P|yPPO9KI7w{7B2-q};ll}Rt8^WZWqC^CyH44-|gRW`0n8emxK@&VjNQ29{ zH)WX!Y3JCye}7i11+@&pfylE(;Djb@Ec=m|E+eK~jj8hAEZ)J$ zvn4js9dl3$^ke(9**M!N82Clhx9>^q0xuNaUqq3r7#}N1b_i&HnruA$gwr4&fRT*F zcbMt1;s!Rd$jE(zvo2j!AL$@7S2XdToX?D8ODY7*d$aq~gbXfBm-j3g&j9a+ITb!j z{tyg1LK`UOA`gkT#z>1y1XD?%Ah`JTSgG32EpjmO=c&`ZL1A6NwcZ6rq2sOX&{aUI z4*h^RK5*H2WoY2jY;*Bx7Ur`YvcfyaR5&loUKiFqRl|U%BJXRrI0CjHJ-kE-;m5c` z@DpAG$Ee4ZOr=lEPZOvPL_MIu!6g5^bfz4J03B5Vmyy8T5prO{7BQoTE+7j2?=DylGh)k}XuA+1*%U7a$HDnq z8NWI)i_;FMMx1hrT-ab2weQyEl)FnyQogiEDqcwQxOi^rr1I!FC-WvfE(`L_K6-GL z@O%2{X^rRp>%Q@EHfq8ZFTTu!d>svU<25wgoi67``Dn>B;)=s+%{g1$Tla(1=!Vpo zyyQTI(=i_%VpWijK7!CaqbNr&N;c$94=Mz7Mq+^m!||F*&ILRxDF+l}bC zU)1*W^23_;i{|=>%xU!R3`g{7K1c_?182TQ>*DKpZ#z`yc89L1AWvi;NWt(5T8+|4z341BQEq|^lH-0Qg!4$&47IRNKKbdB zP3ykjNfbXDQq{=uVQ+@_u#T&cn0NK*vJ`rsLzY;F+Ktb)V{>Bh0wZ0vY=DSvnnjl< z1<-q2jr7*tvaRh0Ip##cY8tItQ>2!%lVbosCfl&HRL}N;b8f-qqqwb0NUtbHK6_JM zXG89IjSX4jrPtDGgah8w2a}P_-==eZ1AM+d8%hf;Ut#@jH7Z)nXf=A6tXiNLH`s)W zZ$49S0Kn$x2dhrz)FoVkBD_r^pU0Tbfnv-PkRZnV7Kky=`V0@_|JXf(HJoqg{Q_&a z7w`Q2tveZ)0X80gz|X1gR;$r6*E>9|2&Ved6?jaSS`*WPJ0*UEUxa}8MZ*wI`USvn z4}E*!IvJh9VgQ5CAN0q zC1nKh6J8vNb(e}F-*Mm$1vDRP;UMGiT~)e;c*zz9C-#(jm^WS|M#f}uCI(P3ykvKK zAq4>k+`_SRt8$!Z&C%PMQozeob;~xbcbKlRGpW?cLM(1Iiqz=~N6v{I2^aSV;%W_n z`--0UcsRoFn-tsI{Ll#B8~_j{Kh(z!GUUAb7D?&~5TqnpGXdUSaTUD||O zM~TWuQ+E0ZnQUX!&lL^*ID3JBYCLdU7CsZ)s8%ESFLGvOE7L{BB#5f3X5yQ%^l0${ zBg=~RI{YAB68W${;pDRPsS>7%hmdl^!UxXng7?dWj{@l)9n%PKe|l3cLWLgn#pb3I zpTM^3yxinWfWIoCo=Z4E6&>g4U*8^AcVSh}q9iw->t>PtOVVC?)rHr&Pf>4hpQ1li zp>xfIMZY@v^44UY3IxQsqg2mHBn^diS%to0!*mt;Eo|=BI0y(}IiSwp@Xc%}4FB6` zjkb#A3DCK8PiET)ShYX_R>eYKRg;<5s%HtsHv_kiplAD@+uhK@(1YNS^nu)D}xW(%_u_RyU> z6uPv=3@<7OG?H}$!=&P5c%x;6s8yhm%SD`~xn&&`5Zi5sNqB}M8zb#;@TN8;%gZ%k zope|ryLa!}fs<_0`rN^Ly6|HIQZyYU=#dX{6Xh3SIQG-%u-pfDUV&&WH9+>5rIAe% zi!UOi1+#SR`Vm<^`xE43l8gm|i)7h!Pns)C$T1q;WJthEWUcrd7x0Qu5;WmCm#O%+E#T7X&AgQ5)Hk(cJu3i#0u0j&gasB83A_m`^%lM2aN2LxpP)fx2693-m2o34^2)P|rATi2KrN84|P=7eadk`eZ1kb=EA46!%;zy0CXGLFDXB_U2h zDy_e^<0Yw-4@jk1XKhO?jKS6e^0dn6ZMR?3c)^}=I~QKpoj26s7njq_!XBETTfGFC`hN@kgSmF4y*tuVq{9!_szZAH$z<5IExW} zgk=cCkEn$B5!HYnVSk(y?!TBn!dILcoArXPcn_ZXOZBeC%?^yG3Q*ebzZP0k=%PF{ zOjH!9Asp-yG>V7xk2V?X|DGU_n4ojI!KMs$5BvbQ9|1j0$@nH$M3a;>vgRQ8jC=xi zPzskc$4l{ieT1ZQE7@VLoGWvT;a4^%ILhgC6O+$bW&%2@!@|1XP$!(;jPgO}6Q>EE3%^U-*Q=0x zt`Ce8NKOe)FUjoAik_O(nB~gd7(;O!*wG#F&tUJ=_NYG5WP1bLQlx&K=X*; z?^c}k6>jV6naEX;wJ*?b>My*11rVb3>ju9@`YeG);}FzEBbZ|?1?IR5!W?%4%yH5q zy1B_Ee+3feP~bNE7f6^|fQ0E@>b^*q+gWf9OzzSk3aBjPwOrfU^y&rYo3`IW&T(`; zzdikK6M*qz*se(cm_49(@Ky^7*CGkMdC4X1n~Kp>%=-nIk0cVtfn-j;i{usY=Qm=) z)S%voBUr#{4jy}Z!xpL^FYMIOK=)@kjthu8Rd(ZxUSp&8*mj>QcE42%(4MIq$4Z-! zQ=n)Cu>Fnw%1L{T(fz$7>xl^9*454N=WH;eevl%+(WpV{o^Y*BePG9#q|AYITef!*|N z7H<&ZH@_mpXI*ulWQ-xJw5nf>Xsu{yo2`+i?UZIxrY7+hLM}w`cXQSogE=++388`p zUxKVwKfebe14q00pVQC21PyT}vo5%X7%F2ZGviNh0@U9rc`-})TYlbd-NKI7*leOe zA3ZQjOnQMn>H+8@?^)>=B7MD}Kcdo!$6933*5KGGGRH5v@o_$&gQd9`oCNzcGzuKZo)dp2kX=o5 zm9wm2kWS!{sbPd-%+CXheWL(D_Y`*wBTc| zc>K3>W?moTo%8$8^NOz6{5tkzO@B%>THDRYE5BpDGB?5hw|AeRjk%R;<=So(%Lj3+ zhLMSKk>@TI`U7@&YfW$<%s364T?z9XRULBY(0?2c9e`rz+OPpD8#*;XK+geRALs=@ zHkby!zM@5j-v@tKzXE^2fOu`jc##c5Li}YyHM9L;%+rrSGZ@Wle9T{#h`+$=s>wXn zGrlyW^!fF46?&b|Av_RBIDEj2t6G$uzPyj_O%An{3d@RQIdO$-5^YsBJNu#=*J?PLDH9#7SAwmc}?NH{o_nx;Hh#RS=i%ZHc)xX~jWI zwJ+y)4kgFZ_W9c)qA&|y}V%jHODMV z?c}>At1&L%BFG9n!D7)7u4@t>fLTJ^55#DQ9zIUG!F?8QJ7Mb8=|2XQMGOh@(aUY? zVISfk8%wWD@gid9)xu?A8X4e2xP6yTW7dOX)bsPxmlsAJnPvtN)&K3BUs#~V-m%NS zo%6q)^LQ}?jV1M8aa0JA3rs-vd5+`$hHL6;*n7_C)|?zK2gZ3;1fz8Ei955Yu|{I{ zt~{EaK1(^-!C2CA9~=|qt7v3%x(kJ;H@~L?xZic5$s#bE)Sg6}>*#z&Gg-97Ej*Ga zA)7n!qJ$mJzT`5EE|P%GO)+PvU;Q33CsOX-{CU^T*9>zd9tOvR`poI+D;O#X_3+@% zA73-l(@>i~n*ZQSl>o1gW!wHJs=}Z?0=jBqjbZ1Jt0piRtN>R{_!x#wkT=W0$0Fi2 zwN=33&MZH>dC&USow@TOPqW3{LGVjQt2tv0!4+m8ceLhrzgK8oF3fIKF*7I|%81x+mE; zK%R@2&O(MG4^4tBfNN8)&)9ACx+{*%SdErBGzhT#0@&t<_}Nddy=DYSW?lMde!#CZ zhC0uDq+u6@KMn+&y9Xxz@xssVM+_a1)+Kn*WYZ za;#hhw;)}jJNRG^9B$Fh9?wkQq~yoahev0#H2 z%`D?ixqJmq91Q8_CVYtb1DMqvou@yn`*Oa>#UbPr^}c*xgwS=N-_7_UZh5^oDOn1_4U$g9qgFXjmv0L<+CF&Q4zI-vU0E7Q5;^dMY2A zm;({xE5r-piFp5IZ#(&Wu`L?YzvZjo`OpHZ=VK)&1nZ<6@YMz-TQznPnV^oh6+oO&2j-}_iKi_%AIxm}22QDgzTpu<@a zm~jB34sK3I`C#s0d5-^z_aEDjsmJ}V4m*J1Tj$wU(f6L5$9EL&fjZ>CKz7K+=Ogou zV8Nd<=4FH_W9%aQ$r*<+wMHDOMrEU$eU5RPFUO|OZ(OD7aBmVZuEgNtzW2<;jgcbm zFOD{hk*l!J0>kwdhs8L6cHYF(pU>zy#zU_`Wd4R3=q#=89w>-EmWIDP z(J)5Zxx5J9vZP%7*eoYdDS$rTt?r>ds1!g<2Ro2$m-YbuA*PL&3nlrqi$hN9Lz28i zsbAbSLC{B(6$y`!lbS4=0%R>)lS7hCEpQ!?%h|H?RWOo1ak%#>n4(irp{t#rqQ7ts z6vHrjw2`(M2(JppEOQk*uZjbhTTA~~kjATaN`ngfP`UDmB>JhSf-h!hy3I>{Pi-hsQVM(_Yi zJ2ksaZp>z=7DW#08<({jv8a890$P$N3Xx?@Tva+O8#rZ+AfmW52aY;-ktP_04JkgY zK0O3V+!-||41cHzht|(6a12Wo&!^GF6nzN|Y22905+jWGj{=+1oEm~D{tX~447z&I zY9JFCg=6?2fhS$nUP?sga!J@8FF_hx#y3Oan9K03k;!X&=u7UgZA}MiF1TxPBMI`B zp*yqT;#&eAxh!4IV7la19RjgknklUtK97f@9mtRK(Q{9~mV!fy+wsvt!K{3r#cO_~ zB%=?RK6=^6+;5Fi-7%FOg>P*}V!9lg?zjwC;>9I&S)aTIgx;KHd*LNTk)}hJwM@T~ z$HK9_(r5yyryQU7fCwEo?{6ZB9-GTrqb)7}Gr*Z&#T?~V>;@~xkNh~zOy8~f{xrmG zrT4_wffS>1?dxl7uQ}%H>E2KyrgqUBgyHnPJr4c@u7o`SEzRKsj4M2t6-W>8q92bQ z)(3lemnfKu<(R>I%VrXYasr9BQ4p!6A%8>~E-Vwve|PtIo~qFO z$hL@7!Rh>&qLcc$o*-jMklPd5M28EHXUi&hxLh%l8k;H&O%7Nu5RfDiC45I@TwFA7 zM<82LMaOn8GDmhH>N9(Wp@pEyLO*F2vRQstH8 zHHDhf8OSzPr_3Xwo;v9cBk0&cb4$~qc50kNgi0gusj?DHc8~1hvgA6Nv^{Yu-H+9P zK-a=kJb6b1m64`AvJ|FkdTix#cM@?z7TkZ}zA91p$Yw^-D6U)n^xVtq#al4w6%D-F z4hhJ#Mp1x#xN*J<_cTq06Lgp1SVR3%xVMl3_9E)A8yrs=V&nUE3J8)$Qn{ecn=#YF z12SJw8>F)RO;9WxLfF3Sz-Jrgjm}mp^+2LxsrGLE>uGZNv7?2N7bi$^J)f620d#L;Q<(3@C0B4l2({NI={O6y6>P&o6&PJuQ;hP zi;ru_1wNHvK~ir{U(1b5&XLs|{uWBq=O40>4YwNIAtOVReHt@7?*>pofMh?O8qK^J zTO80IU?z|SnH?L3%c$~!lAGcf7V#H?7}eBl)`SQniBKLMOit{6dq@A#S*m|5H4Hq6 zg{K4AIik?yUYSrtrpsGZ8toaik#U{PaF73NlaryKK$0oi{E|$X~@aHn}`om`iw!|16vciI2eZYv_AoADw|Psbq5rSjpa;0ORMO(6fx7qRJ5gI_1Jov4y?mE{7ds-1sdK8%zuH^*^e&EdF# zdn`9%w{~XbaPt@_6+iUh8jMl}U;79vsRxncd#o%?RoZCKz*PUX(y~Z|mkpkjl2CkP zp#rN2Yl(v}$Jg)^iLpu|g>#~?0p{=_40oDF6N4J-AlKEdt zhJ9IWzIYqtvc4*AP0*-!34uh|sUR2@NR`LMNK?G{hZhkavVwuq`Xgjeq`!Zqf2PTe0!}buDak+umPXgobO7=l^IR@ci%m49Zm2w@(S^ zsg&8H8#BDWP+fWd-2|MMM+lno^5FYVUL5z2%6((yAB}!_`_NUTPOyT8Elxl5yi2Xf{0kme-WiGRYsQId= z_*$?q5uM$(52wV=ldpVpBWk z`*YE}IBu5J^!TJ3wx0ovS0pENNkm6QLy1l!MB))>M?zG?l@=cAw+X0lZabkFUg zv{?Dp#V=GCm=;9OZOdPNOMzlDXjh=vQ1rJ^Y=WDopQG6B{V$5GZISzX2}UFcO;i@vhpb@a8(c85qL0TC7uM9T&s-k(FX8U@M>)#9ZtoW(i4R*F~) z$+@jl2KGnpRNy9JMsO3E$hUD50XtvdCU(CIH<7+=^79NChx`7$zlQc$-_;1lm%eR1 z8k08}B+Y7?Z=n0s*K3;l%l&pMCbX_p(c)5jPSlAqQ9ky^%DY^dN-N)H((HK7q=5>? z5HLc0b1}YSy)DoiO2AaogN>rl#g|txkQZ;(|ZAnM2> zjN{n^Kc0`LvOYwvGbvjH!Kd!Nf=~5}Cvue!Ue@#d%3KA0Ibvh(uxbq_UhPw&g2j|{h%L_O4)5d*06N=x>Inq$x zE3qrQeN>M-A?oeXlv~enO<;{x+W_W^cV2??uIm7Kp$!a_@BLM>;ZkYpgKrvufzfbs zd)7;gABk}B4FltZH>jo-5NCDc`k4dl4u402FZ@>({ejR3*{yF${x~=Lvv@4?1FWP3*0lZ$n&2osgd$48} z8C-CPw(CjPJ%jlAPE1}rC&hfdVsz7N&FbPn`|Tqz!_pC$A@OaPA=_%obC}`YcfkxB z0nG4Vwbs#?yMgSO2OcY*KMR5eO8Ry@WJ9VL)4_Bn|v9)hzQBkB80r^^F*opWeW-%>ciS1So^|S0S6Xxwkq4 z=y0}6=I4MOd2yFDFdr$voF!P&*SO<%Jtu`fF4LH$h+0sotNt41vuOm&wqyj$CVm^s zMlxUh0?T&l9auJxo`Q4NtinU${GXnFNUMN8G&ej(qykWrC*_;Bkwjzd>$lAazpDoC z%T?b{8$yOVwcot#8Wup#ir<|SgfIPmvKnl)2Id{<3S(`71n6mDYLR|lTy!j<;Xy#Z zFcl1H?T%Tw2G!63c8aKmHOXt8v~j<9zc)#BtgR1#$a5#HqMV`&D7>)*+lNQL1?$6| zv@N8hY$wBUb|J{Inf;B~x-qc?BSF7%xDm=;^51W_#l%4i=UNjr_>=b&$;Vn<1#|{S z>K^e>#SU`Z{WY>B%kHFa3%5@_%&+YdCeAB3$F*YSy(76vzh;DR2^oO%q5P_|11=5^ zpnx6>h$RWWL_f3LFCyZgE%+hun%yf@y#TfSjfB1bzCrl=0{l9}WBnU@uIeMT(vPJA zGI~?0-3h>PD|y9nYa=42k^Z~e;G}u0Q}|g$?pdJQk#j29zm5?8E{zcWux}Io=<#!3 z5dMC62jMRRECuh*co=IdL5T%aDZCqdJk}oXH+#cxu0B)yCb$Wj`N0gb=WVdn6xJ7fl7U|e*(lf#CK&p%C%O&cmc-;9r& z1rb$DI|d)Jdb9TV;QC|iRp+6G>xIX+yd5CBGjN@c#X}-=f;L$b#Of_ACHOss614`v zAL(qzX>M+}*?ZwA_+kEOPx}q!YQ6e~6SIrx)J<=Mn|}HRN_|mFs}b%C`jrERn{#3t zA6EeCs1Mci3qY>dx|6gPsA~|p{-PN7z2q~S_Q@KjB2AVma`j*-x4t*+y)c4O-!Xzx z7lgirQpblMd4W>@@?9wP+MorR@utIV_ix!!39*FeEWRY(QX?2vtbmUu*RRntf?MA| z(y#?oHe%fRN|U0?gxaXK7c7o~~&?`>Ou|(T>gH=1{d}e4@jH{e9l4;G^}-c@E9( zofO)!_VvHWEYNfS#iohtlX(9A@|!nw_|Naex% zNxWmNcm`>#&-7}ESYGvgm%E|(($emGRgN^by}90ovL#CIB~gv-KJnk)a7-PPjl16P zszK^o?9s8dzdJBM1N5Gml(BZCqiAm+=#!oa3pD%N>N9YK-S>rwm~qkNo{Ts3JUDnX z@t%q2uL6S0M94B7Zh-AG$X`U6A~bCoN*VJc{DleF)|p|M`xt$M zyK7soC^M8ge;tLVz<)^+csh>)@|>C+5LNjIFraBmeDn~v0ol@u36)|}76igtB{s}xA8G}KdbHjIEwKS)SB(VNKYN!m`HiEbRe`Bs9ZaXu2Eie~ja9~&K#QCoOR+ZV0!PE~LGdEfp^%42y0Le! znk$o#lH%Vp_-u9bZe(oO2b+XO_u8Pa48Dg+@gG&cKoT4^F2N5u`+vFG1)9wz>fJ|4h`L+g4_!KLndpT# zt;RObiX%DJ14m;N^ zQ+~HcdR6l@gQ&!lTI?+{__A&At}_8}=zA-VgYR9+iH$2UN{r#SK>sLF>2#!iFj>pl zK7t(#Zf6=Fi5QT&kOU2gK3Qc2(v)z>i(IEK;WUu2{n;d64z{OKGq4sfN@Eek&B2y< zf3i~vb=9$rh@carad|yfZ5|dv?0fLgJZwkY0ck3D7WAZ!k%nhXXW`J75T zmB3ET|oRW{e(Lc<9 z4e4l0httBP_5*rT=2co>2i47Js&WTrfbke`2>w(nd~1`x3{?5m_gFCOz#ia&fQCi< zYSN;B{rBvy24^6f{H|x_Ref`9zmQ@Zlf$bpO4RZhl4S?x4YJ&E&VGx_HA%yfJ*IwT znHP;Bw8}#4eJBC_8Qs?q#t$AC<5~T3taP13)uQ9vw@si}1j8kxuTnTzeJ5?+s;``t z-4{HzN|*dcRMX;X4g30ZPER2GyYq3IcYGbVs;ej;y>yh7 z+6ti>ICTy)51L?DzlL4}7Y*nS`Yg?DbL7`R$KOqbADi$m{oG z-#BJ`^(Zb_jbSnMlVAr2CQA6y zS|`AAoSn5hhqh&9N+e)D?x`gf{1zl$fWX|f&br)cgq*vcZS5aVZ^wIz{9wb9LRx=T z+ga*SBNCzDT1jsEcdn!H)|$m@sG0DuPjO9-hCa+gekM6jKv3IaHvO(T|EjInIE9|c zjkuLKRNg4Kg^t59ren3(IkPl!9T`M*ivJO6IlOr_cBnmfhLWCt-J$?_zahLhw8P3c$$Kb&8M6=rI|vH78TSlNzX`W2EB zQ;D4^jbg#>ff{H~A13b*>(5_hap+O2k(9Wduy}Yf{g%|hNE(-n>t~Vtq!u!+NDPzL z2C|m-@SLV@OjSb%4s64{?6y+KQS z6yi?EI7VaPMU2M-)zPXX=|vb`W)uJyb7l&N!pZ@7ouKV9yV>u_v=~}PVI!{?-Xsq! zJY^jxAJT(2NnvnNFW;K9M%Q^TC6g-gwL!}nnj~qVeYgou>?p@kkq$S#(D<&1lU|5u zFO(cj6rWO^4Qmo01d^U`_8uWkyNDYbTK_ zA`?zUlTsO%?t@t)DuoIej|!JKawmXM#YyH{KSfagk3-rwRtTF^M-1;W@(KyGqN0x2 zs*91ivinD>xAF1e?0NDc)d=}zb3|+oijxy}2YF;3F%^5DD$-Og8MqmFs*pe@_EO*UMOOh7M4s5o81bZ>j|6qAd0}PJ?>rA|^ ztU+se?(m~0QGGMj-KEu*4tv1f(!_3hYNXo%75iNYNI6HHZItZNUp~Z#VOrwoy34h5 zkI~c7_G|tAi)LI^p$n=49crX)Vin0UrEiighF6~ZR zwjAaqq%2r}9{m5$5L~ABV`YdW$&<@U&XbQ4{OFQC66P?p_7O5zC+_=id~&TU;c;*9 zsC!C2#uOH6E%@GE0obi7pm3iGS~7Mbr5iM7Eu0E?1!`S=1#O42w zy*H0)`pW?NABA_gZvV|>)VG9r-2_a<9`+Ea+oX(k$St>FB1DaGXw87Lm8S2Jy|g9KK_qswR7lIU6^2x7Rck<$%kidk zEZN60Q^Gb_6t)Rd8(0>k^0q8KraJXv)uX;O2(`AJ>Pp6ooC5^BRZS~y;^VXfJku?% z{aM=HSKQ^yG=(^o#ecQqq90M};qTi*i-5|AP-W3t)g1o_b>}5%H;Lt8bn!;tT3kp{!|?|40V~u2rc%0dX5LLk(|&9nn~WJJfs!dMamO)$bhXv zxP(d;pMDPZ0GQ#{H%swX4WPZv()IG-AYY-2(7`6SRJg?%hP-GOfX<)4qcCL z^2w;mX?++aIH~qBIq+P5SNvMA#~!tdSV@7I?P4q!@z>jZB=~Jd^4o)sUXMf7#fn2+ z)}D}{nu(pgFV2z5hy&nO9qZ|eW0$ER4)7l>E4xWIUy;nAkv9IS`3y30YbD>Hm$K;}H`}YW|Tbd9TfqdkT1rb0mM?rb3TYVBavBK5e3z z*%*ufafQj|S(}Oj$;C=>3^;+zo};hhq0*=TX9|jcCyv1tiLP-YcxTI`w8y~A*LRk0 zKOlE^PVN0!=+*C{96W87?R*9}>sl{(Az|@K9ADw;^4LyeMJ^UxAV$zdq>UFoBc!vm zFWh9Du!gU%o3p9BUTaIRdP1g_2dhko5zhERc1O>O!2d;|XD&|8pbh$`=7%z>{K@Sh zV?DDRh(|Qm!Ko?WM&;2Do~)`|V9JH6JIk%eMdD5p`o=oRh&=|TmY8jK8Y#QLq-=WP zTOgG{V{C+--5|G6R4w5uE3P4<4)Gc!G9-b`=Z00tgisf61~<~_H&_9@S1!CY!6 z*BdX_Ygtk3svubFqUARy2rN#s?TBiK63iok&`N=8&UM6o_aRXQuX}nDEF-uePie9 zu;FE;j~|S7Y7p`^ERz^^r0x`AE1?@3vl@reEH*b_e%tf9!D3Na-CMil=RtdT2*WsuEI5y4te154NPWqr#okro{W3h8jb!ynhYrrDvI- zx9!GJ3{W*AJv^Z~-*iyyq4Z&Su zod6Wo9Xj${v_5On;DtCb!pgs`@WH6MjLVjAB&M~Iz+=nhDNTuDSFTz!@_nkI6*Lfe zQ2JBKkN_I+k*NtM6i7w0cR^swiPvOgxHjID5Om_i{-fek#K%GRlySbtnd}-eZn%bA za^g;^nf-~n7^<@Sw42H#NY3a3al5=X6#_}6D6!URkh52iLmR$oNT3D+k1taCjp35_ z)~GY~T2Lj;Y2Xx^sIR#apiWL=YB7OtZK9Tt`06@MiT`eQEf#vHI(}7Xqn~a9&^7OV z-q-H#gYEuSh+uxCD|lFefnuO5wgQg8FmjAy9q~cGH&9#0TMm@-hNNqpAFjb=9KiAA z8jL&Z8php`$E;+^C1=O$cM@^(&1m8M)|J%ZVj5l!xop2wuIMu2YMNlwv1??GtOn^k z3Oo#5Mps)AL(smAS-aqdWc$jf){Z(z{lqFEgYKjp$(L!{XCak5nlN(A0hN$l@T@lJ&?TK&D2F=g(QrM;g-Y^su>cjGeLXB3L&c6IFBkB*m2Vct>(SM zhLmlyJaCG0~?^;7vtr`GB)Vf(}P$UF{)d(LkAL~ zp`)RU-*3VM7k6`f$ha{>HwvRKGHeTzQ;~sTV_3~e4vY))N_saU@tw&qnl|?= z*BQ?zk)36WxFyiG7~ziML=L9igHYs@+WSPN)@BLNY1s*}gT6Q8qyAh61_2hTu$=)_L0(H)d!%omuzeN8M!A4<8$YL1RP=;Khv+Z;n(${x);8r65VWBwDe z;PKM?=zn9;fn4G;AZ@OHzWN^#T72u{{NFg58`tzbgCx*q74rU0JALt1-s&sf;g=qe zwtQ#K0?p-fpzEf8u&i0O$U}{QC>NoMy*;4Jp&xGR_)-092Gf7_P39l0-LE%p`>#!{ ze}Vkm-`&&78+4!`|9?hs{#WaEX=U#U{nA#y;z@pZBF~Z<3TDfHO^$tHeK98`)k)Hs z@9o~TVaXUutqj@UQ~NG4r|b3u>c1{%%spsgpjX(9dGn>u`!dafc4OIt;IZz&=jt`) z@~9>JE&owl@bAvo!HbSF^o1tym*~j-y@m1O%9vC7g4Xz}mE-mDptsB%R}iH+;ZPt8 z0fuJ4LBHR&N>eA`e^dfqFOT$}9s|}tkMxh|f$6Wm`KQzh^vUA<`TUOF zxsHFD*fs*?OU69H{d!13t800Fu`BEvcIIVW>=~)C^>PS))Oak@Coj7aw&1&tb?@0- zo52fN4DYS`ct%Ug@4-Brz zdlE{!f^PBeUt;s`3o&FV&X;U8Q}&dr(d3|OsOEG zdF2LZG$~gPpW0*8s(x4Z_FKMl+7MvEjAGxt>&d(We}68O?k1m>b~r+^w&-k(ZN{qh z)Si{{!*chX?Cupf!@n&8Q*r=%<^SbQ$CuXtza(~d?PgYIOkmV?(~|2mciqXR@UI43 zDmKD1W~C*3SMp%=(iumef!3eWbDnWsofD#BZ*Mw!>U-DJ;`0k_(!zTNKl34m@6XJ7 z9KX9WY1YPFoABazH$%(PFnnm&lhcL%xSs9mFBgwW2kRnPxsRlEmty^@nkVnumkFLb zZrmT+7hT>bXib)s*Hfj}m_4|VgZqyn!FTZ0?4eQpeH}|)k_DxQc5}DK>W$-t>7IxW`5;JN$rjN7WBz4!n0{)ue{|e0v0ACbxZ!kGC%>Sr}zoiT}6kuvM=pReGSN#nfgH+xtGaKqy0PQ$EH_zpm zvoea2l%ItVuviytP-e zkWw9pO{jXE$b;_;yG9o+_~9bBCdM>BM!d7L=Sz?1MCbJfR@(Sou*&QAbQ#>fd3RC) zHPtO=&4AsgqsPU)OF-9{!_3~mOw^);;+aG%>Fxo?^YhcE-(C_aw*EC7M+lHR~~j4=oJn=K6Z5IR(rF9L$hUZP}NR1v4OpH^zzuY zAE~LKy@Qj?rXO-E6|}S|ds}&ML9%&CY<7j|jsvVKO=c(K?pK=Drp(P-cg$##u6?@0 zU|G*AI9Tc6$kA9gbc;D++qoKVZzT_&NXdCNncsf9ow$a=l~lKzl&Y1^Vvn6g%D#d6 z5)&l;2?0DfTFDVl#ze=FPAh<*$d$Yc6bD7|&ki!v#n7iPP24bw+ed zn?G{e4?$0WeoU^~&c1i~m^taZpFqgJzTBvG@AFfz0vje+| z=O7L>q~Ti9uRmB7gm+H#4QTZ13r(H-XiMAKboA%7t=pNKmWM6Yx(wtthJLzcv(eY^ zk;a`f_RM<(>{Y8W-^k6cBKz4)X3E@<=)2OXcbi(bsXaM$-u@C>63C3KYI5_oXrpxv zq{}m+9xL++__D_#;kOX1$QKW&=_Z+j39ZWa>6mG~S5oMEK)g4me0N%)L9}r7#U4!3 zN>nblZ^z(XA|m6^o_)<5*3xuFbD9@`U*DwX`#XGbtTDeo_MK>1w4ad>we~=!jacRx2e8j~J@@{t?TQXuS$)^fvE+F(*>Cs2 z7r~1YB6^=)uJA-Yejv{akoi77uBB1VQ&YM`v#QqU3M^^(pY)BR}UKpA#*7SVo;T zt^Efc-1wlv??~+)K);(^(#&Np+cW3Jqsw(L-G+a1{n?_2y`uZ9OXufH1B(xW|GM;y z>59G44(Mw>5iKEKvMhz@6ODc zo44v1aB}jbD6@p(^FHSmr#k8)VQ-7Q{V_t{6W=d>v(~t$HghmJIUSoax^8#hxEgV$*&0a@R{c@8pH_fGb0kUK15BEZTwx-uuF37zR zpHpGlI=a*ZX37-nO}5v<_xGEB7+TPn|B0L5Ia*xQa;e2Pm+Ier z73&l>8zk+9s$0J)&<>Vw_da3sB0-*Ko@h$$*v;)&hYRV-GY^ws!hIh-9D5lAg1`V% zc0t#@bonWe?VIBo^c9ln7#cpw5*~SrIbnf8c*&rM1TvNr3Cmo;^8uq`*IiwPN8D%Z zv3N9nlCFKd`50%UZvj~8LZ_%I5CmVcy8Emr%SIz2f#A1uGQa(@M0pQO7}*nK=ugn3 z$}{fy;!lS4`^8XPisw(}MAw0HDEAqT8yhEMB4_H|^fUQ7wQl;pZUy{O5bxTU3~^6L zx2wIJCuQxc^DfMHH?H*&*3New#P$9L$>gNKih`M-%u5BKpkz^@E(n&N+Waq^&8KV7w+bDXSZH6rR6tV3?UHN<5nF>ui2nxXe`b$iP zw->GtVQjmxsQA{3@u>g7L$szl)Dd{myW7mbcbJTs^1M|8HYVAlKw)6r!bJZlwb)|d4miveDpE}F3k>Fu8ryQAei-HPeESY3B?rO+65c?uk zZKsV&61&LvLS8Z0iPU34Pynt%H2p35e%#);$yxTqwO*=;@d&<;4z_S9I?;NmSOJIU z?A?p)D*yrEqnP0K6HVLIPsZDQ3Vx>WQyfbsSyH!krf_{h0W~sQ&H!CY6Uob#utU=6 z>_u6VyyT7RH^!nt$rr4&k7ZdG2#709cXW<4#S`QV5C~7|x4-VD9ude&M+yvJG=hiP zYiEv2aq(yl-P_9V(qvA0R_9*nOzDb%(_iMp&5z3g?v!*MRGeHE3UMIfY@X5Hot;eZ$IdC z&H=7sgsAxf#rM3`-7~uK_qYR9^eR`-vUl>nJ!XL;YH95!>}_*(k-q=#wnD;4QHn?K z^5sJpz;~ErEurIC$vyL=vtxFFHb7ASJ@;mpT%V`>arjEpBrkbWN2AMhC10@8wsD*jAPDX< z{NjXSU^4>82f^>8e*5ah1cemqAK88?5lOSwW_|(UUB4(6FDovmaxy2n#%Hz|A3yqo zNxVx^jZ95P@YSXVK)b2lj9UGV1>}GD9#^A< zgCzk9aU8`()6&)um+h>`Z1SeXE8s(5noPgW$$vRm{CDFZs{o>A*1|x1AQ#2KE|Os8 z>(d3eEHPrgY~&He`SAm+Bk;t*lrg?PYs~*)C`RpNeBinAuC!0!h+_PwoWs|SDTkfF zg|M^gwE6P1XursmgQ*T5nF7fmO~&dgOS3 zd2Ue079^u$grKfJxV~Tx80htL-GzMVoHrk_0w@`D-nIP`drRBMgU_-Sj!H0=L~g4B zE+dM*R9jI$pX1RnN=0bOF*Iof4XTF?Is03z&lh%?5(GX(5ed@1ZYN~RlS22D^0yM@ zbqM(|v`+Ct2Cp($ppLV`_ck^sc>zYDnSVat0+VIRkvVWV>otSTaWq+X5~`32J(?Bc zF=&f_ymkinlp~m`*N2&z?+TtJavsPMT!mn);4zr1wkz9@25E6Sq@QkvhFU!HzgPhi zQ|`PQrJ+qWgd>VJGQKmd#sg6hE;LYeL1T+^BRcPJ8#&bH5RDN&q?mwV4MM2N2lQ%M<;cp6l8(2ZH*Fv!r}{J zgv(QRt14o+Bgr&PF`Q8}SW#H2$P@;W9HkX7JZ>n1up20r=wZC_I}#V3Ca8I)Ky)RS zn$Ck`k)z$D_!1_>9fQsma%m9Ws)N{C6m~a(SrdVgk#bsv}TzEOgG_B;%86E zG^kHt`B;-sGG=GVEsWxl(2?D8Ll5l;NtU8{5=qC*5f=CN8Mq>4Png`Xgb!Ky5$Y#A znFXG$iqn>t88V;-wu7epH2SgZibGis-PM6pK*T&QCx^^~##ooUF^QT2AEZi~Mp23I z9z=|81vDL1NJ+8G3ePrh9geU|mmr)PZ03RS!bzMp;MR*sDn!KV{;Fn6B9rNdQA`JS zS?OG=G8Z356INze`KYdWWOGh36*KvH8XlY-K@z5_`>+nf*v^Iw_aKcN>yaAS+r3eU z3%*knJV8?6a)H8GoCn~6}5STnQ^OqIxJX8z-=?|_-Q zP~dXtk2cc0+dxh1KbJ|~W;Se%xkde{c;ZNAlkW3-2(?I+0uDPm!f37<8!91Gg?amm zL;CbcqI6u!s_#j04|4P}eDrcfg7BAtmr0 zwCyFt{v7hQJx)}i=miuphS0`Y70GNh-K0yV>Q*zt$zy`iOc+rmpgoc{x~9t84nlIK zPX?L2UgJSl_8Gvoltq4*m@A|U)dOT=XC?)&gl8}qN<}4-(3y#Vo_P_+uEc38L(LqI z${F`_4o!ZW7Eazx9STCMBxaCHB_*bmoDNNSRk0_W4VB?oBPax6j5yN7Um{F_Q}`Ui zFHE=!u`Ja|Q){Lj&8LkHNHz_e`D(43jHVKB+3O{>D1u6ZSb6b?_!-Ys!-A0sI?n}9 z*YfT5iRD@rQH#;`46aMPM$^3VmU%zob6CUy3iYJ2HQS1yIs2gtOuC9O5?cbPld|oZ zYKApebzcwGK0Zc;8F}aod+(V(AV{w`~Z+C>M35^r4!7?;zxKPoCDPW{1)qEGV`tr|( zw0;|KY`8e_L5Cq1Ax$0YfDmT`*O4l(h+ELYIqW2}ip-^Bjzlar_`jZ@#6-v$MH0*s zca9@k&d^vniNI|iN8|HzO4L7wS__{+O_5vRIDVrUL3oQF)0?6q8=nrG6DKUuU|gi9 zy?h`g)B)LGoFOYmsxa0A5jBR?(v6^yp(}AjVI#0+!yH!1Iw%VK5t`r}7Xjj9BbgQP(K0Q9&KL}1W!UcWBC66_{estC%G`P}B@ABaJWqNphSKs{~`kUS^1MG;Lv4U^H z1@$&XLE*5VS6C{40k;R}(^;WGN@(yGnw=$LbQqzj2SFxP>Pi`Um@r%-qtHsilu1=C zVzos|MVH|)ejv^rQ6lXUIy*jz(~fb{tO*CY>n_kP>b84=es1^wrIYHd=R^Xn`4E0& zFol%N9Vve=DS5b6rZpWR@>Skr>@aPN+w#=M{TqoVz%&DI>+iMvMi{pNU??=TdL4HShAHcE0{PQ z5z&3v{1b$Gsj^cVQ`~WAt1JaV zoEu$qgdloU5=n^XQrjgm|SNXaxY+jXNPR*AGpylNbh2V-UH**QuC(gO#p=Hm? z@W3mW?wmZ8q6l%JN=8$}A&9`mL8YqWPwoE_vGe;r3Jfgda*AF#n7{aTf^ISvb?kNd zaF0$~;9;mNozjK{BUNILH9svBq&27g@!~xk$T1+b(s*5*P*ayL!6+T!HW(Ojn5PRJ zu*%#=2u0&S7FRh-a`-dw5f`Wi44#XyCq0(YW{CoAi+K50rAn8igrl2RZM6`U4I|F~ z_zSJ{8&hr)FMftTB`g0L`O&xcFt~Abh8_kft5KHznzk3@8>RU;Hq#%JhTbGSuv|k~ z71UI;+!7%Y(nS44N4P)VhO2DD5;O)5Lqm67Sa1tR7)adfID!h!3?zZ=%S;%x ze_EaBe$pwL9Z53BEE`7JSM2(Vn=E-vx$mkJ_NF^gAO!BI;2q3B74z7nrZ>!@Q%6*YC)$M z?~2G*(D~Y$@#`K#Tk(>Amf2Az)a*Chp2*egvqy(2_gzrQI$carP^nt zu9KR^IcYP~0+`GaMdk)@X+I~fOzX`F^*XvPHW~yACN!BDM}38eVZ|UNH?gcS zx!oO3yxyfH{!~XJyqyPkVCSp5(*i)_I$?xS?M5y&h??9>|9Us@E!sbV^Z36D!!+L0nNGyL?rdA`RUIU&;q~}6A3sDdRUVB@3Oe7 zaE9yk?&SV2azK9~UnYs-I7O#ORriC*@#@0l+x?_7hi>J%L70j;*K4iS*4*H1D@Pk9a zqLzJ)T(N5iZ^*>+3;0;*dK_Hs5tWZ?Y zvov3_$5KaQDISQ{@t3{^vtvMrTJx?S;4hWeSQhgs6{B2vOTk2vK9+2vMK< z6)49_o9*W8t;6Y^T$qt_Y=SHB?KoU)XCV+D1MNSZ9+XsqyyqK@m-jGqGEy6tC?gi% zCk}jNJfXjh`X}bne!P#4w$(6>Q*gght7EDq>6mI`pr32j8*%x<332(O&EXFw_V4z63+u-ik^oEW&j)}MjFcI>; z#>=yG{ZL1K+q^%sxv)vc4H_qfz5evYxMX^fPBPteF4cbJ8}wn;1o|*Rhdw+y0e&?3 zgYgFK@pryo)WZXr{4aE%1H10VoyHS9q@&{mw1Hg*&c(SKJL*)i zrjD839kYCAzK@J4q{?fuReY(3=C|OL2h?mGcIN0fdottOULAy^RtMq0g5ltEZ&+PE z6RfU>I#$=W6Lh}gf0Ito`LY0=Z!6}#3EU_>uPid7qr5#Kt(Jj`d=H=}`|p|S7#uUf zP^wThU21d^FgQMhVV5^fpt|yJ15{W1I9{i40@cNtH-YMU?^ie?%09=Mx=dH!FA@pbdQsQdMO_vqsoUKpXnJbTD_@1ah?QJV1`_8b^+Hyg`nlCXl0_ z{K{UzIqwCCw%IyFn_0-fy*E(ChvRgLFq_5~clFLj6ttd(* zOyT;INklKi%iqfFekf=kM^TP5IgXz{q+{zcI&^GZL*N|zN)~RKAPd*%$ik~95KD&J zClE`80I}3?()A5+W_f!urrNeN$gz45m*A>Ha^w{AKxX}K04zL8MQ)>g=?&1jqP(gN zwi94s8vqvGI{_B1nE(ru-hhSo{YqGpeqXVjxl@N(^?RO~HGhIPQ$LQSYXVq0D-!tC zKnX1MKBxy!BesJ#)X6Oo_;IGgzAlOZA+anp^Pl4CNwLz)FDVC~q7Vq0oZkc8xbXAc~zOv5#A(5jPcqfZ4A zQ}Oz=X;bm~RJ4kW0mZDL!w;W$Q%vPO0q4+dE~q5+;k1CmMvF|P8I`}ijqca?I?hRY&% zP1XnxOMwEG)&{&$({+JEy#qtEPy!YouHCBn()u@ek87d+Q#g{1H|#*yAbr zlPhrnW*+im;t)`~1Uv-f;t>uhrVvv1mBCE~?4w71? z?bCH5`jAr*Drpn2YWYYcTRB=vcn!)S6`nd7-N_f$%Q#LY#R`^)1OoesEMzA~Py_W* zsrM&!G(SYK#LHB1x?36qx8Ns`f9(YEtUyGHgOM9eEkGV`-7zBo+WaSMu)aGkAb&-N z!L*|T{V_=YMnqVT)+3P*MMOdwHIp}gHC6bVs;^I*HdSArs;>)*{>S=ydnh#wQV(CC zbrci*p+?i+;36l7&%15_!?aZMBo{DDtqdv|=fqgyPKbxl2w%1@5d^p3C(p?m*~t)& zL}iT(cm^Isg%-rP0>kxy8Hr|$yGlj=k7d1kCT)aQrls6kK?&Qqe>}V!R3~Q@LJY-_ zv{m6SS&Q>jRj00&F?<2kGDze49T=_rHKXSmMXP1O6aNVjGdW`U`nya^+?Ygif#{D1 z4-BIkS@JKqsQUi0pfQnY>7rGmnc$H_9H_=(EIC?9nrzr<5;rCua#O!z#esO1T3kd> zj49J7VG>L*K1vI!w7{zAO16RqkgEgji*sCqzM6dfi>))cSjpf(FB0&MgL8!AS;%u( z3Jgk9Df1?EG+#)I8f6O+{@|7d!7cb{2jb;95YK{U6c;LPJK{LV<4s8C+M_0w;{x(m zrnFLdLso_rA<`3Sj8`H2QlYLM4cTrI=dY$3b^pI_)O~gRlG(IrKTP}X>#uf9HSNw% zpMHC)H@=S<=0ACQ;{%zBW{so-rVSBjBQ;)#Nm$G3yvudQiei{BjmC1x@Bc{#cu7BVPm!-AU09ocIKUg`Rf!7U8}U5<9Z6Wr1uwgrtT z3i-%)nkVDKMg>1p__e=9-cEvC*3^(K0blkwB>WbF6*)Czn;W3fq)ZLjP7T=-o=?rP z|Nbod)R67eknPlv?I?deY;rUyObyvi4cSgEb&{ze+o>VjsUh2`A=@cYtSM2fDN!u> z!sIDYtl!t3n;Np68nT@lvLy>j^*z5oHDo(AWb2ykIvKlhr-p2&hHR&XY^R27r_^IR4wI z_h)pBr5381wr~ZG-#01IKkJ{0NNIEtY4YKk`re~sVgbTNFA-aRqAi&O=wYw)k%#gZ z=t;f&Fj{D_K<~gu3Pd;uDq-Zg%OLY7Ve9<5=B=A!l(nfk!`L?L!O*f5S*f{-`p>u4 zuU-Ai>V|}knjd$XuG&J|5)b=q`sSz0!n>1qt;pP#`R>jgdw;B58gk_NJVyhA&L5Vp zKGpTE7eR4<^p;0MsZ4YEh)`9W+9A9kReqIB@>LZN%QPGrp;=NI^!)kV3^J>cnx9cZ zE5xIiqmrA0MxULcpn@3^R#>=9cBB@`I*R=G!(GHm3e0R5W4VaG-p;bwp>g3AcD)bx zrD(yz&u;PHYh3A=dVl1?GdHHqr(RoeU3mCe%2PtN*Mk7HH0AQ)ANG92QGc}X%*Pu( z@LW9h!6iqhuCVOSHnEd~=YhY$`3&sqqsus@-v#py)a2COK^4s)tif5|%L!eLbNwLh zd%63dVEUNx*YUF=oSX))?7uLte?IQoR+Et>$|?aW=*ml}UuC-U-Md+1Q({ggcs0_O6iVTTK^COqzKxqQWwiL^hq zw03^Swz)Xx(9j(8v7ur3)leiF@0ErB>hs;2c{Hl;ZpZv5WWnQz-P~<4Ux&M)@o5j~ zn41ode9Q3tTMO;{3LZ6SclY~^SF;e5OZx0oYHak>1;xfWQYd9tAQ(GGpwW$p2;i1QJx0|#@ zORVNoy}&A34@qZl`02x+dGHT6D*QLq&KqQ{pI%alWPZ5k{Tu18>nLDjfZeh4K-|k4 zbbEi+7Y7>4`V-zU=Dyk}-*7#lvo5)Nj$OfEbzoFN&1-Ku=JvpPu;I>#eu@@8qx$dT ze!0W(R27|WIj`Wxm7J#zt=)e^hkv;E;udoxb0KSP*c^F^%_ie(N51MeHwnGdX#dG( zzf*{~kfqYVZ_d?Edo=?Qc6j5aO?A~tXA8BpKW_I9w>f$)Al7)^{4hMdTv~IpFbw8P z3*1|#IJ#OS-NHzEFALGdN;I-T&5?&LFf$dH4_tm8+@FoUeq8SE5{Y`vXclrF?v`Ml zef|v{b1XJm_)8ge!v`zh0Uu)jQf|#pj;A$yGxo9M0>_0l)ABzpRm>iL{o9)dKbapI zQ7PE_&BbB|_A2nXqCP)lEMS@?_R%XaN^)b2o4nO|)^4O0pUx`R9ETcj5 zpT4jbMMShLqR+9fUn5_VY|&k3ck9fRqg?{W?)hnqcgdj@clXyXUy7&iXIzh3vLVw( z#P>8wPt9KHIsb1rc^Nr@z!2ggEj-qmX5 z6VjWqNtHIY<+9kb>nSUrnX>2K9F9ObW|If!sH&#esMj6)dQ%fCPnz|8l^^^+q_x?6m0b@_!yRj&bxFNctc>=Ly->@p@Fj?XQpi z@O?D7IB(&iv?D#W1d$X=yVPjpuK*ytdz-ETB z?iELF9h<(UDtboj&3CD(_}swVpS4OY@JkKXeV4gmoYJX&eQMxCC znH;97hN|c6&lK=VR;KDz!_u(C-{3Ybz6n`%2W5!jvcIa}mG*)`69N z$O7MH3HTD9&*;I}p?4(O{sk6ZF=^85GLokkjS&)pMP7;`@vHs^t#%l?aZ&2hE3NxRo`mNpS^gq z!PoZc#(3j-^VWbf!BN^9ZT4%;e$S^3;yb>$vvN z@y1U@(m{LFzqwqNGDW2G*DxarI2LW0M9bF{gsU!eW$bULZcmNsmL?L{nOH{VL7kPC zUM^c}>=U(CST>YFBXrk2J%!;!bc$X+5e38nY9fUz%XWjctsWz-4lEmSg=s`mXi!xd zi!q#OtLj}4^S+^psU=Q(#Vt8kh+A!(ysJa)5m%}mF-^sedbyRO5B57?%9JCfNUXMb z>#X^+4-F-LthbvPH+Flm8N0B!geJSK+C?t={v5dE7(?IJ#0XQ`UmZbi3k`h!`tGvV zf>spczV;##X$P*%*UT_qr~Bx;8$T;aFQj^2<-w<4!}QjzFY8g8E+|dwNpdE!*m;fG zVfoRPlVXH=;58iWBu=%kTraOFbKc5pUAZO$U)5{?b6V@PdQ~`|hW-KxdFGU%xdW`v8 z56fx}Ea{%>5F8;=RGFGOYs=#h*#15ux8NTCLRH=MbDP^^10bf20ezzZoyL_lSOs$O zx;hX0w6*2|+P5;{e>7!#3E@DUA+Y@qW$>YY{JJR&I3^$PJ^?oYzU&G0)ZLJG<6>f*R|T$IA zh*!+^_9L=-$VJo!?PhRC63g&I8R(+!+jXvlhtf_aL37?b9H~gBWD7D^AHK8ypx~aC zjW#ivK^r5X+3Ukc+_g8?$hh#4n_Qt*1)~MLbSFE0!N!UcHg6D8B{sAORU0QOaV?b( zhYm1N7`)b|gi@*u2&hs&jm|dHP<)yR%CR73smpQs%hRgi;?V{;_)S8SOwf)$s^XE?JuWd=q`g4VQ!39yXC8Vh~5_8`>!}@#8&+DvqLHwzpG+4DG+*Iakq6 z>42UWvbxcfNWLx1n5xPMF|le>4J}x7`qVuOYUlxBbDI@rWY!gInJ_jvs&D~rpXetI zJw_S6fOK{TI5&Ff&i+Azwkt45(_glLIoPje7!%`xK+>%ja05(1f&XsI(~hH9v{G)5 zU0+BH%iQ_lN(K)O+%KB4aS__o#KO`^qzsk0h`SefsB1Jd75#a{O&(W@?+(go_ff<(wim}_%doi_K?Al3XU3s-U5OC*oaImUk< z)Yj4Vu%FE}28Wg)cc&+Ce26Y1j2J^Jth5zv?4*#M_7Fz)$XekvS**_&r4mD{R_ApQ z$3JnAbcIqPCyXtja_%nUkW?*+Yw~GIrPj z$MMf_vmYU}-PV7TDK&=L6I`Fu256e{xe;wx)kNbE8p7sN4M1$CpD7RLuP;$hWXF7^ zJpo_zAmqp?1nY$O0ri&2xxoaE@_oGAz3WcGPH!s*qBVKkfoLnR!0uUl%v!~@P4=-Y z4e0i^M68NLjh3bgf-}XyL|<}4NM34)78Y~0bdGB{B^a*EYZf31Wh{iH<@^XiD+QIalZ*wqkQU3JRwC<2$*$l^h$<@lq+uExTxV+Diylwn9Xa;;sN`j!gfzJ4OI!E>oyow!fkC1HtNRgG(0sl?o6%^1mahE>#|eayC4bp;C& zx~9TcjC3NA(79LifPZvFs*Hb55{XD3miYt_OJ8_=IjnO(2A4w)9 z(@u6=0CyfS7~&MZZ>SwDkF|;0l5(`ArLBpk%D#09;f!gB7T1M3jHK zU27zT2S;n8yt(xDVWXFj1W#N~kTbsKWalCn-PTJTM&(48@JN@0K4%az-vp_FqZE)` z+A__U``z4X*{TDKeYECfEo-zs6%dzJVDlVQh zroLEW7@6<3bpN3?d6Y>}<=y-zeBYJFZmc%i%sqa?K0Wo^wtM&HRpP9p3iq~zT+Vn^DbI0Qq-Xu<216nuLViTl09atF+KIHHF z?f1&sK4O0do@IVI9*Uq>rYD;YTY=NAs3PwT>Bd`Xq*mI#9E>%?0xNDZC$1ey!*dk_ zuX0_40FtabcBW}D!YzI5`Km5A!tIbar_zA_7MjH-eLjGT(ozZjUMfZ^NEVHeoEw+{ zd9a_}qox))GLfuSHaB@C(J$jaWR;!hnE4KmPU3UJs=N~kk*+?1-dx0du!I%O3D(2r z3K|xzmY)IV6$LKA%5-n7{1%9PZxKuL%Ib|Osap0jTa}d}>g+OG<7Cz#VeB>Usey;E z|5(T4Uw}vajfNW)@cru{ez3Z>SElW%(qz6IO-h66ALQC%`4mK0-5m;E`32oL&RIV8 z@`;ZJ+Mm#YOTu%Df*Q||24U!;&L={UEOB`#9P_;MQH;<6EVrbnM5d89f6OH+RmA!8 zpMy0WW$#sWZ6W*^f{m@dWT?-M(#4BW+MAvm_cyDI`nQiFr%;Ui+mh#%G#}5q2IFjZQbj&?`q4jl~G^Fb*JwI0^rM6a7drV|9 zI6fk2ZCzyB{bq&X$~`?T={d#hG@qtDc^T7M3c?@dk(z zn`fu2{9j4@C5JE5F-z3J9!nJiJ(Z`Ug^eJY`W+U3_TvNZf?&OT8#VEh(Dzl3+@I!% zS)m&e-Z`=?LIMJK5Tbt_-?C_RujnG{(fPSy=;Fg5q#ym5`f+-Cgk(w4*$cKMtCCZD zR>_-0q`Sq8SD?V=1l}Q+V%FmD@lN;GV$lQFXxk&d1c@$Aie zJ8vG`7`@4l`{1}HuQ!No#DXR7LKEg2%hTKkv(Evs3_El$cVC{fzsQuX41nZ zpzfN5wYv&$C%wiXgsxFCTO}WH{0fJ2Hu0&$F4h9w@{0d_vvJQ({*Ad5G)cw8#IHY1 zxGut6c%f|6f`<*{Gae0?WegCh??z^2u)NYqZKzj&Uo!D>W$Cj4V+$O&rrH=fUrv)1 z&hB15Cu5!_9YR0DlkoMg-ja!MHxxzJO(@$=MZE;|mC77w-f+EP1j~H)yNyH1m3Kaa z)GIeD5#|bU?@e=3=U`m(QTnjAZ+G7NDLj4%5VGRb4PgTekb+ zCsIU2o3_o5ME_h?$;!mNy^xauA8A%AF-~zAV^U3u2wnWr*Vo9xiRu-xrkv_$5gC(& z9#IuQVb*ktkJE@g^;5J(Ii)Pv%}Jm-)Tqq;sb7uqS*o8#7x+XGO+Mw7eIDz~xn-$7$71 zVnB(*kv(FJD41cV?Nv6`H)RQ+F4C~PaIUd6hV=-tawPz3oT*67D$%jSyvTHna8}Hd zlau)S$*+e}`JLlB$ui}3$o3D_O$ll%P;M?mOhB-=Zh@g^3F`75JwZLQQ|9Y}OfjA* zAipQO3pv%3#C#;p6Nd#E)DG(Oa&=f@uOF!7Ng~W%o>%@!;Q)#Y<1_R`VrDC-dC!q= zY-qJ_z4SFzkllqL^t~QeIlb21gg|6fE4u1L-<87t1CaW}yv5N9aQuonc}~)febLMn z)GM6@^Rx764(5(@8E%?)l-liLUPaZQ_>LS92|EF~r6!s#T8OWzFE?aVkyok)jJ|Gw znHed$dXuSBJpzybfz*g!MF^|9?9)dO6p{~DP8Kip5YT~UbHq$VPDaQHi`Z+tHqEG@ zIentqdVtG#DL5GP>g#Y7nbQLxfu=ARpAz(-g;^*4$gH`8l7WdIBjwgkEk#|6%O3%XK;^4HM?IBX6w$c`l)7pTEoRKj&`ZV$ z?Qrc2j<8kty^XtP2aIXH@4Fyv8YLMz>3rPlluPgq5)$?K!LC*lt)&5ar%?< zF|wc*VqOQRFkE3uCD54_yDzXX0b?1DmS{y0Iq`H8!Mr|JNJit-loVri__Za-DL>@F zx-o#$S$*7(lfWDV{T$e|uqu@(plh4znaobgI4Bj&K2G*_h!k{Gc7*v-=F_cJ#hDc? zLOn!AzL--hzYG?*C=ydEa~w=(P^%|l%3wWD+x&3N{0zIR87XX$7V+oxh2t<*@jPD4 zvx=R_RB|k?I<)Z&cOe<`s)dmVSQ{Qg8n8CY2dr>{%M9e=47ax0{nzF4)U;WO<&T`J z!xD>Zs<$M0UYawv&IL8JF5$KvvK_vA?TKEc-7CLFz~J;4++#iylLD9#6F+P7y3s6c zt&0ib?e!Wt8;BH4BFwiI7SC0#H9tJeAFF`%@<-w$PxKiE9kU3eQ+h<46lsoBV!i`G zR7DlERm9)faf0mN+Y>e8@B5^Dp!5!+xM{HrjV0cg?4)K7U7R8o^XT!`4xA5-Fv5Iv zGsc&}p#;+Hdkn9xKQTr=0RCY9NSHoGlnHTAG1!waY957l+Wg=uh^ccP>M{Jgk{eS$ zAyC#T-OmXpqHnMpS-405(*MO^WYriW^Yc9vd9~dw@6w#wSqqpz8Z8esoo#_L^;pw@ z*ERq*87l zjCbbcnRvqBdSd#wRl$F@(Qm!ZH-|rLyEOX`fARmy)=wwZ7>{gNGIV#%RzNpOuDJ2@ zOn>FD3Zb{5vDzIxrR!m+@gA=Cw<=sse6Mp$PtozTcJ3nhHLmoS_-28*Vi@P;$ zk}0oxwIvfssN_!$O~xg8Q*OU5tc&f?yqpbvAoC~a1<(@Lu5|W#kIbZdbPBqx>?v0< zI|ffm_D1h9n9!L}HbVu?DK0pPOm~P?tEi5p4fc3#0PCl_(KUcI?|~e={U_QDAdkCu zL_!62zgvKF8(^8QQoC9~4ob*@bH!@JM<2*K`m|5#yFi^$+~j*eLjS2%M6P-yp*h^| zrIPA5G@PRD53X_^+g6B~cCvo1@1jagAugYg)((=oKT)v()%yN}5?$>B#fJZk6cuZS zC40}C-b^YhWWqX%GXe*=F0B&{R>`1g!K?AlNIB4Df#GUT{I})c(d=9y$l(Xi zk(i#IHSYIG4)2G7vKhI!=x~ENkpt1p(!N(-sB(?NNCa%plE{HU7t4^} zhHcjgd|f}4CDPieEACogB%Yq=o*r!M+qHKxnzH{3%fnj>ge=Ub22Y(tU+MXE0=Khv=V@X?yrnQo%7lGEUj z|NFJo_-so&AxD2jqBlp)GL8Vc?Y`TH0`+J~>f`$Yyf3T;{l>PuMo`-^fl;58n<%5)=Aj1_(CdDD{>ufTUqK(`iH57)OrwV7U( z?<+9|{u3Xwh(Fz3)hKqZlF{_}NhSZEioZalR6Xs=>Wm0nWOPYM-IO|d@aHo+&jFB_ zLfo$j4xtyUCwNboi_et(NP^8IETQOf{9(p-8%=;*RgxU5qT)jDh!|KG*7f``HlWp2 zw|@Mx?Tv~DhAIUQ@BhyY!oW;glEsE&ko*Z=SRB{di>d;e)o4pW^}GvjYJb#L`zmuafbx^b?;}(sDe0kpt%^WjkkGv*^ zJs(Bk3%xr^5EC4h)$)x810*L={mV4Q=EER7fi)8Q8v28yfX-n9*?LQw8mE7-XZivW zaz`fs<5~F_ksyR3zcWhJ@)Y=2$?Yfcx}*p?%@!P{uyZg?U}G{phP{zd>#8X&$#k>28IbksIbT<$>IV5n=hx^vz*#!h<};mdyY-+L2tmr7foRrF?o+hqbIi?j z+yr616&23#4z9@HTIuU(OJkB&(JDt1$vK4YzZc%gV`F)s z6QCg8tL`*Cdzxz6nU`P@Y{6Ygbh$?auMXVn1?&1e=Yi(2r-9U{H z?K#^f@|-XyUI#&`eoRm?C3h!JwS2P+@E`2CC_4{pyYDXjj%E_~N`t^m-fU zmIAQW$&cDLN5wQ2wL*R8LSvvNlWU2&xf{1aayp29vu(k?FM?M&NmzdHWvf^sHiyJL zL7%K*`!P^}0f&A!U<|R`=ABj|tns&r@Y1y3k-ivMyTto*yHfUA+P*>hG>cvLI6Ua_T_$WFRcKPf~Vf3Fn;G^-)n=Z7d)(whF;S7~W z>(#C74aBM5X;R;=8>5dA-IBEqe{Fc5n41GV*rz~U4~XMlRka;@N{1w5aUr1WB|)bJ z^!MmM^50HPPS4QoyU51gyFG-Kl;YQo_UV8eFh*wl7EgBmnm!)@T&{q4oc6ECGxVe= z<#)qqgs=QW!-3+E95qYZV!1?&7x>G4Pyhe*I5n*8njwmykU@>GM3mq&3XEj6|5__Tbk_B)FqqOURzv8C5K}-ICt>-<=i5QV zl>(4pzIs3!FxI4@4Mn{OEHW8=Yt{1WVhogFnvI80++iAb|8X?UC$EJ9Eq~WpkXe$T zk62tq*mv(+Mj<}<*)B=k5UqXezH{D0s+(=Gu`N;AipNhSTq*>+V$Cffd5(z8Is*&%nXde z_2zxEam@$XjDq7w3G-}+51R^#UxOJ$KpZ`79QYaw(C)v|MX_9%sP7~!vixi!{V!+0 z+#nix@1L&`XvXU$x^&HnKe2T8ANNJgcx>D%Ir{NGx@G3b;Y#1U}KCYxnt8E{!)gLZBcTPj%$mp^ie`DaUtpa zSFHs^g5(GX>MJyN@&fR@Kx@`Qqg{AB@w7fJ4Gi}ObKC%90H(Zr)qsfqW**D|`HTV= z4rUlDgwzX*(Gjbnl_bnnl*af8iyCKyj|PlE5CPLtx*-Q0h0i0MirkF8s*mE2gwQ04 zcAgiDpR*FVbq6tF(05IQ!}n^!XyC+1)I|_~!|eP&*poqjlPa0ly1i{2_aLeBMu>Q^ zfj~$gmPpVoDSurl@yUnKh74mGdt%h2JSI>q=~ksFx4X|?8Bi(v6Sher`2N$$y8o46 z%>hicAT5i#!aEeSOnfq?|LJdB>20@*H^))DSTzgL5~a(Ci1Le_vCDUlH_a#v{zDVW zy-7pEr$vLZ5mAvz#N^c`Kgqqv2OIoDDWM3OfmjlMmh9tHMU03eMo096`ADs)K@1#F z#-9xON56VCTh!%Gbiij$*3RkNjXaz8^qInzW3O>Xo)>SfIN#!O`f*tH=Gj@SpZ4}g z3=_@$@)x4l19Tb$N2zbjBL9eL2SweOmd9_akRqc{#neVPNi1`w4KPqST&` zjKuCm*+H2%J7fa(6i@A56=pMjf&Z}K-t48=Qy**JFD%%3Wt>F5Ao;tt?YRPpAw1dz zw=h-CYJ1A&T`oUGI@z{ObCpWtw<~F=1jQPdT)W9{ z8KHzTgu@E0tSyU!2C|^vF0oP(OmC9OQ}Y|^HTQ)o#ID$S5h-22v?Oa|-bz}b9k`<0@m!Gt)LG{xsx#%uyFJ&?rm=Qz zZT4f{Ns770yMt2@o9nwykq&G4Y!R9%Wwm+#pnFXApv-LB*%da5xjW&IE^dyjg?&Xv z`5NuS_1Oj!GS*g5etDOSHC05kJ_IB6B`iYySrz#X-Q8V5%#2tT)L+lxm*v)&4jc|* z-KaHBGtyS<$Zy*SuA;T2f-7>U;BRQXp0t|t<0iikABjZ_YvMvLrdP-(mM}W=RfYAk zp40s$@9;}TZx0x&IC1P<>usj=jn?5isHE*S3eR#MHfW1i=ELpsP47n;Z^;o4los5J zG(Rv@96riiju~(08Bs{eOQ?0n#MmU0X)m&n)+;@0A;WRJkXTH?gk$qMnv8Kx$ zcki?hQ_EI7X*PB0*!j3TLXt(M?u6F7Au0UA*6EKe`fEnr)8Lz8iq>G%BF;}3K2Szx?8V$ycvVXa481_CS!Vm+aCXE<$}=f#nUr)zN- z!90e`8jYgrf3r+!V1z{Uq4u?UPG7t!X~(Gc4cVgvzO7!9^2>U(X`r`*J@K8-BE*nN z0l!-HHA}))=Zwu%E#ivVQ%ovRK%#Q*$YK@<9PR#*o_J`GkVzJHq1A^zF2O5b)B>xx zJBI2~nNSgwd^*cbAV_%Za?3`xi~o(-YBY|R>~~v93ZT4sbCUGB=bIJOfi0+;u5o?E z_8tRQ>eA|2@WQ3U71Xrf;x~lQrJU~$80XR<aZ0g0}#2c2RZL7wqJ7T<_2gLcD%ti(M)u%#=V!dpdNXa zlad5Z)G;*U^rs#p~{VfhgyPdDJrKei;6{1+V z8PP~By1g7GBZQFDU>JXW0WRPMc#cf%$7IeuzJ#_=In||^vmh5jpO-5`1_U!VFfI*j z!m9=LzwkC+=??Xohw)i)qFDmR7zg9vsb+I97Or@`=+cEwij+5S;E`E;EuB#fmU7|) z`$;afPbhC>l8-!$Jc@mY7^+~Miku0wgksgI|uJ$G)8 z^;@Xts1v;W!GoRpo5_u-`qEUA>5Zx5{L^xd)!a7=W0QvP#xI5`X|wPt?l3LMgu8%n z;5YL|>3poRh+YfNET8oLC^<%QG_O1~$rv*|!|G^c<>GrnlUf_7HvTB|T!XT$aZfy= z@4P?C)ZrZn=YwxFzjkek`8hmGGZEX3+Q(-G(&)vr^@~GK4KGPfxZZ3#nA;O?YYbH* z?!fb_kL`RIUP4m@{$cwB%D60Z@7ZGr20EBAfBpyPwm&=HjLFUva9xKxTd%< z59n>G4YfbEd}nJ1*}Eq9FeTWG7I(7lmHm0{;g1QL3-0BotOx1It1V2;PbRyE5>u-wzr7 zDsRSPEPyrOJ|*&|%E&{yU6KZ6y+YnBEF|c_zX(*9P#9pR)uOz`+wS+Xo&-gUta1zW zkc5p_(WbQeu6FFgZ(TR#akCIW_Nwziv5MXbya>yR%!NhoV=+rzHJ#^V#i#t;kIe5f3{56|l3yM+ zjrWk z*7^ElB^5o`xHH*zWa=kdjPIqi^n$172f-9nsd^K+K=;dS5CMXRiO6Ceg!3qslQVoMf9E*Ql!wq1K7B4c!os=O~=%HXI<)ViX0vjU1 z!Ojrhgqgh->d z`3;m46-hocRRMHx=}|ypNKy_r-^+0WWA}aYa1@H!e1eCtv36(@ah&d`#24l34K4*KfJS8Z?XSSawIx-A4Lw672?8{h%lh#_;flAE8I=;yyln6_-UGrBEc{woq-UkY+?EM2tT zc(~bG-)SX=qn>p@6}^xccuuP#Y)LoZxTOI7uuH@8?l~hho=VlqRtbm=uwKrofNmj)Ey>z}|;ZAz0TF~Isopid0n*I_r z?KSeSCcHsg?Q7HSM0N+bpwmS8i-lr+ycOTU{js!+hj2lAI%qFg4_Ap?kH1GsV2D>U zy*`I?!fxmc9L3{V2`CYC$>nt+^cA2&DQRVL93_DC%QM@e7rQ>?!bL%sCTFz02>6ns zpp9Qtn*@qa2dm~$88WDd*5(%8e@lL;Bs#;L$!0+#;-VG%DJWVU1DSCATwhsg)HOSk zg$PLGwXywrtk2cN_q?OeVk^&a970x`h~ceB;a3$&bd~=hEub#FIAx3+eoBm@?D1mj z3wiKNewV-sL+jg=56!0CXJeLL1ac2a0((ab%hTbFQ0CJ*@Th{G9eLpdUulM(0gplK z)l~;N%rnftT-AKc_~4D%fFFTYKvg@1&39-*iU8)P67z8;S~T0|1S7ylS~7W-<+`^q zYb4BlbgfYfnBfCm0MG)EXFSvbEcG$)5#~aJJ_4l52!g*8_~2Ix==ZSXykBv&1Vj91 zDfgr7>Lm3~F?UyK#elZRSrkF+1O$S-39k~jLDXQ6y%3hZj1Fixi879o_Qv`r1o!S8JaKDjd%?g)b+I>heUc8_XC*OU;7sm)$^^%Lfs8MjVQ@ zHUM2B9B3CMh*M$rr+Hgb35B^i=!NNc8LPxF$eBSP7Z_qBn(Jv*%EkcE--g_!U#_hl zt;jT0UrY#ySZ&ha)jtZuI4+#CGgvQS2Vx`3|*!Mey|6Wql^7-~BZ*P?Q=RTh>1NBv?~-B+XKSfYMz0#inH23gu;(93ny4G% zS$u6QYARpNWRbqoT{QNIFxs)+5Jf{^7RV0w(_<7QEO301XX+dTa)d91gk7_bOs#qY zhgo7Mp<^waVj%d7o%TP2F$PddF3s8QZGwdPzOR>!+*$*0BzM?JG$_O01XrU#StK9A>(Z9@G(N1l5J^LP{eKLXQJY-!h>3k*v0l!8dAlrUJ%VxSAbW zByw0M)~xr5hPxotfGeP|AZ~R4pMYH3?sEk=m75Ce@`(&-eUVX6vK#)X>-f()A?aE#$#Lfrv{HqSZ5J0EP?KU%Y@zgl2&EOq;Ez*Y;(j+f4`0IKFm75)%-d9;V zmjHXa%^^Y3tl;nF8Kg2iNwss#^l5Pohtmy3Ig{2hxh4_@B>yI1g4Fve8t{?`W{-F| z0Mzy^Fjy^Npz3dILXc8&9tjq0AX0(|N3GE64hb?6<}ydtsQFDyIq7Su_)WO;PoK3c zF3u8WxPfkjdzjyTUSXq_tNLYDWy$4-Jn;5Gcok5pe+m(L7aPb+m`!|r^;$}47?9LM z`8`0*1(Ir_phX=D!C8GHiGV@eRsALPn##>(96+>2qNddbA-&+G3*jRiKlB<&tX6zg zPlD9@np^SE2e9krFf@FzTcoOO`48P(Z&9l#pw}1>=9ns3sSh6y(1d9IZ64?5)6>-Z z5OtutlO*Q+Yx^;}(1XaTlDTo3XtM(tbFlv18gXShcZp#{=OK#bW2H;k_uElh$ww)V{aPs2b|&Cu>cgK3E3>+T02*;#)&?IMtcVTKN|#6H4riPYGo z568r{_qJscBT4^+-Yk+GOwqHABRRNhiN)Uj^s8()-T4Lg#;(uI`3N)<@Uh`N@WuPo zFo@Jm)n#uF0$j82n#9OyU)c?|>(H?5+7a*=!u~efl%*qsHCqG^rj_o!jg!e8$)B&A z6w!omVFSL0RtXb+g0f4bc1v7*_*+L0%y8In97tutIEU92t2^Zk_110CxI;)B>k&JXYQ=eHoI#2`8gEo%NL<@=0jVJX4|po z`PNCMlGMY}n@`2Hr8jaC(~j|Pk?-dQEFAp^j9y;EwW>tFr?)JM-M}4*GykuvA4i8$ z+=z318SlNONzfp+Yw-%HZ+BhXBCZr)m6j}h>KAnadzgg+ec>!x`N3)viO&8$OWdTf zJ6~w4avDUd^V@54p`vzk%w()ufSz!z)SD%e32_Y%w0*%jDXSU#`HXa9s}gmuk6A$b z@|kKgfwS>y#`6_oF`#IJRLnR32i`rXW%PS6O;GCS!Jp6k2jlHNtwSEI*vnDCeo6x~ z3aX&(Wq;a|9~~W~Mljrc8{Q9sSDuKAp#*aAi+QqOE%xY`vu3Cv^64Z%>h#}|( zZcEhA%$>U%I1{893@gfa+E7t;nZhl}JW6lFxuBx~=xT?ofv$GP3vvHXpgh(r&y(4v z?_iMkLbj{(&xRLCZwcbOfCG^s!B+%v2u<>5MTyhvDbb+3Jm6Ryi7JNtNoZFI%a}M{ zL#i;kB{Gyyx~b)jwH3D5n=|ERt4_D;!z&3d$e~T+z4ZqEbX?bxo40_Iok}9v6#$wA zxLyR1t0y!EA^0P}n05;fu(3BK&Sd`b2t*aBXB9MGoS;#hWAcm`kEnb#5X5!uR(O|5 zTw395ff_5E1Fa3>sWEswdd!f*PkdTM)~6O{fw_O2(FpKi=<9|6EV;P`w22jqx}f4z zt0aFp6ty73JoXGCaSYYpF#S+Q>NN+%n?-wWUm%ZBB~J~HEwz)p$OD8aCO$J@7=n0k z1_3<>ni_yk&m`LuOr4#puB`aV-WRFoIur@t^M)Yy=k=5J22N3lEhA>tN7 z2c1GQqvSYEu|XTO*{hgDrkaRJm0@eosND3GqyfL@4x_vx-5;D^K zKh+)pOK=fEFb1q)7^gR#d0Sq#?BXLGVxX#&>qmylWi`pT7~-!_J&^iPY~nXcaX^dG z=;g9z8sdp4N+I-pJPFx@l-#_xC4d#;WS(g?>P=0Kz`%}Mi49@?2VbT zhrjL)6hHt%!1O}#j8E~zJIT6`?6VbEsa@JvLg@(t%A82e7%8$piyn;-(fesO6JDou zy}sFFaW|#Y#m#i{=8en0{cg$WeaFym+HpP_-=5rg4gIZ;dkI?W?Ai-hwFhh|)zB-` z209(xzVob@NEM^~@2GuO$Fvu}SJoS_qj^`?7-AO#;V=YwGBhS(*oeGP$f8ZQDCkX!AXS^WYx%YO6`w z?_`<8^t^WP_zi?-&b~6_{3^l`*RxPRZ~yPCt-8);b1V#HIak@1Z3T^2*pc_ll?ZEj z0k_c7C(D*6g@&50$%}hra|e-qbR)ud`Pub0*HF;V?8<}iQgWeV+NBpZ+jt>mMyI)P z_gbv`Ny$H?V6Xk+czIvbT`VE{(BYWpXWWDXRju&~S<$Z|w5*lUN6k*m;!av+VeZ+5N zsMMIrQEPVBF79zmEah|`FSQxM(e9pFw%KAp6Sf+BJu>P#eYw6y$1F4A-u)R(4~5I@ zNY#&!nzs`&2rc=6iS77fdYJ9-jW9XteI>G?9CbDGNEy-*ru`1_<5h#wImSElk9smUp$4<3F|NViV zkQN9YxI6UTk&F#1sYli6PgJM;xU8_f81satf9$Ik%TX1f{;6|yC+1ue=ZCL7CvMUL zo8*iQp%1Sg2~^B#>_=UD-T#(J_TIl;`f&;)1}8S=BZ*Vn_l^!Ls*w+uA6!(>mj%Wm zKM>}8ZsCr8Z0PlcC-z(7iBEDK;zH;LBPJ8Ts`|YeFwVk3I`voSCiMIJb#A&8uNbGx z-WvbItZVEq!H?Q27rnQ+9lxP~O57Qvr0_gA8)5KPCk1zAu2DDSO~8>SMc4M}g*V9yz8$xkYGZ+wJL z$wz}*vJbvGml;BTa-z==&ZQ>m2ScD zt;&#I;j<;-=i%20dZ({)JXun6%CFA)AozM^$@)Rbdp11EZIk26z_9qGN`&N4 z#-Tmw+|u~E0|f!KnU5P_wKmn(WyqJ6K9=CmH)&xcc9LbMlZ?OM!za31jbsUp>n!AC8}@hUZ|I0?Asu`|_y(hzvQ6NAXUzfW+gthb zPc`>sx4kvW@$13bY(u-qZ_)HD>-s5hn=S!6?&I;i$H?^k+>llrM;;`F#*@`LxQd_z;c_*zU&|RX4i@RMOw6JaAktY&`|fiXJdVXuD3$y zV;fPA>VFGjjLxpgOv+Aoo{RNTm~CeyzVS>14rp~0xcr*6@C|R-%aFAu^74V3-E}tQ zETcL{@9&#h^V_cMZg$X0mx%j~w{hMTr^@!{{KAq8^?5z7vpNO$0c*bf7_{ft@}`@= zE{CFB!ooFlf!*}6;0niJT?dX@^j^=a?mvaK+ZHrloEI%SB2ryPz!v(LU32Jpd~GK$ zL?*`F*1x-0k9YgXd7e%Xy70V@YbloO>3^QuwDNwhX34a&5@FL%xnAH}nA+h)@7E%G zo{b-lo+F zwrcrjPrPaf{rL6SMsIl}az%{DBcmlw8#`6#F`co~`s_Q$i{9jB$RcWPKv_s$8w)FD zRu9Lf>DH&*j@K7*_l-B*!a@V^A#~?RiHz^gX|%UW`aig?^VqgRY`9wQedpy=GUuB1 zy~r&i{J7?`G0+Q&f|uS^r{D0<5K-o}QS`=OWN*oJ=IgccPvZLPV;_pw=^GIKcS+>A zu0BP&&>Ods8kbwp3YG!|^`1nv%n#PjG|FamA_$VK3BJ*1vm#qeKBV%C@w4kv)7NK~az^vYxF7LhFV@gn2V(roAJ1qyj zV0yjvBWHjJ>uoA=oE*{jz|XL*k=+aMM0lAePGco2voD)Fs|ka79tghiU=klg$>Yvu zq!Y6W(?f`bSH`WJ*43umae_{C z7IX3P4uN%>tR2v9BsL_UV!}w2A$Zs2(cO#jL>^mThZ+3F3`HwPw7<3PipLVKaPsNI z(U@!GKK78V;OYK01&>}e?M(U@!G|K((?K=8(Oz_71oswzwaq->fvdJr>+bn1qq*rU zg+~yR)*e%Qs1clxIwX#h6V6sIcB_-v1$sYiEy^#j`E|fJ;5*pnoZr-n3r+5(r%vtY z;-@48qjXW~SM6vZ@Rn}^Xb@fUfpF{1z_+BbGS%fh_0?}n^}Aj@)W_f55&l+>fIVR2 z^fIS^(k`p*U6aNWblIiE?SkV6$9FPlCm*zs^tSEZ`{U)0RmlgT-$w7S?2Egn4^ZMnWLO`iZ;lk@v*@uyes|xu zaKZ-vEES5QaHN`uup=-FWuTq;f%6x~5m*8z--^0H#s3<;2Py2&8yX$jpqkh!Xux`) zdC6pR^T^`arX%CpB6v^Jow}Y#0(NjA))Y9X(8InWVer`u)``C2AQAxtV(Vi)0nr@o zwVe2CiymEp^QmbEWRe0LC$l(aYwHJ(tY*oZUZ0$ugsF0|g7GkzKk5T4mz0mm&niMK(uu86!c#xqM= zKGI~aqO^sEDHzEv9SUuHOFyqSA59E@au`YwjVeEeSdAg_`Ut{`eATWwRx~!eWcI1N zXy}nCG02%@Yl|oxskVEjlx?ub(UskmcmQ+MfnR4%v?r}C~8E+6V5=))cgfQ zi$U3Lq&vg_dNBCy0ct_Bgev6lcsHHW;5P=S)Y1H_*4IUhCQ=Zed8>uSOA<8T)KJ$* zo9L)_b8}^M(GV;HcJ|!dg|cZ8Cllk(%6SBS%7M#39w2h2qdcf@2aF%DRU$+?J)ygl z8{L`9jk}#w2_r2}S#c!hqb=bl@t03_YSXi5ILc0W^;(K;uLelbOz&zxwrQ8|vs3-p ze%kk`yYN)wegep$bu+yI4jX(FLN6ycT%_)6yMCKCa4G8UHCN}3{&@FO)$#WG*Bw5m zOeMW|ySv$j;gfm(>iNqGwS<9pjZcEMzMNmjp4)b49IpIiz0#_^1F1OoM~_lm+v6&F zg!TK!cLr`NjbYb^b;rud&CAJaC@UGv{nX1(eC>T9aK^S7fERD-1Mp#5R;f`z(eCQ^ zUrtj%bkV^a;5~?sj3-80_W92Y%rr(+ImCo_9~B~b7kN7J5rSIfP<47ZmYm}+djlAg z;NwmQHb(?Kr6g!=S}U(%C35W<-KiP~r;U}iz==@3eW`wBy0{=aqrI~e2nV}-zp`db zZvmf|LNim|j%J10YD2lT9mW_oR_0jfN)thO$Ixir5BeH-8r4C~^nCYXbnXbLEvq(&D~kRn-ky{1(PSJgz>Sd7YnAba!^KTTN5 z8Z*Cn@NR?Dby@85Z>S`*$@*?AbF!}DHyv4Fab#T?H^leIu*di{DlqNUX-~oZ978m^ ziGRg4#RVhScxv zif{DY?s1;egg{29qK3*;V&6xIa;VgKmb%kGlA!sK;(@iIcqcHv;c6|2HY*8Pi|utr zRV4)l;}eN$vA`{;uw&gIQKCh;x}f>S0Xqlb;pcVBAwTWrcjUk}0C>3vz>WS+R6^8@ zN-?tl2Jl7E1i1K1?-X~iEQ8#!cBWrhw7^|Q8MwcHBRIfasRPD_hdB<1-|85^;
4Bq+~cVKG_cL~-@9KxdA4?)!jqw}F!07d0>5$2>~?yi zn(&Nxi!(HDdMpZL4x;HmcX?6^!$F(&nmrVwyC}Ine_=4)Bd~kPyZiq<-G@op5)GIp z4{o1?=q1-3m)_Zo$uUGFZ^ks*-tT(@3E(j1XX_Mef9gb9T4kasNZGD?y{41Z%3ED$ zN48Kr!uXs{SQqphuBrX;;DI&%yVS;XKZb5&p6Eb}Rb{Uu} zkwtwL2IfUe{s+#zT(qsH>PVizysgHi{549T?YT)QAW_ZZ=*fP3Nx>peN8WvP?I$`< z@uI=T7uUB*J~4vo=d=@!U;ZxyxzgwLJyourBFD>ArH(?kjC-qJlS*6g8p7wP?p~7Q zA;GP8zW71ui_qp8hb(Z{kHUZAP6zq#j{FZ?>}8K7&>3lu!c8;CHT@ND?(g71^i8n8 zqvJ?MnfCMj^xp(-z$-e}G9DsV#ZQE3w!H`;dj79{u5?;7dA(s#jw3u3_U7hh3R?5Y zT?AUcRR|K7+rl--&_CZleV6eGseEAsH?%g8bbnVUo|6E}vxRVwGe*JYB68wwY=Fz0yJ_N;g%%H9TW9a?T^b9JI z6`z5BNw0!vTJtsTFR)66lXWP5)MQ4~*z33tXq0)u-T90q`$27I5fn^h-}Slk>ctzV zX-F_xn^9uZYk+z#$&tfbTCI(Us71SXJ%YQLM6FeyJO&sE;P1#HL2%eA-3?S;br?F~ z65yBfId5|*=L^TsWTW56dG{W7Yhlk%_RY435U&Y``2mTWseova_ay0N3Cxv9AQd)k z-isiAuWHKJPk)5%k*P+-N)a_S79PoXSiXeG-^H$u&5PD|u?_I?r#cNHMvQ+BlaFDd zdVWEe7qtYqQ9DL?(tvdi%HGg-&qW_J(7k9L6nE|9EcS7Be_GxMwpQR8 zm#94LT0}RnOEZ_7rk(GMJ}fZov!Z7P`>5(323gZ|_5W_d0NMVy#mzm}D!t@#A*S;H zxwpy6$}b_uvKfpcyrLcZP@HRb#fbu}MxVV5WiHvJo+E+>*JRcMD0bDMLoONm(RuJm zuNZHzJRl0?wLHh3;|7=K{YJY9|5AMqxqmXh4RSw{(3qpIoiZPm#lm-jzuswGLbo&L{=?Z*5 zUUK8O2ZF;Oi=r>LaU1$m3i6U_9P8!sAKfnfrQ)HxeAm6TGOMZ|BiG8DQt3zh zs|G5FaP>58^%9SuCOHZhus|BG%|yl&nci?lMM6HZEgo;=^+E=eTaV9+j*v@m3UT_x zq<}_YP08ao)-J!Ti2k&yLKv;~XuK^N1WCsliK`6JnMcp-BSBH7uBwy6zf2Y#)*x&v zh83nYdP)r$o)EFV{>IDQluD`PbsZSc^dP+h!sKqVMtsBFvvxki5W=jUbZ~j4-1)GFF5C)e7U{Jl|Bt*ov#}{7;nUzYy%DdDmn=}xPOo}_}ovS z>v{?y!u!HJPVu-|0GrN(qg)5OiDWMh!rXeovo6)M&7uPySQS zqZMBuR8^rzIWO=)1QVo)6afY{9wVqw-B+5c*4bPe(?xl@h=v9KUsoEck5-GOPG5J*J=k=`$KVMPS zP9HffWfMX>YVfK%o_mWmEHcvM)?O_h@)U7HUV~3#9r(-iFB23~5sG-eThNB@-dHXC z@@+v%@C+t7weOAKnOj?4X7?GKh1RW0ETlpgRgCk$DGxY)wc}qV8js zSh{;L5J44^6j-ch?(R@BKG2o_$mfelNe(sQ+x?HZ`l|%<{!FRPoGC`WK_LA>yuf@3 z#rLiNw}kZixu}7ji$rM7r6@-SJiy=)&C6%-pMb*F9p>e~0nAR%1hvlAk<&fyT)_}H zP+Mc6qBnK_*!WV0;F`dMay}2Fd*thzEjkR^f9p6)F9&z>=YgK`9=rD9tVYy$_=_*> zWUpPz+|ysT)Z>34gqb_n0;YVW-}NT^M0079D33OXQ8M5$^WcWMcxJXjfkoZxWrT}g zT`1iHS)YN@cujef=mc{h+!Yl2N4y`NtE_$_iP`oTn#6X!9>CUilt9MI7tupO;f!EC zcjc^&2ko=8ASHJZ(FLp%Mv7Jba%!IMoy>UN%izX ztD(bLBKY0c;K0Nwifo)d0yQj2jtC9{MJi2-(C!af2QCo%_~+ON=#FqO56fS#jf)g9 zj{(V6Ud8o@PPxq^O{dFu@yGllUUyq_<8(oRRct?&>}NI}zKNcYDY7@l`eGYMd6m_B zgPK;$L6h5u8*0ChKL0LNqID&}R4CxRV|?WyctYc39nSiY%0qC_TQV2FMnhu=^I+7O z4;E!V`G_Nu2c0~x=X!Pq$>SJYOr|8R4=A? zOnTefoSOjBlGO@mePUCFsn|JToe8J!RHcj0#_fTC}aaol? zY~@UN-p39|)X)m-3UdF75Zl+G#b|M&y@6@moNmur%a$Ph`fFKFL30|X)6y(ugbu=j zM82TpHhS>+`t$z&q`_xnTHw9`DD52gIIQarAoGyMeos;4XL7#Dyp+ahC)NHu;6Szk zxu#2cDW5)*jo%gFH42~LM{dWjX*TaG8tHw|y_G)}px3PhTCw&PR9)(VWKksSH6Zvo^6yC@kwKh$+`o`Mxz#v?a zOGe7-HzgyMDQ=~ELj)$lWPAuaNF9!aHOAwmPrgHPc;)~^GM3B(xdB^{)U;gn2Cq~I zXx^$mT`~i!?!5rYw3`7vb$Od4?M*T5XfLJN!mfHb3BT|5W^lzgXRc>LV{j=A6;j59 zhQ1R8fVL~nvHF?;r;d^vm-CYq2A?;hFW3x;#Te#k@|F|L$`+-l^|-@?YC)@u zzy!dwILz0Yo{P{;m4Rf3slg7Sk&c8w*BhIiGOC=8GY0|m zlb)Vy26#TlnfFSLG_*ZT6D%w4n9mF!XLz_Nrs3*HbKm(vhnKILHtTBf8V&dnDfgIF z=Y|3vS>t)L1%MI&n%TtkH5)~=OOCWb-ITQbt-)ST|2If3oM))P16I{gwjO=c^mXXd zW0#NjiJn~TGvL)DT;Y^cv)y@HzYWCS9Q8HXIVIoXdMBTb49E9Q?g@H$JNxxC!MhLP ze32mm+|1&u?IZ5Sel@n|hF+)QT>#yq6dt9o~v0S!SrL%_^CE(zq)+CT8YvAx!y*R9zG0-Xo( z22jMC8DM)i3!XRCriOQc;IcP(&&V}^gEa$N-wCkqdSsWs#!A+Bd|?o)ceZNV5A?MP zclnVCQxb5mWk2TY^A*Nmlk$2D0td+)%~P*It(7hmS*wYLyyMgz0m4J?eyo454-?B| z1|NH9`+JD{iQQTj$d@h=SaGLKMZ?-S2?YP4_ z@{=<+&d#)JZ?dYn(bX(>qi^*i%JXt=$3Psex3wR8#?v}X=BeCQ zF;LZ0e&ay%E7z);ww+tGKy8M5x%hN>V{L{V%IPFV(3Mi&c&TKq1Vlbnx~BI&(ZP!Y zjT|3O!>M$Nl?^8*Ljl!@6m6MuZ!A*rFb6ZJ}p9qaUW+`S>@ zgNP*_C%!rWC^yw?WY>GAVZO}TeAH>kz;OIG7ubmgy#Of#B4EE&;g5u7Q}2hQ)&{;^ z*1tS=5Me&i9PrLe)|p-Zst0&Dv-0Qf?a=3PpW`i_^RBee|Xw%E|jE zcn(6vUq8V!kf3v|Z50rA3<6XdgZI5H=Q&?EDIfRo1E+c3$L)B+KT5uZL7~uZr4xwu zmT_ZmGD%>7Xa|%Yy@nF!smw1Bl58pKmT)>?UZ)r|8hEJNKEl?{NL!cpaCMN^l9fCm zuSKRNfJPz`eyq&Dz;A4Gsvdipl1*~%QYsj(aOXaqz*H%;)O7FV-(q2t@D}GS;~$S@ zQ^$)MSIZ&B6Qz49(Sqz}kvso2_ik_>rI&sutJ_=a2GKtktl7=eBrkI0}L3>-<6G#E;M z+_%D==XXV!npXf9hIw8ccp4_^ioITtFEzy27N?vZt!WqQ7UPXYmGmp*0ZP9EE%py( z^()5yq|5nsDCAG(3Vga&>1Jcgg+Q#)8KS&H1;vY=h8=E>kzOaDMS3^GY>hy#s8xww`XeM2JjQrX>81+zS z5q#60fNTsVDAEon9QXsCZj@2F)Qjs?lGEcF$++gt#kH?X6?lSC7qOw4FDDf$;Q_*K+`2_lvZK5Gl$OK}SJ z5i&Yax({1CD8xSA?Ji?3C>sWz`oKiz)(%g1caJ5vN;sm&XjDD5t_rH2*LbB{1=<*OoCE#9 zFC$K{1op6NnIbpR-O84F`PgfozgQP5ebwcMkI>ObkH+%QFKd0=t5zAG>Mg9R&bPPT z5^piJM!o4;z}~?=MWHxj66+y#s9(>swWhyxNVmTl%njaS7{*xD>Q}s(tal>lk@H7< z69i^zN5bUGtpVAS4W`M$;k=MVdj*r{LC_G4nZx6uxXi&Z4t>MB-5b8UD*t;A7o%#q z{4V46D+RXty{?fZMm^xK?K`kHb@S^}3T{GVaUDY8z~ZFK7#;T0^H>Ucq@D~bm)4DYK3|YbT3sdPG6s&f6L6p{&DERwD;Ix$}Ia~~?;NOWYu-(gRKki=L+5Pru%S)apUDZ`8sm^WkE;FES01a=RwesAuw6FnDNVFI$;%9OZGDrDxBezdSZl1Xt8RQ6gK zdAc1S=y;3;UID~uW@6pNfgX z(ClGej?EdZ)y1A3yz)Xov>plfvFG;HFG-* zcO=(4G0704QvXIVo604{s%mfRcLLa!-aN?8|8!z^5`21NNQ(TiFy1~!u1b|^H! z$j$G6uFg4j`TK?c`u59zE%^1co7%< z?ABMXAmSQ@AHHXWC%~$V~0)+9wEnI&EQ8 z_iB@HH(r0mWy?H1IY@-h-KizkO|A1u3u&8@+4;H5|gD+osumny^?%gfl4N2}@(nBS4xC>cd>;sZ}hVU)r(~^5h zsJ5hiV#z&gNODi?!J?MCA*bv{PqC9rZ(Fiir#~+o9cIgaQEi9e)=CiyN7FJkpm`0+ zgvqMUbMbmDF^5TLTiduWQRT8w9w$LJZ#`8upBuPu-H;VFG40}jw<|%T?b^tJo`JhQ zgQGpOhVnyNX>YeU`f`)GGAgQ{I`q}mS?#Kh$vIB_lq2-)A?k?y;ZJSE>3ctL7| zGGhN>&gOC;-xoe5->171$oJ(|PI;On7fgAY*aJ@!H!q19PZQ>}#Z^;56|lJa9avm7 z3JKq$|9$txjcEFs%GN21s~li)b!E!p$`n{!6+@mT>A=$@PxcPVT&>my!`el53m?u%D9L6BV^q3y_ML|2-h`bXcP_%jk3!W7rZhwDw#I! z*-u*w8TV{gAXxDEXU0Fj3ygabqQAADGVW;r#yxwdjC<4};~vP+s2CU;wI4eKdv;d12 ztHr+(f^Ive6a8d-1I`{87g4WG85bp90memPZenrH;EPk@oVq}qle7xC z?3Fm@=(KUszVKMcxM(#nE@ChxyCm)aFy=R=7+GksvTizl^mi|{u|7;b=&4XtuoB+t&FbyXZf+n&ZXOtv zGf{6FX^K$JaN`2wBK5l813-K0ab@mO$7wS+Db{I+?&O`o&<8Se)0i@I+rAE%xvgpw zTQyCroU&^2xO68pL2c;US5{3gr_J0_|U&xV{W~-1veCstYm&~)q7ecrj`*^*6artG_Jk%JiQk5*& zKZG;YI-bzB;=x8>jy~6K!C50J*whv~!v>w!F&WZe%=OUd@Xt&U@`aE?S7TO$a?-VX z8+v3xfA4ZK&K_th`8BOp-T<|6!!Pl}Q=%+Pa0lZLFJD6O_fb0(CO*$PSY>c5r{2E# zb)F@I2qfb%M`Wjez}RS)8{To#!HKp?v2owkV1;#m9kD&m-5Y~8lm5ojKF>bSlThL0 z=!u`)?pgwD0kQ#$)|B*&v^^a%Wz5CXe%%1t)tf=P+PxbjJU}YQ#<%>-Fi0UM(U2eR z@1q5EqJ5e-lk{BXX)N|<3!Z_DytxPjVJH|~zkGBi7*V`_SQQzSq_9o$jLyiY&jv7Z zpRRBJpEA&Y&fb$C*p4q;oz)CQpExH4?W~?un2BxM5b(;ezWyB>q!{NeyDHXB+leW4 zeNj_s9(6Ss3)zX;PuYou?*(>ZYFT0{$^QI!%O%1uz;3wcz3d72N^{yyObytHB~96h?FDvX>5!GAE3lGO!}HJss$uS~!CfIL zw1tVKAG3MA<>R%JFDkB9IQ7zS{Z-l23%a`7ASQ)VJo{4O_IVn2bg2kY`Cjs2sq~$g z>*-D(vy1FJfz+UZF$N^r;3X||9pGaJbT$WY?+d??o^%#9%lNvPoICA}-+szdsk2UMji$(oEjGy5h3!t^-%S7pr~QUfDp( z1S3Vo{g;-nf(DAhOStuBIJ=G@rrV^2k@&!`&!+g221k78EjrE7I0NEPf?8HLjv{yu~{34hklLA561)p!1(vJMknj znY``jQlmh9+utD8L~{UDz^12nZWw_=!w@b)X5Sz0MSAh1P{KTj^p|+X1^QG@6Aoj) z&UWLm4Fb1ru{~&w9(MGDr9?Fp+%03qfH6rBWK6OZe`5vUO{B5w*hp+0)hFNtRRh?9 zro3B4K7*v2*8W`;X}H`No7h^F=_6p(gf^7db=L?bN?xp_!TQv7X5KB6Se41f# z5i*TO?q&Pi$xOLGdtL!9(5?V%f(#$by`~Hw%7NiSTi4PVQ*_F-3-n#DNXP|Rc_}qT z5WHpbv;DvYnq>NW=9CNc3E%>~ZpsBZ8n{3sAyaf4V2bX3w6>+mQXL9w0MrOYu6BMN(3zpjHd1Vo~}BGs{vId zZQ5Atzt7s8&7%Nvn;#no!vt*x?*ho*gKa(?w0c&<&T{I8`(mO7p2n{2RY6SD*sb0P z6ZGVT^6G20Z;jh@+(vP>8s)MVQ6ty8|D|-Qh3cOVst`{vhX{l2c1|1^-qTnKDw5Xnqdt+ zV?{(jd^;cw^Ut;ak#P-ehj&|0x?@{&)2x_@_%RnJv*1HN4*lfp1y{1p7}u&ck5QCV`xa<)bg-d*&C1YAAMy#tWH-R%X>%aTAx@pYhR7nilqm6I#5 zwPlE=$oGmFHAr^!kJrVFl}*t`5s^TAraqeV7%3+j;HyTfzr;#r^dm9sI!2v&x_X7= z-HTG^vexXtXM}ya&e_J^fqqpPsOkrRn^FHs{tH#bMCedu`cNY*m*(o7s4UW-1()oN zRXNw8i{$h_2FZ|9hOwa^Zm8pT@hvMm#JqMr=9*EV{mu!ZbUIF@#226-$f5o^>3j7y zHkJv*_t)#);;)$wvvZCf-_8V!g~On}6IwiWAjL~fc3o9IZ_E)!vaa9l3c2aFW5paM z%zuIz7NhJMQoJ4cpdET> zGCk;2KA0>C96$|sJ!>zodyH(>X_m6JzW6bva(R*@n=wI|m}H_;!KGvq`Dy-b;O|&4 zh3{cOqAHzeI}`@2U%X7?D%fHN(?8}g)n3Wa8-7x1VmlyfL5s!^23|Ih%bmK$9{>2k z#PdfITA5<)(0pFWs8i`{pO;S?SZ8*ErfhyafD#Z$hT~;%Od}3e9C!w-$@0*{+9hN?Q*ycEL_?DgE2o`495ZTO5yz{AZ0JSzYKoo zXYu)BPsZD`!2nA;au;w)z56aK`z|n<$G|+Vicrf5;}2xqGiHlmKS{$5wx^85P*FaJ zVX%Vc=v~~V<^yel^q7beQFodOb8@7oshH~Xz3m~Z2>q6|a~Sn~bAv}3$0h6-vIo*) zO@7B;vtSkxJJ?MdLrUVUF|$ zOVwdO>V@Hr#PTREeWTWs84Chi3fIr&Ep$dXiY6lTw;zDR1j)e>lc$)^@{x+7Y6g=x zj_u>R#}4Dy;8%M+bN+JH$J0@{1#QoL(H2FA-*dm0VTd`(eW8n?TbTcYzV!Vf!r>~z;%6LTCp!cP^QJe6c-s@5Ft_o5{>{@5rMK31Cn-5qThH=O)6E;exe0PAEo#h z&0*=i2Ts!}#u^);`vNP*+wq}N_##h1g}sx=jhRCCz>qxM{Z z^%8m|18Gk{V)pQAn64!*H$i;%TJ*fD{;JIsVvh>!1&topR39Rm*By-r`1*Gq1s3OF z$ze_o^;wZMjqjh@6-DKB>Waur!Nb1s2>CJNlgX?wX2v9iXz0s5$`&yP)ds91=I{|6 zZJsbblbkEMEJA~XEnY;}7Pm?6%zqoVIa9*|%vDrZBY=U&LxA?t7?OnNJdW~nS$K&s z(VcN`kaarA{_bRdr03Ar=W0L>iy0KCAc-}Aj7pp170NkegtEo3tFP7>JEmWz?w zw>_C1=m3GtLNys{oT;Dty&Rs^dpK*AmjU;-E|AEv@=@gz0YW}C+su}0*j*KPcb zFq(4K?nKM*gJ&B1(R~(@EZFMf2q9+#pgsluF6!9biTU^D^yWP!YZ+&=OK@$)qYNl$ zjUsWkf03t@!YhmU7a&6pLjU9lsl9T=8MrZv4 zoN;JTC`GEW2kTxDIHgT`zV)xsZ&9AZ{Gi01tkUa=Ksj&+VI8dJQspo{AFENYng&Dp zwq(NH<#qAy3M%2}Zp;pai<>?l+tL5MO-q|SXp!uJpDdqTT>|bAQ8*L>L;3Vs*&Ui3 zNj4AWMgIHYNLNS3sJs7>zH95FW$0Z9O}$0D2k}-V4)Fua=djkvs|JY^Qb{lg4hqyE z2p&Krj6XP&Nvvfz|cQ0o}AEq+Vy5Do5_)Ir^gGD+UV!Fv}ipOaXpaXb) zy)3CXYpZyJz{%3_oC(#yBU)WwNLn~7nOg|zo87elJ*7gA{ZJbfCOVRl?eC`;T*M}( zZTL_XQ>bCAg&EK6Va4zOrBs}pf9#Sh081iZitx|sN@#TD24mq-lIm2kI zquWH7X@5rtR3=m%_28$74=qIiSt!9#1eKe6Fo0G%a>s%zeCf>B+=-8Xn;Y{0OL`*A zsr>{SfKeGle@9lMHGYNcPps2tQ?eET8Y;i&({V9Dvpk*P4N;5-gzH@^L1Qm6`KRdT#D@d4mMa=-O9!hI+o_#>^c}!j1zQ_m9LQdf z>SNgw1&+|)&?$avn&OXY93=>=>mrd|+7G@BliIK=N_%dx`$Nz%skj!8_qK0&noNs| z`e0M$|6d?!tI;%@I({Q`r6M?kHa9Ty;YLNUVpygv2Im;!)ANg`=!2(6{=Y~;*=htB zsl9FifKJ~KR%C%ZowfpY@Y;IUjm?MVuw3_U^BwKO9yJK)DX-_E*V-NeDcc9ymQ&Qq zw?{i(Liffqf#~BVOsFyCWBbe~JG9@;<*q`)##OH<-#7oDX=Ur$qV4aZ1W{nJ;91?( z2dgg5gL~6?Rtw8tk{luxb-hV*HnE9G?$w?)KscOrd@E5Qb__bI|@^ym%9&3I1M~a_-}) z;J;OYs;|{73OD||%K!6?E9b>m8!U}u$`(cf(1jt*W>u?wuz};&-R?PPY*;)pc^0rU z0nP$`kpD-64mbaRSg;2BjSKFMS1aBD!#x}KH_t6grCS>`Jq;Ey8Rs)fYx1l=c<(R& zKj0%#lTDIN0N#bTu>U&p<9x^-@Iwdr5%D3&p#fIbU+?&?TAZ5{HRc*(^*`L|7IeWg zvnX1F*1Y*2I z#k2=J|DNWHAEGem{3C$j&WndlJimlVw$$uYRJ`a+WEV77z^SeZiH^E(uc2E0I z9rVwJT+YfVi5^se4{f$wMO*mbJ{UTk+Y}x-)%Dq1+HWK51&#`2;KZr7Kqy3Sho z57%3&PXxSC_a9e>$V=~nX73jMCudH8RXrc@cL^62*9@umu+g7j67@~=!^|w+vn3H8 zH*w-GRwCX6L48_9i%zcqr@z>9Xt3!##7nXb_8&9`;-i3NL*ey{_`Y@GS|5y(nU9I9 zmVa99hqxvz$g@TrIeNFlo5IAEvG))D=!IN|<9>?KM>x$2&!HT`Wt%)wD!SqXQi<)4Q9B}`QA zKtfv&y&eqRz!6Avi&2r)J&0Um{62#89y%|Up&-pvbcFnqt#5NjF}+E=8v_>^%aua&pAw%-zW!T`AaMjs$9$P=`qMVa>P?5 ziID(&M&aE`0TSd-Pkl@10o)fWdN7xSEB4E-q^GAbi!sKwzwLN$A(#jaq!lw_;S8g{UAO6Ca8(^nz6zN~`IDPci2|L*u3ij83-jiGjV$_WgaO z#R&O~)k|hiD-!8>A<_2oOguBxzvrdbtg;T9nW!G%YX0}*3R{}X3De}r!>#vFlutUaGD4wNV2MxCciLG`*2GIo zvaT;bvYM!I2O{x5ZX#6+_A5^-djysrAhbMvOp6vV-Dwx4j}BV%p|KS}ER;X54mu5a zaY%yq(~nVo5Z{+k`wAPWA>z0$E1+AA0e*)rj4;ICG-P=0ZVZKQfTp)=)gWADZs+oa zzIew4AGk5s7#6D1uzzd#_gY-5C4ihb9F*?BvOtK z7uJEZGEVyQ{O3F9iz9 z?NA}6;pqdg7Vi8;z+3&{Z34ur0_5*>U(U)|vws-IhR5?fP%8qg%Ii_O!t9qveR`gMP)0R9@FVVGDE!-^*KM!jAE9B zne0yxoO^X4{!WNM93%Xl{B|KUy?Su8$X|UFYOREJlyRaRkFMAdQHoJ``cp7elLR9E zCAsR@Cr-tme%nEnW(wVkb%GhSsYI`?q-_$$E8+6CvxiUR=OBDm93WUud|u@)0k04p z-v|0A|Ev&0Ix_n_D=K~ul@dHox3_D}9c+0>~5?IQ#n?mW~s{};1%ya$Ig4B3Tx2?H|+1p{B0YV9A=8$M}>aRU8N8Up+I zbkbE6b>zDPpE&SGV92^NV3Zvc ztqc165hZdA{gJlu2-`$j7JTxU;(T(5dAe9#P#zlH#WM&`HW!R$O4uGmkvyrvEj@s` zPQw^i&KhXhC)?2U5qAkHk=gL(1wEh1#cLMtm^C;B{N9NkuTD7Y ziA|g28>mm_3!;S;r6xiRisGqUjKD-!qC5T z8VNdy4Dkrc@Z|=3lin^M#qwT#@J`DU)CYyDQRWx&PgR5<+~n69-|x`hPXP=u8U~wR zCaw@JD*CE^`s`1xmR}sB?5~e{(P$18jsR`*;gk?D&(paTn1)JCwEb_;)b_blTogZb z`;^j-)NMrxB?^dS{_rPcFnS?x#iKxB{*Q~{owJPafXnOa^SfEyuG)kS4Q**L{T)a+ z3|4j&rs|sC*GKvS#Wb^zD6gw1;|a@RbC7*5WF6M&p5_#9P-Tqc?6nrrp%>sAgZ=|& z&K~^4IOV2FF8BFqDQmqE2(fzsvZb(O#we$iB~#9{4inuzJ8Qd={wC*X;3j{?CojzsZx#^q!$}kn0?W9Q9D6DJ@MsFIJkhTx(2?il$`nl0 zhn^jmx_D@|;+1~-k?8j^vNpPJg3=Qn&o#<)w?=+e{q5B2`ZrTPA{2D3-^D{yaDWKK zeoce|c&H7_=sQZfmC9p4J>_ToxVm+!VoO;5=@;uLo`}S|j#b_?Pb=XLL`PugAOenW zCDHr|1>?~w6hRw<@6<(9o;??lSSZ@o9Lp(}Qo^Fq74fO@4!hta^kW0N-Rc{1K=Gpf zvYrO`$`pO7A%@;MX%rpJQEZ6EN4mT#rSD8U3w@z;RU*1*wWJJsXzwCP zUw-c6d8hJF=F@!~nx+$X7&(I0n%)jATdkJ362kL`6vB*)~KFG_ImyzREoH&#u(74 zgkvx;n|N~4{NF3yAJ1t6VR zFU(DY!J&W{f%8wX;VU6nARW}1wdpdL%P+OGf5=6QL{CZ`qQwLB@c#@8WjzGnymhX> z`TSDU9UDHuueS-R`ZH3hXUz)b!C@Z;L15qx2mDHt(e|%+OE%Q@RSnmshu!d3@-EOz z@(1&)%pQm$)^lMw$ucvsv@_`w2g04+7#P^);z=Xu!f)9>`$2bt=Jt-|B5~s`1uI(b z&C~~fFRdxARH@R(raDH;mFK40e5G5c1TL~4kKZ0+DWx=i1bN`7ZJ~95EXvpQVq~RsJv4+cti!zO~r$;uN4U=9b z@lfQ#ej!z%db;kPp)@+?BSzol9fsP(3K|f~aHXL5$|r971Pn0+T-0rw&k@>OT-U;} z*%9pM%q9fm9(z)^%R$zbro}!Fvr@vvL}2c!h||Hsmmf2j1tIxWAV_)7X^`qEgfik> zo6n&~+MSloy1sK(3?;jUASudCtcQ{mmgeG=;0ijJ^#_s((C`S=3z({i%dL-P%z%zB zL8WwxDxpG!>=}0H@mbR|O4L<+bC(yjhj5Aat?K0+@ji(vO^VRopVc zdSJgdM~&x#RcWUH#}X2Js067a7CHLwvP5d2P%%Y)p0h__AD0U*N`Bb$hGeuH5Ko&m zm$B;b8x|=3qC_0cXK6lX0NNygQU5DQ!u{GvkjTr;ZEE9-@s!5}17wAv?_W`TfTpcI z`wI~kPvrDrzh@Q?+tC~zkfWT4FXA(RrN@l1$Ny#eW6^v#1#Vofg^wu3Mj}E9Ow`?2 z^nt6vKV6@33Ie=s7vXKDkT@`GcpG-ukkj1;Og(@KH|TeNge2*2Ar1-ML0cPveBZV8 zb5_8~ATpm&sF<cn`rQBfONZly- z<;v%cJAR1ulA?ur8C)D}(;9Zm*VAmdf%PAMc>4TTWa9I}E=8t?%a~2ysU~jr-Jvl; zdJFssa_nxdOR&`b;1*pVeg1UuYM>JN1UqAAdh5BSd3*R8wea$%mPy=4yciVWI%1Ox z+*zFrvGNF1(n`oh=9e6?_0XcWDeECuU_E3KM*bRD55Zr2@!5j@Y3rds%9lXaLl^W= zDr5A8oUeWW)LhwDwH19VaHtFA$p5OW z$W!97v8$25aCLUQElup-N~^TYX@QJHrkpq1FTb)xKD*MocSmvNt)!=V6L&k-TS-t+ zL)FK}dVTn+RuT;DItOvZ!R5#N34COVE=<`6eOo+bALI_~gPgsrAp4*-sL%fWlVI9D z=vl!-U>~#$*azJb;vX2FzV+gU41MjdWMCg;fqjK*CohH1#%X_9|zk0HhR4S zO_sLS6KzlHW6yza2W}hLGFL8nE7lfXvXgIwm^J0DglF6+HQ-!e>+5&aG;N*cPLeBe zkD_9Y6g35lZIirSzx4YlDOkt&lJd*Z&XCPUhI2*+urb)QtsG41<|xnjsI4ogjr6nM zVVdYQy1%dvCReADDpOBt1^ehugPwi)DW<9dfGh>i+&PqcNDkOr9stuX%VryIg4(;$@-9nXPj&;?)`v=?K01ozXklTX5Yq;I(c(;#)- zg%>^j)=j%5K^9w(agJ>ku#r($V2|~y!qo+X17MqL?7HH0m$XS%|NJ)xT?R5n-}4{H zX9U>Ft~QDJ`28(8iC&Al*DDp?K1chT0W;EwCzfVwDRa(f?nw{X9L;hKfkgf4{Oc?y z2w4zCJ+)rl4MfoGU_#onb<0Y~!vI`jukt->KYB}#MWuy!8Y3NU2eJzV;Ln`vbF{A+ z2%{)sDH10KE^+AJTw-`V`ti~~zl2mxfF-9ERukALM=0ApwS}y%oX=eXCKb*=tnNsT zSkHIw$ru$z`5#xe(_W^oh(&C=PTB{L!)40cIx-j0szrrL99|)6XmQeCpZm9;x{k1~eR{~EbQr#8+^%V~sYm1^xKSeOPVXbBO_Ei>mA+N-?Lq^K zP$#vXPkfnOPx_CGgyYqwlNEF>H2~FUYav(dyOFMmcK;1h_*|XA+ex*|1KtfmO>Jk@ za&K4u>R#s?A_1=@+2Gxn0tv>#l>gh&KNvF>E5R%dnk*Nbw4#(Ge5_N+{@-#&utJiSaz#x|e-1b_g%n!$$*0b&U=pMBYAcWIO9iu24L!sQ_=wdKG{t)C=0 zDE%w2QuFdSlLM^O+Iw#Q#Hv&OWy(eF7hoP31WCc0LjHMY?FqKQJ!MI_PWNK3m${gN zk@X@LPk<{*&VlFrb@*67@pI{Yz*E+;+uV^~@j`xs7f0T2S!ni9$EJgdN&_7~2#}A) z*tb06gOK40_>;UJQ$u8Wfl|f$%LTch95j9}L7*KD?uM7Mo9h}8C>8c)qHI3#>$H18 zGzwKs|5)FUg+1r`&x5Ug7(Bz)9WbRR>q&;_0@sTBCEqRwJ{eYYca__8bz5VU(@@uBo^%7}%+Fny5_jc5)@(BwB%~6% z0ry@8>9yO8qH~?=KBSBjxa_tI?#{N$jgH6Hy%;@tueCF|e57RvNsVPt4hC(}_q)A< zbh!G{rj>=?j9TY&Evbjcon&!=C#!8O{`J?P>Bka1{t|-=R}Oh1jH6&*XA25EJi%Z? z@IVK$=Hgv7__Kr{t}Vn=2;Td(MbAKq$FMH7Gn&hQ z;i#fc_-=-xoNZPHXXz3Q*VG~mu$YnDFvcz6wzAKe*Ld6;!g29{=Gx<7c?60g#q{#93Y?(>lqKn5wn9%RrK`{I*THaTf^Ty zQ#Qcf@Zj3_E}lIP3fnB$b7MCBi$ndRO-{!5pU|O*9*i6?ZhusLkG#>Jo03_k!n6+b z5RK_BZc}Z@RLnh&OiKL3Vaw`g69*fn6c?Uo7 z6j-XDc$@db(g*4md)_Kof)! ze`37bmVO_7uMC()*6JHzmB9u0i2Sfz)4juZ9D~6R%j7@2`C`&!jPG*NSr5}F60n5f zWU?^g)S3pO!|=LXN5x%q-98p$cywuxP> z#ZL%y?oTK#KWB0d)P%uq0~UWB+(QDX8k!>yI>zZsm+Zolae4pB5R@0iKh8F%=pen& zoGNlN!+JcyT;Fe5pV((qV_;Ali~kvNl|}s$6byvm{#>nD@AlOV#elSsr(zT4UmrRo z8EV$?LMP6rTm=y<@O?V{U2fW7zcqeq-xkZ6$yf4p_Qk%v1mR zf|?yYfpduh!L_lVQut(xXX4qjzWdsNzKuAIol6-fdeI6AH zw9os#{eAx+w7*Jo-)CIsI@dXOK#stSVWe0ftRrblu^Nai6&py9sA_kscH0sg^&oBD?AStlr z4087Q#jyR3SHbg(N5S)pX;8W6I$La%2HzI{(8zy&F*0W9TgB3!W}oX3<-c*ve;8ZN z5IlD)8p8CZg^Nb|IvQ3h-$;EY7vIiEl1kyRnsgxgjUcoSWB59ZRwbwJeBP zHL4z+!&-pR#CD@3d0mMkEPuiyO4n5yiB?7zYiY=t9*Y|ud{q8;Xk<&{%nLW>t?hQ= zUV;3zvdlYl7I^*nnEaL4_O%C9CX9rVW*!2*ccWU>MlnLBr4hb707~x(M5*s#a!{vv zBSQ!j=VHNtlcM#HBHfILkaAm?nj7J8VN!VcwMzp4!I8?KK?M?esio)6{2w!YGLCL; zQ&h=lpV7c5Jn~v?p&gX=p}9aTV1zRH#6-wdwimyg|L|4xcrsU?on4~=WlZ*DCKhAU0dpI$c$NcesIi%(uGb({MeGr90#s^%Tm`$sUS}O>O+=xhuErK@A2=0X4XdMU4 zshrO>7njR#LbOB+l7`(3R{UQhJ=4tY=bqQDOo8CZkD=jK^mh2^$VrxnmE<+vHJp1s zw)W<{>1RUEA$B89B&mI$qK(|M99luz$fu|ZN8|FLVIIq|6oySlI%!xqr82PcCK|Dv zTM|cqIPYreFsc9qajkMp+3z()%lUVlKtA5rn* z>bs#%Dto*05p7)SlVo2+P!O8%+<(Vm{sXL*alLb@i(XK%&f%vg9fn4={9)6BZ(?xe z{UUpV%IW^?32NmOHY|!eEEtw>jrT^1yH@6srAwa-s<(w@Yw7ZayY`w*t)S-y^grU( z$vGt@obl*d@0 za{~Nj_yX;Y|J-*8zStB0zQA0!y!5G9nNshLbuuuH(!_c)4LlqlWO*VIY)y=){Hohg zk~b*|ExE^z!I62NG^9!tS9es`%l=~@-~SrDVW=!J9^uwuw&n4>IsR_rOuRf1>rPC0 zIXreDl@7NCt2PSj%1e(6n>|V>RYH!vDw~*&n|l%*`yT|ViTT3EjYA(Ff^A(E>DB1C zn5ADUY zf9~%iWlOx450#7u(UCg!5&ZB6%TO5iD8BR>b1benh}x+=D171WoL0ij`VpV62+?z0 zjomTJVIV%Lj)MvZWejiKbM7id`r%zNe^(8GVs!_+g-HT^HNd(Y^dH$^g!XE!$p2BH zA?dBdGI7l7$gw2?OKGCpY99bZeX@6X#YdHcN5wH=Eb3DBcMop)o5jX#agdirdlc_H zPEwz~Zpc@(FGnU507#}Au3!KX$a7on9vDT zNK>)+d8ml7{?xmFpe5=mzOHwhmkI~az~<)L=+RH-C&|xx&qRrx=*>S%;zS4=f0is1 z{S{0dB1k^W>A3DB6>S{`xizkAo$c3b-4Orz-+f;fy%w63jpDvk&?(6B8BcnWc|Y0- zmgw_O_({OTNK%uR27-G8v}qT23W4YzZ&KeVTiCu_ucW^o7dGnd@#EsaX>x8dl#3Zx z?dQ7!yy?fE6k@U%;=@7{N%N~z?Pv7VY257p*lDms z@}Iy7iT1vo7kkd4cvn5hw>nlnn7_uZ>zd}agAnK{N@O58?`^rtB$x3Hr_4@eRd$~P z_@`D0We(kSm*9t*+7CU&8R_s*6dJEIvG$8p`d$gW{klirR|zCshQl|;ssMUu$IAK? zANGoV^M9c2svK<)-yW&h^8WUx7@qR{ps{95O2jgN0!k8mY}nF`fEA;!Yx2@{fbMmW zvxcbru1b33PT!KxRWQ~yMKOxn0{V_nP)!?Ch)eoFK2 ziAt)BSfE(+!pLzHhZ4@;i#CTPKKv(Apa$CGbq^k?6vJp4C|uoPxAuSO!`5>fR0&p+ zaRs7}5z6%Srz-yh_uPGQNmoGNy1>b!ht6lUtCD*Emt#FANNEvC-^0y}!+1NAhTn9NvvTf&=>59&0N9_cU-!m-+?`yCBu^f0bwM zx3{Z2MV^rWDnAZ@mem_b!cp0%|Dn$ePr=F61Si3AMFphSI3x(Jo+*bcWH`JsPgNX4 zmvMXI<}JQ;w@OZVXlaxumo_?$&3^uH_>N=qi{bW7>?~d0@+<`LPW^cxkbM4iQCthQ z&<-c4aBNg2K_D6!2!aLz7E+WbE z%RbKE8ZERt6Fl6vjqay4fAvEzIjQY6xB5xvmfJaA)6u%m9)LZM48P?dW0*GEfEMa& zG5EYkAEopK|NVPyJi{e6mh&s(0*RR6ZiUOphuU*Ep{LdSa=0&7*u(zOMkV-ARo6B8 zxr$pG;j5o7ZJ;aH&uGfdwKmE!55ES{Ts_V>v^7sRxGqbBoD|LPyqgQ1Ee<$0zxp@5 zl#;_g42%?6Fa}5>=TiZ@hs92OLj_FPoDuKUVy3^TApc4-eMTcGe$N25^K-)R)8v;L z*x9zbb8B48@{HH!;43+_akdETR&W`6H4Qpf^DAB=-LI0h7z69fc{vFkE3bzK7U2AD z&Gb@oBRncaH-#W>P7HNW4{E8%q!foAUgT-)Dy?f*cy^rj;u!nIZ$N}Fk3tsS{cCF3 z9EB`1cX;p>_Dzg3+(yqmkDir%f`$o^goj&|%-1uOx8 z!+UU5()SX5uCgeAYpE8lYe&nT2!VfyJfoYcGcG%9`RMT;k7 z*T*0ETJhw}WYgK8;WHC7RAdUcFAB*=qO})$K#K8sd~->3>J&NvTt@N%ck(n&qZt?K%jUxE>=Ewr_t{D$(8W9fRRn-lf3%^ z{$`kQO>yGhjE10!KdRAlUH)xI!$j*v8qzmdg{=0`28q;Ewg*YO=LdzaRjY3NccG#t zNf#?_Mfss4vrpf(l5@9zl!F(LUdK;B9M$5!cQX;^mvF!F?Ct~;nJcPzmN;<4j^K=|1bZ)DYG5OjnWMODM1@*f zuXp8yDRNL~wN6$YZ;^C752Q{`x~PS$VXIo{{?y=ApLvTtT`P%+Z8z-`-ND%ZbV65Z91)3!YYLvT91Jo7&WHS88iu&q?a!L zt6dKl6B5iGd8_sCt!W`~U3pXJYH_bJPgagQTz%{9PPK6b6+_d_r`EyH;6~$}7;Ogo zqJ7XssXd&i>9HzZ3is|7#~KK!;(p{K{xn78BNXMsq$e?yvsGS+)BTj$L5@xC`mp36 z!i@BR<&PUcU&b|i!IwP0Y=(p$E-v;_2QB%TG*a7AJamxIAWDw8Z!xUGx=c(Fq~n(w zoY#={oPOt_?a1+S!mIxpY>kv_3Yve?#G-e#$Le%-d|xn#Fh zr|F~c67Nx{!wt>!csAImq~p2jbO+2`tL&3^V1$zp{#YCdsfzA z8j78PNEJEL+JoRY330qoP5@^gW!bq9L}9s9I%o z!^hzCDvt(WBf0A??E|NU$whM7q_e@eQo$A=kq12INaL1AyJki6U!h(fuQ0TQ^~C+x zfXI`QR4%hzNl3Fc@7~6132Dt3-poYN4NTX4k`;1B>E#ufz4ugpUub%*pR}HDTx_3~ zvl3Z7DlgF6 zV2u3GNk1ESlnswEn>Xj|Up_kRZ+gpi(jXfxV!vU24JuyCrE0DQRg|PQrDiSAbM8~5bAeKnQ-|IJ4ra75Yyy<>&X4l3VP-3|GY6_MX^l((OM0!ckJ^@?%=*fAlA<2yqlH_#o z|K$Jt3Hd|u%ObO3qOmd)#YF0BbM1bZaL`)lVmJ1KzhZO#*q3cfmaZBzK!E{y! z$8{Yw-x*bTr+4X#{9I~yHKYwWojmR7p`&Ue2L#p(<%7K=syjbSDJN=Ttna)H=u)T# z*Y@0R%_#uLx_d+QMyG-uL^61TIwMXeDli0{TJ5@x?LWzEm^YdP`{_aptIq^;YyJP` zeYgh42TIx3^4wgis>$x(>420QbBq>;rF3v|Msu*~OkTG+vL&BwuE~W5s_7ERa;PNj zF1_%N9hmf0iXhamn5}eIHnB6>mR)6X@Aka@w6Xs=NM?omac|Z!Lv0yiOdgU{;L$yH zD&-->Ip}GSolrw~0(U3L&6%VrQD_~1T2#?8E-Yl5Twe@t$B@#*IVplQ%Bg`{yp!4b zhO9Dy3*xz+RKREMmK89`fKZ=alo)vy;!fuFeG2nj&JW7Wd*y4b&ornDSs!gsje3Y6 z$=KNdkN8Q!im33G^%|P%cg7naCl4~GnI%X_>*1!8??7aE%+Bcow>v$QRC6ifUHdy5 z=0_3lUgU_5>^on&%ONKBZ^kM+03FWXp~#o|e20q<^>kFWmu$1$m5MZ^_GM6}5yXgX zng#m$!*wzmBgK2do3MG2?!u3# z;uFhp_R0`Nf^C8;UdDjC7t(3ul~(G=e1y12958mcy}c#WI2E<&E~!7Axq;>yGtilP zhqX%qG?6moeVcM-MOj~SERS8AMqU(adJ!|*ec7K9HjowdX%tg5hki`PGtIRrlhg0s z9BQobq{w4U%ayntqk7wejjiHO{{%dtDHwP{=~U_v7)WOElLKiaL97Px@owhs?FcLAi2bSZBQPrVB#ilYtIoWwI(7N zDoITCRoJll2bLVms1;Q&|#{i#F zy6W?RTMRcxwUTs5?pTfSxl6F^DZp!J@0|91vo1RRLnf&8y*kfpm!G3Hz2dw}0N*{} zxz(zf)9wU)GW1weMKhBX@1Zkg|J}%m2A5N`hGB>{V6U_M9*g zDAM=97-brgJ|qZt6&G3!`|v5VcFG;JQzmq3w-jYd9E&Y}(P9`E7T7k+5S8Dly2_X` z7te2cq?zGa=30p{D({U85*ZTI9~=>rz)L)nC<|;sViRsi99=}}81@UAxfGAMzl*RU z^*4@`Fu7Hgkq(^BX4Vntdo(&Lzo?lc!g- zFu+TFdk&C9d{PIZ@a;|}Juc!?b+61t5CrZ7WVj+r?wEtw{?*Kxmtk1d5g-tl)F}G)TLwrSo z<~(ib)bR{e?@(bEA__UUs!F6p5fwVJ!&*x%43<@yT<6<65n(=&L66M59&8M|1A>=D zPj0x@8by4u&2xxqYq3qB?)Ob^v!FUDw@JoCFlIV4s~ZcwcBv;G8z!4=333grR%zlg z6~L)h0#s3&u>1GBuzb7hx}62FvYB*|Hy&Byfy_;U=u>0-e){?nJZ-{10yYL@{!5~w zCK)|LPR&F7uWbPW)$a6Qa1l+#%z}=sv1S|wduQ9BhxfG_F3(%w)<4r$zdQqY2YuNu zEI^LILosl$6gbdq&vTqEm<!J;PEg3j84Js4S7|Qj z44Whb%|Y}Nsx!-VAZ#e9z?g)cjRQf+mu11$)PM1A*7UhPwV#3=slApZ9;?7;<~1;e z3Fb6QJyxxpsBKP=(tShAqJp_hS5Y}hj64|X=?t_vggHQR>wUkHY5VTJXpB=HzL3i; zHe^~l2U)%^H1jGRsGTX2>%szCLCp>&M?nbZDqOeS_&QAG>pMXKvas?%ysWx{jN3h& zv3B~{TG?Hm(<$)joDeOcku|N)c)n1eqS?0~U%RO#$D4FE1rl*p@9z-*Ud6lo0kNoq zn`C0lp*9uBTh7kl9$I)d+icC=K>p(o{qH?LWaHt#ZKnKOul1wm?;a6L7Jqr(W_G#4 zSIqbB0^mDUX$JPM3xDi9;7%9QJkV3sMlb=ke+=uYj5m>vq5NA*_rvdpF2jneE*>yy z_hCD3RGVt<|3%Wr7DI_Rdk8~U#Pe)a(i6^d5(>7(+y~x}Gn3#c2{GYL8$6Y<4orik z2UmE++kb*Qk|;vcQ{XBGnnwec1pnvwhYa{#r`Ewu)AlOdKx zb%nm39W;7f1~~bfPhS4AAVGO{V+ld_h(dZ;Xq(W1m4BzFAYFe}!W2#I;-e`LuKPm> zZTM%)WMoquvRF`uqqRXGNJfj{HMKDAtYUGd<*q_(M?SkZW0!x>y7LR)z!k{ycit&D zk=XJprJOq|yd;+i7~7GZP>x1+s&T_db2j8#5=(8*WuOUDOtkB{ADK%@Z+pdUX5d7Ls2I34y%fb z{7~hm0*AH~)2zv795&7jS1l$m6pudz%-neqMCX5fY(AW>y?Ywu$FGrpT#nRNW=^D6 zJw}|jonNW&6-SOA{Q2jMSZ@pGc3^*oXliVEF2akf*h&_UM@$reel3_=EpQ}0U(^WT zodV$}U0*h4Yu!SjmJFPMGd;K}4K^vktmxt3CQqw2sL|K&wyCZ2Y#GW>P$5`I-gsW( z$d$|T`A~OxrnPo^gGlm3;Jgip;}*oNe5|*bnTWWEzB;8n&&sQE#|OGSb5>r7-}_zW zplQf1cCG%{<4-`Nn_d(vmO5exW(m>rcKj!RWTG=fix@z$S2^Gyw<9Nhh`Le%3Qx0Q z`Bc1kRGygy4zeKO!e9nj>L-N7g6qJ}=DDxw-|(3zhWvm6enm!M+-6XNc0-Lh703d5 zib!^kZ;ETLFB^U)z#O(@=MEr@AK9{tapukfht>HI7@h?D<$rB=U7Rw0`W}L{PM+)U zs|G2D{^{xb{aZO)oAIsRB$ZVGS^}iGUBN1_XUev=&Q;J#u74RNO5F*ya|w!b+}&+A z)F%~^uGIK`!4+aj)}$>}G9Btdn`U-tRT*_`C+M}@=k`L;F+?LP!r*44y`Du8{o{qr z6_};7&Ba6KM-zXVmlV8T>kq=3`!F#-)OPdy%sEcWrDHC0E|~kfJYpvT>e=msjY}%w z8&lN7`Hg9P%S(5a00X@iVv_Rkj8ASyd4OynA$Ujd@}xLJEXGpG5#z~AF>Lq%a`1M$ zy)#>>LVDkWU3i}_2ALV%n`=v9lqqu$qDc~O3I`yjxnxkk>xlH0W&GB^#L@oErxrl+ z_GK?+kK{Y@!WZ;3Q^yDE<}R1}kEb!&#rrNOGhMV)^t3T$>A$FTz0CMhUgrEo8$mgf z?^iAAa1bqA>CrAbc)q>3ku7)b<@?6pH6$)J|B6qc{9l~oKoqvXqOLhfOr4PZ64&8CHI7A? z(+ZmCent8rh-FV7gZ&CQ{?EFO?3`Eo@e2YWNZc@LBX>0oi$Vb{!~Fe=R>H55XXgvJ zw|%o$>1$(5n$D`}irUI)R?cq(DL@QKbkC0UPBy<-1NK>MrHdgiFSLYiPJ}Q@aALe! z=g~PG(N!Ud4t=#kiN5|Ge{6pd8oT$ax|l+xYg-0UCRUPdKg~~+aLu5-!Okb>3Mo|#)39DTCe3t z_KwW!e<6F+ydYz9rO%RI<&7_AzexEoZz)f5dQiP%F0t}&ytn-X6p-{LD!Orqq$G$f z>hzlhK0f9(j_7U%FmdO~s$bvxnpZBgly64|%)-0&4wfxYw(qntN>7xRz_Wyx1@Zxk4@CRDni;h?XE)e_nUnL^@+()~V z0Ky8JSq1gR(9>}fm@RU5+>{4BrNNgG@`q7huH=u}h?qSxh{vv*Gh;Qo3hGIg|Bgay zwz&1o&QZ`=@xu56?F71Wz=W7$NL`b8?=SeoX@2MA)cMjqGo6zK0s>RZ#b92a(1v=3 z`Xr{LwcI-L%r~6u? z`tzOhQ?Z|7`o5(?_&1gcY{J=j#An!~SCLU2)oaIxr9U4w`bvu>{0w-E*L`UzSOGYm z#c3?}*~*>xb@2yd03Z~jhEHLQ9C?2EFQn0ZErO!6Mgv(mi;Qczd`oWn?=13Wh!`?F z2ugZeR=R8TCAh_k`QyowEH5^j`U^wCx5waGcsZ{!Vgo=H^OkbYd`F?IuxN}CoT@>#*g1cE5o*pS`jx#0w3nUSj;P<` z%YVbO1X0PGrZc zT(JMS*Vmlfn&_7^4ycro&~wihSAn$3BYZE_N^l;O3tU(-JL=JS!Wq+@1S^0K+{~1U z&l7oh2MqY!do^7f+D~Cv5xDnen1(+sXAc2A|M3mn)zA#c_%iky0fBS;c@L1CcWp}m z`hgYWA5~~!T9KCS(_6)~*L-91o=^L0{(dFkTE*5d$A&-Vzw;e&QWK|{LL%#OvXX6f zRbVEbBq)k68<~kSY3Oe@b_{5gZYBA>p3drM=afG8kOD4bpwy8#HWF4?YZ{vX_!Cgk zk(X&%Ew1!$MUJF0qe}rf4OFx%W;0ah@jKM~sFEuZ|H?YB{HvZwLRFk`fBQG0{G%0BU+JLH+5@bT+r+mhtUU zhCh9)_1wLon2}5TZG}_66`SPA6%MkCXP0LixxOx?o@Nty?Pk~CwYN6z4>yN-HQ>ZT zmeOZPyXN*kRcWdmh?B&i$!&RH$@bwaYzWg4toJwQ)Y-wRT2$SCD%1RR&5L$TgVru| zB;-I%8xUyD&W;oW|3tKtcdvweZ|tz^F1^Jx&ewVX-yXvWu=MRV?WYn4zO6^$8q?$e0Ex?aX zLG=C&2T!5SNN5F%!(ugxr5s? zUCR|Zjs&9_FXx#!`j?WARrNiDp=(Pg(&3MDQoh>2Kc{S0`c|#ISErGkS64b0QqUrY zdgp8Ds)+D43@~Dp_IPL)j8QSyjVJLRh$R6gQ(q zmIyo^IxK;azv}i;B~jm^^C{v)?=F1z6?2)Q-a-(NSIk)-`)5fEEJUMlvDIPZ4$esc z0j}^N00z;27(jp(Z8JlB=d8XdZWH>+ma{q>OkgjtL5*KPW#m()4q`g!lI%2)*7yD= ztsl^h%=CZWlJd%0x3qv`!PVvoCP53p0_%DF<%T#$S8Xg097Rj9)vR@#380+U;Re;p z;;~-!>Q9}+$!z<~Wfi??V`}6w#5-g366}zbKMbd|KKVO&&M7s-`W- zZ-XbX2U|%Pl5D3v0#k5Lc4lOT>3v(}%|Ek^$Tm!Fke)}6t>iL+gRVCrK2{&-uy&Bq zyRP~3?FXc(cU5{$h*tIQ_<(wGPQ@3~mG{zt#(u(wFV!nw9{l`&+Obwj2!@evNsdCf z58{$sz_fso;`G&u7f%sN^*6vk(JH;xRa`6uCY2vbAZwiA(J)_1Dj`HPU*dR%Q}MXM(mRNon$ zTLm%vw$g4()khV@?n|)tx9Jr;0+)uM`w0l_KMO+kXeKA9UF=E)xE;^z(0wjZ;P`|W0UiEQ*^+aK{KNiS?JF`R!YIvs;n`y7EWN4AOp(F={SCAa2;$mlAmNOV=Z64S_m5}3AdJ4 zK_7tria*JA4#Fm|bLmG>!x=eZa%DaJD&CW!g*7sR3R7ZDtrPq8ykJZwG5D|_qTfVF zWxIRpj;2x9{`0eb3*CEA-0*9x{u-d#|N%|7XV^z8UO;&7M;f;ZS?|2DGD<+D=F|9Z?PaURg` znX&B15avpj&XT6yl7_T~ULZ;tse?lk@d9Bxm}QT}G&>J8#-c2Z9=L~%mi7`$LJymh zfH=v6AOTI~{j^7|pf;Y>*A5+l(EAdJlhGe1wG6Yg^=)R}5?I$LlV?R83C;LXt)c0Y zw*NzbguB!roMq+38Nr+3u9g%D)?opG1Df?8RnUrdw$ky_=zP4>g9d~gDmcHSKm(dC z_Y!cz5?jFZ>?#hz594>}^-DQo#paHhy3AUUO7}+Ju1^#qCR42;gO!f9`v`N}85+-` zW)-SF#(!`+Zd~1TzNy~8lIxXp<|0fP|5E#8oPzZw>m&6!v6#kRR5VTXh--~(b?yru z%fg;z4sUU>Ebsjg=n5;#b8}#JiOP|ct{s;9`8F~>GmFa22-3v&faUo^9TVVt@0SN% z-Zfk>!f>6>OOv?}1`Z+r6j|_{Kz{F-&d}5S?6E>3bgV^(Lp6XhGtt{ zqZ7$OMVR-H>;K|mn-@i@#7shsD}@i%9#VMm>nU})!FP=X!TX6BQ4v?Vfi=1#*Ljx;zSFis)JgW?Jjuc-cCnnD&SW~qXm8;j z5DQ8(oyx{o9V^Eale7A5($fZ|<#=UhcRWYMk}jq`t=p8hCvWTE1#Otk{kY`pbk`qb z@>AdYJ!vI8^KoCJj8?zeZ|}LI#!uRccEfLqSlI!g6cd}@;(KH#-r^$|UA=5~tvaPm zn$>t{h;4E=jL0o^x;2RdPhh-rcTLp@ML5yi+-V>$)y($Lv%KMe%OyBl5Xn6a$1L}Zt7R3r3-r|?&-tv)2J@* z>LZd$-0&7rCLpcUi`~#CAnRd-D`VP zXELv-X$uGzVxG9o%zHfq&oNPru^J5Aj0g7n|8}2$Co&cL^Xmo^owCY(!)i>Kh}DJX zIt3Yj>F6CQ)S#u1aWxT)Gsi)PWYM<6K}JVc>m*Eh(Xse_6s_ykVGt#|Zcs!|alLX2 z>YNg=u6@lfH8wEB$H7uHg^+iR6SUAIBO3<37&#iVRg=Hc-+>s2m!B0RU-*40~w_&m>&SvGYNnKDz?LB3%rYkLDUS;$#`nw=lOORh>mb{Lz#%Ia!U8efuKEVoXBgZp~KD+|?ValMy z05RDt#=59yk^45c8Idfi0 z4a84lHeAB_JB=t!>*Bk84#93rL<=Y?*~m>dgr7XftevJ_v5Z?;aW?Qv7y>qtzi{g)VN4IF-Y$^1W>16R4TTE9 zH!Z8^t*zxmnxv3@HXPqh_C!pAJBWj`c*85$9!>XUs9a!@3}v$W2HT!7FS z&bXE0e69XRWkNzZDX^pW+6`fX7w$;3k(C?IU~+p{OgU3FIRDc)1(-jOwl6N^pTkRDa|3r_ zE%DA$k~umWgw3b65woFFZz38_B9tG_+)Fx2b-{aaicpp_g$1+Jnntw1w_N?Vvo>C_`ep^ZD&xK$?BvwZ}bi1>IbcQbTL{ zM@lA>#3Fqdc}*BHD<#vB&v;6Eo?(@)61OSFA}j_b6y5bWiK#qFuqd{wQsw757Par7 zo4HNr@n~wxY0X^6N-~>!i1EW~eB2<*EDCGY|QUuSbw@9C1 zsApEuJ1PUgs7!*%Dti$ngc?+YlP#alEb2dfqOd-`77filK6z9pNM-d>u#cpe8DE^r zHF4T6u;o=4K{Af}3MA(I4F6*Q1O+5CG((bB;`w)?b~WLhk#j$Tww*sbwKy-K6>|$x z@ya)>>?fN==(~A^Vs$DZe2irO_wfqAcaoy|Q50Va zwo`#u4d(Pt^J))v7{#YVcVIS!AbWQF)MilU{#^H*)oP=kJJz`EPDSOtuRCYZQv9!o z4&6Q(d5ywu@9CPAkrBXGygoJ-7>AOU1qT`-S5hV7qA9|Jjd9WVl?UR4e?hkTa=rGU z>-2h`o%#Z{Ua7M$#*jo*b4kr|WObexeDky%T7-itmcpWFOZMc6)lCma=M-}x*Iq}# zT9DuEP;~7V@epVBxo@kG(z?j;a@kUnljpFlmT8-^-4I2IFwTz0Qi+o46IDVw)9eJZ zDVCKeHml;s=~T@Cq_g`kMr4Kc7`G`=P>faavyhY{d#a#a7ouA0wx+!IjP3DnLn-Q5 zTvS7C(pyntJj=DbTj08Qk~DbQY>=C8_vRjmY06w@tt@#6^#OK+X8=`o~v|Ccm%I=Fip}L(dyZI6Az%^b#BbrynIzHg?@y>cMB$Y=zd56 zwLVZL$=r?y4+37(;lqfBA{ZJyrHnG0vEePdDm!YRI+m@)SH;6md;w@{qGZ@6ii*hB zpQK%Nu*u7oTr9BTM&j?*)9^1%sn|^3_hZ=Q2w5vzMFzmNP zTzOim-}Hr|t3;@AT!=ng>!w^66U;*`NuTc3r<>j-13kqE3$CBM8}#SdIF$ zgv_$*YauJMu)^FO@?v|Qjr*x|QdsZZDUgheRTrOgRh8Go`MNKaygf@Kc)DFBgyG`2 zw>E!2VSc4nY70LdptzIYJ^Wd+$aU(4&S&uEIfU=l}vFk}-eYaqlqtW0dXOE76*!0CdI#pqCBo-lN> zk6|Urg7G6qDUSCp`zEYiLFD4qPGQ8w+B2p|i7t;pK~|{1X7M8bojLpy?!M4baDTu@ zq3J;;zU@EuD&>C{;W6F`Egz$a#7{9qB)$4ynI>Sb5+9a05Og!Bjkc(?F$Z>hBl5ek zM;(Hm`c3o1a6w@Lb8E!?5lzy8fEs!T_v^b>1KG zbr#L`0974MeL7BIi2qfB;cMF|A=$wi%`kQ{YBpFhrfDp+ydse#H>(mG(X z@1mPL;#D}ox*$!4aG*ILYnBf9n&6f-*+!oKd1^e_{~0;);f%g}&(`k4@B=t*(WZuV zYBHnyffNsWd9*tT?(5=4h&*n9O^X99mM&fBqjq>jNAe}zWfB1){n(R#0kNzeY72q;dQ1*VqGX1`2v|_MyEs?#18s{nEUV&w!cucx!2zN;ST3BE zCAI-p?C5AFxBQH>gT!~&gLg$qx&H_Djfxl10uxjiyexGOBGc7LmcaQ$Kf98BA*%rU z>P4u6#8C&4TuHzEEjmJ z#7FsjJ zYc-nZWWxwXH>ni52RaNVYGjM;D#DPK4Z(+Dk3t7gG^ z(A&tW|{SzA-9MvZvK0<3FIO&0K3k;P`4&46nC@NOjv zl|4)=RLhFYKgG{2wT$oyoY>8!?5bj6k5j{$hgKdDyAjeq8NQ+2a5x)X*5iNMMXPcnxJ9WVIwmlS)IuX^$D z#5bI@B7)+Z!yXx%E>?`B_&T$nr6Dr)J54TqsE8AOQV?+Nn;;0h&@CV!6NA8yWK~!> zVO5P-TBe@}4c6mt^Lg(FDwV<8o*Wn+q?9h?aoE1Z_83azLFvuBc#u&5DqR!`l1^2N z>={fiAvTJ6AIjkS;`&B|j70~t_p!9r@`~e91BIh%DM$ce`Q#}$E;&p|8DLdEWmMNu zJ-?UxY zm{EJRGsu~H>ILR?PyvC%HJeM2Zv70mL>Ot-#$cG8E&w5`P09e^=vuuOQTZ=Rk*-uf zeG?`Em=~a(7YAmv@dWzh@GCQ9XOp*9*k3=gC|ZcWR2^cxu`$1&&p!8l_@VsbmKh?B zjgpl$g|o-vlI^O&_ruEs=NcWiJ-5o;m5LTYrfPbC>KEWgROFIJyKG2X1nkdOs-}Hb zJ<%JcT~o0Qh^yCt+ZKdw>Z-8KcUZr?%&g|vf~eMiGiDnR zyv0$0$pBI9S`(S|;D_2C=A-4qcQ;R^{}ppX^UZBV>5RF}oLzX6fy9Ckd-1%n>nS}I}`ij2Y!qinA0cj{kyyc%-5WAmwR zR*nF5ED?AEk|fBL_3M#uLB@=NGdc_$ZaseO89yx#EKMGc##}kfFH!s;No=#$$cyWo z7g;u1@ZkU|n_SQt-)Ps7#HSr&F~d`f?YjMk>3wy>Y|k3dfior+;t0wv!ymQNPsdd z8EKc8qoTCv1J?O!>z79-E?`)XK`)}@6Y4+-QHrJ)rU@b#F22}GKVEhn=&iM*>D$+d z$*9Wt>EGQDkN*n?)n5n<%G3eWN!!aGtMLo!JHr`!7j0IHrDwOI`?Hy_(Z*QBlnTDK zmZTt%a;5|Fy?~hBKAqt|Iyo#f2Gn3A^?j-!V|HrPj+*Cp#IF#ntv}REKlAO@BcKrk zwlwsp48*hiWLa?y2$&K3LG3;8MEFQ;H2#hh&z?++x#UKuwiC?C9&QL7*5t3IUL18d z(dj#tTGCOs8)+(M9m*%_p0I3d7Qzn`Z7(%Mb$q;sJ|qRPQt3ytu=z|!f~Sw8?- zmzBD8aGt7mRg{cp0xwv$HckVYBr5PodroK?#<4zbL%B(A91!7Tn$@q$DoA~GP~L4# zzS_fY6P#W)1jtKL< z3Yvz@$jx0|ga0ynKIFEBiKbI=VNvecn>6&kY^)rytmenV#x9SF0NPT4rk!(uD#wub zW}GmrzOQS1RAhKrZM`jg*Q)(TKo9E3&Tn@Afc8n?`e`& zapOMYI`v6t>3+Z~rke>|gd~5B5YnI|Ksa@eZhPGmBS%{7>70SnYt)#jC8NNCuw@|T ztORk$gSWBP?kyXeEf>|*)k`oIvv${W!f3*7@He3!`~?697JDf|(EpY{tS(e7FDlM3 zM)CpaDW~Wy0f#VzKQW-`1@d(g;hw}C+|aUMKJTh$1PiZO0CJXD3=9GqkI&`-JRmP; z(&0gJE`PlDEXnB-CP|mt4Y(Iws`ty3rbB(W4%`fnWGk+B@(UgbcpNc)+Bb5bHAb8` zx}@!=Z+RR#h%lz(UX<~=YO^iTmYEofL>#ZJ667AQUO58bF*z0 zgV{FAx@gd5S)DiAW+`55tlq_Me3eYpsZW>!3*e`*Q>2Usi`6rndf&mf4rMFx;N*Ui zq(*+@D9V-BrFi7Gnh0Y8BEQ<1p2$lB@z`jNb=cN`T3@9PQm&E zx<3T0o9HiMPdg1R6G+jYgI=Q1>h9M4mp%oAmOT;8JDTC}Y)}2#1;WIGTD3_nQE4@fh&AvJIs^{UR6{fB5M{Sy{@GcVtMXOqF| zm5b-2CmCUoBd5zzptDYV)ab$I zCYw_Ons5V|aS5VTHu4+gnkYjG5Zhr5HV^C(|KGj8x=c@TRp-&5nO-IP zQ?i7R&fqe^aa>rwdk@mxd8nf^fU?`v7<_;BPfB**|GzFa)=;v@r9kDUf&a(emB%%C zZCmfPmbNN5LRBDDR8$01MCPOxEGj}21Y}H=NkJJzWXe#biim=!fQ)ehWQ>5!kW`t+ z$P{D@bC?4ONyz+8=(YD+d)vN>eUJOQ`~!{lhu?S3*?X_O*IMVt@N7UB1muznajY)S zv3?gfDR#e0t^brpg4Bww?``45xU>{W$wD9omXw_R2YZiz5;TOFh(Rp6Jj=XkMlHYW z!0e7vtZ(9carVf+W}NbUfcY4meHm@LBk2#7T-9}fxoHsBhYw}M$uHgCE315WApXH8 z3Zb9Q!GEEZI{7nU^rlcC*+j}pIEGN&{f9V;f3zv^dA5Tk;%|!Yw3AMOVV8*~se!nB z=#Q0BQS8?djMA0sUX=D}eF=ilFFKJDLoWXyW_v)>Nam-Va`Lx@;4opx%Wp? zuY(%FQ)c3Ri$#Fs^#h;C)Q&1BW@WdSdMQ0hV6O9>09algT5@T+@etp{e|}D#N7aI= z5uT&S9{lE2msW+_Ul_*9tBhN#ha7$S%Mx;N97aHqaMSem0|@+$A!Q@Zvx8&xfZCud z-$0n{1^9}ttdmcF4f?IkqhHaSCMokzs~VEBc%PPqu$>Smw_|)yD4#tBcy14*XpoUZNxrQ>+|2F`U_u=yaAgv_f|+cpQ;FW|1R`yf5B`w z#FyGbPkfmg@NBD#$~-CVmB+~~?~>vc%QOBidjp{L=0%k$w%JdL;z+E@FL~38<&gb8 z2jqwLed)OGBmQ+nXSEx!x|20rD3og#{}@cFL!PbW^nLn82RJ+{Kn41X0c9X9=O0}) zb%@z`>htUl0eY&oV{J(aE@h7Dw)ujhRn4qv=^r29{u>CmI6}dH=rO4sFXm2H^CO8< zP^7VNf9!iK7>j*Y(Fq?8TB9T`SirizKBy&)59oWJrgxm!Sz;%M)DOfExpthX`8_fqC|O4LBe~ z<1DU)z37PQt!bY+{$Qzj0~p2s1YJFe$-%f1o55h5B2X;dx7~B+KVoU)txk;qs|u@A zua|$?FWSL8CRg(AVLHH*MW+8_Nrmh zZwV9@(bINgd^5F>PQsx>Z>NA_85y&!S5iapO}{Y$Tr^cPpmezwG3KJAloV~Op!8P> z7xHA=mTz2}Baj@{(o`h_QJu0(6G)T2DzCw5@7zS*al z%OvChc42zGHVd^{93JcM(dRtu0ACuiU5%-scfEID5kMNt_-y{CoSD!x@K{Ef^ z;9rODiV;A2(-NCQr+=gIheqy)9icBA`0h)WO#)zd9dyipLC?`;zqO2rl}KfnzOlIQ zvkS-ndbawf3C^>Nt2iF4^Q(NhmV);=2U_O<<8^pU|L~SG$~Tva%qT(4HGl>>_!$^B zyl35VSa^Oka&awe6a$z~6zQH8x7J8~3uB2oNlJL;e* z=sj#6wOEiqC9p2=>2Ed=gV?mda^&YLM?k&xq%ZGe$+W>%9uzxqgapiPK$G*@z%#vf zHNLOTM=grO*t5@bHqkQ)DE~vdFJ;VVCW)pxQ`(pMc?J?n0385~2dd}SzoTegL{EE3 zI8;709mkIZQS_%7mTZ1ulet)iCgu-CP`Mp@4@xP;?|9?~BcWQ3n$MK%r>A%qQpTcIKX8S8yZ~s*s=FIE|&_K3r9)G~wTS>!*WS+_3HameOLW{$;i1M*4%`%D|cKgs>%kzFM5*h7jwO z&y&5ah5J8|(c5Mb!xnk4NQFFE^R6-Aq9K{q)-}d7!~s8A?aR#t72~nFV5(CD+>u1Y zOMnOft^@Gy8|62bG;i=MxbshIe*4L;#rw1X$`zG*GZD5e|CnL<_l_M!$mEZWDEuD` zuuKD~u_)>gmOZDxLJ7((RNCcYjbwVE`WzeQEf>@A^^(Mwdb~*u#N9+LnJx6UkCt>3s0brsTV|f3gWJ%gq+@$H{`yNZ|xVSSU!= z0RpcJcm%gX3d(}Om^p69gC8|;n49ul!$c+|ITZvlONIKkd67)WBu3c^R=;`8tUm9A z-Xu=M!$0Xi*WiX{7C6CXuN;iy_PULLS5+V(xc)1zstr-xp|h362{s3Y!gESl!}ys4w~Mi`y82(25|qhV`9-XxZ?l$3@!; zJ?Dk0-a7w=8j|AYF0u%bsIef?d2-9^-kO&`8Iua6M;tr2?5ONr?wfo1KyXn<<=W@5Mr#j|G{(6ygC`Hmu zoP1DaVda>^X+lzjRbCe}o{%$S28O%y`ZnQIPp48b2M@Bnlr0MTF^I0IKr_AMD~nbt ztNx$juguT85F#!0Gv}G%X_@_Ul!csS57u$0UC%Ky)P2zWQwM_eWnP ze)Y!2Ir&=Nv-E3Q5>`HrAQ|2-^a@qsNT*^naR$$ zZ=fQTTxPRnXFcrn3@_#7r{@EQf!^KYEN;JnRY%~s$?J`g)T%G1aNu+I`=CN%i{I?? z+yR@vk8*QCH0`;i$+hrS63f$s6g^^r3O^)7t}Q3s1;W?$b@R92DJC@RJ$vTt!Pht8 zi1IB8263j8b(t;ETi{U#yxq%bjWd}wy*GzuR$j}r#H^*qX?iwtY-02)D@oK2ZLi_S zbJyd8|8ZmBY?>!Yy{10`hn60?=#Q`Adp55a-D6eASbuy?9`Fp)4BrQ@xSeo5cw2*- zG&__?MC zW*=wWi;5wweb>37&!rs{d#v#RXXd19Lg(-6I-HTHoklu&+98L*?*eyr`I#Xc8ewF; z%p7}QG_XuXbo1sZgJjPY(O+7wdePr(o>^66?9{4pXm?Ixl}Tc~Ovm#qJksfGY0cdA zSEtemL2U8cD+nZWxzd@HI#U0*adXsylIC&0ToJ)nuNh(@!?~2i4Na$WF9GuVR##xU zcWIYH{H;v}?UDwuZgnSPb7 zac;p*7sJ^!e9dDFKIn`~HLxA{!clZ7+w%xx%9s21zWC~Fc@pkSSa?E1is#K!&W2%0 z$71};GMAfCzm$=ISe4k#-msG@Q(ITz%r~s_uBbK`ul06}E#8lRMCt#k$tgVvE3Y#i zs~VD(Ka>j5FX)QLT@-fh*VU|xa78V8v2>NWfhXp}FQI`nJJIErkh`fnB~n#QPgz_*!PFemgW_AwEoO;oC(bKc00G#`6{3sR zNXBE*0o$)jev&>nYq~ottHr|0XthE5&Wl6OulSlcDQTYn&K8-hZ8q-aiVrBQl|qy_ zy8HMdlOg?I9j&%J27~*NG(4me+-uEYAr}jD5JQ53bJs6DQ0(S>u_LGxc)GF;9JDLAj!-8R zmoS3uw8oZV+96nwHR_@u}eo#m_8fMpIAOJ0xe1#cqkPG_lt;8^@XAJyvPh zr;8SBLM3FED|@W+gi;pPfdg1}k4U2g!gR zbg{_oe6 z^}J2pLj#ZH>FwI%0~I%-M_fIuJlNt(ezYJ_S>=(rFC^NM9;zyl!}fxro-N+H!)0ce zCbO=TavXi$(Sg*jdr@`hbWY+I3aRN-N@AL7V>V}3uz;~w-v&EXQuBVX@smOt^ zE>>B>;E8SQ5sl!$1}op$*z%bK!OSn0sOo;Zaor+YBlYppBqA2?Guqcosf^_4!{Eat z(POGj^=N8Bb3IsQLwv3GRxlZ>$T&KgdZEpRKWOI-Wxt6lO(h27%pxSPCMA^NO=Jkd zF!OwQ#~5O?#2jHOoPqI}#bcpxZ9jdUesA3e=QMJuffe-P_)6jg`;Ce}l-Y~w97qjk z_Vwt!4sm}k%_Ydzgr51}Joobny>9{W>U!m+rFJ_cG`+K6^x1%9h1zToI=(KQ{<>;< zWbTy1S$lQ-BRKMxfz=phH5T4s4hR0{smfFoW2nSV%61(hJyxwS!H?*K&6meVpQ$el z8$+C<@bgF*ZRB^hj7kK4?&N~KwfJ^==2%$+`1LmEio?j#P1pU`9@KjEUcq|v|$M}K8Ci96*TAt&(FRy`1B}WnLne5b0 zhsRxeGB^Gr;)}vb+D{K}0Y!>OQorl(0uFj3Cu_7fs6}KcMyQh?B&)j&v94Xp?6~^H z(rrNj&n6xX&R;k1IwAiW>3lrnJxHTd{33xti^B?ggJ2K*&5&@eyW5tt`uRxx3V)P+Ma$LgQr1kpKLJ^)FO)ex^!tjeZ zW8ny;dR8-O`j;UTWVx&s{8;OdmOiiN>VOfl@>Z0A1muAf0%b!`-6Ld?FOOmTY9G%T zpF{~T(Ba8eA$_veoKR5fEe?6$UH5rX@sNa8{z{1cq1KR=|elWbAGR2+sk%OVJ>wowZQpFcqeN%64Qy#644>a!l+ zSgk*Sm184iJ=*|QW@MHY_e6{=$OLyzPjLNHSiHf4?ob_G-vFg};9*{?FrLh5(xpen z&ah!R?%E^QP@xsXvPZ8LBzK4xA}OgDX3$(bv(GXBPoXK`dF^83aBlhX0g0YG)M(9Z zF;wr~Y_k$tlL@YPw#5@%xPoctz^TRbNM)!^oSxrla#9AKld?e<*PYVr$8N}7ei=SU zcQG(?MLM!daK)E;2b-32pex#Kg*bDv^K|{OF~Tep$!eg_qP}jn8&(k0J{>axVLgHBD4nO&ZQI`WR(1M9;r8piJ zb8k%a!obNK2<@JUg7=tV&<oH*7)+ zX4hVa>v+zZE6dD1!=l}YDn(QoVT%rfs~~2BSK$`x+u7!5LHWGI^vL}Q(=`Tg)Of8H z0YnS}vmj7B#dg!=^3F!jiO=8dI~>)y4=MlP#>3#w=3!ZniL0$z--3=HXe#OSzghNk ztI&hi#G%D)kXOF#Hd3H|W7cAPKBzn0ezN;lg1RXJ@5yCK#QQR@w|UWTQ*k|_$dz`_ zwrB(8rb3U2kU#P=kMNw@I7XGnUcSs{kqj>283}d*A zbY@0mTFF@CL_@Nhg-|sbv)&4Z zLrgdffokw-voR3{$nQSIFLjg2hf~rRR^x=c9&0)X#~L8Gk5L1%;h6r+q7(v*F{hsj zlfA@l(1T()pO<1~V0YSjx*eR%%|e2C^+kq0?q)OkVlai76_HrY}B5)1;KcGGn@f%2sYB8 zhQMJEdP+Atil4W9B~AmD_ytz29oEsN6%PV=Wdg-;m}UiuX_t~g(ajy1PMa`FU3zIsgFEnvP+ zmuss$1rgkHNi`==)8ah!8*qZTmo7LS!Ev`{Rql93hHc3N%^NbinIM>H*5@@G*}Gr- z(1IOb|C#n$I3!s>bwkhOz||c|DKWAfqgzeT5h_t*U~v7W0~bmL+hJTiMwFU0#&Fz; zBp-HNGPau|A*(VzYcAjuS{NWYL%@FoD3RNJYEWz0Ja5EhUq&T&3ZK9zRq!Tzn9MJt zlnrf43r4Sqq+0t=awU%TwZYJS?o0uOsP-rj+|v9}O0hrEu1sK>f+UAUb24BBqtR_S z+_276R#~mLpxH|DwvA8Yl)fwAG(nQ#FIqD2V_r&R-=XrP0YU{?I9)x~Du-tMh*ASD zr`IypKpAC@6oN|psUKsdGP!^m&DZxLzgAQ$A=C%<9;X0bf65H~Se*@kOO67_#9O-GHo8+7y7nNTCC~?UWCkq0Z+LxdR zAgw1H>I7n>sG0?6>{brN-0jW9zM>BDQ4=v8bdN=v;csvDMVTxZ4K&)1-g&C-5 z01Ul*1dr~#GTB@931eD=`NO*tjRkJ?{6;etz|<5Fc#5VU&p8hjH!8OJ15n`v0vkv` z@jh!3n1zwl;;DoKGqgA{=w(kvBsff=R2Ze$@TX8&N!6J~L_1S^wDNM;tE9&ktoD7m zb36&V2RZ7m1anWJT#x(C#(c1B2$*R_Px~5v&i-MmjU6=-1kOA*9 zO^I<*Br&S4$B*bVZRyEMbrZGZNEd^B2PK-wZ5DaCMKU7;%x z{6RTfqN&1I zy$&v@S9t(#^a#QvY|!QF^HBCy43;e@H^Ybo20R1A-76Bs%4h*M!`E#-V&!25btjvP zFLAR)MeKTW8;$=b3qsLVlg^i>q+fpHCF+ z#GsTy38N8V>5LcblR(Xd%KsKwXLK2np*>#UoUv@^J)KbABXdOjYY;8a!)$XzPZ5;} zvCQXnk%*Y?T8|F0b@MPSZbm{_t_KyyVP>bsLPMcQD;_U!O6WfSwyF4u(9R^^G?4{{$J$^5*wUUd# zTGYHKK=_Q|$3i8#F`yZ(&g$~emFWjrT2znsbc-o1SyFkpV-Rx$DqI;=KYd*^L`yWgw|5Zm*~WlbZLY#A8kd zCC1z_Lj*p1utl{Mg5eJ&L44i0rslS}lZC0+c6uYpQ^m#>{IQJKH^m%U4;9JoD{?Io zA=aOkBi1pyS^eq4 zw4=f1x|w~T6;nJIs^p^6=UH`gfguvJ`?=dzll@kByIXGcx7ZK*e0VGi9ekbfLMc^j;1VkO%Xn+ z1v?oqZ`y~b0??l>UquwOEfspD1zF=&Krd}&OoMQof)MVn!^1EmtPq4|n8eFRwF}Zs z9;@{>OV=R?26}^>L|yDwvXGV<`a;6Iy>N2*%y&dlDbUjaUFW`LU?7*+M%?|lB4MYzlC73#9Z+Q<@pkZcxo0QF9`Sa3IQeW- zmL(>gc01s36yugjL~A6qPTj!*sfz`ZnJ!H#0pldN+fKo4e1I$RtpwMfy}Jx1js}@O zwHQTXm(e2ONF|2tgUTPIzJ|Db5fL|DH1TT;A&JN6H;wKg=D|wO%)6+48aVAJh z2<}Ulj=)suyx~4k!GJ|lbA-htW!o>w=<$_p2=Cs+7|~)C__GW_SKlp46$v`Q_<`I_ zFm72%DC}aJp_;9lOJlp0a^VY(z9u+AB#uqGn=AI!Cpn>SK2|gEXBJXWHWXcd&H!iO z&x>yEH{d_P$~TY4zIyMt$T%A0;iL2A(3GcZrP3|4UF{oprY7MXP9t^UygpvILc=Lc zf2VnQr?2L|Y0|dfNSv)l1xGZ3$@_G;Qtjd44}SMQ(d}|Rm5D`hl9NK?F)z0zVM~Vc zeVr;o{nmmG)CL`|$}$)Rq>yX1#M>Agb=(*9cGEF#SVv-N^qNeace||HFP zp~}Hhp22BiKHy1xTojq649T z??BG+9jiO^mvc2I4M7<96pUe!Zg8*C2GPp_V_0NmRE&{r=4twyBB*dSWQ>a8n!}Z> z(XQjLR%ktX>$A`|@$dEr7KHIgyMN9z@IYD`*t;Fi_u(Jy0i4G(cwMmyOR%f*4;2uW&oPc?bDR&T6 z#(cN8w=kq%g}{|{F@U&zdMUl%Uwn(4EU@5(shL;0(v57e-3rHkO>~O<&|}o>&eXPAMsuMkv8W7bDO<<*$rhm@NCHEV{*Ap@625O zOPc)!KmGq;c|H>L{AWtuZ}e&ZOPc+wRUU6SfBz-TzDs)+k!HIVm)K!vHgqii+W2MH zjX=qg=h=LsQt@Z7{wS_m08%R8-9E<3dyW?i1#xTxM=ZhlJN(qJOzN*SpBLHo{a>NvzaQ=Y;EAXdqN53F zjlD{Gk59V-tIPgyI_-xNI~R#UNko1F@DuQzb_FOzRKC^D0pJP9ilC8eMR1`5`b+;N zKPB-kD3aeiOt%==5&UilT5y>DF?FCo5eb-Ffb#b<=-$7NXNj2aSX)c$ancyGBC%F> z#Rz(M+VySr{I3M>zY@HUp&5S%P56=8 zf4#-M7?StTS{QMQagp+Z`(DkwXcE@j*-_PI7cjW9r97eRmeq6{YV?!@8p6u=mIzFX z_U7Ri)f)AuNnio>w?82ej)ed&#{7H|JZ4Y6|MT3tR3j0C07X7R`O)5_<8``XGAUo2AK{-0{-@n1CY z$22woc$4?f{H*^lm#9BRO<#P|0VIbv8XPGLMWK<&n0d$}V&D%< zr2_)gCT};>9>Tz{S&}S1)bjz%Xr0ATdi>m7sY!FXU~Pf;LIoJk{LKG;kY{gC6l@8d z*s$qA-qwHT%~P;AY!u(N#DJ;JpE8wMd>&N;ZLztt(K(ek4Mltl44CJXH0*rOU1{++ zL@H$GrCDb3yV|YH-je>dlW$kNWUU;Sv`BDVXq&O}~9 zrtQl=Zx9*`FGLRPWSL50 zFM;EQd+~qFe~jg!7`B2+;r5rpGfqaI{_mv&llv$mKySX}h~B}I|LWRH>LgPk$Xfxz z8A1?Wnb{Qc))v)GiW&s=`8qoqq=p*);jTOH=rR9|H7a;Yuj#1Iz;o^sNNIWQbN?{I z*B${{*lQ=v3l$npU@{|nr2ipz@GJ6xON&f;?+K5iab+LuBlAa~$F*^w63+T!C8wAjcG}ihgr#r#m_xHa3 z)ArcolT?-l^ampkwo#k6tJiM@sYxxbukykLr>&qas9M7C6Rsav%Fwd8TjGm zUbe&#>*xY{&3u@qwwi1n8-Gva5X_uK2J|9{c_vn2nQucu>Oq|M&8Wz>0XrDX1pYY=d>C_FJhQ7%W->3Mt@mfO|Fo z9$okQeu|<+*U<5N-59k@o;P)MEjo{}q`p9nIk%*K+RF)71z9g(F^ zRgVbj191pUyPX;p*-u-Zo50sPw(7&fKD=Q-SM0o%+QrU@<*}uayrLumJv;_iG&wOhe8j<+AA=LNG++dgC?QiB zA#9gYg33|F9|rY)aJ9g%zKlF8#CSV*4sT-iu+k&()38)ebzvb@O*l7%;I)<(!8~Uw z#^o7D9_YSm$8ySWf<6O+piy55lWo57qt$}oUYLauSAv2u2d2|JJW>aCEGunW0D|mG z0xkr3{3km32*u3eK!Sd5d}qh%jnmtttrkd(9%Rt1jFOC_+| z_)cyDmT+zuY!Czk`-;Q5r-2Yw5(-^9nE|1%AIiBvFtZr`I9|wd@G$S*T!|ta0z17ko=X8|fC$%-ggxy`=o@dd;Zzw)OctCU&sFo)`}X>W zLmYYH%p=n_Y|e0x6;?Qe=Tk1A`3O9td{b_B(K&vus*9_RFiQ-_pUuMxk}y3iH*i*j zf>E8e?lne@-@VF5%FBGzH2oWMH4%7CY*ukHnj5K$z5w1aL!MWy<3vW0+bKPB6@fO_ zape2~HeXntfI<;69z^_ByY^e^2#kMI1VNpZ!FzEyvZ`u^@W>)|&TU!PlY;uFQ2 z-y1is{F~~<&%U^+dh%}?w-VAva$8JNC64Mm{PAItl_95=9=)QgtFC6fN?jLLwSbg_ zV@Z%JyX+m({cQp#sH)~SI+VkGja_%2w%YBE-)G`Zsv=9ZR68%-b!>30#tokAQ4($2 z7VuRQ*7c3u0peW#zAf7ebMj9YBLi>T*j-Ddu$B+b9Uqf!h}}fuD|(4jVnUszl%>Pj ztp6qvF_g97~xlpAFFqiA^NIKTOqAIkF zMsX!?*A0yvYoF*N;*QGTef?2vmsI^w0?S|gb=ediHBJdi9E?a;P$AYo4Q=4{x0^!H z`J(~d*(pxB?!$5i{3q^LCf4I(W`3+m&VwF@)}eB@o0%LKQ){b#R^s_mMP<0HXHP)_ z;p+MrjbTdgc5>ESN6jqzuK)HfX4xbmIR?s_sUC20LQ}N)gUwWn0|kClRgdHagP9uP zZOZY;+AJ|L^!`~*-mAp$w(cx@nqshgg%hH?Ci0t|C&ggyW=F2AjM18D=qQqWihecb zF)B~pfEnnoR#Uzey2>l0UK&+@*J>&~CiD4JLsY2I4!4~{D@5z{jBgwzKUA?MxBTxE z1(jt^w|S_8acKu0zS4t+1yoTV*()MMOZ`~7T5-Q4{Z^=g+?mH#!J8^-y>Hy8%HpBX zgySI+t@mwA5G=2KjXu-uPO|6vq>VUHM~LZ0I`l)`ZdA9vO$Q+51s80)Z*g6cdN?tS z8}vOwpq~9ZqqEreFg9AKm-m`oG0(MmJX3lK)zYKwYGIKhO!M>$^`-YB-7fNqhPZkr z543sBHA7k#w0Xcv?;`M{ys^86+TVQ{JVfz{xj-8I&;gZwF4LO}me8I@r@pFk9^kfz zt8OneL!5g_Kpe`-`EF-6PTTQ0?#}pkUnex|dv@mR*RS_$p|%Cz+MQz-XIf=!ck}$6 zWJcRb{KZukRU2XOjD76QInc;=ajM(%FomqJK&fyisD;S^W**Dc*NHCN8VYT{w6$^0p|qzgwiB-Xd`%Ih ztw>^9w0OGJOz#^l#3{zi6+KRjn#>U-x7{W*pE$(Jr^fWD8Sq8qD{S9AEF64Uc_T(qSw!+Rh20~WTHUl$-v!Wxy<(wmBjylE@ zf?99kXQH;bp^HoQ?r_^T!_fB{cdkTiBY1wMOy0c3nQ(IWNI~Wg7czfj*BpCkA%{U6 zmrq^!Y)=?`@GF}C4vX5z8{lh){>A0D+qDMt9AfcZ+M>hLlMF<%Hzfey~H3=+c=Ef_B;gp zcmsx|Fn%?A@9pYz$X4eJEXr$Q%7seKW&ZfGcST*sAUQ&(c>0GY2YuPw8{^JuI!`eS z%KNZ|m6ai`qqMj*aUpP(l@|R=f@wuQc{1Q}+|~&m@sMHlx9T<`4=a7Ioi?1ZC#z!) zec9o5P)4h{x~fATjUJVO`X>G=aWY zWIM5`-b$T<;p+i`Cc>ero&u9s`bR=!O_MRFJ#F?Cs1&&I<6&)r)70xk!dXE>^>xM6 z5Nx-`D3%x2W&-oIyU4x5!XBBh#nbB<*aU)*l4`yi%DE?Db*g!qbFYZp<-R9;fP}*M zUS!3~dlT^XFRx~q;V)@llT;#~Gcn%j>E_GiU#LfP2-yB!MVFP~#W{V!0YMeYV_4tQ zzTm>Y%;>CfQk%?C{??+qkc^)2Q=I;W^}-T2D?1QZ&Nc_vsu1^F6Rq51rh!BJ{Y?gM zB$vnH>ej`o(pby9vO2#1Vl7)wdqd~PqU)EUt-Ga` z#%1&Wt^wUYEAa0*D&y_zF<_@3T9hBYGRE}4dB>3##O`~t{sSYM9|vF%e9N&NM*O5v zlf8)ZKIrnGwpnSdL)qtQ3vtc*-h$bd9%0^4Q45S*;5IJ9q9R8-2bpj(%CB;&14iIB zwNN2-n z!9-|pPH&8wz7oR@w$jpBo4PX?mc#pcY>ECBHfy~Xod1}{RmuX9qnMFE5kwu^k1p`= z>@HhfY20GBe*ky>JVf%whSwBjxo(XNp z+*wzRAzf0iz0t?V^9+Bmu@X-=mFUW32goE-c|A+ju7||OmcgN--y$D%mUq6pWBmY5 z953W0r?Onn396;Kq%}2FF7-_41g*tl0FvJiacbVCJLjj009&LoiNa|s8!j(bdeXL6o7$6c$8zIO~s&l3wJe0C+0 zx@vU}Vi)~s*Qr;zr+SeNiM?rI1m$P^jM@O59V;9AA`_!$oe zyd(!s`Uo04ACj-#HbfL%v5N(^_z?XZ{XidH<`43 z8hGP+ebFOkJvmAIN2GDlcY>KGs+I6Y>8=;RVzX+PVwYXfT1=a0OC~%GFLWIqN|JvX zI$P%atr;xmJZ6lo*ol>nBfG5`3QD9!bz&kprQeB>GEk3cbA4DbDssjRhxYd|w*%+y zFWi8w<6Q;j!lq1JP1cw)VV#WDz>a!L{G7+r+79laDXfjk)0*?2o6VtGYeu7{{}#Pc zV&%D+kz*C2>MZp9%t&2u>bK$bHN4>sXHfL6u zye5DSk$=ESwZY0q-?d_;5e^JoIlY`h@Z8gQzw1R`UM0BBayOQzSFh4J+*+qIb2mDg zCMI~1GgFnpw{k5Wd!we|cXH@(|JVJ@z4B;EV-6e{r74{~Jj2zMznI0ZrpDk0vcX8slwo)q{S?$X<>b$#=8ROq`Z2k0*jMuMc8UE|&}dzW$4mu+XubbH{&$B(VL)#(vPOHSTEufjNp(cjPIZ?- z>hdxBoWHH#P79LOLrZLPVXs*YzJ?CFKH3}OgtXqUdTqC5*B%f!^z5R+U$F>G_t9UizZEjb`L0s`h(knZ1FrD=; z4Rw-*PzqBKn`qP~Ef|=+IgP%YHpqpbpuR2-V1R-SjCwy z2slfa&RXc#&Has0x0+RgWn~y3$KIA$37vu4+`cQUacI%aYnwtkk||o7LZ6EJ^2Sr! zHs0%mb#gl$YImtLxZg^)3g>8@;6^qSYter+Omi%I#;q`GfLJNvx5i6rpgIk1>#spf z;#JheJST>u&2uwWbbo(O(9{(TOTxbxZBNiw&iVWWUtSq!#WvkHGwDyqX)(PYzk(6d z;s|cqcjqp3)>jI{2d>AN;RlP6Nh^<(JJ<9xyoATL<2&=_#62GDG&4a9A$j(^nN-ns zj^T*MNvy^ZPRD*@or)3dig!w87aDg)1`I^2uL37Lm$<()0nhNEUTKd!XY z)H}(f-*yqIMHMzvNOod2A#sn{{NW)vxQ`EMP!-eJe#xGKz!J72gWze7gA+E&YO+U= z1)i1`!|cbg_#lH2`DkOc4e9=c>}lfN(QFmFa_3!=JYScPK#ULDCK(N&z_=M-<@l}RO6XRpuVu|VO~16bfP@ugRp_;iDJagdQV-`!?si~?SFT{LzbLcf zS&PM|rYlx{7VVgXvkwbPAf;q~Vc~o%Y~{WjL3E9|_!fK8p>AbG#9n*~z7SbH_joF@ zMr_Mfti0E_^~O-sR`aCr3Om}B8*et~pCi%AL*;BpJ<1n_6VaPzvbWjxv07R2^T{#a zzb0b0jIZ$SYDED%d3rP|)AKqZcRNGa1u(z?*|>8j&YP7pLW$41vv>qp7tL^=SEQlc z#ZGb_*`q!)TlMAYdvcgqXv#`4sL|Z8ioPk-r+aq2x1zN-dCc4#8cW&nb=}uxUPwePb4mK1)QYKnM=kpMS?)P6n@!y2r6!~Oxe~*>;v0(Fnd}r7a(j=@ zR!~{dd&;hE%P~ozu7;&7U6}IzhXGws&DC(6@EUjLm;r%TtuA(K0SV3=cYtg{Pl}LO zz0!);D;Bu+c3`}Prf}q3M6Y!{$ByD0B4AnE!yf65$sR~wIWxU%e`a);iuY5&1JcVM zijne3ZWmv{>c~Nfr|PQ^Zg3gFktuv?c`2-QQyVI#vkx4DdvYJQlki!TS7^=VmkE1x zb_G`bV;6NL5FKW6lDAa0nR$V#xNYCe*>`SF{sC>-SIewm)*c{}K|xLYRsExKbsAE1ec6u|c+v*EnKtq;mt>XJJ>ui8@_vAR*R*V*=B>=JF^ZZk`N~Bnu9;o z6?U#)8c^$9XtVb?bk%B}cCrLR|oMm8_N#{1gYj6JN&e+|*vsFjoh^YU5)SSOCIGD?DWb%H>%b~VzFyrx-_dhx0Ux1;NwQ)&X1;tGc zl?vWQ$BU3ogT>uen?koj+b`2w6psZ*!}GqYM;TQ+$(KppHC zGRh1gEPFF;@pyrnKwpPQtn_#9LC6GJSvC&WddDmLSnIt-vvIaWb;F6gqu^k+{w2pV zma$AOLwXOY1$?`YxG9c~KZ(o!;{7`FT6@+scNeQ!g@}_D6#~opPgYJ_lv0#s3+5Wb z>?rnvd-vR1pGZ&*wnvM%DaJ)=imgrEAWHJd3g>OHCwiJTggrlH*seN0jyKxAQNq=a z(H^tCO9tAuub*jdBzShzstSv&NKMA_rd{#^g||#yq}3)~(6&Wg*_3sXC~so}XhLUQTg)RWl5a&Y1$&!SpnO_?(Yv?`ElE2N$F+Ty_z;~vSq88$>r`uhQ`MPvPMNC9ghMi=GK=ckF&Q4 zA6R0%=sG2H{jN*J;%$+cJmYnPUl~_#TruCZ>sL2E{VQF&aPDXnLf}}|IbJI?#%cnf zdw;`T|G7ldCuCbJC)EsdO2>~^(ocGD2Q2JUC-X_+Tmq)J$elA05qim*Ki5RO8&sj| zWiTv@`tDeFO3Uayctm~FJvRJ|>XQooaP$!gqZ?|NogmNkz|J3$vGtu~-qJmg8GXWY zjj~!i??m`LPPI9V?L~)#7Ivf1L!aooz40ZX*ha&V_FvEl(wI|SJN92}#mI;@ly->^ z+Oh0S8WzU49Xn|_PH}6>aD|q%+&}L#<3X`Gv@pHfRUr}y#6Dg>n}bOVNlQcbKZ<~a zwBEmsaWow}Rr}IQK~|en*Ql$NtV;#-g;pZWfOPDPmHuk`;@yWqqXaT>^(CvweV4*Mo7_aX;g zy#(D|%mv2CO$|kC(2-3u2!hU?WBa#Z2>elxK2P~`nNb4}w2s%q!A=5yII*{`64mUD zjsV44A&WhhYQ&Q-l~nYBc})ylW7Into>7&fc9!JK9PZDa%(IT0si$=3@bBrFi0hjg z4a;L;a$%h9%JT6VeRmA$^fsmL5=T~pn3Rs?YUIw#mve5a=$Q^)42JchG#O3EPaWBs>EitW-d8OW;G}*mRkuGtgK8C@0 zsb_MLP8D?`!a_f^iF;>27j*SHi`|?C!phpH%2A2}`HjvQCARHTyaZo+eDSi9-XK-D0dEd{o-uL}HpT>}tiGqQ) zPNoA^A&`dZyG>Nem7?cC22p1l;5KST=tGZ0?p-NEQH=>0OLtOc$-V0?BM&gb#pD^x z@^)Toxhe$|WKqy_iq6}6ikvkO$6|(_ zT?wki?Km}>thsilsqr%Aa8WIE+>CH3L@c}37Xs&be5Rv{zm}y=kkGYqb8PO|R!~-X z-Qzq>1)&a$L!jkYSB$y#CBm##3B=Pd+DQAg;>-48ro2t*PBsLha;KeEX9s-v+yd-Q zR#@VK1=u6=;KOx&bL}(aLym0tGeCkd;H~lCzNR!$eaCv|0re)={$wJKHW7fH1Zt_) z|CQBQ8Z@tetgXMm9GPiFd#L%imPw0wY462j1!Fa<;;t~qwBsLdL3b5Z`N0M~OVw3( z!C!R`cylifK_9vUqmH|)%Lgra!RCj42#u&mP1!Fja73_++9lj8m4G4B==WH|H6{MW zLOHHOfl(0V8h_f_6Z9a+!mN8Du&dp@U8$lHsNfy6I*rgcB9d0p60|bF`xWCg9?Pvj z+_k@Q)ZKn~ST#c7jg}-$NBS!&l9ptf0tlv#X}CQq4+2^aWe{i! zBgVyBtO{N`7q0X~Y=l5fB-f_S5x&K}iZ?EE^YwTsG}2JlIKqN_XW2Mid!0Ua;C6bk z@f`ZROrAMfge{jhUzzi}YHFoUN@3wKi)vlZEju3<3d)id`ah0ieSBx8j8g_KsU^N#1 zHstsX9^WzpySMduTuVic&qo0BgI&YmM@p)BnQnAtxe5Tm(uX_M6MSKF8%pE3flM$;Ugv-) zRmhNMog#!t3$>&WQR>77!)$lrtIJ$VZg3Ht`&@gn1$<*eJJc1k-HMQYj1IbV4!KJc zL3>SOAfuReI-0}Pl#C;SE8P^?nCF!RF)ALu>(FvfcT%YY5xD(`{LS8pD5s~s`M4zE zF*%LS`}o)&z+632++W?WK#p$!Z>blVpmJi{F)GBx`xY^sU$Erx@o-aBhe znA*t;e+(wFtH7&*|GAc8@*oP?Z!UjJHm%}r(-7HALWEa{fsg|18{;iPOz$og_5wh+ zw6RR~g^@F$yIi8FavnyQfgztI1J7+kBhJxtff#ASqVTgIat~KQEAg&Q8z|L8*Y+N1 z9IWRcVMADykUned0eEMWi0znH5V7Mb0GoAhILOFr^k{zhh5P56Xor`r&^1qx zjk_87YN<^BZE;xHmLBKBL5jmFOki?^E`5QORjkoP`N?~RRWxp1KDgdu>qN}+X+P*W zRm_8{V@sg&Dftg2CE^7XJdSteiQRQ?zGbCOl)IUAdBfAe$ZeVJ*C@y1;ltg?lf?@| z_>jp%-p2(&R2p(h%C4#28U)^(n&%Ebd zdPH#P9Fz3&JF%7grqpje)4jiu7~f37N2=E{B2ITzKRj**-i+>HWLBZn7)~v?_)s~l zLYnMBZ5b8`^220Bj&S~%>MF^Xcjrneo8pK1NDqj^n&?fLq&QfwQN07*(OysSYK6zu z?x75d7tbQWhAiR@FGOmzJn2xurh8k6rA2wt-n4z1ec^|AtzEkUB#ssM+`~{4JGfp4 zDI8ObaMA_9ef>-p+~3L^6%%`c_p4||nMo<`7#n7FyN!33#A=wPN+K=yTOOyrT%XaD zYfihAB}X)b=Pe)|@Kld@vQf%@Wal;OF~@!hGl*hmmTRzdp#UQOv1P|N0jg+Q!0G5* z;$bqr(Y8R<7gR^66@1WLrmuz@&xmCYWKlbH(r6ywzaI12fEzj4d2lEoV>mKrWp*MP z?6!fpoHg$rSJkr|t?L!aHFfImcZS&J-JtlDjfLol{TO(Cwu{F`F)4ek@#jSt11WN? zpK9jN#o=^;eTRhC#Ktf><4tQ>FJM=r@9%>}oa=7BBdsV!9%wjM$)B(6fs?jr{~4X| zS0pcS;{eo@GaIw8D6Zr>d+DL%+7yVa5&?8FD0+W~Z5tck?zpZ41rcwoOTzxuHB|WT zKO~@H+m&vM%{)%`EyrgQo|M2y-txijBXqtH!(0~%H&i5}&+4gbpSN`1b@<4|TrQwU z5F}d0Ix(!`;(rM41rrjEumtbq{2z-DIvFEJXuK!HbY;z3+7{)RnZmsrJnKr5Q=zc8 z$fBzCa$GIC%sx`8P<%*ocP5qWy%Q;PWQX9PaiW)BRa1yph%>v1(8zwgUA_3mddq9G z%XH4nEBlj5za*<`wcFF%V-1%-PN_%_&1ORP$=uREThg^cSm(gYeHqK7ud`WHe^V-B zT+xqLBmF0E0NlFm>=G(n@>8JhT?rMjOF>EKYH55tV7{3Wivf|t<`s8q+7;jtx-M8w z(_v&Nc$vlzAX$E<{U6IM3v(w+2+BPI9NDnSo8-?<|2Ir2ub`B$+zE#@O9;+zYP5mE z`-g&@Vcbt&R2oE=N6hl>Ix6kp$6(YtzFP062m{no|Qfx0xCS|+EgQ@Q2#D z{Eir{_c(QhOMEO^HerWQ0Pnt+Ut&gG+^#tM5Mj;Fifx7Q?pi!^#XWm8WcIy3sW?ph z8cLN<2A!Uzf_&Yh67mq(|0aniS$lZeN7O6{ntS;Qe@2pXz#Iw(DQwgF}Z#=J))VqDNkF zUp@GrW?HE9Oc%Pft$0?Yvf&`R{SBdY+TZ3k?URD{uM3Phnta_AG`qz4&uSpC@op0^Q=YK7+e-F=^JMquK z^DUJX^0JJ0t|BgZV{?Xf38mx~-1xX!bSz3J)$RqrY`+a@qpka$Rlw?Dsym%o zos`bAc#-M%3IR*N+`BNVHl0;uBr7wAqVxS=&x^gzXomv_%8}O%B!sVB3PT_B!1%ml z6n_BL*agP^{aBS_$i9-jC#?k6ttk%tPN`6E!LBg~6J^B;$aS!rKY#+Z^_^M_PfzA4 zl>YWh%lw+ROmPG1a+F&sk=no_OjY94u9LYfF+B<9(q**k72YfM zV39X(`t5(N2Hk{)=KmPfB{B`YJ^E?HgQpRDn9jo&(j0GI-KhT^GQ`JZDlB5-@+K%d z@n3tg%m!4qElKtpq0>{*Z`?9+4j*Lpdu}VU-A zWJ<`E&EBugq775OJ19R<#HcTweVHx_%+bWZrmd6>x;yc7zMh^Q3}hsbc>H3ZXI?6F z#v_XhhRf8TJ!t6P5NQ1>K=Z_SbgoLdxf34#MAvL8fk1^GH29don}q{!+0Sl%nng{` zo;4Ac-yyOKuEA5hBTk-2u)B*b6?!?Y0M^Ybd*CrmwMtSspbyaJi@jFZA_m)64=3jU zb|H(XGab?QlNueTrFUMstEq(7y()^h_0;25gM>xzszn;<-@ywW=_S$kX>0|rKV-|< z&xy5wgqm{-e-u4U*!n~_Pna8Ykd(2#E!+v7>9K_f#5n`>>QAM86Ky?N)_I^B%eU zN2p^#A}o7UxIEbc`mQc+o;bH%>C0Fep?K#Ke+qF*31c|O91+p$TI}_XrQ2f9O+4%H zhE2cLv*!0}4qZg?%C+|Q>kJD+SHLh+$gra6k)XZR0fZT9Ikbv#?0qk!(w+>i;7Ntc z5zq{N=F04@KD9>Yz*6wwh15h7&)&pp%9(z5@pKLbM{b<=cg?saAwPtzUF{Pn4w~K| z(LC;Epkx5mB63j%DN?e-*wriw<$yzdI+3*><`%S+cE?x) z0d&7#?C|5scV_QjKNMbhE5*z2(6T!(J24TXg}+XY%~FbLG4!fF^Ga|e>5HCjQq!Ec zd^uRG)9-T;h;>0**en}0fa`Iu-(Newzk=VH%^zSb$Y#`L_YAa2kwAS z-+_sAD)@D*TsG1kH?YLX>;Q&*UgMBFsVFC9a?)0Vr8^DYXNNJMYI?5(a6fYhvrSY) zt6IlTSLQ8fnujmu1YG_Dxl?GOYDuttl>hPgjAuQlTBr%{qP>%i$}J5RL6zedDqPOR zsLyF}+qKq>V!?Ddj7JZ@^+=w44eYY5=jm!7e~4_qQusGqkg-EZu0?0)uE#23$Ep`* zH@w)RY`PW#=aN4iWdl_WobBfcy`XYih2cz-_=V1Xk!|ziv$9?Z1*vyko1Em>$iR>4 zi#wC6I@3X@cWl13f4wag7A=_k>y$b?4t=uSFIFnvg5>#$qm>jx`9F$y=b{{X?19Z| zW{vp22gus$?lUv|Hu^5O1@*Zkuy3>O?)O7sKdkFg+=EBsZ#1q! zT)zd)X&ed_-7Z`fJlWDesOn8tTTCcSzLdqZZTDZcY)Ib-oEdkcf%_Lq+VcgmnGqfQ z#A0LzPBbI5A`|7I_^}zkPu%{V@k4AZxAC*dB7o)A(27<5uFB3eZeSxHxPXS)zs@<& z_KXbhDOfWNm|Mf>rMGzTFaAph?HU6d(aExrot24)`Y-)DxRt{-xWka3*!WhRE~?i@ zIp~|DFCfz}-{Drb1w(F_XdE(tn{D>^g|dx!bE4b!cCQ}U_~VL!+*9_H6C#OkBZ+~v zLh|_*q!^}ZvlFW%pW-iMsX=8yWrbs>;M?tTJ+@5kii>vjf|*gLe#m{}S~Q@-pJM~E z90!`>5S{nD0Tc}eNY@Z?Q!<9~7O>9Xh+8h$bBF2^>s8q86D8_5vtOsA?jO!G0yCjo z^Npon7ucQpLihL`3^C{*&DdEL6&}h)!Wc2nboIHsucmwt0i}n;iTGT4&fsIuZXL83 z>H=$j7RY%Gn@&$!`(kf)sD|veb}t#k-o0Nk^Y571GfO~u9Mf7%lo8wHPBvlpQ`_h9 zZU2=_zp_jMJ9bKZjH*AJY*5!D+DwW2bR9`ye751XtzbhR7-Q??Tr^?&YR#BRO3Jmw z6%COR;9cvQQw`#uVILlN`^ugC!1aH%gA0$l9DK!V|MoU-r*S6W9H+oPr@pqC9A90283Uqur;O`p(8`h}`y{Wr#hpcN48CNqYXqEp33c!4G| zQ&2vdt#5G|T=kwt4A-r&DJh-{f;wQBccnf;ep}bL@m*PMc#oG2kX}FNS@i2b2U&dl zYSgXmcK;H~RKOJEL`^MsjCL{$GH`a=M zCMf`kotK^1_md()rFP)a3zJ_bvo-s0!Gz^{W>AO`*%Ivu<7I=R%n}sH>??xi-TZ~>b5WlH z>#{LdcwO%@YTcp#)GYTKzQaQMupaEf&D3G@j$f!kPZ%pIB(H#|<5kQ)_3CeJlg)|j z!p!~vTNZF2YVWTE^!flbkR&`@oU^OwlaTezhpYWNBikQX%kGaMoP0}vDZhkut__A@ zvCCfnmjjxP4OgZjMw2`)%u{A3-;!>&Cn7J-^ZCdJ{r|&?sj0Ocq*J`p=9v?2LbTxs zA+RM;bj5xJ!za_(t2wZQ^1BQ(i6S;UYxBatkq*g+x7ktw+Gkb)gkc%*A)xJ>f81tKYbtnog>PmlW_ zb=XcVHU)_gIa0(*gw!~da0nU2upA?q895k(UkC8wJuR+`xTkLs$1OFfb?lx8LY<}* zy?(<#70W-NZj9xgz2=+8q^8Eoghy{qM`=RhWwk%Pe*dDR#Jx4hf~#3eKXv>VzazXt zTH4UCt)*S&r4q9!)WfJq8)BIpJobu#zADn4)2894r`ntT~KzkeI~ z=*{L8k=4U1%%coM;dg`VukQJ$JYRi9Ec;#UGsL1e?f>Teu2XVZEr`0ctEQvn#e=^* ze&n(G_O{1i(xa4N*Xz+L09rL!|1di0+TYq7b_-fzt90qL^WlO8{(o;Eu{kI2l!I#9 zM%~>~wC6AEpS%+rX=-*=oSxW7(@CK-G;mNOmpo-VU-LJf(jFrZ(Nrp{D1uL?Sw<;v zwyPrwuB5oTKgc4Vmt@0}{0|Hv{xZpw|J}k{CaWd!;J2>!n_6{9}0!}+}KAaQ5}0Tk+^AesquJW*lphd?t93NfT$y;E-}Pd-GcWXib8!eofv z`qn+HQx?gCV|hX=rm^1P31QqO-&DayA#{;!e}O5s5I-wI-1C!K!ma_F0yqy5%-whV z4bWxml8R>auk|s$+z}M9ip&3S&B=)kHGBpB^WJT!f#QgMH0Cii)%5|m0ckjPXMiFq ze1r->O z!`x5FXOMdMwZf$b?hNJukgU5ZRXhMU>R$9zSElFb>m*IwRyQp zdM*Ely5T=vm%=?Ux2nfPw{H8sfGh#&d$VR54OYG^()G>l>*c2u9t#m<6h!WlRynIf|<={gmRXbfR|l z3l?^nsl2_Ntz%e4Boq%%eIZR8x$D-=1zE8f`RHG7rGZSp6!guDXQ!;ua>kRCuT8_D zmiB_EioA8mT{1!i52Z(?azXSQ-oDh7rSRcaBR}`8f58%hh|(U5N?hBG<|1P5Fi7lg znA#MAbVmlmXoanzq)A;pD{~#?sUCbV-~q4^Cm_Q!Tc>S+KBRc0-*6>em#Jj#JXOJ- zF-*UN_#a#gk!4@sbiF%aV{T7?y|Ptz6KkN7MI2-2Sa^oO{?F>1f6?)?T8O+^Of#Sc zUKJC;-S!rho`Mk1S|xO^;1;Bth8zyb*!#+{^yVou7XFq%ds~>>=mlXiI_;^4reBPg z$pM8ZL79gIShkKd@djfHYjv93REb-k3VROuzQoOh)#Xj+#SY13F<6suN8KJ(q{%pk z)d&K`YR$355TzVk@yIel9r-Y|G?mYB6W|fzO_q`!-b|?|pFAi&?v61V$x$qfHW`*% z0R=md47O9lT5;iTNN&_p{nhPRX9|-XO6|R`u^WAO9X&8nNyh>CRQZg5jWOXt+pubm zYk`gx(QNYU$3M+q29tit?E7qKoSx)0owYEh!z$rb?hT%riX~$!QXJndU=hL4(r}2` zdcrY4AnF!vB=kgl${|j?(tt3*nD^AJ22?H+!d050)8KE_8bBrF zQFhZ5GFEhyT3ontCNHd^)=R-|^)#x%6ZmH_X1v`XNEcKot$-A<%!mWXzF3qTjlP6QY1;VlF=`VvQI?jqD+nZ2_SBtkEqoXXN;6|Na+lWJbw>$X$) zxB(_ae7t@vT>ZLg-<#K7zUOe*<&O1TdpNpv3Sq}YPB%WWDASSLX$B+XJ$>JpuiQM} z!J8+-nm5vt`Wpua2WQ3lCuT!^esPNw-lXOy7?T7!cAv?`5m|3BEHc)E#(zBXt zrY4~3Jh%$4mO39sK<^9RKf7y8tW(&1evnkEqykQ=*z36DvdQU9MCKLgC?$uNKY6;5M5RuIslKPihEQ{A^cA&!~ z6t^OJUVx7z!sGpFM%P*~>aS{C-K?FM6`tWenYs%1Z_2kvi|C`7wo5I}8R3$5y4T{! z6{Aszh>Rd~JPb$TW)4@^Vl8l#9H#&N?tH5(C1&MXTp~58t)a<*iHXOM@-3pUy=h81 zX+*Q@S(c<#93!F~iZM%)tr~XX)UFQ!AlWWrM3_$7sU^yp-+;u^rH=;y|LYF^b6wiyzM)4D3_?NZ5R}IZC%uUhVz+G z-0*Wbkux50#7BQBE7T8@{T`lBA<%pi>a&@NLFo|2lH9lvOZPULC?O`P)E?L5(pH_O zjCnc=gXE`G@=E++OD2=RH@(8Te;GABmNPL#b>;c!|FLr5J_`OS`n44AZ@V#j2Lfal zH9j`9N8gK)>5YR(I9xy8c=XhL6^Dh6?i)>C^MgxVepCE`!ZkC5!HsV3a4~Da5F-0# z_W^6WxhRBqn~B~H+5P7Hp#Cw)=*Gh#^}%V>^_e~-)3nF)<$p zDr!<9k3bzyyg=KPUB2^7mZfFfE*X~|4t4LVO_v{u;#TZX-$@=s`X$syAxNA5#W%a+ zZP1kN=Vodx9z+dBl-)R`Xi(OxP}0{erL$L9IXSS5Y?wwKuUd!7#0LtLB1 zgfq{)?&<8kk`xqd&uDV+iocd1Q!c~^RZe$Z$U)W%t z0{i$J@X6R_#A_vI0>n`rxS$m7PC&Mlfb0`HyCA0KT-mF8Q=~{Z5&IgM^8%iQfhdGP zzTTQz=js|#V>oRHk{KY+2p~J>?npm_5|aM|Ps{A#(d9p3e_vw6UTBI)-tS@bM^v?x z*7EMfg8Q0<4%ZLQ2DUKgk;++YTfMN(TDJ(ZYx)IUa%`*70M2IevP&)!BT>$Kbceur zV4*EdSxW^F%B3ah~JcXMt0lLxNywm?Xzp`@V! z&wa)y-K}7xzP-9juF}k}ca~s)IdegYvzzs382VmFHRlyIE`NvxgazAf7WVL!#_hjL zg7YwT5|fj@8HGpz;pSCMUv=J<7nyMDETx+L)dJo8GvPFY#=N{%XUuB4f;u*r1y$eM z+!vpYL58G^?(-wWZDjVYJgEOVa67E})LeS84Da#ZdgZs&5?P&A>a6BVTintWN4x6o z!Q6`Z?tGS?axBTd7E=9+Lode1Be_M4?qbeVS}WW)K30mkNVVQ|KB>XOEbroFw`b)& ztA@?`@fh{4c>AhdKDWf6tX)2Qa2P5Koy6!tY9UWC3?+KDDRme?q(K?9*PLg|Z!>Te zgTn50XC>uQr7-JsY|->Bpp?7>uUdX(Db~(EUSD-0lXw^xHjgJSufMWv)q!PvBSU z*>~vhn`r3TcjziGeLlB?ffXTjuFX~9$=+c!^=4oNH%guDMhnq?EpjsM`&co*3+`L3 z8$u-p$n*;A^4)9lx)$PlI)9>`i4vm1$+I2{QJHo3a^30{%G6?2oeO0Vr5E!bAW4Ov zXA%oMY45It^an3?2X(I^j2ng*&?#r;ur+>a#qM+X-3mkxhAEhTG)U< zmgwR?RBfW8v_wpAq_ef4I;*3hhuf{>{4aMx0}EgI>{b57+0ODY1#uOTg_SybMT^On zi?#6!^~}}%mmJ>7dR(l-rEw*mK`9D#Ec=iOe?t+AL&_`>G!g9)5b7Tl%ny4P$0Tb7 zPVAV0ICc>-y0!9*(-|xHp~N;1-GrDIW#)8x<|YgEk!Z9}8wP#xNt)%RN*%$#BvdHr zm5$EAHG4db^A@~J6$ znx0|RqZE71n(%H77+*dD#(B=7{@7!b?3Pnd8T|9ZC&Rp~J5|m2J1Qi}g{<<++MkzS z?<@F?N;RO(aS1E1X_SU_jg48+N07xull`wM4;Qx=n%en9=;)GG(hiI2Mue+I5CrzB^l!4;8`Fi;q7qhZH_P>4l+a*Y09$y2*j#`>UQZx_ z!HgcH)@uW+wQq#psy25DKoG?`KB8$pHh06 zqa1aU{z&a*`nlRr)EV=#25QbiwK%Kjt>x=wuVyLSPU++Z&Nu&HPiNv|*dgtjjwxt=1zbslP~A>|m4`l_odRI{Wi<`2kFs0tRR#U)T#ejyhR& zY-t%Zt6Wk+I*x1Utq*74Z;0#c< zGK#UwBbr?kz6Hkn4#mK=Ak4s<(S>vDPru3_sl`q{bT)adcGF5M!(Zs=)prhVUn8*m z_ZcV*qlMka&P}T@Tx>n|EOK_whyjKb^zWAbwWc~EkvP_(e%w|%+(nyryRR}^jC=M;rq9V>#yByATc8D{g7CS8TG_mTM=mc7K&GUb6 z;k|yFE&Q1GK6=tGA6G&v=NQ#toyVbWYYwP=fD=3;tyY|y06~B1Re;B|C7QHA1QY9Z zW1dyWXz4?Ix=dW|Cl#@4JwY&_z_)}Q!Cd>U3YBjIq5hc%Dx|@lrosyX8+iQ$uaR_` zGVgL(!F|kl28el~j=p~?YrF$lA`)%14Bn+}e2L)lXJr8JN|PG=t=(NwT;%kKNeI`h z`_R>tLxv|B0{y!@c52$!l;J(ke-lc_abZz@m)!0HmS{~H{Wk{3{=DZB1Z95sH2PzM zY(^e8A*b^>EBb4<06Jrx5aJP}LL!&L5dfoX#r0&?JJZaqkAKtAPdvG!KTtcMEt=7U z!k_N=UmrZaZv5hG#}?XK>5(Lj2UeA6*O4YEv$UYk0h9K7s@du}TOk18_U7+G)j!ea z?Y;{<;Usz`k3hT>uKs-MeW9%mvRB7->F+wjoxTz8@;k_J(NF)*Y{7C#XP0m(K5Wi@ zR#U)qt0#oHiO+-+I7}ze71xn7Y(Uq;dQ_#(GU=l=k_-LsfAKOXfWyeKHpkZO^MPU? z-$NLa!a@~Nhz}`hWkR6Z*~6uAu;vUX^U7qod><}+hsJ8uN^eg5JKT5iY-wNzfdRvl zl|85)@8$bHz-Rn{>86ilpruuzX(ZRxq5l4iZ%Z=m5?tLOYOkbF8(cdzA1CPf6wU-Br-?#l)Nl(PqzC+=^tF5Z? z6Ca;OTa^JE`|16vT5DF4kksNQRt?gA;f-DKqr)S2j;HKX2-#OH^H*SlX2)Luxx4&Ij<#oG(WIX&xr&lWxJ#OwuleC zhWHk%*9Rwvj_-q~$Pc+8-wsdJ7-ln+xDV$t+BzKz;D&w%v>#xqr`pQ#X*Sg_FJikh zmuviwBMr-YC^$rjhT+$8Zw!FwCHFA6{S1b`^^`ef?HT;@i+sj4l70> z?re}zbJat{HYr)$=KDAP$4N}*$v_=SBH9%T0I-#J#9Y1}6FN%VK+6rds+By#6`b>i za3aRNkDO(>hJ@Y&IfX2WR?ivc|(ZBMTRSR1odPxRlY!FO=?)IyE8Es?L(zz=){W` z7E85|QlwTNF#IQ-be0GCtCmdYN`7KRTX)vu%xg~IFXP&l?ldA>5YbC?JJ(M~yYRKs z70Cno!qCi4W@oS8mg~E;8l)7g?oC-N4X0Gg0R}u6x~Zvv;^9FX5;k9Y|2hj+8c2V_yNxiZqVmeVo-^;K+l^7_ zSP8)p0s%1NvMR)hbOq|e5Md@U1dmPwWVnSNe5j#^#0`1I@x;olVaL>MfoYsG==Y7R z(2}sxr|+SUDEt{*PaM#6o$Pj4NKGAmC!H`C*k3duo$$#*YuJWOpqkA|c8Ju8m`lYC_JRh|#Da8{B)@%EGjKix{wI~y*UH7>DH6&UYJ z84C6kzOVjer?JDgA zCD0D!J0>DS25vfXb}0f9vm+Q%1>s(r<~k5!L(GvJlvE6S{7({oJuAq+KluCAMbW~B z(*c1Y?UF=vzc(O%pL9NeG>?wp#GZ;PJ?Xqyt8*m$#PVF>f4P?T?9ab8UUQ0ImZfMh z-ke0ll8q*yDr<0|1OX-h>9jU$-3Rvdh22e46X;KOiKl0cm$)Z}DMCOM5TeFn0))!^ z`OZI^(nVVC?Ha2$ZI}ErYk^frxYX1j>A%PZCO!Sj9g419yky?r)*n%z@h|aG#CSBX z?pJb9pOjQqy)H!G{n-!y{E6e1S#*VLCbfYA8#4E0Gyv_ZbvV7Il$Ql)5a!wErnwO- z)!>e{bmG~@ktgSb6f#P6`#Zm&R(!{GmdWC$YSZ)`1_1P%h*+>Z3+NF&u)a~tD1Z1Z zx??5u`vtgXlZfM~%x+T?%uly~3Q#6HP6tC9BW694*zPo7oAsl6iD%(vyB_ z+Og*6Tl?G<$Y9{q>=L)t&IaS+$}Xr@B6VHHwZHW_f04+agokEaWfw*UEVY$DMoEuR zX0^S_thL@nz2jJbum=U(A3*laUtq&p4#c+NlLFwP*M<4pCKTP@r4-bFWDS11!lw0D z>gnN^s(9AxOQL81LwR3DR$oT#{d%K5X^eo;ze9S}1pN!p8aYZa73e7e@!yikQk&8` z;P&k5Xrdxe3+O38xG>O&WOH+C>XiX$$qNrA)dqdeD>BdibaKex((xnVb)zr!xy5N9 z5$J7m-OFno@kMq(jaf~cbru87FMJo{@D_ZWaIEZqPY{FR5ieob9UKl+ zmGl15e@rr)TAP81g7IJgXg!#THwwsp9M7~Tbz!5~*9~_3`~ac4gbR}08u8v=^m8?N z(QCd)8-B=$GN~<211@QsO49AoH+bI(BKn#j6hhF1X~HMqgw`Y-r$ANrnI_^+S^ z`3@a)=?RFpK6S2K&mv6!;Y&x;t_%G2(Bt5PPf?NsbEq9D0+m%RY-0GJpJh!#A}c zj=i{~f*ESTy~#^F_{ESokO`m$KiB{hAP<_X7x4?Saxy2c5 zH2IXyqb~-)?-bWhW@*4pyrM$hfSVxG5xVNXUl^TKA<^{?@VxlxWSdHTu^2_->4+vT zD^tj6{}*W}HnQ>bzT5L-nHv{E75@f!Y+@xB|hJ^QGi3MCd z$3uvgyUri|x?G}GeLyZlfo#m+=H3EDXsP{vL2+^dOua5}_2&n^rxOJuK>~`{$E*3p z$N#Sw!Ews?^PaC@1pW3 z^gLO|IurVDhyNxdpaG9IH&;`Ko+P{x?gj=PG%2NzzAl{g)4`AP-i`8<(%Cw!<_yI| zuT5VsYCfM1nAGO?+ao|%J2EocI+V3UVG##yQpZydUm>&V=ch2+l|)7uI3Eqh+WP|@ zADqEd@9p7kIzJrewuWP5{Xfl13S+z7?itHasN8n$dtIZ~f@%d>stPXMisTVF7};CI zmoQ7P9gGY(?5;oNn+4tf05y`dID$q94@T&gUKVj?#R}al05b#VK>}`Qw!)Ery1f15 zJNB^Zhu=5?^3g+Pg9L80-@=I;vm6@jg+mg$p8G*s7(^;t&xYmBO0vXU7q~fNVG7JD z#+0uKKc9BJ&utk{9=Y%i%hEhH{pviVOkH=ZUV!JA9Q8cexRPzQ-jYKoe6~ z<+mRSQ%Gj?ObC6h5k&E{Smi0T-2aN^HQ*JSFmpIm(TvW3YIzqz_+>W^j&=OQIrmle zG`_&jSa!C^Kpd=W0!(tC7gLK@D2pFr4_^9)#|qVO%Dw^u{hkXckphkwpS{qYQ|tGU ztJ6cowMea4K^Et9PrkwkKh!v?ij+}=H!6bZ(J9N-G%V~XVgX0u+0%Ai!xm<40j-_2 zWk-&bb#LRiX;4VIBtF}U8!}`5u49>{KXDl~e&aWUf_M)gie5n@rHy>UWQ&mM=8!G?fd zil70yg?7z!8vXrfCNBjw>lt5I7XIYUxp4Yx5i$qI?is(8f<#DF!%s8n+5E-TEU~~w;vAZXmpDz#QznIcB>s5z^h~4gm57tj91yOoO`z& z+Cn4rdiSf>PEf8|P?=gCg(-)r05z{I-3-TF;{_Vo^WY;stH*NhO8Adc^8NmdS`h~?3f6z%R~%RXIzt~5InuZ(5fe=)Y`pwtnNlA9IwLEqzF`T za&WNY>e44-<1>T~uV#3(XF@92hBF=>+-Cn0%53S0MOi;}4Fcrf>RM@^j~wbGl+iQ< ziGKXTO4_iT^VW%x>e?lZ$ixX1bu`*85#{#L?C~Ug2nZKq*}~ben?NDXQe2^r&!FIf z>k+THh@p3f`f~!z-%rR)BBT>x19=P!j{6%nn2BSY9!ql?!TU>Ic3c(#Vd_qmk>q0kQ zMxfB)bxel|;^5!1Zg46Zs28}9GOnatWiqlDs5|m{1=e795k8|=4e3o@^jePH&CYEn zcXGauFI6)db)61EP%`79_j*7TA`LVFLh}3KYWm~v5eg6<2Y9=~Z}zU-&vjd@Gn%fw zly;a`bafJHpqU|Btu;n+h8tTtQZhDYM|{nFuwuN;u6_0t+;I6nW4N6ii3_}V5<;6I zSz4EPB5uZ)PAKhp1e8~QrnIkBq`YPBC2Y$upPn;*ur22lf_P^v56c)0O1rTX7VY0F@} zpAhOXhBad6V>34Er0vXSB`^p$VL_n#rx@1~E84v}LDtsRgtg;Z;2Y*m=M4;pKm>xMlHL-$wmHV z8_Lq|bwX3QqT+gp{+Vmt=5yQ^>6lqpi$!L@J8X8;vjONjhYTV4Ey6CW=dm$pnkTUR z0q-pI>W?hw1)ac|jZE0^5s1$60bqhtCWeLX zWZVWr`Q+~C4`Q6fhEZ5o3nZ@Vr7}-$e1SvbR}AO_xA7GiU?RX| zu||fA%m?Uw%3!Ys$A!Z)TmCv}L2P8n+4uTDda@aNrZdudDs!w*P+L=hk_?tmxdWc* zkB@5K$Z{R7bi|W;OE4}h7QN~XYpY}XWw#SLV&7Q(e!fazGL`i%4V?hXMT*npgu@`m zaISa}oNP8VH=BHrWB2+QcM~>Hpqfrw4o3caHgW2~84xPU7BMvR(Cr9ipCN9c?0w5k z%FU>Vavir5b5$OoUL7ZnQ{^xkID|;`GWlz0n%il5C7C@K#b2#cM%MP5{?y33N_Mwh z2rip$&l;}_L7dOJH|z$d*JqPYa_lyoaf5(5zgFH+U(8;eVBb;i+|^Dt;@!WGRl~vsm`e+9*!rAW)^r6tiu9v*r8I&<{AOlR-52wa9>dEoEOI0-aCT#-BqSYQ zAce`$3{m9VtufJC3e>zHMs1%NO1WT^v_N>w=W&xsud$79f^LZfABBjcBbXgw(qtsf z%(;7;A)h;}^rOrjcm|qQf2p8LN1f5S#2G=4F~(5JF9r>SQ=2*-(?>XYPk*Hp{4lOw zqALM~q{4B}JA2K*?uiN2yga-S4R$iH*_tL%d>EbhWr#wrIkDLt4k9P3D~LGG!0j4> zBJfrExTlyuf8&ttgXDS)zoD)btsSUp{Eee^^F*ci^rY~N0@Ir=nX%XKNf_i~72K4o53>55)qHPA$lq@a zd_hioGualG=cDy<2f9n#A$F&0F`G>(7`N_cD(ZstT=gbKKU9It+3XsHpJbYI=_%iu zPRin?1r)Wc(5Y_+SHH(0ZHO4jR8}Bwi_Et6Mpu#QFQ6%7wI58<-AuiIb_?wlgGF{$ zV=!$($D}bHcoC%HXpzXQ>zk#TW?gu|%`W9nzV^hm&X9qsL?QL9pQi!?EvR|YtbWSU zqX0n<3(#K6XnF|3WplbiBI@Ggw6ixIt@oEjtw7GH${2kc_{g9bW)K)<>PhZ!^=48S z$VgSG4c}V7tg){Ff|Ze0NfEF|GMcF=GqJ%(=}R#(iP`X0iH@P%(bNv0co0RS6vtcr zLE`DFOT*Jt`zpa6v+|7-=4iDHt~68TXwEiABB2>;DL+I2LtYQ6yIlbtNq#Bnh7+X6 ziPMIpvGL70Dtc2J_54y#p6Ss#LFO}5xV#A6O7^kjGztTiK>=pK=$b`S-CAyCdMv0GK$)6c=Dc6MV z3Iys2ez`HT>j5&umLU~D--v|o(sO)c0~-L;0bZ=WSO3x{_V%X_#oBdHlj0GDW|c(^ zP|H9jaWh%@wcdd}S|TL39nrHF+mXEXJ^b+L{7se6*QZPX49dl_h^xV}Z7z0{=~at` zgYSF=TB4M}3g!EUCOQlhdT`~MnPH+vj}73{oIUn%r+}VYH43i7i;lo6O6fbkdB;e$ z97Cg(q9$jMn+d2Zrui>hQr)30%#oGVmT)H`x7&$ty0q_@$9Z>CWE&E|&)*prg+;>KbM=L)jN!3g$*OGaQDXfQI*{G~+9}lK6cg<3AYbqW@XegA?6=RJ zo0GzT4u>%HcGJlMEWq!!LbKZo(XUZqF>drsKN+bPfPeu2H-5I^JR{S$(grg_^Y=$K zVMV2y6DE9cg4gueKf!DA176b?Sthizi!B#``X2@RFw_r8>n7b|5!ADyf+w+`|jS7v=Vnga97s~Y8YMq~c z)KR67wdYRwRS)nhW4lV2TZ#79^4mAW_@gh_AQ;^Rm9 z7*z_m7}Z{6t#RTvcai@(?lGDvK|{gXVjgO%AV3BJwd5OPU<2jH-esVtgQCx8$QNGH zUE38TEL770<=-`k>V6LRxbZU9-CXl#HFk6zBMXXu5?!?m{q-S6s=d5|E{AxZ`g|p_ ze%NsM6;%wn8#8JHrE}QyIWs>s;y^b3Fv1n@E_Yll+5X06(J^Jqko9DmZ)mECu%I`#mQL zHy>`y;+bj^awdq!iPPi2vQV(U4lwpQ)q4?C_bBp(`BOjq1tDtMl{Aq7rk~rhY5M=5 ztRF7jhE_5J^g%t4JO8Y+{Fto2#$OsN1&t2i!Pv!w^+ z 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 z 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 z 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 z ze$T(@wz;%hL4f94tf0S&I6!%pl8sYe3%c-i3l$L%nm@bo{Slt#gjbAMr%)O=hp`J9aXf|_e1S%-r(8W}$ePb;o1|>cpl%)PVj$X?Z!=Q+# zSdYd@xNP@Sh9(MV!EHFfF?QEYOB59qYs+eO@ye=PRc9($pj_*cY%VZhD^}+}MXVdV zj98ou0eFX@Jq)+u>FELmTn(5wG`A@%f@abKeNZ|?9_`Bsi7Vo_#UJ6N3S1o$ADMSP z-Ov5n7lI0E4JkNS$D}xaGIAPx>Z5elAi%!p{_FSC6Cy0!4ScFC$3w{+(alGku~B+5 zmX_Bn@;5ExsRq*;B%lGr0fu=(LVT;Vr1M(O50!#D;3xpn|8Fc(9rv6=3`1T+|MM&< z9NNSap5)CBMcRW}%H0=IHafQ=C4dLu=qMGnC*MN=L7q4KfUm2&A6ed;*>~JxhZ_`X zj0*Y&68C!j0N>c(+VH@yI|#Z=S38>kq!Bzye4dz+^g1EV8Ttc?-#p~Pcu1J8fu8y_ zXf)h>0-Dx96;A!mnS|?akXmS9|BTn>wG)$B2b9`jMgz%b|M7!Jq|2VSz4}|>OHbAz z|IH_gPx1#k;Tm0^MP**(%mFnYoV+jPk!A2Kf?&63z$H!erbgoGO(7(@P~c6zxR>H^ zrXXcv?a!d(!~cXUXGK~R3IL{WbjD@48Vr$s${lw{OI8CQNxG4Ab(RpvW;NiP*D3JP z`);(4h8Mn@r&ld_-c!R^bmTG7*v^dlbU42a4E&6|_Zsy}#MY1DFYISK7Il~&A}NMnQ} z8AwEcg_lgR37&Fr=7l1CiS&WbI{($U9}{h$@u^edDE>D=ICC=ux#iQ`fzI-R%z3Ke<^%Bpg0o5NFDLD6S|ziBaf;{pD)|1Im?oyYfs<@uXO& z=yTd&QgW|9Wpzjx+6d>g*iYE~tV{jbQLH8->T%{1>l6JJWt*17@6WANh~RzjhutOy z4cym3eh}`9x(*?_3Edtq)JydZ4WRiW4Z?uw35}8cQz%Pt|0j?$BFLi_TLWplqWLjF zIFjdPk;r?claK$Qf_8yQ{9C3zRV|U~{TJ@w`5Ay80($q^Ol+J!Zu) zJVIW7IXVFGCTm{%22<`(^MxH<`l`R}X+m(KnfV$|;6=k<`&ksva4e497JyQ_dfMKH z6F%WcUZwnVDVsG&VSp#y5VQ;Ghn5vl%CvTp__=_atKw%}NM8-ofsP7V|F71xekFg% zUfsItmqv+0dEwTl7dIR+-Ci9sn_q$>nd)b~pS`x%=Gy2<-1MPLHk0;(&7_@J@40c; zY;qsZAFI`Dy51NQw@E&@DLGF~GN)@Rk`&HtHOz8IlyNOsbwhf#fbTsh2sM7b{4V0t z#W)S#N1-?cyO*i{!=GZnVBtSQDvIKm`L1}c8GP%P?Hx0RPBR!mUAOMW=mVro<2dja z!)q?XdAKz7T9i2`)a%;g}=y zr1ih=O-0s%hsH?pTOv(vcmtdS1q$e2bwCSY*Pt*076NAj=@EhiW|8ISCg;#C4rd`HMKaT&ChsAC7vx1v@Pu8NbQTs~ zHUgV?L@&W2Y3DQ_=mzT(-e3a3Y+VvKty>X@?+{QjLExsDw0vuXSmI_H@m^0+JBIilR=ebmc zSuz+}mW`o(D()?oIb-jGr20`$CMPr@37-wGQjt@7kkW31!yw4>@);0n;36ncJD_0h zuY#@XI8iMhI(<@bSPef$DTd5xTIc;O2U>oh9>F&OjxJ%l>gcAYzsN2tbOWAI7)2xv zWG7}3egXf;=nl%N6YiC4@ty`qaDacl9On$@Oc1pvTeTkx+_t6h%M{ke-Vo5`aG^Mh zk)0*eju3`zQBobtL6SQNtRCsTN0>3Pj=)MW@)V&-&^*f;g5}4tSY(A z#=^0JOuDHzCv5NxyldPh1n386nUUwj73fhA%1etiGd~mLxYbhizAVTvhXfNWoi@Sn zT-FOL|D<}uJGY0@a3t6s&In893~8R6EH@`-V-_7wwLrhRkdWormTXS=gwFo*#!JwY zOEjoCea8+`*N<0yS}IO6)=m!t7aS+iVAkX5hO1rYB{Wj|15c5ql5KcH?`gzE3t#&u z+;EFyuM;6bcO}4fe}|@3lDN(I*U!E^mVdtU77M*WP9s{4uV>@FO41{RNhNNV&=JU1 zcUcr`P7~y$x;0!Z_B5K{Of&OFjtR5cT8I3cl?4C!uR_1Ka9T|3NAE_zS(vbqoi*#n z)T%?o!+C=pHcby;F(+7#xW;|6kPFkxTJ3J-nX2aq+1=OI!9IZvZy2gLEq05`0*s_( z68`S-ha4Z6xa&3&(9{fW9ASR~Im!mSV8Y>tgzDF#yyGl~g-5xvh^eF95uHiYJ*<`Q zimv}BxxxKh)uS`}f6EV1xubF8;;G!bZAVY8)w{i~YP~zdy5`}ZErLZ=LoJ0Kp;trs zo_JMgs90Ei%&WQar)fockc+&XUOC^QMfyUw<~`i`Bd+DciLUR9^HMISyQb5AAnY*P zbffi_i4DQEa23_AjGEkRg6ke@woJ4b8R#Q1$sU_Gh?)&4TdT_a^GeIdiLMk@8sKjj zKstF?Lt$S$ybSP(`R9S4w;HeFh53e3olTlb-g#MN3WNr_u!I9g{9RUs#zl@p&*gvg zhP@uBu*E%8i1+G)ipu%@!-Dd+;nVsx& zYe(;zW=rrt^|Hm4Z{C};KvQUa&FT#cDA?fwY1Kirb-Zyni^WV{)^Lg=XxB?iiTf84 zHR7L{+Mw4#Z9XXEE>%q!J_Y^N=b?=;XC<#f{^bI7+PY#-6~X<|?X<{~H}4AgNgPVp zcVtmbd7u9ncGE%3DD!@1aba4N;{HtcgO1Q zk&~ljW+f1neV4WNjwup4^%;Mk>gVUs7m-kk%=_dT&UD`d-B5ozKRZOF=yjt1 zU8uWj>*QdA+~Je-qz z`CldOoh54E9{rbFM(Xo_oJ&YOQ)xl!6SW?1KULfG?(wItXj3hD3rp!{NJdKT_KBbS z4LtDiNw?QQ-Ih$~FDAOU`R!;+0SPl2Xld|&QiXiDCgF9BFx77XZWR5C6TM9kf&sq^7?!UU)rAH7JHB}N=;)O`H~cT+UzPN z<7ZHLv|8S}-dw*(8qxC%8i@_lPh2=1xV5{YG066gC3R)iAC+&~cV6{9o%v>L1K9^p z8{3q7EnDLHzshI1nwNLM;byd#wcLQy+;*$ zKxf?FCY{zJX^b4}fyXuJAN8m0#>IxFRW+J9$ek1Gn$bmj;M0OK1=fopjkS~2A05K> zJXWzLjZZZ|W!Dg|NXh!^A;NWRU*K!L-)-L%JEqy6`V7O?&^C~w&*Xn>CV8??%E7oD zze(H+0bP5_Ti5P7BMrf*H@}>VHSvy&h%|q($w05WY_XS1&Y?b~a}94RpF5kt&xD}W z2dAzR@qy2rL${3*td7~VwlX)uE2G&@*o}{FB+4^5=y zT4R-AWdu*hvzNkhg895}2!~4~;o*B!8UVMoCcTP|v$cpV4e%JB)Q@K}o=ox0IP{ha zq#W#zWyoK_Q}Vu~n3@$+lJh>#rdL{JG0_OyverJH%UIN&Hi-t~6YNF~l*-k(OT$}b zk-uFo7D4M8=wk>}pHw&#h{z!4>Ga`VBJl)yTwjc-i!|;$ABy~na{5hzWZyylv&)jV z3uHxJ?N~u+@@A>ZAb%XR7aaHg^XHs?uf4vZu@_2}en zyaHN=wpojJ6muvLla)F`b~`R-&CYx55Z5xc^5L%b)wOloZr*-%srbr|iXX0Dx;N2s zb=t$od6UGGBU!R(%Ltz~^wRB2JWpZGxLnww{b`FkygtaXTn3k8Sq2L^do+h{*H9U= zRQ@C4rXTYxV_(#}#&ZAd*K2udfRo)Y7g)+r6DP_DAURr&bQG`UJXAR3E0r_^!D%e;t!rp{QFuPyWBTeQPH+rBN6otS_YdNXS7>~JJ5aI+`og%@=D~W znK~so^vv>xD5td&Bud^4+T(Ju=UtyHp2s)lA(ZXUjyc9oLJZX(3Tt4&OW2 zv5x}wBq$!>VTO#k+!?%KbyV=WyHni2i{(cVh=M$7Z{OXEZ(Mx-%t*&zeRLu{T;h6m z6xwDm=ZdVf`*k0I-GhFhYIEN7LA(z$hY?|5cg_kg zzzUnU$!EC1omod^W;D)C*N)4%QE-+GIn}*Awl}VL={6MNW*%FB=)Z&2(0tD$wqMpz zLIS;1WMCi2*kzlogMCLkHoP^lQN)P&bp~s;$*VZ-xj&z-|z)wk$yUJ&B%8D4&`}dFF0Lt~=y9ZViTvitD`|9LWFO}-Q+~G|w_L^WI^QjJt zPV0}liJ@f}YmJS5Fk#x{O*BFGBQ8eWZ|olNoNzS$DQ03Al@^D34 zXjTg=6YzF6++e|elFh(o#Ye;6^wMLC)m5%d+d`E%j zzj(fBKrtk(&*;>6p~-dUW_)j~Ls_LXOh{+=&o1>?o)aqA@a!|SylMrBKC($&Rao-vz@8agw1gi!?Yn6- zazkmnlkUV%2UYs(+7i9ps0qD}mMjRCnw5_$eB*eoITG|*?16Kiun>a=+Th3N(`wK; zfo$XcgHeRdPL$^0jF{dZ@(>(jLAn+)EkE437IdJVpREJBgq5xAm~!~ zu;98u&Vt3pv;CJ|c*6v_(Fg=dMz>HPWcnwGXIheZVo7AZUGsLknWz`0DyK4cwpQC= zWm6aH*8M$0s7y(2M#qaeo*oIucr<>J3LGxX4j36~B#!kUj%l*fY^x)$eDl^{6Y&57 z#8bFa+yb8gE3l`uB3^7b58?pY=p|YycBQw=p_!zP&Ban22KcSZ1U$e3^f1GnlBChz z;Ed2lRpguC!5vn{ciUz>t_YZBdy9hH7nRH;JocSq2^+n+g13Xn_^P!-pG7ge z5$#&JJ+|2mnLIrCkgA|FA6HDzkQN2iN9#ZyoboE#9+Kh=WAu<6LaQKu)uqB-wek3> z?{Ivbm-=aLZ-)(cHgV_*ZjWNh3qD6yk0?ZL9P%CTXb2OHgw>-}UUNH}y(HFXiX*L&v)-+na}v;1mq2I8Ij1vArfIt19Hf0mX{bIy9>*x76s@=q$fD27gto$@WaZey-5RDiGoul)cmxE~o| z-}%o6)idj#1^Xmih=UzM@Z{Pbrbn6N!)Zz;f#70}=Iz_F^N>yJ+gPQiTgOTR>n=9k z-h>-Be|c?XyoOjNt!QT3+ZXT8P%kyJ7uHH!Dq@~w;+WR)F44qMRc5Ut65=YcVJao( z3tz}?OnbF8CT(*`m6M&00&iis%QDt#KC3~5VLtBsiVpVDw^=W#-aVtUc_}SGc8mmB zIE`HaKdm1_)lQy!y4(|am%50|{EXxi4R>=c83z*U5f=u}N=QQN(bu~pxV8W5HiS!& z7+xJ3$$VZ~@WvC428hOGnCGY>*y!#79?XcrI&$Km7fC|>5XF&3q5y4}G0p%XvhKED zQmr@hQgtCgO?4`!K%leN*9LkPfMJOARJ65}kGg-jpsnVB^`2(RQ^ivg^^3FMM{7M# z;mo+b7?S>T%=fvLa!+-suRVgk7ydX?utZjXYxhuU$hc=Co7uz>7AhaYQnGj^t!!pZ zISk?FdEIMYBs^c?zD0o}BsF6XRYtAD>y;2pWF$r@dECjl^H^nKhiI?}^P>l8F=B!z zgpwO?W0*Z>lHKsKGHY*JJgVfCrlXD0d&y?!$Dzg%s11TAmmZNr8Qz@9-_L3b4C9fR>m zV~?+L=!aB`(fM1}XvnMh{53NHbSakAc1l^d`!)Px9M)R&wlZ>ZEyHylP`zD=Ab8OJQJ9(1!!9&-?tr zr!$X)N~+@NO@(zSDZ?H`@Qcw4p^gn;X)n7)-rbe|cvovhU7hgr8CjJDNT%2T!yy|b zox1gVljNy%Y*A0eGsuw*E03ZfVTQuyY=FTFVDf)+;9GHJmIxAd_4v$#pdQt2yIyRk7=w)sCTPgccp`=PMmwl z>71sgHo!;wO3Buq@X~1CJT<`9X)gLgNSxT*jY(QAbQq2NB9v~pav?5!N=-zQ(1#`- z3H-suv^jWuJsb6YD(1?8tM_>MzoKg6X3v7Zuwly&J_g^kyEF&kKLZDfxV18Kz}@U!vq9jS+1cR|0o^;eMx>-v?-nkQfK(8sAI z)gkOSq&~+PhlK>VG!?a@mM}8FqE`nJqy{i#r&HbT{Nrl#+kSLOFm#*GS(-&qtvL5>?k!lR5Z~d0R>zZnq`d2ZDnXpCWz>Hn#hPZ zYvAKIj9?JYYHNUeH8j9cHsH}-WFYiF4Y%5TzE&3C@N&ekjgU6@E|5T|PuB``&qV}O zaUjms*?-oVK5GAP_vfkBdi~PSX`~=kbE)w_{8)!mXI{MeIE4XOtXiV` zTmKv&X9Z%ed4ICwMI~)_X&D$L3=eM_L;EgO*3xGT+-@AoVi(`F&1N38 z(=g5Eb49D3Nt(-OB31HOO#-gjO4GSL8)%1Yi}4snyY?~ByWxW=W`Jfs)UtMRWcj5& zZB&ajJS1|8RS+V{>ggp6CKC!50 zgTaN!j*WcH0iC6l6#FS7PLE~Sx+{UIUcmnh6qAw|S&{@w;8@GBRb(K7>4L~5&T(u#NVYXJpA#Eeg-!V4&7m$tN4 zK%2b`TmG7XN=uBLX^I)5RdPgAxqzRJMYh3%66wb+_;m-@OO<)?}EgDw>gZ#VYYJ+$FN zyJk{iOl{p116HGd0K06)c+ z0#E>x>3PcX&JwW9DoOYP>6gx)tw_1$W1v|K{4DZ;7=2lvxh>RD10!I zlMKo%xqZw73Ly^WN&S`$=JBmlx-O7^`zFBpLRSekAdm$@0q2DuDfeDDiiNohZ7kIF zSAw6}^8qTd=i$axsj=k6@1_G32YL{Q&51sWu;f4y3V2bd8f;R3noM~d&`rBC#ib!L zsW6ssx@OFXy z=$4Pj%JQO1u?-J5A&jLz&h%VU+NSZA z5LAL`vq|#UJn=+gDM;#tCrS7VnS0R9R%xb8MLade9# z(}i(LaU%r~vh+g6m+?|#h5=s22<0=o@^cSw%LBzCnysHXCh^BPw>AnBwTx0FL~M7! z0NQ3!aF-V6sXpWoSFJk*pd=4Clsh8|(ZKPHr)9dcQk&V!@}EW;2?I`A3&^M?53aEUz*Ms?0eoo4;a0HoEd(PFWbAJc3dP za7RW@9nb)&g3+50o&k)AeR=fy;anJ%w}Kv+5T7I6w_)4yY8Wv0NqcXdL;7r~&swJP zoK@g~k9>T}!N_#@>GdT~sYNQ1y}-0Va!_$MM(H>8&(Z^>d)+YLG)mP&*CM70TzHdN za6Vn9qS+Szg~$h8{7qjqnwxd%K$W?$>sHB~yZ?C&39Skxq=kBU?h}N?R)yB{5@8l^ z6iQikA;z=+es0{utpK+42{dD(m4h{BM8Y*uD7{WGDKgP}K;g zF=As^LM52pkke+>MHR(~LIT73Sq7lC$`l-w!i3)-I_o1hjC zDzyH(2PzaX7d+%`fRk~P8(Tveq9FWoX6A6J{5(`jlc!6z`#7UZ+f8eMpWb&sd)Woh zeFRY&6y=~53<~w!xQjZ@$M0K1cL|u>j`FehUFn8fJhf3nRShT6*eM5ph`Z zbSXIC>-PmD&XdwteRgG8Ei?7|!svYYI!4S_Y;*l|x#Uz*@(ITG5wr4^hr4>5Ee!^z z%n(nVxwRy8Z+x0hWI*4^d#25G``)Z9<{&uu48hROR_W0UYDZ;W_B+j>w-LZp4@~#2 zfSP@RvwrM>cxi#Ut<1ZH_Xjcd@9w5|pCaR=QgRwZ&(yKle@95Aj+I$|1f%PK4X@>- z@9|)s=X>7nISE?e9xhx=QWp;;yEEtOED8lMiY_smBrwGB#rLnBXCB^zOiIsbxkm6$ znK3d_zA83=H(iQ*LtIyKcSZknHL7^w!YrKm!l$-|9)#r3wh)I(vLHe!V$5%Dobfu~ zJRTKf7e;+-{n(@H{d6ykZ`qK>0gZ~d>BM1JWqrmGQQc<5SdA}x#skIE2}$n zg3yC0=f;ZqfNF*3Rdp_#FS~I3$58Ff$|z}0`BhLqf0^Qy@}K$)l&qOPgUY;&;m4Mv zpovu+JM~P>7H-dNREL!4!-+v2*}-DPrb$G+i|ZxRp(+1xyZkUk%)>A1R9psxHGwlm zAly_)^JOsIwfFf#jMseg==#0W?#^zmH~<_Bm%9WE7>w;~0XCxUeS&~>rWlko&RGM% zH$RCWFcY*jUJd2|M4a+iD3W~5`Xzu8+UI<6ArP{_LVYd$pbHDi23x_s%?G|%FU+xd z&?;|ky! zz|M=_gWnBFDd$ft%}^Pwj`7ux4|=90gg`M%OdW(_C~1?x$J$xSgvosab$|8ZX+D|9wQ~dm76)@*_ZWPPn**nfGp%R6}~TS;YBS~tTr47WH}k$koGs^hnVDg+BmQiREpMM zH?;g!yeTZNM4mP0Q~*VyiO$foE;4sy{5~s&hx}?5Oq}cP!EQ=SiiT}p+v{^fm|FK94${qY%0C8I!nF6(*R*!SYEV$Qpw6Hr;BkUgnoG&6-) zrH{VEG~0oxMQ%6KDQ+RXB7Yh83+2HG^Q&e56N+FyBj?A$D@pVBO0CBY9NY~6&bZ}UU?W^oq+)Cc{0!NA@Wq$PKT>G)ybRy z0=kKe5e(F}y)FSf31lH*e?X^!W5xb?*#Y#{n;&4ht97N5FIFy`bwLHL;NIEf6>N=3 zdyQ09rZItr+aE{*B(DHXX_cAEhi}Qk%(%Y&g{e%rR1B*mMTT}VVcJL2M^FG0C}mT* zYFC8xLXgIMSN%+qWPx%0ugTCpk1>!NX_xSRR{|pZ$Jn{)2=oqL^0Oss=928bP|z~# zwz4vfopdyMk^%zM=Z&=KAf;`z-w_{8KL9duj?)8}$=pUz{=~ApUB)(^1|f($ z^AsJv$X3OG+)sGYGfu0k91Z zY5{~e-T0cLg3uNea4&P}ef-Sz`JC?0b%DHhBca%B(EOzo-iR`S2?2P zGd96je`A5{7qQtf2~ysr!A_SHX@C;N{Vqygl$vwAWOHn~y)#ey!Mp+>>28JZ62&o* zwDFnRH2IeW`Y>x#UnsE#K#Qmqn_jLSS`bbO$l;&ni)!FMad1YYxi#|8O#e-1+q^^< zx^Udj&WT$SFMcVeH|3zr>4QjeLM5-*{daVbM=;lU@PDvYefU>IGKT+Bk+@0YYgBXB ze9A;Vj^fVk`9i5Y9TB>9Z-PfPaWjknbb=H9rJB-v{vJk%Q!}v%I3y+KevtYDFc(w@ zxD4tU=>SZGAy@rNb>)kB+Y6!V@Qr)TN%qH5x0X(1Jyo+`H;!=^Uw*n%!*5Yy4O&r<@xwX-AqwkmaK{nH4`T zzKg#K7N>Wuk4>05aLV>1%_e?{KY*n0jy?PRz{}M;X@W<8qfKwbN?!8&uQw6O|CK%W zG(mg!wR@JUBJ1Q5xN$pzls9WWipFeiPqQ-9YTKU|aAJAc;qqjc?vw2B-coU8^$G9P zwufD_nJ(YLtaLu*S*}X%Xq9MNjbeFkm`=2v>+x}wW=aP~wq==gKd^5AB z*}9kCw>9>zs5$mPU$O!1XHwXeb(hEMTZ;?wXQK92k&bz!5LaWiyUo9;2ffc{$OjpS z7WDFmZ57*h)z-?<>pM|DlRQ1{4maAZ>XV$f zUGgbA7nl3?{VLb)Z6d?;oo#{|oo}rWl>1HbxmU;`tPxPoB9~HgF|`zY@+u{|EsIf zXmmZF?ksJ+t|3z;L6i3^1O9+bG$m6*L@! z56-im(t$&ZTH)$^aM5yX>^^()d)k0#=<%GAHNFZ>-s!oHwbw42?&z;fAF655`tyGA z5j}+})sX1Z^9V20TAZu*3#<>O;x!$b|Il+hV07)CgK}@zO^cec<0Tn$$X2QH3ZaY7 zv(|s<8D+OPmL`O(IwT{0gX1=p=qGT?3U>JBDuEO1Jv&4cQs&v93ubX+?tgygW@ote z(UqHQ`qrv%O$_5H2jMZj05zH6FL?~n(6MIaFkL_)XYBD!G1+6W^WC4**Q^RS^7Wz0 zy|*Cs4Ld!Fk|@Gqm1XRIw|7V)y*a<_L3!v2x8TBg7yUc#r&8F_zWC{7i*7sHfxKx- z8EJW`MLQzfBXaFWAbrlN6qh*`F*g?c9pea{(dUd%Y(f(QySa7`s_SOg2(ctE#AlVj zFYrf&nIU%v@rR^LXa<$Sdfg)H4=<{EcYdIVuGXc+`3oej4?Qgz>pA#9z4nGxx}}}i zE^0t@>#y+S2O}YO`~T?`OAqK9DfX$Jx9GO&8#`=ubKi>C+|B?d5%BakmfmU4;D5~0 zR0T+D*-1vq?6-%*AI3v8_DS(*G}a0HH#D|S(?}9SsAGdrk@64EGfP&Al3`E;luSM{ zaqRd%bKZORSq4`f@MF_FnJJ?2YW*bE)x=$}LHMtJzUh=YnKo zb+YgzO*cuU20hy){o&Apco}!gdxz&#{cCMHVs_m6-7lY~Evu7p8WqXoN0J3TCIU{X z3oliIOjh~-{tHAooP(x2Il5HSU&zuDgSqXw%=_AGKB_9Xdf~li-J(8({hFhsJpLvz z?Dwd%<7oo!?4n87iX)5OY-$jd9*&fLR9h`Enax?{9k%EqyU4H`-I%@loCaS!yT9iK zxcte*FYiZP7mCD9jA2ou0|>D}D$0C(V;!l_I^qgfQ+HTEKAYUq6|_^Lp+nJzP$Vv| z!L_B_K;rMLzhT$G8GCCJp> z)WRoj*7@;FyK2I{1Y<6xNF!Y|gmrGfsuiXfZbE8NFwJPO-wDam;%0q10t;@Mm4qS{$W#&zY{ z7;4P&9ihHdBh|01(j#e`not-rY>l#Y!nHd9F5{d`vG|;WVLKYaaQ5UDax;*pj5b`) zsG|=d)7|VeAuIft9X_$d`d-wqzO)F z*NrA}TpEn|mF!yum!DnMgs799Aci89pNtcUm*fL%q&h?!HAN7l%@fI{ZFjG;<3(@h zQ*Le!YPaXM6!a)5I(ex`6^*9o=i79&7%G$V&18Je#r~(=%U21$raP`=#O{}HDCX;WFw^Aij z+&v4qXA&82Z-y>U$FsUu3JVP&@S|4}hukquiNiPxj`%>(7Wf3KW3XcoFNMBRvl$+@ zU%o;aPrJXjR33w-z8GH1Qn`|e)VRzsv&VFo38&Q)Q-}jF z#F8=oY3+{1cj^u1*z^AixLDl&~svgR`ZIEs?P$tw;KT@@18;b=qKh;t3_;?bx z6MJN8NIz$H{v>dcrTp@TwH0hQaD0`|S(CRTM;{*2-3`y*2G1{wlXYO+RrAaksJc=K zGK5iy##2hQvkE%cgpdLTc5=ebL@9k>3oC>{UMYvs?w0Dewq2p2 zk?y@QmVmGIG0aZG)N_ybv1~~rt@dz{{G;)Oe@~I?KH#$RClFdYuC^E^ zDmRYTiyPZG5Ci(2K5JuSVe-JLgSpSR8${)>AU8=zoIdq6J4B(9p5SH9xhCzzWw{uP z-q(~c++YIl5-!-mk5Ox(N^*+z3?~Z= z8@YIET;Hg-u4b(6;d`;RhBc05UAI%TxvZFu7&zW@xa_5*MrvA$19jX;yQdhQli**V zkik=m!PhWhJIS-rk#*yvQ)-5>u1r0+Xr{wJ3r^q7B~Jg>IwfQq)0KSoH{rvl<=V$8 z{qtg~)L7;lM0`M26g?1rsv&LpOveVap1+V9q;4W@Zs>4nhxaA$%M%caBJC%pP5?2t z4VHOmQ@GTy8~XYN9evBO0VHO_wv z`2IG0>_g#$TZGXl@JkR66%)Y&wt5CR-910Y69;>qQaKjsq7M6HROLm(G>Ia(tg(no zrT)4Y86^5n9|4!^G*Pier-sO`iH<=FFheVkK9dhZTp2YMry4yyKb)_xk9XQ$*BUax zq^KzRFtt|x4GBgvwOnt|Fp$}IL=6v6^}x-@^!SAeUy{jV2o>cxc$I~*fes9f1y*IMK{)YZk*Ix!*=W~;S3>V0Scb;XnYvG)~DD&urJLm!+J zTsz#xe3$NBjb?Vn0O8GqC6KmBMpaw|A(6M#$>E50$yi zpM+7Ed$(qJzNhhTStpM)z{AbO$Bi!Z^^{~D>)5y+Y=eKUf6IEmQ>j!AI*jL+;Ul%3 z-d4`$LM^#YfAq>*shcVANlIBv9!Oz@F=rnI^uexLI`qG9dRiw1SM z&86ryq5Zk8$Q@*0z-Y0& zLc;u_!Gn`FeQ1;|xg7H9`Q;l{748QPjFZyPJ|S5JvIebm3*!Ps#4T6KpTz4L8r(^- zY8&SEs0sRqmwkez6;WsM6=ZE{T`9x-(!i;<>aPbs?xfFse?~5wN$k^~tQ%?0ipSQY z+S&4223LyzSSy^+5;^Q)qvl!ffn2xa>PZ_ymQ1U|4l=CzZVXTC14`e^Pq90UoU74=`<`**Pr}2q1|W?pCkXIU zhlVN&WAlohU7@w>o@P%r7->fX>v5ne(vD+=P_`qo=D6D4QvRuQ7~ZAMuQVk)F^`1= zVy6y8I@{E^JGbWzXiqStKqc4XyycZJ<7Jo{5f#|GY46{V;+Za3e2ah`9$n?|s2rEk z88D(n_EqPlJ4(zUP!I|k$*FEnIQn{|)F-HCR5EtTz8E~WgW1uxR^i@wV&i|fg%`_1 z(9EqN0~M%A;w{#)S|vbWpOm#Cq*=;%cAuE3_F>m_j0!u&yVU`5)9Xj`mo=0zJr zJ_$&xW#XkdJi^GCh0P|pzK-6TGT!quKcNM6rL~-DOC^?VCiS@|s8A3V1CIm}vt!&6 z690oNVhR_4#5D*lLk+tdMz(oS%oHA|1KEy!k@ld=~c4h=fgM&C91_kVt zT;IJJRSUwr?PLcE2(gKq1*6wYYefd=MwHcznh&u}aXagg%__p}fVsd*I|`jSFNXJ% zVTZAfQ~cG1w6YMp!o0CFNae&3cf0n=1VWO2hs;o3jx$BHuY)#@jcqGHH*mZSZwmoY zShuk!{bLW4VK$mFCM{F;a`*;wHKZ8{!FbD_$PmA6Pee3&eI+>W0`nA5!!8L!#-LHw zrfRgVlShyq=w_m*C!^dr&l*<|Ts?e|fufJ!4A1GXA04c_6m~G>_Rm?_N^ZTFI&?5B zdvpk)k8fBCTZS4@VgYEY`USk#qC3aO6;ZrkTw^Sl(M`2w2!Bd1l&=SdU5!; z*^A_F#&H!BCwEFb372|hQr8BAV-IF(TxfU;&iIyAC zerh`g7$cH}STxLK12?GTc z**TD<*-!WmihjJ}$51}~q1PLz-J!E>4%BG&tgVhv{Q9;O#E)+boYe}xZ))+875@{} z!i!5H79||IdgHq-h~RNe^9N}j8ENT;2)%Vj&bJ*reJAOTQnyFgUTjwWxn;kaE|;PI z_xDvKe$RDdCzAT3SJn&9-27FZM*-+W-;br)%qOpSZU|s9x6Wc0XZf`i2{{yir@ZF- zxfg1KywDwRso!SMmb2&ZeOm}(#W&XR6ylpQ{B33E?}CwVo)e=%Bp&BJ{&$r=G_Vm$ zQBL|&RSy||o?h@wbc+TsL^sY;&Hw{3({PwM|0-k3qKGRF_7G3~^jV$*edFcF2F1tq z__l8O_Qe@)d}Gh7T5OHZp{LQ>`mlMQmB@sqU*; zCg4B0ye;(G`ZhAX9+dU7r+@sr|1FG$2}%+jZFZE)i`GtZI%V7Vs51`VZmk?05ECQh zYQbQZK;XF3s7zCSmkO`Y0>&LOidhmuQEQex+lvb<21mA|}uu&lJ9Fy&D}L8~z;DdiEmMRA}m Date: Fri, 7 Feb 2025 23:30:25 +0100 Subject: [PATCH 3/7] Preparing for multithreaded content filter --- Backend/Handler/ContentFilter.cs | 1 + Backend/Handler/IpFilterHandler.cs | 78 ++++++++++++++++++++++++++++- Backend/Handler/IpScanner.cs | 12 ++--- Backend/Handler/ThreadHandler.cs | 32 +++++++----- Backend/Scripts/443Header.txt | 11 ++-- Backend/Scripts/80Header.txt | 39 +++++++++++++-- Models/CompressedDatabases.db | Bin 0 -> 12288 bytes Models/Filtered.db | Bin 0 -> 118784 bytes Models/ScannerResume.db | Bin 0 -> 8192 bytes Models/mydb.db | Bin 0 -> 73728 bytes 10 files changed, 146 insertions(+), 27 deletions(-) create mode 100644 Models/CompressedDatabases.db create mode 100644 Models/Filtered.db create mode 100644 Models/ScannerResume.db create mode 100644 Models/mydb.db diff --git a/Backend/Handler/ContentFilter.cs b/Backend/Handler/ContentFilter.cs index 368e458..29c685b 100644 --- a/Backend/Handler/ContentFilter.cs +++ b/Backend/Handler/ContentFilter.cs @@ -27,6 +27,7 @@ public class ContentFilter _getDomainPort80 = $"{basePath}/Backend/Scripts/GetDomainNamePort80.sh"; _getDomainPort443 = $"{basePath}/Backend/Scripts/GetDomainNamePort443.sh"; + SetTimeout(3000); } diff --git a/Backend/Handler/IpFilterHandler.cs b/Backend/Handler/IpFilterHandler.cs index 7462ff7..00f4a02 100644 --- a/Backend/Handler/IpFilterHandler.cs +++ b/Backend/Handler/IpFilterHandler.cs @@ -1,4 +1,5 @@ using System.Collections.Concurrent; +using System.Diagnostics; using Backend.Helper; using Models.Model.Backend; @@ -10,6 +11,7 @@ public class IpFilterHandler private readonly ConcurrentQueue _unfilteredQueue; private readonly ConcurrentQueue _preFilteredQueue; private bool _stop; + private bool _stopAutoscaledThreads; private int _timeout; public IpFilterHandler(ConcurrentQueue discardedQueue, @@ -44,7 +46,7 @@ public class IpFilterHandler f.Start(handle); Console.WriteLine($"Filter thread ({i}) started"); - Thread.Sleep(25); + Thread.Sleep(128); continue; } @@ -59,6 +61,54 @@ public class IpFilterHandler return waitHandles; } + public void AutoScaler() + { + int i = 0; + int j = 0; + + while (!_stop) + { + if (_preFilteredQueue.Count >= 2000) + { + if (i == 10) + { + _stopAutoscaledThreads = false; + + while (!_stopAutoscaledThreads) + { + if (_preFilteredQueue.Count <= 2000) + { + if (j == 1000) + { + _stopAutoscaledThreads = true; + } + + j++; + + Thread.Sleep(128); + } + else + { + EventWaitHandle handle = new(false, EventResetMode.ManualReset); + Thread f = new (Filter_AutoScaler!); + f.Start(handle); + Thread.Sleep(16); + } + } + } + + i++; + } + else + { + i = 0; + j = 0; + } + + Thread.Sleep(128); + } + } + private void Filter(object obj) { while (!_stop) @@ -85,6 +135,32 @@ public class IpFilterHandler ((EventWaitHandle) obj).Set(); } + private void Filter_AutoScaler(object obj) + { + while (!_stopAutoscaledThreads) + { + if (_preFilteredQueue.IsEmpty) + { + Thread.Sleep(_timeout); + continue; + } + + _preFilteredQueue.TryDequeue(out FilterQueueItem item); + + (int, int) ports = TcpClientHelper.CheckPort(item.Ip, 80, 443); + + if (ports is { Item1: 0, Item2: 0 }) + { + _discardedQueue.Enqueue(CreateDiscardedQueueItem(item.Ip, item.ResponseCode)); + continue; + } + + _unfilteredQueue.Enqueue(CreateUnfilteredQueueItem(item.Ip, ports)); + } + + ((EventWaitHandle) obj).Set(); + } + private static Discarded CreateDiscardedQueueItem(Ip ip, int responseCode) { return new() diff --git a/Backend/Handler/IpScanner.cs b/Backend/Handler/IpScanner.cs index 2971008..65f2aaf 100644 --- a/Backend/Handler/IpScanner.cs +++ b/Backend/Handler/IpScanner.cs @@ -33,7 +33,7 @@ public class IpScanner _discardedQueue = discardedQueue; _resumeQueue = resumeQueue; - SetTimeout(128); + SetTimeout(16); } public void SetTimeout(int milliseconds) @@ -76,7 +76,7 @@ public class IpScanner f.Start(scanSettings); Console.WriteLine($"Scanner thread ({i}) started"); - Thread.Sleep(50); + Thread.Sleep(128); continue; } @@ -171,13 +171,13 @@ public class IpScanner _ = IPAddress.TryParse(ip.ToString(), out IPAddress? address); if (address is not null) { - responseCode = /*IPStatus.TimedOut;*/ ping.Send(address, _timeout, buf, null).Status; - //Thread.Sleep(16); + responseCode = ping.Send(address, _timeout, buf, null).Status; + //Thread.Sleep(256); } } - catch + catch (Exception e) { - // + Console.WriteLine(e); } if (responseCode != IPStatus.Success) diff --git a/Backend/Handler/ThreadHandler.cs b/Backend/Handler/ThreadHandler.cs index bafcdac..4fb3e54 100644 --- a/Backend/Handler/ThreadHandler.cs +++ b/Backend/Handler/ThreadHandler.cs @@ -34,32 +34,35 @@ public class ThreadHandler public void Start() { - Thread scanner = new(StartScanner); - Thread ipFilter = new(StartIpFilter); + //Thread scanner = new(StartScanner); + //Thread ipFilter = new(StartIpFilter); Thread indexer = new(StartContentFilter); Thread database = new(StartDbHandler); Thread discarded = new(StartDiscardedDbHandler); Thread filtered = new(StartFilteredDbHandler); Thread resume = new(StartResumeDbHandler); - Thread communication = new(StartCommunicationHandler); + //Thread communication = new(StartCommunicationHandler); + //Thread ipFilterAutoScaler = new(StartIpFilterAutoScaler); - scanner.Start(); - ipFilter.Start(); + //ipFilter.Start(); + //scanner.Start(); + //ipFilterAutoScaler.Start(); indexer.Start(); database.Start(); discarded.Start(); filtered.Start(); resume.Start(); - communication.Start(); + //communication.Start(); - scanner.Join(); - ipFilter.Join(); + //scanner.Join(); + //ipFilter.Join(); indexer.Join(); database.Join(); discarded.Join(); filtered.Join(); resume.Join(); - communication.Join(); + //communication.Join(); + //ipFilterAutoScaler.Join(); } private void StartScanner() @@ -91,6 +94,11 @@ public class ThreadHandler _contentFilterStopped = true; } + private void StartIpFilterAutoScaler() + { + _ipFilterHandler.AutoScaler(); + } + private void StartIpFilter() { Thread.Sleep(1000); @@ -131,7 +139,7 @@ public class ThreadHandler Console.WriteLine("Discarded DbHandler finished"); } - private void StartCommunicationHandler() + /*private void StartCommunicationHandler() { WaitHandle[] wait = _communication.Start(); @@ -142,7 +150,7 @@ public class ThreadHandler _communicationStopped = true; Stop(); - } + }*/ private void Stop() { @@ -153,7 +161,7 @@ public class ThreadHandler while (stopping) { - if (_communicationStopped && _ipScannerStopped && _contentFilterStopped && _ipFilterStopped) + if (_ipScannerStopped && _contentFilterStopped && _ipFilterStopped) { _dbHandler.Stop(); stopping = false; diff --git a/Backend/Scripts/443Header.txt b/Backend/Scripts/443Header.txt index a663ab6..1e15810 100644 --- a/Backend/Scripts/443Header.txt +++ b/Backend/Scripts/443Header.txt @@ -1,9 +1,14 @@ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.5.111:443... -* Connected to 188.0.5.111 (188.0.5.111) port 443 + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 1.0.0.95:443... +* Connected to 1.0.0.95 (1.0.0.95) port 443 * ALPN: curl offers h2,http/1.1 } [5 bytes data] * TLSv1.3 (OUT), TLS handshake, Client hello (1): } [512 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 \ No newline at end of file +* TLSv1.3 (IN), TLS alert, handshake failure (552): +{ [2 bytes data] +* OpenSSL/3.2.2: error:0A000410:SSL routines::ssl/tls alert handshake failure + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* closing connection #0 +curl: (35) OpenSSL/3.2.2: error:0A000410:SSL routines::ssl/tls alert handshake failure diff --git a/Backend/Scripts/80Header.txt b/Backend/Scripts/80Header.txt index 00cc4a2..178cfa0 100644 --- a/Backend/Scripts/80Header.txt +++ b/Backend/Scripts/80Header.txt @@ -1,7 +1,36 @@ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.5.111:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 1.0.0.95:80... +* Connected to 1.0.0.95 (1.0.0.95) port 80 +> HEAD / HTTP/1.1 +> Host: 1.0.0.95 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 403 Forbidden +< Date: Fri, 07 Feb 2025 21:37:37 GMT +< Content-Type: text/plain; charset=UTF-8 +< Content-Length: 16 +< Connection: close +< X-Frame-Options: SAMEORIGIN +< Referrer-Policy: same-origin +< Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 +< Expires: Thu, 01 Jan 1970 00:00:01 GMT +< Server: cloudflare +< CF-RAY: 90e685af4a6b930d-CPH +< + 0 16 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 403 Forbidden +Date: Fri, 07 Feb 2025 21:37:37 GMT +Content-Type: text/plain; charset=UTF-8 +Content-Length: 16 +Connection: close +X-Frame-Options: SAMEORIGIN +Referrer-Policy: same-origin +Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 +Expires: Thu, 01 Jan 1970 00:00:01 GMT +Server: cloudflare +CF-RAY: 90e685af4a6b930d-CPH + diff --git a/Models/CompressedDatabases.db b/Models/CompressedDatabases.db new file mode 100644 index 0000000000000000000000000000000000000000..4a547900dda6905478f96200534182152e226a85 GIT binary patch literal 12288 zcmeI#&r8EF6bJC68_EX$xD7moo?14%^ytO91*vw~jM<^5(Ygr2y1J&rv;L?4C#GT# zj^fSB_&!LJzPyI^)6;u=h+itro{KV1D;AJ*LMgdsj1bbbqhm)C^}5bAL7T-NbC+B$ zFHUTMbNWfn0((I~00Izz00bZa0SG_<0uX=z1pY%{?i>w-XGf<@O?>_$`-A%oG!gI3C&jBon(l(`EavEZ$7(&Rj;*P$ul2CtiIv3m0k@ z3HvfrE|lN*>)zZp{Rjv^00Izz00bZa0SG_<0uX=z1P)jL{r>^~Tznb?AOHafKmY;| PfB*y_009U<;78yK=7C|d literal 0 HcmV?d00001 diff --git a/Models/Filtered.db b/Models/Filtered.db new file mode 100644 index 0000000000000000000000000000000000000000..ccb8ab2383d3860d6f1e6053719d5b8f77ad2acb GIT binary patch literal 118784 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 literal 0 HcmV?d00001 diff --git a/Models/mydb.db b/Models/mydb.db new file mode 100644 index 0000000000000000000000000000000000000000..f0567d0e17771070b55102f99f0196f52a46dfe4 GIT binary patch literal 73728 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%0ATM!5Wgqsma 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 ItBIcd0=B|nZvX%Q literal 0 HcmV?d00001 From 8d659d4261a81dd99caef9a51662ac35d01ec20c Mon Sep 17 00:00:00 2001 From: Rasmus Date: Sat, 8 Feb 2025 13:02:18 +0100 Subject: [PATCH 4/7] Implement autosave --- Backend/Handler/ContentFilter.cs | 93 +++++++++++++++++--- Backend/Handler/IpFilterHandler.cs | 1 + Backend/Handler/IpScanner.cs | 54 +++++++++++- Backend/Handler/ThreadHandler.cs | 38 +++++--- Backend/Scripts/443Header0.txt | 76 ++++++++++++++++ Backend/Scripts/443Header1.txt | 70 +++++++++++++++ Backend/Scripts/443Header2.txt | 70 +++++++++++++++ Backend/Scripts/443Header3.txt | 70 +++++++++++++++ Backend/Scripts/80Header0.txt | 28 ++++++ Backend/Scripts/80Header1.txt | 4 + Backend/Scripts/80Header2.txt | 4 + Backend/Scripts/80Header3.txt | 4 + Models/BackupDB/ScannerResume.db | Bin 8192 -> 8192 bytes Models/CompressedDatabases.db | Bin 12288 -> 0 bytes Models/Filtered.db | Bin 118784 -> 0 bytes Models/Handler/DbHandler.cs | 34 +++++-- Models/Model/Backend/ScannerResumeObject.cs | 3 + Models/ScannerResume.db | Bin 8192 -> 0 bytes Models/mydb.db | Bin 73728 -> 0 bytes RSE.sln.DotSettings.user | 3 +- 20 files changed, 511 insertions(+), 41 deletions(-) create mode 100644 Backend/Scripts/443Header0.txt create mode 100644 Backend/Scripts/443Header1.txt create mode 100644 Backend/Scripts/443Header2.txt create mode 100644 Backend/Scripts/443Header3.txt create mode 100644 Backend/Scripts/80Header0.txt create mode 100644 Backend/Scripts/80Header1.txt create mode 100644 Backend/Scripts/80Header2.txt create mode 100644 Backend/Scripts/80Header3.txt delete mode 100644 Models/CompressedDatabases.db delete mode 100644 Models/Filtered.db delete mode 100644 Models/ScannerResume.db delete mode 100644 Models/mydb.db diff --git a/Backend/Handler/ContentFilter.cs b/Backend/Handler/ContentFilter.cs index 29c685b..0b444a0 100644 --- a/Backend/Handler/ContentFilter.cs +++ b/Backend/Handler/ContentFilter.cs @@ -6,10 +6,24 @@ using Models.Model.Backend; namespace Backend.Handler; +public class Content +{ + public int Port1 { get; set; } + public int Port2 { get; set; } + public Ip Ip { get; set; } +} + +public class ContentThread +{ + public int ThreadId { get; set; } + public EventWaitHandle EventWaitHandle { get; set; } +} + public class ContentFilter { private readonly ConcurrentQueue _queue; private readonly ConcurrentQueue _unfilteredQueue; + private readonly ConcurrentQueue _contentQueue = new(); private readonly DbHandler _dbHandler; private readonly string _getDomainPort80; private readonly string _getDomainPort443; @@ -58,6 +72,11 @@ public class ContentFilter { if (_stop) break; + if (_contentQueue.Count >= 500) + { + Thread.Sleep(1000); + } + Unfiltered unfiltered = _dbHandler.ReadUnfilteredWithId(indexes[i]); if (unfiltered.Filtered) continue; @@ -78,13 +97,13 @@ public class ContentFilter { continue; } + + Content content = new(); + content.Ip = ip; + content.Port1 = unfiltered.Port1; + content.Port2 = unfiltered.Port2; - Filtered filtered = GetSiteData(ip); - - filtered.Port1 = unfiltered.Port1; - filtered.Port2 = unfiltered.Port2; - - _queue.Enqueue(filtered); + _contentQueue.Enqueue(content); } Thread.Sleep(_timeOut); @@ -92,11 +111,59 @@ public class ContentFilter ((EventWaitHandle) obj).Set(); } - - private Filtered GetSiteData(Ip ip) + + public WaitHandle[] StartFilterThread(int threads) { - StartProcess(ip, 80); - StartProcess(ip, 443); + WaitHandle[] waitHandle = new WaitHandle[threads]; + + for (int i = 0; i < threads; i++) + { + EventWaitHandle handle = new(false, EventResetMode.ManualReset); + ContentThread contentThread = new(); + contentThread.ThreadId = i; + contentThread.EventWaitHandle = handle; + waitHandle[i] = handle; + + Thread thread = new(FilterThread!); + thread.Start(contentThread); + } + + return waitHandle; + } + + private void FilterThread(object obj) + { + ContentThread thread = (ContentThread) obj; + + while (!_stop) + { + if (_contentQueue.IsEmpty) + { + Thread.Sleep(1000); + } + + _contentQueue.TryDequeue(out Content? content); + + if (content is null) + { + continue; + } + + Filtered filtered = GetSiteData(content.Ip, thread.ThreadId); + + filtered.Port1 = content.Port1; + filtered.Port2 = content.Port2; + + _queue.Enqueue(filtered); + } + + thread.EventWaitHandle.Set(); + } + + private Filtered GetSiteData(Ip ip, int threadId) + { + StartProcess(ip, 80, threadId); + StartProcess(ip, 443, threadId); string url1 = ""; string url2 = ""; @@ -125,7 +192,7 @@ public class ContentFilter for (int i = 0; i < ports.Length; i++) { - using StreamReader streamReader = new($"{_basePath}/Backend/Scripts/{ports[i]}Header.txt"); + using StreamReader streamReader = new($"{_basePath}/Backend/Scripts/{ports[i]}Header{threadId}.txt"); while (streamReader.Peek() != -1) { @@ -192,7 +259,7 @@ public class ContentFilter return siteData; } - private void StartProcess(Ip ip, int port) + private void StartProcess(Ip ip, int port, int threadId) { string fileName = port == 80 ? _getDomainPort80 : _getDomainPort443; @@ -200,7 +267,7 @@ public class ContentFilter proc.StartInfo = new() { FileName = "/bin/bash", - Arguments = $"{fileName} {ip.Ip1}.{ip.Ip2}.{ip.Ip3}.{ip.Ip4} {_basePath}/Backend/Scripts/{port}Header.txt", + Arguments = $"{fileName} {ip.Ip1}.{ip.Ip2}.{ip.Ip3}.{ip.Ip4} {_basePath}/Backend/Scripts/{port}Header{threadId}.txt", UseShellExecute = false, RedirectStandardOutput = false, RedirectStandardError = false, diff --git a/Backend/Handler/IpFilterHandler.cs b/Backend/Handler/IpFilterHandler.cs index 00f4a02..cce748d 100644 --- a/Backend/Handler/IpFilterHandler.cs +++ b/Backend/Handler/IpFilterHandler.cs @@ -73,6 +73,7 @@ public class IpFilterHandler if (i == 10) { _stopAutoscaledThreads = false; + Console.WriteLine("Autoscaler started"); while (!_stopAutoscaledThreads) { diff --git a/Backend/Handler/IpScanner.cs b/Backend/Handler/IpScanner.cs index 65f2aaf..8dbb371 100644 --- a/Backend/Handler/IpScanner.cs +++ b/Backend/Handler/IpScanner.cs @@ -108,16 +108,26 @@ public class IpScanner if (resumeNow is not null) { + if (resumeNow.Completed) + { + return; + } + scanSettings.Start = resumeNow.FirstByte; scanSettings.End = resumeNow.EndRange; secondByte = resumeNow.SecondByte; thirdByte = resumeNow.ThirdByte; fourthByte = resumeNow.FourthByte; } + else + { + CreateResumeObject(scanSettings.ThreadNumber, scanSettings.Start, scanSettings.End, scanSettings.Start, secondByte, thirdByte, fourthByte, false, false, Operations.Insert); + } // Empty buffer so we use the lowest abstracted ping.Send() method. byte[] buf = []; using Ping ping = new(); + int x = 0; for (int i = scanSettings.Start; i < scanSettings.End; i++) { @@ -148,6 +158,14 @@ public class IpScanner for (int l = fourthByte; l < 256; l++) { + if (x == 75_000) + { + CreateResumeObject(scanSettings.ThreadNumber, scanSettings.Start, scanSettings.End, i, j, k, l, false, false, Operations.Update); + x = 0; + } + + x++; + if (_stop) { resumeObject.FourthByte = l; @@ -172,12 +190,12 @@ public class IpScanner if (address is not null) { responseCode = ping.Send(address, _timeout, buf, null).Status; - //Thread.Sleep(256); + //Thread.Sleep(4); } } - catch (Exception e) + catch { - Console.WriteLine(e); + // } if (responseCode != IPStatus.Success) @@ -211,11 +229,39 @@ public class IpScanner Console.WriteLine($"Thread ({scanSettings.ThreadNumber}) is at index ({i}) out of ({scanSettings.End}). Remaining ({scanSettings.End - i})"); } - + + if (_stop) + { + resumeObject.Paused = true; + } + else + { + resumeObject.Completed = true; + } + + resumeObject.Operation = Operations.Update; + _resumeQueue.Enqueue(resumeObject); scanSettings.Handle!.Set(); } + + private void CreateResumeObject(int threadNumber, int startRange, int endRange, int firstByte, int secondByte, int thirdByte, int fourthByte, bool paused, bool completed, Operations operation) + { + ScannerResumeObject resumeObject = new(); + resumeObject.ThreadNumber = threadNumber; + resumeObject.StartRange = startRange; + resumeObject.EndRange = endRange; + resumeObject.FirstByte = firstByte; + resumeObject.SecondByte = secondByte; + resumeObject.ThirdByte = thirdByte; + resumeObject.FourthByte = fourthByte; + resumeObject.Paused = paused; + resumeObject.Completed = completed; + resumeObject.Operation = operation; + + _resumeQueue.Enqueue(resumeObject); + } private static Discarded CreateDiscardedQueueItem(Ip ip, int responseCode) { diff --git a/Backend/Handler/ThreadHandler.cs b/Backend/Handler/ThreadHandler.cs index 4fb3e54..d1f6d8e 100644 --- a/Backend/Handler/ThreadHandler.cs +++ b/Backend/Handler/ThreadHandler.cs @@ -34,35 +34,38 @@ public class ThreadHandler public void Start() { - //Thread scanner = new(StartScanner); - //Thread ipFilter = new(StartIpFilter); + Thread scanner = new(StartScanner); + Thread ipFilter = new(StartIpFilter); Thread indexer = new(StartContentFilter); Thread database = new(StartDbHandler); Thread discarded = new(StartDiscardedDbHandler); Thread filtered = new(StartFilteredDbHandler); Thread resume = new(StartResumeDbHandler); - //Thread communication = new(StartCommunicationHandler); - //Thread ipFilterAutoScaler = new(StartIpFilterAutoScaler); + Thread communication = new(StartCommunicationHandler); + Thread ipFilterAutoScaler = new(StartIpFilterAutoScaler); + Thread contentFilterThread = new(StartContentFilterThread); - //ipFilter.Start(); - //scanner.Start(); - //ipFilterAutoScaler.Start(); + ipFilter.Start(); + scanner.Start(); + ipFilterAutoScaler.Start(); indexer.Start(); database.Start(); discarded.Start(); filtered.Start(); resume.Start(); - //communication.Start(); + communication.Start(); + contentFilterThread.Start(); - //scanner.Join(); - //ipFilter.Join(); + scanner.Join(); + ipFilter.Join(); indexer.Join(); database.Join(); discarded.Join(); filtered.Join(); resume.Join(); - //communication.Join(); - //ipFilterAutoScaler.Join(); + communication.Join(); + ipFilterAutoScaler.Join(); + contentFilterThread.Join(); } private void StartScanner() @@ -94,6 +97,13 @@ public class ThreadHandler _contentFilterStopped = true; } + private void StartContentFilterThread() + { + WaitHandle[] wait = _contentFilter.StartFilterThread(4); + + WaitHandle.WaitAll(wait); + } + private void StartIpFilterAutoScaler() { _ipFilterHandler.AutoScaler(); @@ -139,7 +149,7 @@ public class ThreadHandler Console.WriteLine("Discarded DbHandler finished"); } - /*private void StartCommunicationHandler() + private void StartCommunicationHandler() { WaitHandle[] wait = _communication.Start(); @@ -150,7 +160,7 @@ public class ThreadHandler _communicationStopped = true; Stop(); - }*/ + } private void Stop() { diff --git a/Backend/Scripts/443Header0.txt b/Backend/Scripts/443Header0.txt new file mode 100644 index 0000000..740521a --- /dev/null +++ b/Backend/Scripts/443Header0.txt @@ -0,0 +1,76 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.72.3:443... +* Connected to 192.0.72.3 (192.0.72.3) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [15 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [2063 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [79 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey +* ALPN: server accepted h2 +* Server certificate: +* subject: CN=files.wordpress.com +* start date: Dec 16 09:49:37 2024 GMT +* expire date: Mar 16 09:49:36 2025 GMT +* issuer: C=US; O=Let's Encrypt; CN=E6 +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384 +* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://192.0.72.3/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 192.0.72.3] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 192.0.72.3 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [249 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [249 bytes data] +< HTTP/2 302 +< server: nginx +< date: Fri, 07 Feb 2025 22:58:34 GMT +< content-type: text/html; charset=utf-8 +< location: https://developer.wordpress.com +< vary: Cookie +< x-nc: MISS hhn 3 +< x-content-type-options: nosniff +< alt-svc: h3=":443"; ma=86400 +< +{ [0 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 192.0.72.3 left intact +HTTP/2 302 +server: nginx +date: Fri, 07 Feb 2025 22:58:34 GMT +content-type: text/html; charset=utf-8 +location: https://developer.wordpress.com +vary: Cookie +x-nc: MISS hhn 3 +x-content-type-options: nosniff +alt-svc: h3=":443"; ma=86400 + diff --git a/Backend/Scripts/443Header1.txt b/Backend/Scripts/443Header1.txt new file mode 100644 index 0000000..450aab7 --- /dev/null +++ b/Backend/Scripts/443Header1.txt @@ -0,0 +1,70 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.66.251:443... +* Connected to 192.0.66.251 (192.0.66.251) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [15 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [2033 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [79 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey +* ALPN: server accepted h2 +* Server certificate: +* subject: CN=go-vip.co +* start date: Jan 18 19:43:58 2025 GMT +* expire date: Apr 18 19:43:57 2025 GMT +* issuer: C=US; O=Let's Encrypt; CN=E5 +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384 +* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://192.0.66.251/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 192.0.66.251] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 192.0.66.251 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [249 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [249 bytes data] +< HTTP/2 404 +< server: nginx +< date: Fri, 07 Feb 2025 22:58:27 GMT +< content-type: text/html +< content-length: 146 +< x-rq: hhn2 +< +{ [0 bytes data] + 0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 192.0.66.251 left intact +HTTP/2 404 +server: nginx +date: Fri, 07 Feb 2025 22:58:27 GMT +content-type: text/html +content-length: 146 +x-rq: hhn2 + diff --git a/Backend/Scripts/443Header2.txt b/Backend/Scripts/443Header2.txt new file mode 100644 index 0000000..2e5251c --- /dev/null +++ b/Backend/Scripts/443Header2.txt @@ -0,0 +1,70 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.66.254:443... +* Connected to 192.0.66.254 (192.0.66.254) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [15 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [2033 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [78 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey +* ALPN: server accepted h2 +* Server certificate: +* subject: CN=go-vip.co +* start date: Jan 18 19:43:58 2025 GMT +* expire date: Apr 18 19:43:57 2025 GMT +* issuer: C=US; O=Let's Encrypt; CN=E5 +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384 +* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://192.0.66.254/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 192.0.66.254] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 192.0.66.254 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [249 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [249 bytes data] +< HTTP/2 404 +< server: nginx +< date: Fri, 07 Feb 2025 22:58:28 GMT +< content-type: text/html +< content-length: 146 +< x-rq: hhn2 +< +{ [0 bytes data] + 0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 192.0.66.254 left intact +HTTP/2 404 +server: nginx +date: Fri, 07 Feb 2025 22:58:28 GMT +content-type: text/html +content-length: 146 +x-rq: hhn2 + diff --git a/Backend/Scripts/443Header3.txt b/Backend/Scripts/443Header3.txt new file mode 100644 index 0000000..215e22b --- /dev/null +++ b/Backend/Scripts/443Header3.txt @@ -0,0 +1,70 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.66.253:443... +* Connected to 192.0.66.253 (192.0.66.253) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [15 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [2033 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [78 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey +* ALPN: server accepted h2 +* Server certificate: +* subject: CN=go-vip.co +* start date: Jan 18 19:43:58 2025 GMT +* expire date: Apr 18 19:43:57 2025 GMT +* issuer: C=US; O=Let's Encrypt; CN=E5 +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384 +* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://192.0.66.253/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 192.0.66.253] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 192.0.66.253 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [249 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [249 bytes data] +< HTTP/2 404 +< server: nginx +< date: Fri, 07 Feb 2025 22:58:28 GMT +< content-type: text/html +< content-length: 146 +< x-rq: hhn2 +< +{ [0 bytes data] + 0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 192.0.66.253 left intact +HTTP/2 404 +server: nginx +date: Fri, 07 Feb 2025 22:58:28 GMT +content-type: text/html +content-length: 146 +x-rq: hhn2 + diff --git a/Backend/Scripts/80Header0.txt b/Backend/Scripts/80Header0.txt new file mode 100644 index 0000000..44e3cbc --- /dev/null +++ b/Backend/Scripts/80Header0.txt @@ -0,0 +1,28 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.72.3:80... +* Connected to 192.0.72.3 (192.0.72.3) port 80 +> HEAD / HTTP/1.1 +> Host: 192.0.72.3 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 301 Moved Permanently +< Server: nginx +< Date: Fri, 07 Feb 2025 22:58:33 GMT +< Content-Type: text/html +< Content-Length: 162 +< Connection: keep-alive +< Location: https://192.0.72.3/ +< + 0 162 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 192.0.72.3 left intact +HTTP/1.1 301 Moved Permanently +Server: nginx +Date: Fri, 07 Feb 2025 22:58:33 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive +Location: https://192.0.72.3/ + diff --git a/Backend/Scripts/80Header1.txt b/Backend/Scripts/80Header1.txt new file mode 100644 index 0000000..7fa8cfd --- /dev/null +++ b/Backend/Scripts/80Header1.txt @@ -0,0 +1,4 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 141.0.64.106:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 \ No newline at end of file diff --git a/Backend/Scripts/80Header2.txt b/Backend/Scripts/80Header2.txt new file mode 100644 index 0000000..35429d1 --- /dev/null +++ b/Backend/Scripts/80Header2.txt @@ -0,0 +1,4 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 141.0.68.86:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 \ No newline at end of file diff --git a/Backend/Scripts/80Header3.txt b/Backend/Scripts/80Header3.txt new file mode 100644 index 0000000..33a551f --- /dev/null +++ b/Backend/Scripts/80Header3.txt @@ -0,0 +1,4 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 141.0.68.78:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 \ No newline at end of file diff --git a/Models/BackupDB/ScannerResume.db b/Models/BackupDB/ScannerResume.db index a44725c94c534967899d2392373bfd3dd9f212b2..a57f8e71158332b096ec8e683d33c793afcbc2e8 100644 GIT binary patch delta 139 zcmZp0XmFSyEx3h&fq@B#VL)M`jxqlh2EBMGUZ4;o-)08B%^M3{`M8?A7}>=oB^g`t zCo}T@oqUg<*FGSzv^X_IiPO_B#MRw3NWsrPM8PlA$47^YQ^`3$w;(6A1e-LMCdg<8 Pfz5^j3;8xSL^1*ZW(y%9 delta 416 zcmY+;ze)o^5C-sX_hRl(E<3wkAxS`N6_FEPVAU6hg|&8ql|I28QBb=CeE@ANtW4|# z;d}v+ly*LW5QJ+~oV)W12XD+jJ{C8 zpefviPDh*^Tt2Dqm0-DOfCgwr@AN{CbW2y1&>`*8HpR3^zWP*CHRbU;m5}yCRdfCQ z9Vv^YrUa>%3_s5!@!_`PCAObc^L9YSyz3Hz|5USI##| l diff --git a/Models/CompressedDatabases.db b/Models/CompressedDatabases.db deleted file mode 100644 index 4a547900dda6905478f96200534182152e226a85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI#&r8EF6bJC68_EX$xD7moo?14%^ytO91*vw~jM<^5(Ygr2y1J&rv;L?4C#GT# zj^fSB_&!LJzPyI^)6;u=h+itro{KV1D;AJ*LMgdsj1bbbqhm)C^}5bAL7T-NbC+B$ zFHUTMbNWfn0((I~00Izz00bZa0SG_<0uX=z1pY%{?i>w-XGf<@O?>_$`-A%oG!gI3C&jBon(l(`EavEZ$7(&Rj;*P$ul2CtiIv3m0k@ z3HvfrE|lN*>)zZp{Rjv^00Izz00bZa0SG_<0uX=z1P)jL{r>^~Tznb?AOHafKmY;| PfB*y_009U<;78yK=7C|d diff --git a/Models/Filtered.db b/Models/Filtered.db deleted file mode 100644 index ccb8ab2383d3860d6f1e6053719d5b8f77ad2acb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118784 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 500_000 && !_compressing) + if (i >= 5_000_000 && !_compressing) { _compressing = true; @@ -457,19 +459,31 @@ public class DbHandler { using SqliteConnection connection = new(_resumeConnectionString); connection.Open(); - - using SqliteCommand command = new(InsertIntoResume, connection); + SqliteCommand command; + + if (resumeObject.Operation == Operations.Insert) + { + command = new(InsertIntoResume, connection); + command.Parameters.AddWithValue("@startRange", resumeObject.StartRange); + command.Parameters.AddWithValue("@endRange", resumeObject.EndRange); + } + else + { + command = new(UpdateResumeStatement, connection); + } command.Parameters.AddWithValue("@threadNumber", resumeObject.ThreadNumber); - command.Parameters.AddWithValue("@startRange", resumeObject.StartRange); - command.Parameters.AddWithValue("@endRange", resumeObject.EndRange); command.Parameters.AddWithValue("@firstByte", resumeObject.FirstByte); command.Parameters.AddWithValue("@secondByte", resumeObject.SecondByte); command.Parameters.AddWithValue("@thirdByte", resumeObject.ThirdByte); command.Parameters.AddWithValue("@fourthByte", resumeObject.FourthByte); + command.Parameters.AddWithValue("@paused", resumeObject.Paused); + command.Parameters.AddWithValue("@completed", resumeObject.Completed); _ = command.ExecuteNonQuery(); connection.Close(); + + command.Dispose(); } private void InsertCompressedDatabase(int threadNumber, long rows) @@ -739,7 +753,7 @@ public class DbHandler using SqliteConnection connection = new(_resumeConnectionString); connection.Open(); - using SqliteCommand command = new(ReadAndDeleteResumeStatement, connection); + using SqliteCommand command = new(ReadResumeStatement, connection); command.Parameters.AddWithValue("@threadNumber", threadNumber); using SqliteDataReader reader = command.ExecuteReader(); @@ -760,6 +774,8 @@ public class DbHandler resumeObject.SecondByte = reader.GetInt32(4); resumeObject.ThirdByte = reader.GetInt32(5); resumeObject.FourthByte = reader.GetInt32(6); + resumeObject.Paused = reader.GetBoolean(7); + resumeObject.Completed = reader.GetBoolean(8); } return resumeObject; diff --git a/Models/Model/Backend/ScannerResumeObject.cs b/Models/Model/Backend/ScannerResumeObject.cs index 0799b6e..e29c57d 100644 --- a/Models/Model/Backend/ScannerResumeObject.cs +++ b/Models/Model/Backend/ScannerResumeObject.cs @@ -9,4 +9,7 @@ public class ScannerResumeObject public int ThirdByte { get; set; } public int FourthByte { get; set; } public int ThreadNumber { get; set; } + public Operations Operation { get; set; } + public bool Paused { get; set; } + public bool Completed { get; set; } } \ No newline at end of file diff --git a/Models/ScannerResume.db b/Models/ScannerResume.db deleted file mode 100644 index a44725c94c534967899d2392373bfd3dd9f212b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8192 zcmeI1K}#D!6oB8%Mzfp5osBsZ6=cY%g(6D-z$UVa5K@zD&UI~86ETTyHiw=XQlUMz z;1AG?=hkCS=^rR1$KLu2gdpT1(zhEIDl~fY^oE_;+3(G~8NNLYQz;c1zAN|IUeodA zD=>gDFr@^5OROAgRF<$4i$3tp{^?KaUc$upm&Vu#7IPgV&--(AQ>&nmB372 z;XH(D1e1sc@a;b2&_meg3XF}os!i4~p_fN;m6?s^DmX|NzhRNj$3lh;GQ5i)C~%ur eCQQTJK{~90hsls*GE;?7imAAhV25TLZvFzJ^MOqO diff --git a/Models/mydb.db b/Models/mydb.db deleted file mode 100644 index f0567d0e17771070b55102f99f0196f52a46dfe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73728 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%0ATM!5Wgqsma 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 ItBIcd0=B|nZvX%Q diff --git a/RSE.sln.DotSettings.user b/RSE.sln.DotSettings.user index e7d85bb..a0f49b6 100644 --- a/RSE.sln.DotSettings.user +++ b/RSE.sln.DotSettings.user @@ -20,4 +20,5 @@ ForceIncluded ForceIncluded ForceIncluded - ForceIncluded \ No newline at end of file + ForceIncluded + ForceIncluded \ No newline at end of file From c70b42c9d78872790fdcbc499d23a96cfb444fbc Mon Sep 17 00:00:00 2001 From: Rasmus Date: Sun, 16 Feb 2025 09:38:00 +0100 Subject: [PATCH 5/7] Made a lot of changes. Enhanced memory usage. --- Analyze/Analyze.csproj | 2 +- Backend/Backend.csproj | 13 +- Backend/Handler/Communication.cs | 201 ------------------ Backend/Handler/ContentFilter.cs | 20 +- Backend/Handler/IpFilterHandler.cs | 48 ++++- Backend/Handler/IpScanner.cs | 132 ++++++++++-- Backend/Handler/ThreadHandler.cs | 153 +++++++------ Backend/Helper/FilesystemHelper.cs | 43 ---- Backend/Helper/FilterHelper.cs | 44 +--- Backend/Helper/HttpClientHelper.cs | 93 -------- Backend/Helper/SearchHelper.cs | 44 ---- Backend/Helper/TcpClientHelper.cs | 3 +- Backend/Scripts/443Header0.txt | 72 +++---- Backend/Scripts/443Header1.txt | 98 ++++----- Backend/Scripts/443Header10.txt | 59 +++++ Backend/Scripts/443Header11.txt | 7 + Backend/Scripts/443Header12.txt | 7 + Backend/Scripts/443Header13.txt | 81 +++++++ Backend/Scripts/443Header14.txt | 7 + Backend/Scripts/443Header15.txt | 12 ++ Backend/Scripts/443Header16.txt | 8 + Backend/Scripts/443Header17.txt | 7 + Backend/Scripts/443Header18.txt | 7 + Backend/Scripts/443Header19.txt | 60 ++++++ Backend/Scripts/443Header2.txt | 68 +++--- Backend/Scripts/443Header20.txt | 8 + Backend/Scripts/443Header21.txt | 74 +++++++ Backend/Scripts/443Header22.txt | 7 + Backend/Scripts/443Header23.txt | 7 + Backend/Scripts/443Header24.txt | 8 + Backend/Scripts/443Header25.txt | 7 + Backend/Scripts/443Header26.txt | 7 + Backend/Scripts/443Header27.txt | 7 + Backend/Scripts/443Header28.txt | 12 ++ Backend/Scripts/443Header29.txt | 7 + Backend/Scripts/443Header3.txt | 73 +------ Backend/Scripts/443Header30.txt | 66 ++++++ Backend/Scripts/443Header31.txt | 7 + Backend/Scripts/443Header32.txt | 60 ++++++ Backend/Scripts/443Header33.txt | 60 ++++++ Backend/Scripts/443Header34.txt | 7 + Backend/Scripts/443Header35.txt | 70 ++++++ Backend/Scripts/443Header36.txt | 77 +++++++ Backend/Scripts/443Header37.txt | 7 + Backend/Scripts/443Header38.txt | 7 + Backend/Scripts/443Header39.txt | 7 + Backend/Scripts/443Header4.txt | 70 ++++++ Backend/Scripts/443Header40.txt | 7 + Backend/Scripts/443Header41.txt | 7 + Backend/Scripts/443Header42.txt | 57 +++++ Backend/Scripts/443Header43.txt | 49 +++++ Backend/Scripts/443Header44.txt | 56 +++++ Backend/Scripts/443Header45.txt | 8 + Backend/Scripts/443Header46.txt | 7 + Backend/Scripts/443Header47.txt | 8 + Backend/Scripts/443Header48.txt | 7 + Backend/Scripts/443Header49.txt | 70 ++++++ Backend/Scripts/443Header5.txt | 7 + Backend/Scripts/443Header50.txt | 62 ++++++ Backend/Scripts/443Header51.txt | 62 ++++++ Backend/Scripts/443Header52.txt | 7 + Backend/Scripts/443Header53.txt | 7 + Backend/Scripts/443Header54.txt | 60 ++++++ Backend/Scripts/443Header55.txt | 7 + Backend/Scripts/443Header56.txt | 7 + Backend/Scripts/443Header57.txt | 16 ++ Backend/Scripts/443Header58.txt | 8 + Backend/Scripts/443Header59.txt | 74 +++++++ Backend/Scripts/443Header6.txt | 87 ++++++++ Backend/Scripts/443Header60.txt | 56 +++++ Backend/Scripts/443Header61.txt | 7 + Backend/Scripts/443Header62.txt | 7 + Backend/Scripts/443Header63.txt | 7 + Backend/Scripts/443Header7.txt | 7 + Backend/Scripts/443Header8.txt | 57 +++++ Backend/Scripts/443Header9.txt | 8 + Backend/Scripts/80Header0.txt | 30 +-- Backend/Scripts/80Header1.txt | 7 +- Backend/Scripts/80Header10.txt | 14 ++ Backend/Scripts/80Header11.txt | 28 +++ Backend/Scripts/80Header12.txt | 28 +++ Backend/Scripts/80Header13.txt | 32 +++ Backend/Scripts/80Header14.txt | 27 +++ Backend/Scripts/80Header15.txt | 7 + Backend/Scripts/80Header16.txt | 30 +++ Backend/Scripts/80Header17.txt | 7 + Backend/Scripts/80Header18.txt | 7 + Backend/Scripts/80Header19.txt | 7 + Backend/Scripts/80Header2.txt | 28 ++- Backend/Scripts/80Header20.txt | 14 ++ Backend/Scripts/80Header21.txt | 7 + Backend/Scripts/80Header22.txt | 22 ++ Backend/Scripts/80Header23.txt | 28 +++ Backend/Scripts/80Header24.txt | 36 ++++ Backend/Scripts/80Header25.txt | 28 +++ Backend/Scripts/80Header26.txt | 22 ++ Backend/Scripts/80Header27.txt | 24 +++ Backend/Scripts/80Header28.txt | 7 + Backend/Scripts/80Header29.txt | 36 ++++ Backend/Scripts/80Header3.txt | 25 ++- Backend/Scripts/80Header30.txt | 31 +++ Backend/Scripts/80Header31.txt | 7 + Backend/Scripts/80Header32.txt | 7 + Backend/Scripts/80Header33.txt | 7 + Backend/Scripts/80Header34.txt | 7 + Backend/Scripts/80Header35.txt | 37 ++++ Backend/Scripts/80Header36.txt | 7 + Backend/Scripts/80Header37.txt | 25 +++ Backend/Scripts/80Header38.txt | 27 +++ Backend/Scripts/80Header39.txt | 7 + Backend/Scripts/80Header4.txt | 28 +++ Backend/Scripts/80Header40.txt | 25 +++ Backend/Scripts/80Header41.txt | 27 +++ Backend/Scripts/80Header42.txt | 28 +++ Backend/Scripts/80Header43.txt | 14 ++ Backend/Scripts/80Header44.txt | 14 ++ Backend/Scripts/80Header45.txt | 14 ++ Backend/Scripts/80Header46.txt | 27 +++ Backend/Scripts/80Header47.txt | 32 +++ Backend/Scripts/80Header48.txt | 24 +++ Backend/Scripts/80Header49.txt | 28 +++ Backend/Scripts/80Header5.txt | 14 ++ Backend/Scripts/80Header50.txt | 30 +++ Backend/Scripts/80Header51.txt | 7 + Backend/Scripts/80Header52.txt | 28 +++ Backend/Scripts/80Header53.txt | 24 +++ Backend/Scripts/80Header54.txt | 7 + Backend/Scripts/80Header55.txt | 32 +++ Backend/Scripts/80Header56.txt | 7 + Backend/Scripts/80Header57.txt | 14 ++ Backend/Scripts/80Header58.txt | 41 ++++ Backend/Scripts/80Header59.txt | 28 +++ Backend/Scripts/80Header6.txt | 36 ++++ Backend/Scripts/80Header60.txt | 14 ++ Backend/Scripts/80Header61.txt | 7 + Backend/Scripts/80Header62.txt | 28 +++ Backend/Scripts/80Header63.txt | 7 + Backend/Scripts/80Header7.txt | 28 +++ Backend/Scripts/80Header8.txt | 14 ++ Backend/Scripts/80Header9.txt | 14 ++ Manager/Commands.cs | 122 ----------- Manager/Manager.csproj | 25 --- Manager/Program.cs | 90 -------- Models/BackupDB/PreFiltered.db | Bin 0 -> 16384 bytes Models/Experimental/CustomPing.cs | 39 ++++ Models/Experimental/MessageConstant.cs | 59 +++++ Models/Experimental/RawSocket.cs | 91 ++++++++ Models/Handler/DbHandler.cs | 136 ++++++------ Models/Model/Backend/CustomProtocolType.cs | 6 + Models/Model/Backend/DatabaseSizes.cs | 10 - Models/Model/Backend/FilterQueueItem.cs | 4 +- Models/Model/Backend/RuntimeVariable.cs | 9 - Models/Model/Backend/SizeUnits.cs | 8 - Models/Model/External/CommunicationCommand.cs | 11 - Models/Model/External/CommunicationObject.cs | 17 -- Models/Model/External/CommunicationResult.cs | 8 - Models/Model/External/ScanningStatus.cs | 18 -- Models/Model/External/SearchResults.cs | 6 - Models/Models.csproj | 5 +- Proxy/Program.cs | 89 -------- Proxy/Properties/launchSettings.json | 15 -- Proxy/Proxy.csproj | 20 -- Proxy/Proxy.http | 11 - Proxy/appsettings.Development.json | 8 - Proxy/appsettings.json | 9 - README.md | 6 +- RSE.sln | 12 -- RSE.sln.DotSettings.user | 14 ++ global.json | 7 + 169 files changed, 3628 insertions(+), 1304 deletions(-) delete mode 100644 Backend/Handler/Communication.cs delete mode 100644 Backend/Helper/FilesystemHelper.cs delete mode 100644 Backend/Helper/SearchHelper.cs create mode 100644 Backend/Scripts/443Header10.txt create mode 100644 Backend/Scripts/443Header11.txt create mode 100644 Backend/Scripts/443Header12.txt create mode 100644 Backend/Scripts/443Header13.txt create mode 100644 Backend/Scripts/443Header14.txt create mode 100644 Backend/Scripts/443Header15.txt create mode 100644 Backend/Scripts/443Header16.txt create mode 100644 Backend/Scripts/443Header17.txt create mode 100644 Backend/Scripts/443Header18.txt create mode 100644 Backend/Scripts/443Header19.txt create mode 100644 Backend/Scripts/443Header20.txt create mode 100644 Backend/Scripts/443Header21.txt create mode 100644 Backend/Scripts/443Header22.txt create mode 100644 Backend/Scripts/443Header23.txt create mode 100644 Backend/Scripts/443Header24.txt create mode 100644 Backend/Scripts/443Header25.txt create mode 100644 Backend/Scripts/443Header26.txt create mode 100644 Backend/Scripts/443Header27.txt create mode 100644 Backend/Scripts/443Header28.txt create mode 100644 Backend/Scripts/443Header29.txt create mode 100644 Backend/Scripts/443Header30.txt create mode 100644 Backend/Scripts/443Header31.txt create mode 100644 Backend/Scripts/443Header32.txt create mode 100644 Backend/Scripts/443Header33.txt create mode 100644 Backend/Scripts/443Header34.txt create mode 100644 Backend/Scripts/443Header35.txt create mode 100644 Backend/Scripts/443Header36.txt create mode 100644 Backend/Scripts/443Header37.txt create mode 100644 Backend/Scripts/443Header38.txt create mode 100644 Backend/Scripts/443Header39.txt create mode 100644 Backend/Scripts/443Header4.txt create mode 100644 Backend/Scripts/443Header40.txt create mode 100644 Backend/Scripts/443Header41.txt create mode 100644 Backend/Scripts/443Header42.txt create mode 100644 Backend/Scripts/443Header43.txt create mode 100644 Backend/Scripts/443Header44.txt create mode 100644 Backend/Scripts/443Header45.txt create mode 100644 Backend/Scripts/443Header46.txt create mode 100644 Backend/Scripts/443Header47.txt create mode 100644 Backend/Scripts/443Header48.txt create mode 100644 Backend/Scripts/443Header49.txt create mode 100644 Backend/Scripts/443Header5.txt create mode 100644 Backend/Scripts/443Header50.txt create mode 100644 Backend/Scripts/443Header51.txt create mode 100644 Backend/Scripts/443Header52.txt create mode 100644 Backend/Scripts/443Header53.txt create mode 100644 Backend/Scripts/443Header54.txt create mode 100644 Backend/Scripts/443Header55.txt create mode 100644 Backend/Scripts/443Header56.txt create mode 100644 Backend/Scripts/443Header57.txt create mode 100644 Backend/Scripts/443Header58.txt create mode 100644 Backend/Scripts/443Header59.txt create mode 100644 Backend/Scripts/443Header6.txt create mode 100644 Backend/Scripts/443Header60.txt create mode 100644 Backend/Scripts/443Header61.txt create mode 100644 Backend/Scripts/443Header62.txt create mode 100644 Backend/Scripts/443Header63.txt create mode 100644 Backend/Scripts/443Header7.txt create mode 100644 Backend/Scripts/443Header8.txt create mode 100644 Backend/Scripts/443Header9.txt create mode 100644 Backend/Scripts/80Header10.txt create mode 100644 Backend/Scripts/80Header11.txt create mode 100644 Backend/Scripts/80Header12.txt create mode 100644 Backend/Scripts/80Header13.txt create mode 100644 Backend/Scripts/80Header14.txt create mode 100644 Backend/Scripts/80Header15.txt create mode 100644 Backend/Scripts/80Header16.txt create mode 100644 Backend/Scripts/80Header17.txt create mode 100644 Backend/Scripts/80Header18.txt create mode 100644 Backend/Scripts/80Header19.txt create mode 100644 Backend/Scripts/80Header20.txt create mode 100644 Backend/Scripts/80Header21.txt create mode 100644 Backend/Scripts/80Header22.txt create mode 100644 Backend/Scripts/80Header23.txt create mode 100644 Backend/Scripts/80Header24.txt create mode 100644 Backend/Scripts/80Header25.txt create mode 100644 Backend/Scripts/80Header26.txt create mode 100644 Backend/Scripts/80Header27.txt create mode 100644 Backend/Scripts/80Header28.txt create mode 100644 Backend/Scripts/80Header29.txt create mode 100644 Backend/Scripts/80Header30.txt create mode 100644 Backend/Scripts/80Header31.txt create mode 100644 Backend/Scripts/80Header32.txt create mode 100644 Backend/Scripts/80Header33.txt create mode 100644 Backend/Scripts/80Header34.txt create mode 100644 Backend/Scripts/80Header35.txt create mode 100644 Backend/Scripts/80Header36.txt create mode 100644 Backend/Scripts/80Header37.txt create mode 100644 Backend/Scripts/80Header38.txt create mode 100644 Backend/Scripts/80Header39.txt create mode 100644 Backend/Scripts/80Header4.txt create mode 100644 Backend/Scripts/80Header40.txt create mode 100644 Backend/Scripts/80Header41.txt create mode 100644 Backend/Scripts/80Header42.txt create mode 100644 Backend/Scripts/80Header43.txt create mode 100644 Backend/Scripts/80Header44.txt create mode 100644 Backend/Scripts/80Header45.txt create mode 100644 Backend/Scripts/80Header46.txt create mode 100644 Backend/Scripts/80Header47.txt create mode 100644 Backend/Scripts/80Header48.txt create mode 100644 Backend/Scripts/80Header49.txt create mode 100644 Backend/Scripts/80Header5.txt create mode 100644 Backend/Scripts/80Header50.txt create mode 100644 Backend/Scripts/80Header51.txt create mode 100644 Backend/Scripts/80Header52.txt create mode 100644 Backend/Scripts/80Header53.txt create mode 100644 Backend/Scripts/80Header54.txt create mode 100644 Backend/Scripts/80Header55.txt create mode 100644 Backend/Scripts/80Header56.txt create mode 100644 Backend/Scripts/80Header57.txt create mode 100644 Backend/Scripts/80Header58.txt create mode 100644 Backend/Scripts/80Header59.txt create mode 100644 Backend/Scripts/80Header6.txt create mode 100644 Backend/Scripts/80Header60.txt create mode 100644 Backend/Scripts/80Header61.txt create mode 100644 Backend/Scripts/80Header62.txt create mode 100644 Backend/Scripts/80Header63.txt create mode 100644 Backend/Scripts/80Header7.txt create mode 100644 Backend/Scripts/80Header8.txt create mode 100644 Backend/Scripts/80Header9.txt delete mode 100644 Manager/Commands.cs delete mode 100644 Manager/Manager.csproj delete mode 100644 Manager/Program.cs create mode 100644 Models/BackupDB/PreFiltered.db create mode 100644 Models/Experimental/CustomPing.cs create mode 100644 Models/Experimental/MessageConstant.cs create mode 100644 Models/Experimental/RawSocket.cs create mode 100644 Models/Model/Backend/CustomProtocolType.cs delete mode 100644 Models/Model/Backend/DatabaseSizes.cs delete mode 100644 Models/Model/Backend/RuntimeVariable.cs delete mode 100644 Models/Model/Backend/SizeUnits.cs delete mode 100644 Models/Model/External/CommunicationCommand.cs delete mode 100644 Models/Model/External/CommunicationObject.cs delete mode 100644 Models/Model/External/CommunicationResult.cs delete mode 100644 Models/Model/External/ScanningStatus.cs delete mode 100644 Models/Model/External/SearchResults.cs delete mode 100644 Proxy/Program.cs delete mode 100644 Proxy/Properties/launchSettings.json delete mode 100644 Proxy/Proxy.csproj delete mode 100644 Proxy/Proxy.http delete mode 100644 Proxy/appsettings.Development.json delete mode 100644 Proxy/appsettings.json create mode 100644 global.json diff --git a/Analyze/Analyze.csproj b/Analyze/Analyze.csproj index 2f601cf..4f9b42c 100644 --- a/Analyze/Analyze.csproj +++ b/Analyze/Analyze.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net9.0 enable enable diff --git a/Backend/Backend.csproj b/Backend/Backend.csproj index 95c5c1e..96b89cb 100644 --- a/Backend/Backend.csproj +++ b/Backend/Backend.csproj @@ -2,22 +2,15 @@ Exe - net8.0 + net9.0 enable enable - - - false + false + true - - - - - - diff --git a/Backend/Handler/Communication.cs b/Backend/Handler/Communication.cs deleted file mode 100644 index f0aef9c..0000000 --- a/Backend/Handler/Communication.cs +++ /dev/null @@ -1,201 +0,0 @@ -using System.Diagnostics.CodeAnalysis; -using System.Text.Json; -using Backend.Helper; -using Models.Handler; -using Models.Model.Backend; -using Models.Model.External; -using NetMQ; -using NetMQ.Sockets; - -namespace Backend.Handler; - -public class Communication -{ - private readonly DbHandler _dbHandler; - private readonly ThreadHandler _threadHandler; - private readonly IpScanner _ipScanner; - private readonly ContentFilter _contentFilter; - private bool _isRunning = true; - private string _basePath; - - public Communication(DbHandler dbHandler, ThreadHandler threadHandler, IpScanner ipScanner, ContentFilter contentFilter, string basePath) - { - _dbHandler = dbHandler; - _threadHandler = threadHandler; - _ipScanner = ipScanner; - _contentFilter = contentFilter; - _basePath = basePath; - } - - public WaitHandle[] Start() - { - WaitHandle[] waitHandles = new WaitHandle[1]; - EventWaitHandle handle = new(false, EventResetMode.ManualReset); - waitHandles[0] = handle; - - Thread thread = new(Server!); - thread.Start(handle); - - return waitHandles; - } - - private void Server(object obj) - { - using ResponseSocket rep = new(); - - //rep.Options.IPv4Only = true; - - rep.Bind("tcp://127.0.0.1:5556"); - - while (_isRunning) - { - byte[] message = rep.ReceiveFrameBytes(); - - CommunicationObject? communicationObject = JsonSerializer.Deserialize(message); - - //rep.SendFrame(JsonSerializer.SerializeToUtf8Bytes("Success")); - - if (communicationObject is null) - { - continue; - } - - OnServerOnReceiveReady(communicationObject, rep); - } - - ((EventWaitHandle) obj).Set(); - } - - [RequiresDynamicCode("Calls System.Text.Json.JsonSerializer.Serialize(TValue, JsonSerializerOptions)")] - [RequiresUnreferencedCode("Calls System.Text.Json.JsonSerializer.Serialize(TValue, JsonSerializerOptions)")] - private void OnServerOnReceiveReady(CommunicationObject communicationObject, ResponseSocket rep) - { - switch (communicationObject.Command) - { - case CommunicationCommand.GetScanningProgress: - { - DatabaseSizes databaseSizes = FilesystemHelper.GetDatabaseSizes(_basePath); - - long discardedIndexes = _dbHandler.GetDiscardedIndexes(); - - ScanningStatus status = new(); - // 4294967296 is all Ipv4 addresses. - - if (discardedIndexes != 0) - { - status.PercentageOfIpv4Scanned = (float)discardedIndexes / 4294967296 * 100; - } - else - { - // This is a workaround for the frontend not understanding a 0f as an actual float, so we use a very small float. - status.PercentageOfIpv4Scanned = 0.0000000001f; - } - - status.AmountOfIpv4Left = 4294967296 - discardedIndexes; - status.TotalFiltered = _dbHandler.GetFilteredIndexes(); - status.TotalDiscarded = discardedIndexes; - status.MyDbSize = databaseSizes.MyDbSize; - status.FilteredDbSize = databaseSizes.FilteredDbSize; - status.DiscardedDbSize = databaseSizes.DiscardedDbSize; - - byte[] serializedResult = JsonSerializer.SerializeToUtf8Bytes(status); - - rep.SendFrame(serializedResult); - - break; - } - - case CommunicationCommand.DbReindex: - { - _dbHandler.ReIndex(); - - SendStringResponse(rep, "All Dbs have been reindexed."); - break; - } - - case CommunicationCommand.DbVacuum: - { - _dbHandler.Vacuum(); - - SendStringResponse(rep, "All Dbs have been vacuumed."); - break; - } - - case CommunicationCommand.GetSearches: - { - if (!string.IsNullOrWhiteSpace(communicationObject.SearchTerm)) - { - SendSearchResponse(rep, communicationObject.SearchTerm); - } - - break; - } - - case CommunicationCommand.StopScanning: - { - _isRunning = false; - break; - } - - case CommunicationCommand.ChangeRuntimeVariable: - { - if (string.IsNullOrWhiteSpace(communicationObject.VariableValue)) break; - - if (communicationObject.Variable == RuntimeVariable.DbContent.ToString()) - { - int value = int.Parse(communicationObject.VariableValue); - _dbHandler.SetContentWaitTime(value); - } - - if (communicationObject.Variable == RuntimeVariable.DbDiscarded.ToString()) - { - int value = int.Parse(communicationObject.VariableValue); - _dbHandler.SetDiscardedWaitTime(value); - } - - if (communicationObject.Variable == RuntimeVariable.ScannerTimeout.ToString()) - { - int value = int.Parse(communicationObject.VariableValue); - _ipScanner.SetTimeout(value); - } - - if (communicationObject.Variable == RuntimeVariable.ContentFilter.ToString()) - { - int value = int.Parse(communicationObject.VariableValue); - _contentFilter.SetTimeout(value); - } - - rep.SendFrame(JsonSerializer.SerializeToUtf8Bytes("Success")); - - break; - } - } - } - - private static void SendStringResponse(ResponseSocket rep, string response) - { - byte[] serializedResult = JsonSerializer.SerializeToUtf8Bytes(response); - - rep.SendFrame(serializedResult); - } - - private static void SendSearchResponse(ResponseSocket rep, string searchTerm) - { - //SearchResults result = SearchHelper.Search(communicationObject.SearchTerm!, _dbHandler); - SearchResults result = new() - { - Results = [] - }; - SearchResult lol = new() - { - Url = "Remember to use an actual search tearm. Like 'dotnet 9.0'", - Title = "Remember to use an actual search tearm. Like 'dotnet 9.0'", - }; - - result.Results.Add(lol); - - string serializedResult = JsonSerializer.Serialize(result); - - rep.SendFrame(serializedResult); - } -} \ No newline at end of file diff --git a/Backend/Handler/ContentFilter.cs b/Backend/Handler/ContentFilter.cs index 0b444a0..2531f4b 100644 --- a/Backend/Handler/ContentFilter.cs +++ b/Backend/Handler/ContentFilter.cs @@ -16,7 +16,7 @@ public class Content public class ContentThread { public int ThreadId { get; set; } - public EventWaitHandle EventWaitHandle { get; set; } + public EventWaitHandle? EventWaitHandle { get; set; } } public class ContentFilter @@ -25,17 +25,19 @@ public class ContentFilter private readonly ConcurrentQueue _unfilteredQueue; private readonly ConcurrentQueue _contentQueue = new(); private readonly DbHandler _dbHandler; + private readonly ThreadHandler _threadHandler; private readonly string _getDomainPort80; private readonly string _getDomainPort443; private bool _stop; private int _timeOut; private readonly string _basePath; - - public ContentFilter(ConcurrentQueue queue, ConcurrentQueue unfilteredQueue, DbHandler dbHandler, string basePath) + + public ContentFilter(ConcurrentQueue queue, ConcurrentQueue unfilteredQueue, DbHandler dbHandler, string basePath, ThreadHandler threadHandler) { _queue = queue; _dbHandler = dbHandler; _basePath = basePath; + _threadHandler = threadHandler; _unfilteredQueue = unfilteredQueue; _getDomainPort80 = $"{basePath}/Backend/Scripts/GetDomainNamePort80.sh"; @@ -67,6 +69,13 @@ public class ContentFilter while (!_stop) { List indexes = _dbHandler.GetUnfilteredIndexes(); + + if (indexes.Count == 0) + { + _stop = true; + _threadHandler.Stop(); + break; + } for (int i = 0; i < indexes.Count; i++) { @@ -126,6 +135,8 @@ public class ContentFilter Thread thread = new(FilterThread!); thread.Start(contentThread); + + Thread.Sleep(8); } return waitHandle; @@ -133,6 +144,7 @@ public class ContentFilter private void FilterThread(object obj) { + Console.WriteLine("Filter Thread started."); ContentThread thread = (ContentThread) obj; while (!_stop) @@ -157,7 +169,7 @@ public class ContentFilter _queue.Enqueue(filtered); } - thread.EventWaitHandle.Set(); + thread.EventWaitHandle!.Set(); } private Filtered GetSiteData(Ip ip, int threadId) diff --git a/Backend/Handler/IpFilterHandler.cs b/Backend/Handler/IpFilterHandler.cs index cce748d..fe46813 100644 --- a/Backend/Handler/IpFilterHandler.cs +++ b/Backend/Handler/IpFilterHandler.cs @@ -1,6 +1,7 @@ using System.Collections.Concurrent; using System.Diagnostics; using Backend.Helper; +using Models.Handler; using Models.Model.Backend; namespace Backend.Handler; @@ -10,17 +11,23 @@ public class IpFilterHandler private readonly ConcurrentQueue _discardedQueue; private readonly ConcurrentQueue _unfilteredQueue; private readonly ConcurrentQueue _preFilteredQueue; + private DbHandler _dbHandler; + private ThreadHandler _threadHandler; private bool _stop; + private bool _fillerStop; private bool _stopAutoscaledThreads; private int _timeout; public IpFilterHandler(ConcurrentQueue discardedQueue, ConcurrentQueue unfilteredQueue, - ConcurrentQueue filteredQueue) + ConcurrentQueue preFilteredQueue, + DbHandler dbHandler, ThreadHandler threadHandler) { _discardedQueue = discardedQueue; _unfilteredQueue = unfilteredQueue; - _preFilteredQueue = filteredQueue; + _preFilteredQueue = preFilteredQueue; + _dbHandler = dbHandler; + _threadHandler = threadHandler; _timeout = 16; } @@ -46,7 +53,7 @@ public class IpFilterHandler f.Start(handle); Console.WriteLine($"Filter thread ({i}) started"); - Thread.Sleep(128); + Thread.Sleep(16); continue; } @@ -112,29 +119,54 @@ public class IpFilterHandler private void Filter(object obj) { + int counter = 0; while (!_stop) { - if (_preFilteredQueue.IsEmpty) + if (_preFilteredQueue.IsEmpty && _fillerStop) { - Thread.Sleep(_timeout); - continue; + if (counter == 100) + { + _threadHandler.Stop(); + _stop = true; + } + + counter++; + Thread.Sleep(128); } _preFilteredQueue.TryDequeue(out FilterQueueItem item); (int, int) ports = TcpClientHelper.CheckPort(item.Ip, 80, 443); - + if (ports is { Item1: 0, Item2: 0 }) { _discardedQueue.Enqueue(CreateDiscardedQueueItem(item.Ip, item.ResponseCode)); continue; } - + _unfilteredQueue.Enqueue(CreateUnfilteredQueueItem(item.Ip, ports)); } ((EventWaitHandle) obj).Set(); } + + public void FillFilterQueue() + { + Console.WriteLine("Fill FilterQueue started."); + while (!_stop) + { + if (_preFilteredQueue.Count > 500) continue; + + if (_dbHandler.GetPreFilterQueueItem(out FilterQueueItem item)) + { + _preFilteredQueue.Enqueue(item); + } + else + { + _fillerStop = true; + } + } + } private void Filter_AutoScaler(object obj) { diff --git a/Backend/Handler/IpScanner.cs b/Backend/Handler/IpScanner.cs index 8dbb371..6f9e2f8 100644 --- a/Backend/Handler/IpScanner.cs +++ b/Backend/Handler/IpScanner.cs @@ -1,7 +1,11 @@ +using System.Buffers.Binary; using System.Collections.Concurrent; using System.Net; using System.Net.NetworkInformation; +using System.Numerics; +using System.Runtime.InteropServices; using Backend.Helper; +using Models.Experimental; using Models.Handler; using Models.Model.Backend; @@ -22,7 +26,7 @@ public class IpScanner private readonly ConcurrentQueue _resumeQueue; private readonly DbHandler _dbHandler; private bool _stop; - private int _timeout; + private readonly int _timeout; public IpScanner(ConcurrentQueue discardedQueue, ConcurrentQueue resumeQueue, DbHandler dbHandler, @@ -32,13 +36,8 @@ public class IpScanner _preFilteredQueue = preFilteredQueue; _discardedQueue = discardedQueue; _resumeQueue = resumeQueue; - - SetTimeout(16); - } - - public void SetTimeout(int milliseconds) - { - _timeout = milliseconds; + + _timeout = 32; } public List Start(int threads) @@ -186,12 +185,20 @@ public class IpScanner { // Sometimes, if the pinger gets a Destination Unreachable Communication administratively prohibited response, the pinger will throw an exception. // https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol?useskin=vector#Control_messages - _ = IPAddress.TryParse(ip.ToString(), out IPAddress? address); - if (address is not null) + //_ = IPAddress.TryParse(ip.ToString(), out IPAddress? address); + + if (i % 2 == 0) { - responseCode = ping.Send(address, _timeout, buf, null).Status; - //Thread.Sleep(4); + responseCode = IPStatus.Success; } + else + { + responseCode = IPStatus.TimedOut; + } + + //CustomPing.SendIcmpEchoRequestOverRawSocket(Parse(ip.ToString()), _timeout); + Thread.Sleep(16); + } catch { @@ -229,7 +236,7 @@ public class IpScanner Console.WriteLine($"Thread ({scanSettings.ThreadNumber}) is at index ({i}) out of ({scanSettings.End}). Remaining ({scanSettings.End - i})"); } - + if (_stop) { resumeObject.Paused = true; @@ -238,9 +245,9 @@ public class IpScanner { resumeObject.Completed = true; } - + resumeObject.Operation = Operations.Update; - + _resumeQueue.Enqueue(resumeObject); scanSettings.Handle!.Set(); @@ -287,4 +294,99 @@ public class IpScanner { _stop = true; } + + private static unsafe IPAddress Parse(ReadOnlySpan ipSpan) + { + int length = ipSpan.Length; + long nonCanonical; + fixed (char* name = &MemoryMarshal.GetReference(ipSpan)) + nonCanonical = ParseNonCanonical(name, 0, ref length, true); + + return new IPAddress(BitOperations.RotateRight((uint)nonCanonical & 16711935U, 8) + BitOperations.RotateLeft((uint)nonCanonical & 4278255360U, 8)); + } + + private static unsafe long ParseNonCanonical(char* name, int start, ref int end, bool notImplicitFile) + { + long* numPtr = stackalloc long[4]; + long num1 = 0; + bool flag = false; + int index1 = 0; + int index2; + for (index2 = start; index2 < end; ++index2) + { + char ch = name[index2]; + num1 = 0L; + int num2 = 10; + if (ch == '0') + { + num2 = 8; + ++index2; + flag = true; + if (index2 < end) + { + switch (name[index2]) + { + case 'X': + case 'x': + num2 = 16; + ++index2; + flag = false; + break; + } + } + } + for (; index2 < end; ++index2) + { + char c = name[index2]; + int num3; + if ((num2 == 10 || num2 == 16) && char.IsAsciiDigit(c)) + num3 = (int) c - 48; + else if (num2 == 8 && '0' <= c && c <= '7') + num3 = (int) c - 48; + else if (num2 == 16 && 'a' <= c && c <= 'f') + num3 = (int) c + 10 - 97; + else if (num2 == 16 && 'A' <= c && c <= 'F') + num3 = (int) c + 10 - 65; + else + break; + num1 = num1 * (long) num2 + (long) num3; + if (num1 > (long) uint.MaxValue) + return -1; + flag = true; + } + if (index2 < end && name[index2] == '.') + { + if (index1 >= 3 || !flag || num1 > (long) byte.MaxValue) + return -1; + numPtr[index1] = num1; + ++index1; + flag = false; + } + else + break; + } + if (!flag) + return -1; + if (index2 < end) + { + char ch; + if ((ch = name[index2]) != '/' && ch != '\\' && (!notImplicitFile || ch != ':' && ch != '?' && ch != '#')) + return -1; + end = index2; + } + numPtr[index1] = num1; + switch (index1) + { + case 0: + return numPtr[0] > (long) uint.MaxValue ? -1L : numPtr[0]; + case 1: + return numPtr[1] > 16777215L ? -1L : numPtr[0] << 24 | numPtr[1] & 16777215L; + case 2: + return numPtr[2] > (long) ushort.MaxValue ? -1L : numPtr[0] << 24 | (numPtr[1] & (long) byte.MaxValue) << 16 | numPtr[2] & (long) ushort.MaxValue; + case 3: + return numPtr[3] > (long) byte.MaxValue ? -1L : numPtr[0] << 24 | (numPtr[1] & (long) byte.MaxValue) << 16 | (numPtr[2] & (long) byte.MaxValue) << 8 | numPtr[3] & (long) byte.MaxValue; + default: + return -1; + } + } } \ No newline at end of file diff --git a/Backend/Handler/ThreadHandler.cs b/Backend/Handler/ThreadHandler.cs index d1f6d8e..0ac28b0 100644 --- a/Backend/Handler/ThreadHandler.cs +++ b/Backend/Handler/ThreadHandler.cs @@ -7,29 +7,30 @@ namespace Backend.Handler; public class ThreadHandler { private readonly DbHandler _dbHandler; - private readonly Communication _communication; private readonly IpScanner _ipScanner; private readonly ContentFilter _contentFilter; private readonly IpFilterHandler _ipFilterHandler; - private bool _communicationStopped; private bool _ipScannerStopped; private bool _contentFilterStopped; private bool _ipFilterStopped; + + private bool _stage1; + private bool _stage2 = true; + private bool _stage3; + + ConcurrentQueue filteredQueue = new(); + ConcurrentQueue discardedQueue = new(); + ConcurrentQueue unfilteredQueue = new(); + ConcurrentQueue scannerResumeQueue = new(); + ConcurrentQueue preFilteredQueue = new(); public ThreadHandler(string path) { - ConcurrentQueue filteredQueue = new(); - ConcurrentQueue discardedQueue = new(); - ConcurrentQueue unfilteredQueue = new(); - ConcurrentQueue scannerResumeQueue = new(); - ConcurrentQueue preFilteredQueue = new(); - - _dbHandler = new(filteredQueue, discardedQueue, unfilteredQueue, scannerResumeQueue, path); + _dbHandler = new(filteredQueue, discardedQueue, unfilteredQueue, scannerResumeQueue, preFilteredQueue, path); _ipScanner = new(discardedQueue, scannerResumeQueue, _dbHandler, preFilteredQueue); - _contentFilter = new(filteredQueue, unfilteredQueue, _dbHandler, path); - _communication = new(_dbHandler, this, _ipScanner, _contentFilter, path); - _ipFilterHandler = new(discardedQueue, unfilteredQueue, preFilteredQueue); + _contentFilter = new(filteredQueue, unfilteredQueue, _dbHandler, path, this); + _ipFilterHandler = new(discardedQueue, unfilteredQueue, preFilteredQueue, _dbHandler, this); } public void Start() @@ -41,31 +42,66 @@ public class ThreadHandler Thread discarded = new(StartDiscardedDbHandler); Thread filtered = new(StartFilteredDbHandler); Thread resume = new(StartResumeDbHandler); - Thread communication = new(StartCommunicationHandler); Thread ipFilterAutoScaler = new(StartIpFilterAutoScaler); Thread contentFilterThread = new(StartContentFilterThread); - - ipFilter.Start(); - scanner.Start(); - ipFilterAutoScaler.Start(); - indexer.Start(); - database.Start(); - discarded.Start(); - filtered.Start(); - resume.Start(); - communication.Start(); - contentFilterThread.Start(); - - scanner.Join(); - ipFilter.Join(); - indexer.Join(); - database.Join(); - discarded.Join(); - filtered.Join(); - resume.Join(); - communication.Join(); - ipFilterAutoScaler.Join(); - contentFilterThread.Join(); + Thread prefilterDb = new(StartPreFilterDbHandler); + Thread fillIpFilterQueue = new(StartFillIpFilterQueue); + //Thread check = new(CheckQueue); + + if (_stage1) + { + discarded.Start(); // de-queues from discardedQueue + prefilterDb.Start(); // de-queues from preFilteredQueue + scanner.Start(); // en-queues to discardedQueue and preFilteredQueue + resume.Start(); // de-queues from resumeQueue + + discarded.Join(); + prefilterDb.Join(); + scanner.Join(); + resume.Join(); + } + + if (_stage2) + { + database.Start(); // de-queues from unfilteredQueue + discarded.Start(); // de-queues from discardedQueue + ipFilter.Start(); // en-queues to discardedQueue and unfilteredQueue + ipFilterAutoScaler.Start(); // de-queues from preFilteredQueue, en-queues to discardedQueue and unfilteredQueue + fillIpFilterQueue.Start(); // reads from preFiltered database, en-queues to preFilteredQueue + + database.Join(); + discarded.Join(); + ipFilter.Join(); + ipFilterAutoScaler.Join(); + fillIpFilterQueue.Join(); + } + + if (_stage3) + { + filtered.Start(); // de-queues from filteredQueue + database.Start(); // de-queues from unfilteredQueue + indexer.Start(); // en-queues to unfilteredQueue and contentQueue + contentFilterThread.Start(); // de-queues from contentQueue, en-queues to filteredQueue + + contentFilterThread.Join(); + filtered.Join(); + database.Join(); + indexer.Join(); + } + } + + private void CheckQueue() + { + while (true) + { + Console.Clear(); + Console.WriteLine($"filteredQueue.Count: {filteredQueue.Count}"); + Console.WriteLine($"discardedQueue.Count: {discardedQueue.Count}"); + Console.WriteLine($"unfilteredQueue.Count: {unfilteredQueue.Count}"); + Console.WriteLine($"scannerResumeQueue.Count: {scannerResumeQueue.Count}"); + Console.WriteLine($"preFilteredQueue.Count: {preFilteredQueue.Count}"); + Thread.Sleep(5); + } } private void StartScanner() @@ -80,8 +116,6 @@ public class ThreadHandler } Console.WriteLine("Scanner finished"); - - _ipScannerStopped = true; } private void StartContentFilter() @@ -99,7 +133,7 @@ public class ThreadHandler private void StartContentFilterThread() { - WaitHandle[] wait = _contentFilter.StartFilterThread(4); + WaitHandle[] wait = _contentFilter.StartFilterThread(64); WaitHandle.WaitAll(wait); } @@ -109,6 +143,11 @@ public class ThreadHandler _ipFilterHandler.AutoScaler(); } + private void StartFillIpFilterQueue() + { + _ipFilterHandler.FillFilterQueue(); + } + private void StartIpFilter() { Thread.Sleep(1000); @@ -134,6 +173,11 @@ public class ThreadHandler { _dbHandler.FilteredDbHandler(); } + + private void StartPreFilterDbHandler() + { + _dbHandler.PrefilteredDbHandler(); + } private void StartResumeDbHandler() { @@ -149,35 +193,18 @@ public class ThreadHandler Console.WriteLine("Discarded DbHandler finished"); } - private void StartCommunicationHandler() - { - WaitHandle[] wait = _communication.Start(); - - WaitHandle.WaitAll(wait); - - Console.WriteLine("Communicator finished"); - - _communicationStopped = true; - - Stop(); - } - - private void Stop() + public void Stop() { + Console.WriteLine("Stopping..."); _ipScanner.Stop(); _contentFilter.Stop(); + _ipFilterHandler.Stop(); + Console.WriteLine("Stopping Extra..."); - bool stopping = true; + Thread.Sleep(30_000); - while (stopping) - { - if (_ipScannerStopped && _contentFilterStopped && _ipFilterStopped) - { - _dbHandler.Stop(); - stopping = false; - } - - Thread.Sleep(3000); - } + Console.WriteLine("Stopping Super Extra..."); + _dbHandler.Stop(); + Console.WriteLine("Stopped."); } } \ No newline at end of file diff --git a/Backend/Helper/FilesystemHelper.cs b/Backend/Helper/FilesystemHelper.cs deleted file mode 100644 index b74cd9b..0000000 --- a/Backend/Helper/FilesystemHelper.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Models.Model.Backend; - -namespace Backend.Helper; - -public static class FilesystemHelper -{ - public static DatabaseSizes GetDatabaseSizes(string basePath) - { - DatabaseSizes databaseSizes = new(); - - FileInfo fileInfo = new($"{basePath}/Models/mydb.db"); - databaseSizes.MyDbSize = fileInfo.Length.ToSize(SizeUnits.KB); - - databaseSizes.DiscardedDbSize = GetDiscardedDbSizes(basePath).ToSize(SizeUnits.KB); - - fileInfo = new($"{basePath}/Models/Filtered.db"); - databaseSizes.FilteredDbSize = fileInfo.Length.ToSize(SizeUnits.KB); - - return databaseSizes; - } - - private static long GetDiscardedDbSizes(string basePath) - { - string folder = $"{basePath}/Models"; - string[] files = Directory.GetFiles(folder, "*.db"); - - long size = 0; - - for (int i = 0; i < files.Length; i++) - { - if (!files[i].Contains("Discarded")) continue; - FileInfo fileInfo = new(files[i]); - size += fileInfo.Length; - } - - return size; - } - - private static double ToSize(this long value, SizeUnits unit) - { - return double.Parse((value / Math.Pow(1024, (long)unit)).ToString("0.00")); - } -} \ No newline at end of file diff --git a/Backend/Helper/FilterHelper.cs b/Backend/Helper/FilterHelper.cs index 1fa04c2..c314b86 100644 --- a/Backend/Helper/FilterHelper.cs +++ b/Backend/Helper/FilterHelper.cs @@ -2,12 +2,10 @@ using System.Text.RegularExpressions; namespace Backend.Helper; -public static partial class FilterHelper +public static class FilterHelper { // https://stackoverflow.com/a/56116499 private const string DomainPattern = @"^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$"; - private const string TitlePattern = "(.*)"; - private const string DescriptionPattern = " GetTitleAndDescription(string url, int port) - { - using HttpClient client = new(); - - if (port == 80) - { - try - { - client.BaseAddress = new($"http://{url}"); - } - catch - { - // - } - } - else - { - try - { - client.BaseAddress = new($"https://{url}"); - } - catch - { - // - } - } - - client.DefaultRequestHeaders.Accept.Clear(); - client.DefaultRequestHeaders.UserAgent.ParseAdd(UserAgentHeader); - client.Timeout = TimeSpan.FromSeconds(30); - - HttpResponseMessage? response; - - try - { - response = await client.GetAsync("/"); - } - catch - { - return ("", ""); - } - - if (!response.IsSuccessStatusCode) - { - return ("", ""); - } - - string html = await response.Content.ReadAsStringAsync(); - - int firstIndex = 0; - int lastIndex = 0; - - if (html.Contains(StartHeadTag) && html.Contains(EndHeadTag)) - { - firstIndex = html.IndexOf(StartHeadTag, StringComparison.Ordinal); - lastIndex = html.IndexOf(EndHeadTag, StringComparison.Ordinal); - } - - string head = html.AsSpan().Slice(firstIndex, lastIndex).ToString(); - html = ""; - - string title = ""; - string description = ""; - - Regex titleRegex = TitleRegEx(); - Match titleMatch = titleRegex.Match(head); - - if (titleMatch.Success) - { - title = titleMatch.Groups[1].Value; - } - - Regex descriptionRegex = DexcriptionRegEx(); - Match descriptionMatch = descriptionRegex.Match(head); - - if (descriptionMatch.Success) - { - description = descriptionMatch.Groups[1].Value; - } - - return (title, description); - } public static async Task HasRobotsTxt(string url, int port) { @@ -139,9 +51,4 @@ public static partial class HttpClientHelper return response is not null && response.IsSuccessStatusCode; } - - [GeneratedRegex(TitlePattern)] - private static partial Regex TitleRegEx(); - [GeneratedRegex(DescriptionPattern)] - private static partial Regex DexcriptionRegEx(); } \ No newline at end of file diff --git a/Backend/Helper/SearchHelper.cs b/Backend/Helper/SearchHelper.cs deleted file mode 100644 index d1f4b23..0000000 --- a/Backend/Helper/SearchHelper.cs +++ /dev/null @@ -1,44 +0,0 @@ -using FuzzySharp; -using Models.Handler; -using Models.Model.External; - -namespace Backend.Helper; - -public static class SearchHelper -{ - public static SearchResults Search(string searchText, DbHandler dbHandler) - { - if (string.IsNullOrWhiteSpace(searchText)) - { - SearchResult searchResult = new(); - searchResult.Description = "asd"; - searchResult.Title = "asd"; - searchResult.Url = "asd"; - SearchResults searchResults = new(); - searchResults.Results = - [ - searchResult - ]; - return searchResults; - } - - List temp = dbHandler.GetSearchResults(); - SearchResults searchResultsList = new(); - - for (int i = 0; i < temp.Count; i++) - { - if (temp[i] is null) continue; - - SearchResult result = new(); - - if (Fuzz.Ratio(searchText, temp[i]!.Url) <= 50 && Fuzz.Ratio(searchText, temp[i]!.Title) <= 50) continue; - - result.Url = temp[i]?.Url; - result.Title = temp[i]?.Title; - - searchResultsList.Results.Add(result); - } - - return searchResultsList; - } -} \ No newline at end of file diff --git a/Backend/Helper/TcpClientHelper.cs b/Backend/Helper/TcpClientHelper.cs index a448cfd..eb4b249 100644 --- a/Backend/Helper/TcpClientHelper.cs +++ b/Backend/Helper/TcpClientHelper.cs @@ -1,3 +1,4 @@ +using System.Net; using System.Net.Sockets; using Models.Model.Backend; @@ -15,7 +16,7 @@ public static class TcpClientHelper try { - socket.Connect(ip.ToString(), ports[i]); + socket.Connect(new IPEndPoint(IPAddress.Parse(ip.ToString()), ports[i])); socket.Close(); // If the connection is not successful, update the ports array with 0. } diff --git a/Backend/Scripts/443Header0.txt b/Backend/Scripts/443Header0.txt index 740521a..fd770c7 100644 --- a/Backend/Scripts/443Header0.txt +++ b/Backend/Scripts/443Header0.txt @@ -1,76 +1,68 @@ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.72.3:443... -* Connected to 192.0.72.3 (192.0.72.3) port 443 + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.151:443... +* Connected to 72.0.3.151 (72.0.3.151) port 443 * ALPN: curl offers h2,http/1.1 } [5 bytes data] * TLSv1.3 (OUT), TLS handshake, Client hello (1): } [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): { [122 bytes data] * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [15 bytes data] +{ [75 bytes data] * TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [2063 bytes data] +{ [3749 bytes data] * TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [79 bytes data] +{ [264 bytes data] * TLSv1.3 (IN), TLS handshake, Finished (20): { [52 bytes data] * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): } [1 bytes data] * TLSv1.3 (OUT), TLS handshake, Finished (20): } [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS * ALPN: server accepted h2 * Server certificate: -* subject: CN=files.wordpress.com -* start date: Dec 16 09:49:37 2024 GMT -* expire date: Mar 16 09:49:36 2025 GMT -* issuer: C=US; O=Let's Encrypt; CN=E6 -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384 -* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption +* subject: C=US; ST=Georgia; L=Atlanta; O=Voya Services Company; OU=WebInfrastructure; CN=*.intg.voyaretirementplans.com +* start date: Jul 25 16:15:27 2024 GMT +* expire date: Jul 16 00:00:00 2026 GMT +* issuer: O=Voya Services Company; CN=Voya RSA Issuing CA 01 - G1 +* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using ecdsa-with-SHA384 +* Certificate level 2: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384 +* Certificate level 3: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384 } [5 bytes data] * using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://192.0.72.3/ +* [HTTP/2] [1] OPENED stream for https://72.0.3.151/ * [HTTP/2] [1] [:method: HEAD] * [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 192.0.72.3] +* [HTTP/2] [1] [:authority: 72.0.3.151] * [HTTP/2] [1] [:path: /] * [HTTP/2] [1] [user-agent: curl/8.9.1] * [HTTP/2] [1] [accept: */*] } [5 bytes data] > HEAD / HTTP/2 -> Host: 192.0.72.3 +> Host: 72.0.3.151 > User-Agent: curl/8.9.1 > Accept: */* > * Request completely sent off { [5 bytes data] * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [249 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [249 bytes data] -< HTTP/2 302 -< server: nginx -< date: Fri, 07 Feb 2025 22:58:34 GMT -< content-type: text/html; charset=utf-8 -< location: https://developer.wordpress.com -< vary: Cookie -< x-nc: MISS hhn 3 -< x-content-type-options: nosniff -< alt-svc: h3=":443"; ma=86400 +{ [57 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0< HTTP/2 403 +< set-cookie: Apache=630256a.62e1f11799c73; path=/ +< content-type: text/html; charset=iso-8859-1 +< date: Fri, 14 Feb 2025 19:20:32 GMT +< server: Apache < { [0 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 192.0.72.3 left intact -HTTP/2 302 -server: nginx -date: Fri, 07 Feb 2025 22:58:34 GMT -content-type: text/html; charset=utf-8 -location: https://developer.wordpress.com -vary: Cookie -x-nc: MISS hhn 3 -x-content-type-options: nosniff -alt-svc: h3=":443"; ma=86400 + 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 +* Connection #0 to host 72.0.3.151 left intact +HTTP/2 403 +set-cookie: Apache=630256a.62e1f11799c73; path=/ +content-type: text/html; charset=iso-8859-1 +date: Fri, 14 Feb 2025 19:20:32 GMT +server: Apache diff --git a/Backend/Scripts/443Header1.txt b/Backend/Scripts/443Header1.txt index 450aab7..d74073f 100644 --- a/Backend/Scripts/443Header1.txt +++ b/Backend/Scripts/443Header1.txt @@ -1,70 +1,60 @@ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.66.251:443... -* Connected to 192.0.66.251 (192.0.66.251) port 443 + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.0.75:443... +* Connected to 122.0.0.75 (122.0.0.75) port 443 * ALPN: curl offers h2,http/1.1 } [5 bytes data] * TLSv1.3 (OUT), TLS handshake, Client hello (1): } [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [15 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [2033 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [79 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [85 bytes data] +* TLSv1.2 (IN), TLS handshake, Certificate (11): +{ [4480 bytes data] +* TLSv1.2 (IN), TLS handshake, Server key exchange (12): +{ [333 bytes data] +* TLSv1.2 (IN), TLS handshake, Server finished (14): +{ [4 bytes data] +* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): +} [70 bytes data] +* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): } [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey -* ALPN: server accepted h2 +* TLSv1.2 (OUT), TLS handshake, Finished (20): +} [16 bytes data] +* TLSv1.2 (IN), TLS handshake, Finished (20): +{ [16 bytes data] +* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption +* ALPN: server did not agree on a protocol. Uses default. * Server certificate: -* subject: CN=go-vip.co -* start date: Jan 18 19:43:58 2025 GMT -* expire date: Apr 18 19:43:57 2025 GMT -* issuer: C=US; O=Let's Encrypt; CN=E5 -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384 -* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption +* subject: CN=*.mfa.go.th +* start date: Aug 26 04:13:36 2024 GMT +* expire date: Sep 27 04:13:35 2025 GMT +* issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign GCC R6 AlphaSSL CA 2023 +* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha384WithRSAEncryption +* using HTTP/1.x } [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://192.0.66.251/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 192.0.66.251] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 192.0.66.251 +> HEAD / HTTP/1.1 +> Host: 122.0.0.75 > User-Agent: curl/8.9.1 > Accept: */* > * Request completely sent off { [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [249 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [249 bytes data] -< HTTP/2 404 -< server: nginx -< date: Fri, 07 Feb 2025 22:58:27 GMT -< content-type: text/html -< content-length: 146 -< x-rq: hhn2 +< HTTP/1.1 403 Forbidden +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Content-Type: text/html +< Content-Length: 141 +< Connection: keep-alive +< Allow: GET, POST < -{ [0 bytes data] - 0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 192.0.66.251 left intact -HTTP/2 404 -server: nginx -date: Fri, 07 Feb 2025 22:58:27 GMT -content-type: text/html -content-length: 146 -x-rq: hhn2 + 0 141 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 122.0.0.75 left intact +HTTP/1.1 403 Forbidden +Date: Fri, 14 Feb 2025 19:20:38 GMT +Content-Type: text/html +Content-Length: 141 +Connection: keep-alive +Allow: GET, POST diff --git a/Backend/Scripts/443Header10.txt b/Backend/Scripts/443Header10.txt new file mode 100644 index 0000000..8fda963 --- /dev/null +++ b/Backend/Scripts/443Header10.txt @@ -0,0 +1,59 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.176:443... +* Connected to 72.0.3.176 (72.0.3.176) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [15 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [3702 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [264 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS +* ALPN: server accepted h2 +* Server certificate: +* subject: C=US; ST=Massachusetts; L=Quincy; O=Voya Institutional Plan Services, LLC; OU=WebInfrastructure; CN=*.intg.voyaplans.com +* start date: Jul 26 10:27:42 2024 GMT +* expire date: Jul 16 00:00:00 2026 GMT +* issuer: O=Voya Services Company; CN=Voya RSA Issuing CA 01 - G1 +* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using ecdsa-with-SHA384 +* Certificate level 2: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384 +* Certificate level 3: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384 +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://72.0.3.176/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 72.0.3.176] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 72.0.3.176 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [57 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [57 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* Connection #0 to host 72.0.3.176 left intact +curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/443Header11.txt b/Backend/Scripts/443Header11.txt new file mode 100644 index 0000000..9fc5b63 --- /dev/null +++ b/Backend/Scripts/443Header11.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.195:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header12.txt b/Backend/Scripts/443Header12.txt new file mode 100644 index 0000000..9dff6db --- /dev/null +++ b/Backend/Scripts/443Header12.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.0.92:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header13.txt b/Backend/Scripts/443Header13.txt new file mode 100644 index 0000000..f9e08a9 --- /dev/null +++ b/Backend/Scripts/443Header13.txt @@ -0,0 +1,81 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.2:443... +* Connected to 168.0.0.2 (168.0.0.2) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [108 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.2 (IN), TLS handshake, Certificate (11): +{ [5659 bytes data] +* TLSv1.2 (IN), TLS handshake, Server key exchange (12): +{ [300 bytes data] +* TLSv1.2 (IN), TLS handshake, Request CERT (13): +{ [420 bytes data] +* TLSv1.2 (IN), TLS handshake, Server finished (14): +{ [4 bytes data] +* TLSv1.2 (OUT), TLS handshake, Certificate (11): +} [7 bytes data] +* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): +} [37 bytes data] +* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.2 (OUT), TLS handshake, Finished (20): +} [16 bytes data] +* TLSv1.2 (IN), TLS handshake, Finished (20): +{ [16 bytes data] +* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / x25519 / RSASSA-PSS +* ALPN: server accepted http/1.1 +* Server certificate: +* subject: CN=ixc.netguibor.com.br +* start date: Jul 25 00:00:00 2024 GMT +* expire date: Aug 1 23:59:59 2025 GMT +* issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA +* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha384WithRSAEncryption +* Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha384WithRSAEncryption +* Certificate level 3: Public key type RSA (2048/112 Bits/secBits), signed using sha1WithRSAEncryption +* using HTTP/1.x +} [5 bytes data] +> HEAD / HTTP/1.1 +> Host: 168.0.0.2 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +< HTTP/1.1 200 OK +< Server: nginx +< Date: Fri, 14 Feb 2025 19:20:39 GMT +< Content-Type: text/html; charset=ISO-8859-1 +< Connection: keep-alive +< Set-Cookie: PHPSESSID=02hoee5o39m1ia78okburjgr56; path=/ +< Set-Cookie: ixc_cli=d880aeebae5c4f346d379f3944ea2497; expires=Sat, 14-Feb-2026 19:20:39 GMT; Max-Age=31536000; path=/ +< Expires: Fri, 14 Feb 2025 18:20:39 GMT +< Last-Modified: Fri, 14 Feb 2025 19:20:39 GMT +< Cache-Control: no-cache, must-revalidate +< Pragma: no-cache +< X-Content-Type-Options: nosniff +< X-Frame-Options: SAMEORIGIN +< X-XSS-Protection: 1; mode=block +< + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 168.0.0.2 left intact +HTTP/1.1 200 OK +Server: nginx +Date: Fri, 14 Feb 2025 19:20:39 GMT +Content-Type: text/html; charset=ISO-8859-1 +Connection: keep-alive +Set-Cookie: PHPSESSID=02hoee5o39m1ia78okburjgr56; path=/ +Set-Cookie: ixc_cli=d880aeebae5c4f346d379f3944ea2497; expires=Sat, 14-Feb-2026 19:20:39 GMT; Max-Age=31536000; path=/ +Expires: Fri, 14 Feb 2025 18:20:39 GMT +Last-Modified: Fri, 14 Feb 2025 19:20:39 GMT +Cache-Control: no-cache, must-revalidate +Pragma: no-cache +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-XSS-Protection: 1; mode=block + diff --git a/Backend/Scripts/443Header14.txt b/Backend/Scripts/443Header14.txt new file mode 100644 index 0000000..a3857d4 --- /dev/null +++ b/Backend/Scripts/443Header14.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.147:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header15.txt b/Backend/Scripts/443Header15.txt new file mode 100644 index 0000000..fc1d96c --- /dev/null +++ b/Backend/Scripts/443Header15.txt @@ -0,0 +1,12 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.1.49:443... +* Connected to 122.0.1.49 (122.0.1.49) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header16.txt b/Backend/Scripts/443Header16.txt new file mode 100644 index 0000000..108af4f --- /dev/null +++ b/Backend/Scripts/443Header16.txt @@ -0,0 +1,8 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 190.0.0.14:443... +* connect to 190.0.0.14 port 443 from 192.168.80.132 port 44664 failed: Connection refused +* Failed to connect to 190.0.0.14 port 443 after 184 ms: Could not connect to server + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* closing connection #0 +curl: (7) Failed to connect to 190.0.0.14 port 443 after 184 ms: Could not connect to server diff --git a/Backend/Scripts/443Header17.txt b/Backend/Scripts/443Header17.txt new file mode 100644 index 0000000..01dc5cb --- /dev/null +++ b/Backend/Scripts/443Header17.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.102:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header18.txt b/Backend/Scripts/443Header18.txt new file mode 100644 index 0000000..5913f4d --- /dev/null +++ b/Backend/Scripts/443Header18.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.37:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header19.txt b/Backend/Scripts/443Header19.txt new file mode 100644 index 0000000..978111f --- /dev/null +++ b/Backend/Scripts/443Header19.txt @@ -0,0 +1,60 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.18:443... +* Connected to 156.0.1.18 (156.0.1.18) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [15 bytes data] +* TLSv1.3 (IN), TLS handshake, Request CERT (13): +{ [564 bytes data] +* TLSv1.3 (IN), TLS handshake, Unknown (25): +{ [2075 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [79 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [36 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Certificate (11): +} [8 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [36 bytes data] +* SSL connection using TLSv1.3 / TLS_CHACHA20_POLY1305_SHA256 / x25519 / id-ecPublicKey +* ALPN: server accepted h2 +* Server certificate: +* subject: C=US; ST=California; L=Menlo Park; O=Meta Platforms, Inc.; CN=*.fmsu2-1.fna.fbcdn.net +* start date: Dec 20 00:00:00 2024 GMT +* expire date: Mar 20 23:59:59 2025 GMT +* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 High Assurance Server CA +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://156.0.1.18/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 156.0.1.18] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 156.0.1.18 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS alert, unknown (628): +{ [2 bytes data] +* OpenSSL SSL_read: OpenSSL/3.2.2: error:0A00045C:SSL routines::tlsv13 alert certificate required, errno 0 +* Failed receiving HTTP2 data: 56(Failure when receiving data from the peer) + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 156.0.1.18 left intact +curl: (56) OpenSSL SSL_read: OpenSSL/3.2.2: error:0A00045C:SSL routines::tlsv13 alert certificate required, errno 0 diff --git a/Backend/Scripts/443Header2.txt b/Backend/Scripts/443Header2.txt index 2e5251c..c443bc0 100644 --- a/Backend/Scripts/443Header2.txt +++ b/Backend/Scripts/443Header2.txt @@ -1,7 +1,7 @@ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.66.254:443... -* Connected to 192.0.66.254 (192.0.66.254) port 443 + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.33:443... +* Connected to 156.0.1.33 (156.0.1.33) port 443 * ALPN: curl offers h2,http/1.1 } [5 bytes data] * TLSv1.3 (OUT), TLS handshake, Client hello (1): @@ -10,61 +10,61 @@ { [122 bytes data] * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): { [15 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [2033 bytes data] +* TLSv1.3 (IN), TLS handshake, Unknown (25): +{ [2075 bytes data] * TLSv1.3 (IN), TLS handshake, CERT verify (15): { [78 bytes data] * TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] +{ [36 bytes data] * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): } [1 bytes data] * TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey +} [36 bytes data] +* SSL connection using TLSv1.3 / TLS_CHACHA20_POLY1305_SHA256 / x25519 / id-ecPublicKey * ALPN: server accepted h2 * Server certificate: -* subject: CN=go-vip.co -* start date: Jan 18 19:43:58 2025 GMT -* expire date: Apr 18 19:43:57 2025 GMT -* issuer: C=US; O=Let's Encrypt; CN=E5 +* subject: C=US; ST=California; L=Menlo Park; O=Meta Platforms, Inc.; CN=*.fmsu2-1.fna.fbcdn.net +* start date: Dec 20 00:00:00 2024 GMT +* expire date: Mar 20 23:59:59 2025 GMT +* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 High Assurance Server CA * SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384 -* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption } [5 bytes data] * using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://192.0.66.254/ +* [HTTP/2] [1] OPENED stream for https://156.0.1.33/ * [HTTP/2] [1] [:method: HEAD] * [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 192.0.66.254] +* [HTTP/2] [1] [:authority: 156.0.1.33] * [HTTP/2] [1] [:path: /] * [HTTP/2] [1] [user-agent: curl/8.9.1] * [HTTP/2] [1] [accept: */*] } [5 bytes data] > HEAD / HTTP/2 -> Host: 192.0.66.254 +> Host: 156.0.1.33 > User-Agent: curl/8.9.1 > Accept: */* > * Request completely sent off { [5 bytes data] * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [249 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [249 bytes data] -< HTTP/2 404 -< server: nginx -< date: Fri, 07 Feb 2025 22:58:28 GMT -< content-type: text/html -< content-length: 146 -< x-rq: hhn2 +{ [158 bytes data] +< HTTP/2 400 +< content-length: 2959 +< content-type: text/html; charset=utf-8 +< access-control-allow-origin: * +< x-fb-response-reason: default_vip_400 +< proxy-status: proxy_internal_response; e_isproxyerr="AcI5RvmM_P5aM4klg4C08vhDvlYNVAiLKHoe7n3ysUznudM7Je8CvAhFgYu0Vg"; e_fb_responsebytes="AcLJAAQ5ab_XPaf-z73sRql9_OmovQPBVqlS8AFvscXfT8i4EgbbcJaqsDQ2sg"; e_fb_requesttime="AcIrUXWfsrTLjC5hDcnih2CrEXCgGSph05cgBy4li2_ttfccocH2hP4JU8_h2eC0D4ykolr-jQ"; e_proxy="AcKYBts7ULt_5qq9Xd817_iMMYVOphaGguSI9WNDgw2qdUvqc3qoXoGKxpDppsQVzYkqYjwdMmOO"; e_fb_twtaskhandle="AcI9xBShDqOaFDLx1BpWue9GFEb18-rH1bsX4uUre-f7RbqCfMKruL9cg6ac5_GrCFx9KxDfLyGT1wfykSVTOy5sHmr64JfM"; e_fb_proxycode="AcLnrLHsVK_iOZmqiw6rTsFruys5BETq4xE9pWuP3Qw2PnfEGrL35yh-IKwL"; e_fb_requestsequencenumber="AcIfa-hpcrat2Mdc4YiE40Og9DwVuDDKVp5d93X-kWHnqHrMoA70oJxWzw"; e_fb_zone="AcKjTUbqEXCPxZxPnwe3pKJ1zKe6TrMvk_fZjSt8jVtSKcsvHvMPQ46mFRaG"; e_fb_binaryversion="AcIwL6MqC84myi4xgD3YxMtlyfd1tejVsj16LyXBMP2u3Jl8o_VZ0TYSJQ3O7psJ342Hnvn3DrPT6ivv1xJberBuf6mbfp2t32E"; e_fb_httpversion="AcK8_z60ivLKWfSzQWgj5dija1B_PY8dXR6TDFrRFyNKqi2aSXOyd0GPVmat"; e_fb_hostheader="AcLlq3Sm2lVtyf_fkskQm_I-zT8tES4c8oex-pIHPMsb-ISkcT4cJjkL5MEaTk67L4Cq3A"; e_fb_builduser="AcLlf-WKHqvZhc7qcWxsy9n2mOtiKzyPyrENWT7DkyKOXDbwCt_PlmvROsjBEWXgG7k"; e_fb_vipport="AcK9ryY83UIVHjgbWWVb3_3mvpcuZcRH0scT7LqaOAWru19pQibjz4w-39UB"; e_clientaddr="AcJ5obOHTryw_WiMorwKyFYVsqh9XGZud67P5DZhQykDcWy7SEG9sv-fRTy8SF1B0vXi8H827h2oyAwXrpI"; e_fb_vipaddr="AcINmhQuRG_P-eYttkvIUojfInQcu_atN11eLhm9d9IQx7q5nw6FoxbFZ-JSaAx2YTFCDQ"; e_fb_configversion="AcKzHeLiGQ143ZTw8BG2_A4T89WbIcw0ylTh06FibEVhpIrywHCgrAEhjAISqA" +< date: Fri, 14 Feb 2025 19:20:38 GMT < -{ [0 bytes data] - 0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 192.0.66.254 left intact -HTTP/2 404 -server: nginx -date: Fri, 07 Feb 2025 22:58:28 GMT -content-type: text/html -content-length: 146 -x-rq: hhn2 +{ [5 bytes data] + 0 2959 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 156.0.1.33 left intact +HTTP/2 400 +content-length: 2959 +content-type: text/html; charset=utf-8 +access-control-allow-origin: * +x-fb-response-reason: default_vip_400 +proxy-status: proxy_internal_response; e_isproxyerr="AcI5RvmM_P5aM4klg4C08vhDvlYNVAiLKHoe7n3ysUznudM7Je8CvAhFgYu0Vg"; e_fb_responsebytes="AcLJAAQ5ab_XPaf-z73sRql9_OmovQPBVqlS8AFvscXfT8i4EgbbcJaqsDQ2sg"; e_fb_requesttime="AcIrUXWfsrTLjC5hDcnih2CrEXCgGSph05cgBy4li2_ttfccocH2hP4JU8_h2eC0D4ykolr-jQ"; e_proxy="AcKYBts7ULt_5qq9Xd817_iMMYVOphaGguSI9WNDgw2qdUvqc3qoXoGKxpDppsQVzYkqYjwdMmOO"; e_fb_twtaskhandle="AcI9xBShDqOaFDLx1BpWue9GFEb18-rH1bsX4uUre-f7RbqCfMKruL9cg6ac5_GrCFx9KxDfLyGT1wfykSVTOy5sHmr64JfM"; e_fb_proxycode="AcLnrLHsVK_iOZmqiw6rTsFruys5BETq4xE9pWuP3Qw2PnfEGrL35yh-IKwL"; e_fb_requestsequencenumber="AcIfa-hpcrat2Mdc4YiE40Og9DwVuDDKVp5d93X-kWHnqHrMoA70oJxWzw"; e_fb_zone="AcKjTUbqEXCPxZxPnwe3pKJ1zKe6TrMvk_fZjSt8jVtSKcsvHvMPQ46mFRaG"; e_fb_binaryversion="AcIwL6MqC84myi4xgD3YxMtlyfd1tejVsj16LyXBMP2u3Jl8o_VZ0TYSJQ3O7psJ342Hnvn3DrPT6ivv1xJberBuf6mbfp2t32E"; e_fb_httpversion="AcK8_z60ivLKWfSzQWgj5dija1B_PY8dXR6TDFrRFyNKqi2aSXOyd0GPVmat"; e_fb_hostheader="AcLlq3Sm2lVtyf_fkskQm_I-zT8tES4c8oex-pIHPMsb-ISkcT4cJjkL5MEaTk67L4Cq3A"; e_fb_builduser="AcLlf-WKHqvZhc7qcWxsy9n2mOtiKzyPyrENWT7DkyKOXDbwCt_PlmvROsjBEWXgG7k"; e_fb_vipport="AcK9ryY83UIVHjgbWWVb3_3mvpcuZcRH0scT7LqaOAWru19pQibjz4w-39UB"; e_clientaddr="AcJ5obOHTryw_WiMorwKyFYVsqh9XGZud67P5DZhQykDcWy7SEG9sv-fRTy8SF1B0vXi8H827h2oyAwXrpI"; e_fb_vipaddr="AcINmhQuRG_P-eYttkvIUojfInQcu_atN11eLhm9d9IQx7q5nw6FoxbFZ-JSaAx2YTFCDQ"; e_fb_configversion="AcKzHeLiGQ143ZTw8BG2_A4T89WbIcw0ylTh06FibEVhpIrywHCgrAEhjAISqA" +date: Fri, 14 Feb 2025 19:20:38 GMT diff --git a/Backend/Scripts/443Header20.txt b/Backend/Scripts/443Header20.txt new file mode 100644 index 0000000..be24c38 --- /dev/null +++ b/Backend/Scripts/443Header20.txt @@ -0,0 +1,8 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.49:443... +* connect to 188.0.0.49 port 443 from 192.168.80.132 port 50014 failed: Connection refused +* Failed to connect to 188.0.0.49 port 443 after 103 ms: Could not connect to server + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* closing connection #0 +curl: (7) Failed to connect to 188.0.0.49 port 443 after 103 ms: Could not connect to server diff --git a/Backend/Scripts/443Header21.txt b/Backend/Scripts/443Header21.txt new file mode 100644 index 0000000..71ed032 --- /dev/null +++ b/Backend/Scripts/443Header21.txt @@ -0,0 +1,74 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 130.0.0.10:443... +* Connected to 130.0.0.10 (130.0.0.10) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [15 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [2698 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [392 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS +* ALPN: server accepted h2 +* Server certificate: +* subject: CN=*.asptech.net +* start date: Jan 28 11:36:15 2025 GMT +* expire date: Apr 28 11:36:14 2025 GMT +* issuer: C=US; O=Let's Encrypt; CN=R11 +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type RSA (3072/128 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://130.0.0.10/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 130.0.0.10] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 130.0.0.10 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [81 bytes data] +< HTTP/2 200 +< content-length: 703 +< content-type: text/html +< last-modified: Mon, 08 Jan 2024 14:42:56 GMT +< accept-ranges: bytes +< etag: "5a73def74042da1:0" +< server: Microsoft-IIS/10.0 +< x-powered-by: ASP.NET +< date: Fri, 14 Feb 2025 19:20:41 GMT +< +{ [0 bytes data] + 0 703 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 130.0.0.10 left intact +HTTP/2 200 +content-length: 703 +content-type: text/html +last-modified: Mon, 08 Jan 2024 14:42:56 GMT +accept-ranges: bytes +etag: "5a73def74042da1:0" +server: Microsoft-IIS/10.0 +x-powered-by: ASP.NET +date: Fri, 14 Feb 2025 19:20:41 GMT + diff --git a/Backend/Scripts/443Header22.txt b/Backend/Scripts/443Header22.txt new file mode 100644 index 0000000..5f560b3 --- /dev/null +++ b/Backend/Scripts/443Header22.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 128.0.2.1:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header23.txt b/Backend/Scripts/443Header23.txt new file mode 100644 index 0000000..58e2604 --- /dev/null +++ b/Backend/Scripts/443Header23.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.94:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header24.txt b/Backend/Scripts/443Header24.txt new file mode 100644 index 0000000..f0e9d92 --- /dev/null +++ b/Backend/Scripts/443Header24.txt @@ -0,0 +1,8 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.14:443... +* connect to 168.0.0.14 port 443 from 192.168.80.132 port 51910 failed: Connection refused +* Failed to connect to 168.0.0.14 port 443 after 210 ms: Could not connect to server + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* closing connection #0 +curl: (7) Failed to connect to 168.0.0.14 port 443 after 210 ms: Could not connect to server diff --git a/Backend/Scripts/443Header25.txt b/Backend/Scripts/443Header25.txt new file mode 100644 index 0000000..fe87099 --- /dev/null +++ b/Backend/Scripts/443Header25.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.20:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header26.txt b/Backend/Scripts/443Header26.txt new file mode 100644 index 0000000..026a569 --- /dev/null +++ b/Backend/Scripts/443Header26.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 154.0.1.30:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header27.txt b/Backend/Scripts/443Header27.txt new file mode 100644 index 0000000..7acb386 --- /dev/null +++ b/Backend/Scripts/443Header27.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.160:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header28.txt b/Backend/Scripts/443Header28.txt new file mode 100644 index 0000000..70f5d0c --- /dev/null +++ b/Backend/Scripts/443Header28.txt @@ -0,0 +1,12 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.1.60:443... +* Connected to 122.0.1.60 (122.0.1.60) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header29.txt b/Backend/Scripts/443Header29.txt new file mode 100644 index 0000000..af49981 --- /dev/null +++ b/Backend/Scripts/443Header29.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.248:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header3.txt b/Backend/Scripts/443Header3.txt index 215e22b..1901cf1 100644 --- a/Backend/Scripts/443Header3.txt +++ b/Backend/Scripts/443Header3.txt @@ -1,70 +1,7 @@ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.66.253:443... -* Connected to 192.0.66.253 (192.0.66.253) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [15 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [2033 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [78 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey -* ALPN: server accepted h2 -* Server certificate: -* subject: CN=go-vip.co -* start date: Jan 18 19:43:58 2025 GMT -* expire date: Apr 18 19:43:57 2025 GMT -* issuer: C=US; O=Let's Encrypt; CN=E5 -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384 -* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://192.0.66.253/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 192.0.66.253] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 192.0.66.253 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [249 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [249 bytes data] -< HTTP/2 404 -< server: nginx -< date: Fri, 07 Feb 2025 22:58:28 GMT -< content-type: text/html -< content-length: 146 -< x-rq: hhn2 -< -{ [0 bytes data] - 0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 192.0.66.253 left intact -HTTP/2 404 -server: nginx -date: Fri, 07 Feb 2025 22:58:28 GMT -content-type: text/html -content-length: 146 -x-rq: hhn2 - + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 154.0.1.82:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header30.txt b/Backend/Scripts/443Header30.txt new file mode 100644 index 0000000..0383c46 --- /dev/null +++ b/Backend/Scripts/443Header30.txt @@ -0,0 +1,66 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.94:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0* Connected to 152.0.1.94 (152.0.1.94) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [89 bytes data] +* TLSv1.2 (IN), TLS handshake, Certificate (11): +{ [1014 bytes data] +* TLSv1.2 (IN), TLS handshake, Server key exchange (12): +{ [333 bytes data] +* TLSv1.2 (IN), TLS handshake, Server finished (14): +{ [4 bytes data] +* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): +} [70 bytes data] +* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.2 (OUT), TLS handshake, Finished (20): +} [16 bytes data] +* TLSv1.2 (IN), TLS handshake, Finished (20): +{ [16 bytes data] +* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption +* ALPN: server did not agree on a protocol. Uses default. +* Server certificate: +* subject: C=CN; ST=JiangSu; L=Nanjing; O=ZTE; OU=FN Nanjing Software Development Dept III; CN=192.168.1.1; emailAddress=zane@zte.com.cn +* start date: Jul 13 01:32:15 2016 GMT +* expire date: Jul 10 01:32:15 2031 GMT +* issuer: C=CN; ST=GuangDong; L=Shenzhen; O=ZTE; OU=Wireline Product R&D Institute; CN=ZTE-ROOT-CA; emailAddress=zane@zte.com.cn +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha512WithRSAEncryption +* using HTTP/1.x + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0} [5 bytes data] +> HEAD / HTTP/1.1 +> Host: 152.0.1.94 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +< HTTP/1.1 400 Bad Request +< Server: ZTE web server 1.0 ZTE corp 2015. +< Accept-Ranges: bytes +< Connection: close +< X-Frame-Options: SAMEORIGIN +< Content-Type: text/html; charset=iso-8859-1 +< X-Content-Type-Options: nosniff +< Cache-Control: no-cache,no-store +< +{ [1165 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 +* shutting down connection #0 +} [5 bytes data] +* TLSv1.2 (OUT), TLS alert, close notify (256): +} [2 bytes data] +HTTP/1.1 400 Bad Request +Server: ZTE web server 1.0 ZTE corp 2015. +Accept-Ranges: bytes +Connection: close +X-Frame-Options: SAMEORIGIN +Content-Type: text/html; charset=iso-8859-1 +X-Content-Type-Options: nosniff +Cache-Control: no-cache,no-store + diff --git a/Backend/Scripts/443Header31.txt b/Backend/Scripts/443Header31.txt new file mode 100644 index 0000000..3885989 --- /dev/null +++ b/Backend/Scripts/443Header31.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.14:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header32.txt b/Backend/Scripts/443Header32.txt new file mode 100644 index 0000000..57a2bda --- /dev/null +++ b/Backend/Scripts/443Header32.txt @@ -0,0 +1,60 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.0.80:443... +* Connected to 122.0.0.80 (122.0.0.80) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [85 bytes data] +* TLSv1.2 (IN), TLS handshake, Certificate (11): +{ [4480 bytes data] +* TLSv1.2 (IN), TLS handshake, Server key exchange (12): +{ [333 bytes data] +* TLSv1.2 (IN), TLS handshake, Server finished (14): +{ [4 bytes data] +* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): +} [70 bytes data] +* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.2 (OUT), TLS handshake, Finished (20): +} [16 bytes data] +* TLSv1.2 (IN), TLS handshake, Finished (20): +{ [16 bytes data] +* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption +* ALPN: server did not agree on a protocol. Uses default. +* Server certificate: +* subject: CN=*.mfa.go.th +* start date: Aug 26 04:13:36 2024 GMT +* expire date: Sep 27 04:13:35 2025 GMT +* issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign GCC R6 AlphaSSL CA 2023 +* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha384WithRSAEncryption +* using HTTP/1.x +} [5 bytes data] +> HEAD / HTTP/1.1 +> Host: 122.0.0.80 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +< HTTP/1.1 403 Forbidden +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Content-Type: text/html +< Content-Length: 141 +< Connection: keep-alive +< Allow: GET, POST +< + 0 141 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 122.0.0.80 left intact +HTTP/1.1 403 Forbidden +Date: Fri, 14 Feb 2025 19:20:38 GMT +Content-Type: text/html +Content-Length: 141 +Connection: keep-alive +Allow: GET, POST + diff --git a/Backend/Scripts/443Header33.txt b/Backend/Scripts/443Header33.txt new file mode 100644 index 0000000..f646b35 --- /dev/null +++ b/Backend/Scripts/443Header33.txt @@ -0,0 +1,60 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.24:443... +* Connected to 156.0.1.24 (156.0.1.24) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [15 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [2708 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [79 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [36 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [36 bytes data] +* SSL connection using TLSv1.3 / TLS_CHACHA20_POLY1305_SHA256 / x25519 / id-ecPublicKey +* ALPN: server accepted h2 +* Server certificate: +* subject: CN=svc:ti.shiv.synthetic_e2e +* start date: Jan 28 22:32:53 2025 GMT +* expire date: Mar 30 18:33:03 2025 GMT +* issuer: CN=Facebook Rootcanal Prod Intermediate (e=3) CA 2023-10; C=US; ST=California; L=Menlo Park; O=Meta Platforms Inc. +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://156.0.1.24/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 156.0.1.24] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 156.0.1.24 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [160 bytes data] +< HTTP/2 400 +< date: Fri, 14 Feb 2025 19:20:48 GMT +< +{ [0 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 156.0.1.24 left intact +HTTP/2 400 +date: Fri, 14 Feb 2025 19:20:48 GMT + diff --git a/Backend/Scripts/443Header34.txt b/Backend/Scripts/443Header34.txt new file mode 100644 index 0000000..42c8800 --- /dev/null +++ b/Backend/Scripts/443Header34.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.92:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header35.txt b/Backend/Scripts/443Header35.txt new file mode 100644 index 0000000..cb5a2af --- /dev/null +++ b/Backend/Scripts/443Header35.txt @@ -0,0 +1,70 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 88.0.0.187:443... +* Connected to 88.0.0.187 (88.0.0.187) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [81 bytes data] +* TLSv1.2 (IN), TLS handshake, Certificate (11): +{ [927 bytes data] +* TLSv1.2 (IN), TLS handshake, Server finished (14): +{ [4 bytes data] +* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): +} [262 bytes data] +* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.2 (OUT), TLS handshake, Finished (20): +} [16 bytes data] +* TLSv1.2 (IN), TLS handshake, Finished (20): +{ [16 bytes data] +* SSL connection using TLSv1.2 / AES256-GCM-SHA384 / [blank] / UNDEF +* ALPN: server did not agree on a protocol. Uses default. +* Server certificate: +* subject: C=TW; ST=XZ; L=XZ; O=MitraStar; OU=CPE; CN=192.168.1.1 +* start date: Jan 1 00:01:01 2015 GMT +* expire date: Dec 27 00:01:01 2034 GMT +* issuer: C=TW; ST=XZ; L=XZ; O=MitraStar; OU=CPE; CN=192.168.1.1 +* SSL certificate verify result: self-signed certificate (18), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* using HTTP/1.x +} [5 bytes data] +> HEAD / HTTP/1.1 +> Host: 88.0.0.187 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +< HTTP/1.1 302 Found +< Server: mini_httpd/1.27 07Mar2017 +< Date: Fri, 14 Feb 2025 20:20:20 GMT +< X-Frame-Options: SAMEORIGIN +< Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval';style-src 'self' 'unsafe-inline' +< X-Content-Type-Options: nosniff +< X-XSS-Protection: 1; mode=block +< Strict-Transport-Security: max-age=31536000; includeSubDomains +< Location: /cgi-bin/mhs/html/logIn_mhs.asp +< Content-Type: text/html; charset=%s +< Connection: close +< +{ [473 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +} [5 bytes data] +* TLSv1.2 (OUT), TLS alert, close notify (256): +} [2 bytes data] +HTTP/1.1 302 Found +Server: mini_httpd/1.27 07Mar2017 +Date: Fri, 14 Feb 2025 20:20:20 GMT +X-Frame-Options: SAMEORIGIN +Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval';style-src 'self' 'unsafe-inline' +X-Content-Type-Options: nosniff +X-XSS-Protection: 1; mode=block +Strict-Transport-Security: max-age=31536000; includeSubDomains +Location: /cgi-bin/mhs/html/logIn_mhs.asp +Content-Type: text/html; charset=%s +Connection: close + diff --git a/Backend/Scripts/443Header36.txt b/Backend/Scripts/443Header36.txt new file mode 100644 index 0000000..82d6fef --- /dev/null +++ b/Backend/Scripts/443Header36.txt @@ -0,0 +1,77 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.137:443... +* Connected to 152.0.0.137 (152.0.0.137) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [88 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [187 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [21 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [3195 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [264 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / secp384r1 / RSASSA-PSS +* ALPN: server accepted http/1.1 +* Server certificate: +* subject: CN=*.rehabilitacion.org.do +* start date: Oct 12 00:00:00 2023 GMT +* expire date: Oct 12 23:59:59 2024 GMT +* issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha384WithRSAEncryption +* using HTTP/1.x +} [5 bytes data] +> HEAD / HTTP/1.1 +> Host: 152.0.0.137 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [265 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [265 bytes data] +< HTTP/1.1 403 Forbidden +< Date: Fri, 14 Feb 2025 19:20:46 GMT +< Content-Type: text/html +< Content-Length: 134 +< Connection: keep-alive +< X-Frame-Options: SAMEORIGIN +< X-XSS-Protection: 1; mode=block +< X-Content-Type-Options: nosniff +< Strict-Transport-Security: max-age=31536000 +< Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'self'; media-src 'self'; child-src 'self' +< X-Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'self'; media-src 'self'; child-src 'self' +< X-Webkit-CSP: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'self'; media-src 'self'; child-src 'self' +< + 0 134 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 152.0.0.137 left intact +HTTP/1.1 403 Forbidden +Date: Fri, 14 Feb 2025 19:20:46 GMT +Content-Type: text/html +Content-Length: 134 +Connection: keep-alive +X-Frame-Options: SAMEORIGIN +X-XSS-Protection: 1; mode=block +X-Content-Type-Options: nosniff +Strict-Transport-Security: max-age=31536000 +Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'self'; media-src 'self'; child-src 'self' +X-Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'self'; media-src 'self'; child-src 'self' +X-Webkit-CSP: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'self'; media-src 'self'; child-src 'self' + diff --git a/Backend/Scripts/443Header37.txt b/Backend/Scripts/443Header37.txt new file mode 100644 index 0000000..dc21f43 --- /dev/null +++ b/Backend/Scripts/443Header37.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.103:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header38.txt b/Backend/Scripts/443Header38.txt new file mode 100644 index 0000000..efec523 --- /dev/null +++ b/Backend/Scripts/443Header38.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.194:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header39.txt b/Backend/Scripts/443Header39.txt new file mode 100644 index 0000000..55141af --- /dev/null +++ b/Backend/Scripts/443Header39.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.37:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header4.txt b/Backend/Scripts/443Header4.txt new file mode 100644 index 0000000..1f33371 --- /dev/null +++ b/Backend/Scripts/443Header4.txt @@ -0,0 +1,70 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.42:443... +* Connected to 156.0.1.42 (156.0.1.42) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [15 bytes data] +* TLSv1.3 (IN), TLS handshake, Unknown (25): +{ [2075 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [80 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [36 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [36 bytes data] +* SSL connection using TLSv1.3 / TLS_CHACHA20_POLY1305_SHA256 / x25519 / id-ecPublicKey +* ALPN: server accepted h2 +* Server certificate: +* subject: C=US; ST=California; L=Menlo Park; O=Meta Platforms, Inc.; CN=*.fmsu2-1.fna.fbcdn.net +* start date: Dec 20 00:00:00 2024 GMT +* expire date: Mar 20 23:59:59 2025 GMT +* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 High Assurance Server CA +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://156.0.1.42/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 156.0.1.42] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 156.0.1.42 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [166 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0< HTTP/2 400 +< content-length: 2959 +< content-type: text/html; charset=utf-8 +< access-control-allow-origin: * +< x-fb-response-reason: default_vip_400 +< proxy-status: proxy_internal_response; e_isproxyerr="AcJjYAdem1LhozKWTb8XcPMq756fqO4vRG1K71UDrdc3NYLBMbEXKLW6Y2G2lA"; e_fb_responsebytes="AcL7KCnq_TZggxb402KeWzLMnSgG8tjEMdefgSRZCcy1xn-7ojc-XM3WRLh28A"; e_fb_requesttime="AcJapF0xZ4uH4YzHAcTqCpv5YE52bYbLylXxYxsTwwsXBLZ70v3FyHcbH8VpIal0ZAXwAKgJyQ"; e_proxy="AcIx4GTcoHfS4dzoQ9ohnREPllMJy6BCizWWoIERchd3XE5A0ZgFLT0FNj-nIzK2KRq-9pXqvG6Q"; e_fb_twtaskhandle="AcI9PL27lA_xu6_LDHJsfEhGteb8F-93aaSNMZ770okka_9YeP57l4_mZ-3uDMOKiXAdWSnfn5gw0WFfBAFletQ85bj9mzg7"; e_fb_proxycode="AcLnC397Y6EUJyAKh5cmeunZ1lJXjcx2qv7wOkGkm-aAfVMv_6SuXmSJMSMy"; e_fb_requestsequencenumber="AcL-ExYURXdwz-nWpIow0TNH5tvoFOjXw8xuAU-AuBUTUKJFAtWGabP5eA"; e_fb_zone="AcJI94JVafkZn5JZaROQDyjVGz7GiTNz-TKXxr3aSCu_uWWU0LRQnAxQ2FVA"; e_fb_binaryversion="AcJoIzx9W-tiUpKzL8BoDR4VPU4I1Uj1kSyap66arrMPYamZIHVBXJSh0_mmhwNnoWtHJZnRAik0P5vy2s3S_2sJTQFqcJECXE0"; e_fb_httpversion="AcIZYHISPVecgk08JHGU_K1CgZuUyQVVd7hmr-tIApRVXPytsN8DWDOdDLyH"; e_fb_hostheader="AcK0i2yLE_2UUL6xYV3-zJn_r0uGqWLsjT20Gc8yhiTfmqvbWEsbswG71Qf-7g95BU-E7g"; e_fb_builduser="AcLN5IyubcEN9gHkPMPDyQYQEi_JXBabCPVG6ZBEjd8zq1DI4eGgxMcF287fYGQUwPs"; e_fb_vipport="AcJ6mVDk4SkPYaCPE2TC6JGef5CR5oTQ7-mb_k-Js85WaWcyfMAkZi79-KRV"; e_clientaddr="AcLWjMgZs5yLL1RDF_pxep6RpAZnEx3oTOTRiUzsiqIPHKn6o8nAIJ1t2RDvBR3bMurEs86yznwZCagLOmU"; e_fb_vipaddr="AcIS16DikVcjGwEkn6cie-ff3vLLTQT04wAVA-4JA8bAevrlsRsbagYVb3nJbSYiD2hJ_Q"; e_fb_configversion="AcKsN2J7IcYo2Suws1Tu0q80jzlfZn5ZMu6KCJ_EnbMz2xL1e9ZJ1N8mNLxfTg" +< date: Fri, 14 Feb 2025 19:20:39 GMT +< +{ [5 bytes data] + 0 2959 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 156.0.1.42 left intact +HTTP/2 400 +content-length: 2959 +content-type: text/html; charset=utf-8 +access-control-allow-origin: * +x-fb-response-reason: default_vip_400 +proxy-status: proxy_internal_response; e_isproxyerr="AcJjYAdem1LhozKWTb8XcPMq756fqO4vRG1K71UDrdc3NYLBMbEXKLW6Y2G2lA"; e_fb_responsebytes="AcL7KCnq_TZggxb402KeWzLMnSgG8tjEMdefgSRZCcy1xn-7ojc-XM3WRLh28A"; e_fb_requesttime="AcJapF0xZ4uH4YzHAcTqCpv5YE52bYbLylXxYxsTwwsXBLZ70v3FyHcbH8VpIal0ZAXwAKgJyQ"; e_proxy="AcIx4GTcoHfS4dzoQ9ohnREPllMJy6BCizWWoIERchd3XE5A0ZgFLT0FNj-nIzK2KRq-9pXqvG6Q"; e_fb_twtaskhandle="AcI9PL27lA_xu6_LDHJsfEhGteb8F-93aaSNMZ770okka_9YeP57l4_mZ-3uDMOKiXAdWSnfn5gw0WFfBAFletQ85bj9mzg7"; e_fb_proxycode="AcLnC397Y6EUJyAKh5cmeunZ1lJXjcx2qv7wOkGkm-aAfVMv_6SuXmSJMSMy"; e_fb_requestsequencenumber="AcL-ExYURXdwz-nWpIow0TNH5tvoFOjXw8xuAU-AuBUTUKJFAtWGabP5eA"; e_fb_zone="AcJI94JVafkZn5JZaROQDyjVGz7GiTNz-TKXxr3aSCu_uWWU0LRQnAxQ2FVA"; e_fb_binaryversion="AcJoIzx9W-tiUpKzL8BoDR4VPU4I1Uj1kSyap66arrMPYamZIHVBXJSh0_mmhwNnoWtHJZnRAik0P5vy2s3S_2sJTQFqcJECXE0"; e_fb_httpversion="AcIZYHISPVecgk08JHGU_K1CgZuUyQVVd7hmr-tIApRVXPytsN8DWDOdDLyH"; e_fb_hostheader="AcK0i2yLE_2UUL6xYV3-zJn_r0uGqWLsjT20Gc8yhiTfmqvbWEsbswG71Qf-7g95BU-E7g"; e_fb_builduser="AcLN5IyubcEN9gHkPMPDyQYQEi_JXBabCPVG6ZBEjd8zq1DI4eGgxMcF287fYGQUwPs"; e_fb_vipport="AcJ6mVDk4SkPYaCPE2TC6JGef5CR5oTQ7-mb_k-Js85WaWcyfMAkZi79-KRV"; e_clientaddr="AcLWjMgZs5yLL1RDF_pxep6RpAZnEx3oTOTRiUzsiqIPHKn6o8nAIJ1t2RDvBR3bMurEs86yznwZCagLOmU"; e_fb_vipaddr="AcIS16DikVcjGwEkn6cie-ff3vLLTQT04wAVA-4JA8bAevrlsRsbagYVb3nJbSYiD2hJ_Q"; e_fb_configversion="AcKsN2J7IcYo2Suws1Tu0q80jzlfZn5ZMu6KCJ_EnbMz2xL1e9ZJ1N8mNLxfTg" +date: Fri, 14 Feb 2025 19:20:39 GMT + diff --git a/Backend/Scripts/443Header40.txt b/Backend/Scripts/443Header40.txt new file mode 100644 index 0000000..94e3450 --- /dev/null +++ b/Backend/Scripts/443Header40.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.93:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header41.txt b/Backend/Scripts/443Header41.txt new file mode 100644 index 0000000..b5074a9 --- /dev/null +++ b/Backend/Scripts/443Header41.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.32:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header42.txt b/Backend/Scripts/443Header42.txt new file mode 100644 index 0000000..b353587 --- /dev/null +++ b/Backend/Scripts/443Header42.txt @@ -0,0 +1,57 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 136.0.1.14:443... +* Connected to 136.0.1.14 (136.0.1.14) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [15 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [2033 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [79 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey +* ALPN: server accepted h2 +* Server certificate: +* subject: CN=www.luo7731.top +* start date: Jan 19 08:54:39 2025 GMT +* expire date: Apr 19 08:54:38 2025 GMT +* issuer: C=US; O=Let's Encrypt; CN=E5 +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384 +* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://136.0.1.14/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 136.0.1.14] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 136.0.1.14 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [57 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [57 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* Connection #0 to host 136.0.1.14 left intact +curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/443Header43.txt b/Backend/Scripts/443Header43.txt new file mode 100644 index 0000000..f944f45 --- /dev/null +++ b/Backend/Scripts/443Header43.txt @@ -0,0 +1,49 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 128.0.1.107:443... +* Connected to 128.0.1.107 (128.0.1.107) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [21 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [2628 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [264 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS +* ALPN: server accepted http/1.1 +* Server certificate: +* subject: CN=www.truvanetwork.com +* start date: Feb 6 16:50:42 2025 GMT +* expire date: May 7 16:50:41 2025 GMT +* issuer: C=US; O=Let's Encrypt; CN=R10 +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* using HTTP/1.x +} [5 bytes data] +> HEAD / HTTP/1.1 +> Host: 128.0.1.107 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [265 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [265 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/443Header44.txt b/Backend/Scripts/443Header44.txt new file mode 100644 index 0000000..a7e08d3 --- /dev/null +++ b/Backend/Scripts/443Header44.txt @@ -0,0 +1,56 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.174:443... +* Connected to 72.0.3.174 (72.0.3.174) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [75 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [3749 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [264 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS +* ALPN: server accepted h2 +* Server certificate: +* subject: C=US; ST=Georgia; L=Atlanta; O=Voya Services Company; CN=*.intg.mypenpay.com +* start date: Jun 26 00:00:00 2024 GMT +* expire date: Jul 27 23:59:59 2025 GMT +* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=Thawte TLS RSA CA G1 +* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 2: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://72.0.3.174/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 72.0.3.174] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 72.0.3.174 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [57 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* Connection #0 to host 72.0.3.174 left intact +curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/443Header45.txt b/Backend/Scripts/443Header45.txt new file mode 100644 index 0000000..65aba3a --- /dev/null +++ b/Backend/Scripts/443Header45.txt @@ -0,0 +1,8 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.65:443... +* connect to 188.0.0.65 port 443 from 192.168.80.132 port 33322 failed: Connection refused +* Failed to connect to 188.0.0.65 port 443 after 103 ms: Could not connect to server + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* closing connection #0 +curl: (7) Failed to connect to 188.0.0.65 port 443 after 103 ms: Could not connect to server diff --git a/Backend/Scripts/443Header46.txt b/Backend/Scripts/443Header46.txt new file mode 100644 index 0000000..cbeb175 --- /dev/null +++ b/Backend/Scripts/443Header46.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.89:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header47.txt b/Backend/Scripts/443Header47.txt new file mode 100644 index 0000000..237e5f1 --- /dev/null +++ b/Backend/Scripts/443Header47.txt @@ -0,0 +1,8 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.10:443... +* connect to 168.0.0.10 port 443 from 192.168.80.132 port 40642 failed: Connection refused +* Failed to connect to 168.0.0.10 port 443 after 211 ms: Could not connect to server + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* closing connection #0 +curl: (7) Failed to connect to 168.0.0.10 port 443 after 211 ms: Could not connect to server diff --git a/Backend/Scripts/443Header48.txt b/Backend/Scripts/443Header48.txt new file mode 100644 index 0000000..0fb6315 --- /dev/null +++ b/Backend/Scripts/443Header48.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.0.141:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header49.txt b/Backend/Scripts/443Header49.txt new file mode 100644 index 0000000..990fbf2 --- /dev/null +++ b/Backend/Scripts/443Header49.txt @@ -0,0 +1,70 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.43:443... +* Connected to 156.0.1.43 (156.0.1.43) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [15 bytes data] +* TLSv1.3 (IN), TLS handshake, Unknown (25): +{ [2075 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [80 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [36 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [36 bytes data] +* SSL connection using TLSv1.3 / TLS_CHACHA20_POLY1305_SHA256 / x25519 / id-ecPublicKey +* ALPN: server accepted h2 +* Server certificate: +* subject: C=US; ST=California; L=Menlo Park; O=Meta Platforms, Inc.; CN=*.fmsu2-1.fna.fbcdn.net +* start date: Dec 20 00:00:00 2024 GMT +* expire date: Mar 20 23:59:59 2025 GMT +* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 High Assurance Server CA +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://156.0.1.43/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 156.0.1.43] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 156.0.1.43 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [158 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0< HTTP/2 400 +< content-length: 2959 +< content-type: text/html; charset=utf-8 +< access-control-allow-origin: * +< x-fb-response-reason: default_vip_400 +< proxy-status: proxy_internal_response; e_isproxyerr="AcJO_3-wCCMXHqkATS8EBVSuCktRLDS4lp8g-Pd6a6EJkCSKTBBOquB_OvU9aw"; e_fb_responsebytes="AcIxeaCZfpcv4D2h4h61HzL-krdmGHePJ7yJebQlE2o2Jt5LuYM4croy7Iteiw"; e_fb_requesttime="AcIykIaGQnWvcGC6qVvALtyYpmmtoSXaO5wBXBwKaOdYC4vOhs4yo731uvBRg7AMmYT-bi5nQg"; e_proxy="AcIRmo5lFg4CS88qQH1yQuuDfTMwGuVRZ8voftdrEJfWk1Oqb64PirUUoF0t9XqxcDfo3HhSuD-I"; e_fb_twtaskhandle="AcIuVdCnTPfoOGOAAwGSazTH9JSb9WAYww-ovkYMq0CUYSoBNdaQxeoAFbCMYx94eGmx7MitWiMfubzlhnpjAEv_MuxMRCeg"; e_fb_proxycode="AcKvuHB2-5ud1Yx9Om3fahCiUaAoOVposiqSFJvVS7LKIz0eCD_2OEPbdELB"; e_fb_requestsequencenumber="AcKGPRuFvr8kK72v2_zYfUh_fzAjQTV-gaGME6fCiSYTVDWCmGONJN80ww"; e_fb_zone="AcLxNm6xDOC17hfK61-TMmhKx2ygwGEz-YKc1kEh36e2DumZrzvT2dFLMsB4"; e_fb_binaryversion="AcIC1gLg_59rcl0IxOVzK97PSeHBcK7tZzdQMxUgqSCxwK2NkyaSQmr5OkbXYl5-iUL71i27udUyxJObibe8j6k5Og1q72JQmLc"; e_fb_httpversion="AcJdg65PZkzBMAt-XgTvfyRnhXqzkabw0Qp9On_tmYs5Jyg6BZMwqPI2YNsu"; e_fb_hostheader="AcLWKfygb9DIpRDsfY5xSDsjQyL_6fPIpskp9tAZljcLDwdVI_ugk3f7sAH4xk1_SgmW3Q"; e_fb_builduser="AcKeTEJ4NCPjIXJTi6tLgnkduMe6zfHPPEAf37mnhW5_tNMTgVF2iL7w7nzqLFwLHaw"; e_fb_vipport="AcLOSHSkkcMzUIBHxrn3PFGBoU6nYA_IYBIDKzl7Nax0iTMLLfXWv1WnZQNw"; e_clientaddr="AcJP9BjTAzFLMwInEh63u-XpzDfpHoeGEWu-c5DKh_5BP2RbgG6YBcTyfb3oZyaK2xIBeFYX5ctJ0HmThVU"; e_fb_vipaddr="AcIvCFNadmYnRdfrYGBODpMPv-nSflowY_80s23FdHgEGeIwsPxJ8rAfdC6B934iaWHUuw"; e_fb_configversion="AcLC-iQkrKk933fe-_nTSVPlQicJ6SKk8uRKp5Z2lgaNzDCJ3BITw9kgj6Iuxg" +< date: Fri, 14 Feb 2025 19:20:39 GMT +< +{ [5 bytes data] + 0 2959 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 156.0.1.43 left intact +HTTP/2 400 +content-length: 2959 +content-type: text/html; charset=utf-8 +access-control-allow-origin: * +x-fb-response-reason: default_vip_400 +proxy-status: proxy_internal_response; e_isproxyerr="AcJO_3-wCCMXHqkATS8EBVSuCktRLDS4lp8g-Pd6a6EJkCSKTBBOquB_OvU9aw"; e_fb_responsebytes="AcIxeaCZfpcv4D2h4h61HzL-krdmGHePJ7yJebQlE2o2Jt5LuYM4croy7Iteiw"; e_fb_requesttime="AcIykIaGQnWvcGC6qVvALtyYpmmtoSXaO5wBXBwKaOdYC4vOhs4yo731uvBRg7AMmYT-bi5nQg"; e_proxy="AcIRmo5lFg4CS88qQH1yQuuDfTMwGuVRZ8voftdrEJfWk1Oqb64PirUUoF0t9XqxcDfo3HhSuD-I"; e_fb_twtaskhandle="AcIuVdCnTPfoOGOAAwGSazTH9JSb9WAYww-ovkYMq0CUYSoBNdaQxeoAFbCMYx94eGmx7MitWiMfubzlhnpjAEv_MuxMRCeg"; e_fb_proxycode="AcKvuHB2-5ud1Yx9Om3fahCiUaAoOVposiqSFJvVS7LKIz0eCD_2OEPbdELB"; e_fb_requestsequencenumber="AcKGPRuFvr8kK72v2_zYfUh_fzAjQTV-gaGME6fCiSYTVDWCmGONJN80ww"; e_fb_zone="AcLxNm6xDOC17hfK61-TMmhKx2ygwGEz-YKc1kEh36e2DumZrzvT2dFLMsB4"; e_fb_binaryversion="AcIC1gLg_59rcl0IxOVzK97PSeHBcK7tZzdQMxUgqSCxwK2NkyaSQmr5OkbXYl5-iUL71i27udUyxJObibe8j6k5Og1q72JQmLc"; e_fb_httpversion="AcJdg65PZkzBMAt-XgTvfyRnhXqzkabw0Qp9On_tmYs5Jyg6BZMwqPI2YNsu"; e_fb_hostheader="AcLWKfygb9DIpRDsfY5xSDsjQyL_6fPIpskp9tAZljcLDwdVI_ugk3f7sAH4xk1_SgmW3Q"; e_fb_builduser="AcKeTEJ4NCPjIXJTi6tLgnkduMe6zfHPPEAf37mnhW5_tNMTgVF2iL7w7nzqLFwLHaw"; e_fb_vipport="AcLOSHSkkcMzUIBHxrn3PFGBoU6nYA_IYBIDKzl7Nax0iTMLLfXWv1WnZQNw"; e_clientaddr="AcJP9BjTAzFLMwInEh63u-XpzDfpHoeGEWu-c5DKh_5BP2RbgG6YBcTyfb3oZyaK2xIBeFYX5ctJ0HmThVU"; e_fb_vipaddr="AcIvCFNadmYnRdfrYGBODpMPv-nSflowY_80s23FdHgEGeIwsPxJ8rAfdC6B934iaWHUuw"; e_fb_configversion="AcLC-iQkrKk933fe-_nTSVPlQicJ6SKk8uRKp5Z2lgaNzDCJ3BITw9kgj6Iuxg" +date: Fri, 14 Feb 2025 19:20:39 GMT + diff --git a/Backend/Scripts/443Header5.txt b/Backend/Scripts/443Header5.txt new file mode 100644 index 0000000..0209317 --- /dev/null +++ b/Backend/Scripts/443Header5.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.38:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header50.txt b/Backend/Scripts/443Header50.txt new file mode 100644 index 0000000..3dd4eff --- /dev/null +++ b/Backend/Scripts/443Header50.txt @@ -0,0 +1,62 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.30:443... +* Connected to 168.0.0.30 (168.0.0.30) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [89 bytes data] +* TLSv1.2 (IN), TLS handshake, Certificate (11): +{ [1080 bytes data] +* TLSv1.2 (IN), TLS handshake, Server key exchange (12): +{ [333 bytes data] +* TLSv1.2 (IN), TLS handshake, Server finished (14): +{ [4 bytes data] +* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): +} [70 bytes data] +* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.2 (OUT), TLS handshake, Finished (20): +} [16 bytes data] +* TLSv1.2 (IN), TLS handshake, Finished (20): +{ [16 bytes data] +* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption +* ALPN: server did not agree on a protocol. Uses default. +* Server certificate: +* subject: C=--; ST=SomeState; L=SomeCity; O=SomeOrganization; OU=SomeOrganizationalUnit; CN=168-0-2-26.ultranetpb.com.br; emailAddress=root@168-0-2-26.ultranetpb.com.br +* start date: Dec 13 15:05:20 2021 GMT +* expire date: Dec 13 15:05:20 2022 GMT +* issuer: C=--; ST=SomeState; L=SomeCity; O=SomeOrganization; OU=SomeOrganizationalUnit; CN=168-0-2-26.ultranetpb.com.br; emailAddress=root@168-0-2-26.ultranetpb.com.br +* SSL certificate verify result: self-signed certificate (18), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* using HTTP/1.x +} [5 bytes data] +> HEAD / HTTP/1.1 +> Host: 168.0.0.30 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +< HTTP/1.1 403 Forbidden +< Date: Fri, 14 Feb 2025 19:20:39 GMT +< Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.1.24 +< Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT +< ETag: "1321-5058a1e728280" +< Accept-Ranges: bytes +< Content-Length: 4897 +< Content-Type: text/html; charset=UTF-8 +< + 0 4897 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 168.0.0.30 left intact +HTTP/1.1 403 Forbidden +Date: Fri, 14 Feb 2025 19:20:39 GMT +Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.1.24 +Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT +ETag: "1321-5058a1e728280" +Accept-Ranges: bytes +Content-Length: 4897 +Content-Type: text/html; charset=UTF-8 + diff --git a/Backend/Scripts/443Header51.txt b/Backend/Scripts/443Header51.txt new file mode 100644 index 0000000..e400db7 --- /dev/null +++ b/Backend/Scripts/443Header51.txt @@ -0,0 +1,62 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.1.46:443... +* Connected to 122.0.1.46 (122.0.1.46) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [6 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [967 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [264 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS +* ALPN: server did not agree on a protocol. Uses default. +* Server certificate: +* subject: CN=ca10.mfa.go.th; O=mfa.go.th; OU=ICT; C=th; L=Bangkok +* start date: Jul 11 04:55:20 2016 GMT +* expire date: Jul 9 04:55:20 2026 GMT +* issuer: CN=ca10.mfa.go.th; O=mfa.go.th; OU=ICT; C=th; L=Bangkok +* SSL certificate verify result: self-signed certificate (18), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* using HTTP/1.x +} [5 bytes data] +> HEAD / HTTP/1.1 +> Host: 122.0.1.46 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [57 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [57 bytes data] +< HTTP/1.1 202 OK +< Connection: Keep-Alive +< Content-Length: 1999 +< Content-Type: text/html +< Keep-Alive: timeout=15; max=19 +< +{ [1999 bytes data] + 0 1999 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +} [5 bytes data] +* TLSv1.3 (OUT), TLS alert, close notify (256): +} [2 bytes data] +HTTP/1.1 202 OK +Connection: Keep-Alive +Content-Length: 1999 +Content-Type: text/html +Keep-Alive: timeout=15; max=19 + diff --git a/Backend/Scripts/443Header52.txt b/Backend/Scripts/443Header52.txt new file mode 100644 index 0000000..16a0b23 --- /dev/null +++ b/Backend/Scripts/443Header52.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.96:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header53.txt b/Backend/Scripts/443Header53.txt new file mode 100644 index 0000000..2d24c9c --- /dev/null +++ b/Backend/Scripts/443Header53.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 136.0.1.72:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10001 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10001 milliseconds diff --git a/Backend/Scripts/443Header54.txt b/Backend/Scripts/443Header54.txt new file mode 100644 index 0000000..6acc398 --- /dev/null +++ b/Backend/Scripts/443Header54.txt @@ -0,0 +1,60 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.0.79:443... +* Connected to 122.0.0.79 (122.0.0.79) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [85 bytes data] +* TLSv1.2 (IN), TLS handshake, Certificate (11): +{ [4480 bytes data] +* TLSv1.2 (IN), TLS handshake, Server key exchange (12): +{ [333 bytes data] +* TLSv1.2 (IN), TLS handshake, Server finished (14): +{ [4 bytes data] +* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): +} [70 bytes data] +* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.2 (OUT), TLS handshake, Finished (20): +} [16 bytes data] +* TLSv1.2 (IN), TLS handshake, Finished (20): +{ [16 bytes data] +* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption +* ALPN: server did not agree on a protocol. Uses default. +* Server certificate: +* subject: CN=*.mfa.go.th +* start date: Aug 26 04:13:36 2024 GMT +* expire date: Sep 27 04:13:35 2025 GMT +* issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign GCC R6 AlphaSSL CA 2023 +* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha384WithRSAEncryption +* using HTTP/1.x +} [5 bytes data] +> HEAD / HTTP/1.1 +> Host: 122.0.0.79 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +< HTTP/1.1 403 Forbidden +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Content-Type: text/html +< Content-Length: 141 +< Connection: keep-alive +< Allow: GET, POST +< + 0 141 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 122.0.0.79 left intact +HTTP/1.1 403 Forbidden +Date: Fri, 14 Feb 2025 19:20:38 GMT +Content-Type: text/html +Content-Length: 141 +Connection: keep-alive +Allow: GET, POST + diff --git a/Backend/Scripts/443Header55.txt b/Backend/Scripts/443Header55.txt new file mode 100644 index 0000000..3f4bfc0 --- /dev/null +++ b/Backend/Scripts/443Header55.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.95:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header56.txt b/Backend/Scripts/443Header56.txt new file mode 100644 index 0000000..0527805 --- /dev/null +++ b/Backend/Scripts/443Header56.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.229:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header57.txt b/Backend/Scripts/443Header57.txt new file mode 100644 index 0000000..bfd67be --- /dev/null +++ b/Backend/Scripts/443Header57.txt @@ -0,0 +1,16 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.178:443... +* Connected to 152.0.0.178 (152.0.0.178) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [74 bytes data] +* TLSv1.3 (OUT), TLS alert, protocol version (582): +} [2 bytes data] +* OpenSSL/3.2.2: error:0A000102:SSL routines::unsupported protocol + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 +* closing connection #0 +curl: (35) OpenSSL/3.2.2: error:0A000102:SSL routines::unsupported protocol diff --git a/Backend/Scripts/443Header58.txt b/Backend/Scripts/443Header58.txt new file mode 100644 index 0000000..253f5a0 --- /dev/null +++ b/Backend/Scripts/443Header58.txt @@ -0,0 +1,8 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 190.0.0.38:443... +* connect to 190.0.0.38 port 443 from 192.168.80.132 port 59988 failed: Connection refused +* Failed to connect to 190.0.0.38 port 443 after 164 ms: Could not connect to server + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* closing connection #0 +curl: (7) Failed to connect to 190.0.0.38 port 443 after 164 ms: Could not connect to server diff --git a/Backend/Scripts/443Header59.txt b/Backend/Scripts/443Header59.txt new file mode 100644 index 0000000..5c2f99f --- /dev/null +++ b/Backend/Scripts/443Header59.txt @@ -0,0 +1,74 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 190.0.0.34:443... +* Connected to 190.0.0.34 (190.0.0.34) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [15 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [2842 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [520 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS +* ALPN: server accepted h2 +* Server certificate: +* subject: CN=rejiplas.com +* start date: Jan 25 04:02:20 2025 GMT +* expire date: Apr 25 04:02:19 2025 GMT +* issuer: C=US; O=Let's Encrypt; CN=R11 +* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. +* Certificate level 0: Public key type RSA (4096/152 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://190.0.0.34/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 190.0.0.34] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 190.0.0.34 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [57 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [57 bytes data] +< HTTP/2 200 +< server: nginx +< date: Fri, 14 Feb 2025 19:20:39 GMT +< content-type: text/html; charset=utf-8 +< content-length: 703 +< last-modified: Fri, 16 Jul 2021 22:27:26 GMT +< accept-ranges: bytes +< etag: "b25129c1917ad71:0" +< +{ [0 bytes data] + 0 703 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 190.0.0.34 left intact +HTTP/2 200 +server: nginx +date: Fri, 14 Feb 2025 19:20:39 GMT +content-type: text/html; charset=utf-8 +content-length: 703 +last-modified: Fri, 16 Jul 2021 22:27:26 GMT +accept-ranges: bytes +etag: "b25129c1917ad71:0" + diff --git a/Backend/Scripts/443Header6.txt b/Backend/Scripts/443Header6.txt new file mode 100644 index 0000000..c0aa0da --- /dev/null +++ b/Backend/Scripts/443Header6.txt @@ -0,0 +1,87 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.6:443... +* Connected to 168.0.0.6 (168.0.0.6) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [21 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [5678 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [264 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS +* ALPN: server accepted http/1.1 +* Server certificate: +* subject: CN=opasuite.netguibor.com.br +* start date: Oct 17 00:00:00 2024 GMT +* expire date: Oct 18 23:59:59 2025 GMT +* issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA +* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha384WithRSAEncryption +* Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha384WithRSAEncryption +* Certificate level 3: Public key type RSA (2048/112 Bits/secBits), signed using sha1WithRSAEncryption +* using HTTP/1.x + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0} [5 bytes data] +> HEAD / HTTP/1.1 +> Host: 168.0.0.6 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [265 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [265 bytes data] +< HTTP/1.1 302 Found +< Cross-Origin-Opener-Policy: same-origin +< Origin-Agent-Cluster: ?1 +< Referrer-Policy: no-referrer +< Strict-Transport-Security: max-age=15552000; includeSubDomains +< X-Content-Type-Options: nosniff +< X-DNS-Prefetch-Control: off +< X-Download-Options: noopen +< X-Frame-Options: SAMEORIGIN +< X-Permitted-Cross-Domain-Policies: none +< X-XSS-Protection: 0 +< Location: /auth/login +< Vary: Accept, Accept-Encoding +< Content-Type: text/plain +< Content-Length: 33 +< Date: Fri, 14 Feb 2025 19:20:39 GMT +< Connection: keep-alive +< Keep-Alive: timeout=5 +< + 0 33 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 168.0.0.6 left intact +HTTP/1.1 302 Found +Cross-Origin-Opener-Policy: same-origin +Origin-Agent-Cluster: ?1 +Referrer-Policy: no-referrer +Strict-Transport-Security: max-age=15552000; includeSubDomains +X-Content-Type-Options: nosniff +X-DNS-Prefetch-Control: off +X-Download-Options: noopen +X-Frame-Options: SAMEORIGIN +X-Permitted-Cross-Domain-Policies: none +X-XSS-Protection: 0 +Location: /auth/login +Vary: Accept, Accept-Encoding +Content-Type: text/plain +Content-Length: 33 +Date: Fri, 14 Feb 2025 19:20:39 GMT +Connection: keep-alive +Keep-Alive: timeout=5 + diff --git a/Backend/Scripts/443Header60.txt b/Backend/Scripts/443Header60.txt new file mode 100644 index 0000000..65f1dea --- /dev/null +++ b/Backend/Scripts/443Header60.txt @@ -0,0 +1,56 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.167:443... +* Connected to 72.0.3.167 (72.0.3.167) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [75 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [3632 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [264 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS +* ALPN: server accepted h2 +* Server certificate: +* subject: CN=services.presents.intg.voya.com; O=Voya Services Company; OU=WebInfrastructure; L=Atlanta; ST=Georgia; C=US +* start date: Oct 16 00:00:00 2024 GMT +* expire date: Oct 14 00:00:00 2026 GMT +* issuer: C=US; O=Voya Financial; OU=Voya Information Trust Services; CN=Voya Internal Issuing CA1 +* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 2: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://72.0.3.167/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 72.0.3.167] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 72.0.3.167 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [57 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10001 milliseconds with 0 bytes received + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* Connection #0 to host 72.0.3.167 left intact +curl: (28) Operation timed out after 10001 milliseconds with 0 bytes received diff --git a/Backend/Scripts/443Header61.txt b/Backend/Scripts/443Header61.txt new file mode 100644 index 0000000..d26f332 --- /dev/null +++ b/Backend/Scripts/443Header61.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.84:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10001 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10001 milliseconds diff --git a/Backend/Scripts/443Header62.txt b/Backend/Scripts/443Header62.txt new file mode 100644 index 0000000..2280b09 --- /dev/null +++ b/Backend/Scripts/443Header62.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.3:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10001 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10001 milliseconds diff --git a/Backend/Scripts/443Header63.txt b/Backend/Scripts/443Header63.txt new file mode 100644 index 0000000..d3b1115 --- /dev/null +++ b/Backend/Scripts/443Header63.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.4:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header7.txt b/Backend/Scripts/443Header7.txt new file mode 100644 index 0000000..ef3a53c --- /dev/null +++ b/Backend/Scripts/443Header7.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.0.146:443... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header8.txt b/Backend/Scripts/443Header8.txt new file mode 100644 index 0000000..3658443 --- /dev/null +++ b/Backend/Scripts/443Header8.txt @@ -0,0 +1,57 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.169:443... +* Connected to 72.0.3.169 (72.0.3.169) port 443 +* ALPN: curl offers h2,http/1.1 +} [5 bytes data] +* TLSv1.3 (OUT), TLS handshake, Client hello (1): +} [512 bytes data] +* TLSv1.3 (IN), TLS handshake, Server hello (2): +{ [122 bytes data] +* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): +{ [75 bytes data] +* TLSv1.3 (IN), TLS handshake, Certificate (11): +{ [3747 bytes data] +* TLSv1.3 (IN), TLS handshake, CERT verify (15): +{ [264 bytes data] +* TLSv1.3 (IN), TLS handshake, Finished (20): +{ [52 bytes data] +* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): +} [1 bytes data] +* TLSv1.3 (OUT), TLS handshake, Finished (20): +} [52 bytes data] +* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS +* ALPN: server accepted h2 +* Server certificate: +* subject: C=US; ST=Georgia; L=Atlanta; O=Voya Services Company; OU=WebInfrastructure; CN=www.intg.voyalifecustomerservice.com +* start date: Sep 7 15:08:59 2023 GMT +* expire date: Sep 12 00:00:00 2025 GMT +* issuer: O=Voya Services Company; CN=Voya RSA Issuing CA 01 - G1 +* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. +* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption +* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using ecdsa-with-SHA384 +* Certificate level 2: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384 +* Certificate level 3: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384 +} [5 bytes data] +* using HTTP/2 +* [HTTP/2] [1] OPENED stream for https://72.0.3.169/ +* [HTTP/2] [1] [:method: HEAD] +* [HTTP/2] [1] [:scheme: https] +* [HTTP/2] [1] [:authority: 72.0.3.169] +* [HTTP/2] [1] [:path: /] +* [HTTP/2] [1] [user-agent: curl/8.9.1] +* [HTTP/2] [1] [accept: */*] +} [5 bytes data] +> HEAD / HTTP/2 +> Host: 72.0.3.169 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +{ [5 bytes data] +* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): +{ [57 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* Connection #0 to host 72.0.3.169 left intact +curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/443Header9.txt b/Backend/Scripts/443Header9.txt new file mode 100644 index 0000000..9c7c080 --- /dev/null +++ b/Backend/Scripts/443Header9.txt @@ -0,0 +1,8 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.1:443... +* connect to 188.0.0.1 port 443 from 192.168.80.132 port 38316 failed: Connection refused +* Failed to connect to 188.0.0.1 port 443 after 96 ms: Could not connect to server + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* closing connection #0 +curl: (7) Failed to connect to 188.0.0.1 port 443 after 96 ms: Could not connect to server diff --git a/Backend/Scripts/80Header0.txt b/Backend/Scripts/80Header0.txt index 44e3cbc..c356485 100644 --- a/Backend/Scripts/80Header0.txt +++ b/Backend/Scripts/80Header0.txt @@ -1,28 +1,14 @@ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 192.0.72.3:80... -* Connected to 192.0.72.3 (192.0.72.3) port 80 -> HEAD / HTTP/1.1 -> Host: 192.0.72.3 + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.151:80... +* Connected to 72.0.3.151 (72.0.3.151) port 80 + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> HEAD / HTTP/1.1 +> Host: 72.0.3.151 > User-Agent: curl/8.9.1 > Accept: */* > * Request completely sent off -< HTTP/1.1 301 Moved Permanently -< Server: nginx -< Date: Fri, 07 Feb 2025 22:58:33 GMT -< Content-Type: text/html -< Content-Length: 162 -< Connection: keep-alive -< Location: https://192.0.72.3/ -< - 0 162 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 192.0.72.3 left intact -HTTP/1.1 301 Moved Permanently -Server: nginx -Date: Fri, 07 Feb 2025 22:58:33 GMT -Content-Type: text/html -Content-Length: 162 -Connection: keep-alive -Location: https://192.0.72.3/ - + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10001 milliseconds with 0 bytes received + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Operation timed out after 10001 milliseconds with 0 bytes received diff --git a/Backend/Scripts/80Header1.txt b/Backend/Scripts/80Header1.txt index 7fa8cfd..0c3c5e6 100644 --- a/Backend/Scripts/80Header1.txt +++ b/Backend/Scripts/80Header1.txt @@ -1,4 +1,7 @@ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 141.0.64.106:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 \ No newline at end of file + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.0.75:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header10.txt b/Backend/Scripts/80Header10.txt new file mode 100644 index 0000000..8b49d06 --- /dev/null +++ b/Backend/Scripts/80Header10.txt @@ -0,0 +1,14 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.176:80... +* Connected to 72.0.3.176 (72.0.3.176) port 80 +> HEAD / HTTP/1.1 +> Host: 72.0.3.176 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/80Header11.txt b/Backend/Scripts/80Header11.txt new file mode 100644 index 0000000..2ac48ed --- /dev/null +++ b/Backend/Scripts/80Header11.txt @@ -0,0 +1,28 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.195:80... +* Connected to 152.0.0.195 (152.0.0.195) port 80 +> HEAD / HTTP/1.1 +> Host: 152.0.0.195 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< Server: Mini web server 1.0 ZTE corp 2005. +< Content-Type: text/html; charset=UTF-8 +< Accept-Ranges: bytes +< Connection: close +< Cache-Control: no-cache,no-store +< Content-Length: 5540 +< + 0 5540 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 200 OK +Server: Mini web server 1.0 ZTE corp 2005. +Content-Type: text/html; charset=UTF-8 +Accept-Ranges: bytes +Connection: close +Cache-Control: no-cache,no-store +Content-Length: 5540 + diff --git a/Backend/Scripts/80Header12.txt b/Backend/Scripts/80Header12.txt new file mode 100644 index 0000000..15a2dd1 --- /dev/null +++ b/Backend/Scripts/80Header12.txt @@ -0,0 +1,28 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.0.92:80... +* Connected to 148.0.0.92 (148.0.0.92) port 80 + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> HEAD / HTTP/1.1 +> Host: 148.0.0.92 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< Server: Mini web server 1.0 ZTE corp 2005. +< Content-Type: text/html; charset=UTF-8 +< Accept-Ranges: bytes +< Connection: close +< Cache-Control: no-cache,no-store +< Content-Length: 5542 +< + 0 5542 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 200 OK +Server: Mini web server 1.0 ZTE corp 2005. +Content-Type: text/html; charset=UTF-8 +Accept-Ranges: bytes +Connection: close +Cache-Control: no-cache,no-store +Content-Length: 5542 + diff --git a/Backend/Scripts/80Header13.txt b/Backend/Scripts/80Header13.txt new file mode 100644 index 0000000..58a43af --- /dev/null +++ b/Backend/Scripts/80Header13.txt @@ -0,0 +1,32 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.2:80... +* Connected to 168.0.0.2 (168.0.0.2) port 80 +> HEAD / HTTP/1.1 +> Host: 168.0.0.2 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 400 Bad Request +< Server: nginx +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Content-Type: text/html +< Content-Length: 264 +< Connection: close +< X-Content-Type-Options: nosniff +< X-Frame-Options: SAMEORIGIN +< X-XSS-Protection: 1; mode=block +< + 0 264 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 400 Bad Request +Server: nginx +Date: Fri, 14 Feb 2025 19:20:38 GMT +Content-Type: text/html +Content-Length: 264 +Connection: close +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-XSS-Protection: 1; mode=block + diff --git a/Backend/Scripts/80Header14.txt b/Backend/Scripts/80Header14.txt new file mode 100644 index 0000000..ce2e73d --- /dev/null +++ b/Backend/Scripts/80Header14.txt @@ -0,0 +1,27 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.147:80... +* Connected to 152.0.0.147 (152.0.0.147) port 80 +> HEAD / HTTP/1.1 +> Host: 152.0.0.147 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 501 Not Implemented +< Server: micro_httpd +< Cache-Control: no-cache +< Date: Wed, 25 Feb 1970 07:03:36 GMT +< Content-Type: text/html +< Connection: close +< +{ [246 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 501 Not Implemented +Server: micro_httpd +Cache-Control: no-cache +Date: Wed, 25 Feb 1970 07:03:36 GMT +Content-Type: text/html +Connection: close + diff --git a/Backend/Scripts/80Header15.txt b/Backend/Scripts/80Header15.txt new file mode 100644 index 0000000..7db30fb --- /dev/null +++ b/Backend/Scripts/80Header15.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.1.49:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header16.txt b/Backend/Scripts/80Header16.txt new file mode 100644 index 0000000..63a656d --- /dev/null +++ b/Backend/Scripts/80Header16.txt @@ -0,0 +1,30 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 190.0.0.14:80... +* Connected to 190.0.0.14 (190.0.0.14) port 80 +> HEAD / HTTP/1.1 +> Host: 190.0.0.14 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< X-Frame-Options: SAMEORIGIN +< Content-Type: text/html; charset=UTF-8 +< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 +< Pragma: no-cache +< CONTENT-LANGUAGE: en +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Server: lighttpd/1.4.39 +< + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 190.0.0.14 left intact +HTTP/1.1 200 OK +X-Frame-Options: SAMEORIGIN +Content-Type: text/html; charset=UTF-8 +Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 +Pragma: no-cache +CONTENT-LANGUAGE: en +Date: Fri, 14 Feb 2025 19:20:38 GMT +Server: lighttpd/1.4.39 + diff --git a/Backend/Scripts/80Header17.txt b/Backend/Scripts/80Header17.txt new file mode 100644 index 0000000..a160039 --- /dev/null +++ b/Backend/Scripts/80Header17.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.102:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header18.txt b/Backend/Scripts/80Header18.txt new file mode 100644 index 0000000..edd488e --- /dev/null +++ b/Backend/Scripts/80Header18.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.37:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header19.txt b/Backend/Scripts/80Header19.txt new file mode 100644 index 0000000..d1ffb14 --- /dev/null +++ b/Backend/Scripts/80Header19.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.18:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10001 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10001 milliseconds diff --git a/Backend/Scripts/80Header2.txt b/Backend/Scripts/80Header2.txt index 35429d1..70cd47e 100644 --- a/Backend/Scripts/80Header2.txt +++ b/Backend/Scripts/80Header2.txt @@ -1,4 +1,28 @@ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 141.0.68.86:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 \ No newline at end of file + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.33:80... +* Connected to 156.0.1.33 (156.0.1.33) port 80 +> HEAD / HTTP/1.1 +> Host: 156.0.1.33 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 301 Moved Permanently +< Location: https://156.0.1.33/ +< Content-Type: text/plain +< Server: proxygen-bolt +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Connection: keep-alive +< Content-Length: 0 +< + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 156.0.1.33 left intact +HTTP/1.1 301 Moved Permanently +Location: https://156.0.1.33/ +Content-Type: text/plain +Server: proxygen-bolt +Date: Fri, 14 Feb 2025 19:20:38 GMT +Connection: keep-alive +Content-Length: 0 + diff --git a/Backend/Scripts/80Header20.txt b/Backend/Scripts/80Header20.txt new file mode 100644 index 0000000..2fab663 --- /dev/null +++ b/Backend/Scripts/80Header20.txt @@ -0,0 +1,14 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.49:80... +* Connected to 188.0.0.49 (188.0.0.49) port 80 +> HEAD / HTTP/1.1 +> Host: 188.0.0.49 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +* Empty reply from server + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +curl: (52) Empty reply from server diff --git a/Backend/Scripts/80Header21.txt b/Backend/Scripts/80Header21.txt new file mode 100644 index 0000000..df06364 --- /dev/null +++ b/Backend/Scripts/80Header21.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 130.0.0.10:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header22.txt b/Backend/Scripts/80Header22.txt new file mode 100644 index 0000000..c1f3a98 --- /dev/null +++ b/Backend/Scripts/80Header22.txt @@ -0,0 +1,22 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 128.0.2.1:80... +* Connected to 128.0.2.1 (128.0.2.1) port 80 +> HEAD / HTTP/1.1 +> Host: 128.0.2.1 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 405 Method Not Allowed +< Date: Fri, 14 Feb 2025 19:20:31 GMT +< Allow: TRACE +< Content-Type: text/html; charset=iso-8859-1 +< + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 128.0.2.1 left intact +HTTP/1.1 405 Method Not Allowed +Date: Fri, 14 Feb 2025 19:20:31 GMT +Allow: TRACE +Content-Type: text/html; charset=iso-8859-1 + diff --git a/Backend/Scripts/80Header23.txt b/Backend/Scripts/80Header23.txt new file mode 100644 index 0000000..2dec511 --- /dev/null +++ b/Backend/Scripts/80Header23.txt @@ -0,0 +1,28 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.94:80... +* Connected to 148.0.1.94 (148.0.1.94) port 80 +> HEAD / HTTP/1.1 +> Host: 148.0.1.94 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< Server: Mini web server 1.0 ZTE corp 2005. +< Content-Type: text/html; charset=UTF-8 +< Accept-Ranges: bytes +< Connection: close +< Cache-Control: no-cache,no-store +< Content-Length: 5543 +< + 0 5543 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 200 OK +Server: Mini web server 1.0 ZTE corp 2005. +Content-Type: text/html; charset=UTF-8 +Accept-Ranges: bytes +Connection: close +Cache-Control: no-cache,no-store +Content-Length: 5543 + diff --git a/Backend/Scripts/80Header24.txt b/Backend/Scripts/80Header24.txt new file mode 100644 index 0000000..f23bde3 --- /dev/null +++ b/Backend/Scripts/80Header24.txt @@ -0,0 +1,36 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.14:80... +* Connected to 168.0.0.14 (168.0.0.14) port 80 +> HEAD / HTTP/1.1 +> Host: 168.0.0.14 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Server: Apache/2.4.29 (Ubuntu) +< Set-Cookie: PHPSESSID=qdbj5qpudc0pcaqa61l3enuaka; HttpOnly +< Expires: Thu, 19 Nov 1981 08:52:00 GMT +< Cache-Control: no-store, no-cache, must-revalidate +< Pragma: no-cache +< X-Content-Type-Options: nosniff +< X-XSS-Protection: 1; mode=block +< X-Frame-Options: SAMEORIGIN +< Content-Type: text/html; charset=UTF-8 +< + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 168.0.0.14 left intact +HTTP/1.1 200 OK +Date: Fri, 14 Feb 2025 19:20:38 GMT +Server: Apache/2.4.29 (Ubuntu) +Set-Cookie: PHPSESSID=qdbj5qpudc0pcaqa61l3enuaka; HttpOnly +Expires: Thu, 19 Nov 1981 08:52:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Pragma: no-cache +X-Content-Type-Options: nosniff +X-XSS-Protection: 1; mode=block +X-Frame-Options: SAMEORIGIN +Content-Type: text/html; charset=UTF-8 + diff --git a/Backend/Scripts/80Header25.txt b/Backend/Scripts/80Header25.txt new file mode 100644 index 0000000..557dd23 --- /dev/null +++ b/Backend/Scripts/80Header25.txt @@ -0,0 +1,28 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.20:80... +* Connected to 152.0.0.20 (152.0.0.20) port 80 +> HEAD / HTTP/1.1 +> Host: 152.0.0.20 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< Server: Mini web server 1.0 ZTE corp 2005. +< Content-Type: text/html; charset=UTF-8 +< Accept-Ranges: bytes +< Connection: close +< Cache-Control: no-cache,no-store +< Content-Length: 5540 +< + 0 5540 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 200 OK +Server: Mini web server 1.0 ZTE corp 2005. +Content-Type: text/html; charset=UTF-8 +Accept-Ranges: bytes +Connection: close +Cache-Control: no-cache,no-store +Content-Length: 5540 + diff --git a/Backend/Scripts/80Header26.txt b/Backend/Scripts/80Header26.txt new file mode 100644 index 0000000..f288f7a --- /dev/null +++ b/Backend/Scripts/80Header26.txt @@ -0,0 +1,22 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 154.0.1.30:80... +* Connected to 154.0.1.30 (154.0.1.30) port 80 +> HEAD / HTTP/1.1 +> Host: 154.0.1.30 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< Date: Fri, 14 Feb 2025 19:20:37 GMT +< Server: Apache/2.4.53 (Debian) +< Content-Type: text/html;charset=UTF-8 +< + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 154.0.1.30 left intact +HTTP/1.1 200 OK +Date: Fri, 14 Feb 2025 19:20:37 GMT +Server: Apache/2.4.53 (Debian) +Content-Type: text/html;charset=UTF-8 + diff --git a/Backend/Scripts/80Header27.txt b/Backend/Scripts/80Header27.txt new file mode 100644 index 0000000..b2b1462 --- /dev/null +++ b/Backend/Scripts/80Header27.txt @@ -0,0 +1,24 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.160:80... +* Connected to 152.0.0.160 (152.0.0.160) port 80 +> HEAD / HTTP/1.1 +> Host: 152.0.0.160 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +* HTTP 1.0, assume close after body +< HTTP/1.0 400 Bad Request +< Server: Speed Touch WebServer/1.0 +< Content-Type: text/html +< Content-Length: 57 +< +{ [61 bytes data] + 0 57 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.0 400 Bad Request +Server: Speed Touch WebServer/1.0 +Content-Type: text/html +Content-Length: 57 + diff --git a/Backend/Scripts/80Header28.txt b/Backend/Scripts/80Header28.txt new file mode 100644 index 0000000..f8e19be --- /dev/null +++ b/Backend/Scripts/80Header28.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.1.60:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header29.txt b/Backend/Scripts/80Header29.txt new file mode 100644 index 0000000..ee3ba3a --- /dev/null +++ b/Backend/Scripts/80Header29.txt @@ -0,0 +1,36 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.248:80... +* Connected to 152.0.0.248 (152.0.0.248) port 80 +> HEAD / HTTP/1.1 +> Host: 152.0.0.248 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< Pragma:no-cache +< Cache-control:no-cache, no-store, max-age=0 +< Expires:Mon, 01 Jan 1970 00:00:01 GMT +< Content-Type:text/html; charset=UTF-8 +< Transfer-Encoding:chunked +< X-Frame-Options:SAMEORIGIN +< Connection:Keep-Alive +< X-XSS-Protection:1; mode=block +< Content-Security-Policy:default-src 'self' 'unsafe-inline' 'unsafe-eval' +< Content-Language:en +< + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 152.0.0.248 left intact +HTTP/1.1 200 OK +Pragma:no-cache +Cache-control:no-cache, no-store, max-age=0 +Expires:Mon, 01 Jan 1970 00:00:01 GMT +Content-Type:text/html; charset=UTF-8 +Transfer-Encoding:chunked +X-Frame-Options:SAMEORIGIN +Connection:Keep-Alive +X-XSS-Protection:1; mode=block +Content-Security-Policy:default-src 'self' 'unsafe-inline' 'unsafe-eval' +Content-Language:en + diff --git a/Backend/Scripts/80Header3.txt b/Backend/Scripts/80Header3.txt index 33a551f..758206e 100644 --- a/Backend/Scripts/80Header3.txt +++ b/Backend/Scripts/80Header3.txt @@ -1,4 +1,25 @@ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 141.0.68.78:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 \ No newline at end of file + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 154.0.1.82:80... +* Connected to 154.0.1.82 (154.0.1.82) port 80 +> HEAD / HTTP/1.1 +> Host: 154.0.1.82 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 500 Internal Server Error +< Content-Type: text/html; charset=utf-8 +< Content-Length: 130 +< Set-Cookie: JSESSIONID=deleted; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Path=/; HttpOnly +< Connection: close +< +{ [130 bytes data] + 0 130 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 500 Internal Server Error +Content-Type: text/html; charset=utf-8 +Content-Length: 130 +Set-Cookie: JSESSIONID=deleted; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Path=/; HttpOnly +Connection: close + diff --git a/Backend/Scripts/80Header30.txt b/Backend/Scripts/80Header30.txt new file mode 100644 index 0000000..ebaf7e4 --- /dev/null +++ b/Backend/Scripts/80Header30.txt @@ -0,0 +1,31 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.94:80... +* Connected to 152.0.1.94 (152.0.1.94) port 80 + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> HEAD / HTTP/1.1 +> Host: 152.0.1.94 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 400 Bad Request +< Server: ZTE web server 1.0 ZTE corp 2015. +< Accept-Ranges: bytes +< Connection: close +< X-Frame-Options: SAMEORIGIN +< Content-Type: text/html; charset=iso-8859-1 +< X-Content-Type-Options: nosniff +< Cache-Control: no-cache,no-store +< +{ [1135 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 400 Bad Request +Server: ZTE web server 1.0 ZTE corp 2015. +Accept-Ranges: bytes +Connection: close +X-Frame-Options: SAMEORIGIN +Content-Type: text/html; charset=iso-8859-1 +X-Content-Type-Options: nosniff +Cache-Control: no-cache,no-store + diff --git a/Backend/Scripts/80Header31.txt b/Backend/Scripts/80Header31.txt new file mode 100644 index 0000000..0490945 --- /dev/null +++ b/Backend/Scripts/80Header31.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.14:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header32.txt b/Backend/Scripts/80Header32.txt new file mode 100644 index 0000000..e7f415c --- /dev/null +++ b/Backend/Scripts/80Header32.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.0.80:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header33.txt b/Backend/Scripts/80Header33.txt new file mode 100644 index 0000000..b322120 --- /dev/null +++ b/Backend/Scripts/80Header33.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.24:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header34.txt b/Backend/Scripts/80Header34.txt new file mode 100644 index 0000000..a6cb12f --- /dev/null +++ b/Backend/Scripts/80Header34.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.92:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header35.txt b/Backend/Scripts/80Header35.txt new file mode 100644 index 0000000..b44e5ae --- /dev/null +++ b/Backend/Scripts/80Header35.txt @@ -0,0 +1,37 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 88.0.0.187:80... +* Connected to 88.0.0.187 (88.0.0.187) port 80 +> HEAD / HTTP/1.1 +> Host: 88.0.0.187 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 302 Found +< Server: mini_httpd/1.27 07Mar2017 +< Date: Fri, 14 Feb 2025 20:20:19 GMT +< X-Frame-Options: SAMEORIGIN +< Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval';style-src 'self' 'unsafe-inline' +< X-Content-Type-Options: nosniff +< X-XSS-Protection: 1; mode=block +< Strict-Transport-Security: max-age=31536000; includeSubDomains +< Location: /cgi-bin/mhs/html/logIn_mhs.asp +< Content-Type: text/html; charset=%s +< Connection: close +< +{ [473 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 302 Found +Server: mini_httpd/1.27 07Mar2017 +Date: Fri, 14 Feb 2025 20:20:19 GMT +X-Frame-Options: SAMEORIGIN +Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval';style-src 'self' 'unsafe-inline' +X-Content-Type-Options: nosniff +X-XSS-Protection: 1; mode=block +Strict-Transport-Security: max-age=31536000; includeSubDomains +Location: /cgi-bin/mhs/html/logIn_mhs.asp +Content-Type: text/html; charset=%s +Connection: close + diff --git a/Backend/Scripts/80Header36.txt b/Backend/Scripts/80Header36.txt new file mode 100644 index 0000000..2f929bd --- /dev/null +++ b/Backend/Scripts/80Header36.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.137:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header37.txt b/Backend/Scripts/80Header37.txt new file mode 100644 index 0000000..192cc42 --- /dev/null +++ b/Backend/Scripts/80Header37.txt @@ -0,0 +1,25 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.103:80... +* Connected to 148.0.1.103 (148.0.1.103) port 80 +> HEAD / HTTP/1.1 +> Host: 148.0.1.103 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 401 Unauthorized +< Set-Cookie: Session=0; httponly +< Content-Type: text/html +< Content-Length: 1307 +< Date: Fri, 14 Feb 2025 19:20:44 GMT +< +{ [1242 bytes data] + 0 1307 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 401 Unauthorized +Set-Cookie: Session=0; httponly +Content-Type: text/html +Content-Length: 1307 +Date: Fri, 14 Feb 2025 19:20:44 GMT + diff --git a/Backend/Scripts/80Header38.txt b/Backend/Scripts/80Header38.txt new file mode 100644 index 0000000..903b5f2 --- /dev/null +++ b/Backend/Scripts/80Header38.txt @@ -0,0 +1,27 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.194:80... +* Connected to 152.0.0.194 (152.0.0.194) port 80 +> HEAD / HTTP/1.1 +> Host: 152.0.0.194 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 501 Not Implemented +< Server: micro_httpd +< Cache-Control: no-cache +< Date: Sun, 04 Jan 1970 21:02:18 GMT +< Content-Type: text/html +< Connection: close +< +{ [246 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 501 Not Implemented +Server: micro_httpd +Cache-Control: no-cache +Date: Sun, 04 Jan 1970 21:02:18 GMT +Content-Type: text/html +Connection: close + diff --git a/Backend/Scripts/80Header39.txt b/Backend/Scripts/80Header39.txt new file mode 100644 index 0000000..85e53e0 --- /dev/null +++ b/Backend/Scripts/80Header39.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.37:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header4.txt b/Backend/Scripts/80Header4.txt new file mode 100644 index 0000000..6322e61 --- /dev/null +++ b/Backend/Scripts/80Header4.txt @@ -0,0 +1,28 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.42:80... +* Connected to 156.0.1.42 (156.0.1.42) port 80 + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> HEAD / HTTP/1.1 +> Host: 156.0.1.42 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 301 Moved Permanently +< Location: https://156.0.1.42/ +< Content-Type: text/plain +< Server: proxygen-bolt +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Connection: keep-alive +< Content-Length: 0 +< + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 156.0.1.42 left intact +HTTP/1.1 301 Moved Permanently +Location: https://156.0.1.42/ +Content-Type: text/plain +Server: proxygen-bolt +Date: Fri, 14 Feb 2025 19:20:38 GMT +Connection: keep-alive +Content-Length: 0 + diff --git a/Backend/Scripts/80Header40.txt b/Backend/Scripts/80Header40.txt new file mode 100644 index 0000000..22fba9a --- /dev/null +++ b/Backend/Scripts/80Header40.txt @@ -0,0 +1,25 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.93:80... +* Connected to 148.0.1.93 (148.0.1.93) port 80 +> HEAD / HTTP/1.1 +> Host: 148.0.1.93 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 401 Unauthorized +< Set-Cookie: Session=0; httponly +< Content-Type: text/html +< Content-Length: 1307 +< Date: Fri, 14 Feb 2025 19:20:44 GMT +< +{ [1242 bytes data] + 0 1307 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 401 Unauthorized +Set-Cookie: Session=0; httponly +Content-Type: text/html +Content-Length: 1307 +Date: Fri, 14 Feb 2025 19:20:44 GMT + diff --git a/Backend/Scripts/80Header41.txt b/Backend/Scripts/80Header41.txt new file mode 100644 index 0000000..85a8e24 --- /dev/null +++ b/Backend/Scripts/80Header41.txt @@ -0,0 +1,27 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.32:80... +* Connected to 152.0.0.32 (152.0.0.32) port 80 +> HEAD / HTTP/1.1 +> Host: 152.0.0.32 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 501 Not Implemented +< Server: micro_httpd +< Cache-Control: no-cache +< Date: Mon, 05 Jan 1970 02:43:02 GMT +< Content-Type: text/html +< Connection: close +< +{ [246 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 501 Not Implemented +Server: micro_httpd +Cache-Control: no-cache +Date: Mon, 05 Jan 1970 02:43:02 GMT +Content-Type: text/html +Connection: close + diff --git a/Backend/Scripts/80Header42.txt b/Backend/Scripts/80Header42.txt new file mode 100644 index 0000000..07cc9b1 --- /dev/null +++ b/Backend/Scripts/80Header42.txt @@ -0,0 +1,28 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 136.0.1.14:80... +* Connected to 136.0.1.14 (136.0.1.14) port 80 +> HEAD / HTTP/1.1 +> Host: 136.0.1.14 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 301 Moved Permanently +< Server: nginx +< Date: Fri, 14 Feb 2025 19:20:32 GMT +< Content-Type: text/html +< Content-Length: 162 +< Connection: keep-alive +< Location: https://www.luo7731.top:443/ +< + 0 162 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 136.0.1.14 left intact +HTTP/1.1 301 Moved Permanently +Server: nginx +Date: Fri, 14 Feb 2025 19:20:32 GMT +Content-Type: text/html +Content-Length: 162 +Connection: keep-alive +Location: https://www.luo7731.top:443/ + diff --git a/Backend/Scripts/80Header43.txt b/Backend/Scripts/80Header43.txt new file mode 100644 index 0000000..24a08b2 --- /dev/null +++ b/Backend/Scripts/80Header43.txt @@ -0,0 +1,14 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 128.0.1.107:80... +* Connected to 128.0.1.107 (128.0.1.107) port 80 +> HEAD / HTTP/1.1 +> Host: 128.0.1.107 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10001 milliseconds with 0 bytes received + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Operation timed out after 10001 milliseconds with 0 bytes received diff --git a/Backend/Scripts/80Header44.txt b/Backend/Scripts/80Header44.txt new file mode 100644 index 0000000..34a6465 --- /dev/null +++ b/Backend/Scripts/80Header44.txt @@ -0,0 +1,14 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.174:80... +* Connected to 72.0.3.174 (72.0.3.174) port 80 +> HEAD / HTTP/1.1 +> Host: 72.0.3.174 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10001 milliseconds with 0 bytes received + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Operation timed out after 10001 milliseconds with 0 bytes received diff --git a/Backend/Scripts/80Header45.txt b/Backend/Scripts/80Header45.txt new file mode 100644 index 0000000..cc68c50 --- /dev/null +++ b/Backend/Scripts/80Header45.txt @@ -0,0 +1,14 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.65:80... +* Connected to 188.0.0.65 (188.0.0.65) port 80 +> HEAD / HTTP/1.1 +> Host: 188.0.0.65 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +* Empty reply from server + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +curl: (52) Empty reply from server diff --git a/Backend/Scripts/80Header46.txt b/Backend/Scripts/80Header46.txt new file mode 100644 index 0000000..2d4ff00 --- /dev/null +++ b/Backend/Scripts/80Header46.txt @@ -0,0 +1,27 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.89:80... +* Connected to 148.0.1.89 (148.0.1.89) port 80 +> HEAD / HTTP/1.1 +> Host: 148.0.1.89 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 501 Not Implemented +< Server: micro_httpd +< Cache-Control: no-cache +< Date: Thu, 01 Jan 1970 08:01:20 GMT +< Content-Type: text/html +< Connection: close +< +{ [246 bytes data] + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 501 Not Implemented +Server: micro_httpd +Cache-Control: no-cache +Date: Thu, 01 Jan 1970 08:01:20 GMT +Content-Type: text/html +Connection: close + diff --git a/Backend/Scripts/80Header47.txt b/Backend/Scripts/80Header47.txt new file mode 100644 index 0000000..f975a93 --- /dev/null +++ b/Backend/Scripts/80Header47.txt @@ -0,0 +1,32 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.10:80... +* Connected to 168.0.0.10 (168.0.0.10) port 80 +> HEAD / HTTP/1.1 +> Host: 168.0.0.10 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Server: Apache +< Last-Modified: Thu, 16 Sep 2021 19:10:45 GMT +< ETag: "29cd-5cc21925c9e89" +< Accept-Ranges: bytes +< Content-Length: 10701 +< Vary: Accept-Encoding +< Content-Type: text/html +< + 0 10701 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 168.0.0.10 left intact +HTTP/1.1 200 OK +Date: Fri, 14 Feb 2025 19:20:38 GMT +Server: Apache +Last-Modified: Thu, 16 Sep 2021 19:10:45 GMT +ETag: "29cd-5cc21925c9e89" +Accept-Ranges: bytes +Content-Length: 10701 +Vary: Accept-Encoding +Content-Type: text/html + diff --git a/Backend/Scripts/80Header48.txt b/Backend/Scripts/80Header48.txt new file mode 100644 index 0000000..0e945ac --- /dev/null +++ b/Backend/Scripts/80Header48.txt @@ -0,0 +1,24 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.0.141:80... +* Connected to 148.0.0.141 (148.0.0.141) port 80 +> HEAD / HTTP/1.1 +> Host: 148.0.0.141 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +* HTTP 1.0, assume close after body +< HTTP/1.0 400 Bad Request +< Server: Speed Touch WebServer/1.0 +< Content-Type: text/html +< Content-Length: 57 +< +{ [61 bytes data] + 0 57 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.0 400 Bad Request +Server: Speed Touch WebServer/1.0 +Content-Type: text/html +Content-Length: 57 + diff --git a/Backend/Scripts/80Header49.txt b/Backend/Scripts/80Header49.txt new file mode 100644 index 0000000..f7614e0 --- /dev/null +++ b/Backend/Scripts/80Header49.txt @@ -0,0 +1,28 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.43:80... +* Connected to 156.0.1.43 (156.0.1.43) port 80 +> HEAD / HTTP/1.1 +> Host: 156.0.1.43 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 301 Moved Permanently +< Location: https://156.0.1.43/ +< Content-Type: text/plain +< Server: proxygen-bolt +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Connection: keep-alive +< Content-Length: 0 +< + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 156.0.1.43 left intact +HTTP/1.1 301 Moved Permanently +Location: https://156.0.1.43/ +Content-Type: text/plain +Server: proxygen-bolt +Date: Fri, 14 Feb 2025 19:20:38 GMT +Connection: keep-alive +Content-Length: 0 + diff --git a/Backend/Scripts/80Header5.txt b/Backend/Scripts/80Header5.txt new file mode 100644 index 0000000..be4254e --- /dev/null +++ b/Backend/Scripts/80Header5.txt @@ -0,0 +1,14 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.38:80... +* Connected to 152.0.1.38 (152.0.1.38) port 80 +> HEAD / HTTP/1.1 +> Host: 152.0.1.38 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Empty reply from server + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +curl: (52) Empty reply from server diff --git a/Backend/Scripts/80Header50.txt b/Backend/Scripts/80Header50.txt new file mode 100644 index 0000000..aaefa8c --- /dev/null +++ b/Backend/Scripts/80Header50.txt @@ -0,0 +1,30 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.30:80... +* Connected to 168.0.0.30 (168.0.0.30) port 80 +> HEAD / HTTP/1.1 +> Host: 168.0.0.30 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.1.24 +< X-Powered-By: PHP/8.1.24 +< Cache-Control: no-cache, private +< Set-Cookie: XSRF-TOKEN=eyJpdiI6IldmVzNKem04OGZFTFV3N29Hbk9qQUE9PSIsInZhbHVlIjoiN3g2SlRJNHhCemRpWTRya3RrY1JoSjU1UEo3WmQrWURkV0tjTERTcjVrOXpYNzlhYkUyV2F5L3RTdTFvd2hzWDlodFZUSzlHc05Td1ZqQktnUTRGaG0ydGZVNHg2c0VYWUVWcVd5WjR4T29NVjJnMDBieVdwczNxblJObHpnY3ciLCJtYWMiOiI5MDEzMjQ5MDRmMTRhOTZhNWZiNGFlMjMzOTRmZThmMDU3NGRiNDI0Y2VmOTNhZDhiN2NmMDgwMTlhOWQ1ZmQ0IiwidGFnIjoiIn0%3D; expires=Fri, 14-Feb-2025 21:20:38 GMT; Max-Age=7200; path=/; samesite=lax +< Set-Cookie: laravel_session=eyJpdiI6IkZsdWZoa1pZUUt6SjdXc2lBY2JkTEE9PSIsInZhbHVlIjoicHJsVFpIZEt6bWVhSjZVMlYrRTlFS0lqYzNJbndZdlRBM0VuV1UrRW1ZOGRoaWRoS3cvWGQ0S2d5bmlvb2xPSGVLQlAzblhNbDZxMnhreU5ob0RLV0dCMldyeU1uYXV0WDBuWlp0NkoxQUEzTE5KTm1zVFB4amt6SEF4SjVKUUoiLCJtYWMiOiJjZWI4YjU3MGM5ZjliNGRmMzFjYzI1YTA3NzFkYzQxNjgwN2EyNzhlMzJhYjZjMDI5OTliMmM4Mjk0NDViZmM4IiwidGFnIjoiIn0%3D; expires=Fri, 14-Feb-2025 21:20:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax +< Content-Type: text/html; charset=UTF-8 +< + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 168.0.0.30 left intact +HTTP/1.1 200 OK +Date: Fri, 14 Feb 2025 19:20:38 GMT +Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.1.24 +X-Powered-By: PHP/8.1.24 +Cache-Control: no-cache, private +Set-Cookie: XSRF-TOKEN=eyJpdiI6IldmVzNKem04OGZFTFV3N29Hbk9qQUE9PSIsInZhbHVlIjoiN3g2SlRJNHhCemRpWTRya3RrY1JoSjU1UEo3WmQrWURkV0tjTERTcjVrOXpYNzlhYkUyV2F5L3RTdTFvd2hzWDlodFZUSzlHc05Td1ZqQktnUTRGaG0ydGZVNHg2c0VYWUVWcVd5WjR4T29NVjJnMDBieVdwczNxblJObHpnY3ciLCJtYWMiOiI5MDEzMjQ5MDRmMTRhOTZhNWZiNGFlMjMzOTRmZThmMDU3NGRiNDI0Y2VmOTNhZDhiN2NmMDgwMTlhOWQ1ZmQ0IiwidGFnIjoiIn0%3D; expires=Fri, 14-Feb-2025 21:20:38 GMT; Max-Age=7200; path=/; samesite=lax +Set-Cookie: laravel_session=eyJpdiI6IkZsdWZoa1pZUUt6SjdXc2lBY2JkTEE9PSIsInZhbHVlIjoicHJsVFpIZEt6bWVhSjZVMlYrRTlFS0lqYzNJbndZdlRBM0VuV1UrRW1ZOGRoaWRoS3cvWGQ0S2d5bmlvb2xPSGVLQlAzblhNbDZxMnhreU5ob0RLV0dCMldyeU1uYXV0WDBuWlp0NkoxQUEzTE5KTm1zVFB4amt6SEF4SjVKUUoiLCJtYWMiOiJjZWI4YjU3MGM5ZjliNGRmMzFjYzI1YTA3NzFkYzQxNjgwN2EyNzhlMzJhYjZjMDI5OTliMmM4Mjk0NDViZmM4IiwidGFnIjoiIn0%3D; expires=Fri, 14-Feb-2025 21:20:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax +Content-Type: text/html; charset=UTF-8 + diff --git a/Backend/Scripts/80Header51.txt b/Backend/Scripts/80Header51.txt new file mode 100644 index 0000000..ea75dfd --- /dev/null +++ b/Backend/Scripts/80Header51.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.1.46:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header52.txt b/Backend/Scripts/80Header52.txt new file mode 100644 index 0000000..faa29dd --- /dev/null +++ b/Backend/Scripts/80Header52.txt @@ -0,0 +1,28 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.96:80... +* Connected to 152.0.0.96 (152.0.0.96) port 80 + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> HEAD / HTTP/1.1 +> Host: 152.0.0.96 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< Server: Mini web server 1.0 ZTE corp 2005. +< Content-Type: text/html; charset=UTF-8 +< Accept-Ranges: bytes +< Connection: close +< Cache-Control: no-cache,no-store +< Content-Length: 5540 +< + 0 5540 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 200 OK +Server: Mini web server 1.0 ZTE corp 2005. +Content-Type: text/html; charset=UTF-8 +Accept-Ranges: bytes +Connection: close +Cache-Control: no-cache,no-store +Content-Length: 5540 + diff --git a/Backend/Scripts/80Header53.txt b/Backend/Scripts/80Header53.txt new file mode 100644 index 0000000..e07d536 --- /dev/null +++ b/Backend/Scripts/80Header53.txt @@ -0,0 +1,24 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 136.0.1.72:80... +* Connected to 136.0.1.72 (136.0.1.72) port 80 +> HEAD / HTTP/1.1 +> Host: 136.0.1.72 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< Date: Fri, 14 Feb 2025 19:20:32 GMT +< Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/8.0.2 +< X-Powered-By: PHP/8.0.2 +< Content-Type: text/html; charset=UTF-8 +< + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 136.0.1.72 left intact +HTTP/1.1 200 OK +Date: Fri, 14 Feb 2025 19:20:32 GMT +Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/8.0.2 +X-Powered-By: PHP/8.0.2 +Content-Type: text/html; charset=UTF-8 + diff --git a/Backend/Scripts/80Header54.txt b/Backend/Scripts/80Header54.txt new file mode 100644 index 0000000..b481fa7 --- /dev/null +++ b/Backend/Scripts/80Header54.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.0.79:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header55.txt b/Backend/Scripts/80Header55.txt new file mode 100644 index 0000000..350a5cb --- /dev/null +++ b/Backend/Scripts/80Header55.txt @@ -0,0 +1,32 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.95:80... +* Connected to 152.0.1.95 (152.0.1.95) port 80 +> HEAD / HTTP/1.1 +> Host: 152.0.1.95 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 301 Moved Permanently +< X-Frame-Options: SAMEORIGIN +< Content-Security-Policy: frame-ancestors 'self' +< X-XSS-Protection: 1; mode=block +< Strict-Transport-Security: max-age=63072000 +< location: https://152.0.1.95:10443/ +< Date: Fri, 14 Feb 2025 19:20:37 GMT +< Connection: keep-alive +< Keep-Alive: timeout=5 +< + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 152.0.1.95 left intact +HTTP/1.1 301 Moved Permanently +X-Frame-Options: SAMEORIGIN +Content-Security-Policy: frame-ancestors 'self' +X-XSS-Protection: 1; mode=block +Strict-Transport-Security: max-age=63072000 +location: https://152.0.1.95:10443/ +Date: Fri, 14 Feb 2025 19:20:37 GMT +Connection: keep-alive +Keep-Alive: timeout=5 + diff --git a/Backend/Scripts/80Header56.txt b/Backend/Scripts/80Header56.txt new file mode 100644 index 0000000..f0c0788 --- /dev/null +++ b/Backend/Scripts/80Header56.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.229:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header57.txt b/Backend/Scripts/80Header57.txt new file mode 100644 index 0000000..0372211 --- /dev/null +++ b/Backend/Scripts/80Header57.txt @@ -0,0 +1,14 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.178:80... +* Connected to 152.0.0.178 (152.0.0.178) port 80 +> HEAD / HTTP/1.1 +> Host: 152.0.0.178 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0* Empty reply from server + 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 +* shutting down connection #0 +curl: (52) Empty reply from server diff --git a/Backend/Scripts/80Header58.txt b/Backend/Scripts/80Header58.txt new file mode 100644 index 0000000..701e297 --- /dev/null +++ b/Backend/Scripts/80Header58.txt @@ -0,0 +1,41 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 190.0.0.38:80... +* Connected to 190.0.0.38 (190.0.0.38) port 80 +> HEAD / HTTP/1.1 +> Host: 190.0.0.38 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< CONNECTION: keep-alive +< Date: Fri, 14 Feb 2025 14:20:28 GMT +< Last-Modified: Thu, 02 Nov 2023 19:43:45 GMT +< Etag: "1698954225:2002" +< CONTENT-LENGTH: 8194 +< CACHE-CONTROL: max-age=0 +< P3P: CP=CAO PSA OUR +< X-Frame-Options: SAMEORIGIN +< X-XSS-Protection: 1;mode=block +< Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-eval' +< X-Content-Type-Options: nosniff +< CONTENT-TYPE: text/html +< +{ [1035 bytes data] + 0 8194 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 200 OK +CONNECTION: keep-alive +Date: Fri, 14 Feb 2025 14:20:28 GMT +Last-Modified: Thu, 02 Nov 2023 19:43:45 GMT +Etag: "1698954225:2002" +CONTENT-LENGTH: 8194 +CACHE-CONTROL: max-age=0 +P3P: CP=CAO PSA OUR +X-Frame-Options: SAMEORIGIN +X-XSS-Protection: 1;mode=block +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-eval' +X-Content-Type-Options: nosniff +CONTENT-TYPE: text/html + diff --git a/Backend/Scripts/80Header59.txt b/Backend/Scripts/80Header59.txt new file mode 100644 index 0000000..c331d05 --- /dev/null +++ b/Backend/Scripts/80Header59.txt @@ -0,0 +1,28 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 190.0.0.34:80... +* Connected to 190.0.0.34 (190.0.0.34) port 80 +> HEAD / HTTP/1.1 +> Host: 190.0.0.34 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 302 Moved Temporarily +< Server: nginx +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Content-Type: text/html +< Content-Length: 138 +< Connection: keep-alive +< Location: https://190.0.0.34/ +< + 0 138 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 190.0.0.34 left intact +HTTP/1.1 302 Moved Temporarily +Server: nginx +Date: Fri, 14 Feb 2025 19:20:38 GMT +Content-Type: text/html +Content-Length: 138 +Connection: keep-alive +Location: https://190.0.0.34/ + diff --git a/Backend/Scripts/80Header6.txt b/Backend/Scripts/80Header6.txt new file mode 100644 index 0000000..dfed3b9 --- /dev/null +++ b/Backend/Scripts/80Header6.txt @@ -0,0 +1,36 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.6:80... +* Connected to 168.0.0.6 (168.0.0.6) port 80 +> HEAD / HTTP/1.1 +> Host: 168.0.0.6 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 302 Found +< X-Powered-By: Express +< Access-Control-Allow-Headers: * +< Access-Control-Allow-Origin: * +< Location: https://168.0.0.6/ +< Vary: Accept +< Content-Type: text/plain; charset=utf-8 +< Content-Length: 40 +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Connection: keep-alive +< Keep-Alive: timeout=5 +< + 0 40 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 168.0.0.6 left intact +HTTP/1.1 302 Found +X-Powered-By: Express +Access-Control-Allow-Headers: * +Access-Control-Allow-Origin: * +Location: https://168.0.0.6/ +Vary: Accept +Content-Type: text/plain; charset=utf-8 +Content-Length: 40 +Date: Fri, 14 Feb 2025 19:20:38 GMT +Connection: keep-alive +Keep-Alive: timeout=5 + diff --git a/Backend/Scripts/80Header60.txt b/Backend/Scripts/80Header60.txt new file mode 100644 index 0000000..6e02b57 --- /dev/null +++ b/Backend/Scripts/80Header60.txt @@ -0,0 +1,14 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.167:80... +* Connected to 72.0.3.167 (72.0.3.167) port 80 +> HEAD / HTTP/1.1 +> Host: 72.0.3.167 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/80Header61.txt b/Backend/Scripts/80Header61.txt new file mode 100644 index 0000000..61ab21f --- /dev/null +++ b/Backend/Scripts/80Header61.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.84:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header62.txt b/Backend/Scripts/80Header62.txt new file mode 100644 index 0000000..8255f53 --- /dev/null +++ b/Backend/Scripts/80Header62.txt @@ -0,0 +1,28 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.3:80... +* Connected to 188.0.0.3 (188.0.0.3) port 80 +> HEAD / HTTP/1.1 +> Host: 188.0.0.3 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 302 Moved Temporarily +< Server: nginx/1.21.3 +< Date: Fri, 14 Feb 2025 19:20:38 GMT +< Content-Type: text/html +< Content-Length: 145 +< Connection: keep-alive +< Location: https://balans.rastrnet.ru/ +< + 0 145 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* Connection #0 to host 188.0.0.3 left intact +HTTP/1.1 302 Moved Temporarily +Server: nginx/1.21.3 +Date: Fri, 14 Feb 2025 19:20:38 GMT +Content-Type: text/html +Content-Length: 145 +Connection: keep-alive +Location: https://balans.rastrnet.ru/ + diff --git a/Backend/Scripts/80Header63.txt b/Backend/Scripts/80Header63.txt new file mode 100644 index 0000000..54eb9e0 --- /dev/null +++ b/Backend/Scripts/80Header63.txt @@ -0,0 +1,7 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.4:80... + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header7.txt b/Backend/Scripts/80Header7.txt new file mode 100644 index 0000000..1e53253 --- /dev/null +++ b/Backend/Scripts/80Header7.txt @@ -0,0 +1,28 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.0.146:80... +* Connected to 148.0.0.146 (148.0.0.146) port 80 +> HEAD / HTTP/1.1 +> Host: 148.0.0.146 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +< HTTP/1.1 200 OK +< Server: Mini web server 1.0 ZTE corp 2005. +< Content-Type: text/html; charset=UTF-8 +< Accept-Ranges: bytes +< Connection: close +< Cache-Control: no-cache,no-store +< Content-Length: 5543 +< + 0 5543 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +HTTP/1.1 200 OK +Server: Mini web server 1.0 ZTE corp 2005. +Content-Type: text/html; charset=UTF-8 +Accept-Ranges: bytes +Connection: close +Cache-Control: no-cache,no-store +Content-Length: 5543 + diff --git a/Backend/Scripts/80Header8.txt b/Backend/Scripts/80Header8.txt new file mode 100644 index 0000000..c6e89ad --- /dev/null +++ b/Backend/Scripts/80Header8.txt @@ -0,0 +1,14 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.169:80... +* Connected to 72.0.3.169 (72.0.3.169) port 80 +> HEAD / HTTP/1.1 +> Host: 72.0.3.169 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off + 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received + 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 +* closing connection #0 +curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/80Header9.txt b/Backend/Scripts/80Header9.txt new file mode 100644 index 0000000..24fff60 --- /dev/null +++ b/Backend/Scripts/80Header9.txt @@ -0,0 +1,14 @@ + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.1:80... +* Connected to 188.0.0.1 (188.0.0.1) port 80 +> HEAD / HTTP/1.1 +> Host: 188.0.0.1 +> User-Agent: curl/8.9.1 +> Accept: */* +> +* Request completely sent off +* Empty reply from server + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +* shutting down connection #0 +curl: (52) Empty reply from server diff --git a/Manager/Commands.cs b/Manager/Commands.cs deleted file mode 100644 index 3c77e2e..0000000 --- a/Manager/Commands.cs +++ /dev/null @@ -1,122 +0,0 @@ -using System.Diagnostics.CodeAnalysis; -using System.Text.Json; -using Models.Model.Backend; -using Models.Model.External; -using NetMQ; -using NetMQ.Sockets; - -namespace Manager; - -public static class Commands -{ - public static void GetProgress() - { - Console.WriteLine("Getting progress ..."); - - CommunicationObject communicationObject = new(); - communicationObject.Command = CommunicationCommand.GetScanningProgress; - - ScanningStatus temp = GetProgress(communicationObject); - - Console.WriteLine($"Total filtered: {temp.TotalFiltered:n0}"); - Console.WriteLine($"Total discarded: {temp.TotalDiscarded:n0}"); - Console.WriteLine($"Total percentage scanned: {temp.PercentageOfIpv4Scanned}"); - Console.WriteLine($"Total Ips left: {temp.AmountOfIpv4Left:n0}"); - Console.WriteLine($"Filtered DB size: {temp.FilteredDbSize} Kb"); - Console.WriteLine($"Discarded DB size: {temp.DiscardedDbSize} Kb"); - Console.WriteLine($"Mydb DB size: {temp.MyDbSize} Kb"); - } - - public static void StopServer() - { - CommunicationObject communicationObject = new(); - communicationObject.Command = CommunicationCommand.StopScanning; - - Console.WriteLine(SendAndRecieveStringMessage(communicationObject)); - } - - public static void Vacuum() - { - CommunicationObject communicationObject = new(); - communicationObject.Command = CommunicationCommand.DbVacuum; - - Console.WriteLine(SendAndRecieveStringMessage(communicationObject)); - } - - public static void ReIndex() - { - CommunicationObject communicationObject = new(); - communicationObject.Command = CommunicationCommand.DbReindex; - - Console.WriteLine(SendAndRecieveStringMessage(communicationObject)); - } - - public static void SetRuntimeVariable(RuntimeVariable runtimeVariable, string value) - { - CommunicationObject communicationObject = new() - { - Command = CommunicationCommand.ChangeRuntimeVariable, - Variable = runtimeVariable.ToString(), - VariableValue = value - }; - - Console.WriteLine(SendAndRecieveStringMessage(communicationObject)); - } - - public static void GetHelp() - { - Console.WriteLine("Available commands:"); - Console.WriteLine(" stop - stops the server"); - Console.WriteLine(" clear - clears the console"); - Console.WriteLine(" q - quits the program"); - Console.WriteLine(" p - print the progress information of the scanner"); - Console.WriteLine(" g - manual garbage collect on the server"); - Console.WriteLine(" r - manual reindex the databases"); - Console.WriteLine(" v - manual vacuum the databases"); - Console.WriteLine(" R - change runtime variable"); - Console.WriteLine(" lR - list runtime variables"); - Console.WriteLine(" help - shows this help"); - Console.WriteLine(); - } - - public static void PrintRuntimeVariables() - { - Console.WriteLine("Runtime variables:"); - Console.WriteLine($"{RuntimeVariable.ScannerTimeout.ToString()} - Sets the timeout in milliseconds for the scanner"); - Console.WriteLine($"{RuntimeVariable.ContentFilter.ToString()} - Sets the timeout in milliseconds for the content filter"); - Console.WriteLine($"{RuntimeVariable.DbContent.ToString()} - Sets the wait time in milliseconds for the content database if the queue is empty"); - Console.WriteLine($"{RuntimeVariable.DbDiscarded.ToString()} - Sets the wait time in milliseconds for the discarded database if the queue is empty"); - } - - [RequiresDynamicCode("Calls System.Text.Json.JsonSerializer.SerializeToUtf8Bytes(TValue, JsonSerializerOptions)")] - [RequiresUnreferencedCode("Calls System.Text.Json.JsonSerializer.SerializeToUtf8Bytes(TValue, JsonSerializerOptions)")] - private static string? SendAndRecieveStringMessage(CommunicationObject communicationObject) - { - //byte[] bytes = MessagePackSerializer.Serialize(communicationObject, ContractlessStandardResolver.Options); - - byte[] lol = JsonSerializer.SerializeToUtf8Bytes(communicationObject); - - using RequestSocket client = new(); - client.Connect("tcp://127.0.0.1:5556"); - client.SendFrame(lol); - byte[] msg = client.ReceiveFrameBytes(); - client.Close(); - - return JsonSerializer.Deserialize(msg); - } - - [RequiresUnreferencedCode("Calls System.Text.Json.JsonSerializer.SerializeToUtf8Bytes(TValue, JsonSerializerOptions)")] - [RequiresDynamicCode("Calls System.Text.Json.JsonSerializer.SerializeToUtf8Bytes(TValue, JsonSerializerOptions)")] - private static ScanningStatus GetProgress(CommunicationObject communicationObject) - { - byte[] lol = JsonSerializer.SerializeToUtf8Bytes(communicationObject); - - using RequestSocket client = new(); - client.Connect("tcp://127.0.0.1:5556"); - client.SendFrame(lol); - byte[] msg = client.ReceiveFrameBytes(); - client.Close(); - - return JsonSerializer.Deserialize(msg); - } -} \ No newline at end of file diff --git a/Manager/Manager.csproj b/Manager/Manager.csproj deleted file mode 100644 index 6bed32a..0000000 --- a/Manager/Manager.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - - Exe - net8.0 - enable - enable - - - - - - - - - - - - - diff --git a/Manager/Program.cs b/Manager/Program.cs deleted file mode 100644 index 787506a..0000000 --- a/Manager/Program.cs +++ /dev/null @@ -1,90 +0,0 @@ -using Manager; -using Models.Model.Backend; - -bool stop = false; - -do -{ - string? input = Console.ReadLine(); - - if (string.Equals(input, "stop")) - { - Commands.StopServer(); - } - - else if (string.Equals(input, "q")) - { - stop = true; - } - - else if (string.Equals(input, "clear")) - { - Console.Clear(); - } - - else if (string.Equals(input, "p")) - { - Commands.GetProgress(); - } - - else if (string.Equals(input, "v")) - { - Commands.Vacuum(); - } - - else if (string.Equals(input, "r")) - { - Commands.ReIndex(); - } - - else if (string.Equals(input, "R")) - { - Console.WriteLine("Variable name."); - string? variable = Console.ReadLine(); - - Console.WriteLine("Variable value."); - string? value = Console.ReadLine(); - - if (string.IsNullOrWhiteSpace(variable) || string.IsNullOrWhiteSpace(value)) - { - Console.WriteLine("Please enter a value."); - return; - } - - if (variable == RuntimeVariable.ScannerTimeout.ToString()) - { - Commands.SetRuntimeVariable(RuntimeVariable.ScannerTimeout, value); - } - - else if (variable == RuntimeVariable.ContentFilter.ToString()) - { - Commands.SetRuntimeVariable(RuntimeVariable.ContentFilter, value); - } - - else if (variable == RuntimeVariable.DbDiscarded.ToString()) - { - Commands.SetRuntimeVariable(RuntimeVariable.DbDiscarded, value); - } - - else if (variable == RuntimeVariable.DbContent.ToString()) - { - Commands.SetRuntimeVariable(RuntimeVariable.DbContent, value); - } - } - - else if (string.Equals(input, "lR")) - { - Commands.PrintRuntimeVariables(); - } - - else if (string.Equals(input, "help")) - { - Commands.GetHelp(); - } - - else - { - Commands.GetHelp(); - } - -} while (!stop); \ No newline at end of file diff --git a/Models/BackupDB/PreFiltered.db b/Models/BackupDB/PreFiltered.db new file mode 100644 index 0000000000000000000000000000000000000000..0eecbad69768811bcffd6a9cefbd717900b24259 GIT binary patch literal 16384 zcmeI&-%7$z90%|-C-V#(>K%SA{ zr^$R?co&`4+p!o*rc!R)?y>rq-E?~n8?%ll43rGDXsXmKURPAAcrpr2MEbHhN}*hs{HAjcMcB^q|#eIeuq` z5J6m!Ps@uorI6&lW3Nw=I}p<&w= 8 && RawSocket.TryGetPingReply(numArray, from, ref ipHeaderLength, out status)) + return status; + } + } + catch (SocketException ex) when (ex.SocketErrorCode == SocketError.TimedOut) + { + } + + return IPStatus.TimedOut; + } +} \ No newline at end of file diff --git a/Models/Experimental/MessageConstant.cs b/Models/Experimental/MessageConstant.cs new file mode 100644 index 0000000..5800e4c --- /dev/null +++ b/Models/Experimental/MessageConstant.cs @@ -0,0 +1,59 @@ +using System.Net.NetworkInformation; +namespace Models.Experimental; +public struct MessageConstant +{ + public static IPStatus MapV4TypeToIpStatus(int type, int code) + { + IPStatus ipStatus1; + switch ((IcmpV4MessageType) type) + { + case IcmpV4MessageType.EchoReply: + ipStatus1 = IPStatus.Success; + break; + case IcmpV4MessageType.DestinationUnreachable: + IPStatus ipStatus2; + switch ((byte) code) + { + case 0: + ipStatus2 = IPStatus.DestinationNetworkUnreachable; + break; + case 1: + ipStatus2 = IPStatus.DestinationHostUnreachable; + break; + case 2: + ipStatus2 = IPStatus.DestinationProtocolUnreachable; + break; + case 3: + ipStatus2 = IPStatus.DestinationPortUnreachable; + break; + default: + ipStatus2 = IPStatus.DestinationUnreachable; + break; + } + ipStatus1 = ipStatus2; + break; + case IcmpV4MessageType.SourceQuench: + ipStatus1 = IPStatus.SourceQuench; + break; + case IcmpV4MessageType.TimeExceeded: + ipStatus1 = IPStatus.TtlExpired; + break; + case IcmpV4MessageType.ParameterProblemBadIpHeader: + ipStatus1 = IPStatus.BadHeader; + break; + default: + ipStatus1 = IPStatus.Unknown; + break; + } + return ipStatus1; + } +} + +internal enum IcmpV4MessageType : byte +{ + EchoReply = 0, + DestinationUnreachable = 3, + SourceQuench = 4, + TimeExceeded = 11, // 0x0B + ParameterProblemBadIpHeader = 12, // 0x0C +} \ No newline at end of file diff --git a/Models/Experimental/RawSocket.cs b/Models/Experimental/RawSocket.cs new file mode 100644 index 0000000..2b7e359 --- /dev/null +++ b/Models/Experimental/RawSocket.cs @@ -0,0 +1,91 @@ +using System.Net; +using System.Net.NetworkInformation; +using System.Net.Sockets; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Models.Model.Backend; + +namespace Models.Experimental; + +public class RawSocket +{ + public static unsafe Socket GetRawSocket(SocketConfig socketConfig) + { + Socket rawSocket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, (ProtocolType)socketConfig.ProtocolType); + rawSocket.ReceiveTimeout = socketConfig.Timeout; + rawSocket.SendTimeout = socketConfig.Timeout; + rawSocket.Connect(socketConfig.EndPoint); + int num = 1; + rawSocket.SetRawSocketOption(0, 11, new ReadOnlySpan((void*) &num, 4)); + return rawSocket; + } + + public static bool TryGetPingReply(byte[] receiveBuffer, int bytesReceived, ref int ipHeaderLength, out IPStatus reply) + { + byte num = (byte) (receiveBuffer[0] & 15U); + ipHeaderLength = 4 * num; + + int start = ipHeaderLength; + int srcOffset = ipHeaderLength + 8; + + IcmpHeader icmpHeader = Unsafe.ReadUnaligned(ref MemoryMarshal.GetReference(receiveBuffer.AsSpan(start))); + byte[] numArray = new byte[bytesReceived - srcOffset]; + Buffer.BlockCopy(receiveBuffer, srcOffset, numArray, 0, numArray.Length); + reply = MessageConstant.MapV4TypeToIpStatus(icmpHeader.Type, icmpHeader.Code); + return true; + } + + public static unsafe byte[] CreateSendMessageBuffer(IcmpHeader icmpHeader) + { + int length = sizeof (IcmpHeader); + byte[] sendMessageBuffer = new byte[length]; + new Span((void*) &icmpHeader, length).CopyTo(new Span(sendMessageBuffer, 0, length)); + ushort bufferChecksum = ComputeBufferChecksum(sendMessageBuffer.AsSpan(0)); + sendMessageBuffer[2] = (byte) ((uint) bufferChecksum >> 8); + sendMessageBuffer[3] = (byte) (bufferChecksum & byte.MaxValue); + return sendMessageBuffer; + } + + private static ushort ComputeBufferChecksum(ReadOnlySpan buffer) + { + uint num1 = 0; + for (int index = 0; index < buffer.Length; index += 2) + { + ushort num2 = (ushort) ((ushort) (buffer[index] << 8 & 65280) | (index + 1 < buffer.Length ? (ushort) (buffer[index + 1] & (uint) byte.MaxValue) : 0)); + num1 += num2; + } + while (num1 >> 16 != 0U) + num1 = (num1 & ushort.MaxValue) + (num1 >> 16); + return (ushort) ~num1; + } +} + +public class SocketConfig +{ + public EndPoint EndPoint; + public readonly int Timeout; + public readonly CustomProtocolType ProtocolType; + public readonly byte[] SendBuffer; + + public SocketConfig( + EndPoint endPoint, + int timeout, + CustomProtocolType protocolType, + byte[] sendBuffer) + { + EndPoint = endPoint; + Timeout = timeout; + ProtocolType = protocolType; + SendBuffer = sendBuffer; + } +} + + +public struct IcmpHeader +{ + public byte Type; + public byte Code; + public ushort HeaderChecksum; + public ushort Identifier; + public ushort SequenceNumber; +} \ No newline at end of file diff --git a/Models/Handler/DbHandler.cs b/Models/Handler/DbHandler.cs index efe27a7..6175f47 100644 --- a/Models/Handler/DbHandler.cs +++ b/Models/Handler/DbHandler.cs @@ -13,8 +13,10 @@ public class DbHandler private readonly ConcurrentQueue _unfilteredQueue; private readonly ConcurrentQueue _discardedQueue; private readonly ConcurrentQueue _resumeQueue; + private readonly ConcurrentQueue _preFilteredQueue; private readonly string _unfilteredConnectionString; + private readonly string _preFilteredConnectionString; private readonly string _filteredConnectionString; private readonly string _resumeConnectionString; private readonly string _compressedConnectionString; @@ -25,6 +27,11 @@ public class DbHandler " INSERT INTO Unfiltered (Ip1, Ip2, Ip3, Ip4, Port1, Port2, Filtered)" + " VALUES (@ip1, @ip2, @ip3, @ip4, @port1, @port2, @filtered)"; + private const string InsertPreFilteredStatement = "PRAGMA synchronous = OFF; PRAGMA temp_store = MEMORY;" + + " PRAGMA journal_mode = MEMORY; PRAGMA foreign_keys = off;" + + " INSERT INTO PreFiltered (Ip1, Ip2, Ip3, Ip4, ResponseCode, Filtered)" + + " VALUES (@ip1, @ip2, @ip3, @ip4, @responseCode, @filtered)"; + private const string InsertIntoFiltered = "PRAGMA synchronous = OFF; PRAGMA temp_store = MEMORY;" + " PRAGMA journal_mode = MEMORY; PRAGMA foreign_keys = on;" + " INSERT INTO Filtered (Ip1, Ip2, Ip3, Ip4, Port1, Port2," + @@ -88,6 +95,9 @@ public class DbHandler private const string ReadDiscardedSeqIdsStatement = "SELECT seq FROM sqlite_sequence;"; private const string ReadResumeStatement = "SELECT * FROM Resume WHERE ThreadNumber == @threadNumber;"; private const string ReadCompressedDbRowsStatement = "SELECT Rows FROM CompressedDatabases;"; + private const string ReadPreFilteredIdsStatement = "SELECT Id FROM PreFiltered WHERE Filtered == 0;"; + private const string ReadPreFilteredStatement = "SELECT Ip1, Ip2, Ip3, Ip4, ResponseCode, Id FROM PreFiltered WHERE Filtered == 0 ORDER BY Ip1 ASC LIMIT 1;"; + private const string UpdatePreFilteredStatement = "PRAGMA synchronous = OFF; PRAGMA temp_store = MEMORY; PRAGMA journal_mode = MEMORY; PRAGMA foreign_keys = off; UPDATE PreFiltered SET Filtered = 1 WHERE Id == @id;"; private const string UpdateUnfilteredStatement = "PRAGMA synchronous = OFF; PRAGMA temp_store = MEMORY; PRAGMA journal_mode = MEMORY; PRAGMA foreign_keys = off; UPDATE Unfiltered SET Filtered = 1 WHERE Id == @id;"; @@ -113,12 +123,15 @@ public class DbHandler public DbHandler(ConcurrentQueue filteredQueue, ConcurrentQueue discardedQueue, ConcurrentQueue unfilteredQueue, - ConcurrentQueue resumeQueue, string basePath) + ConcurrentQueue resumeQueue, + ConcurrentQueue preFilteredQueue, + string basePath) { _filteredQueue = filteredQueue; _discardedQueue = discardedQueue; _unfilteredQueue = unfilteredQueue; _resumeQueue = resumeQueue; + _preFilteredQueue = preFilteredQueue; SetContentWaitTime(100); SetDiscardedWaitTime(10); @@ -129,6 +142,7 @@ public class DbHandler _filteredConnectionString = $"Data Source={basePath}/Models/Filtered.db"; _resumeConnectionString = $"Data Source={basePath}/Models/ScannerResume.db"; _compressedConnectionString = $"Data Source={basePath}/Models/CompressedDatabases.db"; + _preFilteredConnectionString = $"Data Source={basePath}/Models/PreFiltered.db"; } public void SetContentWaitTime(int waitTime) @@ -190,6 +204,24 @@ public class DbHandler Console.WriteLine("Filtered DbHandler stopped."); } + + public void PrefilteredDbHandler() + { + Console.WriteLine("PreFiltered Db handler started."); + + while (!_stop) + { + if (_preFilteredQueue.IsEmpty) + { + Thread.Sleep(4); + continue; + } + + _preFilteredQueue.TryDequeue(out FilterQueueItem queueItem); + + InsertPrefiltered(queueItem); + } + } public void ResumeDbHandler() { @@ -204,12 +236,9 @@ public class DbHandler continue; } - _resumeQueue.TryDequeue(out ScannerResumeObject? queueItem); + _resumeQueue.TryDequeue(out ScannerResumeObject queueItem); - if (queueItem is not null) - { - InsertResumeObject(queueItem); - } + InsertResumeObject(queueItem); } Console.WriteLine("Resume DbHandler stopped."); @@ -499,6 +528,24 @@ public class DbHandler _ = command.ExecuteNonQuery(); connection.Close(); } + + private void InsertPrefiltered(FilterQueueItem filterQueueItem) + { + using SqliteConnection connection = new(_preFilteredConnectionString); + connection.Open(); + + using SqliteCommand command = new(InsertPreFilteredStatement, connection); + + command.Parameters.AddWithValue("@ip1", filterQueueItem.Ip.Ip1); + command.Parameters.AddWithValue("@ip2", filterQueueItem.Ip.Ip2); + command.Parameters.AddWithValue("@ip3", filterQueueItem.Ip.Ip3); + command.Parameters.AddWithValue("@ip4", filterQueueItem.Ip.Ip4); + command.Parameters.AddWithValue("@responseCode", filterQueueItem.ResponseCode); + command.Parameters.AddWithValue("@filtered", 0); + + _ = command.ExecuteNonQuery(); + connection.Close(); + } private void UpdateUnfiltered(Unfiltered unfiltered) { @@ -567,79 +614,42 @@ public class DbHandler return ids; } - public long GetFilteredIndexes() + public bool GetPreFilterQueueItem(out FilterQueueItem filterQueueItem) { - long rowId = 0; - - using SqliteConnection connection = new(_filteredConnectionString); + using SqliteConnection connection = new(_preFilteredConnectionString); connection.Open(); - using SqliteCommand command = new(ReadFilteredIdsStatement, connection); + SqliteCommand command = new(ReadPreFilteredStatement, connection); using SqliteDataReader reader = command.ExecuteReader(); + filterQueueItem = new(); + Ip ip = new(); + long id = 0; + if (!reader.HasRows) { - return 0; + return false; } while (reader.Read()) { - rowId = reader.GetInt64(0); + ip.Ip1 = reader.GetInt32(0); + ip.Ip2 = reader.GetInt32(1); + ip.Ip3 = reader.GetInt32(2); + ip.Ip4 = reader.GetInt32(3); + filterQueueItem.ResponseCode = reader.GetInt32(4); + id = reader.GetInt64(5); } - return rowId; - } - - public long GetDiscardedIndexes() - { - long rowId = 0; + filterQueueItem.Ip = ip; + + command = new(UpdatePreFilteredStatement, connection); + command.Parameters.AddWithValue("@id", id); - SqliteConnection connection; - SqliteCommand command; - SqliteDataReader reader; - - for (int i = 0; i < _discardedConnectionStrings.Count; i++) - { - connection = new(_discardedConnectionStrings[i]); - connection.Open(); - - command = new(ReadDiscardedSeqIdsStatement, connection); - reader = command.ExecuteReader(); - - if (!reader.HasRows) - { - return rowId; - } - - while (reader.Read()) - { - rowId += reader.GetInt64(0); - } - - connection.Close(); - } - - connection = new(_compressedConnectionString); - connection.Open(); - command = new(ReadCompressedDbRowsStatement, connection); - reader = command.ExecuteReader(); - - if (!reader.HasRows) - { - return rowId; - } - - while (reader.Read()) - { - rowId += reader.GetInt64(0); - } - - connection.Close(); - connection.Dispose(); + command.ExecuteNonQuery(); command.Dispose(); - reader.Dispose(); - return rowId; + return true; } private static long GetDiscardedIndexesForSpecificDb(string connectionString) diff --git a/Models/Model/Backend/CustomProtocolType.cs b/Models/Model/Backend/CustomProtocolType.cs new file mode 100644 index 0000000..9bb0e42 --- /dev/null +++ b/Models/Model/Backend/CustomProtocolType.cs @@ -0,0 +1,6 @@ +namespace Models.Model.Backend; + +public enum CustomProtocolType +{ + Icmp = 1 +} \ No newline at end of file diff --git a/Models/Model/Backend/DatabaseSizes.cs b/Models/Model/Backend/DatabaseSizes.cs deleted file mode 100644 index ba4c06b..0000000 --- a/Models/Model/Backend/DatabaseSizes.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace Models.Model.Backend; - -public struct DatabaseSizes -{ - public double DiscardedDbSize { get; set; } - - public double FilteredDbSize { get; set; } - - public double MyDbSize { get; set; } -} \ No newline at end of file diff --git a/Models/Model/Backend/FilterQueueItem.cs b/Models/Model/Backend/FilterQueueItem.cs index e7b72c2..eef0da3 100644 --- a/Models/Model/Backend/FilterQueueItem.cs +++ b/Models/Model/Backend/FilterQueueItem.cs @@ -2,6 +2,6 @@ namespace Models.Model.Backend; public struct FilterQueueItem { - public Ip Ip { get; init; } - public int ResponseCode { get; init; } + public Ip Ip { get; set; } + public int ResponseCode { get; set; } } \ No newline at end of file diff --git a/Models/Model/Backend/RuntimeVariable.cs b/Models/Model/Backend/RuntimeVariable.cs deleted file mode 100644 index 536a86f..0000000 --- a/Models/Model/Backend/RuntimeVariable.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Models.Model.Backend; - -public enum RuntimeVariable -{ - DbContent, - DbDiscarded, - ContentFilter, - ScannerTimeout -} \ No newline at end of file diff --git a/Models/Model/Backend/SizeUnits.cs b/Models/Model/Backend/SizeUnits.cs deleted file mode 100644 index 2aa7a90..0000000 --- a/Models/Model/Backend/SizeUnits.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Models.Model.Backend; -public enum SizeUnits -{ - Byte, - KB, - MB, - GB, -} diff --git a/Models/Model/External/CommunicationCommand.cs b/Models/Model/External/CommunicationCommand.cs deleted file mode 100644 index cc314a1..0000000 --- a/Models/Model/External/CommunicationCommand.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Models.Model.External; - -public enum CommunicationCommand -{ - GetScanningProgress, - GetSearches, - StopScanning, - DbReindex, - DbVacuum, - ChangeRuntimeVariable, -} \ No newline at end of file diff --git a/Models/Model/External/CommunicationObject.cs b/Models/Model/External/CommunicationObject.cs deleted file mode 100644 index 9fa6609..0000000 --- a/Models/Model/External/CommunicationObject.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace Models.Model.External; - -//[MessagePackObject] -public class CommunicationObject -{ - //[Key(0)] - public CommunicationCommand Command { get; set; } - - //[Key(1)] - public string? SearchTerm { get; set; } = ""; - - //[Key(2)] - public string? Variable { get; set; } = ""; - - //[Key(3)] - public string? VariableValue { get; set; } = ""; -} \ No newline at end of file diff --git a/Models/Model/External/CommunicationResult.cs b/Models/Model/External/CommunicationResult.cs deleted file mode 100644 index 95808d9..0000000 --- a/Models/Model/External/CommunicationResult.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Models.Model.External; - -public class CommunicationResult -{ - public List? Result { get; set; } - - public ScanningStatus? Status { get; set; } -} \ No newline at end of file diff --git a/Models/Model/External/ScanningStatus.cs b/Models/Model/External/ScanningStatus.cs deleted file mode 100644 index 29a09e4..0000000 --- a/Models/Model/External/ScanningStatus.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace Models.Model.External; - -public struct ScanningStatus -{ - public float PercentageOfIpv4Scanned { get; set; } - - public long TotalFiltered { get; set; } - - public long AmountOfIpv4Left { get; set; } - - public long TotalDiscarded { get; set; } - - public double DiscardedDbSize { get; set; } - - public double FilteredDbSize { get; set; } - - public double MyDbSize { get; set; } -} \ No newline at end of file diff --git a/Models/Model/External/SearchResults.cs b/Models/Model/External/SearchResults.cs deleted file mode 100644 index 3abf452..0000000 --- a/Models/Model/External/SearchResults.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Models.Model.External; - -public class SearchResults -{ - public List? Results { get; set; } -} \ No newline at end of file diff --git a/Models/Models.csproj b/Models/Models.csproj index 3a65374..a4e0a76 100644 --- a/Models/Models.csproj +++ b/Models/Models.csproj @@ -1,12 +1,13 @@  - net8.0 + net9.0 enable enable + true - + diff --git a/Proxy/Program.cs b/Proxy/Program.cs deleted file mode 100644 index 8bf0147..0000000 --- a/Proxy/Program.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System.Text.Json; -using System.Text.Json.Serialization; -using AspNetCoreRateLimit; -using Microsoft.AspNetCore.HttpOverrides; -using Microsoft.Extensions.Caching.Memory; -using Models.Model.External; -using NetMQ; -using NetMQ.Sockets; -const string myAllowSpecificOrigins = "_myAllowSpecificOrigins"; - -WebApplicationBuilder builder = WebApplication.CreateSlimBuilder(args); - -builder.Services.ConfigureHttpJsonOptions(options => -{ - options.SerializerOptions.TypeInfoResolverChain.Insert(0, AppJsonSerializerContext.Default); -}); - -builder.Services.AddCors(options => -{ - options.AddPolicy(name: myAllowSpecificOrigins, x => x.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader()); -}); - -builder.Services.AddMemoryCache(options => options.ExpirationScanFrequency = TimeSpan.FromSeconds(5)); - -WebApplication app = builder.Build(); - -app.UseForwardedHeaders(new() -{ - ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto -}); - -app.UseCors(myAllowSpecificOrigins); - -RouteGroupBuilder progressApi = app.MapGroup("/progress"); -progressApi.MapGet("/", (IMemoryCache memoryCache) => -{ - const string cacheKey = "progress_status"; - if (memoryCache.TryGetValue(cacheKey, out ScanningStatus scanningStatus)) - { - return scanningStatus; - } - - CommunicationObject communicationObject = new() - { - Command = CommunicationCommand.GetScanningProgress - }; - - byte[] bytes = JsonSerializer.SerializeToUtf8Bytes(communicationObject); - - using RequestSocket client = new(); - client.Connect("tcp://127.0.0.1:5556"); - client.SendFrame(bytes); - byte[] msg = client.ReceiveFrameBytes(); - client.Close(); - - scanningStatus = JsonSerializer.Deserialize(msg); - - memoryCache.Set(cacheKey, scanningStatus, DateTimeOffset.Now.AddSeconds(5)); - - return scanningStatus; -}); - - -RouteGroupBuilder searchApi = app.MapGroup("/search"); -searchApi.MapGet("/{term}", (string term) => -{ - CommunicationObject communicationObject = new(); - communicationObject.Command = CommunicationCommand.GetSearches; - communicationObject.SearchTerm = term; - - byte[] bytes = JsonSerializer.SerializeToUtf8Bytes(communicationObject); - - using RequestSocket client = new(); - client.Connect("tcp://127.0.0.1:5556"); - client.SendFrame(bytes); - string msg = client.ReceiveFrameString(); - client.Close(); - - return JsonSerializer.Deserialize(msg); -}); - -app.Run(); - -[JsonSerializable(typeof(ScanningStatus))] -//[JsonSerializable(typeof(SearchResults))] -[JsonSerializable(typeof(CommunicationObject))] -internal partial class AppJsonSerializerContext : JsonSerializerContext -{ -} \ No newline at end of file diff --git a/Proxy/Properties/launchSettings.json b/Proxy/Properties/launchSettings.json deleted file mode 100644 index 408ef90..0000000 --- a/Proxy/Properties/launchSettings.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/launchsettings.json", - "profiles": { - "http": { - "commandName": "Project", - "dotnetRunMessages": true, - "launchBrowser": true, - "launchUrl": "", - "applicationUrl": "http://localhost:5224", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} diff --git a/Proxy/Proxy.csproj b/Proxy/Proxy.csproj deleted file mode 100644 index 9601591..0000000 --- a/Proxy/Proxy.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - - net8.0 - enable - enable - true - false - - - - - - - - - - - - diff --git a/Proxy/Proxy.http b/Proxy/Proxy.http deleted file mode 100644 index d6bdc09..0000000 --- a/Proxy/Proxy.http +++ /dev/null @@ -1,11 +0,0 @@ -@Proxy_HostAddress = http://localhost:5224 - -GET {{Proxy_HostAddress}}/progress/ -Accept: application/json - -### - -GET {{Proxy_HostAddress}}/search/asd -Accept: application/json - -### diff --git a/Proxy/appsettings.Development.json b/Proxy/appsettings.Development.json deleted file mode 100644 index 0c208ae..0000000 --- a/Proxy/appsettings.Development.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - } -} diff --git a/Proxy/appsettings.json b/Proxy/appsettings.json deleted file mode 100644 index 51c11b2..0000000 --- a/Proxy/appsettings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Warning", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*" -} diff --git a/README.md b/README.md index 35fb6fd..f090365 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,8 @@ Rasmus Search Engine -This is just a hobby project I'm working on at the moment. (Rasmus is my name BTW lol) \ No newline at end of file +This is just a hobby project I'm working on at the moment. (Rasmus is my name BTW lol) + +This is also an "Anything goes" type of project. I'm not really aiming for correctness or any other type of paradigm or architecture. + +I'm just trying to minimize memory usage while maximizing performance. diff --git a/RSE.sln b/RSE.sln index 42c9599..cbe0482 100644 --- a/RSE.sln +++ b/RSE.sln @@ -4,10 +4,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Backend", "Backend\Backend. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Models", "Models\Models.csproj", "{3B0DFF2F-334A-4039-9510-EB4DDB2C5100}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Manager", "Manager\Manager.csproj", "{B8F0548D-356C-48B4-909B-D6CC317E3772}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Proxy", "Proxy\Proxy.csproj", "{55208481-5203-4B25-A20D-4EF644F76773}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analyze", "Analyze\Analyze.csproj", "{7B0C666E-DC4F-4008-9933-08AF5FAB0099}" EndProject Global @@ -24,14 +20,6 @@ Global {3B0DFF2F-334A-4039-9510-EB4DDB2C5100}.Debug|Any CPU.Build.0 = Debug|Any CPU {3B0DFF2F-334A-4039-9510-EB4DDB2C5100}.Release|Any CPU.ActiveCfg = Release|Any CPU {3B0DFF2F-334A-4039-9510-EB4DDB2C5100}.Release|Any CPU.Build.0 = Release|Any CPU - {B8F0548D-356C-48B4-909B-D6CC317E3772}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B8F0548D-356C-48B4-909B-D6CC317E3772}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B8F0548D-356C-48B4-909B-D6CC317E3772}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B8F0548D-356C-48B4-909B-D6CC317E3772}.Release|Any CPU.Build.0 = Release|Any CPU - {55208481-5203-4B25-A20D-4EF644F76773}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {55208481-5203-4B25-A20D-4EF644F76773}.Debug|Any CPU.Build.0 = Debug|Any CPU - {55208481-5203-4B25-A20D-4EF644F76773}.Release|Any CPU.ActiveCfg = Release|Any CPU - {55208481-5203-4B25-A20D-4EF644F76773}.Release|Any CPU.Build.0 = Release|Any CPU {7B0C666E-DC4F-4008-9933-08AF5FAB0099}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7B0C666E-DC4F-4008-9933-08AF5FAB0099}.Debug|Any CPU.Build.0 = Debug|Any CPU {7B0C666E-DC4F-4008-9933-08AF5FAB0099}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/RSE.sln.DotSettings.user b/RSE.sln.DotSettings.user index a0f49b6..92f946d 100644 --- a/RSE.sln.DotSettings.user +++ b/RSE.sln.DotSettings.user @@ -4,19 +4,33 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded + ForceIncluded + ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded + ForceIncluded ForceIncluded + ForceIncluded + ForceIncluded ForceIncluded + ForceIncluded + ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded diff --git a/global.json b/global.json new file mode 100644 index 0000000..f4fd385 --- /dev/null +++ b/global.json @@ -0,0 +1,7 @@ +{ + "sdk": { + "version": "9.0.0", + "rollForward": "latestMajor", + "allowPrerelease": true + } +} \ No newline at end of file From b0318b77591efef91f4ef7969450c27663774984 Mon Sep 17 00:00:00 2001 From: Rasmus Date: Sun, 16 Feb 2025 09:38:57 +0100 Subject: [PATCH 6/7] Removed .txt --- Backend/Scripts/443Header.txt | 14 ------ Backend/Scripts/443Header0.txt | 68 -------------------------- Backend/Scripts/443Header1.txt | 60 ----------------------- Backend/Scripts/443Header10.txt | 59 ---------------------- Backend/Scripts/443Header11.txt | 7 --- Backend/Scripts/443Header12.txt | 7 --- Backend/Scripts/443Header13.txt | 81 ------------------------------ Backend/Scripts/443Header14.txt | 7 --- Backend/Scripts/443Header15.txt | 12 ----- Backend/Scripts/443Header16.txt | 8 --- Backend/Scripts/443Header17.txt | 7 --- Backend/Scripts/443Header18.txt | 7 --- Backend/Scripts/443Header19.txt | 60 ----------------------- Backend/Scripts/443Header2.txt | 70 -------------------------- Backend/Scripts/443Header20.txt | 8 --- Backend/Scripts/443Header21.txt | 74 ---------------------------- Backend/Scripts/443Header22.txt | 7 --- Backend/Scripts/443Header23.txt | 7 --- Backend/Scripts/443Header24.txt | 8 --- Backend/Scripts/443Header25.txt | 7 --- Backend/Scripts/443Header26.txt | 7 --- Backend/Scripts/443Header27.txt | 7 --- Backend/Scripts/443Header28.txt | 12 ----- Backend/Scripts/443Header29.txt | 7 --- Backend/Scripts/443Header3.txt | 7 --- Backend/Scripts/443Header30.txt | 66 ------------------------- Backend/Scripts/443Header31.txt | 7 --- Backend/Scripts/443Header32.txt | 60 ----------------------- Backend/Scripts/443Header33.txt | 60 ----------------------- Backend/Scripts/443Header34.txt | 7 --- Backend/Scripts/443Header35.txt | 70 -------------------------- Backend/Scripts/443Header36.txt | 77 ----------------------------- Backend/Scripts/443Header37.txt | 7 --- Backend/Scripts/443Header38.txt | 7 --- Backend/Scripts/443Header39.txt | 7 --- Backend/Scripts/443Header4.txt | 70 -------------------------- Backend/Scripts/443Header40.txt | 7 --- Backend/Scripts/443Header41.txt | 7 --- Backend/Scripts/443Header42.txt | 57 --------------------- Backend/Scripts/443Header43.txt | 49 ------------------- Backend/Scripts/443Header44.txt | 56 --------------------- Backend/Scripts/443Header45.txt | 8 --- Backend/Scripts/443Header46.txt | 7 --- Backend/Scripts/443Header47.txt | 8 --- Backend/Scripts/443Header48.txt | 7 --- Backend/Scripts/443Header49.txt | 70 -------------------------- Backend/Scripts/443Header5.txt | 7 --- Backend/Scripts/443Header50.txt | 62 ----------------------- Backend/Scripts/443Header51.txt | 62 ----------------------- Backend/Scripts/443Header52.txt | 7 --- Backend/Scripts/443Header53.txt | 7 --- Backend/Scripts/443Header54.txt | 60 ----------------------- Backend/Scripts/443Header55.txt | 7 --- Backend/Scripts/443Header56.txt | 7 --- Backend/Scripts/443Header57.txt | 16 ------ Backend/Scripts/443Header58.txt | 8 --- Backend/Scripts/443Header59.txt | 74 ---------------------------- Backend/Scripts/443Header6.txt | 87 --------------------------------- Backend/Scripts/443Header60.txt | 56 --------------------- Backend/Scripts/443Header61.txt | 7 --- Backend/Scripts/443Header62.txt | 7 --- Backend/Scripts/443Header63.txt | 7 --- Backend/Scripts/443Header7.txt | 7 --- Backend/Scripts/443Header8.txt | 57 --------------------- Backend/Scripts/443Header9.txt | 8 --- Backend/Scripts/80Header.txt | 36 -------------- Backend/Scripts/80Header0.txt | 14 ------ Backend/Scripts/80Header1.txt | 7 --- Backend/Scripts/80Header10.txt | 14 ------ Backend/Scripts/80Header11.txt | 28 ----------- Backend/Scripts/80Header12.txt | 28 ----------- Backend/Scripts/80Header13.txt | 32 ------------ Backend/Scripts/80Header14.txt | 27 ---------- Backend/Scripts/80Header15.txt | 7 --- Backend/Scripts/80Header16.txt | 30 ------------ Backend/Scripts/80Header17.txt | 7 --- Backend/Scripts/80Header18.txt | 7 --- Backend/Scripts/80Header19.txt | 7 --- Backend/Scripts/80Header2.txt | 28 ----------- Backend/Scripts/80Header20.txt | 14 ------ Backend/Scripts/80Header21.txt | 7 --- Backend/Scripts/80Header22.txt | 22 --------- Backend/Scripts/80Header23.txt | 28 ----------- Backend/Scripts/80Header24.txt | 36 -------------- Backend/Scripts/80Header25.txt | 28 ----------- Backend/Scripts/80Header26.txt | 22 --------- Backend/Scripts/80Header27.txt | 24 --------- Backend/Scripts/80Header28.txt | 7 --- Backend/Scripts/80Header29.txt | 36 -------------- Backend/Scripts/80Header3.txt | 25 ---------- Backend/Scripts/80Header30.txt | 31 ------------ Backend/Scripts/80Header31.txt | 7 --- Backend/Scripts/80Header32.txt | 7 --- Backend/Scripts/80Header33.txt | 7 --- Backend/Scripts/80Header34.txt | 7 --- Backend/Scripts/80Header35.txt | 37 -------------- Backend/Scripts/80Header36.txt | 7 --- Backend/Scripts/80Header37.txt | 25 ---------- Backend/Scripts/80Header38.txt | 27 ---------- Backend/Scripts/80Header39.txt | 7 --- Backend/Scripts/80Header4.txt | 28 ----------- Backend/Scripts/80Header40.txt | 25 ---------- Backend/Scripts/80Header41.txt | 27 ---------- Backend/Scripts/80Header42.txt | 28 ----------- Backend/Scripts/80Header43.txt | 14 ------ Backend/Scripts/80Header44.txt | 14 ------ Backend/Scripts/80Header45.txt | 14 ------ Backend/Scripts/80Header46.txt | 27 ---------- Backend/Scripts/80Header47.txt | 32 ------------ Backend/Scripts/80Header48.txt | 24 --------- Backend/Scripts/80Header49.txt | 28 ----------- Backend/Scripts/80Header5.txt | 14 ------ Backend/Scripts/80Header50.txt | 30 ------------ Backend/Scripts/80Header51.txt | 7 --- Backend/Scripts/80Header52.txt | 28 ----------- Backend/Scripts/80Header53.txt | 24 --------- Backend/Scripts/80Header54.txt | 7 --- Backend/Scripts/80Header55.txt | 32 ------------ Backend/Scripts/80Header56.txt | 7 --- Backend/Scripts/80Header57.txt | 14 ------ Backend/Scripts/80Header58.txt | 41 ---------------- Backend/Scripts/80Header59.txt | 28 ----------- Backend/Scripts/80Header6.txt | 36 -------------- Backend/Scripts/80Header60.txt | 14 ------ Backend/Scripts/80Header61.txt | 7 --- Backend/Scripts/80Header62.txt | 28 ----------- Backend/Scripts/80Header63.txt | 7 --- Backend/Scripts/80Header7.txt | 28 ----------- Backend/Scripts/80Header8.txt | 14 ------ Backend/Scripts/80Header9.txt | 14 ------ 130 files changed, 3209 deletions(-) delete mode 100644 Backend/Scripts/443Header.txt delete mode 100644 Backend/Scripts/443Header0.txt delete mode 100644 Backend/Scripts/443Header1.txt delete mode 100644 Backend/Scripts/443Header10.txt delete mode 100644 Backend/Scripts/443Header11.txt delete mode 100644 Backend/Scripts/443Header12.txt delete mode 100644 Backend/Scripts/443Header13.txt delete mode 100644 Backend/Scripts/443Header14.txt delete mode 100644 Backend/Scripts/443Header15.txt delete mode 100644 Backend/Scripts/443Header16.txt delete mode 100644 Backend/Scripts/443Header17.txt delete mode 100644 Backend/Scripts/443Header18.txt delete mode 100644 Backend/Scripts/443Header19.txt delete mode 100644 Backend/Scripts/443Header2.txt delete mode 100644 Backend/Scripts/443Header20.txt delete mode 100644 Backend/Scripts/443Header21.txt delete mode 100644 Backend/Scripts/443Header22.txt delete mode 100644 Backend/Scripts/443Header23.txt delete mode 100644 Backend/Scripts/443Header24.txt delete mode 100644 Backend/Scripts/443Header25.txt delete mode 100644 Backend/Scripts/443Header26.txt delete mode 100644 Backend/Scripts/443Header27.txt delete mode 100644 Backend/Scripts/443Header28.txt delete mode 100644 Backend/Scripts/443Header29.txt delete mode 100644 Backend/Scripts/443Header3.txt delete mode 100644 Backend/Scripts/443Header30.txt delete mode 100644 Backend/Scripts/443Header31.txt delete mode 100644 Backend/Scripts/443Header32.txt delete mode 100644 Backend/Scripts/443Header33.txt delete mode 100644 Backend/Scripts/443Header34.txt delete mode 100644 Backend/Scripts/443Header35.txt delete mode 100644 Backend/Scripts/443Header36.txt delete mode 100644 Backend/Scripts/443Header37.txt delete mode 100644 Backend/Scripts/443Header38.txt delete mode 100644 Backend/Scripts/443Header39.txt delete mode 100644 Backend/Scripts/443Header4.txt delete mode 100644 Backend/Scripts/443Header40.txt delete mode 100644 Backend/Scripts/443Header41.txt delete mode 100644 Backend/Scripts/443Header42.txt delete mode 100644 Backend/Scripts/443Header43.txt delete mode 100644 Backend/Scripts/443Header44.txt delete mode 100644 Backend/Scripts/443Header45.txt delete mode 100644 Backend/Scripts/443Header46.txt delete mode 100644 Backend/Scripts/443Header47.txt delete mode 100644 Backend/Scripts/443Header48.txt delete mode 100644 Backend/Scripts/443Header49.txt delete mode 100644 Backend/Scripts/443Header5.txt delete mode 100644 Backend/Scripts/443Header50.txt delete mode 100644 Backend/Scripts/443Header51.txt delete mode 100644 Backend/Scripts/443Header52.txt delete mode 100644 Backend/Scripts/443Header53.txt delete mode 100644 Backend/Scripts/443Header54.txt delete mode 100644 Backend/Scripts/443Header55.txt delete mode 100644 Backend/Scripts/443Header56.txt delete mode 100644 Backend/Scripts/443Header57.txt delete mode 100644 Backend/Scripts/443Header58.txt delete mode 100644 Backend/Scripts/443Header59.txt delete mode 100644 Backend/Scripts/443Header6.txt delete mode 100644 Backend/Scripts/443Header60.txt delete mode 100644 Backend/Scripts/443Header61.txt delete mode 100644 Backend/Scripts/443Header62.txt delete mode 100644 Backend/Scripts/443Header63.txt delete mode 100644 Backend/Scripts/443Header7.txt delete mode 100644 Backend/Scripts/443Header8.txt delete mode 100644 Backend/Scripts/443Header9.txt delete mode 100644 Backend/Scripts/80Header.txt delete mode 100644 Backend/Scripts/80Header0.txt delete mode 100644 Backend/Scripts/80Header1.txt delete mode 100644 Backend/Scripts/80Header10.txt delete mode 100644 Backend/Scripts/80Header11.txt delete mode 100644 Backend/Scripts/80Header12.txt delete mode 100644 Backend/Scripts/80Header13.txt delete mode 100644 Backend/Scripts/80Header14.txt delete mode 100644 Backend/Scripts/80Header15.txt delete mode 100644 Backend/Scripts/80Header16.txt delete mode 100644 Backend/Scripts/80Header17.txt delete mode 100644 Backend/Scripts/80Header18.txt delete mode 100644 Backend/Scripts/80Header19.txt delete mode 100644 Backend/Scripts/80Header2.txt delete mode 100644 Backend/Scripts/80Header20.txt delete mode 100644 Backend/Scripts/80Header21.txt delete mode 100644 Backend/Scripts/80Header22.txt delete mode 100644 Backend/Scripts/80Header23.txt delete mode 100644 Backend/Scripts/80Header24.txt delete mode 100644 Backend/Scripts/80Header25.txt delete mode 100644 Backend/Scripts/80Header26.txt delete mode 100644 Backend/Scripts/80Header27.txt delete mode 100644 Backend/Scripts/80Header28.txt delete mode 100644 Backend/Scripts/80Header29.txt delete mode 100644 Backend/Scripts/80Header3.txt delete mode 100644 Backend/Scripts/80Header30.txt delete mode 100644 Backend/Scripts/80Header31.txt delete mode 100644 Backend/Scripts/80Header32.txt delete mode 100644 Backend/Scripts/80Header33.txt delete mode 100644 Backend/Scripts/80Header34.txt delete mode 100644 Backend/Scripts/80Header35.txt delete mode 100644 Backend/Scripts/80Header36.txt delete mode 100644 Backend/Scripts/80Header37.txt delete mode 100644 Backend/Scripts/80Header38.txt delete mode 100644 Backend/Scripts/80Header39.txt delete mode 100644 Backend/Scripts/80Header4.txt delete mode 100644 Backend/Scripts/80Header40.txt delete mode 100644 Backend/Scripts/80Header41.txt delete mode 100644 Backend/Scripts/80Header42.txt delete mode 100644 Backend/Scripts/80Header43.txt delete mode 100644 Backend/Scripts/80Header44.txt delete mode 100644 Backend/Scripts/80Header45.txt delete mode 100644 Backend/Scripts/80Header46.txt delete mode 100644 Backend/Scripts/80Header47.txt delete mode 100644 Backend/Scripts/80Header48.txt delete mode 100644 Backend/Scripts/80Header49.txt delete mode 100644 Backend/Scripts/80Header5.txt delete mode 100644 Backend/Scripts/80Header50.txt delete mode 100644 Backend/Scripts/80Header51.txt delete mode 100644 Backend/Scripts/80Header52.txt delete mode 100644 Backend/Scripts/80Header53.txt delete mode 100644 Backend/Scripts/80Header54.txt delete mode 100644 Backend/Scripts/80Header55.txt delete mode 100644 Backend/Scripts/80Header56.txt delete mode 100644 Backend/Scripts/80Header57.txt delete mode 100644 Backend/Scripts/80Header58.txt delete mode 100644 Backend/Scripts/80Header59.txt delete mode 100644 Backend/Scripts/80Header6.txt delete mode 100644 Backend/Scripts/80Header60.txt delete mode 100644 Backend/Scripts/80Header61.txt delete mode 100644 Backend/Scripts/80Header62.txt delete mode 100644 Backend/Scripts/80Header63.txt delete mode 100644 Backend/Scripts/80Header7.txt delete mode 100644 Backend/Scripts/80Header8.txt delete mode 100644 Backend/Scripts/80Header9.txt diff --git a/Backend/Scripts/443Header.txt b/Backend/Scripts/443Header.txt deleted file mode 100644 index 1e15810..0000000 --- a/Backend/Scripts/443Header.txt +++ /dev/null @@ -1,14 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 1.0.0.95:443... -* Connected to 1.0.0.95 (1.0.0.95) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS alert, handshake failure (552): -{ [2 bytes data] -* OpenSSL/3.2.2: error:0A000410:SSL routines::ssl/tls alert handshake failure - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* closing connection #0 -curl: (35) OpenSSL/3.2.2: error:0A000410:SSL routines::ssl/tls alert handshake failure diff --git a/Backend/Scripts/443Header0.txt b/Backend/Scripts/443Header0.txt deleted file mode 100644 index fd770c7..0000000 --- a/Backend/Scripts/443Header0.txt +++ /dev/null @@ -1,68 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.151:443... -* Connected to 72.0.3.151 (72.0.3.151) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [75 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [3749 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [264 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS -* ALPN: server accepted h2 -* Server certificate: -* subject: C=US; ST=Georgia; L=Atlanta; O=Voya Services Company; OU=WebInfrastructure; CN=*.intg.voyaretirementplans.com -* start date: Jul 25 16:15:27 2024 GMT -* expire date: Jul 16 00:00:00 2026 GMT -* issuer: O=Voya Services Company; CN=Voya RSA Issuing CA 01 - G1 -* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using ecdsa-with-SHA384 -* Certificate level 2: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384 -* Certificate level 3: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384 -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://72.0.3.151/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 72.0.3.151] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 72.0.3.151 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [57 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0< HTTP/2 403 -< set-cookie: Apache=630256a.62e1f11799c73; path=/ -< content-type: text/html; charset=iso-8859-1 -< date: Fri, 14 Feb 2025 19:20:32 GMT -< server: Apache -< -{ [0 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 -* Connection #0 to host 72.0.3.151 left intact -HTTP/2 403 -set-cookie: Apache=630256a.62e1f11799c73; path=/ -content-type: text/html; charset=iso-8859-1 -date: Fri, 14 Feb 2025 19:20:32 GMT -server: Apache - diff --git a/Backend/Scripts/443Header1.txt b/Backend/Scripts/443Header1.txt deleted file mode 100644 index d74073f..0000000 --- a/Backend/Scripts/443Header1.txt +++ /dev/null @@ -1,60 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.0.75:443... -* Connected to 122.0.0.75 (122.0.0.75) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [85 bytes data] -* TLSv1.2 (IN), TLS handshake, Certificate (11): -{ [4480 bytes data] -* TLSv1.2 (IN), TLS handshake, Server key exchange (12): -{ [333 bytes data] -* TLSv1.2 (IN), TLS handshake, Server finished (14): -{ [4 bytes data] -* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): -} [70 bytes data] -* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.2 (OUT), TLS handshake, Finished (20): -} [16 bytes data] -* TLSv1.2 (IN), TLS handshake, Finished (20): -{ [16 bytes data] -* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption -* ALPN: server did not agree on a protocol. Uses default. -* Server certificate: -* subject: CN=*.mfa.go.th -* start date: Aug 26 04:13:36 2024 GMT -* expire date: Sep 27 04:13:35 2025 GMT -* issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign GCC R6 AlphaSSL CA 2023 -* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha384WithRSAEncryption -* using HTTP/1.x -} [5 bytes data] -> HEAD / HTTP/1.1 -> Host: 122.0.0.75 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -< HTTP/1.1 403 Forbidden -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Content-Type: text/html -< Content-Length: 141 -< Connection: keep-alive -< Allow: GET, POST -< - 0 141 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 122.0.0.75 left intact -HTTP/1.1 403 Forbidden -Date: Fri, 14 Feb 2025 19:20:38 GMT -Content-Type: text/html -Content-Length: 141 -Connection: keep-alive -Allow: GET, POST - diff --git a/Backend/Scripts/443Header10.txt b/Backend/Scripts/443Header10.txt deleted file mode 100644 index 8fda963..0000000 --- a/Backend/Scripts/443Header10.txt +++ /dev/null @@ -1,59 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.176:443... -* Connected to 72.0.3.176 (72.0.3.176) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [15 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [3702 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [264 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS -* ALPN: server accepted h2 -* Server certificate: -* subject: C=US; ST=Massachusetts; L=Quincy; O=Voya Institutional Plan Services, LLC; OU=WebInfrastructure; CN=*.intg.voyaplans.com -* start date: Jul 26 10:27:42 2024 GMT -* expire date: Jul 16 00:00:00 2026 GMT -* issuer: O=Voya Services Company; CN=Voya RSA Issuing CA 01 - G1 -* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using ecdsa-with-SHA384 -* Certificate level 2: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384 -* Certificate level 3: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384 -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://72.0.3.176/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 72.0.3.176] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 72.0.3.176 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [57 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [57 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* Connection #0 to host 72.0.3.176 left intact -curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/443Header11.txt b/Backend/Scripts/443Header11.txt deleted file mode 100644 index 9fc5b63..0000000 --- a/Backend/Scripts/443Header11.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.195:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header12.txt b/Backend/Scripts/443Header12.txt deleted file mode 100644 index 9dff6db..0000000 --- a/Backend/Scripts/443Header12.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.0.92:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header13.txt b/Backend/Scripts/443Header13.txt deleted file mode 100644 index f9e08a9..0000000 --- a/Backend/Scripts/443Header13.txt +++ /dev/null @@ -1,81 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.2:443... -* Connected to 168.0.0.2 (168.0.0.2) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [108 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.2 (IN), TLS handshake, Certificate (11): -{ [5659 bytes data] -* TLSv1.2 (IN), TLS handshake, Server key exchange (12): -{ [300 bytes data] -* TLSv1.2 (IN), TLS handshake, Request CERT (13): -{ [420 bytes data] -* TLSv1.2 (IN), TLS handshake, Server finished (14): -{ [4 bytes data] -* TLSv1.2 (OUT), TLS handshake, Certificate (11): -} [7 bytes data] -* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): -} [37 bytes data] -* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.2 (OUT), TLS handshake, Finished (20): -} [16 bytes data] -* TLSv1.2 (IN), TLS handshake, Finished (20): -{ [16 bytes data] -* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / x25519 / RSASSA-PSS -* ALPN: server accepted http/1.1 -* Server certificate: -* subject: CN=ixc.netguibor.com.br -* start date: Jul 25 00:00:00 2024 GMT -* expire date: Aug 1 23:59:59 2025 GMT -* issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA -* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha384WithRSAEncryption -* Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha384WithRSAEncryption -* Certificate level 3: Public key type RSA (2048/112 Bits/secBits), signed using sha1WithRSAEncryption -* using HTTP/1.x -} [5 bytes data] -> HEAD / HTTP/1.1 -> Host: 168.0.0.2 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -< HTTP/1.1 200 OK -< Server: nginx -< Date: Fri, 14 Feb 2025 19:20:39 GMT -< Content-Type: text/html; charset=ISO-8859-1 -< Connection: keep-alive -< Set-Cookie: PHPSESSID=02hoee5o39m1ia78okburjgr56; path=/ -< Set-Cookie: ixc_cli=d880aeebae5c4f346d379f3944ea2497; expires=Sat, 14-Feb-2026 19:20:39 GMT; Max-Age=31536000; path=/ -< Expires: Fri, 14 Feb 2025 18:20:39 GMT -< Last-Modified: Fri, 14 Feb 2025 19:20:39 GMT -< Cache-Control: no-cache, must-revalidate -< Pragma: no-cache -< X-Content-Type-Options: nosniff -< X-Frame-Options: SAMEORIGIN -< X-XSS-Protection: 1; mode=block -< - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 168.0.0.2 left intact -HTTP/1.1 200 OK -Server: nginx -Date: Fri, 14 Feb 2025 19:20:39 GMT -Content-Type: text/html; charset=ISO-8859-1 -Connection: keep-alive -Set-Cookie: PHPSESSID=02hoee5o39m1ia78okburjgr56; path=/ -Set-Cookie: ixc_cli=d880aeebae5c4f346d379f3944ea2497; expires=Sat, 14-Feb-2026 19:20:39 GMT; Max-Age=31536000; path=/ -Expires: Fri, 14 Feb 2025 18:20:39 GMT -Last-Modified: Fri, 14 Feb 2025 19:20:39 GMT -Cache-Control: no-cache, must-revalidate -Pragma: no-cache -X-Content-Type-Options: nosniff -X-Frame-Options: SAMEORIGIN -X-XSS-Protection: 1; mode=block - diff --git a/Backend/Scripts/443Header14.txt b/Backend/Scripts/443Header14.txt deleted file mode 100644 index a3857d4..0000000 --- a/Backend/Scripts/443Header14.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.147:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header15.txt b/Backend/Scripts/443Header15.txt deleted file mode 100644 index fc1d96c..0000000 --- a/Backend/Scripts/443Header15.txt +++ /dev/null @@ -1,12 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.1.49:443... -* Connected to 122.0.1.49 (122.0.1.49) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header16.txt b/Backend/Scripts/443Header16.txt deleted file mode 100644 index 108af4f..0000000 --- a/Backend/Scripts/443Header16.txt +++ /dev/null @@ -1,8 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 190.0.0.14:443... -* connect to 190.0.0.14 port 443 from 192.168.80.132 port 44664 failed: Connection refused -* Failed to connect to 190.0.0.14 port 443 after 184 ms: Could not connect to server - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* closing connection #0 -curl: (7) Failed to connect to 190.0.0.14 port 443 after 184 ms: Could not connect to server diff --git a/Backend/Scripts/443Header17.txt b/Backend/Scripts/443Header17.txt deleted file mode 100644 index 01dc5cb..0000000 --- a/Backend/Scripts/443Header17.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.102:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header18.txt b/Backend/Scripts/443Header18.txt deleted file mode 100644 index 5913f4d..0000000 --- a/Backend/Scripts/443Header18.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.37:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header19.txt b/Backend/Scripts/443Header19.txt deleted file mode 100644 index 978111f..0000000 --- a/Backend/Scripts/443Header19.txt +++ /dev/null @@ -1,60 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.18:443... -* Connected to 156.0.1.18 (156.0.1.18) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [15 bytes data] -* TLSv1.3 (IN), TLS handshake, Request CERT (13): -{ [564 bytes data] -* TLSv1.3 (IN), TLS handshake, Unknown (25): -{ [2075 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [79 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [36 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Certificate (11): -} [8 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [36 bytes data] -* SSL connection using TLSv1.3 / TLS_CHACHA20_POLY1305_SHA256 / x25519 / id-ecPublicKey -* ALPN: server accepted h2 -* Server certificate: -* subject: C=US; ST=California; L=Menlo Park; O=Meta Platforms, Inc.; CN=*.fmsu2-1.fna.fbcdn.net -* start date: Dec 20 00:00:00 2024 GMT -* expire date: Mar 20 23:59:59 2025 GMT -* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 High Assurance Server CA -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://156.0.1.18/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 156.0.1.18] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 156.0.1.18 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS alert, unknown (628): -{ [2 bytes data] -* OpenSSL SSL_read: OpenSSL/3.2.2: error:0A00045C:SSL routines::tlsv13 alert certificate required, errno 0 -* Failed receiving HTTP2 data: 56(Failure when receiving data from the peer) - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 156.0.1.18 left intact -curl: (56) OpenSSL SSL_read: OpenSSL/3.2.2: error:0A00045C:SSL routines::tlsv13 alert certificate required, errno 0 diff --git a/Backend/Scripts/443Header2.txt b/Backend/Scripts/443Header2.txt deleted file mode 100644 index c443bc0..0000000 --- a/Backend/Scripts/443Header2.txt +++ /dev/null @@ -1,70 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.33:443... -* Connected to 156.0.1.33 (156.0.1.33) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [15 bytes data] -* TLSv1.3 (IN), TLS handshake, Unknown (25): -{ [2075 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [78 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [36 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [36 bytes data] -* SSL connection using TLSv1.3 / TLS_CHACHA20_POLY1305_SHA256 / x25519 / id-ecPublicKey -* ALPN: server accepted h2 -* Server certificate: -* subject: C=US; ST=California; L=Menlo Park; O=Meta Platforms, Inc.; CN=*.fmsu2-1.fna.fbcdn.net -* start date: Dec 20 00:00:00 2024 GMT -* expire date: Mar 20 23:59:59 2025 GMT -* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 High Assurance Server CA -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://156.0.1.33/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 156.0.1.33] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 156.0.1.33 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [158 bytes data] -< HTTP/2 400 -< content-length: 2959 -< content-type: text/html; charset=utf-8 -< access-control-allow-origin: * -< x-fb-response-reason: default_vip_400 -< proxy-status: proxy_internal_response; e_isproxyerr="AcI5RvmM_P5aM4klg4C08vhDvlYNVAiLKHoe7n3ysUznudM7Je8CvAhFgYu0Vg"; e_fb_responsebytes="AcLJAAQ5ab_XPaf-z73sRql9_OmovQPBVqlS8AFvscXfT8i4EgbbcJaqsDQ2sg"; e_fb_requesttime="AcIrUXWfsrTLjC5hDcnih2CrEXCgGSph05cgBy4li2_ttfccocH2hP4JU8_h2eC0D4ykolr-jQ"; e_proxy="AcKYBts7ULt_5qq9Xd817_iMMYVOphaGguSI9WNDgw2qdUvqc3qoXoGKxpDppsQVzYkqYjwdMmOO"; e_fb_twtaskhandle="AcI9xBShDqOaFDLx1BpWue9GFEb18-rH1bsX4uUre-f7RbqCfMKruL9cg6ac5_GrCFx9KxDfLyGT1wfykSVTOy5sHmr64JfM"; e_fb_proxycode="AcLnrLHsVK_iOZmqiw6rTsFruys5BETq4xE9pWuP3Qw2PnfEGrL35yh-IKwL"; e_fb_requestsequencenumber="AcIfa-hpcrat2Mdc4YiE40Og9DwVuDDKVp5d93X-kWHnqHrMoA70oJxWzw"; e_fb_zone="AcKjTUbqEXCPxZxPnwe3pKJ1zKe6TrMvk_fZjSt8jVtSKcsvHvMPQ46mFRaG"; e_fb_binaryversion="AcIwL6MqC84myi4xgD3YxMtlyfd1tejVsj16LyXBMP2u3Jl8o_VZ0TYSJQ3O7psJ342Hnvn3DrPT6ivv1xJberBuf6mbfp2t32E"; e_fb_httpversion="AcK8_z60ivLKWfSzQWgj5dija1B_PY8dXR6TDFrRFyNKqi2aSXOyd0GPVmat"; e_fb_hostheader="AcLlq3Sm2lVtyf_fkskQm_I-zT8tES4c8oex-pIHPMsb-ISkcT4cJjkL5MEaTk67L4Cq3A"; e_fb_builduser="AcLlf-WKHqvZhc7qcWxsy9n2mOtiKzyPyrENWT7DkyKOXDbwCt_PlmvROsjBEWXgG7k"; e_fb_vipport="AcK9ryY83UIVHjgbWWVb3_3mvpcuZcRH0scT7LqaOAWru19pQibjz4w-39UB"; e_clientaddr="AcJ5obOHTryw_WiMorwKyFYVsqh9XGZud67P5DZhQykDcWy7SEG9sv-fRTy8SF1B0vXi8H827h2oyAwXrpI"; e_fb_vipaddr="AcINmhQuRG_P-eYttkvIUojfInQcu_atN11eLhm9d9IQx7q5nw6FoxbFZ-JSaAx2YTFCDQ"; e_fb_configversion="AcKzHeLiGQ143ZTw8BG2_A4T89WbIcw0ylTh06FibEVhpIrywHCgrAEhjAISqA" -< date: Fri, 14 Feb 2025 19:20:38 GMT -< -{ [5 bytes data] - 0 2959 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 156.0.1.33 left intact -HTTP/2 400 -content-length: 2959 -content-type: text/html; charset=utf-8 -access-control-allow-origin: * -x-fb-response-reason: default_vip_400 -proxy-status: proxy_internal_response; e_isproxyerr="AcI5RvmM_P5aM4klg4C08vhDvlYNVAiLKHoe7n3ysUznudM7Je8CvAhFgYu0Vg"; e_fb_responsebytes="AcLJAAQ5ab_XPaf-z73sRql9_OmovQPBVqlS8AFvscXfT8i4EgbbcJaqsDQ2sg"; e_fb_requesttime="AcIrUXWfsrTLjC5hDcnih2CrEXCgGSph05cgBy4li2_ttfccocH2hP4JU8_h2eC0D4ykolr-jQ"; e_proxy="AcKYBts7ULt_5qq9Xd817_iMMYVOphaGguSI9WNDgw2qdUvqc3qoXoGKxpDppsQVzYkqYjwdMmOO"; e_fb_twtaskhandle="AcI9xBShDqOaFDLx1BpWue9GFEb18-rH1bsX4uUre-f7RbqCfMKruL9cg6ac5_GrCFx9KxDfLyGT1wfykSVTOy5sHmr64JfM"; e_fb_proxycode="AcLnrLHsVK_iOZmqiw6rTsFruys5BETq4xE9pWuP3Qw2PnfEGrL35yh-IKwL"; e_fb_requestsequencenumber="AcIfa-hpcrat2Mdc4YiE40Og9DwVuDDKVp5d93X-kWHnqHrMoA70oJxWzw"; e_fb_zone="AcKjTUbqEXCPxZxPnwe3pKJ1zKe6TrMvk_fZjSt8jVtSKcsvHvMPQ46mFRaG"; e_fb_binaryversion="AcIwL6MqC84myi4xgD3YxMtlyfd1tejVsj16LyXBMP2u3Jl8o_VZ0TYSJQ3O7psJ342Hnvn3DrPT6ivv1xJberBuf6mbfp2t32E"; e_fb_httpversion="AcK8_z60ivLKWfSzQWgj5dija1B_PY8dXR6TDFrRFyNKqi2aSXOyd0GPVmat"; e_fb_hostheader="AcLlq3Sm2lVtyf_fkskQm_I-zT8tES4c8oex-pIHPMsb-ISkcT4cJjkL5MEaTk67L4Cq3A"; e_fb_builduser="AcLlf-WKHqvZhc7qcWxsy9n2mOtiKzyPyrENWT7DkyKOXDbwCt_PlmvROsjBEWXgG7k"; e_fb_vipport="AcK9ryY83UIVHjgbWWVb3_3mvpcuZcRH0scT7LqaOAWru19pQibjz4w-39UB"; e_clientaddr="AcJ5obOHTryw_WiMorwKyFYVsqh9XGZud67P5DZhQykDcWy7SEG9sv-fRTy8SF1B0vXi8H827h2oyAwXrpI"; e_fb_vipaddr="AcINmhQuRG_P-eYttkvIUojfInQcu_atN11eLhm9d9IQx7q5nw6FoxbFZ-JSaAx2YTFCDQ"; e_fb_configversion="AcKzHeLiGQ143ZTw8BG2_A4T89WbIcw0ylTh06FibEVhpIrywHCgrAEhjAISqA" -date: Fri, 14 Feb 2025 19:20:38 GMT - diff --git a/Backend/Scripts/443Header20.txt b/Backend/Scripts/443Header20.txt deleted file mode 100644 index be24c38..0000000 --- a/Backend/Scripts/443Header20.txt +++ /dev/null @@ -1,8 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.49:443... -* connect to 188.0.0.49 port 443 from 192.168.80.132 port 50014 failed: Connection refused -* Failed to connect to 188.0.0.49 port 443 after 103 ms: Could not connect to server - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* closing connection #0 -curl: (7) Failed to connect to 188.0.0.49 port 443 after 103 ms: Could not connect to server diff --git a/Backend/Scripts/443Header21.txt b/Backend/Scripts/443Header21.txt deleted file mode 100644 index 71ed032..0000000 --- a/Backend/Scripts/443Header21.txt +++ /dev/null @@ -1,74 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 130.0.0.10:443... -* Connected to 130.0.0.10 (130.0.0.10) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [15 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [2698 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [392 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS -* ALPN: server accepted h2 -* Server certificate: -* subject: CN=*.asptech.net -* start date: Jan 28 11:36:15 2025 GMT -* expire date: Apr 28 11:36:14 2025 GMT -* issuer: C=US; O=Let's Encrypt; CN=R11 -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type RSA (3072/128 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://130.0.0.10/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 130.0.0.10] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 130.0.0.10 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [81 bytes data] -< HTTP/2 200 -< content-length: 703 -< content-type: text/html -< last-modified: Mon, 08 Jan 2024 14:42:56 GMT -< accept-ranges: bytes -< etag: "5a73def74042da1:0" -< server: Microsoft-IIS/10.0 -< x-powered-by: ASP.NET -< date: Fri, 14 Feb 2025 19:20:41 GMT -< -{ [0 bytes data] - 0 703 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 130.0.0.10 left intact -HTTP/2 200 -content-length: 703 -content-type: text/html -last-modified: Mon, 08 Jan 2024 14:42:56 GMT -accept-ranges: bytes -etag: "5a73def74042da1:0" -server: Microsoft-IIS/10.0 -x-powered-by: ASP.NET -date: Fri, 14 Feb 2025 19:20:41 GMT - diff --git a/Backend/Scripts/443Header22.txt b/Backend/Scripts/443Header22.txt deleted file mode 100644 index 5f560b3..0000000 --- a/Backend/Scripts/443Header22.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 128.0.2.1:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header23.txt b/Backend/Scripts/443Header23.txt deleted file mode 100644 index 58e2604..0000000 --- a/Backend/Scripts/443Header23.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.94:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header24.txt b/Backend/Scripts/443Header24.txt deleted file mode 100644 index f0e9d92..0000000 --- a/Backend/Scripts/443Header24.txt +++ /dev/null @@ -1,8 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.14:443... -* connect to 168.0.0.14 port 443 from 192.168.80.132 port 51910 failed: Connection refused -* Failed to connect to 168.0.0.14 port 443 after 210 ms: Could not connect to server - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* closing connection #0 -curl: (7) Failed to connect to 168.0.0.14 port 443 after 210 ms: Could not connect to server diff --git a/Backend/Scripts/443Header25.txt b/Backend/Scripts/443Header25.txt deleted file mode 100644 index fe87099..0000000 --- a/Backend/Scripts/443Header25.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.20:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header26.txt b/Backend/Scripts/443Header26.txt deleted file mode 100644 index 026a569..0000000 --- a/Backend/Scripts/443Header26.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 154.0.1.30:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header27.txt b/Backend/Scripts/443Header27.txt deleted file mode 100644 index 7acb386..0000000 --- a/Backend/Scripts/443Header27.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.160:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header28.txt b/Backend/Scripts/443Header28.txt deleted file mode 100644 index 70f5d0c..0000000 --- a/Backend/Scripts/443Header28.txt +++ /dev/null @@ -1,12 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.1.60:443... -* Connected to 122.0.1.60 (122.0.1.60) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header29.txt b/Backend/Scripts/443Header29.txt deleted file mode 100644 index af49981..0000000 --- a/Backend/Scripts/443Header29.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.248:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header3.txt b/Backend/Scripts/443Header3.txt deleted file mode 100644 index 1901cf1..0000000 --- a/Backend/Scripts/443Header3.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 154.0.1.82:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header30.txt b/Backend/Scripts/443Header30.txt deleted file mode 100644 index 0383c46..0000000 --- a/Backend/Scripts/443Header30.txt +++ /dev/null @@ -1,66 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.94:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0* Connected to 152.0.1.94 (152.0.1.94) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [89 bytes data] -* TLSv1.2 (IN), TLS handshake, Certificate (11): -{ [1014 bytes data] -* TLSv1.2 (IN), TLS handshake, Server key exchange (12): -{ [333 bytes data] -* TLSv1.2 (IN), TLS handshake, Server finished (14): -{ [4 bytes data] -* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): -} [70 bytes data] -* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.2 (OUT), TLS handshake, Finished (20): -} [16 bytes data] -* TLSv1.2 (IN), TLS handshake, Finished (20): -{ [16 bytes data] -* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption -* ALPN: server did not agree on a protocol. Uses default. -* Server certificate: -* subject: C=CN; ST=JiangSu; L=Nanjing; O=ZTE; OU=FN Nanjing Software Development Dept III; CN=192.168.1.1; emailAddress=zane@zte.com.cn -* start date: Jul 13 01:32:15 2016 GMT -* expire date: Jul 10 01:32:15 2031 GMT -* issuer: C=CN; ST=GuangDong; L=Shenzhen; O=ZTE; OU=Wireline Product R&D Institute; CN=ZTE-ROOT-CA; emailAddress=zane@zte.com.cn -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha512WithRSAEncryption -* using HTTP/1.x - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0} [5 bytes data] -> HEAD / HTTP/1.1 -> Host: 152.0.1.94 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -< HTTP/1.1 400 Bad Request -< Server: ZTE web server 1.0 ZTE corp 2015. -< Accept-Ranges: bytes -< Connection: close -< X-Frame-Options: SAMEORIGIN -< Content-Type: text/html; charset=iso-8859-1 -< X-Content-Type-Options: nosniff -< Cache-Control: no-cache,no-store -< -{ [1165 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 -* shutting down connection #0 -} [5 bytes data] -* TLSv1.2 (OUT), TLS alert, close notify (256): -} [2 bytes data] -HTTP/1.1 400 Bad Request -Server: ZTE web server 1.0 ZTE corp 2015. -Accept-Ranges: bytes -Connection: close -X-Frame-Options: SAMEORIGIN -Content-Type: text/html; charset=iso-8859-1 -X-Content-Type-Options: nosniff -Cache-Control: no-cache,no-store - diff --git a/Backend/Scripts/443Header31.txt b/Backend/Scripts/443Header31.txt deleted file mode 100644 index 3885989..0000000 --- a/Backend/Scripts/443Header31.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.14:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header32.txt b/Backend/Scripts/443Header32.txt deleted file mode 100644 index 57a2bda..0000000 --- a/Backend/Scripts/443Header32.txt +++ /dev/null @@ -1,60 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.0.80:443... -* Connected to 122.0.0.80 (122.0.0.80) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [85 bytes data] -* TLSv1.2 (IN), TLS handshake, Certificate (11): -{ [4480 bytes data] -* TLSv1.2 (IN), TLS handshake, Server key exchange (12): -{ [333 bytes data] -* TLSv1.2 (IN), TLS handshake, Server finished (14): -{ [4 bytes data] -* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): -} [70 bytes data] -* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.2 (OUT), TLS handshake, Finished (20): -} [16 bytes data] -* TLSv1.2 (IN), TLS handshake, Finished (20): -{ [16 bytes data] -* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption -* ALPN: server did not agree on a protocol. Uses default. -* Server certificate: -* subject: CN=*.mfa.go.th -* start date: Aug 26 04:13:36 2024 GMT -* expire date: Sep 27 04:13:35 2025 GMT -* issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign GCC R6 AlphaSSL CA 2023 -* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha384WithRSAEncryption -* using HTTP/1.x -} [5 bytes data] -> HEAD / HTTP/1.1 -> Host: 122.0.0.80 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -< HTTP/1.1 403 Forbidden -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Content-Type: text/html -< Content-Length: 141 -< Connection: keep-alive -< Allow: GET, POST -< - 0 141 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 122.0.0.80 left intact -HTTP/1.1 403 Forbidden -Date: Fri, 14 Feb 2025 19:20:38 GMT -Content-Type: text/html -Content-Length: 141 -Connection: keep-alive -Allow: GET, POST - diff --git a/Backend/Scripts/443Header33.txt b/Backend/Scripts/443Header33.txt deleted file mode 100644 index f646b35..0000000 --- a/Backend/Scripts/443Header33.txt +++ /dev/null @@ -1,60 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.24:443... -* Connected to 156.0.1.24 (156.0.1.24) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [15 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [2708 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [79 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [36 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [36 bytes data] -* SSL connection using TLSv1.3 / TLS_CHACHA20_POLY1305_SHA256 / x25519 / id-ecPublicKey -* ALPN: server accepted h2 -* Server certificate: -* subject: CN=svc:ti.shiv.synthetic_e2e -* start date: Jan 28 22:32:53 2025 GMT -* expire date: Mar 30 18:33:03 2025 GMT -* issuer: CN=Facebook Rootcanal Prod Intermediate (e=3) CA 2023-10; C=US; ST=California; L=Menlo Park; O=Meta Platforms Inc. -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://156.0.1.24/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 156.0.1.24] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 156.0.1.24 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [160 bytes data] -< HTTP/2 400 -< date: Fri, 14 Feb 2025 19:20:48 GMT -< -{ [0 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 156.0.1.24 left intact -HTTP/2 400 -date: Fri, 14 Feb 2025 19:20:48 GMT - diff --git a/Backend/Scripts/443Header34.txt b/Backend/Scripts/443Header34.txt deleted file mode 100644 index 42c8800..0000000 --- a/Backend/Scripts/443Header34.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.92:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header35.txt b/Backend/Scripts/443Header35.txt deleted file mode 100644 index cb5a2af..0000000 --- a/Backend/Scripts/443Header35.txt +++ /dev/null @@ -1,70 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 88.0.0.187:443... -* Connected to 88.0.0.187 (88.0.0.187) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [81 bytes data] -* TLSv1.2 (IN), TLS handshake, Certificate (11): -{ [927 bytes data] -* TLSv1.2 (IN), TLS handshake, Server finished (14): -{ [4 bytes data] -* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): -} [262 bytes data] -* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.2 (OUT), TLS handshake, Finished (20): -} [16 bytes data] -* TLSv1.2 (IN), TLS handshake, Finished (20): -{ [16 bytes data] -* SSL connection using TLSv1.2 / AES256-GCM-SHA384 / [blank] / UNDEF -* ALPN: server did not agree on a protocol. Uses default. -* Server certificate: -* subject: C=TW; ST=XZ; L=XZ; O=MitraStar; OU=CPE; CN=192.168.1.1 -* start date: Jan 1 00:01:01 2015 GMT -* expire date: Dec 27 00:01:01 2034 GMT -* issuer: C=TW; ST=XZ; L=XZ; O=MitraStar; OU=CPE; CN=192.168.1.1 -* SSL certificate verify result: self-signed certificate (18), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* using HTTP/1.x -} [5 bytes data] -> HEAD / HTTP/1.1 -> Host: 88.0.0.187 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -< HTTP/1.1 302 Found -< Server: mini_httpd/1.27 07Mar2017 -< Date: Fri, 14 Feb 2025 20:20:20 GMT -< X-Frame-Options: SAMEORIGIN -< Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval';style-src 'self' 'unsafe-inline' -< X-Content-Type-Options: nosniff -< X-XSS-Protection: 1; mode=block -< Strict-Transport-Security: max-age=31536000; includeSubDomains -< Location: /cgi-bin/mhs/html/logIn_mhs.asp -< Content-Type: text/html; charset=%s -< Connection: close -< -{ [473 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -} [5 bytes data] -* TLSv1.2 (OUT), TLS alert, close notify (256): -} [2 bytes data] -HTTP/1.1 302 Found -Server: mini_httpd/1.27 07Mar2017 -Date: Fri, 14 Feb 2025 20:20:20 GMT -X-Frame-Options: SAMEORIGIN -Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval';style-src 'self' 'unsafe-inline' -X-Content-Type-Options: nosniff -X-XSS-Protection: 1; mode=block -Strict-Transport-Security: max-age=31536000; includeSubDomains -Location: /cgi-bin/mhs/html/logIn_mhs.asp -Content-Type: text/html; charset=%s -Connection: close - diff --git a/Backend/Scripts/443Header36.txt b/Backend/Scripts/443Header36.txt deleted file mode 100644 index 82d6fef..0000000 --- a/Backend/Scripts/443Header36.txt +++ /dev/null @@ -1,77 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.137:443... -* Connected to 152.0.0.137 (152.0.0.137) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [88 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [187 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [21 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [3195 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [264 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / secp384r1 / RSASSA-PSS -* ALPN: server accepted http/1.1 -* Server certificate: -* subject: CN=*.rehabilitacion.org.do -* start date: Oct 12 00:00:00 2023 GMT -* expire date: Oct 12 23:59:59 2024 GMT -* issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha384WithRSAEncryption -* using HTTP/1.x -} [5 bytes data] -> HEAD / HTTP/1.1 -> Host: 152.0.0.137 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [265 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [265 bytes data] -< HTTP/1.1 403 Forbidden -< Date: Fri, 14 Feb 2025 19:20:46 GMT -< Content-Type: text/html -< Content-Length: 134 -< Connection: keep-alive -< X-Frame-Options: SAMEORIGIN -< X-XSS-Protection: 1; mode=block -< X-Content-Type-Options: nosniff -< Strict-Transport-Security: max-age=31536000 -< Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'self'; media-src 'self'; child-src 'self' -< X-Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'self'; media-src 'self'; child-src 'self' -< X-Webkit-CSP: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'self'; media-src 'self'; child-src 'self' -< - 0 134 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 152.0.0.137 left intact -HTTP/1.1 403 Forbidden -Date: Fri, 14 Feb 2025 19:20:46 GMT -Content-Type: text/html -Content-Length: 134 -Connection: keep-alive -X-Frame-Options: SAMEORIGIN -X-XSS-Protection: 1; mode=block -X-Content-Type-Options: nosniff -Strict-Transport-Security: max-age=31536000 -Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'self'; media-src 'self'; child-src 'self' -X-Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'self'; media-src 'self'; child-src 'self' -X-Webkit-CSP: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self'; object-src 'self'; media-src 'self'; child-src 'self' - diff --git a/Backend/Scripts/443Header37.txt b/Backend/Scripts/443Header37.txt deleted file mode 100644 index dc21f43..0000000 --- a/Backend/Scripts/443Header37.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.103:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header38.txt b/Backend/Scripts/443Header38.txt deleted file mode 100644 index efec523..0000000 --- a/Backend/Scripts/443Header38.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.194:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header39.txt b/Backend/Scripts/443Header39.txt deleted file mode 100644 index 55141af..0000000 --- a/Backend/Scripts/443Header39.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.37:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header4.txt b/Backend/Scripts/443Header4.txt deleted file mode 100644 index 1f33371..0000000 --- a/Backend/Scripts/443Header4.txt +++ /dev/null @@ -1,70 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.42:443... -* Connected to 156.0.1.42 (156.0.1.42) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [15 bytes data] -* TLSv1.3 (IN), TLS handshake, Unknown (25): -{ [2075 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [80 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [36 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [36 bytes data] -* SSL connection using TLSv1.3 / TLS_CHACHA20_POLY1305_SHA256 / x25519 / id-ecPublicKey -* ALPN: server accepted h2 -* Server certificate: -* subject: C=US; ST=California; L=Menlo Park; O=Meta Platforms, Inc.; CN=*.fmsu2-1.fna.fbcdn.net -* start date: Dec 20 00:00:00 2024 GMT -* expire date: Mar 20 23:59:59 2025 GMT -* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 High Assurance Server CA -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://156.0.1.42/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 156.0.1.42] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 156.0.1.42 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [166 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0< HTTP/2 400 -< content-length: 2959 -< content-type: text/html; charset=utf-8 -< access-control-allow-origin: * -< x-fb-response-reason: default_vip_400 -< proxy-status: proxy_internal_response; e_isproxyerr="AcJjYAdem1LhozKWTb8XcPMq756fqO4vRG1K71UDrdc3NYLBMbEXKLW6Y2G2lA"; e_fb_responsebytes="AcL7KCnq_TZggxb402KeWzLMnSgG8tjEMdefgSRZCcy1xn-7ojc-XM3WRLh28A"; e_fb_requesttime="AcJapF0xZ4uH4YzHAcTqCpv5YE52bYbLylXxYxsTwwsXBLZ70v3FyHcbH8VpIal0ZAXwAKgJyQ"; e_proxy="AcIx4GTcoHfS4dzoQ9ohnREPllMJy6BCizWWoIERchd3XE5A0ZgFLT0FNj-nIzK2KRq-9pXqvG6Q"; e_fb_twtaskhandle="AcI9PL27lA_xu6_LDHJsfEhGteb8F-93aaSNMZ770okka_9YeP57l4_mZ-3uDMOKiXAdWSnfn5gw0WFfBAFletQ85bj9mzg7"; e_fb_proxycode="AcLnC397Y6EUJyAKh5cmeunZ1lJXjcx2qv7wOkGkm-aAfVMv_6SuXmSJMSMy"; e_fb_requestsequencenumber="AcL-ExYURXdwz-nWpIow0TNH5tvoFOjXw8xuAU-AuBUTUKJFAtWGabP5eA"; e_fb_zone="AcJI94JVafkZn5JZaROQDyjVGz7GiTNz-TKXxr3aSCu_uWWU0LRQnAxQ2FVA"; e_fb_binaryversion="AcJoIzx9W-tiUpKzL8BoDR4VPU4I1Uj1kSyap66arrMPYamZIHVBXJSh0_mmhwNnoWtHJZnRAik0P5vy2s3S_2sJTQFqcJECXE0"; e_fb_httpversion="AcIZYHISPVecgk08JHGU_K1CgZuUyQVVd7hmr-tIApRVXPytsN8DWDOdDLyH"; e_fb_hostheader="AcK0i2yLE_2UUL6xYV3-zJn_r0uGqWLsjT20Gc8yhiTfmqvbWEsbswG71Qf-7g95BU-E7g"; e_fb_builduser="AcLN5IyubcEN9gHkPMPDyQYQEi_JXBabCPVG6ZBEjd8zq1DI4eGgxMcF287fYGQUwPs"; e_fb_vipport="AcJ6mVDk4SkPYaCPE2TC6JGef5CR5oTQ7-mb_k-Js85WaWcyfMAkZi79-KRV"; e_clientaddr="AcLWjMgZs5yLL1RDF_pxep6RpAZnEx3oTOTRiUzsiqIPHKn6o8nAIJ1t2RDvBR3bMurEs86yznwZCagLOmU"; e_fb_vipaddr="AcIS16DikVcjGwEkn6cie-ff3vLLTQT04wAVA-4JA8bAevrlsRsbagYVb3nJbSYiD2hJ_Q"; e_fb_configversion="AcKsN2J7IcYo2Suws1Tu0q80jzlfZn5ZMu6KCJ_EnbMz2xL1e9ZJ1N8mNLxfTg" -< date: Fri, 14 Feb 2025 19:20:39 GMT -< -{ [5 bytes data] - 0 2959 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 156.0.1.42 left intact -HTTP/2 400 -content-length: 2959 -content-type: text/html; charset=utf-8 -access-control-allow-origin: * -x-fb-response-reason: default_vip_400 -proxy-status: proxy_internal_response; e_isproxyerr="AcJjYAdem1LhozKWTb8XcPMq756fqO4vRG1K71UDrdc3NYLBMbEXKLW6Y2G2lA"; e_fb_responsebytes="AcL7KCnq_TZggxb402KeWzLMnSgG8tjEMdefgSRZCcy1xn-7ojc-XM3WRLh28A"; e_fb_requesttime="AcJapF0xZ4uH4YzHAcTqCpv5YE52bYbLylXxYxsTwwsXBLZ70v3FyHcbH8VpIal0ZAXwAKgJyQ"; e_proxy="AcIx4GTcoHfS4dzoQ9ohnREPllMJy6BCizWWoIERchd3XE5A0ZgFLT0FNj-nIzK2KRq-9pXqvG6Q"; e_fb_twtaskhandle="AcI9PL27lA_xu6_LDHJsfEhGteb8F-93aaSNMZ770okka_9YeP57l4_mZ-3uDMOKiXAdWSnfn5gw0WFfBAFletQ85bj9mzg7"; e_fb_proxycode="AcLnC397Y6EUJyAKh5cmeunZ1lJXjcx2qv7wOkGkm-aAfVMv_6SuXmSJMSMy"; e_fb_requestsequencenumber="AcL-ExYURXdwz-nWpIow0TNH5tvoFOjXw8xuAU-AuBUTUKJFAtWGabP5eA"; e_fb_zone="AcJI94JVafkZn5JZaROQDyjVGz7GiTNz-TKXxr3aSCu_uWWU0LRQnAxQ2FVA"; e_fb_binaryversion="AcJoIzx9W-tiUpKzL8BoDR4VPU4I1Uj1kSyap66arrMPYamZIHVBXJSh0_mmhwNnoWtHJZnRAik0P5vy2s3S_2sJTQFqcJECXE0"; e_fb_httpversion="AcIZYHISPVecgk08JHGU_K1CgZuUyQVVd7hmr-tIApRVXPytsN8DWDOdDLyH"; e_fb_hostheader="AcK0i2yLE_2UUL6xYV3-zJn_r0uGqWLsjT20Gc8yhiTfmqvbWEsbswG71Qf-7g95BU-E7g"; e_fb_builduser="AcLN5IyubcEN9gHkPMPDyQYQEi_JXBabCPVG6ZBEjd8zq1DI4eGgxMcF287fYGQUwPs"; e_fb_vipport="AcJ6mVDk4SkPYaCPE2TC6JGef5CR5oTQ7-mb_k-Js85WaWcyfMAkZi79-KRV"; e_clientaddr="AcLWjMgZs5yLL1RDF_pxep6RpAZnEx3oTOTRiUzsiqIPHKn6o8nAIJ1t2RDvBR3bMurEs86yznwZCagLOmU"; e_fb_vipaddr="AcIS16DikVcjGwEkn6cie-ff3vLLTQT04wAVA-4JA8bAevrlsRsbagYVb3nJbSYiD2hJ_Q"; e_fb_configversion="AcKsN2J7IcYo2Suws1Tu0q80jzlfZn5ZMu6KCJ_EnbMz2xL1e9ZJ1N8mNLxfTg" -date: Fri, 14 Feb 2025 19:20:39 GMT - diff --git a/Backend/Scripts/443Header40.txt b/Backend/Scripts/443Header40.txt deleted file mode 100644 index 94e3450..0000000 --- a/Backend/Scripts/443Header40.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.93:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header41.txt b/Backend/Scripts/443Header41.txt deleted file mode 100644 index b5074a9..0000000 --- a/Backend/Scripts/443Header41.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.32:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header42.txt b/Backend/Scripts/443Header42.txt deleted file mode 100644 index b353587..0000000 --- a/Backend/Scripts/443Header42.txt +++ /dev/null @@ -1,57 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 136.0.1.14:443... -* Connected to 136.0.1.14 (136.0.1.14) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [15 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [2033 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [79 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / id-ecPublicKey -* ALPN: server accepted h2 -* Server certificate: -* subject: CN=www.luo7731.top -* start date: Jan 19 08:54:39 2025 GMT -* expire date: Apr 19 08:54:38 2025 GMT -* issuer: C=US; O=Let's Encrypt; CN=E5 -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384 -* Certificate level 1: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using sha256WithRSAEncryption -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://136.0.1.14/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 136.0.1.14] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 136.0.1.14 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [57 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [57 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* Connection #0 to host 136.0.1.14 left intact -curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/443Header43.txt b/Backend/Scripts/443Header43.txt deleted file mode 100644 index f944f45..0000000 --- a/Backend/Scripts/443Header43.txt +++ /dev/null @@ -1,49 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 128.0.1.107:443... -* Connected to 128.0.1.107 (128.0.1.107) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [21 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [2628 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [264 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS -* ALPN: server accepted http/1.1 -* Server certificate: -* subject: CN=www.truvanetwork.com -* start date: Feb 6 16:50:42 2025 GMT -* expire date: May 7 16:50:41 2025 GMT -* issuer: C=US; O=Let's Encrypt; CN=R10 -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* using HTTP/1.x -} [5 bytes data] -> HEAD / HTTP/1.1 -> Host: 128.0.1.107 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [265 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [265 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/443Header44.txt b/Backend/Scripts/443Header44.txt deleted file mode 100644 index a7e08d3..0000000 --- a/Backend/Scripts/443Header44.txt +++ /dev/null @@ -1,56 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.174:443... -* Connected to 72.0.3.174 (72.0.3.174) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [75 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [3749 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [264 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS -* ALPN: server accepted h2 -* Server certificate: -* subject: C=US; ST=Georgia; L=Atlanta; O=Voya Services Company; CN=*.intg.mypenpay.com -* start date: Jun 26 00:00:00 2024 GMT -* expire date: Jul 27 23:59:59 2025 GMT -* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=Thawte TLS RSA CA G1 -* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 2: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://72.0.3.174/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 72.0.3.174] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 72.0.3.174 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [57 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* Connection #0 to host 72.0.3.174 left intact -curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/443Header45.txt b/Backend/Scripts/443Header45.txt deleted file mode 100644 index 65aba3a..0000000 --- a/Backend/Scripts/443Header45.txt +++ /dev/null @@ -1,8 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.65:443... -* connect to 188.0.0.65 port 443 from 192.168.80.132 port 33322 failed: Connection refused -* Failed to connect to 188.0.0.65 port 443 after 103 ms: Could not connect to server - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* closing connection #0 -curl: (7) Failed to connect to 188.0.0.65 port 443 after 103 ms: Could not connect to server diff --git a/Backend/Scripts/443Header46.txt b/Backend/Scripts/443Header46.txt deleted file mode 100644 index cbeb175..0000000 --- a/Backend/Scripts/443Header46.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.89:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header47.txt b/Backend/Scripts/443Header47.txt deleted file mode 100644 index 237e5f1..0000000 --- a/Backend/Scripts/443Header47.txt +++ /dev/null @@ -1,8 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.10:443... -* connect to 168.0.0.10 port 443 from 192.168.80.132 port 40642 failed: Connection refused -* Failed to connect to 168.0.0.10 port 443 after 211 ms: Could not connect to server - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* closing connection #0 -curl: (7) Failed to connect to 168.0.0.10 port 443 after 211 ms: Could not connect to server diff --git a/Backend/Scripts/443Header48.txt b/Backend/Scripts/443Header48.txt deleted file mode 100644 index 0fb6315..0000000 --- a/Backend/Scripts/443Header48.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.0.141:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header49.txt b/Backend/Scripts/443Header49.txt deleted file mode 100644 index 990fbf2..0000000 --- a/Backend/Scripts/443Header49.txt +++ /dev/null @@ -1,70 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.43:443... -* Connected to 156.0.1.43 (156.0.1.43) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [15 bytes data] -* TLSv1.3 (IN), TLS handshake, Unknown (25): -{ [2075 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [80 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [36 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [36 bytes data] -* SSL connection using TLSv1.3 / TLS_CHACHA20_POLY1305_SHA256 / x25519 / id-ecPublicKey -* ALPN: server accepted h2 -* Server certificate: -* subject: C=US; ST=California; L=Menlo Park; O=Meta Platforms, Inc.; CN=*.fmsu2-1.fna.fbcdn.net -* start date: Dec 20 00:00:00 2024 GMT -* expire date: Mar 20 23:59:59 2025 GMT -* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 High Assurance Server CA -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://156.0.1.43/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 156.0.1.43] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 156.0.1.43 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [158 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0< HTTP/2 400 -< content-length: 2959 -< content-type: text/html; charset=utf-8 -< access-control-allow-origin: * -< x-fb-response-reason: default_vip_400 -< proxy-status: proxy_internal_response; e_isproxyerr="AcJO_3-wCCMXHqkATS8EBVSuCktRLDS4lp8g-Pd6a6EJkCSKTBBOquB_OvU9aw"; e_fb_responsebytes="AcIxeaCZfpcv4D2h4h61HzL-krdmGHePJ7yJebQlE2o2Jt5LuYM4croy7Iteiw"; e_fb_requesttime="AcIykIaGQnWvcGC6qVvALtyYpmmtoSXaO5wBXBwKaOdYC4vOhs4yo731uvBRg7AMmYT-bi5nQg"; e_proxy="AcIRmo5lFg4CS88qQH1yQuuDfTMwGuVRZ8voftdrEJfWk1Oqb64PirUUoF0t9XqxcDfo3HhSuD-I"; e_fb_twtaskhandle="AcIuVdCnTPfoOGOAAwGSazTH9JSb9WAYww-ovkYMq0CUYSoBNdaQxeoAFbCMYx94eGmx7MitWiMfubzlhnpjAEv_MuxMRCeg"; e_fb_proxycode="AcKvuHB2-5ud1Yx9Om3fahCiUaAoOVposiqSFJvVS7LKIz0eCD_2OEPbdELB"; e_fb_requestsequencenumber="AcKGPRuFvr8kK72v2_zYfUh_fzAjQTV-gaGME6fCiSYTVDWCmGONJN80ww"; e_fb_zone="AcLxNm6xDOC17hfK61-TMmhKx2ygwGEz-YKc1kEh36e2DumZrzvT2dFLMsB4"; e_fb_binaryversion="AcIC1gLg_59rcl0IxOVzK97PSeHBcK7tZzdQMxUgqSCxwK2NkyaSQmr5OkbXYl5-iUL71i27udUyxJObibe8j6k5Og1q72JQmLc"; e_fb_httpversion="AcJdg65PZkzBMAt-XgTvfyRnhXqzkabw0Qp9On_tmYs5Jyg6BZMwqPI2YNsu"; e_fb_hostheader="AcLWKfygb9DIpRDsfY5xSDsjQyL_6fPIpskp9tAZljcLDwdVI_ugk3f7sAH4xk1_SgmW3Q"; e_fb_builduser="AcKeTEJ4NCPjIXJTi6tLgnkduMe6zfHPPEAf37mnhW5_tNMTgVF2iL7w7nzqLFwLHaw"; e_fb_vipport="AcLOSHSkkcMzUIBHxrn3PFGBoU6nYA_IYBIDKzl7Nax0iTMLLfXWv1WnZQNw"; e_clientaddr="AcJP9BjTAzFLMwInEh63u-XpzDfpHoeGEWu-c5DKh_5BP2RbgG6YBcTyfb3oZyaK2xIBeFYX5ctJ0HmThVU"; e_fb_vipaddr="AcIvCFNadmYnRdfrYGBODpMPv-nSflowY_80s23FdHgEGeIwsPxJ8rAfdC6B934iaWHUuw"; e_fb_configversion="AcLC-iQkrKk933fe-_nTSVPlQicJ6SKk8uRKp5Z2lgaNzDCJ3BITw9kgj6Iuxg" -< date: Fri, 14 Feb 2025 19:20:39 GMT -< -{ [5 bytes data] - 0 2959 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 156.0.1.43 left intact -HTTP/2 400 -content-length: 2959 -content-type: text/html; charset=utf-8 -access-control-allow-origin: * -x-fb-response-reason: default_vip_400 -proxy-status: proxy_internal_response; e_isproxyerr="AcJO_3-wCCMXHqkATS8EBVSuCktRLDS4lp8g-Pd6a6EJkCSKTBBOquB_OvU9aw"; e_fb_responsebytes="AcIxeaCZfpcv4D2h4h61HzL-krdmGHePJ7yJebQlE2o2Jt5LuYM4croy7Iteiw"; e_fb_requesttime="AcIykIaGQnWvcGC6qVvALtyYpmmtoSXaO5wBXBwKaOdYC4vOhs4yo731uvBRg7AMmYT-bi5nQg"; e_proxy="AcIRmo5lFg4CS88qQH1yQuuDfTMwGuVRZ8voftdrEJfWk1Oqb64PirUUoF0t9XqxcDfo3HhSuD-I"; e_fb_twtaskhandle="AcIuVdCnTPfoOGOAAwGSazTH9JSb9WAYww-ovkYMq0CUYSoBNdaQxeoAFbCMYx94eGmx7MitWiMfubzlhnpjAEv_MuxMRCeg"; e_fb_proxycode="AcKvuHB2-5ud1Yx9Om3fahCiUaAoOVposiqSFJvVS7LKIz0eCD_2OEPbdELB"; e_fb_requestsequencenumber="AcKGPRuFvr8kK72v2_zYfUh_fzAjQTV-gaGME6fCiSYTVDWCmGONJN80ww"; e_fb_zone="AcLxNm6xDOC17hfK61-TMmhKx2ygwGEz-YKc1kEh36e2DumZrzvT2dFLMsB4"; e_fb_binaryversion="AcIC1gLg_59rcl0IxOVzK97PSeHBcK7tZzdQMxUgqSCxwK2NkyaSQmr5OkbXYl5-iUL71i27udUyxJObibe8j6k5Og1q72JQmLc"; e_fb_httpversion="AcJdg65PZkzBMAt-XgTvfyRnhXqzkabw0Qp9On_tmYs5Jyg6BZMwqPI2YNsu"; e_fb_hostheader="AcLWKfygb9DIpRDsfY5xSDsjQyL_6fPIpskp9tAZljcLDwdVI_ugk3f7sAH4xk1_SgmW3Q"; e_fb_builduser="AcKeTEJ4NCPjIXJTi6tLgnkduMe6zfHPPEAf37mnhW5_tNMTgVF2iL7w7nzqLFwLHaw"; e_fb_vipport="AcLOSHSkkcMzUIBHxrn3PFGBoU6nYA_IYBIDKzl7Nax0iTMLLfXWv1WnZQNw"; e_clientaddr="AcJP9BjTAzFLMwInEh63u-XpzDfpHoeGEWu-c5DKh_5BP2RbgG6YBcTyfb3oZyaK2xIBeFYX5ctJ0HmThVU"; e_fb_vipaddr="AcIvCFNadmYnRdfrYGBODpMPv-nSflowY_80s23FdHgEGeIwsPxJ8rAfdC6B934iaWHUuw"; e_fb_configversion="AcLC-iQkrKk933fe-_nTSVPlQicJ6SKk8uRKp5Z2lgaNzDCJ3BITw9kgj6Iuxg" -date: Fri, 14 Feb 2025 19:20:39 GMT - diff --git a/Backend/Scripts/443Header5.txt b/Backend/Scripts/443Header5.txt deleted file mode 100644 index 0209317..0000000 --- a/Backend/Scripts/443Header5.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.38:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header50.txt b/Backend/Scripts/443Header50.txt deleted file mode 100644 index 3dd4eff..0000000 --- a/Backend/Scripts/443Header50.txt +++ /dev/null @@ -1,62 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.30:443... -* Connected to 168.0.0.30 (168.0.0.30) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [89 bytes data] -* TLSv1.2 (IN), TLS handshake, Certificate (11): -{ [1080 bytes data] -* TLSv1.2 (IN), TLS handshake, Server key exchange (12): -{ [333 bytes data] -* TLSv1.2 (IN), TLS handshake, Server finished (14): -{ [4 bytes data] -* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): -} [70 bytes data] -* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.2 (OUT), TLS handshake, Finished (20): -} [16 bytes data] -* TLSv1.2 (IN), TLS handshake, Finished (20): -{ [16 bytes data] -* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption -* ALPN: server did not agree on a protocol. Uses default. -* Server certificate: -* subject: C=--; ST=SomeState; L=SomeCity; O=SomeOrganization; OU=SomeOrganizationalUnit; CN=168-0-2-26.ultranetpb.com.br; emailAddress=root@168-0-2-26.ultranetpb.com.br -* start date: Dec 13 15:05:20 2021 GMT -* expire date: Dec 13 15:05:20 2022 GMT -* issuer: C=--; ST=SomeState; L=SomeCity; O=SomeOrganization; OU=SomeOrganizationalUnit; CN=168-0-2-26.ultranetpb.com.br; emailAddress=root@168-0-2-26.ultranetpb.com.br -* SSL certificate verify result: self-signed certificate (18), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* using HTTP/1.x -} [5 bytes data] -> HEAD / HTTP/1.1 -> Host: 168.0.0.30 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -< HTTP/1.1 403 Forbidden -< Date: Fri, 14 Feb 2025 19:20:39 GMT -< Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.1.24 -< Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT -< ETag: "1321-5058a1e728280" -< Accept-Ranges: bytes -< Content-Length: 4897 -< Content-Type: text/html; charset=UTF-8 -< - 0 4897 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 168.0.0.30 left intact -HTTP/1.1 403 Forbidden -Date: Fri, 14 Feb 2025 19:20:39 GMT -Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.1.24 -Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT -ETag: "1321-5058a1e728280" -Accept-Ranges: bytes -Content-Length: 4897 -Content-Type: text/html; charset=UTF-8 - diff --git a/Backend/Scripts/443Header51.txt b/Backend/Scripts/443Header51.txt deleted file mode 100644 index e400db7..0000000 --- a/Backend/Scripts/443Header51.txt +++ /dev/null @@ -1,62 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.1.46:443... -* Connected to 122.0.1.46 (122.0.1.46) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [6 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [967 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [264 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS -* ALPN: server did not agree on a protocol. Uses default. -* Server certificate: -* subject: CN=ca10.mfa.go.th; O=mfa.go.th; OU=ICT; C=th; L=Bangkok -* start date: Jul 11 04:55:20 2016 GMT -* expire date: Jul 9 04:55:20 2026 GMT -* issuer: CN=ca10.mfa.go.th; O=mfa.go.th; OU=ICT; C=th; L=Bangkok -* SSL certificate verify result: self-signed certificate (18), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* using HTTP/1.x -} [5 bytes data] -> HEAD / HTTP/1.1 -> Host: 122.0.1.46 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [57 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [57 bytes data] -< HTTP/1.1 202 OK -< Connection: Keep-Alive -< Content-Length: 1999 -< Content-Type: text/html -< Keep-Alive: timeout=15; max=19 -< -{ [1999 bytes data] - 0 1999 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -} [5 bytes data] -* TLSv1.3 (OUT), TLS alert, close notify (256): -} [2 bytes data] -HTTP/1.1 202 OK -Connection: Keep-Alive -Content-Length: 1999 -Content-Type: text/html -Keep-Alive: timeout=15; max=19 - diff --git a/Backend/Scripts/443Header52.txt b/Backend/Scripts/443Header52.txt deleted file mode 100644 index 16a0b23..0000000 --- a/Backend/Scripts/443Header52.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.96:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header53.txt b/Backend/Scripts/443Header53.txt deleted file mode 100644 index 2d24c9c..0000000 --- a/Backend/Scripts/443Header53.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 136.0.1.72:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10001 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10001 milliseconds diff --git a/Backend/Scripts/443Header54.txt b/Backend/Scripts/443Header54.txt deleted file mode 100644 index 6acc398..0000000 --- a/Backend/Scripts/443Header54.txt +++ /dev/null @@ -1,60 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.0.79:443... -* Connected to 122.0.0.79 (122.0.0.79) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [85 bytes data] -* TLSv1.2 (IN), TLS handshake, Certificate (11): -{ [4480 bytes data] -* TLSv1.2 (IN), TLS handshake, Server key exchange (12): -{ [333 bytes data] -* TLSv1.2 (IN), TLS handshake, Server finished (14): -{ [4 bytes data] -* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): -} [70 bytes data] -* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.2 (OUT), TLS handshake, Finished (20): -} [16 bytes data] -* TLSv1.2 (IN), TLS handshake, Finished (20): -{ [16 bytes data] -* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 / secp256r1 / rsaEncryption -* ALPN: server did not agree on a protocol. Uses default. -* Server certificate: -* subject: CN=*.mfa.go.th -* start date: Aug 26 04:13:36 2024 GMT -* expire date: Sep 27 04:13:35 2025 GMT -* issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign GCC R6 AlphaSSL CA 2023 -* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha384WithRSAEncryption -* using HTTP/1.x -} [5 bytes data] -> HEAD / HTTP/1.1 -> Host: 122.0.0.79 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -< HTTP/1.1 403 Forbidden -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Content-Type: text/html -< Content-Length: 141 -< Connection: keep-alive -< Allow: GET, POST -< - 0 141 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 122.0.0.79 left intact -HTTP/1.1 403 Forbidden -Date: Fri, 14 Feb 2025 19:20:38 GMT -Content-Type: text/html -Content-Length: 141 -Connection: keep-alive -Allow: GET, POST - diff --git a/Backend/Scripts/443Header55.txt b/Backend/Scripts/443Header55.txt deleted file mode 100644 index 3f4bfc0..0000000 --- a/Backend/Scripts/443Header55.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.95:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header56.txt b/Backend/Scripts/443Header56.txt deleted file mode 100644 index 0527805..0000000 --- a/Backend/Scripts/443Header56.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.229:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header57.txt b/Backend/Scripts/443Header57.txt deleted file mode 100644 index bfd67be..0000000 --- a/Backend/Scripts/443Header57.txt +++ /dev/null @@ -1,16 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.178:443... -* Connected to 152.0.0.178 (152.0.0.178) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [74 bytes data] -* TLSv1.3 (OUT), TLS alert, protocol version (582): -} [2 bytes data] -* OpenSSL/3.2.2: error:0A000102:SSL routines::unsupported protocol - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 -* closing connection #0 -curl: (35) OpenSSL/3.2.2: error:0A000102:SSL routines::unsupported protocol diff --git a/Backend/Scripts/443Header58.txt b/Backend/Scripts/443Header58.txt deleted file mode 100644 index 253f5a0..0000000 --- a/Backend/Scripts/443Header58.txt +++ /dev/null @@ -1,8 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 190.0.0.38:443... -* connect to 190.0.0.38 port 443 from 192.168.80.132 port 59988 failed: Connection refused -* Failed to connect to 190.0.0.38 port 443 after 164 ms: Could not connect to server - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* closing connection #0 -curl: (7) Failed to connect to 190.0.0.38 port 443 after 164 ms: Could not connect to server diff --git a/Backend/Scripts/443Header59.txt b/Backend/Scripts/443Header59.txt deleted file mode 100644 index 5c2f99f..0000000 --- a/Backend/Scripts/443Header59.txt +++ /dev/null @@ -1,74 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 190.0.0.34:443... -* Connected to 190.0.0.34 (190.0.0.34) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [15 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [2842 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [520 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS -* ALPN: server accepted h2 -* Server certificate: -* subject: CN=rejiplas.com -* start date: Jan 25 04:02:20 2025 GMT -* expire date: Apr 25 04:02:19 2025 GMT -* issuer: C=US; O=Let's Encrypt; CN=R11 -* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway. -* Certificate level 0: Public key type RSA (4096/152 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://190.0.0.34/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 190.0.0.34] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 190.0.0.34 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [57 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [57 bytes data] -< HTTP/2 200 -< server: nginx -< date: Fri, 14 Feb 2025 19:20:39 GMT -< content-type: text/html; charset=utf-8 -< content-length: 703 -< last-modified: Fri, 16 Jul 2021 22:27:26 GMT -< accept-ranges: bytes -< etag: "b25129c1917ad71:0" -< -{ [0 bytes data] - 0 703 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 190.0.0.34 left intact -HTTP/2 200 -server: nginx -date: Fri, 14 Feb 2025 19:20:39 GMT -content-type: text/html; charset=utf-8 -content-length: 703 -last-modified: Fri, 16 Jul 2021 22:27:26 GMT -accept-ranges: bytes -etag: "b25129c1917ad71:0" - diff --git a/Backend/Scripts/443Header6.txt b/Backend/Scripts/443Header6.txt deleted file mode 100644 index c0aa0da..0000000 --- a/Backend/Scripts/443Header6.txt +++ /dev/null @@ -1,87 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.6:443... -* Connected to 168.0.0.6 (168.0.0.6) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [21 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [5678 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [264 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS -* ALPN: server accepted http/1.1 -* Server certificate: -* subject: CN=opasuite.netguibor.com.br -* start date: Oct 17 00:00:00 2024 GMT -* expire date: Oct 18 23:59:59 2025 GMT -* issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA -* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha384WithRSAEncryption -* Certificate level 2: Public key type RSA (4096/152 Bits/secBits), signed using sha384WithRSAEncryption -* Certificate level 3: Public key type RSA (2048/112 Bits/secBits), signed using sha1WithRSAEncryption -* using HTTP/1.x - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0} [5 bytes data] -> HEAD / HTTP/1.1 -> Host: 168.0.0.6 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [265 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [265 bytes data] -< HTTP/1.1 302 Found -< Cross-Origin-Opener-Policy: same-origin -< Origin-Agent-Cluster: ?1 -< Referrer-Policy: no-referrer -< Strict-Transport-Security: max-age=15552000; includeSubDomains -< X-Content-Type-Options: nosniff -< X-DNS-Prefetch-Control: off -< X-Download-Options: noopen -< X-Frame-Options: SAMEORIGIN -< X-Permitted-Cross-Domain-Policies: none -< X-XSS-Protection: 0 -< Location: /auth/login -< Vary: Accept, Accept-Encoding -< Content-Type: text/plain -< Content-Length: 33 -< Date: Fri, 14 Feb 2025 19:20:39 GMT -< Connection: keep-alive -< Keep-Alive: timeout=5 -< - 0 33 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 168.0.0.6 left intact -HTTP/1.1 302 Found -Cross-Origin-Opener-Policy: same-origin -Origin-Agent-Cluster: ?1 -Referrer-Policy: no-referrer -Strict-Transport-Security: max-age=15552000; includeSubDomains -X-Content-Type-Options: nosniff -X-DNS-Prefetch-Control: off -X-Download-Options: noopen -X-Frame-Options: SAMEORIGIN -X-Permitted-Cross-Domain-Policies: none -X-XSS-Protection: 0 -Location: /auth/login -Vary: Accept, Accept-Encoding -Content-Type: text/plain -Content-Length: 33 -Date: Fri, 14 Feb 2025 19:20:39 GMT -Connection: keep-alive -Keep-Alive: timeout=5 - diff --git a/Backend/Scripts/443Header60.txt b/Backend/Scripts/443Header60.txt deleted file mode 100644 index 65f1dea..0000000 --- a/Backend/Scripts/443Header60.txt +++ /dev/null @@ -1,56 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.167:443... -* Connected to 72.0.3.167 (72.0.3.167) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [75 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [3632 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [264 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS -* ALPN: server accepted h2 -* Server certificate: -* subject: CN=services.presents.intg.voya.com; O=Voya Services Company; OU=WebInfrastructure; L=Atlanta; ST=Georgia; C=US -* start date: Oct 16 00:00:00 2024 GMT -* expire date: Oct 14 00:00:00 2026 GMT -* issuer: C=US; O=Voya Financial; OU=Voya Information Trust Services; CN=Voya Internal Issuing CA1 -* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 2: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://72.0.3.167/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 72.0.3.167] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 72.0.3.167 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [57 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10001 milliseconds with 0 bytes received - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* Connection #0 to host 72.0.3.167 left intact -curl: (28) Operation timed out after 10001 milliseconds with 0 bytes received diff --git a/Backend/Scripts/443Header61.txt b/Backend/Scripts/443Header61.txt deleted file mode 100644 index d26f332..0000000 --- a/Backend/Scripts/443Header61.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.84:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10001 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10001 milliseconds diff --git a/Backend/Scripts/443Header62.txt b/Backend/Scripts/443Header62.txt deleted file mode 100644 index 2280b09..0000000 --- a/Backend/Scripts/443Header62.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.3:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10001 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10001 milliseconds diff --git a/Backend/Scripts/443Header63.txt b/Backend/Scripts/443Header63.txt deleted file mode 100644 index d3b1115..0000000 --- a/Backend/Scripts/443Header63.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.4:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header7.txt b/Backend/Scripts/443Header7.txt deleted file mode 100644 index ef3a53c..0000000 --- a/Backend/Scripts/443Header7.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.0.146:443... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/443Header8.txt b/Backend/Scripts/443Header8.txt deleted file mode 100644 index 3658443..0000000 --- a/Backend/Scripts/443Header8.txt +++ /dev/null @@ -1,57 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.169:443... -* Connected to 72.0.3.169 (72.0.3.169) port 443 -* ALPN: curl offers h2,http/1.1 -} [5 bytes data] -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -} [512 bytes data] -* TLSv1.3 (IN), TLS handshake, Server hello (2): -{ [122 bytes data] -* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8): -{ [75 bytes data] -* TLSv1.3 (IN), TLS handshake, Certificate (11): -{ [3747 bytes data] -* TLSv1.3 (IN), TLS handshake, CERT verify (15): -{ [264 bytes data] -* TLSv1.3 (IN), TLS handshake, Finished (20): -{ [52 bytes data] -* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1): -} [1 bytes data] -* TLSv1.3 (OUT), TLS handshake, Finished (20): -} [52 bytes data] -* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / x25519 / RSASSA-PSS -* ALPN: server accepted h2 -* Server certificate: -* subject: C=US; ST=Georgia; L=Atlanta; O=Voya Services Company; OU=WebInfrastructure; CN=www.intg.voyalifecustomerservice.com -* start date: Sep 7 15:08:59 2023 GMT -* expire date: Sep 12 00:00:00 2025 GMT -* issuer: O=Voya Services Company; CN=Voya RSA Issuing CA 01 - G1 -* SSL certificate verify result: self-signed certificate in certificate chain (19), continuing anyway. -* Certificate level 0: Public key type RSA (2048/112 Bits/secBits), signed using sha256WithRSAEncryption -* Certificate level 1: Public key type RSA (2048/112 Bits/secBits), signed using ecdsa-with-SHA384 -* Certificate level 2: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384 -* Certificate level 3: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384 -} [5 bytes data] -* using HTTP/2 -* [HTTP/2] [1] OPENED stream for https://72.0.3.169/ -* [HTTP/2] [1] [:method: HEAD] -* [HTTP/2] [1] [:scheme: https] -* [HTTP/2] [1] [:authority: 72.0.3.169] -* [HTTP/2] [1] [:path: /] -* [HTTP/2] [1] [user-agent: curl/8.9.1] -* [HTTP/2] [1] [accept: */*] -} [5 bytes data] -> HEAD / HTTP/2 -> Host: 72.0.3.169 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -{ [5 bytes data] -* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4): -{ [57 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* Connection #0 to host 72.0.3.169 left intact -curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/443Header9.txt b/Backend/Scripts/443Header9.txt deleted file mode 100644 index 9c7c080..0000000 --- a/Backend/Scripts/443Header9.txt +++ /dev/null @@ -1,8 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.1:443... -* connect to 188.0.0.1 port 443 from 192.168.80.132 port 38316 failed: Connection refused -* Failed to connect to 188.0.0.1 port 443 after 96 ms: Could not connect to server - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* closing connection #0 -curl: (7) Failed to connect to 188.0.0.1 port 443 after 96 ms: Could not connect to server diff --git a/Backend/Scripts/80Header.txt b/Backend/Scripts/80Header.txt deleted file mode 100644 index 178cfa0..0000000 --- a/Backend/Scripts/80Header.txt +++ /dev/null @@ -1,36 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 1.0.0.95:80... -* Connected to 1.0.0.95 (1.0.0.95) port 80 -> HEAD / HTTP/1.1 -> Host: 1.0.0.95 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 403 Forbidden -< Date: Fri, 07 Feb 2025 21:37:37 GMT -< Content-Type: text/plain; charset=UTF-8 -< Content-Length: 16 -< Connection: close -< X-Frame-Options: SAMEORIGIN -< Referrer-Policy: same-origin -< Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 -< Expires: Thu, 01 Jan 1970 00:00:01 GMT -< Server: cloudflare -< CF-RAY: 90e685af4a6b930d-CPH -< - 0 16 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 403 Forbidden -Date: Fri, 07 Feb 2025 21:37:37 GMT -Content-Type: text/plain; charset=UTF-8 -Content-Length: 16 -Connection: close -X-Frame-Options: SAMEORIGIN -Referrer-Policy: same-origin -Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 -Expires: Thu, 01 Jan 1970 00:00:01 GMT -Server: cloudflare -CF-RAY: 90e685af4a6b930d-CPH - diff --git a/Backend/Scripts/80Header0.txt b/Backend/Scripts/80Header0.txt deleted file mode 100644 index c356485..0000000 --- a/Backend/Scripts/80Header0.txt +++ /dev/null @@ -1,14 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.151:80... -* Connected to 72.0.3.151 (72.0.3.151) port 80 - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> HEAD / HTTP/1.1 -> Host: 72.0.3.151 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10001 milliseconds with 0 bytes received - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Operation timed out after 10001 milliseconds with 0 bytes received diff --git a/Backend/Scripts/80Header1.txt b/Backend/Scripts/80Header1.txt deleted file mode 100644 index 0c3c5e6..0000000 --- a/Backend/Scripts/80Header1.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.0.75:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header10.txt b/Backend/Scripts/80Header10.txt deleted file mode 100644 index 8b49d06..0000000 --- a/Backend/Scripts/80Header10.txt +++ /dev/null @@ -1,14 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.176:80... -* Connected to 72.0.3.176 (72.0.3.176) port 80 -> HEAD / HTTP/1.1 -> Host: 72.0.3.176 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/80Header11.txt b/Backend/Scripts/80Header11.txt deleted file mode 100644 index 2ac48ed..0000000 --- a/Backend/Scripts/80Header11.txt +++ /dev/null @@ -1,28 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.195:80... -* Connected to 152.0.0.195 (152.0.0.195) port 80 -> HEAD / HTTP/1.1 -> Host: 152.0.0.195 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< Server: Mini web server 1.0 ZTE corp 2005. -< Content-Type: text/html; charset=UTF-8 -< Accept-Ranges: bytes -< Connection: close -< Cache-Control: no-cache,no-store -< Content-Length: 5540 -< - 0 5540 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 200 OK -Server: Mini web server 1.0 ZTE corp 2005. -Content-Type: text/html; charset=UTF-8 -Accept-Ranges: bytes -Connection: close -Cache-Control: no-cache,no-store -Content-Length: 5540 - diff --git a/Backend/Scripts/80Header12.txt b/Backend/Scripts/80Header12.txt deleted file mode 100644 index 15a2dd1..0000000 --- a/Backend/Scripts/80Header12.txt +++ /dev/null @@ -1,28 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.0.92:80... -* Connected to 148.0.0.92 (148.0.0.92) port 80 - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> HEAD / HTTP/1.1 -> Host: 148.0.0.92 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< Server: Mini web server 1.0 ZTE corp 2005. -< Content-Type: text/html; charset=UTF-8 -< Accept-Ranges: bytes -< Connection: close -< Cache-Control: no-cache,no-store -< Content-Length: 5542 -< - 0 5542 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 200 OK -Server: Mini web server 1.0 ZTE corp 2005. -Content-Type: text/html; charset=UTF-8 -Accept-Ranges: bytes -Connection: close -Cache-Control: no-cache,no-store -Content-Length: 5542 - diff --git a/Backend/Scripts/80Header13.txt b/Backend/Scripts/80Header13.txt deleted file mode 100644 index 58a43af..0000000 --- a/Backend/Scripts/80Header13.txt +++ /dev/null @@ -1,32 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.2:80... -* Connected to 168.0.0.2 (168.0.0.2) port 80 -> HEAD / HTTP/1.1 -> Host: 168.0.0.2 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 400 Bad Request -< Server: nginx -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Content-Type: text/html -< Content-Length: 264 -< Connection: close -< X-Content-Type-Options: nosniff -< X-Frame-Options: SAMEORIGIN -< X-XSS-Protection: 1; mode=block -< - 0 264 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 400 Bad Request -Server: nginx -Date: Fri, 14 Feb 2025 19:20:38 GMT -Content-Type: text/html -Content-Length: 264 -Connection: close -X-Content-Type-Options: nosniff -X-Frame-Options: SAMEORIGIN -X-XSS-Protection: 1; mode=block - diff --git a/Backend/Scripts/80Header14.txt b/Backend/Scripts/80Header14.txt deleted file mode 100644 index ce2e73d..0000000 --- a/Backend/Scripts/80Header14.txt +++ /dev/null @@ -1,27 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.147:80... -* Connected to 152.0.0.147 (152.0.0.147) port 80 -> HEAD / HTTP/1.1 -> Host: 152.0.0.147 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 501 Not Implemented -< Server: micro_httpd -< Cache-Control: no-cache -< Date: Wed, 25 Feb 1970 07:03:36 GMT -< Content-Type: text/html -< Connection: close -< -{ [246 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 501 Not Implemented -Server: micro_httpd -Cache-Control: no-cache -Date: Wed, 25 Feb 1970 07:03:36 GMT -Content-Type: text/html -Connection: close - diff --git a/Backend/Scripts/80Header15.txt b/Backend/Scripts/80Header15.txt deleted file mode 100644 index 7db30fb..0000000 --- a/Backend/Scripts/80Header15.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.1.49:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header16.txt b/Backend/Scripts/80Header16.txt deleted file mode 100644 index 63a656d..0000000 --- a/Backend/Scripts/80Header16.txt +++ /dev/null @@ -1,30 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 190.0.0.14:80... -* Connected to 190.0.0.14 (190.0.0.14) port 80 -> HEAD / HTTP/1.1 -> Host: 190.0.0.14 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< X-Frame-Options: SAMEORIGIN -< Content-Type: text/html; charset=UTF-8 -< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 -< Pragma: no-cache -< CONTENT-LANGUAGE: en -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Server: lighttpd/1.4.39 -< - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 190.0.0.14 left intact -HTTP/1.1 200 OK -X-Frame-Options: SAMEORIGIN -Content-Type: text/html; charset=UTF-8 -Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 -Pragma: no-cache -CONTENT-LANGUAGE: en -Date: Fri, 14 Feb 2025 19:20:38 GMT -Server: lighttpd/1.4.39 - diff --git a/Backend/Scripts/80Header17.txt b/Backend/Scripts/80Header17.txt deleted file mode 100644 index a160039..0000000 --- a/Backend/Scripts/80Header17.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.102:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header18.txt b/Backend/Scripts/80Header18.txt deleted file mode 100644 index edd488e..0000000 --- a/Backend/Scripts/80Header18.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.37:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header19.txt b/Backend/Scripts/80Header19.txt deleted file mode 100644 index d1ffb14..0000000 --- a/Backend/Scripts/80Header19.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.18:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10001 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10001 milliseconds diff --git a/Backend/Scripts/80Header2.txt b/Backend/Scripts/80Header2.txt deleted file mode 100644 index 70cd47e..0000000 --- a/Backend/Scripts/80Header2.txt +++ /dev/null @@ -1,28 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.33:80... -* Connected to 156.0.1.33 (156.0.1.33) port 80 -> HEAD / HTTP/1.1 -> Host: 156.0.1.33 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 301 Moved Permanently -< Location: https://156.0.1.33/ -< Content-Type: text/plain -< Server: proxygen-bolt -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Connection: keep-alive -< Content-Length: 0 -< - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 156.0.1.33 left intact -HTTP/1.1 301 Moved Permanently -Location: https://156.0.1.33/ -Content-Type: text/plain -Server: proxygen-bolt -Date: Fri, 14 Feb 2025 19:20:38 GMT -Connection: keep-alive -Content-Length: 0 - diff --git a/Backend/Scripts/80Header20.txt b/Backend/Scripts/80Header20.txt deleted file mode 100644 index 2fab663..0000000 --- a/Backend/Scripts/80Header20.txt +++ /dev/null @@ -1,14 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.49:80... -* Connected to 188.0.0.49 (188.0.0.49) port 80 -> HEAD / HTTP/1.1 -> Host: 188.0.0.49 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -* Empty reply from server - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -curl: (52) Empty reply from server diff --git a/Backend/Scripts/80Header21.txt b/Backend/Scripts/80Header21.txt deleted file mode 100644 index df06364..0000000 --- a/Backend/Scripts/80Header21.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 130.0.0.10:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header22.txt b/Backend/Scripts/80Header22.txt deleted file mode 100644 index c1f3a98..0000000 --- a/Backend/Scripts/80Header22.txt +++ /dev/null @@ -1,22 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 128.0.2.1:80... -* Connected to 128.0.2.1 (128.0.2.1) port 80 -> HEAD / HTTP/1.1 -> Host: 128.0.2.1 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 405 Method Not Allowed -< Date: Fri, 14 Feb 2025 19:20:31 GMT -< Allow: TRACE -< Content-Type: text/html; charset=iso-8859-1 -< - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 128.0.2.1 left intact -HTTP/1.1 405 Method Not Allowed -Date: Fri, 14 Feb 2025 19:20:31 GMT -Allow: TRACE -Content-Type: text/html; charset=iso-8859-1 - diff --git a/Backend/Scripts/80Header23.txt b/Backend/Scripts/80Header23.txt deleted file mode 100644 index 2dec511..0000000 --- a/Backend/Scripts/80Header23.txt +++ /dev/null @@ -1,28 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.94:80... -* Connected to 148.0.1.94 (148.0.1.94) port 80 -> HEAD / HTTP/1.1 -> Host: 148.0.1.94 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< Server: Mini web server 1.0 ZTE corp 2005. -< Content-Type: text/html; charset=UTF-8 -< Accept-Ranges: bytes -< Connection: close -< Cache-Control: no-cache,no-store -< Content-Length: 5543 -< - 0 5543 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 200 OK -Server: Mini web server 1.0 ZTE corp 2005. -Content-Type: text/html; charset=UTF-8 -Accept-Ranges: bytes -Connection: close -Cache-Control: no-cache,no-store -Content-Length: 5543 - diff --git a/Backend/Scripts/80Header24.txt b/Backend/Scripts/80Header24.txt deleted file mode 100644 index f23bde3..0000000 --- a/Backend/Scripts/80Header24.txt +++ /dev/null @@ -1,36 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.14:80... -* Connected to 168.0.0.14 (168.0.0.14) port 80 -> HEAD / HTTP/1.1 -> Host: 168.0.0.14 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Server: Apache/2.4.29 (Ubuntu) -< Set-Cookie: PHPSESSID=qdbj5qpudc0pcaqa61l3enuaka; HttpOnly -< Expires: Thu, 19 Nov 1981 08:52:00 GMT -< Cache-Control: no-store, no-cache, must-revalidate -< Pragma: no-cache -< X-Content-Type-Options: nosniff -< X-XSS-Protection: 1; mode=block -< X-Frame-Options: SAMEORIGIN -< Content-Type: text/html; charset=UTF-8 -< - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 168.0.0.14 left intact -HTTP/1.1 200 OK -Date: Fri, 14 Feb 2025 19:20:38 GMT -Server: Apache/2.4.29 (Ubuntu) -Set-Cookie: PHPSESSID=qdbj5qpudc0pcaqa61l3enuaka; HttpOnly -Expires: Thu, 19 Nov 1981 08:52:00 GMT -Cache-Control: no-store, no-cache, must-revalidate -Pragma: no-cache -X-Content-Type-Options: nosniff -X-XSS-Protection: 1; mode=block -X-Frame-Options: SAMEORIGIN -Content-Type: text/html; charset=UTF-8 - diff --git a/Backend/Scripts/80Header25.txt b/Backend/Scripts/80Header25.txt deleted file mode 100644 index 557dd23..0000000 --- a/Backend/Scripts/80Header25.txt +++ /dev/null @@ -1,28 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.20:80... -* Connected to 152.0.0.20 (152.0.0.20) port 80 -> HEAD / HTTP/1.1 -> Host: 152.0.0.20 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< Server: Mini web server 1.0 ZTE corp 2005. -< Content-Type: text/html; charset=UTF-8 -< Accept-Ranges: bytes -< Connection: close -< Cache-Control: no-cache,no-store -< Content-Length: 5540 -< - 0 5540 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 200 OK -Server: Mini web server 1.0 ZTE corp 2005. -Content-Type: text/html; charset=UTF-8 -Accept-Ranges: bytes -Connection: close -Cache-Control: no-cache,no-store -Content-Length: 5540 - diff --git a/Backend/Scripts/80Header26.txt b/Backend/Scripts/80Header26.txt deleted file mode 100644 index f288f7a..0000000 --- a/Backend/Scripts/80Header26.txt +++ /dev/null @@ -1,22 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 154.0.1.30:80... -* Connected to 154.0.1.30 (154.0.1.30) port 80 -> HEAD / HTTP/1.1 -> Host: 154.0.1.30 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< Date: Fri, 14 Feb 2025 19:20:37 GMT -< Server: Apache/2.4.53 (Debian) -< Content-Type: text/html;charset=UTF-8 -< - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 154.0.1.30 left intact -HTTP/1.1 200 OK -Date: Fri, 14 Feb 2025 19:20:37 GMT -Server: Apache/2.4.53 (Debian) -Content-Type: text/html;charset=UTF-8 - diff --git a/Backend/Scripts/80Header27.txt b/Backend/Scripts/80Header27.txt deleted file mode 100644 index b2b1462..0000000 --- a/Backend/Scripts/80Header27.txt +++ /dev/null @@ -1,24 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.160:80... -* Connected to 152.0.0.160 (152.0.0.160) port 80 -> HEAD / HTTP/1.1 -> Host: 152.0.0.160 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -* HTTP 1.0, assume close after body -< HTTP/1.0 400 Bad Request -< Server: Speed Touch WebServer/1.0 -< Content-Type: text/html -< Content-Length: 57 -< -{ [61 bytes data] - 0 57 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.0 400 Bad Request -Server: Speed Touch WebServer/1.0 -Content-Type: text/html -Content-Length: 57 - diff --git a/Backend/Scripts/80Header28.txt b/Backend/Scripts/80Header28.txt deleted file mode 100644 index f8e19be..0000000 --- a/Backend/Scripts/80Header28.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.1.60:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header29.txt b/Backend/Scripts/80Header29.txt deleted file mode 100644 index ee3ba3a..0000000 --- a/Backend/Scripts/80Header29.txt +++ /dev/null @@ -1,36 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.248:80... -* Connected to 152.0.0.248 (152.0.0.248) port 80 -> HEAD / HTTP/1.1 -> Host: 152.0.0.248 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< Pragma:no-cache -< Cache-control:no-cache, no-store, max-age=0 -< Expires:Mon, 01 Jan 1970 00:00:01 GMT -< Content-Type:text/html; charset=UTF-8 -< Transfer-Encoding:chunked -< X-Frame-Options:SAMEORIGIN -< Connection:Keep-Alive -< X-XSS-Protection:1; mode=block -< Content-Security-Policy:default-src 'self' 'unsafe-inline' 'unsafe-eval' -< Content-Language:en -< - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 152.0.0.248 left intact -HTTP/1.1 200 OK -Pragma:no-cache -Cache-control:no-cache, no-store, max-age=0 -Expires:Mon, 01 Jan 1970 00:00:01 GMT -Content-Type:text/html; charset=UTF-8 -Transfer-Encoding:chunked -X-Frame-Options:SAMEORIGIN -Connection:Keep-Alive -X-XSS-Protection:1; mode=block -Content-Security-Policy:default-src 'self' 'unsafe-inline' 'unsafe-eval' -Content-Language:en - diff --git a/Backend/Scripts/80Header3.txt b/Backend/Scripts/80Header3.txt deleted file mode 100644 index 758206e..0000000 --- a/Backend/Scripts/80Header3.txt +++ /dev/null @@ -1,25 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 154.0.1.82:80... -* Connected to 154.0.1.82 (154.0.1.82) port 80 -> HEAD / HTTP/1.1 -> Host: 154.0.1.82 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 500 Internal Server Error -< Content-Type: text/html; charset=utf-8 -< Content-Length: 130 -< Set-Cookie: JSESSIONID=deleted; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Path=/; HttpOnly -< Connection: close -< -{ [130 bytes data] - 0 130 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 500 Internal Server Error -Content-Type: text/html; charset=utf-8 -Content-Length: 130 -Set-Cookie: JSESSIONID=deleted; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Path=/; HttpOnly -Connection: close - diff --git a/Backend/Scripts/80Header30.txt b/Backend/Scripts/80Header30.txt deleted file mode 100644 index ebaf7e4..0000000 --- a/Backend/Scripts/80Header30.txt +++ /dev/null @@ -1,31 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.94:80... -* Connected to 152.0.1.94 (152.0.1.94) port 80 - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> HEAD / HTTP/1.1 -> Host: 152.0.1.94 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 400 Bad Request -< Server: ZTE web server 1.0 ZTE corp 2015. -< Accept-Ranges: bytes -< Connection: close -< X-Frame-Options: SAMEORIGIN -< Content-Type: text/html; charset=iso-8859-1 -< X-Content-Type-Options: nosniff -< Cache-Control: no-cache,no-store -< -{ [1135 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 400 Bad Request -Server: ZTE web server 1.0 ZTE corp 2015. -Accept-Ranges: bytes -Connection: close -X-Frame-Options: SAMEORIGIN -Content-Type: text/html; charset=iso-8859-1 -X-Content-Type-Options: nosniff -Cache-Control: no-cache,no-store - diff --git a/Backend/Scripts/80Header31.txt b/Backend/Scripts/80Header31.txt deleted file mode 100644 index 0490945..0000000 --- a/Backend/Scripts/80Header31.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.14:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header32.txt b/Backend/Scripts/80Header32.txt deleted file mode 100644 index e7f415c..0000000 --- a/Backend/Scripts/80Header32.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.0.80:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header33.txt b/Backend/Scripts/80Header33.txt deleted file mode 100644 index b322120..0000000 --- a/Backend/Scripts/80Header33.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.24:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header34.txt b/Backend/Scripts/80Header34.txt deleted file mode 100644 index a6cb12f..0000000 --- a/Backend/Scripts/80Header34.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.92:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header35.txt b/Backend/Scripts/80Header35.txt deleted file mode 100644 index b44e5ae..0000000 --- a/Backend/Scripts/80Header35.txt +++ /dev/null @@ -1,37 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 88.0.0.187:80... -* Connected to 88.0.0.187 (88.0.0.187) port 80 -> HEAD / HTTP/1.1 -> Host: 88.0.0.187 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 302 Found -< Server: mini_httpd/1.27 07Mar2017 -< Date: Fri, 14 Feb 2025 20:20:19 GMT -< X-Frame-Options: SAMEORIGIN -< Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval';style-src 'self' 'unsafe-inline' -< X-Content-Type-Options: nosniff -< X-XSS-Protection: 1; mode=block -< Strict-Transport-Security: max-age=31536000; includeSubDomains -< Location: /cgi-bin/mhs/html/logIn_mhs.asp -< Content-Type: text/html; charset=%s -< Connection: close -< -{ [473 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 302 Found -Server: mini_httpd/1.27 07Mar2017 -Date: Fri, 14 Feb 2025 20:20:19 GMT -X-Frame-Options: SAMEORIGIN -Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval';style-src 'self' 'unsafe-inline' -X-Content-Type-Options: nosniff -X-XSS-Protection: 1; mode=block -Strict-Transport-Security: max-age=31536000; includeSubDomains -Location: /cgi-bin/mhs/html/logIn_mhs.asp -Content-Type: text/html; charset=%s -Connection: close - diff --git a/Backend/Scripts/80Header36.txt b/Backend/Scripts/80Header36.txt deleted file mode 100644 index 2f929bd..0000000 --- a/Backend/Scripts/80Header36.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.137:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header37.txt b/Backend/Scripts/80Header37.txt deleted file mode 100644 index 192cc42..0000000 --- a/Backend/Scripts/80Header37.txt +++ /dev/null @@ -1,25 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.103:80... -* Connected to 148.0.1.103 (148.0.1.103) port 80 -> HEAD / HTTP/1.1 -> Host: 148.0.1.103 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 401 Unauthorized -< Set-Cookie: Session=0; httponly -< Content-Type: text/html -< Content-Length: 1307 -< Date: Fri, 14 Feb 2025 19:20:44 GMT -< -{ [1242 bytes data] - 0 1307 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 401 Unauthorized -Set-Cookie: Session=0; httponly -Content-Type: text/html -Content-Length: 1307 -Date: Fri, 14 Feb 2025 19:20:44 GMT - diff --git a/Backend/Scripts/80Header38.txt b/Backend/Scripts/80Header38.txt deleted file mode 100644 index 903b5f2..0000000 --- a/Backend/Scripts/80Header38.txt +++ /dev/null @@ -1,27 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.194:80... -* Connected to 152.0.0.194 (152.0.0.194) port 80 -> HEAD / HTTP/1.1 -> Host: 152.0.0.194 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 501 Not Implemented -< Server: micro_httpd -< Cache-Control: no-cache -< Date: Sun, 04 Jan 1970 21:02:18 GMT -< Content-Type: text/html -< Connection: close -< -{ [246 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 501 Not Implemented -Server: micro_httpd -Cache-Control: no-cache -Date: Sun, 04 Jan 1970 21:02:18 GMT -Content-Type: text/html -Connection: close - diff --git a/Backend/Scripts/80Header39.txt b/Backend/Scripts/80Header39.txt deleted file mode 100644 index 85e53e0..0000000 --- a/Backend/Scripts/80Header39.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.37:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header4.txt b/Backend/Scripts/80Header4.txt deleted file mode 100644 index 6322e61..0000000 --- a/Backend/Scripts/80Header4.txt +++ /dev/null @@ -1,28 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.42:80... -* Connected to 156.0.1.42 (156.0.1.42) port 80 - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> HEAD / HTTP/1.1 -> Host: 156.0.1.42 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 301 Moved Permanently -< Location: https://156.0.1.42/ -< Content-Type: text/plain -< Server: proxygen-bolt -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Connection: keep-alive -< Content-Length: 0 -< - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 156.0.1.42 left intact -HTTP/1.1 301 Moved Permanently -Location: https://156.0.1.42/ -Content-Type: text/plain -Server: proxygen-bolt -Date: Fri, 14 Feb 2025 19:20:38 GMT -Connection: keep-alive -Content-Length: 0 - diff --git a/Backend/Scripts/80Header40.txt b/Backend/Scripts/80Header40.txt deleted file mode 100644 index 22fba9a..0000000 --- a/Backend/Scripts/80Header40.txt +++ /dev/null @@ -1,25 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.93:80... -* Connected to 148.0.1.93 (148.0.1.93) port 80 -> HEAD / HTTP/1.1 -> Host: 148.0.1.93 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 401 Unauthorized -< Set-Cookie: Session=0; httponly -< Content-Type: text/html -< Content-Length: 1307 -< Date: Fri, 14 Feb 2025 19:20:44 GMT -< -{ [1242 bytes data] - 0 1307 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 401 Unauthorized -Set-Cookie: Session=0; httponly -Content-Type: text/html -Content-Length: 1307 -Date: Fri, 14 Feb 2025 19:20:44 GMT - diff --git a/Backend/Scripts/80Header41.txt b/Backend/Scripts/80Header41.txt deleted file mode 100644 index 85a8e24..0000000 --- a/Backend/Scripts/80Header41.txt +++ /dev/null @@ -1,27 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.32:80... -* Connected to 152.0.0.32 (152.0.0.32) port 80 -> HEAD / HTTP/1.1 -> Host: 152.0.0.32 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 501 Not Implemented -< Server: micro_httpd -< Cache-Control: no-cache -< Date: Mon, 05 Jan 1970 02:43:02 GMT -< Content-Type: text/html -< Connection: close -< -{ [246 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 501 Not Implemented -Server: micro_httpd -Cache-Control: no-cache -Date: Mon, 05 Jan 1970 02:43:02 GMT -Content-Type: text/html -Connection: close - diff --git a/Backend/Scripts/80Header42.txt b/Backend/Scripts/80Header42.txt deleted file mode 100644 index 07cc9b1..0000000 --- a/Backend/Scripts/80Header42.txt +++ /dev/null @@ -1,28 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 136.0.1.14:80... -* Connected to 136.0.1.14 (136.0.1.14) port 80 -> HEAD / HTTP/1.1 -> Host: 136.0.1.14 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 301 Moved Permanently -< Server: nginx -< Date: Fri, 14 Feb 2025 19:20:32 GMT -< Content-Type: text/html -< Content-Length: 162 -< Connection: keep-alive -< Location: https://www.luo7731.top:443/ -< - 0 162 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 136.0.1.14 left intact -HTTP/1.1 301 Moved Permanently -Server: nginx -Date: Fri, 14 Feb 2025 19:20:32 GMT -Content-Type: text/html -Content-Length: 162 -Connection: keep-alive -Location: https://www.luo7731.top:443/ - diff --git a/Backend/Scripts/80Header43.txt b/Backend/Scripts/80Header43.txt deleted file mode 100644 index 24a08b2..0000000 --- a/Backend/Scripts/80Header43.txt +++ /dev/null @@ -1,14 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 128.0.1.107:80... -* Connected to 128.0.1.107 (128.0.1.107) port 80 -> HEAD / HTTP/1.1 -> Host: 128.0.1.107 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10001 milliseconds with 0 bytes received - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Operation timed out after 10001 milliseconds with 0 bytes received diff --git a/Backend/Scripts/80Header44.txt b/Backend/Scripts/80Header44.txt deleted file mode 100644 index 34a6465..0000000 --- a/Backend/Scripts/80Header44.txt +++ /dev/null @@ -1,14 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.174:80... -* Connected to 72.0.3.174 (72.0.3.174) port 80 -> HEAD / HTTP/1.1 -> Host: 72.0.3.174 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10001 milliseconds with 0 bytes received - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Operation timed out after 10001 milliseconds with 0 bytes received diff --git a/Backend/Scripts/80Header45.txt b/Backend/Scripts/80Header45.txt deleted file mode 100644 index cc68c50..0000000 --- a/Backend/Scripts/80Header45.txt +++ /dev/null @@ -1,14 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.65:80... -* Connected to 188.0.0.65 (188.0.0.65) port 80 -> HEAD / HTTP/1.1 -> Host: 188.0.0.65 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -* Empty reply from server - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -curl: (52) Empty reply from server diff --git a/Backend/Scripts/80Header46.txt b/Backend/Scripts/80Header46.txt deleted file mode 100644 index 2d4ff00..0000000 --- a/Backend/Scripts/80Header46.txt +++ /dev/null @@ -1,27 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.1.89:80... -* Connected to 148.0.1.89 (148.0.1.89) port 80 -> HEAD / HTTP/1.1 -> Host: 148.0.1.89 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 501 Not Implemented -< Server: micro_httpd -< Cache-Control: no-cache -< Date: Thu, 01 Jan 1970 08:01:20 GMT -< Content-Type: text/html -< Connection: close -< -{ [246 bytes data] - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 501 Not Implemented -Server: micro_httpd -Cache-Control: no-cache -Date: Thu, 01 Jan 1970 08:01:20 GMT -Content-Type: text/html -Connection: close - diff --git a/Backend/Scripts/80Header47.txt b/Backend/Scripts/80Header47.txt deleted file mode 100644 index f975a93..0000000 --- a/Backend/Scripts/80Header47.txt +++ /dev/null @@ -1,32 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.10:80... -* Connected to 168.0.0.10 (168.0.0.10) port 80 -> HEAD / HTTP/1.1 -> Host: 168.0.0.10 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Server: Apache -< Last-Modified: Thu, 16 Sep 2021 19:10:45 GMT -< ETag: "29cd-5cc21925c9e89" -< Accept-Ranges: bytes -< Content-Length: 10701 -< Vary: Accept-Encoding -< Content-Type: text/html -< - 0 10701 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 168.0.0.10 left intact -HTTP/1.1 200 OK -Date: Fri, 14 Feb 2025 19:20:38 GMT -Server: Apache -Last-Modified: Thu, 16 Sep 2021 19:10:45 GMT -ETag: "29cd-5cc21925c9e89" -Accept-Ranges: bytes -Content-Length: 10701 -Vary: Accept-Encoding -Content-Type: text/html - diff --git a/Backend/Scripts/80Header48.txt b/Backend/Scripts/80Header48.txt deleted file mode 100644 index 0e945ac..0000000 --- a/Backend/Scripts/80Header48.txt +++ /dev/null @@ -1,24 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.0.141:80... -* Connected to 148.0.0.141 (148.0.0.141) port 80 -> HEAD / HTTP/1.1 -> Host: 148.0.0.141 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -* HTTP 1.0, assume close after body -< HTTP/1.0 400 Bad Request -< Server: Speed Touch WebServer/1.0 -< Content-Type: text/html -< Content-Length: 57 -< -{ [61 bytes data] - 0 57 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.0 400 Bad Request -Server: Speed Touch WebServer/1.0 -Content-Type: text/html -Content-Length: 57 - diff --git a/Backend/Scripts/80Header49.txt b/Backend/Scripts/80Header49.txt deleted file mode 100644 index f7614e0..0000000 --- a/Backend/Scripts/80Header49.txt +++ /dev/null @@ -1,28 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 156.0.1.43:80... -* Connected to 156.0.1.43 (156.0.1.43) port 80 -> HEAD / HTTP/1.1 -> Host: 156.0.1.43 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 301 Moved Permanently -< Location: https://156.0.1.43/ -< Content-Type: text/plain -< Server: proxygen-bolt -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Connection: keep-alive -< Content-Length: 0 -< - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 156.0.1.43 left intact -HTTP/1.1 301 Moved Permanently -Location: https://156.0.1.43/ -Content-Type: text/plain -Server: proxygen-bolt -Date: Fri, 14 Feb 2025 19:20:38 GMT -Connection: keep-alive -Content-Length: 0 - diff --git a/Backend/Scripts/80Header5.txt b/Backend/Scripts/80Header5.txt deleted file mode 100644 index be4254e..0000000 --- a/Backend/Scripts/80Header5.txt +++ /dev/null @@ -1,14 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.38:80... -* Connected to 152.0.1.38 (152.0.1.38) port 80 -> HEAD / HTTP/1.1 -> Host: 152.0.1.38 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Empty reply from server - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -curl: (52) Empty reply from server diff --git a/Backend/Scripts/80Header50.txt b/Backend/Scripts/80Header50.txt deleted file mode 100644 index aaefa8c..0000000 --- a/Backend/Scripts/80Header50.txt +++ /dev/null @@ -1,30 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.30:80... -* Connected to 168.0.0.30 (168.0.0.30) port 80 -> HEAD / HTTP/1.1 -> Host: 168.0.0.30 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.1.24 -< X-Powered-By: PHP/8.1.24 -< Cache-Control: no-cache, private -< Set-Cookie: XSRF-TOKEN=eyJpdiI6IldmVzNKem04OGZFTFV3N29Hbk9qQUE9PSIsInZhbHVlIjoiN3g2SlRJNHhCemRpWTRya3RrY1JoSjU1UEo3WmQrWURkV0tjTERTcjVrOXpYNzlhYkUyV2F5L3RTdTFvd2hzWDlodFZUSzlHc05Td1ZqQktnUTRGaG0ydGZVNHg2c0VYWUVWcVd5WjR4T29NVjJnMDBieVdwczNxblJObHpnY3ciLCJtYWMiOiI5MDEzMjQ5MDRmMTRhOTZhNWZiNGFlMjMzOTRmZThmMDU3NGRiNDI0Y2VmOTNhZDhiN2NmMDgwMTlhOWQ1ZmQ0IiwidGFnIjoiIn0%3D; expires=Fri, 14-Feb-2025 21:20:38 GMT; Max-Age=7200; path=/; samesite=lax -< Set-Cookie: laravel_session=eyJpdiI6IkZsdWZoa1pZUUt6SjdXc2lBY2JkTEE9PSIsInZhbHVlIjoicHJsVFpIZEt6bWVhSjZVMlYrRTlFS0lqYzNJbndZdlRBM0VuV1UrRW1ZOGRoaWRoS3cvWGQ0S2d5bmlvb2xPSGVLQlAzblhNbDZxMnhreU5ob0RLV0dCMldyeU1uYXV0WDBuWlp0NkoxQUEzTE5KTm1zVFB4amt6SEF4SjVKUUoiLCJtYWMiOiJjZWI4YjU3MGM5ZjliNGRmMzFjYzI1YTA3NzFkYzQxNjgwN2EyNzhlMzJhYjZjMDI5OTliMmM4Mjk0NDViZmM4IiwidGFnIjoiIn0%3D; expires=Fri, 14-Feb-2025 21:20:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax -< Content-Type: text/html; charset=UTF-8 -< - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 168.0.0.30 left intact -HTTP/1.1 200 OK -Date: Fri, 14 Feb 2025 19:20:38 GMT -Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.1.24 -X-Powered-By: PHP/8.1.24 -Cache-Control: no-cache, private -Set-Cookie: XSRF-TOKEN=eyJpdiI6IldmVzNKem04OGZFTFV3N29Hbk9qQUE9PSIsInZhbHVlIjoiN3g2SlRJNHhCemRpWTRya3RrY1JoSjU1UEo3WmQrWURkV0tjTERTcjVrOXpYNzlhYkUyV2F5L3RTdTFvd2hzWDlodFZUSzlHc05Td1ZqQktnUTRGaG0ydGZVNHg2c0VYWUVWcVd5WjR4T29NVjJnMDBieVdwczNxblJObHpnY3ciLCJtYWMiOiI5MDEzMjQ5MDRmMTRhOTZhNWZiNGFlMjMzOTRmZThmMDU3NGRiNDI0Y2VmOTNhZDhiN2NmMDgwMTlhOWQ1ZmQ0IiwidGFnIjoiIn0%3D; expires=Fri, 14-Feb-2025 21:20:38 GMT; Max-Age=7200; path=/; samesite=lax -Set-Cookie: laravel_session=eyJpdiI6IkZsdWZoa1pZUUt6SjdXc2lBY2JkTEE9PSIsInZhbHVlIjoicHJsVFpIZEt6bWVhSjZVMlYrRTlFS0lqYzNJbndZdlRBM0VuV1UrRW1ZOGRoaWRoS3cvWGQ0S2d5bmlvb2xPSGVLQlAzblhNbDZxMnhreU5ob0RLV0dCMldyeU1uYXV0WDBuWlp0NkoxQUEzTE5KTm1zVFB4amt6SEF4SjVKUUoiLCJtYWMiOiJjZWI4YjU3MGM5ZjliNGRmMzFjYzI1YTA3NzFkYzQxNjgwN2EyNzhlMzJhYjZjMDI5OTliMmM4Mjk0NDViZmM4IiwidGFnIjoiIn0%3D; expires=Fri, 14-Feb-2025 21:20:38 GMT; Max-Age=7200; path=/; httponly; samesite=lax -Content-Type: text/html; charset=UTF-8 - diff --git a/Backend/Scripts/80Header51.txt b/Backend/Scripts/80Header51.txt deleted file mode 100644 index ea75dfd..0000000 --- a/Backend/Scripts/80Header51.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.1.46:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header52.txt b/Backend/Scripts/80Header52.txt deleted file mode 100644 index faa29dd..0000000 --- a/Backend/Scripts/80Header52.txt +++ /dev/null @@ -1,28 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.96:80... -* Connected to 152.0.0.96 (152.0.0.96) port 80 - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> HEAD / HTTP/1.1 -> Host: 152.0.0.96 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< Server: Mini web server 1.0 ZTE corp 2005. -< Content-Type: text/html; charset=UTF-8 -< Accept-Ranges: bytes -< Connection: close -< Cache-Control: no-cache,no-store -< Content-Length: 5540 -< - 0 5540 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 200 OK -Server: Mini web server 1.0 ZTE corp 2005. -Content-Type: text/html; charset=UTF-8 -Accept-Ranges: bytes -Connection: close -Cache-Control: no-cache,no-store -Content-Length: 5540 - diff --git a/Backend/Scripts/80Header53.txt b/Backend/Scripts/80Header53.txt deleted file mode 100644 index e07d536..0000000 --- a/Backend/Scripts/80Header53.txt +++ /dev/null @@ -1,24 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 136.0.1.72:80... -* Connected to 136.0.1.72 (136.0.1.72) port 80 -> HEAD / HTTP/1.1 -> Host: 136.0.1.72 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< Date: Fri, 14 Feb 2025 19:20:32 GMT -< Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/8.0.2 -< X-Powered-By: PHP/8.0.2 -< Content-Type: text/html; charset=UTF-8 -< - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 136.0.1.72 left intact -HTTP/1.1 200 OK -Date: Fri, 14 Feb 2025 19:20:32 GMT -Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/8.0.2 -X-Powered-By: PHP/8.0.2 -Content-Type: text/html; charset=UTF-8 - diff --git a/Backend/Scripts/80Header54.txt b/Backend/Scripts/80Header54.txt deleted file mode 100644 index b481fa7..0000000 --- a/Backend/Scripts/80Header54.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 122.0.0.79:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header55.txt b/Backend/Scripts/80Header55.txt deleted file mode 100644 index 350a5cb..0000000 --- a/Backend/Scripts/80Header55.txt +++ /dev/null @@ -1,32 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.1.95:80... -* Connected to 152.0.1.95 (152.0.1.95) port 80 -> HEAD / HTTP/1.1 -> Host: 152.0.1.95 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 301 Moved Permanently -< X-Frame-Options: SAMEORIGIN -< Content-Security-Policy: frame-ancestors 'self' -< X-XSS-Protection: 1; mode=block -< Strict-Transport-Security: max-age=63072000 -< location: https://152.0.1.95:10443/ -< Date: Fri, 14 Feb 2025 19:20:37 GMT -< Connection: keep-alive -< Keep-Alive: timeout=5 -< - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 152.0.1.95 left intact -HTTP/1.1 301 Moved Permanently -X-Frame-Options: SAMEORIGIN -Content-Security-Policy: frame-ancestors 'self' -X-XSS-Protection: 1; mode=block -Strict-Transport-Security: max-age=63072000 -location: https://152.0.1.95:10443/ -Date: Fri, 14 Feb 2025 19:20:37 GMT -Connection: keep-alive -Keep-Alive: timeout=5 - diff --git a/Backend/Scripts/80Header56.txt b/Backend/Scripts/80Header56.txt deleted file mode 100644 index f0c0788..0000000 --- a/Backend/Scripts/80Header56.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.229:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header57.txt b/Backend/Scripts/80Header57.txt deleted file mode 100644 index 0372211..0000000 --- a/Backend/Scripts/80Header57.txt +++ /dev/null @@ -1,14 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.178:80... -* Connected to 152.0.0.178 (152.0.0.178) port 80 -> HEAD / HTTP/1.1 -> Host: 152.0.0.178 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0* Empty reply from server - 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 -* shutting down connection #0 -curl: (52) Empty reply from server diff --git a/Backend/Scripts/80Header58.txt b/Backend/Scripts/80Header58.txt deleted file mode 100644 index 701e297..0000000 --- a/Backend/Scripts/80Header58.txt +++ /dev/null @@ -1,41 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 190.0.0.38:80... -* Connected to 190.0.0.38 (190.0.0.38) port 80 -> HEAD / HTTP/1.1 -> Host: 190.0.0.38 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< CONNECTION: keep-alive -< Date: Fri, 14 Feb 2025 14:20:28 GMT -< Last-Modified: Thu, 02 Nov 2023 19:43:45 GMT -< Etag: "1698954225:2002" -< CONTENT-LENGTH: 8194 -< CACHE-CONTROL: max-age=0 -< P3P: CP=CAO PSA OUR -< X-Frame-Options: SAMEORIGIN -< X-XSS-Protection: 1;mode=block -< Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-eval' -< X-Content-Type-Options: nosniff -< CONTENT-TYPE: text/html -< -{ [1035 bytes data] - 0 8194 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 200 OK -CONNECTION: keep-alive -Date: Fri, 14 Feb 2025 14:20:28 GMT -Last-Modified: Thu, 02 Nov 2023 19:43:45 GMT -Etag: "1698954225:2002" -CONTENT-LENGTH: 8194 -CACHE-CONTROL: max-age=0 -P3P: CP=CAO PSA OUR -X-Frame-Options: SAMEORIGIN -X-XSS-Protection: 1;mode=block -Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-eval' -X-Content-Type-Options: nosniff -CONTENT-TYPE: text/html - diff --git a/Backend/Scripts/80Header59.txt b/Backend/Scripts/80Header59.txt deleted file mode 100644 index c331d05..0000000 --- a/Backend/Scripts/80Header59.txt +++ /dev/null @@ -1,28 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 190.0.0.34:80... -* Connected to 190.0.0.34 (190.0.0.34) port 80 -> HEAD / HTTP/1.1 -> Host: 190.0.0.34 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 302 Moved Temporarily -< Server: nginx -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Content-Type: text/html -< Content-Length: 138 -< Connection: keep-alive -< Location: https://190.0.0.34/ -< - 0 138 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 190.0.0.34 left intact -HTTP/1.1 302 Moved Temporarily -Server: nginx -Date: Fri, 14 Feb 2025 19:20:38 GMT -Content-Type: text/html -Content-Length: 138 -Connection: keep-alive -Location: https://190.0.0.34/ - diff --git a/Backend/Scripts/80Header6.txt b/Backend/Scripts/80Header6.txt deleted file mode 100644 index dfed3b9..0000000 --- a/Backend/Scripts/80Header6.txt +++ /dev/null @@ -1,36 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 168.0.0.6:80... -* Connected to 168.0.0.6 (168.0.0.6) port 80 -> HEAD / HTTP/1.1 -> Host: 168.0.0.6 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 302 Found -< X-Powered-By: Express -< Access-Control-Allow-Headers: * -< Access-Control-Allow-Origin: * -< Location: https://168.0.0.6/ -< Vary: Accept -< Content-Type: text/plain; charset=utf-8 -< Content-Length: 40 -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Connection: keep-alive -< Keep-Alive: timeout=5 -< - 0 40 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 168.0.0.6 left intact -HTTP/1.1 302 Found -X-Powered-By: Express -Access-Control-Allow-Headers: * -Access-Control-Allow-Origin: * -Location: https://168.0.0.6/ -Vary: Accept -Content-Type: text/plain; charset=utf-8 -Content-Length: 40 -Date: Fri, 14 Feb 2025 19:20:38 GMT -Connection: keep-alive -Keep-Alive: timeout=5 - diff --git a/Backend/Scripts/80Header60.txt b/Backend/Scripts/80Header60.txt deleted file mode 100644 index 6e02b57..0000000 --- a/Backend/Scripts/80Header60.txt +++ /dev/null @@ -1,14 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.167:80... -* Connected to 72.0.3.167 (72.0.3.167) port 80 -> HEAD / HTTP/1.1 -> Host: 72.0.3.167 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/80Header61.txt b/Backend/Scripts/80Header61.txt deleted file mode 100644 index 61ab21f..0000000 --- a/Backend/Scripts/80Header61.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.84:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header62.txt b/Backend/Scripts/80Header62.txt deleted file mode 100644 index 8255f53..0000000 --- a/Backend/Scripts/80Header62.txt +++ /dev/null @@ -1,28 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.3:80... -* Connected to 188.0.0.3 (188.0.0.3) port 80 -> HEAD / HTTP/1.1 -> Host: 188.0.0.3 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 302 Moved Temporarily -< Server: nginx/1.21.3 -< Date: Fri, 14 Feb 2025 19:20:38 GMT -< Content-Type: text/html -< Content-Length: 145 -< Connection: keep-alive -< Location: https://balans.rastrnet.ru/ -< - 0 145 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* Connection #0 to host 188.0.0.3 left intact -HTTP/1.1 302 Moved Temporarily -Server: nginx/1.21.3 -Date: Fri, 14 Feb 2025 19:20:38 GMT -Content-Type: text/html -Content-Length: 145 -Connection: keep-alive -Location: https://balans.rastrnet.ru/ - diff --git a/Backend/Scripts/80Header63.txt b/Backend/Scripts/80Header63.txt deleted file mode 100644 index 54eb9e0..0000000 --- a/Backend/Scripts/80Header63.txt +++ /dev/null @@ -1,7 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 152.0.0.4:80... - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Connection timed out after 10002 milliseconds - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Connection timed out after 10002 milliseconds diff --git a/Backend/Scripts/80Header7.txt b/Backend/Scripts/80Header7.txt deleted file mode 100644 index 1e53253..0000000 --- a/Backend/Scripts/80Header7.txt +++ /dev/null @@ -1,28 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 148.0.0.146:80... -* Connected to 148.0.0.146 (148.0.0.146) port 80 -> HEAD / HTTP/1.1 -> Host: 148.0.0.146 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -< HTTP/1.1 200 OK -< Server: Mini web server 1.0 ZTE corp 2005. -< Content-Type: text/html; charset=UTF-8 -< Accept-Ranges: bytes -< Connection: close -< Cache-Control: no-cache,no-store -< Content-Length: 5543 -< - 0 5543 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -HTTP/1.1 200 OK -Server: Mini web server 1.0 ZTE corp 2005. -Content-Type: text/html; charset=UTF-8 -Accept-Ranges: bytes -Connection: close -Cache-Control: no-cache,no-store -Content-Length: 5543 - diff --git a/Backend/Scripts/80Header8.txt b/Backend/Scripts/80Header8.txt deleted file mode 100644 index c6e89ad..0000000 --- a/Backend/Scripts/80Header8.txt +++ /dev/null @@ -1,14 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 72.0.3.169:80... -* Connected to 72.0.3.169 (72.0.3.169) port 80 -> HEAD / HTTP/1.1 -> Host: 72.0.3.169 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off - 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:08 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:09 --:--:-- 0* Operation timed out after 10002 milliseconds with 0 bytes received - 0 0 0 0 0 0 0 0 --:--:-- 0:00:10 --:--:-- 0 -* closing connection #0 -curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received diff --git a/Backend/Scripts/80Header9.txt b/Backend/Scripts/80Header9.txt deleted file mode 100644 index 24fff60..0000000 --- a/Backend/Scripts/80Header9.txt +++ /dev/null @@ -1,14 +0,0 @@ - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 188.0.0.1:80... -* Connected to 188.0.0.1 (188.0.0.1) port 80 -> HEAD / HTTP/1.1 -> Host: 188.0.0.1 -> User-Agent: curl/8.9.1 -> Accept: */* -> -* Request completely sent off -* Empty reply from server - 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 -* shutting down connection #0 -curl: (52) Empty reply from server From c7fcc3297fc1523e5ff025d1a577f0de564f3ab4 Mon Sep 17 00:00:00 2001 From: Rasmus Date: Sat, 5 Apr 2025 11:28:54 +0200 Subject: [PATCH 7/7] Reduced the memory usage, as well as hopefully fixing the memory leak. Also implemented database compression across rows, including Brotli compression and bitshifting. --- Backend/Handler/IpScanner.cs | 24 ++-- Backend/Handler/ThreadHandler.cs | 9 +- Models/BackupDB/Filtered.db | Bin 118784 -> 110592 bytes Models/BackupDB/PreFiltered.db | Bin 16384 -> 0 bytes Models/BackupDB/ScannerResume.db | Bin 8192 -> 12288 bytes Models/Handler/DbHandler.cs | 181 ++++++++--------------------- Models/Helper/CompressionHelper.cs | 28 +++++ Models/Model/Backend/IP.cs | 5 + RSE.sln.DotSettings.user | 1 + 9 files changed, 103 insertions(+), 145 deletions(-) delete mode 100644 Models/BackupDB/PreFiltered.db diff --git a/Backend/Handler/IpScanner.cs b/Backend/Handler/IpScanner.cs index 6f9e2f8..8afa19c 100644 --- a/Backend/Handler/IpScanner.cs +++ b/Backend/Handler/IpScanner.cs @@ -145,12 +145,12 @@ public class IpScanner if (i == 192 && k == 2) continue; if (i == 192 && j == 88 && k == 99) continue; - if (_discardedQueue.Count >= 2000) + if (_discardedQueue.Count >= 20_000) { Thread.Sleep(1000); } - if (_preFilteredQueue.Count >= 2000) + if (_preFilteredQueue.Count >= 20_000) { Thread.Sleep(1000); } @@ -170,7 +170,9 @@ public class IpScanner resumeObject.FourthByte = l; break; } - + + + Ip ip = new() { Ip1 = i, @@ -186,19 +188,21 @@ public class IpScanner // Sometimes, if the pinger gets a Destination Unreachable Communication administratively prohibited response, the pinger will throw an exception. // https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol?useskin=vector#Control_messages //_ = IPAddress.TryParse(ip.ToString(), out IPAddress? address); - - if (i % 2 == 0) + + responseCode = CustomPing.SendIcmpEchoRequestOverRawSocket(Parse(ip.ToString()), _timeout); + + /*if (l % 2 == 0) { responseCode = IPStatus.Success; } else { responseCode = IPStatus.TimedOut; - } + }*/ - //CustomPing.SendIcmpEchoRequestOverRawSocket(Parse(ip.ToString()), _timeout); - Thread.Sleep(16); + //responseCode = IPStatus.TimedOut; + //Thread.Sleep(0); } catch { @@ -233,10 +237,10 @@ public class IpScanner resumeObject.FirstByte = i; break; } - - Console.WriteLine($"Thread ({scanSettings.ThreadNumber}) is at index ({i}) out of ({scanSettings.End}). Remaining ({scanSettings.End - i})"); } + Console.WriteLine($"Thread ({scanSettings.ThreadNumber}) stopped."); + if (_stop) { resumeObject.Paused = true; diff --git a/Backend/Handler/ThreadHandler.cs b/Backend/Handler/ThreadHandler.cs index 0ac28b0..e819f51 100644 --- a/Backend/Handler/ThreadHandler.cs +++ b/Backend/Handler/ThreadHandler.cs @@ -15,8 +15,8 @@ public class ThreadHandler private bool _contentFilterStopped; private bool _ipFilterStopped; - private bool _stage1; - private bool _stage2 = true; + private bool _stage1 = true; + private bool _stage2; private bool _stage3; ConcurrentQueue filteredQueue = new(); @@ -54,10 +54,12 @@ public class ThreadHandler prefilterDb.Start(); // de-queues from preFilteredQueue scanner.Start(); // en-queues to discardedQueue and preFilteredQueue resume.Start(); // de-queues from resumeQueue + + scanner.Join(); + Stop(); discarded.Join(); prefilterDb.Join(); - scanner.Join(); resume.Join(); } @@ -205,6 +207,7 @@ public class ThreadHandler Console.WriteLine("Stopping Super Extra..."); _dbHandler.Stop(); + Console.WriteLine("Stopped."); } } \ No newline at end of file diff --git a/Models/BackupDB/Filtered.db b/Models/BackupDB/Filtered.db index ccb8ab2383d3860d6f1e6053719d5b8f77ad2acb..a1172a10b5f4a58021ac01492f6e3c0dcb57d763 100644 GIT binary patch delta 197 zcmZozz~1nHZGyBQHvgT!nH$SIBGfTjBmH@^-_L~$~1h%s@Ffu7{bTROsX6s^L*v_|rv4o8$Ge1w< zImp#f>D^;CAB!YD6^mhs0%E~ WgCqb}BDP)O1mgqt>8IB-ngRfst2l1} delta 356 zcmZp8z}B#UeS)+g4+8^(EEF>VX{Cue#-cn7dht@MKprFiZy?Da&HtPK+jfBoj9XYY zYp|W;1WB<N!*OgvK(%iIVGt@sVR#D3>GOU zU`3l0SQNIiOkiXZ;P}PBf12$VThn&F1&k$ZAUAP<>}6o!be!I|j4{v}DDXyHU!QR? zkntGASd?Fqn3R(Wv~QxHB)hn*EKCGuF^ra(zG@lcx$Q5OGfHqQ5)haez|P7DG*}Yo zVh;AeiJ3snAafaE#wEp#(>K%SA{ zr^$R?co&`4+p!o*rc!R)?y>rq-E?~n8?%ll43rGDXsXmKURPAAcrpr2MEbHhN}*hs{HAjcMcB^q|#eIeuq` z5J6m!Ps@uorI6&lW3Nw=I}p<&wVnlb*&>DRLBS?^J7Mt68fWZL{7m+@+D30wG^2WXpwQIh)%kBp0W?pS`h{ zRlH%>N$nl{P3^8zF&2;eS~6RQb<>*#`;leH61L_JKH;zYf#2~fe$G35k8krlPxE;$ zvkx|AV_Q?NS%<3<@kX#%*`m~WtL6e#lNv5hqD&&_gwP0#;0f+sRD6`74;L_SP>uX% zQ6a5oP>!`Q3LYg?Y=G57>Zu`rQ$R0fI}Sx_m9--m7HEwC delta 85 zcmZojXmFSyEx3h&fq@B#VL)M`jxqlh2EBMGUZ4;o-)08B&6^DcT=`_0ycpTVB_$bK a@=Fqva#Dj*i%WB%B-7^ee1?pR6a)a&3=|On diff --git a/Models/Handler/DbHandler.cs b/Models/Handler/DbHandler.cs index 6175f47..6e4d3ff 100644 --- a/Models/Handler/DbHandler.cs +++ b/Models/Handler/DbHandler.cs @@ -1,5 +1,7 @@ using System.Collections.Concurrent; using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Text; using Microsoft.Data.Sqlite; using Models.Helper; using Models.Model.Backend; @@ -75,8 +77,8 @@ public class DbHandler private const string InsertIntoDiscarded = "PRAGMA synchronous = OFF; PRAGMA temp_store = MEMORY;" + " PRAGMA journal_mode = MEMORY; PRAGMA foreign_keys = off;" + - " INSERT INTO Discarded (Ip1, Ip2, Ip3, Ip4, ResponseCode)" + - " VALUES (@ip1, @ip2, @ip3, @ip4, @responseCode)"; + " INSERT INTO Discarded (PackedData)" + + " VALUES (@packedData)"; private const string InsertIntoResume = "PRAGMA synchronous = OFF; PRAGMA temp_store = MEMORY;" + " PRAGMA journal_mode = MEMORY; PRAGMA foreign_keys = off;" + @@ -263,7 +265,7 @@ public class DbHandler Thread f = new (DiscardedDbHandler!); f.Start(discardedDbHandlerSetting); - Thread.Sleep(5000); + Thread.Sleep(150); } return waitHandles; @@ -278,7 +280,16 @@ public class DbHandler int i = 0; - while (!_stop) + SqliteConnection connection = new(connectionString); + connection.Open(); + + SqliteCommand command = new(InsertIntoDiscarded, connection); + + StringBuilder stringBuilder = new(); + + bool running = true; + + while (!_stop && running) { if (_discardedQueue.IsEmpty || _pause) { @@ -286,31 +297,46 @@ public class DbHandler _paused = true; continue; } - - if (i >= 5_000_000 && !_compressing) + + if (_stop && _discardedQueue.IsEmpty) { - _compressing = true; - - i = 0; - - InsertCompressedDatabase(discardedDbHandlerSetting.ThreadId, GetDiscardedIndexesForSpecificDb(connectionString)); - - int compressedDatabases = GetDatabasesHelper.GetTotalCompressedDatabases($"{_basePath}/Models"); - - CompressionHelper.CompressFile(absolutePath, $"{absolutePath}_{compressedDatabases}"); - - DropAndCreateDiscarded(discardedDbHandlerSetting.ThreadId); - - _compressing = false; + running = false; } - _discardedQueue.TryDequeue(out Discarded queueItem); + if (i == 2048) + { + command.Parameters.AddWithValue("@packedData", CompressionHelper.CompressString(stringBuilder.ToString())); + _ = command.ExecuteNonQuery(); + + // Re-use the command object. + command.Parameters.Clear(); + + stringBuilder.Clear(); + + i = 0; + } - InsertDiscarded(queueItem, connectionString); + if (_discardedQueue.TryDequeue(out Discarded queueItem)) + { + stringBuilder.Append(queueItem.Ip.PackIp()); + stringBuilder.Append(':'); + stringBuilder.Append(queueItem.ResponseCode); + stringBuilder.Append(','); + } i++; } + if (stringBuilder.Length != 0) + { + command.Parameters.AddWithValue("@packedData", CompressionHelper.CompressString(stringBuilder.ToString())); + _ = command.ExecuteNonQuery(); + } + + connection.Close(); + connection.Dispose(); + command.Dispose(); + discardedDbHandlerSetting.Handle!.Set(); Console.WriteLine("Discarded DbHandler stopped."); @@ -359,23 +385,6 @@ public class DbHandler connection.Close(); } - private static void InsertDiscarded(Discarded discarded, string dbConnectionString) - { - using SqliteConnection connection = new(dbConnectionString); - connection.Open(); - - using SqliteCommand command = new(InsertIntoDiscarded, connection); - - command.Parameters.AddWithValue("@ip1", discarded.Ip.Ip1); - command.Parameters.AddWithValue("@ip2", discarded.Ip.Ip2); - command.Parameters.AddWithValue("@ip3", discarded.Ip.Ip3); - command.Parameters.AddWithValue("@ip4", discarded.Ip.Ip4); - command.Parameters.AddWithValue("@responseCode", discarded.ResponseCode); - _ = command.ExecuteNonQuery(); - - connection.Close(); - } - private void InsertFiltered(Filtered filtered) { using SqliteConnection connection = new(_filteredConnectionString); @@ -544,6 +553,7 @@ public class DbHandler command.Parameters.AddWithValue("@filtered", 0); _ = command.ExecuteNonQuery(); + connection.Close(); } @@ -726,36 +736,6 @@ public class DbHandler return true; } - public List GetSearchResults() - { - lock (_readFilteredLock) - { - using SqliteConnection connection = new(_filteredConnectionString); - connection.Open(); - - using SqliteCommand command = new(ReadFilteredStatement, connection); - using SqliteDataReader reader = command.ExecuteReader(); - - if (!reader.HasRows) - { - return []; - } - - List results = []; - - while (reader.Read()) - { - SearchResult result = new(); - result.Title = reader.GetString(0); - result.Url = reader.GetString(1); - - results.Add(result); - } - - return results; - } - } - public ScannerResumeObject? GetResumeObject(int threadNumber) { lock (_readAndDeleteResumeLock) @@ -791,76 +771,13 @@ public class DbHandler return resumeObject; } } - - public void ReIndex() - { - _pause = true; - Thread.Sleep(5000); // Wait for 5 secs before doing anything with the db So we're sure that no db is open. - - if (!_paused) - { - Thread.Sleep(5000); // Just for safety. - } - - SqliteConnection connection = new(_filteredConnectionString); - connection.Open(); - - SqliteCommand command = new(ReIndexDatabasesStatement, connection); - _ = command.ExecuteNonQuery(); - connection.Close(); - - connection = new(_unfilteredConnectionString); - connection.Open(); - - command = new(ReIndexDatabasesStatement, connection); - _ = command.ExecuteNonQuery(); - connection.Close(); - - connection.Dispose(); - command.Dispose(); - - _pause = false; - _paused = false; - } - - public void Vacuum() - { - _pause = true; - - Thread.Sleep(5000); // Wait for 5 secs before doing anything with the db So we're sure that no db is open. - - if (!_paused) - { - Thread.Sleep(5000); // Just for safety. - } - - SqliteConnection connection = new(_filteredConnectionString); - connection.Open(); - - SqliteCommand command = new(VacuumDatabasesStatement, connection); - _ = command.ExecuteNonQuery(); - connection.Close(); - - connection = new(_unfilteredConnectionString); - connection.Open(); - - command = new(VacuumDatabasesStatement, connection); - _ = command.ExecuteNonQuery(); - connection.Close(); - - connection.Dispose(); - command.Dispose(); - - _pause = false; - _paused = false; - } private (string, string) CreateDiscardedDb(int threadNumber) { string absolutePath = $"{_basePath}/Models/Discarded{threadNumber}.db"; string databaseName = $"Data Source={_basePath}/Models/Discarded{threadNumber}.db"; - const string createStatement = "CREATE TABLE IF NOT EXISTS Discarded (Id INTEGER NOT NULL, Ip1 INTEGER NOT NULL, Ip2 INTEGER NOT NULL, Ip3 INTEGER NOT NULL, Ip4 INTEGER NOT NULL, ResponseCode INTEGER NOT NULL, PRIMARY KEY(Id AUTOINCREMENT))"; + const string createStatement = "CREATE TABLE IF NOT EXISTS Discarded (Id INTEGER NOT NULL, PackedData TEXT NOT NULL, PRIMARY KEY(Id AUTOINCREMENT))"; _discardedConnectionStrings.Add(databaseName); diff --git a/Models/Helper/CompressionHelper.cs b/Models/Helper/CompressionHelper.cs index 64b8a5c..88eada1 100644 --- a/Models/Helper/CompressionHelper.cs +++ b/Models/Helper/CompressionHelper.cs @@ -1,4 +1,5 @@ using System.IO.Compression; +using System.Text; namespace Models.Helper; @@ -19,4 +20,31 @@ public static class CompressionHelper using GZipStream decompressor = new(compressedFileStream, CompressionMode.Decompress); decompressor.CopyTo(decompressedFileStream); } + + public static string CompressString(string text) + { + byte[] byteArray = Encoding.UTF8.GetBytes(text); + + using MemoryStream memoryStream = new(); + + using (BrotliStream compressionStream = new(memoryStream, CompressionLevel.SmallestSize)) + { + compressionStream.Write(byteArray, 0, byteArray.Length); + } + + return Convert.ToBase64String(memoryStream.ToArray()); + } + + public static string DecompressString(string compressedText) + { + byte[] byteArray = Convert.FromBase64String(compressedText); + + using MemoryStream memoryStream = new(byteArray); + + using BrotliStream decompressionStream = new(memoryStream, CompressionMode.Decompress); + + using StreamReader reader = new(decompressionStream); + + return reader.ReadToEnd(); + } } \ No newline at end of file diff --git a/Models/Model/Backend/IP.cs b/Models/Model/Backend/IP.cs index 3b835e1..bf0d88a 100644 --- a/Models/Model/Backend/IP.cs +++ b/Models/Model/Backend/IP.cs @@ -14,4 +14,9 @@ public struct Ip { return $"{Ip1}.{Ip2}.{Ip3}.{Ip4}"; } + + public uint PackIp() + { + return (uint)(Ip1 << 24) | (uint)(Ip2 << 16) | (uint)(Ip3 << 8) | (uint)Ip4; + } } \ No newline at end of file diff --git a/RSE.sln.DotSettings.user b/RSE.sln.DotSettings.user index 92f946d..f09b7a2 100644 --- a/RSE.sln.DotSettings.user +++ b/RSE.sln.DotSettings.user @@ -16,6 +16,7 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded

P 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