diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/BaseTests.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/BaseTests.cs new file mode 100644 index 000000000000..29d8cc1141b1 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/BaseTests.cs @@ -0,0 +1,28 @@ +using Microsoft.CognitiveServices.Language.TextAnalytics; +using System.Net.Http; + +namespace Language.Tests +{ + public abstract class BaseTests + { + public static bool IsTestTenant = false; + private static string SubscriptionKey = ""; + private static string Region = null; + + static BaseTests() + { + // Retrieve the configuration information. + + Region = "WestUS"; + } + + protected ITextAnalyticsAPI GetClient(DelegatingHandler handler) + { + ITextAnalyticsAPI client; + client = new TextAnalyticsAPI(handlers: handler); + client.SubscriptionKey = SubscriptionKey; + + return client; + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/Microsoft.CognitiveServices.Language.Tests.csproj b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/Microsoft.CognitiveServices.Language.Tests.csproj new file mode 100644 index 000000000000..0100c98c660a --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/Microsoft.CognitiveServices.Language.Tests.csproj @@ -0,0 +1,30 @@ + + + + Microsoft.CognitiveServices.Language.Tests + Microsoft.CognitiveServices.Language.Tests Class Library + Microsoft.CognitiveServices.Language.Tests + 1.0.0-preview + + + netcoreapp1.1 + Language.Tests + + + + + + + + + PreserveNewest + + + + + + + + + + diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/SessionRecords/Language.TextAnalytics.Tests.DetectLanguageTests/DetectLanguage.json b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/SessionRecords/Language.TextAnalytics.Tests.DetectLanguageTests/DetectLanguage.json new file mode 100644 index 000000000000..09efd652ef69 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/SessionRecords/Language.TextAnalytics.Tests.DetectLanguageTests/DetectLanguage.json @@ -0,0 +1,55 @@ +{ + "Entries": [ + { + "RequestUri": "/text/analytics/v2.0/languages", + "EncodedRequestUri": "L3RleHQvYW5hbHl0aWNzL3YyLjAvbGFuZ3VhZ2Vz", + "RequestMethod": "POST", + "RequestBody": "{\r\n \"documents\": [\r\n {\r\n \"id\": \"id\",\r\n \"text\": \"I love my team mates\"\r\n }\r\n ]\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "98" + ], + "Ocp-Apim-Subscription-Key": [ + "" + ], + "User-Agent": [ + "FxVersion/4.6.25211.01", + "Microsoft.CognitiveServices.Language.TextAnalytics.TextAnalyticsAPI/1.0.0" + ] + }, + "ResponseBody": "{\r\n \"documents\": [\r\n {\r\n \"id\": \"id\",\r\n \"detectedLanguages\": [\r\n {\r\n \"name\": \"English\",\r\n \"iso6391Name\": \"en\",\r\n \"score\": 1.0\r\n }\r\n ]\r\n }\r\n ],\r\n \"errors\": []\r\n}", + "ResponseHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Date": [ + "Wed, 30 Aug 2017 02:11:18 GMT" + ], + "Transfer-Encoding": [ + "chunked" + ], + "x-ms-transaction-count": [ + "1" + ], + "x-aml-ta-request-id": [ + "473e3a1f-cf5e-4230-85b5-68fe2518370f" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "apim-request-id": [ + "69e6aeb0-e601-42ca-9468-f0cfaa408708" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains; preload" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": {} +} \ No newline at end of file diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/SessionRecords/Language.TextAnalytics.Tests.KeyPhrasesTests/KeyPhrases.json b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/SessionRecords/Language.TextAnalytics.Tests.KeyPhrasesTests/KeyPhrases.json new file mode 100644 index 000000000000..eefb0cd06cd0 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/SessionRecords/Language.TextAnalytics.Tests.KeyPhrasesTests/KeyPhrases.json @@ -0,0 +1,55 @@ +{ + "Entries": [ + { + "RequestUri": "/text/analytics/v2.0/keyPhrases", + "EncodedRequestUri": "L3RleHQvYW5hbHl0aWNzL3YyLjAva2V5UGhyYXNlcw==", + "RequestMethod": "POST", + "RequestBody": "{\r\n \"documents\": [\r\n {\r\n \"language\": \"en\",\r\n \"id\": \"id\",\r\n \"text\": \"I love my team mates\"\r\n }\r\n ]\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "123" + ], + "Ocp-Apim-Subscription-Key": [ + "" + ], + "User-Agent": [ + "FxVersion/4.6.25211.01", + "Microsoft.CognitiveServices.Language.TextAnalytics.TextAnalyticsAPI/1.0.0" + ] + }, + "ResponseBody": "{\r\n \"documents\": [\r\n {\r\n \"keyPhrases\": [\r\n \"team mates\"\r\n ],\r\n \"id\": \"id\"\r\n }\r\n ],\r\n \"errors\": []\r\n}", + "ResponseHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Date": [ + "Wed, 30 Aug 2017 02:11:17 GMT" + ], + "Transfer-Encoding": [ + "chunked" + ], + "x-ms-transaction-count": [ + "1" + ], + "x-aml-ta-request-id": [ + "460baaca-7f57-42c1-8cc7-8852957d05b9" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "apim-request-id": [ + "3f09b1c9-fe3b-46bb-badf-98108c599825" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains; preload" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": {} +} \ No newline at end of file diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/SessionRecords/Language.TextAnalytics.Tests.SentimentTests/Sentiment.json b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/SessionRecords/Language.TextAnalytics.Tests.SentimentTests/Sentiment.json new file mode 100644 index 000000000000..c5f620b0eadf --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/SessionRecords/Language.TextAnalytics.Tests.SentimentTests/Sentiment.json @@ -0,0 +1,55 @@ +{ + "Entries": [ + { + "RequestUri": "/text/analytics/v2.0/sentiment", + "EncodedRequestUri": "L3RleHQvYW5hbHl0aWNzL3YyLjAvc2VudGltZW50", + "RequestMethod": "POST", + "RequestBody": "{\r\n \"documents\": [\r\n {\r\n \"language\": \"en\",\r\n \"id\": \"id\",\r\n \"text\": \"I love my team mates\"\r\n }\r\n ]\r\n}", + "RequestHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "123" + ], + "Ocp-Apim-Subscription-Key": [ + "" + ], + "User-Agent": [ + "FxVersion/4.6.25211.01", + "Microsoft.CognitiveServices.Language.TextAnalytics.TextAnalyticsAPI/1.0.0" + ] + }, + "ResponseBody": "{\r\n \"documents\": [\r\n {\r\n \"score\": 0.97380387783050537,\r\n \"id\": \"id\"\r\n }\r\n ],\r\n \"errors\": []\r\n}", + "ResponseHeaders": { + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Date": [ + "Wed, 30 Aug 2017 02:11:17 GMT" + ], + "Transfer-Encoding": [ + "chunked" + ], + "x-ms-transaction-count": [ + "1" + ], + "x-aml-ta-request-id": [ + "06db056b-1bf0-4994-933a-f08eacf94053" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "apim-request-id": [ + "63c5b90f-3a35-48c3-bb85-d89218d1202e" + ], + "Strict-Transport-Security": [ + "max-age=31536000; includeSubDomains; preload" + ] + }, + "StatusCode": 200 + } + ], + "Names": {}, + "Variables": {} +} \ No newline at end of file diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/TextAnalytics/DetectLanguageTests.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/TextAnalytics/DetectLanguageTests.cs new file mode 100644 index 000000000000..3e647529e8ea --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/TextAnalytics/DetectLanguageTests.cs @@ -0,0 +1,34 @@ +using Language.Tests; +using Microsoft.Azure.Test.HttpRecorder; +using Microsoft.CognitiveServices.Language.TextAnalytics; +using Microsoft.CognitiveServices.Language.TextAnalytics.Models; +using Microsoft.Rest.ClientRuntime.Azure.TestFramework; +using System.Collections.Generic; +using Xunit; + +namespace Language.TextAnalytics.Tests +{ + public class DetectLanguageTests : BaseTests + { + [Fact] + public void DetectLanguage() + { + using (MockContext context = MockContext.Start(this.GetType().FullName)) + { + HttpMockServer.Initialize(this.GetType().FullName, "DetectLanguage"); + ITextAnalyticsAPI client = GetClient(HttpMockServer.CreateInstance()); + LanguageBatchResultV2 result = client.DetectLanguage( + new BatchInputV2( + new List() + { + new InputV2("id","I love my team mates") + })); + + Assert.Equal("English", result.Documents[0].DetectedLanguages[0].Name); + Assert.Equal("en", result.Documents[0].DetectedLanguages[0].Iso6391Name); + Assert.True(result.Documents[0].DetectedLanguages[0].Score > 0.7); + context.Stop(); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/TextAnalytics/KeyPhrasesTests.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/TextAnalytics/KeyPhrasesTests.cs new file mode 100644 index 000000000000..f903b9c4d4b1 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/TextAnalytics/KeyPhrasesTests.cs @@ -0,0 +1,36 @@ +using Language.Tests; +using Microsoft.Azure.Test.HttpRecorder; +using Microsoft.CognitiveServices.Language.TextAnalytics; +using Microsoft.CognitiveServices.Language.TextAnalytics.Models; +using Microsoft.Rest.ClientRuntime.Azure.TestFramework; +using System.Collections.Generic; +using Xunit; + +namespace Language.TextAnalytics.Tests +{ + public class KeyPhrasesTests : BaseTests + { + [Fact] + public void KeyPhrases() + { + using (MockContext context = MockContext.Start(this.GetType().FullName)) + { + HttpMockServer.Initialize(this.GetType().FullName, "KeyPhrases"); + ITextAnalyticsAPI client = GetClient(HttpMockServer.CreateInstance()); + KeyPhraseBatchResultV2 result = client.KeyPhrases( + new MultiLanguageBatchInputV2( + new List() + { + new MultiLanguageInputV2() + { + Id ="id", + Text ="I love my team mates", + Language ="en" + } + })); + + Assert.Equal("team mates", result.Documents[0].KeyPhrases[0]); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/TextAnalytics/SentimentTests.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/TextAnalytics/SentimentTests.cs new file mode 100644 index 000000000000..d91ba9edada7 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.Tests/TextAnalytics/SentimentTests.cs @@ -0,0 +1,36 @@ +using Language.Tests; +using Microsoft.Azure.Test.HttpRecorder; +using Microsoft.CognitiveServices.Language.TextAnalytics; +using Microsoft.CognitiveServices.Language.TextAnalytics.Models; +using Microsoft.Rest.ClientRuntime.Azure.TestFramework; +using System.Collections.Generic; +using Xunit; + +namespace Language.TextAnalytics.Tests +{ + public class SentimentTests : BaseTests + { + [Fact] + public void Sentiment() + { + using (MockContext context = MockContext.Start(this.GetType().FullName)) + { + HttpMockServer.Initialize(this.GetType().FullName, "Sentiment"); + ITextAnalyticsAPI client = GetClient(HttpMockServer.CreateInstance()); + SentimentBatchResultV2 result = client.Sentiment( + new MultiLanguageBatchInputV2( + new List() + { + new MultiLanguageInputV2() + { + Id ="id", + Text ="I love my team mates", + Language ="en" + } + })); + + Assert.True(result.Documents[0].Score > 0); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.sln b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.sln new file mode 100644 index 000000000000..eb7dbc626eaa --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26430.16 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CognitiveServices.Language", "Microsoft.CognitiveServices.Language\Microsoft.CognitiveServices.Language.csproj", "{6807B854-8528-4FEE-A25D-C43C3AA2D601}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CognitiveServices.Language.Tests", "Microsoft.CognitiveServices.Language.Tests\Microsoft.CognitiveServices.Language.Tests.csproj", "{5987D97A-E532-450C-BF22-A1F595C927F1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6807B854-8528-4FEE-A25D-C43C3AA2D601}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6807B854-8528-4FEE-A25D-C43C3AA2D601}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6807B854-8528-4FEE-A25D-C43C3AA2D601}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6807B854-8528-4FEE-A25D-C43C3AA2D601}.Release|Any CPU.Build.0 = Release|Any CPU + {5987D97A-E532-450C-BF22-A1F595C927F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5987D97A-E532-450C-BF22-A1F595C927F1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5987D97A-E532-450C-BF22-A1F595C927F1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5987D97A-E532-450C-BF22-A1F595C927F1}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/ITextAnalyticsAPI.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/ITextAnalyticsAPI.cs new file mode 100644 index 000000000000..24cbe8bc6f7c --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/ITextAnalyticsAPI.cs @@ -0,0 +1,125 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.Rest; + using Models; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + + /// + /// The Text Analytics API is a suite of text analytics web services built + /// with best-in-class Microsoft machine learning algorithms. + /// The API can be used to analyze unstructured text for tasks such as + /// sentiment analysis, key phrase extraction and language detection. + /// No training data is needed to use this API; just bring your text data. + /// This API uses advanced natural language processing techniques to + /// deliver best in class predictions. + /// + /// Further documentation can be found in + /// https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview + /// + public partial interface ITextAnalyticsAPI : System.IDisposable + { + /// + /// The base URI of the service. + /// + + /// + /// Gets or sets json serialization settings. + /// + JsonSerializerSettings SerializationSettings { get; } + + /// + /// Gets or sets json deserialization settings. + /// + JsonSerializerSettings DeserializationSettings { get; } + + /// + /// Supported Azure regions for Cognitive Services endpoints + /// + string AzureRegion { get; } + + /// + /// Subscription key in header + /// + string SubscriptionKey { get; set; } + + + /// + /// The API returns a list of strings denoting the key talking points + /// in the input text. + /// We employ techniques from Microsoft Office's sophisticated Natural + /// Language Processing toolkit. + /// See the <a + /// href="https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview#supported-languages">Text + /// Analytics Documentation</a> for details about the languages + /// that are supported by key phrase extraction. + /// + /// + /// Collection of documents to analyze. Documents can now contain a + /// language field to indicate the text language + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + Task> KeyPhrasesWithHttpMessagesAsync(MultiLanguageBatchInputV2 input, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + + /// + /// The API returns the detected language and a numeric score between 0 + /// and 1. + /// Scores close to 1 indicate 100% certainty that the identified + /// language is true. + /// A total of 120 languages are supported. + /// + /// + /// Collection of documents to analyze. + /// + /// + /// (Optional. Deprecated) Number of languages to detect. Set to 1 by + /// default. Irrespective of the value, the language with the highest + /// score is returned. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + Task> DetectLanguageWithHttpMessagesAsync(BatchInputV2 input, int? numberOfLanguagesToDetect = default(int?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + + /// + /// The API returns a numeric score between 0 and 1. + /// Scores close to 1 indicate positive sentiment, while scores close + /// to 0 indicate negative sentiment. + /// Sentiment score is generated using classification techniques. + /// The input features to the classifier include n-grams, features + /// generated from part-of-speech tags, and word embeddings. + /// See the <a + /// href="https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview#supported-languages">Text + /// Analytics Documentation</a> for details about the languages + /// that are supported by sentiment analysis. + /// + /// + /// Collection of documents to analyze. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + Task> SentimentWithHttpMessagesAsync(MultiLanguageBatchInputV2 input, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/BatchInputV2.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/BatchInputV2.cs new file mode 100644 index 000000000000..1a0bb77e09d9 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/BatchInputV2.cs @@ -0,0 +1,45 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + public partial class BatchInputV2 + { + /// + /// Initializes a new instance of the BatchInputV2 class. + /// + public BatchInputV2() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the BatchInputV2 class. + /// + public BatchInputV2(IList documents = default(IList)) + { + Documents = documents; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "documents")] + public IList Documents { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/DetectedLanguageV2.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/DetectedLanguageV2.cs new file mode 100644 index 000000000000..f2cfea288215 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/DetectedLanguageV2.cs @@ -0,0 +1,69 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Linq; + + public partial class DetectedLanguageV2 + { + /// + /// Initializes a new instance of the DetectedLanguageV2 class. + /// + public DetectedLanguageV2() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the DetectedLanguageV2 class. + /// + /// Long name of a detected language (e.g. English, + /// French). + /// A two letter representation of the + /// detected language according to the ISO 639-1 standard (e.g. en, + /// fr). + /// A confidence score between 0 and 1. Scores + /// close to 1 indicate 100% certainty that the identified language is + /// true. + public DetectedLanguageV2(string name = default(string), string iso6391Name = default(string), double? score = default(double?)) + { + Name = name; + Iso6391Name = iso6391Name; + Score = score; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets long name of a detected language (e.g. English, + /// French). + /// + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or sets a two letter representation of the detected language + /// according to the ISO 639-1 standard (e.g. en, fr). + /// + [JsonProperty(PropertyName = "iso6391Name")] + public string Iso6391Name { get; set; } + + /// + /// Gets or sets a confidence score between 0 and 1. Scores close to 1 + /// indicate 100% certainty that the identified language is true. + /// + [JsonProperty(PropertyName = "score")] + public double? Score { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/ErrorRecordV2.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/ErrorRecordV2.cs new file mode 100644 index 000000000000..508a7e8e9cfd --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/ErrorRecordV2.cs @@ -0,0 +1,54 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Linq; + + public partial class ErrorRecordV2 + { + /// + /// Initializes a new instance of the ErrorRecordV2 class. + /// + public ErrorRecordV2() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the ErrorRecordV2 class. + /// + /// Input document unique identifier the error refers + /// to. + /// Error message. + public ErrorRecordV2(string id = default(string), string message = default(string)) + { + Id = id; + Message = message; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets input document unique identifier the error refers to. + /// + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// Gets or sets error message. + /// + [JsonProperty(PropertyName = "message")] + public string Message { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/ErrorResponse.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/ErrorResponse.cs new file mode 100644 index 000000000000..bfdec18c125a --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/ErrorResponse.cs @@ -0,0 +1,61 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Linq; + + public partial class ErrorResponse + { + /// + /// Initializes a new instance of the ErrorResponse class. + /// + public ErrorResponse() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the ErrorResponse class. + /// + public ErrorResponse(string code = default(string), string message = default(string), string target = default(string), InternalError innerError = default(InternalError)) + { + Code = code; + Message = message; + Target = target; + InnerError = innerError; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "code")] + public string Code { get; set; } + + /// + /// + [JsonProperty(PropertyName = "message")] + public string Message { get; set; } + + /// + /// + [JsonProperty(PropertyName = "target")] + public string Target { get; set; } + + /// + /// + [JsonProperty(PropertyName = "innerError")] + public InternalError InnerError { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/ErrorResponseException.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/ErrorResponseException.cs new file mode 100644 index 000000000000..6f520ac265df --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/ErrorResponseException.cs @@ -0,0 +1,59 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Microsoft.Rest; + + /// + /// Exception thrown for an invalid response with ErrorResponse + /// information. + /// + public class ErrorResponseException : RestException + { + /// + /// Gets information about the associated HTTP request. + /// + public HttpRequestMessageWrapper Request { get; set; } + + /// + /// Gets information about the associated HTTP response. + /// + public HttpResponseMessageWrapper Response { get; set; } + + /// + /// Gets or sets the body object. + /// + public ErrorResponse Body { get; set; } + + /// + /// Initializes a new instance of the ErrorResponseException class. + /// + public ErrorResponseException() + { + } + + /// + /// Initializes a new instance of the ErrorResponseException class. + /// + /// The exception message. + public ErrorResponseException(string message) + : this(message, null) + { + } + + /// + /// Initializes a new instance of the ErrorResponseException class. + /// + /// The exception message. + /// Inner exception. + public ErrorResponseException(string message, System.Exception innerException) + : base(message, innerException) + { + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/InputV2.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/InputV2.cs new file mode 100644 index 000000000000..ed6712aa2cf9 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/InputV2.cs @@ -0,0 +1,51 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Linq; + + public partial class InputV2 + { + /// + /// Initializes a new instance of the InputV2 class. + /// + public InputV2() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the InputV2 class. + /// + /// Unique, non-empty document identifier. + public InputV2(string id = default(string), string text = default(string)) + { + Id = id; + Text = text; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets unique, non-empty document identifier. + /// + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// + [JsonProperty(PropertyName = "text")] + public string Text { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/InternalError.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/InternalError.cs new file mode 100644 index 000000000000..a77afaa0ad4d --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/InternalError.cs @@ -0,0 +1,55 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Linq; + + public partial class InternalError + { + /// + /// Initializes a new instance of the InternalError class. + /// + public InternalError() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the InternalError class. + /// + public InternalError(string code = default(string), string message = default(string), InternalError innerError = default(InternalError)) + { + Code = code; + Message = message; + InnerError = innerError; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "code")] + public string Code { get; set; } + + /// + /// + [JsonProperty(PropertyName = "message")] + public string Message { get; set; } + + /// + /// + [JsonProperty(PropertyName = "innerError")] + public InternalError InnerError { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/KeyPhraseBatchResultItemV2.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/KeyPhraseBatchResultItemV2.cs new file mode 100644 index 000000000000..5c47442edf2a --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/KeyPhraseBatchResultItemV2.cs @@ -0,0 +1,59 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + public partial class KeyPhraseBatchResultItemV2 + { + /// + /// Initializes a new instance of the KeyPhraseBatchResultItemV2 class. + /// + public KeyPhraseBatchResultItemV2() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the KeyPhraseBatchResultItemV2 class. + /// + /// A list of representative words or phrases. + /// The number of key phrases returned is proportional to the number of + /// words in the input document. + /// Unique document identifier. + public KeyPhraseBatchResultItemV2(IList keyPhrases = default(IList), string id = default(string)) + { + KeyPhrases = keyPhrases; + Id = id; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets a list of representative words or phrases. The number + /// of key phrases returned is proportional to the number of words in + /// the input document. + /// + [JsonProperty(PropertyName = "keyPhrases")] + public IList KeyPhrases { get; set; } + + /// + /// Gets or sets unique document identifier. + /// + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/KeyPhraseBatchResultV2.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/KeyPhraseBatchResultV2.cs new file mode 100644 index 000000000000..61a6900fa0f5 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/KeyPhraseBatchResultV2.cs @@ -0,0 +1,51 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + public partial class KeyPhraseBatchResultV2 + { + /// + /// Initializes a new instance of the KeyPhraseBatchResultV2 class. + /// + public KeyPhraseBatchResultV2() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the KeyPhraseBatchResultV2 class. + /// + public KeyPhraseBatchResultV2(IList documents = default(IList), IList errors = default(IList)) + { + Documents = documents; + Errors = errors; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "documents")] + public IList Documents { get; set; } + + /// + /// + [JsonProperty(PropertyName = "errors")] + public IList Errors { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/LanguageBatchResultItemV2.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/LanguageBatchResultItemV2.cs new file mode 100644 index 000000000000..3070ba9e59ec --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/LanguageBatchResultItemV2.cs @@ -0,0 +1,56 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + public partial class LanguageBatchResultItemV2 + { + /// + /// Initializes a new instance of the LanguageBatchResultItemV2 class. + /// + public LanguageBatchResultItemV2() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the LanguageBatchResultItemV2 class. + /// + /// Unique document identifier. + /// A list of extracted + /// languages. + public LanguageBatchResultItemV2(string id = default(string), IList detectedLanguages = default(IList)) + { + Id = id; + DetectedLanguages = detectedLanguages; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets unique document identifier. + /// + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// Gets or sets a list of extracted languages. + /// + [JsonProperty(PropertyName = "detectedLanguages")] + public IList DetectedLanguages { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/LanguageBatchResultV2.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/LanguageBatchResultV2.cs new file mode 100644 index 000000000000..07e07a4bce0a --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/LanguageBatchResultV2.cs @@ -0,0 +1,51 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + public partial class LanguageBatchResultV2 + { + /// + /// Initializes a new instance of the LanguageBatchResultV2 class. + /// + public LanguageBatchResultV2() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the LanguageBatchResultV2 class. + /// + public LanguageBatchResultV2(IList documents = default(IList), IList errors = default(IList)) + { + Documents = documents; + Errors = errors; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "documents")] + public IList Documents { get; set; } + + /// + /// + [JsonProperty(PropertyName = "errors")] + public IList Errors { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/MultiLanguageBatchInputV2.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/MultiLanguageBatchInputV2.cs new file mode 100644 index 000000000000..30b7df6e3ff8 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/MultiLanguageBatchInputV2.cs @@ -0,0 +1,45 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + public partial class MultiLanguageBatchInputV2 + { + /// + /// Initializes a new instance of the MultiLanguageBatchInputV2 class. + /// + public MultiLanguageBatchInputV2() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the MultiLanguageBatchInputV2 class. + /// + public MultiLanguageBatchInputV2(IList documents = default(IList)) + { + Documents = documents; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "documents")] + public IList Documents { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/MultiLanguageInputV2.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/MultiLanguageInputV2.cs new file mode 100644 index 000000000000..802ee5a252d7 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/MultiLanguageInputV2.cs @@ -0,0 +1,63 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Linq; + + public partial class MultiLanguageInputV2 + { + /// + /// Initializes a new instance of the MultiLanguageInputV2 class. + /// + public MultiLanguageInputV2() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the MultiLanguageInputV2 class. + /// + /// This is the 2 letter ISO 639-1 + /// representation of a language. + /// For example, use "en" for English; "es" for Spanish etc., + /// Unique, non-empty document identifier. + public MultiLanguageInputV2(string language = default(string), string id = default(string), string text = default(string)) + { + Language = language; + Id = id; + Text = text; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets this is the 2 letter ISO 639-1 representation of a + /// language. + /// For example, use "en" for English; "es" for Spanish etc., + /// + [JsonProperty(PropertyName = "language")] + public string Language { get; set; } + + /// + /// Gets or sets unique, non-empty document identifier. + /// + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + /// + /// + [JsonProperty(PropertyName = "text")] + public string Text { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/SentimentBatchResultItemV2.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/SentimentBatchResultItemV2.cs new file mode 100644 index 000000000000..1fb51956b4da --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/SentimentBatchResultItemV2.cs @@ -0,0 +1,61 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Linq; + + public partial class SentimentBatchResultItemV2 + { + /// + /// Initializes a new instance of the SentimentBatchResultItemV2 class. + /// + public SentimentBatchResultItemV2() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the SentimentBatchResultItemV2 class. + /// + /// A decimal number between 0 and 1 denoting the + /// sentiment of the document. + /// A score above 0.7 usually refers to a positive document while a + /// score below 0.3 normally has a negative connotation. + /// Mid values refer to neutral text. + /// Unique document identifier. + public SentimentBatchResultItemV2(double? score = default(double?), string id = default(string)) + { + Score = score; + Id = id; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets a decimal number between 0 and 1 denoting the + /// sentiment of the document. + /// A score above 0.7 usually refers to a positive document while a + /// score below 0.3 normally has a negative connotation. + /// Mid values refer to neutral text. + /// + [JsonProperty(PropertyName = "score")] + public double? Score { get; set; } + + /// + /// Gets or sets unique document identifier. + /// + [JsonProperty(PropertyName = "id")] + public string Id { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/SentimentBatchResultV2.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/SentimentBatchResultV2.cs new file mode 100644 index 000000000000..363b537b84bc --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/Models/SentimentBatchResultV2.cs @@ -0,0 +1,51 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.CognitiveServices.Language.TextAnalytics; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + public partial class SentimentBatchResultV2 + { + /// + /// Initializes a new instance of the SentimentBatchResultV2 class. + /// + public SentimentBatchResultV2() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the SentimentBatchResultV2 class. + /// + public SentimentBatchResultV2(IList documents = default(IList), IList errors = default(IList)) + { + Documents = documents; + Errors = errors; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "documents")] + public IList Documents { get; set; } + + /// + /// + [JsonProperty(PropertyName = "errors")] + public IList Errors { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/TextAnalyticsAPI.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/TextAnalyticsAPI.cs new file mode 100644 index 000000000000..130921c53d8e --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/TextAnalyticsAPI.cs @@ -0,0 +1,637 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Microsoft.Rest; + using Microsoft.Rest.Serialization; + using Models; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + /// + /// The Text Analytics API is a suite of text analytics web services built + /// with best-in-class Microsoft machine learning algorithms. + /// The API can be used to analyze unstructured text for tasks such as + /// sentiment analysis, key phrase extraction and language detection. + /// No training data is needed to use this API; just bring your text data. + /// This API uses advanced natural language processing techniques to + /// deliver best in class predictions. + /// + /// Further documentation can be found in + /// https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview + /// + public partial class TextAnalyticsAPI : ServiceClient, ITextAnalyticsAPI + { + /// + /// The base URI of the service. + /// + internal string BaseUri {get; set;} + + /// + /// Gets or sets json serialization settings. + /// + public JsonSerializerSettings SerializationSettings { get; private set; } + + /// + /// Gets or sets json deserialization settings. + /// + public JsonSerializerSettings DeserializationSettings { get; private set; } + + /// + /// Supported Azure regions for Cognitive Services endpoints + /// + public string AzureRegion { get; private set; } + + /// + /// Subscription key in header + /// + public string SubscriptionKey { get; set; } + + /// + /// Initializes a new instance of the TextAnalyticsAPI class. + /// + /// + /// Optional. The delegating handlers to add to the http client pipeline. + /// + public TextAnalyticsAPI(params DelegatingHandler[] handlers) : base(handlers) + { + Initialize(); + } + + /// + /// Initializes a new instance of the TextAnalyticsAPI class. + /// + /// + /// Optional. The http client handler used to handle http transport. + /// + /// + /// Optional. The delegating handlers to add to the http client pipeline. + /// + public TextAnalyticsAPI(HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : base(rootHandler, handlers) + { + Initialize(); + } + + /// + /// An optional partial-method to perform custom initialization. + /// + partial void CustomInitialize(); + /// + /// Initializes client properties. + /// + private void Initialize() + { + BaseUri = "https://{azureRegion}.api.cognitive.microsoft.com/text/analytics"; + AzureRegion = "westus"; + SerializationSettings = new JsonSerializerSettings + { + Formatting = Newtonsoft.Json.Formatting.Indented, + DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, + DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, + NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, + ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, + ContractResolver = new ReadOnlyJsonContractResolver(), + Converters = new List + { + new Iso8601TimeSpanConverter() + } + }; + DeserializationSettings = new JsonSerializerSettings + { + DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, + DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, + NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, + ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, + ContractResolver = new ReadOnlyJsonContractResolver(), + Converters = new List + { + new Iso8601TimeSpanConverter() + } + }; + CustomInitialize(); + } + /// + /// The API returns a list of strings denoting the key talking points in the + /// input text. + /// We employ techniques from Microsoft Office's sophisticated Natural Language + /// Processing toolkit. + /// See the <a + /// href="https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview#supported-languages">Text + /// Analytics Documentation</a> for details about the languages that are + /// supported by key phrase extraction. + /// + /// + /// Collection of documents to analyze. Documents can now contain a language + /// field to indicate the text language + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> KeyPhrasesWithHttpMessagesAsync(MultiLanguageBatchInputV2 input, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionKey"); + } + if (input == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "input"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("input", input); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "KeyPhrases", tracingParameters); + } + // Construct URL + var _baseUrl = BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2.0/keyPhrases"; + _url = _url.Replace("{azureRegion}", AzureRegion); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(input != null) + { + _requestContent = SafeJsonConvert.SerializeObject(input, SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + ErrorResponse _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// The API returns the detected language and a numeric score between 0 and 1. + /// Scores close to 1 indicate 100% certainty that the identified language is + /// true. + /// A total of 120 languages are supported. + /// + /// + /// Collection of documents to analyze. + /// + /// + /// (Optional. Deprecated) Number of languages to detect. Set to 1 by default. + /// Irrespective of the value, the language with the highest score is returned. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> DetectLanguageWithHttpMessagesAsync(BatchInputV2 input, int? numberOfLanguagesToDetect = default(int?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionKey"); + } + if (input == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "input"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("input", input); + tracingParameters.Add("numberOfLanguagesToDetect", numberOfLanguagesToDetect); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "DetectLanguage", tracingParameters); + } + // Construct URL + var _baseUrl = BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2.0/languages"; + _url = _url.Replace("{azureRegion}", AzureRegion); + List _queryParameters = new List(); + if (numberOfLanguagesToDetect != null) + { + _queryParameters.Add(string.Format("numberOfLanguagesToDetect={0}", System.Uri.EscapeDataString(SafeJsonConvert.SerializeObject(numberOfLanguagesToDetect, SerializationSettings).Trim('"')))); + } + if (_queryParameters.Count > 0) + { + _url += "?" + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(input != null) + { + _requestContent = SafeJsonConvert.SerializeObject(input, SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + ErrorResponse _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// The API returns a numeric score between 0 and 1. + /// Scores close to 1 indicate positive sentiment, while scores close to 0 + /// indicate negative sentiment. + /// Sentiment score is generated using classification techniques. + /// The input features to the classifier include n-grams, features generated + /// from part-of-speech tags, and word embeddings. + /// See the <a + /// href="https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview#supported-languages">Text + /// Analytics Documentation</a> for details about the languages that are + /// supported by sentiment analysis. + /// + /// + /// Collection of documents to analyze. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> SentimentWithHttpMessagesAsync(MultiLanguageBatchInputV2 input, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.SubscriptionKey"); + } + if (input == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "input"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("input", input); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Sentiment", tracingParameters); + } + // Construct URL + var _baseUrl = BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2.0/sentiment"; + _url = _url.Replace("{azureRegion}", AzureRegion); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(input != null) + { + _requestContent = SafeJsonConvert.SerializeObject(input, SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + ErrorResponse _errorBody = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = SafeJsonConvert.DeserializeObject(_responseContent, DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/TextAnalyticsAPIExtensions.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/TextAnalyticsAPIExtensions.cs new file mode 100644 index 000000000000..d8dfcc663f2f --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Generated/TextAnalytics/TextAnalyticsAPIExtensions.cs @@ -0,0 +1,169 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Language.TextAnalytics +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Language; + using Models; + using System.Threading; + using System.Threading.Tasks; + + /// + /// Extension methods for TextAnalyticsAPI. + /// + public static partial class TextAnalyticsAPIExtensions + { + /// + /// The API returns a list of strings denoting the key talking points in the + /// input text. + /// We employ techniques from Microsoft Office's sophisticated Natural Language + /// Processing toolkit. + /// See the <a + /// href="https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview#supported-languages">Text + /// Analytics Documentation</a> for details about the languages that are + /// supported by key phrase extraction. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Collection of documents to analyze. Documents can now contain a language + /// field to indicate the text language + /// + public static KeyPhraseBatchResultV2 KeyPhrases(this ITextAnalyticsAPI operations, MultiLanguageBatchInputV2 input) + { + return operations.KeyPhrasesAsync(input).GetAwaiter().GetResult(); + } + + /// + /// The API returns a list of strings denoting the key talking points in the + /// input text. + /// We employ techniques from Microsoft Office's sophisticated Natural Language + /// Processing toolkit. + /// See the <a + /// href="https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview#supported-languages">Text + /// Analytics Documentation</a> for details about the languages that are + /// supported by key phrase extraction. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Collection of documents to analyze. Documents can now contain a language + /// field to indicate the text language + /// + /// + /// The cancellation token. + /// + public static async Task KeyPhrasesAsync(this ITextAnalyticsAPI operations, MultiLanguageBatchInputV2 input, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.KeyPhrasesWithHttpMessagesAsync(input, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// The API returns the detected language and a numeric score between 0 and 1. + /// Scores close to 1 indicate 100% certainty that the identified language is + /// true. + /// A total of 120 languages are supported. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Collection of documents to analyze. + /// + /// + /// (Optional. Deprecated) Number of languages to detect. Set to 1 by default. + /// Irrespective of the value, the language with the highest score is returned. + /// + public static LanguageBatchResultV2 DetectLanguage(this ITextAnalyticsAPI operations, BatchInputV2 input, int? numberOfLanguagesToDetect = default(int?)) + { + return operations.DetectLanguageAsync(input, numberOfLanguagesToDetect).GetAwaiter().GetResult(); + } + + /// + /// The API returns the detected language and a numeric score between 0 and 1. + /// Scores close to 1 indicate 100% certainty that the identified language is + /// true. + /// A total of 120 languages are supported. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Collection of documents to analyze. + /// + /// + /// (Optional. Deprecated) Number of languages to detect. Set to 1 by default. + /// Irrespective of the value, the language with the highest score is returned. + /// + /// + /// The cancellation token. + /// + public static async Task DetectLanguageAsync(this ITextAnalyticsAPI operations, BatchInputV2 input, int? numberOfLanguagesToDetect = default(int?), CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.DetectLanguageWithHttpMessagesAsync(input, numberOfLanguagesToDetect, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// The API returns a numeric score between 0 and 1. + /// Scores close to 1 indicate positive sentiment, while scores close to 0 + /// indicate negative sentiment. + /// Sentiment score is generated using classification techniques. + /// The input features to the classifier include n-grams, features generated + /// from part-of-speech tags, and word embeddings. + /// See the <a + /// href="https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview#supported-languages">Text + /// Analytics Documentation</a> for details about the languages that are + /// supported by sentiment analysis. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Collection of documents to analyze. + /// + public static SentimentBatchResultV2 Sentiment(this ITextAnalyticsAPI operations, MultiLanguageBatchInputV2 input) + { + return operations.SentimentAsync(input).GetAwaiter().GetResult(); + } + + /// + /// The API returns a numeric score between 0 and 1. + /// Scores close to 1 indicate positive sentiment, while scores close to 0 + /// indicate negative sentiment. + /// Sentiment score is generated using classification techniques. + /// The input features to the classifier include n-grams, features generated + /// from part-of-speech tags, and word embeddings. + /// See the <a + /// href="https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview#supported-languages">Text + /// Analytics Documentation</a> for details about the languages that are + /// supported by sentiment analysis. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Collection of documents to analyze. + /// + /// + /// The cancellation token. + /// + public static async Task SentimentAsync(this ITextAnalyticsAPI operations, MultiLanguageBatchInputV2 input, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.SentimentWithHttpMessagesAsync(input, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Microsoft.CognitiveServices.Language.csproj b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Microsoft.CognitiveServices.Language.csproj new file mode 100644 index 000000000000..1bff1a5ae9b0 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Microsoft.CognitiveServices.Language.csproj @@ -0,0 +1,17 @@ + + + + Microsoft.CognitiveServices.Language + This client library provides access to the Microsoft Cognitive Services Language APIs. + 1.0.0-preview + $(DefineConstants);CODESIGN + true + Microsoft.CognitiveServices.Language + Microsoft Cognitive Services;Cognitive Services;Cognitive Services SDK;Text Analytics API;Text Analytics;REST HTTP client;netcore451511 + This is a preview release of the Cognitive Services Language SDK. Included with this release is support for Text Analytics API. + + + + net452;netstandard1.4 + + \ No newline at end of file diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Properties/AssemblyInfo.cs b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Properties/AssemblyInfo.cs new file mode 100644 index 000000000000..627baa18fb9a --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Properties/AssemblyInfo.cs @@ -0,0 +1,19 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +using System.Reflection; +using System.Resources; + +[assembly: AssemblyTitle("Microsoft Azure Cognitive Services Language Client Library")] +[assembly: AssemblyDescription("Provides API functions for consuming Microsoft Azure Cognitive Services Language APIs.")] + +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] + +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Microsoft Azure .NET SDK")] +[assembly: AssemblyCopyright("Copyright (c) Microsoft Corporation")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: NeutralResourcesLanguage("en")] diff --git a/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Readme.md b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Readme.md new file mode 100644 index 000000000000..0008bcacdeee --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Language/Microsoft.CognitiveServices.Language/Readme.md @@ -0,0 +1,17 @@ +# Microsoft Cognitive Services Language SDK for .NET + ---- + + This SDK allows you to build applications that consumes Microsoft Cognitive Services Language APIs. + + ### APIs + + For a full list of APIs under Language, please see our [list of language APIs](https://azure.microsoft.com/en-us/services/cognitive-services/?v=17.29#lang). + +### Target Frameworks: + +* .NET Framework 4.5.2 +* Netstandard 1.4, based on the NetCore framework + +## Build Instructions: + +To build this project, please follow the instructions [here](https://github.com/Azure/azure-sdk-for-net/blob/psSdkJson6/README.md). \ No newline at end of file diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision.Tests/BaseTests.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision.Tests/BaseTests.cs new file mode 100644 index 000000000000..ed03671411aa --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision.Tests/BaseTests.cs @@ -0,0 +1,31 @@ +using Microsoft.CognitiveServices.Vision.Face; +using System; +using System.Net.Http; + +namespace FaceSDK.Tests +{ + public abstract class BaseTests + { + public static bool IsTestTenant = false; + private static string SubscriptionKey = ""; + private static string Region = null; + + static BaseTests() + { + // Retrieve the configuration information. + SubscriptionKey = ""; + // Environment.SetEnvironmentVariable("AZURE_TEST_MODE", "Record"); + Region = "WestUS"; + } + + protected IFaceAPI GetClient(DelegatingHandler handler) + { + IFaceAPI client; + client = new FaceAPI(handlers: handler); + client.AzureRegion1 = Region; + client.SubscriptionKey = SubscriptionKey; + + return client; + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision.Tests/FaceDetectionTests.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision.Tests/FaceDetectionTests.cs new file mode 100644 index 000000000000..9a90ed5fe2e4 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision.Tests/FaceDetectionTests.cs @@ -0,0 +1,30 @@ +using Microsoft.Azure.Test.HttpRecorder; +using Microsoft.CognitiveServices.Vision.Face; +using Microsoft.CognitiveServices.Vision.Face.Models; +using Microsoft.Rest.ClientRuntime.Azure.TestFramework; +using System; +using System.Collections.Generic; +using System.IO; +using Xunit; + +namespace FaceSDK.Tests +{ + public class FaceDetectionTests : BaseTests + { + [Fact] + public void FaceDetection() + { + using (MockContext context = MockContext.Start(this.GetType().FullName)) + { + HttpMockServer.Initialize(this.GetType().FullName, "FaceDetection"); + + IFaceAPI client = GetClient(HttpMockServer.CreateInstance()); + using (FileStream stream = new FileStream(Path.Combine("TestImages", "detection1.jpg"), FileMode.Open)) + { + IList faceList = client.Face.DetectInStream(stream); + Assert.Equal(1, faceList.Count); + } + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision.Tests/Microsoft.CognitiveServices.Vision.Tests.csproj b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision.Tests/Microsoft.CognitiveServices.Vision.Tests.csproj new file mode 100644 index 000000000000..74e9d3c1dd27 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision.Tests/Microsoft.CognitiveServices.Vision.Tests.csproj @@ -0,0 +1,35 @@ + + + + Microsoft.CognitiveServices.Vision.Tests + Microsoft.CognitiveServices.Vision.Tests Class Library + Microsoft.CognitiveServices.Vision.Tests + 1.0.0-preview + + + + netcoreapp1.1 + + + + + + + + + + PreserveNewest + + + Always + + + Always + + + + + + + + diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision.Tests/SessionRecords/FaceSDK.Tests.FaceDetectionTests/FaceDetection.json b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision.Tests/SessionRecords/FaceSDK.Tests.FaceDetectionTests/FaceDetection.json new file mode 100644 index 000000000000..f9f22ecdced2 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision.Tests/SessionRecords/FaceSDK.Tests.FaceDetectionTests/FaceDetection.json @@ -0,0 +1,64 @@ +{ + "Entries": [ + { + "RequestUri": "/face/v1.0/detect?returnFaceId=true&returnFaceLandmarks=false", + "EncodedRequestUri": "L2ZhY2UvdjEuMC9kZXRlY3Q/cmV0dXJuRmFjZUlkPXRydWUmcmV0dXJuRmFjZUxhbmRtYXJrcz1mYWxzZQ==", + "RequestMethod": "POST", + "RequestBody": "����\u0000\u0010JFIF\u0000\u0001\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000��\u0000\u000eAdobe\u0000d\u0000\u0000\u0000\u0000\u0001��\u0000C\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003��\u0000C\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0001\u0001\u0002\u0002\u0002\u0001\u0002\u0002\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003\u0003��\u0000\u0011\b\u0002�\u0003�\u0003\u0000\u0011\u0000\u0001\u0011\u0001\u0002\u0011\u0001��\u0000\u001f\u0000\u0000\u0000\u0007\u0001\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0005\u0003\u0002\u0006\u0001\u0000\u0007\b\t\n\u000b��\u0000�\u0010\u0000\u0002\u0001\u0003\u0003\u0002\u0004\u0002\u0006\u0007\u0003\u0004\u0002\u0006\u0002s\u0001\u0002\u0003\u0011\u0004\u0000\u0005!\u00121AQ\u0006\u0013a\"q�\u00142��\u0007\u0015�B#�R��3\u0016b�$r��%C4S���cs�5D'���6\u0017Tdt���\b&�\t\n\u0018\u0019��EF��V�U(\u001a�������eu��������fv��������7GWgw��������8HXhx��������)9IYiy��������*:JZjz����������\u0000\u001f\u0001\u0000\u0002\u0002\u0003\u0001\u0001\u0001\u0001\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b��\u0000�\u0011\u0000\u0002\u0002\u0001\u0002\u0003\u0005\u0005\u0004\u0005\u0006\u0004\b\u0003\u0003m\u0001\u0000\u0002\u0011\u0003\u0004!\u00121A\u0005Q\u0013a\"\u0006q��2���\u0014���#B\u0015Rbr�3$4C�\u0016�S%�c��\u0007s�5�D�\u0017T�\b\t\n\u0018\u0019&6E\u001a'dtU7��()��󄔤�����eu��������FVfv��������GWgw��������8HXhx��������9IYiy��������*:JZjz����������\u0000\u0004\u0000}��\u0000\f\u0003\u0000\u0000\u0001\u0011\u0002\u0011\u0000?\u0000�3kmESN��J���#5\nS�x(�i�P�����\t�0�n\u0007n�qN�k橊E�P\u0002>�� \u000e�\u001b�񭘙w&1�*\nҜiR?g�\u001c�\u001a݈��\u0015\u001c{���n���m��\";�ɕ��\u0001ۭv뷷�+��\u0004�B�Z�jS�_\r�Q�E���\u0005\f)Jm�A����\u0007�A�B \u001cv\u001b֣��Ⴞ�&²���P��\u001a���U\"�\u0010\u0003��o�q�mz�k��w��\u001c\u001b���J���n�N\n��KR]�R�+�J����\rmK�H\u0013Q�iR+ңz{�*1���6��V���\u0015\u0000\u001f\u0003�q\u0011��\u0016�?\u0017M�A\u0003z{�\n�?r\\d�m��oA��׮\u0003Γj~�bi�ۮ�\u0000ۃ��EH�:mو\u001d\u0001�'��Rou/\\\u0003Z�=��~�v#��EuQ{���N�\u001b���9\u001b\u001c�����Ѿ���O\u001c���ע\u0011���\"�����\u0001$��\n�dW~�a����f$�k$\f׃}�u\u001e>\u0004x\n�{���W5�\u0003V�����\u0015Ȓz����H�o�؂{қ�t��\u0012Y�w\u0017�\u0012=�^��M��#j\r�Hno���k��\u0003�\u001c�S�9#ܖ5�~��\u0000�ޙ�eIr�P>*\u001a{u;u��v�\u000ew;\r�{�\u0003l\u0007r\u0013;w�\u000e�\u001dz�cO\u0003�\u0014�~�Qbz\u001a\u0003�ׯ�ڽ|0�hg:\t�\u0000r\u0016�\u0004\u000fQ}�\u0007j�8dH�k���}����\u001f\u000e+��'��a�ד���џj��\u001dv\u001fgƒ�y��\u000e\u001e*\u0007����0\r���*\r<\u0006�\u0000F\u001c|����v\u0003��`=\b�\u000f�Q�js7���#\u0010~\u0003���\u001eHTp87��o�%[n�^\u0001��)mq���\u0000\u001cĐ�v���\u000f�\u0018������\u0000\u0004r�\u000f@��[�Ccڿ,�\u0004\u001f.m�?���\u0000o\u0013��.ç�6�~8V�\u0002=�t����oj耼ң��c�k�*��\u001e=:\u000fq��:�\u0014\u001e\u001e�a����\u0003�������\u0014�w%A�)_����P7�!��\u000f�\u0007�|:俇ɍu\u000b�<6\u001fG���Ȼ�\u0019\u000eK�6\u001f��&\b�ݍ_Ծ�S�m��ôA�E�)_��~]��\u001e(��;���\u0014����\u0003�\u0002(o��\u0000Bi��+Ԟ�\u0015��1\u0012$�a~�\u0007�7\u001d;{\u001e�x�7$Z\u000fr\nS��\u0006�dF��ݏ8���\u0011��n;�9\u0019�\u0005 \u0000��x�2\r�����g'� \u0017;\u0017�o0�;��އ���g6h\u001f{�\u0006�^��?�Vn���=�P~��6\u001d�?{.�\t��S��\u0000��.����7�\u001bg]\u0001�\u0004󴝹���g���\u0012s'\u00106\u0003Y�p\u0006�\u0000�A_s��kZZ����\u0000\u001cy*�Q����rB�Q\u0000�\u001e>�\u001fH\u0018U\u0019\u001fnĚ�}��qTS�\u0000q/���t�ƻ�����0�E�\u0000'�\u0015�ᚽl\u0001��)�1\u0002\u001eo���^;Sa�}���i�\u0003�\u00176�p�\u00129�->Y@Q���z�^�9,��A�I\u0007�\u000b%�,\u00004���o\n\f�N��7%5�~\u0000o�\u0002���eЍn��r����ӿ��{�䪏�\r�>\u000b�j�]\u001d��\u0010�\u0016\u001aI�e\u0014.�`I�����Hz�u\nYu�\u001fH��$S�@���>-�(\u000e!�\u0005{�-�C�>>��a���~Rd~nn3Gw�\u000f�\u0014��6_�1�L�{ V\b�Sl���}�i'���\u001cގM$ٴp�����R����\u0000o�\r\u0002-U�\u0006���X\u0005���SS���\u0000�ڽ��A�&Q�O\u001a���N�\u0003�����\u0000:�\u0019E������\u0000�~\u001f�-3��?��潵�x�\u0000�\u0003���6�������\u000f�Q\u001f�@t�L�;;��� �`\u0001of�����3q���a_���wƾJ7@_�@kN��\u0019\u000fM\u000e��.[<{_?�+@I'�)N�뒌w�\u0007)ޘ���חc��)�������4֋Ƣ�����Ӧ4)\u001c���!X�*\u0006�\u0000��dLz%+d�\"������=6\u0007(�o�4�\u0002Jq�R>U��P?\u0001�ef\u0014~��\\���I�(��74�o\u001c�Rot\b\u001c�N��j\u001ax���z���6��^������dI�z�\n��/�M\u0005��9nŀ�>�\u001af\u001c�*��\u001c�ѲXDP\u001e S�Õ?\u000e�)1��\u0006�6���GT+Ŗ�w�\u000fS�\\�����J��n\u001a�@\r��F��(\u0006D�)B��H��\u0014ҽ:��\u0007�V~����\u001ea�\u0003�P\u0003BH\u0000T��\u001e4�Dm��G����ao\bdQM�/~��A�o��T�O#���N�k�Z\u001e�\u0015ø(M �\u001a�\u001dz�{�w�0��c�mQ�r>_�\u0007=�\nGF��Fԯ^�x{t�WzE�#@i�Z\u001f��\u0019\u0013ܶ�X��}�n�H�r�\u000e{�\u0014��\u000e����\"���ҔҢ�\u0010iӡ��|b\u0002\u0002 oM����\u0000G\\@���\u000fZ�����n��tE|����\u0002>C��N���#e .��kM��ԁ��l\u0004t\b�4[�����S�ݲ>J��w'�>��\u0004b\u0010�XTm�7��\u000f�\u0003�+K�~������\u00015��\t\u0006�\u001f�$\u001e���R0]��ɢ\u0014�P;Ԁz~\u0014�<�}�\u0006a�\u000fj�ޝk�#\"\u0000ݗ\tC=����[���l�\u0019+]T\r����k_\n\u000f��2昍��q�^�F�\u0010h#�\u0015��;�\u001d�۷��p\u0012J�!$��n�(w�>��|�\u0015l�;�2^R�a�rk�|���)*���\t��m���YH\u001d�4��w�'�v�B|r$�)\t-��k�����;ӾW攖[�~��#��dL�}�;�����\u0002N�\u001d��1��\u00147\u0000�ӭG�v������TB0������G���\u0012\u0005�E�ֽ�v����\u000f�|\u0016��M�N���\u0014�ݶ\u0000o���_b��'�k�oo\u0002v�#��A�ۓ;�V���\u001f��\u0006������k\u0004�5�����_�<u�_�)�喋\u0019)�j*��g���\u0000G\u001e==�\u0000Ι���Ap�\u0003\u0012^��a�[Z��R�ă�>������_O�\u000f��N�\u0003홣}�s�F\"ҕ\u001f��\u001c���2�-Z���_��c������\u0000�%�n<(�|���L��a���>7f��\u0015��>tc���,��\u000f�u��}��zo�{W\u0006\u0014�(V�<,F��|��\u0014���l\u0000�^\u001bm�\u0000ڮ�vOjߚ\u0005�r�]�������\u0000��V�w�½�\u001aB��n��;{\u001a�5�Gin�aP5~�\u0000\u001dϿ�J&ϒ?Z�n��I�]O�8o%؏5��|���{�^J���\u000f��\u001f�\u001d���u>����\u0015<׆\u001d\u0001�'������Հ���}|\u00052Vk����x=�)��zm�J�ߘ_%�Ƿ���0z��E��\u0007���>�\u001fF\u001e3�2贵w�~>>#\t=\bby\u001e�\u0017n�����Dէ�@����{d��݀�]Rk��\u001b�����4��\u0002OPʏW�����4���#��h�73\t����ݽ��;��;\u001c�\\��\u001fȶ��/�g\u001b���sa�F�J����+�\u001b���_�v��Z�κ\u0004\fbՕ��>[��A�8��s��\u0006�\u0002�#O���3@�`��\u0000��{�1��4ү��o��5��8���7�:>\u0007�P;vއj~��SC����\u001cg�v?�v�y\u0019�M&&���S^��{��ž=���\u0013��7ע)��z�_�ˆ0#]wb\b�ꁖ���;\u001aҔ��z�f�o�2�\t���\u0002��b\b\u001e��+���&�f�?\\�\u0000z֪7߹�ʦ\u0001��-�i\u000f{vD}�E~�s�\u0004�@V��I��c��\u0000O�W��#ۭ\u0007�`����͈��G�W����:E��?��S�l�;'���$���ͤ�ыz|#���z\u0018�~H���^�?�=��5WI+��\u0000�l\u0016\u0015\u0016�\r�θw*{�+\u0002�G��=��Y��<�=����u־��ߡ�|��\u0016[�/�\u000f=��ť���w�ϰ����\u001f���\u001c�CbGs�[�\u0003��\u0011J\u001bt�]�\u0011��λ�w�}�2w�{A\u001f��}�uL\u0016�����G\u0000]��DV\u0012>g����Xˑx����\u0001W�?����D|�\u001c�Ԕ����Z����6h恻`�\n��n��\u0001!X���;\u0000(~���z�����o���?z&�)`�����Ȓ\u0007>I\u0000�Ȗ(�>�����R��\u0015��s\u001e����)%�e=)��~^�MSY����?,%*\bڣ��o|��>L�ӽlR�#���}>\u0018\u001a���S9_\t�1E�\u001b��[}�EOP7��|\u000eW]y��B�A\u001c|\b\u0014\u001b�J1\u001f�D�6��J���c$��4�=\u0014�\u0000fa�4k�!+�\u0017q,J�\u0004W�;}${e\u0004w�6q\u000f�\u001c���T�ܶ<����\u0019\n\u0000l��[�܁j\u0010�\u0000dt�w\u0019Q��96\u000eH]`G\u001cm�Q�}�\u001bt�'�ߐ�Βe�<�T\u001e��\u0011�������'�F�z�o����c\u0018!y\u00054P(G^��\u001bf�S��ƞ�\u0007���j\u000e؄&\u0011(S҆�;\u000e������$�R\u0001S@;u�<\b\u001bnq\b�lB�Px�Q�1M��}����\r�0\u000e�\u0015~�\u0005=�;w�4�m�@������\u001fö\u001e�m\u0002��Б����\u0015TS۷m����\u0018����{���{\u0002\u001c��PW\u0013�k�v\u0015��t�r$�o�/{\\[�:R����o�\u0005�}�E��=���qR)i�{x�ԏ�Z�B��ޣzx|��� y�\u0015I�ޕ]�G���;2\u0015Hc7�ߩ;\u001a\u0001㑵�>Hv�\u001aқ���F\u0002m#�B4�'�\rj{׶TH\"�\u001f$$��M\b?��鐫�Ğ�<�45�z��X\u0019y�%�\u0015�|G�E>�\fJ�P�t7�c���|��sZ�\f�b�\u001d鷀\u0007�zo�\"LJ�\u001e�[��T��~^�G�VK-�\t=��]�4\u001b�\u0006�\u0004dI�%%���v�����#�T�Y�mS����xR�\u0012/��K��H���~����\u0002<й@�ԝ��\u0002����+�\u0017a[ \n�\u001bv\u001f>����\u0017�Z]�ߨ\u001e�\u001e�e[tg\u0010����zx��ҧ��#��I�+\u001c��2y\u0001��O�;|�@wsb\r3]:��ڂ���>@e���|އ��\u0006�؁��v�;|[�~Y.\u0010$8�ڦo\u0019�>��PD{�\u001fu;���\u0002�}\u001eS�͛j�\u0016�?��3#5p�p��\u0000x@�{w�i����?��\u000e*ؽ.�|`\u000eo�������\u0000:f�t�9�������\u0003\u0011�Us��?�j��\u000e�\u0000�Uxo�|BW�\u001f�}�~\u001ba��P=)Ju\u0003��\u000e�1DP���N�>��\u001d0�\u0003�\u000b�����=:�\u0007k\u000b@*\u0006�_-���1ލ�˃PR��zct��u����\u00001N�B�\u000f�\u0014�\b�Eq^axq�\u001d��sO�\u0018�4\u0013Axq����\u0000\u001e���\u001c��^\u001b������R�n�,k�/\f\u000f�\u0006���\u001f<'���{��Q�\u000e�?\u000f�\u0000���\u000f!�P��G�ݓ\u0013\u0000QM�AL�w�;{{�\u0015��ۚIx�W��v�Z��l��� $y�k��n���L�F�s��\u001eo/�m��֞�;o�9�\u000b��\u0007��E��'0=\u0004�Om�fò�\u0000���Oշs������ڜW�u�\u0017�{e�˭�\u000f����<���*�jo��\u0000:�sZ\u0001��\u0000�����T\u000e���<>�*�\u0012>�\u001ej�C����\b\n�b}\tw;����\u000f�_\u0018~�4��\u000e\u000fQۡ�v�v�~���VcQ\u000fϸ�\u001b����5\u001f÷:qA�h��S������\u0003Gn��6'Q���Os�\u0011Gvdƅ/��J�\u0011��\u0000?�\u0012Y\u0011P��D����O\u0013^����3�Q͇\u0011<��Gr��(7ߥz�;�c�L*�GEwV�[�\u0000�~��\"\u0004�\t�7�_ݨN���\u0000�i�s��@\n<܌`\u0010eՃ�{�T���t����l���6\"�~��<^\u0016Ҭ�z$u�\u001fNtݕ q\n�^�\u0007ܖw\u001f��}���\r�a�4I�o��늢�j��\u0000>��B\u0011q�^�Y�uUy~\u0013����\n�bz<�ϭ]>�\u0015��S�NU��w��r~0y�\u0000o�\r3�j@{�ߍ3�{v�a|�@��\"��O�o��]\u0003O�\u0000�x�\u0000�#:��?���1�v��f婪b�PZ���\u001e�߷�ĢGg�y�C\u001d���O��\u0003��\u001fW�M\u0014�\u0012�Pu\u001d��9-�P�H\u001b�\u0003�e���v돚�2\u000eL�\r{��\u0000a\u0003\u0005u_�\b�N��\u0000��\u001f5ij�+����\u0000�r\u0004uH'�yk=\u0000\u001d@ڇ��q��\u0000��Ď�‚Jֆ�=@�z�0\u0013��!���֨\u0001��A �\u0000�M�'�$_6+2\u00154�ÿo\u000f��8\u0004A\u0014y��_\u0004�d5��Ԝ�W�\ts��nթ�\u00000i��W�$r�%���\u0000���]��F�u]�+��2�n[W���r��B%�*�/�z��~x\u000f.�@]���\u0005$�0�� W�>��+ \r��DȐ\u0007Ҍ�B����F��\r��7땚;7r��H�����\b�/tZ���\u001a��\u0011��G��{˝PH�bZ�:)\u0000�oڴ#}�FB_U��F��z\u0019%&���?�׷�Q�!botc�HT\u0003��O�~����ٰI.2\u0015zһ�>^\u0007�|�Q5��\u0014t7<�^LU@5�����'�h���/�g�\u001bq<��\u0003ʿ�J�L\u0005�)�wsϮ���\u0011N[�'�\u0007����n�T؃E=7\u000b�\u000f��X�\u0010�ą�P\u0003P7���F\u0011�\u00052P{J��N#f5�\"�\u0001�z���m�xm\b�\u001dGN���\u0004TkZ�\u001d��çs�d����P)���Ҕ�\n���M�\u0005+���~xk�\u0016\u001a\u0013Q�N�\u001e�W|n�w��C�)��A�W\u000f�\u0011�jw�\u0019\t\u001bB�ž�\r�:\u001c�B�`+�\u0007o�\u000e��Z��3���޾\u0003��C�Gw ��A��|iOoq�h}�s \rJ���j\u001f�\u0012�t��Ҏ�}���g�D�;�E\b�\u001a��k�۷_��D\u0010wA��\f�P�\u0011��C܎�\u0013D\u0012ʁB<�,\t���=�܁L���\tn7?�S�ڛc�\u0012�.{ףT�o����)|�]�7���\u0015ȓ���@Ksܟ\u001e�W�n�!)^�)|�Dt=(=�?~VM/4�{�WsSۡ�{u�Ri�����&�\n��<\u0006G�ʄ.N����JV�Ws�J�I=�\u0011���#Q��\u0007�h�4\u001b\u0013���W��A\u0000�E�Y=�t��\u0007�EW�_\u0013Z҇��\u001dr��[�^��O\u0012<{TW�ʤ(�ɲ\"�\u001ej����\u000e��7���ё\u0000���g_\u0001J{t�}�1�11�nL�Kܯ��E{u=)�'\u001d��c1�z�#�\u0000L� o�7�bA�ݖ\u0000\t\u0006M9\u0007���}{�d���V��O���p>���5#o6U�\u000f�q�m����g\u001e�|�xǬ��������i�>\u0015����9wS�h?��7�ֿ�G��5�M�a� �;\u0004P������w;��~�;�5|���iks�l�\u0000�>c0�u�a�X�>&���Q�+���n�`��\u000b=\u001di\u0014O���o��>�e�\u0007�\u0004[��w���\u001d��ǐ�ipc�N��\u0007|n�J��c^�\u000fa��Hrے<���kO\u000e�ޟF�\u000fޫ�ץ\u000f�����\u001eI\\\u0018��}�o�\b粪\u0007�Jm��|i��cK�n\u000foz�>�\u001e\\��xr\u0007Z�\u0000����'v,�A^���#z�W\u0005ܖ�����w?}\u0007o�Y惰����o��zt��^���\b��c��\u0003\u00007�5|�\u0003�5;ֽ���\u0011�\u0005\u0004\n^\u001f��i��Pp�\u0000\u000b�o�������\u001d�U\u0007s�Jס#�_�q\b��>����+�7@L��zw�iZ�h!#���nk۽N��\u0000<��� ��\u001du�\u001c\r���\u000fs��h}7�w?\u0018��^6���\u0000oߜ�͹`l�\u001fȦ��/��\u0005~�|3?���\u001eD}��~\u000f�//�\u0000�>>��N�O�l�a��%'f[\u0007m��̬;o��y����'�f``�������8y+���\u001f4+��(?ν�Zc}�Wo�d�\u0000T׾L�\u0007�%�|_�\u00009\u0001�\u0000\u001c{����w�?�k�g�r&�4�\u001e��~w,�7�_�Ӛj��\t��SC�=~�\nd\r�C�!e�*+]�o�l��E�ݥ\u001c�>\u001e��S���\u001b�k��]\u0012Yҝ�w��\u0000o�0K�Zv���o��õy����ڴ�{�+P�\u0006\u0000ר�����\f�U�^��,�7\u0014\u0014�{���'�8s�sT�T԰�v��t\u001f!�\u001ed�o���\u0010�ڮ�v'�\u001fx�r$\t\u000b�\u0013�@B�5:\u000f�_�l��W�R�\\�R\u0018\u001a\u001a\u001e�۷m�\u0011�\u0013�\u001aA4��*Iɹ\u0002\u001b�]����Q�w��� �(�Go\r�\u0000\u000e����{�*�\u0016�aO�n���1ɾm���.����c\\�ݖ�\u0014\u0014�M���\u0000Ͽl�\u0000'�@\\�\u0014*z\u0011�\u0007��#!A!!d\u0001�Ew\u001e\u001bW��\u0019\u0003�P�\u0000����n��@�\u0004}�\u000e�;f�\r����\u0014�ێƒ��2]\u0010�T��m���~�\u000e\u0013�h�\u0004�?%�\u0001����l�J�Zv�@t;}�~�V�dZm�P�\u0007}���#}S��P\u0003Q�\u0013N�\u001f�)�\n���ɾ���T���\u0018w慄��F��M���\b��R�\u001b\u0016�����Q�\u000e��o2\u000f��j{t�e|�c�4\u001b࠭A#n�w�'�}����\rw��:�s�r*B��@kNǽk�pl�,�ޔ'�ޟ��\u00014���O��g�\u001bg\u001d�tB�IJ�_�\u000f���\u000bں�\"��G�v��^��Ss�s�\"e܊�\u0005$�kq���޻\u0011�\\��ܔ\f��Z�)�W����o�y���o��C�S��\u000b\n�KqJ��S�\u0005:О��@Ȏ�J���q�����\u0019\u0002m@��[�;��\u001d<=�\u0005K&�;�:n\t��w9\u0003�R�'�;����ད�t1vj\n�n�������*��~�\u001e����1U�mC�\u0013�:��0sV�m�<{�\u001faЂ2�B���\u0014W�ԑԁ��5�\u001d������S�=����d3�\u0007u�C�_\u0013�����\u001agJ�\u000f�$V���\u001a�9\u0003��)�������\u001f�F\u000ekv����$u���d�\u0016�+;�s�i[�m�}D�c�Y{�Zg�\u001fs�-CA\u0011\u0015�\u000bJ�;�H�[���\u0006��dZ�����\u0015�3�\b\u000e\u001e?���b���խ��A�n����wS�vx�ط�v��G��lG \\�R�O��\u001d�~y.���T�ۢ��n�}��E\u000bꯞ�3G�-χ\u0016�+�f\u000eJ䌜��\u0010Li4����}���q�\u0002�ӭ;�%��5=j~c�ߗX;�]ο?\u0003�>��|L�(\\\u001f���\u001a��\u0011���?\nV��O�lx�U�:�)]�™!��\u000eG����1U���\"���v\u0000�!P5|\u000e�o\u0001O�W�\ru\n�o�����E\u0015^\u001f����\u001e_�iT\u000f��\u001e�m�i��Z>����\u0013O\u001e��%W\u0007�k�ݿ��\u000f#�ix�_\u001f\r�H\u00106�2�\u001c��]�P��m��\u000f�{�����|��[/\u000f���ޟ�\u0010A�)���Q�߯¿-�ص�\u0016}�:��፩;�&}���|��_\"��H�\u001f�s�@�O���U�OTD��W��x�������9���Ͻ�ô^cz۷��ӽ;��Ծ�������\u0000\"MuYv�p)��g6]����Z��~��w�9�o]������\u0015,�\u000e����\u0000�2��V�*�\u001b���\u000fq�l\u0012���\u001b|��aU\u001f��\u00001�$�}?/��ª�_�_�L;%]������\u00001�wtW��\u0000�\u001f�ǿ�ONO��Ӿ`j�Ñ�i�����zWoc��Mʩ�纰���P��4����H;m�iB\u0005Y��#�ɺ\u001fi\tD�\u00145�M���Ms\u0010�\u0003\\��[�m\u0018��I5�\u0000����\"\u0000;0�<$�㐽(è�o��\u001c�2��CL���\u0005��‹��ߦ[\b�-�%Ox��u�x��}�ק�e\u001a�\u0001۹��t\u000b\u0017�\tk�\u0019M+�\u0002���\u0000\u0000�����_���R��J�T\u001f��9��W�\u0010|�����x�x��_�t\u0003�Zb�uޛaB*9i��\u0000?\u0001�ޔ�9z��8�_r �����\u0000_l~�@\u0003��|���\u0017=?�zt�juʲ�Kc��\u0012C�\u0000+wL�\u0000����\u0000[�y�o\u001f�D\u001f�@��o�O�ɇ����\u0000����\u0011��_e��G��-������7m4�\r?���PW�ܑ�z����y\"G���3�n\u0007��S��\u0000�|�\u001d~a�a�(�:R����$����i_�o�=�*<��\u0011O��퍤\u0014D,��H��^��bV�\u001b�\u0007ނ��\u0007���\bd��8n\u0007��\u0000��\b�\\Ӱ٨�\u0017��x{�d6��\u0016\u000f�eā��\u0000\u0000�\u0007��OL\u001c�+޺�+z�6�^����b\u0000a#�\"�MI���=�1\u0015˫\u0004�E�&������d\u001e�dߧ�_?j�Ϛ\t���Iڝ����#C�j���T�n=��Ә��]\u0019�����H_�\u0001���:o�^�PdhS|M��D�\u0010`H��\u0012<}�Г�\"�%W#� ���@k���9\u0003A,GP��J(\u000e��\u000f|L@�=Hi��n�rnR}���\u0000?��eF#�V\u0016y��\u0017��ۦ�L� G$[GA�m���W�cJ�ٸy��M�\u001f���\tw\u0004�\u0002X�:o��x\u000f��F����\u001f_��]�3�Qi$�Cӯ�w\u001d����'����n\u0000;l\t\u0007o��Ƈ5@�Lm8�:\u0001N�=�^�+��$P4߰�>=\u0000��lkz\u001c�v�J\u0011���G�€U���;x\u001e��H8��\n���c��9\u001aM���k�\u001bԁ�����\u001eLm{oJmM��4ڴ��w*\u0007f;���|\u000f�«�N�\u001d\u000f�C�L��S�\u0007o\u0003�|2\u0007��\u0006�pi�\u0010=�}�\u001eV�&c���o����@�\n�O���{P\u001e�ۮ\n�}Y\u001d����\u0007�@Y#�b@!�\u0019�o��\u0004�\u001e��o�\u001e�Cm�^�\u0011�~���\u0013�\u0000\u0003lį�\r�>�\u0011�o�o\u001c��ۯ�O1h\td���~_q�+5V�\u0012�&��O���4��攪[������ӯZ\u001e��@(K&��V���k��B�ĥ\u0012�m�КWj\u001al�،�m�t�\u0013@>�|\u0006��l�J\nI\t\u001e\u0004�\u001a�_ē�dB�\u001eG�7܊�w\u0018�*�\u0004S�nEk�R��N��UUN�|�\u001fgn�Ҙ�����j�\u001bt>\u0015�\u0000?d���\u0006�P\u000e�ߧn�\u001c���<����\u0004S�>\u0003��!�Dy\u0006�ۭF�?P�Ȑ�\u00129sTZ{Sڽ)�9]YH��\u0013\u0018\u0015��\u000f~�|���[/�7�^DP\u0001ҽ��\n�z�J^E��Q\u0010PӮ�=?\u000e���VM\u000eO`�c�vč�D�M7\u0014�NH���TK��-G�Bh>�\u001e?M:fV1�ʝ\u0006scܞ��٩�]�k��\u0007BO�_��#\\�\u0018\u0000&H����e3��\b��*UYB1*È*�\u0002v�0⺱oI��\f>��<��o%Ao�1�ϓ<��Nl����:\u0016��[X��Ս��\";�\n\u0017��\u001f�&�\u0004���.��^6| �}q��v\\2<�ߓ��\u000f��\u001f�ĭ+M�W��\u0000����].\u000fU^�\u001f�o-���\u0004?Y� [k�e�h`���Ղ~�\r\u0006c˷�\u001a1�9�^BD���i�\u0012 F\u0012$����4���/��6��ɢX�\u0000�O�OEv�m\b�'��\u001d\u001e\t%��(-#K�D��,�M(P��i�}��1��ɜ����&3���י\u001c�\u000e�U\u0011�(H\u0001�d�Ͽ�^@�t֟F�ד5e��[�o�y�D�Ym&���9m�d�K9ҍ\u0014��e\f�I�+\u0019���[C6\"H\u0007i\u000eG�ǣ���pA��Hs$ђ�HL�-+\u001bD]����FRGbE3#\u0011��\fH1�����i\u001fz���Wz\u001e��\u001a�9h\u0004�[�\r=�}\u0015�\u000fl4I�w/����X�\u001d�\n�7*�=\u000f��|7�UỂ:\u001fc����|\u0010�?������\u0011�W\u0006�c^���q\\h���4������%�܅@�\u0006�\u0014�~����ip�����\u001bl��/\f;�k���Jm�p��D���ޞ\u001e\u0018i-��>=�>�\u0018���2���C\u001a��@:\u001e��FKa��$l�\"�.Q���\u0000Wڽp\u001f�j�A�Tv���#� �G_ �\u001fõ=��>��ܮ�\u000f;.���~��\u0018�O.I۪��jGC�a\u0018w��k�K�}�4�z\u000f\u001fム\u0001\u0004��I/\u001f�z�\u0000������p{�7>���lh���W��kJv9����3\u0011�{�cz�-C����\u0006s2���og���U�҇�\u0002�wa�\\��V����ߧ\u001e^�\u0000�tg�k�}�\u0019����!�A����\u0000�fN.����>m�{v�\u001f���hق\\�-��\u0010�g�Z��8B�p����;b��iڟ3��2U��U��\u0019�=>[b/p\u0015���\u0000�r5\u0001��R~5�5ڱ�>漿K�o��>!�{����]�);��UI�����\u0002kn�y���%\u000faM�\u0000\u001f�!b�d.�K܂E74��\u0011�Q�\t\u0010:�\tߙQ)]�N�m�\u0000���`\u000e���T\nA��hO��\u0010/�Ǒ$�\u0011�\u0012'$�_��=IˡQ���h���&�?2�m���S�~����$��n0h_T�J\u0000�\u0001��5?I�}�f,9\u000e�nN����G���\u001bl�#�g:.� @o�\u001f{��\u0006��B���}\u0019�Ǘ�Y�\u0006>=<}�p�z\u0011\u000b&�A���¨�����H���j��\u0000����f9��|�%l.�\u0013�_c�U��0_�_��\u0007�晿MEj����}�/8��\u000ed\u0007>��������4�h\u0013�����Gfw\u0016��\u001e����ۮo|ڕ\u0007��Pׂ���ߊ\u000f'���\u000f�\b�S���G���@���}�x�\u0000=�m\u001bך�\u0015�\u0000>�\u0000˜)o�\u000e����\u0015���PRJ�֟w��\u0001G\u0011�\u0013�f \n���\u001ag�)�U�@jz�a�L�o�=�/r^�\t��+�:�\u0000`8� ҙ���6�u�s�Ȑy�B�\u0014��׍O\u001a\u001e�Sb|<7�\u0001Y\u000678�\"��?�\n\fJ\\�_m��\u001f>��;rG$#EɎ�\u001e������ċ�-�ؖ�\u0001�a��\u001d��L\u0001���p���*7ޝ>�{oL����h\u0017\u001b�J *8�9)��\u001e�NB�\u0016Q���&�\u0000F�A�?�2\u0012\u0002���\r�\u0010s'0v�~����\u000fz�\u0016%��:�,\rw۰\u001fָxx�T��c2FEA��#��r�\n\u001b�\u0007B���\u001b�4�'m��\u001aaf\u001b\n�a�}H�s@�\u001bwA�\u0001M���\u0002�'l�\u0004�I�W*u�\u001d�>����\u0000y/T��3�k���o�y\u0004��\"+�קJ�\u0000g�S(׹�6_����\nс�F��\u0015>\u0000�5q\u0017�\u0002vM�\u0002���\u0005v޵ڻT�e\u0012\u0005@\u001f?a�\u001e5'\r!\u0018��v\u001b��AA޽�\u0019\u001aꐨ\u0000,\b��\u0004��\u0007��\u0010)\n�R���}����\u0016�f�w\u001f#�Qڴ퇒\u001bc�\u001bm�W���\u001bO��+�����W\u0003�P�Wo\u0011��L�\u001by�Zw�\u0014�ӿ�|�\bS��j\u0011�}\u0015�\r2(C�\u0000P\u0011@\u001f\u001a�\t�\u001d�\t#|�N��<\u0007o��\u0000\u0005AH„��Wq^�ȞV��\u0007,��ھ\u0000�=6\u0019O��%��M�<7=\u001b�#�+d\r�4��\u0000e�C׵\b��_׋\u000b�OC�a��o\n\u0003��\u0013�\u001f\na�Log�yj\u0005K�BGڞ8��4w4^T�*i_|�E�GV\u0007�>����s\u001f�q��q7F}C��#I��(t�u+(in��5X��#��O�t�$�mD���S\u0013�\u0005��\t�}Oj���\u000e8qgԏ��R#���\f?�\"�~>��keX |3~��G���$���\u0000��5�gP�����m3�:BZ�Zy]��\u0017\u0017^d�5��}Z�U��t�F\r.�;d\"xl\\����ٽ0H�g��{d���l\u000f�1}e#Q\u0006�\b�\u00072N��E�Η\u0018\u00195�%�f�����? �����3�s��'����Jy�A��N�t�J���X��N���k�Z�˘��oi>�\u0004�0,P\\���Y%�)\u0007\u0012H\u001d��\u0001\u001dFL٤c^��᫾Q�\u001d\u0005���!���\u001c81F |N㝞G�/���GG���:k�`׮.��\r���>�\u0006����[�Kao�ދ=GX֯��^�A\u000e�m\u001aE-�3IT`�?\u001ff�� 0��\u0005�H�w\u0016\u000fH�>�>i�\u001e*\u0013�|�\u0015�5V��y�C�\u0005����\u001a��q\u000f��t�7�q~���MF\u0001s��zT+b���O\u0002Ffhe\u0005��*��[ƞ8�K%F1�\"�Fꍝ�27$�St��x�7����\"�#�\u001bS ��\fo�M�k����y�N�,���G�P����\\yvmu\nZ�\u001e�����4�-ī\u000b! �*\u000f�c\u0013\u001cq\u0012��\rt<�X�m�fu\u0007��)c\"5�����q�=KI����h?�\b��u{a\u001f�l�\u001d/�V�;-SM�mth��?J�������%��$\u0000[En��)\u0005�\u0004�v�!�ɋ\u001c��$\f�A��+�\u000f.�\rV�Ʈ�!\t�c��\t��؃}y\u0010+���\u0000\"�T�@~_Y�'�9<ǠG��;X�t�OW�5˭>+'x��u+[��w�\u000e�kpZ(Q[��*��88�;>0��\u001f\u0016\u0013$Q�l{���\u001c�V��\"x4Y�G\u0014%/+\u0004�ؒ+z����\u0017�~��\t�{\r\u000b��B��G�d�b�\u0007�la�[�\u0018b�ŋ��{%��-Ƨf�'x��r�Y�&tF�K\u001f\u0017,�\\1 oBU����:t\u001a���O\u000e��L�\u0000�\u000fuK�����s�\u000f���\u000f�}2\u001dg���\u001a\u0007�t�縳f��Z[�;�4G��u\u001b6U����.\u0016Dq@�\u0006l�ë��\u0005�\u0015�\u0011�bh��cgC�M��L�����˳H\\�~}����\u0018�5^\u001a�|?��k��KM��?/\u001at\u001f�\u0010G4\u0012n��\u001b}�={\u001f�H\u0011�+����5�qC|�_���������gl�A\u000bl\u000bF��߈�y=�\u0013Μ�c�=�k[Q\u001d�H�\u00045\u0015�\u0000X�����ʃT�%(\f~�E>~��Ǘ&��T\u000f�\u001d����\u001e�iܶ�\u001f���逝��ޠ�_\u001f\r�S\r�\u0002f&��\u001f�Oz�6P@�]����{�t��w\u0015�F�7�ڡ����[�9���)���<���jmO���9��!ˋڿ!����u���S�\u0000��l�#���fG���˿�Ϗ�����;H\u000bDz\b��l=���۵s#\u00176��}ɯZt�\u0000?a��1K\\P��~���\n�\u0012|w�J����)�A+��\u001f�\n����\u0000��H\r�*��)?�'o�#k�+�������=9v����\rP<\u0012�tח��J��U��~�A�a|7�g\u0010�4\u001dʔ\u0014��޿�+�\u0003sȦ �J\u0013O@|<\b��m�cd��\u001d�\u0004(o�\u000f\u001b�`\u00015\u001f��FD�j'{\u000bnd�\u000b\n�\u000e�u��\t�\u001e.E�=ϛ�5)�\u0016\u0007z�?�Gzx���-���@\u001b\u0001\u001d�\u0002&���P\r�=����\u001d��g�O���Zֽ\u0017��)��A�{@|T�e�\u0001���X�������&�sG�7������J�[�����O��!$�\n�\u001f��� sDs��}�?s(��;��\u0005��\u0000���\"v�r��K`�/�\u001f̢G�ΚG�\\P���<��v�?�\u001c�������\u0000��_.i�?�@?�\u0007�Λ�\u000f��{ڲ��B�\u0019���@;|�T=��G�\u0019rx���r&�܍�\u0000\u0012=�p���\f�\u001e�\u0004�M����S�)L'.��}����4~(�)�\u0015+��������\u000e��~_��Ōy��\u0018�\u001f\u0010��_o\u001ac���\u0016�H\u0014���_r�M@��'���n��\t��hhI=O���l2\u0007{\u0001,�5RG^�;t��+t�b�m��\u0013ާ\u001f�\rw0){���~�F$�ST,ǽv��o�\u001f>�\b��T�Zw��\"�*�\u00112\u0010��a����ʤ(z~,���Ga%\u0006��N���\\�ߺ��?4�$\f\u0003\u0001J���a��w�ܨ�ے�^$�Z���<:�S+#{��\"�\u0007�\u001c1��{}�\u0011�\u0019raWP�b\u0006è'�o]�\u0012\u0004��{S�:��^����\u001d�\u001a@�[ h�(���\u0002�7�\u001e�\u001d��>�\"\u0000ՠuK!\u001dv�\u001b���o\f�\nd\r[\u000f�O������dH��5�� DAޟv�}?,�cm�#\\��/�[�p��N�\u000e�vU�ٕ?����\u0012ӏM�\u0011�qҙ�\u001c��\u0003��\u001d\u0015\rG���0���XAG.h�N�\u0003���׶JЮ�znE8��:���/����k�O�n�*\f*�z\u0011ڴ�\u0000k�\u0006ʸWrM\u000eæ�~\u0004dI�]\u0011m��;\u0011J\u0011J���\u0004,�\u001d\u0007�^�\u0007�2v\u0002V�W؃�S_\u000e��7��m�zm]�6��2\u001d\u0010����J���\u0000wl\u001eHB;\r�o�q��k㍥\u0004�A��Ӯ��\u0000�D�\u0016�e\u00053UM>�ާzv�����#����[c��kQ�nF�ҹY nY�-.��7�o����۾F�e\u0011I\\�Z����N��p\u0003^�sK����N�\n�S��$�K������\u0007����(���EON���x|�J��\u0012�z�i�jx���\"�;\u000e��}�R=�\u0000^\u0003���\u0006��\u000e��\u000f�:�R�+�>;R��7�\u0012,���ҝ��^����\u0001䪫�m�����T`J�����n�؎�\n�\u0007�)C�g��4\n���DZ���) \b��om�����2\u0017���\b�)�&�h�\u0019\u001b\u001c�\u0007\u0011�+��I��7\u001b��*�ve`�\\*<*>���\"M$�\u001d=[��\u001e\u001d\u0003�\u0011��\u001f�ˡ��\u001c��w�{;M�#&_^Q�\b���][�4Ϫ^�Z��/u\u000f2�w���\r�\\��z�����M&�'�5'�y4۽N��H\u0012�rޗ\u0000�EN�\u0006�O�xx�B0\u0003�ۺ����z�\u0013�\bǂ2\"\"�^��-�,\u001a\u000f�MwXk[}\u000e{\u0003xڔ�eor�\\����\u0005���i�K�\\6��Mi��\u001c\u0014VEF\u0000ն0�c\"�\"w�_����o$\u0007���}��rcG�#B�;;?:�뉧j��\u000b�=\u000fShg��kd��\u0000J+�h���_Mlbu�\u0002�H�r��a�\u000f\r\u0002E~\u0007�D�L�ɫ�`B�����;�����R���`�\\��z\u00176Z��}j-R;�\u0016�uie����\u0014��\t���Y\bq��\t\u000fH\u0000~>V�\u0010�\u0013f[��OQ��+�/����t�:|Q\u000b�KQ՚��h\u0015`�I�\u001a��c\u0003p�X��\u0019�\u00144L\u000e\u0001����l�NS\u001cH��9k\u0010�������\u0000ζ6�]�Y�5I��b�2Kx�iz�m\u00034p�H�\u0002IKW'�P�1�\u001eQ�c[�\\��\u0000Yl��,ٻ��'�yK�Z=F-\u001e�\u001d\u0016�U����?�m21oaei�j�-i&��Yc+��i�Ŕi�\u00062K9=Ce��e\u001fV�U\u0010?O�ށ�� ;�_̳�\u001f�\u001b�X����>[��,mR��TT����k��T���Υ�E�I�K\u0015\f1#�H\\�X�f\u001e\u00148x�\u0000������\b���sJ'�N�?Er���0�MTO5�s�MkJ�Um\u0002�O�]�l��[K\r���Y�wpi�0j:���U����e�\u0014\u000e\u0007\u0016zl^$��\u0019�\r�~��6M���#�7�S�0\u0002\u0006BD\u001a\u001c�\u001e��\u001eD\n�{�\u0000���/��\u0000-�o�o!k^`��ƅt��y�.��(�d�\u001c:��:V�\r�\u0017SX�K[$O?��' �9��h#>\u0019Hpz�1\u0004J�\u0000�\t��ځ-�ȔLs�3�\u0007b\u0006��k� 9�_�W��\u0007�����RY�'��\\��)tx/to:i\u00167:^��\u0017h�\u000b[�i�t�/.m����}Y�]��\u0004�>=^M.C�VL��BdQ��\u0001�\u0015��|�&��e�N�\u0019BD�F�\u0001��~c����\u0005�7\u0010Cqm4S��������\r���\ni�K�:��\u0000�͟d\u0012rʼ�\u001d�=�ӯ/�:1��s����\u0003���:����2�\u001eL\n�����>���f�il���w��B�P=��:�>�=<��p��N����0�揹z����\u001e@�\u0013��?���Oƙ!TJ��\u001e~~\n����H6����#5ڏ��*j��?3����\u001e�v'j�f��\\^G~jR5\u0007�q���;�>Rj�\"7��|�\\��\"�4��\u001fN`ț�-�#쒥j\u0001\u0004��v̬W�]Z�2\rE>��\u001e�mQM���9��\u0000U4�P�\u0013��&�\u001f/�\u00053\u001b \u001f\u0005\u0016vKubR\u0012\u0018n\u0017��zo���F�6�C�y�ԆI�^�\u001f#^��\u0000M�Y;�\u0017?\u0018dZr��\u001d��7�ڔ�|r��{>��\"�\u0000�u�\u0000x���oN�6�f�\u0000���ގV�\u0001��\u0000�X����\u001e9�\u0006�\u001dч��\u0000?�\u000b\u0017~���T���aڟ���&@���{l7�\u0000k�-��A��u��\n���a���e\u0019~�&C�������V�����Q����Tg�v����/\u0019\u0006>O�Oȶ�\u0000�oN�\u0000�1��\u0000#��:N˯\n>欷��->_��7���J%kM�\u0000���*�p+\u0019�\u001f��b�[\u000f7���\u001eLh75�ֿ�%\u000f���́�n�kJ�|����WW\u001c�䆌Q���{��E�� ݼprݒ��+'CO���\u0014U�Qh�~\u001a\nv����\\)�[$crGBG��S�8+�;�[/\u0014;�G��M�\u00120}ʇ[��\u001d7��~�\u0005P�eJ�\u000fO����V+p�1��~��\u0004^� \u0019*@�\u001f*`_4Tq)�(\u0007M��lĬX�)���m]�*+��\u0000\fj�N$�\tEͅb4\u0015n�v\u001fٕ�@�%0��y\u0000�\u000b\u0006��\u000bJ����\u000ecθo��\u0011�Ol\"�ڍ�=<\u0007�yIn���\u0013Y��&�\u0001ڟw�,��K+`w\u0016�\u0001b�u={v��5����8~� ��\u00002zmL�@�\\�\r'\u0011\"��S�n��m��\u0010�\u0014�Gw���ࠨB\u000eǍ{v��q��\u001b�Q��ʴ\u0003n�mA��\u0002� ��]������zӾO�B���iRk^�n�W\u0010�T(�o\n�POZ��\u0018�!��\u001a\u001e�\nz\r����\u0005�ʬ\u0006ð�������V�<�u�8�\u001e\u001d���G�rccK�L�*z�\u000f�\u001f�|� �X{\u0000v\u0003�����\u001a��J��_\u001f\u000f��o�\\\bC�7�v���\u0001ț�M��\u0012F�C�;צ�\u001d���=�K�4\u001b�C�O���#�m���X@�ƌ\u000e�ri���\tr���K�j\u0012A��<:��r��V�Il�)������� \u0001 ����!�V���\u0007SN��\"�\u0012[�&�\u001a��j�\u001b��*;�)��\u0004v�)�;\u001e�`��U-��[m������d\n�\b܊\u000eխ(\u000f��\u001e��TJ��OJ�\u0000n�{x`�)+hh6#�oO`E|1��t�hw߭\b���\u0010�\u0003o\u0002w#q_om�1<�T\n����o�\u001e�\u0015_Jm᷶�\u0007�*�7�ö�:Wj����>�\u0000�@\\7=}���􌌎̆��Sn�7�\u001f��+ꤐ{����\u000f���J�{ҹT���\u001c�\u0012��\u0000�\u0010{����}�&0���\u001b��}�\u0014ȑ{udy<'�rg�r����q'���20>�q>�q&���+Y�o\u0016��1F�'�Mĉ\u001d��Q����\u0015�_\u0016�B�|���Q��\u0011~����\u00169$��J�U�\u0013\u00057i�\u0012œ�\u0019�,��(���`\u0007�\u001f��w�\u00184�D0�v|Ͽ��\u001c�\u0019j~x�+;;m,K�����>�\u0018����B\u0019nf�/�\u0010�E�,\u001a1�\u0003\u0018�P�~\u0001��a���Y��Z��>�q��\\�Ξ�\u001f��L;*$�Q�\t��5��\u0011\u0019m+��9��\u001b�<��[?�5\u001d\u000f��\u0017�\u000b�\u0018#X|�m�j\u0016\u0011\\��]\\��D��L�\t:��TY��E\"r>\u00182�[���~��Do��{Շ�5�{m:�\u0000����b�\u0018HtKk6�o�M'R�����^Ӗ����yj��Ĩ�2[K<�C �ǭ�x#D\u0003V\u000eÞ��?��$e�\u0019HX����U�–��D��K\u0017����hZ��\bt�u�3D���o^ԢI.�FO�;�6�D�+\u001b8x��T\u0016����r\u0011\u0014G\rp˗*6OZ�w\u000eV\u001c�\u0004�D�X��t�O����_��T�\u0000��h�\u0000�����h��\u0017\tmm�ma�Լ��\u000bC�\u0005��M:\"5�)'�`�\u0014&BkǠQ���y�����U\u0001d\u001f.G~��\u000e>���k�sa�Y���C����\u001c�<���6h�����Zkz\u001e�m\r冥f���x��,\r$�P�\u0003��]\u0018\u0010EFgb�\u001c�㉸�>���ˎX��1RN�����\n\u000f��l����pz\n����\u0000�\u001e 9�\u0000�K�������P`�\u0014\u0016��P\u001e��rk�|)�\u0012\u001eT�K���\u0000W��\u001f}*�z\u0000kZ��z}�\u0000�\u0002��b#:)\u001e\u0003�R|~Y�v��P�\u0004���hp�t9�{����$�\u0000z���G�����x0�E�})��*܈�*�(MEk�l�t��C���xI\u0000l�u����\u000eH�S�w�\u00076c\u0000\u0001��I�*�\be\"5�\u0007�\u001e��G�`��\u0013��$㌣�wþi�[\u001dZH�P1z���_\u001c�\u0019�ؾN�<8'�c��Z�\u0006����c��cS�UI\u0015��Dt#�2\u0018�z�RrGk��v����3+��RK�%[������\u001a\u001c��ߢǓε�������|�5��{���nO-�?�a�T���x\f�\"%}-Ά�|���\fܤ��\u0000.�v�~l� ��G��t%��?O<��\u0000\u001c�����w\\�1m���\u000b}��{�\u0000�s3\u0015l�o������]�.�%�?]6�\u0000:��/އo�O���z*�\r�\u0000\u0001�{��r����\u0000�1�J��\u0000u�6�?��\u001e{��\u000fυ�j\u001b���Df\u0016��>��ݿ2����\u001d�\u000f�ol�G�\u0013� gb*{�`w똹l��c|�\nB���\u0012\u000e�\u001a}��\u0002��R�m\u0004rd����w\u0000Ӯۍ���〡�����\u001f/\u000f\u000fq������F�����i��Ϩ�\u001f\nϑbM\u0016#� T=:(�zt=\u0007њ�^:��R��Sˣ����\u0014S�sM�m�M�-9���4�>�\u001b~�\u001b~���9m�\u001e�\\��џ��V�\u0000E�\u0015�\r\u0007�9���\u001e���y?A4��b߷n�o��:A�v�s�i����d���5��\\U��\u0000\u001f���H�m����~>;b�\u0007K���t?�7\u001b��՘�ǥ�~�\u001f��\u0000�Ǐ掜ݿH�O\u000e}<79���?x/�������\u001d�\u000e��oN���?o�\u001e9��Y�q�5�\u001b\u001b��I3�\u0005��D����U�vϮ%\u0012��j5-�V�����������.-\u0000RiZ�@��}9a�\u001c�v1u\u001f\u0007�\u001e#�ppta#G�Z\u0002�\u0015��� ߽\u001d�0�\u0015���}\u0018\u0019!���u����\u0018j���cQC�+��o\u001c\u001c�w�wq����o�8�\t\u0003�ɩ\u0015?�}��#�\u0015��iI_\u001a�\u001e���\u0007ZHK&SZ�ק��8����d\u0003\n\u001d�ڞ��\n\tD$�(i��)Q�Z\u0010��P6�ڝ\u0001�E�T�Y\u000bTn+�����c��E�('\u0000���o�@\u000ev�G���wZ�����Pk�5#p�k@�\u001e���d(��.��{�Q�bw;\u000f\u000f��Crl�Fb�E\u001c��/Z���t��m�!]���˒.(\u0006�\u0000)�����f<��VQ�ل�!n���\u0015���S!�ͳu�1G2��]�ߑ�2\"B�S��\u0012\u001b�4\u0018Y���߷��#w���DŽ\u001d�o�[�2��i_\u000e�.�����r4��s\u0018�٧���|�b�\u0017d3���s�����l;v�P�~�3Tw�H�#�M���wۯl\u0001�=Q��\u0003�ӭ\u0005\u0000;d�$�a�YE\b#���v����D��Tw�����&��k^�\u000f�\\��To�P��}�O���`��\u000e]V���Z\u001e�\u0015��L7fַRa�ҝ�֛�O\u001c��k7j$\r���\u0000��\u0000���H�J�}���~��\u0013��\u0004��(I��?H��Ŋ\u0001�v�i�S�\"��+�M��Kf&�����\u0003� N�9�\r�\u00127]���_qޙY5�g\u001a���X��u������\t_��l\u0006ҹ^��]�S֠��+27h���q^�޵���)��L���Oa�Pu�2�\u000fD��r5�;o�\u000f\u001a��D��\u0019\u0005**\u0006��v߷�\u0015�L\u001fr�J�\u000e� |�v�\u001e��ƠmP\u000fSJ�ڃ��:����7޾��c|�K��\u0007f���\u0007�\u0006<���S�c��˥i�\u0007�U�r7��_��\"�\u0012~�\\6����L\u0016y��ꍉ\u00154����\u0011\u0014|֩^��A��\u0019\u0003\u0012�\u001b\u0015˽6'��\u001di�p7�D�����R�4�O�\u000eVc�ɽ�䊌n��������\u000e�2���?=�\u0000>?.��\u001b?,���������v���^���O�Ai�y�Y������h�&k��˂��\u0011�E�=\u00009���q�\u001cC�<����?�u<�v\u001c2ϐDr�|��������/�\u0017�䗜|�����}�M���\b�G�#�Z��>D�b�oОX��E����%��\u0015K�٨8����\f32�<���~�\u001f.U\u0001�1�9�Iw2�<\u0018F8\n\u0017u����y|�s���2]+�}B�^�yJ\r:Y\u0015��ՙ�\u0012�p��Q�U\n�!���:����\nS�$���ZV�\u001eKyf\u0012\u000bp�Ksp ���|1Ig�X��P���\u001d�Ue\"�a�]�\u001b~��FP��\\�\"g�&��\u0017)�[%��\u001e�����-�!�\u0019&Bm�E�\"�f7\u0001��FU�6�@\"sz(��ov_�\"U��+m;V��x�\"2Y�̷_��b�{�n�UF�?H6�oqe\u0015bu\u00152\n�����!\u001e-����j]&�x�lQj\u0016�o�:@��j�\\��Y^�P\u0017W\u000b$���Lf`�\u0011ւ��9Pԓ*�����\u000b���F�~����W�O�\r*\u0016�ӹdI4ğQ�-N��N,�Im\u0002�e\f�%��\u0015v9lu\u0012��\"��\u001d~�\u0019tg\u0010�\u0013����i���%������ݓ[��\u0006qx���֚b��{)^�մ�\u0018Qd\u001c%��`\u0015�(+g�\"+�?��i�g.@�=R=2].+�>IOִ]&+\t��/�h崷kI��8�W� toE.���%1�\u0003�4L�N�b�\u001c3\u0011�\r��\u000bx�;�\u0000(\"\u001d\"���從�ݥΝ���w\u0016q��6_�����g@�8/o4^�L��-��1\u0002�o��\u0018\r&L��?����ak��\u0016w:�����ؼ��h������5{K��Kh�����2��w\u0017\u0017��bhm��=F���0��ȑu�~��R�\u001c`\u0003@��/J���T��K{motߥ�\r_G�E�4�>Ei\u0015��i:���+^�Y�M,\u0017D4ʱp����ʥr&�N���A��\u0011\u0011|]㻿�ʔ�|��>�gu�+m/I�k(�.�J \u0013�WB[mKI�ic��Il /=�F��-f G�@���\r�����ٜQ��\u0007�g^V�<�c$���k�F��\"�o�^���k��\u0010Gik�y�����b}*���D�hZ0auYVI+�r��cm��������!*7\u0011�~>\u000f����j�:���sH�W\u001eo��9oi>�\u0012�����]ϪIr�H�lD\u0017A䴒D���� 3�L��\u001d��\u0010G:��I�3\u001e^\u001a=v�\u0017]?S�\u001b�pO�s���W̟���6��wS�>�ڕ�����S�����������|��ި�tw\b�Y�\u001d�g=�9�y8��\u001c\\F�\u001b���9ny�\u0005��A�[�Y���/}��\u0011�\\�~������S���M6�\u000b�3U���4��i\u0012{k�;��ky�6d�$��Pv��a\u0019q\u0001(�\u0017��9F\\2�\u001c�'�4�5�x\f��NQ�����\u001d�n\u0006&G\u0014�\u0006�\u000fN�ރ1!���\u001b�m0\u0004&\u0014\u0003s�o�?�\u00072\u0006�M~\u001drr�]�A\u001bW���d��d(�O\u001f:�K�7�zxxS2��ͤ�i@���A�ZnMz�k�T�����`���K\f=!�����\u0000\u001c���+w�(�\u001fO�n�����gc�;\u0007_��5c�/\u001e�?~m�g\u0019�\u001ew\u0015���C_��i�F��m�&;??��i,�ۅV;�E�}��Çha��N�U���&K��h7N*\"j\u001f\u0010~y��v���m]�\\�\u001d�A��uǗ�\u0015I\u00117M�T�Y��j�\u0012��˗g�b7�u�\u0015\r\u0011\u0014��\r�7X;ko���>��rhe\u001b�\u001f�s\u0013�䡃\u000e$\u0003Z�{{�l}���6;�\nX2Gb6y��\u000bo����5:�\t\\�&�@��7�_\u001f�7�4\u001e\u001f֙��'�π���-�9?�8�;S6��o$�=�;�~�y{m:>�/ӷ��1��;i;�Y}�o���̬W�Y�Z���m���%������T\u001bj��O���\u0001�Vxt�ñ\u001e�87UA������c�WET��\u001f��ҕ\u001f�\\\u0014��\t#d\u0007��\u0000=�z�]˽R^���6�����Qe������;�f��UA����\u0000o\"y�\u0000I|�\u0019j:}?����\u0018�2��I\u0010�Ӡ۷�Y\u0015QF���~���\u0006�dH�[L��QAS���W +}�t%^iͤ�J&ۓB\u000fAZ�~����[x4�4\u001c��\u0005*i��2��j\u0015�\u0015�d�\u0000w�z�둮�Jr[�N\u0003�*@�M���(�yC\fմ��uJ\u0002\u000fϧ�l�O1ܦ?'����Jœw?�{\f��@� \u0010k����\u0003\n����l6=h+횺�j�*|\u001d:���{��;�j_%`�#���}�x�Ez���}�|?�\u000fޫ�؊�����ޝ1Ua���AA׷RE2\u001c�H=\u0002�6'�^����@(�m�\u000045����s����(w\"�\u0006���#��q\u0003&4�v��H�\u0000>�eE\u0007}�_v\u0005M(\u0007_~�#��\n 2\u001b\u0004\u0014��A#o�a��\nS@{��#巏\\��L�\u001bJ�m����=�����l�J]+\n֣��\u0015���s�3\u0003o�Y1ٺ���>\u0019]�\u0003��s\u001f\u0002\u0006ƾ\u0007��+��OD%r-jj\u0001#n�\r�߱��P\u000e:\u0013�+���>�c�H@ȣz���ӥ<:�\u0001�^���\u0012H;�\u000e���u�\n�\"��\u0003����\u001e��d\n����Bpo�+\b�:S~�w�x7Wo����q���\u0000V�$\u001a���\u0000\u001f�L\u0005[ߩۡ�>#���h��K�\u0006��M\r����eCnt���\u0011Oo\u0011�*�['f�|7\u001bmJo��\u0000�q$�l\u001b*.ݷܞ�n��9dX��$\no�u�\u0015ރ�l��\u0007fq�iuޣ���7ZƵ}o�h�]�ƣ�jw���i�e�/u{{u3Qc���\u0016c��\u0000܌�.Hb�˔�1�>_�C�g\u0018�r\u0010��\u0013A�i�}�dG�\u00009=��q�\u000f�0�]y\u0017�O��k�n�԰����'�d\u0012�&��ƦC�5���&�Pv~�5KU�\u0015��[2\u0003鏖ީ\u0001���\u0007��\u0018�\r��5�]}�G�����\u0013jW\u0017�\u0016$�71\b�X?-:��_���!�g�$���\u0015�?\u000b\u0003@7��1�Wǯ>MW,�dM��Ωv��Vyt���O�R�g��#Oq9��G\u0018\u0004�WP~\r�C9���rlnj���!�Y[����oq\u0013Q����)���S�Q��P�.3I����]��\u000e`c\u0004H�7\u001a�S�*H\u001bn\u0007�\u0015>\u0007�\\7`�^@ҝ��o�jm\\�\f�L'ޚ[�e�Q^Ɵ���,ϭ��Ɍ0\t��2�,G%4���ᜦ�S,�;��:]?�.�Ox�\u001c\f{\u000e�����3;\u0018\u001e�nn�6<�*��)u�3:���\u001f�g���\u0013�ཋ�\u001aQV@,�O�>��1JW��4͞\u001c' �5HF\u0007�\u001d?�m�\u001f�-w���3+�1�\u001cڸ��G����\u0011�\f�#]��\u001bf�Y�&(�+fB1ɴ�\u0017�\u001em����)Ƅ����s���/�I\u0005�^�\u0012�\u0015l6�yL2\u0003�i�m+�Y��4�\u0012��3Cų�y��`H߭w'z����QW�ۨ#a�����r؁�E���Q�'ø��,\u001c��en\b?���\ne���|��1��\u001fn�h?6$y�o2/�'z\u0006\u001f~�9����i��6\u0016�ke&��\u001eb�\u001b�\u000e>\u0014�h��\u001a�sc���l\u0005%�n��N���2\u0007�a;�_����\u0010\r���^����'��_�Zo��\u001f�����G�\t�L2L\u001a�\u0000?���V�~���Ő�4�)�����\u001ei�3��8����G�^�����g\u001e`�~H~h-2�\u000e���^��?�\u0001�ۢ�\u00029q\u00073\u0016�����{�sO�\u0000�I��\u0019�vW�qi������Ϧt#͡\u0014���6�xWe+��'���\u0007�D�0\r^P��Z�\u001e\u001fFJ\u001c�\u001c�$�/ v�޻�a�\u0019e�G1�\u001bB\\��X\n����ñ\b<��Ů����x֤\u000e��8�ubn�K\u001a���ÿ��q�E��\u0002Ͽ`\b����\u0000ߚ7��\u0013�P\u001f��<>��\\�͊\f��\u000fo���`��\u000b$*:S����<ǒ�8(;n+�|{\u0002py�4-�\u0006\u0004\nT~���-J\u000e8\u0017s��zS�u\u0014���yl���\f�Z\u0012>�S�>�6��!�\u001e,X\nP�^�}�\u001aQ�>hFQBv����hr\u0006�\u0015�Pe�������r\u0007y �;.�\u001d���\u0019���6���$S~�\u0000�+CkbƭJ��������\t�Ӫ\u000e��Ǹ؀O����,\u0010�\u0012\u0005�I���G�OO\u001e���\u00031ro�n�y�O�~(\u0001q�b{�\u0000\f��r8�\u0007��\fI+Z\n}�4��l�mI��h��YISZ�#�OՐ��Y4\u0013�/�\u0010��\u0001�\u001d@��߶Ty�.���V\u0016\u0012� ��^���d�6�эT�����\u000b\b$��ԩ�\u001bu��)�5�PjM\u0010\r��?Ξ\u001b`Z�UPT��a𑹧�|��U~=OJ{Ҟ>Ԡ�\u0002�P\u0000kJ�JWDZ�0o[sV�h)Q�M\u0007���%v%�&��{���� \b\u0005\u0001JJ�\u0007z���l5��i��]jw���G��\r�J,�0�N�\u0000�\u001dG��.��!�`zmА{�8=�\u000e�y e>�S��� 9�����zu��\u0000:�ddw\r�\u00146J�&��6��ׯ�A!\u0001)&�u���\u001d0\u001d��[-iR\u0007J\u0012+R\u000fQ�J\f�[�K�\u0014�~��B\u000fc�xd|���W�\u001dF�`;V��\u0006��\t\u0013�b\u0006�j��S\n��\u0014�Cֻu=�\\��=)@H����t=��\u0002/�z�Yv��\u001aWb)����\u0014�s*�çN��!�ӿ|\n�A���M�(;u8\r�%�\u000e�\u0000}+���\"�>CqP\u0001�J�\u000fΘ\u0015�:u5�ʾ u�\"B�k\u001d��\\�\u0002w��\u0002������$��\fxj7� ��u=ȩ\u0014�R�=��*O\u0010����m����ڸ�P|�\u000bO�h\u0000\u0004�=\u0000�#��+�\u0000�ߛ�\u0017�\u0001�\u00009F��_�p�O�~���/�D2h���\u001a�+h�S���W��IcCs�D��'��\u0002;�m�8\u001e\u0019��ƒ���G$��\u001fL>'r;���Â\u0007S\"F�#�[�um�$wڤ�\u0003�@�\u0000Z�[��A\u0004�l�Τ$�W1\u0006q$�F�\t\u0014���\u000b\u0011�0���\u001e��ݵ�>��\u001dee\u0014�\f������ml���4h�%�.,�\u0013�d���Ŝ\u001d�F�T�I��]�\u001cq\u0001�\u001f��ϙRێ��=��\tn\r�Ǥ��#�7\u001c�\u0012��\n�Q���q*k\\���1\u001d����=�-H�\u0000\u001dk��o��\u0000#,��G���T���+\b�T�i�\r\u0014��\b��oE\r^B��\u0006]�S��k��/Y��C�¿�އ�y?H�ԥl4ج\u0000�՛�q�k�����*��C�\u0012ā�Pf�&\\���K��\u001cZ���d��7�\b*���Wӎ_J�\u001e�*�h��\u0012C������\u0006<���('ux\u0011�\u0006P�İ�H\u0016�&`k!WJ,M\u0019~C���Bji�����wo\f��z��:Ky\u0000��\u0017*�CIu\u0004i\u001b�;�_�Y\n�Ү\u0018��]���s��3��Oc򼰬��I�IԈ�\u0016a4ԥ�I\u000f\u0012�]�\bo��\u0004��)����\u0003��a��z.�c��+=��it޷�-沙d\u0011��A��۲��\\@Ѫ�Z\u000e�PF\b� \u001c\"�#�\u001f\u0017\u0011{W���\u0018�B�4�k�Vp�\\z̞�&C#$�KE�\u0015�Z�P\b(Ð�n���9g�!�q~>���V�lf�S�4P���S�2��I}KK�䬤�#)@\b����m6*>��㓥��\u00126\u000f��}�����4�Q6�i�Zu��~=X\u0012����b��H8K!{��,iƌ@%�PFn����#�#ow_����\t����\u0006�}_�{�|��3��:Mm����h�][��wW����oh\u0016Qr�S\u0003q�Gb\fL�\u001a)=B���\u001b�\u00063�\fb�\u0013W��ח���򽧒:k�)\u0019�I\u001d7志�0\u0005�\u0011���\u0000�*~^y�i�\u001eE��c�1�k�\u0006��{9��=A �5W��?D����M\u001a�\u0016���\u0013\r�\u0016��d�o���<8�ۋ��9\u001f=��RR�d$�D��o鑳��=����c�~Ek�Mּ��7�yJ���\u0000ʶS=����~���T��=k�2]]YEp�5���\\��3N�ʀ,d\u0010%)��$Lc\u000e`~�]w���qr�%\t�\u0007׌�?o��\u000e�e`�c���X�kZ\u0016�\u001e���=�*��_���iks,sI$����V�L�\u0014~���a�\t��D�#�r���U�����M\u0012}c�<���3���\r\u001b�^S��Ҥ����E�Ӛ��٭��<\u0013Eq\u0004����ՓE�t\u001b~7�2�#]1�P�c��Jr��G\u00006Ow�\u000f�\u0001ϑ��\u0006�,R\u0004�\\�U���˯7�s�\r����\u0000��\u0000�O.��E�����N���zU��.�=}!Qye}op�X\f�\u0012Dh��`F��~yq\u001d��\u001b\u001d��o9�\u0004��N9\u0002(�z�\u0011�\u0000ޛ{\u000e�NaDz�Y6�$j���:\u001e��:e�qA\u000b\u001a�\u0010\u0018(\u0004}�'��'\b���\"B�a`�x�_����\u001fid�6��\r\b����� \u0002T\u000e����s��3<�w����\u0001\u0015Ol��c�}\t��\u0000��:m\u0001��5O��\u000f/\n,{xW����鏦�7\u0007/{����\u0001��ߛN�8��\f�b��M�d����{�������nG{��\u0015�Mi����s�%3���\"#����`��\u001e\u0014\u001d�xW;\u001d$�\u0005��\u001e�4t��\u001d�\u000fo\u001e��\u0007kq����\u001f6���.�|,\u0000�}���\u001e�j�\u001c�A~S]9�{��\u0000��4\u001b��R��A������ƈ\u001c�/�\u0007�R���`;S��I�@���'V��+u�n:�z��2�d��.ms\u0014|�\u0014;�a��îeƈ�\u0015�M!\u001d:\u0011�ƽ{\u000f\r��W3�z&H>�O�7�9h�aVl�?2tp|;�ߦ��>��>�3\u0016�\u0007�Z\u000f������\u001e�\u0014\u00034�7#|���-��\u000f�D�c�~��ڣ.\u001c�O'�\u000f���\u001e�?�\r���~�f�\u0000����h/�\u001d7kH�\u0000�֝��s��\u0011mr�S\u0003\u001cԨ����\u000fO�L,[�!�\u0000u�J��?\fUw�!ۃ���ߧ~�\u00126S�X)�#���~8�̓}�̼�?Ю6߃\n}\u0007��ߘ�녲\"�\u000f���ؿ�\"�\u001f�M��^����\u0007�\u000f�\r�k��z|����\u0010S˶\u001f�:�\u000f����P�qi�����~߇o��:\u0011�\u001a\u0011+�|�J��~��O��\u0000>��;Xy��\u000f���\u001d��m�7\u0007*G\u0010~C�N����k@Eȅ��\u0014;\u0011Ҟ\u0004\u001cU���R�\u001fz�\u0014�\u0018N۠�c�RE=�c�\u0006�»�\u0000\u001e�\u0004<[���\u0000��������\u0007�������\u0011�S�)�v�\u0003\u0015I�%��T�t�߿��\tS����q֧���/-�$ܛ����o����L�?�\u0010;|��v�1�R�}ة�Ҕ\u001f�n������%\u0000҄�QҘ\u0017t�A�޿��l�\t�C�߶�޾�x�Ȑ\b�ФP��T׷c��\u0004�&9o�\u001bZ�x�2\u001b���\u0000��l�Uv9RF����*\u0015_.�8\u0005\u0015\u0014�❪\rO��T���n~\nh�Ԉ����;w�@F'����E�t\u0014'q����Ȩ47慐S������\u0001,j��K���q�\u001f\u001a�|�����\u001d��\u0013cO\u0012=���^9Y�NJ�It�:R��Q��\u0000n\u0006@�(\u0019\u0012�\u0014��j���\u0006��жIt�~~�~���+\u0007�`�K%^�~��\u001e\u0018�{ע\nE�^��A�\u0011�!\u0003(�C��\u0007C�\u0007F�*�q޽:\u001fc҃�\u0001�+�\u000e�@ȵ>�a�kN��J�ȃC�P�=�\u001b�\u001d��\u0006ET\r)�\u0006��=��\u0005Zծ�\u000fN��\u00056�R������A�\u001dFGu[�\u001dv�}�\u001e\u0006�)Z�j֠v���b���\u0006���NF[�\bM\u0015�PҽGO�{�)2�-ؐ~\r��׭v_�O���\u0011cuU���;����r��x��^T��D�$j�$��\u0011@,��**��&4\u0019T���\u001f��h�\u0000��9�o�?��\u000f>X�SQ�S�<�c�~\\Ũ�\tR��_�D��\u0000�Ӽq�Gc��\"\f��FJ\r���a)G&��Nl�Q������Ϙ�9�2�F3�\u0003�;�ߜ�~�za@�VwI�O\u001a�\\�b���$�K\u0012\t\u000bH\b�U�\u0012w=sg9z����\u001c�0'w��s�/�����!�����V�Ҝ���mi8��1�]-���\u0014���\rFS�\\7!�\u0007o��\u0019�;D�^O��\u0000�?%��g\u0015�ť�=��\n�!�\u001e;x#\u0002р*�� ��@b�\bڙ��$e��^�E\u0001\u000fH�}K����Ct��\u001e\u0018�r�j%[�#G�T��D��\u0018�ƀ�.&�\u000e�\u0013��\u0015'i�6�~ǜy�L�д�U�NU��\u0003\u0015��B���P��N(�cC�\b\"'\u0010���\u000en/��^�8$I\u0019������\"\u000f&\u000b\f�4��4��N$і�S(͏g#\u0006N\u0019\u0006E\u0005�*$Sz\u0012#1.\\\u0002���\u0000PѣV\u000eAHN�y\u001d�kH�]�$%[�c�O��\u0004�*T\u0018P�\u0010N+!-,5��\r\u000b��\u0005B��}�\u0007w.3\"�6�Ƹm��\b�\n�%�*=(n\n�>�\"OV�E*\b�}���NbK\r���\rEK��zi������k���pc&�\u0018�K\u0015���F���\u0006���We\u000e�kĜ�q��7;&YU�a�>��F��\u0012�\b\u001e��򥖟�H\u0019����\u0015ͳ����l\u0003+�~#�s7\u001e��k�\u0016z�\b��$�\u0007s�l���˷�z��ܖ�-�\u0019�:��Q�\u001c�}XJ�Gh�E�F*� /��a�O\u0011��\u0000q���v\u0016�3�\f��LK� t���|���v�\"%��vP��.��\u0007\u0017��%�\u000bi�\u0017V��W)��Z����(���Ȉ�\u0013\u0015�\u001b�.\u00038�\u001a�u\r��������G�\u000f\u0012�1\u001fN����/柛��W��i/�v��d��mV�9�b&��͗�㷙�z�@�v��\\\u0018�\u000e�GU��c�\u0012=vx�\u001d9{���W��|�H��\u00148OO3}wܑ�~�izp���`�<�#Xk7s��z,����s��{k��`�}`D�̆\u001eW\u0001�\"\u0019�\u000e\bX�Tre�B@G!;Dr������F=6h�,*Q;�U�\u001d+��o��~H][�^ZԤ���5�-_h��V\t{��K\rF\u001b��w6�k\u0005����z]��.\u001e�Z��8T�Jd�lc\f�j;���t�[�f�(��|��^}\u001f�\u001f��oέ5<��˽Z���\u000f3����t��\u001a��ɦ�I��_�Ao\u0015�ͫ�-UHg�.�M9�^�h �ڞ��\u0000Vt�~N\u000e]���}��?��6��\u0017\u0015�y�V\u0007?䟿�sݯ���e����\u0005W������yD���GW�\u0002�WW��\u000f�~Y����'K��GȴR=��mblXq$+��?6%`��߇S�n�?�>��[��ߘ�����\r~��v���\u000b�vﰊ�GJ|�|\u000f���R?\u000f\u001c��\u0006v\u0005s���H�\"O*�\u0001���H�\u0000(���f�9�w]���o���\u001f\"�������ק�L�v\u0007��=�2�yy?Mt5�\u0000q���\r\u000f���ClC��;�SoP+�7����da�\u0007�\u0019\u000e�\rF��\tJ�*O��\\Ȕ�<@�G��ꚥ�Ȓ\u0011ː4ڴ�զF3&\"K!E�ϭ�!�\u0013?��{��,w@>����t�o\u001f���z,�%�����hV[�\u001e�\u0010\u00014\u001bv��Byc\u0000.Uiޯ��|��5�\u0011�r,�5'�Bc���7��\u0017-*�\u000e��O\u000e�|�8�Ք�\t~N_�\u0017WB�.%��ퟠ[\u0004���Zb. ��T�V����T�ݘG�6�Mm\u0003|#�iS���\\��*�ST��3\u001b5%\u0007SA��\u0003נ͆-���6�z�����2�{WDr��\u0016_�m�@\t��\u001b����p߽��`�\u001e{��Ol�kfdK���X\u0015���oQ�Sڽ�[f�2ܹ�3\u000bQ�F�]�\u001bo�lb�߿��\u0010�\u0000�:��s�R\u001dv�\u001c��E��n�N\u0015�!\u0012F@=�S}�2�\b��@�'p�\u0001b�����\u0010�(;{�\\S2 9<0\u0003zc�G\u0018f\u0000.�.��z`\u0012��r^\u0018r@�\u0006��\u0001���q�:���ثcz��\u001a�\t�\u0019f�M{��㨔�PMW�\u001e?#��L�F��������\r|�\u0000b�P\r�0\u001f6�>[�\u000f�R���Õ\u0000\u0000���\u0000�.�^�\u001f�R\r��#m���\u000bF]�A��{\u0001�tΌn��t�ç��PM,��\u0007��>����\u000e���YZ��ˮ1�p���N��aZ\u0001؎�½N[�8��^�\u000e��\u0014�;�*�\\/POZT�Ӡě\u001ejƮ��4\u0007��\\of;��\u0002z����8(�} \u000b��L\"��W��\u0013�ы0:)\\�.����?z\b���X�y\u001a��\u001d�vŏM��:\u001f��5�����(�\r{�\u0000�\u0018\u0013i�3�\"���]�mҘ,3ZAf$���{�=�ڡ.\"!OA��\u001f�L\u0006�%cҨ���|���6�1Z�\u0002�����#]S�Q��\u0006\u001b\u0001Zo^�烘��^,�է\u001aP��}���A4w�5Н�&%\u0010�\"����������91ې[�-������Y\u001eQj$�ir�\u001b����ʈ oȪ%����xSƟFQ x���n\u0010�j˷���\u000e��y\\��C\"���\u001cv\u0014��\u0003ۣ��}Ғ\u0002��V����S!d���!��\u001e3�쟟m��5�n����)\u0012�\u001e�)׾�\u0007�kF�H�Z���S�z�#t�V�{�w\u0007c�^9\u0015C8�O��qZ�\u0010v\u001d1*�A��_\u001f�߫�\u0002���Ek_�?϶GޗS�½��{��rW\u0011N�Pg� N�i\u000b�ֻ��]�}4��oq�\u0007S�O����m����Pk�&���A�ڟHڣ\u0010�rW��#۽jz\u0011��I\u0003d�ξk��^C�Ǟn@k'�G�\u001e`u\"B$m7M���\u001e0Ry\r��\u0004�e_�؎�\u0007[#\r>I��\r|N��-���@\u000f'����Y��\u0017���B�m���\u001a�ƹ{\u001d��Z��[���Ӵ�^O��J��#I\u001cʉB�v;�61�\f1\n�@G�(�9�6h�_���\u0013Mk}?�\u0016�\u0000[�H�.mnnb�O��F��\nh�\f�\u0017�U�s,�\u001bqt\u001d듑�Ug��i��\u0019_2�\u0017�w�gU?�:\u0014Z�\"hVsO��-���2�FH\u0004ole�ՃIr�x�*���\u0015RL2c�ԏ��]�f�3�x�_LM�X�\u001f.��<�7��%���\u0013[5ͫO�\u001c-�\u0000�\u001ah�*)��\u0015�aZ\r\f���6z�:�Q��\u0000�隕����SB.#�����|��-�\u000bT��X��\u000e�x�ȼ���\u0005�I\u0018%�$\u000e\u0011��\rQ0�\u001d�P�_4[\rF[�1rm!�;}R;���E\u0014EQ�\u0010M\u001c���E�\u0016)5�`\n\u0002��<\u00120�@�\\��1�O;�����~y����1mo*@����Ȗ�^�,��,�� ���\u000f�#]腁�\u00190�\u0017+\u0016�\u0013͆Yj�[\\�\\��,�F��\r,�_�\u0007����$�~\u0012B�\u0003�5�V\\}\u001d�\f��'H�I��`2@�4FYϬ�;\u001f��L��Bn^0���\u0016��'5������\u0016_)�$�RE�iR;v���C\u0019���+yex�\u0005�k�B\u001a�\u001d�DI\u000eL$y�c�\u000f<��\u0016�X��\u0007�\"���\u000eR��M\u0014ޭ��\u0006�Z}X��\u001bz��\u0002�\u0004\b�3\u001d\u000b��χs��O$ƑN-�'�K�\u000fїE��h.�\u0017o\"���3�6\ro,1�0\f��N ���\u001c\u0004eFC�lz��p������C���_��\u001e�oo���ڋǒ��gCk-��-Z{g2�|ֱ��gn)\u001cw\nΊ��J[3�\n��/sU�GS�Ww7\u000f.c\b�f\u0003�\u0001�m +��b�;l�C�OӤ�tǺ����]����;\u0016�+K;}9�b�OF;�J\u000b����x�x��j���=�����bdxA\u001c��\u0000\b5�ϟ���K,�Ftc�\u0019��.���\u001bT����~�~S��n�k�����Y�a�x\u0011���c<��o\u0019^pKq\u001d�K*�_�i�bA�G�7F�O_/�7�5�g��MDKz\u0017�W�]�V�[J� T,�\u001c��\u0005���M\b\f-�/ˈ�OQx:Qx3�[\u001cȱ�E�xr���|;�\u001d��_E<3GwI}8Lj�\u0015i9(�o\u0018܈�\u0014Щ5�r\u0006U\u0012\r\u0012YQ��7�g��\u001f����iz���XyG��M7G��+�R\u001d{�\u0016w:N�>���F=O�?��}L\\I\u0015�\u0013�j������\u0012\u0012�<\u0012�>�:�?��\u000b��u1Ɍ�\u0004x�@���A{\u001eo���r\u000bˑh\u001el�����i�H\"�.��1�6�t��ߡ4Xb��C\u0015����0��\fb&.\n�\u0004�e\u0012\u0006:ၽ�پ��og���B\u0000�b ��������\u0017�\u00008���u�{���meuYa�\u0000\ty���d׶�M�-�%�ޔ`�m9Z�5x����$��€1\f�\u0007W�\u00191�\u001b�v��\u000b�o{�\u001d\f���Q?O\u000f����եd>��J�E$\u0010�\u001c�U�e�$~`�+F��\u0012\u0007J��WG!��\u001b�aO\u0011R)�\u0013��\u001fm!⻟\u000f���X1ȠrOm�H'���\u001f\u001d��3w�Go��u3�\u0017�G_\u000f���?���zA��yev��t����η@h8�\u0015ϛ޴!�o��\u0006��ij�p2���>\u0001��\u001f�l�<\u000e)�ļ�+n��l�c���v:>o\u0003Q��~u���Fy9�\u0000�=����^\u000f��,\u0000�׮���������G��)����/כX}!�<�k楬\u0012���_�i�LV9{��\u001e��1�������\u0007�ʧ<����Q��=\u0016\r�o��>f�\u0017��Jn�c�����]�\u0006�����TT����Q���}�{��Q��n*\u0000\u001e���\u0000���{zₕ�M�n\u0006m}���Dw�Y�{ߥ�*\u0001`�@�3�!�ˆw6��O���N�Gc�\u0018F�̰;$��\u0018��=\u0016�bv\u0007�|3�s�8\r�\u001d����&�u��)Q���.\u000b,rm$���\u0000�����O��.�=C_އm;˄�ȿ-��ڝN\u0011\u001d?�U���L��kV\u0012\u0001 cƍJ�;��u\u0010�\u0018\u000e!՜\t�ɼ�\u001c)s\u0010��>4\u00155$v�C\u001f\u000f\u001cD*�h��\u001b�\t��?�RW�C�2Y�^�>Qxߔ:�5���o�L+�����9��2$�v\\Lr\u0002�@\u000bjT�\u001a\u001d�O�f7\u0000\u0000l�$M���*iBGJ�W���\u0013F�@�e�)�/M��E~��͞*\u0001��Ә�\u0003��}=�+\u001a\b�ͩ�Z����r9v��(\u0001��Mx�d=\t�؞��\u0019�귙'�����Ĭw��������x\u0015/'4~�ih\u0005c���F��fO(��z���\u0000�~4�!��_�����e��\u0017�\u000f�j�H\u0001�����s��q��\u001f�a��z�֗�Y\\$\u0017\u0011#\u0018\u0018\n�A��\u001cq�\u0004\u0013�7d\u0007�`����\u0014k�\u0007���Ze�\u0011�n=d�l�oTm��?�\u0016w�}������A_y6�x\u001c5�T�P����(Ʒ;$G!5O��\u00000��wei;��q�\u0012@\u0005j\u0007Z\u001d��j�P��\u0010.F8�\u0010H�����nG����)w\u0015k�\u001b�\u00038���c��9p��~��D�4\u001b*�\u0000���*���l�{+|q�qr�}1\u0018�O����G��\b���OՊ��U\u000e����ı�����HC0�w����q\u001c�<���T�u\u0007����\\s`����w�܏��p�l�{��N��_~���ǒ�\u0013�̒Gn��>�\u0011]z�DeO��u��:\u001c'��[�Ө\u0000u\u001e���#�JUs=z\u001e�\u0000?��8y����$�\u001eLMv����%\u0015A@�?����\u0002HPu���{{t��\u001e�C���x�����}�FB�j��~��ِ�_p\u0003%z���������~X�9\u0003��\u0000?|\bC\u0018�h>U?G~�:��8�P��߸�w뷍r�\b��\u0013\u0013[#��\\\u0016����>9\u0013Ȃ�H�>]�{P\u0005\u0001�ץF�xdkf����\u0004��O��!.UՀR�\u001b~���*?k.\\�@�\u0003�Ԧ��z{\u001c� ���\u001d�L �\u000e��ԓ�\u0000�>G(�ۀ\u001dQ�\u0018H\u0014 .���\b\u0007b�\u0011MNy\u0002��0�U�\u000f��S���ʒY\u0002�+��4�?<�\u001c;t_'���1\u000fUۨ؞��J�s[uɫ�<\n�R�\u0014�AQ_�\"\u0013�R��;q\u001dOJ��\u0011�B�Z\n��B{��c�ކ�Ԛ��{mZ}��\u0002|���A\u0014�4\u001bП�B��\u000b(~\u001d��7��\u001d�ږ���z��\u001e���ZT\t=�G�oƙ\u0019l�A����F���\u001eJ7A9\"�@߰��)�(�\u0011ߚ\t�\f�\u0000m�����<\b\u0019\u001be\u001f4\u001c��Z�;w;���\u000e�=k�/�zu4܃�v����}Y\u0013�u�O\u001a\u000f\u0011^��\u0001�\u0018���\u0004�T����s��\u0019\u0002$,���Ȥ�Zx�M���x\u001c��܂��\u0013^��H�\u0007c���dj�.�W�(\u0001#ؑO�=��R�G_����@�\\���T\u0014�۷S����*\u0012�J\r���|\u0007�'�w�P�Z��+Zx��\u0007\u0012�/Z�W�w�o\u001a�j��$��2\u0000�Sڛ����dI�p\u0014�jh\u000e�>�N\u0003���]O���{\u000f\f��2\u0017��P���G��A�F����E\u0007�<;S�\r�J��ó\u000e����x�\u001b#�^=�\u001ao�_m�Y\u000e-�[���rcY�<��\u00008�����V\u001a&�m�U����\u0002\u0003H�\u0017�T�zu��,\u0018\\]^j\u0013G\u0014q�ɛ�15NjM(�2��\u0000s$�P��͸#)f\u0015�+���\u001b!#�S�,�<���x�\u0018�d��<\u0015�\u0019',�*;��*Y�\u0012\u0014P\f�N�r�\\�G�e���_��=~m;H�R��:5�\u0015�=��pM\u0015��?Z�InPLm,�n�x&!՞GR��A\u001d���n�\u00102�\u0011�{��c�\u0000�\u001f?&&��:~�6��jP��V��p.��Z^Mios�Y�f\u0019'�y�.�b�5ߤӆZ\u0000k2�\u001c6|*����r��C\u001cq�`˯����|��顃���㲉���Eqv\u001a\u0010��[O9\u0004�X�rrƤ\u0013S���g�\u001c��]\u0012\u000f�}�N�QC��m��yo��om�\u0012(�\u001bؒ\u001eq4�X�6�F��ٸz�\"\rLjz�\u001cK*PW,r�h\u0003t:���V\u0001�\u0001�}��:ꗏ��Y&�\u000bKY]�\u0004[\u0017I�Y���0��bJ��\t6Â��]~C� ���ˋ��|�\u0003��$��X�^v�1�:]O(\u0013\u000fޘ$h,�if3\u0018���DE�$������Nf)�n~\u000f\b��X�,���Q\u001cr\\�|#�.�\"@�ˈ�\u0014�Ff�f\u0015 k�pod[����\u001b]=\u001bC�[� \u0012^r�:�5c�Zx���?\u0010W�H@���\r\u0018�9��!|�w�'�\u0001\u0019\u001d�ŤꓬL�\u0000��U={�B\u0018�\u0003!Y�X\u001d\nr�$�V�mJf$�\u001d�;L[�7ѿ�\fg[�\tk�$��\t���{���a\u0003�4FծII\r\u0010�\u000bʥI0�og0\\}�|��^I\u0010���?��l\u0013M���eW���\u0019�����W2}n�ԉ�\u0002�1\u000eUP��-4@���\u0017]��ӛF�)���@�@��������\u001f^���\u001dA��o�%���}����\u000e�k�^]A;��>q$\u0018�\u000e�J&C}����\u000e�����l���M�ք��>�\u0004*�3�����\u0011\u001b6�H��Q_L�٣,`D��9c\u0005�c�vt�c\u0018d��\u001c��6�y|7y���p�L'���\u0003f'�$oB�C��\u0006����k慏H�U�\u001b#��\u0018���\u0018\u001a�\u001b��\u0016�Nh�]\"Ԍ\u00113��?f0����걋\u0002 z�����|�P\u0004��¼\u001a�{�_\u001d��w���I�2܉���)��oU&�C\tuIY�I�+�{i�MvuP\u0018�\u0000�jq&��g~_��!1�8M\n��w_���\u0000M[�)�\t��ݽ{9X<�����\\'\u0012�4� ��iz0��-���Ic9hf��\u0014����}U����o0V��7��\u001d��Y/��+3\u001cHe���\b\u001dN��\u0011���Ǿ�����\u0010�G\u001d�8Eo[��\u0000���7�ycSm[�\u001a��ɪ$z%� ^D<�%�̺��͸��{�t��\u0010��A$��K'.aU\u0018gB2�xI����s��_\u0017C�\u0010�8��ߟ�����\u0000�=�\u0017^c�����/L�y�~]yn[��&��nn~����7��!m��,�R�ny]N1�Q�����8>��\u001f緆lA<.\u001c��'�q���\u0000T�\u0000\u001a懶\u000f�Ϲ�h�?\u0017���\u0000r�x֝��\u0013]����|ޝ`*��\u001d�\u0000�w\u001a.N�72:��P\u001fa���W6��6y8�:�B�\u0019\u000f�\u0003�槴~�<�~-�\u0017�c��H�c�׭;�M��5#��C�?�/�5\b�;�����_c\\�}��*��]�\\F!��\u0011�\\���:\r�\u0019��W\u0011�uX�\u0007�\u001f���r\u0006�o��\u001fNn}�\u0004���y���~��\u0011\u0011a\u001f�\u001fl�Ht�\u001e~i�\tZ��#�~�˱\u001fP,Ic�ճ�t�4\u0007ޠ��.�\u000b\u0014B\u0004�qv�\u001b�[�\u000b\u0012��Vb6=��L�11�QA$��K\u000b�\u001f��N�\u001e���~��\u0014R\u0015����\u0012\u000f�'��\u001e��&�,����䐴���ڵ*�����\tN4bv6��=;�Z,���2q�\u000f�c�R�A�y��$\\����dڟ����\u0007�V���A~T�C[ۺ�\u0000�L�m�Y��٠��o��\u0004rS��a҇���2����lv\u0016�Hb~����\u001c¥�3՘��[\u000fM~*P\u0001Os�o�31ˇ�6�\u0013V�W\u001dj>�|Ȍ��E����#\u0013�����Br�e\u001d^q�\u0010��v��\u0015�۰�-I�\u0013����\u0001�Ŭ\u0000\u0012�w<�n>��1\"l��r�{7�SX����_a�\u0006�vS��?�\t�F?�^��\u0000=�wٟm��\u0001�+勱bc��Ic�\u000bx\u0015�ZtΎq$\t��n�J�u\u000fb��-=\"Z�\u0000\n�r�V�ޝr�q���NG�\u0012\u0017\u001dR�q��o�&�\u0004tɉ��8����_���i��z�\t\u0007�\b�\u0010>�lNK�R�{FA���\u001f��z�l&xk�\t�<�'��q`�w\u001ce�Z�\u001a#\u0002I ��05\u0003\u001d\\\r��\u0019�9\u0017�/�5�o;Z1ZV�\r<\u0017�Ü_l��=�����s���9i�Y\u000f��?��Ώ�Ec����K�4\u001f��s�qՀ�}>\u001f��T��?�Չ4�rbw���Z���\u00061#�'\u000b!?\u0014��+�ؚ��~�kL��旔\"�=z����#k`��u'�}���\fy\u0015���\u0015�|;x�\u0000�LU\u0001u\t �\u0000��\u0004������Z3A�5���ƻ���-��n����6��\u0010=��F,��$\u0004vﷁ�\u0018���\n=P�\u0011���\u0000\u001f�\u0002B�A��ۧ��\u0015���*�;���\u0000���<�Z�ȑZ\u0001�����l��m�W��}��\u001c\u001dY\u00041�#Wn�?���Z���8�ڵ��\u001d\u000eG�����MkҝF�ۿӐ��pi�4-��Q֠W�\u001f�}�\u0013B�\u0019�V7H\u0002}\u0007���eRb\u0014%\u0014?};�{v�\r��[i\t��U09$'�|�iЎ��\u0007Ɵ,Ɛ���\u0015�#n\u0010\u0015o\u0003ч��l\"�%�\u0002)Rj\u0001 S��䜪[rf6\t=۬U\u001bT�)���p\u0018��_���7\u001a��\u0004����*\u000ej���;�-y\u001e\u0004�~[u��A�d�?$#{�\u0000�܏�j�m��!W��7�5鸥>�Uœ�l7����9\"\ry�8�OΛ�'n�\u001b� -,���ר\u001bl\u0001A��G@P�i]��\u0007}���%ϓ#�S ���\u0012;��\u00126ǚ\u0011�\u0004}��Z�j��\u0006�}&��6o\u0011Zw�Żt�\u0013�Pa@£���Ơ�:����'޾;�t\u001b������5�_&�V���c_\u000eԦ\u0000\u0013V|�.)˷J�w>��\"��� %\u001d��O�O�ӕȞC�{g�D�J\u0013�)_aߗc�.��?��h��4[i��\u001bI�}7H��[���5�;}Z\u001bk�h�\u00122��7\f�$\u00171�fpNo�`p�DL$\u00007����� At��(�1\u00162ѣ�c����1ԑA�L�Rյ=>�c���^�4Z|���8/�l�_F�.#�Zk\u0012D�K�24h\u001eFv\u000e�V��\u000e\u0010���?O#�\u0002A>T\u0001\u0003q���\\�)��Dj�ٺ�\u000f\"l�����\u000f��\u0000,�wZA�H�բ�t��İ�8��S�\u001b��G�Gqigg\t�\tr��ү������Fdc5��wF>�f�x�\u001f;t\u001d�g�\u001cc��J��}s��D��\u00126\u0005�)�p���o���t�i�M��pF�v���\u0000W�Y�/^�X�\u0013\u00141��IJ�A\u0003�żw�#���lMm<6�\u001cn��\\���������ߛ��'uuuK��G�T���kp��\u0018��,��7�c:+4n��\u0007�bT�Y��'�D�UW˟��<�>���8��fv'�\u0011����?����'~c�:\u000e���a�wq\u000f��I̞Eь����\u0000�w���ա�����-��r�O(�\u001a\u0019\u0015x�V9V#\u0018��ΤI�\u0011����7���\u0005�a��sQ\u0013�\u0002\"�����GrK�]O[�Y�~�\r����A��B��~��\u001a�����W2Y�o�%�Q(Y%X��\u0000V�Yw�ic\b��\u001b�F��{��y�D�d��\u0007��w�tn�\u0000�/\r��O���:��E�-|���E�\u0006���F�y\u0019�\u0000(Á�Í;g-�7���I󷝝�\u001b���2�S��ݿ��CK!��41�\u0010;}\u0014'�-���!�5e��n:��v��9��5����6u�n��\u001f?��3���'xm��Z\u001bG�\u0003�N�λ@l\u0007\u0016c���t@8��\u0000��:m.�w8\u0019GG����5��|�\u0001�\u0017\u0010�b~g�����������Ǩ{�\u0004���m���Ǧy\u001c���\u001f\u0007���|\u001e����ʿ<�H�t9����\u001e$����6�>��IS�|̵�A�I��sS�\u001b���ݏ��/�e5���F�x|��K��5 y�\u000e�~��-�\u000f]��_M\u000fo\u0013�t������\u001a&��u�U��aȁO��3��s ��m]Ϩ�\u001f`�\u0000I}�L��\r�{W7\u001e΁�K�ӛˠ~�iP�\u0000�'jq�_\u0019���@$\u0005�˃K\u0015E@������e&b�\f����\u0013\u0014*\u001b}�C��]�ċ���7]U�P�\u000fQ�;\u001e�\u000e�Iؔ�#��_����\\w�ֵ�\u001f<\u00112�v�\u0014�T5�M��6���.#jF�\u001e{�\u0000\f�N�ߧo|��\u001c$�3\u0011\u0007qɋX����\u0000Wj{f\u0014\u0000\u0006��9l�lc}��n���̣�H���\u0017�\u0019��w�?�\f�vg2\u0018�oЭ'{8���W�x}\u0019��鶩sL}(�~\u0000{�{���G�~\n�\u0018��k�n��\u000be\u0013\u001c\u0011�\u0000\"o���\u000eJ��\n�&�(�����;x�ps��\u0019�����o\u001fզ\"5\u0014S�{�޽s\u001f?���|A����k_:Z�:^'��<����k��v+1��\u001e��Jh����O��t}����h�v}\u0016��\u001e?w�\u0016�?�\\\u0002;�;�|(��R�\u0002������rb7��n��\u001d�N\u00007p�sJg\u0015_\u001d����.\u001b��M�ic��\"�I�m��2U��X�wN£ߠ�]�\r0V��^�\u0004���4\u0003��??ՁQL��ޛx\u001a��a\fv�\"9t�|:~���D��\u001b\u0001_��{�A���5x\n����7�\u001a{c͜M�a鬊8�O\u001f����ŗ?r�Z\n�>}1_5&�\u0015&�6#Ÿ�`�h(4\u0000֛���^8���\u000f\u0002O_�킺�oj�=T�\u0000\u0007���\"{҅�(���\u001fy���t_dv�6=���|��ْ����w��\u001eƔ��ʶ\n\u000fR�_���R*(;m�p\u0018���.폄5�:�x��\u0019T���w=�~�n�z{�\t\u0000��bUz\u001eT\u0015�i�;ҙ\\���\b\u001e}U�h��u=)M�}�\u001aB�#Ώ4�E\u001c\u0000\u001f֛xxP�Gf���'�8=A��>\u001ax\u0001�#vcm�1�F�vbw�_}�щ�A�����I\u0012l\u0005=ȧQO���f��l�D�C��\u000f���p�(�\u001b�\u0006����@8������ZWƾ��,\u001c@m�\u001dZ�Ơ�[\u001a\u001f\u0011L7ct��Ӹ�]��\u000f��H�i�Sj\u0011^�w镔ʶB:Ձ�sӧ̎��\u0000\f �LojX�ZP�;҂���#�A�|��w�Z֞4��|Rw;��Z\u0003J\r��;bO�\u0003����\u0003Ob{t�;\u000f�r\u0012�@� $_��=����L�\u001d��d\f�ƀ\u001f\u000f\u000e��Ğ�Y\u001e�\f����m�|�$�\u0001Ke�>;\u0013����(\u0006q�w@H��������+���[��%���jH\u001e\u0007��\f� \u000fW$��\u0003�)S�����+*��H�\u0000��u�s�0y\u0005K�\u001d{mP;x��\u000fM��o�4��m�M~�v8\u0015E�:TmM�}�i�&�T\u000fZ\u0003�T\u0001@v�\u000fj\f\u0004���O\u0011Q�\u001d\u000f�`V�5\"���\u0014��W\u0007-�\u0005�?�N��\u0010z�I�\u001d�:���_�)�$�y1�\u0016�\u001d�l\rMH=�v8*�w!r��\u001d�����W#|�Jϒcn�\"�ocA_�l}��|\u0017�\u0000?S�1\u001f�����\u001au�����W��k/�d��(-`\u0012+����0\u0003�\u0005\u0002�R\r3\u00131��{>�\u0018\u000f;�_\u000e��9\u0011�ﭾo�W˫`ڍ��\\K�T�?�s\u001d��\u001a���FD��o\u0012��U`K9S��y\u001a\u0007���\u0004�nO���p����։\u0017�nu�}CNk3\u0015���[����F��D%T������\u0012�H�*�\u001a\u001a�H�̎���{�W��Ʊ�\u0011\u001fI�9|_��\r�8\u000f\u0004���\\�\u0005�IX�f��\\�ꪹ�c$3�p\u0014c��fn\u001a�O>_��s�F^IO�3Ms���ZZ�z�\u001fS�,�(>��\u000bY.&E/\u001c�\u0017�*�\u0019]�3J�:���\u001d�l\\R�\u0011\u0000~��7���iڜ��^�Z\\\t�\u0016�9�\\�mw\bu�����]\u001b)&��v DhA$\u000eY�e�e\u0004�m�4�\r8�\fȡ��\u0017��~jir[=�����=��i�[8g{�Z�*ZD��M:v_M�C ���\u0005\n\u0000p��rp\u001d�ǣ�â�2D���o\u0010�\u0007�,�D�Rٗ��7�a���ȆR]c�ۺĥ>\n�Ո\u0015#4�2�GnoE�1��7���7�ڻ[([�w�O\u0014�u\u001a��H%�s��b\u0001k����w\u0018��,��S�u0�v���};�vr��\u0011}f7�$��(�r.��&vI��\u001e$1P�N�B��o��\u0012�vw\u001a<��ly�+j\u000bkye&�$��\u0015�-=��\fL�\u0006:4�'۵��ۉG\u001cCt4+Lyf<���\u0017�+�V�wډ��nWM�ۜ�_ҍ}\u0016$�\u0018z�'� \f\u0014+��Uj6�bLɧ,z!O�4O1M�.\u001d:�X6����4jR�R����h�6\u0010��Og\n�D\u0019\u0019��+���3qh���<��\u0001������O�S1���=H#��?gG��K��Ҥ\u000bkd�v�s]E��\u0002]�\\ZϥL�\u000f��5%Y�Ƌ�96�\u0016R����J�6�֛Y,`J��\u0013tN۝�\u001d�Ȏ[�\\�s�Ƨ�k\u0017?��\u001dJ�K��n�s�)!v�}wF��1,V��\u0000t�ՠ�2\u001a�\u0011�\f|����>��ݹe�&\u0018�1\u0004C~�yX�����&3j2�=��\\խ5�\bu�Hl�5�Re���Ix%����JE�2���3Tǹ��48!�\u0014q��\u0000~\u000f�x�Fy��)�Q���?�/�Y�[���^�.�<~D�Ź�\u0016�\u0000S��v�E�\u0011�m�\"��G�T-)A�����\u00133�����2\u0010$C/�N�:���R�\f���-2a�FG��}�n�(ʣL�ڜ;��\u001e��}��_��c��{�� �w��\u001c�Ơ�\u0000��h�\u001b��\"�@�ev������η��Ӊ�P{����t�\"���s�Ҹ\u0019yuz\u0004\u0003�b�����l�3�؟�\u0007�;m�'���\u000e�������n\u001e\u0000\b�-���~��R���{��0����\r?���:\u000f՝ބ�\u0017E��$�O�{�xrq%���f?���\u001fs�3U�\u0012�g�\"߈n���\u001c�R\u0001��jw?�sȻfU�\u001d��:]�o���\u0019��\u0000��w�ݶt�Κ#�Xy��\u0007���/#��N���?\f�3�\u0011t�����q�\u000f߹���w��z�����e�a�{\u0014;��WJ��\u0002?���㞋\u0011��\u0003�y�V�n6\u0019n ,0��+\\��j|���:fhkI��GA����UA4\u001dv߯��c��\u0018\u0007a�Q���*�\u0007�����\u000f�QQA�j�=zv��Cz�x'�ݽt�Ϳ�Rv�;~9���7��rc?��'�H��+�\u0000k���`\u0003}\u001d)��Y�����X��(P�(?�o�}�2M��\u0000�*#n\u0005({\n�\u0018�\"U�\u0006\u0017��E\u0001Pv\u0004mӨ>����z��\u0000K��d\u0013/\u0017n��<<<*0\u0001�Im���\u0000-\b�hi�%�K�d\u0016\u0003��K������}I\u0017���xߛ\u0015�r%=wo�}��P�g��\u00053�\u0006�=���=v����]i4l�����Fz\u000ek�7�\u0015�n;0�߽H���/H\u001f���;��޹��>��e�8Q�ۦM��)=�?��+�QЧM�}�\u0000��|Ѿ�Tl)�}��\u00031C��|�\rm��\u0000T��\u0000k1�\u0015�o�`����ij���ۏ�}�)��}��\u0003�w,�,ӝ�zhs��\u0007��q��A�D����\u0019�vV��\u001c|�_\u0017Ш:m�)�q�\u000f6�P:�l}��\n��O��1D�1-B���oQ�>�p\r���\u0002wI��\u0004R��Q�Ah?r\u0006e��ڄ��\u0007��ϫ\u0016?rx�\b�ߩø�\u0014}�(��c]���Ȫ,\u0010\u0014\u0013���߹�\u000e�Io�A�N��lX\u0012R6\u001dw�6�F���X�\r���\u0000?������E#��W�\u0011��[-\u001a�����\u0000/�֘�Ba���\u0005A\u0005%�j{m���\u0000C]\u000f��\u000f��8���%\u0018�w���+�<�\"M:�\u0006��\u0000H4ȥ��T�PWo��bR���\r��\u0000��\t\u000b�#���j\u0005OZ�����ӦD�_��*{����\f\u0007��l��۹\u001c�x-���������\"I��f�F���\u0000B--��jӥG��\u0007��Q#����ꅚ\u0005Vb\u0006�G���eR�i�\u001dJ�J�\b�;{�{W+\"�(���B]�\bh;\u0012|~U\u001e\u0007\"�r`����'�.���\u0007=��n^����S\u00184\u0015�a�b:�V�֙��׹�E\r��R����}�\u000fڃt��\u001e����o\u000f}�J\u0011\u0003ǽ+QM�����\"GU��X���ש߭<\u0007�@���\u00047�7}���B�#�\\j}�ڽ}�w�\n\\jw\u001d\u0001����$P\t+\nu5���ֿ<\u001fr\u00070�+J��\u001a�\u0000g�p2�\u0004+(\u0003j{�=}�=X��C:\u001f\u0000O�s��Y\u0003��H�\u0005E\u000f�z��ִȝ��d\b����\u0003�|:��dJ%� �\u0007sJW�\u001b�\fI�Ր\u0014)/�z\u001a��\u001e�/z�ȓ� \u0000A8�\u0006��\u0004��O�ʤ7���d˹޾>\u0007��8�8HJW0> u�m޻P\f��.���v\u0006��^�\u001f%@J�Clkۯ̟�*���PmU�������*�n�j������'�w\u0000����~�\u0015S5ߵz\u0003S��eik���=)J�\u001f��m!On�����\u001b���{�y��\u000f���:�����]ӥ;P���H���\"��\u001e��{ҹ\r�5i���5=����\u0019w�'�{�_��'������o�4��\u0006�e���}8�\u0017\ri`/<�(���s�C\u001c�\u0014��~\u000eG�\f������v\u0010�\u0012}����\u001a}��]���G@I��,�/SK��em����b�֟��s7��]�\u0000,��\\�\u0011�>(�\u0014%Z��$�V�\u001d�\",J'���_�g�㞵���S����@��k��\u0004P���\b~�moo\u001d�7\b�*�+!\u0005���j@\u001bf\u001ePbM��~�|rx�\u001b\u0001Q�\u000f�|�p��� IE���=XӃ�r-h���J��\ty�M��*��X��Ő��>ݜ\u001c���ry���_�~��\n�O��qɮ�LU�)j��?\n}wU�\u0011'Yu�\"�֪B�ܽR��qg�\u001c���z���{�9xp�\u00027@\u001a;����C�?T󮩫j�V�\u0017�.dy\u0016��oZ\t�b��x#�����$��p\u0017�䐮�XqG�V��9x�ڼ���ϧ��MS[��̲��2G\u0004PN�����h\u000b�\u0005�1\u0012zq�+7 As^U\u0000f�&{�\u0014)�\u0018�������!ܓ\\y��\u000f%��K;\u0004\"\u0006��H�\u0018F\"x�F�~\u001ap5\u0014 �\u0013D�\u0011DF4�%���&W����Ŋ�K�Ld�#�4-\u001e�Ʋ�%_�\u0000�Ƥ\u001f|���H\u001e�e�ɞ\u0007�l=�@�\"/��[f�k�2�꼄�\u0007x\u00168��O:0~�~��͊S��^�G����\u0000\u0013�,<�\u000f�oh�\u001d����\u0015����9�Y�3�R�,�F\u0004�JPTS0��<��\u001e�\u001fI\u000fI�\u001f��y�����\u0011�h.l�Ff{\u000b��$����7k\u000b4��$A�\nP�\f2��r�\u000et�\u0011�3\\��=~g.�m����-�:zG%��DVx\u001aX���:|Bd���$H䢡W �n��\u0018/�ːu\u0012�\u001c2&;Y�m��\u0013c�\u00009\u0003}�n�ұ��]:\tY.��$\u0012̶Ȭ�\u001bEq\u001b���Q�M�\u0019GJs�É�}�\u000f����T�܎�����\u0000����f�-��\\ܥ֐�Ej��,V\u000b�����)��\u00014���2\\�*\u0016\f��ُG���J\u0004J<<�ʫ��'n�V�\u001f\u000e�\u0015�J�q����'����o�63i\u0011�Q�\u0015���U��~V�;\\��'�ͅ�vD�$�9�\f\u0012��\u0000�\u0010\u001d:\r/h�p��FTH�w\u000f.@����h�?[\u0013!2sY;o���}�j��\\���O���\u0007�G��5�ԥ�I5�j�;'����N�\u0000M����D���[�\f�'҈H�VQ^�A�>,@�\\r7�\u001f?wNo\u0019�=�,r\u0007OR\u00065B���<��\u0007���4/3���i�C>�p��4g�v:���A,N�\u0013�\u0014\u000b\u001f�H`�dМ��0�\u001a��|��GE\u001e<7#[}�����ǚ��mc�][�\f�\u00109Kh�\u001bI�\u0016+YZ$�w�&A�?���\u0015�J�`\u0000��0㘢A�#��]�\u0000���-\u001e�xM\u000e��\u0000\u0016\u0007����\u00009���kN���̺.�gy�i�L�q��<�A���\u001b�A\u001e��,G��'\u0004@KrZ\u0003�J#\u0016h���*\u0004��\u0007���_�i�\u0014r�p�k�#ݿ�3���i���5����5;;��'3X�\u000b�e�V�I�۲\\}ynm�*�n�m�jeX�\u0015�tF2�'\u0011Dǿ����Z�(e�$M\u0002y��tv�U��_&y.kҭys�\u001f.�;��\u0011��\u0016��VT�J$L\u0014��I\u001d3��\fr�\u001f��\u0000K��\u0012&���MZ������\u0019�r�h�_\u000fk���,q'0zWsN��=�O\u001c�`~+�g�;.A�\u001a����S��jȁ�\u001e�D9S>�죔]{��Nit��[� �o���C,dx\u000f�A�v\u001d�y8Y\u0006�Ox�\u0007Ÿ!�V��\u0003��6,�\u001a�`\u001f��sf9[�[�?3�\u0000���?��c9��?�>�c��;���4���w=��O\u001c����s۽�@����\u001ay��t�\u0011׶wz\u00128G���\u0000�L�?\u000f�{}����8G�μ�߹��V�\u0005i��Ґ8�<�~\u0011��\u001f�y*�t��x�ld�\u0000\b�\u0015=\u001e�?�|�q�L����)�o��x�7��k\u0004���?�zw��\u000e�\u0000v��g>�]&1�}g�\u00008�\u0017�X���7�\u0007C��f��W��4��:~�iq�e\u001e��O���E���.\t�Y\u0015�5#���FY��\b;�E\\[׷����f5%2�V��\u0007�ۮ*�{C��O�v*��_n��jb��S֝}�_��Ux�{Sj\u0011ӧ��%\u001e{�����kNZm����\u0000Q���\\��{�/��-����u\u001a\n�\u0000�M�\u001f\u0017oj�'�VIwq\u0016��HJ�\u0002� ����\u000e� \u0005\u000f6]T\\\u0002�v\u001f@�J��8\u0006��\u0007��c\u0000�����a�mN<�����Z�Cߵ?]i�]�\bc˚\u001f�%�Mk�o|��x�s0�\u0016\u001bd߽`:\u0007�֣5�>�n`5ɜi�j��S~����̑�\t�L��������.��������Y��d;��::�G�@G��\u001e��c�CD��j�?��X�Lq��\u0000:f6�tQ��}��,���O� ���\u0000���3�]��2E��(�G\u0013�\u000e�<��n>m����o�0�G��\u0003@?Ґ�g���\u001e0�'?\r�A}��@)��m�Wo�9�vQ���8�F�}Q�gF��R���}\u0006\u0015�1�\u000e�\u0011.L+T���#�ڞ��n\u0016d�1?����d�-�~k&�C�?οNZ\t�\u001d\u0014��ū\u0012\t��=��F\u000e~�Ġ��]�\u0000��\u0000w�C��k�@�zu��dZQ9,)]���\u00001��ف�q�\u0000��?��v�~�%R\u0018y\u001f��\u0000\\Y\u0001i�A�~���\u001c\u001c��������׿���KD�\u0006�;l6�v����I۵+�o\u0011�l\u000b`w%7MZЊo���bi��\u001e�I�Q��k��א���\u0013�����>x��w���TnE\u0005>���\u0004��\u0012�E(MG�߬`���me�a�WqZu����\u001f�a�\u0014!�\u000e�5�����Ko{(lm\u0012È�)� @��3$�y����n>�\u0007��v���\u00074��1AJ��dA�\u0000GQ��v�2����L����A+��\u0002J�??��)��nj\t��b���:l\b\u001d��W�WE��lµ\u0018��=\u0007��võSY��\u0000���V��k�}��\u00075��k�\b�5����m�\u0002�z%iS�m�J�?�\b�S��\u0000\u000f���۠��t:������F�\u0018\b��\b����\u001ax����+����'��׷]��\b�L�`\t�M���k�������B~G޽��\u0007�P̪>u4\u001e\u001e�\u0000�\u0017�\u0015֕�v�_�\u0001Z\u0015hV\u0002�t4�\u0005F���!\u0001\u0007 �-�\u001f���_\u0017\bQޗJ�������W\u0001\u001blϘ��t�T�z��{��\u0015a5��/�\n�n�s����w�ܗ�Zo��S�*��e�D�Q^]�O�\b�Q�j�\u0017�4�Ȣ���4�fW�\t|�֢�\u0006��jz��b�\t\u0016��;���ʥޔ���ѵ>!߯jd:*\u0016@zt�Ei�=�\u0001�����w��\u000f�\u0001�L���n�S�\u000f�Ǒ|��oo�k�B�\u001c\u001eh}U�M^�T��L���Ӧ��,��پ�\u001ca�2r��\u0003��=N�\u0006X�\fZ9J��\u0012�\u0003�\u0012y\u0012F������\u0000g4ߒ\u001a��s��\u0019P<1\u001bm\u0011\\���Y?/<�u\u000f=���[Iq���5�3\\K\u0013^ijR�Hn\\��\n �G\u0018Ȝ��H&����@~)��g9�\u0001�'��O�c�����N�΄�-e���W��ۤkio-� !}KY%\u00020�\f6�ns\u0013Q��(��\u0005��\b�\bއ��~e[yF\u0018\u0016��5�������7\u0017\u0013�\u0005��6�4a}(gK�a�� Q^D�\\L��\bz�ȏ�'7\u000e\b�c�zx���Iy������y'k��:��7bK�癣\u0011���a�-�\f���\u001d�D*8�Z��H�$�\u001c�\u0000Iws�2D\u0000��9m�>\u000f�ԟ�^b�5�*�\u0005u�\u0000�?0��/|�e�}\u0002��'H��(����c\u001a�>E����\u0004��\\A4�\u00037 ˜�\u0012͌���4dv\u0000�Y��\u0005��\u001e�x9eS<����������h�����asi{\f��?Y��������'���/\u00042<�\u0005DfRO\u0010F�X�\u000f��\u001f+�Myr���{�����O\r�\u0011^�A�i0�@K��&6��\u0000\u000ful�V�\b�ȯN��8\f���t�1�\"D�(y�X5HUJ��43\u0005_^\u0001\u0014�\\' c\u0012K\u001bpdVZT\u001a���C#\u0013�\u001e�c\u000e\u0019D\u0018�3//�I,���P��ʢ�8W��UǤ�/\r�1��\f$\t\u0003�o�:�-�v��‘�E�\u001cHUޑ��\u0010%?y\u001d\u0006�\u0000\u0011,N��ID��d��^��K;�x\u001d����ͧ+\u001arK����k�\u0000\u0005/t\"r\u0015��\u000fqS�fDrwX�\"�:H�\u00002c��X\u0013[L���\u001f\u0004`�\u0012�\t_ӘK\u001cRP[2\u001f�\u000b�\u000f�W�f`��\u001a.�]������Z�մ���9���FJ0vD2H�Zr�!PX+P\u0013���\u000f.n�G���\u0010�/�\u001f9�zv�wiF�f\r\u0015��k2�\b*�j�\fb��$o� c��[�eG�8���E�����\u000f78�>_\u0006F@�F�����(�\u0000�B�D�\u0000��m����1��׷���\u001a}:�Ao4\u0006�- U�e�#��A�\u001fQC\u0001�4z�\u001265#���w;���\u0006Id��o����H�\u0000.4mg]���|�.ldk�\u0000>�����=A�\u001b��on��帽\u0013��%Ρo�\t����gS\nQ�\u0003�i%!���\u0018�V�ù�u�����2���\u001e_��/^�4�/�\u0013�\u001c�Zn��X\\�\u0002����Cm3�l�ѣI\u0019*��#n��K4e)\u0019���@�\u0004����/�\u000b��\u001c�5\u0015��\u0003��֙�\u001d �w�����*��L�<��pr�\t\n��I�vބo�~O�\u0011���\u0006�w�L\u0016��D�ĩ`T�\u00007��:g\r�$D��7����\u001dve�[��\u0013z�?�ߜ�� �>��\u000b�U����\u0016���\u0019�vd�\u0003��e��������}�~��:�9޺���Q\f�%<>���]�͸;8LW�\u000b���<\u000f����O�Ϲ�辠���\u001a����\u0000\r�:g�d5�{sz���o���q�I��\u0000:{�u�#�{�\u0016��L$?\t�SƝ�����eC�«y��\u001a��N�u�?i�\fr.F\u000eo�2%\n�\u001f\u0011�\u0007�eb�2\u0015����(+֟/�L��\u0014<餒I��\u0002w���Cڔ́D^�M\u0019l��*�4�\u0007�Wm�dm�%�����|\u0000sQ]������\u0002{��;\u0001��\u000f=��}V�\u001fk��\u001d��4 �'�g4\u000f�3+\t�\u0010j:�|?]\u00009|&*����u}��\u00008��D��R��x�=i����\u0019\u001d��7�?Hth�g\u001fO�\r>�����\u0017�\u000b\\��������\u0018V֊D\u0003�n���?\u0014tQ��~�w���\u0014���\u001b�=~�{�@\u001b݈y�Gդ���\u0014���� Cɲ?W��o�F�|�\u0000$ot��\u001b�\u001d�y�m�\f���\u001d�\u0018�o��?�2\u000e�m��t�\u0003�t��o\u001c\\L���;{ڏ՝\u001b��n����UFr\n\u001f�\u0001A>�\r�\n�?�����\u00072\u0003`6�}��l2��B\u0006y��r�ýrU���Ep�k�\u000fN��\u001e[��@u5�ҽ�?\f\u0006ɾ�l�pw�\u001d;���LGr�[ �_\r�zһn#c�&'�\u0010�\u0010O���(<���\t\u001e\u0000�\u0000\r���昞���)J�v�S��6 .�\u0000�\u0000x��(>iK��О�ץ�\u0006�,�j\u0012\\�\u0010+�~\u0018�t[\u0015a\u0003#���\u000f낖��\u0019�a�Oǿl\u0007�|�r�-\u0005{S�o�\u0002�\u0012QaN�ϹŚ&�\tm�����\u0014ȝ�<�!\u001a#;Tm�����\u0001\u0002�}룇�M:�qڟ}6�g��$\u00106;�DY\u0010W�����\u001d\r�]�|R+��5V��N�vD�w\u001c�{�$��r �~��Ҿ9\u0003`�\u0015��-H�j�\u0000\u000e���1�\u001d��r\"GŻ��%A�\u0003q�W��\u0003\u001d�����\u001b�oRJP�M}�o��$w��-����X+�B(7\u001d����M�]Z�\u001b\u000e��\u001bw�}�U\u000e\u000b���WE\u001fx ���Ԍ��\n�z��_\r�#z�諊�v\u0003q�:nG]�8�ן�̿�+�u����#���7;t\u0004TS���C��G�c\u000f�O�x\u000e����Z�������~uȑK�¢������p!\n�����x\u0001�����\n�I�o����\u0018\u000e�\u001eH\u0002��@�)_z���v��|�2�I|�\u0011M�_����\u0011AGz](����}��\u0000`>\\�\t5�J:�\u0002�'�{T\u001e�\u0003�t\tZ]*�Q�}����$z�J_\"�n��������\u0003��R�F�b6�'��m�\u00050�[�_-w�āڴ?�|��]'RN�\u001fq�u�FF�P��mׯ��:\u0001�%\u0006�\u0000g���l>���ڡ��u�~�����L\u0004��\u0012i���\u001f����\u0003�\t�jt\u0004��`}8\u0015�bH=�7�=r\u0012庀/u�)���N��J�\u0019\u0003�גM4\u000e��DZ�#�y1!\u0019\b\u0004���zw\u001ddž\u0002ʸG�%�\b�{i\b�K\u001b��Q\u001c\u001a\u0011�Zx��h�A$�\\�������G��\u0007�����M�\u000e��y������E��3P�y��\u0000��\u00001zZ͉�ln9Y�������\u0016�У1V9��:\\Y�'&�\n�b�8qu�I\u001b�\u0018��\u000b����\u000esä��},�\u0001(ݍ��\"\b�u��]n��5�?��O�?0ZX�\u0007�\u001e{��ҥ\u0010-��k�\u0018�{\u001b�!�����\u0015ʺ�F�<@����'\u0014�����\u001b\u001c��_����I��\u000fjG�1\n�g\u0003�\u001b\u001a�|@�ꎳssc\u0006�wg�Eae�C\u000f��\u0011h�x]���R\"��`���\bUb\u0005\u0004��&�����q������o��{.�j��^��mlm8�\u0014r�\u000b�4�2H�g_E�X�6\u001c��ˍs\u0016B\";���\u000b\u0015\u0011���\u001f4�k�F���^Ҽ���\u001aYi������A�mK�b(})4��̗�^�t��k�DiLNμ\r\u001cW\u00022e�\u001d\u0018��6E��9���W�(��\u0013�}F��\u000f��\u001b�5���o�%�\u0000��Ѽ��\u0015�\u0000>��/U���q'T��\u0000(<�\bY�\u001b?�Mg�\u0011k\u001f�\u001e����E�y��-R�9�I��@�ݜxt����c�q��\u001c� F;B&�#��\u0011\"l�^\u001c\u0019��\u000eʔc��?Q��̓*2 n\u0005��w\u0003ſ��?����W��巚?�\u0012<��3����1yn���>x�����<��Mmf�R�<�|��\u0000�.��ⷪ�\u0010^��\f����(�\n��\u001c\u001d�\u0019D�-V)�xG\b0#�k~[č���O;������:��Ɏb���2\u0007���GJ�|w�\u0001�\u000e�z��8�\\�-��<��)�����Z�V\u001eZ�<���t,��Z��k�+x\u001aY\r��Hah��\u001a�������}\u0006�\u0006 d�NB�\u0000\u0004F�R5ʺu'z\u0002���a�ɒ\\\u0004�\u0014G��F��\u0017���\u0007����\u000e��=v�M���!,�\u0002'�`t�Ua���Ս�&���h�xv\f~�NcxX�b\u00199�ט�����ś>�D\u0003Q�]\u000f���O���`�+VQ!i#Y�q\n�8�\u0018\u0000\n�Xn��X}\u0019�qF<�;���,�De��&��gn���3Hd��^\u0003���\u001aD%Z$��N�i�ny\u0003Ҡ�U��\u0006Q\u001b��gh�� ��_�_�\u001f�z\u001a~_E��\u001ac=��Bt�L�(�eͲK%���\u0005[�\u0002jrq�X��*��1-4<]7�$\u0007\t�}�\u000f>���pǧ�~X\r�����\u0007ݾ�\u0000~������&yk��k��[q\u0010��i}FjK\u0019h�(�!�Q*)�љ\u0005H\u0007b2�\u001e,�\u0018��{8�ыO���8b:�:�\u0018|��%�ͮ�m��ľ���D��i\u0018�#�a����W�[Ÿ\u0014.EEwX4�C���������?\u000f.\u0017[�@��Q��\u0003ϼ�|��|ͩy���v��C�Y����jq�\u001dݎ����=[\u0018�l�\u000b�Ț{q�r�PA&�\u0003q����\u001b�T\ru�/;\u0003g����]1��v���˧\"���q��\u001b�z���h�]���b���X4� �M���=�ZE���S����M�w�`��g\u001b����.\u0016e\u0011*)5\u0019��4��p8�\u0004�\u001f#b���WF�'�\u001ao�cÛ�\u0012��\u001f�{�c\u001f�~�y'�r\u0003�V�\u0014~~�\u001d�����M�]��7��2�.�M[��b����������_����گ�t�.�꟦lf��\u0016�=9\u001a��4gK�d�\u000f���\\Dw�@���'�\u001c����< d�\u001e\u0000�\u001ccx�yq\u0003�>�=�҉��'�<�c���}u\"y���P���\u001cY\\[�y氿�X�O�\u0017\u0011�q^k!,�CZ\u0015ʎ\u0018�#����;��jNl�\u001eh��\u0000�\u0011C���~��\u0000�?y�N��͇��Atn\u0016\b���}\u0014�\u0012,2\tv-[�JI��\u0005��W:M\u001c�\r8���۞�\u0000\u001f.g��{g\u0014\u0006��d�4\u000f 9���7��9�?�˿2A�O���\u0000�\u000f0kP]\\}W˷l�D�[��$k\u001a�\\�@\u0002�$v�1.�ꮃr\u000fJ5\u0010�L��*M�pyX�k��\u000f,~^C`��\u0011�J\u000e�\u001fƹ��I\b��X4*��O���\u0011E���v5޽�G-��\u0018�\u0001y�wT����w��z�Tа�:w�?���ũ6owe��K\u000f.h�#�,�[����٨��,g�v��r\u001e�c�|��\u0015@\u0015�\u0014�_כm7b\f\u0000p��-q��T���B���\u000f�9�ä0�Ş�\u001eL�)�.�\r��\u000f�6\u0003\u0014��\u001c~>���f\"�G\u001am��sW��\u001dDi���\u0018�G/�����H ��޽��~Od��S��v��H�\r�e��Q�\u0014S�����\u000e��\u0001��ɬ\u00126J1��T�5��}�\u0000,Ώe��Hb�ǖ~���\u0018�\u001d�=�\u0000Vcj;\n\u0019�R\u0016\u0019GY\\��'̿���ñ�\u0016aR{ҝ3����\u0000G��'8l7sc��qƢXJ�8���-[���^�图��;K��\u0011���Z̙��6]'��~��s��\u001a\u001e���nr�;���.\u0004e!��ߗ��V�WjA\u0007\n�*�G3{?�qh���2�s$nv}#\u0005��m\u001aS�ҿFt\u001c\u0007¯6�4�ս6B;\u001d���\u0000o%\u0001D\u0011�\u001b&rN������̋6Ƭ�iG�>�n�^\u0015#'���p_R�#��\"�t���}��+}Q�Ij˽p��\u0007�Q�_\u001cl�Q]��y������F^aՇ���d��L�����\u0000�\u001au���\rh9M+HISSS�\u001f����q\u0016��ƫ����\u0000�?颿�jObP���\u0015��H\r�G%8BY'�\u000e��\u000bAֻ.�\u0000?\fc���XA�\u0012P\u000f�\u000b`\u000f��<\u0000���,\u0010\u001d�,\u0010��\"�\u0013��?�)����H�����\u0000�\u0015eC��: �݇������n�u\u000f��m:꼬ի^����\\�h�;�WF�a\u0011\u001ei\u0004_�zR9o�&���#��Y<\u0003v�\u001d�Ma�\u0000�p�\u0010�X���W�g�����@X����%�ߗ?���X��#�\u0005�\u001aw�t�8�1\u001b�����Lq\r�hN�\u000e��\\�c<1\u0003�\u0013�7K�i�7�x���$\\s\u0003޻x��|����^i�2��ӄM=vL\u0015�\u0003���\\�iV�d.�e \u001a��\u0007~�;e\u00191�X\u001d�\u0012��\u001e%�~W���}rKUw\u000e\u0018\u0016@{�l�j{3\u001ebg(�[c���M�\u0006�\u0002\"�E\u001cE\u0000����L��`\u0018��\u0006\u0013�\"��W�\u001f���6�\u0017�\u0000O��|UF`x���?,\u0005�������\u0017�w��\u001c,��i�Ph7�N��O��X��5w4\u0003��X,\r��ϿS����1\u0007}���\u0015�\u0000:\u000f�\u0003]\u0015E�^�O��ĩ4}�I\u0000�?��\u0004�c}�7\u001d�|�{\u0001�>�\u001e^j��o�\u0001[ڎi�:q�~�����\r�\u001b�R���k�Q�7�~�,v@k�z���:���b2�M���2�u�Ym��~�Zu��Y�6�5�\u0001ڂ�\u000f\u000f�>�\u0000!\u001aܐO\u001e��\u001fۃ��\u0005\u0005-�.�������&�W�\u001d\u0001�}����A�H�\u0018%)JR����Ȑj�6JF�\u0005 \u000e�;w��r�\u0003vy���t�T\f\u0001�=~��|� ��Y^_�w\u0015�+��|�ۑ�T$�✘T�jS�V|��7�J�>�*\u0005?\u000e�>�!W��ۨJ�fj��\u001f\u00026��ϒ,��E���]����\u0000\u0005tl������_\u0012�?\u001e����\u000fl��l�<�\"Uz��\u0014��۹\u0019\u001a�'$J.�\u001d�S�Z\u001f���*��U@�l{\u000f\u001f��*�:�����<��\u0015�������z��jh>t��1<��H��{R�+��l0\u0011�M)��ҟ/�\u0015\u0015Ȓ�j,6?2z\u001a��>��&�\u001bA8ڣ�?���w\u0018�B�������\u0003(��9\u0000�\u001f���k��5�H��$�E���W��z������K�^�=v��J}\u001e\u0019Y�\"lZ](ݫ�\u0007m�{��\u0001�&��\u0001�-�S��\u0002�p<\bۡ\u0019I����+ҵۿ_|I\tK&�\u0006���|)�\"�uT\f�ob>����U\u001f%K�^�Ezt�Ɣ\u0015>\u0019\\�$ �~{����[�\u0015\u0006�jl7;�\u001f�LB�\u001f�oo���?\u001c\u0005*\u0007��\u0000/\u0013�Q�\u0000-T�5�7�����ȕq;�$��<=�r\u00199'�Gù�ƛm�\u0007)\u001c�����n�T�:�d�ⴃ^�t+R\b��w�>\u0000�<�;M��d�K�-6����n0\u0005�������?�\u001c�^�\u0000���\u0000�W���,��?;F��G�5�E�}wF�\u0005���73O�I����a\u0015M\u0006Wٹ\u0006��s��Yt�(�\u0006\u001e��M��\u001fB�sQ,���a��-T\"?����\u0014}�@����7��)<��\u0011t�}\u001b�@�t�(`e�P���t���l���d�R��!#s��m�3O�\u0013�Գv��<���\u0001;|^���3��Ǧ4q�B�^:<@yV����\u000b�s\u0014���7n�\u0017����`��\u000bF\u0010��`�[�B\u0015Z�*A\u000b�9�����x!�H\u0001��\u001c�C�5�α<\u00166��D�VG�'��G�h\u0005�Ҵ�G���_\u000eڼ� \u0019H��i4�\u0011Bʝ�����\u0017�Q�kMRĕ������i ��q\u0003L�\u0015�\u001c�!H\u0006:��\u001da�+���e�\u0019#R�|^۫�~y�?+�?)�\u000bm8h�1�5���i�\\L&k�����;`��J�\u001b5^�'2�v�mN�i�p�*߾�\\;'\u0016�V5D��~f��+��y~}SU����G�Y�뗖�h��ɧ,}A,V�o\r�\u0000��J��X��I#5��a/A����\u001f��\u001b�I��Wх^y����4�s�\rJ�\u0000��ZϪ�S�6;�p-�v��؀�)�2D%�Ǔ����]Y���#\u00060\u0001�@\u0001�i_��c��V�?�\u000b#\\,���`�\u0010?�X�e\u0016�E`YT\u0012Y�=s.\u0019!�z��o��\\S���&!�\u0016;�\u000fy��~��\u0000�=�\u0000�<^�\u000f\u0006�s��>\u0012��e\u0010�\\�\u0014\u000f\u0004��2D�I\u0014rz��8��R˱5eˎ8\fbnw��;7��`�\t� �\\�w���˾L���Kaxܯ\u0014$*ʤ:U�����3�GE�o��\u0000������Z���͝���gז�\u0007֤�V��$\u0010\u0000Y��}�u���q��Uϋ���\u0003a\u001et\u000f\u0011;�\rݕ�\u001e\\ �s��\u0010\f e��՘�)\r�Э������\u0000�7~h~h�u���r��\u0007�����\u001f�>m�^�\u000f�?#��ۅ�\u0000�m��F��Ef�\u0000�:��5�Q<���/��̋}s�i��u4���\tT\"ZlZ<إ���9���eU\u0018H��!+$��\u0011ʲuGM��\u0000b84�\b^I�O)��w��ߕ\n�\b�nl5/�ZGs�\\@�ak\u00191��<�z���\u000e�����F�\u001c�4p�\"\rJ[r��t\u0000�!�=��cI=\u0014�C'�)���6�<����hr�~ۿ���>o���\u0000�k�F�i~l\\}cο���l�\u001dį\u001f��M�S\u001a]��\u0011$��\u001b'�m�m����\u0018a�r\u0017,�;r��G��|�ۿ\u000e\u001e������\bG�Dw�7�:k�R��A��\u000f�6�,\u0007@��_�ȡd#�n�����U?�\u001a;nLd������������\u000b�?���ņ���D�6�����\u001a?�!�p^\u000e�t�\u001e�\u0000�U|˧�� ����\u0000/\fxx��#����g�z�x��/���x��/\u0019�vQ�?��O(���~\u001f,kO�DrO�{���=4~�I\u001fp��\u001c\u0017\\!\u001cG�%��M7����}�{a\u0012��\u0017��6����џ`����K\u000fp�qW%�^�\u000fS\u0011���~�\u001cx�\u0014�a��U\u001f�\u001f�+�}8|lc`\u0002��>b�?⟥�?��z\u0005�^�_�哌>�m�7�Ӧ#6\"v��{�\u0002�#��x������U�^~�}z�я'U�����o�\u001c��*�^ۡ��,��ѓ�����\u0001�\u0010Wn}\u0014Ϛ���\u0007m�\u0000\u000f~���=ֶ)i�U���>�v�Ə����6Y���=�\u0014�x��4�\ng͖_��\u001fH�ƈ�kM��ԛ��B����\"�����6\u0012��צ�<�6�,)^�;�|hU�(��M�\u001cu�>|����g�t[\tT�pє\u001a�v�\u0000W��ȝDGr���'�Κ �`\u0014��\u000f�!���\u0000���<��v�>Ň�j\u0007th/܄\u0012���Q.LcP\u0015=��4�\u0000k\u0018�p���E�W����,�h?c\u001d��j�\u000f��㓍����ԃ���F�{��E\u0002\u0007�р�\u000f4����z`�Z�q��Ǹ�\u001a�G�\u0004�ݻ\fhn\u000b\u001fz�%[n�\u001d?����C�:��*6����\u001b�L��d������� ��K�55�\u0000:~\u001d�%��\u000bZ\r���̢~I���\u0004��\n~\u0007\u001a\f�\u001ej\u0013qZ������P�(z�\u0000\u0001�����{�7t���\u0007A��߽;\fOڵ�B\bx\u001d��g�ǮD��d�1\u001d�\u001d�O\u001e��\u000eIJ��\u0014��rM=�~�J4y�`{�m\u0001q��Zo�\u0003\u0001�5\u001b�\u000bp\u001a�S��x�r\u001bXe�>h\u0014Eۦ�\n��\u0010\u000bh���.-�I��\"�\u0003b\u000fzW#*���\u0003�C�)�Ԏ��6���\u001d�̄H=P\u001c\n�+�\r?�+��� �ۓ���j����\t��<@�'5�����PH�e\u0007�\u001bv���\u0015v��]\u0014r_�ڞ?<<����r7����P�U�\u0003u?�U��\u0003�Ǟ��\u001b��Z{�A�S�#b�U\u0015��7��ߨ�D�\bRp\u0006��Fݷ��m�Ǧ��Ws��;w��z�j�^hg�\u001d�M\u0001�j7�\n�[���v4�ӭ)���Q�\u000eM��6��ڤ\u000e��\u0015A������`7[#d�@=��;{|�ʍ�y2\u0006��\u001cS�A\u0002�:\u000e�d}̨\u001d��l�+ڽ���W#3�2<��4��~��L��UK�\u0000֛t;��錁��i,�\u0002hF�|)�C��5�T�Q@{�'n��H땛�R����\u001d~c��VN�}�����x:*\nA���S~�x��W��P�ץ7=zt\u0015�\u0014��D��#�\n\u001av\u001b\\mT��\u0000��\u001d\u0000\u001dpy���>]v���*�/L�?\u0011�\u0011=\u001d\u001e�\u00119\u0001�|��_*�Z��\b�z2�7q����ndA*F�ʞ���\f\\�%iP\u0001$�:�Һ/w���#���)��\u0011�q4�B�Q�RŠ�!_L,L��\u001e ���i�N�\u0018!>W�=�1��\u0000/�y�$q�?\u0012V*F��\u0011\u0014q\u0002F���ݶ=w�uЀ�\u0016S�s�~G�������֋x������\u0010C\u0015���\u0016>J��RA⫲nk���\u001fDA>h\u001e������9~>�u�嗖��?EBβ{�����\r��q%��-4�)�_\\��G\u001d�5���\r�\u0018�9O\u0015<�.[���F\t\u00128�˝�1�B\u0010\u0003\u001e0,�\u0000\n�>��\u0000����+[O��zy��d�H�ɒ�\\8&!l!�Y`��J�r�1��AU�)N~�ç��e/}_��\u000e���\u001a^���d\u000e���\u000f/3�\u001ad\u001f��Mߘ<�o�7�����3\bҟV�t`�%�M����\u0001\u0007z���5��\u001aG4����{�F�� ��8c�\u0011�?�R_�\u0007��\u000f�fп'fw�D���h�%�/���\u0010�\u001e� ��+�rެE�2�\"�T�����`�;��Ȓ,�[\u0000\u0007q\u0015�\u0007}��\u001e��45\u001e�F0� \u000e��$�\u000eF<�T\b��\u0007�S�G@��p/l�ٮ$�{��Y[;\b������\u0011�äd���hA$�8\u0006bn�z�{����:�B2�F�X��{�#�O���͏��_�\u0007��?��;_1����\u0000�\r�[����}\u000e��|��æ��a�[\u0016H����u���r���\u0017���l���Y�zqQ5�a��ǭ;\ti1v��9r\u000e=@�(��D�\u001dǼ��\u001d9�ᇛ��?�\u001f�W�\\��&����[\u001f6�Nu��Y�$�������O\u0017�(d�tY\u0014\u001d�\u0006��=P�K$}$s\u001b��\u0000[\u001c}��\u0004�q0d\u000f�N��'�m�wӿ�_�?�V��\u001d�\u0000�5?/�h���uw\u0012\\-�Y\\�R]i:͚��~AI�j��C��\u0017gj�\u0019lKc[���W�\u001d�\f���\u0015\u0013\u001c�\u001f\"\u0001��w�_�ߒ��c����k�-�q%��������n��-H�\u00164��}r-[L�^Q�qFx�EH\u000bR6�\\�4ؼ= �Eo��?\u0010H'��鵺l�̞6�S��;V9D\u001fu\u0003\u001f\"��0[Z�a\u001b�|ã}zk\u0005e:�N\u001a����4 [�[,S\u0018�\u0004Y\u0001�qV$��&�\f:�e�I�W���峧�i#�\u000f\u0004+�[p�#�_2y����W���w+k}%���\u0014�eqp�o-�'�!�g�[�q<*���B31�b\u000e�9�\f|\u0016\f���_M�y�^\f'�\b�c�s�����_'��ZY�K�/�]yD�\u0014z��q���}[԰���mF�^�\u0014�����\t\n�F\u001cT��O���|LW�D�=�\u0000��7f�]N=<��$�O\u0010ډ�Gut\u001c�7�-�\u0000?_򽦿�\u00009��w�&A\u0004z?�&�%g�����=ŵ������6�$��\u0005�\u0010�I�� \u0013�s݇��e��_hk?�#����\u001c#����G~SG�˃��b1�p@�\u0014*\u0016I�y�����\u00008ݬ\\~@�\u0000�<~H�I��o\u0015��姖<��:�5�V)w��%)G{��z�7��ڜ8�\u0018\u0002\u0011�\u0001���=\\u��kuq7�z�׸\u001e\u0011�=�~z�}}\u0017�\u0000�������\u0007ij�5\u0017L�~y놿�qO\u0019\t�'�\u000f��Z-x���6��o�ե=���%\u001e��wE[\u001f�\u001a��\u0000u\u001f��8N�W�~����W��Z�Z��j�#\u0011���\u0015�^*\u001eM��\rz�D��3���?���F���\u001d�\u0000+�^\u001b�G����`���lx/�C�f�燘\u0006ޙ޻����{[_���\u0010Z<<�O�Go\u0019[%��X48TH\u0016��wy�����\u0000~\u001ax������W`��wy���M��_�k�|�(��[�\u0000+��}�?�0Ҿ\u0007�\u0001��\b߆׈tX;��C���h}S���\u0004����}�$\u0018����x\u0001�\u0010��\u0000�ӹ\u0007��3U��~0k��-��>�:��>lvjD:�\u001fY�k��j���G���.W�;���'�����V���\u0002��0��cJ�ڕ��bv��U��5U\n�j�\u0001\u0012+��CL2ɤ\u0019\u000b\u000eE\u0001���9�b���ݬ�_(�ty�S�ռ�Z��EQV*(OZ��Eښ�� \u000e2.�v$\u000b|޿��cj\u000e\u000b�\u0000#\u001a���\u0019��i�A�\u001f�\b����#��]�?\u001bu��e���\u000f3\u0016*��<�GE������_��g|V�����=��\u000f~o���\u0007�5���{��9����� �Pw��\u001fo���vHj�g��#�%��l��\u0003N\u001di^o��l7��#\u0014q$W_��g^@\u0014�_��\u0000-�J��z����&1{���^,���?O\u001f\u001am��u�s(׹\u0004��N��͠�:liNlzu\u0015��\u0003�՟��?W�\"G�\u0001�~t�b�\u001c�U4���>��0��5Uq�Dy\u0006�rx���$�\u00007l\u000b\u001b{�\u0005\u0018�����\u0000@�3E�_�\u0002��A�91����g�^�Y�w�_OQ�\u0004\u001a\n��x|gl�u��#�sm�P���E��\u0001o�\u00009���%\t�N�\u0002h*�V��/ڛ�d3k��r�\fc�\u0007�4�/�/�ʏ�}[̺\r��la��-��xL9F�W!I��[�.�\u00188�cv?�w��\u0016A����� �k�[B�n����A\u0013�+BJ����2��\u0013�٦B�+��:�4\u0019�Cc����ܥ/��w��XȊ�5}�\u000f�A���\u0018�8�9�!=0���-�`\u0005�q���˛u �����ty\u0003�I\u0014wc�������?,7C}ؔ������t\u001d��\u0003�Cb>T߿�ϣ/{���\u001e\u001f��\bc�)�hH�?�\b�����\u0015��\u0000?��6���#r�@�����\u0016�M�a��\\\u0007˚��\u000f\"�\u0000�`|)������4�>��\u0014��4I���#oն>L���AK(��\u0000/��\u0014q\u0011�^\u0000I�\u0014�}������;*��WĞ����)�+=\u000fQ�����`��A;�F��@�:\u001a��5Ǘ���~�I�FߏN���\u0012�\u0015�\u001c֤\nWq�\u0001�ʏ5PtT$��W��\u001c��$��Pu�\u0000=�VC1.]��Z\u0005z�\r��oA�S�+;6ƥ�b��(�}�\u0015\u0014�ڻ�*�+<��͌΃�\u001d�N�\u0000Ɵ?ՂF��aB�����v��݀ڛ��\u0000fkys��h��\u0015�lOs�n�\u0013�eVPv\u001d@�=�QӦ\u0012\u0015P\u000e�u\u0015�_\u000f��\u0012\u0015q\u001dI\u0003�\u0007~�ۍ�U6_��W���\u0003�\u0015S4\u0000\u000f\u0003_�Ǯƹ\u0012:!M�h\u0000�p{��0\u000e�\u0018t�����_ol�\u001b촢�?\u001a\r���b)��\u0007'�u�?Ϧ\u0004�A����}#���)� ��֝jv��jW\u0012/���}�w%���|�w\u001f�*�3\u0011\u0011�IQQ^��u�oקL�\u0014�m�[7qJĽ��2%��K���Z�S�FU8҃g�/���\u0015ߩ#n�=I�I�ݒ]5*������#�d��}&���'Ƙ\u0000�k�-�nk�������\bP���#�\u0012$\u0000���Y�\u00008��?#�;˗^e�\u0018U����\r��m��u8U|�\u0001��`��^���<\u00021$�iK����CO.P���>|5�w���ǩ�I�1}\u0006\"���!]=D�ߥ\u001f��M��=�6��][�\u0015�b�m�P\u0019���'����)�d5'���\u00109�����\u00100�$z\u0005_^o\u001b�����\u0013��㉾��K�xe�<\\�٦�G��^�ݹr<`�V���\u0017hi�3�y��z���\u001c���\u0017�\u001a����H8\\�.%�#\tX\u0014�I\u0001vF�9@��\r\u0015�\u0012Ēh\u0000\u0019��\u0019\u0007��B���o0t�\rœ\u001boJp\"�K�x��\u0015��\u0011\u0002�>���K\u0002M\u0007\\–9�U\u0010��f�c�K\u000e�<�\u001d�uK�x�G��I\u0002\u0010���1ȵORN ��w\u001e�+džw�nɗ\u0018�<\u00168y��\u001e~Ҽ��O�Ūj���>��gM.���WSpS꘡,�O��\u001d�·K���iΫPn\u0000]~��z\u000f��k5��N�h;<�唫���$�\u0001��s�/�^K�?����y>�ɴ�\u0006�\u001a�q+��׵�=���u�⬷N\u0018\u000e0�\u00122‰AC��f�\u001c�8L<-\u0010>�\u0003\u0019K�\u001f\u0000:\u0007��vwf�1�K(ϭ�d?tc� �I�{�\u0015��4��T�${h��D{���c&���q�\u00008ǤyZ�\u0000�w�Z6�a&��\\yiA��(!\u000e�;\u001b��L%�����2D��H\u0013�G�P}\u0015��\r)�lZ|Q\u0013�Ꮻ�~F��\u0002���S�-^�\u001e�g�jg��o�7�bH�+�MP�[<���[ҿ*\u0002jWv�i�isk\r��\u001cQ\u001d\u0013T�\u0011q{S$ި�����G���7�E\u0006���8� ~bq10�W�N=��B���=�����GN$'\u0019\u0003p���e��\\�b�7�s�?�sC�O�2��~P�Ǟ�\u0019<���{��_\u00176\u001f�5�.\u0013w�跅�4�Y�.\u0016��@�.@c\u001b\u0016S\u001bju}��]����C+�d�*\u0006�b7������޷z>����~���\u001d�\u000e\u001df2'\u0002H��\u0012j9 yL\n���\u001d����>D�\u0000�����i%��oq�Cv�\u0003�����}*#s{mk}u\u001a���\rΦ�J�B�<��*�H\u001c�51��d�~\u0019\u001c$w\u0001�ȋ���y�Fu\u001ac�%x�X s�+\u0003���\u0007a��v�\u0007�|�`5�:�u\r@�f�ɤ=���w\u0002�+�{�>\u0014���L�\u0018\u001f�;x�fr�\u0018fVa\f��\u0017.[r��}l#�LN)\u0010\u0006���8�\u001e.d�W̒:\u0010����\u001fN��\u000b\b53�%��\u0012��W2\b���T\u001f�(�\u000b��X�(=7�����\u0018�3C�e\u00028�7��\u0005\u001eG�\u000e�]_ie�y1�\u0011\u0012\u0000 t\u001b��~�o��\"�KY�i��z\u0013�á��\n\u000eq�YbD���X�� \u0017%�b@<[~�K��\u00182\u0002����|�\u0000]�#!\u0010��G/�+�O\u001b���4�&�����\u000b{�0\\\b`H�\u0007�zQ�,\u0012���I\u001b\u0016�)Ÿ\n\u001c9��\u0018$m:��ǫ��2�\u0007\u001f�`�Ǜ�w�s�\u0005��\u0014?4��Hl��.�pr�jŦj\u0016�q�$�G$w�\u0003 f\u0001#&� f\u0006���I����������<�b��,r\u000e<_���oP�\u001d�Y\u000fƟ&�\u0000�5^�q�\u0000��?�\u001d<��]>!�~R�\u0000�2~G~ck\u0016ml�\u0018ӡ�o�ˣ�;�z�i��X�ؠ\u001e\u0004f��4���c��=Y����!\t\u0001��Y}��N�Š���la5=.�8 ;��2��ul\u0007-���Զ�4��I��3�P\rؐ\u0007@\u0014tΫ�%��3��E�-j؟��O\u001d�_���\u0010s%Ql\u000f`zoߡ���\u001d\u0019��v�V[\u0003���� dƌו �\u000bŎ�\u000e��v����%�27(�J�c�ҽ�H�M�\u001a#�>/�Qlk�+��\u001d�n\u000e\u0011�1a��\u0005�Q>\u0003j���9d�'Gu�+�_Q�A�@��'F\t���z�P�(:nw�\u0000o�\u000f�\r�ŗF���O��t��cc�FB9�\u001ax�\u0007����\u0000(�O�Uk�G��@�o�=�L'��\u001c���ͧ\u000e'��a����|�:1�\u001e$�&\u0011�i���z��\u0014>=Ns��'26=\\�Y\u0007F\u0019\u0005�%c۟a�\u001e���L,���96۝|\u001fT�\u0000�:��z��\u0011����o���v\u000e.\u001dL��\u0001�r&B��T�M\u001a�v�O���=\u000f\b�LN��\u0010�\u0000�ED^�A���ӯ�\u001d?N\u0001��k�\u0016){m��;o�=F�͗c�|uz�)��C��ug9\u0018\r���\u0017�B�{\u0005Y,��0Mc\u0004\u0010W~�Fz\u0006=\u001e8��}4À\u0011���-������M5��V\u0015 p#ǣ\u0000\u00187�횽`i5q�\u0011���oG\u001c���\u000e!��\u0017ʞb�����]�R5=Y@4\u001bl�e�ݨs���6�@I>�_kd3x���i�j:���g\u0017'�UFa�*��;t\u0006�������͘�1g�є���/%\u0000��\u001a}�\u0011�KȰj�����˳�\u0000�o��1�\u0010�$���U�F-1<1\u0006 �;<��\u001f�1ja�p�Y��\u001aW~�\u0001Ɲsw\u000f�\u0005C=�d�/��:���Eŀ��~&�L���^.���W��?Nga�\u0000�\u001e�\u0010g�5�\u0000[�8��\u0000�t9���\u000f�u���\r��\b����$�7܁�#61�\u0000�WgDYɚ�\u0000��\u001a\u000f�\u0013b����X�����{\\���pc��aV4�^���=��\u0000\u0001�\u0006\r\f�YNH�\u0017+s�>ޝ^a�\ff�*�G��\r��������Mx��x�(\u001b�\f������s�,�\u0003�}#M�\u001a�#,9\u0017�C��\u001fF�S�2���������o�n���\u0001D�������Z��)�vp��V ���}���\u0011�>iu�\u0001O@wɊ�2Z���\u0012���A�����mtX%L\rI۾�\u0000=�{�h�hiҢ�;�\u0000�0\u000e�k )�u����l\u0000\u001e�R+�(Ż���\u001dɮ�Hꕰ�\u0002��\fUYF��6�Tv\u0003\u000e��x\u0000T��\u001a��>�c�U@\u0005>G�v�\u0006;ג�8��nh{\u0011�On�2;��Q`�z�O\u0011߾2R�\u0006��ނ�T{��iik���q����G��n��Cڛ�v��\u0001\u0014��B8&��\u0003J����Ȕ}�G�6;u�0\u001d�P.:��X�����[\u0004%��O� �\u000f|��6Yʭ.����\u0007Z��\u0007|�䑹�I\\�h�\n\u0000+�<;�Mm�jEr�ɷJ����{\u000e�N�#or\u0002M��ץ:�ۨ\u001b`J[/zW�\t����z%�u��ڔ�qڛx�\b���M����T���ew�+_$\u0014�*TT\u000f\u001e�����&ʠ$ �\u001bxmA��V�\u0013J��#����'܁�\u000b>��W-ª\n���ڽ�N���Wu{!5�\u001b��ǿ��\u0003(�e�r׏~�5�~�Ȧ\u000e[�J?9�-b���������8�5�?T��\u0012�b?�6�5ݍZ_�+<\u0014��\u0002�i�=���\u001a\u0019�\u001fX\u001cC�\u001d�\u0000[��-t{;�t��o�9\u0000��e��߀�\u000f�,<�ߗ~H�\u0001���z\u001d��\u001b-܂�H��\"E�\u0017?VYd���O�\u0012UkP��Yx��}\fA�V�7��\u0018�Y�Ǘ\u001c�W���ֿ��r\u001a.��\\�[�̴�\u0001��\u0000J (�8����׀\u0000��\u0011\u001f!�X��9�\u001c�\"\u0001\u0007���w�p��\u0001�$\u0011�\u001e��\u00009\u0015�h�\u001eX���Y���\u0016���;��i\u0013�ƟQ���\u001dB���p�\u0018n�D���v��<#��>���9ݗ)���י\u0017f�����G�\u0017#S�\u0016�c\r��\\[�\u0004�R���՜[\\\\:�G\rs\u0019�U�)$�f$�9�D\u0002v{1��\u0001\u0013V�\u001b+���h�$\u00137\b�~L8���n\\J#���_��s\u001eP�~7rp�\u0004F�h�0y�\u001d:���#�F\u000e\u0001\n�iU}%�QUy�Ȑ��I\u001e\u0019n\u001d>�N\u001e���xp�s6�\u0000�D����\u0000 �\u0000>|���N���%�����M���}\bR�dV�m�g����IJ�\rsw�Q,\"91�)��\u0004X4\b��;{�&�Öyc�L�ǖ\u0012�\u0018�\u0012h�}9S�S�r7�s���Zܰ�w\u001e^�4�d���\u0019��!線?�__=�\"(�h#�WUb��yf<�f���<\u0010\u0000��\u0002�\u0000k��=\u0017db�'��g׹\u0017縮|��\u0005)? ����k\u000bm6�T����-&��]^�\tR�b���$�)\u001a0��W��EW٪u���xr�\u0012��;�N���w\u001d�\u001d`���\u0007���N���&�s=ܗ�w2��^�\"���\u0000�|�2E\"i�g�ݬﵽ*)��\u0001%�����R7C�v^be\u0018��ȋ#��Ю�Fƹ�>\u0007���\u0012��-�)zD��Hu�\u0003b/�$\u000e�>�~\\y��:��\u001bYj�sEy\u001c2<�\"�w�]H�r|��\u00009\u000b<�}~�\u000e)s?�\u0011�kU��\u001aMT��Gh�2�|\u0015z�r\u0006�9���\u0012�\u0017+.�A��\u0007S\u0010?�/wW�_��B���{ϟ����\u001f(O����?X���֌�y ��\\�\u0005X+\u0015j�^�(��L���\u0006�\u0003�и�Yx}��ˌܿ3\u00126��U��o���۶\u001a���G����䵋ͪy_�^\\���\u0000�T���%ґ7����5��&�\u0000�\u000e�\u0014dM�k\u000f*�rQ\u001a��4�\u001d�\u0019\u0013�\"L@< �\u0000\b\"#�c\u0018�w��_�\\ׁ؃\u0014b!�[�◘�\t�q\u0012C�Om�PG����@=\u000b���G�:P����\u0000��^�GA��~���'%v��\u0007\u001a�\u0007�+�G�\u0015;\u0005�B:\u000f\u0001�~�� �Ě��Pq��\u0007��~\"�\u001e{tA���T\u0011փ���l��\u000f/��N#�\u0012\u000fo��bh����\u0000R�\r�\u0001��v�\r��H;ST\u001fʻ�l1 ^�\u0004��o\r�o~��\b�O���J\nԞǶ���F�)�k��T/ӹ?�\r��U��v���}���\u001bV\u0019�(!�\u001f��\u0016�pAsp��\u0007HǨ�Ӯ�\u0004\u0003�S9R(��qP��[�\u0003mno���C��f��e�S���A�w���\u0000�����/�$�\u001f\u0017�\u0000�A\u000f�I{�U���更@1�6���\u001d�\"\u0018;�j�az�ԓM\u001d�\u0015i%q\u0012\u0001J�&��H����vD!���~<ܜp�$mO��\u0000!���[[I\u001e\u001a�\u0005wn;�m��Z\u001c��'E�]4`>����H\u0002G���?\u001f'�:]�v��\u0017�>��J�>G7Ѹmlg!�r\u000bo�+[�ޱ�%M6\u0006�G�ñE�w��[�s��XӮ�-�#\u001bЪ�cс\u001b��a�xu8�<�\u0018\u001f��s�DN5�>O�/!��\u0013�/{v�]@�\u0000B��xc�ZT��?e�\u0004t\u0019�2��yX�\u000f��I��!�B�u��y?Q������>\u001eq�Ѩ�\u001d�v\u001d�Ί F��U\u0011_���.4�K�!�J�����\u0010?S\bˤ�o\u0019���ͦ�e:\b\u0014�F\u0000�z�F\u000f\fH�䌘�8�;~(�\u0000�P�^y�ɷW:���K#��Ub�\u0000��\n6$�훾��M.m\\%\u0010\u0000�\u001e��j�a1�&5���\u000f6��DCw\u0003�$D$�!��r7��4�Sv\u001f��,:He \u0012@~d����^<��\u001b�\u0004�/�y�}����%=U�BE\u0001�Nnr�t��D>}��\u001dnY��\u001f��Z�<��8J��:�\t\u0007��3M�1� ������'c��=\u001bJ�L�^��~���4������\"E�e�y{M��s�Td�H�TW��;t���\u001b\nm�����\u001e�������`ZQ���Oξ���N�WP�������`���������G�햆1ډ�im�\u0002�G�N�<��S\\��Jj�����\u001b��}�f^����\u001e�\r�\u000f���;�����\u0005#�2�����\u00001�\u001d�Nԥ< ���+��\u0011�\u001d��.��I\u001f�m��u�\u001d谐\b\u0003���w��\u001b��S#n�}\u001b�w��{�2&��.)_���\u0018��P�((��u�\u0000k\u0001ܯ4\\p\u0006�Rv�\u001f����&�ڝ�z|�ӧS�$G�F�����?�\u0007ܷD\u000e��k����\u000fJ��ɘ6\u0014YiSZ�lh\u0005B�T&ƃ����e\u00125�Lf�ر�\u0007��ȵ!����\u000eܓj/)4�=k^���\u001d핊�ts��\u0001\u001d\u000fs�ۮU \u0007�n��T��%$�M������'��\u001b\t%����\u0007�ۮB�\u0014\u0012O_$�\u0015����5�\u00001��\u0010c�bkp�\u0000����\u0010�~G��ҝs[\u0010��\u0016\u0017�ځG���1V�*\u0006�c���\u000f\u0011�\u0013�my��lG�tژ���U�Ԛ\r�hA\u001f?��?j��{�\u0000�lh*�M�����s��\u0001�T]\u000fZv�\u000f�NƸ�\u001e�C?�RF���?�'z�\u0012v>���DZ�\u001b(ܡ^�}��CM�S�NF��n�)\u0001#�iP{t�A�p\u0010�\u0013����:�}8�[���kO�P}��r\u0006;\u000e�Q4|��\u000f�v\u0007��+;lY}<��EN�ӭ6�é�A�\n�\u0003�_ ߥ*N݅<\b\u001f��U(��d\u0004���A_��{�=�L<:����\u0000\u000e����Y-w����փ\u0001ߗ5Ke�Pv�]+�ҹV�R���E;�҄�N�\u000eC��_!�zlw��S�\u001f��U\u0007#\u0000w��^�|~�\n�?-����}�S#[%����Ɲ��Z��\u0012�\u0017�Φ�\u001d;֟G��G!��ޮ\u001dh@�ï��NF?ο�/3j�\u0011^���z\u000e��\u0003��O>h�vN-�M:���|��`ٰP\u001el�N�!���N����\f\u0006�&��͐��I�u�!��C��_�\u0006��m_Oє�謷�6��Z��F�k�%cќW1�X�K�\u0014\u0007��������3a����3��\f�2\u001e@�\u000b�\u00014Y4_0�?_��\u001b�\u001e[�\u001a��男�W\u0010?\u0019,.=5\u000b\u001f��GPı椃F�\u000e\u0019G�+pC�K\u001cr��c�L���^m�\u001f4O��y�\u0016�H�3@�H�72��Ԛ�7Q2�Q�\u0011KT�bԥ5��y\u000f��pe�1Ɔ�j�2\u0019��{�\u000f.��J�nZ\u0015d��i��H=Sp�4��E\u001c\u001f��-y�j\u0000\u0000����+���x�\u001f\u0014v\u0007�g���\f�\u001d���Əci\f����h�!e�Vh�8�ՊG-C0R(7\u0019�<\u0002C���?0c����]\t�846I�qt߮��\u001d�_:�dy��s��w޿��Zë��Yy{�zv�vl���#�u]o�R\\\\����D\tOD\u0018\u0002�>\u0015\u0019�i�;E�T\t��'��<\u001e�����o�Y\u0018b���\u0017��Y$�ϛ���k�\u000f�sV��q�Z��_XҴ=G�^_��x����\u0016�Y�hKX�Q[Fl��N�O~1�\u0012��L�\u001a�i���|#!�\u0011��\u0013�\u0007}r����{M7iL�g��z�G�R\u0007��P\u0007�2;\u0013~O�/�?�ǯ7yB���H�{�4�'7�rJo�H\u0003��\u0001\u0001`\n�Я6T?\u0017l�)C$�g�O����1@d�r�ֻ��.y#]0�\u0002)C�d�\u0010�h��)����bp\\Kop\u0000x��\u0016�e��~E���\"'�{��_�7�U��yi\u001e��\u0014���G�k���#�\u0004��--d�}8\u0003�q\u0014�+2ȕ\t��9\u0007\u0019�H�n���\u001b�\u0014��rw��/�O�O����,d�.�m58�}+�cz��$Μ�t��)mnSXf2D��g\u0015!�\u0003m��X�o�o{��\u000e���u��'�&I�V�q����\u001d�v���\r��\u0015�V�\u0017������q,�\u0014-7�%���-���x��\\�������S�crG��������I\u0019�`\u0000o��r��]6�sy4>_�\u0000����^����\u0007�t=g�ɩ��\u001b�[����o��:Wt\u0006��ܤ�8\u001a����q��y��Q#��4�#�Y�,��PO�=s�q?�KM�\u0000�z����冚���~)m�+��c���+˩j\u000e�S��ܷ�O��=�=��X�\u0019Krh_By��\u0007o���\u0000��m��>�æ��\u000e+ῧ�l\u000f�\u000b>��\u0000�֝��oԌ�_W����ӭ7���o�rQ��A�U\u0004����\u001f�;W&�%P���ߧ���\u000eɵ�O���фs�$\u000ej��{��|�|��G-�%`kO�Oq�b�e���m�.\u0004\n������ݮ��o\u000f�p\u001e�%����cj����\u001d�Awn��m��~��1#�J���߸�`����\u001d�U?��2@��r؂\r(~cڟN\u001eC�G6'�T�������&�zMn\\� ��?z�\u00003�뿁�g/:�:۝����\u0011�\u0000s��\u001f�+�u\u0019��`\u0006s�\n_�:?�q���c�}������2_\u001a���Iv�\u0000v'�Ht?1��x�m��\u0000�����\"\u0015=O�_����i�B��\u0006��Z�Ss_Ɵ�[�\u0010o�^A{�L��<\r;x\u000f�3� �kdr:\u0011��>G\"B�e���=6�����U�A\tEĽz��n�O�-��s\t\u001a>lf�Zr5�\u001f����~�!{.��Zt�1!�\u0010�n}4sQZ\u001av�؎����ĖQ�\u0011\u0000w�?��X��z�]�\u0019h ~1Uj\u0019���q�̞�ѝ^��\u0013\u0017�\u0007o�sO�p\u000e����s�Ӭm�Gǂ/-�\u001b\u00006\u001dz�‌l �\u0001B���P7�)Jv�_�l���h�޼Iƽw����\u00107�V��r�%�t��\b��>#\u001d�$����Q�$X���Z\r�\u0000��\u001b\u0002�1ӗ�,�\u0005��b@\u0000\u0014�\u001b\u000f���X�Vo���:}\u0002��5��[���\u000b\u001cѲ�\u0001^&�ރ�)����\rVۿ:�,��\b�����_\fR}�\u0015\u0014SМ�=��:�\u0000:�Q�\u0013��e�έ�\u0019�_qg?�5X�\bxa��vO�\\5X\nm��`v.\u0019ò1��\\l?\n�k��>��\fG��+=���W�P���6\u0002����\u0019N����t��\u0003]^Ϥ\n*x��7\u0014?F�~sZ�e��Gkz6�h��qP;W�\u0019��\u001d�\u0003���a�,\b�:��_�'m>[�iw:c�\u0015���#�����?�v���O޽�T�3�m6�0�_�}�?�x}8;|����U�\u001b��Oǿ�\u0014�Jj��W����c-�\r��\f<9\u001f��k�\u000e\u000ej�\u001c.F������\u00190�}\u0014/7CM�\u000f�������cR\u000f���\u0000���\";��o�Z�\u0000�\u0019/�b9�)�\f7Q��ۯߐ�������b\f)Q�u��,�zQ-�-\u0007�ר�\u001b�\u0004�\u001ej�^�\u0015=Oq��_�\fE��\u0018˽&*j��I��h��,a���?FA��q���ol\u00041�\r\u000f��m��p˽\b�e\u0003��~���\u0015�g\u0013^�w��o\r��\u0000V�\u000b>Jm\u001a5h7�ӯZ��\nZ�ʏ\u0006^������`�\u0000��S֕���\u0002<���$2�\u0001߿_�\t�`y����F�r>c��� �\bG����\u0015Roս:d%ʻ�hw>��]�}��ʥݵ/O �w#�}&�Y\u0002�dn9\u0004\f��\u0011�����F�ѕ��Q�\n�װ������\u0005�\u001c�����\rE\u000e�č�\u0003P{�v�hjF��~\u0011Ҕ߿�1Uԥ;�\u000e��'��!���\t�� �\u001e\u001bm�EW\u0011��Z��\u001e��굅;�w\u001d�T=�J�\u001f\rEE)۱��ݑ;I\u001c��\u001d6���J\f#�!\f�\nu�����ȒO�.�v��?M?\u000e�7*�z�����O�\"�#�w�P)�ϧ݀�m�B\u0002@(+�����\u001b�\n��@*+�)���ӶB];�\u0014�@h{{�\u0000fVH�\u0016��%�ҽ~�n>U�\f�$\u001a�It��CN��v=���(�K��ҧ��\u000f��##�#d�n�z����M~��^�(������Ѣ��%m�\u0000x�\u001cV��{4J�I\u000e\t\u0006��'-6!\u001b5M�5���c��m��\u000f���O1~����W\u0016ڜwVZ\u0006�5��_F��\t�5vѽ6��\u0000|��leVKK`Q�;�+�,0��<�\u0000\u001f\u0017;��L��ٺ�χ'�>f�5\u0018���/\u0010)nt�k�k���V�\"��)2�,p�\u001dh��5AZ��� �є�d1\u0004�#g���Ma�$!&�^�\u000b#)�[��n\u0011\u0016I\u0015D��(\fԭ\u0000�A��|\u001d$?\u001f�����\u0007�ʓI<�y��p��$�R��%�X䕖�\u0018xx2�7�ҁ���N)��4G���\u0019B��\u0011\"9\u0017��\u0000�?��\u001ez�t�5������y�/�&OE%ib\u0006D0H9�2P��\\�s\u0010,n\\�zC9\u0002A���>o�\u001fȏʈ<�\u0005��\u0005��zj]�:����k�������K�+�95H'S:J��Ջ\u0007\u0005>-�\u001e\t\u0018�B���\u001e��w\u001e���Ө��\t\b�q<ꯨ����v��i�R|�h�W�Z�F�kwu\u0016�yw\u0015�-��a\r��%ƨ�\\]6�5��E��u�� �x��Ɍ���E\u001a�B��y��q�1#�I�. w$s�w�&�\u001d<ߕ\u001f�z����\r�1^�2�_�\u0015�\f��԰�\u001f=6�)�Id�Q\u0011`��9=����\u001eHd>�����w�����9����\u001a�y���/�7�\rϙ�f����tԭ��\u001f��e'\u000b�;V�Ք%©\"\u0017��\u0018��V+�\u001e�qb\t�ӑ8T������M��F2\u0019�������y\n�\u000e����\u001a�������Y�\u0010:+ZIn��\u0005�����Ѕ�\u000fJ�Z|.��j0�\u0004x����F�Y.\u0000���\u0006�\u0000�~����t��KĒ\u0017��.�\u0017�K�\u0004��i4ҋGӤ\u0011/�(Q�\u0012U\n�1g�\u0015�4\u0001s�\u0000�H�LqH�p�{�\\h��W�f�v\r8\u0011[G\u000e��ʩ#����)\u0004vѼ�E\u0005ſ��\"oI\u0018\u0006m�\"U� ��\u0003�ϛ��~�\u0016L�x��yt�W��\u000f����T����Ӵ;�\u00000�Z����iV\u0017W:���\\�{+\u001b\u0001\f0�up��g2�\u0012/MC=\u0001��!� 8�\u0013�@�v\u001e��\u001b��ig���O]1�I\u0012I�;\n\u0007��\u0000���������P��N���;��>\"�,��Wָ�\u0005*����jmʹ��\u0019�\f!���w�V�Wk����MF�Le-<�\u0012y��\u001a=�����Q_p;~=�r�^\r�������\u0000\u001c�O�;\r¨;{�\u000f\u0011A�֣,����\u0001��>]�1^F׃A޽�^\"�N\u0010����޿�J�LX�ʪ���_\u0000r\\�,\u000f:T\u0007�|?���)�\u001d�:����m�^��\u0001ߗE���'m�ڧ��\r��G�mG��;����~Y\u0012+ul��߽;R�\u0002�H�\\�\u0015\u0001�Gon���\u0001�\"׃��\u000foz\u001d�ƽ$\u0012�Ջj�qa�c�4�߱��o�;�`��Ÿ�J�{\u001e�\u001c��\u001a�2�v�u���W�!�\u0000s���B���N����\u0010}�5}��\u001d\u001c�G���\u001f���\u0019�b��>o��\u0000?)�I?� ��\u0000e���qںۍ�m��#\u0011Q�:���\u001d�W���i�'~���\u001dG�R<\u0006��C\u0019�\ny\\�� #�\u000fO\u0011�)��+�� ��\b\u001d[w\u0014�\u000fo�8M�R��IJ����r;���%��oZ�'�x~9tlr��[n��%٩�ׇM���q��[\u0010��|F��W���\u0000~H\u0016��}s\u0015�\u0015i&�bP:�i�J\f��)NC\u0016=�y9\u0018c�\u0013�\u001fȿ!%���444VbGV�I;V�=s�;+G\u001d.�8��\u0011�p�L�_��F�l���Ƣ�\n�\n֝=����SL͛G�\u0000��^,ik5\u0001��mO���#\u0012B>��<�z�}��J�j)�:\u000f���uO��\u001a����D�o�h�~��\u001e��7�=��#�\u0006��v�4��O�ē�\u0000\u0003�]�\u001e��ț��o���~O�\u000097k�]\u0002��\u000b�o�$���\t%\u001eK���\u0012(�I,ݻ\f��a;\u0012Z�n;\u001bX|�ێ���e���� \u000e�v\u0015��k�>J�\u0000�I���L���v{����̌y\u0017�v��=kV�We�\u001cZx�\u001c\"\"�\u000f�]�?�ù=�̟��P���1x�������������ŤԄ��:Џ��9�@\u0016kg�ѓד�4�*:�xlv\u001d?�i��]�\n��\u0005\fv\u0003����|��\u0013~\u0006S��]ޔ��b��#�����?�v��>��u�ϕ��۴��s�����<{�Mצ�?Ο~r�Mɺ����z�)Jo�zx�\u001d?\f\u001c�ȗ&\u001b�\n�����7����\u0005\u0015A����\u0000\u00022m?zˑ�����t�ܗކ70�������r�k�\u0015�\u0011ң�}�\u0013�\u000e��#U\u0003m^�{P{x��li*m\u000f\u0013B\u0001\u001dO�倃\u0012�e�����'\u0010@*Rk�R{T}�\u0000�\u000e�lJJ�rG�~�\u0018(WNh��Ra��o����W�MY�CI�\u001f�\u0007æ<�,O؇ n|<7�\u000f\\$߽\u001c��\u00040�ϥr>��0F S��\u0000�Ű_TJ\u0010AޛoC�uŖ�d����\u001b��O�\u0002R��'jl\u0005|:b��\u0005�c�Hğ�}�\u000f.�d�A0���O�݃�\u0002�\u000f��a�(w�jz�z��N\n�w\u0015\u0004�?\u0011_~���H�T\u0004�ק��})���\u0012\rr@8�>�S� �\u0019�\u001c��[m \u0007��}��a�M�4w����\b\u0014���]�C�+�k�/6�J\u0001Q�\u0005��A\\}�U�M��m�o�b�\u0003H\u001fGQ߶\u000bV�pGn��Wxl\tޔ�ڕ�4�0\u0006�� �\r������D������+��zdA�\u0011�CI�w�K~���\u0011�\u001f�U\nz��;oJv\u001d�0�ܓ�p<6��\u001fƹ^�i\u0007 \u0003������q�K��*\u0001\u0007��5��UK��6߽z\u000f�D�җL�\u001f~�#��\u0014�HQݜ~Ծ`\b\u0015�J���2\u001c7!ɝ%sni�~�\u0000��0Kp\u000b\u0002wK��O�\u0013��vA�\u0014��~#��PҾ�8.ʥ�֧ƛ�П��\u0003�۹R�I�b\b\u0014��\u000fzu'l��R��*z������^�o�z�Po]�ޝ0U*\u0006AB>g}�<6�D�P�S�w>���\u0005Z����\u0014\u0000�ҕ����[\u001b�x�\u001a������eTJ\u001e�n��>��d��\u0016��\u0015\u0017PH�t�B��ȁ{!8�\u001f\u0018�lO�+��#�g\u000e�e��ֻv�^���\u001aeA��(�'�O}�\u0007�G~��_��\u0000��/'ɦ�m�y�+\"�w�|��^\u001b�Ј[R��>�������#��C^�T��I\u0014~D>�얢2ҝ=�HL�{�'�_斓\u001d�)n ����y\u001c�a�\u000b��\u001c���\rL\u0017�\u0012\u0000CY\u0002�`\b��v,�\u00131$��d��P�\u0003ϗ6#��{R���C�Tx\u0018���@!�6���X�;��\"�π \u001eF�Z���b\u0006\u0007 �\u001c\u001c\u0013#0�/���=;̗-�~^��\u001b_Q���i�qi\u0001�D�+��{yJ��(TP�)\u0002>f�5\u0018�!�\u0018�#!�\u0017i,q�H�D\u000e���_�~d/a��d�m\"�d��0�V�$)#�+�\u0006B\u0014('�R���\u0013��#���c1������_�������\t�a���\u0017����R�⽵�\u0015�\u0000�\u001d�\u001e��\u0000H\u0016œ�\b���f4\u00032��_ig�e�D¯�\u0015�����=��m9�5\u0003,r�=B\u001cDW1�D���\u0000������]C\\��򏑦��ў�P��y�X�&�c\u000f$�Q���DzsJ���\u0001\u001b\u001e*�Xm�.��̑��\u0012��^��?�����A�%��ˊ��xw�@�\u001f\u001eo������ϫ\r���?P�g�\u0013M�O���4�V7V��0^Y�%�\u0019C��\u0003�}�M\u001f�0Ŵ�N!�k�M���d\fF!\u0013˄_���I�]b�S�iN��]��\u0007�-��-!\u0017ʜ\u0004�\u0015~)\r\u0017��\u0005:ҕ�|�8��n#�w��Z~ؖ,��8%>�\r��zޝ�}\u000f�\u0016�\u001dg�qwh�XꚖ�xE�\u0011�\u0011�$��#d�]�#L�\u001b��E)��G�B|P�\u0003\u0003�Ho�����gef�Ǩ�\u0011��1�h��l_��oz���\u0000������� ����5�2�yZ�������\u0014 ���B�ۯ�Hۑ$IR\u001a��\"\u001d��\u001f�N'%u�����K�}\u0011���\u0004��<\u0006���~�g��g����q�[\b4��/ʯ<�\u001eD�)N���\u0012\u000f2i�\u0017FU�����Hc�5A1\u0005�\u0005��'e�Z�8\u001cp�\u0015�\t�߸��:=NN����9�\"y��F��C�|:����^��\u00008��\u00009\u0015�\u0013\u000f�g����t�������Zy����c�,.l5;x�{�k\u000by�Ե��N\u0007\u00164PE�Y��\u0006d�(\u001d�\u0013�;\u001a\u001d�\u0000{��K�nj�@\u001c=�@w\u001fI؞�o��^����K�����u����\u0017�XG$�F�o,(�\u0016 \u0004���V�y!��OR���n\ni�M�Ǘ,�\u0006@w�~~~e����S�\u0018�\u0002|\n>U���\u000f���\u0006�\u0000�T����k]\u000f\\�yt�8���c[�e������%You\u00184뙩5�\u0017H�\u0014�4r�E��\u0012�+6�pqF�=:���\\�vn�y3�\u0013�\u0019�<��χϩ�O������\u001f*O��_�pFu\u0013P�֭$�m�Q\u0015��\u0007Ռ�a$p0�)���l��S\bʱُ���ORt�'/\u0012u�Ml+��xm��|��i�O8��y,���He��c\f\u0016�L�O��\u0018�ʫ_]R�\r\t1�c?�\u00190��s���ο)��_U�\f7\u001al�h���\u001e�/�\u0017���\u001c\u0010/�\u001b��\u0016�\u0014V�fG\u0004׎L@x�����ps�CO \u0001\u0004��G��\u000fߏ���*H-\u000e��Ϧ�g�[�ZY��KavHe)\u0003\u0018��>�\u0012�\u0016��[�·C\u0013/Y\u001b}���%�� ŋ\u001e�&���~\u001d�\u0000\u0012�\u001c�����;|�͐6\u001e\u0019O�jz��O��\b��Yت�z\u000f\u001e�\u001f�d�\r�t-Y\t�ޝ��o\u001d��rV) ��^�ӕ{\u001fn�l��I���M;\u001f�\u001f\u001e��S\u0012{�*)�\u0000k��\u0003\u001a#v&ՇO���\u0000�l�uI$�W\u000f����\u000b)�|W\u000f�~�\u0007�\u001d0�@b\u0005��'}�c%dn���N�\u0000�\\\u0000ٮ�l{�\b�F���a\u001ej�5>}����5�|>�G5��;t�i����H�Hc:�UI�\u0001��}q#�NN\u0001�a��V���M������g!�w�]�\u001d��\u0004���\u00016�\\JMw�~�c�� ���7\u0012\u0011^�޿H�'\u000e�*�\u0016=w&�q�\"�k�헁�6\u0007Ʉ�\u001e�=N��W��F\tˆ\u0016��!�~SyV]\\[�c/\u0014r\u0004�j���w��g�\u0016�Z�A�O���<�S�\u001c��\u0000\u000ee���\u001f/ǧX�T\u0003�\u0002h;�nծz\u0006(�n�#�+��w��t�\u0000:��\u001dU�W�^����\bS�v�?����o�R�\u0014t�~��<2v���\u0012�AO�ڽ��M�F��?���͟(��{��\u0015�5���\u000f�y�e����>]���;ȱ�m�5�N�v�3e���L�\u000e��^a�\t��O���sk��\u0000��r@h�ܼ�\u0017�u\u0002���E6�$�\u0000Ex�n��\u0013�R{\u0007ّ���`=r�|\u0003�>Ж�e\u0007��D��<ߩ�\u0000�qѴѶ�B\t�֊7�\u0019�����~U�qk\b��E��\u000f�x\u00107;�m^�|�g�\r\f}@[���kP\u0000\u0003�_c�9�L�E��b��\f�\u0000O4 Pv?:O�4��z\r>�_r+_4�ď������2\u000f��wĻ}9�\u0000\b�zq��}��0մ��_��?v|���������^����O�~�÷����=;�����\u001e������\\���c~�k���\u001eN\u000e~h\b�M���'&�6�\u0015R{\u0011���$\u0010��\u0018�~���,��nh(U�^��_�\u001eCt\r�i\u0001;\u001e�v��_�\u0012MW�EZ��#�\u001fׂ�u@�P�\n�\u0000�6��B�r�]q\u0011#���\u0000�ӈ ��\u0004�T(MiJ������1�;�ON��\u0000\u000f邨�֑����)�C��AY�V�����\n`P/dLPq#���5�ぐ�>�i#\b*:w�\u0000=�&]7榎\u0005=�\u0005?\u001c\t���JW\u0001_�\rҁ�\u0012��AO��\u001fs\t\u0002X��\\\t\u001b���\u001e>�ƶk?b\t�����dQ}J��F\u0004�\u0018�ԑ��M���\rVʃ�q������D�\u001eT��tK����N�Q'�PvA����t��dH�v@ФM����\u001f���\u0019D�oѴw?����\u0019�W�\u0014\u001bu�{�s����\u001a���KPðؚ�8\u0002����}�Zc�z�7=6�v�;T���9\u0005#�l(\u000fj\u001d�Џ�LA�{�6�'���]�w�%��ڝ�\u0003zw����K��%�:��=7#��\u001a�o�Ѥ$���\u0001��n��\u0018wB��\"��һ�\u001a�`&�*\u000e]�\u001e?w����\u0000\n��H'���{���\u001e>��R�I��H\u0014\u0014\u001bu\u001bPnr����w44���w?v*����뱯zo_\u0013��*\nM�]�h{|��\b=�'�P��7�>=\u0006\u001bU#�{\u0011�\riޟ1��\\\u000e�\u0000:\u000f\u0013C�}�^M�\u001c���)��̊v�i��dI\u0000Q�EDj݅iJ{v\u001b\u001e�\u0010}>l�UuN-�Sv!EEK\u001e;�P\u0006=�㐰7<����w�o埚5ؠ�.\u0016���$�a����i6�Fz�gi(���(6\u0011�C����k�{V���(�?� G�G��\u001cMWi�4q�ϒ1>�վF�/�\u0016�%�s��y�\u0000[�d�:M��\b�\u0010b�����5\"��j\u00107��G�&\u001d\u0018\u0012�BYrw�h��\u0011��It9��ǒƜ�ӟ������\u0000?a������\u0000-�\u0000,<�}���?,<ӪjrE�Ee\u001d����ika���\u001bEo,ޭ�\u0017\u0014rǔ?<����\rQ�k�\u000e\u001e\u001d.� \u0012 P��DO-�K��^�؎߄;|h�+�lr\u0003㏪�@����\u0017�r�ڔ�s4\u0012�����\u0013�A��h!�\u001aH�q��)�G�\u0019��HK\u001ec)\u0003�e�OK�\u0019�ƹ�/��m|����w�m ����)y-���7u������ߒ�T��\u0001RH��y��y7�rc��U���\u0017�\u0017��\r\u001bS��淑���C�~S򥍽���^�5\u000f2��G��\t-\u0016�M���\"xg9���1���,�\u0007O���s\u0006�O\u000f�\r�J�\u0001Խ~��q�hu�~��.��K�\u0010�9K\f0���A#y\b\u0000\u000f�\u001e���\u001f��/���\u000f+���ڬ�]>Q��Zד�\u0000/-�{+O��ri\u0016�WZ��/o��#���V���4 ���z\u0002t9�:��f\u001do\u0011�|�c��\u0000@�I�2;u���^�i����4�-?\u0011�\f�c(\u0002#�O\f#`\u001d�2�4h�͆�\u000f�}��kߞ>s�\u0004��k�/X�V�T��o���]O9Z]j�=�����aej��\u0016\r\u00043\u0005�q���=p�1c��G\u0007\u0017P\u0004�b��Ǟ�\u0019u��b���=>�\u0017���p\u0013:��jGir��u\u000fV���\u0000�.�hi���T������[/-y���>x��֭q,:\u0004j���\u0012�k~����j\u001an�\u0013�/\u0015���(�f�\u0014��u\u0018�3�\u001c����X�\u001c\u0006F\u0017/�ԁ���\t����\u0000������=��͊\u001a|�\u000elXdL��xĠ\t�\tCs���� �\u0000�1�a����r�F�������q�[�o�<�u��-|��\u001dcȰ�<�\u000f�nSO\u001f��W�QKgc\u0010�H�#�H��9t{c\u001f�t��XęF�\u001b��yY;�ݻ����'\u0006=d�ɇ[�?��x�Ê[�f�@\r������������;�+L����|���\u000fq&��~^�V���{��`��֠�\u000bx��\b�$w\f\bj��\b\u0003����j���1\u001a`7�D��G��8�Ҝe����7ׯ{\"�\u0000�@�\u0017�����.�J6��i�vZ�\r@ƶ�Ae5����}nXS�1!�jC��UT����2����@D��\u0000���\u001d&�@\u001d�����-�H�z�h���\u0019�ńwpj\u001e�\\��\"G\u0015���8���x�)��2|`q�\u0013�b$���\u0004���3±��\u0013�[�^O�?2<޺��l#��\u0011�w��m�J�j�}5����YM�Egikj�C���S�\u0019�ҁ\u001cr2�#��u��\u001da�r�\n\u0011\u0004��{��޿!4\u0018��^St{{�KoN�K�\u001fYa\u0002U��X�et�\u001c�@�#ԝ��b�ɔ�Ŋ��w�z�\u0003\u001e#)\u001b������e~N� ~c]~Jy\u0017�Z=��=�t;1��M�Iԭ-/\u0010~��^�Z�w��\u0012A^\u0014�L��^�jq�1��#7\u0004I����\tP�o�\"�\n6:?LcU�5e����F�2Czy\u001bTZP\u001f\u0001A��P��MmT7�߯^��넩=B�=7�^���@X�Y�z�zxu�r?�8\u0007w�9��^�=�T�\u000f�\u0015��g�%a~ǿ���|'�V1k��\u0014>���\u0007_4th�NǦǯ���\u000f��6ݱ&�Wjl\u000e�۞�\u0000,o�P����s�R�N߁�\u0019Q�rC\u0019�\u001ff�����\u001a�]����W�6\u001a\t�\u001a���\u0015�N�H�\u00039�\\~v�}�?![����~ۍ�Uͯe��9m�+�\u0013E5��\u0000�\u001b�m��v�o�,��|}��kg(����˦k���������|�Nǥ\u0010\u0007Zx�B�\u001eN.�t\fۂ:S�oj��*\t�\u0010\fO��ޞƀxd�ʒ7+�]��u�w�ۦJ&�\u001dPw��\u000f<�xm��2�H\u0014\u0018\u0010Ic�s\u0001�\u001e��d�*QV{����}�)�\u001e�I\u0007��tM��\u0011[0;ŗT���ެ�ʩA]��\t'�qe�ŏyH�Ϳ\u0014\t\u0004��~~Hy\u0019,�m\u0018�\u0001UR�\r>{w'=\u0007��cK��\u0018�¤x�Ʃ�����ۤJ)@\u0001�_a�f����b�@���1�&\u001eh�\u001b~9!\\ʓ�.\u0006���j�я;RU��W���ᓽب3{��\u0000��p\u0013�k�r����\u0000�\u000eD�G-فR��\u0005��-���H\u0004�?�p�PH����_���ߚ\u0012h>J�\"���f[Y�\u0003ndu*\b�n�\"b9�\u0005Y;<�njN=<�o�����6&����7R�����kRK4�R�#���m�$����8��v#����|\u0003�y���9S���q-8�Zp\u000bJC\u0016��M\u0007� ���\u0000\\uE������\u001fM~��\u0016�����Ӡ�؎���F햏l���C�SZ\u001a\u0001��\u001bg;��s��9_�9�ڟG��\u0015�5Y�֞F�(�x�Bï��>�s\u000e�\u0016_�w�'����>���?���N֧�\r�\u0000�ڔϕ}�۴A���ײ{�p��#��;�ᜃ�7_\u001a�m��,UJ]���r�0�L�|>?�\u001bd#w���\u0000�}կo�\\�4y/s�h{\u000f�I\t%�[�M��,���\u001dm/U<�v?����J�\u00165�3�Nկ�����Ȏ�M�5��~եiL'�T?��O�!d_z�P��j@\u001fO_z{��$\u0013[�ۭ��=�<>y\u0012H\u001f�\u001c�\u0005�+N�������WT\u001b\n'r7�M���r\"�&(�b�+����\u0003\u001e~��}�A@�\u0003a�3\\\u001d|�<�72S��\u0000?�\u0007��GkBD܉\u0007���y�˛\u0012I=\u0011Ԡ�m�Ϯ\u0016œ\u001a�\u0003�)���`��nҵ;���x����җ\u0004\u001d�5�]2'eRD�\u0000G˾\u0005L��X�|7\u001dk�>��τ�l~�8���G��\u0007+<��'���l�`�<ؔ8\u0015`\rOm�\u0000\u001f�Vy��;F�\u0015?Q���\u0019T���\u001f������\u001dA�\u0002�\u0007�O_|�����\u0011ɹ�4\u001f!����>k����\u000f\u001f\u000e��\u0015z֞$��)҇���P�ޣ���\u0004t��傻���6\u001e���T�}\t&�v�o\u000f\u001e�\u000f4\u000e[4N��Q�������B1������_%C����H\u0007ž\u0015��y!d؝��s�_��\u0010�����:�\u001d�|\u000e%B\u0002N��=\u0006�w��x\u0015.����ާ\"Em�6~)t�rߡ\u0004{x\u0013�\"�l�����N�\u001d^W\"+��j������Z�¾'��B�M�RR�i��;\u001d�~��<�rKe�q�B:t��\u000eiJ硯A��lOѹ�HYJW1ݺ\u0012i_��j��eT�t�\n�\u0014>$\u0001S�\u000fS�����U�ڇ\nx\u001c\u0005P�o]�\u001d:m�}�\u0015B9\u0006����/c����X��q�]��c�鲸u�ޞ\u001dO*w�BM�j�꣛���Y�\u0010+���\n�ו�\u001b'jH��9=c�_��n���-����\u0005n����~�\u00117q�D�n���\u001b,+O\u0016��e{;�}�00��\u0001�)\u0003��c�_`�p�z�.�\u0006y%\u0011^{_w��Z\u0007�ߜ����=��́��lЉ��映���p���\\��Z�\u0006\r�%��q��d�{�\u0007Z\r\rj5����-��\u000eQ�Y�x��ڬ��@8 ?�����ȟ�\u0003����\u0000�5������_��\u0012L��~yg�\u0004&�#���\u0014V��*�\u0007a�=,`����x��@؁E�%)Ng$��C�$���/�s\u0017����q�ȗzg��\u001bΖ�M�.�(}\u0016�e�w|���:G^5�L���hjc���@ܽߵ��,Q�Ժ\u001e�?{����\u0000���%��1�:���j�7��g}JA#L��IX���\u0006`�O\u001d�Բ�{#�{\u00177����\u001a�\u0012�(���U�0j@���`ɭ�����X$\u0006lS��|�����}�GP����k{�{�]�g��\u001bd��U��d\u0013�O\u001c,�[\r2�#\u0018p\u0016��XV��r{A�z���=Odk(��٥�G��<��p�|_����Z�\u0016\r~\u000b��|BQ\u0007�\u0007�?�6>\f\u000f�B)�g��䲝���/�-�U+�C\u0011X�\u0017-I\u0003�� Ҥg/\u001cr�2|��s�|@��L-����.a�\u001e)��[WY䤍j�F(8�\u001f�\u000eb��Q���\t-0�l;�\u0015��\n��X)��g7�p ӥ�6�KƊ\u0018#��֫7�.�zb ~\u0001ː5�F(�c�[��ɆYDr���_��\u0013�cB�ӥ���A\r���X�x�Ad\u001d`�w���s )D\u001cUE75'Y�&�<�Ζ\u0011\u0015÷/������ylj�\\��^�\u001a-䗲�}2�\u0000�SCq�Y�\u00100I$�}T-q\n0\"��-Feh5���\u0007\u00149�K\u001c���Y��h�qm;\u0011������\"����{-ה�\u000b�72�q�����մ}Q��h�ѫo\u0001���\te��\b@,M2�V|\u001a�r��#9\u001b46>~F��N�ͨ���ū�8�6�~��@��O\n�����]���̺�����׿�&{���sy)y��Ə4���V�ҡW߽\u0001\u001a<��BF�n\r_��u}\u001f\u0006^���\u0010��84�s���\u00022���`�\u0010:nh�}�����y���X�ͥ��F�u;�M.-B�/e��?CB�5�B��{ ���F\u000b��\n-\u0000\u0015�6h��e�\"@�W����G��\u0000b�^�X5\u0003�<1�\u001a�s�\u0004�9���c��\u0000�>f���W������yJ-\u001e��\u0004\u0016�\u0000�Z\u0015����/�Dj/��j�֤�P�\"��;\f��sOQ�\u0016=\\�\u0013\b�D� N���˕_��'�>�{=�͟��/M��2'!��s�\u0012\u0011�\u001e��nB���|�����\u0000�*�M��k�,�<��mv-GU��|��?�nu�0j��O�_[[�d�ծf��u7�+<���\u0015=�EغL~&,'&Iu�#\"I�Q?\u0007�=�����Ր��j�h�x�\"\u001aLP�!\b}1��\u0007.(����w���Q�i���^�\u001bA�tm:���:,z-�(b���\u0013�\u00067�m8$�pZr\u0011[�\u0014�v�\\:H�\u0001\u0013�Ƅkh\u000e�_���������ê˒~�����]�\u0000GAA����\"o<�{z�_����YtHR�\"�l���\f�[Ƅ�\u0002��Kn_l\u001e�9M\u0006�X���7\u0013f��^OE�z(�*0��&%�u��������9�^�cw�ǧkz�a��Eye]H\u0018�e��f�\u001dݸc�%�H�\u0000�#3]��<\u0018��5^u��;\u0013O�Lfy8|Q`��{��Y�\u0004:\u000f�ѭ����p��Gr�Fl��*�9A0�K#�W-\"7�h��\u0018�\b\b��3.O\u0012[w����&�\u001c�3K\u0014N���\u0018m�y\u001a2�:����JIB�f`�Uh�rq2�F��5�X�x�7����.��������/K�\"�o�y��B\u0017�\u001eX�cs�U���\u0005�Д*!\u0005��#�SC���݆5��s�\u00124��\u0014��cV\u0007w\u0015�\u0000y�\u0007��ӷ���������\u001fΗ..�#y\u00129\b��K�_�!�]:�\u001fKFӭ���>ӏ��,, ���\u0018Ȩ�\u001d�*\u0007�\u001e��\u000e�G�U��\u0003!�k��v\u001f�r�ˆ[�G�(��-��cKy�q$u��p�C ;zo\u0014�������y;8��s\u0006�\u0011�|����HTN�Oǽ��h�����ɖ]g���F�毬y^Oз���[\u000f�N+�\r\u0019�ju����\u001e9B&g�T��F�����j�O#\u0013�\u0013��n>\u001b>p�O��Ƣ������5��gM\u001f��4�@�\"(�+`�r\u0013Z\u0006t]���-�\u001d�O\"\u0007t������\u001f���Y\u0019wH�\u0000�?n�h|�����<�\u000eV��\u001eU��E�T��ݧ��#nP�v���!\u001d\te�g;�A��\u001bό�`�\u0010�G�0��\"91��Ի���|�\u0013C�\u0002�\b\u001b�Uj��\u001e�m�(\u0007��Ҋ�5\u001fGz��=𣑵@��G^��\u001e{\u0016\u0003���\u0003t��O��\u001b�I��t;W�n�����%D�(h��ù���`N�I�\u0003��Z�ڠ\u001cn�F�F^��:�\u001a��\u0000\\�]��W��ھ>�v��UޯZu��<;\f;\u0011��S�x�m�n�\u0000�\u0005����9*\u001bqZ�\u001b�h.V\u00009�b\t/�\u001b��\u0011�v�[g5!y\u000b���o�+�]�����m��ͷe\u000f�]��?Q�F?��\u0000��׷���\t�g��)��\u0000���\u0000C��qM�r\u001b�W*��W\u000fP6��Gf\u0000v�}��զ`�N7�\u00033�P��������\u0010���J�^5�74���m���y��\u001dÛ~�|*\u0000�҃��-��\u0017����A\\�E�\u000f��B췋�6i1���S7���ޮ��ѓ\u001f0!�*)]��C��g�g6S��!���o ��\u001eo�/#�Q��0�\u0001x��Gzv�Bs��\n\u001cI�\u0000WR�,����V�o_��~�|���u\"��\u001f\u001f~��8zYcm�7���\u0000���+�����\u0000�\\'d\u001e� j��\u0000?s�`\u0007z^j��\u0005�E\u001c���d~�C~���?�\u000f2%���\u0019\u0000�\u001b�^�}\u0019\\�[�$�#�G���\u00009��i<Ⱥ��-oj.\u00117���[�+�\r)L��)�v�h�bE<�lQ�..�;K�\u0003�K�B�]VM���}@i��g��̞\u001d\u0016 z\u0000�G�2�2��_��\u0000�Q��t������[u�?vv�����~{�8��z\u0018��o��\u0015@X�b\u0017m��\u0000�9\rI�C-,E�^��S��\u0001��ҹ��7/O�<���X���i�}�3L��;��7B\u00155�=\u000b/�δ��\u0000^c���R�\u001f�b��\u001f{�?�s[+_�忏��>T���47�s���=Ϩ{\u000f�q�V�UN_���A;\u0016\u0017�\u0011�{�{W�Ȏt98\u0019��N�����G/6��V�~�\u0000���\u0005P�\u0007_n����\u0006J5~j��\u0003�%��\f�ղ9�F��.�\u001f�\\?öʶU\u0000Tw�\u0000:�\u0018�wީd�\u0014����n�\u0005�荂\u001d��$��\u0000�sڔ\u0018��R[�_���\u001dN\u0000\u0005ړ��/a���\u0000�\"9��Y�5\u001a\n��}�\n��\u001cOR�\u0000�G\u001d\u0014�N�\u001d�_��͐\u0015����m�_���߅)����_�\\\u0005���h�\u0002+���\u0000^\u0005\u001d釮\u0002�o���k퇣;\u0007���\u0006\u001f������ly%�D\u001cԎ�|Ƿ߁�\u0006Kz��\u001d<;��� bwZ���\u0002\t;\u0003���ȧ�F�����݀���[6w1���bF����Lk�Y\u0015˚A,n+��o��Ș��r�\u0014*�[���S�S-�bkޜ��c��_\u0010s\u001c�\"\u0002������Н���}����7{5{�у�~���o\n��ޡ\\\n�������prOM��\u0014\n(*@\u001e?Ҙw���\u0003q]��+^���aV���{v�V�\u001b~�M6\u0007n�\u0000v4��ڻ\u001d��{\u0000=�q�מ�\rS���kN��T;R�:�\u0003_c�22\u0004��B\u001d�4��H����+B\nQJ�\r����{\u0011�+It�\u0016�b6��ߵ(1T�^�>T�}��>\u0007\u0001\u001f%Ke�'��`}���\\�B]&�MO\u001d�\u0000U\u000fA�d%\u0011T\u0019\to^iL�)�}�§zSn�Q\n�JiʤPu*;���\"�R[1\"����;�\u001di�wĥ+�һҽ���\u001a�\\�Z�J��^ǯz�\f�s�)t����v߽\b��;�U\u0003%w;lI��{x��*�zV��\u001e\u001d�W y�\f}�*~�����*��NE\u0000b\u0000\fw'���Y���\u0001 +ۿ/!|��ԋP�c򏖝���\f��v�\u0006�F�8�_�\u0007f!#>9���\u0000e�O���G����\u0011�#�M\u0007\u0003S�:M6���\u0017�'���\u001d��e��>��G��\u0007��睿1\\\u001b�DZڴm\u001e��@\u0005��amB`�O��qD�DEY��=_C��M\u0004xq\u0000g�y��\u0000C�j59�R��#-��yDr\u0001�ߗ|��o�\rb�E�n��[�V{���4�9\u000e�\u0007��FO�3q\b\u0003�r\u001f���|;\u0013g���~��Dy_M�\u0000�~����v�+O��Z��-�\u0004��*�8o�+pz(\u0004��]��#\u0014>$7\u000e{s�?\u0018�'2�\u000f͏�mGV�/no\"����O�@�\u001c�\u0011�8\n�\u0000\n)E͟d@b�\"� �by�����_�~z�\u000e���?(�ZWռ��=GO�4P\u000f)��nu��fJ�m��4�\u0011��6�:=v�X4C��~w)���c��\b���\f4�\u0012�e��(�������\f��\u0000�Z��M�\u0000�\u000f����N��j>i�����\u0000�4\u0018VWռ�\u0000��BE��ߟ��2�\u0017^W�n\u001e��*��i��(�_:�g�}\u001e���n��e�X0�r7����\u0000y!�Ď�W<{\u001d��M�\u0003ډiu\u0013�\\����������!�\u0019���o���I�'Д�j-,V�1���[x��\r�ziw\u000423M4PD\u0014p%A$�#`~rϧ��b���\u0007I����M\u0011�\u0013�.��֍\u001dլ�-��O��\u001aMJ�\td��\u0000�Z\\���\u000bV&��q�\u00101Y�]\u0016�_#��92���1[ū[��V���؂[;���jӽ���#�Q��\u001e�!@���=X�괒�`zw�\u001d���1ˆ\u0013�ﻫ��#���}����\u001d\u0016]3Q�y\u0004&\u0014��?W��[���V�� ��\u0004��S�\u001c�H�\u0013鮏W�tD������?X\u0017\u0016z�i}h��R��k\u0000�J�q����1����\r�@:p��q����\u001f�?'i�C&\"2�Hy�^c�#�>\u0016� �%��ڴ�,ҕ�=U*ј�rx��ļXВ\u0005\u0003lM7\u0019��0\u0007\u0010\u0004�~�������{��X�[!�5-V�K\u001a붒*\u0006�!�ci�B�zܸªV�c��5�1�M�\u001a�rs#��\u001d�_��ǻ���\u0000�����K�>M>��jsM[I-��Gw;�RI\u0004�n\u0005���\u0018+q��ըj%�)�cu��\t��b��e ˠ?��'�\u001f�����ޭ-�!%v>����2H�YI\u0017\u000f^�Z\u0010`�3�\u0018�FEs�r\u0000-r�v��Q�D�\u0018�\u0003���A���?fb�rc��J��Y�����Ϳ�C�]!��i��A=��\u001fF�\u001f�zw�\u0013\u0011s$kf)+Ƞ:��9 $GW���HJD��\u001fww����C\u001c��\u0011���\u0012:\u000f.��9��\u0000�EΧ�-�6)�g�!2���-'-4�q�\u0019�i�$\u0002���FGIJ\u0003\u001c��R\u0002\u0001�:_\u001f7\u001f\t��=I�>\r^�v�,8|\u0012EJ���w�����7cqyJ�M{moO�f:I��MN��F�涆\u000b&[�lfR��\n�ď���z���_��\bj8��P�����bh5Y2軧+ހ���ÿ0u\u000b�f�m�I/,��+k$�Q侽���o�c�U���W2J\u0007\u0012�S�Tf\u0011\u001cr��@F\u0011\u00124d7�[1?%A:+������H�1�\u00143��v�34|���\b>�d���'�;�\u0006�Yeg����/h���c r�y�y\u0001ԞB�� ���\u0000��\u001f��~T�a������\u001f:i��V��\"���\u00100�11p��~a��\u0000H��W�\u0016%m�\u0007�\u001d�줻\u0013����LJ_�\u0011��\u0010c�\u000b�\u0019y��\b<�\u001dC���~�Ƿ;l�ҐtzYJ6\r���tGH�;y�`�Š�����f�N,\u0015���=T�E{�-T���,~9:\u001c��p8\r\u0017�w�y����\u0010]�\u001b�8�,&��9�7�8��\\\u0011ZЌ��.�\u0018�9p�#���He�\"$.=�h~s�QFx�]\u000bґ�#����\u0006�ǎa�ќf�\u0007�6��X������ԯ\u0015�\u0001��z����p[�\u0006�T\u0011��8�\u0003���7q�]\r��{����[Q����e��`��UҵH�����!�2C:�rB�iJW|�\u0007b�u��\t@\u0018�bFƚ��ς\u0004�Ty��_���#y\u000b��\u0000�r��\u0012y��\u0011Y�Y�c�\u0019SZ� \u000f7�5��M'�Ҿ���\u0007��S�F���c�>>�ՙ��8'��\u001b\u0003�8��1�\\�<������87Ꭶ<�~�yĝ�}�ǹ��|��\u000f˝S�?�4;�\u001a噖�偟J�Pt�M�\"\u0006��H�����s�u\u001aL�O��<�7���>F���c�J\\\u0006�J�O?�<ņ\"\t��x޻���c�\"\u0017z�����\u001a���X\u001c��wuX_އ�]��\\w<�v�ܤ�{�n\u0001͉C�����|���U\u000356�e\u0019\u0018�\u001e5�9-���@I5��{{��!V�\u0002|?_�Y=Єv���\u0000�5�\u0014��@����\u001f�_}�'Ƞu�մ�s_��={\u0001�‡\u0001>���\r���\u001f�^x{{k�h$�����.�PI\u001b��4���\u001a|~��%�����/\u0016~\u001f�����t�M*�2X���X�cZ�^���ظޫ\u001c�{�v쀄��\u000b�?\u0018��k�Yd\"��\u0006=�OP��SL�K����\u0018��|\u0007�\"?1����?f�\u0000�\u0017c�e`\u0006߻�\u0013�P\u0005�:R�;-T�s�|\u001f�#Z����馍^1���׷�}���<������0Ӆ+N�EF�\u0000F��73��ZYUW&u����›u\u0015\u001dM3Q���ӝ���xV\u000b-�>�\u0019\u0003a]�|�c�œ���`�\u0000\u0018�:q���\u000f乥����\u001fp�s�_n��C�^�#�\u0000\u0019������3�z���\u0000ݜ��l\u0018F���\u0002��m��l�ym���f��\u001a\u0010\u000f]�O�<2���(t���\u0000��H*�����\u0000QO��ǥ�ѕ#je��ͱ\u0002��O�\u001d��u\u0016�5�S��T��Y\u001b�&�\u0007z\u001e���|��h;��R>\u001eǸ��t�Q4<�\u0017bw�:�jก�O�\t������7Y[Q�SR>{�\u0007f�_�\n�l@��)�|N��\u0006d�$�YN�Њ������\u0014�F��;~�\u001cء�k���:`<�o6\u001e'��ڟ�;�V�s��xo�}N+�\"\u0011��v\u0004{m�_�;R|��^D�k��`\n�*(�T����\n�~�U\u0012>\b}�+R=����;�[rK�!\rS�nی\u001e�\u0011ʺ�W6�S�j�?�D�Z��ƤJ9\u001f?����v)��\u0015#�O��\u0000k)�\u0005Ʉ�ߩ����\u001aP/jt\u0007���j��f�H\u0014#�E\u0018�Ǧ*�C�Q�O�=T���6\u001d��S�\\*�\u0006��Q�����Vq�ڿ�޻biV\u0011��j���”Ȫ��\n\u0011�t�M{\n��4���_��\u0000\u001c(C�5�55=:t�w�D�#�\u000f!\u0000P\u001e�����'�\"\u0006�BK�zP��؎���F���K�\u001d)���}q=ʖK�}�����%R�?hu���#�\u001dҖ���Z\u001e�?��ȑ�z%����Z��b{u9Q��ζK$\u0015���\u0004�x��p\u0011��\u0016�Jk�WaӯM��r\f����{u����2��w�!+���oz\nץFC�%Kd;��;\u0003��`?�*�s��x{xu5�|\u0007�J\u0013wx�E/,��(�Vyef�\u0016(�3�S�\u0007\u0007\t$D\u0002fy\u0001�>�\u0010M\u000b;\u0007�y\u001b�/̾m���//�b�R$d����$�\u001b��dH[d�k�R:��Ӳ}��-v?�k��U�|��\u0011�\u001f����{G���������y�ך\u000f�����\u0010\\�>Z��5�eX5-o���]\\oIa�`mm\u0011�Ux�\n����g{3ٚ\u0012?/�\u001c�}r�K�g��\u0000����;ʁ5�?\u0014�\u0007�r��~\u0019�~W\\�K�F�\u000f�2V)`�ukR%���Xp:v� ��֡\u00004�A�l�3��v?�\u0006\\��K��^~��G�W1q�x��'�|��y�?���̿9�a�:滩M=���Kwq;H�ұg�F��v\u001b��1�\u0018�1�p�\u000eN\f!\r�F��R�/yj����+qvf$�\b���^*��U\u0010���f1)\u001f/�Ɍ���b��\u000b�q�cF�\u0017�5K\b��\b�d��+�\\ʠ2�&�+\u001d�:\fs�\u0010�\f.�O>��\n?���\u00009E��d�&�,�\u0004\u0011�c�\u0005!��\bܞJ\u0010���e-�\f��jϹ��A6����M\u001d�zeŴ��R��\u000b{\b�\u001coou\u0019ȵ���\u0000�\u0000�\"r=@l�����M2��\u001d\u001f�#��d\u001eb�It�\u0015�ܚu����g\u0006���ח3�\\]�G��b\u0018%�����\u0003 C���Ƀmlq�C�W�����|_�G?�'�yB�\\���L����餾�#Ѯ������HҮ%��Z_�\u001by�4�=6f���c�́$׈.\\1�\t�UtO��f\f�0�!:ߏ�o�>��\u0006�\u001d���繲��N��R����&�I��\u0017�[�mJC��+\b�S�p$(U�<�L2�yzA��V�7�\u001b�-�|W�����y\u0004�#\u001e�\u0012C��a\u0015�\u0011Fy��MY�d�B�C\u0018,\\ՙ�r�@���\tfᇛ�{�I\u001c@�O?�\u0018��,hg�\u0001�\u001cV�$�ʮ~\u0012jA��F\u001f7Y�0�ϒ�>\u001b]Jv�\u0017q%�P�Hx�ukhx\"CN�,�\n\u0000�\u0011Jr\u00072\fx\u0005����_��}\u001d�_�O���b�Uմ�-��6�IbM5�$�I\u0001��y#H�\u0000�l�B��3\u0007?�WC��]��\u0011��\u001a� |?c�#�qp��\u001a.���pE�.���_[��r4�˸Ⳟ�\u001b���\u0010C\u0016�;�\u00124�Sī\u0003L�O�r��1|7��w\u0007�w�����\ff\u0019e!)p�\"G>�\u0000�$o]�<�ji�˩�b��P��u�q雤E���>SC\u0019��M��hy\u0003$F�����\u0019��A���}����N,�\u00119.0�\u0007��5@��\u0007�=����T�����ׯ��a���kͷ�\u001e\\���\u0012�\u0017�?�l�\u001bO*y��>�\u0014�A��I�{�Am\u0003\b�b��0�;3\u0001�/\u0006B1��}\u000f�cO���s�Y�\u0013�d\u0010\u0007\u000e�\u0001��y\u001e�6���W�>X��򥕌Z���-�^�js٥�W��c�\"�[X\u0015%�Xf��8\nb�F\n�HB�v�rd��\r� m��æ��vD�c��Yp�@\u001d��\u0003��}�s�JUգ���l��F�-D���.�U��\fZ4\u0017�\u0015�)x�h�uBj\u0004��#�켹3�r���{��ܝOk@`94�\u0018\r��l+�}�g��\u0010�,�%��������ީ�yk�gI���\u0017�\u001d��y\u0006����~^�X�y�˶\u001a�Ă�R��/�3�+#�f8٨�>��\u0000���\t���?���\f���c\u001c�\u000f\t�Lӗ�J\u0000�x0\u00113�\n� \u0007�\b?0���\t��\r<;\u001fG(���^g\u0000E��\u0010\u0007�`�\u0019g�G{��WO���q��\u0000��\n����Vi�e\n��]\u00125����n#�\u001bg��{�~9�ʼnu�|{����1��������v�\u0017��-�W11\u000e�\u0001\u001f\u000b�S��'<_1�fq����|vc�>����ϖ�[gJ�\u0011�\u000f\u0011P�(*H5\u0015ͧgKz��>�X$�WK-\u000b2\u001a��m %�\u0013V�\u001f\u0010]I5ڻ\u001c�e\u0002@\u0013�\u0010�:�`�S9��\u0002\u000b;��\u0002ф�`%�&����(�ҙ�\u0018��y�ۤv���g�'��w�N���2(�\f\u0012�SDŽ�\n�\u0019���\u0007(�\u0005j\u000f�w>�ha�vl{�|^���\u0010�Q s��c?�?�v���m6H�K{��f�f�v,\n��-\u0003���:e��vAˣ��=܃_���\u001c�@��(�/�MOLм�ɥy�I��t{؀��Q�.#��i\u0013�Z\t�\u001f�Ы)�\u0011�?g�\bNX�\u0015Ȃ\u0001\u0007�\u000e����\u0019q�1�\u001f�y�7\u0005��������X���M�c����n�\t�~�M\u001bZ���\u0015��>s��Ł��=\u0013�i>��&�~6<�`��׊\u001f���%�\u001f{�SO��MF�Gִ��#V���֛�[�my\u0003)�Z)\u0000�\u0019#�u,�؜�dœ\u0016N\f�1��y���E��\u0019�c�A\u001fw��V�\u0011߯��9]\u0003`�d�i��\u001e��|p{��\r��~u�I\u001b��\u000e�\u0015\n� w\u001fG}�\u001e��\u0001?$���o��E~^4�;ҝ��h1��m۾7�G�P]�G v���'�Q�X��r7\u0015��\u001d��}9���rp٢�\u0012����\u001f\u0010\u001dw���s\u0012�������S�\nz���\u001f+�L�v_��\u0007�<�~�h\u000f�᩶�(�;�k�le����\u0000����s_�^����5]��Q�a�˰|{$�u\u0003j~?p#5�r\r2\u0004��ۋ�}����|�͛k�\u0013��%\u001c�ҧ����ÿ�\u0000�`T��hh({���eD�\u000bA�BI�\u001d�f�t�\u0000k/��n96|�Ʊr�\u001boJT���L���q�o@���t������\\���\\�x�v=6��׳�\u000e9�VA�!�ܺ�N�_��k��\u0016=6�/�� \u001d)�\u001d�3��\n\u0016�H\u0000G�y3S�~��2~m\\�\u0015h��~�(�ꃶ��w?����ꏹY\u0005\u0007������\n��T�zl?������^~j\u000b��t߿�\r�.j�\u0004\"�'슟����Bk���\u000f�\u000f0����H\u0001\n�op2���myd#\u000b�O�?<�\u0012뺝��b���8��N��|Ȧq]���uw\u0003�����lB�r\u001e��\u0007��tu������T\u001an6bzuޙ�>���+\u0019��\"l�n����뫆*(n�\u001d�he;\u0002;��}��$�K\u0003փཻ\u0001<�\u0007}����<\\,�i@8�Ƿ�\r\u0006�\u0006vYM��>!�1�e��ItqE��\"�\u000f\u001c�s�v��i���m8��\u000f���q�L�ͽ\u0016�[\u0002����\u0011��w�횜��\u0000M�n�N�G���\"�t�{���1G�y+���w\u0018k��z\t\u000f���乭�����>ǿM��oo\u0007�w���~ȟ�\u0000<�R\r���3�\u0015[rzﹿ�\u001f�\u0000�P����%��eʘ\u000e�x?��9I=ܜ\f��Ւ��oҀ�\u001f�������5�W��\u0000:�Ɋ�\n��\u001cA�\u0000?��\u000eh(\u0004�+U�c����h �\u001e�m_�\u0004T�=�}�\u000f&[�\t=�O����\b@\\�zw�M��1�j�zl[��~^�\u0000<�\u001a�J;�Zދ��:v�����%�ǾƟ�\u001e�~D���(\u0018��\t�ڿ��\u0012�*\u00121\u001d���7?,\u0014���\t�5��}��ߦ$|��E������\"�'��_v*������ b�-�\rz{x��b��n?��c\u0014������a4�~�\u0005\u0010��/}��\u001fצE�Q�h+��\u000f�4�*�\u0011�OrkS�Sޞ\u0019\u001f���rBΤ�\u0004�u��\u001fNW+�\u0015�O\u0005\t`\u0007��\u0019\u0002\u0018ѵ��U����xe9;�\u0007����\u0018����zf�yrj�tۯ���\u001f�$\u000fxU^;t�q�Q�\u0013Ө>'�\u0011�T\u001cUO�GJ�OՂ�\t ��\u001b�]�쑥C0�\u0007��=�\u0000�dJ�C=)M�J�r:��{�\f}�IO��Z���\u0007\u0013�*]!�F�\u0011һ׿bi�\u00075Kf�����ø鿎BR��-��${�\b�@�@��J^�b\u0007�ξ?-�>E1\u0004�rliA��^��q�es���*��c�}�\u0000Uz\u001a�\u0006��\tT��O���dvA��Pw�Ӷ�{\u0003��h�@\tT��\u0001�ڛv��4镓�,��6-�\u0006���\u0014�+7�\u001f��?0$����Ѽ�g'\rK�\u001a�������\r\u001bR�*>�\u001e\n~���c�\u000e���ŏѤ��z�@\u0011�\u0007R�k5�tB�F}�t���ˎ\u0016^J�Mk_.b��Z��s�����q86�}�/���*w�]�/e�=�.\u0010'5o9o#��\u001fti��K�sjv��t\u001c���{\u001f��X,n5\u001dJboo�3�7�I6�+C��!�r\u0007_՝>P8F8�#����ɳ�y���~|�\u0000�g�\u0000�T������Z�X|ˬ�6�l��Y�t��)�Ӊ2\u000b���R(\u0014\u001c���D�#.[�\u001e�ɫ&Bv\u0015\u001d����/�'�Z�ޫ�O=���y��-\u0018i�i\u0018���G'~D�k�\u0006C\u001d�G�\u0006�b��ՊY[��}\u001cK\r��\u0002E\u0010D�E���K�H�w$�E]ueu���$�\u0000�t����k\u000b��h�Ӡ)q$P�\u0004vJ5\b��;��\\=0�@�j&V(ٻ\u001e��'��~�Z>�\u0016��#)�V��\u0015Q��I\\�U\u0000.��3\u0006Q���{un\u001c X���������^k\u000fX\\��o��\u0005�\u0011<[Eo�m����}�0�\u0017��\u001b\u001f�_��;F�7���Z�\u0001b�e\b\b�6�$�\u0005$~�|4B��è͞�|Ѯ����{�y�\u0000Ϡ|��L�3���\f�o���g�.�\u0006{�=%,�\u001ba&�ҵ�6��'�/�i�E8�L�l��t>@S�����,�\fg�!�-�ߟ�%�慕�j���M\u0012�m\u001c�R��sz�^��\u0016��ne�@䈭\u001cAQ@��N\u0000\t\u0003��\f�p\u001b�O�.�m6���PB�D����:D�\u0001\u0010 �[SNmR�F\u0003�\b�u�!�\u001c;������>�%���\u0015��ެ�\ty�ŤZz[=�Y\\$\u0012�%�ѽ%�H�9���Y�J�\u000eY���^�c�E��DA�>�w韑�\u0000*�\u0000+5=T�\u001a0�u�O̬�4\u0017��F{��,��t��u��}3U�\u001a D�$�W�\u0001�g�8�GpI�\t\u001d7��\u0011�����.�xЁ��_:;�\u000e�n^o������\u0000&�z��^��\u000b[Kx\"�����y�g��ͯ\bb���};�J����gXݢ��C\u0016�s3\u000e�\"G\u0012\u001d7�F���\u0010>�u���0��泒C�4,����rE�V\u000e��O�-CE�/��\t�е�K\u0019���N��\u001a���\f�(���Լ�����&���{�1C�ۂj^a�t��\u0016�Q��M~�X��\u0010k�ZZ��?��2Z\u000b{\rF(��\u000b�\u001bSPgB��Yc�´��\f3Հ1FQ#qߵ|�6��ã��\u0007(���zO\u0014M{�:�x\u001f��g����'�\u000e�\u0000��n����\u00001���U�U�0��m�6�=̞`�^��Zܤ�\u001e��h\u0016��\u000bJU&��E\u0018�\u0006m�d\u000e��v����Fl�����Ѐ��k��P;^���˴����K�ә�\u0018�\u0015)�O�#�\u0000\u0019Y�B�?�?��{='�r\u001b�}\u001b�\u00008��\u00009I�\u0001���T���~��o9hzN�\n\u000bM#L����gH�}�MUg���,I~.�r5l��\u0001��/���U���z�A��\u0004��7��G\u001e(���\u0019�=h����\fݝ��\u000fdGi\u0003/�^���d�\u0016L2H����0�ϡ}a�\u00008c����d�$��IW���ߖ4�1\u001b\u0016ux��.-Pk\u001at�kYl����\u00009��\u0000��bf���M?W���\u001e�w\u0013~a��\u0000�mژ�s���L\\F=ƽC�v\u001eD?`�8C\u001cQ���\u0011���|\u0007~\"��>�\"S2�1����\u0011\u001c��;X�[�IO\u0002�U�\u0003Bv\u0014j��\u0011�:Y�s\u0000�k�\u0019��ຝ��R`��,X\u0012x��\u0011�fQ۶t��X��K��h�w\b+��\r)�\u0015x牽9\u0005?sQ^,�����\u0011\u0013ͷC�Rxc�\u001by?\u001d?�45Y$��d��������bT%�\u0011����=3ٸT�O�^O��|\"G*���|\u001b�\u0005��y���_/jk<�h5�A3FX\"JgP�\u0007�lzV�\u001f,�S���삽\\?e:\u001d6|�s�Q\"�������[�qy���&�\f�:^���zџ�̈\u0018���\u0003��>M�\u0007O��9\n �}�C����c�32�\u00180\u0015SB:\u0006\u001e5�w�o\u0001$\u0011ȹ$���?3���o�\u0018�Þo�\u0016׊��'��\u00168��\u0016��w\u0004�Z\u0016?\u0014\u0012\u0016�׵w\u0017�\u0016\u001a�\u0011���,w�8����=Aڪ��0��>]�}Ǽ?,?4�\u0000.<��I�|��e�_Y\r·�[�&��\u001d7�\u0012�ɛ�O\u0016�x*^'�R\t�V�z<�\u00197��O+�`��\u001dc�b�\u0004섉<;q\u0001ӑ�\u001e_wW�K?]��k���s\u0010�\u0004ud�KuJ��\nt�޸�ZK%����\u0000�\u000fl�*\t��N��O�`|+�ES7�OM��=�}�o���j\u0001�RMF���z��i�㚍q\u0015�r�\n\u001c��W��5n��4����3#S.`�}=�\u00008�u_12��\"|~,�vQ�H��o�~�yvJ�4��W�n����\u000f�E���\u0003�r\u000eJi��)�m�q���Oh���h�����Y��\r=�}��ԙW��\r�@�3\u0012+֝G��r\u001cD�3\u0014\u0010\u00138��\r��^�|#r�㞕�\u0002�P\u001e���=�s+o�P�OE&�\u0005��������\r3\u001b�\u001f��moT���3z���\u0017�+�ʧ\u000e\u0018\u001dNx��/�Ȁ�\u0002O���\u000f&�����⫿\u001aT�)�s�����\u000e(� ?��#��+%� ���U�����F7�:3S�\u0002���=PË�?\\�\u001f�s�9x�8F�n���\t���\u0003�\u001e�W����,�\u0003)\u001e\u0018��?<�\u0000�$\u0015��x)C�UaZ|��E��>�\u0019��P¿�_�/\n\f�ó�c�#��\u0012�X�d�����?��\\m�軕J��QJ�vS�s��=�\u0007�;v\u0015�\u0004u\u001f��-��$}�\u0015�]��49��Y�z�=\u000fM4\u000b�A����&~oG�'�_6s��@{�i�\u001f����}9=\u000e���5Mt�\u0000��\u0001_��:�O��f8\u0017�!��v����?�\u001f_�K\u001a��x~���g����\u0000���?_�\u001eo���\u001fs�q�\u000fa�Nq;�޿�wom���M�P����÷q��S���U�(��o�VU�\u0017\u0003?4]�\u0005G�:�����>�iF�\u0014�߿��˂�7�(v��\u0000=���\u0014\u001d������{��A�-�#�tlK\u0001�u\"�\r�Pz&q�@\u0001�����ᾝS���S��\u0000}�\u0013\\ѵ츺\u0005#�c_\u000f\u001fll\u0004�΁�j\n\u001e�����]�\u001d\u001ca؃Ԏ�u���\u0018~�|�\te�\u0014'o��\u001f��\u001dz%N�[���\u0000Q��\b݊�\r��{�0*����\u00003��\"�����U���ݎ�ۊ��nT\u001a�+�n�v��eK��p+���,\u0004|�lS\b�\b:�J\u001a����\u00074��2�C��6�w�dO��D/�*\t#���ǣ!/�א\u001a�Q���v�ɰ\b����&\u0015S@� �?\u001c��G��\u000e%<�G���\u001c�gj)\u001d�����\u001dF�5�4\u001f���T��\"��\u0015�J\u001a\u0011��?���Q��}�|v�^�c�[*\u000fo�S�\u001d�c�WPѷ޴\u001d>b�zc��h�\t�J\u001aӯ��P�[��U�������\u0005W5$��%hH#��������\r�s���m����\u000eI\u001d��>�Ҵ�F�D\"��|G����\\�\u000b]Pr�|zP}�G�2?r6�I׮������*_(�M����u7��*�I]�@\u001dOѶ�)�*�zR�j\u000bW}�)�ڙUs�F��Zӯ�N���9\\��g�IQ˧�>$�#�\u000b\u0017�$��}��;�ni�\n\n�8*��ܔ�\u001b��z���:�� A�۹)4�\u00103�\u0004QZ�!iM�=�9\u0002\u0000\u0016z+ּ��Z���y��f}#�+Yl4׭���O��+��G$|S\u0010\f�d�����erv�\u001a��\u0012���9K'��a���:^��xi\u0001Â���\bo�o�~\u0016+��W�F��T�i�n�\u0015�zu�*\b�\f2)\u000eM>&�&j�=�A�X��1��!\u0011@r\u0011\u0003�\u0014�:�^|�#3}��ſ(���MM��J�\b\\����3�řE\u000b1;S|�d�1�\b\u000b. �\u0003��Ǹ~x�eZ~]y\"e�u�V����5$f\u0011�\u0000��\u0003��\u0000j�ܳ\u001f\f�ŌO7\u001f�\r��?����j?�v}�>\u000f�O���/T󗙵=R���\\�)�2k���x��N\bZlNt�`0����8��o��'�\n$Ԧ0\t\u001d��Eۓ��2z�jW�Q=�NU�8�>����|'�.�\u0012Hʲ�\u00162��7�\u0000OU\u001drq�+���\f����_�um\u0006���E\u0006�\n��\u0000���Z�\u0004��w>5\u0019d�NǐXP��yo�_�f�ӯza2HM�W��R\u0014�\u0002�\u0005\u0004\u0006�\u001bv�'T\":�A�H�z�=n�\u000fZ]B��Y���Xb~K�\u0013Ș�դ��j�*���$* 6݊�)��Y,��Fv��T�|0��ÜF@\u000bN˱$�r��d���\bu�\u0017Q\"#*�\u0002+�ps�\u0016o.�~c�9�6��\u0000��b-\u001a~�0��sQ�!���FlpB2�(����\u0000�8]�\u0019J<}F1c��\u000f���s�Z�\u001f�ڷ���Eϙ,aT�E\u001c��Ѿ�PZ��n@��\u0019���N�\u001e�B��2\u0011�ޝ�f��ͦ����_��6��\u001f�#�ߒ>J�-��fԼ�a\r� \b�\\�=].�J��\t~�d�V�\u001bzS>\u001e��q��|_�_�_������U��mLy\u001c\u0011\u001c���G��3}j�a\"0W�J��oކ\u0006�\u000b�)\u0017K\n\u0002+�/P\u000ek��0�vy0�\u001f���Ѣ[t\u0013-��'����o3#py\u001e)8q]bVd\u001bt\u0004���i��\u001e�}\u001c�����2\u001f\u0014\n���\\�\u001c��w�m�A��\u0000��\u0005�ȼ��[飺\u001a��(�u4��ƭ=��{\u0019�m�`�젎�\b�1�\u001d�`��w���62a��*�7���\tϙ<�\r���]GEmOH�X���Rҡ��.$��(l�g\u001c2_;�\u001a�Q��gD0;�\u0004\u0018d�\tq\u0011����NLjQ\u0004K��n�?7��]>�4�����O\u001c��\u0019�����)ZV�e�\u0015�[[ij��8RUxՁ��e�\u001b��}d�Dz�>O,>h�����4H�\u0000R'2D~ ���\u0004�D��Bv�׸\u0019��\u0007\u0016��kxE�ٿ,�1�W���BoDp���Gym�Cqn�\u0011��.���4��� �*�Q<\u0006\u001f�c��t��e}w�0C�7���r&\u0015�T�dӮM���ug:�\u0016�w\u0014w\"�}n����&�G�\u0019\u0018zAfF\n@\u000b%\f�BQ\u0017\u0010.���&��s�˫<��ӖW\u0011\u0002\u0005��u|��}��\u001fʯ��-J�/�fi\u000f���=WJ�D1M6�i\fK}y�^���\u0004r�,QMs,V�\f��L%2\t8���Q�\n�\u0005�w\u001c������{����IJ�C\u000eI@�\u0013Dr\u001b\t\r���nvAj\u001f��.����Y4�t�Ϙ�e�e��':>�5\r:K�'�����K{�Ӻ|\u0013�n�Nfy��Jfp�\fx8������t�%�_ٵ�O�Ŗ�a �2�\u0011�5\"\u0001$�\u001f�2\u0000P�`ԇW�^y�_&��ȵ] ���\t�\u001f0�YIq��u-��4���\u0001��=XN-f����\u000b~e٤W\u000b���L���L�4��|D�s�\u000f>`��U�\u0012��ibL�N\"Q\u0017�\u001b� o���}�@_�������\"������\u0011�o� �K�kw�Y-��\u001bk\t'k�Z�9���E���l\ro�\u0002r���G\u0006\u0002(�\"�!�\u000f�\u000e��������í�p'�n1��'�c��@9F������\u0000?���:��o��䅎����A�u�̭oJ�\u000e)��\u0017V�\u000f�&�e4kߨ�J�;���h7\u001e�����G�\u0018G\u0018���=�D��?�\u0000\u0004-G�tz0E�S�G�\u0011�-�O���|_�{O����?�����Mq�Q�_���\u0004V\u001a\\��!��tK�;�q��\u0017�\u001c˶̣>��ڳ��ؾ�`<:���a2=�≗��|K���\u000eПhvFPN\u001e��d\u0003��������\u0000��T�����\u0005��W�p�\u0017�[�\u0017��淒K˝3Q�H\u0018\u0006�).-\u000b�GM��׿�T�i�p����S��+��8�������,���è��\u0015\u0002o���������\u0017��Tմ�\u001b�J��🁃�Vd\u0004H�*\u0019hzvφ{K\u0001��X��~��=.X��\u0019������Q,����@��o�;Wm�[�\u0000�\u000e㛓��2��<\u001b�6��0��RU\u0019�X\u001a�1=�\u000f�4�ΛK!(�L�\u001c�fPA��y\u000f�<�\u000e�\u000b,�=\u001b�\u001aH�\u0002ֵ\u00040^���~�����7�C�{��?\b��\u0000��U�\u00009�,�4\u001b��IW���s\u001b�@��zGt�J�;���!�0����LBq2\u0006�~{|\u001f��Qye��h�\t\"��'-Ճ�V��h�۾z�(\t`��?��x�U����?��ל��O�?�\u001e�D7���ʊI�ЏMU�\u0012��Pw��>W��E�v�Y�\u0007����[�gPrv|#3믻����U�6�ط\u0010\u0001.I\u0000���\u0007�r�\\#%}��4�$�k���*\u000b�fFU�\t�\u000e�@ž·\u0016݇ʹ�h4�@�~\u001au\u001a����@�#H_(~lyb\u000f/����v�\f\fބ:�\u001e���p\t��[����G^�����c��*\u0011��\u0018�Xe�\u0010\b?\u0003��Q�.�E��h�y���N�>#{���?��\u001f(_z�>E�\u001e��\u001b�\u0005���9�Z\f�jQ=F+�YG��v��r�{\u000bI��鸱��\u001b��)6\u0007�_\u0007bNLg�\u001c?���!��\u0017������O�\u001cż�Ț4����ӥ1�<�s]��}\u001a��Gp\u0010����Z\"e�7�\u0014w\u001f\u0011�7� =��\u0019\u001e\u0013q��y\u001ft�������\u001d�-�_�=Mzv�ymK\u001e������2<�G)o�C��kA�}�����k����{�����\u001f�z�j\u0017�+POZӧ|���Gw+\r�)�C~}S�\u000f�M����s3�2<��7���7��!\u001c��U��\u0000k6}�*�Q�m��ߛ�\u0003�3r�7?�����v}̈́>@�\u0000����B�Wr��xxm��x\u001e\u001f���v���Y\u001a���~\u001d)��\u000b߫X��Z�w#���ƹ\u000eGv\u0019w���K5W��|E^�����\u0002U4�54\u0014\u0015�x�׽5�)��!6=�M�<)�F\u0013>\u0018n�\fC���h��H\u000e��&�\u0000�~������)׸��ga�`��\u0001��hq��\u001c�/�m3���\u0007�_�ᚬ�·\u0011�_s=ӆ��\u001f���7�]��l+�6�4�J\u0003Q�O�9��\u000e}��\u0000NU����kҿX���4o՘�����\u0005���.?��ߒ��\u001d��\u000f�9�Ƿ��8�\u0000Y��������A�@��\u001fO�q/`���{�\u0018�ʇ�����> �<�j�g��VQڍN���\"\u0005ݸ\u0019�ѶOTS�v�\u00001��$9��\t�\u001d<>^�\u00190��\rw\u0015T�;t;�\\��HbW(RB7\u001b�q���h\u001b0;\u001f5\u0015�\u0000ـ��Q\"�J���Pw��po\u000f\u000f�5ĭ�l\u0011�{����H\u001b�r����ۿݶ\u0014\u0013�ǥ4\u000f���\u0005 P��ih�\u000e������l\u0014\u0003�$���`��9y���R���\u0000o�EQH�PM}��;\u001d�2\u0016+fȍ�0�R;����\n;l˒��&�\u0003n�\u0000NS=Ž������:��G�;W��9w5\u0014b�}\u0003�Z\n�5���*\u0005<6�{�O����*@�����*�RI�s���w�\u0011���C�>�\u0014�w�*\u00166��&��\u000eJ����O\u0013�\u001e�\u0014�\u001c��@}�m��\\(C1�\"��ʾ>9\u001e|��D4�\u001d�M�{�\u0000\u0012r6F�h\t�������A�)\b\u0019>�nj\u001f�\u0018\u000e�;��z\u001a�\u001d�\u0000�\\�\u001e���v=v�o֣���Q�J_1�k����m�D�d({ҙI�Ԛ}'zu�H��6It�c^��#��r4R�\\:�%��q�aN��بg�V���g�#[�R\u001f-�\u0014��ֽH�x�\u0000��O\u0000]\\�\u001d�\n�7����i��d\u0011�����yG����u}����9\u0003>��\u001d/�_�>@xnM����qRH�\rz$}2�A�{=\u00123贈z4Ũw9�vG��\u001d4�\\��(�/�9\u000f��ƻ�\u001c�\u0007\u000e\u001fLO���_8�t~f�j��Z�|&�0�cVc�TG\u001ck\u0011H�KƅE\u0014v�;�&�\u0018Ȗ1P�~-�<�$��&�\u0013˭\\���5`����\u0015�a1��¯\to��=w�:\u0003\u0011�<#~��ǔ���o��\u0000%R�xl�R\u000e:f����h�r�\u0003s��\u000f ���<�P\u0007%���k{�x@�??��>�\u00006Zmv��6wO��\u001a�yn\t\fde!Y�\u001a�E5\u0000m��\u001f\u0011�,2\u0010!�<5����7⟘�%���+7�#�\u001a��\n*A.\u0007|�e�\b�c�_T��zj�#�h\\\n������\t�Q\u0011\"x�\t�هG��V�\u0014��N�����\u0000�0�\u0007\u0019x�/�\u0005}�s&\u0010�~e�\u0016\u000e�l5;\u001d\u0013I��5\t���m��WzI\u00040\u000fRIرU�U����\u0006\t�@\\�~6m\u0012�}�g��W�V����ƶ�g��˖s�mkd�_�B�T^\\\u0015 �4��f=϶\fP�\u001cr\u001e�~^A��LY�=\u0001�<��v���y�T�д�R$!\u0012��(mb!�&���\u0004P��L��c\u0013�c���W�\fr�kc#��b�[��\u0012\u0015��K0V{�ޔ�\u000fs_�o{\u001a�n=���\u0000\u0007\u001b1���g�?��g����\u001e�Y\u0012k�0y�PE\u0012\u0014\u000b\u001cڍ���4,Ο~K���⿈ȟ�D���3���Ÿ׿�ݔ~y�\u0000�\u0016�\u0012�U\u0010��\u0019�kR�|_\f��[\u0014\u0006NJ\"�v=kZg\u0011��G���y��G7��K\u001e=6Z�\u0003\n�\u0010\u001fƗ����!�����Ʃq$-�o:k�ց\u0012\u0000Mޅ�{�|� ���E3�z}��\u0014ω}��d��2��\u0004\u0013\u0019WB\r�����?e�\u0001�1ɠ�gLܡ38y�[�����ޱ/ @�֑c\u000f\u000f�Ȫ\"pX��5\u0001e \u0010\u00056�'9P^��!%�̨�_\"�&\u0006S),��U$��FI-۽\u0014�\n)C��a�XĶ<ڒ��ᣊ+�i\u0013���)\r͹�y�`����][ %\u001a�'f�Ng�;RZ[���\u0013��wGڝ�\u001eЮ\u0019�s\u001dj���\u0018���ՠ0�1�`���[;�#,ztֶ�\"��H�\u001e����\"��%j\u0002�AL������q����~����\u001b<\u000fhh�ݓ���ơw\u0019\r�!�z\u001f�7���r�^]Lʬ�m*G}l�\u001ea$�\nC\u000b�J&�F`�Ə�O.F�\u0005�&�c�ۢ�D}}�;Ԛy'e�yq#��Iͤp7��}>-\u0011��\u0014<��M�'1��Q<�v\u0012ԉ\u001fO$V��^Z<3Eu\u0015��#�\u001c\n\u001eDi\"v�,��\tJ[�9��k��Te\\\u0004�S�xj\u0004�s״O:I���'��赌�\\N��Fg�e�#��4�� <��P��\u000bT_�\t\u001b�\u0019k\u0007\u000f�����\u001f�����6\u001aN�-�ִ]KM��T{�ؼ���{}\u001fS�5ٞ�/u4��Mb.��?4��Cd�\u00192�\u001e��\u0000>[}ǿg\f걂\u0006�^��u'�\u001eO�d���<�O���$�:?�4w\u0017�hѥ��\f��I��he��o-~��C�\\z���J���\u0006PԻS>�����JB\u0010�\u0018�\u0000\u0014��\u00073��\u000ed�C��{[V4��\tNX��\u000f�\u0017�S����<�/U�?�����L���$�R���g��\u000b�J��Ҵ�ft\u001c�(f�઱�{S��\u000e���\u0015�����}\u0018��\\���\u001f�t\u001d_L�oe���\u000ek�^Ӟ��@�y�c�\u0007��z������\u001b\u000f/i\u0012\\�^��CjXG\u00043A\fe\u000b9���%�d\u0003�)�2=MB���\u0019��\u001cr�\u0007��]����\u0010����\u0000k�\u0018�\u0000����oϯ��?̿0\u001b����mwL�8��M'ˈ�Y#�t��E��\u0017=w�\u001d1����\u0005e�9d=�u\u001b�\u00004\u0007�=���Y�FC���8�(�z9�uȗ���\u0000@�~w\u001f!�k�/�Vګ\r#�/F�<�{i2�Dױ��[�d�\u000f0�\u0010��\u0000�O���c\u001do�}�����\u0007�\u001f�c\"[|>��}�>\u0016]\u0016�\u0012\f5\u00022���#������W�m?/�5�\u0000;��\u000b�m/C���\u001c�X�a�5\u001bѬ���'�\u0016�\u0015d*gֽ���{o����Iz�\u0019{3\u0018���\u001e\t�߮�ŝ�ّ�j�C�A�\u0018��\u0004|�de\u0013�\u001dŸ���\u001eg��w��Ԗm3F��t���j.��I\"\t�-\u001f��õ\b߮|��N�B>&hVL���\fG�7�_g��./\u000f\u0011�b�cg�������W�1M,ֲ�B�R7\r@=IA\nU�B\u0018����<ÊP�rD�\r��=t�\t\u0013\t\n�~����\\�߽��{k�gx�n��5} k��:6tzS\f��H�@�u�D�˄�\b|���\u0005��2���m}$�Q\u001b�N]�J\u000e4,G��:��2�\u0004\u000b�\u000e�T#(�#R'��\u001f���?���:[\u000b�7\u0011�n\u001e�ܒ��r^q��\n�I�㲥�)㇦_e\u000f��:�e�\u00069�(w�\u0004��_s����\u0010��*T\n�;\u000eJY�J�\u000faជ�2��{#��:\u0019��l���\u0000��>r��?.�\u0000C\t}K�\u0019%\u0012rp��\u0000z�#d�V2\b5�ϟ�\u0000��0�� �\u0007���g\u0007\u0000�����L��*-���_���J���#��g�v\\O\u0015G�������|�\u0007���R���6�8�neQ�+\u0018jz�\u0000$Y\"q�z�l�t8��\u001cQ$X�\u0007��)�p�6�|ީ�_�\t���\u000f'\u0007@���s.´�\u0004o^��gii��k��\u000ef�)\u0003~]��}7�y�;��\u000b�RU�\u00028 \u0011�MC\u001f|�h8e�b\u0014]�-_�C&㧗�M�\r+T���/�,�=\"�&����\u000bx�l���Q��`�:0>\u001f,�͆R>�����=�`���G,%\u0013�\u0007����\u0007�o����}�s�y��%㹴�Muw�s�]zS۽L�<��Lx<'�-';\u001d����݃\u0019\u0003�DDg�\u0007h����O�e�\u001f�\u001c�DsJ\u001b\u001b�?�C�(}���榷�M�Y��z��u%���j0=����$���v�)\u0010�\u0004n\t\u0007~3.�\u0016�,�g&\u0019�jQ��D�\u0011�����G\u000eINJ\"�y\u001e�Cjp�����O���G�k���F�=�\ttz�\r��S�w�v��U�f� �X�\u0007\u0014�WT�P��4j�4��7\u0015ڙ��}\u001bSv\u001a�pc�^�jV��N�;S�s\u0012��.x����q���f��0��O~�Nl�._�\u0017�������>���������\u0007�C3�|��\u00009\r5,.\u000fB\b4�7��\u001dX\u0007\u0019���&rj��\u0016�5S��Wo~��?�k�\u0000\u0005�\u001b��\u0012���q���\u000e��\u001a}Úݍ���=V�'����\fm*��Ƿm�����v\u0000<����hzl��mc\u0018,�դ�\u0000V�>��O�z�Lp�X�ܘ\u0000#e�Q�Q�\u0004����!x�(ۥ\u0005+����\u001cX�;\u0000\u0019\u000b �~\u0003��4TZ\u0000�\r�l)��؍�L���h\t#j��?lPl~��\u0000�v���m�\u0001F�*���1'�������%j�\u0005���4�}�A;T���`�ȿ�z���^��kڊ�Z?���5���BF� k~���\u00009���<�t\u0012�R�?��\u0017�����lk<,>\u001c6�/�up�|L��\u000f���&*qڴ�\u001d���3�ŴxC.{�l�X�������~���`�\u0013ߑk��\u001a�\u001f���\u001f\u0015��6�H\t�ڕ�\u0003���0�\u0000\b��\u000f�v����?s�m>���|5�)�5 |�ϣ�\u001a�\u001f%�\u0011)��\u000b�/�*\u001fN+P�S�T\u0001@:T��w\u001fNu�Y�i��\u0001�oi��H���}���Ž>\u0011�ޛf\u001e^�򘾶w`�/��w�sQ�on�\u0000O/H\f�ɇS؃Oc��W�tw�bI\u0005\u0013��\u0005����G�v�_�a�z2P��G�$\u0001�p��`~K��Kc��\u001f�6۾|����\u0000\r7����c���\u0007���T����_q�\u001a�Ɲ�w��=V�H{����>_��\u0007�\u000f/�ʵ�Iz����zb+��j<��{����t�\u0000>�\"w-)�o���O�Z\u0014�J����\u001dr`��bz�tbi�\f�\u001b\u001d�d�F��^���J�\u0014�4�0(zdo�����ح}���n�0��vsV ���\u0000?\u001c\u001c�����\bG~���倓�@�܉��)������\f�s�yC�߷���v��me9)��\u00003�������%\u0017��=(z\u000e��#��� �${x����wb�T\u0016��?��`�傠\u0010:����͘��p�'C�+�q��Ѿ�\u000b�Pw��A��\u0006��m�ߩ�|>~#\u0002,\u0003HF���¿�\u001a�F��\u001a�\u0015�\u0000=����O5%\u0015c��\u0013�\u0018�A����o��\"N��\u0007+�ē�ڿ\"?�U6H�~�=��9D�ɉ��\u0000�����\u0007�QJ|�Oњ�~�h�6�6#��?�0+��D�Sc֣�a�&#�\u0013�T�\u0013���}r<��AէM����q\\zn�6>\u0015��ӷ�=r=7�J-O}��0����*�����ԭj\u0007Z�\fGr���J��7\u0007�hq*�z��}��(i_�푭�\n���A^����#�\u001bB\n_��G����1@KQ^���\u001e\u001fME0�z���W�H��^��o��](��+^�u\u0003*��JW(�]��I�ڟNVMsJU-I�hz����\u0014\u0019\tp�{ \r�4_.�\u001eg�\u001an�jng<}y��vvQW��s�F�7�c�3;?�u���������1���7-:�V\r\u001e?\u0013<�t\u001dK�_+�_�K��\u0014�S�\u001ec��F�\u0002�u��\b�,�\u0018��n��ɍ+�zwd�%���\u001c��˪\u001f�.C�����n���jIç&\u001066�)��|֞]�g��cuz��\u0010��ZV�c���E\u0007m�8�\u0001\u0000D��:fh��?��>h�|�ptۦK��Ԯ�3�W\u0005�\u001d��ْ\u0011�\u000fe�\u001b��d0� \b�\u0001��\u0019ܯ��)�|�oy��,�M�*\t�nn-��vw=\f�IY\u001cl�A\u000b��2\u0011��}\u0001E�f�m��\u0000��yƟ��$�.)p.�J��� �8��4̬0���6�ulד(7\u0018�K�/�[�����^HȢ\u001bI\u001b�\u0015\":!e\u0001O�J\r�]�:�\u000e�dI/�?�ȿ6�y��>h�%�W�\u0000O�H�\r��0�B$�_��Nٗ��\u001cx�\u0003�\\�R&UWӹ��<�\u001arXːͷ.\\���>�S�\u001c���\u0002j�'��j�mB\\�\n4kS\u00132�\u000b)�v#�G|�1��q�G\u0011%��\u0000�\u001b��{��Xm��Uf�A\n�2vA%)O�I��2\"\u0007\t�P���r���\u0000�ߚ�7���2��b��O\u001clc3*�����pPT\u0003A�c��?p�|[��2����|\u001f\u000e�� �7\n�X���w�ٺ����zS%.T�~��\u001e[�]?�R�h�,��h�]_�����߾��5Y�.\u0003\u0005,vQ�L�\u0017!��d��̇>_\u000f�4���\b<��\u001a��Ҵ����3-�\u001f\u0013Z�$7\u000f\u001c���2\\\\)��i�n3m�V'�C�3�\u0014���\\�/�?#me����$pO$B@��X,�\u0017�yT��M}�i\"a\u0001\u0013���R�������������ɚ�R\u0018�W����p�U��H��C4�h���\u0014\r���{M\u0011\u001d^����$\u0006���pc?�\u001f�dy�������o?.?<�?2i��5��k%�\u001d��ow$\u00171�)ȅ\u000b_\u00103�o�?�;`\fg�'�8�'�\u001f����\ti��\u000f�9H�\u00006T_wyg��o�4{]R\t�Ky#Gw\u0000��]:��ډI\brvn�\u0013֙�y1K\f�&7�\u000f�\u001amF=^\u0011�\u0011����\"�/\f3�'��������T\u0000����9V��Sm�\\\u0000Xl'vi����5���p\u0019�(\u001cT�\b!�\u0019\u0015�P��Ű���c�\u001b1�)\u0000Y^��J�la\f\u0013Z�\u0003*�9��py�\"��\n�\u0005A\u000b�\u001d�žC\u0006Y��&\t\u0012\u001dF���٪�C63\tF2�!�\"��\u001d�/����,�b��>�\fhU��ܱ�:�\u001eT\u0005j�\u001d�u\u001a~��G�W�����x#0qǀ\u0001T9<��U�\u000fNt�Z0�qwg���V,~\u0000\u0017⑃>�`((3e\u001dn9�N�/f��n&�Iu\r�գ���\u0019d�-˼��4�\u0005\u0017?\r\n�\n��\u0010U��S@0\f���\u001f����5\u0012���<��1�;]��u,y~)�m�F�n�Ic����(\u0010�R[�j�0�5G\u0016�W���:a�rL�@\u0007�\\�7������Î7ԙ\u001f�\u001fc���C�pK�+\u00147�z�^��k�6X��N�m�=)#�Y��[�u\u000b)���Iw\u0014o\u001a�+\n�����z�K���\u0018�G�}s�\u0012\u0004\"z�og���\u001c�cz���=EKh\u0003�����(�X�}]�_-y{Ț}��t\u001d+A�\"�\u0012�coh\u001d��$\u0016i�@�V���Y&i9G\u001c�&F��\u001eT\u001c���uy�U�ys��L��@{��84z}6�:m\u0016��߉�\u0018�>���26�,��o�@�yE+\"֙����#����Z3B0�sۗ7��V�\u0000�C�~]�Z��]6�꺔�7\u0002\b9�O�M\u000f\bN�n\rl\"�i�\u000efRZ�I\u00076ZlgQ�8�����v��\u001d��˫�\u0000�`j�\u001a������O�Kw�\u000f9y��/o5)\u0012\n�\u001f�jW,ܓ��_�s�ft�Ńo�x�\u0011�O���$��\u0013���Ւr�����\u0007����\u000eO�_��o��/=�,�~�����jii/�(��o`����+ij�N�\u000e��^��h�:��%\u0012\bڲD�_��{L<^�ˌ}P�\u0010޷���mo�_�r��1i_󓿚څ����_�\u0016\u001eC󝭹�c�\u0001�yn���[\u000fH�\t�t�r[�\u0019�ϡ�\u0000�a���\u001chtٱ�����`���r\u0019\u000bߠ�t��\u0017�\b:q��\b:̘2e��GO����&8�\u001b\u0011W\u0013w{���q�K�\u001bR����K��\u001b\\����֖\u0017o��0�%��SC\u0015�ܖ�N\u0007�\u0012��9���\b�,r�\u0001�$�6%\u0013��íw�}\u001f&I��\u0018\u000b4D��'����G̀������ݠvh����,�Z0\u0003\\�%\u001fg�-E�|��\u0000���\u0002(ѯ�����F=�/�|?���Z]^ܛ�K��YȽh�H#��fe���Qab��\u000f�s���\u0012�\u0007\u0001\u0016zmd\u001e�o?�ώ� _=�\u0011О�w����\u0000��ծ��Iu\u000b�a��\u0007�R�c���� �\u0018�\u0000��\u0014��C��\u000e\u0000FO'��JD�\u0010��\"���>1�2M=��\u0002Eħ֑�\ft��H\u0001jq䢣�{g}�1\u0018##��d\u0004́��?J�\u0000�\u00026�<�矩J\u000f���%{y�$O���Ռ�j�A+�j\u0016���s٘��g���,y��\u0000g���g�hH�߷A�o�McO�\u001a}6T�E��Ib���2�\u0012���\u0000��'g�xrm\u0001.}\u000b��,5X�;Ȏ]A|��\u0005���_ZΗ��\u0011M,r3z��\"zƑ�K4m��θ��\fQ��0#�҈JS16\b>h�\u001f\\�N�\u000f��!smp�߾�.8lѠ��0�}�Z��̓�\u0017�1Q\u0015���\u0016J�������z軻�!k�\u0012�ٓajLR�#\u001cD�o)㲟�\u0006��k8a��r��/��f\u001e����_{8�7�a�ch�V�1\u001cdي�ԃ�+�o�k�CK,G��o���\u0015��6�\u001f[��9\fW6��\u001e����e�4y1�S�\u000b�!�v\u0011��lm(����>/�\u0000���\u0000�]�?� l�5�,����\u00008�[n\u0010_M\u001f�����\u0014�\u001aV�\"(g��]P�\u0003\u001a5V�8�l}�\u001d��\u001a�\u001c�.҄w��$\u000f�Y�߃��\u0017,|�\fn'w�}�\u001d\u000e��S\u000e=1>��\u001fӅ�����/�[�\u0002�[�F���[̺}��?/�Ϧkz=����sG�A�H�\bx�Z��2��\u001c�O_�\u000e��u�{7��î�>\u001c��8˘�lA\u0004J2��Q\"B�}�K�ޗ�4���22irDJ2\u001c��\u0004\u001d�<��;��z���\u0004իq��\rw�m�\u0017�A��\u0014'b�\u000fn�9-$L�h\u000eG��ꋨ��Nu�۾�?\u0010sС���\tw�{�\t޿�_��ߝ���'}�#�D\\R��~�w�>/�|��\u001fA�p�\u0003o'�os��߭\t�;�\u001c�\u000e2Qqs���O����)��c�\u0019�h7bv'��@'-��\u0002���ꤊ�ڞ&�mJ�]��*\u0016َ ���s�;�/;E�O\u0011i.\u001c8��\u0014ҟ�u~��#���R��7�z��{���Ǘ�䰲�\u0005\nx�6�l�B�\u0011YK��vZ������e�\u0015\\�1/N�?��\u0003�D\u001a�9�I��ߩ��\u001e=2lW��t��m\nr�:\u000f\nl{aT:�^��2'{�J �Č�\u0014w��a��N��l���;�i��\\��/\u0014sZ�;�m�b��#\u0013#ѧ6N\b�ϐ�}�νOW�\\��/db�����k��F��c����U��K�\r�����\u0004w��F�\u0015\u0014m�SA�{�zd�Q�R�6d7���S܃�\u0011��q/\u0010\tr�����OΏ������EEy���Cנ�m�\u001a\u001f���\u000f�v���\u001d��|]�Y�hO\u001e�ӵ>����\b��ϔ�'��>����Ė”��6?\"G@>]�����`۹�/j!!(��G�_qi�b \b\u0000*���G&�⣴�,���\u0002+��\u0000�Fj�n�MG~�ebzmZ�_��횬���L8�D�D}Z߷���7\u001b�\u001c>���\u0005��#ć����\u0003�X��ۦ�>��\u0015#�F|����\u0000\f?�~��4ހT}ϫ\u00014\u001f!����{?'W�t�\u0006<֐�\u0007�F�)�R�q��y_W�y�RPk��\u00005n\u000e��'Mo�w\u001d(H�\u0000=���n/�㏱���6�\u0007�\\�)F�U5\u0015�i�~y0�d��.}�d��\u0000FYw�\u0012\u0012�\tR>�{\u001c�1�1���\u0002��ڙ^֖��Z���}��p���y�\u0012n����d���G�t(\u001f����r ]�����\u0000?�\u0003�����a^�*\\��>7\u0005hA\u0003�\u001e�:2\u0014wKn�I�����m�X�,1�*G���,h�\u0016Ƈ��\u0000|�^�\u0014s�8�\u000e;\u0000~}i�s��rQ�1M����)�\u0007��r�#~���E�ҧ�>\u0006���\u0013�̀7�#��\u0000o\u0014�<��\u0001V���ND�rE\bv\r֝���L�!�u9\r\u000f_����c͐5�Q\u0004��\u001e�#��*��l�\u000bu��~��r2�\u0000\u00129?�����du�i�GM���\b�&���\u000f�6��\u00064�H\u000b����v�}�rQ��u�P\u0001\u0007�;oӾF��k\b��j\u0001�Ri�<&�I�i���F���L\u0015��M�^��=�\u001e��P���N�\u0007�#�\t�g�\u0015��p)��:W�\u0011d�l(9�{x�Sۦ�\u000e��\bCHw\u0006�ڄW��v��@\u001a�t�\u0001)��7�{S�\t�uG_�]!�_ױ�s޸\bO.|�\u0012�R+�n+�qT�N���?k�;�9\t\u001a\u0016�t���\u0001�o\u001c��\u0010�e^R�\u0015ߚ��\u000b˅���o/\u001b�Nb��ϧ�\\Ea̅��J�s�)����c�=���zI��\u001eu��tL�^X\u001a��à\u001c2�)�\u000f2�'K�򝞕\u001d����A܋���d�x�'�貭��-9\u0017�#QBsԴ�H�v\b�pB\u0018�\u0011��~}I�Oy��u\u001a����)J'pNܺW��\u0006!�_>h�_�\u0016�J��_��\u0014�=@zQ����������]�����\u001c\"\u001bK\t$z\u0012$�8�(꤯��MO�\t�\u0011���m�`��?�>?�'\u000eyG\u0011�/\u0018��g��5f��-ʤ\u0001�\u0013\nz��Q�I��A�\u0007l�K\u001d�\u0003���Q$�u��>e��nn-�偵g�\u0015�J�O��\u0001Ac�\u0004�f?\u0017\f�3\u001b�ya8�\u0011,�8��8�\u0015�#\u0016�YYwb\u001b����8��U\u001a��/�|���\u001f�7�u���uyj�}�l��]�!��dT��jj:d3NJQ�w�}�\u0006@\\��\u000e^e�+�+�on�\u001eB�����;����ɍ7<�v��\u0011B495�\u001e�ό\\'��x�\u001d�\u001c�T���� }������g\u0015r�L�G����5�C;BCCW�\u0014kZ�ICƎ\u0000���e����-���t>b�G�f��WyR#y�Į����K��\u001dAXԑ�X��\u0010\u0000�\fA���w�g���j��D�P/\"�\u001a��X��K�\\P\n\u0013ӶB\u0011&Uվ2\u001c46!�zU�Y�L�}J[9R�f�)�½�-E:d�\u00129���4zn��&k(l-t#\u0005ޯwy�,�kk\"���?+x�/�PۭC7\u0005s֛�\u0019�6j��<�\u0013�r�o|��k������{��%3}J�&�\u001c���|6q\\N^��m��w+ʛ(\u0019��7�\f��\b���\fcg �*>�̾^���[m/I�2�`�3�\u001a/�QJ��\u0014�\\���e�q�x+��\u0014��qu�\u0000>���\u0000IN�j3�{K\u0004�\u0012\u000b?0j$��p�\u0002��\u0019��[\u0010rƇ�X`O���e�����R��\u001b�?�_��}5���W�����,�\u001f���9��\u0005���zs\u001dF;�\u00018����O��/�xR�|��K(��y��\u001a\u0019�ҕU$��\bڠ\u0005$\u0011�����%��\u0003�������\t፛����cXy�\rN+i����yKh�\u00029�FF�\u0018\u0003P\u0001 {횃�P4C���C(�\u001c�f����p\f^�\u0012F�x�*�?�� �c��aM�\r\u000e\u0002,S�\u0019\u000eog�<�\u0019�\u0001Ͱ��_�\u0014��\u0019CVRĩ�dm��v��Q�\u0015�̎S�˕\u001f�\u001d���v6�1�$G\u0016�x=�Ѝ7�\u000b��S��\u0005\u0015��kf�����+�$�[%�r\u0011m\bE\u0015i.dw@\u0001��9�\u001cڙ�I���=4���\u0003�@�M��x7��1༞i�\t#�Y=\t �I\f\u0003uUX^!%��2Hv��\u0019��\u000f\fo��$\u0001]\u001eI�\u000f̦�!&�4��6����Z��yq�q�c���C\u0019�SьF�\u001b��&&`�̴ˇ��r�\u0003�_�s?�bmb)�h/'�)d��\u000b�?{#��$�Y�:����\u0018=�s��kE!�J`����̎\u0013��+�W���o]ύ��\u001a�Q�������\u0003�N�*��\u0011��\u0011�\ns;S�{���R�(�\u0011\u0004�����L�\u001c���\r\u0007�\u001f�w�5+a\u0005��}J{\u00194O1Cp���KM+^�8�L���m����\tV� \n���g��\u001a�K���ߴ��{cQ�:9��\u0003�q#��y?���ɳ{?�\"u˹m�.|��\u00008��\u001b�J��G���P���)n!i@��(���}�w\u0007=��\u0006\u0013�}��0��۹�En\u0004�\u0013_0���\u0000\u0004�d\u001e��^�W�'\u0010$\u001d��9F��w��\"�\u0000+�']GK�9�7��ܢN���d\u001cYT��Q�R\u0007�s_�\u0016\u0011���V&kn��\u00031��\u001co��~^o��˯7Y��NM/PE?�b�P���\u0014ԑ\u0018p��H�x�����g�����\u001d�%�\u0013�����\r\u0006�\u001a�xs�EH}�.a�\u001e~ү����\r���rY����$�\t#�+�\"�M\u0004\u0013P+zl@�x�ӳu8�Zs<��\\U��X�q5X�a�#\tp���\u0017�9�z���\u000f�\u000f��\u0015�<�\u0000��d��_\\�iy\r��!\r��x�S�A�\u000b9���g��P\u0013�w:\u001d.\u0013<\u00190�\u0010\u0005�ؑ�w[���9�3�ώ�5.\u001fP\u0007m�^\u0013]C���r7_�֮��G��\\h��q�\u0017vi\u001a}gJh��xjK�U\u0015䁑�\f�+\t\u0019\u0000<\\3���jg\t�ȅ��\u001d�˿���<�f��咽���}J�Ym#��$���V�r慤\u0010/*P\u0000(3��Fq�\f#\u001e w����r��J\\'�����:f���kyR���_�C��H\u001e�M�uK)l\u001e�Z7�f�I\u001e�'\u0000\u001e-@X��9��ɞ:|�\b\u001e(�l\r��vZ\u001cxr��\u0019q\u001cdѢA\u001eb�����\u0000ȯ�8i�_�v���`��i��\u00177�U�ט,�u�ˍ6\u0019#�#r����A$��2�+��1\u0004\u001eq7�F֜�Ũ�\f��6Er���h׹���Kq���I1�Q����G(x�h]\tW�dU\u0004uR\rw�k�\u00002�%V\"h�9@�8.�\u0001c��\u000fɭ~[mT��!&��\u0016�j��=>5%�\u0005�/^��OL��l\u001e&\b��$si�σ!\u0012������}\"��P�H�eҠ��y4a�\u0010�h�\u0000ӏQ��1CQ�X�^4y;IJX�&?�<�:���[O\u0013�\u001c\u0011� \u0018�W�׹�v\u001d���H6j�z�\u001e\u001f�l}��Q?_C޾�9m�4��ɪ%����\u001cP��zWۦBD\b�N��?y�!��K\u0012(�T��{�5Y���5p��ˬ���@}�t�n���\u001d��@+k\u000f��\u0006���\u001e�:��i\\Ō}\u0019?�]�9^HW>!�����5��>�O�l�[�\b\u001bk\b���\u000f���\u0011=8G�\u001fV�\u0002���3�����ֿ����==6߶���ðD�<��c��o�O��+��,�\u000b[�=8�^����\u0002ϕ���\u0013SQ����fHd��E﷏M�S�\n�\\2�^\u0014�r؛\u001eH<�-\u0018 ��T�����-��K.\u0014�>&��\u0011\u001e����S}�\u0000\u0013\\w��\u0007j*m\u001dz\u000f���� �G����\nc ֔�\u0000?〠sۚ�M���\u0000���\u001a���F�ɯE��ҕ\u0014���\u001b���A��pb�hw����\"\u000e�d\r��\u001f��Z��\u0000>�\u0013�,l��\u000f�R;vژ\u0019U\u001f$0U\f\u0005~T�\u00003��ǣ\u001d����\u00006�Q�6�������(�\u0014��������D���������Mq�i<���|01'�a�������Ǘ��!O���ȝ�{��Q0+�*{�w�\u001c\u001fs!�$\u0015��߿��\u0001i\f�EI���235\u0016Ѱ�3�jo_�\u0006cRA<�����\u001fn���?��0cu]\u001aN��f�\u001d��\u0015�R��tX��Oz�S��\u0007���\u0011��<��y�O�o��ҹ+��Q{�-#�\u000e�\u001b\u001f~�o�\u001c�.�k\u001b��k����&�JM�\u001f}|O�Za�\u001aG܅���0�������B1\u001e=*\r|GS_\u0001�\n�c�j�\\־=���>x\u000e�~l�\u001f�\u0006M��\u001bק�ddT�B=\t;{��J\u000e�\u0001لeė�7\u0015�\u000f�Z|ϾD��dN���w4\u001b��}��ʥ��O��\u000f�Zw�Ho]\u0012̼��}\u001f]���̓H�M�\bR�)��&�tT�Ff\u001f\u00146��9�ܓL�=��j=��&�S��Lg�\u0001�R�g�}����l\u001e��Ä\u0003�[��\u0007�)��u���}\u0012��`��{�\u0017FӐ<���4Y'�\u0011ӍԮ�2��ȩ�,A\u001e����\u001848��\u0000 8Mm�O�^���j�g�d�Cd�/z��\\맗�0�\u00005\"�ִ��=Z;+�-��\u001e�n��̾w�E�$v�6����\u0006����袍��31i�%Ō^S`\u00006\u0003���L�\u001e*�#�O#�G�\u000eL�\u001a����wX�|��/�VY/��)]9X�y\u0004�\ba����IA)�}�\f�O\u001e/\u0000K\u0016��\u001f>�\u0006�ffFO���{����\u001b��ϟSծ�;Xecq�@%�\u00027��\n��s��ҙ=4\u0005]o��D\u001d�+��ʞ{���r_)�k\u0015������Kok�2�|\u0012I�_�]\u001c�\u001b�ol�\u0018L�)ʯ�_���&U�wr/$�ǟR��۫xdv�Bd��^E�RG�b]�\t��AJ��8�+���x�\u001b\u0011J|�.nu�[RVk���<�%DfCBȼ�F��B3\"5�m\u001a`,��w���`���\u0000�<�a'(- \u0013\\��\u0000��P��>�Tn���B&Y�3�~?�rЇ�������-�y��v�wV���ѕ\u0006�J�;u̲v��\u0003�<ظ�\u000b���Ej�ǂ�g�b\rJ���cN���\u001d�n���y-��(�$6��2B���N�G�d;I4c�#D=\u0006XK�)\u001b���jVK��\u001a|<�MVd\u000b\n������\u0002�y�7W^����H��!��S�z�Z�\u000eß��x��SR��}r#i�C\u001c\u0011As\"Ms\u001cq�\t\u0011���\u001e\u0001ݗ���w�\u0014�\u001296��w�M\u0018��39n��\t�z�@\u0015jI�4�H��3�\u0007w��_\\����5\u001e�\f�CW�=\"N$o@[�l�\u000e\"xG�Z�\u001e�\u001f󜺵�\u001e@����<}mZ�\u0000N:���I��I\u001c�ՂY۩���i�\u00000����>B��Mx�\b�\u0010;�\u001f���\u001f6�\\J�yN�)��l\f�}�ع��O��(A\u001f�U9��\\x�/�\u0002��\u001a-�\":?|t듩�\u0000Ϥ����*��y��6wFJ�G$:��\n�Nk \u0002�3���\u001cZ�\u001e�\u0010�\u0011�'\u0011�����C�_{���\u0000����Yh�>h�\u001e\t�4�W\u000f\b�\u000b�\u000bGF�\u0006�$�\u0010WČ��%��r��Dze�^�\u0014\u000f�p�ϱ9�\\y��r�꼎��o�<��\u0013��\u001f��U�;\u0011P+@H\u0003��\b��\u001cd>���\fb\u0006�����ъ(�%��\u0001�#�%\u0003�� \u0010é$�q9��\u0001\u0016�\u001amA\u0014^�i�\u0007�%2We_R\u0012\u0019թ�)\u0006���\u0001N�0�\u001fV��\u001es!l�F�$��Rpf�����`2�P^6�����\u0004\u001f\f\u00061��\u001c�i5��MF\u0000���Pz�\u0012B�\u001fQʅ1�x�\u001dx�(w�\" \u001b����<��La��I����ԐYP�1�Q@v\u0006��\u0007.N\t�\f�e�Q�4����\u0001_�%nh !x�,I�Y\u0014\u000eKPI��ʳD�r���c\u001a�g�^P��[Eeo��\t\u0002B�\b\u000fխ�l\n�'G.\u0018�\f¡\u001b�)�MN\u001d��G7��jG�\u0019\u001b\u001c�wŕ럙2�Z\u0011ij�����ˍI�\u0016�\u000f\bˣJ���H\u0005�*�m�1��5�\u001f'3.��6\u0001'��W>l�n\t��u+\u000b\u000bF��X�n���ZXɔ޾�ޜ64�\r��~��e�j\u0019�?T�\u0003˧�x?��լ:t�z<�H]X�,�!�UTq��������`\u0000�Tu9���Δ�\tf��\u0003����\u0018�x\u000e�I�|;��\u000f�_͟0�kڥ��H�}V$3+u�\u0012\u0017��?\u0013���:q�\u0001�>\u0015�\u0016�Z��I�e��\u0000�\"@�\u001e��ݸ��\u0011�\t�g\u0016�(�\u0001H�B\u0003S��T�S\u0018�l���x=i1#���,�\u0000�\n�V]y��\u001a]+N�,�o$%�j���1�+�/?�^�\u001d&ݙYc�09��&�����\u001e\u0018cԜ�\u0005���x\u001c��n��\u0000nk%�S\bˆ�@�����~����\u00009�$6��^RЭQa��_��[�\u001a\u0005�#�k�OS�X�\n�b\u001d@�F�\u0000��N_d5�������0{�c\u0011�_\u0005�\u0000���}��i��C�q\n�\f̤~o\u0005�\u0006��wc�Җ�3\u0014w\b\u0015�\f�DnU��\u0018�\u0016�\u0006����0�\r\u0001@�\u001d�\u0000�n\u0017dj%�\"VlƸ��|�\u0017ܟ��\u0000�E�h�.�A��d����Ip��N�@3�i��#<��>�\u0011�rc\u001f�#�\u001e�a��g�RYe��剮��˝���������\u0006���KdD��Ǖ8�:�B\u0001\\�{*�Ԝ\u0007hˣ��\"3b\u0013������缽�5�Qӂ\u000b�йj�H�^$��%h)�m���\u0018������}�\u0003ڙ2�Q (D����\u000fȿ���\u0017Lկ-��\fV�j\u00064�K��s*�\u0000f�7�G2*у\u0016�\u001b�i�9ri���t=��uQ�i\u0013鳵�\u0000Hu'�-�;yJ{i��o�8K5\u0004�,�\\)T`\rZy\u0019h\u000bTTW��Jӈ�L\b��<�ʞ{6N\u001c��8O2l���}A��\u001d.��.�4]6�K��[i��Yl�+K�S�{��l���Ts�\u0019s��FXJX��2��6\b�7z\u001d&,\u0012\u0002Y!\tb\"�\u000b�;Q���ޞ_�v��]�s�s]�\u001d���,[C�_]<�j�\fQH'�I�\u0002�}~�V�K�����iBk�\u0016]H�\u0019G<`L\u000f\u0010ڏ>�T|��c� ��1\u001c���\u0012\u0002�ޙ�X�q�>\u000f�<���`jz>�����(-\u0010�^i�MV�\u0014�`�\u0000s��\u0016�-��s0�V,�^#�$�\u0007\u0013��,4P�#1(����Q���\u0011�\u001b���8q\f`�B\u0011���c�=@H�\u001c�� w�\\�\u001a\u0017�7�|����?1k����|ע�)t�t\u001f,���^l�,����t�j����Tg��u�Y\u0005\b釗C�\u0007g����K\u001c��ꌣ#�=j���Lu�s꥗Q\u0013\u000f\u0012$p��(J#���{\\e���\u001f�\u001a梲�X[\\����rO4�^�~d��x�Ң\u000fm��j3$Wv)-�\u001c\u001a�BҁBF�_��\u000e\u001dA\u0010\u001e\u0016.\u0002%\u001a��䁱�\r9zY��\u00002>&N!�+\"��\u0002w\u0000����R�N�g\u0017�n�}�;�*!d���\\�'KmD_Kh4���\u0011n�\"�\u0011�U;��,��R����W�K\u0015v;����~jY\b�En\r�7T{��}�qr�~Y�f���##D9��\u0017\u001c�9`�\u000e�\u0004�(T��l!���\n��\u00008w�ü���\u0000O�\u001e�q�Xj�\u0017�E��=.�=s��������Yn�D��~�o�[��\r��&;�dTxI�e\u001c8��Z|��Z\u0007\u0014on!χ�\\�V�9c��\u0002%�&�[Ѻ\u0012\u001eW���\u001e�a,d�\u0000v�\u001a�m���qJ&�E\u0015�h�ψ!�I�\u0012\u0003��݃�W/�̉�$y\u001e��?�\u000f��?��\u001dS�q���]�b���������O�mU\"+lt���s�ynW\u001f\u0002�^[��(R�����R����?dr{#�va�?�>�,�i�\u001bD�W�\u0001��)J�ߊP�\r��\u001f�����>�B9����\u001cY{�\u0000�d\u001eR�\u0002]�\u0004u\u000f*�ji�W��N�\u000e��h�\u0016�W7͵��\u0000\b7�&y)1�#~���\t�>O��\u0002�N�\u0000�8OO5����55���fDz��ϝ3�~��.Z�'�0']�d\u001c�t��d��|�\u00009\u001f?\u001b\u000b���w�z���s���\n��t\\QE~��5�<��h���\u0006k��cCC�V����\u0002{�#Q­I$\u0001�ܞ�I��\u0003�v(qs\u000f�?\"|��!������#\u0016\u001f\u0010�\b\u0003ڝ���\r\u0017����?{>~\u0004�ڇ7�>�b�V��\u0014<@\u001bmJP��\u001a\u0016y��J�\t�\u001a�݇�ץ2���k�G�\u0017\u0012�\u001f�N(5�Y�E�M���}\u0014�\u0001˽\u000b�\u001d\u0007�|)�\u0006\u001aE��&��ҟ/�\u001fr�PQSS���*�H!��j\u0000��3C��`�e>U��|����İ��>�^(��M��0�\u0019#\b\u0019�`\u0003F|�\"��\u0017�v�.��\\�JI�d\" ߳\u0012��\u001f��j��V�Y�\"v�5�<\u0011\u0011E�GG]�?���cǝ2 ������> �\u0003�ƙ��m��UvS�UTi�6\u0015S���ٳ�T���k�\u0003�k�~q~��f\u001dI�m�>��u�����\n�\u001e��;zU\f��>r���TS�\u0004P�;��қ�d5\u001f:x\u001c#�t{�e~X�H�()EO\u000e�/�t݋?�S�>���Hw\u0017�Zv�����\u0006��\u000fo�6�9>i�R�[2���\u0000\u001f�<�\u0000�����\u0000��*S�\u0019ߵ?����yg�\r\r{����\u0006W�\u001e�\u0016�\u0007�7�=\u0001�~^\u0019\u000f�����eq~ϾdGq��Gs#�:���\u000fz��r\u0004��n߫�1���\u0010�����v�2'r����q=\u000f\u001f\u0013�\u00147^��A�ۯߑ��\u001b�\u0000\u0004S��#��!�\u001f���k\u001a \u0001�?����\u000fC�z �q4�\u000fᇇ���\u0010d\u0018�@}�϶W�G#�W�Y>���\u0004b˘��\u0006S�lh\u000f^������ڸ;uߦ���\u0014�Q~�]�f��0.��4��\"�@�\u0007\\Z�Yķj�?\u001f�]�{���-6��\u0003N�\u0000��`��<�D,��\u0003�~�ؚꞋ�^4\u0007j}�\u0019\u0004��˞�؁C��c\u0010�bP\u001b�\u0000S�t\u0007��2\u0012�|Yq\u0001�L����v�s\u001eV\rRC�����d��\u0007��\u0000�����P\u0015��@�����6�,�\u0016y*\u0011��z��k�q��+��Sj|_/\u0000z�|�D��#�=zv�n���(��7�)ӿJ�Ҟ���T\b��a�zS$��f'�44����6�\u0007�H7���nƇ�\u001e\u001bb9��2.���u?�:SƸ$\t݌e^�\u0014�k_\u0001��>�8HL�Ű��\u0011;\u001f���Q�D��U�B�+AC�c^�~=r������|��\u0014������ʕ�H�6�#�S�V�C�̇�\u000fI�Dy��':�:��i�Y\u0019n����.\u001c���m\u0013��q�4��\n\r\u000b2t�|���t�\fH�ܶ��\u0017W\f��\u0018�\u0007�����?/�;��~Vk~k�ʾ�_>y���E���\u001f�����2j`�r�W\u0010\u0011/��;�I�;h\u0001y�h�0\u0002�eC\u000ea�a� NG�}ѭ�<�\u001b����< |A��#��D���̽3�q'ʞc��ת���?R���\u0016\r\u0001%��k[��yOH�}��\u001a�3;��x[��x��r (Pm�c�Hpb��8�JC�����\u0000x�<��\u0001��\u0001�~�]�'��~��_0-�N��ܐ�R6\u001cJ1�\n�\bB\u000f#�\"�%��%��\u001b���g�,��qcJ�K�S[�\u0004�_ƪ��\u0003nX1F���\n��Sl��80�b���. \u0004��w��\u0016\u0010��\u001dn%��5q\ffIm�\u0014\u0002�S\"�\u000f��\t�Sjf�\u00106O��97H��'ow��m\u0017�+�^L1�ce}�jp2�=�'�\u0015�Ĉҿ��\u0014U�\u0002�'��NP��B�0�hB>���\u000b��\u000f4�~z�=�~�h/ݣ�G�d�}3D�q�C\u0005�\u0007���b\u001c\"��\u001c�S��\u000f7���U�޿c\u0014�\u0011H5}6�R��\u0002Lj^�u�隞ڇ\u0016]?t�!�?���c\u001c�\u0007�\t@�+��~*����$?󏞻F\u0019����\u000bU���\u0013\u0005���\u000b�h\n��jv\u0015�\u001e�\u0000�F�$c�H\u001bé1�d��{��A�#W]�,0>���Ș�?\u001a<��=0܇�\u0015��\u0015bj7�l\u0002U(���W�����\u0000���\u0000�6Z���\u0000���\u0005��\u0000�_��\u0015���R\u000b��/��O7��Z\\\u0015&�mM�\u001c��\u0007\n\u0007Jg]�Ԟ�����k)��^|�G�-�Ϟj u��X!\u001b��\b�z�2�\u0016|�ϥ�$4,?0��/>��e��ʺ֍�[\ty\u0007���e���\u000e%��Mi�\u0010�NJs߿�oؙ{+�\u0006]�2\n˞\u00193�r?��L/��\u0013�/�>�v�.��\u0000�\u0017if�\u001e\u0006,��\u0003�~�\u0011����%��\u001b���{TU����Ttc\u001c�r����\u0018&N���\u0007��s��ٜ�\u0004�nom���Yi�\rG�~}�\nҘ\u0012[y)���\b%��O-�\u0005�f�/g��\u001e�\u0004�\u001d\u001f�~)�����kL�|1 ���߱���i��~M�ْG����Ha��c�n�?x�P{�ϝ��:\u001d\u000fH�}�E���H2���>o�?���\u0014�^\\r\u000b\u001f\u0007�U����|%���힉��n���ſι�/a��@~\u001c�\"(�x5\u000b-G�b+L���$\u001eZ~���?\u0005�/�'�\u0001*#v4�b)�>�$l3����\t\u001d�F�\u0015��ʟ{�A�\u0010ˮ[�K\u0014��u\u001a]H�񲕋�!\u0005$�\u001c\u0012E\u0001�l�=���3�\u001a$~>nװ�\u0019p�����>��o��t�e�{UKB�˚��7ծ$��$�M\u0011o�{��X\u0011J���9Ǐ���n��\u0003�޷$�\t11\u0015F\u0004w��\u001d\u000fO���I#���\u0000���;{�h�~\u001a��[��[�K��ב��o�^ԉ\u0013\u0018\b�\t!��\u0019@�\u001bB@|?\u0007�\u000bյH�\r;���G\r�\u0017��f�/V�\u0013%��\u0015�\u000bo9S\u0019��+�n\u0016^@�\u0004w̬8\fr�\u001b�>�o�u�s٣.c��n���.�^����3�^B����\u001f����=^+��.�eҬ\"�����ݕ�U�o,jn���X�;���J�q��>�Y.����jc�a\u0004\u0018H�>\u0013ӌs\u0003�@�3K��h�����8��\u00138ƥ��\u000eg\u001c�\u0006��\u0018\u0010������\u001dsU�\u000e�\u0005Ρ��E�u��O��~c�����O�WL�Q�}\nK/E��I\u0016�* b��#�:]V�0�#\u0018FdDKiDݑI���݊z�\u001a�<�K$�\u0013#\u0012H����}q���\u0018��UycW\u0011ipɠ�V����ks��Wp_��\u001e�(kk}>�\t\u001e�WIK���\"�*\u0015�s��W���1�M\u001d�;u �ˑ�ݾ�q�\u0004�J2�V\b\"@�*#n|�\u0000A\\4�����e�/\r���h��+\\��M/̴P/�]�°�\u0011��\u0011�81�\"�5��Φ\u0011���żf7⇘�q�^b��0�|f���P;T���R\u001fP;r �z/����2+i��H��~�\u0006D�y2(`O%\u0000�\u0012Nk;bQ�NX�˻��H\u000f\u0000��\u001d�O;�\u0000���\u0000�yӿ�%%��$�A\u001f�4r�g��դ\n$ӼקC#�f�S�Xk��J�e�\u001f�\u0014��i�\u000bO���-\u001eZ�k\u0012�3�\u0019c|\u0012��0��%-�\n�{'�3�n�:�7!DJ?΁����\u001f�\u0001��`E��\u0015ZM��e�Λ���\b��Xj63�k{e:0\f�[���j7�z\u001c��$2�ӜY�a�\u0012�e\u0013�2��\u0003�\"��U�\u001eL�.#Ŋ[���ȱk���\u0000H<�޽;�j�%��{(�\u000f��\u0000�\u001c��\u0000��(j?t���ݖ€��Р���D��\u001di����\u001e9���5Ζ\\�\u001d�\u0000�H�E�߇cۯ�\u0014�]Q\u0007\u001c��-G�=�\t���[�ٮ�\u0006V\u001cR��bI\u0015oտ˶C�eDt���\\ynMZ�R�����&����g�n�����\u001e��?���1$�~�~[y^=:�\nF\u0016����\u0000:�=7O�F\"\u0003�\fMF;s�{I!@P6\u0002�n�fw��B��\"\u000fc����\b\u0006�ysG��+�~��2`U���V=���\u0014����+��;m�\u000e\u001e��۪\t����\u0000�|�\u0002�נ�x����`��H��<Ϫ�����\u000e(I�:d2\u001aI�\u0004�;?9<�.�v�m�����1\r�5=\u0007q���S���#��������!��A�~\u000bĭU�\u0007\u0012\u0000���nzt�g-��_{*���O\u0010I \u000e��w98����OF}��ڻ��\u0014�l˅�\u000fF#i\u0011h�rE]9�v\n�o�O�\\��w�/���Z5&��?9=\u001cJ%\u0015�L�\u001e\u0014-��A���4y\u0002\u001f,��C�%w~��h�\n�^�\u0001���,�}A�r��:`8�>���JCli�-v�m�|)�\u0007a����O\u0003�\\>��}]�s\u0015�|+JoQ�7�7��Uz�0��B�l>���\u0001�����֓��fvd\u00107��|�淠ӑ�Zѭ�[�.\"�����c�3��.x?�����\u001fb�I\u001f�+�\u0001��C�|��\u0000\u00041�\u0019/�?a�\u0010G�|k���}d:\u000f��C<���l���\u0000?�\bU\u0019�\u0000�o���<�.T�3�Pzu?���b)��G�,��QQ�\u001d�\u0004\u001f��{�f�\u001a��\u001e\u001f��!��a\u0012Z��;W��Z\u0015\u0001p+S�)�\u001a(=�$\u0005\u0018\u0002w=?�/�\u0018�\u000b�q�t�O��ӍY�M�� �|DoZ�\u0000��L\u001dXy�Bk���S\",m�I\u0015H����#��\u001e'$M�ީ!\u00167\u0003j�R?�m�<�sf9 e�4�n��\u001di�\u0002���T�4#��v\u001e�\u00004_w$���`���@��O�q�P\u0001\u0014��wߧLY\u0002\u001bb\t��mZw�v��\tq�\u0001�=\u0007��ݏ�ls\bVߗ\")��\u0000WLy{�d)&�\u0002��W�o��ĵ\u001fz\u0016(�*\u00107����\u000eEy�F\b�)\u001d���;v�\u0006�\u0016]\u0010�\u0012��J���>�q�#o�Y*�\u001bu\u0015���;dRP\u000e�T�i��6��|�^��\u0012�\u0017Oa�*w�#9Tv��n��M6?����e\u0012\u0016l$?����\u0018��zu���pߓH�o�\u0010\u0005\u0006��\"��ZW����G���;��H\u001e�>�\u001e�\u000f���H;\u0006�]�O\u001e��\u0011^�q\"�\r�ҧ�^�`&�%I�;���G��&�T[����ݽ��m�)�\u000e���zR��|�\u0011\\���!e\u001f�\u001f�[dA5�D�\u000f>T�q���+�\u001e=2wc~�\u001a<'�\t�ݷ\u0007������YJ<;��\bڻ\u000f�A\\��qܔ$��tڿO��FTl��T�KB+N��a�m�X�oJ�g�u[]*ު�/��\u0005)oj�\u0015��\u0013�\u0014@�^��f�wg��Ml48�q�Q�lz��R�k5X�zijr\u001d�6�=\u0011��0~�����\u0015!���lb���/\u001a�T�\u0006y\t%��N}\u001bظ��CO��(\u000e\u0011�\u001f��\u001eҜ���`x�7����\u00000��[A���N�{6�4���;���\u001fY�ßCM������2��+\u0013]���\u001e=NI���&< yu������e=\u0010\u0010f.��.S�\u001f�\u0006/D#��y��$�nF\u0010p�\u001e&���.�\u0000�]�\u0001�~i~w�T�'�\u0015�X�;}~�����ђ\u001b�5oޤ��K{�R���Έ\b\u001b�N�5\u001f\u000fn0k�m�}�Y.S�G\t ���U�QZ[�G��^������\u000b;U������\u001b9䵁��K.\f$$�@���<�Ī\u001b�~��YĈ��z\u0003���'��k\\�L�j�\u0001�\u000b[�\u00001�����S���J���m0ns\\�>\u000e����Br�n�����|��8�~<�\u0014k�(\u0016h&��is'�Js�´�Y\u0017�#�y�B\u0017\n�~��`H�\u0006�\u0000c��m�~ߏ�+��5�N)H�0�\u001a�*��\b�I@�4P(yD�6��EH�\u0004\u0001��J���G�iZ�/2M\"�S�:�d��\u0002�#����*\n�0�ƽ#� \b<�y�ƍ\u001c�+H^��8���c�RY(y�\u001d��\u0002�\u0003�c\u0012m�5H�k~1¬M@t'�V\u0005�6b\u0000\u0004�|��[��D\u0010�-�Af�!\u001f\u0002�V�U��V\rRMzey\u00012\u0007zL^k�\u0018 ��Fĕz�@�&CRhyP\u001c�Ō��FȐ_-y�WY�b�Ҩ\u0010��'-���$\u000e�2s�\u0018��ǹ%���Do��7�~e\u0000��`t�5�Bo/�\u0012H��\b�O�Y���8#\u0012=s��ի9�ƫ��_\r��?��>�.���}[N�����L�\u000eG��;1��p8�\u001b\b�\u001f\u0000ф�2��\b_���ڝ���<��4K��v4몱P����Ngn�\u0011��M�\u001d��w��\u001f��bܘ�~��\u0007����-s��\u0000�r+�y#��S��4�@A�\u0012ծ<�\"����E�w o��׍��e�1��Ԇ�hk����o�X�\u001d�\u0019}�_,�\u0000�|~@y�Z���މ\u001a�!�g��-�-J�4v��Z\u0005��uW�\u001e9R�Ǫ7.��\u000b��&���Zl\u0003�PN9�X��8ʯ����\u001e��}f-\u001fki��\ra\u0004�F�lAۭ\u001e]��\u001a\u001f,���~b��4��\u0003�z%���\r:�\u000227\u0011�K\u0013�����\bx�BQЂ\u000e|��8�i��\u001eX��&�;\u0010G0G�ȂA\u0004�9ٲœ\u001cr␖9\u000b\u0004n\r��O,7��\u0003B��\\\u0006�\f���\u000e��n;f�r�3V��~\u0011\\/_ө\u0019\r#\u000eL��\u0002���#ܒE@��I\u0018\u001d˴�Ey3\u000b+v����$t+�\u0012�y:�]�er\u0006���Ҙ�����ʈ�˴�B�\u001ah�U�\u0001G%Y�*r\u000e6\f({P�\u0016L���\u000e\u000e��faU\u000eޔ*�Ʉr\u0011�Gj�5'�nݳ\u001cO}܉b�E�Z�v��7=��\u0007�Ei\u001c.��u]���\tL\u001d�fx��.$���B;)�\u0002��H%�)v�\u0015A�TN��B8A�\u0011r2�\u001c\u001b����X�f��A�T�\u000fS���a�Ͷ\fQ\u001d��ڝA7��]f�޵\"�n#h�\u0007�uZ�.w;�|B P��sH���^bWpX}�\u000fͪ(\b��;��߾lq�\u0001A�j\"N�\u0001�\u00142I ��C%���gm\u0004a��sq\"�\u0012F�Ȱ,�\f��x�|�Ō^I\u0010\u0000�'j�����8�R�\u000e~�����\u00008��m\u000e��O�-\u001d�u�M�C��o^k�\u000bq:PR�'����>����4~�h��R�F\u0010\u001edƍ�_��ڇS�:��\u00198�s�y�_ݷ��燒�\u001a���\u00008��g�)%�����ۨ�*}2�.�4//�Py3L��\u0000���=\u0015�:\u0016����b�𕹑\u001bp\\\u000e'�}��\u000fi{;�5]����x��(�ќ�� a���\u0004G�]c�s��\u0000Dz~��\u0016�U����ᘟT\u0006\u001cc���!\tN����E�+�Mb�y���\u00177\u0012H�dֵ�n奔�s4�Ϋu�3���\u001c�7֪��9�N<0\u001d��C�#�8a\u0001�\u000e\u0018\b�:\r����/Tuf�&IL���H�g���~~]]#^G'\u0010a��l�\u001c�2ן�(��p\b ��O���$����9�\u0019!\u001c��5�^\\��wCw��6\u001a���k�nby\u0010�R(�\u000eLw\u001d)N�1���<��irr\u0014G�v}��.)G>3R����7�}��\u00008u��$�C�]�\u0019��D��G�\u001a�\u0002H�H\u0014&��<��\b\u001d�0�9�\u0000.�\u0000\u001f\u0011��=��a�?����X���tz?�埖E�.�\u0014a�X�D�W�\u001a��i���|潗�Y<+�r���o\u0007\u001du��:?��嵎��i:��Eq\u0005��\t�\u0005�h��\u001a6�\u0000\t;��ǣ��a�H\u001d��s癧ÒP��\u0017�:֥\u001d�鸵�\u0002\u001e>�\u0017v�\u0002\u0005\u0014\u0000x��i��\u0011�\u0019ܪ�3N\u0019 8y��'�OT����5]=\u0004��h�\u0000Yx}B\u001ako[�ʊ\u0001�8�W1���r�\u0015����y�YeT8l��\u0003��2���R���#x�\\�\u0013�\u0013/�!vrm�);]�R9)R�x�<�\u0006�C)�y��s�=\u0006}N9�\u0018�T��U��y?@��}\r�宑\u000bH�jS�\u001a�J!�]��Ֆ;�^\u0001d�08>�\u0000\u00105�\u001f���hH�\u0000�\u0004�ϓ�i��\u0007\tK� t�C�\rO�v��\u0005�X��~��}�\u0012�J�Z�q*���JhZ)�_JX�ju�3����1��v=��?��g��1��\f�5G}� \u0011�{\u0010~\u001b���\u0000�k�ǗKK��x|�t�\\\\$���my$?��3���\u0005Z�k9?hq~b\"<$�@�x���y\b\\ć��o��q���}喝�y��>jӯmY4���..��)'�&�ײc2RC\u000f'\u0004T�#9��$4Y�b}`lyw\u0017pDe�ş\u0019\u001e�w\u001c��ߛ�W�\u0017�>F��������̾i�5�s�ڕ����}��{��&���4H�Ӽ—r2;��nC�\\�︖�S����\u001d=�1c�c(��q�ޏX� oʝX�i���f���$�`A���^�8�\u0002D�\f�D��^�w�����_�\u0016R�~i�\u000b�>���O��%��\u0018.>�r����Z��r�,\u0015�@A�^\u001d)�:�$OK`�65[_q���Y��M�pj8H �ѯ�F��7��?QҴ=\u0012ە�mgk\u0007�\u0016A/��coMm��w��h\u0001%��4��yu9�G�M�o������+�ʿ\u001b�=3�W�3�c��\u000bZ�\u0004H�\b�#/U\f~��͢�1�ȃ>���\u00198��\b�N��\u0017����R�ȿ�Zo�痬���ߛ����'\bl���B���\u0005�\u0006�����e��s�E�eGI��C\u0018��<9+��zg�\u0007\t�r�'���n���\u0000\u0007��L�忪?\u0002x��\t\u001d\u001f��m�֨�����۶yfPDͻ�}�O��\u0000�\u001c��\u0000��>�>��:�\u0000nfvnڡ�Vr����3ο��(>\u001b����M�3\\�y>6�\u0000����}��C{w��f\u0016��3|��\u001c<�ӷ7�\u0002�\u0002du�}�ns[v,8�=%�R�\u0019.'�\u0014\u0016geP\u0007rv\u0003��\u001d��;�G#\u001c@\u001b�}��\u000f�\u001f�[[O4_����J�I�\u000fSL�{\u000bE�|\u0002r\u001e�nS:&�'��e��Z��\u0001�\u000fjo�9��F������Qlji���,ٯs�\u0013\u0012�����Y`�V�̫�Z(�߮�\u0003�0�����TA]��7���a�E\rJ�@�>�O�\u001f%�\u0010�T����Q��dXby\u0018�\u0001�������t\f����G淛#���-(\u0014F=hv\u001d~����\u0018�)K�\u0016��f\u0000�\u0006G��\u000b��կ�/�<�i\tZ����\u001fH�\u0007S�Z��,���\u001d\u0018Dp�\u0014u��M���<<:�>\u001dsb$d|�\u001f�ev��~ )�@:{��$\u0000eW��}����P\u000e�|�S��]\u0013J��\u0016U�ڵ�\u001fb{S��|��vٯ�8�����\u00004�:?9>)�kPғM�F��\u0005z����ƌk��\u001d�k\u001c��^Q�AV]��m�﹨�N�_\u0001�x�\u0011\u0012�i����dAoAA�~���뛾�\u001e���7�_B�{O�(���\u0014��\u001d�L�g��KG�#͗X�q\u0015�֝=��s_���l|�u�l;�_��5�GW}�\"�\u0015Ma�i\u0017Z}b/��Q�zg��]�I91��\u000f��7��\u0000B���S�$?\u001c�_�\b�j��g�?a�����\u000f����!��v\u000f�����퇟>KJ\u0013�\u0000v���\u0000��щ\u0016\u001eE�·Ǒ��l\u0010���P���*Z0\u001d�+�����\u001c�ލh��\u001d�}��݂\"�m\b�^�������G���;\u001f����T�Ih�z{��>���\u0003\r�FIyPWn݇��<��\b'\u0015ޝ~��N'ޅ��_���0Ww$�r�B���t4�xE�\u0012��\u0004t�j~���y�՟E�\u00145�p7�����\u001br�@I �E{�Ѷ2�U��\u0011�#���\u0007\u0006�>ha)\u0003j����dO?r�N�-ɮ�����\u0001T��^u*i��G�Gk�T�\u001c�oN�\u0014�\r��\u0003u�5\b���m����\u0012\u0005���`\u0010v��w�̤�-S���ħ`w�\u0000?�L��T\u001aI�e\u0014\u000e�\u0003���^\u0011\u001eW�\u0004�\u0015;�~��O�4A۽#����#J����F2%@i�}6��\u0000f�_�T[���>\u0007��mᒏw�\b�&�O�ҟ�S����)C��؁ֹ!\u00106\u001c�Y�;uB��ڛ�\u0000Q�\u0002��fM�@�S�S�W��)�\u001c�M�_4#�??���d\b�#�-\n���n��2\u0007nm��D f\"��n�������y%����A\"��2<����\u001eF�\u0013M��Z�B.��Ž�e�E���\u0000\u001b(�\r�ï�z����p��Y\u0007�s\u000fO�\u0007/������D��E\u0002x nU�żֈ|�/\u001cr�U�\b޼WyX\u001d�\u000f�\u001a�c^�=\u001bOc\u0001�񼁾+;���\u0000����^:�H$��4t�\u001d�\u0017�%�$\u0011\u0012C\u0013Q�zu�=\u0016O\f�������DL\u0010=�����=\u0015%��ol��E���λc(i#FE�\u0015�\u000f���Q*\u0018l�\u0011 �A�̢\u001a�p\tV\\A\u001d<���.�\u0012:)���<���\u001f��\u0003�\u0014?14��v��~F��5?(y��\u000b˞u�u����Q���W���\u001bM*��|-ia�G\u0004\u0013�\u0014��F'4�&92}9pG'\u0010?겨�U���\u001d�\u0006|8�+�)��]��$��\u001e����y�J��\u0000YѴ���m`���S�<�}n�pڵ��\u0017_�M�hѴ�\"\u001e��R\u000fN�\u0015@\u00041�p�Q�#i��mD\u001f9s?&s\u0006q\u0011�ÿ���ww|^c�y��ʚ]΁��ug�\b<��yV(��S�?�u\u000b��7\u0010h�4E.o����q�\r�,���fd1��\u0006\u001c�\u001d¼����Jq�\"D�^�I>C���\b/�\u000f-k�:6��y��M\u001fX���?����]��\u0019l�/�҅ߙ�ktG�u[�YK\u001b;?F�$��7ff8�,Fo\u000b\r\u0011\u001c|\\^r&��U�����\u0012\u0006��\u0019\u001fM�\u001b\u0012O�o�P\u0015��d򵮇��\r\u0002��\u0016�M���՚%\u0000�jڔ�_M�\u0000���t�\u0012K\u0000�i�g���h\u000f���-S�\f8+pl��\u0000c\u0019��]=4�h�\u00133F�\u001f�q���a�\n7��\f`�б�\n\u0012�!�\u001e��璎\u001aJH�˿\u000e@x\u000e���4-6\u0007>v�(b?_��;\u0014S\f�hC��\u0000\u0015��)�˪�ƞ!�\u0016�\u0013\u0019�B�EO\u001aчB+���D)L��\u0018Y�ND�eܞ���M�o�����.o\u001c���\u0016�gs<�08HC^���&��͎�\u001d\u000e\"}!\u001b��7���˩�77�R��J��\u0005x�\u001e��\u0019��'\u001c�\u001c�\u0014�0���}�\n\u000f(~N�zŨ��Yͯ]-Hs$���'M�x�w�{�&!��c<�\u0011��]n�u\u0019O���>)�~��^p��\u001dy;NһP�##;�\u000f_�?,��+�2Y�LDksA����\u0017�$Kvxn�\u0016XJ)G�m�I����� >X�\u0013:\u001c�\u001f�\u0000�x6�\t\u0003�埗\rк�����N�,'�����\tm����g�nlom�T�����Y\u001d\u0018\u0006V\u0007�|ݖDH��Ǜ�X�x��#��t˂�\u000b��9�\u000e\u0001h�\t�\u0010Ɣ\u0012\u000f�*9\u00004]�z����z��,y\u0001�\"Ĥ:�(t�3\u001e�緡��KO���p<�G��y\u000f����3�b��r\u0007�gKx��~q��W��*d�K�Y�����\u0007�I��hvϲ�OM�v&YLz`,{�/���O���\u0018��z�\u0007m��_c���W嗚�1��󒍩�{U�w�?�\u0006?�\n<��\u0019�\".�0�y��VǗ���o�Ʒ��Xn��^���\u0014rF�U�\n�j����\r\u000fb��@0�mo�C)�j�v4��=���!\u0010n�ȟ3���e�Omu��\f]���\u0000�\u001b�!�7\u0019H\u0010\u00019g�$�����\u0016\b x\u000e�M:.�w��U󕛬�Ѹ\f�\u0013�G���|+ĒEW�a�'�=��Y���P�cwO�֫.�W\u0019���r������}yk���a�Gl�s1�y�Q�]d�\u001aH�ʱ#��x\b�.��1�8G\u0016�\u0000=�i9!�]�e�~(��2��sh�o��\"�6\u0017\u0013\u0000�8�ň`%�JA\u0014���VJ�7\u0006/�j/�;V����S�\u0017)\u001cJ�\u0012\t��(fv,�R�vb�OS\\�0o�y�^A���\u001f�޼t��ާ\u001b��\u000f��%SV����Ȫ*\u0006��\u0015#'�&/\u0013F#[�?\u0015��\b�e;���>��Ay���,6�C\u0005�J��ĒYN��k��.p�\u001d9|Hzm�ve(@�]����|!\u0019���\u000e�����_�Ҵ�I/.R��O���邘��;�]\t*[�(@%$S��1�\u0000�yL\u0000d%dw��:=6\u001c��!\u001b؀\u0001�=6�;���ռ���k��V\u0012K�k�\fSY\u0017a\u001bO\"�\u0018$�2��y2\u0010@#�\\�1�\u0016����\\�\u000b������\u001e��*H�ȱ���{�M�l���k�?!�^�N����L��^�\u0003YLQ�/�'[F��eX�)n&�\r�g;�v��7hg��\u0003\u0018�A��ߴ�����i�\b\u001e)��`W�v#�\u00008�����&��/y��M�i\u001eQ��Vܑ��;\u001b�7VqD�L�����\u0002�\\V�4��Iٺ\u000e\u0018f�׌g�{�lo�v\u0006�\\NLY��>!�Gq_p�O�b�'�?�#t��\u000b��z\u0006��j\u001e^��?/<�\u000e��Z��5�g\"jzc��\u000e���:%�A�\t\u0004�\f:m�xZ�ǔr�̡�L���L�{\u001e�\u000f�z1�\u000fic�5\u001c2�(\\%Vc\"=@�`�o���/1�gy�Iм����\u0007�|ϧYG�\ro��_^��?�;F��\u0015va\u001e��[\u001a�\u0002�@I'6\u001a\u001e���˓8\u001e\u0016��#�Y�B>@��gjf��LJ��Ո��d�=12�FA�?�o���\u001eD�t�vi�/渻�.a���\u001e\u001b�ROY̲��0�7�()��m�c���.�\b�\u0000DV�#�/7��\u001f�4pÜ�e�\"\t�T����FAB�\u0000�\u001aq�\u0017�\u0005GM���Nn�?{�\u000f��_���X�~~���\\j�Bk\u000f�\r\u001dP\u00137-\njj��V�.�<���\u0006r��hη�3�2���\u000f�c���\"c��ir�9����&/�����\u0004���E۫���\u0015`\u0019\b;\u0015aU#�\b?v|�L�}/o\u0000C�?��I?�oN�R*֛\u001a�\u0000S����@�L�w�u|���~�V_��c�;�1�\u001e�^���\u0000�%����#��;��<7�-X�2\u001en&cTz>\t��\u0007}�__�ٯq�\u001e)o������rk�Ż�d�\u000b��j�\u0000\u0001�N��~gT8��5��\u0000�o��_��ˑ��PV5P#Q�hv\u0003o�='\u0006:\u0002#�j���S՜�P}���噎9�jq�Z�ֽOoj��\u0005���tF��k�_�\u0015�@��ǫ�W|Gب�<\u0010v'�|�\u001d�?z\u0010Lji^�\u000e��檋���>g\u0001ߚG�\u0011�^��V�V@8)�'ۯѐ� \u0005\u0005��$��c��s�rjz��\"��f�7\u0012v�N�hz1�[�uV\u0006�\u0007�w>���s�=:<��*��ǧ�a��ٺ�s��,��\u001b\u000f\u0013M�?VY\u0010\u000e�`v5ՑE\u0010\u0000\u000e�~�m�҇�2\u0014�\u0004\r��\u0018�AJ��4�#o�L\u0000Xߛ3W�����5`?v���D�6���q�n.����*/�O��t�\u0001���u\"����3��b\"j>��{|�,��%�z*\u0002��W�JliM�����#\u001d\u000e�����/7�^@\u0014�\u0003�a޵��|��\t�\u0000��D������Q\u001a�J��C�vΞ|�\"�\u001e1��UbF��{נ�����~~����m�,�ͺR����f�(���<��*���\u0000D��3���B�:��\u0018���p\u0017e\u001a�!�`�#�D����T��\u001dF|��\u0000\u0004A�\u0015!�/����1�ω��>��â��\u000f���<������\u001d��׾>�버摟�w?v�#\u001a\u0001\u0007`�?5�\u0014�>�����\u0001��y1\u001d=� ކ�����A�\u000fJӤ�\r�\u0002;��<�\u000b�͍~�l�,⠟n��J�ec�\u0002����~��]5�%\u0011�Θy(���C_��u\u0019\u0013�ȭ�DD\u0007��;}\u0018(�|��n�i*����$\u0005�T��l�p;��S����\u0010k�m\nn��k���m�\u0004�\u0014�|Pr�\u0013�}����\fN�͊\r�5O_���Р�\u00154���>8j���C�A޵�\u0000?\f\u0017��\u001b����`T�\u0014%hEH�o�ߦ\u0014�|׼{q=�~T�1��E�QJm�ڞ\u001e���$�5�J���ژ���nK\u0002ې;w��\"��\"ǑJY�'~�F�\u0012Ys�h`��Bw����\u001c�&��B=��|�\u0013\u0004\u0002Aٗ\u0011���Z���\u0000�l������\u0019�\u001f��\f�;oѢ�tR\u001fz\u001f���8I�|�@��UE*\u000fM���ddH�W�%����_���n�Gz�5\u0007�5���om��\u0002�Rn�����\b��U\u0003M�z���\u000e���4I��(\u001e�A�\u0007���\u000e��\"A��\u000f!�z����?�\u0012\u0005y1\u0006@��\u0004\u0013�t�+�����)�'��A>���������,��h7jW�O\u000f\u001e��)��H �@�Z����o\u001a\f�� �v6\u0012�ڕ��\u000f۽��\u001a��cb=Y+�zq\u0002k�Z\u001d\u001c���Z8�\u0000��\u0007�s'���\u0003K�&y}1\u001b{�=�S�8]-�\u0016��0��QS�m� �\u001e�`�4�N}\u0001��\f\u0018#�\u0014#\u0010\u0000��\u000f�j2�>ie��#e�~h�+#�8����\u001br�\u001f�\u0016��COj���\u001b����\b\u0016{�\r���\n\u0018�P�NN��\u000br�Tx$dr�ضgc�3ېq\t\u0004���^o�\f�\u0016�$2�������b����\u0011C\u00115a%˭\u001c���#�a�R�!1�����@d\u001c=|��\u0000oGƟ󎟝\u001eg��g�����s\u0014�Dּ�r-5�ADv�J�V��k'��\u001eR\u0014�\u001bͩH'F%m�\u001c?�sM�\u0000hh1j4�ˀ^�G�\u0007<����\u001eq?\u0007\u0013I��$�0\u0006���#�3;W�%�C�����q�^o�w�5\u000f ~YyZ��\u0000�zU��%F��_�U���\u0004����\u001fW�մk[\t�Z���\u001cK@�\u001eW\u000e1\u001e)N@c\u0012;����\u000ewT\t�f����\u0001\bD�\u001a\u0017�����5D�!I���\u0000*�-~h~Jy�Z�N����=Ǟ��懍���ht7�|���q{,�3�q����R#@�\u001a��P�GQ�\b\"\u0011�@\u001dx�D��X�h�ɞ,�\u0003��JG�\r�>�;o�<��̗\u001ea���t�2M\u001f��^�8��7\u001a���̤Sf����$n\u000eQ��#Œ��_�e3#��0>}^_�C=ֻ}\u0003����\u0000X��\u001d�� �\u0004\u0001ܟ\u000f\f��\u0011.��L���o:�kmGI����ѣ�UPM\u0001\u0007�$l~Y�b'2\"(\b��Kcw�'�vA Y\u0014�?���ŪQ�^��X�W�\u0007�D�c�\u000f~Ϟ.�Z�ROQi\u001dӵ\u001c\u0006\u0002��V\u0015=k���5\u0012\u000f0�d�y'rZ����\u0000��\u0010�q�@5ߕ\u000fm��&Uհ\r�w\u0011\u001d��[r\u0018\u000eM®:T�x��\bH�\u0006o��6��&��Ki\u000b��\td��m�e���<��\u001dg�Z6�\u001cd���knh�\u0005^h՘\u0013�P��tЌ�Nj����3��HѾ\u0017�_�wq*&�\u0014���[��\bҁb��%B��Ar�|�;8\u0018�ɪ��t{��je�\u001f�'�\u000f\u0010�����\\�„�䑰W`\u0016��\u0004�R�n��\u0018��?��~o�\u0011��^H�\u0017�<��;�\u0004T�\u0011�xw�d��Hcdg�v���q\u0003A�\u000f��ϡ�\u001bD�WO�4�NK�;���\u000bM\"���S�X�X\u0012I�\u0000�d�ȱ��GP�\u000fL�ǭǡ�KQ�>�F���\u000f�u�I��X�\u001cp$��p�f�۸sY>_�����\u0000��&tO���\u000f)y{̿�:ݿ�zuηmi�$�\u001d�N���c���->�\fW�;�+��@9�'��\u0007k�ɟ�a3����E\u0013q>|�+���ϣ�\fz�\u0019f�\t��\u0012\u0004\u0003�?�\rH��z����~\u0019�\u00008�k�%�\u00009W��?'�-��]\u0010����\u0000Lx��7���$\u001aW�nm$�{|_�?��\u000f��\u000b;\u001d3L�\u0000����ҽ\u001d\u0013�\u001a���o�ȝ\u0002�\u0013\u0014\u001e[�ާ\u001fռ���\u001c0�\u0016�W�^\u001f�_�\u0002G�*���>}�\u0000��\u0000���^Џoh\"\u0007fj�x��c�l�.\u001c��ʲ_>!^��\u0000\u0003_i��p\u001e��\u001f��1�\u0013�q\u001d=��Y�]�q��%c�\u0003I%HX׺��~��0M�\u0017T�&!Qz\u0006�}\u001c��g6�B�'\"\u0017�أFhI$oM�ce��n�Lh�\f���\f�]�]c^\u0011��K\r��)�x�+M�9��\fO7w�C���nf��9\u0016H����ӂ�T���\u001c�t��\"%?�\f�7�T���8�\"�n]\f�%��\rF�\u0018�!D�D��H��\u0007�oO\u0017��Q۸t\u001as\bT��a\u001b��|�\u001e>x��`�\u000f����Y��X�,���#O�c��Ҵ��\u001bKX`P\u00128aT\u0015�͹�'>��\u0000�Η\u0011�G\u000e(��Ǐ`6\u0000\r�?1�a��4��H��!�N��/�O�\u0000�\u0016��u�\u0000��O��v�H���mi;Ɓ�K\u001dN��E�H�%X�0jeQ�\u0000\u0013���je�C����)�\u000f�nv��|ӳ2e��f\u0003x�\u001c��\u00008p|\u000f�b���\u00000�\u0000/�|����_1Euj|����y\u0013�\u001ae�1�\u0017�D���\u0006��ˢHG�{�]�ΗP�j���:\u001c�{��ևh�\u000e�C0?�˟4�h�CQ(\u00111�0A��}7��3�\u001d���ď�k1��\u0011�Q:xN&'�\u0006$H^�W�'�\u000f��\u001f�O�?6�tXJ�__K$'�\u0014U���7?F}U�wi~o�qȟ�F\"ߞ����\u0000\u0003[,u��)\u0001��c�d>C�\u001aլ$�ko�[lc�\u001ew���ë0��qr�>����N��(�\u0018\u000f&�NG,O��5N���\u001b\u001e��=���ݪqK�\u001b�]�����y���\r��c��F�?G^�q\u0011���l\n��Ij)\u0005�����=w]��t�z���:9\u001c:�\u0003��Ϟ�����?��~�k�_��\u0017��\u001cBF�}c�U����\u001cH�xG�\u001d�!�Y1�xy�����}�#\u0011��@������\u001f������\u0000��u{H�4�V/Ҷo\u001a�KҞ�\u0006�-�c�\"���]�Ju���O�\u0011��7i5�\u0004�J\u001f���\u0007qa\u0006����\u000f��o�2\u001d\u000b\u0016�\u001a���>_~\u0001\\��sD\u000b}���j�\u0000�0t�\\&���)O�\u001am���#�� \u0001�\n��\u0002�۾=\u0010E!Z&G�_on���ґ\\�\u0018Wm�?��t��r-I!PG]��\u0014ƻ�\u0013ת[-�Zt�O��\r��d�[�\u0013�o��\u000fz�rU')O]�է���{��\u001aH\n\n����\u001c�%2�+O����(�g�z\u001e�/��B}����E�=��l���\u000f����\u0015*>@ֻҝ@�3\f\u001d�4�\"G�qOzx��\u0003�\u000eʸli�6;\nS�8\u0001�]W�p5ۿ���q&¸��w\u001d�ױ��݃�e=�mI��\u000fo��L\u0003ϒ����Ǡ�Z\u001e���4�\u0002@�\u0012�\n�\u0011�۟���s���2�8�4+��3��\u0004d�\u0004\r��В\u000e����ž\u0019\u0019\u0014\u001d��\u001c�>\"���9\u000e����}�\u000eƛ�����\u001e�.�é?�}���;1�g\u001f��5�U�\\�\u0010-��?��u���\u000e�����m\u000f��ɯ���pG�w'���Q������l��i�\\RG~|xՃ\u0013�IJ��\"�����zi�c��y>�v�\u0007a��&^'�К��\u0014��_\fȀ�]\u0011-�o�|�x��A�\bģl�90DS�^j��6\u0018�k��\"�}\u001e\u0003���}彼�n��kyd�𹔯�\u001fn�b )�̨��y���n;L�~g�>N���͖��˥��\u0012\u001b\b���(���1�VJ\u001a�!�[�`\rv�s���\u001eQ������˂\u0013��H\\9����Ϳ'?2u��\u000f\"y��S֛L����І���F��'�v�M������ݛy\u0012\u001dF�\nF��W$Wں,q�=v\r���t����\u0000��y�ߦϓ.)a˶x��A\u0000\u001f ~o��2tm\u000f˞E�ku��o��-'�����[�:d�N���\u001b �oLp%\u0019��H$��,�9\u0007�X\u001e���c\n��;���_�w��=���\u000b�1��\u000bٯ��e �-\"����r�8��m��xQ���\u0000\u001f6���O2\u001b ��=�5�^����\u001c�ıX�I�\u001a��h��20Ƹ|�\\�xW�,�\u000f9��ˀd\u001b�͔�L�\u0005&�{fV\u0012$%]\u000b\u0001`D�e�e��t�YDm�ke/T�\u0001E$\nT�;\u0011�F��\t=Yq\u0010v\u000f���f\"�m�@Ll���Pr\u001b\u0003֛n�ʎ1\u0012X�dy��M����RK*�ǗQ�=��\u001addc$��Z�:\u000f��{�Ag[oJ\u0001�K\\�'�\u00186�lI��e���>����\u0000���ג�v�Vb\u0014�L�ԃR�oԞ����̙s.v9P\u001eOc�\u0000�Ҏ���aq\"z��[�j\u0007�Q N\u0010Tt�c�fV�юy{�@���g�\u0011\u0000���\u001e��\u0003U�5k��\u0001P]2��]C3\u0000T�(\r}�m�8��\u0018�v\u0007���u��27�>��$~��\u001b\b]�~��@�lV�)A�+��\\�L�\u0012(\r�\u0014�ك��2�oܠ���\u0004�5GR(\u0007�\\�i!xg�Z�BsNjav��p�\u0000�\u0016_��\u0000�}\u001b��UmWO}:��S�c+\u001c�P]���6�-�������\u0016��qm��S���{O�G��)�\u000fq\u0007��C��ٝDt�a��!\u001b\u0015�|�\u0010h��+��_���ɸ�6��#��槨�\u0006�W���|�����\\�e��ݝƱi���ޅ���ϬZ\u000fM�#�r���k�\u0013\u0001�-\u0006�4&1i哆;\u0000#U\u0010y�����:�j�ج�\u001c�c�\u001er&W\"H\u0002��2����՛���\u0000=y��q=�\u0000-u�4��\u0000������ܟ��V�ϙ�\b5��O�1iV�^~����\u0016����5��~�\u0015\u0015��BO9\rx~���Z�\u001f�8�1���\fЎ�9\u0007�2+a�3�\u0000w�\u0010t����A��<�9Q�c�b}Dnv'��~Tyc�\u001e~�W�?.�1�U�O�_毕o�����,�&Լ��D��zt�\b�ִ�X�,n\u0000�\r�J���_�ݏ������}�\u001b�8��\u000f0by�FB��C������]������c���������_�?�\u0000�\u000b�z_~Py�����G�,��w��zZ�:o�w���4�A\t\u0002+4yx�c�ق^��>T�\"��O�]���w��vV���eT2@���?���~��s�4��vd;CFF�\u001eF\u0012�\b��|Ѧ�}�%\tE�a\"�\u0011֋H���棽w��rU-���<'nl�\u001b�\u0000.���Z\u001fI��B(B��t\u0002�阹1\u0003ϛ�\u001dMU�.�#\u0010��ZFb\u0003)z�9l��y\u001f݊V�+� ���/�����\u001bJa1|!���[���\u0001C\u0012�x����8yS�sH��9�+XZ0�0v��(@�t\u0000)\u0004+z��Bv�[\u0018�aզYL��f�z�'��XQ��B�֒����}�\u0013�\u0018���n�6j�������ſ:�[~a?��\u0019.���u��mq�������4�\u001f��4y\u001a�]y�U�\u0014�*�A\u0018�%\u0014\u0000{e=�����\u0016^�\u0006?�U׸t$�\u001c���\u001e3�N���>���r\u000fDz����~��������\u000b����A���\u0000�|������V�K��~�\u0000P��\u0000=歩MYnn\u001c�w$��3޴\u0007\u000e�\u0018Ljp∡\u0011��Ԟd����v�S��u\u0019��<���x\u0016��\u0013�%���-��g\f��Lj�$q��8�\u00031�>��\u0000�\bɪϩ՟�\u0010��\\�_c���\u0018���ſ��)|*��̿(��\u00008m��$?�\u00174���\n_2y��\u001f��>Y�\u000e�oe\u0015�I�MG��6��\u000b����m��\u001d\u0013E����\u0016�\u00033T|'��1b�s\u001eL�4��I�c��!�k`\u0001 Qܙr|�\u0000�a\rN�Y\n'U�\u001e1���d9bx\u0000�̄l�\u0002&�}>o�c󆛬ZȆ'���\u001a\u001c���:����^�!P�r�m�6�|���ug��a�7q������y\u001d�z��\u001a�\\�\u00190�ğW�ۏs�G�s��\r4�>i��Ӟ'e�\u000b�q�\u001f��BЇGR>����\u0007\u001d��h�/A����|\u001bۍ\u0010�O�F>�\u001e^a��\u0000���\u0000b���\u0005jh:�� ��\u0019�z��i��ϒ���V,Q\u0003���t�:��򱢜;�Z|��r*\u000f�1�\u0014\u001aq\u0002�\u001c�҉�v�1�r\u0007���_g��vA���?[�&Y\r��j�\u0003��ΫȂ��b8\nP�\u0001�c���Ɗ\u0013\u001b�>�����:�\u0000\u0005H�������m\u001f3y/ɞC���֧qmoqkl.�U\u0002\u000b�\u0015T�H$\u0000�n\r6�\u0017��i�]����\\A�\u000e���by��ɿ��mR�R�\u0019|��^\u001aK�\u001f�����~��B�@�\u0019\u0012S��]�\u001fg��:h\u001f�\u001dTn7�2�?C��he�^�\u0019�\u0001�i$/�p;Y\u001e[\u0013�\u001f�\u000e�u.��^��?L��\u0014��\u0016;(�-A�Ο\f�$#-�.<�,���Ew�������\u0000�̮܄\u001a�ɠ�T��\u000f�m���U�C�p�p?��'C.(��\u001f�'���������\u0019��f�v�X��\u000e��Kn�N���\u0000�/����\u0000�?󐟙��&������E\b�F��\\�s�Z\u0013FWkEoV=��\u0015�W�n/�\u000fj{;���\u0002Y%�\u0003���,�\u00178��?��!�S�\u0014@�q'qݷ0�O�o&C���5�;�GE��X�-m홾����$�t�/^6�{��D�\"4~'�-��Pp�h�2�\u000f�{�ymn?��x��9�8ő�)w\u000b��\u000f��\u0000�\u0019=_��^n�����Z<��\u001f3�7��lv�d�\u0006�~$�I\u001e�v_�ymDF)x\n����W�;4BX�#��G�8\u001fL��,r�u�zn�ל�p\u00139#)\\�T���\u0010\u001da�\u00109l��\u0003~v�q�s�����N�7�/�L�zE�V�M��q����xw\u0012�\u0001\"��\u0007�Ϋ\f����{c]�?� F��m��s��w���f��K\u0011 Р\u0007�\u001a��߬�6���\u001f��,q[��\u0005�q\t!�G��\"�\\\u0001B%n�w�'���\u0014���9�\u001b>��\u0016Hi1\u00000���?_s�4��(*x�U�r\u001a��\\\u000e�\u0000\u0017c���)y9��G�zN�/\u0018׀?\u0018�O�U~�'s�5���#�}�L\r\n�(��e`�;\u0012����\u0001�`d\u0016w�[�\u001c/�{�~������>i��c����V��9D*\u000e����=�3l�Y�0�܁�'�\u0000\u0004�\u001f��zmp6si�\u000f�\f�\u001f�%\u000f��v\u0006[�l\u0007����\u0000\u001f*|�~\u0019��h����x\r�i�ڑ\u0004q\u0015������\u0012\u0006��\u0011�]\u001a���{c��\b�\u0001\u0012��ޝ�6�\u0000}ɪ۪\u0005�?���8�o�dy+Ɵ��]�`;\u001e�C üݬ%���p�\u0011��p\u000f,�$�\u001fbx�E�~k�p��M_T:|2\u001fM\u001fԜ����O���{kTI\u001ah����u�fL�\u0000��y\r��8\u0014�\u0007c�~\u001dFs$��\u000e��f�tLF�q\u0014��\u001e�z��(�ئf�Ŗ�-\u0018T|��~}�2D�/&1��l�\u0011^���w\u0003��ۦL\u001b�����B�v�ƾ\u0015�=w�\u0003�R~J\u001ecxΚ�\u0007��JSï�L�vP���p5�\u001e\u0001�T����#���ej������\u001eÁW��ﴄ�D�\\o8�@�O�6��3�u��\u0007���VS������\u001e\n\u001d�\u000fj����3?�\b�����\u0002L�|_C��q�\u000e�v�cm���'�e����\u000b\u001e���q�5�������2�S�ʝ\u0007�O\n\f��v�Wj��\u0011k���}�G\u001b|��\r��R�B�HX}�$\u000f�\u001c\u0003���\u001b���3�_�#��_��/�\u001e�����>��j~\u0015�\u0000T\u001fÿ|�n@_7�wqOî�MQM�\t�\u0000�m������\t�\u0010^C��@i��\u0014��뒃���0h[���m�6�˓�N�=\u0013G���!���ǹ����xd�w�4�d����\\<���\r�ҵ��O����\"h1?b^\u0005���f>�B6�z���`\u001eIS$��\u001f�C�܄;�AC������[AK%zv�Lko5\u001c���\u0015�zS�{\n�\t����0�M���˜<�D\u001bF�\u0000\"�u�Ja�eA-���E+CN�\u001bcέ�Du\u0015ނ����Y\r���\u0000�@�:��h\u000ek\u00027�+�\u000f�\u0016\u001d+�\u0012t%Iޝ*?�qLX�H�\u000eZ�����\u001e�=Ȫ�w��\u0015\u001b�������\u0003�\u001e�\u0000�\u0002�Yt�\u0013q�c�1Iً�\u0015Y�S���\u001e#\u0013Ɉ\u001b�U�BC{W���\u0019\u0002;�����\u0014�\u0015���w�PF۲\u0002�����\u0011�������\u0007�`\u0001a�\u0012��mZSj����\u001a��AT\u0002����{oL\u0000�W\u001a\u001a���ǒZ=6�\u0007sԝ��`U\u00165�\u0006��}�o\fW����O���G�\u0004^皋\u0011_\u001f�醅���ۢ\u0019�\u001a\u000f�\u000fZ�\u0000L5�ܐeC~hG;\u001e����\u001e�d\b�ވ\u0013�A�>HG;SĆ�\u0000n�#\u0007O6uŹ�H)(I\u001e��=��\u0005\u0003q}\u0012�h*kJ~\u0002�{�\u0019\u0013��*�:={F�m7ʚtJB�w�jW*@���R\u0000OS�%����'�\u001a>��$*s\u001cg�-��|��\u001dG�;N`\u001fLM\u0006\u001b�]\"rT$I�\u000e;\u0005������\u000f�u`\u0013���N�uy6�x$Y\u0014��p�FI;F��\u0013J\u0015r>�]�\"\u0011#�/�4�]\u000b�_>�Ņ��=.\n\u0005���j\"(P\rà��*s;\t��\bj��\u0012{�\u0001�j)u\u0003A�)�T��H��\u0004q�\u001eVq���H�U\u000e�\\�\u0000D�\u001cc!-�\u0003����b�}6In��3ċƾ��b[�Jq�`A'm��_���\u001c�\\6I��b�4\rcO���\u0015�׼�w5Ų)+\t��\r�Əz��2�j�L�8;� ��Sw��\u0001\u0013��Nj\u0006ADw���G\u001b4g*Ɉ��$ym�=�S�&���/��_�mo[��Ҭ��\u0016��_&#�.��0i��\u0015��}\u000b\u0015cc ���~%&��\ry\u0001����'f�\"\r�\u0014��'Ђw\u001f�\u001dG�v\u001a\\��b�\u000e\u001fL��\u001e�\u0000q�^;�yN��O�\u001bu1z���t�xI\nE��cR×�\r�\u0006�\u001c��L�&$�w\u0000|��\u0012�\u001ewϫ�|�k��կ�V����\t*=(\u000b\u0004+�Cnw�\\��\u0015 :sp52�0qת���k�Ել��h�x�ƃ�q0�S}ڠ��B#$�9��\u0019\u0013菕}�cѥ]{ɖ�|/<0(\f�n�\n�'`A\u0007�J\\9(wn�DNj���\u0005�Gq\u0003�` W)B���T\u001d�\u0007,�R�\\�\t��9f�,a�\u0005�a�/�\u0000�6\u0004\n\u00109|�\u0012�\u001a�22\u0004WR�\u000f�ɍX�i�W���{���vWr-�ׂo�|R5~�0\u001e�������\u001a���\r����+\u0018c���M�\u0003\u0012E+Eؖ�۾Q���\u0000�sӍ�^c�\n�O�Y#\u0005�✥oO�Ic�-?���\u0000ZsFl���\u001c�w{��<���}�\f�m�\u001f���%\u001b��82pzm�'~ \u0012�.�Y\u0011DN�8j+\u0003��G�\u0006�L�Ṟ.�J]�^k�\n�:>�\u0018#��ON5�\"I\u0000\u0006\u001b�/n�:-61\u0018�\u000e��8\u0013�Y\u0004�l^%�k��yC͚/�5�F�o\r�W�b.LE~�E�$��x��f\f��b'�.�$NLU\u0010\u000b���\u001do� |���̋�CY򿖭|�'���oz�PX��gQ����RkNIn�9�$*��,tZ\u0010Nt8r`��&8�\u001c�σ�)\u0001u+\u001c\u0003�\u0000-����]O�#(\u001cY}4H\u001cQ �w������\u0000�q���u����K�[��/Ζ���?枝p�Y�v\u001ex�e�d�\u0011��җ�񱢧\u0007\u0007�3ȻGټ��']��c 2a\u0000�3�\u001b�\u0006��\u000b�8;s\u0016�Y�1���0�(\u000fFA� /��w\u0000w�a\u001a7�u?�\u001f���?�?126��o�)��\u001b���5�&ju�<��\u000b>_\u0013�u���cj�B��5�]g�fa�B�p8f\u000f1!������x\u0001Ó×!��ۑ\u001f\nz�����w��\u0000����M��\u0017�SO�\u000b\u001b�|��A���[%ߚ?%�\u00000��Ћ�zdoŵ_*�h�\u0006���\u0011�Z�B�\"0��\u0000n}���O��CY\u000b8�V�'���\u0013��\u0012\u001d��\u001e�k=��\u000f�c��2m�\u001d$;뿸��?�\u001f�ʏ��\u000f�?��_͋��?��,[隕�˩�/�\u001a1�����g�\u0015�i��˯1�%��h�q�Փ2�iғ\u001c�\u0000���[�5݋����!��n:�C�ЗQ��R\u0000��O�]��ݵ�����\t��\u0014Ot�1�_:=���'\u000fQ\u0018,��|&��Z�W5\u001c\"G�7m,���n�X�9\u0004�B\u0001\u0001$*���(zV�:o��c\u0000(��f��\u0019��x�s�9#\u0015\u001cUZ�,���˯Zd�\u0001h9�X�$��\u001d��;1���\u001dd\u0015$KƄ)ܚ�oҹ8���e�#�g��\u0000�1�\u0000�2�d�\u0000�ey�|���6��/-\\E/�?�ռ��yVŘ3�\u001aSȢ\u001d[�\u001a�U\u0016��[Ҩ�^(\u0005z�f����9�L�\r\f+�_o\f{�G/-�ny?h���v.\u000b�GU!��\u001d��K�S�����\u0000�z��ҿ,?+�(4O,�q�q\"�>��j������^\u0011���5^Y\\�W���\u0003�t�4�-��u}��:�d��K�\u0007py'�5f\u0005�v\u000f{r�\u0018b\u001f\u0012BҰD�:}�f;��d�9\u0012\u0004y��\u0015\r�\u001dX���y{W�%\u000b�\r\u0005�[�+ɧ�\u0018�c�l����?�(��Iؘ���bO�>3�\u0000\u0004-t2�<8Y�1}��\u000f�s�|����Mz���M��j��:F�w�k\u001ad�V��K�,g��N���+G$N��x\u0012\u000f�v�ūҝ\u001ex�xf(�@\u0018�׊'b\u000fq\u0004>[���d:�FC,y\u0018�#�\u0011DWx�o���p��s�̿��퇓�8�����o^������m��]�w�\u001d���6VZ��`�N��\u001f���˄MF;��}.��)=\u0005�1��\u0000�\u0010�\u0000�]��=,�W��0��X���\n�=@\u0000�\u001e\u001eQ�@�HP��!d\u0011��{i�A�=��s��:g�#r�\u001d�H܎;78�h\u001e(�\u0010}��\u00009��oi���\u0016����ئ�m�qx�L\u001b�\u000fn���*��A�\u000f�/�\u000f{c&\u0013�y\tℌ\r�\u0015��x\u001b\u001fs��ϳFL9\u0004\u0000�\u0003�Ur<�\u001eb���a�A&�{�?\u0014��y#a�T\u000eW�Ҥ\u0012�|��\u0006h괢B�H����qKK�3�����\u0000o{���~:��5;#!�d��`z\tT�}C\u0019��+\u000e���_\u0013���*�\u000f>�_\u0017�=��u\u001a9ݘJ\"��������M=�_:���xߙ@d�*��M*z�\u0015�9��j<~ˈ\u0016H�~=�%��\fu{�\"|��zϟ���ڵ�\u0015{�\u001e\u0007���?�,1\u0011*�D\u000f��n\b��.I~[�\u001a;D�������݁,Gꌉ�-�|��\u00008����/�lb�&_Оf�>X�\r��=6��\u001a\b'�.�H�\t=�w>�h#�}�5xG�F/P�\u0015�\u0003��.��~O�\u0006<�xS�\t���~\u0003��r���~_�h��C��+-J񬟘X䰚cqdT��4\u0012(\u0004f�3�p�S\u000f�q������\u0011�ĴӮ,d��/o���?�\u001a��1嫫P\u0014��h��x�|\b.R\u001f���vΐ��\u0000Y%>�\u0007�t��u�f5����O���5l\u0013M��\u0012\u0014����� \u0013�d�@U\u0018�R(a޹�}�fu\u0011�7����z�I��<\u001dD\u0007��{\u0010����Z6��渐����5�� �\t��\u001b�\u0002P�uڴ��;����ɏ<\u0000�\u001ew��\u000f#���9c爏�=����M?/��+\u001f���\u0000��.��~������]`�\u0018\u001c��Ɖ\u0015��x2z��wO�T\u001c�r�2��]����{?\u001c~9%��\u001d��{=��\u0003�}~YWR1�\u0002'�1/j��?$�#ygR��:��$�y�κN�{qc$�T_CO��.@X����\u0005��\u0019kŅ3��a����ڠf2_\f\b��\u000f�z�.l\u001d��æ2�b\u0007��2$Y�#\u0013�B��J�&5/�\u001fʻk�5�\\�v�v�����X�}b�\u001a��o`���kl�-��ep��RH\u0015\u0014�g��Moi�\u0006�Xo\u0016\"I\u001d='k\u001d�\u0000c_�z�>�O��hd�\u001e\u0010v�\u0012.TGC�����\u000e|�\u0017�\u0007�\u000e����4)�o:#���U���\u0014$I\u00138\fL��@뚯l�D��ló4�\u0000�z}�r�7ٍ\u0010��̗h���\u00000����z���<��R��)�������\u0006O���m�E��TS9�g\u000e\u001f�F�\u0002\u001d搜���2A�{���E��Ե%�\ba���\u0015٭�]\u0016�S�\u0019��3�\u0012>g<��\n\u001ak�m\u001e������HH}�ù�\f��\u0013�Ic#�\u0013\u0019�/̏�Ǧ��(z��\u0000�}�)�C���\u001eT��~��^7���q��\u0003�\u0000\u000b��;�-�f��yl�O��O}P�k\u0018,Ғ�\u0001�߫1���&\u0011��j�^��\u001b�\u0014�t�2�Q�#3\u0015�h\u000e��Nv���\u001a|\u00025��k��_f�����\u0000 \u0001�ݺ}9��<\"����\u0011�U�&��}��L6Eě\u000e���\u001d�T�=ʜy5\u0007A���\u0000?�\t+�FG\u000e��\u0003���z�n��R\u0000Cͻ\u001au�\u001e�4���b\u0014�=���޽�\t\u000b�\\[[<��cO�;\f���\r�~���\u001eqM>����\u0011�����\u000f��\u001dV�8q\u001c�ڃ���>��u�w>\u0004�i�\u001b�o'$�p��P\u0001m��*�8L��YK$���q�h��\u0000\bM,l�:���{\u000e���E\u001b�~}93�\u001b@\u0002�GM���>��F2��S(�� �\u0000�t\u001d\u0006ۀ\u0007�C�#��v���}m\u0007�6����a�Gs;\b�\b\u0014��ni��9\n\u0014?�\u0011������9�5<\u0018o�\u0000\u000e��7=�^0��\u001d�G�@~w~o?-B \ri3\u0006�\u001fҧ�ϥ=�\u001f�����}���%���`�\u0010��J�\u001fj\u000e���k�ߑ\u000f#���>��H��\u0003�(��C�̾�;:�j�\\C�%�\u0006�k\n\u001at�\u0000>�\u001e\u0019�ϗ�>-?��e�'���\u000f�L��v�cl�Ս+Ooz\r�_1{uv���җj�\u001b1�\u0000\u0019b��0�\u001d��1����ˁ��?�\u000f�?$\u000f�\u001d�6�W���|��\u0000\u0004}�3���~��\n\\]�\u0003��\u001f����+�\u001fA�3��W�W};S��X��7\u000b���_LҞ\u001f�p�[���Ϳd������xa�Μ\u001dG&\u0004\u000e��\u0007��:8>�k���@?���+%�6v�ΐ�A���׶�0Y����rj\u0012{�&�?��\u0019d\r\u0006'Ϛ\u0002\u0018�N����~�#`���}�}���'�4�A9�oý1�<�J_'\u0001��߹\u00187�\u0011�C��ۮD�U*��ӥ~ـ��\u001c��FG!QJ�~�.�\u001d\u0012\t��\\\u0000\b�Q�\u0007O4�\u0010-/'\u0000S���,N�\u001b\rB�h;���\u0010Y\u0003�R9����G�4]��\u0007'�����\u0018��%ďL�V�}�_v>J|��3�\t\u0004u�O��`;�5ӓF%�i׷����\u0006ܕ\u0000�'n��~�\nc�[@�'%4\u0002��郞��҇��������(�\u0017E\u0018\u0007�I\u0015�>�\u0000�ȑ|�}���{#�Ӧ�\u0000>��)�A�%����\u0011�:m_\r�)���x���Rj)Jҧ��\u001b�6�$��\u0014�\u0014�'�Gj�|P���JmP|=�+�%G�56�i]�\u0000�x�N�0tU&=;����1�*d�ۨ\u001bw>�#\t�U\u0016#�\u0004\u001d��\u0000���,dxB\u0019�\u0015���S��rC�6���#�![�:��}Ԩ��\u0017�\u0002\u0002��(9\rA��\u001a���2l�\u0010\u0012�(zmN���w�&����J��MJ���\u001a\u0007��b�z*3\u000en���]Ͼehty5��zL[�r\u001f\u00007'����O��|��G���{6��\u0006���Qj!�\u0004\u000f�᷁E(:)\u000b��=�M\u0018�\fc\u0001�\u0011�ˣ�e,��#̒��\u00000H8�'f�d&��<����\u0015�=�>\u001bs��.[sx�/%j�/6�4t\u0003�5\u0002����H\u001d�3\u0010\u0000\\�D�;ty��͗�l�\u0019\\5�@�۳=Ai\tx�\\�J�2#\u0013\u001f�ǽ���\u0000vy\u0001��O�>���i���8��!�5e,��١�()ԝ��7\u001c�X�ӣL�\bJ��y�����\u001b\u0018��U��p��쐩g���a�M\u0017���,�@�W��by�=\u001e+��gK�@��Q�%n-�\u001cV#\u0017\u001eAwؗ�M*v\u0019����~mY*<�\u0002�+�>p�\u0000�x�̃�c���v�!��t+��h^j�\u0003$�hڪE�$��{i�2[J9\n���b8��c�Վ,<���\u0007�~ƹ����a�DW�\u001d�~;ߧ\u001aw�䯑�\u00003��a���iz���5h��\u001f7y~��mSɾn����[����\u0005�Q-��Y��Qn-�Yw�\u001c�n�͢�~W!\u00062�\tW�\u0012k�|N�9��\f��HY \u001b\u001dD����G�#mt\u000b]\"�RK\u0019���&�\rKI���GP�5�H�˘���R�*h�Fdb��\f2m�2�>D\u001e\u0011E��0�\u0012��DX�\u001f�\u001f0�\u0017��E��I:*�k�;ԃ�1ʃ�\u0001Oߑ�9x��[q�8��\u001fr]�)�\t��4٤\u0004F^2\u001c��ZS�?^:�R�۱�\u0000�P�4����B�ɾ�V��I�˸\u0007cM�i�F�c�]W6!�Y�A\u0019��\u0012�P�J��CPPR�d���#��������\u0017澡�ZIX��\u0006��T���Җ��֥‰/�\u001a��\u000f��\rƀP�A\u001d|3+Wc\u000e8\u000eb;�T]F�!,j��\u00135\b49F}\u001e]f��\u0005\u0019p\u0000o��pk}ŋ��x���<������\b�חWӺW��\u001f�>��.~z�fyj/%~ly�M���\u00000|�h�+�F|��^hVk�}r�2yt��\u0019l\u0019�9��#Z��;[K��]n-\u001fg�~T���\u0012A���'���\u0007�Q]���u�\u0012e�9'�H�EF]�\u000b$G�Y��[���� �6��\u0013*�\u0004�N�\u0010o@=���\"p���GN�k�Y��/�\u001e���O����\u001f�]c�q��rO�6�����ܗ\u00160I(Ӽ���V����,��#{�\u0000(y���0�B�G�$yD^� \u001b��_���=�}���وŔ�\u001a�\u0000�K`O�O-�\u0002�M��\"��\u0006��+�x���\u0013,����R�\u0011�\u001f�&����\u0000�A�lC��&�6!{�qI�tH\u0014+���\u00124E$�vr�%QԜȎ\u001e-��p����J��\u0004�؟���i���5�ʟ��{;���+�\u0016��G�g��\\i?�V7J�i�*��Z�>��\"\u0011#�;�f��ɭ��v��C�\u0014�����r�\u001e(�+�_k�ݏz]5d�\u0013\u0013UDC�^~O�\u001a��ߗ\u001f��C�,?(����?�^Z�[h�\u0016�\u0018�'��\\j:��V�V�o�z�\u0017s�I#\u0012I�\u0000�Lqŧ�0`��\u0018��;��I�M�w|OY��kuGS���i�$�w�V�bi䐙�j����\u0007�D@�O�o�2\u00119%WI�.\u0018�����\u001dO�~s�on�htM&�]K,�biR�P\u0016�\u001a\u0012X�we襪�c��\u0004�n^�$4�iN�\u0011�\u0003�����_;~d��<�����yfyi�\u0006��Q��\u0010G�4+X�j��\u001a휟\u001c�\u0007��\r7fi�\u001a\u001bȟ{�~�c�Md��\u001c1\u001f\u000f���SV�u�YKT$�\u0001?\u0001V.�O\"j�'���.�͞v\u001ek\u0016�\u0006�6�\u0004?Q?$��}fm:\u0019�\\[_��\u001a\u001d���:�,��G 5Y\"�9��#�S��$�\u0007s�?�Ϩ�ub f\u0006���ϟ��\u000f܏����)?� �\u0000�\u0011!���u?Ҟ~�\u0000�r�M��>�5�\u0019�MO����\u001f�ֹ����ᵷ:c�٧�ڧ�5��ڞ���>�C��C�Aڸ���*0�a�\u000e�\u0000\u000f�\füd=\u0006ޫ�Z���ƞ�\\?�4S�\"n��cx$z�\t\t�'o�#����(��0o��>\u0016ג�T)\n��\u001f�a�3ڽ��!����G�\u0005>A�N����\u0011�dh���z=��q�Q�X�m6en\u0010J�m#q\n�ౌ0��}�'u�[�\b\u0018#\f��\u000er��~���,'\u0014��6�\u001e]��\u0000�*��&��K�Z\u0004u��\b�\u0017�\u0014�PKU�$�!�\u0019��'_\u0019i�\t\u001d�����G��2��\u0000��y���;��/�G���9�M��+�w\u000e�1e \u0013@E:��`�C���h�]�\u000eWd�e���y�p���\t�kSy[�چ�3$_Vծm�#��a�cn�=9\u0014\u001d���\u0000�2�>9i�f\u0019!�7��ޯ\f�!��\u0000���t�&S�\u00009��G�.y'�28�\\jZ$z6��h���YRF4��\u0017���cM�X1ٲ��9\u0018����h��5`���D��v+�����p�c��y���b�ϗCr\u001b�u^UQ��m�+�ز������\u001f0��أ\u001e��\b�\u0000\u0014G��\b�\u0000���6�m����\u0013\u000e�i\u0018�T7���'\u0007\u0015�h}���xFx�Nr���v��\f��\u001d�8w�5���_&I,��XH�\u0000�\u001c���\u0005�=\u0007Bzg��\f��.uO!�f\u0013#�%�\u0000~J�-�\u00008��\u00008����m\u000f��/:y�\\O\n�)s'�n�\f�D��ֶe\u001c\u0013F^���\u001d���.��L\u0018�'>LX����m�;=�giq���3同0C6K���'q�h�\u001dBG7���g��1+�\u000f�_ɿ�\u001df����F5����3Z\u000b��+w����{i\u00014Ry\r�5��i�b�e�\u001e��\u0001[��6�]���u\u001f㞃��\u0007ܬ\u000f^��u&���䊏��\u001bfó��.^9\u000fO�k�!�\u000f�v�\u001e�a\u0005\u0010 \u0011��7��;L8�ۣ��T��j�\u0000�ݾ{f[��薵$W\u000f�>}��<\u0013�����|)C�%4���&�\u0015�]�O\u001f\n`�Rd��\u0000({��\u0000/�()[�S�:����\n���;Sm���#�\u0006@_*\f\u0013�z�YZ�9\u0005\b�z�@\u0007�zes�\r��!\u0010\u0016_����b�Z�^�)\u000b�\u000b�%�lX\u001f�\u000fo|��_R'1�r\u0015�Ջ���\u0013�ϭ,�\u0001�����|>��B��@Rs\u0005\u0000\u001dFۊSc؞�%\u0012)h\u001eJμ�\u0013�v�;o�2`��Fԑ��޺{\u0002*=\u00175=��\u0000-����\u001f�������5�����S\u001e�\u0018;\u000f[��jz�\u0000�3�_bkÿ�;�$?tA���<�k'��_��\u001c�5��~t�\u001d����}M�Kh���ï�;��>ly��\u0000j�r�p\u000f{�O�c�O\u000f�9��p��Q��v�,�ȑƕ�|:\u001d�k�n��YU�A���|3\u0002N�\u001f5ک?S������\u0000\\}�\u0018\u0001��.$�¿�\u001fd~H\u001f�8>C���ϕ��3>��/�^����\u000b�ᏹ����=���O�\\+�W�\u0017w�\u0000:����UJm�o���\u0018�h�4���?5���\u0004��d�:�^l\u0000�ۿ����\u0011\u0007�\"Ѧ��{��\u0000�r�n�\nz-���\u001e����'\u0016w�]Mk�T��m���N<��\u000e�d5�\u001e5\u001e\u001e\u0003��}[��\u0013�P}��\u0000L?�O�H�^\u0015�o\u000f\u0001��V%-�����;��\"\u0006�jy�o�}Ϗ��\u0001?o؃ޢ�\u001f\u00105����dv�T�����`����j�Z�X��N���\u0000\u000f\n`���)�> {��C��F5\\����*A؁����Ͱr�[\"�\u001a\nm�\u001f|i4y�P\nkҵ����i\u0000|���\u0014�\u0014�s����\u0007�I%��w����Ȱ��7\u0003��\u0006\u000f�<���n��n����!\u0000�V�w�nGA��1�)Q\u0000\u0010jH�X\u0019�\u0002\u001aV\u0000��i���\u000f*Ꝣ�W&��\u0000��3\u001f�������\u0019�6��������xߗ&�H�=\u0001�M��\u0000O��r@�o��\u0006��:��~�Mr Y�W\u0012\u0001�ߠ�(O�1\u001b\u001d�|��\u000fjT�￾\u0004���ֻ���c�b�$�]�����\u0003&&��ֽ>g~�=��\u0006�u�1�I<��5+�\u001d*)�t鑮d��#�R�c�����^�6�'or�\u001b��B9=�_\u001f�C\\�l\u001e}R�z\u0010\r=�P\u0003��;|Ro�'Oԭ�y�i�+��{�:7�t�N��\u0019//\u001d[��\u0016�>\u0015�K�\u0000��d�VmWh\u0011�\u001c2��B��\u0003��[�\u0003O�\u000e��l����\u0019���\u0004z��Ҕ\u0017Q�\u0018\u0006��Uf�[��\u0002��\u0000�9�~&��˰�����/\f��yv�p.-�4��I\u001a�0���C#��\u0015�M�u\u00036\u0018�A�_\u0014���/��\u0000�>/�\u000f9�zo��O�o��4���j��Ǥ�a�\r\u001b϶6��T��Ŀ��\u0006k\u0013\"\u001f���K\u000f�@P���\u0004�w�\\��\u0015��!�����\u001c����X~�~Q�_��X�:e��{=������J.m/��\roT\u001aU݌�+-�Մ��2�ca��v8���\u0011R\"\u0004�DK�\t\u0003�a�\u0019d�/\u0004Ճ!��q\u001a#ʎ�\u001a��y�ˑ�X(/�D7=�\u0010�f�u\u001e9������a\u000e!\u000e\u0013ί�|��_�����9�0���@X\u0014��\u0004\u0001�P)\u0006��r�\u0012�ٶ�JF@\n���bZ5әc��\u0015\u0010��\u001d\f���J������K<��\u0004z<��A��{Sծ\u0014,66W7E��\u001f��Y\u0001$\n\u0006d\u0003޹��\u0004���mr$���7��<ڧ������{5ơt[y$�i\u001aUB���A�\u0006]-����0�\u0013\u0003��l�r�����P\u0007R�6�j\u0019K\u001a\u001c�c�\u0014��eNO\u001d\u000b/�|�`�>_ӡ��\u0000���c��\u0005EhA����Y�J\u001d(:�o)��\u001f�ܻ��\u0018��'�E*�F��|k�G\u0010\u0006��\n��58�\u0011�U\u0003Չ�F�\u0010�jjKTԏ\f�vLI�G�����\u0012C�D���\u0015i\u0007\u0010�Z�����Z�qLγ\u001dv�&�p2҂y\u0018[Ȅu���z��\\�\n�oRG`\u0016�j\u0002î��wh��������e��\u001a(�\u001d���~��\u0002o�z_��#��F��`��q�o\u00021j�W�W؜�U\u001e9��#�6y�d1\"Q\u001ec������q�G�׸�_T��}�iZsj�����H��6�ݔ�����a�'�\u0012��b\u0015A$\f���s�\u0012?���P�?]�y�37k\u001f\u0002\u0012��\u001c����<��~a�\r��'y~\u001f7G���6�s帿0�4k�\u000e��:k�2��ֶ�\u001a�5\tlt�3��U��O\u0011�\f�_i{WG�\u001d�>���G\f%\u0010$\t�)\u000f��m�}3ٞ��vWf�'hd�L�D�\u0004\b��\"�۞�I�п�^v�m��sq뭌��\u0004�E���9�\u0005\u0018zR|-N���y\u0003��\u001cG��r=���u����f#s����~�~\\5��\r���L��%�J�\\���\b�`�\u001a��^�Rt_���\u0012Ő���~=��Nx�u���>����N\u001a����cp��43[�,%.��R\t��ż�̯\rʹ�J�o:\u0015*h��5�|�=�1ȹ�� \u0011��G�==�į��o��������T���.4o�\u0015\u001f�-J;˧�?�v�lߔ�m֥\r(����]cӭ����Z�H{9EKpcד�/c�7X\f�����D�w�8nI��\u0002�1/U�>�v�e�\u001c��\u001aN�]��c��|��\u00008��\u0000>#�\u0000�P�\u0000�zm\u001f�_�ڭ���/斜�ߍ?^�}\u0007�OF�aV\u0019t�\"��}�V�t\u0005%է�\u0018���fwd{/ٝ�\u0011�c���2� �G����\t��\u0017����=|N-5i��j��G��׺��>|�V\u001be�t�m�����O�l-��4�>��=8-�m-c��N��E\n����P\f��]�+���O\r�R�2���}|��מ55\r*#��2�Y'\u0000�\u0006o��^��^�[�S)wrF\u0002&A\"����ݪ��\u0004\u0017<�\u0015b\u001b�;��fV> 8���e0\u0014\u0006�V�������\u0016�\u0004Q�-��v��\n��M\u001b,F�rƵ��;\u001e�����;\u000by�~\\�dx\u00003?k��W��^��-fԵ}b���#�\\]Hŷ�\"��Ϣ=��\u0013��yKsR?k�\u001e��T��\"\u0011ח��qhA\r2����}��?�u\u0013�$9��\u001d9\u0006�7���~p2k�YM-\r��\\\u0010\u00014�:E+�M\u000b \u0015�A�6�|�6\u0002/�\r:Mf9c�*>������\u0007��\u0000����$���\u0000���ӵK���\u0003�S]�?�Ǜ_�m���\u001a���\u000b_��b����\u0000�1Z8�~\"��-h�g�v�f����vV1Ů�3�����n/\u001e\u0000u��$H;\u0003�&�\u0007���=���v��\u0006�u�����*8�H�C\u0006�b���\u001c�\"_�\u001f�P\u001aօ\u001f�-`o�����\u0004R}h\u001bӞ�A��Ȧ��3Q�oh\u001d.��>�\u001b\u0006��}�\u001e���ӍT\u0001�\u0015-���\u0004\u001e~o\u000f�\u0000�h�u�u�\u0019\tY�c����Z0�S_�h7�|�?� t�r\u0003�5����\u000e&3�\u001c��~���rS��^��x�dOR5��\u0000��$���@\u000es>�j\u000e�SG����c\u0013�rw\u0012\u001f!~N�]i�W֒�\b��J!V\u000e�\r�\u0013EpA�{gU�\u0018�~\u001c��N��r�\u001eN\u00126$���䠛�_�\u001ed�*�m&���\u0004��,���Sr\u0001�����\u000e=����\u001bM)\u001e�6*x�\u001d��މ�]�o�?�\u0007g\u0011��Z��\u0000y\u000f?0yZ�6�,\u001d�x\u0006Ƽ��~y��\u0012\u001d���w\u0011�5�.ϵ�\u0019k�y!�P������\u0000?\u0017��+�$L�\u0004�m.���֠�ڛ�o��)��$\u001d�\u001c�'�\tp��\u0002��\u0017�^GgId�\u0002!f�\n���zV��L�>Ό|\n\u001b�^'W)N^@��o�<��\u000f�q#�q�J�b��g���ˮIa\nO�Xi2k����{H��\"�\u000bdrd��Ƥ��x����\u001fl;O$H\u0007\u0006oM�$�\u000e\u0018���z=�]Tt�����|dʇ�Cė\u0014��wu|�{�j\u001f�>Kׯ/2��>F�Ⱥ���g�՞�\u0000K�פj�k:\u0004wS��������$/\b$�\u0000S/�9��>����\b3��\u0000����\u001bH_.�\"'�ɗC��\u0006c� 6�\u001718��e�ݶ�u{o�o,#<�m�\u000b\u0006����\u0018���=�&9�m��\u0012���_���R\u0006a�,i�4��d�q��V�\u001b@r\u0002#���p�>��?� ��6z|\u0007>�����@�\u0017ګF������� b-�^�B@gi[p\u0005@]�S��Ԟ\f��\u001b;-\u000e/�F�C)��c���e�;�\u0000�\u000f�\u001d\u001f��c\u000b�\u000b;��S�%䞌NZh�Z�j\u0000\u0005N�:�\u001c}����&ďO�����-~�\u001a\\b�O��=\u0007{�:;�;E��-�\r��\u001c0��F�5��P����xs�9O�>�i���+\u001cO�;Zq�y�|����ӥ\rc�\u0001u�\\�\f\"UZ,\tJU���#=7�t�6Q��m\u0011�V\u0019�\\�\u001e3q��\u001f>��m�E \u0000\u0016h�4 �\u0015�Mv�o��aW|���!dX\u001b��|��\u00009G�E�~z�\u0000�+�n��\u001ci?��5����H�\u0006O���B�Kmg\u0001Z�ͨ�ZK\u0012S��f�ێ��ڝ�>��\u0007�)\u0018�\u001f�Pc�#�G\u0000�2�f}�����)Y��e�n��\u0006�ͳ^O���q�B�p�b��Br�E�,R\u0007��J�u�'\u0005\\\u0011P����BoU\u001e�\b<����#���\\��x��﾿.Oޏˆ\u001f�\u0017����ߨ�\u001b��\u001e��^`'�Z��cπ\u0000���M٤P\u0003�L�ޣehֱ\b�hQjE6�l}��6=��d\u0004��$`\"CU�\u0007z�\u0000L�����H!�o����8��\u001c�}WX����u\u00016��+Oվ>䝣g��\u0011�\u0007��/���G�GP�����W\u0001;�����MVq�\f�\u0012\u0001�������\u000b��\u000f�\u0011e����j����f5��Z|��8�NFS��l�r\u001c#�$��\u0014\u0004��\n~>��\b���)��|z��s^��\u0000<��_W_�>�p\u00057��;nK�����C�f�n\r:\n\n\u000e��'�+1fe�1#�:\u001a�n���郒ErVD=i˥|k��]�̥�bA�9�:F��\b\u0014�iL��A���]�\u0015���_烅�#*(\u0004�~u?�>�� ���\u0017�=��\u000eG�o5����\u0016�\u0015�:W~�xg��A����i?� �>��?�k\u0015;q�ר�\r��\u0011���Q\u0012I\u001d8}�z�k��\u000e�\u000f\u001f�&��;�\u001fF�C�9hf ��e�u�iZ�\u001a�\u0000O�03\u0011ד��w�Ojvڻ{��`˛��uT��\u0000�*��Ջ�k��Oz�p�!�\u0012��\u001e(���\u001f{��\u000f����Q��}�+�\u0000�\u001c\u000f����_��������\u0007��\u0001~���#۷A��\u000eO����m�m�7W�?r��ݰ��q�mb�~גy��7j\u001f�c�\u000e\u000e�\u0012\u0018\u0011�:}DZ�e�\u000f/zg��Y\u0000>?��� n���n@z=��\u000e�b/�`�n�Rk���G��\rs���\u0000?\u001c�槸%Q9G�~g疃{��N\u0014��Ǩ\u001b���~_k/>�M�b����R�\u0005\u0000���\u0012�z\u000e�}>?v\u0000(�lN�V�����\u0011G~��\u0002v�\u0001>�Ҹe�y)+�Z��=~_/\u001c�]�\u0014�\tF,\u0000�@\u001f?\u001a�\u0000L�:�\n�BW���>xi�\u0015�r56;\u000e���`��u橽7;V�\u001f�\\l�\u001b\u0006��-�:\u000f�ƽ\u000e(��[z�)�$o�{c���{\u0017����)��x�\u001b5��5#+\u0000G��\u0000:u�<�䃒S]�ԩ\u001e>�\"\u0012w�C�ڝ��u���c]��ԓ���ɘ 4$V��K\u001f���\\�vE\u000ejdi1@h�\u001a��m��R\u001f�����\u0014�\u0002i���|3\u0002���H�4=Mi�߱\u0018\u0000��Pw��\u0007��$\u0007N�ov��\"���?�q� �\u0014�i�P�������*�x�\u0006ǡ�4�'�\u0015C�\u001f\u0013۷q��| �%<�܍��֔�\u000fN��Do�*a~�\u001b�3��ƕ����̱$\u0001�y�C�ݏ]��)�w\u0003#L�.(�\f��\u001d��{���\u0016\u0012�Gr\nM��Q���\u0006{�#�b�\u0000��\t��\u0000,�Ty�h�g�~q�\u0012�/�0��\\�\u001f�\u000fZqU��w;\f���\u0015a3��nR���#�j����=����qj\u000fѧφR�����ߚ�,:l���#7��}I\"J�K7�Y�u!OZm�]\u001f�B2�!^��g�D��b~Dž��_��k:L�G���h�IJ&�B�n\t*j:f�c8�./�\u000f��Ɣ���d���ߘ���\u001a\"���̑��w�\u0016�g\u0011\u001c�w�t�\tB\u0001��db\u0007\u0004�_�\u001e��Le!;\u0011�>���=���\u0013z�\\!I�\u000bo,\u0012V�Czs��~EhE��>ag(�����\u001cC��c���W7�F����;9�;�\u00075>�'\u0010Bt`?\u0001��$%ʔp�g��up��wE��\fK)�Y�<��P\b�\u0003�2���PC�|�\u0004z��s\u000b�3۫�+o�@����J�φn�r��\u001f�\u0018�D���\u0017���������\r��u)�l�{�i���K��ged��񵵔\u0001c���@\u0000�\f=�\u0018�nJ\u0002�q\u0013�L9�WQ)�|&W_��VC�ã/�ͳ�b���\rxT7��\u0016=��{�9)\u0003\u001c��\u0017���L���φ�=3�\u001a�3IJFD�P����\u0007�>,\u0006dD��[C���KK��->3/\t\u000b��m�\u0005��\u0004�]�W�\f��\u000f$�_��x��䎦�\u0007��%R�_��Ң�\"9������W,���M|�RO\u0010\u0011��柖�g�Ĥ��#W\u001f\u000bP=K\u001f\n��ip�\t�m���W��v\u0003P�\r� \u0019A���AO��\u00006�v�kM�\u001bE\u000e<��ݞY�c$s��R��[���?��\u0000D\r�\u0016��;{d�L�e�ю\u001c#}��u���\u0001Y�&qZQ�*Ӄn\u001a��W�C%�\b�\u0000��Do��9�dKf�O�M���\\�vq�u@t��Ց,\u0006�4^:��Ր�J=2Í>��jk������]�\u0000\u001f�g\b��\u0011\u001c�?�¡�t��.\u0001����[1V#��-Р�RC}9�Ōg��\u00003���-��r��S'�\">'g꭛8H�\u0016\"F���\u0010kQ\u0018�Y�7��\u0014\u0004�Tf4�\u0006Y_.\"~���q�8\u00029�>\\޻���:��?,<��r��̿�|�a\u0013��1>�qkc��L��$6��M\u0014D�i�\u001e�S���H\u0006�Tb,�\u001c\b��Y���=?�9�S�_��G��\u0000\u0003�d�؞��O��F�1��6�n!�?Bky\u0013�M\u001c�5_�� ��<�3\u0007x���,fls�z'�|��_���Y\u001e\u0012Z��/N{Iϧ2�-�� ױ\u001bfN� Ǔ�\\�\u001f��ܬ߾�`\u0007�����_���Z��}����N�\"�T�l�o��殄�@�\u0015\u00079n��q�e\t\u000f�=$��\u0001�`��}���\u001bK�\r��\u00167�\u0002β2q��P��7��44�\nu�h�ự����\u0019�]�\"I%��\"K\u001b�#ni�\u0004$}��Ǯ��\u001b�D����\"F�\u0007ʞu�h��sy��ޣ2�7&%���(S��RE:x�D1���\u0019�\u000b\t�\u001aP3�\u0018�^Ak]�z\u0017\u0006�\f��\u0004� \u0016s�\u0019\u001d�!�\u000099�5���tkb�\u0016�K0Z���V5$u`+Rs��Q��p�R��\u0007{���R6�W̝�=_��Y+\r��7\u001f�N���U�ڠ�*[l�\u000fg3\u001c]��\u001f� ��\u001f�`2�s���? ��Q,�\"�4�ؑ�\u0014�ZUz�V���bD\u0011n�8*�mo��\u001c/��^��R\u0018���E��\u0017���NƠ\u0003�\f��&a)\u0011.V>����\u001c\u0000J=A���&����\u001ew��v�U�|ê���۲����]C�h�Lu\u0011�\u0006���҃�棲5���j��\u0000pCZ\u0004�\u001c��Ŕy��r�+��9;G�\\�L&�d�LD��\"q�4�3'�6\u001c`�Sx�hFq���:���3c�\u0003\u0006y�?�G$��� �Z�+����)c�>n���\u0000\u001c3h:���7PcC���y:�\u0018��g��\u0019!�]>\\�sa_��'������\u000b�cB�x�r`c�U*\b��/*�f^�O\bv^�$\u000f�\u0011/vܜij�&�\u001c���#��o�/��?�L7�Q���ycNfm�`�E*6\u0015*\u0005{�{\u0019�N\u0006W�VOC�4LuF2�\u0000Q�����H��\u0011=\u0002��ȶİ�܀\b��j���i#�vx|�JD\u000eCw�7�6�>��k�\u00008t�\u00176�S�W��\u0007L��;�?R�_8�Cuot�U\u001bնr�m�\u0019�}��9�}�<���\u0018��~�b+���^IC\u001fe�\u0003�\u000f$���4�o�g��]�w�˥���O\u001a]���έ�+M#�l�w�\"��Z��B-�m&\u0015*��2�Tf�Ru:��Le�#Q���#��s�;]?�І�G�\u0000Lc�'�ѰD`\u0006㬃ٿ/�ke\u001ex�D�{w�;ʖ�\u0004��ކ)\u0014�����n�\u0001EsW�#}&\r�\u001e����«[�\u0017\"v\u0007{>g�a����s��\u0016�M��7�|�+D\"��\u0018�i?(�\u0003~%*xp\u0014n�|�I�\u0013�H\u001e����W#S��<\u0000q^i\u001f�\u001e���/�?�\u001c<�)�\u0000/���`��5�\u0016Q7\u001f��\u0003��&P�h����i{_$�GU�|_������>ˀ��/���|�aֆ��{���kz��O��I��9��`��OI\u001a�q1�ZG��:�'M�\u000f�s��\u0001~r�\u001eNW�2�>\u000e\r�W�>g����\u0017�`�-!ӭK����P��RMB�e!����s�Dg5���Q#�{Dl\u0007@?[��a�\b\fp�{$�\u0000\u0011�����SR����OVmCQx�M-E\t7��F���;89Jǰ\\��cɨ\u0013�q\u000b�����'a�r5Yg�\u0001�\u001d�L�G����h�\u001fs*�&��G����-�8�������V���Wj�͋x�14p�lv脅�1���+ݵ'Y�\u001fdvI�\u001f�\b|��7�ݗ�����S7���W�~��isE�CY���$�\u0000EM7�\u0010G�\u0018 \"�Go}4�N�3�i�o\u0013��\u000f(H�y�o\u0003~q\"���?ˤq���*�U\u0015\u0007�x��HA�\u001f�vf����>p�<�$��\td\u000bɐ��z\u001f�\u000fE\f��v��N�|$�z{�w�Fh\u0002+�*y\u000b���\u0018R��xّj��*��xls��k�e�|2=?\u001c�~\u0019ѱ����\u001fC��I�\fA�\u0018��ԡ�w�6C$\bؠ\u0011\u001f>�\u0017���Ide\nC2�*H$m�o�\u0015�\u001f\u0017�\u001f�x�<���jZU��O\n;\bb?\u001c�Fʴ�N��0�Z�i0�Q-�E���qu\u0012��\u0018����/�W��w��1�z=픲�W�NK�)?\u0002�j~\u0011M�Fj;?�L\u001a�ÔJ\u0019��?\u0016<��>\u001e\\C�n>�\u0000��\u0012�g�辷�榮�h[��W��o��\u001c���[a����~���\u001em���+�o����$��8d\u0001�k�\u001a�;)\f@�#m�;d\f�\n��<ߛߚɯy�]{[{I$�����\u001d�RO\u0015�p\u0001�w��',�\u0018�\u0011��\u0000c���g {�{\u0000��v�:i�S��~��k\u0005�粜s��dV�S�E?�\u001f~��;�����TR1Ϻ�d�U׶\u0002�ϿOs�uʄe���r\u0014\u0006�\u001eW�\u0000?�\u0003�\u001fM\u000fˮ\u0000\t�\r����vS�|��R�`�\u0014=w�aL5>t�\f�jF/�����$x�\u0000\u0001�\u0007\u0004��\u0011!��*?,�`�b�Ǿ���d:\u001bX�}F�w�<��\tlY\"�ۑ�����w�skٲ��\f�W\u0017[�s�h\u001b�����������\u0018��Ci\u0015g&��\u0000�Ђ\u0012�9�>�v�gh�z�\u000fG�{o�����\b��w��<�B���ѷ�\u00194\u0006\u001b�S&��ӆv\u001a�l�&p�<���=����0L��\u001fX�\u0007�����G\u001d��@��Y}�ڣ�fv\u001f�}�\u0005��n��/g�SS��\u000e!����/��2*'�\u001e�G�+������1���>b�|�e8�<'��2;\"��z�\u001e��{}\u001bf.Oh�,��l���3�@�\u0002V���/^\u0004VҀ\u000f��\u0001�j�<�����Sw&>���\\2�r\"�ɚ���\u0016ƥ�ڧ�\u0013��l��\u0010vlx���\\�^�v�\u0007�~����K�ӭ�K��0E�\u001e%�Zҹ�O���Z�Ӟ#q��b�ٴ�H��*B\u0003�}Z�az\u001f�O�)��<��yS�[{f����D�u��f�������)�s$��\u000f%�W�o���؜�\u0010�{�����]�|>�\f����욓\u000f\u0002@��\u0003�\"vP�m5�ӧ���\u000bh�'\u0000\u0012k�t?ƙ1�|�M\u0019+���\u0000:�%�O4�іJ��r?\f�~��\u000b���\r��=�����I\u001c�rS�Z�m���OO�cv-Hc\u0013�\u0018�w�����\u00071́B1�j�\u001f��2\u001c5�\u0013�\u001c��v�����#t�[m\u001a���ҟ�#Ti ��)v�q޿�\u0006�+��XW�t\u0007���\u001b�D��\r\u001a�M�\u0004|)hR*+���LR\u0002��\u0013���zm��\u001b��r�\u0004Wj\u001e�\u0000�酮R\u0001!��w�:��\u0000F\r�ϕ!\u001c�\u0000\u001e��^أqϝ!_�_��S\u0014�ߢ\u0006R{\u001e�OΟFGܞ�S+/}�7�����ړH�w��7�^�ʦOD�\u0004�A�\u0010z�?vT�X�����r����\u001c����Ԉ\u0015\u001d����~\u0015�g�U\\\t\u0004t��_\u001f�ɍ͡��#�{�\u000f�\tY*;�6��t���\"��yv��\u0000���\u0001�P�\r\u0007N�x����N\u0011�H���\u0000i������\u0006�%��~>hY\u000f_\u001a���w醷h����i\u0018����\u0000��\u0003!!�Ų\u0006�\u0004\u0013�ߨ\u001d�VG�:�h'�7�}P�\u000eB�3\u0006��ߛ��i��ʍ_�w�}]��\u0012G��]��ԖF���������9\u0000��=����;3��\u001a�?^0%]��\u0007ȍ�/�{I�\u001e�Y��e?��\fo�m��\u001a w�\u0001�_���;��ʑ���\u00137�2�g Oo��E�s�\u0018���Z�-ݴ�pd�n��ol�a�Q��?ĵ\u0000��{�ܡ�`l\u0011�y����˧��;k��\u000f(�\u0002���#�\u0007���ϙ|�}�\u001d��w�2\u0017�ɚ�Ժ��uf?���fek9d?\u000e��\rv̍,a���\u001d��b�)��{���\u001by~\u0003���[�%k�:ޖR�G�\u0011���H{[�:UTp�U\b��\u001d��O\u0016;��e�*��e9Hp�4o�B+�\u001e\u0013���\u001b=Z��ϞH?�2J�s\u001c\u0015g��P}[Y�jS��K\u0010�#�L����\u0019�e\u000e8l/��;>E�\u0000\u0011�y\f�>��\u0019ݙ�\u000e9\u0003 ��\u001b�����2�\b�5�F^����_�?-��q�M.!�i�J�w�<��K]{D�R����K���o%+\u001c�\b=k��ˋ&?�f�\u0013׸�Dy���$\u000e9\u001c�\u0000˕\u001eD\u001ec���󦙧Nl5�\u0000.]~��αk�KD�?\f�h�R[k�\u001f\u0014Z��0h.\u0010У��\u0015�&\t��-��Dt���ˆ&�};����\u001eW{3H�!X\u001d�w�A�6\u0014\u000ei�a����|֩��o&\u000eW1�\u0001f�\u0016��\\R�?\u0015\u0015E(\u0006ٹ�\u001b���bO����\u00008y\f_�?��B�R���?J<\u0019�\rg�Bb\u001a�\u0016���5ï���`�\u001f��~�\u001dn�\u0015\u0003�(��#���^���n�w�n\u0011�Չ�T�\u00062x�$�\u001a\u0011@=�G���.1ͻM��\u0002\u0004������׵���:\u0018���P\\�\u0002��n\rG�3\u001e\u0006�@����@��u��Q4.\u0002��α�<�\u0000In�2�m�9d�\u0010<��wlC���\rU�U�#���Y]�w���In�mm����u\u001b\u001fl����[2�*F�|W�8I��!��\u00033\u0005 ��~\u0012+]��0�#z!]��9=ϥ�\u0000.4V��\u0012p\u000f\u0015�[�\u0000շ5;s��z�41�1�)\u001b\r�\rO\b��O����\u001f��(��+\b�-\\q�\r�˿�\u000fђ�\u0004�A���<Ũ�֣\u0015���L��Z\u0012��b�`\u0006��ʠ\f�q3�H�\u0007Zg�ʘ�r�\u001eV�i'ۣ(\u0014\f6$�Q��#z��;�]Lo\u0001�\u0016q\u0012��l�C�*����9#��㴬|����?=�k�|��Mges�k�3��}k${}^��\u0000���*g r\u000b2�-\u0017���\u0019�Z\r^aF�1G�\u0001c�w\u001e��95\u0018 E\u0019\t���j�OH����=Э|����bE��6$��u[�\u0014\t�s��{�RM��\u0001��#�`�&3a\u0015�b����;y��J�����9Q\u001dA�7�Zy����:���~�m!����\u0018�RQ�R�\u000f�a^Cb7\u00070�\\T����4-��\bm��\f�Y�\u0007x�|�k�\\@iFO���f�u��o�5�v\u0019\u0000��͚��\u0011��_�� �Df�Vd�r^�\n�-��ͫ�\t��$�����MXtX�:B${߮\u001eN�d֟�_��k���\u001b�7����/.�GG����]Ec$��<���Z�\u001d8�)���ˏ��9�?�\u0018��ɌFu�\u0000%q��\u0000��/h�rv^�\u0016�K��\u0003<7�\bL�\u0004��y\"?�}]�_���������\u0017\u0017��\u0019�\\�e��*�)\u0015g��U�\u0013�\u000e��qD\u0011�r=�\u0000���\u001fZc�d\u0006Ĩ\u0012:��z\u0007�\u001d��3�\u0016Ō3Z��G���#�4m�;S9]\u00191��N�_�zMX\u0012��G�ÿ�\u001e�\u0000���W��\u0012�E����s�.\u0016��\u0000j\u001dH���ln'bvpa\t�UnM��W���m��<�y\u001cԑ�\r\u0010@8�ִ\u0004�K\u0010:S:\u000e͈�W*D�:�K��\u000b/����O,ܟM5;{�h9I���\u0011=��\u001b��\b�s��C��l�}X�Fu]:���Q�@�p�L|����c�q����J��ӭ\r�K���Ӣ�O���T��z�j��+_l��S\u0001��$�Ն�͇��b�9v�4N����+�\u00170\u001ac|�C�����\u0011:�\u001c�(�-��v�d���Bp>��)@�]�\u0014\u001bV��{~-Da��t\u001f���\u0015̃����r^�Q��{�q\r�\u0002\u0016�<��+\u000b�d�\u0004�����'��Y\u001e$�F`�Pm�p=���u��ef93�#���w������p��82\u0003��e�ׯ7�z6�\u0016��[y�W@�E����;��p�(\r�1D@�C\u001f'�6�v��V�\u001c�C���G�w7��Ϟ9�\u0001�\u0012j7��t�\r����潮��ɫꒈ쭃O�Y��)�+x��J��J�\u001c��\\����;\u0011�c)�D�w\u000f/�}���q[�7��\u001el������\u0017��K�e�Z$D���XYD�R���t$�\u000fhd:L#E��� �\u000e��\u0000�\u001d\u001e8��\u0007W����ו�`\u000e���>����\u0000��������|���Z�Ao/��*œ��肶z\u001e�a\u0017+�[X�j'�\u0002;�54\u001b�:.��N��\u001e�\u000b?���\u0001\u001a���\"u\u0007lq$\u0002~��s2'j\u0000����\u0000�=���/�_�#���o�#����u\u001b��w��Y�Z��P��-s^�5�\u0019�޹#ҩ(���{M�æ�\u001d.�/�\b\u0001�o�'�؞�uz/gsgͦ�ƿ\u0010�9H�\n�K\u001fILt$��}�m�\u000f/%�6V\u001a��׷s\u000bHt�wV�@\u0001.̋�qB��N�ɝ.iD�q#\u001cE�����\u0006�\t��%\u00132h\u0001��\u0003�<����r��=;O�-��[�܁{���?Xu\u0011�v�O�k����\u0017�\u0000�����\fo˙�r0c\u0019�~c��lG��<��\fG�r'��h_�:����^y�V�ה�x\u0006����k�V��R�0Ʈ�t\u000b��a�;&��\u001cY��ǧǗ4�t1�?3C��}���\u0017`��G\u0014�\u0013ł\u0003�yrD\u000f�\u0013�x���\u0000奮���&����-|���%�e\u0005��6t�o\u0000\\�{[��]�u\u0014?���)�_���������_�b#�\u0019.��%���\u0000Z�\u001a\u000e�(=�Q\f~\u0018�E��07y\u0012�_Ia�\u0004�J)B\u0001�}��ɇ�&$\\O�\u001e\u001b݈i���Y��im��Ƒ�\u0005%��<��\u001f�-�K6��r\u0006X��\u0012b?�?��E����-,b���ۧ%��\u000f�3�����;��\fN8��\u001aTS�j��\b`(k�˭\u000efG��\u0018ԁ�>\u0018��|���)X�#\u000f\n�r�*\u0019��;�s_�͛QQ\u0017�w�@�\u0012l�\u0016ߑ\u001a\u0014�$k\b�@A\u0012F���w\f(A�3�r��/��\u0000��4�\u0000��ӕV��N5هΛ\u0011���ŗW�p�D������T��\u001e��hڝ���~\u0015��p}��l�ůՍ�\r��8���\tn�1�U�����'��(��Ҝ`�݊�彛�H����Y����jkL���2w(��\u000f!i�_��?��T\u0018�K�\u0005��{�q~]؏�D{v��d�e{��\u0010*�9?/,��1��?�J`�x#�-\u0014���@�\u0000s\u0018�t\u0003��\u0007\u000f\u0001^\u0018��_ �\u000e���E\u0000�W���5�r��\u000e���4�\u001fOӏ�$�D�\u000f#Y��$�\u0000�\u0015��X|#�D\u0003��%����\u0019\u0014��\u001f�N\"q6\u0018�Gɏ��S��/Y- c^��u��k5\u0010\u0015\u0012�t�$l�\u0015%�����l�\u0004o��L']�;]&:<\u0000،F靿冑\u00158�‡�V�p��^��`5\"k���;+M�q\u0011i��\u0003MZ\u000e\u0010|;}��\u0000k������0\u0015�\\\tv\u000e�����\u0005Ӆ>\b<>���ژ?�.o�\u001a���A��\u0005���p�\u0016\u001al:/o�\u0007�&����\u001d?@\u001d'�t�\u001b\u0003�֕\u001b\u000e�\u0007��>��\"��(�\u0016�\u001b��iz%��\u000b\u0010^>#���9���OXw6���\\zx�\u000535�+�M��mߦ`\u0001�9N���zdH�Sv����}�-��'�V��:�\u001e�\u0015�q��n\u000e�\u001a`\u001d�����戃i\u0017���Oڐ�\u001d)�]�O���� \u000f^����\u001b|�{�e���@PA��=���H\u0014�'��\u0004\n\u0010~�\u0000�n�p�\u000b\f\u000e�\u0011\u0002�\u0004P\u0013O׈\u001bn�}P�\u0007�\u001f\u001aR���0����\u001a�?\u0017ʙ\u0013\u001e�N�{�\u0000��\u0000:\u001c\u001eC��xn:\r�?�+�W}QT�i��;�~��7\u001c�$_EX9Wڿ?~�0\u001e���\u0003\u001a\u0003]�?/�<�M�!V\u0014�~~=qLN�,����~�\u0000F?z�rI����~C\u0012��6)\u0014�MA>>5�\u0000l��ÞÒ\u0011�O���1Q��!\u001f�����\u0002/��\u001f��x�%c�AK��\u001f�iJc��@=���呵拳\u0015j|���r���l[ �\n7�)�t�U�:=y������\u0006\u001d\u0018Pu��O�5��\u001d�H��\u001b�\u000fn�#�8:Z����W�?\u000e�!��\u001d|�f���m���\n�Z\u001e�o��;m���䐰��>_��U\u0016&�ӭk��ڀ�&�U\u00065\u0014�޿O}���w\fH��\u0007!�=�{w�v�O�z��P\u0004�!\u001a��C��^��'\"k�g\u0011 .�o]�w\u001b�\u0000�jS YY>�AH\u0018��pjj)��J�d}'��\u0003.1Γ�5\u0003\u0015֕\u0004mW�\u0017\u0003�\u0018��J5J�Ѐ6ϡ}��ai���a���n��\u0000�,���/\u0000�����4:�\u001f�?��\u001bo8�YGc�\u001f/\\9�ѿ0��\u0013\u0019\u000e��H����`ĵ��R��Ս�\u001dGgk�`�.��\u0001ǡ�l\u0011�\u001c�N\u001f�\"<�\u000e�I�6X�r\u0010�B<;�\u001c����=(�\t���Đ8Ρ�˿�ȟ+j^R�RM+̺w8.t]n\u0015��'��n\f�\u0005ͳRI�\f�bx�E2ѕ�2�\u001d����GS�Bx$6�~�\u000f�|��O�ů���2Ǩ�҄��\u001f1�wJ6%��\u001f�<���\u0000���\\~^�l$�����������:C]��ZjR�%\u0016D���v9�����F\u0007�U��5�'ϸ�k\u0003&�U�Μ�=��{��F����U����X5�(�ѕլVU����E�\\ڨ-\u0019�\u0010V�rz�\u000e)\u0001�f�\u0015�\u0016��O\u001e:7�\u001d�����KȺMͰ�g�nM�5Pd��� ���-F6Wj>(�6=\u001b|x\r�\u00196�𞅁\u0017S��]\u001e�{��K�;����ѵ'�u����Q.Q�P�]�GQZ���\t�\u001f�}���\u0018�\u0018��H<��.��_�\u000fRt�E�5ɛ����&��\u0000�D\u0011�~\u0014Ӽ�\nzl����F;���M���\u0001$�<>c�}�G�ܚ�a2�\u0004k��7[{�B6�z$�͋ZM*Q���t�2�\\8fY\"u;)F\u0004\u001au9VX\u000e.(�\u0012�\u0002~��!��wV:l�\tR\u0003\u0019\u0001\u0014<�|1�:���2��q9̛Y��\u001d5�H�.#��'S�H�\n�hHb|\u000f\\�N\u0006\u001e��\u000e2v\u0015!��O=h��\u0011 ^\t\u000f�ɐ��U4\f�b��}�\u001a�%}�ʄ�\u0019\u0003�'������\u0015��p'\u001c���\u0012?\u00055�\u0019�֟�r%\u0018�WP�dxC�W��^\u001a�\u0000�ם�ca5��q\u0006�k�U\u0012-\"�b��Z\u0017�g�\u0019.\u001f܂\\�S�W7��\u000e��k���Io���\u001d~\u0005��/8T\u001bQ�=\u001c��\u00002\u001axp\u000e9r����=�j�\ns�HW�t��*)�/\u0000w�\u001d2\u001aI֣�����1��\u0014�\toy\u001b1��\u0004�\u000eMZ)\u000b�\u000f�ee���3�O\u0000�9��+\u0007�7�Nj��+�3q$$7R\u001f\u0000w��ٻ:\rI��?�<�o��b��b~E���y��-�7\u0012\u0002һ5�\u0014ݞ���]��\u0003z���\u0015�Ɏ�r\u001a}��\u0000C�??5����ף�v\u0011�z=\u0013��r!\u0004r�,\"�đ�5k�寸�{ڒG�y�\u0013��./�\u0010\u0003�\u000fM��b;[\u001e3U\u0011\u0018�3�d�����\u001f�7\u0012�Z�����E��ڃ�\u0019�\u001e��z\u001a�d\u001a��y���^�&\u0013�\\~���@�\u001d�B���c�\u0001�;m�н/�\u0017�Z_�#\u0017r���r�r�խ�\u000b�\u0014|\u0016��)��b{\u001f�{f�R\u0011��nÖ@Ѿ\u000f���^B�V��\u000f4��U�C5���^����h\f�E�N8Ȓ��1\u0007q�\u0013\u0014a3���|��E�d�1�����{�ѷ��?�:�e�Q4}M�mB�\u0014\u001e��'+�DkGNG��T�\u000f�h5\u0018\u000e,�2\u0006��\u0015�������˼���-(\u0011���2F�jb�\n\t�_�`h���a�\u0002\\�,dz�?��_�V�%��ɖ?BX�#��\u0007��\f+��\u001d)��\u001d;�\u0013�h�\u001f���M3K�\b������*\u000021���z�L�\"\"�V$�b�{�忖 �E���!KH�YE?wA�c؂z\u001a��Dx��r�\r��\u001f�O�?=|��w��� �'Z��D�\n$j���\u0000B�|3>\u00105�\u000f���8���w\u0016Mo�|s�$\r3R�|��\u0007��\u0000��V����J8���7�ZZW��`�r\u0005Næd�c\bd&�D}���\u0019'��\u0001�\u001e��;-RM^]_Q�ﵭj�@V}N�H�\u000fC��9읙��A�w�\u0014~�����Y1��?j&���\u0018\u0011ŕh\u0018�\u001f\t\u0003�w�a��3%ő�S׿\"m�_%\u0018�A(+^5`��!��N1�gQ��T�{��{K\u0013�C\u0018����3�.�I'�\u0019\u001a!u��r�IEx�Hne���\u001d��q$Ш�g7 '��S�c�D�d@.�\f+K\b\n\u0007�\u000f�\r�H�\u0000-�?��V��\u0005��O>\\Z]�\u0010���O���t����\r\u001dhGv�߰�\\\u0013�+�Q����dže�{L\u000e�y��NQ5���\u0005u\t\u0016��K˺�7�rp\b�$�LB\u0011^��\t\u0000\r�ί�4\u0018��B\u000f�G��1��d����\u0017���}���\u0000�\b�����?TpY\u0012n2\u0018&\u000bBK�*m�\f:�\b�=�:/�j\b��W�^�A���H⾻�����^k�kX�c\u0004�\u001e���@���8.^\u0016\u0007c�?\f�!\u0012,�n�\u0014e�{\u0003�yyu~<�vLo<Ϫ\\�V&^���\"�qQ�\u001b\u0001�.��\u0011�ʜh��ۗ��V�s�>y����ฎ�6I��\u0015�\u0005rE\n�zm^���AǚS���=�}tu��\u00020�4�cʬ��\u001f�\u0017�W�?�~T�/��[{í間�\u000f8����(��\b�\u0000X)��QZ���~3���40'�\u0011��\\�gg�K[\f���L\u0001�'��~��\u0000��<�%����b�~�=\u001e�ɏ�\b��Ur\t\u0001T��\u001c�Oa3�Nx�ˈ�_�xe.\f��C�~\u0013�:\u000b�~j�UFS��[�\\�\u0014�p\u0014�P�\u00006?N{>�R0�ڈ��x\f\u0018��\u000b�\u001b�>��\u0000�蹇J��\u0000�|��m����m~��o��y|��xa�$$r�����m��8�g�ǧ�g\u0002�OU\u0001�\u0011��\u0000o7���\u001dF�\rІ�G�\u0019���\u001b[�\t���������ۧ�t�(�\u0015�Z+\u0015^���Ӡ�3B��y\u000e��݇qUQ\u001b\u000fw{\u0010�]c�~f��Mm���m�!��\u001cj�,I;�H�5kҙv\u001c1�\u0003�6�\u0003`�>k�\u0018.��=c�o�\u000fϯ/�R��\u001f����W~w�-��2��OC����\u0000̚�)��\u000f�u��o�_'iӳ\t/n\b/\u0018�\nI!\u000b��\u001e\u0012sK_���D��\u0011\u001d��%�d��r\f�4ئ3�\u001c�}4>�,�GS�L�H�>�h�o�\u0017�^\b,-��lZ0���\u0019Ū�\u0003\n\u0004���\u0005Ac��M\u0016\u001cW)���/˼�\u00045YslG\r�\u0017���1���������-����)�k�\n\\��“iZ,��V�r)=��\\|1�r5z��J=B�\u001d#�)��?77G\u0001�\u0017�֐m)�s�3χ�����_[h�]Gj#,��e�1�\r�\"�D�X�Uh\u0007@\u0000�G(\u0013��}Ydn�{�\u0016#�6�\u0006�r�������y�\u0000�\u001f�ʢ1&��t�j��Rj���ֳ�y;Hs��]��<�N�!�C�\u000fe�Gb�\u0017hv�֣Y��Gx�\u0012�?p\u0000G�^s��g��s��\u0015zm\u001eS���c\u0019CO��)�S���yo�g�c�{�kR���\u000b��qg�^i��������f���$�N\n5>�\n\u001c���]D�v��}1�\u0018\u0018��V�#��q�u�\u0007d�'E_�&o��\u001f1�o��\u00000&�\u0000�_�+PA�E*\u000ej���Ӵ?c\u001b�W���\u0012I\u001eP�*jX��k���k���y1��\u0005�O$�\u0000���\u0002k}\u001eƟ�\r�ڀW\u0007\u0014���5~b\u0015�\r���.��lcb\u000f�A�8�H����\u001a�h/\u001f��]�ȍ|e\u001d=��\u0013*�\u001c4����Q\t���u��T��\u0000v�ݿ�|\u0002R'��\u001dD\u0006�������K���\u0000\u0019@�>9a���jq�v���y�\u0005/c\u001f��k_\u0001�J6w$n�Q�u�=����^��Jm��\u0003�䁡�\u0016����{o�ǧ�K������H\u000b\u0016HG�`6N��۰?��:s\u001d;w�WRj���r\t�?��&��O�1����`\u0000t+��]\u0014�/�;#O���\u001f�$6�-��\u0018�#W�JƔ��W����Lo���LJz!?4l\t?�I�\u0000\u0004?���\u001dy�?��!3��|�()��}��p\u001b�B�c\u001a���e�\u0000-1����?^K~��C���вm�����Z�8�=���{�H���fA�\u0000HS��mO�%]/u������J�*}���\u0003֒s�\r�2���\u0013`:�\u0014\u001f�\r\u001e���5e\r/捊!o����*\u0006�\u000e&�_�c�1MG�H�\f�_D�W�eQO~�L�F\u0002̇.�3\u000e���\u0000�\fN��go۬��\u00005|�\u0011�\u001a�G�5�u����6�j?IA�~��}���\u000f�\u0005\u001a�^�\u0016���\u001e��\u000f�+����7'���\\&Q\u0010��\u0014\u0007z?7�\u001a��y;�0�\u0014�ʲ��H*܆���7�a0z��NV9��\u001c�Ƈ�_�A���2#њ���|���\u0013�u�(��xo�v5�Ey?�����]�e����-Hژ\r+��\u00001�|��\u0015�\u0013\u0012�\n��\u0000?l������M�k�� \u000fN��wFS�QO\n��'��\"&;_\u000f�\b�CQ�Q�������\u001bӿQ�d�\bi\u0014��S�>X9\u0014Q,v�>5���܌\u0015{�<���=G����\u0019\u0011t)\u0007������w�O��\u0013WK檰�#o��G�\u0019\u0013�H\u0006ѐ�C����`e]��̼\t\u001fw����󵐭Œr�h\b�?Ϯ;\">J�I����߾\u0006[�K� $1=�O�\u0012\tٍ�8�\nR��v8�i&�\u0014#n?\u0011N�\u0000�:�����H�EkP�z\r΢�lڍ��ޒ�1���՘\"�f���\u0001�p\u001c�\u001f�a\u0019\b����>(�����ߙ�\u001bY����ߚ����_��\u0019\u0005��f%fp�p�\u0005�+�A2�l6�뛞��\u001dF�Ӵ�\u001eq;��;��\rn�\u000e���9b}3�ӏ�=��ا�\u001ep�ޫ�h��;�r/˶�j�]�l��\u00003t]5��\u0016�J�>gѐKq� B9ʜ�\u0006�\u0015��t\u001a�^�C\u000e����\u0000D���=^�\u0019ū��k�07�Gz\u001d�X���c����m�_�\rr��3�Pyn��kj�{ugo1�\u001d�����7p�m���YGD'�Jg,O����\u0004F��+�����\u0006Ly8���ߝ\u001e�#����睤s�Vֆ�#��|��r\tl�a`)'�,n\u0002�kw\t\u0014G\u0002��9Q11\u0002C�\u0017ȏw�o\u001f���={���2�7hz\u001f��ҞX�'�)qn�\u0002�J��H���u��D�|.:�<\"q���F������>��$\"Lj��?g���\u0000���BսM7Z�C��\u001c��x����Dѣ��TWR:\u0010\u000eW�R����\u000f���D�����\u0016]\u000e�u�}\u001e-N�D|�`ˤy�\u0018Ք\rV\u0018�յ�S������w���l�\\&8��?a�!�Gx>Lr�Fw\u001d�\u000f�w�����o�f��Z\u0010$_NE$�U�Բ�\n<|r1��谖�\u0011��}O�\u00008qq\u000e��\u00008��;\u0003V:\u001f燞�,t,~��跐��TFzw9gh\u0012e��:� �2J�-P�\u0017S\t\u0003^ ��\"v�{��<�s\u0005ͽ�3*�\"��r��r�z�qZ\u001f�\u0019��D���p\u0003 z����WQ\r�c��HЎD2Ƃ���\u0019���3\u000b���\u0001�Ƈ����&�C��+��#�4��BQ�\u0010ZZ�Q\u0017����Ρyu�jo�\\�.��k7z��%�����w:\u000e�� Sj\f�{m���r`\u001fLa\u0011� }��}��=�2K���e�����7��.�\u001a�\"��\u0017�\"�mea\u001c�!&�x�4�\u001f�f\u0018u\u0011��\u0019�t�?�'����<�y����}�\u001d�z��W(��q\u001a�\u001b\u0013�Lr ר؃�cv�#�� 9\u0002�i���g���E�/\u0012T\fhK�^�oN£�k��{�'o���\u0004����\u0000�H���ae-��u�4h����Ҍ�UÚ��-B;�\u0018u1\u0019��w�\u0003�;�\u0000Ac�\u0018��=G���W�G�v���y�G�P��'[�t�\u001d]8�4�A�c�c�������\u001f�?�G�\u001a-���\u0017\u000f\u0003���~\u0018ߪ�#}�L�O\n�Y��\u001d��Mq\u0004\u0013u����T�ҵY|���5��g3\tm��\u0003�\u001a%ͼ��'@\n���1�K<�\u001c�\u0007\f���W�/��*�[\u001b\u0019�t}E�-;^���\n�J���M\u0005y7l�ś�c�pZ�b��OO��\u0006�������\u0000����l�-�蜣�\u001d��PmZR��9�\u0012��e\u0011��0�eF�w�w���\u0003϶�^]�\u0017�u\u0007\u00069C��BJ���\"0F\u0015�֎M=��y<8�}D\r{�7b�\u001eXD��.�n,�h�5Ri֜x�^�\nЊ\u0003J�s�;\u001b��F��x1yN�5�9�o�\u0014�)��!4�N;\n\u0003�OL�4����[��\u0000%��׮O0����\u000b\n/(�ު[m�\u0000�gO؇�s�Z�\u000e�����H}�yF1\u0014&[x#�I�y�5}+�&0�:�ێ�ܐGc�r�R\u0004\u0018����w�]�c�\u001f.�?�}�\u0000�\u00008�W�U�/�nL�|�Yy��)͍��� ѧ�~���P^T$�k��d�G\fu¼1�\u0018���2\u0007��񽿒#U�i_\u001f�r\u000e�\u0011�0>\\�]���V���R��\u0005�2\u001a�7�y\u0000�\u001e��sдZ�����x����-��_��|�\u001f���4�1~�[N��\u0007x�\b�j�$#�:����Y�\u0004x��\u0001�����Ց����*�����w�M{��G�'�n�j~�ylX�S�\u0004g\t���\u0001�2_\b��������\"}kRR��}��v'�\u0017���\\��Ҩ\r�\\��FQ/\u0018�T���:T3K\u001b\u0002Z�x�p��W�A��I�\u00198up?\u000f�������G��>�\u0000�r�D\u001f��L���x%�4��b�V��!�z����H\u001bpH�1���%�(�_\t\u0017��n���x��\u0002\ru��H��d������kh��i�<\u0006i\u00126vh$�yL�:2�\u0018V�3�=��aے�d<\"S��o���+dž�1\u0007��7���t���M'�T\"��\u0004�9ՌEga�Dc]П���={��d���Gh����͈ɪ�z\u0012\u0007��\u001f��5����>]{�};�?�>U����i\u0015̳_][ĭ�,V~[��\u0007�0��\u001c�~�&y�}�?C��\u001f�#��0c���M}��gS�\u0002M�[ծ�t�\u0018\u0002�\u0002�D���\u0005��ۛ*� l7bOJ��81�}Y\u001c�\u001f�\u001aSɔ�5��\u000e��WD����K�_#\tt;{�q��mN�5�Z1��y[G�\u000b����n�B�\u001fP�s\u001315�܎�~n\\#��|�����\u001f\u0017�ߔ�W��\u000b(��|êN�Z��K��Z��5��^��Ժկe�q�\u0005�0�Ȉ6�,��H\\���?\u001d�,��@�:���'���S����z��ե޹os\u0005���5��g\n\\k��Qx#�\u00161��52ܲ�3Y�.��i\u0003G\u001e���q��������ݤJ\u0010�f��\tuIQ�L\u0011�\u0007�,�5��U��\"?���<����n^�y���f��'\u001d����'�6Ns#�\u0004j\u001d�O�|�\u0015����1ī\u001c0G\t���\u0018v��q�>\u000b��\u000bN�9M_\u0004\u0006�I�N䟽��s\u00173�\u0000\u0014\u0000\u001d\u0000�>\u0014���ĵ�\u0016Q�v集�`�\u000b��4mB����m�5�~�\u0014\u00154�HiDbrf��\u001fT���b:ȷK-�1�)�\u0000\b�O��\u0011��z7�4H4d�&�]����׵�N����*\u00073Z�v���N\u0014�\u0015\u0007�5����z�'���LJ\u001czF=��̞�������\u0013ş$��.���\u0003h���_󚟒��3���κ\u001c2/�?+f}oN�ؘ��|��W�:$�w�\u001a�}x�׌�\u00027'<�ڎ�\u001d�����\u0000\u001e����G;\u0003���N\u0003a��0��E��\u001d>�9O�dp��$�}���'��N�ϣ[JX�\u001e�X;\u0013R\u001a0A��\r�6��\u0012;�\u001e��\u0002���r�o�_�d�#�˺3.�OB\u000f|�'�\u001a��qu5þ��NuK����w����J��҇a�=\u0000$ӫ\u0000U��_�\u0000�]�n��i^�t�����~�'ݸV]F�\u0000z]�lzz���JL�\u0011#��W�\u0011\u001e�~\u001a�����iI\u0007���T\u001a���ڜ��\u0017Ň�E�J�d�\u000fs��\u0019(�&4e�ٗXjW@\n�u�����+�\u0006\u0007��h\u0001|�����B��L笝E\u0004o�^,�C\\1 �ڻ����\u0001c!��{���ڽ~�����z^A�N��:��\u001fryl�GȚ�4�\u0005z\u001f\fU\u001f%���M�Cۧ݁��oɊ_/\u0017�\u0007�?�������;��D�T��\n�|�w~k�x�jmZ}5��d\u001bG _����\u0019�4��u���6\u0019�\r^�R��b\u0005\u0007���2B�J�M>}|O��鑳U�v\u0005i�\r�����v����\u0014���c\nB�\u0010\r@5�~��x�\bSr\u000fZ\u000e������Ҩ0��\u0007���q���h��L�\u0018��<�;�nX]��,y���*^y7Q�Q�.-��<\u0000��R�{g�\u001e��x5?�?�K\u001f\b�\u00007o��hL����\u0017�\u0019,�S?(~ai���I�5�+�\u001a�%��6䠐MhP��T|@�S^��k�s�jdb?wf�,�z�k0\u000e��>/1�Ϻ����\u0005��S!��3#���\u001c�\u0005\n:�\t\u0003ƹF\u0011�F��$�(��\u0005�ϙ�ǫ�?X��\u0005��\\K\u0002�����I�X��V\u0003��y��6p8�F���㛄\b\u001c��=���\u001e�{�1~P����Z��I6��A\n^yO]�9\nI�[�s:�\u0012�*f�0O�T��j��xY\u0000Ʉ\u001d����<�i�!\\x��Sݰ��\u001d~�^9�K;}a��j�!�/�W�\u001f�\u001f%Kqq\u001d�\u0003Ev���k:Z1\u001c�\u000b覈t�L��\u000e]�N��%��Q�Ƭ���E��\u0010�\u000f����\u0018\u0005���|�\u001b\\�^�\u0007��h��˦�\f\u001e`��\u0003�\u001dCM\f�ڤ|\u0007�c�?�\\�8�b�w�~\u0007\"\u0012��R��ȃ�R�W\\�杨���|��+Fh�x��U�\u001a\b/-e�2�=\u0015�^Ƕ\nǨ���(\u001c�\u001c�g\u0012\u000f\u0018�y�~��\u00001u�3�'�]�֞_�)�]��$ytk�\t�\u0002���=(n4�XH\u0004�[�a�*����<=O�\u001c����\u0006�����\u000e8�7�������R�\r�VR2��Oc{\n���.�[�Y�D%���֩,71H\u0019X\u001a\u0010k��Gj�9��&$��\u0017ӿ��\f_�ߛ�$,����q�05*���wL�:�8��V���G'\t�.t6\u0000���l\u001a�˚���k ���u�\tV\u001c�4�\u001fz\u0018�~\u0012:\u0010s\"9@���rHۄ�/�?��?��\u001a\r;K�.[�}Ҫ�$�\u0018ZN�\u0016kVbh\u0002�J�����\u000f\u0010>���|\u001ac#\u0019Q�?��_���$\u001a��K\u001cqȌ��Pג:V�˰\u0004f\u00115��n0��S����m\u0007Ͳ����*�+�X$�@�Z)�u\u0014\u0014`j2\u0013�2\u001b\u001bI�������\u0007\u0007䏟���ˢ�A�\u000e|��i\u0012�[��Y^��\"���\u0002�y+��K\u0016A��ys\r�$���\u0000a���}�r�|G��YԼ��\r.�/���\u0016���������Zz�<\t\u0019���08I��\r\u0019!\u0019\u000fO�}y����\u0000��}\u001fFx|���$q\tu=Hz��Ht��\u0011Нڙn|�\bu;�豁��<��G�{��{R5\rA�\u0016SsrC-\n��\u001a�� u�n�A]���\u0000���;X�\u0000�\u0019��U-�FE\u001b�ND\u0006�}�\"�;��o0\u001d�u�l����[U�a_N���U\f����n�\u000f�:^ː�2�<�\u0002~���Pq�8�3�}���\u0017\u0012'�\u001c��\u0017���H\u000eyr��f�3��.W�ݓ��}��\u00008�{-טu\r&@xj���|�'\fC-Ɣ�\u000f���=V��t����ò��vV�\u000e߻�i򏉞)}�\u000f)�\u000e��Y�Ϳ\tÞ\u0007�1�\u001fl\u000b�?2�_O�nĬ����5�\u0018�\u001fd}����:-\u000e���oj�y��|\u0000�v��-3]�ӯ-添h�-'�ԫ\u0015ud~�iB�\u000fћ�Ԏ=f��\"�\u0004���љ��\b������o�����6����m���\u0017c�G�F?\u001f\u0013��\u000fM�y4�ŚQ����\u0014�\u0018�\t�;\u0010l�z��\u0007�Jp�o�b��SA�\u0015\"��QA\u0019�ӝ��\u0012k�w�b�[� �\u0001�^D\r�\u0002i]�*S���G�S��\u0019\u001d踚�c�����q�]\u0016�a�E̗\u0010‰v�\u000f%�s\u000f\t%P��\u0012=>\rV�;S3=��ņR��\u001bt}�#\u001c�\u0019�\u0019W��?.\u0007�\u0019�h�y��.\r\u0012�$�Y���y��(o.{o�\u0004�d��I���t��v�ߠ��)�M�d�m�K{�}bDF�������6\u0012���#p���ag\u0014\"����6�.L��o�q������V\u0010A�$\u0001�\u000f��fG\u0015TG�=�o�]_y��\u001fW��t����sIM��\u000b[$̼�E��R��� �Y�b��k��\u001d��.<�m�׸r\u001f\u0000�tp�*ňp@�\u0002;\r���G��ھJ����\u0017W�-sr\u00028�\u001a��\u0000�$���\u0014T\u001eC�s��d�D`6���0G\u001e g9^�����\u001bX�|�#Zh\u0016�i�����WLR7Px�V�\u0007�f�]��s\u001b.\u001d.�#.��j9�\u000e\u001e��\u0016}V�\\\u001aX��z�=|�:��˚u��\u0018�\u0002Z��\"Ow-\r�ю�Vm�p�EE���ίQ�Rx�}\u0003��?o��Î8}1��2y���մ�oJY&b\u000b����õJ���U��\" l�a����e\u0011�W*�L�$R���\u001bѣ�9\u0014���5\u0005\u001dX�3U��\u001e��\u001f�s��˟*|\u0017a�\u0011�8y���'�i��w\u000f��oї���\u0003�X㔠�\\�]^�:>�˂\u0002�qqDF~�>\u0016G��49<]$L��\u000e\u0013���\"���\u00002<�\u001f�m�!xC�U��>\u0013Q�v=�8��R�\r�e�&p�|��\u0000B�d��X&䚘��M~��l{?\u0000\u0003�\u001c\u001f\u000b�XL��\u0000�v�\u0000�GM�J\u000e�v���\u0019}\"��N\u001b\u001e]��-������T��2����dAk��}��:?��\u001d?c�> k�c]Ϗ�\u0006?���'��\u0001�A�\u00008秨�\u0000xb�A��A��W\u0007��t��o�|\n�ˢ�S�\n��ɤ��:��\u0018\u0004S���M��K\u0004c�\t&X{�\u0001��<�|�|�c��IJ\u001aTo�N�\u001b�U�c ��?w�qr\u0003\t\u0010y�:(iW<��)AZ\u001e��>�(���\u001aއc84�=��;�ǮL\u0012\u0013�-��\u0001ʻmA־�g\u0017C�m<�⴩#�v��=�L�\u001c;��$�i����\u0003�\u0004S��\u0018��\u001d\u0002�KJ�$\u0000OS�Џ\u0002\u000e]U�M\u0012��b��m_���\u0015t�\u0013V�1��ӧZ\u001d���| 1VE�#�����}+V�.\ba'�M2��C��\u0000:������Z\u0002:W��}8,]\u0013�#�Wv܁5�ߦ߉������Ow6:�M=���g��\u0018����j\u0005{����\u001b�ܚ�F�\u0010}��X�\u0013���G�\u0007q9^���|\b��c��\u0012E<\u000f_�J�-^�JV�\u0001H��������\u0011v\u0000\u000056���ϊ�R�_��H�6逩\"���\u0011I$\u0001�����m}i\u0004b�&����o��}�8�޴�؏~��ƒ\u0011/ ���S�\u0018<�ш߭X��Ɵ�s�����@µ����6��ĞC�^���z�\u001d��ԌSZW�u=?�\u0015U��܏���7���h85�\u001d�\u001b\u001d���W3��Ԡ#��ژ:/%&=;lh�zMٹ�E��%[�\u0007 -^��$�ƥKP\u001ax�|3�2\f}���X�῟G��'���{@�Cˑ\u0007�[�ٷ>i���X�[_�\u0014�6�ȳ'\u0005�\f�%\u0010�v�b�\u001a�9�e���\"h�ws�b�Br�&���|�\u0000\u0001�眴\u0015����goY�H�B�oY�A�e$oݘxdq�<���J$>\u001e󇔵]\u001e��V��!���כ/�����P\u0002\u0018\u001d�،�\u0007��pe!\u0003}?\u001fk\u0019����m�\u000fR��/\u0019e\u0003����J����#��Q�2|H��\u0000\u0013����+�O\u001aK�i:-�ķSX�\u000b�\u001c�W�\u001f�=�vx���T���\u0010G�\u001e�$'(�\u001c���p��]�o��<��X��\u001b�p��.\u0016:�ߩ_.y�Ԩ�\u0002���\u0000��\u0012+Sg�|0O\u001e<���#���^,����\u000f����W�5�\u0012�����\u0016�u��ճ�]�Sζp��\u001fVu�$POr���\u0017aFR~x%\txf\u0019�\u001c�O0G�����|�!���\u0011\u0012a���߱\u000f1��_�.�I?-�)�}WC����^\\�̰j��u��y4\u001bG�f:���\t��GzCE\u001fdS7M�\rx\u0018ϨC�7�C�·���FC�}����w�͞U��Чu7zG�4-F�\u001d��\u0013��qf��ІV�+_�/��d��$\u0007ӒQ��]VcZ�'\\R��\u0002G����y5��uy\u0014�M?$�@���\b�\u001a�\u0010��f\u0005q\u001e\u0012=���sޫ�z���KoG��#�\u001c2L���V\bMy\u0002�S�1� z� �Y����r�QkO�}>�\r\u001b_�U�p\rKŦ��r\u000f\u0003J(����\u001cyb:�n9\u0017t����Au�\u0016ER\u001aW\u001b���+W�Z֔ΐ@K\u0018˄�{�O��2%\u0016\u0001~\u0019%�0\u000f\"�F�*;���\u0014�>�F�[�\"O\u0017�\u0001��d?��ز�,�x��t�\"�\u0003M�^�4�\u001a��$��1\"\u0004�-���\u0002\u00016z~�|�f\u001bU�\u0011�\u0005�K�2��\u0005\"��PE7?,���\u001e�\u0019@����㦷�=���G\"�㺷#Ǐ\u0011�\u0005FQ�y�y���oH�\b#J�J\u000e,�F�>\u001a\u0015�)��12���R\u0011����\u001e����\u001f�\u0004�ʐ~\u0010iƥ�*Msq��$b:[\u0003�\"�����O���G���#�h�\u001fʓ��2_kW���7L�n��4�H-e����W楑�4��gb�vi��f\u0004j\"`H���\"G�\u001a�N�'lg��ɋc��w�^å\rȾ��?��\"y��V\u001cWM�~���j�C\nƖ\u0016Q��:\u0013��\n�\u001e\u001eم���d��V\\�?m\u0006�\bc�\u001d\u0013\u0000blS�|ѣ+J���\u0010�X��S�\b�]��\u001cy7�o��\u001eo[���.tY��J�赡��w*\u0003�D\u00073c\u0011�\u0019��\u001d\u001a�d\u0002d���\u001d�\u0000�o����\u001f�h|ɦE�jW\u000e����\u000b$���k\u001f�m�$�����k�D�by��dUs\u0015���oo״�\u000b�\u0019~\u0018�@$�5Yv�����aۭ2�/Kd��E0k�>�\u001bV�}>.h�\u0017�����\u0014?\u000e�c�\u001e�q2��f\u0004G���\u001el�!�^�]�mm���d�pe��8��\t���\b������I�VCB���65i�߮�����S��D�T�\u0005��%-�\u0012%�;�$���L����\u0001\u001c|'i\u0012>��.�f����RJ\u000b��� \u0004\u00143�\u001d\u0007�S����\u0000O�����?K�]��<��T�\u0015t�\u001aP9V;��BOS��su�pJ���kr���-��f2x�*\u00185XDG\u0019Ux�[�l��/\u000e�4G>\u0003�8s�Ǩ�<�\u001f\u0007�y^(����)9��1W �� �^��Ӯs�Ⱦ.��`t}��\u0001s=��\u0017�\u0003:�.�\\Х<�\u0004]w���\u001c�m�ku\u0015Γ��z51�t�_\u0018d����n\u0002X�J���;��K�)�sDޤ7{��[G!aĒ\n\u0002\rz��\u001c�b��=��O(\"2�9S�\u001b��mpeI\nT|g�ù\u001fh\u001e�v��Ϋ��\u0003&#�tc[w�\u0000c��\u0004�1�\"���c�{�m{��i3H���\u0005\u000fR\u0011ׁ��@��������\u0010/����ىi�\u001eo\t�ѵT�.\t<9+һ�bMX��Wa��$e���\u0019c\u0010cO\r�\u0011Gu��`�CҔ����n�?�\u0019x�u�e�]ϥ�'�Kxg�f��A\u0006��`C��$�5(G\u0011�':\u000e��ˢ�ο\u001f��X8a�<_I\u001b�p��ח�\u000f���<���\u001f$y�U#[�\u0007��5�e�*���*\b���w*VK����V]���a�u����1��2p�|�׻���^��ip��f�f�!*��I=�~k���\u00000���\u00008����_���;�y\u0016O�+�'�:e��%޹���Ȧ�<����\"���6�x&p��$,ƀW:�g�OS��gf��œ����\u000f��\u0003��;SNF��%\u0018���'a)\u00028��\u0011r'�\u0002�ǯ����\u001f��ͣi����\u0003��\u0017⾽�T�ƹ�\\�J�w�\u001b`萵����ҵIn��XD��@�\u0004fF����}�)��B�--��p�<���Vk��3�=�����Xy\u0013��mP\u000e#Z��\u001a��$�\rZ0�m�Y�ゞ>9��j�˺�\u001f�6�xbO\u0016Rx���[|�\u0000l���?��\u0000�\u001e|63�v��\u0016Ҩ��:��-�P��F�@�Q�\u0000U\u001f\t�sS��r�\u001e�w�ݮ(b\u0011\u0004���;]��������o�h���V�\r��q;K\u0011�pR\u0018\u0005h��\u0016xUҥkQ��\rv�~\u001e\bKo����m\u0016����b��\u0006)�%A{u�Y�zX�k$�\u000e��N�_��58�\u001e����hz�{\u0013�\u00079K�\u000ba/j#�4t}����\u001d���y�(\u0001c� \u000e��^I�����U����۝n�y\u0013�wM&�����[���\b��.#s��!-�SB���8\u0007�;\u0017\u001c�\u0001�͐zϜG(\u000e��:M.RN~��\u0019e;�P>��c�~`z|��,z�����\u001d�\n�mm��ӆ\u0002�\u0005�$Z'��E(:o�v��.\u0018�g������L��\u0000�A�{��5��\u0017��1B\u0005-��o�}B\fd��\u00103\u0007<|-9���@�dۘ�/\\���Z�^F&\u0003r[�\u0013���\f�O\u001d�'�?���U:�ɑښ>����'z�����kr�����D�W \u001e\u001f����\u0017�v�j�\u0001��\u000b\rJ0>8^\u0016qit�1�b��4�K�\u000eϙ0�\u0018\u000b�\u0011�?-Ɍ��h�l�}����K-�w\u0017���f��A�ƭ�\b�}�\nf�\u0005mn�\\���[@�G�\u0018��F�\u0000/\f�\u0000+���+�\u001cC\u0010��c�����,\u0014=�I(�R.�8���ӯ�ч�@��8�4<\u0013��\u0018v<�����ㆿݧ�\u0006��{\f��+�D\u001e�\u0014'Oj�\u001f�n�<15��d����s�\u00009\u000e\u0000ԭ��#�F�x��޹��=�GK�\u000e\u0006Rx��x��-8��P\u001e���\u0015�`�\u001d>䐦�\u0015\u0003�v4�>Xc�ȡ���l7�;S��\u0010:\u000bM�'��[����A��;tVEb�ڣ�O�qL \u000e�e��]��\u0007-�:t�5�\u0019>|��^��u��oO\u000f���0�:�ȝ�\nïC���n|r�#ɌMH\u0013�P��{�\u001d�;{��j��w\\�٫�R\u0001��Ăc�6�B��NG�nāZ�޸��U��ҕ�\u0007��\u001b\u0013�! ��F�Rm��ꥸ��H�|0J�O�1���O�lo����\u00008�(:6�?�O��\u001bw�3I��\u001e�Nn#��~)\u0001�3_�\u001e=�g�M���s�T�z#S�\u0015���\u00004:��ߩ�\u0000?l�\u001e���}/>��\u00127��{��\u00052�!ד�V7\u000b�\nu��t�Ӂ$m��.�N2Ҥn\u0007��ڹY ���zf�5P\u0002{\f1�a�yuO��O\u001a\u001a���\u001d�:I*\r\r\u000fC��6Ɏ{)Jf��׵MF\\\u0005\r����i4�P���)���{�eW}\u0015.�j��(k���q\\���E+��A��N�ّ�Ǣ�\u0013(\u001b�\r��Ǧ�\u000f^��.ԡ�\u0000҃��\f7|�\u0004���vMw�z��\u00003�\u0005\u0005*�Z��ۦ,\t�G4 ���~�?�O\u000f�y�+�ƒ���\u0006N\u0017� 1��h��N>]\u00114R\\!?\u0016�m���\u0015o�PM(+�{\u0013��^�i�\u001e�x�Ƿ����i�8�}�����R[�\u0013�U�?/\r���9*U2Pm�~�\"yZ����8V\u0003��\u001f�W1�+��b\u0005m�<�P\bާ�w?<���m�<������\u001ba��j�u=sZ\u001aQQ��ޔ�j\u001f��\u0018R�ʦ����#�����y\r���O�ژ��T��;�S�j}�0�4���{�5��{~8�ߪ�q�\u000f^����S�A��Qg�<7\u0003�%VGr\u0001�z\u001aCRk���Gʹ\u0010\n�_%\u0006?\u0015:n~G۽\u0006$P��Eu��\u000b �>\u001b��7\u001e���<��t�m�X�.[N@k��.�\nl]�\u000b\u0003҈�����ri}��g\u001e\u001c�\u0006r�~�_e>a�\u001e�:��<&�\u001d��s�P�e���\b��rޟ&�m�1\nj@ P~��􆰜r\u001c�y���g�n���\u0000����K�X��l\u0001�_�2�@��VK�Q�\u001e��:.�֜q:<�\u0018�\u001e�Qں^9~f;�(�����.��̟�:��5ap�L�\bQ�KD�9 ��\u000b\u0006#��A���\u0019c�\u0000�>�\u0006\u0007.\u0019\u0013[���r������MZ�\u0012�h�S^\u0012����} \u000b��Վ�k�\u0002\\'�{�\u001c���'~��c\u001a��\u0004�Ͳ�t�\u0004��x�f�\u001fM]OFZ\u001d��+�%�w�\u0005\u0013�B�����[��Qi�o����\t��H��!�i\u0010�J/�\u001f\u0011߸�3@�v8�{^)ʸk�>�\u0000�G�ג��P���|�gs\u001a�(�܈�F�:��ڠ���9l@�\u0011[��|���\u0016Uo�'�\u0016r�D\u000b��EOO��!�hhԢ��xg\u0013_“\"E���7Ah��~�i\r�;��u\u0004r\u0000\u000e�\u000b8 7����1�$tn�\u0004P�>8�����\u0017�]կ����\rGG��Xi��|QMm\u001c���sٖ7UaPA\u0007\u0006m(�\u0001��r��e�'�~(����$q� ��\u000eDu�����}�{�?/~{�{���\u0000TMC�\u001eC��'�Mc\r��{�j��\\j\u0016�Rokuq\u0004�@J�3#E\f�M��n\u001b\u0013�#\\��D�:t��WlKO�zl���\u001e �n\"xH\u0017��uן{�\u0003\\+\u0004�E\u0017\t.U��ƅ�����\u0015�v��H\u0000l�pĮ����|��\\}X�IK\u000f��ʠ�*H�\u0002v�\u001d�a�\u0004�=�NK�������\u001d����P�\u0015����\u0002yrw��&��H\"���c7G\u001b�|�_k��\u0013��\u0006�bdբw��e\u0004��c�\u0017pX��\f�\"Dq��\u0000Ÿ�\tN�x�Zi\u0011�w��F��[\u001e+Z��/=�kQ��\u0019��\u0013�˾ܜ[@\u0013�S�O�o2�k�\u0013̫oq�cԮ�cUaE�Ѿ��\u001f�DYV(\u0011�JM�\u0003Ds%��jم�vAQ\u0013�We\u0014\u001f\u001b\u000e����|\u0015�ݎ\u0004\u0002z�\u001bO�_�€\u001f���ҍSO��P\u0012pc�G�2\";������\"��Q\"J\u0002�\u001a�`)��~y^x�\u0000�@\u000e�\u0011��8�*|/���zvW\b\u0018�k#���\u000e �\u0011�j��\u0016�\r\u0001*�q�\u0011�@�\u001fJ�\u0000Ϯt;K��4<�t�/�-KK\u0017\u0012�*��zdڜHz�\u0012�\u0014S�\u000el;g9ä�\"jF�}�����s�#�C�\u0002W*�h��b�/u�5MsS5��S�\u0002��q$�4�ϺrsO\u001c��a����|9\u0019��{%�y\u0005e��\u0016\b\u0011X��\u001d@���\u001f���O�<�\u0000�\tYx�+\u0010��\u001e���lA)��l�訤���FB\u0001�>*�A��{\u0014�����ߧ���k˒,P��d4*z\u001a���E\u0019��\u0011�\u0017�8���έ���\u000e��ysT��kG���&��\u0000b�X�f\u000bq\u0003����!�Bp�'p\u0019c��Q\u001fU��/Q�������dh�\t=Q�M\u0010I���)��7NҶ��͊I���\u0000\u0011nRn6\b�\u0002��\u0018O�\u000e�ÄJ�~ykvl.���\u001a_]�����sȞ�@��>��h\t�?�1� Gȗ̻b�i��s;H\u0012\"d�⤽x�@˽Z�eA\u0019�\u0010#q���H5�[C\n@*g���\u001a����E;�\u0000\r��򙎛-�\f+�A�G�_+���r���\u0010�Jc��_��H\n�f�Z���4�\u0006&����������O\u001e�_#O����%\n�\u0002��ʤ��Q��:\r�Q�]\u0006s�b@�����\u001c�\u001d��L��̩���;YY�;�ֆ�\u0017��G\u0000\r)@h}�{I���\u001dD*��\u0000\u0006�˙�C��_\u0016c��\u0003�s\u0014�\u001b��˯*0$�m��J�\u000e�Qf�9��\u0017\u0004�9\u001e�\u0012PR���RE~��i�\u0004�q�\u001b���\u0000&�Qx�W��s�Aj����'���V�\u0019�����\\�o���3qGW,c�������\u00009��|����~\u000b��?B�_����8��6�qy;Jx#�pc�9\u001d�\u001f\u0012s��SI\u001dW���8I9r��&g�v=���판�(�\u001dyV(mG���\u0000�\u00009S���\u000f��\u0000:�7����c�?��#�z������O:j��4�DW-\u0012K�i�϶��x�Uؽ��G�&�1�r\u001d�\u0000~>.>]NQ�&R�f����\u000e����yGG���\u0018��ͽ�k\u001a�\u0000�ҬM(F�l�|\u0013ɘ��n\u0011���\u0011�~9?@���\rw�\u001e^�u�,~[jz֫���ya�ɧ�y�[܎1O\r�FU�\u0003^���?>�K�S-8�\u0018ㄨ�\u0006�Kv�O��\b�%\t�r�1ؑ�]�힎���>q��k/#y����\u0010�-��ZN�\u0014|�\u0016h�֞���dq뽖���'7\u001c�\u001b�\u000f�9h}�͌\u001c8'\u001cu@�\u0015�\tM-?�\u0012u&��ο��-�⏝�<�p������{{�bs�M5J�V0�֛��>��FX�\u000fGS<�d�\u0007x��_\u0017\u001b�\u00170�v��\u001a\u001b�\u001e�{���7�k}u�u�~\\�Qh\u0010yw��z_��5\u0017�.�O\u0002}cZ�Pz�`֦\u0007Tզvގ�1�(3��1��mI�v�ie�\u001eW�?Տ�\u0011�w�\f�m\u0016!���G\u001e)}U��\u0000ZG�3�5�\u0003��ʽ;X�\r嶭�\u0014�a�v�\u001d:)\u0004�\u0016��@����є��r���\u0016\b�\u0018\r̍�^���4�mFѳ�\u0015������tz�[�zE���\u00040�\n�\u0001�\n�Q(\u0000���T��\u001f^w��!�jU��w=\u000b�v�4k�eif���\f�.\u0011��\u001b���\u000b�����w��\f�\u000e9��S��\u0000=�[e��6>K����\u0007���c����R����u�\u001c�(��cCO���c�@Ak�����V���6߮\u00026�5����r\u001d��`���_��|�\u0000\u001c�v��\u0007Kp2�\u0000x{�\u0003ip\u0013�N�\u001b��q�i㚺�A��-���w�Sj�\u001e��ɁG�ovocx�\u001f\u0017�\u001f\u000f\u001a����7іZ])=��^�?�1\u0004sVQg0�ڽv���$9$rdP\\Ң��(w�k�0�O�5���c߭\r\u0005i�1\u00017ދ[�A����r����eqp\b\"��]��\u000e�:�2��(H�����|?s\u0015\u0016P\u0012��\u0001��^�:�\u0014\f�zd��j\u000f\u000fjx��q�T���\u00065�Wju�u\u001b`��\u001dY\u000b�\u0004�x���\"}�\u0000�ֽ���_�X�&���QuR\rE\t�\u001d����-�T��W�\u001d\u0015��{��~[��3��5\u0013��eos���*\u001ekޣf\u001e\u001diS���{���\u001b�~��\u0000�8�WF���\b��t�L��گ��鷏��x��q�~������\u001b�}oq�}�\u001f�P.@��d�ψ|VIqN����,\u0006��'�ԖM5\t'nԨ������>�ijH\u001bS��\u0000L$w|�J\f�A'�r\u0003m�.������:S��x���z�=B����xS�Ȕ\u000b\u0003�\t-ѥ\u0003m����\f��)ߢ\t�+Z��L\u001fr\u000e�\t$�\u001dOM��y1>��\u0014�o��8\u0018ƺ���ω\u001f��˜��;\\�z��4��N4��ߺ�\u001a�PhO�~\u001d����ۙ�?�zꀑF\u001d;\u001e�Ҹ�Q#�D-�Ȥ�~�֔?�\u001c\u001d\u001b\u0007z\u001aY�\u000f���\u0000mSߦ\u000e�Jg�^[7�v��8\n�d��\u0006�ڟ���\t�Kg��l\u000f����$��_�6 uE��\u0013�P��9r\t�ˣ������MF�\u001d���Q�5�J����\u0003s޾8��W��Ezt��ါ��4��ޛ����\u000f��i\u0001c�\u0002��(G��G݀r�[�~�F�צ�w�ͪ�aއrw��\u001e\u0019 i\u0007qJ%����\u001d6�㇊����Qg�^�PM:��\u0014�M�|�K�\u0018PP�\u0014=:���Q\u0011̠�5;-\u0016�Q׵\"\u0006��۽��\u0004�*�\u0000����Y��ѝ\u001f���>��Z@/\b���װ��S�}�\u000e��d����ه�g��^G�'�L�d������\"��ԦT�w�QT\u0001�\u0019�K\u001e��,�\u0010\u0007\b�\n�\u0000J���Q�_�ë��\u0019�..�\u0000�����_Y<�F!$Z�O��(���3O���K�≾\u001e\\�=���'�<���d�}��^i�YTI\u0017��\f6$�P+�3#�X2GSB�\u001f0�C$e�Gk��?C��0�O�!�K\u000fRh��H�%x݀,�j��ǡ�:�\u0001��\u001ed\u0002�$��$H���0��\u000b�8�J����C�+Y\u001c'�#�(baV�)=A�S)�T$(�8����G��\b�^d�\u001eY�3?�\u0012#)J,�\u0006;|�~��\u0012�}6X�4�4��U���;\u0010�F�qГ�W�\u0007����0\u0002�س���%x�Vq����3B�V-*r߅H\u0014��y\n\u0004ʍ�JvxA/��05'���\u0016�\u0014ây_L��yR[�-ۊ\n\u0001J��_g�'�y�N<���|��;F�R��Q��ڤ��(A�S��v=��n\b��K��˘��\u000b�VrV='L��V\u0015m�-���&�\u0003���sډ\u001f\u0010��\\�Q\u001c\u001b�\u0014�����0]�\u0004)���S�����.d�K����2x+\u0010�p\f�dd$j����V��NJ��S�c�I\u0004ֻn{�$�${ܡ\u001a�g�݃u\u0012��K\u0005�U,��\u0014����آL��!��|�*��\u000b&��r�#*�+0&5\u00145��kZ�r��[\u0001\u001d�D��G�\u000f���?ΝLEirܪ\u001dZ\"\u0001��Gj���gM�p�8���Nf����\u0011�?�\u0019�\u0000�%<�v�#�?5|��\u0001hW՗O�%�<�,Ni�$\u000b$\u0011�\r\u0001l�v�yK�~�y'�\u0000G�����`\u000e\\����<��H�\u0000���*�j��� I,f�/A�\u001f�\b�FaC$j�;Q\u001e\b�-�[�^�3�%)K9\u0014�oY\u001dv?ʔ\u001fvy��\u0012r����\u001d�k�\u0007��P\u0003��:�\u001c'�/�o��\u000b��»\u0011�A���W��!�#V��w�/���b9ʂ\u0012$�𤍶�r@�\u0014�sL�r\u0000h�e\b�\u0001�}\u0005�\u00008�斗NM.y\b�F���\u0004�\r�����I��J�\u0019�`��{4BU�\u000b����ӡ��Ɵ[���l���]ז[V�Ӧ�<����\u0014 �w*����3�ŧ�5\u0004�TE��\u000e-���=3E�%G2\b�>*(C\u00026\fAa��홓�B�L1D�-��:m����\u0016\u000b�[��I\u000f�ddW\u0015�6Y+��q�Y��\u000e\u000e�\\�X\u0001��������:��-6\u000b6!\n�h�\u00157�#؊9�\u0011��\u0017u�\u0002\b��D��~f���\u001c�HZ���\u000f�\u0016��D|�z)�w�c�߫Y�^�~;�\u0000�Jy�|������\u0019,4Rt\u001d8-J��j�H\u0016���\u0004���z�t�Ɏ\u0003�L�����&y��C�M �3/�-\u001d+]��]�;e:�+��$�1=m�l�=�(�K��e�N2U�POS�ݟA�\u001fR�w\u0005��\u0000�|��퐏/��<\u0005%Z�*%RU��\u0005:��S�\u001d:RI,_Z����ۚq��g/@���ˈ=;|��Q��K����\u0000�G����u\u0006��\n����k�\u000b�4�\u001bD�y��~Xq��\f\u0011��%�֑�b\u0019\u001a��\u0000O�\\�\f�T\u001c�v&N\u000e������:�؇\u001fd��e�ҥ\u0012����[��+���z��$l\u001a��w\u0003qC����n\u0018��.\u0000>ǖ�e��nr��\u0000d_\u0004��B��\nP�\u0014Zv5'bI�S\u001c�œ�v99�\u0010��\u0018~��I��q2I���L��:�a�-Њt\u0019��Z��⫠�b�pkk�I��L���5m\n�Q%���P��X�#���6�'\u00100�c���Q\u0000�\u0000\u0017'κ�1��*\u0010�ݸ�jv�j�\u001f�6��\u000b\u001b��d�<���\u0013r��bҏ��`�\u0006�y�\u000f���@ϽiɔR�j��5\u0017.��q!��5���~��/��\u000f�U��\u0017��/�f�+*\b�\u0000*�)|�e\u001b�^�MS�v��D�#��\u0017Q���g!솿\u0016��1�1��ɗo>3@|i���fK]�&R\u0001ៃf�\u0003�=�O{���q�\u001dF����ƫ!��|�4�b��h�<����q9vނ\u0004u�\n�\u0010g�i\"Gg�ɟl��'�-�����\u0012�p�7\u0001?�{��+䶵kdj�`Ic��\u0014�\u0016�\u0003�]ni\f��c[�<\u001ahp���})���O�]\u001f�z_��o?���N�j4�&��8\r奢\u0012���z�}h�\u0011$%I m�9l�����sK\u0004|Y\u001b>g���q\tj\u0006\u0011\u0011�'�\u0011@Y�;�tz�\u0000�7?;5+���\u001f�?��\u0013ij���kW�!��W\u0012�$��&@7\u001b{�\u0012��\t\u0018��\u0010<�\u001b|i�4�\u000f\u0014�;#������y�U֯SM�Z�S���%7r�����0�\u001a�#\u0011�;�ى���*u�\u000fO��㜿�\u001c����c�?�\u001f˻kI!}B��Z�r$�Ii4\u0010Nk�� ���v5�n���\u001dT��b�E\u001fs���>;���;\u000e��~��'����XF���l�IGP]UB��qe�[p?��7U\u0019d�@X��ҘC\u001f\u001c�\u001a�ǟs���s�j�H�y\u0005�,0<�\u0000�}Dݛb�\t\rO]�k5>&\u0011D\u0018�ݖ���I�\u0004Pߟ/��m;�p�\u0001i\f.�\"r�1�\u0000��6�G�|�e�Y�n�9A�s\u0005�:n�}x�\u0018��Y9P*��v\u0004P��\u0018o�̱�.��\u0010&@W&[\u0004W\u000b\u0011V2\u001a�\f�,k�R^�]�\u0002S����# |��!\u0017A��׬<��O�CR��=*�\u001b�\u0006�I��䎳ܑ�'e퓞�U�Ih��������J�y\u0006\u0011å�h�2�L�\u0011�$�>e�^b�����\\�\u000ew,��?t\u0004U��'<�Y!>��a�Ĉ�\u0000�\u0015oq����\u001c\\�'���ֲ\u001a�?�-\u000b-�ZS�_\u001e�\u001f\u001f\u001c��F\u001eK\n�\nx�\u0000m}�y�����W�[a\u0007�E\u001c�a\f����0��wۢ���\u0000�:M�\u0000a�T�7�9\u0019r�d6�����\u0000�����$��*���i�KhǾ�\f�d$���\u001b�i��۵?�f�\u001e�IaxK\u0001QO�:�|\u0000ɂj���ߊ\r�F�4\u001e�;�P��e��*\u0007.�(v�޵&�o��$\t�����Pn=����\u0019;�{\"i��wQ^[\u0010(+��jҵ� w�Pm3��q�_��\b\u0017����O�J����u�/:�PMiO���}�}\u0015\r�Wr��x��_`1@*��Zr\u0007n��\u000e��\r��e\u000b5��۪�\u0001Q�m\rr��W�'ބt��F�\u0014�Y|���)�&5]��Wq^��,��G��4�X\u0016v%���\u00155\u001dH4\u001e {}\u0019-8\b&�Qj\u0002�������g��{�����\u001f��iAM���'\f�B^Q*7#��h�\u0000�g�3i\u001az%]�F\u0002 ,�\r\u0016�|�-�y\u000fI� ��\u001d��Z��q\b��PQ~9\u0001N�h~,��ŗ%p�כq�e־I�u\rwt\"&�\u0002\u0000?\u0013�32\u001a\f�yʏ�bg�Nb�v��\f�4� �\u0001��M��1��c��,\f�\u0012�\u001eN�$�]��t2���j��a��\fd!.b�#��m$sc�ZC,b�c�\u0013q�\u0000\u001b��̈�`(���k91�h�Ċ�S\u000e\u0002�ңjm�\fȖ1�v���4G7��ry��M�c������\u000e\u0005£o\u0015�7)K�p$`\u0014x�Y����=����4�r\u0003XG;����?sĴ}@\u0010(z\u0000\u000f��ʇ4����m��ꁿm�&6E�z\\և���y1�Gإq/!Z�޿?o\u001a�$���\tkIRw\u001b����N\u001b'rz-���\u000e��6����~j��p�1\u0003�=:x���^ԅ\u0006�R����\u0000����M\u0007ʕ�{�$m�(��\u0015c�\u001d6;\u001a���\u0007.H�˪\u0012Kͩ_\u001ao�\\�i\u0006ה�z������$]t�A�+�w����GqЮI=C����>\u0010@\u0012���n�p�0A \u001f\u0011����m��\u000f��#��Y�XSaJ���A��5�ꙮ���\u000bҠ\u0002\t�Q�0{�#*�#����\u000bRC�\u0000�ߦDy$d\u001c�Vں��C�\b��Մ��ݫ&�ˡ�4\u0015���$��\u001bI��\u001b��hi��{u�Fb��hY-�'�$�<\u0006\u0003-�\u000f���r�N�{S�\u001d�Z\r��ޠ=���?\nw8��KCR@?��]�\u0015o���\u0007Q��\u0007�\u0012w]��o~�I���\u0007ު~�+���\u001d{t�\u001ej�e�j�❾��B�H(hN�����y��(s!�R�H�_��62;y�\u0019*\u000e��)�k��\u0003ޞ^���\u0000�N�\r�~YYX,�m�fyu\u000b�]�↱[#�\u001c\u0001��s�/�\u000f�dq䆪@\u001c�����\u001f�|��\bZ�dÓ\u0001$B\u0014\u00071���C�q�T��ǭ\n�B%K]cU�M\tH���NGa�\u0002G�;�j2\tv��6\u0012�\u001f��;\u0004Wd\b�N_{ծ�\u001fR�\u0018�eX�ĮxQ�v�R6�Z\u0019\u0018��m��\u0011��wvR���\u0014?\u001dX��R�wbK����\f�:��|/\u0000�j���+�꨽���c�<5d�=��e8HKj\u001b��>Y�����a�\u000f�#�M\u000b�Q�OM�8��῾��VY\u001a��|��v�G\u0011�e��\u001f_#��:�~��(��7�c���|Y�M'[�.���\u0012��t�6s�\\~#P�㒶���6>$%� q}�p�$8��A\u001f�1��[T��J\u0018��?@�>\u0001UUX\n�\u0000��J\"1�6\u0001���\u001d�\u0000[˼��?PMw\u0004-iq\n��\u0004|d���p�pv�M���=�M�O؈�~��|{��/�g��8��\u0000��bv�#��$�u����g����G;Y�\u0007\u001a홸��t.�>�#����2. \u001c|��\u001d�ˣ�/-�^X���Ǘ��e\u0004ڝ�f4�P��XV4�9>Ԩk���������*�{�\\2\u001e\u0011\fNj\u0015��\r�/�/�q�^Р��ʓͫiB\"}\u0018�,��\u0001<^ݪ�\u0001\u0007�փ!�\u0013\u001b�\u0017���q�\u0004A�\u0015������ݶ���V�`l&\"\"�\u0006�\u001e��\u0001R\u000eT\u0000��\u0002\u000f���3\u0019\u0013`����m+S���\u0000�����\f�&�'�4�W�T*�꾭�+\u0001@\u0007)�Y��X�_\r�\u00122��J&��r�\fY4\u0019������X����\u0016���٦�P\u0019[ӌH\u0000P�T�6��J���LLeE�i���z�\u0000嬄�jE���\u0014��:�R$OR�>\u0016�Q�\u0019#{y�2�\u0000���\u0017��~sw\u000bXe��U�?w\u0005�j��C�:8��\u00008��,|^O%����/\"fGn\f���S�x�֪No2u#g\u0000�C�>��51�~T~a���/o�˛t��^�>�\u001d\u000eʼn�)�s�\"e�\u000e�N�\u0006�6����\u0012*�\u0014��zmW%v'�w��Ę���\u0013�\u0001���$\b�z\u0017*\u00182�\u0000v\u000b��W��:$�ʹK�A�ȼ�h�瘬�c\u0015�ޫIS�c��b�x���6\u0018@nj� \u001c\rI2\u0003\u001c>�^����\u0006)b�\fv1\u0004T\u0003�� �E6%�3_�&z���ے<\u0018�@�\u000f�����$\u0016���\b$$/�\u0018\"����h+� �\u001b\u001c�1\u0011\u001cC���?|�\u0000%�+����\u0000�,���%�K=W]�.4|Ғ�\u001c�y��\u0005�Vo]����I\u0016�%~!�9���\u001c��!�b\u0003\u0018�\u00007y\u001f��l�c��[�;��\u0000s\u0011�\u0011\u0000>i�Áq3�\b�/3���\u0011�H\u0015��?vV%�ts�A\u0015Ր�P\b_]�p9*�\u0004@KJ\u0001ε\u0004|���\u0000���6�\u000fq���{\u000fd����\u0003����/O��\u0007\u0013�(j�6܊�>�g��ˇ��a�\u0007��o6D���\u000e+�jԠo�\u0004���1�#v]�0\b,{�]m\u000b�P�LJ�k\nl\u001d��?XBd� \u0002\b�����N�'q��;���\u0012y+��\u0000�Z�2���w\u0011[WvmBu�m\u0000;\t\u001b�z�\u000e�3 \"\u0005�qr\u0011\u0010Oy�K��\u0000X/s%��H^ie�Y]�]��C#�?�<�\u0013�0�\u0006�nN(�ƇF\u0005�7��\u0014H��P�!\u0003�5���\u0011\u0002U�ɌE�����\u0010\u0001��\u0014ehΥz\u0016�(�\u0015�M�S��}\u000b�,����+x�|��1�ړ=\b\u0007�y��+\u001b�t�䆿�9�MG��9�΃�\u001b\u001ba\u001a�@k�K\u0010~\u000byʀ\u0000?\u001c�ɘ�����\u0017]�ҋ�x�-�\u0003�L�L�w\nAV\bV�\u0014\b���S۶i���\u0011��O��e�󏢓4\u000f.��8=b\r\u0017�g\u0001��\fc�\u0007Q��ȗ\u000fia�ޥ�\bu��/��\u0002�g�\u000fY���Os��i(�K�j̭ʪ�s\u0010G��Es��\t�\n��>\u000f'�@g���/��?<ѨV[���8;�Q�эA'n��J\u001fS��}>o2�Ԗ���u�M��g�+]��=s��\u000f\u0013I,T�g�!�KwԞU�LyV[I%\u0015�1$E�bUhUi�jӾqz�x:�\"9�t e�\u0013�c�yV��-ɕ����\u0002�P-@�۶Y�d\u0010X�\u0006Cg��K��\u0017�4�\u000b E�4�]Y�\u001e1w\u0017�*\b\u0003���~\u001c�rϋ�n��4�G�\u0007ae�g�\u0004�滇�\u0000��~]yR)���g�q��\u0003�7p�\u00042Yh��\u0016�9Q�ui��$�H�\u000b�v���4��oY�\u0019�K��=�u�}ϫi�\u0011��[�\u0007yc��\u0011��0����\u001a���X���)%OԣG5�\u0019�V�҄l{��D�iq��\u0007��\u0006m�3��#����k�\"b�V�z�,\u0007n��f�S\u000e\u001b�LD�\u0015=����[Oo\u0006�j���H\u0012�\r<{ў%z��\u0007l�\u0004��Eˉ��gyt{������o�گ\u0004���.&uEA\u0016��~P��#O�=zf.L���>\u001eÿ�ɔ1����\u0007����I�\u0016��d�z@[����_j�k��\u001a�F������lZ�9��쌺��ڃ�\u000b۾����>\t��G�,�ݿ)8���k?-yJm^��@���_}i&ex�-b�X��ɣt9��:\u001e��G.J�\u001d�;���\u0016����7��\t6z\u0019_���`�S��\u0000�~u��5\u001d\u001e��\u0010=Ĩ���E�ۥ�8�1*]\u0011ww\n���X�\u001d�q����M9�2\u0019%Chz���\u001e{�>�C�Y�9A��\u0000T�\"��;��\u0010\u001f`~\\�\u0017�?��\\���<�u=Rk�u|�PAg#�[��5�n$�\u000b\u001f�*�\u000erZ�V��u\u001cx1p¨qY#�m��G������c�����w!�����]\u000e\t��4�hyL�j\u0013�35\u0018\u0006f$�J7\u0007aC�=���!�Ȁv�S?�-&8�\u00006�}�=�T�����1�m��[�\\�u��\u001fM\u0003\u0015\u0007�⿴8\u001d�3K�=���=yA�z���wh�������CJ�$�� \f\u001bi\u0018�)BA��\u0012sS�Q\u000e��9�qLr�Z'C�\tD���ncc$|��\u0013Z\u0002w#��*�N@���+�\u001cH1�1�yf�\u0007���q\r����BJ?��g��\"!�Y�ӎ�t^�I.=\u001e9E��!�O���������\u0012�\u0015>$x}\u0003�ӖmL}�L��{t��\\��6�\u001f����H<�7UNC�\"����bEo׽w��\r���6M��j\u000f��W\u0019\u000fN˳��ri�^��\u00001ji��\u001f!\\�v���'������:�|�h���Z�S���٩\u001b\u0000>��Є\u0002�O@?�X\t'�\u0000R{\r�Z\u0010�t���\u001a�\u001b��\u000b#���{�N�O��凞�\u001c�,��~�\fw�z�\u000f��\b�՗F_i�\u000f���;���S�Ʉ�\t�_���\u000e�}�8w�Ն�\u0016�jn\b�xx\r�ȍ�b�F]L�\u00007�w���l�ٌ�\u0007$��>�\u000f�Ϯ,7��5���ܒ\u000fs־��޼ۼ�\u0002�\u0013�\u001aw\u0015�\b��=miח�[H9~��zlz��\u0004�D�D�|�����e5\u0014�z��\u0000?�0�u�\u001d��|�u$\u000eKH�\u0007fn4#�k�\u0007-ð\f%��{Ҽ��u����w\r��<��k\u001e��\u0016�[I\u0006�\u001dM\u000b�}*�B1]�Z�x�@�\u001cw9����y\u000f�`!9\u001a�$�I�)�\u0000��:�����\u00004<�,!-\u0014�h�:�a�\u0010�)�%��\u000f~\u0001k�_���a�>\u001c\b�Gs��;\u000fx\u000ed4f$K,�w�����ߗ\u001f�^@��ҭ4�.i��\u000bh�D�*�X��6v���z����~�M\u0010!\u0011}��̻8xq�\u0007�^�-ل��P���j��R�m�37�\u001f\"��F��ʏ2�FYj�����8c\u001e\u001f4�\u0010��y�Y�ҧ�G\u0001�\u0000�é�q�3?\u0016!�ttڜ��h\u0015\b��x��1�7:\n����9?�ēCv���\u0011\u001e���?R�{��s�,��\u0003�����G�-���y=\\�ݝ��nf\u0014P\u0019��i�o��s2<.�\u0014\u0000�����\u001dy�?6���i\u0013��\u0016ܞ�����\u0014q!証N�4Z�qj�H4>\u001f��c&Q��I?o�Eh��x�T�Z�\u0000�l�\u0012��Y\u001d�z\fW��SS��̈s��^���1^�\r��N��-e�tן\u000eƕ�\u0000>�e�������ݕ���\u001b����t�A!%��)Q�}���E7\u0019\u0012~h�\b�e\b�����~�\u001e�i��B!�ꜫ���\u0000>�aRH�$�\u0000�5���Ƕ&�\t�إ��W;�Wƛ��\u0014���a#� l:�2_��j\u001f��\u0018F�R6vB5��^îD��\rYX.��}��:�\u0007m��[�s�k\u0005�\u0011^\\OM�����7;s�z\u000bP�P�\u000b���;o�\rR4w�0��\"����q�O�\u0001a�J]^��\u0013�_��\\\t��]M���@���0u[�K_S`h\u000e�߿Q��W�\"D\u001b\t͍�Bͱ�o]�\u000fz׶B[{��X���-�j���\n?W|Ŕ�!�U����^��\u0005mg�F����\u0007�~C�g]�#F� �7���\n�S�4��\"6��xa�\"���\u0000�5~f[Y\u001b��.��3l�Ds܄f\u0004\u001ce�&1g\u001d����O�.g���m?T�/%�u{)�/a�h.#(�CNJ�e��m�ß\u0016pe��4A؏x���\u001c�%\r9\u0015�\u0015�:o��|���!�X�-Ƞ�\u0003�j\u0013�\u0001\u001f5X&\u0015����:\u0003�bq�[sE��\u0013mץ:�oڞ�����\u000e�\u0000ٿS�c�V�+O\u001d�M��{�\u0017V�S�\b�F����&�O-��(����?$y���\u0000�zv��{y/��=.)簈�=ͼ,L�\u0000WE���\u0002�ǽ3�\u001f�\u001d��\r\u0006->l��3�#�5V|�\u0019��G���Q�\u0019��\u0015w�n��\u001c�1�\u00008Q�\u001d;�\u001f���\u0000�E�mOD�.�i{hO\u001b�b�%ͲK\u0013|q�pA\u0002�:�k0K�\u000e�\u0003�,b�M���t=�(bǓLM��:�\u0001fZw��l�\u001b�\u001ax݌ncH�ejF�FE[�r7�8��&?\u001f���\u0003.\u0013͏y����隡��oJ\rGF�VV,�d�Q%@��&e�:�9���Cć�<��v��% c�\u0007ۻ%Ӥ�\u0000\u001c~]j�%�o\u001e��jM6�;TH\u0017��H\u0005�\fr\u0010M<2ys\u0001�\u001a�'�K�\u0003�\u0012�1���׻�>�E������y\u0014p�q��$\u0014����\b\u0014\u0006���lj\u0003 ;\u0002�<\f���P�?S�\u0019��\u001f.k���<�[�kpѴR��$u��mNc�7�͆<�Ɋ3\u0000\u0011���,S\u0019%\u0012H��og�n���\u0016ɧk�\u001c�\u000e���\u000b\u0012�*o�\u0007��%P���Ӗ98���9\u001e��?�1�Xϩ���gB#��̊��Щ�@�heQ2�A[�N�\u0000��\u0006P |J�\u0000?}�{���\u0017���s��qkqm+���n2ĭP\f�\u000fð�\f�a1�\f\u0007�_\u0017\u0013=���\u0003|&F屨��Q�<�&\"=��\u0011�$~���\u0000��_�|����\u0014z���M��q�F>D}�E�24g�������t����A��WP\u0002n\rx\u0000kZP�\u00053m���nn\u0010�d\u0003�\u000f_���\u001aO�e��U'��]:´+�A\u001b�m�ܰ1�C�4p��w\u0013�� \u0000\u0007#G�_\u0004�1�\u001a�)\u0001U�\u001d�\u0012E\u0001�O\u00103fE�\f�f#b��Ք\u0000�!�\u0015�6�o�\nֽ:��*\u0018ɝ��D�'��oȽ'�:\u0005�\u0000�.��ר�Z���\u0018�,��\u001d��Ճ�'��!�\u001d��qqܳ\u0019\u000f�\n���;��}�nd�I � �dj��_��L����L\u0013�w3!\u0006?'�\u0016>E����������\u0006f�����ށr��WM���SrOٍ4�iX�gQ\u0013\bGė�\u0010d�\u0006_���\"#�\u001b��������4�\u0000�MIk\u001cf��\u0004�G���tjl�g��%��1��T\t\u0002��\u0018��H��9\u0019\u001fyܹ؄D�5����?\u001d_��v���u~&kg\u0010ܦޠ\u0000�,H���F[\u001c��\u0012䋭���~MZ;\u000b��Q\"��\u0010v�\u0001!FĂ[�A��s>�Ç�1\u0019\u001f��\u000fy�84�2�R�|�}4]�$UR�O\u0015^\\H�,>�5\u001f<���Og��+\u001c�U戋\u0007\f�\u001a�ܚ\u0012I��H�$��$�s`x@��\u000f\f�}K\u000b��c`��\\Gs\u001b��աq\"�\n�=W�z��2�\u0014�<�o��(����\"�����a�W��B9\u0003�ݬ\u0012�_�vA�#W��\b=�uZ�&\u0006H�3\u001cC��\u0012\u001c9%\u000e��\u000fv��V\"���\u001e!h7 ����<)��z\u001el�A��W?�C /Z|\n�E\u0000�\u0002\b?M3]!��\u001c� \u0000�_x�M�涶�\u001b��H�T\u0011I\u0012\u0015X�\u0000\b��Z�{�f\u000e\"\u0001�8\u0019D��w\u0013\u0018�\u0000���\u0004���:(�[Ք�^$k�\u0019ҩ\b��\"��s8\n�\u000eN\u001eYH�yo�\u0003��K+ʡ��6�AP�\u0003V��@�~�������\u001a��7X�D�H�H�j�n\\��۰�zv��A�pm���>8�b�w��$�\"je�Q�\u0010 ���\u0007�}\u0001�\u0000\u0003�q�\u001c�H�?h\u000f�{X8u�=N0~O8��\b�pk\u0014F�v�\u0015b\u0001���\u0018��nT��w��\u001d�\u000f�%�]KH�'Պ[&e ң�Z��.`���M\u0018��~�'\t�ݲ�;\u0005�;V2�H>\u0001�c�\u0000h�mJ���L�_;X\u0004����:�`�(\u0016D���U^=���\u0000\u0005��Ɲk��#�|w��\u0007k�K�3G��5�\u0011$}���>�ũk�pDi.n^T�\bY\u0002�\u0003\u0015�U�\u001a�\u0013�X��#�$}��\u001cw2*G��������DvZ��k*�I�p\u0004U��-QS�Ol�\u000e\u0002g��\u000b�ǐ\u001cBq�G��$�wL��\u0006\u001b6δ�ؚ�؍��t}�\b�T>�q�\u001cr�\u0015�����qK\u0002�I:�\\�#\u000b�~\u0019��c]��\u000fm�Ls��y�\u001c�\u001a�\f`K���R\u000f9������\u0003��+nJ��?�]�����ń�+�ɆJ��l���V�Q��I\u00100��Z\u0012��Y�iF�,H\u0003�|�G�x#v/o���`c֑/��}���\u0018��\u0004���*?��O��o��2f�_����\u0018���^F�ͧ�w�Q�$1-���.��>��\u0002�u\u0007<\u000fS����]\u001e�-�Pg�\u0019��\u00011�\u0013� K�7}W�u?��}v�\u001b�t�e\u001e_TD�d\u001e��\u0000G{��/56���YY��j7>�\"��i�גHB\u0000\u0007\u0018!`�\u0002�s��σ&�\u0012�8��>?ڱ�dc\u0001��/?�G��O�=�-5\u000f.~K~a�\u00167B4���C\u0006�+�(�\u0019.\u0010ۃN�\u0016���k�,H�ɔq�����8����\u00118c<=�\u0000������ߑ\u001f�Z������?���Ior�Yo:���5�\u0010�U�B�\u0013S��@:-A�Ӛ�N�\u00068�\u0000�i�呎�P��M���dG.H@^����Q\u0002[�>�д��\u000f˭,Y�?��ߜ'�����\u0003ʒǨk7���'�|�-�����±�ù��^�Oں��)���\u0007o\u0012W\u0018��@o�.vA��\u0013\b��q��\bp�����4�|����_��PI�{�A��7\u0010,K\u001e����O��fx�ACoe��D��\u0012�� r��-Wdks�'��r���<8\u0003��\u0011�.>=N8d\u001f��\u0000kid���]F>�\u001d��=���Ty_F��{-\r�\r.�o��zn��\\�M:\"����v�A\u001b\u0003Z���1��=?�g\u0013\u001e1\u0019\u001d�L�\u001f\u0012_D�����2��I��\u0001\u0013�o,��\u0000��_�m����{�fI�V�Qs#X�j�\u000f�<�uB$ ��w�^���H���c ,������\n\r~\u0010}�M����<���rg\u001c������\u0019�\u0013v�����_��_���E$qP>����u\u0004\r�x|������b�ޒ�}�v��}\u0003\u0005�\u0012�U~=�0���ߩ�����$kv[�]>�\u0012~�*k��3\u001d�w-�=O:e6���5@\u0000�|�y�\"�\u001f�5/754��>\u001eݱ�[�X�eT�\u0000�����Z�2��\u0004\u0000\u0000(\u0004j\u0000�m���ܙqK�1\u0000�^\u0018�\b��R�p�\"D��G\u0011�|��\u00009\u000b�1�y�˗z���p��q�ֳĀJ�(,\u0014��#�#pFk�X�CU�l��\u0011�'���;��P�ߑ7���7W\u0016WV�1�Z�%��нVHث\u0015�jW��2p�qg�\u001c�4$.�1�\u000f��rإ�I�\u001f��CAA\u0014�}J�>\u0019o\u001cj� �9\u001e�\u000bk�\b�#�����H�6j�j��V���/J���]��¦\u001d==\u001b$�v��<�;\u001e\u0015�b�\u001f\u0004�d6���v�\u0003d��\\;o{��Ώ�SB�\u0016��\u0012\u0010��@��S+�p\u0006&���w\u0003�̘�\u0011�\u0004lX��J��\u0015��v��m�]\nU�ťɏT�\u0011˕�r~��\u0014R�;R�&�dO���Plƹ���~g�[i��^V�\u0000\u0018y\\�i�{X�YŜ�\u0013�!\u000f\f�w�)�\u000eS�O(��)\u0001\\�\u001f��P�e\u000e��_q�|'���W�.��Es\u0004���r�a\ntb\u000b+�R���f^=fYF��\u0000�ͦX�\\=<���巜\u000f���.���Kn�im9�L�ƒ\u0001\u0015A5�îd�fXz�\u000e(��u\r3���ؽ���<��f��~i�M?�:tv��dP����Y\u0013��\u001c���\u0013ZT�̌:�\u0013�\u0014I��~=�4��`�ic���-&���o�0]�W���OS�H\u0018,���� ��1*j\u0005{\r�s�Q\r\\<,���\u0005���\u001dvm>L\u0012�1�^\u0011�|\u0007�^]��甮5\r$��_U.��v\u00062�E\u0005\u000b\u0001J\f�$¸��6�[d�#�����\u0000�Mh��\u000f�tMJ��U��'�T�Y\u0003�j0\u0007�e\u0014=�X&%��E�b2\u0013�\tz����\u0000�\u0013Y���e�`K�6\u0011�S^/o\u0012�c=kF���:=L|H�,yJ\u0011?c�21�#!�<���F9���J�I�w\"�C:\b�\u0011Z�w�\u0002�4\u001a�c>NU�!gk|)��\u0017��O1FA,5+�\u0000��i�}�SZe�\u0018�P\u000f.��Mc$u\f����8��\u0015tiR4f#�$\u0000�S���j��˛��cž���\u0000���i�U�\u0016�\u001d��]j:��D�\u001cV�o\u0011#n@;�q�\\P��}y�\\@�B�i�w�\u0000W\u0006�G�|{q$����f�<���w[w\"tH�<ůi�M�c%��Q�\"����N�\u0001W�21�\u0006^N<��\u001cL���q�A�yj�N�U-쬂�\u0001j̊\u0001n#����S�-~A<�c� �,L\"#/�����ϗ���\u000e\r' �Tl�h\u0013܅\u0014�fV�p�W*r����w��_�����s�@�\u0016�\u001f=/��>o�����o͢y{D~}\u0011����)�Uͯh�C�r\u0011�`C�4��\u0001u����D�0�yzF��C���r+�0k/sa`�t�\u000b��w\n�$ӂ�$jEG$#�3�2��z~6s��0��G{��󱺼a��+�\u0015 |+��w۾Vg� \u001c���d^��5\u0013ǣ4�^\u001e�~\u0015o��\u001c�8��R��>���4�\u0000�\u0004~A�\u000eÇ��p��2?3�\u001fC��\"�T��+�y:Ѝ����㜆r8�����7������*�\u001b�\u001a\u001e��i��A�H\u000e^�`�O\b�\u0011�j�\u001bV��?�OJ�O��.�d9[�����3\u0011as�����rL5j�������3����6��;�d��'K�X\u00042���e�ǫ�\u0012��\n#���5j\u0000���J�Nc�6\u001cHH���m.�D�2)�!\u0019N�X�\u0018�Ƈ���jrG��Q&D\u001e��/�8b�њu�ah��H�\u0015�J\u0012�ՍB��fV�7\u0017\u0017PDf@����G��\u001e��_\\�RNQ[+B��\u0015M�N#`�Fٙ:���]p�d$�~��\u0003�,>�ޫ�D�\u0003݉?v�{f�,��v�\u0011����SF`���f�i~��r\u001e9\\M\u001e��8��|������j�\u0007V&[i\u000b\n�x�r���g���|}��\u001d\u0006a����k�Z�f_�#�y\u0006��5���\u0003� BA#p����)��;쀉q\u001e�y�u���j��H�JIh�8^[�s�|\u001e8���6\u001b���'�]8�\u0000Cv�\u0003�$G>\u0014n��A�(\u000f�U��P\u0007`I�pw�H׽��\u0000�R\\G�_,�p����Ӑ�\u0017v7�I\u0011N�\u0004r��\b��fd��\u0018�9������\u000b[\u0011�K�\u0013�L%��ҷ��\u0016%�|ס�Ȧ�E���r�@V�\u000fbч@y5T�I��EǤ2��9Fr��\u0000d^\u001e\u001a��K\u0016LJ�s���׿��A���Ms��H�\u000b��U�L�/f\n���-\u0010\u0002[;�x1���Ƭъ��e�\u0018�$T���N���\n�2q�9I�����˿8�g4&9e-\u0004�8J��\u0001�0\u0014\u0004|�?U���\rJ�|�9���w�������'��\u0000@����Q�'?$e�V]\u0006Gk?�\u000f�\u001fB�����������\u000b%��\u001b�F\"$SF\u001a\u000e���O��y�{0G?i�?����Gp۽���<�O0ͩ�g�D��tA�1=fk�\"�\u001d���\u0001�<���$�\tɤ�[C����?=y���˺\u001cVp�i�>�}�G�mm�ؖF�yt�sJ��,��\u0012w�o�����93��f˟(���'�@��m�\u0000�)���#�\u001e\u001d>�x\u00180�Dat\"\fLG;;�$ݓg��O����]Ь�,� �\u0003�A,�X[[َ-\u001f \u000fգ��랟��c�3\f1���<\\t��O��Dy�/�0\u001f�Z�\u0000,Z���(\fR-B�5���T�P�\u0006�\"�����qH�p�|t/\u001cl��\u001b�B����\tW�@�zʍ�,�o�r����G\t��g-\u0006|c`8;�}�C���R��4�R�k��\u0012s2z�2��Wjl��\rT0nj��:��\u001ax�Ep����s�\u000f�-&�uacz\"��\u0011V}n�(m4�d_ZH\u0004�\u0014f����/�������G!�?����\b��*]Mz@�s}I�?�{-\u0005WIНu\r^��m��X�ꖅy\"���OP\u001a��\u0001�4QNj\u001c6S�\nW-\u001a\u001c�<<^��\n�R�\u0019�\u0007$�\u000b�?&�_ʞH����=>��-�T�\u0004H\u0019���\u0000\u0000��jsg�K\f@B\u0000S�\u0019�\u0011�l>ߋ8�ךG1\u0006\u0004�aJ|���2�\u000e��_�+��X�kי�ɉ��r�>]��(�P\u001b�\bJy8�!­u\u0014%���J�Z�\r:���L��[$!\u0011q6X_�.�K'D���HB�o�Fٛ�\u0011\u0006�'W��d*�\f_��W���\u0013*�\u0014T׭E\u000f|�'�����9LO�Ř�{F��#\u001c�iR?\u001a��M\u0003���L\f'�{�o �6�w�ޭ�R��W\b��\u0003\u001e�#�L9D�]C���<� �)����Y�o2^<�]�e�\u0000GPzR�f<��w�\u0010�CO8UL�K�yq�4�o4O�U\u0001P/�7��jr��\u0018ă��:Pe\u0019G��~?\u001bt\u000f,ZI�2\tU�枱o\u0011�&\u001f�ׁEonI\n;\u000e��4����]�K�pA�ؤE��㾡k!qyrw\u0004׍6�~�\u000f�L��+�1��@vg6?�:����Ĭ\u0000�\u0006���rCG l��?��P)�~Vރ�����|�8&7��i\b�ܿ�׌\u0005e�|���\fR��P���n�V$\\�*|z~\u001bc�z\u0013�c�+6\n_�\u0000*6��&�rO��÷l\u001e\u0014�S�H��؅��\u0016V��7\u001bw����#\f�\u0012J&\u000f]�\u0017�\u001au�nnO�����3�f�4Q\u001b��\u0012�����������\u000e>\u0004��|\u0019\r \u001e�Kn?�\u001f�b���\n����U\u001b�pN����(��Z��U��]}\u000f�t���L��~F\u0015ͨ�\u0000�\u001c�m�\\����\u0000��\u001e8�_'y���\fc��#\"�'��[m�����v$���\u001b��\u001e���p@��\u001bt�C��58�4�Y�\u001f�\u0003�\u0017��\u0000�i�f,//E�\u001d}��)��s\u00127�\f? :\u0014���q~��&�x\tڇ�\u001f�S t�@�����y���\u0000�0k \u001fOS�\u0014\u0014��B~]\u0006>\u000ej�����bt\u0012=vH.�\u0019|Ф�z�o\u0000��t��F� p�\u001bؿq_�Ͽd���?:CB�\u0010Idz@�S�jk��u\u0000\r�Q�<���d��������`�\u0002���U d%\f怀��I�d\u0003���\u0000\u0001y��\u001f[E�a����\u0000��s\u0016X�D�\t|7c��\u001c�f�H���g�.Ț#�i��[������R�\u001a��\u0001�푌3�\u000e(�s����\u000ed�a��2;A�����\n�G\u000e�\u0003m��lŌDS��0�8���� \u001ej���)�)\u00142H�X\u0011�\u0004~��XA\u0004s\n,r|����%�Oy.�\r�A�<��\u0018�T֤R��a\f#\u0004���&Ȯ^i�����C���m\rO�V������\u0011�1苋�@\u0014?V��E\u000f\u001f��\u0011\u00109r^\u0018U&p�UhQR��Oh֟O��xkܠE:����X\u0001�Tۯ��d�yw��ܛ��Q��#�\u0016:�\u0000�%�}v����cQ;�o\u001f�v��_��7�\u0000}�����������o���[\u000b^)i��Xi�R�G��)�\u0000\r���s׽��ؘo���\u001a|��#��\u0019�A!\u001f�!���.�f�����R\u000b~2I\u0013q\u0007��M�\u00155\u001e����\u001b�'�ɹ��\u0007�j7�so-��aic(v��P�.���U�PB'\u0013�\n\u0010Fٺ�{�cp��t�-Kɞ\\���\rv�\u0000����\u0016mit���Z�ܻN��\f���\u0000dri\u00132�\u000eّ\u001c}\u0005\u0018w\u001ew�Z��\\F�=F�w?�̼ۥy���I{��Y�;(�\u0011E�\u000f.]\u001dgK�����ס\u0019���R���\u0005:t\u0019I�\u0011d\\L�\">�y2\u0019A�R\u0003�\u0006��u�y�����Z[5��Mgv$I`Q�R\u000f�^#��\u001eg޴;o��\u0001u.L��\u0014n,����f/%��-d���}$u�B\fQ�\u001b�Yhh\u0019�M?g',2���\u0007��<\u0011�Ƹ�?�}=��O�c�\u001f�:h�N�\u0004R��e�[~&U\u0005��\u001d�\u0005�\u0007�k�\tb�um�{\u0013������\u0000�$��\u000f���f�4xn)y\u001b���\u001eD:ʈ\tHŸ����sƸ2\u0002\u0001\u001b\u0011���,r�&\"���_\u000e��|���\u001b�˶�^�[j���j�D�B��T�G'��\f��%�\u001f� �Dys�?��<�����X�\u0005���F~~�\u001a��\u0016e#��\u0014�O\u0006YC �Q��c�\u0010�l�\r��>\f\u001f���\u001a��5'�$��0�[�K#[S�F�Bj(E8��6g(�\u0013�\u001b\u00008�\u0011��\u001fQ�˻�?:��;<�o��w7�\u0011X�K;�IB/\u0019U� ������\u001c9&$qȚ 7�F�1wD�}ϊ?�\u0011����cI\u0012Th\u001a�\u0013F\tm}+���~\u0019E)���^?e��[�c����5�\u0018�R\u001d\u0007?��ֿȧf��.A!RI�98�z�V�\u001f\u0015\bQJ�Z\u0000�E8��ߐ�/�?2=+�:����eԦnU=�;P����D�nNC�\nz7����g\u0012(i\u000b#T��� �!�UI陚�Q\u0017ʩ��\t����\u000b�\u00009��\u0007�4�(�I�\f�1�U�n\u001eN��U:�N=r=6�u�z8��U\u0017�W\u001a�\u0005�\u0015��\u0000�\u0015�\u0002�k�w͎8�\\��Q��?�q�˲��ߙ�����h-�\u0004,ε~ ��v�e��p�e�[\u000f��2Js�\u001cq�\n����}�����0}0�A]�,;�\u0000X휮rx�\u001d�(\r��|����}^��V(Z8咜���\u0001�3i���wl�*�>@>��\u0000�N�MF��\u00009!��q\u001c�\u0000]�5�-~]h�\u0001O��ZU������o.�VZа\u0007�ev��pa�\b�23�\u0000J(}�ө�0u\u0019�\u001b�Q��f��\u0002�[~r��zD��a���e�ėy�\u0012M\b��NR\u001d9;L\u0017+<�>\b�<�[�27�X<�>�Q��z\u00159���\u0018\u0010|��Ӄ-��\u0000����Ϣ�W�\u0010�\u0006>��+Q��f!\u000e�\n*=�ĻO)ͨ��[����\u0016�N�\u0000�a�\u000eF1\u0017���\u0005�+H��!\u0018�j�\u001b�\u0007��9�<��|C��\u0013��V�\u0002��ۓ0���Z�1>��q��z<\u0007�F?Y��\u001b\u0013�<�\u001f�\u001d��\"=2�rc#[\"�\u0000+|�t_6٫��\u001b�֒U�\u0001Ȇ����\u000e>����sF\u0019�%�LW�q{G\u0019����&ߤ~U���\u0016�N!�\u0001�*��/�|�g��::Lgj/[�5\b�h*�/%��<���kJq�A4�f�<7rc�h?M�\u0000%���wq��W�/\u000b�G'���Τ�i@\f%�\u000e�P�N�5\u000b\u001d�&s뭯��'灐]\\���+7�ǫ�;\u001a���.����DN��\u001b^J���q\u0006B��I;�Z��4�5Y\u000f�nn�\u001e!iM�4���\u000f\u0002AU\u0015aM�yV��\u0007;r\u0004�rڟ\"~j����܊�R�+c\u001f*|E=E�cQJ���\u0000\u0003\u001c��5x��@������:yO'�\b��\t\u000e�Q�J>��\u0010�sJ�Ʀ��Z�����Z\\\u0015Y\u001e�E�:����kG��\u0002\u000e���I�Z'�P�\u0002c��w�G\u0018DH����~�f��/�\u001d�\u000eb���Һ\u0005�6���0h�:�\u0005ij�]E\u0019Aҝs.:�ЀɎB�\u001d�w\u0013>�F\\\u0015`��6���z6��\u001f�\u00008���.�?*��@��)����F\u0001_�)���к���\u0006��=��&\u0006\u0011�\u0007}F\"�\u001d�_�҂'�Q�♿���_��ϕ��>�}�.yK�VP\\/�-4-\u000e��T���`5i�ޤ�U~\u0016\u0013\n��s����J^>I��$���\u001c�F\"8b#C�@�ݿ��~��0y��R򾳦Ϫ6�iqs��\u0017z�ٕ�أ��\\�Z�$\"S��V�\u0011�9.��Ê\u0019\u0004h�I�V;����0'�R22�\u0002O#˄��0_���\u00003/�|��\u00008��Sw,�S��ѯn����\u0018��q\f$1����[[Y���^0G�ޡ~�Z�[�\\����Uaw4\n:\u001aW5\u0013�\u000eN#|`s�\u0007��æ�\u0005�\u001e\u0003�\u000f2w�~/s�����k{�����\u000b��NXdu���sE.��GPH�i���?N�\u0007s��`x�H���W��wˏ�@`���h�}~ծa�2@ZhZ\b�x1�H�(�\u000e3��Yo���M��떖�[�ٌC��e}�I_�Hf�)��?h��LJ\u0011�\u00002��=R>�O����o jZsO\u0016���\rӧ+b�#��3\u0007�+B���@��s��c��@$uv�|�?��%�Ͽ�����w1$��zw`\u0015\u0003�a\rE[c��L�\f��o}��\u0000\u000b~\u001a�~�~�\u0003Y�1�\u0014�GN�\u000e�\u001e�\u001fו吘ߛ(D����Z=��A+\u0010\u0018+-\u000fZ\u0006\u001d\u0000휯l\n�\u000fqz��?������\u0013�%wU��+���w%�LM��\u001bx�q\\��F�U\u000f�)\t�*�zw���\u0000�TBXF��Q�\u0014�ߦX\u0000\u0003Ϛ�l�@�@�Ҟ\u001b�L��\u0016}E+�E|h\u000f߄\u0003V���@�~\u0003��b\u0001U�\u0000T^�A�\u001fw�Q�uk�hhJ'Ҡ�\u0000���W\u000b8�DA���8���UE��\u0000*��Q��0������\u001f��+��Z�J�_�\u0010\u000e�b�mg\u0011?ݥ=�\u0011֘(\u001e���i\n��\u0014�{c@+\u001fԵ�;I~��ZJn\u0000\u0014Q�݇�|��\"�&��O\u000fT�o仜�\u001c\u0015\u0010V�A�����p�w,8�̓�K�u�B\t\u001a�\u001f��\fkJ\u0003��\bD���,�\u0007��3]M#\u00134�$��#Ȋ�G��,�z\u000emr=�-��HG��\u0014�AZW�N�2�#\u0010-��rL�n�v+}\n\u0000��OS��Zl\u000eH��L!�;U\u0004}��5����w�}���x�'p�2F'��L\"�-��IM�#m\"�2�Lhǥ{\n�\u0004��ͨ�<����}�֭�Y�����Q�e��`GJ�_s�ǒQ>�ݛ\f2���1m'L��^uX� ij\u0019\u0005\u0018\u0003�}�2��\u00199l\\\\p��R��#��0D��a�Ӓ8\ni�r�\u0019s\u001c��eǴ'��?1i6���d(ȿ\u001b\u0002F�޾�d��@��џ\u0014\f8�Pc�v�M��\u0003[��\nH\u001bq\u001d=�\u0003~�l���/r�C9��*�_��[in#���qGF�>�-]��P:f6X�\\cɿO�\u0011����\u0019�����L\u001a9�U�O�\u0001\u001fO\to���'\u0013q�0�O^\u0005\u001bl\u0007�>���(��l'� ��_”����۝���Ξ\u0018��\u0001Џ�\\U�\u0005�\u0000?��6�Z0+v�\u0000>�t\u0003\"b\b�ڟ�ǀ�?�r\u0006\u0005V�Tv5�#� ��zc��{���<�A]鯇o�J}$e��\u001caZ�\u0005~]G�xUi�P푖���o���V�T�����\u0010m\u000e�F����\u0019+V�#���ت��>�^��|qU��v�x��?��M��\u0000(��]�U\u0006�C�W��\u001f���J��0�u\u001d)O��x�\u001b`�\n�m*����#��r1��+\u001c֡�-�0Gk\u000b\\:ъ�\"5;\u0012v�C�d\u0018�C��@2�1H�c�e��\u0001x�x �V�Y�Չ�\"D(w�\u0001|�?���ի֟-�����PےU��^�\u0001׶\u0015C����\u0000?Պ\u0007z\u001e�!���\u0002�\b�z\u0013��\u0004����k[�N�x�E!bJ�����Do�V�ځN�Oz�\u0000nLCz*\u0011�2���?�фB��E\u0000H�\u000f���%�\u0004w柽\u001fc(,\u0001�6��\u000fѓ\u0003��\u0001�\u0011C�����1\u0011�j�i�\u0000��տB�c�c�'�ĺ��\u0011M_ⵀT\u000f\u0005�\u0019���\u000e.�����?������}A���\u0003�/����I�CM4ޖ�V�#�I\u001cjO\u0019\u0018׶v\u0010��\u0000tt;H���͟7�ynK\u001d\u0017M\u0011˩�\b $���_�H�\u0012�\u0000u\u0018�\u0010\u0005jٛ��1*��\u0016\u0005�/\r\u0000>�:�>ǘLn�b���ifS��\u0005nH@\u0005W�\u0012G���~�%[it�~��O�;��J\u0010]��\u001c�<���g�\u0012������C����$zז�h-��M�i\u0005�j�H\u0013�$o\u001b�r\u0000PW�2qe\u0006\u001e\u001c���z���O\u0014o�������E�-<ͣ�>�΁�\r�\u0002*��\u0006��c�;�s��`�9#![�\u001c�;���uk�,z��J5\u000b@eK�zG #�\u001c��ȩ�\r+�a�q��\u001fcT�5\u0011�}�_\u0002�W�s\u0017��y��^\u001d|�J�b�u\u0014��nr�\u000fC��s6q��g\u001e\\��˄�߸�>��_��E���g��򼕌���=F% W��-�׈ڟ�����d�C�\t�\u0000'��|�?}���b8r\u000er�\u001fm~��o����ʗWΌ�\u0004�7�z�!\fN��F���-p����\\H\u0012\"\u0007��\u001f$����<�wt�BKr�ǽjL�T�z��W-Ў\u001d��~��\u000e!ʞ��udn/�\u001c*a�Jl��\"�����|:�����}{?7��*��o�\u0000;|�\u0012N\u00194���:\n�T\u0016vq�QZT�$<�\f�I\u0000q�/�;/\u0012@Vϙ>�ӳF�\u001aB�c\b�y\u001e��t!�Ӧl�G����D��[�/�K˟�O$��\u0015.$�o.\b<\\�*�\u001c��,��/��~��*8��;~<�4�,Ҝ��_/>�I�\u000b�Q�\u0018�rpY\\񢊚\u001e��NsS\u001f��'q\u0001\\�\u001d~oݭ��|��goH�Tp\u001b��li�m{<Ԁ��$\u0001�=������J����\u0000�:�E��\u000b\u001d�\u0000��<���v��\u001e:��K\u0014�V\ny%��P��m��؟��\u001b�\u001cc��~�\u0007\u0016)B\u0006�┥�\u001fs\u0017���*_��\u001c$Op�Bܾ\u0019\u001d\u001e�zqD�C�\u001c��\u0002^n~(\u0018�}F����ٵ�4Gn\u0000kx�I��\u0002\b-Ȩ=���\u0003�\\�=��\u0011����\u0001��@a\u0001�F��\u0005��z>��\u001dN�\u0000}\u0010\"r>@�|O'��\u0002�,ui-c\u0005-�nQĭ�U��*:\u0015=�ͧ��\u000f\t��\u001e�ˋ1\u0004lm��7*�Ȼ+S��\t�$n�G��QE���\n�\u000f��G!��Z\u0012D�>�|$��_l��\u0010\u0002@�����ԑ�R\u0018�>þ��=�$ӕ��\u0007���\u0018o\u0011��T��Q��S֢���6C\t\u0003\u001d�,�\u0004�by\u0010�\u001a���\"��.�}\u001b\u0010�C\u0019\"��Ƞ\u0007Zױ\u001f�tөF3\u001c�y�\f'(\u0011����z�0�\u0004�pCP@!~�\u0000u�XWm�3Y���9�\u0018���\u0002�����-��ɍ'P�j\b��35\u0003/�GS�%FĊ�w�1\u0013\u001cQ�\u000e\u001eqr���_�\u001aa�ooZE+W��\u001d\u0000�QQ�_�'�辮\u0007\u0010\u0013 �A��]\u0012��� �Y8�A�E\u0005y���5R\u0015.��\u0018��$}T�\u000bG�r\u000bU\u000e:S�-;x�h]\u000eNL!\u0013\u001b/��\u0000;5�}[[�\u00160+o�V��O��=��~����<�h�{G.� ��1�\u001f�@�|A��I�.����Q\u000exN��~��Iuhn�$\u0015\u0012/�R\r\rG��\u0003�����c͌Hl{�\f�M\u0010��\u00003ήt띹�{\u001a�\u0003���\u001edw\n����ň����\u0002D��\u0003eK�\u001e��:Ɔ*���e��\u0013l�O<<�`~�a2\u0002���h�H�\u000e`�NQ�=���e�Z�Fӡ�V�娱e���Io\f^��@*CJ��7͎�G�|ˇ�\u0018��\u000f�Y�\u00009\u001f�\u001f����$�3��O\tZ\u0005\u001f�,4MbH\u0002�x)�ge�힃����p��\u0007\u0004c��$\u000b�<ޏ\u000f�N}�ډH�q\b����\u001a\u0005�\u0000�\r.�K�NR���\u0011$�ʴ�\u0012V�XliJg)�7�NH\u0012%����\u0004\u0000d\u0005y�?#y�K\u001dHi���p��R=\fw1n\u0010=i�ڵ͎��D�q����뿸�\u0017[����:\u0000\u001b�������\u001e�FR��ԥN�y\n��\u001aWl�:�|�8���3�\u001b_il� K2�U1�V�M\n�ҧ��^1'�r.>L O�T���q+�}[˗��U�[Y�!V\f��ex��X�9\u0000�Ew똺�Gf�eek\u0014�\f�鬌\u0016�۩'����\u0019g�c�;�?\f��-޷���\u0005���ZәmQ�]��2[Z�ک�\\�ݽc��@�'v蠜8�,��6.>�X�D�1�/�\u001f�ߓ�\u0000�~]�z�{W�#��?x�^a�x��F\u0003}K˖�P���\u0003Cr��'n �ӂ8�����=�S=A0�v\u0006�\u001c��zn���{���.^�'K�x�a\"d�0L�7y�\u000123�ݍO|�j3�+\u0003j?\u00177I�\u0015y\r���λ޻�q�1�r��I��\f��moyC)e��f6�Lr�N4o\f���x��`*��1�Q�\u001b \u000e���G忕�өGoom�ūG�\u0019c�*l�A%Vxg�H�8�m�\u0001��^iF6g�\u001d�c���Q�\t�3}<�py+�i�\u0011���U�O��\u0012\u001b+'�K�TaNK\u001f(�D\u0014P�=�O�\\G�\f\t<�����\u001b�.\u0011�ng���8��zO�\u001e��\u0006�[x�T\u000b��ܗ{�+�GVV\u001c�vs����7�K�7��\u001bG�k0�����&�\u0016\f@�.+�^RH��H�M#\u0000�u�a\u0013\u0001���_kh\u00138�\u000f/>j�����%�����O�,̍\u001c��\u0014��F�E!�R�2\u001e�\u000f|�=W�\fH\u00062�|�'��\"Q5?���O���ǯ.��V�&�t�VH�m�\u000fC@x�N٣�LM\u0017g\u0019X��yV~)u\u0019 �\u001b��\u0015=\u0007��f��a~\u001c����\u001c�ˏ�C&i�5�����4���}a\u0000\u001b_�C�uU\u0016�\u0013����&\u0005r[lL���\u0001\u0016�\u0019��\u0007���h+A���G����~�������Z.��?\u0013��%\u0003������\u0003�Oçኮ\rJP�\u0000M�\u0000^*ߩ�l\u000f�*�>��\u0000o\u0015w?\n\n�\u0000�ݎ*�k:�i�rHH�\n�Wj�\u0011�\u0003ݰ�|�0��#}z<�+{���Y��;\u001fs��\u0000d�J�8��I�Ր�m���*�\u001f\u0010���{�*Gz�[H�G:\t\f��%�J��ڜ�܁�\u001c�\u0011��r�+��\u001e�,Z|��'�?�\u001b�\u001b����b�\u001c�8\rܾ��Wk5�!V\u0011�#��V��;��*d�\u00110�\r\u0000V]�[�D�EBw\nWq�\bܜ\"2�\u0003\u0019��#�\u001e�d\u0014���e;P��\u0019le.D4K\u00162x�ԋ����\u0016���Y\u0014���*�\u0000�Jd��`�\u0018�<\u0004\\X泠�Z��h�2\"G����)�J�ˡ�'l��ͧ�}xI\u0000tM��p�\u0001x?z\u000b\u000e\u000f���2\u0001~�M�\\��_��Wk6�j\u0012\u0006a�сfQ�_\u001f\u000fl0&\"�$j#\t�~}R�KO�Y,v�.LÈNu5?>���u+ l���xj\u0012ةhZT\u001fW}\u000ed��\u0013%�;�-�w���2��%~'{f�\u0014\fN\t\n7g��y�K\u001am�Z��\u0010�1��G��fv�\u0003�ʆΟ� a�ý���A0��$b�%\u0005Z���a��Ӵ��_���\u001b=\u0007O\u0000�Bë(���sY���\u001e�MG\fOR\u0013*S��B+CR<:\u001a�+oj���z�}�^�ۊ�O�\nWz��<1U�\u0003�\u001e\u001b�N���E;u܊�\u0003ǵ1V�\u0000�Z�\u000f��\u0011LUk\u0000|7ޞ\u001f�\u0001\u0000��m)_�����u��ߍ{d�A\r䕭��������\u0005A�)�c��[�)����\n��˧��]����Z�T�v\u001dN��xu��1U��5�\u00003LUaQ�Oo���T�1ƥ��\u0000*Y��+�\u0015`zߚ⇝��\u0007~�%~\u0015�S���Ga�/<ԵI#Nm!i�\u0015�Չ=�_\u001e��9\u001f��,�\t4��]RI\u001ez\u0007;��-�~�7w&�����Ez�\r������5�ވ\u0017���\u0000��e�q�Wb?_O뇧���~�\u001fw�\u000e�w�I5�e��z\u0000d�v=����uC��vGh�|Hhk��\u0000�e�&Q�J�Lc ����ܕ|���eYmM7!O��\u0012\u0016�ֲ�h9W���\u0000���W�lG5߰��xt\u0018H�\u001c{U(܈�%�\r�\u00009\u0015�O��\u000f?I\u0014��\\��W�$B+\u0014V�?S�A=O\u0018h\u0006{\u0007�\u0018�\u000e��ď�`��|��r�ݩ�}\u000eY}��\u001f,���\u0010yN��O�c[�n���\u0005�X�^_��*\u0011j�ܜ豎9\\�ζ[m\u001d����4\u000f\"�������&��{�kKWv� @M#$�\u0000穦e���\u001et�.���@��[\u0016�\u0000Q���(G�22�PE\u000b3�Lz�aV��H��Ul&6��`�����d�\u0018��M\u001bF��Uy����h)H�zek���6\u00182��\u001f��?m4�\u0003:\u001b�\u001fruk��]R��K���6�J,Q�y\u0001&�\u0014t(M\u000f�l1�\r\u00109ۏ�\u0001�G�^���ŐX]I\u0011�`V�\"�h�r-ϗ.��3&\u001a�]���˦\u0013�\u001d��\u001e�{�i�wѓD��\u0000��>�*ʶ�Z�����q�w��h�=F�hȨ1�\u0006�0p�\u0019|HH��Wq��]s���K7�a!�\u000e.R�u��|\bD�s���k��W���]=�P|��k���G��i\u001ef\u0003��\u001a�\u0012;�\u0004�����$�@��tEK�\u001eG�M�L\u0000\u0003\rCm�\"k�.�\u0011�GkV�^�g���+�+��8\\Ϧ��nd.�,��Q��m�\u001c��v\u0019�\u001c\u0006#�\u0011\u0013�}9�x�\u000b�,�\f�Q�\u0006��F�\"=�2��7^\\�e�X�mKF���,��\u0006F\u001c\t\u0000��x�\u001e>\"c!D��X�\u0002 �ƅ�wG�I�\u000bV2��\u0010�A�~��[ڝr�\u000b\u0000\u000e�FF$��\b|�����_���\u000bJ��W\u001a\u0005��+�Yf�C2�\u001eÎd�\u001e��\b��L��\u0000}\u001c�^���\u001a��?�~`�\nPj�]�5\u0007�U}Yt��m�⬱�\u0016s���WO��¼��\u001f�I\rݲ�L��G^D�#\u0002HPE*���\r\u001c�(\u0007�s��\u001d=u'fo�ka�Xe��\u0015-\u000f\u0010\u0018�q\u001b�\r�\n\u0015�J�,�JȌy[V�\u0013\u000e#�_m?\n�\u00008<�5��\u000f�\rHH\u0019n|٫*\u001eD�H.Z\u0000܏��=�鿺\u0007�����d=#z\u0003tG䖅'�<�\u0000��H��,�:���!V\r�C�\u0012��AN�ͮ\bă/�pA�n[���\u001f\u0017�\u001e�\u0000E�%��G\u00158�@Lk���C\u001a��G��\u0014�?Q.n�\u0011\u0014��u�Df$�dVH�/^#��\u0010sMW*�]�8�J�u�9��\u0012��:?��G����W��l�T��5k��\u0001�����+ᛮ��Ǘ��u\\�0�*��?l�\\yv��~G���\r\u000fI�<�i�A0�\u0013ŦXGd&���\u001c�\u0013H�HE�3A��\u0000rj�\u001a�f[wt��\t��2�pb\u0017��\u001e>�/��3?1.u\u00166��Ej�\u0013]�5���4\u0005�w�MWgbT\u0010ߴ:u�&mH L؍]|>�+\u0016\tJ\\@Y����\u001bȑ}r��QrV��M�\u0007hW�\u0011�^����<�����\u001dm���h�y��~���7J;?KR\u001f����t\u001f\u000f��\u001eXE[��.}D�#\u001d��e�C\u001e��0�P�Gxn�'&���.�%Y\u000b2:����xoӏ㜶z��ݴMn�u��+F�;�6\by\u0010?��0'��\u001ba)\u0019n�2����4.v�{Wq�����r\"7yK�\u0005�ܰ��o�&�mӫr�[�{�r\bڋ��\u001f23�Ϥ��\u0014\u0013���Ә|k���O������-v:ϰ�U�}äjA�\n��X!��PP���NQ�mH�\u001e��x�\u0000�9��8ф�Q,��M/��w~q���О�\u0006��a\u0017���q5P��@\u001d�s˿�.�eh./�J� ,�T��kV���A\\�C��N�-G%����\u000f�kIcq*J�A~\u001f\u0016�\u0001$\n\u000e�A�̘ɓ��x�\u000fF\u001d�y�B�Ɖ&��p����c�)ڸ�tA'�x������DI��Wq\u0018UgE3@�>\u0011,G��zr�z\\�K�ǩ��c���\u0016�\u0000\n9�,\u00197��b~/�STp�\u0018��\u000e@oB�I\u0005v\u0004��s���\f5\u0018���\u0011 |��y��qNXr\u000f\\\t\u0007���:��R��!\n�`\u0011~��\u001e�q\u0018�p\u000b�\u00122I@B\u001eF7h���4�v��3���k�޽���]><|Q�3\u0016,п��+�\u0000�\u0002h\u0011�os��`��]Ap��ǫiެK\t�\u0007\u0019X;G%\u000e�\u0012+�����U\fy$k���ņ\u0003yd�\u001d�Q��\u001eբ�M�(�_�E}���O2�^�1��tMF\u001b+b� oG�GW\u0012?�\"��l��k$N<\u0018�\u0018��\u0000\u0010��<}�g��ɐ����W��$�\u0000���\u0000�o�oo�H����\t5o0j�W��ޞ��!H\f�hO�k��\u0000%��az��=\"\u0000\u001f��5�\u001cg�\u0004w�qi�\u0000�>a���O2y;R�5�?]�`�\u0017�M�I\u0012�s\u0011����c���@\u0000�t��[7i���%��\u0003�q<��=�]�=&\\�x��\u00118�t<����9���[�[����,����}ڳ�e���f�\u000b\"��0�la�}���\r�.��8��k1J�&=C=�//t�K(��J�G�����0]\u0017x��n��P�\u000f\u0002+A�ф2٘\u0013�\u0014��c�\u0019\u0002\u000b�-\u001b_��tĺ�(����d��ȷ>���\u0005\n�\u00040��h�a�9������NL��̚��\ts\u0007\u0017@É\rZ�{�\u00020C\u0006)\u001a<��Ϟ\u0011��ewz��\u0016�\u000e�d� �:&�]��\u001c�\u0018�\u001c۲��1\f���.�8���\u0018�m�\u0011#��cN5�O�?�d\u000e͔��6\\9v����:s��D\r�\u001a\u001f94飡�\u0012�H�m��W���ɞ���f�r\u0014��H�\"�N�?m�]9qL���G�\fby�9�W�c���2\r�`��<)_���UOM�\u000e�Sï]늨�޿>��V��\u0006�Ǯ*�=:��\u0000u��*�o��\u0015hxR����WEs\u001aC�\\\b?��*��Ε�T��>��\u0015k��WR�:\r��O�\u0015Y�O���U�w�j\u0003���ت�I\u0012\n�$jz�L�����0�C��r�\"�\u0013G\u001a�;\u0007R\u0014(�&�\u0003l\"$�^o�����\u0016��O�i�����&x���\u001bq$\u0011�\u0000�12�#����:��\u0011�eɚF�!vܞ��v�x���iM��4�F�QN�\u0015Ez\n�#+�25�����}rK��|�vm4y���K��N��\u001e*(E�t26�*�qJҕ�� \t\u0011�!n<�\u0006��M���M\u0014p)\"��=�\u001b6F\u0011\u0012�χt6�a�-Nu\u001b�J\u0002-b1�I0\b�F�\u00042\u00155����B�{�\\�%�\u0001'�?����1\u001b��b}\u001fQW\nY����jA���͎(\u000e\u001fO2�S�z����h�M�\u001aw�n�$\u0005�S�jpJ�x��5 �/�$��O`\b��KnxG��#\\e-&8��5����\u0007��D��� \u0001��ё�*A�Oם�m<3a�l�\u001a�,r\u0004\u001a�}%�y�V�\"�����\u0011\u0014�\u0014���6p\u0002�c�\u0005�_\u001c��\u001d��\u001991�nV\rVYDC!����\u001d;�\u001a���#[-\"��)\u0019O��I!�m��Nh�\u0011\u001cWW@�l\u0002r\"\u0003�!���amCT�o9���R��&��.��\u001f\u0006\u0014|\u0018v�o�9����\u000fI����᧗����\u001eg���pi���7�TH�;��W\u0015\u001eٷ\u0003����\u0000\u0014��\u0007]�W�Dr'�k�ȿJ�-$���I8��F�[�\u000b��k�8$�oJg/��\u0014��\u001d�\r��{�/�}n(od�2�`I+AB�\u0003�Pj�똱��~a��*�9�x��݌���\u0000�^S��>���\\Xj�����Y��Ů��\u0016�\u0002MV�M7�\u000flی�����\u001f�8({��/�ը\u0003&h��\u0000\f��ƫ\"A�7�\u000f�\u000e��JuK�Na\u000b�I�՝��Ff����\u0011 n45�\\�3�f<]/o�r�\b�C��Y���u+�m٤�լ�\u000f��\u000e�*H,\u0000��8\u001e��33�,R<\\�GwH���{\u000e���\u00005Y\u0007OH�}O�\u000fj�T�n�\"���\u001f\t�X(�\u0005�'��rR�\u0003��L���{N����(�#A�žL;��M�u�}L�\u0000uA�\u0018�+��\u0006�\u0014h�ZE�\u0018��^����=3���wm�����6�r��r7`Bю�*k˰>\u001dwʘ�\u001e+\u000f\u001b�=�Q�\u000e\u000b�?/�j�r'���+��w+\u0014�\u0016y�j��T��Qh�'�ZnĚ\u0003Q�lq�\u000e�gO7�~Q����1X�A\u0016�\u000f�R�}��o�\u0019�vvJ�E�k��8�e���\u001f��.��VI\u0015�ۂm\u0011\u0004���T�SC�j\u0006�tp�}#S�#�q\u001fΦ�S\u0016s<�\u000b�S\u000b�Dn4�#�T2��M���S�d$z�k�2\u0001\u001e�\u0000'��\u0000��zy��/w\fa�!� �q´\u0003�@\u0019�cn�5\u001d��}��O�@�V�|\t�q!�^_\u0012�FԠ\u0014\u0019��$d߹����C����\u001ek�Q�Ճ\u0002\u001c\u0018��v Pҧ$ :�C'��z�>�\f�\u0006X���5�\u00106�&��9>\u0018כv)Է|��\u0017�\u001b��D���4�<]��ǟl�}���h壙��6;�d{��w{��?�@�\u0001�A����\t.�z�i�a@R\u0012�qBW�\u0003�\b\u000b�;\b�|�zq4GVO����\u0010s�\u0019\u0007�U�fR\u0015[�~���\"$LkO�clY�s�,��G\u0003J�#��M�\u001b%qP����\t���\r‰(\\!^`�R6\u0000�hB�e{\u0006�M�\u0013�\u000bV1�O\u0011#�nM\u001dE\n��E(A���\u0018�E\u0013\u0004���;=TA�Onb��U��\u0004��\u001a��\u000e��\u0010\u000e�g\fO>N\u0014�\u0016�#�,Γ\\�4{vn3���Gg]�C\u001bN�&p;\u001c�Î#�����%��?+��5u=c̟��\u0000�~\\��>���\u001a�K\u001bX�(���H���%i\u0014BR�ƼUI�;�ܒ��O�\u0019dɐ�^`��\u001eoK��1�6�6R#�8��;��y?R�\u0000)<���R�'O��\u0000�y]<1^y�ZwHd�5R��#���Kv�B��W���\u0007�\r6-��G���C���j?5�杈W�w\u000f�^���e�Zkr�/n㙩��Y�HWn<�+Z��䧧�6f\"=�FP��.�����uy��4��\\��Ֆ�;ˡ�Ǔ:��w4���\u001eY.U���BF�\u0000}�<��\"�K�[X���\u0000j�U�\u0003e�KYx�{\u001c�@��\u001e\u0011��0���\u001co�\u001d\u001f��{�\u0019.�`NJ�=��\u0000&�#\u0012\u0016�\u0018\u0002@�m�Db�\u0019�^�&T?�C�k�\u001d29�\u0000�dH�c���O/\u001a\u0003]���sa\r&i��\u0013÷GY�]�\u0004�D\u0002O1����/�s?�S�9�\u001f��̻�/K�A!���֍�\u0016��\u001d��t����h785���;G\u001dkqF`u#w��b�N�'�\u0016N\u0019\u0013��\u0017��=_�_����Ӻ���o�o+��êKoc'�t\u0018���4�!\u0013�c��\u0004L�\u0013��59罵�\u0000\u0003],1�Q�Y�\u001c��F�=i�{7۝O\u001c0v�/\u0013\u001c�q\u00006��w���yw���\u001a�\u001e\u0019!���-�[JP\":L\u0004��aN!�\u0003�q�?k�l�CńN�������k#ςDu��y=�\u0000�?���,���=SLe/�ٹ��QTsE5^\n*\b۶m����X\u00042�\f��c��\u00194\u001a�9��8�w���_����5\rB�W���{+;{G3'\u000fRi�|Q5\u0000a�P��\u0010\u0004�H\u0018�{~���)\u0013\u001c��\u0000n��+Y�\r��ND�\u001a\u001e@l9S~@f�s�*��ȝ�3/,��N�py�����\u0007�O�[�->��v�\u0001���b��c�~h\u0003˄���o��ǰ9��W����\u0010:\u0013�\u001d���j\u000f%+��;�\u0015�v�����V�\u001c�����~�U\u000f#P���׽F*�);{�Ҹ҂�����b���r�M�Z�Ss���A�k���+�&3_��\u0019\u001a�>kߧ���l?zz%�\u0017\u000b\u00023�\u0000\u0000��]}��\u000eh;\r�<�]�f�������v$uݩӑ� ��Ӂ��\u000fZ\u001f��\"}6�u\r\u0014Ly\r��ھ5���&\u0011�P\\,�!^�i��ax�4\u0013pJ\u001a�\u0006�SrI49p���A\u0002��?=�\u0014Ldl��\u001e��Z^��}G�v\u0012��4��j\u0017\u0010\u0002�����\t&�>�\u0003��ٲ�غ�.�j���\u001b\u000e��:�7��=v�Z\r1�>�9D�\u0013�ˢ��D�)\"�$�5?��5b\u0004���0;;}\u001fj�4(�C�g\t�F�\u0007�\u0006;h���#���1ƗO72]�\b<[\u000e�i��x׉؞��m���lg���1�iGc̽/N�\u0004z�\"\u0002> ����k���#}\u000b�����\u001cr\u001b��\u001a�y�\u0014� ��?�1s\u001a\u0001�Ѐdm�B��������\u0003�܎K�4\u0003����1J\u001c1�:S��t�LU\u0012�\u0015�x����qU\u00064��1W!�=����n���oj\fUL1�m�qUB~D�W��+���\u000f�i�{b���G��>g\u0015AI��@?{u\nS�E�&�2\u0002�\u0017�|�\u001b�\u001a��*\rTH�v�\u0004�򌚭. NL�\u0015��8�?�\u0013�b�\u001f�~\\Z�Fk�t��}�i\\ėk�c����\u001b���y����_��՘�\u001a.�\r�o�\u0019o\\�L|#SS�j�\u000e~ސ5��~r�~>ND;>Wyd\u0007�2�i�8<�b��B�8��O�\u001d��\u0013�j��\u000f\u001e�����\"�S\u0018��\u001b�\u0000#��\u0017�1o2�h�i�n��_�F�7����֑�Wr��<�z\u001c�'k��\u0002x�\u001a�\u0006cA�G�\u0013~��E�\u00009o��\u000e�q��\u00002\\[铨�;mF��J;�x��X�?\"A���nә��#�B��K\u0004%������|���\u0000�˯�}7�+���V��ݧ�\u0017�W\u0006�\t���5 \u0006\u000b�\u0015�ͨ���,��\u001d�/��\u001c�\fA\u001d�{�A�\u00009\u0003�+ˏ�\u000f2����+��i��\u000f2�곯?�@&vxe�_��h���4�c6�[�X2\u0018���Y�����ǡ\u000eL�X�8�h\u0001�Ͻ��E����\"�PM\"���BS<�<1��b��w��u=��>�K\f���H�[o�^gU����bd6<��\u0000s��\u000bk�'��w<^�Ա�\f\u0011\u001fQ˷R�`\u0014\u0001ۦt��Mi�-D�D`,���.�]���xi�Fs�����\u001f4j���\u001b/Q�\b�+�\u0003\u0010�+�q��W�\u0006i3O��>��݁G͈O�ܵ�&i\u0004\u0016\u0011���\u0018�\u0011�\u001e�\u001b�'��ț��\u0019F�����������\u0015�\u0000�޽��f�!\n�Ŷ�5ڛ{��\u0018A#u�ꊂj�O���:fDO\u0010�Jk�=d�ѵ|_|\u0004�ϒ��%d=+�ܑ�{u�,���J�\u0004��x�\u0002�IRw�6G��'�jq4a�;\u0018����\u0000L�\u0007�\n�ǯ�]�]\u0014��&��?��$\r��lԯ\"\u001b�m�/n��\u0012z!�~�S5k��;}4�W���\u001f蟹�\t�\u0004����\u00007�P_y���K\"���\u000e�����:��f�ݳܻ2\u0006\u001d��u�a��>5��jr\u0011�㗼n^o>�m�]�ssx��F1���\n�T\u000eGB�m�h\u0013\u0018�\u001b���\u001f��Y\r���W�\f�j�\u00141񚎨\t�\u0011\u0011\u0016�P�\u001dwl��GNh����� ��pJ��\u0012D.a^M+�<��r�d��r d���\u0004Ȁ,rx�������ꚝ��j�\\7\u0012\u001e7Sr1��\" �\u0016��\"(\u001b\u000e�ff,q�\u001b\u0013��x�,��%o�\u001f7�s�u\u001b�gx�I\u001cr0 �\u0005&S0\u0001�\u001f��\u0001\\͎B\u0007\u0010\u0017�@�y�\u0000\u0017^l�M�����\u001e�m���f��\u0000�\u0019&�x�\u0012�X�u\u0004�W'������\bX\u0015l�4�\u0007Eex��g1�0�<��2r�C�-h+ܚ\u0011L�\u001c�A�\r9c�\\1\u0007m�\u0000������mm��`�KK�b�[U�\u0014\b��\b�\u001c�'f\u0014���!��)� �ϟ�FXf#��\u0011��;��_j�S�u42�l��s��L�F�\u0015�0'��٫Ṻ́�%�ͧØQ\u0000�9_�w�j~S�Hg��on X��)X�II�!�����785�'� \u0006��S�Ќ`�\u0019 \u000e������\u0000��\\����[�B�='^����zz��k���MN�\u0000�[{���@�Z\\\u0007.I\r)�\u000b�<�����5>\u0004a��ٖ�Q�\u000fK�\u0007������,|��{\u000b�a��\u001d7Q�Ts�T[�\u0007��\u0015�MU��T��\b�\u0005��Ө=m���f��z��ҟ�o���(K\u001f=�\u0013z�zƱgo/Pl,�=\u0003\"�\u00011�d5Ol��u>\u001fj�C�H\u001f�޾OI=1�٣7�x��ȟ�'�u���k*��e�kV\rO�ւ��;�\u001e�Lxe�u�9DY���ѵjzNZ��Ƅ0?�mB���S�\u0010i���A\u001d�A���h�ߘZ�q\u000b��mZ4;\u0012�[i#\u00145�\u0001���8����%//���:fR\u0000���?7��&Y�E~\\�1M�j+Opk�f�\f��\u000e�>���r�?t�\u0013|�.��Y�14F\u0016�\u0012�]�fM���} M7>��L����\u001c\u0010��B\u0003�wy�P�]M�\u0000c~f�_�G�>mՠ�4��� S�4m_M\u0015T\u0000Ŷ*+��bTO����\u001f\u001d���\u0000�\u001f�\u0010��z�ܓ.�p��\u0002jjN��\u0019^!��\u000e�\u0005و�x��?xF���p\bj\u001a7�49�,�mK�\u001b�\u0011�w˲8p��[�su<4�K�\u000f�cʵ��\u001d,e��\"@���|\t����\t\f3��@�����1b?�_�\u001f5��\\�?B��\u0017\u0002[�{��Yx$Q8شJ~2�S�\\���팺\\G\u001d��C�:\u0000z����=�ٸ�\u0019���T���eL�w�'����%m���);�$�N�N�^O���0���\u001d�\u0016G\"���c� hh\u000fݐ������:�����d,�M\u001b�~\u0010\u001b��k�+߮m�S�=�&�\u0012�LFč��\u001eS�\u000f�i\u000b4�\u000b�\u001f�\u0018+�tbF�j��ٸ�G`b<�N+7���}k�+�F�|�g?�7�\u001d?��\t�W\u0000%6�d\u001a����>\u001c�l�1��E����O�8�X��䩣\u0014u��J�*\\7�^,*H��w�mF�~N�06j�\u001f�~\u001e�\u0000�F�p�\u001eaա)�\u001eva��\tcZ\u001e���<_W�N8��+�.!�o��\u0001��K\u0004�*��(x�5\nG�J\r�\u001d+޹���\u001eA�C$d/���i��\"$ օH��4\u001c�W��H�}\\�O}�<�\\�u=r�\u0005��L��I\u0000\u001e �V'���}8{?�g��CP7�$K�'��s���N\b�4���D\\}��yz�|���\u0012$F�'�\u001aִ`Fԣ\u00023�a�\u0018�\u001d�@ �\u001eO\u0019�V\u000f>H�\u0012�OA�szi\u000b�13\u0002Y���SԂ�e�$��r-r\u0000�gvz�\u0011\u0018�)0�j�\u0005)ӭh)���\u0013�o��d�\f�\u00161��x��\u0000��v�Մ��%�����P:ԛ[��\u0006u=��x\u0012�Q?�:�^\u0019q��\u0010~G�<�D�\r�op����y\u001a�'�q�b2��Y!�,l\u0006��Ej����m�V�JR��7�lŔ�N\\GT�L���\u0010ȪŐ\u0015 \u0010K\u0000jjv�\u000b��\u0011*69��zU��T~2H�Ebw\u0015\r�]��>��\t���d�կ�#�d2=!u%�kB\u0006�\u0015�\u0001����m��˧������Z<\u001es���|�~�5�����>�/\u0002\u000b{]CV�Ԗ�}NAf��:-\rENj51��A��\u0010\u0011�s?\u0007*38t\u001e\u0010�e!\r�m��\u0000���e�UԼ�cyvC?�f�R�(�Q��\u001f\r\u0000?:e��\u0019#bU\u001fw�p� #q�\u0011�۴?��{�\u0018c�\u000f$i���I���\"�zj\fPIE\u001f��(�&d\"\u000f\u0011'��G�Ÿ���\u0000���~Y�wG�E�?>����+$��ZjZ��A\u0001\u000f�\"Ck\bw\u0000uj\f���~��N\u001e/;q��}\u0002G���餂mc�q���+=o�K�7�\u00171�)t�+X�:\u0014S�\b*M��j7\u0011�\u0002�(��A��uя\u001f\u000e�\u0018��̺�\u001c�\u0000g&�\n\u001fu��>�����\u0000�v�^�i�s�\u0017\\���$�\u0006��뿙>f:�Q|B\u000b�V�;+X�֯\u0018]�S5��\u001c�1��\u0003�#�\u000e8�}G��t�L���\u0007���N��[�>UO���\u001f?�\u0005������\u0015���/����_׼�1��c�)\u0016f�ULNE\u0001\u0015�g\u0016oiu�1��)�v<&#�;<��\u0003D\u0004���%!b�ϗ$\u0006���:�Pˬh?��\u0000�������i��1���[w6��I�5\u0014&��0vohg�t��~�\u0004�}��i���}6�O�\u0003�U�=��N[�ʖf�\u001d\u0007�+�Ȧ�X�\\�~^�� ��s��qrY-��B�pٛ\u000fep�L��rH�\u0000:aǗ����Ť���lM�s�ͬ��/���Onc��.*���H#H�*�h�\n\u0002��S1��\u001f��O\t��ND����^$8�[�/j�}K�_�\u0000?\u0005�\"���\\���3�D�Ep��(a%\u0000���+��K�=��(�@\t{�����w��98%q=�������?��\u0007��mM�;�3sX�s\u0014v�1��H�\u0002A1?�^��'[�ηC>\u001cS�v�]���V���ڸq�0��Q��s�}#W�޷l%�gR�\u0012I\u0014n��N���+��\u0006l:�<�8\u0007�ӵœO�7�o&I��I5� !#@����zx\f�v�#\u001c\"z�˸�\u0019f���\u001a\u001f\u0013�v���ޞ\u0015��;�Vf��\u0007���PR7����\n�\u0014{څ������SD�=�\u0000��\u0015A��ޝk^���C�T��)܊\u000f\u0013���D�c�\u00075I/m���R{�s��2q�9r\r3�`Ǵ�-C�\u0000\u001ao�}�9`���h=���l�\u001c�ݪ�=E�����X4yOB�.��\u001ehi��\u001ck���O�M�g.�g��@��{j5��\u001f�K����qo��\rZv���wи�����6�_�z^����E\\\u0006\u0003c�\u001au�s#\u001fg�\u0019\u0003��g�I�\u0010�8�[�1X�S�\u0010�T�@'�z�̈�h�\\�)���:o�K.���)\rc#ePx��\u0007�5̬Z8��i���\u0013�@syw��0�Е�'���1F�\u0019���+(\u001b�+��\u000ff�?�o\u000e<�o�{fZC�D�i\u001a\u0000oj^F�H��׌\u0017�˽���\u001aI$�\u001a�'�B�\u001c��m��f1�\u0011�\u001d��]��\u0019x@FS�N]L�n�F��]��[��q��5�\t�h\u000el\u0019cRؽLtڬ\u00198�ꏽ��5�MJ\u0000�l���:��\b��2�\u0003��\u001c�\u0006mDr� y���V���5��X\u0018�\u001d\\P����k�\u000f\u0011�$�u\u001dDe��F�܏�l�\rV�0�\u0001���A\u0006�$N�� ��;�\u0007Ϟb�j����\u00021�i�\r�\u0000ރ�mp���'C��c9�\\t)�^N�V�!���G�һ�z\nW�1s�$����d\u0011�<^����~�e�؅�,�((C���w\u0007}�_(�2��C��\\y��������K�k�{-�,r\u0002Y\u0007U\fw�3'O�\u0013�=�n���j�V1�|���\u001e�M�d��\u0019 ��\u001b�޲\u001eU\b\u000fS\\��S����C�dz�\f�O�1;��6_)���1'�\u0012(TP;\u0001@v\u001d���\u001f[.nN�ɟ��1;�\u001b�\u0019�\n�D4=h?ʦ�9��18�\u001eE�jqdÓ�\u001fPz\u0017��E�\u001fU��iʻ�����\r^#?��w\u001d��c��ʞ��\\(���i*�~\u001f�i51�{����\f�\f�\u001f�v뷷њ�~\u001a���\u0014�����X�\bH9R���u�qTz2�\u0015#�oኡ�`;��V���\u0012U�*\u0007Θ��2\u0011���G\\UG���C���p�O%cZϚ�t��m��n\b��k\u0003���Q@\u000f����!�\u0012��\u0000���Տ�\u0006��\u001e�[��yn+\u0018[�˩ܬOdzzQ�a����L���~\u0018�䐏ٹD��1��;?�\u0017��ޥ��jj���-/O\u000f^Io�\u001e\u0003�9\u0015;{eS�v�_�q�\u000b�L?�t\u0010ۆr��\u001c���\u0017��[�M#��,�\u0000��\u0014�Rjr���(>>�\u0012|�}�?�zxu�\u000f�\u0019�!/�Z_6����\u001bP��M�����^�JF�\u00001��kd}�#�����SY�����\u001aO/��DyK�a���5��+F�F\u0003����\u0000�mD\r�>3�c!��e��#[��[�0���?΋�\u0012\b�#4R�\u001b�Ԛ8����F#.j;d'�\u001d���\u0006\"oc��\u001b�n���fOu\u000f��\u000f�o���ai���%��@\u0016��9�i����I�S-��޶p#>\\B~BG�5O�\fQ��\u0011���:1{���۝V�ꚟ�M͋�\u0004Ri:|j�A��4���\u001b�Ӷfc�V|5<��X~��8�=���a\u0000<�|����\u00008Y�[�A��槗f�\u0014��k�mլҠ�\u000b=��\u0000A�H\u0015\u001d�2�쮷����\u0000�\f~�q��N {\u0001uП��\u000b���ߚ<�h�_�ߞ�Y�����Rj\r�}:��X���վ�c6�a��i�����\u0006�W\u0007�\u000e���d�\b\u0013����^@�o߷����\u001d\u0011#\u0014@\u0019z\u0019\u001d�T/�w��\u0000�����_���Ҽ����s�v}_��M��7��T5��s[q!\u0003n\b��\u0006l�;����d9N/\u0017RO\u0011�C�o���Et\u0002\"�\r_ok5P1�Sឃ�>C��?�O���t�n�K�ZkK\u0019/��\u0010��(G�!�8�\u0000U\u0015\u0002��it�ɖ\u0010���^O'��dÇ.HK�\u0018�W��|߭�ak�^�TM\"4���\r�X�u\u001b\b�x�\u0000�`\u000b\u0000vT\u0015=p�I�\u000fe�Όo�'wp�\u0017���=_m��;B{a�/~`�m�y\u001b�\u000fz}�-\u000e{�ŔH\u0012�ݹ:5y� ����E�?,��܏���49\u000elJ�ťm� ���\n�ɪwi\u001a�,݇\\���\u001b\"7����������ؕR��\u0002:�\u001a�f\u0019�����K0zo�6����BX���?\u001f���Z*\u0019(E~b�����@V�P�,�To�ݓ��I\b�߷~��\u0000k \u0004��^���\u001d��\u0000���o�,#�6\\\u0014�F�\u000b\n�����9V�h;���e��A�Vޝ�\u0000�]\u0003�ь�s��ԉI�A�>f����s�҆��G��\u001e`��\b\u0010�:\u0006���^����up��\u0011�*��̇x��ߥx�\u0001��bO�\u0012�M��\f�s�L���w���\u00155f{뉧�T\n���\u0003���\u001f��\u001e\u0011�\u0018�\u001f�@|d܉�>�\u0012~{�v֏icqu4�\u0007��FcψzI!\u0000�9�)�2D�\u0003��4\fG̈́��Zn�3���'�\\F]�\u000f$��J\u0002��Sͩ�\u0000́�S=��ɵ|��u��.��o��P�����׋�x-��X���\"қ\u001e����.*c�+�}\u0005�\u000f̿)��\u001b����ʳ�\\@n��e��)�ȰW��(�ÿ�NB�@�@�z���=��V��en�\u001bE�$j���3�Ś��R�O�\u000e\u0019\b�adJ�\u001c��f��s���cR���1R�H(Hۉ����[ԋ\u0019\u0019\u000b�\u000f��5O'^���7���+�\u001d��� �3\u00133|L\n\u0012jN���w�\"�lfe|�\"|��[�cX��\u0019n�,��\u001c�)d��������\u0014�v̙JY\"A;\u0010�\\D���6�{\u001f�/��+�rW�[O�$_�w�Ѣ�y�ڶ�ny�kx\u0017Ⳓ�A��=S�ym�\u0001�[���Oic���*�#�\u000eu��/h�\u001f\u001e��Nh�`\u001a?�\u0007��[�u�R��\u0016��\u000eǓ���VnmX�g�\\ӯ�`��䄯p~�{��S��\u0002A\u001f{�\u000f�mN��ʫ&��\u0016�\u0012_G\f�\u0004!�]T\u0004���D�(\u000bv\u001b�Χ���Z�\u001cd\u001c�6<��_�2D�\u0016%\u0018qo�]}�\u001f\u001a�{yV��G�^�\u0000\u000b�G�7B� Ќ��Ŭ�����Ϻ��oo)�\u001bc��g�ŗ\u0006��.�����;�=6|f6@�\"\b\u0007�5��\u001e����-���\u0006�\\���.�kl�u��,���C�7���ۋ�U���\u001d��q^�g;��d�j��+1�C^Q��WM�E\u0018��Lx�\u0013\u0018D\n�H�|�\u000f��\u001e�u�{��-}5%H��F�Q��\u000f�)���U \u0004�]\u000e�\u001cg���-t�5���\u0005�\u0016��а���P��0���b:�Zf�M�\u0019HǨ L�\u0007���\u0017��vl�D�ü\u00071ֻǗx��y'���\u0000�\u000e��\u00008��h}FCwi\u0005�\u001f��׹�\u0005wڣ4>�c8���d+��������=��#�[�_�������m}|Ϭ�,\u001eI��\u0000�f\f\u000e�{\u000f\u0016������F��q�5���9\u0001�d��&��?@�ޛ�-V->H�q���^B����=�n�}��6�7��,mS�v���E\fH\u0019b�_�\u0015\u001d6%w\u001e9_h�93��UN�E��?�$��}K�9|��n�s\u0011�+\u0000�D\u0010�j�\u0000�Q�u�њ|�Go���.\u0001�TA����p����5U��K��8d\u0011�v����a��w&I�\u0015\u001e�����\u0006\u001c|�\u0000��O7w�p\u000f\u0012c�\u0003c�o�t�~��y�F�\u0000�v���'��\u001bX�/,�R���(\u0002��ֽy\u0011��\f�n${ˆ��f��{O\u000fg��@\b�u�\n�y��I���\u001a�\t��\r���)�_y�R�<թk�Ħk�JS1\u000e��\b�ق-�\u000b\u00189��OV%�!��;���}\u0003O�\u001e�\u0003\u000e!X�H\u001f��#Xz�%�?w0�2F]@b\t\r���^����\u000b>:\u0014\nq��I\b\u000b\u0018���'�#�\u00126̡R���u�/B�1\u0006Y�B��ɪ�J\b���\u0007�3Y��\u001b7c�\u0013���& �W�\u0000~\u001e�;\u0012\u0018�s�k�r�|V��uA'\u0019\b\u001dJ��Em�N�\u001f�)L�I��`���(*\u0019x�իƢ�7~�#!�l�H�����\u0000\u001b4d�\u000f�'v#�\u001fj�L��\u001c\\%ω���^�M\u001f��K� x�^�~�|se���1��?#k��m�$Z\u0004\u0000�*�\u0014\u0007�:1>,`�t�\"D\u000e��#�>g����%T��t�����\u0019��*\u000f�jrTr�����b�h����C�cX��Ut�f�%(�\u0005\u0018�\t\fO&\f�b{��\f��b��u0�[P?o��|s�\u00009s�7��E\u0019<��p*\u001a�rz֤��C�n\u001c�GN���_�y?#|�Y&�q�Q��T\u0002ʼn\u0002����>�Q�'���g`p��y&��y�T\u0005�B��\u0013�;��\fŕp��7\u0011 �;O���h�hP�\fjMj�\r+��0.ɐ��✉�z>\r����1����r\u0012�ڴ���2��z��+�!ҭ\u001b7%\u001d��v&�S��O3s���N�]���r�TI�ކ�5����9�f)\u001d�\u0016o�v`�\u0005)�q�&-E\u001a���b���-�����\u0003U\u0001>���\u0000\u0005���\u001cd\u0018�q'w�_�\t\u0016���� ��9\u0017����\u0000J��q؍�}�6΃�r\u000fX\u001di�e��=/�\u0005�u�4�vj��\u001f\u0002��X\u001d��*\u0006l�O&�F&\u0000u\u0001���:4d�Q�&\u0001���2��\u000e��\u001aR\u0015�7'\u0019\u0000�y7k��y+̐@%EyP�H\"�\u0015{dbjM�#��k=p�J�]�G-VPkA��\u0019|e���P���}\u0006D�� �f��lH�˄���a�g˗���ϐ��?X�ޭ���i�v�gp\b\f�j��p\u0010����\u001dFk���`�)\u0000\t�\u0004_#�n�M�@٨J`y���G��'�p��\u001eh����|���e�����B��w\u0016\u0011A\fG�nX�-;�\u0015^��ʻ3]�יx��6�����=\u0016=\f�\u0011����}�rտ� |�\u0000�����?&4=W�\u001a��\u001b�bM���6�]ֵJ\u001b}#N�~&i\u00181^��\f��><\u0013\u0010�\u001f\u0017Y�\u0001[~�Q�\u0014\f\t�8�Ud�����X�\u0000�6�#�O���\u0000�\u001a���w�\u0007�|�{��l����o�/���e�\\7)4Q�jpϫ���\u0018��(�M�\u001a��m�I۞\u00169�'\u000eL���z\u001e}/�s���\u001d�2J8}X�\u0007��\u0001=@�e���?O���i�\u00008E�]\u001d��_�\u0000�s��LZ�����\u000f2�^q�,��yk\u0000,z���\u0019�v���y3�\u000e܁�>Ɯ��\u001e\r����{$��d\u0007�\u001f���?��<��o6�$�^'���+-\u001eMG�CQ��+)o��+մ���4i$��/�/L���'�:]\u001eMg����\b�T����l\u0013�{\b�ƃ&lx;KC�ˊR\u0011&&Bb�\u0016(�ϧw'�7����\u00008���'[yS��V�\u000f�,m��M�S����6r\u0011H4�ۅ�Q��>@��\u0018.yF�/�Z�Y�h�N���G\u000f\u0011�\u0003c�{�f.��i|\rh���a�I��M�>/���\u001f�\u0012�k�m?-8,4I�ݥ�I�u\u0005{\u001b��\u0014��v\u0002:�\u0002�V����npC���Sˎ#��\u000fx��כ�پ�������\u001eRv��h��`���\u0000�\u0011\"�Q�n4}+�\u001aY�TjZl��C�u��˓\u001a\u0001Zo�+SL�=�\bn\\Qڹr�\u001d�7_�6���\u0010�HҬ\u0012���� \u0013۶ٝ����\u0003\u0000\u0005�N�U�͏ �+�O�7���w�uĮ�\u0003�\u0018�Ҥ\u001d��◇0.�f2e�Ɉ�!�Z֩�Z�:���¥jX{}#6xa�@\u0012\u001d.�6�\u0017�\u001e�n\u001f��1�$��8u\u000b�\u0016�o�O|�=���R\u001c�\b�ֳ\u0017�cf��ƿ��wX�jI$S��|e��\u0003dǶ�#R����}��v��\"oH�����.��y;;�]\u001a.F���y\u0018\u0012\ro�U����y����\u0010}+G/\u000f\u001aU.'j/\"�\u001b�L��#��4���Os�;�]\u000eYv�mGW��ฏ�\u0013׻��J�Xi��-��\u0019\u0006R\u0013��\u001e\u0000\u0013�.���FF���(��\u0002 (\u001d�w�dirX�;\n\u0012j?\u0001�b\u001d\u0016I�9�㴰��)E��\u0015���p\u001c~�*\u000bS����\b����$��9\u001fܚ{\u0007���<ӧ�@d`e,{��x���R��n&) '�n���׾m?*.�..��O')J�\u0019V��\b\u0019���s\u0012\u0004�l\u001f�؂;�Yt�a����2d6����\u0000(y�+�S\u0018p$J\u0010+��\\�j0�\u001bw�]LrD�}OzЯ�֋Ȇ!w\u0004��>X�/7����.t��˖7no#�=Vݘ(��ާ�9,z�G�s-\u0019�X��\u001a#sͫKX#J�\u0015^4�\u0014�Sl�R5a�q��ty\u000f��r���F���q��]��A��\u001eK�\u0005�x���c�Ds'e;]\u0006c\u001cn%\u0010� �4\u0015>?Er�e\u0002�Dtr�\u0012�\u0011ٙ�A4�D�7��(@?��5y�K7 �\u001a,�MF^�\u0006Y\u001e�NʫO�ڹ�t1\u0003wf;^R4\"ԗs\\���׸���|�ZX\r��`�,�q\u0010�Mi�\u001a�\u0017�O`£��4�3?��#�-�\u001d�\u0007�\r�\u0012[��\u0017Ἁ����\u001a�\fž����yq��\br��\u001aB\u0007\u001cd���PJ�s\u0000�܍z��\u0001�GG��U)c��e-v�\u000b\u0017j�\u0015�&K�U�q\u001c\u0000(\u001eŷ'2�vf�G�>R|�+�q2��1��~e_��m;��&���͞-\f!�������,��Cɱ��u=>�5�\u0000>���Vջ�uR��\u001bCI��R*{�V�%��%\u001cW�rc,�'�\u0018����'�\u0006�~5�'���0�G�\u0012MA��������r��\u000emR�OT\u001b�R��\u001e\\kN�\u0011��F\b���'Pb�íK*#�T�JҞ?q�\u001d�[$�}5~����Ol[�j\u0001Pv���Ӱ9h�F^��k�\u0013[�3y�n��\u0019*�\u001a/ \t#���\\�i#\u0003�٦Z�d\u0017\u0013�\u0014��m nL�ԫ.㉭\r\u000eْ0\u0000z8gVd7%����=\u0017\u000eį �Z��\u001f�\u0004Ԛe��x��\\��G\u001f��xg�M�k7�9*�x�\u001f�]wF�Z\u0011�M $�N��&\b۝<�D���\u001d������xt�\t���Vf\b�����F��\u0014��\u00185�\u0005g�~�_�r\u001e�(\u0007�:��]�\u0005\"=��>\u001a�ڒA�a�{g-\":=�ۛ\u0017}j�\nF\u0012YHj��B\u0007\u001a� \u0002X�•��\b\u001b��l7�����v�Xy�\u000f;y\u0017C�\t\rpm���7)wj=)k�ȭ~G13\n��\u001f�@\u0016�\u0013(���~-���@�r%\r(W���}$ȁ�2��\rCS���@��G%{�\u0000O�\u0007&W\\�L���x�t��Ưލ�\b�m������;�rS�m\u0005圱~�\u0012Tw�\u0019\t�\u0015�3Dֺ���\u0015j|�z��l�\f���%�z\u001e�ܡO���2\u0005\u001emG�\u001eo?���\u001ag��\u0005�L��\\y�����6�,\nE(jZZ`0� ?�.1��.>�\\\u001a<�=0���,�U�3\\�����t�x}zl�HԪ\u0006$~�CAǶ{�8�\u0012���D_0)��\u0000���7���yo˱J\u001aWhB�\u0007i\u0003\n�f��\u0011V�~�ّ��g��1�LH\u0000\u000e#܅�?��䶱�\u001a�1����ل\r\"7��zr\u0011�O~M�''\t\u001c\u001f��`!��]����f��\u000b�F9.��/Q��k\u0014q0r\u0014\u001f��qZw>�I�O�F\u0007vQ�:��7��^^�l.'�ԣ���n��쭥\u0006N\u0012�Z\"�P��@$�Q�\u0010�i�\u0000,����2͏\u0010&d\u0000?\u0003�!a��򥰴{�v+[�x�&Xfu�H@&'m�8\u0002��\u0015�A��#�\u0003=��:�2��9^â+�Wu�^�Ѽ�\u0004�J\u0019-d��c\u001f\u001f�졕��ң�]\u000e�ɹ�����=^2c\bJ�=A�GrK}�\u00009\u001f�Igqk�^�ws'$�̺Ep\u0018���ؤ�)V2A�\u0011�s+\u001fdd�G\r�V����;C\u001e8K��� �=�S\u0013�����v����XuF������Κ��\u0016�J��(��PG�Ѕ?d�͹�|ߖ����!���S���w�\u0015\u001f��/�/������ď�{��\u0000:�:������\u0005ޯ�w��k\u0014�y~�e�\\��w�۩�G�6��9[NQ�\u0000t,*G��\u0003�?dkt\u0018�#]�\u0018�J\u0011���].$�A�.�ڞ7����\u001cz��4q2�)��CG1\u001a�'\u001e��G~W^��\u0000�L�\u0000����\u00005��e�]cͶm�-.\u000bX�׾�\u0012��� \u0016�^I}6��\u000e\u000e�w��9����\f���:�.3�\u0019� \u0003Q>^G���������ϓ�*\u0000ny�w�x���/�<������_Ήo!�;�iג4\u0012�n}k\u0014gnJA\f�F���\u0016#\u000e����D\u000f\b�]_#��ω��e��XCk ��G��X�󐷚?�_���n\u000e���0i�\tt�Q]5-Ml��\u0014�5uP�o��G�\u001d\u000e�v��.=�e���@��7���ϛE�\u0004k�\u0011���j��\u001c�\u0012򗞟����^�䷝�Ѯ\u0006���E��qu\u001d��M\u001d��fI�څ�'�z\u001c�}���\u001d���ɦ�\u0007,x�A�_��{�\u0000f�Y�vl���\"pʄ�������\u001f������+�\u0011Q\u001ey\u001b�_\tI��_j�C\n��3�r>\u0018��7!��\u001f�:<�5-sM��m.i�j��m���Iڈ+R\rE3/��]�Ȉ���\u0000����\u0000<<�y�գ��\u0000��T�i6��闞n�\u00125���A��6�{j�y�2�(\b\n�5Wa���\u0016��t\u0018��\u000f\u0010q\u001e�\u0003�ǐ�ۅ���;\u001f����8�\u0004��J�\u0007�\"\\�R\u001fV�[�'G򖉣�c�v���.�n��\n/\u0006\u0010 4�\u0010\u000f�<�9�\u001a�Ĝ�����\u0018���EDw~;���fˬ��Q���\"O㿿��\u001f�:��z{�a\u001c�3�\u0005R$�UX�\t\u0001\u0019��zg1�����\u0012��?+�\u0000�#5��v�L\u001aJ���J�g��\u000e�)?\u0002ׯ�h�f\u0004�\u001eoG�Ә�4\u0007\u0017>+����ŏ#\u000f=~s�2j����X[�>=�\u001e0��`d,\u0010�_ʳ�֟\u0017�\u000b��\n�ڥ:\u001alh<3_������kٖ@��P1PA\u0000\u001a�SZ��9o�\u0006�_j 7d�s�Q\u0011�\u0005`h懍?h\n}�GL�k$Hs��E�l�B0�\u001f�\u0014\u0015\u0005j\u001cq��V�v;S4\u0019nܼd]$�W��hJ�J�\u000f�\u0007��T.���+�d�<�\u0006!�]\u001a8C�T���\u001b�,\t\u0014�\f�'$�\u0002���\u001a��3��\u00107\u0000QO򍺒\u0007\\Ɛ\u0000��D��:]�\u0019��AYG_�\u0003��x�L��hߛ)n+���\u0000$��,�\u0015�P�Ð޴�GN��gE�\\X���\n�H��]'�R[�FRibj�8�@\u0005��M<3\u000bP\u0001ݿn\u000f��S�qs�\u00061�Gauq\rլ�Cnd�F��\u0012��D���$x��E!8Q7/�/'K��\u0012\u000f@N���O��\u0015u�.N�\u0003\",'��i�\nh\u0007c��g�=y�BDa�n��P�;�ʱk\u001dR�1X�\u001d�iU*\r8��̌ƔHX\u001e��\u000f\r�\u001awb� I \u0012jۑ�A�9,\nvX�s!3�\fFG\u0003�\n�H\u001b�n�w;��#}�7'\u001c�|%�\u00009/���g6�d�=KL���\\&�'��U\u0004nQ��ƹ�vfC\n���Ӫ�2I����_3yg�Q�VP_\u0011��9E��\u001a\u001fN�\u000f�Tdb\n�5\"����N 'ר�u��8��\u0017U�~��iZ���\u0016��^h�� ��)�2�j2c4\u000e�\u000e\\Q\u0006�㽒��\u000f�z]���\u00123�\u0013P�_�.��X�\u000f�S�\u0007gj�\u0019\u001bU8y�G�k�C�\u0007ZXe��iJ����\f\u001bw\r\f�FCt5\u0000\r�gW2%\u0000G2\u001d\u001e\u000fD�g��V�� \u001c4�X\u0004d P5?�)�Nx��N-�V\r^(Evo��Q����(�,��{'���D/�̰�G\u001e\"�k�Err�\u0003�ɍ_z�V�7�T�\"���M��mᒌ�q͖H\u0001���=\u001f�P�i�f�Z<���ei\u0015桭�e�̺T\u0011���#�\u0012^3\u0004�~�\\��\u0007�\u0018������i3�^y1��\u0017�\u001c�S�\u000b��q���\u001a�M����������\u0016�h:\u0014�G�?2���D�y\u0005`�Ԩ�'-!$�^�t�Z�ÌxZX� \\��^g����ЌO\u0016C�j\tۺ��\u0016_z�\u0016��\u001f�q����c�����^U��׋a忮��3�{�0y�{[�OT�%j�K'\u0011]�\r��ў��\u0004\u0004\u000e�I6{��\u0000s���Y���P�����%�\u001eQ�\u0000����Д�^e�O��饣\u0019nl�=\u0003��>�ʼy�g�a��*m�H\u001b�6S���O\u0014\u0006|3;qBD~���\u00185�&\u0004��\u0003�L\to�\u0007��\u0015?�+�\u0000�\u0016�� �\u0000���7�\u001f/�\u0014T3J<��{OU�\u0016x�-^��0\u0006�eh|3/\u000e�_�p�v�0\u001dң��G��͇NI��K�B;\u00128���\tl;����^���\u001a|���J�{�0C4�p����C�WZbF\u0003,�ͩ�]6�#a�H_�����.��`��L�g�\u000e\\1�d|�@���\u001aS�Ř~N\u0010����\u001cD�w�����q��G���r��r\u001f˟͋{}3Κ}��zy��#�_Zn-/%;\u0014�4��ُ|�\u001e������sڝ�O�\u0007��=k˸>�ٚ�\u001fnvo�i�˸�\u001dc{_��[���r��q��\u0003�q��mZ\u000bI��\u0000#M;\\Yk�tSMo\fM���\u0007)-[���W�zw����;F#\u001e��z�*W���=��KU��1\u001e.��\u0012\u001f��l��O���\u0000=�>��y3�#U�d��6�szچ�r\u0010��}:��81��a�Ojv'����1�b��\u001c����n��\rg�=�0t�2c��\u0013�z�2���-�w��.-@��~i�\\�_^\u0018�?�|�z�l��\u0005y��p�eq-w*�Mzg�v��\f�i.}���1^��8��\u0000:��������S� v��\u0019%�X�\u0001���$��ay\u0017���q��\u000e\u0018���j\u00167�0W���8�/KO���c\u0014�t\u001459罡�^�vy>$1O\u0010�(ȑ����h;k��@\u000f\u000eS��\u0000�8�Qz�����H�_Zz��D�g�\u0019�+FI#-BP'q�\f��\u0007l�FǦ�o�\u0017fs�|c��;|��<ţ^0�����R�}�C>�U�^��c�\u000e@83K��ш�\t�,#���o/݋�8��>8�X��\u0010�o�L�;Z\u001e\u001c�\u000e�^��f$'�� }��\u0014i��\u0014�\u0019�\u0018�]Գ�>Hiu\u000bp\r\u001c\u001fm��\u0000\n�$0��<���$��_��\u0004�\u0002��5�'/��s>�\u0017'ib��v+{� �g�Z\u001e�����3��������9�\u000fHa׺�rf��w�V�ε͆-0�\u0003�ͬ��M�}[W�t��H��q�?�sk�O\u0018�F�Q����\f9��.VHZf�|%���O�l\u0004q�\u0002�\f�Nťf�R`x��~��ޔ�'/\u00191\u0007\u001f��Ӓ�+mA%V5�D~@rj\u0012\u000fc�\\92@���\u001c3q_*���]6���S�^ƫt\u0014�b\u0005K\u0001�\u000f\u0013ᚙ喛(�\u0013�w8�CY�������R_�_P��u\n�D�m��!�=)]�\\�W���ˏ�n�h�]\u0016S�����2�2yf�V�ׄ)i\u0010� Wz}�1�ډ�<2�����8�|��O#^F%�щ\u0015�B�ӹ���[\u0010E�����E\u0000�\u0007�\u001f͗�V��n�Apŀ� �ǽ\u001b�z\u000fa�~\u001d||yUw>I�?l�쌿��'��\u0006#�/2y�Tվ�\u0015�����n����\u001b\u0011ʍ��x\u001c��ƗK���DN@6\u0014�����uZ�\u001e9\f2>���7�����J����\u0018�\u001eI���%>)\u001d��'<{�rNYe)�Q/�vN,Q��\u0018�#���y�i\u000b\b����;\u0000\u0006�}��N\u001b�ؽ�,�(\u000b�A^yB�T���db[��O�13���mN;���\u0000(\u0005\u0014���9����:}Na�'\u001c�G�%�ጐ:r\u001e\u001e\u001fF\\!\u0018�\u0016�fe��DB�W�&>'}�ֵ��s�kjn�\tu;'���\u0007~�>\u001f>�0�.#���P�o��n��{��aG#ֽ�I\u001d\t�'\u001f�\u000eDdF�0{� Nr�&#d\u001f�+�'�y�\u0006�c�Z��1��8��EI��\u001f\u0003�e��\u000eǛ�<�R+�Y��'�\t4�e�\u0010��\u001eY��,��iM\tj\u000e�Z\u000f��\bD{��C^�Ԍ�\u0002�q\u0003���W�2{|Z̥t6i�\u0005���4\u001d\u0003\u000e���ڹ!\u0003/r��ʒ��X��d\u001f\u0010���MY\u0019\u0001IZJr\u0014�-����P1�a�Ńa3[�i�22;tF<9{)�A��\u0014Cp�%ϚS��9W}���H���''\u000ea� #�<�P�KY}h�\u0005zm�\u0000��cM���\b�WP��r\u0012ڒ��\u0014��Y\"�e���\u001fH#l��6�\u000b�5$]�GD�;�#T�әxO\"��\u0000\u0010: �؃��G�Ǹ�?\u001b�08sƦ*G�O*����ze���/iϐ?/\u0000�N�u\u000f�n>�d���P'RW~LCt�\\�9\u0004c�\fh�\\�[h�\\��ݵ�\u00002���:U�f���H`\u0000=y\u0015v_��\u0000+��\u001eI\fx�ʺ2��\u000e&]6�s1�`��\u001aH�t�&�\u001af�.��\u0006�J���\u0005�O�\u000bT\f��=��4c���\u0005�\u0012;�;G���\u000e.^����$ri��\\�M���[��\u001d�>����O!���\t�K�y�c�C\u0006�<��$��k�f�\u000bs\u001f���C�H�\u00037\u0015^���t:Mg�ڌ~&\\�1\u0001\u0012I3��=��sh�G\u0019�c���!�\u0010zoD\u000e����ח�\u00002l�(���i�S���~A���\u0013O�[�KM������\tg���q\u0012\u0004�8�\u0013\u001f�A\u0015�<�EW-�g>z�\u0000�.�W�嵧��\u0000-�.]<���OOJ��\u0012í_\\'�\r��m\r5[�B詒I\u001a7b�������\u001d_h̝D����\u001d�y\u0000>\u000fQ�M\fzq�I\u0001\fQ�b7��RORw?w�\u000fέ\u000fDҟR1�Х�f{{պV�����V{)B]EZ\u0000���;�\u0004�Lq8O\u0018�ڷ��N� '!��0\u0007ry\u000f�]���7��\u001b\u0017�H�������q�-\u001bL�\u0017���h���'��F�;�U\u001b�c����#>��^���~n�[�\u0013\u001e\u0006�\u0010\u000f���A�\u001e��w�\u0019<��K-��P��V�mb��w��KK`wM>�|\u0011�ڃ�S�z��D\u0013@\u000f�y��7 M��O�\u001c�:\u000f2�\n�c����q�N�F�!$b��\r�0�w�S[��˿�6z\u001d\u000e\u0001\u0018p�;�Y���ƶ��w=��\u0018:/�C(Z�MI\u0006��Rs��g\u0018��k��t�{H}5�\u0000�ߎ�g�\u001dϘu��Z�ɫ:��ƿV�r\t�w\u001d}�N8���]�qp\u000e\u0018]��{����-FO�/�\u000f3��_�v��KѤ�*�\\Y�[G\r\u001dƣž$���f���v�'���;;A\r&\"\u0006�Qg�G����\\���\u001d^�Ę�\u0000\u0005�W�)\u0002I�~�9f��Ur\\1w-���՝�Vfm�Ny�\u001c`\u000f'��A6\u000b�|�k��ej0�iN[S��*Ms7\u0018���\u0019\u0007�\u001eE�Xm��!T^$��G����?FS�����\u0019\u0012^�5А\u0002��*5+(~,\u0018�6��4�%ó��\u0006�V��y\b@� G\u0010I\f���\u0001^���Q!+s�(\"$k�R\u0001@��m�\u0011ـۉ;f�)���\u001d̏$��I\u0014�\f���H\u0018|t\u001d\u0007�'�c�\"w�l�&��\u0010��$8o��\u0015�7��ET��2��䰀\u0005�Z����\n��f)S�\u0014\u0002���\t��\u0001��<�:Q�\u0016 =\u0017�&��+@G�JfN9o��w\u000f�<�~�n\u0001�R����w��v��,�&=\\\u001c��_��-uY��� !\u0007�o��*�k����#��zy\n}��\u00008��'����\u0003\u0013�V�fA(p�Ճ�\u000b'�iQ�2�\f�W@]v�\u001d�(m>���V-�x���k�:gW�\b�\u0015]�K\"�U\fH���3u\u0011�\u001b\u000f=�\r�ߒ���V6\u001a���\u0019EYY�p+͹\u001e��*+�����\u0018ˆ@�'�l�;��ՙ����\u001b�J�t���]����`5*]{$(\u0010\u000eDFV�O\u0001Ҁw$\u001f\u001c�\u0011\u0017}\\����\u001f�v�yc?�C���D_�)�\u001bu*sg��\f���6=ۿ05�?���x��4�RG\u0012!kx���ux��0��\f��5c\u0012\u001e�so��(j�X\u000eb��v$\u0013ҽ�r�r\u0017g�r�\"�E}�hϪ�Ub\u0002�q\u001d\u001856z\u001e�/$\u0018��\u0000���]���oj\u001e��wX-��F�y���E\u0004\u0011ƬҴ�B�\u0002��Q���\u00135������q+�}������\u001d?Κ��n�,.f���������sX\\�y��qs$z5��\u0010����!܀Fg\r�%:�\u0007+�^�{����ǖq��-n#��\u0016v'n[�ߵ�S�\u0000�i����\u001eO���\u001f���4�\u0000���1|��V���\u001dcOOW��s�Z���jbuJw���-\b5�\u0019�y��*���~�S���\u0018���\u00117f6/�� �\u000b�'�\n�{~R�#Tֿ54[�y\u0016k-kJ����\u001a���\"4����!%~�r\u0011��\u001d�\u001f7��-p�)i�g[�BU���_�.�\u0006H�ǘD]�Dȋ#�~R���x�\u0000�O����ѭ��}��Z?�f�?F뺎�h<�.�0O���K\u000b\u001c^����Ѽs��ڝ���������s\u0001��I��Ì���i\u001a�$���y�_\u0005���p\"\u0013=ĞT��x\u00142�\u001dB�9ո�䃈�Q��z�������\u0000�\u0013}�j�\u000e)��\u001a��o���\u000f����\u00008����]A��\u0003B�\u000f�o���\u001aߓ/.�\u0018\u0013�m�&��\u0005��\u001c����vw���\u0015\tϋ\u001ft����˫���\u0019�L�r=y\u0011�#q�p��ɯ�����\u0000��/0i��o�\u001ex�c�\u0018gլ���-��\u0011��h\u0011i��\u0013��[�F۞��ؽ���\f�򏃫��>�{맘tDv�cj<|2�w�>�\u0006�\u000fCg�|�ԗ��w��\u0007�g��ߒ�����\u0000]�,����Zı�\u0017SK\u001f�������#V��q�v��?�;�\u0000��w����ߙ\u001f�Kqo�]J�\u0013�0+\u0015��BX���\u0016=\u0006�\u001b�G���x��ˇS\u0013�V�v�c�No��Hy\u00027�����ߓ�6u._'�?2�4ɢ�Ce}+\u0014��mH�\u0012=\u0003U�О��U�v�5�����2+��<.���\u001cg.\u0000N.g�����\u001b�q\u0003Q���^��U�_�a�-,Zo/jp:Au��O�\\�\u0018#Ւ�vR> �|s���I��r鸎\u0002}C�~\u0007����ټ����5\\?��}\u0004\u0000$A\u001dGR9_7�ߙߓ�o����W���Q��e�K;�\u0018�r^5%(�h�nUߦr�.�ê�s\u0015C����U�ɂ�\u001d�;\u001e�\u0000�s�\u001f�ǟ3Yy������-�\u001d6!\f�e��\u001fQ��\u0005����rݱ�z}W�\u0002N9\u001f���|�\u0001�=�\u0011����K\u0019���m�\u0005Q�v\u00154b@��r��\u0006L�]\u001d��sń�&�!��JT�)��9�\u001c'��r��gz����/��\n�\u001b�����a�P��e�ɩ s݇�j�;\u0016~LM}�v�9��Nkg_�PorIcwz��J+\u0000;t\u001b�n=4F������\u0014<7m �^5\u000e\u0019�\r��]��\u0006��˗z���?\u0000WS�\u001e�\u000e��#A�d��\u0010ů\f�s(�97ߨQ���2��˟'\u000b%��إ6�c�\u0007t�j���\u001d�+Rv˥��\u001b4CU(ؗ&Si|�*��tjn\u0000%\u000fR:oC���\u001a.Tr�\u000b�\u000b8�n\u001e\u0006�h�ґU�P:��0��\u0011]���)F�Ւ�6�z�v���.\"ٻ\u00126\u0004\u0012;f6\td�#��ru\u0003\u001eq\u001c�i�%��͋\u0018d>�\u0015���Qڄ�Ol��\u0019�\u001blՎSŴ�Ʃ?��exd\b$a���\u001f~O\u001cg\u0011}\u0003^S�r1�_7~r~Fi^o����~�`Ի�\u0005�6�F\u0003��η��7g�\u0006\u0007�м'����;oO(�\u001c'�ß��M����\u0016��\"7�ۗ�z�G�����I9���õg)́:��x;\u000e]��\u0018b\u000f�?��>��\u001f�ڄ\u001fᛧf\u0014\u0011��r����ݳ�_�\u0000s�ֽ��\u0013�2'j�lڐ\u0007҄Sj�=I�Zx��N\u0007����\u0001�\u0016\u0011�\u001a��k\u0016�U�i߷�a\u001c|\u0003n��\u0019#��~�\u001eU���Qc�X���\n[�@\u0012� ����zv���&��<27\u0017S�}�\rQ�1m�������!{��NjU�h\u001a݋�J�I��\u001baZv�Ѩ��J�'D4�\u0015�Q\u000bF�\u001d��\\I0���B��R5�}�Nl��Ɉ\u0011\u001b:|��\f�r5+���(������k��\u000b\u001d9+r!��™��h�'ʝ揵qK\u001dqqF��5\u00014�K�cUV\"�R�Pv4�\u0010��\u0000q嗎F}B^9ܽ\u0000��\u0000��Dϖ魽�\u0015��\u0003j���1�e��c�B���Ƌ�(=���\u0018�˛�\u0018\u0001�To��%*�OSߧn�dH�|�8�v��čM\u0005]�y1�8�o�\u001e ���\f�e�Y�v;\u001a��'\u0018\u001e�吞u��%r��ڤ�Z�)Q�했���ei|�Q�)\"���z{S�L\u0002y\u0006�0=�m{\u0000\u00143\n��(*\u000f��9.\t5��<��]Φ�\u0005=N\"�o����W-�0\u0005\u001em2�{��#��\u0018��\u001bS�b�k��Q\\�\u0000�)�y1��F�\u0004��j\u0005\u0012Ws�m�\\1���\u001b&Y\u0003[X�c�ڵҖC��\u0007�W�\u001e��@�\fʆ(}[8ys�xoG��@[�w*x8�O�GĬ\r\t\u0007�l��\u0013�Du\u0013\u0006�NT��te'�\u0014�Qľ�\rM�\u001e����V��\u001b�.\"A\u001bW��gi��D�K\u0015�CT\n�m�)�U\"$n�r1�����&�X\bee,�d�Ĩ?�l\u001e\u0017P6dr�\u0000\t��\u0010�y�x�[���\u0017�X\u0016\u0005��\u0011�~!�p�?�6,\u000e��\u0002\u0001��]w�-.�&.QUQ�Wb6�\u0004\u001e��~J8�D�wh��\u0004�\u001a��\u0018E�%ͦ�\u001c\u0016��4id��\u001d��\u0011��S���QE\u0003m��d�4\r�w�\u0003��#���\u0011�]�(���\r8�\u001a\u0017Px5k\u001c�;\u0018�\u001dS��#\u0018�h�\u001cYdɈܬK�Ɋj?�\u0017���\u0001K�U��Y���W�F]�\u0010�\u0003Ol�ǣ\u0012��٢z�í���?5?�\"?�*�4�5$򾚒�VP�CQ�`�k��%n�]G�R�cH�>\u0004�mٽ��a\u0007S-����^���v״��&4���\u0014g�����O���i�=c�����E�&�9�����9\"\u0006@a[�\u0016�ۆ.-����Q���>��\b\u0019g�B#��������/�~��a8�\u0001��${���\"���E����$�-�#�U�\u0015T\u0002\u0000�)N���P\u0011~�$Y��ܜ\u0019�q(x�4�\n�\u0011�\u000e��\u000e\u0016���\u0001 oѐ�G�\u001b�Im�Y� R��߻,\u0000bK p\rH\u0004\u0003�S+�����\u0010M\u0007�����\u00008��<�����B�j���8f���J�I�D�)��\u001f\u000f\u0014�\u0001���7\r2؉_#_>����q�\u000fL�9\u0001M۰�c��k��̈́V��xT�������8l~?\u0016��I�2�7z5>�D�5$\u0018��L����N���\u001f!���ƈ�A=hA���{t�T�)�r֛�j{S�����[�Z�g$N\u0001�\u0003��\u000f�����c勻)�\u000f_��\u0019�!{;�W\u0000���v\u001d��s2��_\u001c\u0000U\u001f��������O!���̔����t��?H�z�°�BZ�KI�ڔU߶\fxrg�1D\\��X��<������G���\u00009C�\u00009����\u00009\u0007��|��;��&�/\u0013H��e\u001e�ܷ�\u00141Ҿ��}��\u001a\u0000[`+�\u0010�2\r\u0007g�-\\�J]o�=�d�m�\b�u\u001a�u�\b\u0017����\u0000�a�\u0000�S�Gɺn��ϛ���~�\u0014\u0017��S���,Ku\u0013][i���<�G߄�� �v��ƒC\u001c��y5\u0000z�l�\u001f�\u001b�>�n�Y�F#\f\rb��V������ϣ�����\"k�����i�]�v�<�W~f�� �ibc��E�R��^�\u0017�zdD��0�v�&U\fP��G�>��\u001dD��\\�ʰ��E����s�����P~Z�I�]�\u00008��\u0012��oό�U�\u0000�dX�<�o�B?ܧ��٬ �t�\u0007HF�\u0015�M\u001cSJV0\u0019�r��O��\u0012�\u001a����z\u000bq�j�k2K\u000e?H\u001b\u001b<�\u0015r\u0003�G���\u0018�3o��_��#]]��V�x�\u000f�??��z��u+�'�4�[�Q\u001e��1 �\u0000�,\u001bu\u00034����Ny��6�y����sqh�����\"���\u0004�;�'��>������yJ���V�y/�>V��J���(����=6ӴD�=[�ARdx�Nl�#�;�8u:���f�C���<�N�!Ï\u001f�+\u0018cȎ���nOy����\u0000�z�%�����u\b����Y�y�іI$iu?:j�Aqg`.�>'k;K��pc\u0004/(��L��<8�:,��9;FxH\u001d��Mw�C���2��jc�\"8�:9���}\u0005˨��G �����|��o��S���^d׿;�-'K�s5���@�O=\"�&\"�Y��Q\f� �\u0010�Ο�\u0007G\u0006�����pCG>!@�\u0018z�|��\u001e�C�n,�4�L,d��4n������\u001b\u001a\u001d\u0003���q�IO&h�~X�H�~��i\u001a7��Hf�\u001dg\f\u001fY\u0011҂d�Y���Fyߴ\u001a���d�\u001a�YJ�U�^���{#\u0014t�����Q�����>L7�r��v�~Q�$zƛ\f򭤗�|�\u0011��\u0016��md���$��(r�g�\u0013�\u0019�#\u0013�G�\u001e��7\f{b1\u001a|�,D�$��\u0011��\u000f�\u0000�;�k�>���\u0007U��\u0000\u0010ZG�;d�;�[��b�\u0015������a�:\u001d�j\b \u0011��A(d��\u001a����� �\u001eq=��;\u001e2��'�Dj9mGo1�C�\u0007��\u0003�����\u0000;4ۿA�\u0000���\u0000�Bּ����\\�\u0000�P�Z��\u000f:ySC���~D�,�\u000f��/�k��n\"�z���ڞ5�\u0018$\u000fS�{�\b:\u000e���v؎�\\v�&���3?A<�}�}\u001eW�{\u000bU��'�\u0012�\u000es1�@o�5u��Ŏ��V�ݔ3I��OV\u0018�\u0003Fk\n~ɍ�̲DE\u0019H\f�:���X� E�q�Ǘ��}��d��\u001d�>_ڕ���6�e����a��d�Ydq��\u0015F4fb\u0007\u0000����9@\u001b�\u0007^���2��N��\u000fϟ�\t�1��s\u001d�����+�d�O\u001bƉ�72\u000e_\u0010f�\"����f��\u0007G���\u0018�u#�]���;���>R���u�'D�\u001a1{\u0004r��\u0000\f\u0015�4�F�Cn��\u001e�21���]�@qH�\u0000n[��\u0018Dž����ᏼ���z��\u0017�����I�m�ѴH\u0006���X~�J��7\u0012+;x�W<�u�;[����r�����m\u0018�����i��p�c߄n{ʶ�\u0001vP8�\u0014�|\u000f^�j��l�r�{G��5��\u001a�N-Rv�ڵ�3\"1�؎\u0011���Cˏ\u0018�:)I>\u0011A��ӡ\u001b�z�͔ 9�!&a\u0017.\u0000�\u0000n(8�lM?f���g;��I��1G�䌈)���\u000e�'*�\u0004T�I�k�\u001d�ɄA枛k��B\u0000�\u0003NQ8�V�`Đ~\u0013�̡�\u001a鷓\u0010�a�K\u0013E!�)$\u001eۍ�\u0012\u0001\u001b�\u0014�L�I!�]̲\u0017^\u0003�\u0006��P�&��h�v��\u001fQ��&T\u000bȐ�m��@\u0015\tZ}9�8��\u001c��C\u0016��.\u0015�Τ\u001d�P�\"�\t��qK��h�z��n�dQJS~#u4��ؕ\u0003l��'Gw\u001ec����xڊ�\u0002\r@=y\u001a\u001a:�T��3'7\t\rb6�\u000f�\u001f:���@��*/�\u0013\u0006�A��\u0011X�����F�N\t�O�v�N\u0011,fQ�!��5�C�=sJ����%�(.c�\u0005�)Bѹ$�;\u0011�:\\\u0004W;/+�_\u001a��sv��!Zơ*�iQҠ�|�P\u001c�\\�\u0018\u000e�C�/�\u0016o�j��\u000e,%p�\u0006�W`\b�\u0004�Q\u001d���ˆDtaڕ�z�v\u0000�پ\"O��\t\u0007�a�v0܇��naq�55JUȧa��fV�U Q�\u001e\u001f7���W\u0013r��\u0005A4p�e�r\u001dz\u001f\u000f|�ts�qqJ1��\u0000�>���%��tx�y!q\"�\\R��ԅ�G���nsk�\u001b\ty8ҡ2\u0007�^�q������*\u0004�p���A��V\u0004(�T�9V\u001c�\u0002�\u0019\u0003�rx�4�-_\\���6�\u001aҵ�|�\b[V�\u0015u\r2���<\u0016D=ڹ��\u001e�\u0013�4��J{G��\u0003��\\\u001c�&��.�]�\u0016qa�=����~�ߓ�/�\u001f�ϕ<�c��萦�\u001d����[X��U�ՙ'�+��/v&��Nb��)�n(���n�0���\u0002���z��{�9?/4�b�I�o�b�y��\r�RI%��Q�1��&��\"��h�e�: \u0018��v\u0007K\f�&�\r�����$�G�?GY4�\u0000.C�j\u00162@\u001a��\\\u001f]�o���\rB֎\u0011\u001a$�~<К�\u0019���vv@%�\u0013���b<�{��\u0018t���Ә��-��#��\f?]��4�c��o�����m�f)���\u000b�O&����m��^q��E\\4�Hb�f��\u0014:�33\u000e�Y�N3�\t����~�\u001boŌ}c��\"�e���j|\r_�6sˌ�\u0019��9\u000e�=�{y�)�~V˦�\u000f\u001c���>���%��EZ\u000b�\u0018`�!��ս�,\u0019$Fh�\u00180;��\u001a����≈�T����x/�/����w�]��ݾ��=����\u001b�gx��`Ƒ�`\u001b�;�9v>�̀���\u0011�~���hLt9\u000f���~V�l�*�k�\u0000� ��~j�\u0005u\rk���F�����u�F%\u0004.�\u0015�\u0010�\u000b}�����\u001a����?���\u000f�j�(��C����{O��0r���\u0004t=D����wؿ{?�\u0003�\u0000�9t\u001f�O+�?��\u0000����������*��R�\u0003tu\u0001\u0015?þ`��\u001bP��\u0000G���QF���~��\u0019�\u0011����\u0007�\u0007�p� :���?G-�\u0000����c'�'m�\u0004�8�H�}#3ԟ��r;����\u001eY�����MW{\u0004��˳$T\u0011�OV��W@\u000b��ޕݩ]�U؝�5X�(\u0010$y�����fKK�W�r�\u0007������^q���m����]�>d���^yo\\\u0001��m�zJY��-�\u0014p�\rj\u000ez��S��t\u0012��UK \u0014/����\r���C���HxN�� A��yS���\u0000�t������W����\u000f4i���|ͥrC5��!*��?�\u0016�\u001fn6�7�l�oh�3S��j\u001a�Ne�=?\u001d�v7h`��\u0000�5\u0000T��\u001b���\u0013�z����\u0006�\u0013L-�\u0001�(m\u0011�4�\rXMJ�z\u0011��j1괼g�o�׃\u0016L:�\u000eB����_�6�\u0002�7�޵�9�\u001e\u001d\u0000�H�L��2d0\u001e��j�ۭG\"ǩޛ�\u0000fe��_=��ͨ��݁^k��#�P�R�\u0014��͎=4F�-���\u001eD�iS롾\u0019\r\u0003t5?A\u0014�Q�wrq��\u001d�@�x�\u000e|�\u0002�UZ�\u0007ǭ\u0006�lq\u001b�����&V�/�\u001a';�\rw��7�J\u0006ͳ\u0013\u001c�J <�P���\t�\r�p��� \u0019\u001e[lݣ�h���\u0002C�=����1U(�X\u001e?D�����W�=䲡oBCU\u0007�ߵEFlt�!�T��S��M<̣�\u0014��\u001a�֑\u0010P8ݓĎ��V�5X�\r�o�e�H�>��]�W(��\u0007]�;�v���Fj�G.��\u0003k\u001b_4��Z��3\u0015�w\u001b�G��\b�\u000297D�0?R\u000e��H�u��\u0015���e��$h�e����H\u0005ܷ�\n1��\u001f��h_�E#�\u001d�8c\u0018Ś0.\u0007\u0017�v�##�.n�|�f�R�\u0001\u001e��ܸ��^�\u000e��\u0012#��rr��Gr�\u0013�a\u001a����\u0019��X��C�@@\u001c��j\u0005w#|�\u0006�ZMP2�m��hq����\u0015�V\u000f�\u0000��K�'B�ҮY�^�� }�UjTx�\f��\u0019�&_\u0018o\n��v&)��\u001d<�e���\u001eäY\u001b�\"4�d^\\��OA�l�\u0019h�l^�C�ۄ���\u0013�\u001fL����+\u001aHk�e>�k���Dly�m6\t���\u0005�Z��p\u0017�bf��t\u001fw\\•\u001e\\����;I��U�\u0000$[{�&B�T��;�o�r�n�d�B{�5k�% �Im�\u0012C(,�)�kޞ\u0015��{�\"�xc\u0010LEĥ�W�\b�(�u\u0011�\u0014n�÷�d��|�!�0�\u0003�\f��S��T�� W�z|�b���l]�\u001c��y��k�ƛ�k/�\\\")\u0014`�0#qS֞�t٧�vZ��Lz�\\\u0007j|q���I}m8��壊Y\u0015\u0018�+\u001f�m��]���\fjb�|߶�\u0003$edžT\td�O�ͯ�4�����)\u0001���3���\t�\u0014\u001cs�i\u0019͖�C�I�bǹ�{��g��\u0017�5�\u001b\u0011���\u0019�,��Xb���x�X�n:Wo�N��Ir�\b�;\"\u0010�\u0002��½�r�d���q�W��E)��@�DŽ�\u001cz�d�#�I�\u0010)M�oڙ`�Oճ\u0019OJ]$�\u001eD�<\u000b?�=��(5L��\b�\f\u0001����{��h�L\f�R\u0000Kd�I\u0014��iZ���Aב���#\u0002\r�mD�6�Rib�\u0017ӎ\"�~Ny�;�;�����\u0012�\\#�$,�+@̂6\u001b)@)��r�\u000b\u0003 \r�I��c�����j(���K�I1�Z)-ݬ�Z8�V@£�\u0000|H�hVY\u0019\u0001�\r3�#�%�^��\u0010]\u0005�\u0012��h�U=J\n�=��3am��]V�Aּ�i�Inu�\u0013Q��U�M��V\"m䲞���^\\\\�\u001a�Z��A�\u0018�c�b\rLX=;�u:�3ͥˆ3 ��!\u0019\u000e�lA�\b��X�&��&��\u001d/Q���M\u0017�&5�.-���=�\u0012Ws�:���u\u0011��\u0001���h�pi2i�o$�_[\u000f���޿����o�<�f��\u0017����qs(\u0001�젷��^M��\u0018T\t����p\u0003g��\u000b�e��mF�\u0019?����\u000fw�g�*\u001f\u0007��\u0000�?��8h4ݧ0\u000e\\��g���\u001c8@�3�y\u0002���kkO��ىn��id�\u0000}�I-\u0018\u0007sN��N��ߠ6��\u0013.�mh��٦�K�,'\"j�5L\u001e\u0012\"\u0001�����м�\u001dյ��o/�ukmt���ؑ�i�p�Y��m�cw�h�`��%<�!�\u0010H��nٗ\u0012&,s����f6�=\n��\u000e�>;{a<2���$��Yh�Eh�\u000fTz��\tx҇�?��\tq�ă�8�j�\u0000g�>i\u0012�t�\u0019\u0007~�?��|vec�Wwh#�2�\u0000?o�O�,�x}!��^�\u001a��\u0000��#�\u00009-�\u001eS~Xy�\u0007�:\u001d���\u0019\u001dEG\u0018�C&?�i\u0016��t��\u001eg\u0014�\u0000ܗ�\u001d��\u0006��C���\u0000��X#�BA\"��d�Ā��}\u0015\u0019z�G+����\u000f�?4�\u0000���\u0000�W��}\u0017�+r��s��v \u00137\u0006���Ku*֜���\u0006��̍\u000ec�.l��hyw��c\u00125�*�\b�����E�z��|��;Q7�?1�[�-Z����\u0000.y\u0019&n:��\u0002���gx���V�GNy���R�i��?(ܯ�A�\u000f|���VH��\n���\u001f�_�_�V�5;�˘��w�\u001dR��k��?Kŧ��66q���F��H��%Q\u0019U�BF���\r>MLn3�1�5w}�-�v�N\u0000\u000f\u0007\u001cOK\"��\u001b��~���7燝?95���\u000b�?���md�t�KK;�A�\u0015V\b�-��\u000f�c��rN�s�^t�:~�\"1\u001c��D���C���㒵Z�Ŕ�#C�G����\\�z�\u001f�T�?�>S����7��0��T�-�k��t�Y���K��2å��\u001as��)\u0004�\u0014�s�\t�\tH˝�d��g ��8�p������V�o��\u0000-�m4�2�wsY~Jyf�h5\u001de\u0014�s���*�\u0000��藫�c�C2���\u0002\r}8�5+�(�\u0005\u0019�uR�G�\u0007y��\u001f\u0016Bq�=$�(��\u0000L�\u0003�9�|\u0002���n�~�O�m\u001e\u0013mf-!����E����\u0003Ҋ��$<\"�Pjz�6�S���g\u0006)qL��ԟ{�����DbD\f9��\u001c�W�=�p�����ݷ��t3�-;�z\u000e��\u0019\"\u0014[�nt�K�ۡP����h\u0014}���1��S͛,��Ip�(��|܌\u0002\u0011LJ\u000e?L1D\u001d��u$w�9=O�_��D���#��O����\u001f0��\u0016�:,�s�Wz\u001e�$�%����\\��I��N2�Edt%H ���h5z)\rOge�#\u0001Ө�$?�V�\u001e�6�f�\u0006�>\u000e�\u0010�\u0011��)\u001d��/�=A\u001e��^�@hw�Ǚ|�se7�<��o1k\u001eW�&�;��1j�k��_[�ຍ��o,S�\u0000`�ңz5\u001d���q��9x�l��ǐ�%\u0012:Q\u0004\u000f�-7i�9�����♁\u001b\u001d�Q\u001d�=\u000b��|����o%'��ݨ���\u00001�Ko��\u00000�3���s��ۻ'5i��n�)5�q,���\u0001:��W�z��h��xd\u0019@��\u0010.��'i\u000eG���.\u000e��~S<�)d\u00061�0%���\u001b��\u000f��%i~f�\u0000�v�\u0000����������5\t%�t�\u0012���7i3H\u0016�Y򎰿躶�v��E���U�U�\u000f��2h���\tk{&~. \u0000�\u000e�pˬrÜ�!q��z\u000e\u0017I\u001dGa��t��\u0013�(&�^<��v9u\u0007���ȀPߜ���\u0002�)|���䕖����~f�\u0015�j-3��։v\u0017�Isq\u0013\u000b�9�\f�\n\u000fB���44~��\u0016od�T֯\r�\u000eC�\u0004l\b�\u001d��bK��'U��j÷;8^\u001c�\\zH\u001f�'��\u0010zH\u000f;���]g��~U�<��;�5_+��F���mF%P�g8,����\u00176w\u001c�\u00129G*\u0011�\u0013�:�\u001a������h���\f��!�F��\u000f�i�i5�hk4NjM���0~b~H[h����C5�͝�1�^C�ҹ�\u0019���an����׎\u0002ũ@�\u001b�\u0002t �\u001d\u001fb�O���O�7g\u000f��C�\u0019<����O��m>�GQ�F\u001a����?A.�\u0001��\u0005\u001f��\u0000�\u001er�Ϝ<��\t�h�ǔ|��mNm\u000b�/D� �Lմ+�w�hsC B}E\"A*��hYY\tV\u0004���K\u0007i\u0001-$���mdt#�1�\u000fV\u001a\u001d4qb��\u001a6h\u001b�������w�>������)�����\u0019m^�H��]eu��븫);\u0011�3]�2ɭ�\u0011ȗ?.L�}\u001c���X�?��^F�#��@���It�-�уL�ԯ\u0014Ҝb��j|X�}�֍\u000fg�G\u0001���c��>���g��ԝv}�=��ؙ�l��(\u001c@����$�T�g�c�zr{s!L�I�\u0004��>/�m�Gj\u000fי��xq������\u0000.�\u0010c�T��C�uṇm����\u001d��\u0006B��/l�\n�Uj+П��\u001b�ʤ\u000e5\u0019���\u0004�7\u0018�\u0007��t�U���[Ȍ(���\u0015\u0015j(`]\b;��;������ɐEke'\u0015�h�!�3\u0016J�誝��`d�M��O>iŝ��$��H_��BS��@ۋ\f����b�\u0001����\b�>�+5K\u0014PG\u001al\u0007b+�s$\u000b\fb\u0005Թ<�u�$�\"vbvi\u0001S�)�8�c�N@���\u0019ԒvRv\u0004�8�Ҁ�W��Kx���]\u0018İ̲/��K\u0002z\u001aPӗ.��q����m�uj6�Ƅr�G��5#�-<�l2\u000b\f��9\u0005��9v�C��fJfB�k}�$V��Οx&��80<\u0006�[~����A5�fE��~��\u0000�;�b�qimb�qA10\u0007���2z�(����U���\u001e�3���\u0013\u0014\b�\by�~\b��u��\u0017��k̗\u0011�\u0003C'�'��%\u000e�\u0013��\t�I#74\r�'Hlze|V�����j\u0017�!⥜�j�j\u0013�\u0006ہ�k�0�nI��g�y>i�-�V�L�\b�%�ҝA^���4�Q���\u0017�\u000f�t!��4��MT\u0010�t\u0000�\b�e��?\u0016s�G��?4��\u001e���\u0001\rd��T���\u000e lk�7�,�!N\f�h�ȿ8EՋFYciZ9A4?kb�\n�\r�9؈���O:qbI���{\u000b���{�������\u00029\u001e\u0012�ܲI 5\u001c�\u00126�3I qe �.L\u0004�\t��5@��#!��5{Mj߅}XU&\u000b\"����m�g�3��N?X6=�q�5�D�� \u0011/I��\u000f�OJ�\u0001g�\r\u001e���9][Eqa\u0012ѣ2 m�\u001c�\u0010�C�}\u0014;7I�\u0007da�=�d�%\u0019�q$rۘ��|�����<�]G!\u0012��E���z�Oɿɯ���o?��W�;�W:Ϙ�D��𫦇�h�@��k:��Ggd��P�#|*\t�;�hu���:-L\b�9\u001f�#��򧩎�G�O��K�u��������O��_��W��%�t4�i6~j��_E&���m��k��\"\u00034>G�������-���^��\u001e�.(b\u0017��_/�~�O��\u001c���\u0000DŽ\u001e{�\u001e��\u0011Ӿ߳�7�o��4���U�\u00163\\��]pw���'��\\�\u001c�E@9�=h��\u0011���l�\r$�'��D�7�ךMe��?�b����Ct��+_Em/�����DB\u0004`H\u0002�\u0007a�e�\u0016�.#��i���D,rZܤ��$�-\u0004l�\u001cQ�\t*��\u0004�}�,�\\s�ϧ�Ǩ;rv��8K��=]\b�����k_��Q�K���A\u0014���\u001e�\u001c\u0013^��\u0006[V�JO\u0018j����}�_�\u0016,�1���\u00015`{�\u0000Ar��$D�>\u001f\u0010\u000b��\u001d��<�ɟ�����7�O��\u001d?0� 4�s�Zw����/�;�`���U����ssxb\u0006}N���-�r��\t \"�7z����+���\u0007gv�\\}�,�G\u0004w9\u000f��b7�;W٨���~����n�\u0014�\u001c\u0004�!?ݎWuD��b7'�>����%\u001f�t��K�\u000f��~���g�H���Mf�H��\u000e��kW��qs�4�������\u001e\u0014\u0003�׎�ͪ��<2\u001c��ϋ!<���Q\u0014\u0004kaB�7��c�\u001a|}� 1�k\u0018�q��\u0012n�{�4yW*��l��׼�}\u001f�|��k\u0016��t���������@�,�}�����\u001d���\u0000\u001f�\u0006x�\u0015��Gژ5��\b0�\u0000\f���\u0012�F\u0017�&�٣.�.\u0019�yH<_L��\u0010,��%[�:n6\u001by�̟��OԌPGua\u0015�!��\u0016��ד�,S:�#!��\u0000��FtZ}_\u00148�A#r\u000e�n����a1��\u0000E���o����Y���?\"��\u0015���Ο��d����Z�B�E���K��,m���\u0013�=Cҝs�����{C���|.҈��mg��w�<�]��=@�C��屉�W}��]�ؾx��㷗�mA�\u00003�\u0000�\u001bu�q�^x�\u000b�&�y-.�����s\u001d̈́\u0012:�d��\u0000xґ�����=wd�]��8�p�����Chq�CI��\u001cC]ٙ xG�H��9��W07��A�\u00008��?��\u000f�?*���[[�6Zh��:��p�h�;X}&�ۯ)�@�٘��#��<��ۙsh�c����|��]���k�>,z�\t�c\u0001\u0013/�\u000f����\u0000���\u0000�C�4]Fm{I�>���-�ݼ@�%\f�R���E7;u����ݎC\u001c��N;�?{���e��ǎV\u0004��\u000b�Wq\u000f\u0006�\u0000�$���&�;�\u0016��KM;\\�\u000f.��)\u0019�w!��m<�\u0016\n�C!\u0014zT��w��=?ov!�\u0005�\u0002�\u0000h���;���/e��`\u000e������I>f�`��4�3مkk�\u0018���U=iJ�:������2J\u0018e���BD|:>��\u0002y#�\u0015�!��I<㨈o��>-\u0005�����:\u0019\u001b�^�t�xLjyYp���2xq�\"\u001eA�ߖrRM��r\u0015>?<����S�˖W�\t���9��M\b�\t�N�3��'\u0003&Z6Ri�%p�o��T�nź\u0010i�1�cG��-@�1��V���\u0001_��OŰ=�{\u001f�\u0004��c���M�\u001fO��钬�\u0015��z\u0003J\u000e�9��<&�r��\u0014:�1�#zz��4߶VA#͐�Kuib�]n-�O\u001d�\u000e�u�2�c\\2\f�\b�E\u0013����K\u0005W��'Ĕ��P���d1d8r���>(�p_Q����AՊ���*���jG�L���Q�q�<�|M6oN۾�Ѯ\u0006�a\u001d�&�,k� \u0002�\u0002��?^s��\u0004�N\u0019x�ģΓ\u0018�Kʈ�\u001b��\u0018Wr\u0000�\u0010;`\u0000�/�)3\u0013��i\u00068�̶�2Ar�\u0005H�mQ�\u0003Tf|4�Ê\u001f\u0017_,���4�'�\u001dV\u000b��5���M(\rjiJ�\u000e�F\u001c�>\u000f�\u000f��x��d���u�a����Q�\u001e�ޝ)D�����%\u001c��۱�c-<��p�����'�-��7�\u00072E��\u0006�\u001f<����*���jF�l2�À\f`�r4r��Ijd\fw�!���\u001f)��V���+�q�\u001b \u001b}\u0015�&�qO���;7ы��QzW��\u0005]9�\u0002�Y\t�ߧ��5��Œ��֖|8l��ٖy\f�\u0006��\f\u0017�'��s\u001ec�P-�<^�\u0013H�1�\\1\u0000T�����հP;\u0016K�k���;��\t���>y\u0019�!�Ǩ\u0007b�l$�+��EC��ڕ��N�\u0000(�\u0003)\tD\u000f5;'hݨx�5\u0006�����!�ءͳ\fLn�ڮ�t�Q2�&\u0003q]�қЊ�a�\u001eh�j\u000e,|W�yN��]���Zj��M���}���}��f�\u0016(i��z�֣>MfA��\u000e��\u0015\r��@�\u0007rz\u001e��#,�\\�\fB!\u001c\u0019Pt�<\u001d���4\u000éc�]������lD\u00079se�@���b�Ƶ�Mi���0\u0007��\u0007�aZ5\u0006��c_\fh)�n\u0014ZN`r\u0007~�_\n|�,.����T��%G#AZ\nW�oד�\t�с�m���/\u0007&f��\t\n��\u0001�=�r���8�;�:��,A�w�\u0001�\u001e��=��\u0002}�4�^ȓ�F��:U@�o\u001f�\u0014܊�1˪|X������P�Q��֊k�\u0002{\u0001�\u000fՏ\t�7A�?��һ�z\u0016�ՙ�\t#p\u001b���\u001f\u001c�\u0003}ڲ_\u000f���a��j�Fe�yQ�V�bnca_�����^\u001f)uu��\u001e>�d�\u0006���_�KU�n���������2{��C�_��8�Gb�cں�r�J>c�Ӵ_�=\u001b\\�R�N�!�='1���\"��\u001fZ��Y4�Ǽ%����x�F�@�-���\u0012������4�u//�>��E\u001b�e��ʩtW\u0014\u001diL�I�ˋ ǔX-\u001a����1��Rc:��?�\u001f3y&�Y�����gW��g�w!�$�SZ�=3o��%\u001e(�/;���h�W����'��e��d}Vi\u0014,2���݇��9\u0006�<3K�N@�������m�S��{�)��\u0004r���\u001c�\u0018���\u0007���\u0000L�$@��[�@Hqlk��������zƘ^KR��\u001dأ ��7�GC�3�LK�/��j��2\u00191�\u0001�~\nY�\u000f4�j�\u001bI�d�$���\f]v\u001f\t549,،%�\u0016�>Q!�v�D�͉igr>�\"G\u0001��G %\u001fb�ME8��,�%(�y�k�#\t�������O�:�ݕ�\u0013j~Q��n��{�f\u000f,zl1<� \u001b��7\u001e�E��\fϏ\u0006HG 5��F��\u0000\u001b��\u0013�c\rΔ���s\u0011\u001c��>5�����kA��$�Yt��86��b�'�a��UD���>ђ���8�\u0000`*�ǟ���֌�9�1\u0011\u001c<7��;P���~X�t6��=�$yB�MG�^u�,����>܃%��:C\u0010\u001f�\u001c1�H碢�sc=n\u001d\u000e�z�A�8��\u001f�\u0007�4\u0007��GO���F�D\f�:��b����@\u0000wW2{�D?�\u001f����\u001eY�-�WW:6��YjwqD��\u0017v�q�;�?f\u0018dVX��\u0012z��8v�ijr�>c��2�]�l��'��g{#\u0017b�n\u001e��G��\u0018\u0012\u0005\u0003�\u0010>W��}��_^E�DsS\u0010��e��I�\u001a\nԟ��mo�^�nE\u0016b��;zp�,��\u0012D�(d?�#օ\u001b�\u0003���͂�l�墏���ejH��1\f\n�\u0012�\u0007V\r�a����f\t�\u001c���\u0000���>���=L�!?W�M�����+]�q�Lq��\u000e}=�d����\u001f��z����KT\u0016Q�~*���\u0001�`\u0000\u0018g;�\u0013����@m�'Ҿ]�j�$.��/AJ�÷.���c+��FǛ�4_0Gr��c�\u0003���\u001ds/ꍎK�>t�`�;4m�\u0003AO��\u0003ރ����\u0010�C\u0011��\"b|�]�K\u0004ա\u0007����)�\u0012\u000bI�\u0013l\u0006�?ξ9\"�wG�3p&��H��Gj\u001c1&�'p�_�x\r���M�\u001eF y�\u0010��%�\u000b�\u0007�w\u0019\r_���u\u001f��L����/�%�M���i�I\u0005�\u001a�h�ZA�X\u00153\"� v�!̃\f�+KR���\u001f�\u001f\u0018� '�\u0011tv�>\u001b����_����-K��I\u0007����^o���\u001b�������6�\u001e��Z�Gc\u0002�iZ�33C�\rNQ�~�4H�?�\u0011�c�[a�\u0006/\u0012G~�oa|��G�Ꮉ�-��\u0000�\u000f�ʹ:~��\u001e�tKH�ӳ��l�~��X[ �\u001cq�Xƈ\u0000��|�����\u0012��\u001a>��^N>\"NId�\u0002D�/��/�?�g��i���]KAҴ�X,��\u0003�oQҭ#A\u0018\u0010�\u001b[v\u00021�4�K\u0016$��\u0018�~1$�\u0013 ��1�\u000f�\u0010��INXyC�\u0004\u0001[p�H�\u0015\\�u�,����\r��\u0016'��r�0�6��>�\u0010v�yf,��2e���Yc���\r��~����\\��u_+�1����]:�a��^��\u0013\u001ef(X\u0016\"���u��6 a�_Do���X���BX��J������o��\u0000�?Y�}kw�����M�\u000e��[\u0005�-_���a�i\u001a�GY��M��)�=\u0018݇�;@j5:YGW\u001b\u001al��O|�0�<��|�j�\u001c:�p�\u0019f��\u0004wD��GuԼ��,�\u0000���ޡ����\u001f5�[h�\u00009<���\u00003�5��mo<��ԋ�~a����H�p�U$��Nl����?d�����'�q�/�|�\u0010���hp\u001d?k\rDk�>(�wq¢~{\u0015��?�\u001a��WJ���%���i1�\u0002�+�y�Ԟ�K���7S����4\u001aXe�9�\u000fT�/��\u0001]6�z�O\u0006(@]\b�n������'�/����o�4��/�O$i?�~O��\u001a���y��4yC\\{�ik�y[^Ek�\u000bTI=\u0019=H����j�l����=Y�\u000e�˓K�0\u001fT(�Q�0�yN<�'��;jsӍ\u001fh�\u001e�Jw�X�et%\t�Q\u001f\u0014W�痜�0?'<��ggcu&��=cKK[�ǎ�}J+[\u001by���s\u0002�i.-f\u000b+QC�\t۠��oK=\u000fk˵\f��2�\u001fO\t�\b�^�w\u0017;�5X�:\u0001� �*�\"\u000f\u0016��c�����'���?�/6~^k��\u001b�n����W&��ڭ�ci��=J�#�\\?�k����\u0010�\t\u0002\u001b�NM����{���֛�_N@�]��Q�\u000f\u0010\u0007��C�[Ɖ�\u000bAK\u001b(E��C�����:\u0017�PI=��}t�_�g���wP\u001d�\u001c�|�/a���A��\b\r�]u=J���:\u0015,6��n'�\u0010\b\u0007��W�\r\u000eNQ�f�fi�ZTƬ�C0�\u0002\u0007\u0003����#�\u0011\u0003�Y\u0002\\�٠ڲB�\u0012���nH^�V��7���MD�n��\u0011\u0014\u0019�v�[����3���\u001e\u000fP~%�H�ߏL�r$�@��\u0000\u0005�-\u0012�8]\u0016Q=� \u0002�s�6\b\u0001=7��^h�rc (\u0002�+R�Ʊ��+\u0000��88�٪� �\u001b���;\u001a�$\u0000\")�zU��5P�\u001e�8V�B�\u0015Z�LŒ�{�)kzH\u00101�\bՆĩ\u001cy���\u0007���\u0000h��m��z��+!��ּeW�Tv#n�}9�.{rm�K��o�E��>@���|\t\u0002���*�޺91�#f+ud����k_���;�� h��\n{��\u0010��˾��}����w��\u001fRN�Oo �f�I\u0003�o�϶g�\u0016\u000f{�)*Y���IF*\b&��\r��1r�������~m}\u001fRҮ��\u0011�uI\u0005\u001a�F��\u0002N��;�Fٕ��0`K��R�\u000fӾ�|Ϣ������e\u001f·�Z� ��\u001c�ᕎN~\u0019\u0000j/1� ��}\u0015�@i�IJ\u0016&�O\u0013��Q>�r�⍎l\u000fZ�[�e������BkO���su��m��&\"�?:?5��t�v�0�c��h�N=j��\u000fL�43�ſ1��e�*�s\b�56�e�^F\"@\u001b�c+Px����:�\u0003���rq�Q��\u00168u\u0018��1G5�����j�Y\u0011���&��f\u0016\u0019pHK�)˗z�>�\u0000s�\u001f��\u001f��/�O�ɻ-;�~N�6�w�n��|��+�$�G�7,#��oy�O\u0017�\u0016�ܜК-N{�}���fqK1\u0012�r\u0011��w�{�:�ϻc\f�}�� \u0000F���<���\u0007?s���\u0000�w�\u0000�^�O�O�t�#�^�Er���l�\"����f�>\u001eW����C\u0000z��\u0007Ӂh(MI�v�ij;C,�Z�\\�\u0001�1\u001f͏����\u0004c�+\u001dwz���s�\u0013ʾJ�\u000f��Nnm�$0�Io�w4���]ߍ�\u001f<�c���$��\b�%�EѬ4[t�\\�\u000e���\u001c6��V��\u0018��ï�(U\u0013�f�\u001c��\u0004��C\u001f\u000f\u001cG\u0014�-�\b���׻��p��ǖ ��8�F1�גD�\u0005t���\u001c������寖4�\u0000&�7����O>���B\u001fO�v=}�#C\u001b�Z]7K2z6�+Ppg\u001fh�\u0004'\rnyk��L\u0001�u�|���#�]\u0019�\u0019������c#,���_h\u001c�\u0007u�o*��o��+T�o��\u001b�[$���.\u0012h���7�a�\\-x\\[Go6�i;/�^�9�6CQ��\r�H\u001f�����k���~���.t�\u0004���d�;+׍��%�1U��Q�R�\u0011@v^`o\\�-\u0007���۸\u0004��u nF�?ҏ���Mc��/)\u001b�\r�\u0013[���;�=��q7�T����:��A��s,\u0017\u00162�Dwh�$��h�:���i���w\u0007i���\u0000总\u001dߥ��c��ٺ�\u00071#O�b<�c����״�-�py*X�\u0010^�sj\nȥZH��*��Jj~G>�=Gd�+q\u001b}�(ů�o����\b�\u0000���\u0000�m����5M.��$w��\u000b�W�W��ḷ��;�n��GL�����t��#�#q�{Ǒ|ﵻ.X�1�\u0005e�\u001b���;�\u000fܟ�-b��ߒ�@�ԕ��\u0005�����1v\u0016著j�D�@Ew�yoi�a�L�\u001f�'��L����܃_\u0006\u001f�]T����RX-ѷM�\u0002@�\u0010\u0003�T\u001c���<\u0007J����g?��G��_-�Y{ȒZ�\r(�\u0011���l����e\u001dX��P1\u0004�B���~���3!\u0017\u0003,�\"6m��{\"l�\u0011Z0\u001b�\u000e��;�D1���ɖQ\u001b�\u0002?L�Yd)�P0\u0007�\u0000|M2\u0019�b.�-�l���o��t����V,��I\u0014���5��[uvخ>�d���x�\u0002\u0003ҿ\u0017�CۯC�DJ2��W\u0014d\u0005sFZ݋Y\u0010L��A�:���>�\tG�q͔&!+<�$����h�\u0010Q�\u001b}�w��9�(\u0012<ܨ�d\u0000�����kK�/�H�cFn4�=�ߗ�u\u0013��'\u0013]�ǔx��J~G�.t����\u001ff��:\u0006�KY\b�\t\u000e�z\f��Lg��e\u001e`\u0017�2Ǫ�J\n4���;��]pi!\t~�/�y3�K$e��޺w�w�֞l���o��ۺ������kߕ)�\u001c3�\u0012%�d\u001cyK\u001e�\u001cL=9\"Yu�p��42F�ha\u000b��\u0001]�]ώj�\"'w��F1�>\u0019\u000fX\b3vA�v���\u0004�\u0004�ׄ�J���k��yr�P�\u0017��z\u0017�\u0016���R�\u0007��s}�\u0015i�yr��x�YO�Ɠ\u0019�w��[��2�\u0002Z��H\u0011UWj(\u0002���r�3\u0018�dv\u000f�`��\" \u0000&�L������m�d\u0015ZӐ=����`\u0019��x�\t���<�m��U+�\u0012�7�[�z\f��}^T�0Dx`u\u000fW����!>��5h\t=v��\u0006W\"��\f#dg� �*�\u0007!ƣb*7�}�\u000e\"938�!r\u001b�[A�܉mٶ�To��Ƥ��\t��Zp\u0007��M��\u0004��m8��S�Jx\u001fju�H\u0011�m�.(�K�\u0011յ�m\u000267� ��(�\u0015�製O��F\u0012�}#v�����s#���B��2��\u0017�Ϳ�S�d'c�9�Î8#|��瞮W��ђ�o\u0005�h\u0015Gٯ#�jbe)��X�c\u0000\u0000�.�\u0002vۡ��_l\u0002\u0000{�N��[�\u0015\u0000\u0003�\u000e�۩�\u0019la{�j�CʷC\u000b�\u0000��Z��?\u001f��Oþ[5��β����\u0000\u0010:�iS]�>9\u001e\u0013ޝ��\u001e�\u0015A$S�\u001b���p�\u0012X�<��^sV�/\u0013AB:�\u001f�c��8X����W7cj;\u001f�'�#a�\u0001�R\u001d�>�1}t��\u0000��E\t�kԝ��Njn�,�[�c\u0013K�3(�6*Mz�#�2#\u001eA����^_ڃ��D\u0002D+^�V�#c^�\u0003-\u0018�Qa,�\u001e��!\u0017Q�/�8ѪYMC��/j�#UѨf��\u0015�͒ZM�C)n�+M��9L�F�9x͋\u0004_�=�\u000f\u0018�>#QA�tj�v\u0007!{�\u001d�6���y�|���\bޤm\u0005�\u000f\u001b��\u0012��ũ�/���>�$O�����x�:|��\u001d?�ߗw��J��[@y\u0006@]\b\u001d�C�$��7\u0018��U\u001e\u0019�\u0013��}4��H\u001d\u001fD~M�uyo�\u0011��?5M\u0016��\\ �\u0019$q\u0014w\u0013\u0011D�!�\u0015������2��0�q�߱��Wj��\u000f�k����=�^G�x\u000f�g�<��_�Y5�kwԴ[���^�Jq-�pw�b|\u000emt\u0019���B'l�:~���;Q��b'c�?[$�����?�l\u0017M�_\u001d:��ONI.vP�6t�o��Q��t\u001a�R���Kv��4y���\u0014\u0001���\u0007���W�ִ�w�2Zj�ȣ��],�\u001dК�_l����*��ď'y\u001d\u001csb������%��e��Z\u00042X�|�\u0018�*�\u0011�\u0005\b\u0016O\\\u000f=�^��υ�$V��\u001f)?�m���\"��L�k��ʄ�\u0014�1���;\u0000I��6�\u001d㳼iԙ�3���Z֯�/tH[�a��Y\"��\u001b�J�\u0019�_�{��Z���I�\u0003�S���B1o1�\u001d�ɻ$�a�ߧ`|��.�o�m�æ�V7Ri�r}C˾W��W˱�\u001a����r�g���\u001e��,��\u0014n?`�،�7,��\u0000\n\u001b�2\u001cϼr�\u001aF81�0�q����\u001d�K�������址խY�hµ͍�Q\u0004��\u0012�+�j�GPs:\u0017\"\b�~�A�ቔ:s\u001eO�}��9/�'�\u001f��\"��e���B\u0007ɿ�?Z�2_y��\u0013� �m��\u00054}>��J:I+S�q~�v�\f=��[Dx�k��8|7�\u001e��\u0000�o`�_�z�i5P�\u0000\u0005�Da�Ŗb��\u001f���\u001d�\u0014������mj�=ڀ�nA@\u001b�aJ\u001e;��<�4�$\u001eo��� (w3(\u001cƾ�*�N%8��\u001fh�ٙ��S��b@6y��r�\u0005��է<++�\b���F\u001a��� z`;�!\u0016\u001d3��U�X� �\u0018�A�&<\u0004҉AaQ��${er�\n�^�Ț�����s\u001b8xܗ��*�\n���;��,\u000e����\u0000寘do.Y�X�\r�s�-w��\u0005s\u0003W#\u001c���\"\"��\u001b�^ntd��$\n2�h\u0005;\u000fq�x�}�X��u}-��8,��4�\u0011�ܺ�\u0010=�3\u001c�\u000e�\u0000\u0014\u0010\b��z&�\u001c���h:���Nٓ(��\u0001.\u0013E�[܃��o\u0002EkO�r �xO��2 ��,��\u0005A�ڕ�\u0000>�xh�\u000ekv\u0019]����rv�\u0000?\u001a�mH��\"�r\u0006�ר�����(;���ߟ\u001a��g��g̅9ǣ�Y��R�6\f��]�(\t�\u0001r+�jd\u000e\u0003\u0003�R��J#��D0�v9\u001d�\u0000�_�w�o��t\u000bi\u0015��ʋˠ~���z��B9\u0001_�t�>��\u0013\tx_�\u001d�[>'�G�3�^o��拯,~Yi�U�DO1y�\u000b}KV�h. ����T�l���k���\u0006q^����ȝm\u0011���o}\u0004\u0011\u0003V/��r\u0007�����������?�/1ƞ��h�`�'You6*Ha�\u0012��mZW*�<� Ŋ'��?m�\u0011��\u0005\u0013��w��,5\rG��\u0000�|�e$��ipZ�Z�\u001e�̬�k����\u0000$��s#�����x�w\bӑ�\u0014#�s�O��\u0007�\u00008��-�\u0006��7杍Γ\u001b[Z���\u0000!\\r��<�\u000f�=-g_���|�O�#p�7U詹�qd���\u001b^绻��8W�ÎUl\u000f3}Op�K����5\u000b�u{�[�/Y[�-������Y��\u0015c���\n���Q\u0015��j��n8���\u001f����-q��,�����\u001c�������4��\rB{�|��\u00147���)�|��\u0017M�\u0012�&\u001b\u000b_/�ii#?��#V��3G�g����!@\r�\u001e�W��B�L��Qώ�;��-������\u0000\u0003�/�Ǘ-��[�#��7Zk�$FX�f��\u0000�\u0018�W�$7Q�\r,��x\u00123l/���I.����{akv�V�\u000f�MJ�[yl�\fsX��[�)#>��\u0007^5+M���7<�\u0019\b�-3��\u0000�w�o`�V�����\u0007��5����?�V��PӴ�V��Yk\u0013\t�_�v���|ϥ��E2\\iM�D$\u0001�X�!^���1�ٻ?S�œ\u001f\u0000=��\t��:;tp���ˏY��d����Q�\u0000:\u001bo[�t�()<����e���*��K_���\u000f=�wW�\t,w��\u001eq���Q.���m�⻷�u�S��ls�{\u000b]���؞�(��Ĵ�\u0006�2D�O��@�H=\u001fli0��?\u001e�\t\u001e\u001e\"2D��9\r��`�\u000b�O�q���1���ճ5�\u0010�Z�w+k\u001c!��U�S�s\u0004�v�\u0014\u0011^��\u001d��O?H��gc��\u0010G�[�\u001d�\f�mN�BZL�p�o�9�~�\u0000I\u0002���\u0018uq0�cǚ\u0004\u0010FHFv\u000f1�\u0007g����q3�>c\u0012^yZF�^�򰭂=Ɓt�\n\u0016��\b6�BA&\u0007\u001bv���;\u0003�\n��vI�.���\r\u0018�\u0000T<9@��\u0006���|��\u000f�\u0011�-����D�7Y���a'�X�v�0 �>f��\u0000�\u001b4��q8���\\���=��\"ޯ�wF���;�O\u0002\t\u001c\u001a���ڻ#�\n\u001e���c\f��h�D}\u001a���\u0019\u0005��n\u001f\u0012��\u0015�k�22Ǧ\u001a�8?^�Bf��3�8����<�}a(��\u0000L���\u0006_P�X��\u0004�OQ�E׵s�í��!�h���\u0003�\u0019!+�\u0003c����������}F\u0019�bx�\u0010>$W��M)\"�ډ�\u001e}T�\u0003m�Sq���-O\u0018�\u0013^��\u0012��H\u0013�f��2\u0005k��X�r[�O\u0019P��\u0000n�}\u0015�4�7\u0007���-���j�O�\u000e`W��5\u001a�W�7�\f�OP��[����jW�I%��*i�(��ZE\u001f'g\u0003b��[��bX/?���L�\u0000\u0000�>\u001f\u000e���ʍtp����j��z��O�4�\u001bE�4�\u0012)o!����{�x��~\u000b[+9'�}GS�l�&�� fOl�]��OJ2�c,�̃�x @��y<�\u001f3��\u000b��3�~���\u000e�K�\u000e�����r�D\u0007X�lrd=#\u001d��\u0010���_�|��]\u000b�3V�����Ʊ�����D����O7�\u001ay�=��\u000fu{\u0017�/,$oOU[h�㷗��Ǐ H���g�\u0018;R]�\u001c>�h0��\u001f,�FLR��\u001e#Q9\u0004���E\u0018�边�\u0007�\u0003�/K���W���;g\u001e>?\u000f,`#�D\\���xN��\u001b��X/�����\u0000�įϏ�̯;[�O�W�w�i�\u0017V��o�+�W��w�m�A�ˬ�Sp��X\u0011��t���@*\u0015jsڱ�3g�\f\u0018\u0007\u0015��\"?�'��_�r���r�ڇ#���?���n��?�\u000e�\u0000�\n|��\u00008��?�~W�\u001fGӭ�4�Z��\u0000P3YM�y��ש�j~g�\r�\u0017���K2�%`��(\u0000gY�`��\u0018\t�\u001b�\r���=�#�Y�y%��\u0018_�X�y������_�z���n��\u0018��\u0016��\u0002\u0004i~\u001fQTŰ�\"\u000b3\u001f��93���Cz�\u001c��q��\u000f\u0011 y���\u001aE��\fRD�ф)0�\u001at\u0011�\u0004dbG1��.Î�0�cI��3���2t\u0003\u0018��t��\u001e�=�!����\u0000/��x1�8�c�o&�$��\"\tې1�}e�\u000f��?ʭZ�ا� �\r�\tx����B\u001c,��J���\u0005+�n��\u001eЈ�\u0019�\".��G��4~�h�T|>\u000b�},r�����k\u001f���\u001ev�m3Yմ�\u001a��\u001e,f1?\tY8�V��%BI\u00000&����\u001e�h���lj\u0011�5ݷ�vS�.��\u001f\u000f,�\u0013!���;�q��q[�����s�]��ҿ9�������]�Z_���R\u0019��\u001fQյ{h�\rWBV��N����\u0012��c\u001c��-\r@�\u000fi���n��\u0000��}�ͥ͡����!���1�����k����O��\u0013A����W\u0016�\u0016|p��@F^��\u0010\f\f9ƀ�+ �~��}\\�O�^^�\u001f�Ǟ-=_.y�����4�s�k�[B�f�j�WYR�\u0001%@���s�=�Ŭ��pv�fσ]��@�,�D�W'��i�z|������P\r��t*C�����~\\~y~`�+�j/\u000b��\u001d��-��j��\u001e��=\u0012;�>���\u000f�\"�0>�m�g�]��}���b\u0011�1�:�L']<�{�\u0006��Wh�+�bx�8�*&;\tF�H}��|4�5�K�\u0000�[~U���H�K�c��\u0017V��Z�\u0002P�4�K}\u001d�-��p[�d\u0002\u000f_���wo{\u0017�R��'���f\u0006]\u0000?��}66��/�v?�\u001d�������3�\u0018\u001dx��\u0018�P��\u0007~�\u0004~y�\u0000� ��ȓ^y���Uǘt]>o�[y�E�ȕ�\u0005ݴ>�֟s\u0017!�01�p�o����\u001d��\u0011��W!�S!G\u001c�Q�4$\u000b���Z�\t��K\u0013�M\u0003bq�c�\r�E���7�q_�B�г��\u0010̿谤̪�QB�i\u0014�`���7~��{Y�Q\u0013�H\u000fG=��^���ќ�F\u0013��\nߟv�Oi���=�����8-#���\u000f�[:�t\u0003�\"����\u0016�\u00039���OO?\u0006G~��v�!�\u001e$F�C��\u0000.���O,��h�KKd��\u0005\b�\u0016.|8��(�\u0001�:���������i�1�1�=G��Fqwwyp{�����4\u0007��;\u0002=��|�!\u000e\bF\u001c�\u000f��e.9�\\���=U\\\u00196\f\b�xw���fv\u001e\u0011]�U�AbS\u0019BІ]�jw��\u000e��\u001e\u0013��ˎ#������#�nO_�������Kĭ�Z���� 0 |ǎC)ڈ�8\u0005�9�s@�\u0001Uf�\u0011P9w#�4Z�Y�ޛM?H�\f��C��,�k\"c�\u000bP\u0007sO\u0001�f�e�9���?&�\u0019��,I$�im�[\u001dA\u0001��\u001cרڦ�l��8\u0016�\u0019\u0003��\u001c���+�,Gun^H�\u001a�}�^��2\u0018'\u001c��T�N9�\u001cQ�Y�\u001dSN($��j�CN�r�D㟓l'����K�V�H��O�\t\u0018(��\u001bz\u0015,v\u0007�6�t�̀έ���OO��9m}Cג��\"��j;_��L>��\u0007�iP\u0000\u001fN`��\u0017����\u0012j\u001f���?9i���/K#3@PL�/F?���\u0000\u0007�-��:���سh�m�S%�7����(X\u0019�\u001c^�\u000bT\u000f\r�\u00031uzc�^]\u001c����4�C\f�����|�i��s2�-�T����HE\u0003�'34:\f���Dm{�\u0007\u000f��W\u000fgb�,��~ޞ��~Z�7џ7j�]G�\u0013\u001b�эZ�O/��\u0000�\u001a@y\u001c���\"Y?/���b���~n\u0007bh�\fCY��\u001f9�>@��/���,m<1���~�\u000e�휖���}+�H$\n�\u001eږ\u0016ڂ\u000f�}eZFv���\u001f�i��\u000e���\u0018ᗟ��[D[�MV;9(�P\r\u0005;���(�|C�qG$sp\u0017�K}Y\u0005�R��p��\u001f�\u001c�� Ys��Ì�6K�֥�oBB�BXȦ���J�'\u001c|[�a,ӏ���Qv��2 T�\u00127u$T�TT�\u0004�\u0011�\u001b&:�\u0014\u000e�P���\u001d�����\u0018\u000eD����2�2�\u0006�.\u001c|E��w#����pK�Z�\u001d#\u001b��\u0006�^�\u0005*sk�\u0017�\u000f�<�(��o�K�S3�P��U@\u0005\u0002�\u0000^1�y)����P|M��@v��b�I\u0007;�4\u0004�w\u0003߶�\u0018@��&\u0012�J�b��\u0010{�\u001a\u000e����X\rd��^�t�\u0003sN�P�\u0002��'T�)�s�}�\r���*\b��\u0003�\u001e��]��<�\u0004���%{�\u0004}\u0000x\u001c4.�{4.\u0012�\u0017���Z�\u0010q�<@�\u001dVJ\u0004�\n�\u0015&�+_寀=p��*<��9y\u0011%�CJ�����\u001e�v=��6M��H\u001eܨc�kʏ�E\"�h\u000ed\ton'\u000f��\u0000�H�����m�O�B+�2b@�95\u0018HJ�����\u001a\u001b+�duR��Ӱ\u001f\u0017P\u000f�\u0018�q�=\u001a�`\u0013�\u0010S\u001b\b�O�\u0012\u0003)+�|J�w4�R\u0006>��`��d\u000f�6]c.�\u0018�\u0010=���jt��8�\u0014A5����3�rFx�c0F���\u0006����X�~ai��O�-�=3ZH��4̋�L�*�\r��;:R➔��w\u000fa.�\u0007\u001cc��8�(H\u000f�?��\u0011���W���NO4�_��z�L�-\u001d$~!jI\ny\u0012XS�f�G��9xZ�E�k�Xr���\u001e(\u001f���o�|�y�d<�a\u001dȹ�}ԾN�\u0016�3Kom��.�\u0010�_��^\u0005�V����Od��iC�Rsb\"1d2�kQ^��O���7���~<����q\u0000x\r�<��u����F7���\u0000˴򕍦�\f:\u0017�.�I��W\u0015��L�Kx����%#\u001c���Ku'\u001d>\u0019��7�E\u000b�u��j�<\u00191��gU��^gr�������=�\u00001|��U�\u001b�\u0016}BY�<��/�\u0017�|�l�ڞ�9\u001b#�_��I��aN�ghv�{'G-T��i\u001e\u001cq�t��\u001cϓ��h5]��8�/FxsŅ�b�\u001f�dy\r�:ȇ�o�7巖�\u0000.*4_-�f�;\r\u001bM�X��oO�̈ޟ�.�\u0000;�]ȆGv�%�x�ig�M\\�FY\f�G�=}��OҾ��v��{+\u0016�G\u001e\u001d4\u0005Du���O2O2Q�\u0016�\u0019�[��l����Mj\t\u0005k�|�U�� |)߆Ycj��\u0016U����a)gH�\u00007q�-G��c�JQ���ݑP�J��_R�}��\u001f�@ ֵ#\t�d,ry���\f�\u001dbYy����\u001e_gӈP��jO`;�\u0000\u0001{�-ɭ��әGq\u001a�r�X��kɔt \n�Fi��m�A�v��7�Pc���$��.�\u0004rz0 ӑ��}�\u0012D'\u0011�4{��l\r��b��i �2%䡾/n�\u0007A�\u0006�u\u001a7_��)\u0017-����>ex�\u0016\u0012\u0015�R��~���3:\u0012�Ɏ�\u0007��V�7�o\u001b\u0019(�\u0001aZ��f��H��G��\u000fq��\u0000�\u0016a\u0018�\u0001&�\u0003Q���e�1�!+\u001e���wJ�\u001e6����r�M�m�w3+\u000b�U���\f�A���g\f(z�ߨ�\u00001�%&<�\u0012����\u0000���7�˨����\u0000)�\u00000l�\u0000|M+�_Rx�w��1�]�#\r\u000eL��8e��q��a�\u0006xg��\u0000\u0014$>`���+ZE{\u0005�:��4�*���%�������w2��zr�>��!����H\u0003�\u0000����`Ծ���y>/���Uߜ<�{{t��:�Lq\u000f�on\u001bҶ�@61�n�@ڂ���q�<\u0011�����Æ������w|\u001fo�g��S�p�-2\u0017hd�5[Yx��^4Un&��\u0000P���W���/�7�X�G �1��������p�Q�ѿ�&?.|իhz~�\u0016���,l�kd��`��l���u��I��w\u0016���G0��!uSO�3��9�R99J\u0012\u0000�\u00126?����0�< c�\\_�.k��P�̺�}����]^_�sop.\u0018����r8N~��\"�\u0006�\u0001�3><\u0010��-�\u0005�b2\u0012e3d���X.�摢�v\u0016�v���\u0012�^�̋�yDM9U�#��t�H��$&7 ,o���\u0000̚ט�ǤI&��u���`��u�?D���P����\u000fդ�ԍ�e��=+�X�y\u0015�b\rXK\u0011\u0010�\u0019F4vߺWq'�y��Ր\u0012%\u001c��A\u001c;\u001b\u0015����`z\\�ַ��X�5��4\u001b����\u001b%jNuM\u0013ӎ��\n��˫X��N��K���ms\u0018C0�\u000f�2z���\f�\u001d\u001cl\\s����hze]O�E�O�^�{^���i�{x�,��\"��\u0006�W�\u001c�������fD2�Ď���5L\b�\u00127���*�n�]mԀc�Auo�\u0002\u0017��E��:�$�SC�8�!9\u001b�~��fQ�b\u0000�������\u0000�ٟ�v^}���$���jw���s[�V���\u001d��Bk[�\u000e�7�Mi����j�����N�T�#�.ϽD{SMcĨ�#j�\u001d�0z\u0012\u0005_�\u001d�`�>\u0014�?SF\u0011�\u0001�\tm8\u0011�\t�t���\u0016��=c�q���?�~m�nn|�ism��Q����M�c��\\��D��Ԅ��Ј:|�,Rh7#�͔L=��v�\u0003�J#�8\u001b\u001f\u0012#����\u001d�GGY\u0003����;>R�\u0018\"X��?��!}�>�7�}_Q7��3��Ť�Gi�h�3�����\u0019V�[�1�bn\"E+�ñ�h�\u0019�1�w�v#�~>�p%\f�6����\u001e{�{��9m����[����t�x\".�\u0014+\"�����0�u,�\\��,r\u001e\u001c�0�#�y��.(�� k%خ^�\u000fG�h3�3�ʞl�\u000e��h^G���a�<߯�\u001a��i�Y�\u00041�_X���\u001c\u0016\u001d\u001aiݥ��9L\f�\u0018ՈQ�����ŀ�5S\u0011ǧ�꜈\u0000c�)NGa�6$�ۯ=��\u0004��\u001a],%,���E�)\f@�x��\u000eW�\u001f������S̿�Qj�\u0000�?��>a���\u0000�u�#�����]��'���?UKjRE,:���.ݔ4zdn�w���2�\u0018\u000f̾��#7jJ]���勳*Q�ac&`E\u001e\u000eG\u001e\"6�\u0019'\u001b�\u0018�\u0013�W�\u000f�S�졏����3v��P�}X�u\u0007 �(�[�\u0007��q�B�4����\u0018᷶�6j`\f���\u0012��!�(�~�F���V���\u001d< \b�TC�ꑹw�^�R��}X?�$�\u001c����Kq*q�\u0001\u0004�ƈ�~\"z��eum�,\u001d��e\u0012V�FgId����Y9\nFyQC+�\u001b�j\u0010����\u0006\u001e4�%#T�\u0017& �\u001d�I ��r*�\u001a����&\u0014�8�\u0015n�\u0000`��1\u0019%w�\u000f{�߳\u0005q\u0011�%���_I�D�8��\u0000\u000eL��ۂjk˹��(�S9\u0013w�i�Eg�4�mh��nco��E\u001b,̪�����\u0013��Kʎ\u00004\u0000�q��x�zg�\u001b���n��\f�X딽C�l\"�,|�{(��˺T�O�8\u0005�\\eߏ6khcd�i\u001diRTv�M/nv�p�5��c�e�\u001f\"Hu����-p�\u0000\u000b�ir\u001f�I��3y���k�o��O���އ����ج��1Ƿ�d�\u0003�蠵/�%\u0006T��íX��!\r̲�j�I!��|a�h�0R�ŕ���i��\t\u001d�\u0013�\u001b�M�>@�?�I\u001fc�������2��ڭ<��(�\u001f)\u0000k�R�\u000f�o3X����&猄\b]�me�\u0018 S#�-�v��(:��\u000f�\u0011�2`\rN�Q���\u0018L_��K�j?�Yڸ�:MV� �$'����/NѼ�m\u000f���D%V���T�)�\u0000\u00168��ᯈ�����^�f�\u001dA�{�\t��C���\u0007��yp�0�;�䄇�A�\u0013K�&��a5�\u0016\u0017�J\u0019T�6N��%S�<|y3\u001aV�zfT=��1�z�?\u0017����t��d=�Ӄ,����\u001dDD�\\$�����\r�����+���3�\\!&���Ơ\u0010\u0007\\�ͦ�x�e�(�N'�.���x\u0007\u000e�\u0016h\u001f�BC�\u001d\u001eksl���J��YU��\u001d��CB{��\u0018��1'ȃ�1$CyX\u001e`��\u0000m�EP\u001d$\u001ckDVn\"�\n�ԟ�\u001b1��\t\u00063�H#Ȣm���qؒz���6\u0014\u001f�J\u0013��f\"Yf��)�À2��\u0010d~@\u0013�%Z���5r��y7�\u0017r\\�\u0016�4;�I*j\u0018O4QGB\b+�\u001d�Q������?��i�{�ď�6�t���C���t\u001a�\u0013���#�>\u0011_\u0014~��\u00008����H\u001e�K�|�\u0007��\u0000s��\u000b�N¶6�4��!�ISC�9�O�݃�\\\u001aa�Q?�dž?�G��\u001a/�\u0017�Q�\u0002Z�����\u0000>|r\u001f��\u0007���\u001b��Ν?=g�\u001a+I�\u0011\u0017���\u0019\u0004@r�!����\u0001�V\u000b񎙪\u001f�K�BDh�p���d$��\u0007��X�\u0000�=��\u0012�\u000eМ�Q�\u0014@�\\�M|\u001fg�K�?̱�����\u0006��e�e[&b�]����FQ�69o��oj�w\r\u001cq�xf_i�-��\u0003�Ɛ1=l�w��\u0003�\u0018�����\u0015Ʃ?�|�-�����$Z\f�\u000b��GgZ�@j‡.��\u0000\u0005n�\u0018���C9�;�\u001d�������\u0000���9r��Y��\u0010y~�_i�/\u0014��\u0000����5����em�;}*(���\u0000�Zv?\u0003�P\u0002*sK��\nݶO���_�C�]�?�'��*���\u0000��^w�O��F��i�j�>j�����6:��V��\u0006��\u001e{u�KI�6��)4؊���\u0000\u0004�i3c0�\u001d.)\u001d��\u0012e\u001f��\u0012/̂��Lﲘ�\t�.�0\u001b��@@�\u0000[�\u0002Dw�L*��\u00114\u0001��X�����Ax���,m���I\u000b-�ڄ�+��:���W\u00113D̼j�h8�D5=��9�g�u\u0013��S��>�7����'f�=����4�\n\u0003�\u0018�\u0000\u0000�m\n������o��/��_�o��/-�W�{�W\u001a��O�\u0007��a�դK�\\�ӭ�i���k���ӭ�9\u0019f\u000b�� \f�}��\bv�ni=�͗$���\u0011�vI�9�D\u0012}F\"��t]����{��~�O\u0016,y�BG\u000e>Fyj�dk�\u0007r9mO\u0016��\u00006��(�\u000f��toʏ �\u0007�4�&y+K[\u001d2�{�\u001e���a\u001f�u+���\u0019��c,�\u0013��@?A{>z.���K��\u0011�\u0011\u0011\u001cD�Q\u0014.�&�����\u0000��5٥�VD��Fd\u0001\u0011\u0010dx�\u000fyڷ��yc����\u0000�dǨI�M[�zE���ҀR�(�Lb�Y`�:\u001a�e\u0000x�w\u00145$��\u0014/t\"k�VH�\u0006�o�\u000eL�\u0016�*\u000b�ڛ�\\4��F�\r~�F2�N�(��\u0011�.��7%����濒�Ѭi>G�M߮��Q�\u0014����Lj�\u0011�%\u0011��T*�„�֙�k{?>�\f�Y���\u001b�{���a�7����W��l��\u00008�ĺ�~D�w����٥Ǜ&�F�u\"\u0014=����y:�5\u001e�0�p\u0006�@{\u001f'�ߞ���\rB��\u001dr{�G�~�}��j�\u0011&:8��ӏ������]�\u0013�\u00009����o�=k����C����\u0017�K�[�����[Yu�J��cq:���0G\fP��\"\ng��\t������V�=˴|j\u0006��q\u0014*��'����ɫ��i�CD0�\u0001B�I\u001b�#ʀ\u001d�S�\"���\u0017w7s�KIf�\u0007�\u0001�x�\u000f􀒩IU\u0019F��J�I-\u001e<�����^��\u0010��H��4(\u0005̱�\u0018��k\u0003�d%<\u001b='����\u0006>\u001cD�s����x���c�g\u0019\rp�]u���~o\u0004�����\u0017��n���c�j\u0017c�\u001a��u8m$-*�\u0006�{\f�F�gUj,�2�\u0004j\u000f������\f~��^|#�\u0010�\u0012|�=R����jg���q\u001b���\u00146���6\u0007���u�;\u0007Ӓ��_���Ҿ�������({-&�\t�:�\"�D%BZ��Ms��wgBy\f��>\u001c��/k�?\u0003�ϱ�u2�\u0001\u0018d�¢G� \u001d�q��:���-�Ϩ�_D���e��+�w�+\r��*\u0014e�Rӂ-�ԁ��qY\b?k*ǟ�tx�\fYN] �C%���=ۅɃC���O\u0018ǩ�9B���?I�\u0011�Ť�dP[�}\u001d���t7Q!����:�\u000b�\u0011Jj9�J��`�?\u0014�\u0018�N=\u000f��FX�\u00008��z��/�.��:v���\u0013C\u001d����\u000fV��\b�\u000f�\r�e��2��\u001e�W����d8��'׆�{>y�fPL4;Q�ڀ\rϿO�:8����\u0011��ǧoS�b\u001a�\u0000\u001e\u001d?��ܿ��#b�ٔ�Mp��md�ئ�\u001a\u0010v\u0007۸m�\\�J#��!׿2�_����<�����_@�ZMjxڰ�k1QnYI\u0004;-)\\�����}�%-��c�x��\u0007��3�_�D��M�^�!3=\t��?\u0012�9�\u0005�PFQ8�\u0004i\u0014���\u0015T-v�\u0019�z��\u0012\u001fr��82�5����Mj��Y�{\u0006\u0012*�H�\u0007�3O3\u0019\u001b%�\tÔhw�Q\u0016�}e���\u0006���\b��R��Yc��\u0007:9e\u0000$l\u0010��5�sK��Cth\u0004��v��Y�(�!ʆ�'ym>��K�I�r�0Q\u000b#+�5?�~��剌<��HK%˹\u001b�ygR���)�,�[�$�\u001e��\u001e8q�k�r\tɥ�-��e��\u000b�\u001au���щ�Mʻ��'���jp�\u001d\u0001���G��K&�9���\u0019�7�.�Jh�L���\u0000��\u0003OJ\u0014�cص)펏\u0006�)\u001e���K��$J_Q�\u001d���Վ�\r�Goj6\n\u00147�&��>��8�9:���\u001f/О��E\u0019�m@zS�Ԑr< �ѷ�<��\u0012���\u0018�\u001a\u0003N�\u000fN�~�\u001c(\u0019w��%uDd$\u0017sב;W�\u0006�M\u001d�\u001aM\u0017����i�o���\b�XL�ƈ\tL�\n\u0016�Y��C��7��Z\nS�]\u0013r���<�x,Uw�w��!��\u0012���u`\u0016��Q��qA�d�6+f\u001e�6؎]S�G��1G\u0004\u0005�iR����U*��Ï��;��L(�b\u000bB쇐;�\u0015�\u0014=��#q�\u0004H�l\u0002��un��#�Bk�\u001d�\rj\b�s��#G��H��\u001b\u0015#�\u0013\u001bMC�^�s\"�\u0019~8�֧��a��5�����Q�~:!o�7P�$p�A%~\u0010:�ֻဳk#�s��<�'G�m�v��\\DK����7ڃ�3c��N\u0007��.�]�ǒ<`z�r\u001f�:���>�뙬����Ֆ\u0013\u0019��F�\u001e����1�,����נ͓J8D�\u001d�q\u000e�\u0000������ϝ?.�E�-c7\u001a���\u0000Kp\u0005ZIm\u0014}�\u0000\u001d�\\��oiK\u0014��Uˡp;c���-_g\u0001�7�>�f?�|�7�E�\u001d\u001b�'ʺ��G�D���$����]��q��򥌥�ȵqM���/Y�zL�4��?P\u001d�5\u0018��\u000fd�\t��˗\f��������\u001f���\u001eq�<�us1���x%��y>�w\tb�{Gz����M�sq�E���ge\u0015-'\u0014�c^��h\u0000�Č��@e���w�:\u001e��t��R�F6Mw\u000b>�\u0000w{�\u0013�p\u001f�7[����_�\u001f<�\u0018�5�\u00009��u\u0018�\u0014��/yj���ϖ\u0007?�\u0017��Qqr6�,����.��X��i�S\u0003�\u0003��w��瑷�>��\u000fa����\u001a�tk���N@�X�\u001d�b� \u001e9��U���cg\u0006��\u001b5\u0011���(X�R9�k�o���z��\u000eD��)˭�����1a�06\u0011\f\u0018i�6�5ܑ�Ĵt\u000b�\u0006`j\tߠ�;�\u0014e-��l�e��av��%��B�I\r$�؃\u001b/�#\r�MI\u001d�TI\u0007���\u0000鴩���\"��Q\rJ���Y�*���݆Dʙp\u0013���\u0007�<�-�\u000fsY\u0002F���U�#\u0003ZM�p�8\u0006����\u0019Kn��1ރ��H�m�c^.�P�.+��Ӱ��g\u000b�\u0003���?-�\t�Ὂ\u00198�$o��jJ�\t�^�\u000e�阚�<..�}�F3*�{n��\\G\"��GE<����C���\u0016)^�`����N���\u0007�\u0004ަ�Ei�33\u001c�띤����\u0000�>`�\u0004\u001c�\u0000�+��\rs0Y�#�a������v��H��b6��PAڹ��bQ�ۍ�&2�\u000fv�5���g�é��\u001c��f���\u0019uzΝt��ܷ�>YX$\u001a�f|�ޝ)�H1�����!Ԗm2�\u0006�T���&V�-\u0016�i5��F�\u0005g9N�\u0017��̀s�)\u0001�14�\u001fX\u001eo�����.<���\u00009~UK�/0�y��zc�~\u0019#����\rN��\u0006CB\u0012�e�\u0007p�>��sY\u001dg`h��T�8�}�\u0000\u001f�\u0005�V\u0019����\u0011B9�\u0013�\u0012�W���[v�2#�d�;�\u001c����z1(G`:��͎C�rw$9&\"\u0018x�1\u0002�\r�\u0000�����;y3I\u0001����\b觊� zV��O\u0016�\u0000\b\u0001��+$yX|��\u00008��iu/3�\\:�Iđ���\u0011��\u000e�7R�*)ޙ����/\u0014s�g���\u000e\u0001ț���p���e���+++�mJ�)\u001e�7�Ry#��\u0012vPJ0���\u0000R�T��\u0000K\u0011�\u0017\u0010�u�[��)c��\u0014\b\u0007�l`�}5���tm�`�\\\\���ʷ\b\u0015�\u0016yR���JG_��5�Րj�\u001d\u0018�����\u0003c���y�^�\u001e�e\u0006�����e������\u0013C{h��\u0016��'a�BQ�r�\u0018J&\u0019%W}�w|Bg3\u0003b7��}��b:����0�>cѧu��=F/$y���&T�5\u001b\u000b\u0015����R��9��\u0000\u0013�D�\u0019�\u0011^���jW}֚_��Ô\u000e*;u\u0013��\u0007��r{�n��X�h�ܟ�\u001f�}���=� ��;���\u0011�֛��ڡ��3$���\u0013��=\n2�Ѳ\u0018��<=�nD�\u0012}@n\r���-���oh�\u0012)ksʑ\u0016\u0011����\u0007��Tс;8���3��9r�y.8ǟx}-�\u00008����%����?�F�V�u�i�cә�6��Q>��iȩ@�-\u000f��x�\u0012���\u00145�i��\u001f��5}ǜe�l���\u0013�O�j0\u0001�\t]w��\u001f\u0018���s�\u0000��������ݧ�<�}ms���D[ΞZ�r�{�\u000f��R\b���J�g���K�d\u001b%�\u0006�,Fr��u\u001d��☽$�\u0000u��D����l�ؒ�����\u0018�!�xT�\u000f�D����j���&H�i�R�\u0014\ndS#|����\u0010{C���O�KO�\u0010��÷\u0014��9\u001bJ]c\u0001���er~��\u0003�\u0007]�솜jsp�;zQ�f�\u001cw�\u0018A�\u0007#�꟔v|�c��\u0014��K�\u001c\u0018�V�$�B\u0017p*���EC\u001d�t�o9�'���9\b�\u0019n��-��\u001ac,��\u0010\u0012�J�\u0010���E]��J�c�\u000f}�=�^<�+�>��\u0001\u0000��_ґ�\n�\td�����0̊�?\u001al\u0016�8\u0002��\u0002;�#������\u001a�\"H�Q�����g�)DQ=\u00129�i�d��'�7\"�A\u001bT�\u00162�ny�e�%1�<\fi�3\u0014p\u0014�w\n���edeJ:�y\u000f�\u0012\t�4�d2�mF��i*0i�g��\u0014�V���T��D�q��{�b\u0000� ��J\u001djky���})\u0016�\t\u001bԎ\u0015� F!h��\"\u0012T7�5��\u0005f%�d1��k\u000f<\\��/V�+\"ʷ�,���(�\u000b�h����z�\b\u000030\u0004-\u000e�/\u0010���S��Z5�Ky��E\u001c�9Q�\t+\t�p�\u0017�H�u5�A\\4�̨\u0015��K\u00141��\u0018\u001f]4�\u001c�-ܑ���-�\n)H�R��J�ö�A0ۢ>}J�D\u0011�ш�e�\u0014���F\u00008�CX�y�2��\n�\n�\u0001�M2�o�\u0019k���\u0012�Eh �HnL\f���\u000f\u0012\u00005b\u0002\u001a��S�H�`.G��Z\u000f�ﹴ2<���}���\u001b���\u0015����:o�r7b�fE��\u0019���6�4��RK8��Gs\u0012�$�j�K�!x���\u0015^�)ס� z\nc9�lw=?�>�\u001d�]�}K\r*`�\u0012_WL����bt\u0002H]_�*�\u0010\u0010[q�Z�\b���o�\u0012>��Dc�jq��q�H�A`z��w����\u001a��t\u000fR�Q�H,ⳑ$�x�\u0019�Z��T|`�\u0015��21��kiŵY�?�H�J�~g���\n�h4�7��\u0011?8�*!?*\u001b�\"�G�\u0004WA\u001c\u0010���\u0018;;H�E$��֭P�N��=��� ��'��\u0006C����/c�A/�\u0001�'�G�8���M/�>R��\u0002?/i֑�\u0015\b�(\u0007�0*�ck��]�7\u001d�f�\u0014ߞ�\rN��rx���s��R$|#�|\u0000z����ec\u0018{;M�O\u000e^�������$��*��\u0015�)&�f�`\u001e6���\u0018�'��dc\u001a\u001bhM@EZҤ\u001e���\"&�\u0003wa�$�̓�jg�g\u000f\u0015�Җh#E�4����]��)�1\u00052\u001a7��,cCQ\\�\u0012�\u0001�8�[�ar���+�z��P��]2��N��^�\u000bl�(Ѳ���5��\u0012����%�xB9b7?؏\u0006D��ou�\u0014\u0016V\u0017�^���H��\u001f�*U�\u000b#��*�N��I(\u0019~���)ƥ��x��WW\u001aq�\u0011��\u0013\u000fe�]��:�0�(��8?0E\u0003A:��B��Mɠ \u0003��\u000eA�5��D�U_\u0014�I�L�H��\u000b�\\FѼq�Ə#�\u00073\u0000�\u0005PZ���\n�e\u0018qb���d�9^�̜�J\u0004\n\u0000�ߡ�bߚQk_U�X���46�}qdY`�)2U#1�\u0003۲��\rԞ�\r3#S�ÄqD\u000b�u��W$ht��jF�\"�W���?\u001f��'?=u���.\\�\u001eaմ�.鐳X��\u0017QG=���a�V2k\u0014���,��\\r\u0014;�z=^^��\u001d>�\u001e3ʹ�\u000b���4]��Z�q\u0003O\u0011d��G�>L_�}��\u00008��i�����~t~e�\u0000�I�\u0000�=�ߘװ������?�Zv��_-h��i/�Ǖ���_���@�\b#\u001c\u0019�$\u000f��\u0000�U�\u0000\u0003�wai��\u001a�P��S�\u001c8�\f��\n�d\"L�)m{z@���S�\u0000\u0005��!/��gi�<]���2��\f��vE\u0010+`O�s�+��\u0000����jZZCn���U�Sk\t4hƷ\u0010L�^\tiW_�� �����M��\u0011�܎��׽��,��\u0003���G����y����\u00001��]�5p\u001a+\u0014�׿B[Y�\u0010\u001b�\u0001�i�\u0000Y��7�+�\u001cE\u0010T��-P7�\u0004��\u0003�\u0001>W�~0�e�IH4oU�ܯ�ژV����O��\u0000;�+�~V�\u001a\roD�>e���/��Z��4�\u0013]ڵ\u0012�9ݸ<-E~t�6?���p�Þ ��#��~��K&LYaM8���jF}d��𝝄x�ΨP���\u0007����������#�V\t\f�����2G�X�D��H�?�_L�4�L�=��f�|��dF�߻gi�&�\u001fhc�a\\UGm�y?��8h\u001aϖ�Y��e�\u00142ʏ\"��\u000b�`��\t (\u0000�sװ�q�q���;�\f�#DP߭���o�5�g���m�h��b����\"��\b��1�^�Z\u001aZi�KȐ(X`̈́�Q\u0019ʼ(\\����G��t3�b�\u0006���6ں�����q{��u�;X�:������B�8���H�\u000f\u000b\u001bĐPF�t\u0015M}���vί��\u001cq5�y\u001fp�>.wga\u0019�Y\u0017��\u001fq<��g�O�y�Ҽ�t��\ri�Y��\u001c��5ͭ�1߈8���'\u0012ԥ\u000fq�e٧��T\t�ȓ�'o����ӧ1\u0013�\u000f.@]y�|��\u000b�\tn�˦c\r����_`����'�G\u001e�\u0013��=�=ǩ\u001dkn��n����>D��\u0014[_7�r~]�z�HE�\u000f/Z_����c�e�\f\u0011��zR�vRH4͗g䞜f�\t�Z\\�u�HpG��']��=AŎQ���b�ڽ\u0000����U\u0003�{�-�kA\u0007���]u�-�[�[�z���qY&�����O��\u0000��R;��\u0002;\u001c�碔�J4|:�ߖ�롪��\u0019D���\u001b\u001f�6/�v{\u0007������K�ދ�&�6��k\u0014Y\f\u0011]���\u001b�xؔ���јr�H�ǰ�l�\u001cH�Y\u001e��\u001f2��\u0003\u0019�(�I\u0011=�;�<�Y}A�u��i���e׬\u0012��������rLw�\u001cQ,�iʌ��p8�}�];�7�z/��_��A�\"\t\u0003�u�\u001d��Y\u001dn�ǀ\"\u0004��������qy���6�\u0017\u0006\t�t�ޛ+�\u0012�\\��\u0007`:f�Z�iu\"q\u0017\u0001��v\u0007K\u001d^�✸e{y����_�otmB{\u001b�ͽ’\u0010n#�5?m\r(�{���`�cόN\u001bƞKQ�˃)�1�/��1[�Y\u00143\u0002\bކ�=7�6�s&3�p�\t\u0010i(I^\u0006,�\u0015Zr\u0000TnkM��\u001e!W��\u001c�\u0019������� �\u000b\u0000j:\u0013_\u001f\u001c��\u0019�\u0014��\u0019�#�����1�2�\u0003�+\u0000z�q�㜌��� \u001e�\r\u001e��\u0012���SP�\u000f\u001f��\u000eyd�ǣ\f8���\u001e��:Y�\u001c�\u001e\f�1\u0003�=���f\f�Cw0^9\u0003\u001e��I㹶\rU;|Ehw\u001b\u0011��b\u0000c/{��'\u001b�§�-��x�VV\u0014*@W�pzPfn8\u0019Ç����'�\u001d���3g�Y2H�GZ27cM��K\u0014��\u001b��ad�T��͞R�D�M��O�\u001e.\u0002\u0014Z���P$�\u000e ���Z�dѝ?�Jy}WgC\u0007h�Z?��^~iϞ-·>��[\u0011����Q�<`)�9\u0011�\u0014��)�O���F'M,z�[F[\u0014�\rr\u0014���IG�u\u0007\u0016\u0015\u001cMW�1�ZeG\u00117\u0013�\u0017 j\"'\u0019�R\u000f����/̓�1y���B.���OH�--��\u0015�B\n\u0016>�:g�v\u0016�9tإ�z#��\u0007����)huz����������o������oˍ;S�\"�ǚ<�N���H9��߹�XY��E�w�'�\u001a�v��y\u0001�Ch�P��=\u000f���C���ŧ��fAǒ]L��6~/���r�\u0004n��!E\u0013ᧀ\u001dw9�f�\rǘ}?K�����Sj\u0017��L�,��J�\u0012z��hsp�F;\u0000\u001e�NrK\u001cf\t!��_���UW���B�\u0010Q~�湮���h�hi��|��s;��\u001d�q\u0005,��9\u000et��f?�gnP�F� ���\\�mp�z~�\"��*�\u001c��ۨ�?9\u001a�l5���e�\tQ���\u0000�^r��q\u0012\\��%�$�\u0006��:\u0010\u0006[\u0018ir�����˯��@Q\t���E��L�]\b�oH�\u0001B���@�Ms\u00128\f�pÕ���xxL�Հ�\u001b��Y&��>��Jep~�S��\u001d�\u000e��t\u00181zDa�'��1ʪ(9`\r\u0014D�Є\u000fMQ�.�{������F�_�\u0000\b\u001c��)�\\��svSZ�\u001a�Eh\t��H�5�Q\u001eg��M}��\u0004ԎKV����$!�ɪYA7�d_����\n�f�1,\u0002}��v�\u0000\u0002�e�$J���g\u0003�>���V-@\u0006P\u000b5j>$\u0014\u0001:T�\\L\u0001�|Z�I>]ɭ��j�cbO*\u0013О�xS\u0004�J4�>�M�\u000f9)�\u0018�T\f��\u0011�֛�!��ɰ����H4����2\u000e�O%}�\u0004u\u0000x�Em�`$G#�~�\u0000z(�?��\u0002ѢӚ\u001eJX�Y��`1�>e�\u0014�M�\u0001�j:��9J�\u0019\u0001\u001c��n\u000bǧ\u0013�@��\u000b���˗��cc�D�|ŦH�4�@�\u0014(\f\u0019k�ż)�8d\u0006۴�^+��#o֛��̒/��\"����D��x��0��˫p�Aڏre'�Z�\"�A��\u00079U�-�9;�S�\u001c��%d\u001d�;(МG\u000f�O4�4��\u0000YP�\u001e��`+�*\u001a\u0010�9T����b�b�ߏǚ6�P�,&�@�Ry�AZ�2�\u001e�_�/��7����s܊�PY`P�$w�L:x�>\u0004�\u0003\"aR�fQ��\u0017D��Q��QJӓI��\u000f��n\u0019D�A�Ʀ�%ӵF��1\u001a�Ƞ\"���$\u001e���s<�J6��i��[uEK�^i�uM.��c�ꜨT�^;V���<\u0011���7m\u0019rb��\u0013@w��Ͼ@�楼�f�b��_�zG\u001bĺ�_�C��?\u0017�DK@�-�f�\\���˥��k��_\u001a��&�M��+�a\u0003\u001fhG~�?:�.���?��M�������]�6�f����0�\u0007�$��a�d#�1J\u0014U� ҙ�{;���Q�o���'c:����4؀% �UMiG5\u0002��~����.Yĺ~�\u001f\u0011����~���\u0003���S�˨���K\u0004�*)F�]Dd�4ݛ�\u0015�͆\u0012|:���\u000e�\u0000��4��d\u000e��M���]\u000bC�o�{+{��6{k�'�=Y}\u001b�b��H�\u0011�}�Bz�i�M$�􎿏���;s�R˫��4�W$������=J��G\u0007`dCF�)]�2�|\u0014c��w\u0014�4�d�яᔤEv\nU��*H�o߭GrE3\u0018̂o�o\b�\u00009�\u0007�o�/� �n����-<��F�}\u001fSvT�Ǘ��+%�#\u00167pY�Z3\u0019�\u0010�N�+�(\u0019x���Lf;���6�&\u0011\u0007��\u0004�'�_:�\u001d�,��\u001f���_󍿖�l���ιe��%ym���\u000b�.�qw���X�G�Z\u001a�}k_ԯ�Eek\u0018�9�Hјi�K�t}���hv��=\u000e!���\u0007� m�\"\u0007���@\u0004��gvn������ˀɫ�v\u001d\":�_͌{�\u0000I2�����󚿘v�s�R�g����\u0017\u0011~S~R��ϥyB�D�|Ǯ�[]l�,���$�I\u000b���94R@�\u0004(���nl\u00030\u001f\u0004��;\u001cc��\u00105�����#΋6��V�yd��3�.H� ��E:�W���\u0013��\u0006�f�<��\u0019-��Pl�:I\u0003�\u001frv���N\u0018��\u001d����!\u0006�Ȏ�F�i\r�ʉ\u0003\u001e(\u001ed<��\u000f��4EVQ\u0011RK\u001f�Tt�1N\u0019�\u0017&\u0019bcы�U��9C\u0003����;�\u0011\u0001r#\u0010\u0010B~0�Py|\"���HJ�/>�\u0000���C��K|���^E�\f3F��:%�pI�h��Ծ�BEg\u0010���O��\u0010\u001c��\u0014 \f�<\u000e3r\u0017�׿ʝ~� �\u000e\u0018�\u0018<��ٺD6\u001a��\u000e��\\�ͅܔ�+y\u001b���P\u0003��+76�B��]�\u0010Ff�8�x�v?�N�j2b�ś���n�k\u0012y�I�����syb���\u001at�\u001eX��1^7�[]�\u0004��ko�r���� �naY\u001a\u0010ާ\u0006�S�����&Zn\u0011�U\u0019\u0003\\���\\�C�\u00049�58�8�=�w�\u0006�.@������\u0000�W���?�\u0000*|�?.9!u�\u0000+��Q����\u001a\u0012���w��\u0016y�=_�>z�o����Qx}Q4`�,h�\u0000\u000eN=���\u0001�f��\u0011����A]<-�+�be\u0003�[\u001a���V���4zN�͗RE��\u0013���)�ƹ\u0011.\u0019\u000eu��\u0001����7����̟�Z�j\u0016�|u+/!�K,�_��Ff��Xv �\u0013[�F\u0000�N�3�Q��q1��E�3��\u0007�u�>[�WU�2��A�\u0007��X\"D��v\b�d9N�^�y����,jP�]A��iz��Se�h�����4d��kw�}Z����\u0015(��Q�m\u0007ik{3Q\u001dV�6\\Z��\u0012��\u0019\u0003�\u0005���\u001bI��p�q�\"\b�\u0018�A�\u0014���q{�~��\u00009��\u00008flt\rO[?�\u001f�1�\u001c:���\u0000�M��\u001ep�t�V\u0019W��t�=�rě�\u0015�2E9\u000e�����\u001b�r�t~�a�����B���-̀��\u0006�DH�\u0012\u001c�\u0010���\u0003\u001a\u001cі�ٹ�W??\u000e���ˆ���ID�\u001e���\u0017�rW�qs�~\u0011�k�4�<��=#�\u0003I�\r�O�/8\bt��/(^�~�\u0004�D��jvA�\u0011�[��컫u\u0003��7�4=���U�]D5��M\u001c��x��s�>�r����=2!��\u0000��\u0017��\u000fU�\u001e��,\u001a�| ф��q�m?����\u000f�o厡��q\u001biW��1\t}HͣK\u0003qb��D�\u0006��ZT�|\u0019�\u0007\u0018$�񻨘���\u0000\u001c����޽�{�;/8yv[�\u001dV�IEސ���R�\u0004��Y�FP�q'\u001ep<�4N\u0001�RA�i�p�\u0013�1��Ýy}�.�\u001c�(���.��g���\u0007F���b���Y�����\u0002��B�������x��X��\n\u0006�ۂh���B�c�-��ˌB\u0006r�\f�g�s\u0007�[�.����Z��,ZF�o\u001ar\rmh�M8\u001a�����;\u0010��̌y��d4#�'��8FNGr\u0005=7���ɗ~A��%Kk{x���Y�T-�j�\u000eIW�\u001a;\u0015\u001c\u00101\u001c�\u0013�%���G$���n{�u�\u0019�%(����\u0015��&����\\�\u0000�k���ߓ���3]<�Zi��t�sI\u001d4ۘS�\u0012Uv$/��r�l�WDq憫N\u0007q����\u001d@8�1&�\"�\u000e����|��\u00009Q�\u001d\u0016���F�e\u0004b�y��\u0003\u0002��*�/\u001b��}sL� ��=F\t&����\u00177�ʳ�\u0014\bx��\"���$�O�3��\u0014�r�1��{t�o�����p����\u0007�ռ6�R\u001e[�g�\u0017��-2[{����j�����ⶥ\u001a;���/�5\u001b[�7\u0014��\b�vn|��dˏ\u0018 Ѩ��T\u000fM�\u000f�:��G�0�\u001b\u0010Öd\u0011�R�P�Zdu��~��#��B��խ��}0��\bԬb�\rB%��Ki�B�\u000b}d�P3��7 �9�:L�rKr\u0001�5~}<���L��\u0001(�G\b���F�<�K�j�Z�SRӡ��a��e���X�l\u0005���t�ՃHG�,���VNB�B}�o�\u001c�HL�\u0018�$��b7u��ز�11��\u0000\u0003\u001a܉zE}��B���c������vW:\u001e�c��V4�6����3�����r=~Y�����ϗVv�?\u000e����\u001cG\u001c1�A�\u0018���_�\"��\u0000���F��]SG]B���*�M6\u001b�%Y#���Оut�\n=�5=�u�O�\u001fv���qj%\u00023d�\u0011\u0004r��\u000f�<�mt85�0�\u0019i�#\u0011(�|;H��\u001af��r\u0017�;�&��L�󎇧kLUl&�������\u0000\nBd��k#P\n�ɦj��\u0013�/e�gç�=8�\"\t�Ԁ>�6^�{7�Q�\u001dF�\u0018��\u0011��\u0004���Ƶ]+PF�-Ug�X��\"\u001e\u0019cߋ�\u000f�oט����&��\\mN\rDI�:|��s]�9G\u0014���C��\u001e����ŇG�y�\u001e\u0019\u001f�'��F�\u001f�ݘ\u0010*\u0000�=���Z��;ñ�HJ6~��&�\u0006�bR�e�����!�p��;�\u00029�DoO)�t�[�Z�\u0012F�Zs���\u0002�kރ6\u0018�b�c�Ru\u0019q����|_s�4���ly��/\u0010�ۘ4�>#5�D�τ�v�<=N;\u001fRȖm&Y\u0012�1��,~}\t>\u0018�\n��c��\u0000�t��k�Z;�.G\"�O�:�s�\u0011����r\u0003\u0001��\u001c�\u001e����\r����y�b���\u0000��M\u000e͍Η�z\u0017Zө�\u001f�\u000b�X�_�k᝶S��ؑ��ɰ�\u0005��\b�A픨^�\u0000\u0012�u�C��ߧ^[�+kkx��\u0012(� (���U���\u00038\fĎO���=\u001e��?+�w\u001d����m��^�&�f�W��&#�=F�Fg\u0018ϝ���-i֚B�\u001c�\u0019h\u0001U?d��N���2��[��q\u0001\u001d�=b�Y��\fPq^;\u0015\u0014\u0003�c��\u0003\t\u0013gwe\u001c�\"��*��x\u00127\u0012��\u0006�ߧ�Z\n�\u0018dN�u@\u000fW4�<�\u0007Ʊ����t=A�{mL���W\u001cj��$�/֯������1�u��\u001a3\u0001PiJ���\u0004\u001a\u000e\\8'\u0013�ζ��z��c��yup$�����l\u001c��Տ�]�\u0005om�{��O&0H�^C��pǚ��1�:\u0013�|����1O<���\u0012=74%{\u0005_�P3�ņ\u0010\u001c#�yl��d�$�'�r\u0002��^�\u000e$(\u001b�t;�(݉;֝2r�ŵl�\u0019�\r�\f�O�E���rʠlv`Os�\u0002s\u0016Zz<�s1��\"x��Q�,�\u0019%��V�t\u0002�Sr��\u0010�� �2�H��\n0�H�C'�:1\u001cE�r\u00065�R��Ng�D��\u0003=�\u0011�W�\u0006�}�\u0006�Aߑ�\u001e\u001e���R��\u000f\t?\n�@�;�)r= v&�\u000fe�A\\�\u001d\u0000ݪ67��~99�X0��,����Z\u001as�•ǀtS;��p������\u0012�9$\u000b�첕5�\u0010T������27 �U���!FIb�T�j\u001b~�\u001b�8\f\u0005l��c*\u00166d\u0016ژ�\u00142r\u000b�!n,\u0007Q�\\�P ��C5�N�D\u000b�܉\u0016M�\u0015h�ڀ\u001e�åO�\ne�c�\u001d���{\u0019\u0011�V\u0002�\bp\u0005C\u000e�*\u0003\ne\u0013�o���ʿ���\"Mo�@�\tZ''~T**�j�+�\u0006C\u001eyc�H3ͤǚ5\u0012G��7�\u000fU�[�V�S\u0010Z1�8���aѪi�->�\u001c�\tغ\u001d_g�����\u000fwF\u0003���m&A\u001d�\u0000��F�&�N_\u0000c�W�$u�'\u0010ɼyspa�X�\u001d�P��/��f�\u0014p\u0011\u001cܗ���E\u0005\rA��\u0012s\u0007.9c�\r�ƛ6,�B@\u0012Gة��2�\u0002/4yK��\u0011���\u0015'��G���!\rL~��Ye�܀���\u0014{���:֥a ��/D\n\u0012�\u0013'*�-��}��\u000e\u0012�\\A�&3�1B�����\u0000E�)�sV\u0012\n�wGS�T��#12c��i�=\u001e��i�;��l��W��\u000f��W`\u0006�L�'�b=W����R��=\u0006�:\u000e�\u001c���$�LmB(�wVl^���ڽ*�]�a����?K��c⇈\u0001\u0012���y��<�g�\u000b�6�A\u0015�)=����Q$Z��>=�#.\u0003\u001fTw�����]�_P�\u0018��\u000b�\n��X�D��eYA��\u0000u3|\u0006�#��\fljc�/njd�\r\u001d��s���\u0007���{���5_5�.�q�^\u0018�A�w����\u0000�;K���\u001e����d����9��#�\u0014L?�\u0007c���.\u0018�/\u0018�W� D�q=Ǩ=\u001f����=��ן��\u000es��0B���&\u0011Z�\u0012\n�$�gU\u0000nNn��#-?����\u0002ϸn~O\u0015��Rc\u001f�r��2v�̿s��\u0017?(������l�H��[�\u0018��7�Pz�\u001a�լ^���m�\u001dbD;\u0006\r�?�z�v��z��gh��\u0002xG��>��}���]��\u0016�ܕ<��Dm\u001b������e\u0016ʨ����@℀��\u0014��F��9�L��s���r��\u0007���&:�(6\u0005$�օ�0\u0005�3��5�\u0000���Σ�b���OqU<37�\u0015R\u0003�9Ęd�\u001b�=@\"��qj�KO�\u0017� �\u000e�DHs\u001ec��M���W�?$?:�!����ߘ?�:ޫ�u�y\f~�j\u0010Y;\r/[�%A��Y�\u001a+�^�) \u0015�=������}���t��Ƨ\u001f�\u001dq��ˌ��`�1G���,�\u001a�i2_\u001e9\u0011�\u001c�}�QU������g\u001e���\u0007\rǦK3\u0011^���w���-��y�9z�}�Ɠ}mcg\u001d�2\u0005�$X�q�\u0019~#@G�V�\u0001̈΅\u001ei1�ܧu}\rɒ�PD���\u0019 u\u0014n+:�p\n9\u0019�4u=���Œ��ԁ��\u0003�1\"�|��M\u000bS]jm:u�K�)\u0012���dX���F�m��\u0012*\u001d\u0005Z�f���7�8�\u000f\u0012;\u0013�w\u001e�\u001e8�\u001c�e��z���T�I�����+Zk\u001au��-\u0014]\\\\j\u001a|���[�4�8O�\u0004��ǂ\n�[l�gŒF<\u001b�98�ۄ����˼�\u0010�\u00110�\u0003��}��/����\u001b\u001b)!��Ҡ�}9㘙\u00046�P�\u0003�Q�k�t@њ����\u0019Ȟ\u0010x{�v�\u000f���8��q7`�\u0005�\u0016\u001eb�����綸����f�$�#Һ�-!����C\u0018X�]r\t\"�#\u0000\u000f��n��\u0019#��3G`F㸃��\u001f��\u0014cɊF2\u001e��;���1A`D�S2\u0012\r\u0001��򍘶���4��|��6:7\r�m7��ۆ��\u000b\u000be�Y%\u0001Gv�\u000f���Zԝ�S��%\u000bLb:�g�i���?%����a�c���A�����/�\u0007kKQHᲰ��ɨ����Ekn���f\n�nF��{GM��d�k�xZLb�z���\u0014��1\u001c��gv~�Y�:�}���ɬ�j#���zD\r�z\u0007��\u00009\u0005�\u00009!����?�\u000b_4��;�\u0013���3�/���M�-\u0016����z�\u0006\u0011���[�U���-�q�����ɞ�{m���[�\u001b�ٸ�c�v\u0000�d�3.�+�\u0018��/���i=���+&�&�ru��Q�\u0018\u000e��y�\u0017d�ׂ[��q�n�F8�!�E{S<�q���\u0018),��ҭ��E0pо��[�V�~�\u0000G�gQFR\f���\f��O�\u000f�C�ޕ�\u001a>�b{y������+\u0013�T0g�TE4f:Ʊ*\u0001E@MK�k�\u0010��⑵�ɔ~o�\u0011Y�\u000b\u0011d\u001c�ZI�\n\u0005��C/\n�\u0000w�o��l�Y\u0000�o:��!��=NO)Q�\u0014u\u0010��p��SR��\u001f<\u0002\u0000\u001be��0��O��Y�s\u001c��\u0011��鍏\u0005\u0007�)':Ԟm\u001c\u0006Lf�P�\u0006�^��g���I\u0004�dSh�\u0005��a�c�*��-�2T\b�\u0013!Ɏ[w�����r��Vz/�\u001a������2��\u0012�U��_\u000e��ȼ�l�L:Ƌ�Gsmq\u0011h�d�\u0019�I\u0007%��+�i\f�y\u0017c\u0012և�M1\b�.G����Dzy\u0013�w1��ؖOR)\n#��ͪ<�d���\u001e�搤QM\u0014ļN�1q�&�\u0019D�\u001c��E9ҿ1\u0011ob\u001e���<��[Z�,�� ��\u0000���\u001aF�A!ih}\u0019(\u0018\u0001��BD\u001f$��F���y��\u0004��u�����@���-O.J�\u0005,\r�\u0002\u0015�K\u0016�*�\u0012Q.D��ęFGO���\u0000(~c\u000b�6�e� �n\u0004�-P\"� \u0001\u0018�\u0019\u00177�E\u001e��\u0000>!N�f>\u0019o��63�_;��y�2}J��V�Q��O�D\u001a4P��x��,��H�F�܎�����#bc(F�j;|\u000fܘ\u0019�\u0019�5�#��^Q���q�\fq\u001b�2�_Z�7�@�\u0003\b�؉\u001a�c�\u0015Y\u001d�\"�\n\u0007C���|����\u0007?\u0019\u0013\u0003����a��-,#\u001e�8�\u0017&�9�%��\u001a\u000b[�>/L�(-\u001a�\\��ץ�\b߫D��#�l��?���g�E6��Aq�j[x|�i�}^�kw\u001e���iH���,͸%�aRr�y|\"D��������i�x����<�������\u001a�\u0000�\u001e[�����Α�;$�4���y\u0006�s\u0012L'E#�H�\u0012V�G��j�S.x�=\u0003qV+�.�\u0016hF_��N&����//��N���\u000e����W˚\u0016��j�do.k������&Sy\u0012��oz�ń��\u001b֔n[�>^͆�<9#�\u001b��\u001e�7\u001b�#������q���iy\u0011�כ�?8�\u0000�\u0004~_���u�1k^A����\"�l��\u001eW�J�yCv\u001a�Y����DZ0*ji�r��\u001b�D��}��� ���M<�#08��E�\u0000�;|�|�������&����f���\u0000�v\b=K�|��8l��\u001d�\"ca�y�XK8R@\u0001d�]\t\u001bfDF�\u0001NJ[��\u0012\u001f���5~kI�~���!_n���\u001f�g�W����4���\u0000f_�j�W�ᰘ�J1�U���M`\u0016��|:WaL��b\u0007��\tw\u001d��NL\u001cb�.����e�\r\u001d��<Ϣ~g~Wy�\\����򤾷�|��}ZM7]Ӧ��\u0011K%�\u0011�\u0016�\u0011�ki��H��]�������}��Ǵ�\u000bQ,:�(�\u0018�'�g\u0013q�N�\u0019\u0002\rW'���پ���\u0014�}��\u0019qHU\u001e��z�/�D�~��\u0000�&�\u0000��|��\u00009\u0003.��\u00008��\u00009�\u000f��-���\u0007���\u0003M\b�E� ��.�f=e��>�_�\u0019\u001a�xr� >N���\u0007]�켥��qj{\u0014߫�L[�'Cx��\u0006�\u0000�\u001c�<�\u0000������^�r$��J���\u0011x'��j�P̥�劰5\fj�o\f\tܬH\u001a��۟>^��@\u00197\u0000\r�|\u0017�?����\u000f?�(�[o$�בiq�\u000fմ�}��/�\u001aO�\r��ai(?\u0001vY\b�k�l\u001a���Yk���\u0000{�.D1��e��Ǿ���Z���X��m�#F�̚5�:~�-��C�Y���5\u001dZ�\u000f\u0015�\u001ad[\u0015�\f�6��g����k�����\t\u0006\u00167\u0007`z\u0010?\u001f2�\u001f�ߓ�g��?Hy\"��x�\r\u001bN�K\u0019��%���H���\\ ��sqP�%\u0018�����u\u0013�.<��4{�Nh�)��,p��\u0003�ߟF\u0017�Ue��\u0000��>�7�\u001aF��7���V֠H�Ҏ��7�L�J�\u0004��pMh6��왰j1\u0018\u0012\u0004��xpd2�'\u0014bLI�{m_���E�Κo3�V�^%�Z_�������\u0000�V�]��<�!\u0005\rR3N��3#KP�xxe9�\u0000<ˍ0%0d%\bD\u0012I�r|��k)�B�Z�\u0003,�cԆ�%_Ѣ�\u0013r���\u000fM��N#��\u0004o��Ӊ�\u001c8��\u001e\u001f�3�.�\u0017\u0019ӝFQFr�~�|\u0005?g�\fb�п&m��tm�W���.��An��ݯ������\u0003F=9 �����*�\u0007|��ߔ�v����\u001c\u0018�/�\u001c�R�l\u001eDz*\u001a!�U�g���\fv\u001b��e�u�\u0016�\u000e��k0^�,S3���3�?^�\u0004�횈J�FqB�\\��a�q�\f�K\u0004t-��c\u0013�[�>`n����\u001a}�6�i,�x������Z���e\u0014��\u0000x��W\n�\rB�l��\f�FB}'��nc��|r\u00061\u0007�j#z'���\"��Ȟr������\u000f�mJ�Y��닧iZ���ޣyw��/�����巘G\u0007�|�{�ހ8�c�65�Nm{V\u0007\u000e�\u0017f�c�\u0010�_.<�9\u0003�X�G�\u001dOfd\u001959�L�\u001cY&\u0004k���\b����>��=\u0019�Zu��޹��֡�.�e\u0016��f�\fP<�n\u0013Ә,P�JUB�E\u001fFk0�C'\u0004�f#��N�g\u001c�Jx�\u0011���״�MY\u000b�q<��5���.\f:\u0013�ƶ��z�1�����8�h���ڈeq��������4x��/�\\�?��i}͚\f\u0017��\u0012�\u0002\u001bF���{��v�������\u0003���S����֟�\u0003�\u001fRK�3;l�_�g�\u0016�\u0003\u0005텞���Mcͷ(Z2���\u0004�?�\u0002�b�\u0000�w����\u001e����\u000f�\u0018�\u0000%ذ��Ô\u0011�Q.q���\u001e\u0011��ԧ�G�w�}��\u0000��\u0000g{?�=��솳�2�FyqJ<\u0018#�\\\u0012>��\u000e�^8Q�\u0019�G�)��8N�Y4�k�\u000b!�~��?��P��c�'rN}_��\u0000���\u00048�\u0013��u���\u000e��\u0000�&��\u0018�i�\u0011�v\u0004�W�F�\u0000j[\u0007���?1����2[�x���\u001eP��zm \u0004��\u0018��\r��\rWdvGb�n\u0018H�\u001e�[#K�}��b\u0010`�����/g-����e\u0004ס�MsC��<�%�\u0006������Q1/\u001e��?�<�;�ZIsn�U1�T\u0003�3r;GI��\u0013Ry�ٺ�\u0014� �\u0000��O����$K')��\r�lc�[\u0001�7>[ԝ>2�B*\u0014ԍ�\u000e�2\u0003Q\u000bۓ?�d#���I�%�\u0003/0b�7Z3���m�Y�\u0017|�i�\u0002\u0004�����3��xm~�\u000f0�\u001e\t\u001a\u001a1?�Ӡ\u00032t\u001aA�-��n\\\u000e�ם6����\u0003���Kuv�K�<�CPB��H�\u0003�Κ\u00020\u0015\u0011A��O&Be���v���Q�I�t\u0007pí[cL�\"\\�8����®��Bc��hv\u000eYjMz\u000f\u0001\\�\u0000\u0001�6'qF�i�7��;,�J�B�YH�a�\u001a�φB�\u0005\u001b���ϴ�Me\u001e�t�+q�9\u0000�q�t�I@�bَR�5׾�\u0000R0_�)\u0012�\nK\u0015i\u0018�V����}�\u0002\u0005�͜dNǒ\u0010jb6�3)���J�Q�=E\t�11��&G���\u0014��\u001cH��%\\\u0011��UO�AN�\"6�>!�\u001c�\t�R9B���Ģ�\u0004���\u0014�U?A�\u0011m�6�����\u001cU��-~2{\u001f�\u000f�\u0018��\u001dÒh�ې\b���nbjr\u001feK�j�Ȟ.[S \"{�˪4\u001a,q�\u0012]�\u0003\u000fU\u0007�p�ԗ�NB������,��5 \b��A�(�~D�\\K\u0014��Ep9�$�\r:m�'��\u000b\u0000/x�%����R�H2��9�Ȅ�Zn�̢�\u0007L#\f$+�\u000e�6\u0012\t\u0017��0п1�ed�By1ޠ.�\u001a�C|���>�����8���W����V�j�0��U�\u0006\n@\u001f�\n��ߚ��)\u001a�\u000e�\u001e|z�t���|���o�T�T+Y\b�(rH�\u0018v�̽6�$\r\u0013����f\u0019�� �:\u000e��Ǘn���,�M/�ZEe�1\"\u0016\u0002��\u0001Cڄ��i��.:���\f�d\u0006�_?��O/��,\u0010+N\u0018��?��04؜�e��m���4���\u0005��M��\u001df6�ċ#)\u000fƄ\r���\u0000(��eP���ߓ\u000e=H⪓�o|����_O��\u000eLq��\u000f�U�\u0014�s6\u0019�?����g�'\u0011�iv��y�D�\u001a����El��\b�̼>�\u0014\u001b������82K�Gr�)�0Dd�\"#�H!�����n5h\u001a(�+}F\u0003V\n���\u0001�\u0011��ΆQ<8��\u0011\u000eҌ�9F܏�xO�4�#���^E�M[J\u0013*\\�j�%Ǧw)*�� Wc��gc��8f\u0003��D�\u0000�i�\u0014>ߋ��\u00002������y�C^wA��+��zH�\u0005�}3Z�r9�\u0001�6�9f糰╌��\u000f�\u001d/i�3�\u0003&�z������C�<��y5��{\u0018�\\%���D���m�5���5QRh*r9DL�F�uD2�8��\u001a�\u001c�����ߒ4��?��?,k7���/�o��/��\u001c��5I\u0003�4��!��\u000f�2�BG\\��A����#\u0003Y�'�1������v'fö{c\u0016L��>��Lw��q=7��~�����t\rj�#\u0004Y9,|؃p���o�\u001d��g�j\u000f\b��N�qH\u00127�nδ�U卩*�-U��*��\u0010j\u000b�\u0004׮is\u0011)\u0010k���8b\u0013k�a���G\u0019P��\u001cX\n���Z�nk�1�\u0005ӓ}ܘ\u0006�yU.�G,�\u0007VF�*���\u0015^\u0015=�r�ˆ������I��1\\��\u0003\u0013\u0014��!�>ߨ=!�F\b�HV�\u0014�\u0010@d\u000f'�h�'��\u001e2�\u0014�I} �\u0018���nj��ni� ˭6F��\u0000���7�<�\u0018\u000f4Vў?\n�\n\n�\u0000��iֻ��\b\u0016G&@�/'��񦱨��ʼ۠��r��\u0006�~\u0016�̬q\u0017G���Fr�\u0012�At�\u000f��U��\u0012\u0005\u0012�u'ބfTZ%\u001d�{��M��E�/\u0014�����@4�w�a�S}��L��G���!,r~�yCW�\u0015�\f[�J�\n졶\u00155�a�9��շ���}\t�Nm�\"�\\����z���\u0002*6l�\u0013G�L%�'��f��~��kP\u001dO�F�\u001d�&��^:��G^�dzĞ��{�d�1�LԛN��ݧ�ե<�\u000e�\u0000��9�|Xa�<�\u0017]\u000b�L��h�c�_F~[�\"d��ې�2\u0000'�\u001aw�^�fP(L2�w��\b�m��NM3\\��Bʞ��e\u0000����ˈ\u0013��i���p��\u001a\u0006��E\u0013\u0003ʠt�\u0000:f�q�;Xˈ\u0002��\u001f�ߓ�\u0000��]��?1|��y4�\u0005�ݮ���Z��\tRUͬ���\u0012\u0005ȭ7�r�-�\u001fJD8�\u001el?�6�͖!��a���Ѧr�}gŦ�Nڪn#\u0001���̽�g��Ը\u000f�C_�a\u0003)U��w|?cƤ\u0010Y���I�u�$�D^.�v�\u001f���'6\u0019>����Ѻ%ݫݵ��&�X\\��� �!�P!\u0005�D\u0014\u0003�bʆ�[\u000f/6a\u0007��!Ia��kh%\u000b*Z�R8��a\u000b�\u0004q(�\u001b�9���@x��2�\u000e�a��3��}�\u0000���\u001b&9\u0013\\�5��\u0013Q�\u0015��D�\u000b@\u0014��B���~C�l�C��oʷ\u000f`ӯ���}�_Ϟw���}\u000f˖\u0017:��}z�\u001d����>�O1'�\"\u0004\u0005\u0015,�\u0000\u0016 \u001d~�>�O�z�L�M\b�)K�b9��9�hoNV�O�S�\u001a}4%�Q3Q�\u001bȞ��O���r��r�̿�{[�W�'�'�oY���)A��)��G�\u000f0´Y�{�I\u0016�0+e\u0003q_����^��m��-_�4�òq\u0013�\u001e�����G�1�\r�����\u0017��=��9�\u0000K�r\u0001�O��\u0011��N�\u001c����\u0010\u0017�o\u0018��)��}�!�\u0013���r\tJ\u0018�j\u0002T�X�BG\\��<�\u001c�y���伣G�d��w���\f�x�|\\]���v\u0007lN8�V�Y�T6O�5�M$�X@\f�:�4bND\u0006.\u0014�\u0010�V�\u0015ڦ��q�\u000bx�+���,��\u0016e�.8�\u0013\u001a$F�)Ee�F\u0002���\u0005h㩦V!NL5\u0004\u001a\u0004�\u001b_4�\"#q#F�zRq�\u0011\u00071 �\u001d\"��$��@��LJvӨ��;3�\u001b�\u0007D�7I��Y\u0001HnQ\u0019h\u000f\u001eKr\u0007/J\u0016F��\u0003�t�r���1ɷ\u001e�\u0015V���?Q�\u001e���\rֳn�����1#?լB�\u000b4ʥ�zqW&�j\u0003�*\u0002`�6g)�y�&\u000f��\\Yj_\\�t�ln��Fb���qUq�ȳ\b���?\u0010X(\u0004o]��x��e�ƞ�\u0006d��|���-���'J����1�f\u0019&m\"�p� �u\u000b5�r0h\u0002��6��P;�ǘ\u0004�\u000eN�K��|\u0013����O8躴\u00161��\u0004\u000byl-.�y�\u0013qmh�\u0002\u0005�[y\fp]B��#\u0001F�o��\u0013\u0001��1���l>O�u_�\u001f7[_\u0011z��X�hn\u0013�)F��@\u0003��[� � \u0012\rME)\u0004O'\b�r�_�z��3uԚ\u001a�$��\u000b�C}p�A�b�FgJ�\u0017��€*>�,r\u0013��{��\u0019�7\u0011T\u001e�i����<�kIc����H%���1A,ҵ \u0012�oA\u0001fZ��\u0011�1�1�ė0H�Vӿ?�Ǥ�\u001c0�ʶE\u0015�.3�\u0013,��,��D��5�\n�\u0001�l$\u0011ޘe��o�e+��~\"�xn\u001d7�ȶ�y��\u001d�id�/��xҪljY*\b�\u000eDz��V���6@_\u001f��z�m-��{�~�9~�'\u0012\u0015\u0001z0�d �X\u0011֔�r�c\u0003`����/\"���u]OJ�A�Tk���h,��a�\u0002\u0016�ݧe�\u001c�r�\u0001\u000f%]�t���;�\u0013.@n��?�\u0014�\u0000�!���;P�\u0000�|�o��O �ˏ!�Kr��[љyI�\u0019�1�%��X�^B�����\u0011��\u0003!(��x?�����s�\u0019���R���\u000fN�˼\u0007Ț���/�.<Ū��m�ծuM#Q���Q���5\u0003`��XMgs$\\�2��\"�\u0000�\u0004|\u00149���\u0019De�`|�_s��>\u001c勄\u0000w���}ϰ?.�\u0000�?�(��X��c���o%�חu�in�b�]�Ӥ�m `\rP\n���e�E�ᐁ�\u001d\u0006�\u0000��g�\u0011����n�[���?,��T����MՌ\u0017���5*��T��?���\u001eL��S�\u001d�k�g�r\u001fMǦ�\u0000{�LJ?\u0000\u0000�\u001e_-�Sտ+?�!��R��uV>O�4�������o:�{`��ֆ���(���j~��j!�\u0006I\u001cS��鵏1G��ߛ\u0016x�d�e�\u000f��\u001bw��c?�?��\u0000�?��\u001eg׼��s�6�j�\u001f8yJ����w���X�Լ��6����\u0017�M���4\u0015\u0000�c�ӛ�\u0000![�\u0012c�\u001b����lЈ\u00122�'��׸�G�~R�r�\u0000ϫt�;��п(3,n$X�>F�߳6��\\���~�z��[R\u0005ɴ�eK��D��˘�e����\u0006]4�,l�|2\u0015�m���:���恎X�\u0003���\u001d�����I�7�\u000091�\u000093�\u00008]k��\u0000�8�����K�q��<��u�\u00009\u000f��\u0007�\u000b\u0018;^8�\u0007��\u0017k\u0001�\f�,J@l#���\u0019bL�7�q�\u001f�=��\u0000��M&9���̴��2�7�y�$>�\u0011�2\u0002&��U�?� /��\u001d>�Z�ƭ�y�����f���h����MJ��\f�H���H�ʒ�CPi�Œ94�*_N�\u001e��#b\b�A ��0\u001f\u000b/\u0006M�\u0003���\u001eG����_�r6H|�k�/�}H5��B���O��GI�d}\u000e�,�b��+�L\u0012��\u0007SZ�s<厳Nk�b\u0002������u�J'U\u0011��m/#�ݿ�߾�7�/�5\u000b�Z\u001d?T�������Zqka\t/i<5h�-�\u000fUV\u0004+xf��\u0018�6��uV\f�ݑ�܀��?z��e��n�-5\u001b4�8~�u\u0001tEV��DwPE�z-�G��PQ��Q�1!\u0019�W��e�\u001c\u0004�V,��]~���\u0000��e��\u000f)[��\bu\u000f̫�M(��\u000e\u001e^�\u0011�c����D��R\u0010h~)H̄����=8\u0005�\u0000�v�˟��k�\f��,G�Y����\u001a���a�|��K�;�M#ʺp�\u001aα��/Gku\u0001\u0012���8��O�<\u0016v��&PUP��\u000f\u00102�*�l���'�u��6�^�\u001a\u0006����\"�\u001d���\u0000�~}��D�a�4i��D��~IX\u0015a\t�i�\u001d�L\u001d\u0000\f5K�,�\t��+�0�g`��`\u001c�\\�{���\u001b/�X@�H� �:\u001c�6��&��G�\u0000+;R�~���_��.��ܽ>���\u0018c��VSV�A\td=9n6ʿ)\u0018V8\u0000\u000fx\f�j̉��߿q{Xx��?�^��D�^����ϟ�gVҼ�ўW\u001a-��X���;�UX��(�R1�G`\u001a�X#Z� lt�|X���@\u0007M��\u001f��c\u0003�\u0014�5� ��\u001c�s��s!�) \u001f�\u000f���\r��b\u0002\u0007���^�\u0016��i�\u0011k���t�a�y~\u001d\u0013J�7�{��vp�V^Q�Ρ\u0011[=\u001bL��~��o\u0011Zj|b�����u''hK\u0018�J�9\u001fQ�&�\u0003�$�N�m�w\u0018�\u0000s�����^\u0015\u0018F$\u00012\u0005\u0000\f���\u00002\u001ef�g��\u001f��\u001f��C���kM\u000fQ��\u0016�_��R���r,�ׄ�kg��\t\u0010��B��@\u001a�D�z��� ��\r߳^�k;[4���\u001ffȑ�H\u0002v5�\u001dg]7�:���v�o��xc��r�\n<1$\u0003w���\u000f�m<�(n�v��r�Ο�v�k�[�h<�\u0015͞��R�펛���(\u001aѠI\u001e��\b���i\u0018��Ԝ�-/�\u001d�عc�C��0Y\u0019fx�qw�v���\u0014��{wY����d��xq\u0015\u000e\u001e��\r8�O��\u0000�\t?�\u0013�\u0000�)������Z�J�kF\u000b�=�C\u001f��vt�\u0017+#�\u0010��\u0015Z\u0006\u0015��[��\u0000�����LO^\u000fh�?Q-�G��f�[]�\u000f���\u0013�C����~�\u001f�'��_|k��\u0003�O�p#���q�W��V'�n��'��Zy���O��\u0013Z��Kz�+�b\u001coR\u0019\u0005z�=�ٿ�'�/�!\u000e��G\u000fiV�2\u0011\u0019�tI��h�-�o�}��2�M<����\u001d�\u0010\u001dI X���G�\u0000�6�/O���勛X\u0012[f��\u0003�\u000f\u001f\u0016�>!J���3���U�M�����|'��}���?haɥ\u0015������\\�����vVa���I��D��\u0017�QJ\nq�\u0019�\u000e��˩˒Y���_��-N3�\u001e?;|?\u0014���:���t�B���$�H¬;mO���9�b�Ò ��x\u0019�c��#\u0019�ۼ��\u00002�\u00000��s%���y\u001clT}a\u000b\u0006Pi�Spi��\u0000������\"#*���=���Ǩ�\u001c\u0001��L-?=�@����5G7�\u000f���FS����F|A�\u001f�X\f�Q������7�\u0017�\u001a� [�G\u0014�E#f\b�҆�ҹ���ڝ9�\u0002�t����G�2\u0016�_�\u0019Eݼ�К\u001e-�\u000e�%\u001cd�\b�d�G�\u0006�osMF7\u0016҅��}J�Q��]�{�!��f�ز��\u0013��&�\u0005�\u0014�_T��j|\u0014CZ8 �2}��n(Ek�,��\u000fV/��[�$����[~-\u001b��������6�~�+}�\u0017�\u0010\u0006ك�\u0006>��.N\u001c���so\\�W���\u001d7�zf�\u0005c��T��G���\u001d�?LD����5��Ռ���[�/Ϳ?I�y���!�/�+q�E�J������.�_;y���KO��I���?\u0015�\u0000�(�\u00004�0<���\u0000�kK���ɮ·�G#0[8f\u0006@�de��u�\u0011��ϖA��h|_1��?��S\u0016�@��vw�p��E���?���\u001e\\Ѵ�x�PZ�[D��\n�c�QT��\f��ȓ��ѡ�1c�@���Gp��jB��\u0005�r\u0010ӧl���K��\u0015]\u001f`~^�ټv��F4B܈\u0001���8�y����{.\u0010�\"\rl>o�,F�\u001b\u0007aCJ(AU#�>[f�Q�߳���w�y2\u0018�ғ�XD+�e�\u0017�U�\u0000E�\u0019M���\u0005\u0002:Q�\u0018�\u0003+\u001e�?�\u0019D�\r�ظ�ODih�K{�yT\n2�*OHߎΤ�I�\u0019\u0019lF��l\u001b=�\u0000��u�f>��\u0000�n-��,)R�Ҵ4��]c���9}_bU>�k\u001c�y\u0004)^e����v\u0014=\u0000�\b\u001a��n$����\u0016��\u0017�K9�3\u0001\u0011Pw*�CS�\u001e\u000b;����ٔZki$q#�\u0019d\u001b�n\u0007�5\u0015aM��\u0002\u000e��� ��R_�^\u001c҅ɩ`W}����p\u0011�G\u0019�ړ[[�\u001b\u0016kqAB\t�SQJ�mO\f���l�*<�dv��\b��H����=yR�镜f�\u0016���\u0010\u0001L��ݽF�^!\u0007\u0015C˦�%jj\u000e\u000e\t�\u0006C&\u0013+?El�su�za$�\u00187.\\�\u0015�N�lY�:�fSɋ�@���Ǧ�r��)E����!n\u0003�\u0015Ut�N��L�\u0001���xI�����Ml�ot)�Xn\u0012��?���\u0014�O�A�\u001c��\u001c���-��=<Ģn\u0003�g�h��y�D�(��/�\u0016DZ�\u0005��V\u00145��sS8�\u0019w�m�d\u001a�\u0017�tG{�/�}G�~S�Z�R�Du��LP�sB[�\u000et�H�\u000e�b�\u000e8���?_���q��9y�%�~gD@�.\u00169\u000b((?go�Z�\u0014ju�g�<�&�z����{&����\"��\u0005�k!BZ6J�\u0001?��l�ɦ�F��\u000e�Q\u0017+����\f�y���Lѐ\u000e,��A��P��s�\f&>� ���\u0011��}�k�Op-�h�z���\u0005W� �W(ˊ`qGb�i�8��9Q\u0007��?3?+��uW��O��S]�z��\u0000��izʨ�#\u0005�Ol�iu�.1\t\u001a�\u000e^n��t\u0007O��\u0018��%ο����_��`�\u000f��$���?/�{5��{qp�6s�~��YH������X��z\u0007��:�\u001a,}��:���\u0000�����������h̓\u0010y\u0018Տv�_z\"?��O[�����l\u0007�\u001f�缗��\u0003��cvlqL��\u001eSߒ_��X\u000fDG�=_NhV�2\u0010>\"�^G���Fo�`v���I��]l�z,}O?&~��\u00041�\u0001�t�BJ�\b�P\u0010\u0013��\u001d\u0007�jd{���\r��Q|UգE��`PO\u0018>�C�X��#fRz���\u001eR�D_��6`ڭ�v�>0�˻GJz�>\u001f��@�Ej�\u000e�L�����v\u0007{%��2��%��:�\u0011��\u0011\u001b�o���;��r��\\�\u0017�;M�š�\u001b�^�\u001e0�'\u0010O\u0013��V\u001c\u00057�n0�s�I��*��\u00008���渶G�Pd\b���\u0001Tux�jJ��Z\u001a�!�P!\u0003.��l\u0005����������\u001e\u0007�4@\u0002� �fD\u000f\"�򄡿F\u0003ut\"u\u0005J\u001fT !7\r^�\u001bu;fX-\\=_I~Wk0����ef�o@=U#�o\u0014�\\��B�j����Dp��/�4\u001b�E�X�@�\b�����m�XԒ8�i��g��c��\u001c��/��~����l\u0018�X�9\u0001�4�H\u000b�M��9�d�ۼ$�E���h:�H�Wh~\u0019�RX\u001f��5\u00072��dcժ\\�g���Ҽդj$��a[K�\u0003�S��o�f�I\u001e,3�y�u:��꣘}\u0004W�b�\u000b�W�HעU#���\u001b\u000e��M�jo�c\u0011q0�O\u0017\u000e[\u001fN�'��s,:�S�\u0000�Q���z�\u001c�\u0006�#�a�l��\u000b�o$Ɬ�C� \u001c�����<�\u0004A.\"�����=V7\u001b\u0018��ᡨ�B:g;��G/\u000b?��#��ʎ/\u001bx\u001a=�Ry<�o=_�I}9\u0011�\n�d�\u0001Q^�\n�5��<$6O�~�|�q� �(1���\u0010�;���\u0011햌����N\u0003\ts�H\u0011��m� �+��Xg\u0017\u0010H\rLr��\u00106\u0015\u0014�\u001d�r�y��ܲ�9���wRM�]\\j:c��\r�_ق��\\�\u0012\u0012�[�e�_LH\u001b\u0013\u0014�\tێl��_2\u001aN8��k6�C%�\u0013M\f��]ڲ]ƢO��\r\u00196�\u0019\"\u0004\u001a\u000e�xe�os\u0011\u0018�O������\u000bǾ�#!��30P/aPcY\u0011?d=\u001a���v�Yp���\u001e\t���\u0013\u000f%y�G�5��.���-m�ꖳ��;xl\u0005^�=Y\n�M6�7&$ ����l4��Y�ѐ㈢I\u001c�S�+���&�P\u0000\"$�.g����\u0000���\u0000�����]O�&_H��^V�U���s\u0012��_�p�s\"�\u0016_/i\u0013��:5Vy��j\u0002S��%{n{R���?��\u0014�R\u001f�f?����\u000e���a��_�?�:=�\u001f�N�\u0017�ycB'��N�?���\u001fN�ߔ4�uH�\u0015<�\u0002\t�V\u0002��\u0001�c�$Tg��\u0004�}�ɂ1\u0003ntȭ/��c\u000b)��\t\u0014�*�\u0005��\n+B�>y�(\u0010\\�hl��v=?ݑ�J\nT2=\u001b��n�u�\u0015�#U�e\u0010z�F���\u0014�x\r\u0002G%\u0004iO�^���.����\u001b�m�\u0015��*#T1��T��f<�⌿\u0011޽O��H��n�\u000e�\u0011\u0011j\n�����y&�2ʠ\u0016\u000fC��M@5�@���P�,�ڧ�\f�\u0012�\r\\�D�\"�:�\"�;\u001ae^\u001a%+\u00169R\u0015u#4�e��<��ɋp_��W`��\u0012w^��$�\u001d�\u0012\n�����\u0007Y\u0015Kl�:5x��|U���l1\u0011;������$F&\u000fİ\u0002�\\4m\u0017��͸�%:�\u00002;_�e\u0006��[^�fn��\"V@AV�\u0002\bR�G&�@�\f��^�\"knL�L(�4�M\u001c\u0018-�s�8��:�J\u0016�X\rПl2�LI'�4]R\u000bP�̩�\u0002}>h�����YT�\r޵�i\u0000O�x�n���Xx�X�@�0G�r���\u0004�|�!t�\u000e�v�@��=�J�vOl5�Ѥ\fѳ��Ò�V\"�n�9Z8��\r{e�\u0018�Lc��KF���8�\u0010�ʻ?�)\u0013�.�\u0016WB$YM\r(v\u0006�\u0019^La�5\u0014wْ\\k\u0016��+��9�j�ۺ�!V���1\u000eꜫ��:��\u0003�٦�LHmH]\u000f̚ޕ4S���@c���\\��^���R�\u000b�Z�5���9VI��\u00056b����}!���MA\r��L�^�ʶ:�J\u001f�.T;\\��Vv�h\u0007#��+����\u0000w���4�ȍe=\u001f��>M����\u0000.��{\u001d��I���ܱͥ�\u0015Ŭ���G��Ȳu��\u0002�A�#@Fv�A\u0011#��<�������s��F�f�o���b�j~_�����\b�V�:p��[;�n G\u0003\u0016f��B<#�j�\u0007\u0015�>\u001c�ǿ��܌��e\u001e��\u001c�I\u000eo������K\u001a�\u0014�����$\u0012��=�r�}5�&@��\u001a��|�kV\"c!�������l���%��Ra˂�\\Z�Nf:��l\u001bo�#��W\u0000;�7c\u001c�\u0005+�o�wf[�M��\u0018��td7\u0011�ԨG�W\u0013v\u0015��A��\u0016A�p�\u001c����@���W�ȋy\u0000��\u0019`yU&�ab�\u0004�t\u0004�CV�;��7�6\\P=E$�R7�c��u,�ȍo$�y�}X����\n�)\u00017%��<�\u0013���p�(��\b��u\u000b\u001dF\b\u0010�Yʠ�0C\u0018h٣jp�9%�\u000eR+�BՔ\u001a��S`���\u0007#��R�W�g��v���d��4�I��X�(�8�3\u0015*\u001d��G��k��Id>�F��1şę��/�7�\u0000'�5t�\rz{t�=\u000e���_�\u0012������>(gJ��J\u0013�a��5S�����;����GG�T\b\u001b��������i�~Y-��]��\u000bi-�\"��\u0018r�I$\u0007�Ʀ8�e\u0015�)�\u001a^ӎ�f\u0011\u001e�Ϲ�k�.zh��V.���o�g�4v�1_��\u001a\u0005\u0017$�����p�M^���9�r\t\u001fX�\u000e\u00169��.\u0012��;�\u0017��^c�\u0019��mJ8'��V�ӿ�\u0011a�����i�\u001a�}ĠQ�S�ݶ�e\r�\u0014Cv<�c|[�s�t���6i�F��7��+c~�<��H�VW�\f�ЊOV�\u0019E�\"X\u0010�S�O\u0014�%G��;ӗ0�\n��\u000eG����o���8y~��S����P�Aּç������Yl���T�5\u0007��\u0002�ͭ��\u001b��r�8U\u0010qZ\u001c�h�N$z�\u0007���?�'E���.9��x��#[���e���\u0000����`�>��4�|���5��Q�������k^]���M{k�J���]?Q�o�JJ�2ȡ�F�Ohjtٲ�\u0019�\u0013��+�\t�M�s�r{7G���әD�Ox1=\b�A�Gj��5_����m\u0002�V��\u0000�\\�o���o9��}��F^_~��\r��p�,�������\u000f ܩ�����,ؚ�K�;�\u0000d��\u0017�Q\u001d��2�>–цI\u001f\u001b\u0015�����>\u001c�Q�\u000f\r�o�\r=����:\u0011\u001d��я׊18&j�\u001e-�}��w���_���?�ߔ�j�9-|��=\u001ePՎ���}A5-j}&�T7v�:\u001b�^�d0��\u0018��D\u0005EFz�\u0000d�\u0000�ٙja\u001do�43�yaŌ����\u0000w�\u0001�<�\u0000�'��\u001e�R�K\u0006�\r�\u0018�\u000eZ�~\u0016J$�p�Oҝ\u0017�r��\u0000͚?������uޫ�$:���t��5�\u000e�\u0011\u0005��i��oym2�\u001bl�CCPF��t��&�M\u001df�x�h�o\u0019�\"Q'�,\u001a����i�\u0016~���G��W󦻭�v\u0016\u0013K3\u000f%Y7�4Խ�e�)\u0005�}w\u0015�X4ww�\u0002�\u0018\u0014�\u0003�oLqm�{��n�!���\u000b�\u0011&�8G�\u001f���\u001b�0[�\u001a�E����Z_�՜F*:��UA.��Cƃ���!�\u001a�Vk�ҙ���<8���>���޼�F��\td\u0007����ӈ�|M\u0003�^�o}����m�hn�E�lL\u001a�D�q\u0001n\u00066U���U���,�\\B��i9q�'\u0016����%�����o\"��&���e�i��5ť����\u001a����t-:9\rƥ��%\u0016��b\u0005���H����N\u0007&��R�1�S#�u'`ӓ7���\bܻ�E�ka�]��^_�o:h��g�?3�9�\u0017K>g�ⱻ�+ɒ��^_Y�:G��&Hfi��s5܁\u0003^�2I �$dbj��GU�C٦^\u001e;�\u0006��?VR\rnz6 G��c����8\u0006g�MW,`Ǡ�\u0000e+<���o�ͭ&����~M�y5�]#I:f����E��B����mCH�OP�����x�\u0013��j� �q{\u001d�\u000eQ>А9n��\"L���\u0003�e×m�r�\fQ1��q\u0001Q�\u000ew~�Fܟ�Z\u000e���/4jך��>��������{�P�w}u9�G\" #�\bCq�4Q\u0014Q��(\u0000\f��\u001a��4�njD`�\u0000#\n�\u0001�~��y��Q��ɔ�YH�<��m�҃�#ӵ�:��M\u001aM��k\u0014F�K\u00047\u0011;ǻ;�ߍ\u0006�\u0002�v.���\u001cY�\r�n\f��H�I1��o���-#���kV����Ŭ�\u001ch�\u001c�o,\u0013F((�F\f\b�;fT!�.\u001e\u001b������f\u000f\t�������O��o3h0���d�ξQ�V3���ޫ[\u001f�Q\u0019��Q��\u0007j�\u0019����5r\u001a�\u0005�����xw�˛��h5z(KI���9s�1�\u0019t;\u001e^�O�|��\t�\u00008����i�\u0000��\u0000���>Gק���U�L�\u001cZ]� y��\u0005U!��i�+\u001a�\u000f\\��������S�_i�-^�@�f�8�B�uw�e�دf;K[\u000e��\\�E�B���\u001bSkeY\u0014�'v\u0004v��i���4F�n\u001c�\u0015\\����̱𽴅��\u001a�Z��\u001b�\u0000\u001c��\u0000�i���s�\u001d6�VP\u00186��#��Qn\u0002(�:�NH�\u000f\u0013��9���5\u0018��l:�����\u0002\u0005\u0011��\u0007��\u0000-<��;\\�\u001c������-��H�t�ԁ�F���z�����\u001e\u001b�;\u000f��&^.\u000b�>�w$�G�u�,/��\u0002����M�˱�\u000e_���O���i�{G/�5'q���o%y��kRYAv�gx}9\u000b1hԶ�\t\u001b\u0002+�1u�\u0018a�\f�\"���6����'��r�Do�h�\u000fj������4������#��n�ɯ�g\u0018<\u0011\u001d\u0007R~<�з�WҎ�5?f8�SJ\u0010�R��g\u001d>D�ц�\u0007��7C�Q3��B>\u0011M�ڿ�s\u0003<}$\u0000��|�QywU�l�䇂��AerJSf�ֵ\u0019��!!���䏃\u0019D\u0001\">_\u0007��Z��� �d+@\u0011A\u0015a܏\u0001��Сe���%*\u0007���&�i�\u0004��*>*����޵��1�\u0012�ϔdc�\u001e3���ln\u0019o�XㄖP�B)�G~��A��\f|�3!\u0003y\u000eϗ����\u0016�s����.����<�!+5ȭ\u0010P�E��'evI�\u00192��'����a#����Ԏ���Ry�{˻�\u000b��J���UP��/�����\u0018���y\u0018�9$k4\u0015�9\u0001\u0014�HQ�\t\b\u0011���\u0007ߔ�F���q\u000e@�=s�Hb�U\r�37\u0016\b�\u000b7�J�����\\��\u0006^-_QlN��\u0011�M\u001c�!��yqa�a�Bu���#�DWF\u0012�\u0015t\t扇��r]c��\nB\t#n$�naM+Q��N\u0011\r�F^!�����ެp��y�\fX\u000f�H�\"E^�w�s\u0000.UA���'d�-^ic.䆍��.,9| �_\u0013'z�l��^�Y\t\u001b��=�\u0000��F�\\ r��s�q�FZ\n�F�\rv>\u0018� �(�Aɵ\r�K��Ā��dR����4\n��xTQ��$q�@12�?s0ҵ$h֠RE�U�����#T�۶S8Ѱ�c�j��ٝ��0���Ri�\u0017\u000bV��|*���e2�\u0015T�\u0018����s\u0014\\��\u001bL�j�=I\u0016�\u001d�^%k��M��f+j��.���­��ܚ�\u0001�ݾ\u0012J�F\\ nٌ�\u0011ݓ�X�>=:\"\t�\u001e��9\u0002���QU�f�̅���1�,�n�{��Q��6w(bv����Z�{�1����\f�\u001b��,P>�e\u001b�|+�\u0004�\u0017Sfw�~\u0010���\u001d�$�P�(2_�����\u000fg��Ho�~��S����\u00108�6�8ֱ��ԅ;�#���Y�&�L�;�\"8xo�¼��?�\u001f�=U'��[�;����������с\u001e���\u0006�Y\u001a\u001bO�q���og���\u001b�'��}/}q�o��_)�g\f�[y�b-\fS���\t�����2��51���3qH\u001f\u0007�r/C,�>��\u001cP\":��\u0007�>]������\u0000���\u0000˯0\\Y^��\u001cQ4���oF`\u001b�e*8�\u0011���u\u001a|��X��wx�f\f�,�\u000e@c!��ޗh^u���\u0001yDDref�#��N'�_lr`��5ǜ^����{����'D0L��T�\u001e\"9T\n\u0004+�X\f���D�9���,\u001b,�S�/�\u0013c�\n\u0003)�PT��\u0000�b�\u0001۹ʱ���y~>���B���\u000f��r;���\u0005i$����`� ��[\"���u�\u001a3\u0002��O��\u0006U˛+�\u001e�8\u0003 � FF�Z��c�\u0017#�\u0005aAA�j�\u00127G�����`n\u0019\t��sꣳ/\"\\ԽW�\u0005��A�k� ,�n�l+�\u0010�����k�w\u000f\fK镔��\b�3�G]�\u0003���=�Hw~>䰏0�\u0004B5\u0016��-�\u0016%`\\�7�!�P�\u0007r\b5�dI��\u0017@}�\u0000���#]�J�`�0^UwwUr\\�N���ڏ٧Ӈ \u0017�}\u0011��}\u0003V�P���C3��1F\n\u001aN��_M\u001b����\u001b�6I\u0013D��Ď�U��7:E�v���\b��V)�J�ICA�#���C�\u001a\r�a�s\u0013�C|v�9����ƻ\u0013�K{�Q���hh�\u001b\r�ē�/�-�,�\"(}I-�\"��tedU\u001c�\u000e($^�H�R\u000fߗ��k�=�<���W\f\u0012�O;\u0007��DZ����\u0014�l\u0000W_�15�'\u0002k�~>N�I\b�~`���ޣ\u001cs�\u0001zM\u0004����n\t\u001b�\u000bZ\r�m�3Tc28�ǫ��ԾA�8`�Y����>.�ݏm���YI�n\u001c���j\r\r�ժ?7���\u0012��N~.\u0003�\u0000���r�\u0013.\\�L�G�_^�g��\u001a�\u0015-gs\u001c�A�*�\u0007���ћ}\u0019\u0011�ý\u0010�����%�2��{恫G��Zu�\f\u001a��ӎr���6'����$N,�G���ׄ\u0011�����\u000fh�����An\"75��\rG��虉䜢9!\u0003ב~f�s��?/%$�W�<��-G�\u001ev�ƥ}�]�����k�Y|\u00124�D4�F�\u0011�hIބggٞ�g�L\u0018��2F\u001al���_s��}�����E��4I�L�,{�?s�J�\u0000���\u0000�����\u0000����ѿ2�1�\u001b\u000b�<��K�4}2�l��\u001f@{�V�O�b�qu$���+\u0016r\u0007@)��؝���3��\u0007� \u0006r'y\u0011��\u0001�\u001d\u0006�Y��\u0011��O��=;\u0001\u0010#�\u0000��l�ƫ\u000e�a�k\u0016\f�c�A\u001d�e\t�\u000e���\u0007b�iL�\u0006P��:�\rY /�D\u0013�J+��\u0013[lQ�K+Q�\u001an\bm�aM�NB\u0013�L\u0003\u000e�`\"c+\u001c��\u001b��TJ�j\u0014�)a��F�vE4���5�;3G;1�\u0001�����f��cZƙo\n��n\u0005vX��Y�\u0013�,e\\W�s\u000f'd�s���\u000b��������-�C\u0019*�O\u0018�\b�!�^��׿\\Ŗ����H\u0013\u0003����tc�{\u001eLJ��Fo/j�[��Im/�Y�\u001b�9�Y���@c@��캃�\u0006-~}<��$\u0007^��le�ǐz\bH<����Csaxn-\u0011UโG{���Z;��\u0000��xk�х<\t\u0014͉�\u0001�nȌ��9X;p\r�\u0003\u0013^�s*��.+-\u000f\u001a1\rD*>�J���k3vD�.;�m��#*��3��|J�`���c�J0�e\u000b�z��\u001a���ܝ��|?\u0014�0��,��ڙ\u000f5�\u0002D+\u001e�\u0002�q(zr\u0004U�ď�O\u001c�:RO\t\u0016\\Ѫ�G\u0017 ���\nѫ,�mֵ^h�\u0010\u0006 )N��u�\u001c\u0006'��� F�\"\u0013^�\n\u0019\tj\u001d�T�$� lթ�\u001d�8~H9��p�Ɍ\u0019d߁T0\u0005\u0003�@\u0018�Kp�{�o��M��f\u001dQ\u0016��Q�\u0019&R���h\u0015G�\u0014���\u0003P�H��\f��m\u0019`9�)�շI9�@jH\u0018q%�Z\u0012\u0007B����C��.���\u0013ܨ��\u0006`�\u0006@�J$jFA�R�\u001b�+�\u001b�3\u0012\u000f؎ N��;-R>h�\u0014I�B�P#ZT1n��5\u0000\u0012@?t\u000f\u0011�[\"�\u001f̩edR�Č����/�\f�q\u000b*���My\u000f��|\u0012=\u00038\u0001� �]S\"����\n�\u0005��wR�u5ڟ,F\"M��w�\u0018��*\u0017�rW��B֌��K\u0000\u0001�\u0000��rb \u001e[���֜C�!\"4�\u0003!,�+F&5\u001c�\u0019��S`(��,#�@�h�+�\u0012-\tB�Ÿ��!Uf�T���f&H˩g\u0001gvga���8����\\����<\u0007-�\u00005'��,����\u0011\u0001���l�U�2�\u000f ^Uޜ@f<�\u001f����l��7&\u0011�2�\u0012x�XBB\u001f��\u001a���i!e�>�\u0012(>��2\u001c4�G�#R�5\u001f/��\u0019d�Ů\u0015������#\u0014/\u001c{��}���xa�Gf9g(���蟕�\u0000�\u001e`����R��\u001fQ�/bkMgA��I��\u0006�H\f2rT\u0006\u0002}6C�0ڔ̃��T��j������>������)�^��ԍ�����W�\r$GQ���h��\u001b�{�R��Ǜב`6\u0006�C$9яJs��\u0016[�3����E���W��ZňmB��1s\u001a\b�T=K[��\u000e-\"+n�-\u0007��P��\u0016x�K��I������\u000b^iV7�[\u0011!�\u0012#$ʁ芴^(D�KWa�\u0001�\u001e>��\u0019\b��\u0018&��\u000f5��<�铈YEy\u0005��*����*��\f�sZ��Ďn.A�&���%_�?���[��Z_\t���Ij\"��E\u0012��I\r8ր�B6�D�p�ч'\u0016`$�_�/�8j�`�:_�-R�[�x�u\u0018-\u001a�\u001bb\"\u0011�\u0002�B�'%R�\u001c\u0016ޕ\u0000�Zx�\u000b\u001b�\u001c��c��\u0013Q�=�_��\u00003��䛍\r��k)�.o��ƿe����\\\u001f�D�H8�mk\u0002�#9������h���԰ݥ���YJ�4wv֬ޤ6�\u001fBT���J\u0011SS��t��C �\t\u0004\u001d�㛛�Ϥɧ��c�/��\u0013�\u0000�?����+\u001d[ΧL׽-#��G�%��\u0019-��d��9=\u0007t\u0017�L�\u001a�\u0015�EA�o����\u001d~18J<&�m������v^<�\u00004\u0019x$%ű�H��u�����\u0000�8�\u0000�����u�\u00008�K1�\u0007���e�rȥ�����E\u001d�i�h�`�xn\u0000Ү�gH�\u0012de\u001e���n������z�v��z��r\t�\u0001�ÐP5�\u0011�K�З��v�gO��\u001f��$5x�\rL��\u0003d\\2}@���{�?�O�ȟ�_ �\u0000ϻ�\u0000�$���5���GԵO��FK?/^�Vӝ_��W֬\u0012�\u0000��j�M���c���&�R�VX�(+L���\u000fm{\u001b�}����hgå�N(d�M�f�.\u0019����U�\t\u0011�{\u0017�/k}���gje��4%��e\u0019\u0001@�C�$��J�\u0010\u000f��b\u001e\u0003�����\u000f������\u0007����9�\u0018\f��k\u0010iwQh���|\u0017sMactc�K�.�Yb\u0001�E3?W�\u0000\u0004Ogty\u000e,\u0018uZ��\\Q1�2{���<�o$=���@�}F,\u001bم\u0019� w�<��?.���<��\u0000?���K\r\u000f�o��\u0007C����o2\r���\u0012{�\f����㗃\u001d\u0007�H�g�fT\u0007��]v��v\u001f��\u0000���\u0000��'��m;�~e���<�u�ΆMW\\�����g�� �N��\u0000��5%1��\u000fqQ�\u0012�����\u0012�\u001d\\�B�\u0011�a\u001f��\u0002�\u0000\u0016�s�^\u001d8#E�\u001e!�I��\u001d�M|w~��^�\u0000�&y���M~\u0004���?[��w���\u0015a���*�K�]N\t�\nG�x)�)C�\u001eӎj�2\u0019EQ�\u001e�\f4���Ȟ���\u001dR?��Ý\u0003Q�m�[{O%k��W3\\\\�[�>_�Pg-��NM��k�_��DRMS;\u001e����4��=W�F�l\u0001>��螵�\u001f����V� �L_��.t=$��t'�\u0015�\u000b��I�����\f~W����ߗ�Y��Y�\u0005���N\u0017$�}��q�����\n���� g�h�KE�\u001as�C��\u0003c\u0013���(�_s��}.A����\u001a�@�iF���X1��䔣 \b��Km��!��\u0016Ey�\u00008��)kp]j-\u001d������ާ+�=b�\u0019�R�\u0011%X�hMA�KO�6YC�\u0007�WD\u001d���^�\u0010�#�\b\u0002\f�������{g�G�|դΚߖ�+�xaQ{\rΙp.�&\u000e��ĭ��Z�\u0006�\u000f|���cM�����蝈#��]\u0017f䡛O#�x���~F�����{�rfY���|�\u0000j�����7��\f��Y��8��v�*��epd>?fK�/>\u0010C�vW�s\u0003�\u0011�Mˊ����}����'k���y{S���p\n�#��\u000b\u000f��Zg��4��,�u1 ���\r\u001e�\u0003&�q�3�d��ɠ\u001e���*+J�\u0015����b7�>e���\u001b�dU����\b�*\u000fF�Sڵ;nr����Ŕ2J\u0006��4��!��Y5\bc���s�P� �r5���N(\u0019ˆ\u0006����#�7�\t`�>��K�\u000f�H�u\u001dr��Zh��-<\\F�J�ۭ��Z��+^;���dv���\rl�&U�s�>�{9�[�.n��\u000eA\u000b؀8��[��'k7�Z�_H�\u0005�����F�QJ(jsV��4\u001b����qk1��iq㧜�.�C����~\u001e�\u001a���_`�-�����\u000f\u0016�J�T�#�{�#8Z�<�\u0017�$!�N$=4�H#5!�p�**�OCߕsq��{���\u001fG��<��u>J�n\u001c�[��7�u��{�~�Oz�\u001c����Dh�=>O�G�~\u0013���=cU�����_��W�����x�]�3��(��\\rؓ������-V�s\u0016Dq���_���\u0000�\u0000y\\�\u001eM��\u0016�w�\u0000�B�GZ���\u0010�;\u001e��53��d9&I������\u0000)��\u0003φϼ�'̿n������q�;\u001e�\u001e\u0019� �\u000f}��\u0007�z\u0005�ǧ*Ȁ\u001f�\u0012<7\u001d=��(�.\u0004K���b)�^R�4Ԏ?^����h�p;�\n\u0002\u0007ќγ\u0016C-�G��f�#s$Y��y_�,��-I����XqS�u�v�\u0016|FP�wz\u001d>|P�\u0010����w7\u0017wztW6/��#��z\u001a��N�3R\f`H�7r|I�J7����\u0000������\r~��Z\u0013��k�\u001c���\u0018�-m\u0014�\u0011���jB�ԏ\u0013�gavt3c��_�c��y�_ke�O�X?Ƨ�����ާ���a��-s\f\t&�r�=K�B`\u001e�ݻ�)5�w\u001a=7�S�\u001eO\u001d���㎜t���I��\u0017X�\b�(Q�L��G~[�a�fd����N,2\u001b\u001b��_��\u0002y?P��A\u001bPҧ�\u001d+^��q\u0010vr�k\u0002��Ө4NZ6�dj�h�\u0011]��\u001f\f���z(�]V�U֤&i\u0001p_�AT�j;\u0013����p�%�?P�o)��I(�+pS�&�b6\u0019\u0003��<����-�r#.�zo�j\u0018���4\u0007`G\\�P7]\u001b�1\\Q�_2\u0017A�b�(�\u001b��\u0013�'�A���n��A`��hYu�f-��}\u0002���ӍOj9)�~�\u0000b�y�\u0004\u0003'�&�\b$7.���G�=\u0007H��V\u0011s\u00112/\u0010�!*��R�I�(�3\u001e@�@�ˑ���/T���W��y)���\u0016\u0000P\u001a��\u0013׮b�\u0004\r�|d%��Ȗ���\u001bJ����H\u001b�{�\u0003je|1򠤑��\"\u0019���I阧\u0005d$\u0004fZ2TR��\f�}���\u0000�ɿ\u0016R,\u001eg��\u000fL�5\u0016*�8�[�2���Njv�O�b�\u0011��9س�\u00024:~>�ck=���,���U@\f�\u0005Y�?\t%���Y��>N~9b��5w�FI��Hnl&x\\\u000f���k��_���\f�G� ��3�%.<$�t�Ҙ��d��O�t\u0005�ZT��b���K\u0001�x�\u0018d�GbYc�d�韫�L��<�戄7�6�\u0019\u0013���\u0003պ�iZ��^l&�Hre�M�\u0015�1���̵���{+�׼��I��\u0016��*\u000f����M�\u0000>����\u00120�u\u0003�\u0005���(� �h'��\u001d���}GH������̍.\u0018�4���X� *�\b\u0012�\u0003r{�C��ͤ>��2�\u0006�?��X����0?\u0017�~z�r�\u0000�;����yu�.9u=\f��7v�\\\b�J��+���gM��,\u001a��ΆG��>��vq�b8��Dr?����K󖣠\\�BYU��\u00131\n\n\u001f���\u001cϞ�d\u001c�u����\n?��_�^��L�\u0015����\u001d\u0013�\u0011�\u000eՠ�#(M(Z�\u001e�4����v��4��䅎G�_�\u0003�����~�<�\r�\u0017�U�^W�\u0011z��ȢX�Qgp�,W���M\u000e�6\u001a\\�͇®\u001dDy\u0013��;�\u001dv)`����KK[Ǖ����>o���a���Ǵw�/���s��\u0002+��og��Rе56װ�Ȕk�\"`>*rR�����Y�\u0013\u0011\u0003U�\\���\u0007���e\u001d��c$e,�,��ٳ(��\u000fK�������۽N=2�-*yQ�\u0019��x���ȿ���EZY�iQ8��\u001c�\u0016HN\u0007.]�\u0018�o�\u0003{�\u0000�k`4d����\u0004s ���\u0000�/�\u000f�ß���Q?�~V�5���/2J�{���+\t[̚�)2X�P\u001fKD�1� =\bl�N��ϴ��u��f@���\u001d�>#��/�{-�'��\u001f\u001e\u001c��.g���yr\u001e�F�<�}3w4M'��̑0��\\‡ea�X�\u001fy�nA��q��x��\u0013ʙ\u0005��QA\u0003FX�\u0004��`�h7��\u0019}�Z�,�;����\b�\u0004s)\u001d�=���\u000by\u001b�� ��\u0003�9Sfy+Ў�1e*<�nQ��m{S�\u0010Ib]f��Ւ`h��G\u001d�\u001a��<|3\u001e&���P\u001e[���\u0000��vg\u0012W��-\u0010j���}�Gj�l�3j\u0014<���/]\u0013*En�����R\u000f�E}H�\u0003�e�A�L^�a��Ր\u001dK�5�\u0000,YysR�մ��m�7�\t�\u0015z�9#�^jjF�Sj�K\u001c�ز\u0014C�#��V�ᾶ���`\u0013z����qUev�pI\u000b)#�a��pb%\u0010G�\u0013\u001f>O�����XK���FO\u000eD�\u0005�Z���\u0014�@��N�����i�\u001b�>Q�2�d\u0005��G���lʄG\r�h����\u0000�7�\u00177�\u0019�J��1bB4�ۅ\u001d\u0000�7=�\u0017W\u001e\u001ce���7��k�k�Z�J�\u0005��2���2,�!\u001c�O��ٸ\u001f�14�2�a!��H��K�_s�O�\u001dgֲ�W ��様bк�P;�f�Y\n�\u0000ӕ�շ0\u0003�,��`�K��\u00003�?\u0018�R�z�s#\u0007 \u000f*a.v\u001e���nt-R֥�6�:WqA�\n\u0001_��<2���\u0007�p�\u0002�Ly_ɗ�W��\u000b\u001b���)k�\u000fC��!��#�\u001c�ou8%�\u001f\u0014G�n�0�'�-Ŀ\u001f���J�^[ԑ؁b�]D��,.���\u001csZ%ׯ'4zcD��~������o̟��I&�/��/6H�\u001b�0ͨJ��vڑ��{�e������C�|�'�|��2;�q������0���2s�c�\u001eB���+\\���[�.0#]\u001e��\u0007淽ҵ/'���\\i���2;\u0013[Fj�\u001a�\u0000�ߢ�\u0007)�Ƥ3��Xa\u001cP\u0010?T~�I}����~�\u00153�6X�݁�H\u001d�c\t�6��(\u0000w\n�$\u001377��q�<ӹ�j��\u0018����3\u0011\u001ei὇$�V�t�\u0015iA��,��\u0018�J\nV���+�/��\"\u001c�E�\u001e`�\u0000i\u001e)l,�^PE\u001a���*�.=J*F�����{s\u000e��X?y�l@�G����\u0003��h�1ǐ���O�ta�\u001f�ڮ�u,Q\u000b�U��*i�Ku|Һ��\\ݺ7\u0007�n\u0002\u00003��굺�Nl�\u0000�Q�n����@i�\u001a�A���v2?�\u0016.滓V���\u001bj?\u00135��+�ICKÌ&\u0004�?�Q�\u00181<�3U�\t�!�\u0004�\u0019������\"�إ\u001e\u0019��a\u001f��\u0000��\u001aŬVv6څŦ�q\u00037�J�\f\u001a�C,W\tl�ʯ4���ʛպm����v�\u0000H���lc�\u001e���\u00173�a�Ő��rW2v\u001e[�{�?:�6����ou�*�^LX4Hl�\r'QЯR5�!�ӵ\u0012C\u0004��#�\u0012���3�vϟ1���~� �Fq�\u0019��G�\u0012\r���ߦ��C�ݭ��4�!��\rq\u000e/�\n�~���1�6?��d���g��4�֚\u000f�t�w��]j��oi\u0011��>J���Ίz�q�x����)qb\u0012��� Y�~�E�\u0006<�\u0011�\u0012�4\u0001�d�>����O��K�q�S��ɟ����Ϟ����զ�6���k�[��7A��\u0002+Kkk�cY�����z�qzh����\ftZ��\u0014\u000f�\b��o�\u0011�<��\u001d\u001f[��\u000e}���d'�\u0018e���#�fR��<�8ƨG�n��{����1�\u0000��~|�\u0000�s���e�3ΐy��\u0017�j������\t\u001c�b窼�5����,�Ht֍Vc��\"�� ��x=��h��=��H���,\u0012c\u001b$�q�S\u0019U��\u000e^Q�?�?��je������2D�D\u0013U�;�k���\u0017ο�?��m�\u0000;'��;\b�X\\\u0018�kz.��Ȕ�>\u0012>Ҏ������u����r�Q����C��K��2\u0007&H\u0013�s1�\u0001�k���6�b�9ԩV\n��\u0005\fZ�\u0002�t�z��8�\u0019�X�qӛ����4���C����\u0000�/,�0]G$.��U$0�\b(��d\u0014�\\\u001fɸ3G�\u0011\u0004\u001f�͘�����\u0018�����y�0\u001c� ��ܸ���Ԧcϲ��\u0000��ˇm�'9Ra\u001f�K����%\u000fF?��o��t�1�ٔ*��v�%�Z>\u001d|�\u0003�Aj�UA\u0015#}�\u000fA���g�\r�G&:��pS8��B\u000f����\u0012>\u001e]\u0007��>G1��nnF=a��-5�\t'�\u0015�X�mAO\u0002��P\u000e��e��\u001f7*\u001a�\u0013X��$7>\u0005v�wP\u0005\u0019�y\u0015p\u0007�s\u001c஀��$�#$�&��zT(R#n\\�aF5+J\u001e�\u0003!�[��Dy(\rNe�\u0012V\"B\tu�nC�\t�\u0000-\u0007^�/\u000f�ǖ�G`Qq��j8�֔`���,��\u0005\u0014�B|iC�8�2\u0016:�\u00073j����&�\u0000{\u0004`\u0006�\u001d��Ӊ\u0001�\u0004�\u001b���Aa��2G`i<����[Ku\u0000�\u0012�� �P\u0003�:����ʲie(�\u000b~>�\u0003�Ag:_���Z�sj[�2��U`�;Q���I\u0014ڹ��M(o!*����F{FQ2�\u0004[9���\"���!�+��V��\u0000����V�\u001c��8��c�U1-ޕ�곈au\u0006\u0011��@�ЭW����\n\u001aTo���c�}5��Ũ��Ցj���ͫFo\u00038Ee\u001e����9P\u0000EUi�O�#��l��.l�C�y�2�eu��,�\u0019\u0018s%\u0010z���J,nEjG@+��[��K����\u001el���k�u���lu\b'�kvqΎ�,��A��\u0000q�H\u0019q�\fN�Ն\f�\u0016A��Җ��X�������V�Q��W{��\u001ev�f,y<��j�+l69\u001f\u00022\u0000\t��ϏhB\u0012&Q$�7FZ�\u0000�m�~U����g\u0004\"!l-��G���Kz��\u0012@�X~�^]v�:|}M�ތ�� }1�������H��\u001c�^a�!�.na1~����e\u0011�}Gu�f9fr�\u001eT\rJ�r�\u0000�C��˛���\u0013�\u0011�YIc��]k�\u000e�m�^Z��[`�C��\u0011Th\u001a7\u001c\u0004���ܖ\u0014 �u2�\":S\b�L��VR/1�w�G5ԆHn�)��C\u001f�9\fe8\u0015�\u0016�=WaAn\u0012\u0007>�\u001bTe(�W�yw�P���>`�|��@�~�\u0012̑�Z\\ظ��'W�_B�vW�\n��IS����\\�y�<�Dm!��R�\u0000�1�\u0000�����f ��D����5+\t&�X]�\u000b\u0005��ׂ\u0019H��\u0017\u0016Q\u0006��s$�i@�,f*���{\u001d\u000f}w{����F,���\u0011<��O������İyt��\u001f$��W��\b��\u0014b>z��urb���\u001c\fʒ\u001bi\n�‹�r�\"k�j��!9 v����w���8�6�X���\u0002;�\u001b[���s��}��/��K[���\u0000ȋ�\u001b����X\u001a=L\\+C�?̛�H#ht�5�\u0002I4}]�EK]f$cłܣ%\u001di��n��e�q�/e�\u001b���.��#�'�%Q��eDU�\u001d���Y�\u001c]�\u0018�\u001c���9C,F�r\u0019\u0007�=D�)��~m~\\~f~Hy�S�����f���}\u001d�w�k֭\u000b][r�A�h��[\rwC�\b}\u000b�W�\u0019\u0014V��;�\u0006M'hi�\u00005��Ƀ��(���\u0013�%�y�\u0004�ϗ��\u001doe�?'�\u0018�QV\u0001�J?΄�Ӂ�ty_�\u0003���S\"�ʧ`7#o\u0003��6��^�\u001dQ�\u0011�t\u0004ڣu�U�\n��\u001a��\n�Ȇ�u\u001b8�5�;�\u001b�R�����@��wA�7�\u0007�����F\t�.�8�x�LG����?��\u0014{�/�ev\u001f�:�x�����bA\u001a�\u0004Ă�~$�ʆ���\u0019�41���Ȟ�QvX=�9w�\u0007\u0018�\u001b��y;���\u0015]\"�\u0004[�W�b��u��\u0017(�7\u0005��\b�=�K���ؤ|h��wO��Z\u000fh4ـ�\f�\u0017ߵ�{߽�\u0000����-f�@�7凖5�0�>d��\u001eb�m+ʤ��D�V���\u0004���i��F����X`\tB\u001c��P5�\u001c4�\u0011�z����L���C�&�\u001c��}��7����ُl�N1��R\u0017�㥗�%������r\u001f��\u0000X�\u0000���\u0000���&����\u001dGH��ZʝjO-X�J�-'A��i1���j\u0001����\u0005G*\u0000G�{#�\u0019;\u001f�1c�h_i̙�\u001cW\u0011)\u0000��\u0000\u0003W��*�q��h�{.���á\"0�(�\u0001\r���=\\��\u0014�G�����7�,�򯕴\u000f/\\hp�3�hV:v�aq�]��-N�\u001d>��\"-�*\\ F\u0001\u001d%Pj���F c��3�û�\u001e�o�p�d��#,�7W�����\u0003��C���\u0018tX.!v�H�m;�f�%�[�-\u0011y\\i�N��7qZ�Ya�~��EE)�x�\u001b�f�����^��YҘ�\fTc3B\"�#s\u001b�� y�\u0003d��O\u0012\u0014��T��7f��Թ[�4Ja�a��֢)Q�=x�\u0014�6�c���* У��\u001e�\u0012ZC�Ǧ> j�}�|���V�I�nE�_�8�d\u0012�\u001e\u0013�$\u000b!���\u0018g�%�;\u0006Q�,ǩ�E\u001a\u0011�˟��^�\u0019t��\u0011��F�$�|9\u000b᱿���\b���\u0015\u000b\"Mq�\\G\u001f7{�C\\i�:��\u0007���N]iU\u001dv�Ö;�\u001a#������:��e�\u0004DxI \u001a�}hlyo{������A3��t�=8�#>����\r�Tf���$Vu��\u001fQwq\u001a\u001a\u0012\b\u0019��k\u0004EKq|���'Y�L,\u0085��\u001b�\u000f��t|������=yFm\u0017�Z-�����;K$/q�_3��6��\u0006�M&��E�\u0013\u0000���J�M:���=F�U\u001dN�f\u0019\u0007�z�t�)\u000e�w����\u0006)�8f\u0004��W��X\u0013F\u0007ncn�\u001b~\\�s~]y��V\u0015t��R�f�qqo�y��1+̊H�����Ū*t\u0004񖜗�\u0019����z~�<2Ꮎ \u0019B���C�w�\u001d^;_�ɣ\u0003$l錌c\"+�Lt�w��q\u001fʕ�}\n�^���+��N�M5��\f�Q�B�\b`ON����Na\u0003��8�\u0000t\u000f�q��r}��c���(�]j��i\u001f��\u0000.�ki4��S_����,�r7'\u000e��\u0010�����5\u001a��>���a~}��I�.�M)��a��w����\u000b:�����^�~��yZ�Q������cw\u0005�X �f�,�R6sAR<3\u0003\\g�S\b�\"Q��o��f����r�3\t\u0013q\u0004r\u0007�>�׿.�3 ���K�=��n%��\u0017�c8\u000b,��6ic��'j������`�\u0013�\u0001r��p���\u0003��d��[���G�W~gi�1\\�k��\u001a[ߏF+��\bg�\\�GrȩӥGn���=.L�FB2<=*ǽ��f�K��\t���{�?\u001f�o�\u001f,�:�ޑa��{;Ask\u001dю@����\u000f\u0014�\u001a�O�y��\u000e�NX�\b�\u0003]���d�\u001c�h��\u001f�����Uy#IX\u0003U Q��t�'\u0004��<�IN\u0019\t\u0004�Y��5��wg2-�\\����#��\u0014w\u001b����\u0012�'ʹ�j'8i���. @�|�m�1~X��4�Z܍\u0013T\b�\\\u001a�Nv$��B<\b\u0000t�t�pi�GLr�?��O/'�í��.�:]H�\u0000\u0002�\u0005\u0011�]l��\u001d�\u0000��hg�4mn�ҏ�}\u001f\u0015Y\r9\u0005$R�G�[�Ҕ1�\u001c�����H�&�\u001ehרs\u000b�\u0000/<�;۝2�f�~\u0014�T\u0000iN����.�O\u001e?\u0012#g/��R��%w���pI\u001aX��%\u0006��*@,@�ڵà\u0004ʗ^j\u001cR/�_��\u0000�\b��*_\t.�QQܖz\u0005T\u0004�MA�\u0000ίE��/��u�����+��~|��;��$��M����\u0006<$�9\u0002���c�����uq����s���[���\r\u0016MV]��U� Q������V˥ysA�/\u001e\u00166��o�S�{f�r�l�=����\u0001.|#�~�y:A-���\u0015h�~���)�c�k.�\u000f!�OCw\u0011�`�ˏQ�O\u001e��cK{�v0���n5o�'ՖN.j�\r\u0014���s\u000f,a�x�9P��o�?/��9]q^0ʪ�\te\u0004ӿ@G|�;@�\u000b�ϫ��o\u00185�Ty>��5�='GkP�Q�\u0010�@8�'�9�\u0003)��޳\u001c�\u0017\fm�i��yf��F��&Y#�֚&[\u0004,$�\u0001�'U�G\u001cD׶�����ͨ��\u0014�\u0018\"�/�����9ko�9��y_�>g��n�[�i�.d��$�j�R|z��!�\u00146��rK.L�-�����;[Q �Zb�u4.w�:)��j@�\u0001:-\u0017\u000eI^�˖,g���!�� �B2j-5��R(�a��\u000e\u001cX��=2G>Gm�\f�yP\u0003����L�;���>�֦��P�J�[�i�թʃ��\u001ecw��4�`�N��\u001c\u001f�(�J\u0000�,t\u0014P��\u0010\u000f\u000f��^]�<��2MV��Ş\u0004�U�d�y�O�:�5F�\u001c`\u0013T\u001b�f�D�s�\"���.\tT�4>���tnL\b^D��WZҨE@��!f��\u0001м�Wyl��\u001b\u000bEr�\u0002�B\u0010� �:I��*��Q�\\��\u000f4\u001e{�6���\u0014Y�Q�0gW��4�Ї�@\u0014�#�\u0000�\u0011����2vc^t�7p%����\u001eDA����TH$�y��AJV�=2��4?J�~\u000e���\\��s���aF��@���l?w\tv�V�\u0006�Q��U�$���\u000f�o�4������4�h��\u0014~@r*�����-�F\fS�S��3\u0011���Zձ�*�#,�m���iS�?^g㿃�+\u0003�ٷ�w�`���;K�8���\u0019��B������\rM(k�9�x�LG�M�\\�9\u0000�.@�������Mn0�\u0013��\u0001$\u0013�\n�6��M>>=}�2͈�y���?sۿ+�84-E�e�n��\u000e)5j�U€��X|�c�,��T��ؽ25��{$�k���\u0012��\u001c�]��mo'�\u001a�z\u0000\u000e\u001d.N(�\"�~�lrF�ڼ7�[H�^\u000b�iR\u001a6�d�����?��'� ۏ(�D�� ��jSX�8�\u0019���*k_�Jv��3���8\u0003Ѐ�\u0019'(حf\u001f��[��\u001f9�w\\b��<��\\LkB�k�����}����N\u001c�\u0012xd]�uC&�$�\u0011�F\u0007�v\b�N�&���v��u��CZ�\u0013Z���Ĥ�z|/�9�\u0004�\f]��\u001f�p�����\u0006\u0019\u001f\u0012B]h�3�PVK�w\u0004�I��U\u000fߖb�Po���y\u0006�������'V�`c��`�\u001b�-��\b�B+J\u0000yo�fo�5\u0018e\u0019�s�rK\u0006`h\u0011׻������O\fmlU�T�\f�����\b�B�4�$gF�0�e�E(�1�km:�\t/o�J��\u0000^I\u001d�B\u0014m�\u001f�Z�d5\u0019c\b\u0019̈�s'��R�\u0011�\u0002\u0002̞���K�^9��o�k���t�\t%��+�D.\rVK��R��%6\u001b\u001ar=�ڙu �ғ\r?S�R\u001f�y\rܼp�#�0\f�\u001c���E韓q�\r�Zl��R\u0018��\u0019�R��ۧ�$�:��U\r�%@\u000bBO�)�Ŏ0�\u001d��\u0016s�9�cd�����n�\u001f(�5M=彅�4\t�\"Jځ��P���1���H\u0011xE\u0010bb�/s�9g\u0003>\b�{o�����?�\u001b�Dx�A�!u�P���\u000e��P�g�q�I����z\\+o��[Ao\u0012\u0007��\t\u001c%�>��\u0013�O�\u0007��\"�C׀�)�\u0003y\u0001\u0002 ��]y|�\u000e<�\"#�܀�ߟ*\u0017�4A����m:_�\u000f/�\u0011��}��}\"]��\u0006���o�I/�Z�Ԣ�.��M\u001e\u0018��Ŭ\u000e�Nb�I�'���n�u�\u000f��u3)c7�\u0019p���k`<�|�\b��\u00001�%�3Q�\u0006�$��5�\u0011Csg��Zi�G�M��lc�!I\rb�(\n�*��I~_\u001epFP\u0006>����G��&�Xr�\u001c%)F\u0007�R\u0007~3T<��\u0017�i���\u00009\u0011�\u0000>�󾭨i�g��Ӽ�y�\r\u0012�\u001dz�����A�,5=\u0012�u\r6K]v�!���i�D���T\u001e�3���D�e�G�9a(r��f4l\u0010h\u0012\u0007��{\r'n�t�KU�X��q�W\u001c8�\u0018�\u0000�O\":mv�\b?�,?2�\u0000�\u001e|�5_��O����'\u001b�y5��t��3D��d�x\"��|�\r����\u0018�\u0019�\u0004ȌT\u00054�'�#ع�;\\O\u0004�8�\u0011�\f��\u001c2�\"ň���E��\u0000�'d{Aٱ�\u001c���\fbO\u0016�\u0007���\u0007z�b�����_�Ϙ<����R��z\f��:?� �?R��/�\u001dV�u��Ԥ�r��]�E2�f���\u0019��\u0001�� C�����\\�f�\u0003�\u001c������\u0003�ây�����\u001f��\u0000,j:���iڭ嶐c��D\u000ee,�\f�\u001d\u0019�#\f+CU�\r>\fG/�@&����q���@\u0004�_�k�-�?:�:���-��\r��+\u000f9%�(����G <�c<\u0019\u0000�����Y�\u0001-.I�@�A����+\u001e�R9�c�3�\u00107�>הy��q/�\t#i\u001f[�\"\u000ec*�{R�P���c� ���d����,9?|#�=lQ�\u0011_k���\u001d�ˏ�\b�9o��G���O�u��\rs��K\u001d���\u001cQ���'\u0005DF�&\"\u000br��=3��{E��Љ0�O#���g��\u0001$G&09�U^Gv\u0010�M��\u001c�\u000b\u0014��G�AY��#�tjR����:̼f\u001f�7�:�� J�(\u0016ҦO���\u0005G\t*>@\u0002w\u0019x�c;d��a�Z|��\u0014�>+��9\u000bUe.\u0016����]��ȁ�`��&(��\f�d�,{�bUЄr��� \u0019l`������(6�\u0006�\u001a���-\u0016�&�� O��c��K\u0018���ď�cy��oR�44�~9\u0007�zw�vN\u001a��'�\u0017�{6��fyV_P?1��#���\u001a\u0007���D�V7\u0016�H�E~�\u0001���F)<\u0012��~\u0001N�S<�\u0000�{3?f�\u0010�F2�\u0019F�^[�=����]7i��0q\u0002\rJ2���˘=\b��ޝ�Sj�#i\b�ys��jԚ�x��LҚ�w}HJnϤQ�\"K<��\u0003�\u0003@��[�ԡ\u0019\u0018ȃ䎻�nd�[�Hd\u001c\u00122\t���'_P�\u0011D\fWp{���ݢS�,�K����\u000b�)�U*JC$�\u0016�]�\u0015\u0005P\u0001^��M��g�P���ˢm��y�`8\b\u0015�o[g�H$\u0015P���N;��U�7���Vג�o�\u0016�4[y!Y\".�\u0014�,\u0004rP���7J֛�=r�G��y%v��:u��G����}\u001aG!\u000e�\u0017�)^^��#~�ߥ=�\u0002�r�#!���^���}^��\u001d\u0003�:CjN�aK��m�JL\fQ�\u001cQ]\u0017�k�˾W,\u001b����9\u0011֛\u0018�D\u0013�\u0018��'�m�R7\u0002#\t��?��\u0002����\n�0��l2��Xjֶ7Z���;�b�Ks#(��)���Ȓ\n�>\u0013���d�aÓc�6�#��tڌ��\u0000���K�H��L��K;�R�\t�&'�\u0010$��M����yX�y���Z���!�}TbA��W:��w��WMԯt�QG�\bӑ����\u0015S#�\u0005��mm�hVkKk�\u000e=Gi=6�)�trB�\u0000y��1W�\u000eq��l<��O\u00111\"$CU��\u0005}D�B���d�!�+7�\t%��\b��xZ���z\u0016�6��'�\u0003\u0017�s#��\u0005�\u000b�5�a��[# 8�v�;W^�u��qse��\f�8\t�;\u0002,z��D��~H'���kxf������eG���2�{��\u0011���\u001d\u0016\u001a/\u0006\b������J��:��y�4z��B\u0002\u0000\u0003��j�;\u001e�*��\u00169\u0003~�+{�H��s��\u001bԻ�u\u0018.�\u0019��cy\\��\\$�ւ)\nʬ\t�!%H;fx��\u0013�U�~^�Ⱥ��c,$��\u0004�\u0003[��\u001a4+�>/4�ҥ�.l�-c:�7�����dK\u000b�\u0018$R%���kq!\u0006EVS�\u0003�Ќ��ԁ1d�d\u0000E������e���\u0019bI\u001bW.b��(�ξu�-�־b�a����n���n\u001a_��e$��TR�\u000b\u0006��]\u00062E0R6jgQٝ��O\u001c�|<��Q��\u0006�\u001e�����;OE\bBy��(d�����\u001d�t�S�\u0013T�����\u0017�%�i�|������w%ť��~��;HD�6�\n�\u0006���@,w\n\u0001\u00145\u0019�\u001d�۰�xY�c�p\u001e��S\u001fϏ��y���z�\u0019�C�\u0012��\"H#�w�%ϗ)s�M��ݮA�H\"����X\u001e�'�|q�]�\u001980*C�}��x�c���A�j�QOh�\u000f�\u0016���ţ�zG�.���\u0002�\u001e�k\u0004�=�!���_���͏�9G^\"]��]��1�!�,\u0004u�A��~��\u0000B�-���\u0018���\u0004k\u0016��\u0003e\u0003��������d9���b4��\u0014_����-JX;F\u0017v��Q�k����`ḩ�ž�M|F|�\u001a��ڂ��\u0010IH�j\u000eg�Yd\u0006�<;�ͮm\u00068�qxy��E��l��\u0019�\u001f���Yz���-\u001f�\u0003C���#.��[�)�E%>\u0016V\u001b�\u001e��ś.�'\u0014I���`�\u001c\u001e\u0016Q�=ǽ��\u0007���|��yj�k�$�Ή{�y\u0012:�!=j��o�z�q�\u001c��\u001f�<�����M=\u000eM�\r�'�\u001eY�%��h�-�0����AS��w*��:\rN�\u001e|���b� �/��6º\u0015��*𹃒�o��T�|\u0005s_��H�v�;���\u0006�UT���/��?��~S�֑ix�RԌ���G'���^�u\u0015?HΏ.hht�9��oy��2\u0011ɬ� \u0000�\u0012�m���`�X����W�������u��qq#\u001eL�I y\u001d���!�S9NL��I'���\u0011��4��6\u0007�>�o��DӢ� ��%@v\u0006�\u0017�A�/\u0007w�\"\u001c r\u0001�w�q ����P�E^�}��j�eY\r\u001d���\u001azܐ�\u0012���8�;u�l�ӱ��Qzk��6��\u0004�yT\u001a\u0016=)�:���\u001d�\u001b�D��>��\u000e��OedQ��R\u001b���4� �:g!�\\#�C�{\u001e̔��.`��e_�~d.yr���\u001csL�$���\u0018P���»�\u0019��\u001aS�ՈV��v���r0 d;\u000fǗ7�'���ծ�f��#�\u0012K\u0015\u0015��5�M�=���Zx�G\u0018\u0015A�-vs���\u0016܇���\u0015\u0004��\tndj\"(\u0015=Cw��2f8�tqqV9q\u000frM&��p�J��jޝ[vQ�O�ј�\u0000Hw9��Jp'�蓤��$��O V�\u0000\u0013JS�\u0012(�y.=�r��}�M��d�u\u0004%W�ܕa��zeu{�gm��Db2\u0000��EE\u0002�3\u000e���o��b\u0005��\u00155��\"�\u0001V,(õF��b����ޢ\bR��}b���\u0001%XV�w*<\t\u001d�\u0012�\u0004�e\u000b�����$�����P�\r\u000e�|�g�I/\u000b<Σ��\u0001\u0016���j���zuĎ��G؈�Q�c\fȊ�\u000b��OJ�\u001c�V����# y���/2<>�\u000e�8��tj�&�r\u001b�\n��O\u001d�,�:�{{F���@Ud��N\u0011��F�Ĩ�\u001d\u0010��x�1'���k�\u001c���\u0012��-�l����d�7\n90VB�~�\"�\u0002N�3\u000f,/x�-�\u001bH\u001a��Z閭,rEo,M\"�}\u0012\fA�\u000b\u001e;�\u0007��c#TM��\u0007���9)���H.t빴���\u0001����[p}t\u0003�'n����3\\2\u0000ŮB#pxg�����2�W꺓�g�XF���>�Q�/O���\u0019���4\u000b5�o:/�,D� ӷZ����5#N�X�m,b�Q���y�Y]F�Z���anG�\f��\u0006�\u001aTTfn,�>�l\u0017Q�� x��FyO�>K;����-o+�~�<�����޸��\tC���w3����˃Q�2y�a�y�W�򵽶�h>�����\t�5�1\f\u0004�+�\b�z��K�\u001e��r�?'7_�ͣ�u\u0018�ZRn����ޛyw�:o�-c��u~j\u0018��H�}�\u0007��#�I�W��ؤ��a���c�a��\u001a�n�G�>�U�M_1*���\u000f���G�������|�aw����A�|��i�f���\u000b_Yɣ�ZF����킯�I陽���\u0019\f��\u000e������\t/�M��q���\u001a����-\fx�\u0006��G�K�_�[K�\u0000�X�kY9,�X�+�@ \u0006\r�™�\u000e��J\"B\\�_岉r\u0000���L�?�4+�x�/e��B�j����|~��=�u�.;\u001b�X�.lY\u0001\u0007{�y\u0017ھP������#}b;\t��\u0013�����ݪFsڑ��\u000e?�ڽ��\u0015�\u0017��g�]y�\u001dgD��Y���L��\u0006ǜ\u000b\u000e�ц��\nŚ���s��\u0007�=?��)\rՒ��\u0002DJ1\u001c���\u0000xS�Ϳ\u0014�7�\u001f�{�D\u001d���<�����̅xM9w\u0003����i@\t�v\u001d�>,\u0011�t�\u001d����!\u0011���O�)���_�mt�a6�A�-��\u0003��6�A\u0018\u0015���\u0007�:����8�/�$~�\u0006�pdz��D��#��1���-��� bA����pz;N�Ҽ�տV{���iLG�����x��1�?�\t.UT���ޟ\t5\u0003����y=C��h\u0010GW���adbK|L{U�\u0006��޹�Òï�@����\u0007�B�\u0000S���,4+7I5m$�����q��ȚCyu \u0004�H�\u0014\u0001�F�F���I��H�2m�\\��=���\u0019d�\u00017�;\u001b�\u001f|�_~_�h\u000bq�&!��C\b��d����/�HR5E<��H$��\u000b���q\u001a�nmI�3\u001aӉTb:mw�|�N�\u0002 xp��I'�\u0003���n��|��+8��ZL���\n�������\u0001��P�h�mm\u0015�#b�\u0000@��\u0012�\u0014j&��_w��/��\u0011;�\u0010�G\u0015\u0003\u001dǖ�ˠ���΋����Xy�\u001d?�i��ae��E�$}[�3\u000f�r�׸���I`��Aie\u0015\u0003�9��,c�$yl\fI�6��=��+\u0016�Z�\fF�efD�#@\u001a\u0002�\u0006[_\u0015r/q�'׬�Ԗ�Nך�I��6�=9����Q��}�$Cs'\u0018[�\u0001\u0017�[�#\u0003U #�\u000e#ϸ\u000e�y~�n�\u000e9f��D\u0019N\u0000\u0013�ky\u0017��ە��\r��5��\u0017\u001a_�4y\"�\u001b;[�ԯ����e�2M�\u001dV[ʳ\u0017XP�2|D���\u001aeD��\u0012v�}��5�}��Q�%\u0019e�bb8�\tl\u0000>���\u0013�yDr�ug�麅��4���\r\u001cV��#��*�X���q\u0002A\u0019Ҵ�[e!���\u0012\u001a�����L`.���v7ϗu6qN8���L�\u0004euq�'�qVc��ǚ>�_�����\u001e\r&���KW�����\u001f.\bxh�U�9\u0005����\u0011$��$\u0004�R�l͜#\t\f\u0000K���H\u0017�y\n�c������U�y1�R�c��k{�\u0012v�J\u0014#�V�\r��i�\r\"���RӮ�Vy�Q\u0015�z�z|��\u0011;\u0014c,M��>��A��J�jl2\u0002�\b��4A��\u0007N�u�V�B9<)N`衴�\u001bȚ�\u0003�&�\u000f���\u000bJ���\u0012�@�.�\\k~T��x_L���u�/S�%�4r��\u0017�����\u001e�����Y�g�\n��(8��,Z��!�#(�\fk�6\r��N}ː�O�\u0011��#K|s��п�$\u0010\u0005��#�D\u001dߏ����_���:��ڇ���7�'�d���O���6ך��\u001c�C�y<�ǖ�u��\u0004.�\u000b^we�p�@�u^��N�\u0010\u0010����\u0017(�\u000fH��A��(��'���k{{����3�i��eGnD��\u0000v<}�\u0017�;?�\r��,��\u001eb�S��݇�'�\\\u0016�}\u0012)4\u001f8�X*�y��7R\\[�A\"\u0015f����\u0010T\u001d�\u0011�\u001f�>π�c�\u0006���\u0007��C$Gv��{���\u0000���\u001f\u000bQ虯��\u0019_(��\t;\u001d�\u001dϘ����oi}qg�[ϣ��rI\u000e��j1�e{c �{y�.�;�WW����3��\u000e���;匝�7\u001ffߤr}C�}��j��P\u0012=/���}\u0019�~hY�,GQ��,dO��\u0005\u0005��߂9\u0004|�H\f�ˆN�Ŏa�\u0012)��\u0000�ɥ_����]\b��n�\f�\u001a5D�h�v@\u0005~Y����$.�Kb�� \b\u0018�\nI*�\u00052\u0015\u0004�O٠;�I\rg\u0005o���x��y��\r�t��j_��^^�&7�(Y\u0001NeM%\u0011�\u001b*�SZ��1v���ǭ��d\f��4|���\u001b�.jzs2��T�\u0006WB�\u0000�j�\u0001\u0006�\u0006����:|��1�tuy;;.3B�\u0000R\f��\u001f��t�\fR>\rN�q�)�\u0001���� ��h�3@��ʏ��ܯ�X�\u0003\u001e\"�\u0013F�vZ\f\u0011�f�v6�Xqe\u001c2\n\u0003���Rg�^\n����j�E\u001f*凵2��~|�Dz�KrMy~��Eӑ���KP�| �\u0001��LN�S!�\u0000�A���-�t\u001b\u0017.\"��Q��B@$\u000e��+M�q�hg�\u0019�\u0011�g��g\u001fI�9y$s�������\u001dh\fUe�Eh\bߗ�g����@�>n�}��\u00182\u001b�$\u001f�d$F�T��^�\u0005H��G`v��hW\u00106<�q����I��H�\u0012��l�����S~�vb�D��;9GK\u0018�[�K\u0019��\u0014GE+J\u001d���(z\u001e�\u0013��9�-��G`�|�s�yWV��tyM��fH�X��BXz��H��o:���\u001b�����ᖛ>�N�`�#�������ϣ�\u001dF\r���\u001dA�\u0007��7~��/��o�\u0006����-��\u0004V���3)����(�h�YJEc���u\u0004\u000f6�\r.m\u001eo\u0007&�?L�H~�����\u000e�\u000e�\u000f�\r��=c��qEj�tQ\u0010͹@��Ӂ�\r�\u000e�\u0015��)���J��<{\u001a`��*��\u0012a�Χ�\u0006���@\u000bFh�.(���\u0019�\u0011��fG\u0017�ە���\u0003���ȅB4P�7\u0004'����S�\u000f^�(ؕ5��M�������ڕ�l�Yl&��hQD�̲�<�8?�\u0001O�3�1�s�a�\u0019����*9Eǟ�|\u0003���y�@��M������oag3Gˋ��/\u0017�Qvj|;m�]��E��Ŭ�\u0017�Q;�=�\u0000\u0005�k�j�b2�\b�ċ�\u001b\u0011��{ѾN���|�\u0006�\u0012iz��[\u001b�\f&\u001cyHt���nb-�\n\u0007R>�|\u001d��\u001a�\u000e/�Xˣ&����1�'�<�vj�uy?-�ޯ��$y��\u001eR\u001fo��_+�a��M�����a\u0011�qM\u0005�3�^*�Q��z\u0006 ��\u0015��������7wP���\u001f�.�%Ŭ\u0013��ď�\\G1\u0011���I\f\u0010��\u0016�\u0003(.\u000e�5N\t_�w��?��!�ǒ\u001cWÛ��ߪ�\u0000��R���:ǡk�\u000e�dҵ}\u0013P�;�mK�7��Cq�<\u0013�l5}\u0012ko�}>qI�c*�Ɩ\r<3G��\u000fA؎U\\���}�uR��\\\u0006C,M����{�\"\u000f���w���\u0000�q'����&��?�_���~k�~���QԄ���'��wgjҬ�hO(��\u0010��U�\u000fٞ�Ϩ�d�j�ǭ��#�O\u0019�e#�C��;���������f.���\bh5|W\u0000*8���GH\u001b\u0012��\t��!�\u0007�<�6�<\u001af�h�M+\"��\u0011uF����\u0016z�$Tt\u001ds���U\u0010L��K�\u000b&��W�qC�\u0017��\u000e��k�m\u0002fy�\u0016��[��u\u001d��\u0003���om~�)Y\u0004�Dl����:\r\u0006�:r%��H�yw|]v�g4Lq�1;_��~�~_y��BM>�ku��\u0004��K�uKt����Z�{[�ko���������]\u0012�զ�\u0011C��_���xv�+?}��7�r˧�Lx�FS�ߑ�Gw[�\u0015�>��V�d�E\frMj��#�n\u001a{g�ӵ1$��\u001d})`[\u000bk�ų���֗(ܗ�\u0014��\\&\u0013\u0015�n�\u001d�|yp��ӹ�\u001ct�'4\u0000���u��1�I\u001a��\u0017��\u001f�q��ǨY�(N\u0011�~���$Bn��\u001dWI���V�t�6.�H� l�p�H�6�PG1]�cxٖ\\�x'�\u001d\u001d,ɩX�v9\u0011��p�ޛ����,59,��&�4�9,5�$F��H���\r��\u0014���љe�@\t5�,�ɕ��Q�k��\u0000�\u0007ox\u001f���9e��đ��\u0011ߵH�|�\u0014/��4�<-���<\u0017�Z�r��L\u0011,0�z:�PYj�kj}(!���v�z�(�S��W\b\u0011�\u0003\u0018��k��߿�A�/\u001f\u001891�F�D��3�DK�\u0004��93�/1\\�i�t2�P���K\u001bM\u001a\u0014�n�\u000bHG�\u0004�<�\u000bmg�R�����6�Ă�\u0013�#DW\u0010<�\u0017���2��&�!��\u0011)φ\\�>��B�w��$򷙮$�����m�M7Y��t�I��{5��q��z|�\u0004��Ym��Z\u0016h�G #v\u0007/.XLG>򈇨���p�upa�x�\u001d.2bg #@\u0011\u0001��>C�W\u000e�}\u000b������C}k\fp�^Y��V�y\u0018�+���}>\u0016��\u0004!�Ճ(�+\u0010b7�2\u0012����\u0007Q/��a�IO���\\#���vGXn\u0007+;�;�\u000bj\u0011Ʋ\u00194�h�e\u0015���n�N���%��w�g����O��%x�`T�a�/��ۆ6yߔ�Xu��Dd8�\b�zb\u0000\u0002��o��G���a����k����?��FYl�����o��q�q$k{h��֓\u0004%�eSؖΆm�\b\u001c\u0000n\u0001�~c���N�X*P_Ԧ}/N����kp�Y�n\u0000\u0012\u001d>�\"���̚0����i�W�}��^�vx˜x}�\u001d�D\u000f�|�.c���ݥ��^��\u0018`�ɤ\u0002��g� W\t���h_�1y]������F� �9.����h�J(gO�UP7$��Q�~=E���FC�����2�oK\u0004x��y�|ɇ�\u0000+������k򭆛�y�AҮuhQ�l���k\u001b�[�J��q$m$�]�\u0003�8�����9H\u001c\u0019'\bs1\u0004�李��}�.\u0003�c��\u000b���\u0012}�E��>����\u001df�{���R\u0017A\u001c��$���\b ���'�q�\u0004|9D��\u0010�=��̆R6@؎��\u001f����\u0019O\u0014�\u0012���\u0003�w�3��P�xc��/�k�&[��ߦ��G��=�\u0012�\u000e?`����ğ������r3�z�~�U��5 �o\u0017_���W�o��|���d�%>��hQ�ƞ\u0019���\u001e||P5*yc�ˣ�×Ռ\u001d���^\\֞;X�7��;�^��\f�� %2\u000b��2�\u0001\b�0-��\u0017֔#K\u001ap$���#*��\u0003]\u001b�<\u0019G\u0018����\u001f�~M���O8i\t�\u001ea/�1E5m�����.���\u0019O�����h�\u00105�\u0005Hl_\u000f~~�i�鿖֚���p��\u001bz��Ĉ�6=k훭&\u0001\f�m���u��j4x���.�y~-���v~i��p~ij\u001a�����\u0017RC�D\u0018�mŘ4��S��3��y�j|8\u001f���w__�O���zQ�\u00185�\u0017���\u0000;�����kg��6�~�c���4�\u000b\u0001J�i^���U!��f�\u001f�=T���\u000e�\rƇ�Ȯ=x။Wg�\u0002~c.\u0003���I�}�ߥ��>b����~�\u001b� 7��S_c�e�~\u000e�M#(m��/��nb��%\tr�\u001b\u0001�\u0001�\u0011��1��N�\u00195G����4d��h�~��l�_Io\u0014��(^Mi��ALcЌ��\u0005�\"���R��Oi\u0012sx'���eư~`]S��\u001f����[(�#��*�\u001d�ѫ�H�ߝ��ݓ\u001c8��|����\u0000k�o�\u0019��\u001f1�����rW�ޡ�\"\b�jjOC^�j{�k�~o\t\"\u0004�\u0001�b�a�6��\b ;\u0013$�V���\u00056�\u0019^Y\u000f�r�sl�O\r������4R���\u001a�`�S����\u000eBQ�зc�\u0004�}���1Q�~ʵ)]����\tʤ{���dE��[I+��@\u0001N��=���v7��\u000e#�$LV��Y�\u0016#�������\rP\u0007�6P\u001b��.t`�9��+�\u001f\u0011��{\u00103\u001eUϫ`2�(�\u0007o\u0001V2\b�\u001a�\u0019�J\u0011��7'�#�[8��E]dx���\u0004���\u000f�\u0001�$ӭ:S#�\u0013��w�A��a$\u0011\u001e'� @\u0006��\u0013�>\u001e\u0018M��;�d2+2�\r\\qCơ�5ZֵR|0\u000e�ܷ�L�H��\u000e�����~�m��o���+�r<�=���I�Oi���E����Ԫ��+�v#�A�\u0011�/\u0019����#~k\\�72A<�\u0017\u0005T4��!ޔ~$�\b2��h�\u001c�\r��<\u0012ߑ�}��k�/3$6�\u000bln\"@\u0017�*�M\u0017���8�x�U���\u000b�w��2�\u0019Տ����\u00001y\u000emB�\\�n#�\u0002��\u0005\u0016F\u00000F�\n��`���\u001a���j{:S���^o\u0005���SM��7MheG5�!HZ��iĂ�;��\u001c�1q6���X�Ò$\u001bN<��+�y\u0004%ṉH�B@R~\u001eDQ�C/��!�\u0014OFxsN\u0006�>Od�cK��kV\b�\u0003��º3|\\X\u001d�i�����\u0006���\u0011�\u0002��l4ݣ,f�\u000b���v �\u0013�Nj}����/��0�V���\u001f��d��[���~�c2�1H\n+3R�U���Fd�Ï<��F@�7�7\u0003I�ϣ���Ӂ��b�\u0017C��\u001f�����\u0003ͺn��\u000b�K����.��D��d�MC�mBX�-����y�\u001am�Oe���Ίg,�\u001dd\u0007�\u001d����\u0015ۙ{G����1FY;;)�Ln\r�\u001fMr7���_�6�^Q�3���o��~��\u0000NY�K\u0010`\u000f\t#ٌi(\u0012��КW4Y��O����\u001e�\u0000�W�ŪǬ���#�\u001c�?g��\u001eG���yo��]\u0012k�\u001c~h�)%��\u0010T�y\"#����/\u001d��i��ǐ�s.�>�x�8�1\u0013���\u001f.\b15�\u001bW��q��V\u0014q,��->Y��6z�\u0000��1�������B�\u000b��\u0000��\t�x��4\u001e\u0004�1����Lz�B`J����^�V��G\u001c\u0012����Dl�L�>&��@{{f�6�x�2@s���\u001a���y��Zu�GQ�1��9\u001d�\u0002��z�\u0000u��34\u001a��\u0004Ϥ���42D�5����\u0000-t��oN��'���\t�n�28RW�.#��_��PH�(S����c\u0013Ξ�aksmd�\u0010��B����\u0019RP}2��T�/�\t�ճ\u0005\nI���-K˞n����F\u0013t��o�}����9�bˏ6\u0018��:W??'^a(d��}Ϸ�����\u0002�܈��omu\u0001\u0006�\u0017\u0000(k��W:�˙8\"\u0000�M\u0017��(\u0001�F�Kp���_3\\y?�pK�\r>����q���2�\u0016���! �PB��c�=\u0010���t�ކA�o�u��K\u001fg\u0011*m\u001e\u0019˖8�\t�y\u000e����t\u001f�=\u000e/,鮺���GR�~�\u0012E2�\u001ec��i�i�7�.��rx�ri�'8\rj��\u001c��;\u0018yB?͏��3�v0�\f\u0013\u0018c\\@z�|��@��\u0007�ګM\u0004hb\u0011��\bw�\rk<���~�\u0012H\fr^O\u0014EC\u0011E\u0004��`F�,�\u0010\u0011>�6��'ɾ\u0011�\"e+�̹y\u0001���_���Ŕ\u0011\"�mqw�Ck��\"X��u4�!SQ�-!����Ӕ��\u0014sQ�\u0017$���R�M�\u0016{�nV�18�\u001c�\u001f�2h�=�\"�\u0015{��^ۢ��I=���F�\u0006����}�b�u�)gV�u\u0019\u001dO��\u0000GKf�$q�‘ۢ�\u0016��,����`\u001d����=D��v\u000e�9�Ǘ&\u001c�3p��\u0019\u001d�\u001d�\u0000�\u0013\u0001[\u0010\fw\u0004��٬u�y�9��U\u001e��n4�0���D���v�]\u0015yf\u000fm\u001e�glѸt\u0012z��q\u001c\u000bU��d�%p�75��;��?�,'�&\u0018��I�#�\tTl\n��\u000fN�G{;��Ś\u001b}sR�!���-�4�n�q\u000e��V�_\\-mi�_ܮ�}s\u0015�󼃏\u0002�\u0000Rs\u001e3�fS�L�nb���\u001d¹���i�(�Ň\u0017\f�\u0018�\t�N�1\u001dA�\t3�+�Т\f��\\���\u001d��\"k��ƞ�\u0016��-'��-y\f7\u0006Hn����\u0004��6�\u0002:3a\u0002;\f��H�w;t#c�wPy�9r��rqj#�;F<\\����XĎ\u0019\n\"�:�_mSQ�Ҧ{K8���{պ�\u0016�Ǧ�Z3I;ۈ�k}6\u001d:'tZ�\u0019���\tȎ��\u0000\u0010��{�q�;��G\u0017\u001f�\u0013\u0010@�� �F@��1?�!��'���<��\u000b\u000b�[Q�,��n,-��t+Y�m\u0016XG�>ŭYV��\u001b�r���T��$�\u0000fx�G��\u00033D��~�=(�d\u001b�[(�>$�L�pÈ�c��4r\u0001w�*��Kz�\u0014\u0017�O�G���\u000f1�^O&�\u000b�\u0004q�����Ҧ�wqlUom\u0005�q1WE�3k��\t$S23\u0001(����V��@�6�\u0007\u0014�\r�����3#��ǜ\u000b$p�oq�yB@�\u0004�\"\u0007P��yp�Ix�\u0018�]5��\u001a��[G��-���2�+=�4�\u000f�#i\r�\u001b��p�\u0019�v���ʹyo�о���Êr��3�*�@�\u0000(�\u000b�\u0003c\"O���\u001a|����}��q��[4�X�M�YO,\u0016ϧ�\u000b\u0000�D\u0011����f�+�#�\rz�NdL������6�/�n�0�\u0010t�c\u0013(��\u0006��5���\u0003��y��Y�\u0000���\u0000�C����\u0017\r��i>�f�)�y�Lx��6Z[Z���U�u\u0004T���K�\u0002�Er�9\u0010��Nak�\u000b��B>&H�z���\u0010.G�`�g\\��\u0007�eٝ��\u001d�kO�dӂ%G�\u0003�k�\u000e��(\u0017�W����m����;V��C��p]B��k\u00147��X\u0019�\"���A��L�\u000e��C\u0016\t�f���\u0010L?�\u0007x\u0013�#ϣ�]���|��\f��pL���a/�\u0003ΏJb\u001a?烽��v��ܥ›y�uu�Iٝ�}��3��{/�\u001d��B\u0015`ݏ�{�/�:l�\u0018�_�v����S�u�-�I��b�/%f1������{t�D���2Gk�v���9���Œ'�ticDp\u0004���CPS�3~�\n���r��ԁ�A��GS�;\t\u0004Q:\u0016��k\u001a�׏\u001a��\u0001̗�\u0012\u001bDz��2�\u001b�\u0017��y2&3�!��Q�h�� ��\u000bP\u0010D�&�\u0013B\u0002�\u0014�z~���R\u0002��|\u001c<�\u001cYG\u0010�/��w�\f���MS�!\r\n��Ё�\u0004�x�A�Z%��n�S���\u000eI*�\\D�x�ܰ%� |{�J���r�\u0014�x9#�^t��˹N*\u001fb~ɧ�@\u001b�=�~c\u001c\u0005\u0003f�`�-˾�\f\u0005��3�V�¶��X\u0012\u0007s��|Yϑ\u00006�q\u001b\u001b��(��I\u0012)��\u0000\u0006ɰ�ֻ���ƙD�\u001eF����Kn�mi\u001d��\")wߗ\u0000jFޢ;W�\u0000n;�#,�r&����O!hx�Ĺ>��B\t\u0018���B\u0004mѫ^���'-L��'��X�\u0011���0����W^\u0005���Seߏ�F��Q=Q�������J$��ЁVWA^��R�C@\u001b�G���|�q\u001d]�=\u0018�Otxo�\u001b�5m\u0012��/��e�Uy%�$~���݊�q\u0003��\u001a�;�\u001e���b�D��8���=��>n^,R��e�H��|�x�}\t�?i^dX�4�NՒ0�ݥ/\u0005���v��);pj2ҙ���i�\u001cnx��X~���Ŭ�h�J�����~�.���\u0007�uf�ƪ�\u0015j�@C(�u\f\u0001>${W\u001c9\u000e�\\�r��bţ��\u0013�>��&-\b�l��w�\u001d��J��?\u0017O\u001c�\u0000\u0011��q��_#��\u001cRƪ�N%BQš�![b\u0007j�| Q\u0014��M(��\"�ϑeR�(��Q�!�(`���r�\u000b鳏��~w�%�󾫨�}KXV�b\u000b\u0018Y&V�ݺ�!\u0000a^~��,1\u0010�\u0007\u001ey�}\u00127���f��P�X�?%݇\u001e�B@�\u001f\u000f���ٺ\u0019\t;�e�O�E�̇Ԗ(X\u0016~.��L\u0000��M�\u0002F��)��Q��b���%��Γ�;I$��%Ԩ�eX؆�?��)�`\u0000��4���\ff2A�yƏ\u0016䏛�2i\t�`�`���m��S���ll�BB\\�݉y��wc�\u001a��݃�0��������5�Ȃ>T�^�v�=Odaѝ�KQ�\u000f(�&;������ն��^�O\u001c�\u001aS5�6��7�i���xe\u0014S^5\u0004S���:LC\u001f���|�Q>(\b\n���痵��]\u001e��\u001bk�+ԇOՠ�&sl��oIuF� e<�����YU�*�N�$����9+i�����K���6m�� ���t�4iZ��ݛy5-\bj%4���y-�͡]�XIő�$RA�3#Œ\u00027��ֻ����d\u0018p�ɓ\u0015pO꽷�k}��\b�^���e�}m\u0016�P��6�-��\u001cD��[�m4�}�ݺHn/.�l���G䪭\u0002Jc��7~`J\u0002Gi��z|��8�=A�9Di�\u0002f�;ne\\�\u001blk`H��Z7�R��:=��z&��쮮f�W���\u000bNXk�'�r<2�ݽ�Oާ�������c��O\ro���!ɖ��\u0016Ih$\"#���Dy��<\"���B[�����\u0000���\u000e�O��M�ߒ5Rm?H$1i�y^���\u001b8�����Α�&h=Y@v�T!\u001b�\u0000d&xL�I�����F�:��pj��c\f5��%�p�ҷ1�٪6\u0019��3Ήwism�K\r���f���\u0016��ϣM4��[�'�-\u0005ŝ���\u0004tT��G�hm�3Ǿ1wFF��:\u000e�lz��Ǚ���\u001c�Tj\u0010\u0003rA$\u0019\u001e�@��\u000fRӼ�F��y~����lntK�����ޝch�Ƃ�!Hmn5�\u0013P{x����㚆�S)\u00198H��\u0000h�@�jG��\u0013ϧF�\u0019O\u000f����b�k\u0012\u001d,_[\u0011�{�g6�iM\u0003[y �����[�{}y5��iz���Iom-�i�]mn^627׊\u0000\u0006^\fŽ#\u001e3(�\u000b���m˦۸\u001a�28�9\u0006<��.�ۈ\u001d���o}���v�ZlPɧ�pu+�慬yji\u001d��Ģ�#��g�XMF�p�,��\u001cW�AޘF,���*�c� lo����nj��KS�6Ẁ�g�1�J�c�d\u0013�2\u001c�;Р\f��Z��l��/�\u0018\u001bL��y�Ĵ������\u0004w\nfI\u001e�� Y\u00079ב*69���,r�ӛ\u0012��������g�Ōx�\u001e\u001e�@\u001d����\u0000�x\u001f�t�\u000e��[Md򮋨�����{8��8k���\u0018�u����$\u0011�wj�GK��qHBR�\u0018�b7��Hy�^\u001d��\u0007\u0004eq$\b�<��\u0013g����\u000f.�b�淋R�Ӵ�2���ִ�as���ȥ����\u0019���x�\\�\u0007Հ�5#;\u000fe���{7�8�G\u0014#�8�K\u001c��,I�B]��Gn\u0012-�}��m7lir�Y��f\u0004���\u0004�@�����\u0004\u0012\u000b�������������X��Q����w\"K8o�;c��;T��X�\u0013iڵ�G4.\u0006�%:��\\����]\u000e.���&��|C��lvFI`�v�}FxX����\u0017�7Vv�ӛ�9y�͟�7v�>e�&�d��H��ExR�L��b*����T\u0011�\u00002�=��J%�\u001cD$M�\u000f7l{\u001az�a��)Q>����\u001c���w똑�����3�\rL\ff\u0007\u0013í�'�����*�\"&��@;\u001f\n\u0011��#,8��tД�d8�r��慵\u000f��#�v\u0004w\u0014޻a�\u000b�7g�Pcu�9���\\7z\u0006�c;���oMN�b\r\u000fߛ���c�3\u001cã�,�Z|�ɸ�W������\u0000>n-4�'�B�1�j\u0006I53\u0004�\u001c\u0016��d7\u0013P�[�ͯk�#��ڌ��x\u001dO��y��ҝT�g�����|���_��S�kk��U<�>'\u0015,OZ����6\u0014H/J0�{u/��nY�8Ʊ\u0004(�ֻ\u0014 ���f�5`�2\u0013\"�S�\u0003���\u0012E�\u001a��O�\u0014q�*H\n)M����@���-�0�;�[�\u0017�g��י��W�2r�B�\b4����0r\u00197vzi�3\u001eq�>\u000f�t}f�J���ꑲP�aJS�?,�P3��;HHB^��\u001dS[�\u0000�\u001f+i��sq�Y��9\nfJ�\r6\r��:=FM�\r2:�.!œ$@����ߝ^e�v��i�}���mD����\u0005���\u0015�؎%���P�ُ?g1��F\\@�>^J=���.\u0002���S��\u0013�u��\f\u0010\u0018��\u0002���ɓS���O\u0014��ɍ��y�V�\u0005���\u001dyd��m͉�5|������ۥ����\u0005ZףR�;����2'��p��1\u0002�?6^�p\u0016��L \u0011��nA\u0000w���J]o�~8W��&�͈d\u0001�A&��f6IXr#�\u0003\u0005�\u0017\n���PF��\u0004\n�+\u0006�+�F�i6{*@X��\u0001������\u0019�~\u0002�O4��N�ǩ�Q�қ\n�w\u001d�\u001c�E�\u0001\u0001N�э�U��|\u00047Ou\u001d��q\u0007d�\u001aߒ\u0011�}9\u0018( \u0001Z\u001d�o�� ckW�J�\u000b��\t��;�5��ҽpX�\u0013�\u00037��\u0012!cC�~�\u0003u�u`N\u001d�\t'z\f�D�\u0011\\ė2,\u0005޾���*Ӏ\u0005\u0006��5�W1c�(�ߪ�\u0013���,���T�)(J����@�\u001d��`D��a\u0013���cV��]KY� =h�@zP\u001e�w�-�i���E�5]\u001a���N�Q�����q�P�\u0011�&�C-w�r�\u0013�\f�\r��(�\u0018�\t?V?'?5��\u001am���m*ʑ�\u001a�\u0002z�Z\u0013�\u001f���3��h�9\u0019cz���?\u0012#\u001e~�bv��ޮ�����0��iK��\u001b�!ZT�H�Qz{�eɋ�4�g���\u001b�\u001e��\u001el����ԛI�i/6����J�Y��\u0004��v��]�!�Mæ��0�ZsG���~-/�>U�\u0013ѻ���\u0018\u000fN�Fu�\u00014G\u000b���\u001a\u0013�lx��ʀ.��>�.����m�\r�+�v�� �X�$�7�->�doZ�\u0006�\u0005\u000b�ػ�\u001e��DN5 >��i���Dc�&\u0014���EhH;\u001e����8�\u001f4�h�!Z��*�\u0004������\u0000)�6�\u0010}��$>���|ͭi�F���Q}Vf\u0010��n�3~�?E�{�f�\f�o\t����[�Î j�<#��\u0016\u0007�\u000e��3ycJ��X��\u0000J��G���zM:'�\u0015��T�x�+\u0019\u001bs�9��Ç43d��@�\u001f�u3�ͦ˥�\u0004ġq���>5C��\u001b\u000f�5����C.�:s���ֶ���9�H&Z\n\u001f\u0011�7&�e\u0004��\\a�\u00069�3\u00101c��>C�Mٵgh��L�\u0011�\u0003s9\u001a\u0000V���帼���+ː5e���jR�+�s�H}[�Y��OtͿ�3�3j%��-F_�fI�w\u000f*\u001b>���8�~�:Xs\u0011�\u001e�\u001d�|����\u0016�\u0018 I\f���l�\u001b߫\u000f׵��\"g�$$���\u0016�cd\f��!��\u0007%dnj@�d�]�C�_�sl %�����{4���������\u0004���\u0004\u0007�ɬ��Z�\u0010�<���2�O \u000f�\u0002���3!��T��6/B��m��4ee-��\n;8\u0007���\u0001ћ�\r2R�\f�� ,g�2��=}ϵ<���m�Y�\u000e���d3RGP�r\u001f\u0018^D��4Z�\u0001�8�d�:�\u001c9D�;\u0002��.�\"Ӣ���\u0015���Kc�i��\u001eaH\u0015+֔�fYH��=@Q�9�aQ��\u001e|�}k;��@�z=d�\u001f�hkI#�_���\f�<$q\u0006�\b4Y\u000e�k�_�Zj��U,�1W\n�hh���˗\u0006C\u0002E}���\t\u0001!\u0017�.�\u0005ݧ�\\�R�NkG%�\r\u000b|5�����G�7��ڏW��B9�w�S����o��E�\u0000�[�G��r\u0006���K���46QK0\u0007ذ\u001fIΟ��'l�_͌���ݥq�c��s�m���]����\u000b�\u0017��$tڭ\u001b��{T��zƚ~�=�)��+ۓ���t�Zu��\u0013Yt�&j��HV��P)J�\u0012��=x���\u001fH=�=�����������\u0017�:��խ�g\u001e��4mM���۫գּ¼y=9[ZT\n3�h�k�?1�\u0003��\u0018��t�:{�׼��\u0004<\u001e,��IF��;\u0011�/��O��[i:\\�)g��ssq��6�i$\u0012\u0005k{t[�(\u0015�5\u000bP���`K����<\u0006�\u001b�?c�%Z������6k8潲ӹK\u001co{pߣ���B�Y�Vi�YO�\b\n\t&�c$Lx���>=�@}��\u0016\u001c���\u0006�\u0007s]xv�{Y�zw>��|��'U��O���\u001b]9�ڌi\u001dܰ\\�ZE,w\u0011G#-�zl3�f��ff�$n2��\u001c���\u0013\bt=I5^��\n��zlÇ&\f��!\b�|�G\u0011\u0010�Txd.Vw��I�!���i�c��c��'�+�-)o���'��LԚ��Kn����k���cV��\u00161��}�a��3��T\rmT8��F�}Gqss�\"\u0010�i����\u0004\u0001*��.\u001d���`�\u001fN�=\u000bO�/|�����o\u0002���t\u001e]B�n<ׯIy�H�\u0018���g��b\u001d�y\u001a\u0015PTP`��q\b\u0011�\"���P�1և O6���\f�\u0010�Y.;X\u001cd\u0012\b�\u0018��w$�T\u0007s>��\u0005Ƨ\u000e��[=�ͽ��ݬ�<�E}-����^\\�Xc[�Zf�p$��\u0000�\u0002\u0013LG\f�6�!\u001b5�˯}���x\u0007�D\f}1��X��7\"\r\u0002\u0007!\u001a#���{�\u001d2��\u0014Q��5��uu7��/'��f�R�l��\u0012Xn�n%��zj�����f8�\u00141Q\u0012 \n;\u0018��y�|���fd?3�R\u0019��ۊɡ\u0003\u001a�\u001d�\u001b\n��b�\u001f��b�ֵk��R��\u001d\u0007I\u000ee�;\u0018\u0017����̮���ފ۹\b\u0016�'�*ē}�b'k�\u001b�}v���z�>\u0003\u0014ጄ0b#��i�>���]�0(�\u0004D]\u000ew׼��;\u001b\u0003�jw��I<�o�b�\u0001awb��d���@Ю4��U��Ӵ=f����A��\u0006!�c�G\u000f>-��\u0003�~yH,�{c��g�/�L�u;{Y5[�gR��+\bcu��2���~)n�R�r;݆\u001c�\u001b2�'9˂0�\u001b�`\u0006�]}�$|@c�\u0014D�3L�txI�I��>�\"�����.\u001e��/1kw����P��\u0015.o4�k�o�t�Q��\u001dd��2��V]CP�X���\u0012F��9\u0013���\u0007\b⫏�\u0000\b��p�������\tj2��\u001c%\u0018��\u0013�\u0007~)N�\u0002$�\b�|TE�\u0019�\u0015�E}\u001aëEmy=���a���#��Kr�C\u001b�\u001a���8��$�G}���;L2DT�9e\u001bؚ�z�Pk�V���\f�x�\u001fTc.r�\u0004o\b�'�1)]\u0013q Հ@~r~lj�\u0006���3�����y�͚����C,HUo�\u001bߩ�w\u000b1ym�<�<�RK�\u0011��bh\u000e��Oi;7�]\b����A,�\u001e,1�<��BG�\b���*�v\t =g�\u001e����ݡ���RÌ�3ͨ�\u0010N(\u0001ԁ��2\u0000�I��\u0001/4�\u0000���\u0000�]�u�c˷�mM[D�N���^_kZ����^��\u001b���چ���[��4֖���M\u0012IH�K(�H�l��[��\u0001�ڝ��Ŧ�$�\u0019q�l�≌N�����=7M�\u0000\u0000mn\u000f\u0017g�Δ�pG6)�R�|�)\u000b;�j�n�\u0003���\u0000�z~sF�zߔ��e:�/֧��V��]��.-#��܈\fD\u0011R\r;f��\u0000�\u0007�\u001cǏ\t���\u0019����H��;��\u0000\u0001�o�>\u00063\u001a=N8�L��\u0007\u0015yFQ��߳��\u0017�q��r]�h����TX���C��X\u0002��V�����.�Rǧ]�\u0017U����\u0014r��.�d|��!���'�3×M\f�\u001d�q��\u0012?h/@��qo��0��\u0016��IUB�����RN5b�i�0�F��W�҇4q����k\u0007��>p�\u0004�m���ڌ�c�\u001c��%_�E\u001f�\u0018?���Z\\�\f���V\u000bK�t��!t};�\u0002��Ol������+\u0000O��\u001c�O_��1�L9l�^���\u0000C�;7�0��DZ���Kn/�\u00002,BO5�~�\u001b�v�ݧد_^�=6��Jls\u0004��0m\u001cYb\u000fZ���sc��j�LR��}�!��S�*����\"�=Q��\b*w\r$`����;���_�����.\u0006����Lo����\u0014\bW��ȥ��C���\r>&\u0003�'2.Dsp��\"�K�4q��\u00058\u0004��\u001b\u00007��:��\\��7�ߎ\u0002i]ƌ��r%@-U�j�(X�\u000e$��:��kf2Ӓ|���Ǝ#�T�\n\u0016�䊯Ű�0��\u0000\u0019)d�\u0016��G�9�� S\u0017�\u0014z\\Z2�)+��\u0019��j\ri�(�\u001d\b��H����,���\u001eEn&�*�H\u0000Q�c�\u0015ۮQ=M�w5�r��\u0003������c���1+�/R�n,��\r��\u0006N��\u001a��s!�\u0015c�&�A��\"�\u000bsVb~\u0016.��b��\u000eƣ����5 ���ˆ)\r����\u0018@�����\u001cZ&\u0003e;Q�R��\\��r�Ae\u001e�(�ӑ��ų\u0010yT��Ҡ�\u001e4pEE(s7\u0016�@Q-F\u0000��t�6k�2�ou*�*QY'$N��8EuNjŶ\u0015\r�]�K\u000e\u001c��\u0003�^\\���\u0019�\r��\u001f�i�k~_�\u0005ì$��N��\f�!UdC�[Q����֛�\u0000\u0018O\u0006lB�����c�\u000f\u0017\u0016Y�6�q�\tv�o:\\\u0015U�#�\u0003�ѱ\u0014\f�<�9\u000ek۷�\u0018��l�@G�\u0000�\\qoM�\u001b5xP7\u0007\u0002�cڋ�á�X�\u0007��&!?z���\u0000X�+(�$fm�\u0000�\u001e�]��o�|v̂c[8'\u0001��}�\u0006��hͨ�sZ����u��-�\u001c\u000bF~\u0014`\u0015y#6悆�鵺}\u001e��Q�dӑR�\u001d��.��s�p�d0�\u0013b���s�����$\u0012>��{X�5\u000bi���Q�\u0006W�\u000b��SB��\u0004����>��8O\u0018�vI�t�\u0017\u000f2\u0007��]��\u001c\u000e���\f�C���u\"\\<�ON!�7���>ODծ�\u0005�::�_�x�S�-\u0015�O��\u001d\u000f]�G�� +�;���^K���\u0019\"�ViZO�Ռ�d�K�4�ܨ\u0000\u0014��O��<�P@�\u0005�^c�8�GG�\u0014;�4����S��\u001d��dzdg\u0003\u0012(�>O\u0013�\\�\u000e�q�Z���-�5�\u0017PAye�-���I3[�F�9\u0011\\�\u001c�\tb�.$\u0011gj#pO+\u001d׽\u0012�S���2b7F2�v&G��4\u0005\u00126��[��\u0007�-tm[N��-V+)�&�quh�n��7|�b\u000f\"$\u0017\u001a����EW2��%�-ŕ��>Y��6�\u0016�p���\u001b�F.f1$C�g]�\f��(��w7\\��7D\u0011��lc(����F|&�\u001b�#\u001d�_���[�����Z]����V�DԚ��?�~��nt�V9u]?E�7���y�Ge{}n�u�h�D�e\u0015��D�r\u0003\u0019d�et#q�\u0014N� yX��j�\u001e\t�\u0006r!��\u0012�\u001e�\u001e>�zߦW�\t��uw���X\\�k~_���O`�\\V���WPxV��]\u0005�Udv��m\u001a�-�%-�\u0006qȌ�xw�s��ϑ\u0006��ʨ�\u0000\r���ő�����Ú1�.���E\u0012v\u0000\tW���m\u001b�\u0013Q�Tf[����xZ�\u0015�ZQ���`�����d{�F�y\u001a)\u001d80h�\u0007)�NL�x2�\u0001\u0019ʶ��6�?�U\u0010\u000f~�>#=N;2��\u001b\u0000�\u0010%���Q��kq.^~��n_P���[��nf\u0006u��0�\u0017���]��L�\b�SO����Fc\u001ca\n�� $\u001c��#x�\u001cP�/�F����{88�#1\u001c�1�eR�\u0012\b��\u0011�\u0011\u001b�]��=wJ�\r�� ��[��)�C}n�\"_��G�+{��{e������K\u0014�,rF�qo�alfF8d�P�5�ϗA`մN3ɚXDv7�s���w�,�\u0014��uC���]0^=��.���l\u0017����\u0004o\fV\\���sy\f��w�&���q��Y\u0001�7d�\u0007��\u000f���}��\u0015\u0007��\u000b?,a�J���٭�k�}j�P���\u0011�j*f�g���\"��\u0003�|���oK]�fy\t\t� x#_M\r�׺�k�\u0004�\u0002:�1�g������>t\"\u0005>���}>��.���\u0011\"�ڧp6��s��\u0019�\u0018�4���ș��\u000b��Yg�z#�V=�\u001bS��0w;I�;\u001e(�|�s��\u0015ܠJ?}\u001b|OE�\u0003���Feb�\u001b�E��\b�ߘ|�����\u0011�/����\u001a���ۭ\u000em�x��<�F�C\u0011��/�?���\u0000���7��ʺ��wz�\u001b{y��J\u0003J�X*&�,[�:=.,X sf5\b�����˫�DŽ\u001b��;\u001c�����\u0007����~e��[�3�{��H��+\u0017\u0016�j��۠5�E54���V�[-~�Y���DwD~�̽&�B4�\u0004G�����/�#a�S?+\"=�sNH\u0005\u0001���v�C\u000f�\u0000g2\b2}\u0001��H�3}�6�+�b{��\u001f�r��\u0019l�C�k\\7�Yҋ�ޤ\u000f��@�۾]\u0018�6X'\u0019~�]���/�&|�\u0007�u\u0019V�M��C�\u000456�v\u001dv�a὜�Dc����|���~ftH\r� ��\u001f���@m��A̜P�[�ͨ�OIE[���~n~`[�7�m\u0015��\u001f[�*\bO����F�r�g��\u000f\n#��˧�\u0011�0����\u0007߲�Y�����e�VvP(\u0011�\u0002,jX/�p)ɩ��F1����͖RfE}\u0003���c��?#��%H��\u001e\u0000�\u0018dE\u00129�\u0002ȉ�R�m)\u0015\u0014�q9\u0011�R\u0016�O0\u0011\u0016�\u0010b��\u0015�\u001b\u0002\u001b���3\u001cK�\u0012�j3�z�~�!qg\u001e��Ke����t=�\t\u0011��6;��R!g��\u0011�59\u0002@�Sj�)'�tG�ԗLTu���\n�*G}ρ�\u0002w�����]�ٳ\"�Е�w\u001b\u001d�6�\u0019�π��\r<ϤJ�CI\u0006�@j�n���)�u�\u0004�>E\u0005ibͧ�\t���3Q_��\u001a��2P�F��\u0011&\u001eV��OnT4\u0004\u00045�QM�zW�0x��\r�\u001elrk\u0015[�\u0015r\u0012�Z\u001f��\rv8a\"E�a�\u0016��Ku\t�x��UCo���=A�Ǐt\u0012D��I�헡\u001d��AJ�\u00005�\u0019�n(0�%\u0013��b�'�/�%��\u001bJRH\u001c\u0005�X�J�Uo٧\u001c�+��3������5\fKP�N5�8��\u0003P@;\u001e�o�G&a�js[�zs4e)�Aֽ�-Zr��&1<�!-�X{�\u0000�?�=���'׮�h\u000bF\u0007&\f�9\u0005j\u0003�\r��Z�\u0018�x\\�&�\\>�T\u001e�m��4(eUV��g��Gj�F\u001b���s�l�h\r{A�|Ŧ]�_۫�y\u0011�EJ\u0019\"n�h��i\u000e��\u001a\\�p�\u0019 }@��]v\u001d>�\u0011Ŕ\\$7��\u000f\u0006��C�l���r�U��\u0005ƍ{\b���{\u0005��R@�\u0015\n�8�q�=N�Ǘ\u001f\b���\u001fy\u001f����㧏��\u0019ě����`\u001e�r ����sk�V^S���Ե����j�-��%,��Y�\u0011�X�\u0016b\u00168��c_�qYA�s{�yg���(�,G�����<��\u001a�R[��m������{�\\��m�\u0005���ׄ��ܧS^�\"����3����ϻ�1�\u0014��XI\u0007���\u0004-*Ev�Q_�]\n\u0006�� ���\u001eE�Eե�Q�01\u0015�K�%\b;\u0018�B�\u0004��\u001c��!M��\u0013:���ʾs}?Gw[�nFXYU\u0018��v!��� 6�WW���I�w\u0018$c���k>q���\u0012{@c�&I\u001e@�2��\u0010�5�\\X�\"C~I^��yk�-e�5����evS�L�<�\t:�*�����\u001c z�~<�H\u0003����'�����\u0019��L��RH���\\��^�\n���=��\u0018�x���;s\t��� h�>��_���6(�妀������ᖽJX�\u0000�Я?�=\u000f٨\tk�n�\u0004\u000f��\u001d�q�b{��\u001f��̦�\u0002K���\u0000�\t�\u0007~��ȏ��fy6zMֹ��y7M�5����J�5�ۥ��/�\u001bw\u001c�I\u0002��E\u0015%@\u00145�[�u���I@��{F�X��>�k����p'�\u001c�ˣ�<��\\��!��\u0010����.�w�T��>�\u0004��I8u����Z�(7���c\u0019� \u0004���ξ��\u00002ߗ\u001c%#��O�|�u�yz�5�A���h\fv�K\u0013\u001eWs�\u0016�J��\u0014�4�>��x�͵:̠L�κs��ͺa��#V%v{����{��_2�=��z�\\\u0017�^�[2}\u00046����a\u0004��\u0012�\u0012�F�\u0015��Yy�&^\u0011\u00127�E������{ݦ\r<�d�'\u0018&\"ĉ�o��@���y��t�m�KY/&�\u001bX��P\u0002i��\"��4�R�Ү$n?Y��X�E��<�k��s�\u001b#�\"�_x����<�8��\u0016\u0007\t]��ն�&�o=��\\D�Yڳ��X�{醽�3���8�\u0000�vŚ`$cÏ�o\u0013�\u000e�����\u001aU_M�\"��\u0002�\te�Q��\u0003^`o\u0010GRyw���å��S\u0010\u0013���\\D�\u001f��\\놷 WM�v�-y�\u0019�+\r[Q��Z��m��.�nn\u0012�,��'{�x`����K��;���$,KFw\u0019T\u0004q\u00021\u0013\u0010\u0005���c��~\u0015��#bS��\u0005孤��V�6I8���^;]/��]4jd\u0017v��A<1�ǜ<���q��\u0005p��\u001e\u0013dăw#\u0001�t��\u0000�\u0002�̓��%(d���\u0010#0q��r\u0013BD�%\u0013\r�+\u0004ol��\u00003��3c�ͨ�����WVP���[�-@���K�k���T�^_�ί\u0004M3�F�fy�s瑳Ő�7F�(� \u000eۊ66$\u0010\u001dF)\fzHd�8D\u001fQ�c\u0013�؟\u00073@�\u001b��\u00121#�i��X��*{O��;8�\u001f��:���gy\u001c�5\u0011d�[\b���!{��Ie�d�%Um�fv���\u001c\u001b�\u0017\\U���[���v�'�w��4~~�Ե��y�˾N�M��t���WҮb�`�*,QX,�F��)�\u001e�H\u0015�#�\u0000�/ej���@���g\u000b�8hq\b�M�7�'���\u0019��A���<�1�kŒ�#��2����1&�<���X�\u0000��i+�?q�E�\r\u0013�Ry��0Cm�������Y���mm<šj%/��ѵ#,r\u0006A��\u001e�dnC�3v�M/g��#\f��\\cc�t߼t�[�A�{7M�\u0018��(�qN��x} �\u001a<���ڷ�������-^�B���xRXu_�v�S�0�;˧^�\u0012G\u001c�W�1N\fA����\u0019����c\fa�\u001c\u0006H� \u0001�*�����1�~\u001d>�z�>I�!�Ț>C���~c]�\u0000�Ayk�>g:�Z1�&���-�;h\"[K!��A.�\u0012\u0005_P�z%\u0001\\\u000e\u0011�\\�:-&<\u0000\u000b3�������G��\u0019����qG�Gb|���b�����`�\u000bU����^YG�\r�\\'��(�@\u0004XRK0ذ\u0004�ڌ\u0018c\f�N�ڜ�X�_\u0013�W[+��\u0002��\u000b�7T]\u0012��\u0005��ӵ�*��F�k�YQd���\u0017���\u000b\t\u0002)=\u0005:�<\u0012�\u0007���\u000bTr\f����\tU��bk�y����O\u001a5��\u001d�$\u000bR��\u0004{�bYN�>\u00071s\fq'�6�c)��C^���[����42$a\n�\u001a�Hc�Ք�A�+ӥ#$bx�E�K\u0001�\u001e\f�g�\\y/��\u0018j\r���\u000f�e֌��|@�cC؊��Ճ�p·�5W\u0016?y�Il�(ř�\u0017V*x�)�E�?Ux�{a�\u001f\b��䄗I��Z4�H�A�\u0002\u0011\u0018\u0014\"j\u0013��o�GуDŽv��X�G��^]��!cP�Ѻ�\u001f\u0002ב\u0003�\u0015�\u001cz�Z{o�Z���ɜt�#j�u����V6�ޡ=E\u0007�8\u0002%U)CƕT����f6m|D=?_���o��\"BR��{_!�$q�\u0019\u0004�4 ��;QOBY~��&��E�}��`�\u0002ok���E�\u0011\fD�Z�Ō`T\u0005\u0014�񓽒[�!\u0011]Y\u0004ztzm �B�I���;\b������~����5��\u001als�f��\bs'���\u001c�y5��m�\u001b�]��UU��-�5\u000e���n {gQ��KS9^�$a\u001e����\u000f\u0017���I\u000b\u001a<92K����y0=C�3�2����X�@U���FR)EBd�oS^����gGiK)���\u0007I��NԞ�\byp����Sy�Z\n\u0004�b�2��\u001cP��a�ʃޣz�G�\u001d��\u0000\t�^���c�OiO�\u0018�ґ�S\u000f�Y\u001ei�\n\u000b;�Y��dF��`�yG���\u001dhOpAʏ�\u001d����2��h��X�U���g\u001a�u\u001bz����m��e\u000e�d�\u001d��!���\u0001��r�G7\u0012\u0005͜r����T��i����4��E1�\u0018߄��^]$G�\u0013�oC���E�p�k��9\t�0o\u001d��'��;��B�0�b�\u001a���#uumҟ�����\u0006F�?��s�b~\u001f��l�O��e\f&\"�EH�b�-\u001cV�6bTnz��\u000eM4���|5p>�@�o\u001c��д��6֭�F�4��\"�*\u0014�3��V��dzڬ�m@�_�$yt\u0005�{E��jt�9\u0003Lj;���|�?�<�zD\u0011X�\u0013w��ơ�y�8�����P\n|'�l�{C�0j�u\u0018*\u001a��2�����C�=���|\u0006�Syt|���Ry��'�܍�|�e4M0�g�ٝ�K/:��S�\u0005۶a�/Q\t�N&1��ss�]���\f��H�ry���w'�;\n\r�=���z-O�:<\u0018#�<1\u001b<��Q-D���\u0000\u0003˿D\u0006�xW���\u0000vd�rq�\u0010D\u0019��!\u00079\u0014\n�\u0007SN���D\u0002%.\u0011��<�Щ�����`\u001c>6��\u0013�qS�\u00007S^���\u0006+6\u000b�Ϝ\tQ}U�i�������%h�G[�:1�\u000boU*��^�\u0000�C\u0011]��\u0000\u0007_<�Dp�/���PE���%�ա�\t��w{�R2\u0012?���h��\u0001VD��C}��lA�z1��4E�����\u001f5�n�Assi�!�T���Og�P���e��̳^ܣ5����&\u0004\u0000V9�ǹ�������w�c\u001c�p�\u0000��B���Ms�oc򟙴��I�i�`�t������q8V�Q\u0016�%Lځ�\u000e\u001cB��H!@�4��p\t��|:6����`n\u0005���>r?6}��2���ik�ܛ�6�/0�_���Q��3�j\f�2�e�i ��i\u0010�L�7\u0014$\u0010\f�+�<�u��\u000bG�\fljc\u0019�@X?��\u0011W΍�44�b��Q�kk\u000b�\u001a��]&��-���t�e�f�ӧ�io\u000biZ�W12Y��5)W4���9F@B�s'����C\u001c�Q�o,hJ��\u0011d\u000fv�P��y��T}+T�Y[��- ���u�y4�\u001dI\u0002�Z�w\u0016>��^jMy�A+�n_\u0018��\b��\u0012\u0000 \u0019sۨ�]~ּ`B�\t\u0011\r�\u001e����\u001e�g�捶���\u001a������o�Z��N\u000bau�yNx�\r���m��\nY\u001b���wQƟm�f8�?\u0013\u00111�\u001e�|��;����IJ\u0012��\u0013�h��2�\u0000<���p=�]Ҽ�q�iڞ�ک�\u0017u��w\u0016\u0016�p�\u001c���~���L:U��Z]�Ŏ��4��4\\��\u0001�ߎ@�JQ��$\u000f-��\u0011�+�o}\u0007,]N3\u0013�\u0012c�q#�xg�y�.�1\u0003o9\u0007���gy���q}bҭ��G-�v��~i�5�\u0007�\u000b����{�h��,����S\u0019� ��x�\u0000a�\b;w�\u000f=ϑ\u0015�����G&��3;��\u0002*�\fv�^���\u001d�O�oa���,n�ѡ���O,Aq���j\u001e\\�~���U����\u001b�Z�H��C\u000b,�\t��\u001b�ĵ�q�cFw\u0013�\u000e�U\u0019L\n�r�\u000b!ʄ����\u0003�1��;�G�\u0011\u0001�JG�nn�zϒe�Z�M\u001aM��D\"O.���6\"���D��k�[�\u001d�Ķ\u0017��'��Mv�W�\"�rrc�\u000eL�!��<��y#�\u001a\u001b��1��\f\u0013ǎ�8��!\u0010\f�E�Iۄ_J�՝��M�֝�co�jq�����x�fiu\u000bMb�-E�\u0005c�MB��\u00163:J� JQ�\u001e�Y����=2�?��P��*�o�nL3\u0019�QÎ�\u0011\"��j�\u0003y\u0013�\u0012\u0005�n��4\u000b�3ye�g]2���F\u001dR\b���w���\u0006�bnad���\f�9�nؔ�5\tm�\u0019\u0018J&\"@\t\u001a;\u000e{��]�~�F�\u0019�fa�r���Y���\u0002�\u001fQ��ϒ�\u00001�\u001f/��y�Ȟp�}S�z��K�>�{\u0005�n�罶k\u001b�b�}{�Y���ol� \u0000+ۨ~aH\u001d\b���\u0014�1�\u00117F�y��0�Lxre�\u001cx�Db/s�w0o�+`+g��\u0000�\u001en��8~C�h�\u0011iڇ�.4+�$y�M2�k�v�3��n���D%�\u0005�j.�'��ʏĊ\u001d�l��1�\u00112�dx�mR\u001c��\u0000\u000f>w��Ç$�\u001c�@F0�|�ym�\"���u�T�\u0000ϣ(?�,�\u00002|�����?$�������-��g\u001cQ�w����]����SJӼ�#���Q����c���L�/g�\u000b\u000fd\fQϟ\u0018�\u000e\\�χ~���\u000f���\u000e�~�,��]N\u001d@��%\\X�\u000b�\u0019\u0000�BȌD��(�I~��N�\u0000�'~H%����+�5�5�\u0018�/1y�F�z�GJ]E\u001c��DA�Pg\u0003�~��M��=N�Q�\u0011�c��ݶ��\u0007�����a<'>�\u0011��x꺈�\u0003ʢ��.�J�\u0016��\u0014q*�\u001cq��b$�c�5\u0001\u0015B��Pg3(���\u001c˻\u0019%\f�2��{�O0�������\u0015���c]��ex�K\u001f��˽�m\\���O��<�i�����_�k�YM��\u0007в���$��AD�\u0013��9��I\u001fDE��t��t~��U�Jyo�Ť�As��E\u001cz��!��6ޤq\u000f�\\@��̸G\u001fM�n�p�$�BG��ѵDfz��\u0007�����C�\u001e!\u0012�!)F�Nꮔ'u\u001cH��G�+�ߐ�'\u00161���\u001e(��/�p�\r@���e&}��c\u0006�xG���g�Z9KWq@\u001bz\u001c�\t\u0017G����\\�\u0013\u0015+�J.��~��PH_�\u001d�\"����'%�\u0005)�&��n�dc��\u0016��T�45��~� ��L�E�\u0000���,ELr�(+�@zUh2�}'v|�\u000e�XM�L�\u001cL�\u0003>�u�j\u0015j�Zo�>�\u001e]\u0011�'\u0002ѭh�����7�\u0003q�]�O/�cjb�V�)ķ-�`�\u0000x���,�An2���\u0012N��\u000fB[儛���\u000b�}��A���\u0012YXOp�7tA��\u0001�h\f�`\tj{\u0011�Mv�J$�9;�\u000e���\u001d����WS�&�\u0005撒�\u0004EbUD��J�=����xG\u0018�Ð�֜ڃ��0\u000b\u0015�#Ξo\u000f�^��j\u000b\u0016�\t����8e*�U��;(\u001di�=3`{:\u0019#�����ng�?�Dww=^��7��ͼi1�xx*�,=A��<��i)5�:f\u0014�Y����!��\\¥U�~��K.������aGw\u00134%�^=�}6\u001b5\u0001�\u001e�8��S\u0006����Xˏ\t\u0017wV,{���N�tۆh\u001e��N 7�H�\u0003�2\u0013Ò4@ݖ=V\u0019�#KuMCX�?�c1�X��+D��=C��j\u001d�w\u0003p\u0005s/\u00141\u0018�\u00150��ɨ���X��_�IN��\r6��{e���4\u0005$\u000e�!��r���b,~��\u0003C�G\u0016H��4y���2a���{�������\u001e��\u0000�^k�'�5�Z��<��JKX]^��%?R��z�;�\u0019~�)�xxgC��\f�Y��c��nU���ݥ\f�{h�6�7�⼑V�\n�Pzxf�6�(���Ѻ\u0011�a�m��~h�K4\u0016Z���R(\u0015��ݔ��.\u0000�'�Q�P5FCq��[D\u0000;\u0001l�O����76��W�\u000f輈�T\u0006^Hx�Hѱ��!�=\u000fLD��s\t�\u000fI���.���b\u000b��pL�i��h\u0006ǯS��Lߚ�9�V]R�������!�6�|\u0001\u0007���S\u00045�=z(Mg�xi\u000f��_X�Z���Q\u0011��\u0000\u0000�g�{\u001d�ǩ�����G\u0017�==�\u0005�:ib�\u0004P�4{�\u0013����m\b2�+�ăv�g~\n�:�ā힜2w�\u001fc��=\u0018��5��u�/~ZۻV=Q,�t\u0012_�̟Y�\u0018\u0012�\\�j�J\u0007\u0005�\u001eU��2�-t�S�I��\\\\1\u001f�\u001f��I���\r<0h����y���'�70�t�\u001a}�W\u001a��X� ��,\u0010Z[E-(�\u0014Q�\u0004nH��B\u00019nyp\u0019H� lр\tƀ\u001cW�Ŝ\u000f5_�7��Ē\r#L�Y-t��D��^M\f�^�r��q$�[O-\u001eF�Q\u0005\u0014\u0003�͔��#*\u0017C�P\u0015��vx�\u001c\u0018�\u0018ܣ\u0019\u0013[\u0003+6\u001dž�\u0006��\rUV�\u0019�Aa\"[��\u0000�屎\u0018!t��\\܆��*�c\f> )Q�ҙ\u0006�����ϓ}��1�z�\u000e�\u0002\u0007v���ݘYj\u0016���I.=u��K�^\r\nY�_�m)��Y%�� �Ia2��z|�E\t�i\u0019�_U���\u0000W>�$N\u0018��\u0004Y��U���s�E�Y���yf�\u0015�t�,D�0Z�\u0005�Gy��,����\n���w���!&\u0010[��\b7���\u0001�m��~����\u0013\u0003\u0014�J0\u0000�\u0002��4\u0006P/Q�޿����鲉BOm��\u0010_$�����P_\\�\fw&[��F[g3�\"�H�ȧ\u0015V }&Vc�!�������\u0019\f%�8�\u0011C\u0014�\u0007�$\u001b�|$�<��A�>K�)l!���\u0016�6�&�\u001bXLyE�������$���[mN�\u000b;D\u0001dS\nD��Gb��(�JX�r\u0000��\b�\u0006�\u0013���\u001eP�58��\u0005b�\u0016BE�r1&&<Ő\b�m޺�W3ͩ]A5��eq=�Z&�&�M��[\r:x��+;�~W�$J���\u000f�\u0015rxO��8����\"�$\u001a���v$s�g\u001e\u001c\u00076o��efB�\u001b12�3\u0011�8f\u000f\u0010\u0007z�L�R��\u000f5j:��9��a������҂���MK;h\n�֠��p��T��&�8\u0018�\u0001\u001b�\"@�YX\u0007�ʷ\u0007鉪$m�w�ܤ�r�����\u0014s�c��y�\fh�q\u0012���\u0007�F\u001du��.����*Ip�w�Y��G�h�����moa�\\i\u001a���>��:��p\"��\u001e[w+�2��\u0018��2�V@�7�\u0001��O!��:\u001d�S��S\u001c�\u000e\u0003�\u00139qd��\u0019\u0000\u0004c8�6?A�^�\t�K;�|�{�/\"�\u001ec�,�Z�~��4�-�\u000b}6��G�m7O�\u0017/\u0017�e�MR��{i%�I\u0004\f�V��ʗ���c�y\u000e#{��z]\u001d�7��\u0004\u001cML�d��d2�\f�5{�S�_\u00016a)�qQ\u0000\r�r�|?����:-�QOa.�c>��֫\u001d�\u0011�Qۆ�m\u001ex����$d\u000eeAw\rYȐ\u0006�\u0006\\`��0�\u0010\u000f8�A��nWF�q\u000e�\u00190�\u0004j\b�Elx8xMp�e�\u0014I��D�8I{��\u0007�-���y{ʚ��5]Z�WTME�\u0010bԝ����Z��~�n�|7M�@\t�QF�� �\u001b�Y̶\"<@\u000fH��5�\u001c�_���t�e�c�NP1��x@��\t�\u001b\b�[\u0011����!�?��O���˯ϟ.�-���\\k�6rY�cU�/��V���5ƠLՄ%ե�\u0016��T\bУV�)��}���4�Ϩ�\u0006�&�c�����\u0011˥�<�E�:��χK�2dž�|[\u001e)oG�\u0010�*�n�n|��o���-V�I���R�#y��K�7\u0019� �ю$����\u0015b�\u00101+@i�U�^�`ɖ^61\u001cǜ�@��cȟ��݋�\u0000\u0004���a�\f9�t��\u0006K5\\���\u0000wY�\u0012(�\u0000�#<�a,/qiun��G�u\u0006xX��\rq\u00131���C\\�d�\u001f\b63\u001f��A{\u001c?�R��7<\u001cG�9?Ⅳ,�\u0000<仿k�J�x�2<�-�G���Y\u0014�jdg��\u0010\u001e.<@_�((\u001b�\u001f\u0012C�h�8HyR\u0010�R;�ay�0\fL�1�\u000bs\b�\"��X�\u000e�zw�\u001c�uqΒ2恟ɳĪ���nd ����D���\u0000^�O�\u0004��Y�O���2�|��H���\u0011'�\u0001\u0004��=\u0002�iZ�\u0000eR�)r���v!�V�_�㜇X�*\u0001�4B���-V�\u0003\u0013Ԋ\u000f�12�\u0019\u0010I!��\u0018U�5��h�h��U�\u0010�>\u001a�\u0001�d]���B8��m5�\r\u0000���z��$V�J�U�|BYJ�%\u001431\u000e@�\u0006�2��\";�\u001cL�\"%Cr�U׵k�0��ޘ����f�����\u0012�񢳝����\u0019���zOfhqvv\u0003�>��\u0006uD�y\u000e��|���W7kj�l�\u001c?�\u000b$Gϸ��5�ٌ[[A*I�\n���b��=\rh\u0005\u000f�n�\u0018\u001f ���\r₹xm=IQ��Z\u0001���l��`~���Au\u001ej\"d����I{r��g�����}Ā\u0000+����$>\t�p�Y�oy~��R\u001a8\u001c\u001a�}\u0019��B�;\ne�\u0011�&�̃�\u0015K���\u0003�\u0015&���)\u0002�\u0010:Sl�&}�\u001a\f�\u0001Vz��U�\u001f��u6�!���g�����������ᩌ�\u0003��k�#M���pj��\u0003�w\u0018\u001cǟ1����m�{8��i?�O!�\u0003�'��=��K]R�S��lne\u000e��h�+\u001d͜�6,��\u0014\u0001ARW�sy�7U�<9�+�\u001b�{�n�S��4z�džF��*C���\u000fZ�/&�n-%eq-\"y% �\u0007hk�ץ)^�e�]\u001dj#(݃��W�P:Y��S�n-ͺ?\u0015?\u0019^+�r,OCA����a�HF���HNV9Z\u000f�ok\u0019��\u0001)\u0015�\"�~]�\u0010��o\u001cȰE\u0003A��4\u0010��Y�+�\u0014\u001dw��6\u0000w$\u000e�12�\u0015\u0014�\u0001��vR�\u0010Ơ��\u001a�\"��ր�\u001cb�\u0004��Jx\u0010�!�\u0018\u0006J\u0013�@z�Q�\f��1L�6}�\u0019&\b{\u0007��\u0018�Qs|�Z�I�'�9���\u001eBiT\u0012d�&��j�!�B��qF��2\u001d.�W=���z\u0016�t�f4�{�xe�*\u000b)\u0018�qv��\u001a[O\u00194ӯ�%ف���\u0019�\u0001�ߣE�ʇ�s�O+�sSM�o-����ꎖ�7�\u0000�g�z������\"�\u0005C\u0006�T�%�p�;�l�1.\u0012\b\u0000\u001a�7�3+KE�5$\u0016�\u000fVY�9�m�\u0019^H�\u000b�{��\u0010��t$\u001aҫ���3\u0006$O�}��E�b��\"�k+�on���$��\\+\u001b�\u001e�\u0018a�����a�\u00175���ЉRE\u0000F�\u0016�Nc\t�m��˔c8�Q\u0000ǿ��G�q��Qww\r�][�֡��I-t�&�/=���x\f~��{_[��&Wm� dc:\u0006'��ˏ��'��\u0010<��ݸ�uC�\rd.�m�R8�5\u0018Z\u0016�Em\u001d�k\b%�ܡinu8�׭��\u001cL����H�\u0007\u001f�c\u0013^��\u001c�*���ƹw��\u001bL`Ԣ��1,W\u0013M\u001e�c�jW�,�u�ϬZM���5԰�M2�P�5\u0014�N�\n��\u0006��2�M��ۺ�Ah\u0018��G�\u0003�Q �Nj�\u001d�\u0002�\u001f*�ɼ��H�?����!��Q�+�����|�ܫEu\u0004w�J�X�Ak,�凓��A\u0001\t���\u001b\u0011�\u0018��~|���ڌxL&b%�_��q��cȎ��z��<�u�kN7w����1Cm2X���\u0000G�$\u0006m\u0002\u000f�ʩ`\u0002@���q׷i\u001a��4+O��CIӬ5=:��\u001d;�}f��n���t�\bo�ƻ��2��\u0007��� f�\u0006iH�$�:���X��C*5},��V<8\fc+�@� ]\u0012\t>��\u0014yG{\u0014+��\u001a1��u-F�\u001b�k{�'D�N�u��[յ��H�{��-�Z��\rY��n)?\u0017H�aT�fb�\u001cQ�\b\u001cs�@�1ߗA[W/���\u001cy�rH��u�\b�O\u0016׾�.\\�æ�\u000f���z_�<���\u001f�,��k��z|���}�v\u0011I�Mw�X]Gk\u0004�\ty\u0003�j034��P�\u001c\u0005Bs&2~[&L6x@6\u000e�'�� ��[N(�\u001a�G0�\u0014��\u0006$F\u00117\u0011{�-Ƞ{��\u0007��m�wZ�t��,\u0004�4\u001dB'�Z'��$���Kbn��\u0016����E�����\u0005`�ר�LN\u0010\u0011�2���\u001d��\u000e���9�1�,�2��\b�MQ\u0006�@�dO#ʨs~}�zM��W����?-Kag���E�)5�c7\n-�?���\u0011|٤_�,��[�w\u0011>�\u0007&r����m�:����q\u0019\u0018F4DF��\u0011�˧-�qtأ�J\u0018�9\t�zD�d�\u0016y�`��'���\u0017�r7�ߙ?��s�q(ҵ�!6��U=\u0018���\u0000//m�K�v�(�-��\u0000����=^;p�b��CںS\r\u0006)�\u001cN��Ž\u001f!������\u0011�\u0019B\u001cC\u0014�\u0011\u001b��\"��V~\u000f�\u001b����/$f�n,�\u001e��c\u001e\u0000\u0003��s���\\\u001d��|P�!''S�=�\r�I�C\u001d٭vG=����.\u0012`9��D�3\u001b�5u�Ob�x�%4��`rQ\u0011��������!�k������n�~Gc�S�3'\b0��p5��\\|F���͏7G�i׷Sα��\u0012;H�\u0015\u0014F��;Ӧn�p\u0004�\\�#gr\u001f�o��[�r�U����忕�\tWB���^������\u0018��G^��\u000bӶ�wkv����O�\u001fޑ�#�==��\u000e\u0006�G\u001dV�j��\u001d�IHt��ǝ�ې/���\u001d\u001eE�@\b ҝ����\u001dr��^\u000f\u0011&�@ϥ�bh(\u0007�N�P����%A#\t���M)$e��Pt=��CL�\u000eN\u0003M91��NO[��\u001a9���(�\r�ǭ(\u0005{fls\u0010x�7\u0018ጅ\u0011����\u0007�kt�G_N�()Q�z�o�f�\u000e�3\u001c2����5\u001a\u0013\u0019qG�����n�m�V2p%w�|T\u0000�?\u0017cL̎@\\1\u0013�\\߾\u001f��N��?'l��0\u0016�睤{�x�\u0004�`�zQ!m�5G�eၖ#�n-�\f��\u0004��[ �\r�}��\u0015�2�+F�K:�r��V'Ğ�lrD���<3\u0007m���2�b45=@;���\\��/s�|!�6��䚮�\r\nА\u000fs�4��.�mш�vU���*���\u000b\u0006&�\b�^�\u0000�*$\u0002�\b�����2Oe�\u001b�9��|����,�T���l�\u0017\u0013�:8y�3���.�iO�~���w�d�I#�\u0010�}�B\u0007]�V]����M\u001d�`\u001cR�Qz񻶒BP�d��!G\u0003�f���شWו\u0000�:\u001e?i[n@��׶RH�N�B[�iN�� �r\n�ǐ�� V�{�2��4��\u0001��,�|�\r�\t\u0001�Z�Љ r@��?\u0010�wڟv2�~Lc! \u0007P~,�{��c��^�UK�\u001b�<{\u0000r��ͶG�\u00026�m��$^����+B+��6���zw#t����VDST\u0000\u001d��\u0013��x�7L&}\u0006�1�J��:l�A\u0004#H��ڢ��\u0004}�%\u0013E���$�K<�yh�\u0014�|\u001a8���v&�\t\u0014����OQ�_�J1�\u0003\u0019�\u000f��Iv���Փ㉇�\u001b����\b#b�2\\@\u001f0�b�򫴦�F�0\u0012�C+\u000e���J��L���M�aA0d\u001b��x��@S��_|�wy2�\u0000�2=6!\u001c\f�!�\u001e4\u001e\u001d\r\u0005{xd��\u0011\u0010\u0019��5\u0019,�`�$z���s٪\u0001\u001dw?qʤ8�\u0007��eR�����!�Int\u001b ���H��H�Z�)�%d�8���Ô�����.��\u0007\u0001���3_̏�}\u000f�\u001fO7zA�K�\"#t\u0000�;P��\u0018�\u001a��hu�ts���r;S�0��y�\f�U�<��G�����r���jY/��Y��4�\b\u000b[�(\u0001��T���\u001a�I\u0007m��\u000f\u0010Q�my2\u0018N�����~\u001d�C�yX~c~f�\u0007�v:��r���m���&\u0006þ��\u001cd�'ܶ�Xh,�*\u0003<�\u0002l9!HV\u001b��y�1�vzXY�\u0002�L���+{K%���I�G;I��e��!�'l��f;�n�NG\u0015�]%rj\u0017\u0017�%h�\u0015L�I_����\u001aq`�o��\\�N^}vv�\u001d����ݜS�`��\u0004�0�@\b�wX�ػt=��fH��6\u001bv�\f7]��U���ci\u0016�� �Xד*\u0012#��7$\u000e�\tHP\u0004�~�Cr�$\u0017�с4��J#H\u000e�\n�q�\"ҿ\t��cK%y\u0016�U]\u0018�V����.,��\t\u0004�V)�\u000eD��Ą�\f�z�_n���\u001e#���$n��\u0017Q�%�ǭi���qS�ĢM�^c�B�z�(Z�98�+$\\k���bb�0?$���\u001b\u0011{\f�ZI�RVR�I\u0013�!}A���_��t�&�\u001eht\u00042�S\u0003{��}w�w_�������n����ug�u\u000eA�6�\u000bW��@jMi���|�y�}\u0013��@��$rW\u0010\"�����Kq�\u0015��?�\u001d��p\u000f�h8�V�]�-~�vo���h:S�\u0006_\u001c��QP]e�$r%Nۏ��u#m�j�f,���Æ�Cɬ�#�\u0018�\u0001�R\u0005Z�o~^=� d��\u0016\u001e\u001f��O��1C\u0016�\u0005��\\M+5$cON�\u0000/s�k;J\u00123\u0012\u001d\u0003��W\u0007\r�z^�\u0016\n�-�$�\nի�\u001e\u001b�k�\u001a��>S�VH\b����ΞwӴ\tѣ�d�\u0005�5pʿY�vg\u00144�*��:?`ġ�.I\n�������\u001fߎ��\u0001�~Gh�{&�b�y�;���02�<2+�fRU�zm��=C,���v\u0012���<`��x�?Td\u000fɃ�\u001a�u�ͻ��b%5h\u0013j\u0017)e\u0002Q/�\u0015ya���9\u0015d\u0012/�S͚��)�e��Fk?��W��y�3�\u0006��y��{��{}\u001d��������[���~�6��Gl����\u001c���ߍ\"Bۑ��fN�'\u001d_@Ӧ��\b��\u001eդEc���\u0015ܰ�=厔�^6WI&��m�\u0015���5�|l��\u001cH��$�y�_;\u000e΄qU]_26z\u001d�����\tm���V�����\u0019{igw)s\tHc-!AH٦*�~*�N$�dl\u001d��Nf��1\u0011�]\u0002o�ܯϸ.:�����7�oc\u0004am��8��-z����\u0010���D�ϦYW�& �\fC�u}/�#6Lt%�\\_`\u0017g����4���\u001f��z��\tu�9^Q\b����:C,v�Wc}\u0014\u0017R�����x�~�|Y����o&�4Sk��R_�>c�ӌ�¶��;B���^\u0016׉42�����_��p�\u0018�&�\u0013.����c�w�\u001b>l�Vr\b��b#νDJB�\u0018�V�O/@[Ia\u0012i�S���Vf���\u001bP�[[��\tfU�;h���&m/��G�7� !9�Zl398\"e���ymG����5ӗTv��\u0016���Yp���܌�r\\y�DK�1\u0004�P�r��J�=��$���M.�S���\u0016��it�f�̗:�7��֯{�DUe�\u000b�Hܶ�lx�\u0004��DA �ݸ��\u001d��߳��c\u001e\u0013�'�2�d\u00000\u0011\u0013��,�[�\u0004TI\u0002D��|��_:j�]�f\r*imy�;�$����m���\u001d���M'\u0017\")\fe��A���x�-\u00112h\r��\"\u0007p��Kےus\u001e\u0010�q\t�\u001cEJ�r�61;�Q\u0007�\u0019\u0000M�����4\u0010i\u0017��7�k\u0002�Eӗ�\u0017\u000fa��+$���m-���e�2��汓�r��f��i\u00069�3���\u001c����ܨs\u001b��qi�\u001dg�\u0000N\u0007\u0010�����\u0011�0��MP�Q��ߟ?�7ڇ����Ր�\u0016zmީi��[�\u001a}\n�H�V�X�m�\u000b8�K�f�\u001b��F����\u001d('\u0011\u0013��\t\u0004P\"��\u001d�s�˖�'\u001eK�\u0018�\u0018l=f[����Y�\u001b����\u0000�ߝڭ��\r��l��\u001b��Il�F���~�pd���\u0012�K\fh��7��rZ���\r��]\u001cs\u00031�'��F���%Ǫ�\u001e\u0018�y\u0013�ϟ^*�\u001c�?o7���\u000f�Tv��,0�o<�Dt���\u0010�/Q\u0015TEM�M\rCl\u0002�+���\t����ǭ1\"�\"����T�Ӛ/N'Y9�h\u0015�G\"��V�=6�Zm�4��p\u001a�wzmL�.[��]6\u0016�\"b��ғ\u001f\u0006\u001f����YEH\f9�jM\u0014\r��$�\t<�v8��n��\u001c���\u00129!���yTG\u0005�d���v;!���3Sa�3���~�8z��\u0000J\"�_K��,.�m嫋{�nn4�V\n*�`��$�g\"�f\u000ehG-�\\:��^�F\\2�M�ϤR��/��\fHލ��EM؍�v\u0014��$r�0�l�\u0000@�a�OK�����\u0004��ƴ�vS]�ሐ�ⶹL\u0000aՔ�Gy��I\u0013�\u0011+\u0010�\u0015[g�KQ�P��~}3+\u000e��8yc(�9�;G����\u0016�B�Y+';g�$m\u0016�\\\u0019\u001f�nR}���3e�VD]v�\u00008ɱt�\u001d/EX\f\u0016�ѲCj�mtB\u0002\u0007�K� H�1�k�\r��\u001d�̑.\u0010�\t\u0012@���EX,l5=8���B�㔖��K�_ۘZH\u001a������\u0001Ƅֵ8gR�'�\u001fwO�<^\u001eC\u000f�d|\u001d�D����o��_Z��}p\u0012\u0015F�4􈁐���\u0013��\u0014����T\u001a�e�w\"�b��\u001cUc��Լ��\u0013j��\u0000%�\u001e�\u0014�Oslm~8\u0012\u0004da\u001e�6�΁8|\n��Z\u0011D���*�s����ǟ��=\u0017�Z��V��Z.�%�85[�g��.�\u001a1,U%�\u0000z�Iȡ\u0002��15\u0003+�,���e�≪��Ź-����Z:-ݵ��mq!\f�b��o,��\u0019K�\u001a�mo\u0014q�\u0004|D����6\u0014yW�O6���\u0001\u000b�\u0007�Y\u0007��uR��{�Ŋ�\u0004���\u0000J�b�(h��Ed�+����(�!b��Q^8�p�����f\u0006B.��*ۯ�^��\b�\u0016�!\u0001c���T��uF���t\u000bt\b����諪�\n\u0014�DR�ǐ\u001fE�l3�\f\\dTG?w#������L�!��W����\f02�i7z���M�0]�\u001ce�-���7�d$�\u0001\u0019fC×`h��=�n.\u000f�i�lP<5B��\u001e�\u0003�o�t�>�W�.�s�k\u001d����u\u000by-n�k;�{i���quq\u001f�-.M�\u001fX\u0000�|\b#/*�9X�)f��\u0012c��\u001e|��nK��c\u001aXCP#�&v�MY�q\u001d�s��6\u0014�?/kڦ��Oa��\u0004ڊ�\t�y�\bd�7��McN��Th�U�3j�\u0011��S��\u0005 dc\u0012�9�\"��.���?��l.��\u001e4a�\u0014�`n/�#\u0011Ț��\u0007�;Ut{�\u0000�|�>��-\"��Y-5��ӟZ����jw1��W�f���z�o,��n~�%\u0012�B�����3�U�?y�Ȇ��\u0000�\u00038��\u001c�ȍ�\u0003�̏�F�T;��Ia�LR�\u0011\u001f\u0017\u0016�\u0003��&;l}3 �o�������K_�?�_9h�v���\u0010k׾Z���e����?ܕ�L�J��Y����A\u0010��P��\u0004\u0003��^�f�b�r�jDw�W��������{C\u0004�jrFb;K�;�\t\u001b�^�}ܟ�ߔz�����Է�\\Z6�\"ؤ1G5�w�dw1]�Y^F&�����)�{i\u0017�YO\u0013�2��ugM��\u0010G�W��l<#�A(m\"\u0001 u7�t?\u001e��o���W�7�s��n�\u0000H��?�o�!'��\u0000,9�K='I�ciq���(��<���5����X�3Y�\u0013'C�gŔ�\u0002�s\u001e{�\u0017O���\u0002!\u0018�9J5�ho����.֬㿷��h'�rGW�\u0007¹�ÚX���~�}�\u0000�\u0011(Տ� 1���[ȵ4�\u001f�@��\u0018�dK�s(�#(���o�Cm<'���Or\u0007���~9\u001b����.&'qO\u0006�]����;�\u0014\u000e~Э\u0000�N¹��,��w\u0017���\u0000?\u001c�\u0000����l�\u000f˿$]�g�:�R�{5���}��V�B���\u0007s�\rGhc�� �:�\u000fH��>C�p�ϭ�(b�\u0007�{��\u001d��C���n�?*\\�zY�In.%�[��\u0005�i\u001c��3\u0011Vff9ɜ��L�.)\u0013d��p1��#�DDF \u0001�\u0003\u0010�|����\u0010���R��GC_�\"r�M�6v�ɠ�1n\u001d\u0001܏�F\u000f\u0017�L�3Ge8��-&\u0012�\"�r\u0002�����ǾLe\u0017m2��L��٧�MylKT\u0002{m�h2�j��\u0001�\u0011�<��:���h��^�z��6�vP�2�<��\u0011@���l5\u0012��\u001c[�'o7\u001bQ\u001cXpO.m��6@\u001ed�\u0003��\u001f�,�\u0000�\u0004yK�~[�|���f�`�e��7Qh�F�n�� tYb�\u0000wJ��T�3���8\tg�]×�����D��\u000f�\u001eP�!��\u000e���\u000f{�it�m\u0006\u001d7Nѭ����*?F���1\u0015�\b��!�zF\u0006m��� c\u0011P��q3i�'\u00197��\u000e���Z�x�n&1T��\u0015GSN�(�\bq\tA���ta��r,b1�<�.�U5j����D�����.�c\u0012��$�,��\u000f�zo���\u0010[#\"M��Mv4�z�O\u0013Z0\u0015�s�|��[\ru�y<3���As��iJ<\u000e&VZ���T�� 7\u001e\u0019��\u0007���;8\u001a��\u000eQ`�~�Ũ�K��ڎ�\u000e�g*�bm�(T�P�:�'P���庌90�gu�{��9��A�b>��WB;���F���ip�m3�����\u0003w\u0007�\u0014�3\u0013��v\u001cW\u001d�7��0y�\u001b�\u0014�\u0001/\u0010���A\u0003��5�\u001c7˓`�:Q�$���#�9c2).)@G�G�d|09(7w̼^�9���z���*j�\f+�\u000e���fF'�\u001d+�\u001a���vHzx��a���\u0002f�.��0B��IPĆ\u0007�Qh�j�Bz�Gz\u001ei\tҥ��GOR:�6\u001c�cZS��3 \u0019\u0003͙��fB�n�)�Pޝ[�<����Jc,��#kU˚cb��3��P\u000b\u0001V;�j�w\u001b`\u0012\u0005�?7��~r6ڕ��,ή_�=V\u0001��(\tٔ��q�����\u0003!��v^���\u0000I����~��`���QL�.ҧB[n-J\u0002@�M��Ɏ@\u0010^�\u000e�\u001c������\u001e���\u001eb�0궖�\t+�ZTG\u001cB��m�~�\u0018Nx��$Pmˋ\u0016�\u001c9�\b'��|��_���+��뗚R��5�&O�NѢW�R#TB}�7�������\u0004��w��i{3��%,B��\u0003�w>\u0019���\u0000�D���\u001dέ\u000e����̏��>�մ�+�6�1�>�\"(���6�s���Dsc8�\u001cf$Q\u0015���x,���[/�8�FbW\u0013�\u0004�#{׻�\u0017�/��;\u000b�]\u0007Z�k\b,�q\f�FU�\u0007.R�ͺ�J91\u00155�6���H\u001b���i2�$b�@\u000b�~9���s��sL�������橩\u000bTӼ�{,\u001a����պ\u000be\u0007�P��3\u0005@7'+�p��&B\u0006\u001c`ȓ�\u0000,���yv�r�!Qﳰ?k�J�������\u001e��{ˢ!�N��I�F<����\u0012W�\u001f�g2�\u001b9n������f��<0\u0007�;$�\u0000[����\u000e�=���\u001f�8���\\�x�r�/�7�{�?�t\u001d\"��Y�EIm�C�����Nl�.+\u0017��h`\u0004\u0000\u0003k��O�`�\f�\u00127\"A\u0007��\u0014�vZv���%ʺ;�Ca{\u0003ޙ�]������+}\u001c�u�\u0002z�_\u000f����?N�\\�\u001e�`\u0002H�2{�p�A;�����c=\bBE(:���Y\u0003���a�DS;\rxi\u001a[�t��vv^\u0013��*dY\u0015�8'J�o��\u000b>��ـy\u0006\u0005�y�\\��\u0013񺗈\u0016�}�\u001al\u0002r\u0003�]�ݹ\u001c�s����{h\u0004��%Υ�A,\u0012[L'�y\"\u0002$�q�^=\u0019\n����bK$��m�\r��\u0000+k�az�z��\u0018�!\u0010\u0005���Ic-*�\u0000v߉�\u0014�3\u0014�ftM��e@��OE3�6񽾢��\\�G��w�²���EY\u001fb���)��∙������,n\u000f͘�]>֊���p�i\u001d8)�z��\u0014�!�0�;�e3�\r�׺����<;�|�\u0015��2^�ZYf��\t5�3��M!\u0005RF!��d��\u0005w��Tuь�����n�\u0010�?\u0005�r�ø�uH|�����\u000ezߦ��4��YȜ����Ar�oDS��\rF�`\f`�H��G���=���`� x��������^H�\u0000Y+��4�Q��9�\u001d�\u0000\u001d�H�\u001buCK,�\u0010\u001a��4\u0000\r���F�-����1\u0000�M��c >Ķ�P�44�G�������=~\u000fe���_�ܱz��*�) �\"��N���j\u0005㍷`�YO���Y��o��i�AP\u0017�\u0003�\u0001@\u001b\u001e�\u001c\u00180�\u0000�ܧ.l�ϣ�o5��KuI'����5ߑ�ƹ���\u0006ÐuY9�R\u0003��\u001b�+�7�\u001fL���[iZ\u001b�d��Dz$Ҥ\u001e�-��3�d���\u0005�\u0013\u001dTH�!&�\u0000���F���j�ͬj�7�C��v�<ޘ)\u0002��c\u001e� \u0012zf1�����\u0005��\u0007]��2����\u0000\u001f&\u000f�(�KMJ�QE�'�9�֤\u0002V�\u0000ӽ+�.Y\u001d�Ky�W\\谯 YZ\u001f���\u001b�\u0002}kM�4��\t��k=��Kq4\"�VI\u0015���L�1\u001a�j\b��!𳳴�kM�#�\r�{���Kk�RI�IYn��^u(�Ck�<|c����\u0018<@���r$�����l�\u0011��u\u001fҜ���0��G�\u001b{Ԋ\u0018ԘV8�\u001bK�\n ���m��Q���1�\"`�s1�)H\u001e��\u001e��H�iС�\u0012��\u0011\u0000@^in\u0004��@2\u0012\u0014\u0001ʼ@\u0014�3\u001a��~�Bu�\u000f�+}kU����mus$:n�eea\u0018��--.\u001e���\bL^�,s�H}�2K\u001a�$�e<8��4%<22�7#�=�P��\u001bH8�z�\u0013$↨��I\u0000\fwC�~}�m0��\u001f���\r���{oc�0�g\f�I��A�ج9D\u0011��{@\u0011����R��&k\u0007�6�g\u001b=��/G�×O|�.�\u0012&*\u0019@\u000fK�\u0002`d�g�\u0000u�t�b�A۽�K��)�c�c��E�=��4����\u0000��-ݴ,D�ku5�o$��@�U���A��\u0004�P�w��\u001al`W�\u001c\b�X$Yߟ>W˥�izF��D���\u0006�\u0015>���Բ�K$��o�\u001ac��\u0003\u000f\u0010��'��\u0000aٳ)\"D\u000eT�GP�:��\u0002v�(��4�R�S����\u00162�\u0004ҙ��\b�%�\u0003�����䑮i��sy\u0015��;�E\u001d=9\u0010��|\u0002�)R\u0017�\u001cEk�C�\u001czM&i\u0001�\u0016)\u0002h�\"C�-n�Og\u0006l���T�\u0000>�]���1C��Z�\\ʇ\u0011�w�\u0018S��g\u0000����\u001fc�\u0000�M�\u0013�\u0001����\u000e�2���U�\u0000>_���%Ρ\"G}}���jJ\\j���J�\u000ftA\u0000��Q��\u0015�P�}�\u0003�\u0001Ȗ�S���&I������&���t�:ZD�\u001eQʄ�⤊�I;��}F��A�EP\u00016���q\u001e�t,�APAR� �PE\u000elDG\u000f'\u001f \u0007�ks�X�\u0014\u001c-a^\u000b2�\u0010l�Ĩ�\u0003�4\u001a��\u0012�+v\u001a�y��W�P[ưH���2�P�\u001b\u0006cBy$a���vÃ�\u0005�'��\u000f��I�9�`ҽ\u000b�\u0014R�5*�UC\u001aw�s\u000fV7�����C�\u001a,r\u0010�\u0017E-�R#'��0�\u000e��YD\u0016�ֺT/\u00041�ҕ�\u0018\n�U{�S�^\b�7[��\"x�H�k_��\b�c�Ҳ+�\u0014��bIf�\u001d���TMF5L��\u0013W���W���`8�\b�0=A��c\b\u0007*\n�\u0019\u00007ˢbM�\u0005���w1��-Y�B�����k@~���O�=�L�\u0011�7�hֶ��%?�_\u0010O/�R\b-Zw�ܳ�#�$&\u0011����Am\u0002}p,J\u0000�B:�@z\u001f�3p\u0013,W-�D��\"��v�\u0005�,\b\u0010IJ��A��e��V=:e�1;��.F�\u0010�y�zZDM\u0011d2]F�Ř\u0006\"��V�i�=\u000f�bOa�l���:��෴[�\"Hg%X�C�\u0004�ܔZFKw�|8�+\"��\u0013 \u001c�����\u000f�S�1ڢ��&�\u0010H'2�����\u000fx������~�\u00041��\u0002��@@4�\u0001��C����'KKh�!HPG��Jщ�`MH$m��\u00006��\u0010�}��\u0000ʚ}��r\u0006��󉙺�Q̊\u0010AU\u0005Fƒ2��\u0000ve��<���T�3�\u0000-[�uM2OMC�ޫ�\u001c\u0004�\r��$�S��\u001aH��`Wn�̡�\u0014�,t\f�V�X�4���A$��o1.̲Ar����ţ+��v�?f�\u0002M\u0011�fNǭ��\u001e\u0018�V�\u0003 a5ơe'*�V�z��p�vX^\u0004;P�\u001b�z����ʠw<�C�$áZK\u0011)#6�+H\t�d���I�-Լ��$��8����\u0000F�6b&�?�\u00071��\u001d�X��c��\u0016�\u0018�e�\u0019��\u001brReY\n����5Y\t��A�\u0018�d\u000e��i�m#���$i'�!��\u001cm!�\u0012f�\u0001++J���)(\u0018+\u0011�9�\"\t������j\u0012#bx��c�Ol�\u0013WӕQ\u0002��H����/����\u000f��\u0007(\u0003Tq�)���t'��\u0011��L�U�\u0007�*�*��X��\u0000�����F��e)'��\u0000;�Ԅ\u0007zW|�3�w�H˴A\u001d���\u001a4q�7N\u00024\u0002\u000b\u000b�\n�P��msԅ�\u0000�ꤓ1�NlH�4\u0014ʞ� �~��`G�#�?���������}j�)���9(\u0005>���%��W���\u0010�q���BI7┣�\u001c$������D��\b\u0004\t\u001f����wG�G��_y�ː]�f�5�\b�2J�\u001c_V����H�6h�\u0006aFm�MMv8�\u0016Y\u0003��r��\u001b��u\u0019�\u00068F7�ŘU�*3����y��\r���ߔ��w�=�6�G�S\f�F�\u001e%X=1\u001a\u001fMM\u0016��z�\u0018�2J5�\u0003�=�۵yrOE��\"|S\"\t�\u0000\u0010+�G�K����\u0017�\u001a�j7sj\u0016�shV��S=��zM�֙\r����3K\",r\u0010Y�w�X��l�d��\u0013�\u001a�=�>�ߛ��Ȏьoc\u0019K�\u0001\"���\u0014<�I~pY[Y~]�o�Z#[��NE\t\u0014�)\u0002�Β�nVA'����\u000b\u0002\u0019�y\u0013S���)xS��\u0018�7�0\u0004��\u0000����6\"g��7fdly�� @x�������o.�V�\u0012.�w��Y���~�\u001dūؽ�_���$kqFPO��B�(\u0003?�r�ˤ��>$�v������\u0016N\u001cq\u0000F\"�1��wʟ��e���ט\u0012��8�u]8\u0005^T�A�>@�ȣ\u001d��\u0019oh��\u0019\u000f�����ь��HX�O�������3�_�z�������MM:\u000b��{��f�$�[a)\u001c�O%�1\u0004��\u0019N���C�\n1\u0000u�I�C�~e��,�$���-\u000e”�3[=ȷe�`@���\u001eJ\u001fڦK�E�\rw��biUd��l|<3+\u0018\u0014=�\u001ebD�r|\u000f�\u00009\r�k\u001ag�|�yc}-��\u00167�\f�����2\u0015*\u001d\u0019v#�7ZX��[��\"e2y�i�����}w�zM&�y{w%��ә%���7=\u0015@\u001b\u0001@<3���ɗS�&BL���\r�����:L`\n\u00066|��K���ci\u001c�\u0014�\u0001�W�;\u0011�ܝ�\br,2�r����^4k�%A\u001f\u0010��\u0000�}��\u001d��'\u0017��Z\u0018��\b֍���SC��\u0012M��ڒ�ۀ>�T�O]���9\\�!*���c\\�t�bV`\u0010\u0001ˍ*zT��� '.�Ȁ6\u001c�~Ͼ����\u001f�Z3jzm����^���\b\\[܉\u0000\u0013\"׉p\u0007ps��f1˯��,�\u001byY��>�\u001b:h\u001f��Ȏ�\u0018�O�����|íj���}^�X�\u001a\u0010�8��ĩ\u0014�QLJ\u0014�R���<ϩϏ/�DsD\u001dF�kE�[�w#v!+��@�\u0019q�\u0013���\u001d�\u001c�g�2��\u0012õ=F�\u0010ޕ�%A�\u0002o��S��\u0001\"܉NQ5\u0013��)��K�\u0000�\u001f�IP‡��G.�<�x� �w\u0003���5mG׍~�/\u001at�{��O\u001c\f\t#v�\u0013��\u0001&��Ե;�ƗR\r��>Y�\bDՇ:R\"\u00169�\u0004�=�̖\u0013;���\u000f�i^�\u00032qB1�\u0000\u001b8z�H�&��Ϻ\u0006���v�[\u001b����g��\u0010��x�*,���\u001axҹ��\b��\u0011�\u0002\u0000��cK�x;C\u0019�Lx��?x��O0j7���;�PI4\u0001z�������\bw=Ny�\n���ܐ\rB�$r\u000b�C�@\u00186�=G���r�N6�\u000fU���}\u0015�sGu*JB��@$\u001aV�P�1����[�he�VI-�wb\u0015K3'\"~\u0000�U�3[0!/Nۻ�\u000fRuf��\u000f#U�(k�p>��\u000elG3�\f��y~�����c��b1 Ta\"<�s1��b��:y^K\rF{g��-�h�\u0012��Q�$`A\u001fNy�\u0019Hd$\u001d�ު\u0011��D���>|�o�{�qk]��|�b�W���8\u0005�1��좎�6Y9�ҝ\u0016�\tG$��\u0019��p\u0002��KI�\u0012@C�LJk�jz��\u0019�\u0012x�\u000e�\u0000q�y�\u001d\nyG�O3Q\u001c�4\u0015\u0014$\nm�\f��ُ�\u001e��id���ˑ+ӕ\u000f�5\u001b\u001d�9������Ȏ�/�on��G뿦�\u0011dۉ,Z�\u0014�L�������l\u000e��\"���\"�H�\u0016f��&�\nׂx����0�\u0011ϫ`���-Z�-͝-����XВ\u001c��\u0012\u0003\u000e�m�1���s��*��1[j��\u0004i\u0013#�!E\u0003�\u0001�\u001e�(�\u0000\fOV�o�f�\u0014wp�.#�@m���\u0015@���\u0002񯀠�x�q�y���\u0012\r\u000eO*��Ҭ4��*�O�\u0016�o\u0001i��Z�8� + /// An API for face detection, verification, and identification. + /// + public partial class FaceAPI : ServiceClient, IFaceAPI + { + /// + /// The base URI of the service. + /// + internal string BaseUri {get; set;} + + /// + /// Gets or sets json serialization settings. + /// + public JsonSerializerSettings SerializationSettings { get; private set; } + + /// + /// Gets or sets json deserialization settings. + /// + public JsonSerializerSettings DeserializationSettings { get; private set; } + + /// + /// Supported Azure regions for Face Detection endpoints. Possible values + /// include: 'westus', 'westeurope', 'southeastasia', 'eastus2', + /// 'westcentralus' + /// + public string AzureRegion1 { get; set; } + + /// + /// Subscription key in header + /// + public string SubscriptionKey { get; set; } + + /// + /// Gets the IFaceOperations. + /// + public virtual IFaceOperations Face { get; private set; } + + /// + /// Gets the IPerson. + /// + public virtual IPerson Person { get; private set; } + + /// + /// Gets the IPersonGroup. + /// + public virtual IPersonGroup PersonGroup { get; private set; } + + /// + /// Gets the IFaceList. + /// + public virtual IFaceList FaceList { get; private set; } + + /// + /// Initializes a new instance of the FaceAPI class. + /// + /// + /// Optional. The delegating handlers to add to the http client pipeline. + /// + public FaceAPI(params DelegatingHandler[] handlers) : base(handlers) + { + Initialize(); + } + + /// + /// Initializes a new instance of the FaceAPI class. + /// + /// + /// Optional. The http client handler used to handle http transport. + /// + /// + /// Optional. The delegating handlers to add to the http client pipeline. + /// + public FaceAPI(HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : base(rootHandler, handlers) + { + Initialize(); + } + + /// + /// An optional partial-method to perform custom initialization. + /// + partial void CustomInitialize(); + /// + /// Initializes client properties. + /// + private void Initialize() + { + Face = new FaceOperations(this); + Person = new Person(this); + PersonGroup = new PersonGroup(this); + FaceList = new FaceList(this); + BaseUri = "https://{azureRegion}.api.cognitive.microsoft.com/face/v1.0"; + SerializationSettings = new JsonSerializerSettings + { + Formatting = Newtonsoft.Json.Formatting.Indented, + DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, + DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, + NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, + ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, + ContractResolver = new ReadOnlyJsonContractResolver(), + Converters = new List + { + new Iso8601TimeSpanConverter() + } + }; + DeserializationSettings = new JsonSerializerSettings + { + DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, + DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, + NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, + ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, + ContractResolver = new ReadOnlyJsonContractResolver(), + Converters = new List + { + new Iso8601TimeSpanConverter() + } + }; + CustomInitialize(); + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/FaceList.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/FaceList.cs new file mode 100644 index 000000000000..8715db57cd79 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/FaceList.cs @@ -0,0 +1,1400 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.Rest; + using Models; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.IO; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + /// + /// FaceList operations. + /// + public partial class FaceList : IServiceOperations, IFaceList + { + /// + /// Initializes a new instance of the FaceList class. + /// + /// + /// Reference to the service client. + /// + /// + /// Thrown when a required parameter is null + /// + public FaceList(FaceAPI client) + { + if (client == null) + { + throw new System.ArgumentNullException("client"); + } + Client = client; + } + + /// + /// Gets a reference to the FaceAPI + /// + public FaceAPI Client { get; private set; } + + /// + /// Create an empty face list. Up to 64 face lists are allowed to exist in one + /// subscription. + /// + /// + /// Id referencing a particular face list. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not exceed + /// 16KB. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task CreateWithHttpMessagesAsync(string faceListId, string name = default(string), string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (faceListId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "faceListId"); + } + if (faceListId != null) + { + if (faceListId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "faceListId", 64); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(faceListId, "^[a-z0-9-_]+$")) + { + throw new ValidationException(ValidationRules.Pattern, "faceListId", "^[a-z0-9-_]+$"); + } + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (name != null) + { + if (name.Length > 128) + { + throw new ValidationException(ValidationRules.MaxLength, "name", 128); + } + } + if (userData != null) + { + if (userData.Length > 16384) + { + throw new ValidationException(ValidationRules.MaxLength, "userData", 16384); + } + } + CreateFaceListRequest body = new CreateFaceListRequest(); + if (name != null || userData != null) + { + body.Name = name; + body.UserData = userData; + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("faceListId", faceListId); + tracingParameters.Add("body", body); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Create", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "facelists/{faceListId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{faceListId}", System.Uri.EscapeDataString(faceListId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(body != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(body, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Retrieve a face list's information. + /// + /// + /// Id referencing a Face List. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> GetWithHttpMessagesAsync(string faceListId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (faceListId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "faceListId"); + } + if (faceListId != null) + { + if (faceListId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "faceListId", 64); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(faceListId, "^[a-z0-9-_]+$")) + { + throw new ValidationException(ValidationRules.Pattern, "faceListId", "^[a-z0-9-_]+$"); + } + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("faceListId", faceListId); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "facelists/{faceListId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{faceListId}", System.Uri.EscapeDataString(faceListId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Update information of a face list. + /// + /// + /// Id referencing a Face List. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not exceed + /// 16KB. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task UpdateWithHttpMessagesAsync(string faceListId, string name = default(string), string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (faceListId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "faceListId"); + } + if (faceListId != null) + { + if (faceListId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "faceListId", 64); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(faceListId, "^[a-z0-9-_]+$")) + { + throw new ValidationException(ValidationRules.Pattern, "faceListId", "^[a-z0-9-_]+$"); + } + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (name != null) + { + if (name.Length > 128) + { + throw new ValidationException(ValidationRules.MaxLength, "name", 128); + } + } + if (userData != null) + { + if (userData.Length > 16384) + { + throw new ValidationException(ValidationRules.MaxLength, "userData", 16384); + } + } + CreateFaceListRequest body = new CreateFaceListRequest(); + if (name != null || userData != null) + { + body.Name = name; + body.UserData = userData; + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("faceListId", faceListId); + tracingParameters.Add("body", body); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Update", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "facelists/{faceListId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{faceListId}", System.Uri.EscapeDataString(faceListId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(body != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(body, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Delete an existing face list according to faceListId. Persisted face images + /// in the face list will also be deleted. + /// + /// + /// Id referencing a Face List. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task DeleteWithHttpMessagesAsync(string faceListId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (faceListId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "faceListId"); + } + if (faceListId != null) + { + if (faceListId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "faceListId", 64); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(faceListId, "^[a-z0-9-_]+$")) + { + throw new ValidationException(ValidationRules.Pattern, "faceListId", "^[a-z0-9-_]+$"); + } + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("faceListId", faceListId); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "facelists/{faceListId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{faceListId}", System.Uri.EscapeDataString(faceListId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Retrieve information about all existing face lists. Only faceListId, name + /// and userData will be returned. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "facelists"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Delete an existing face from a face list (given by a persisitedFaceId and a + /// faceListId). Persisted image related to the face will also be deleted. + /// + /// + /// faceListId of an existing face list. + /// + /// + /// persistedFaceId of an existing face. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task DeleteFaceWithHttpMessagesAsync(string faceListId, string persistedFaceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (faceListId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "faceListId"); + } + if (faceListId != null) + { + if (faceListId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "faceListId", 64); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(faceListId, "^[a-z0-9-_]+$")) + { + throw new ValidationException(ValidationRules.Pattern, "faceListId", "^[a-z0-9-_]+$"); + } + } + if (persistedFaceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "persistedFaceId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("faceListId", faceListId); + tracingParameters.Add("persistedFaceId", persistedFaceId); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "DeleteFace", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "facelists/{faceListId}/persistedFaces/{persistedFaceId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{faceListId}", System.Uri.EscapeDataString(faceListId)); + _url = _url.Replace("{persistedFaceId}", System.Uri.EscapeDataString(persistedFaceId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Add a face to a face list. The input face is specified as an image with a + /// targetFace rectangle. It returns a persistedFaceId representing the added + /// face, and persistedFaceId will not expire. + /// + /// + /// Id referencing a Face List. + /// + /// + /// User-specified data about the face list for any purpose. The maximum + /// length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added into the face list, + /// in the format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the image, + /// targetFace is required to specify which face to add. No targetFace means + /// there is only one face detected in the entire image. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task AddFaceWithHttpMessagesAsync(string faceListId, string userData = default(string), string targetFace = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (faceListId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "faceListId"); + } + if (faceListId != null) + { + if (faceListId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "faceListId", 64); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(faceListId, "^[a-z0-9-_]+$")) + { + throw new ValidationException(ValidationRules.Pattern, "faceListId", "^[a-z0-9-_]+$"); + } + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("faceListId", faceListId); + tracingParameters.Add("userData", userData); + tracingParameters.Add("targetFace", targetFace); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "AddFace", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "facelists/{faceListId}/persistedFaces"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{faceListId}", System.Uri.EscapeDataString(faceListId)); + List _queryParameters = new List(); + if (userData != null) + { + _queryParameters.Add(string.Format("userData={0}", System.Uri.EscapeDataString(userData))); + } + if (targetFace != null) + { + _queryParameters.Add(string.Format("targetFace={0}", System.Uri.EscapeDataString(targetFace))); + } + if (_queryParameters.Count > 0) + { + _url += "?" + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Add a face to a face list. The input face is specified as an image with a + /// targetFace rectangle. It returns a persistedFaceId representing the added + /// face, and persistedFaceId will not expire. + /// + /// + /// Id referencing a Face List. + /// + /// + /// User-specified data about the face list for any purpose. The maximum + /// length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added into the face list, + /// in the format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the image, + /// targetFace is required to specify which face to add. No targetFace means + /// there is only one face detected in the entire image. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task AddFaceFromStreamWithHttpMessagesAsync(string faceListId, string userData = default(string), string targetFace = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (faceListId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "faceListId"); + } + if (faceListId != null) + { + if (faceListId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "faceListId", 64); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(faceListId, "^[a-z0-9-_]+$")) + { + throw new ValidationException(ValidationRules.Pattern, "faceListId", "^[a-z0-9-_]+$"); + } + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("faceListId", faceListId); + tracingParameters.Add("userData", userData); + tracingParameters.Add("targetFace", targetFace); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "AddFaceFromStream", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "facelists/{faceListId}/persistedFaces"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{faceListId}", System.Uri.EscapeDataString(faceListId)); + List _queryParameters = new List(); + if (userData != null) + { + _queryParameters.Add(string.Format("userData={0}", System.Uri.EscapeDataString(userData))); + } + if (targetFace != null) + { + _queryParameters.Add(string.Format("targetFace={0}", System.Uri.EscapeDataString(targetFace))); + } + if (_queryParameters.Count > 0) + { + _url += "?" + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/FaceListExtensions.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/FaceListExtensions.cs new file mode 100644 index 000000000000..90a316dad1f6 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/FaceListExtensions.cs @@ -0,0 +1,363 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Models; + using System.Collections; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + + /// + /// Extension methods for FaceList. + /// + public static partial class FaceListExtensions + { + /// + /// Create an empty face list. Up to 64 face lists are allowed to exist in one + /// subscription. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Id referencing a particular face list. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not exceed + /// 16KB. + /// + public static void Create(this IFaceList operations, string faceListId, string name = default(string), string userData = default(string)) + { + operations.CreateAsync(faceListId, name, userData).GetAwaiter().GetResult(); + } + + /// + /// Create an empty face list. Up to 64 face lists are allowed to exist in one + /// subscription. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Id referencing a particular face list. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not exceed + /// 16KB. + /// + /// + /// The cancellation token. + /// + public static async Task CreateAsync(this IFaceList operations, string faceListId, string name = default(string), string userData = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.CreateWithHttpMessagesAsync(faceListId, name, userData, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Retrieve a face list's information. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Id referencing a Face List. + /// + public static GetFaceListResult Get(this IFaceList operations, string faceListId) + { + return operations.GetAsync(faceListId).GetAwaiter().GetResult(); + } + + /// + /// Retrieve a face list's information. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Id referencing a Face List. + /// + /// + /// The cancellation token. + /// + public static async Task GetAsync(this IFaceList operations, string faceListId, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.GetWithHttpMessagesAsync(faceListId, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Update information of a face list. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Id referencing a Face List. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not exceed + /// 16KB. + /// + public static void Update(this IFaceList operations, string faceListId, string name = default(string), string userData = default(string)) + { + operations.UpdateAsync(faceListId, name, userData).GetAwaiter().GetResult(); + } + + /// + /// Update information of a face list. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Id referencing a Face List. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not exceed + /// 16KB. + /// + /// + /// The cancellation token. + /// + public static async Task UpdateAsync(this IFaceList operations, string faceListId, string name = default(string), string userData = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.UpdateWithHttpMessagesAsync(faceListId, name, userData, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Delete an existing face list according to faceListId. Persisted face images + /// in the face list will also be deleted. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Id referencing a Face List. + /// + public static void Delete(this IFaceList operations, string faceListId) + { + operations.DeleteAsync(faceListId).GetAwaiter().GetResult(); + } + + /// + /// Delete an existing face list according to faceListId. Persisted face images + /// in the face list will also be deleted. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Id referencing a Face List. + /// + /// + /// The cancellation token. + /// + public static async Task DeleteAsync(this IFaceList operations, string faceListId, CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.DeleteWithHttpMessagesAsync(faceListId, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Retrieve information about all existing face lists. Only faceListId, name + /// and userData will be returned. + /// + /// + /// The operations group for this extension method. + /// + public static IList List(this IFaceList operations) + { + return operations.ListAsync().GetAwaiter().GetResult(); + } + + /// + /// Retrieve information about all existing face lists. Only faceListId, name + /// and userData will be returned. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The cancellation token. + /// + public static async Task> ListAsync(this IFaceList operations, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Delete an existing face from a face list (given by a persisitedFaceId and a + /// faceListId). Persisted image related to the face will also be deleted. + /// + /// + /// The operations group for this extension method. + /// + /// + /// faceListId of an existing face list. + /// + /// + /// persistedFaceId of an existing face. + /// + public static void DeleteFace(this IFaceList operations, string faceListId, string persistedFaceId) + { + operations.DeleteFaceAsync(faceListId, persistedFaceId).GetAwaiter().GetResult(); + } + + /// + /// Delete an existing face from a face list (given by a persisitedFaceId and a + /// faceListId). Persisted image related to the face will also be deleted. + /// + /// + /// The operations group for this extension method. + /// + /// + /// faceListId of an existing face list. + /// + /// + /// persistedFaceId of an existing face. + /// + /// + /// The cancellation token. + /// + public static async Task DeleteFaceAsync(this IFaceList operations, string faceListId, string persistedFaceId, CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.DeleteFaceWithHttpMessagesAsync(faceListId, persistedFaceId, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Add a face to a face list. The input face is specified as an image with a + /// targetFace rectangle. It returns a persistedFaceId representing the added + /// face, and persistedFaceId will not expire. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Id referencing a Face List. + /// + /// + /// User-specified data about the face list for any purpose. The maximum + /// length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added into the face list, + /// in the format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the image, + /// targetFace is required to specify which face to add. No targetFace means + /// there is only one face detected in the entire image. + /// + public static void AddFace(this IFaceList operations, string faceListId, string userData = default(string), string targetFace = default(string)) + { + operations.AddFaceAsync(faceListId, userData, targetFace).GetAwaiter().GetResult(); + } + + /// + /// Add a face to a face list. The input face is specified as an image with a + /// targetFace rectangle. It returns a persistedFaceId representing the added + /// face, and persistedFaceId will not expire. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Id referencing a Face List. + /// + /// + /// User-specified data about the face list for any purpose. The maximum + /// length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added into the face list, + /// in the format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the image, + /// targetFace is required to specify which face to add. No targetFace means + /// there is only one face detected in the entire image. + /// + /// + /// The cancellation token. + /// + public static async Task AddFaceAsync(this IFaceList operations, string faceListId, string userData = default(string), string targetFace = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.AddFaceWithHttpMessagesAsync(faceListId, userData, targetFace, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Add a face to a face list. The input face is specified as an image with a + /// targetFace rectangle. It returns a persistedFaceId representing the added + /// face, and persistedFaceId will not expire. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Id referencing a Face List. + /// + /// + /// User-specified data about the face list for any purpose. The maximum + /// length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added into the face list, + /// in the format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the image, + /// targetFace is required to specify which face to add. No targetFace means + /// there is only one face detected in the entire image. + /// + public static void AddFaceFromStream(this IFaceList operations, string faceListId, string userData = default(string), string targetFace = default(string)) + { + operations.AddFaceFromStreamAsync(faceListId, userData, targetFace).GetAwaiter().GetResult(); + } + + /// + /// Add a face to a face list. The input face is specified as an image with a + /// targetFace rectangle. It returns a persistedFaceId representing the added + /// face, and persistedFaceId will not expire. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Id referencing a Face List. + /// + /// + /// User-specified data about the face list for any purpose. The maximum + /// length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added into the face list, + /// in the format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the image, + /// targetFace is required to specify which face to add. No targetFace means + /// there is only one face detected in the entire image. + /// + /// + /// The cancellation token. + /// + public static async Task AddFaceFromStreamAsync(this IFaceList operations, string faceListId, string userData = default(string), string targetFace = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.AddFaceFromStreamWithHttpMessagesAsync(faceListId, userData, targetFace, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/FaceOperations.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/FaceOperations.cs new file mode 100644 index 000000000000..95954a94fc0e --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/FaceOperations.cs @@ -0,0 +1,1263 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.Rest; + using Models; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.IO; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + /// + /// FaceOperations operations. + /// + public partial class FaceOperations : IServiceOperations, IFaceOperations + { + /// + /// Initializes a new instance of the FaceOperations class. + /// + /// + /// Reference to the service client. + /// + /// + /// Thrown when a required parameter is null + /// + public FaceOperations(FaceAPI client) + { + if (client == null) + { + throw new System.ArgumentNullException("client"); + } + Client = client; + } + + /// + /// Gets a reference to the FaceAPI + /// + public FaceAPI Client { get; private set; } + + /// + /// Given query face's faceId, find the similar-looking faces from a faceId + /// array or a faceListId. + /// + /// + /// FaceId of the query face. User needs to call Face - Detect first to get a + /// valid faceId. Note that this faceId is not persisted and will expire 24 + /// hours after the detection call + /// + /// + /// An existing user-specified unique candidate face list, created in Face List + /// - Create a Face List. Face list contains a set of persistedFaceIds which + /// are persisted and will never expire. Parameter faceListId and faceIds + /// should not be provided at the same time + /// + /// + /// An array of candidate faceIds. All of them are created by Face - Detect and + /// the faceIds will expire 24 hours after the detection call. + /// + /// + /// The number of top similar faces returned. The valid range is [1, 1000]. + /// + /// + /// Similar face searching mode. It can be "matchPerson" or "matchFace". + /// Possible values include: 'matchPerson', 'matchFace' + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> FindSimilarWithHttpMessagesAsync(string faceId, string faceListId = default(string), IList faceIds = default(IList), int? maxNumOfCandidatesReturned = 20, string mode = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (faceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "faceId"); + } + if (faceId != null) + { + if (faceId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "faceId", 64); + } + } + if (faceListId != null) + { + if (faceListId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "faceListId", 64); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(faceListId, "^[a-z0-9-_]+$")) + { + throw new ValidationException(ValidationRules.Pattern, "faceListId", "^[a-z0-9-_]+$"); + } + } + if (faceIds != null) + { + if (faceIds.Count > 1000) + { + throw new ValidationException(ValidationRules.MaxItems, "faceIds", 1000); + } + } + if (maxNumOfCandidatesReturned > 1000) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "maxNumOfCandidatesReturned", 1000); + } + if (maxNumOfCandidatesReturned < 1) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "maxNumOfCandidatesReturned", 1); + } + FindSimilarRequest body = new FindSimilarRequest(); + if (faceId != null || faceListId != null || faceIds != null || maxNumOfCandidatesReturned != null || mode != null) + { + body.FaceId = faceId; + body.FaceListId = faceListId; + body.FaceIds = faceIds; + body.MaxNumOfCandidatesReturned = maxNumOfCandidatesReturned; + body.Mode = mode; + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("body", body); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "FindSimilar", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "findsimilars"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(body != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(body, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Divide candidate faces into groups based on face similarity. + /// + /// + /// Array of candidate faceId created by Face - Detect. The maximum is 1000 + /// faces + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> GroupWithHttpMessagesAsync(IList faceIds, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (faceIds == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "faceIds"); + } + if (faceIds != null) + { + if (faceIds.Count > 1000) + { + throw new ValidationException(ValidationRules.MaxItems, "faceIds", 1000); + } + } + GroupRequest body = new GroupRequest(); + if (faceIds != null) + { + body.FaceIds = faceIds; + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("body", body); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Group", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "group"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(body != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(body, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Identify unknown faces from a person group. + /// + /// + /// personGroupId of the target person group, created by PersonGroups.Create + /// + /// + /// Array of candidate faceId created by Face - Detect. + /// + /// + /// The number of top similar faces returned. + /// + /// + /// Confidence threshold of identification, used to judge whether one face + /// belong to one person. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> IdentifyWithHttpMessagesAsync(string personGroupId, IList faceIds, int? maxNumOfCandidatesReturned = 1, double? confidenceThreshold = default(double?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (faceIds == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "faceIds"); + } + if (faceIds != null) + { + if (faceIds.Count > 1000) + { + throw new ValidationException(ValidationRules.MaxItems, "faceIds", 1000); + } + } + if (maxNumOfCandidatesReturned > 1000) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "maxNumOfCandidatesReturned", 1000); + } + if (maxNumOfCandidatesReturned < 1) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "maxNumOfCandidatesReturned", 1); + } + if (confidenceThreshold > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "confidenceThreshold", 1); + } + if (confidenceThreshold < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "confidenceThreshold", 0); + } + IdentifyRequest body = new IdentifyRequest(); + if (personGroupId != null || faceIds != null || maxNumOfCandidatesReturned != null || confidenceThreshold != null) + { + body.PersonGroupId = personGroupId; + body.FaceIds = faceIds; + body.MaxNumOfCandidatesReturned = maxNumOfCandidatesReturned; + body.ConfidenceThreshold = confidenceThreshold; + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("body", body); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Identify", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "identify"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(body != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(body, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Verify whether two faces belong to a same person or whether one face + /// belongs to a person. + /// + /// + /// faceId the face, comes from Face - Detect + /// + /// + /// Specify a certain person in a person group. personId is created in + /// Persons.Create. + /// + /// + /// Using existing personGroupId and personId for fast loading a specified + /// person. personGroupId is created in Person Groups.Create. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> VerifyWithHttpMessagesAsync(string faceId, string personId, string personGroupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (faceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "faceId"); + } + if (faceId != null) + { + if (faceId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "faceId", 64); + } + } + if (personId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personId"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + VerifyRequest body = new VerifyRequest(); + if (faceId != null || personId != null || personGroupId != null) + { + body.FaceId = faceId; + body.PersonId = personId; + body.PersonGroupId = personGroupId; + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("body", body); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Verify", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "verify"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(body != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(body, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Detect human faces in an image and returns face locations, and optionally + /// with faceIds, landmarks, and attributes. + /// + /// + /// + /// + /// A value indicating whether the operation should return faceIds of detected + /// faces. + /// + /// + /// A value indicating whether the operation should return landmarks of the + /// detected faces. + /// + /// + /// Analyze and return the one or more specified face attributes in the + /// comma-separated string like "returnFaceAttributes=age,gender". Supported + /// face attributes include age, gender, headPose, smile, facialHair, glasses + /// and emotion. Note that each face attribute analysis has additional + /// computational and time cost. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> DetectWithHttpMessagesAsync(string url, bool? returnFaceId = true, bool? returnFaceLandmarks = false, string returnFaceAttributes = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (url == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "url"); + } + ImageUrl imageUrl = new ImageUrl(); + if (url != null) + { + imageUrl.Url = url; + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("returnFaceId", returnFaceId); + tracingParameters.Add("returnFaceLandmarks", returnFaceLandmarks); + tracingParameters.Add("returnFaceAttributes", returnFaceAttributes); + tracingParameters.Add("imageUrl", imageUrl); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Detect", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "detect"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + List _queryParameters = new List(); + if (returnFaceId != null) + { + _queryParameters.Add(string.Format("returnFaceId={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(returnFaceId, Client.SerializationSettings).Trim('"')))); + } + if (returnFaceLandmarks != null) + { + _queryParameters.Add(string.Format("returnFaceLandmarks={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(returnFaceLandmarks, Client.SerializationSettings).Trim('"')))); + } + if (returnFaceAttributes != null) + { + _queryParameters.Add(string.Format("returnFaceAttributes={0}", System.Uri.EscapeDataString(returnFaceAttributes))); + } + if (_queryParameters.Count > 0) + { + _url += "?" + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(imageUrl != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(imageUrl, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Detect human faces in an image and returns face locations, and optionally + /// with faceIds, landmarks, and attributes. + /// + /// + /// An image stream. + /// + /// + /// A value indicating whether the operation should return faceIds of detected + /// faces. + /// + /// + /// A value indicating whether the operation should return landmarks of the + /// detected faces. + /// + /// + /// Analyze and return the one or more specified face attributes in the + /// comma-separated string like "returnFaceAttributes=age,gender". Supported + /// face attributes include age, gender, headPose, smile, facialHair, glasses + /// and emotion. Note that each face attribute analysis has additional + /// computational and time cost. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> DetectInStreamWithHttpMessagesAsync(Stream image, bool? returnFaceId = true, bool? returnFaceLandmarks = false, string returnFaceAttributes = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (image == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "image"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("returnFaceId", returnFaceId); + tracingParameters.Add("returnFaceLandmarks", returnFaceLandmarks); + tracingParameters.Add("returnFaceAttributes", returnFaceAttributes); + tracingParameters.Add("image", image); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "DetectInStream", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "detect"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + List _queryParameters = new List(); + if (returnFaceId != null) + { + _queryParameters.Add(string.Format("returnFaceId={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(returnFaceId, Client.SerializationSettings).Trim('"')))); + } + if (returnFaceLandmarks != null) + { + _queryParameters.Add(string.Format("returnFaceLandmarks={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(returnFaceLandmarks, Client.SerializationSettings).Trim('"')))); + } + if (returnFaceAttributes != null) + { + _queryParameters.Add(string.Format("returnFaceAttributes={0}", System.Uri.EscapeDataString(returnFaceAttributes))); + } + if (_queryParameters.Count > 0) + { + _url += "?" + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(image == null) + { + throw new System.ArgumentNullException("image"); + } + if (image != null && image != Stream.Null) + { + _httpRequest.Content = new StreamContent(image); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/octet-stream"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/FaceOperationsExtensions.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/FaceOperationsExtensions.cs new file mode 100644 index 000000000000..3024140abfb7 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/FaceOperationsExtensions.cs @@ -0,0 +1,368 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Models; + using System.Collections; + using System.Collections.Generic; + using System.IO; + using System.Threading; + using System.Threading.Tasks; + + /// + /// Extension methods for FaceOperations. + /// + public static partial class FaceOperationsExtensions + { + /// + /// Given query face's faceId, find the similar-looking faces from a faceId + /// array or a faceListId. + /// + /// + /// The operations group for this extension method. + /// + /// + /// FaceId of the query face. User needs to call Face - Detect first to get a + /// valid faceId. Note that this faceId is not persisted and will expire 24 + /// hours after the detection call + /// + /// + /// An existing user-specified unique candidate face list, created in Face List + /// - Create a Face List. Face list contains a set of persistedFaceIds which + /// are persisted and will never expire. Parameter faceListId and faceIds + /// should not be provided at the same time + /// + /// + /// An array of candidate faceIds. All of them are created by Face - Detect and + /// the faceIds will expire 24 hours after the detection call. + /// + /// + /// The number of top similar faces returned. The valid range is [1, 1000]. + /// + /// + /// Similar face searching mode. It can be "matchPerson" or "matchFace". + /// Possible values include: 'matchPerson', 'matchFace' + /// + public static IList FindSimilar(this IFaceOperations operations, string faceId, string faceListId = default(string), IList faceIds = default(IList), int? maxNumOfCandidatesReturned = 20, string mode = default(string)) + { + return operations.FindSimilarAsync(faceId, faceListId, faceIds, maxNumOfCandidatesReturned, mode).GetAwaiter().GetResult(); + } + + /// + /// Given query face's faceId, find the similar-looking faces from a faceId + /// array or a faceListId. + /// + /// + /// The operations group for this extension method. + /// + /// + /// FaceId of the query face. User needs to call Face - Detect first to get a + /// valid faceId. Note that this faceId is not persisted and will expire 24 + /// hours after the detection call + /// + /// + /// An existing user-specified unique candidate face list, created in Face List + /// - Create a Face List. Face list contains a set of persistedFaceIds which + /// are persisted and will never expire. Parameter faceListId and faceIds + /// should not be provided at the same time + /// + /// + /// An array of candidate faceIds. All of them are created by Face - Detect and + /// the faceIds will expire 24 hours after the detection call. + /// + /// + /// The number of top similar faces returned. The valid range is [1, 1000]. + /// + /// + /// Similar face searching mode. It can be "matchPerson" or "matchFace". + /// Possible values include: 'matchPerson', 'matchFace' + /// + /// + /// The cancellation token. + /// + public static async Task> FindSimilarAsync(this IFaceOperations operations, string faceId, string faceListId = default(string), IList faceIds = default(IList), int? maxNumOfCandidatesReturned = 20, string mode = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.FindSimilarWithHttpMessagesAsync(faceId, faceListId, faceIds, maxNumOfCandidatesReturned, mode, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Divide candidate faces into groups based on face similarity. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Array of candidate faceId created by Face - Detect. The maximum is 1000 + /// faces + /// + public static GroupResponse Group(this IFaceOperations operations, IList faceIds) + { + return operations.GroupAsync(faceIds).GetAwaiter().GetResult(); + } + + /// + /// Divide candidate faces into groups based on face similarity. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Array of candidate faceId created by Face - Detect. The maximum is 1000 + /// faces + /// + /// + /// The cancellation token. + /// + public static async Task GroupAsync(this IFaceOperations operations, IList faceIds, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.GroupWithHttpMessagesAsync(faceIds, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Identify unknown faces from a person group. + /// + /// + /// The operations group for this extension method. + /// + /// + /// personGroupId of the target person group, created by PersonGroups.Create + /// + /// + /// Array of candidate faceId created by Face - Detect. + /// + /// + /// The number of top similar faces returned. + /// + /// + /// Confidence threshold of identification, used to judge whether one face + /// belong to one person. + /// + public static IList Identify(this IFaceOperations operations, string personGroupId, IList faceIds, int? maxNumOfCandidatesReturned = 1, double? confidenceThreshold = default(double?)) + { + return operations.IdentifyAsync(personGroupId, faceIds, maxNumOfCandidatesReturned, confidenceThreshold).GetAwaiter().GetResult(); + } + + /// + /// Identify unknown faces from a person group. + /// + /// + /// The operations group for this extension method. + /// + /// + /// personGroupId of the target person group, created by PersonGroups.Create + /// + /// + /// Array of candidate faceId created by Face - Detect. + /// + /// + /// The number of top similar faces returned. + /// + /// + /// Confidence threshold of identification, used to judge whether one face + /// belong to one person. + /// + /// + /// The cancellation token. + /// + public static async Task> IdentifyAsync(this IFaceOperations operations, string personGroupId, IList faceIds, int? maxNumOfCandidatesReturned = 1, double? confidenceThreshold = default(double?), CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.IdentifyWithHttpMessagesAsync(personGroupId, faceIds, maxNumOfCandidatesReturned, confidenceThreshold, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Verify whether two faces belong to a same person or whether one face + /// belongs to a person. + /// + /// + /// The operations group for this extension method. + /// + /// + /// faceId the face, comes from Face - Detect + /// + /// + /// Specify a certain person in a person group. personId is created in + /// Persons.Create. + /// + /// + /// Using existing personGroupId and personId for fast loading a specified + /// person. personGroupId is created in Person Groups.Create. + /// + public static VerifyResult Verify(this IFaceOperations operations, string faceId, string personId, string personGroupId) + { + return operations.VerifyAsync(faceId, personId, personGroupId).GetAwaiter().GetResult(); + } + + /// + /// Verify whether two faces belong to a same person or whether one face + /// belongs to a person. + /// + /// + /// The operations group for this extension method. + /// + /// + /// faceId the face, comes from Face - Detect + /// + /// + /// Specify a certain person in a person group. personId is created in + /// Persons.Create. + /// + /// + /// Using existing personGroupId and personId for fast loading a specified + /// person. personGroupId is created in Person Groups.Create. + /// + /// + /// The cancellation token. + /// + public static async Task VerifyAsync(this IFaceOperations operations, string faceId, string personId, string personGroupId, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.VerifyWithHttpMessagesAsync(faceId, personId, personGroupId, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Detect human faces in an image and returns face locations, and optionally + /// with faceIds, landmarks, and attributes. + /// + /// + /// The operations group for this extension method. + /// + /// + /// + /// + /// A value indicating whether the operation should return faceIds of detected + /// faces. + /// + /// + /// A value indicating whether the operation should return landmarks of the + /// detected faces. + /// + /// + /// Analyze and return the one or more specified face attributes in the + /// comma-separated string like "returnFaceAttributes=age,gender". Supported + /// face attributes include age, gender, headPose, smile, facialHair, glasses + /// and emotion. Note that each face attribute analysis has additional + /// computational and time cost. + /// + public static IList Detect(this IFaceOperations operations, string url, bool? returnFaceId = true, bool? returnFaceLandmarks = false, string returnFaceAttributes = default(string)) + { + return operations.DetectAsync(url, returnFaceId, returnFaceLandmarks, returnFaceAttributes).GetAwaiter().GetResult(); + } + + /// + /// Detect human faces in an image and returns face locations, and optionally + /// with faceIds, landmarks, and attributes. + /// + /// + /// The operations group for this extension method. + /// + /// + /// + /// + /// A value indicating whether the operation should return faceIds of detected + /// faces. + /// + /// + /// A value indicating whether the operation should return landmarks of the + /// detected faces. + /// + /// + /// Analyze and return the one or more specified face attributes in the + /// comma-separated string like "returnFaceAttributes=age,gender". Supported + /// face attributes include age, gender, headPose, smile, facialHair, glasses + /// and emotion. Note that each face attribute analysis has additional + /// computational and time cost. + /// + /// + /// The cancellation token. + /// + public static async Task> DetectAsync(this IFaceOperations operations, string url, bool? returnFaceId = true, bool? returnFaceLandmarks = false, string returnFaceAttributes = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.DetectWithHttpMessagesAsync(url, returnFaceId, returnFaceLandmarks, returnFaceAttributes, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Detect human faces in an image and returns face locations, and optionally + /// with faceIds, landmarks, and attributes. + /// + /// + /// The operations group for this extension method. + /// + /// + /// An image stream. + /// + /// + /// A value indicating whether the operation should return faceIds of detected + /// faces. + /// + /// + /// A value indicating whether the operation should return landmarks of the + /// detected faces. + /// + /// + /// Analyze and return the one or more specified face attributes in the + /// comma-separated string like "returnFaceAttributes=age,gender". Supported + /// face attributes include age, gender, headPose, smile, facialHair, glasses + /// and emotion. Note that each face attribute analysis has additional + /// computational and time cost. + /// + public static IList DetectInStream(this IFaceOperations operations, Stream image, bool? returnFaceId = true, bool? returnFaceLandmarks = false, string returnFaceAttributes = default(string)) + { + return operations.DetectInStreamAsync(image, returnFaceId, returnFaceLandmarks, returnFaceAttributes).GetAwaiter().GetResult(); + } + + /// + /// Detect human faces in an image and returns face locations, and optionally + /// with faceIds, landmarks, and attributes. + /// + /// + /// The operations group for this extension method. + /// + /// + /// An image stream. + /// + /// + /// A value indicating whether the operation should return faceIds of detected + /// faces. + /// + /// + /// A value indicating whether the operation should return landmarks of the + /// detected faces. + /// + /// + /// Analyze and return the one or more specified face attributes in the + /// comma-separated string like "returnFaceAttributes=age,gender". Supported + /// face attributes include age, gender, headPose, smile, facialHair, glasses + /// and emotion. Note that each face attribute analysis has additional + /// computational and time cost. + /// + /// + /// The cancellation token. + /// + public static async Task> DetectInStreamAsync(this IFaceOperations operations, Stream image, bool? returnFaceId = true, bool? returnFaceLandmarks = false, string returnFaceAttributes = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.DetectInStreamWithHttpMessagesAsync(image, returnFaceId, returnFaceLandmarks, returnFaceAttributes, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IFaceAPI.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IFaceAPI.cs new file mode 100644 index 000000000000..381fde544fad --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IFaceAPI.cs @@ -0,0 +1,65 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Models; + using Newtonsoft.Json; + + /// + /// An API for face detection, verification, and identification. + /// + public partial interface IFaceAPI : System.IDisposable + { + /// + /// The base URI of the service. + /// + + /// + /// Gets or sets json serialization settings. + /// + JsonSerializerSettings SerializationSettings { get; } + + /// + /// Gets or sets json deserialization settings. + /// + JsonSerializerSettings DeserializationSettings { get; } + + /// + /// Supported Azure regions for Face Detection endpoints. Possible + /// values include: 'westus', 'westeurope', 'southeastasia', 'eastus2', + /// 'westcentralus' + /// + string AzureRegion1 { get; set; } + + /// + /// Subscription key in header + /// + string SubscriptionKey { get; set; } + + + /// + /// Gets the IFaceOperations. + /// + IFaceOperations Face { get; } + + /// + /// Gets the IPerson. + /// + IPerson Person { get; } + + /// + /// Gets the IPersonGroup. + /// + IPersonGroup PersonGroup { get; } + + /// + /// Gets the IFaceList. + /// + IFaceList FaceList { get; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IFaceList.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IFaceList.cs new file mode 100644 index 000000000000..8daaf8386d93 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IFaceList.cs @@ -0,0 +1,227 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.Rest; + using Models; + using System.Collections; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + + /// + /// FaceList operations. + /// + public partial interface IFaceList + { + /// + /// Create an empty face list. Up to 64 face lists are allowed to exist + /// in one subscription. + /// + /// + /// Id referencing a particular face list. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not + /// exceed 16KB. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task CreateWithHttpMessagesAsync(string faceListId, string name = default(string), string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Retrieve a face list's information. + /// + /// + /// Id referencing a Face List. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetWithHttpMessagesAsync(string faceListId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Update information of a face list. + /// + /// + /// Id referencing a Face List. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not + /// exceed 16KB. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task UpdateWithHttpMessagesAsync(string faceListId, string name = default(string), string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Delete an existing face list according to faceListId. Persisted + /// face images in the face list will also be deleted. + /// + /// + /// Id referencing a Face List. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteWithHttpMessagesAsync(string faceListId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Retrieve information about all existing face lists. Only + /// faceListId, name and userData will be returned. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Delete an existing face from a face list (given by a + /// persisitedFaceId and a faceListId). Persisted image related to the + /// face will also be deleted. + /// + /// + /// faceListId of an existing face list. + /// + /// + /// persistedFaceId of an existing face. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteFaceWithHttpMessagesAsync(string faceListId, string persistedFaceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Add a face to a face list. The input face is specified as an image + /// with a targetFace rectangle. It returns a persistedFaceId + /// representing the added face, and persistedFaceId will not expire. + /// + /// + /// Id referencing a Face List. + /// + /// + /// User-specified data about the face list for any purpose. The + /// maximum length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added into the + /// face list, in the format of "targetFace=left,top,width,height". + /// E.g. "targetFace=10,10,100,100". If there is more than one face in + /// the image, targetFace is required to specify which face to add. No + /// targetFace means there is only one face detected in the entire + /// image. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task AddFaceWithHttpMessagesAsync(string faceListId, string userData = default(string), string targetFace = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Add a face to a face list. The input face is specified as an image + /// with a targetFace rectangle. It returns a persistedFaceId + /// representing the added face, and persistedFaceId will not expire. + /// + /// + /// Id referencing a Face List. + /// + /// + /// User-specified data about the face list for any purpose. The + /// maximum length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added into the + /// face list, in the format of "targetFace=left,top,width,height". + /// E.g. "targetFace=10,10,100,100". If there is more than one face in + /// the image, targetFace is required to specify which face to add. No + /// targetFace means there is only one face detected in the entire + /// image. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task AddFaceFromStreamWithHttpMessagesAsync(string faceListId, string userData = default(string), string targetFace = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IFaceOperations.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IFaceOperations.cs new file mode 100644 index 000000000000..42bb76e30712 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IFaceOperations.cs @@ -0,0 +1,230 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.Rest; + using Models; + using System.Collections; + using System.Collections.Generic; + using System.IO; + using System.Threading; + using System.Threading.Tasks; + + /// + /// FaceOperations operations. + /// + public partial interface IFaceOperations + { + /// + /// Given query face's faceId, find the similar-looking faces from a + /// faceId array or a faceListId. + /// + /// + /// FaceId of the query face. User needs to call Face - Detect first to + /// get a valid faceId. Note that this faceId is not persisted and will + /// expire 24 hours after the detection call + /// + /// + /// An existing user-specified unique candidate face list, created in + /// Face List - Create a Face List. Face list contains a set of + /// persistedFaceIds which are persisted and will never expire. + /// Parameter faceListId and faceIds should not be provided at the same + /// time + /// + /// + /// An array of candidate faceIds. All of them are created by Face - + /// Detect and the faceIds will expire 24 hours after the detection + /// call. + /// + /// + /// The number of top similar faces returned. The valid range is [1, + /// 1000]. + /// + /// + /// Similar face searching mode. It can be "matchPerson" or + /// "matchFace". Possible values include: 'matchPerson', 'matchFace' + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> FindSimilarWithHttpMessagesAsync(string faceId, string faceListId = default(string), IList faceIds = default(IList), int? maxNumOfCandidatesReturned = 20, string mode = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Divide candidate faces into groups based on face similarity. + /// + /// + /// Array of candidate faceId created by Face - Detect. The maximum is + /// 1000 faces + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GroupWithHttpMessagesAsync(IList faceIds, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Identify unknown faces from a person group. + /// + /// + /// personGroupId of the target person group, created by + /// PersonGroups.Create + /// + /// + /// Array of candidate faceId created by Face - Detect. + /// + /// + /// The number of top similar faces returned. + /// + /// + /// Confidence threshold of identification, used to judge whether one + /// face belong to one person. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> IdentifyWithHttpMessagesAsync(string personGroupId, IList faceIds, int? maxNumOfCandidatesReturned = 1, double? confidenceThreshold = default(double?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Verify whether two faces belong to a same person or whether one + /// face belongs to a person. + /// + /// + /// faceId the face, comes from Face - Detect + /// + /// + /// Specify a certain person in a person group. personId is created in + /// Persons.Create. + /// + /// + /// Using existing personGroupId and personId for fast loading a + /// specified person. personGroupId is created in Person Groups.Create. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> VerifyWithHttpMessagesAsync(string faceId, string personId, string personGroupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Detect human faces in an image and returns face locations, and + /// optionally with faceIds, landmarks, and attributes. + /// + /// + /// + /// + /// A value indicating whether the operation should return faceIds of + /// detected faces. + /// + /// + /// A value indicating whether the operation should return landmarks of + /// the detected faces. + /// + /// + /// Analyze and return the one or more specified face attributes in the + /// comma-separated string like "returnFaceAttributes=age,gender". + /// Supported face attributes include age, gender, headPose, smile, + /// facialHair, glasses and emotion. Note that each face attribute + /// analysis has additional computational and time cost. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> DetectWithHttpMessagesAsync(string url, bool? returnFaceId = true, bool? returnFaceLandmarks = false, string returnFaceAttributes = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Detect human faces in an image and returns face locations, and + /// optionally with faceIds, landmarks, and attributes. + /// + /// + /// An image stream. + /// + /// + /// A value indicating whether the operation should return faceIds of + /// detected faces. + /// + /// + /// A value indicating whether the operation should return landmarks of + /// the detected faces. + /// + /// + /// Analyze and return the one or more specified face attributes in the + /// comma-separated string like "returnFaceAttributes=age,gender". + /// Supported face attributes include age, gender, headPose, smile, + /// facialHair, glasses and emotion. Note that each face attribute + /// analysis has additional computational and time cost. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> DetectInStreamWithHttpMessagesAsync(Stream image, bool? returnFaceId = true, bool? returnFaceLandmarks = false, string returnFaceAttributes = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IPerson.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IPerson.cs new file mode 100644 index 000000000000..a62b1d019db2 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IPerson.cs @@ -0,0 +1,307 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.Rest; + using Models; + using System.Collections; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + + /// + /// Person operations. + /// + public partial interface IPerson + { + /// + /// Create a new person in a specified person group. + /// + /// + /// Specifying the target person group to create the person. + /// + /// + /// Display name of the target person. The maximum length is 128. + /// + /// + /// Optional fields for user-provided data attached to a person. Size + /// limit is 16KB. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> CreateWithHttpMessagesAsync(string personGroupId, string name = default(string), string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// List all persons in a person group, and retrieve person information + /// (including personId, name, userData and persistedFaceIds of + /// registered faces of the person). + /// + /// + /// personGroupId of the target person group. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWithHttpMessagesAsync(string personGroupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Delete an existing person from a person group. Persisted face + /// images of the person will also be deleted. + /// + /// + /// Specifying the person group containing the person. + /// + /// + /// The target personId to delete. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteWithHttpMessagesAsync(string personGroupId, string personId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Retrieve a person's information, including registered persisted + /// faces, name and userData. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Specifying the target person. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetWithHttpMessagesAsync(string personGroupId, string personId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Update name or userData of a person. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// personId of the target person. + /// + /// + /// Display name of the target person. The maximum length is 128. + /// + /// + /// Optional fields for user-provided data attached to a person. Size + /// limit is 16KB. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task UpdateWithHttpMessagesAsync(string personGroupId, string personId, string name = default(string), string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Delete a face from a person. Relative image for the persisted face + /// will also be deleted. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Specifying the person that the target persisted face belong to. + /// + /// + /// The persisted face to remove. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteFaceWithHttpMessagesAsync(string personGroupId, string personId, string persistedFaceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Retrieve information about a persisted face (specified by + /// persistedFaceId, personId and its belonging personGroupId). + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Specifying the target person that the face belongs to. + /// + /// + /// The persistedFaceId of the target persisted face of the person. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetFaceWithHttpMessagesAsync(string personGroupId, string personId, string persistedFaceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Update a person persisted face's userData field. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// personId of the target person. + /// + /// + /// persistedFaceId of target face, which is persisted and will not + /// expire. + /// + /// + /// User-provided data attached to the face. The size limit is 1KB + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task UpdateFaceWithHttpMessagesAsync(string personGroupId, string personId, string persistedFaceId, string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Add a representative face to a person for identification. The input + /// face is specified as an image with a targetFace rectangle. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Target person that the face is added to. + /// + /// + /// User-specified data about the target face to add for any purpose. + /// The maximum length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added to a person + /// in the format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the + /// image, targetFace is required to specify which face to add. No + /// targetFace means there is only one face detected in the entire + /// image. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task AddFaceWithHttpMessagesAsync(string personGroupId, string personId, string userData = default(string), string targetFace = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Add a representative face to a person for identification. The input + /// face is specified as an image with a targetFace rectangle. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Target person that the face is added to. + /// + /// + /// User-specified data about the target face to add for any purpose. + /// The maximum length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added to a + /// person, in the format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the + /// image, targetFace is required to specify which face to add. No + /// targetFace means there is only one face detected in the entire + /// image. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task AddFaceFromStreamWithHttpMessagesAsync(string personGroupId, string personId, string userData = default(string), string targetFace = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IPersonGroup.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IPersonGroup.cs new file mode 100644 index 000000000000..cfc666708345 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/IPersonGroup.cs @@ -0,0 +1,189 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.Rest; + using Models; + using System.Collections; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + + /// + /// PersonGroup operations. + /// + public partial interface IPersonGroup + { + /// + /// Create a new person group with specified personGroupId, name and + /// user-provided userData. + /// + /// + /// User-provided personGroupId as a string. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not + /// exceed 16KB. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task CreateWithHttpMessagesAsync(string personGroupId, string name = default(string), string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Delete an existing person group. Persisted face images of all + /// people in the person group will also be deleted. + /// + /// + /// The personGroupId of the person group to be deleted. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task DeleteWithHttpMessagesAsync(string personGroupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Retrieve the information of a person group, including its name and + /// userData. + /// + /// + /// personGroupId of the target person group. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetWithHttpMessagesAsync(string personGroupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Update an existing person group's display name and userData. The + /// properties which does not appear in request body will not be + /// updated. + /// + /// + /// personGroupId of the person group to be updated. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not + /// exceed 16KB. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task UpdateWithHttpMessagesAsync(string personGroupId, string name = default(string), string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Retrieve the training status of a person group (completed or + /// ongoing). + /// + /// + /// personGroupId of target person group. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task> GetTrainingStatusWithHttpMessagesAsync(string personGroupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// List person groups and their information. + /// + /// + /// List person groups from the least personGroupId greater than the + /// "start". + /// + /// + /// The number of person groups to list. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + Task>> ListWithHttpMessagesAsync(string start = default(string), int? top = 1000, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + /// + /// Queue a person group training task, the training task may not be + /// started immediately. + /// + /// + /// Target person group to be trained. + /// + /// + /// The headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + Task TrainWithHttpMessagesAsync(string personGroupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/APIError.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/APIError.cs new file mode 100644 index 000000000000..d72be15ff0fd --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/APIError.cs @@ -0,0 +1,46 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Error information returned by the API + /// + public partial class APIError + { + /// + /// Initializes a new instance of the APIError class. + /// + public APIError() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the APIError class. + /// + public APIError(Error error = default(Error)) + { + Error = error; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "error")] + public Error Error { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/APIErrorException.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/APIErrorException.cs new file mode 100644 index 000000000000..3db32562480e --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/APIErrorException.cs @@ -0,0 +1,58 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + + /// + /// Exception thrown for an invalid response with APIError information. + /// + public class APIErrorException : RestException + { + /// + /// Gets information about the associated HTTP request. + /// + public HttpRequestMessageWrapper Request { get; set; } + + /// + /// Gets information about the associated HTTP response. + /// + public HttpResponseMessageWrapper Response { get; set; } + + /// + /// Gets or sets the body object. + /// + public APIError Body { get; set; } + + /// + /// Initializes a new instance of the APIErrorException class. + /// + public APIErrorException() + { + } + + /// + /// Initializes a new instance of the APIErrorException class. + /// + /// The exception message. + public APIErrorException(string message) + : this(message, null) + { + } + + /// + /// Initializes a new instance of the APIErrorException class. + /// + /// The exception message. + /// Inner exception. + public APIErrorException(string message, System.Exception innerException) + : base(message, innerException) + { + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/AzureRegion.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/AzureRegion.cs new file mode 100644 index 000000000000..bae1015b5d99 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/AzureRegion.cs @@ -0,0 +1,22 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + + /// + /// Defines values for AzureRegion. + /// + public static class AzureRegion + { + public const string Westus = "westus"; + public const string Westeurope = "westeurope"; + public const string Southeastasia = "southeastasia"; + public const string Eastus2 = "eastus2"; + public const string Westcentralus = "westcentralus"; + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/CreateFaceListRequest.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/CreateFaceListRequest.cs new file mode 100644 index 000000000000..34d6fc3624a8 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/CreateFaceListRequest.cs @@ -0,0 +1,83 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Request to create a face list. + /// + public partial class CreateFaceListRequest + { + /// + /// Initializes a new instance of the CreateFaceListRequest class. + /// + public CreateFaceListRequest() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the CreateFaceListRequest class. + /// + /// Name of the face list, maximum length is + /// 128. + /// Optional user defined data for the face + /// list. Length should not exceed 16KB. + public CreateFaceListRequest(string name = default(string), string userData = default(string)) + { + Name = name; + UserData = userData; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets name of the face list, maximum length is 128. + /// + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or sets optional user defined data for the face list. Length + /// should not exceed 16KB. + /// + [JsonProperty(PropertyName = "userData")] + public string UserData { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Name != null) + { + if (Name.Length > 128) + { + throw new ValidationException(ValidationRules.MaxLength, "Name", 128); + } + } + if (UserData != null) + { + if (UserData.Length > 16384) + { + throw new ValidationException(ValidationRules.MaxLength, "UserData", 16384); + } + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/CreatePersonGroupRequest.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/CreatePersonGroupRequest.cs new file mode 100644 index 000000000000..00b0e7bb7110 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/CreatePersonGroupRequest.cs @@ -0,0 +1,83 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Request to create a person group. + /// + public partial class CreatePersonGroupRequest + { + /// + /// Initializes a new instance of the CreatePersonGroupRequest class. + /// + public CreatePersonGroupRequest() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the CreatePersonGroupRequest class. + /// + /// Name of the face list, maximum length is + /// 128. + /// Optional user defined data for the face + /// list. Length should not exceed 16KB. + public CreatePersonGroupRequest(string name = default(string), string userData = default(string)) + { + Name = name; + UserData = userData; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets name of the face list, maximum length is 128. + /// + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or sets optional user defined data for the face list. Length + /// should not exceed 16KB. + /// + [JsonProperty(PropertyName = "userData")] + public string UserData { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Name != null) + { + if (Name.Length > 128) + { + throw new ValidationException(ValidationRules.MaxLength, "Name", 128); + } + } + if (UserData != null) + { + if (UserData.Length > 16384) + { + throw new ValidationException(ValidationRules.MaxLength, "UserData", 16384); + } + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/CreatePersonRequest.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/CreatePersonRequest.cs new file mode 100644 index 000000000000..85565371fc9c --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/CreatePersonRequest.cs @@ -0,0 +1,84 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Request to create a person object. + /// + public partial class CreatePersonRequest + { + /// + /// Initializes a new instance of the CreatePersonRequest class. + /// + public CreatePersonRequest() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the CreatePersonRequest class. + /// + /// Display name of the target person. The maximum + /// length is 128. + /// Optional fields for user-provided data + /// attached to a person. Size limit is 16KB. + public CreatePersonRequest(string name = default(string), string userData = default(string)) + { + Name = name; + UserData = userData; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets display name of the target person. The maximum length + /// is 128. + /// + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or sets optional fields for user-provided data attached to a + /// person. Size limit is 16KB. + /// + [JsonProperty(PropertyName = "userData")] + public string UserData { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Name != null) + { + if (Name.Length > 128) + { + throw new ValidationException(ValidationRules.MaxLength, "Name", 128); + } + } + if (UserData != null) + { + if (UserData.Length > 16384) + { + throw new ValidationException(ValidationRules.MaxLength, "UserData", 16384); + } + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/CreatePersonResult.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/CreatePersonResult.cs new file mode 100644 index 000000000000..31dce8c6b5ca --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/CreatePersonResult.cs @@ -0,0 +1,62 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Result of creating person. + /// + public partial class CreatePersonResult + { + /// + /// Initializes a new instance of the CreatePersonResult class. + /// + public CreatePersonResult() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the CreatePersonResult class. + /// + /// personID of the new created person. + public CreatePersonResult(string personId) + { + PersonId = personId; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets personID of the new created person. + /// + [JsonProperty(PropertyName = "personId")] + public string PersonId { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (PersonId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "PersonId"); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/DetectedFace.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/DetectedFace.cs new file mode 100644 index 000000000000..2d66bad5ef6b --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/DetectedFace.cs @@ -0,0 +1,87 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Detected Face object. + /// + public partial class DetectedFace + { + /// + /// Initializes a new instance of the DetectedFace class. + /// + public DetectedFace() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the DetectedFace class. + /// + public DetectedFace(FaceRectangle faceRectangle, string faceId = default(string), FaceLandmarks faceLandmarks = default(FaceLandmarks)) + { + FaceId = faceId; + FaceRectangle = faceRectangle; + FaceLandmarks = faceLandmarks; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "faceId")] + public string FaceId { get; set; } + + /// + /// + [JsonProperty(PropertyName = "faceRectangle")] + public FaceRectangle FaceRectangle { get; set; } + + /// + /// + [JsonProperty(PropertyName = "faceLandmarks")] + public FaceLandmarks FaceLandmarks { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (FaceRectangle == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "FaceRectangle"); + } + if (FaceId != null) + { + if (FaceId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "FaceId", 64); + } + } + if (FaceRectangle != null) + { + FaceRectangle.Validate(); + } + if (FaceLandmarks != null) + { + FaceLandmarks.Validate(); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/EmotionProperties.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/EmotionProperties.cs new file mode 100644 index 000000000000..32ff00e6800e --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/EmotionProperties.cs @@ -0,0 +1,162 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Properties describing facial emotion. + /// + public partial class EmotionProperties + { + /// + /// Initializes a new instance of the EmotionProperties class. + /// + public EmotionProperties() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the EmotionProperties class. + /// + public EmotionProperties(double? anger = default(double?), double? contempt = default(double?), double? disgust = default(double?), double? fear = default(double?), double? happiness = default(double?), double? neutral = default(double?), double? sadness = default(double?), double? surprise = default(double?)) + { + Anger = anger; + Contempt = contempt; + Disgust = disgust; + Fear = fear; + Happiness = happiness; + Neutral = neutral; + Sadness = sadness; + Surprise = surprise; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "anger")] + public double? Anger { get; set; } + + /// + /// + [JsonProperty(PropertyName = "contempt")] + public double? Contempt { get; set; } + + /// + /// + [JsonProperty(PropertyName = "disgust")] + public double? Disgust { get; set; } + + /// + /// + [JsonProperty(PropertyName = "fear")] + public double? Fear { get; set; } + + /// + /// + [JsonProperty(PropertyName = "happiness")] + public double? Happiness { get; set; } + + /// + /// + [JsonProperty(PropertyName = "neutral")] + public double? Neutral { get; set; } + + /// + /// + [JsonProperty(PropertyName = "sadness")] + public double? Sadness { get; set; } + + /// + /// + [JsonProperty(PropertyName = "surprise")] + public double? Surprise { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Anger > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Anger", 1); + } + if (Anger < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Anger", 0); + } + if (Contempt > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Contempt", 1); + } + if (Contempt < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Contempt", 0); + } + if (Disgust > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Disgust", 1); + } + if (Disgust < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Disgust", 0); + } + if (Fear > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Fear", 1); + } + if (Fear < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Fear", 0); + } + if (Happiness > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Happiness", 1); + } + if (Happiness < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Happiness", 0); + } + if (Neutral > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Neutral", 1); + } + if (Neutral < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Neutral", 0); + } + if (Sadness > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Sadness", 1); + } + if (Sadness < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Sadness", 0); + } + if (Surprise > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Surprise", 1); + } + if (Surprise < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Surprise", 0); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/Error.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/Error.cs new file mode 100644 index 000000000000..566c578aa0c5 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/Error.cs @@ -0,0 +1,52 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Error body. + /// + public partial class Error + { + /// + /// Initializes a new instance of the Error class. + /// + public Error() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the Error class. + /// + public Error(string code = default(string), string message = default(string)) + { + Code = code; + Message = message; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "code")] + public string Code { get; set; } + + /// + /// + [JsonProperty(PropertyName = "message")] + public string Message { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FaceAttributes.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FaceAttributes.cs new file mode 100644 index 000000000000..b6c46e50f266 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FaceAttributes.cs @@ -0,0 +1,125 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Face Attributes + /// + public partial class FaceAttributes + { + /// + /// Initializes a new instance of the FaceAttributes class. + /// + public FaceAttributes() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the FaceAttributes class. + /// + /// Age in years + /// Gender: male or female. Possible values + /// include: 'male', 'female' + /// Smile intensity, a number between [0,1] + /// + /// Glasses type. Possible values are + /// 'noGlasses', 'readingGlasses', 'sunglasses', 'swimmingGoggles'. + /// Possible values include: 'noGlasses', 'readingGlasses', + /// 'sunglasses', 'swimmingGoggles' + public FaceAttributes(double? age = default(double?), string gender = default(string), double? smile = default(double?), string glasses = default(string), FacialHairProperties facialHair = default(FacialHairProperties), HeadPoseProperties headPose = default(HeadPoseProperties), EmotionProperties emotion = default(EmotionProperties)) + { + Age = age; + Gender = gender; + Smile = smile; + Glasses = glasses; + FacialHair = facialHair; + HeadPose = headPose; + Emotion = emotion; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets age in years + /// + [JsonProperty(PropertyName = "age")] + public double? Age { get; set; } + + /// + /// Gets or sets gender: male or female. Possible values include: + /// 'male', 'female' + /// + [JsonProperty(PropertyName = "gender")] + public string Gender { get; set; } + + /// + /// Gets or sets smile intensity, a number between [0,1] + /// + [JsonProperty(PropertyName = "smile")] + public double? Smile { get; set; } + + /// + /// Gets or sets glasses type. Possible values are 'noGlasses', + /// 'readingGlasses', 'sunglasses', 'swimmingGoggles'. Possible values + /// include: 'noGlasses', 'readingGlasses', 'sunglasses', + /// 'swimmingGoggles' + /// + [JsonProperty(PropertyName = "glasses")] + public string Glasses { get; set; } + + /// + /// + [JsonProperty(PropertyName = "facialHair")] + public FacialHairProperties FacialHair { get; set; } + + /// + /// + [JsonProperty(PropertyName = "headPose")] + public HeadPoseProperties HeadPose { get; set; } + + /// + /// + [JsonProperty(PropertyName = "emotion")] + public EmotionProperties Emotion { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Smile > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Smile", 1); + } + if (Smile < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Smile", 0); + } + if (FacialHair != null) + { + FacialHair.Validate(); + } + if (Emotion != null) + { + Emotion.Validate(); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FaceLandmarks.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FaceLandmarks.cs new file mode 100644 index 000000000000..a9af41c0f227 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FaceLandmarks.cs @@ -0,0 +1,320 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Newtonsoft.Json; + using System.Linq; + + /// + /// A collection of 27-point face landmarks pointing to the important + /// positions of face components. + /// + public partial class FaceLandmarks + { + /// + /// Initializes a new instance of the FaceLandmarks class. + /// + public FaceLandmarks() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the FaceLandmarks class. + /// + public FaceLandmarks(Position pupilLeft = default(Position), Position pupilRight = default(Position), Position noseTip = default(Position), Position mouthLeft = default(Position), Position mouthRight = default(Position), Position eyebrowLeftOuter = default(Position), Position eyebrowLeftInner = default(Position), Position eyeLeftOuter = default(Position), Position eyeLeftTop = default(Position), Position eyeLeftBottom = default(Position), Position eyeLeftInner = default(Position), Position eyebrowRightInner = default(Position), Position eyebrowRightOuter = default(Position), Position eyeRightInner = default(Position), Position eyeRightTop = default(Position), Position eyeRightBottom = default(Position), Position eyeRightOuter = default(Position), Position noseRootLeft = default(Position), Position noseRootRight = default(Position), Position noseLeftAlarTop = default(Position), Position noseRightAlarTop = default(Position), Position noseLeftAlarOutTip = default(Position), Position noseRightAlarOutTip = default(Position), Position upperLipTop = default(Position), Position upperLipBottom = default(Position), Position underLipTop = default(Position), Position underLipBottom = default(Position)) + { + PupilLeft = pupilLeft; + PupilRight = pupilRight; + NoseTip = noseTip; + MouthLeft = mouthLeft; + MouthRight = mouthRight; + EyebrowLeftOuter = eyebrowLeftOuter; + EyebrowLeftInner = eyebrowLeftInner; + EyeLeftOuter = eyeLeftOuter; + EyeLeftTop = eyeLeftTop; + EyeLeftBottom = eyeLeftBottom; + EyeLeftInner = eyeLeftInner; + EyebrowRightInner = eyebrowRightInner; + EyebrowRightOuter = eyebrowRightOuter; + EyeRightInner = eyeRightInner; + EyeRightTop = eyeRightTop; + EyeRightBottom = eyeRightBottom; + EyeRightOuter = eyeRightOuter; + NoseRootLeft = noseRootLeft; + NoseRootRight = noseRootRight; + NoseLeftAlarTop = noseLeftAlarTop; + NoseRightAlarTop = noseRightAlarTop; + NoseLeftAlarOutTip = noseLeftAlarOutTip; + NoseRightAlarOutTip = noseRightAlarOutTip; + UpperLipTop = upperLipTop; + UpperLipBottom = upperLipBottom; + UnderLipTop = underLipTop; + UnderLipBottom = underLipBottom; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "pupilLeft")] + public Position PupilLeft { get; set; } + + /// + /// + [JsonProperty(PropertyName = "pupilRight")] + public Position PupilRight { get; set; } + + /// + /// + [JsonProperty(PropertyName = "noseTip")] + public Position NoseTip { get; set; } + + /// + /// + [JsonProperty(PropertyName = "mouthLeft")] + public Position MouthLeft { get; set; } + + /// + /// + [JsonProperty(PropertyName = "mouthRight")] + public Position MouthRight { get; set; } + + /// + /// + [JsonProperty(PropertyName = "eyebrowLeftOuter")] + public Position EyebrowLeftOuter { get; set; } + + /// + /// + [JsonProperty(PropertyName = "eyebrowLeftInner")] + public Position EyebrowLeftInner { get; set; } + + /// + /// + [JsonProperty(PropertyName = "eyeLeftOuter")] + public Position EyeLeftOuter { get; set; } + + /// + /// + [JsonProperty(PropertyName = "eyeLeftTop")] + public Position EyeLeftTop { get; set; } + + /// + /// + [JsonProperty(PropertyName = "eyeLeftBottom")] + public Position EyeLeftBottom { get; set; } + + /// + /// + [JsonProperty(PropertyName = "eyeLeftInner")] + public Position EyeLeftInner { get; set; } + + /// + /// + [JsonProperty(PropertyName = "eyebrowRightInner")] + public Position EyebrowRightInner { get; set; } + + /// + /// + [JsonProperty(PropertyName = "eyebrowRightOuter")] + public Position EyebrowRightOuter { get; set; } + + /// + /// + [JsonProperty(PropertyName = "eyeRightInner")] + public Position EyeRightInner { get; set; } + + /// + /// + [JsonProperty(PropertyName = "eyeRightTop")] + public Position EyeRightTop { get; set; } + + /// + /// + [JsonProperty(PropertyName = "eyeRightBottom")] + public Position EyeRightBottom { get; set; } + + /// + /// + [JsonProperty(PropertyName = "eyeRightOuter")] + public Position EyeRightOuter { get; set; } + + /// + /// + [JsonProperty(PropertyName = "noseRootLeft")] + public Position NoseRootLeft { get; set; } + + /// + /// + [JsonProperty(PropertyName = "noseRootRight")] + public Position NoseRootRight { get; set; } + + /// + /// + [JsonProperty(PropertyName = "noseLeftAlarTop")] + public Position NoseLeftAlarTop { get; set; } + + /// + /// + [JsonProperty(PropertyName = "noseRightAlarTop")] + public Position NoseRightAlarTop { get; set; } + + /// + /// + [JsonProperty(PropertyName = "noseLeftAlarOutTip")] + public Position NoseLeftAlarOutTip { get; set; } + + /// + /// + [JsonProperty(PropertyName = "noseRightAlarOutTip")] + public Position NoseRightAlarOutTip { get; set; } + + /// + /// + [JsonProperty(PropertyName = "upperLipTop")] + public Position UpperLipTop { get; set; } + + /// + /// + [JsonProperty(PropertyName = "upperLipBottom")] + public Position UpperLipBottom { get; set; } + + /// + /// + [JsonProperty(PropertyName = "underLipTop")] + public Position UnderLipTop { get; set; } + + /// + /// + [JsonProperty(PropertyName = "underLipBottom")] + public Position UnderLipBottom { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (PupilLeft != null) + { + PupilLeft.Validate(); + } + if (PupilRight != null) + { + PupilRight.Validate(); + } + if (NoseTip != null) + { + NoseTip.Validate(); + } + if (MouthLeft != null) + { + MouthLeft.Validate(); + } + if (MouthRight != null) + { + MouthRight.Validate(); + } + if (EyebrowLeftOuter != null) + { + EyebrowLeftOuter.Validate(); + } + if (EyebrowLeftInner != null) + { + EyebrowLeftInner.Validate(); + } + if (EyeLeftOuter != null) + { + EyeLeftOuter.Validate(); + } + if (EyeLeftTop != null) + { + EyeLeftTop.Validate(); + } + if (EyeLeftBottom != null) + { + EyeLeftBottom.Validate(); + } + if (EyeLeftInner != null) + { + EyeLeftInner.Validate(); + } + if (EyebrowRightInner != null) + { + EyebrowRightInner.Validate(); + } + if (EyebrowRightOuter != null) + { + EyebrowRightOuter.Validate(); + } + if (EyeRightInner != null) + { + EyeRightInner.Validate(); + } + if (EyeRightTop != null) + { + EyeRightTop.Validate(); + } + if (EyeRightBottom != null) + { + EyeRightBottom.Validate(); + } + if (EyeRightOuter != null) + { + EyeRightOuter.Validate(); + } + if (NoseRootLeft != null) + { + NoseRootLeft.Validate(); + } + if (NoseRootRight != null) + { + NoseRootRight.Validate(); + } + if (NoseLeftAlarTop != null) + { + NoseLeftAlarTop.Validate(); + } + if (NoseRightAlarTop != null) + { + NoseRightAlarTop.Validate(); + } + if (NoseLeftAlarOutTip != null) + { + NoseLeftAlarOutTip.Validate(); + } + if (NoseRightAlarOutTip != null) + { + NoseRightAlarOutTip.Validate(); + } + if (UpperLipTop != null) + { + UpperLipTop.Validate(); + } + if (UpperLipBottom != null) + { + UpperLipBottom.Validate(); + } + if (UnderLipTop != null) + { + UnderLipTop.Validate(); + } + if (UnderLipBottom != null) + { + UnderLipBottom.Validate(); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FaceRectangle.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FaceRectangle.cs new file mode 100644 index 000000000000..f7ee305ce802 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FaceRectangle.cs @@ -0,0 +1,87 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Newtonsoft.Json; + using System.Linq; + + /// + /// A rectangle within which a face can be found + /// + public partial class FaceRectangle + { + /// + /// Initializes a new instance of the FaceRectangle class. + /// + public FaceRectangle() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the FaceRectangle class. + /// + /// The width of the rectangle, in pixels. + /// The height of the rectangle, in + /// pixels. + /// The distance from the left edge if the image to + /// the left edge of the rectangle, in pixels. + /// The distance from the top edge if the image to + /// the top edge of the rectangle, in pixels. + public FaceRectangle(int width, int height, int left, int top) + { + Width = width; + Height = height; + Left = left; + Top = top; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets the width of the rectangle, in pixels. + /// + [JsonProperty(PropertyName = "width")] + public int Width { get; set; } + + /// + /// Gets or sets the height of the rectangle, in pixels. + /// + [JsonProperty(PropertyName = "height")] + public int Height { get; set; } + + /// + /// Gets or sets the distance from the left edge if the image to the + /// left edge of the rectangle, in pixels. + /// + [JsonProperty(PropertyName = "left")] + public int Left { get; set; } + + /// + /// Gets or sets the distance from the top edge if the image to the top + /// edge of the rectangle, in pixels. + /// + [JsonProperty(PropertyName = "top")] + public int Top { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + //Nothing to validate + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FacialHairProperties.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FacialHairProperties.cs new file mode 100644 index 000000000000..584608af5922 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FacialHairProperties.cs @@ -0,0 +1,92 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Properties describing facial hair attributes. + /// + public partial class FacialHairProperties + { + /// + /// Initializes a new instance of the FacialHairProperties class. + /// + public FacialHairProperties() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the FacialHairProperties class. + /// + public FacialHairProperties(double? mustache = default(double?), double? beard = default(double?), double? sideburns = default(double?)) + { + Mustache = mustache; + Beard = beard; + Sideburns = sideburns; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "mustache")] + public double? Mustache { get; set; } + + /// + /// + [JsonProperty(PropertyName = "beard")] + public double? Beard { get; set; } + + /// + /// + [JsonProperty(PropertyName = "sideburns")] + public double? Sideburns { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Mustache > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Mustache", 1); + } + if (Mustache < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Mustache", 0); + } + if (Beard > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Beard", 1); + } + if (Beard < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Beard", 0); + } + if (Sideburns > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Sideburns", 1); + } + if (Sideburns < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Sideburns", 0); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FindSimilarRequest.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FindSimilarRequest.cs new file mode 100644 index 000000000000..95e803005ae7 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/FindSimilarRequest.cs @@ -0,0 +1,151 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Request body for find similar operation. + /// + public partial class FindSimilarRequest + { + /// + /// Initializes a new instance of the FindSimilarRequest class. + /// + public FindSimilarRequest() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the FindSimilarRequest class. + /// + /// FaceId of the query face. User needs to call + /// Face - Detect first to get a valid faceId. Note that this faceId is + /// not persisted and will expire 24 hours after the detection + /// call + /// An existing user-specified unique + /// candidate face list, created in Face List - Create a Face List. + /// Face list contains a set of persistedFaceIds which are persisted + /// and will never expire. Parameter faceListId and faceIds should not + /// be provided at the same time + /// An array of candidate faceIds. All of them + /// are created by Face - Detect and the faceIds will expire 24 hours + /// after the detection call. + /// The number of top similar + /// faces returned. The valid range is [1, 1000]. + /// Similar face searching mode. It can be + /// "matchPerson" or "matchFace". Possible values include: + /// 'matchPerson', 'matchFace' + public FindSimilarRequest(string faceId, string faceListId = default(string), IList faceIds = default(IList), int? maxNumOfCandidatesReturned = default(int?), string mode = default(string)) + { + FaceId = faceId; + FaceListId = faceListId; + FaceIds = faceIds; + MaxNumOfCandidatesReturned = maxNumOfCandidatesReturned; + Mode = mode; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets faceId of the query face. User needs to call Face - + /// Detect first to get a valid faceId. Note that this faceId is not + /// persisted and will expire 24 hours after the detection call + /// + [JsonProperty(PropertyName = "faceId")] + public string FaceId { get; set; } + + /// + /// Gets or sets an existing user-specified unique candidate face list, + /// created in Face List - Create a Face List. Face list contains a set + /// of persistedFaceIds which are persisted and will never expire. + /// Parameter faceListId and faceIds should not be provided at the same + /// time + /// + [JsonProperty(PropertyName = "faceListId")] + public string FaceListId { get; set; } + + /// + /// Gets or sets an array of candidate faceIds. All of them are created + /// by Face - Detect and the faceIds will expire 24 hours after the + /// detection call. + /// + [JsonProperty(PropertyName = "faceIds")] + public IList FaceIds { get; set; } + + /// + /// Gets or sets the number of top similar faces returned. The valid + /// range is [1, 1000]. + /// + [JsonProperty(PropertyName = "maxNumOfCandidatesReturned")] + public int? MaxNumOfCandidatesReturned { get; set; } + + /// + /// Gets or sets similar face searching mode. It can be "matchPerson" + /// or "matchFace". Possible values include: 'matchPerson', 'matchFace' + /// + [JsonProperty(PropertyName = "mode")] + public string Mode { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (FaceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "FaceId"); + } + if (FaceId != null) + { + if (FaceId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "FaceId", 64); + } + } + if (FaceListId != null) + { + if (FaceListId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "FaceListId", 64); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(FaceListId, "^[a-z0-9-_]+$")) + { + throw new ValidationException(ValidationRules.Pattern, "FaceListId", "^[a-z0-9-_]+$"); + } + } + if (FaceIds != null) + { + if (FaceIds.Count > 1000) + { + throw new ValidationException(ValidationRules.MaxItems, "FaceIds", 1000); + } + } + if (MaxNumOfCandidatesReturned > 1000) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "MaxNumOfCandidatesReturned", 1000); + } + if (MaxNumOfCandidatesReturned < 1) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "MaxNumOfCandidatesReturned", 1); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/GetFaceListResult.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/GetFaceListResult.cs new file mode 100644 index 000000000000..8ba762f2210e --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/GetFaceListResult.cs @@ -0,0 +1,105 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Result of the GetFaceList operation. + /// + public partial class GetFaceListResult + { + /// + /// Initializes a new instance of the GetFaceListResult class. + /// + public GetFaceListResult() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the GetFaceListResult class. + /// + /// faceListId of the target face + /// list. + /// Face list's display name. + /// User-provided data attached to this face + /// list. + public GetFaceListResult(string faceListId, string name = default(string), string userData = default(string)) + { + FaceListId = faceListId; + Name = name; + UserData = userData; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets faceListId of the target face list. + /// + [JsonProperty(PropertyName = "faceListId")] + public string FaceListId { get; set; } + + /// + /// Gets or sets face list's display name. + /// + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or sets user-provided data attached to this face list. + /// + [JsonProperty(PropertyName = "userData")] + public string UserData { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (FaceListId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "FaceListId"); + } + if (FaceListId != null) + { + if (FaceListId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "FaceListId", 64); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(FaceListId, "^[a-z0-9-_]+$")) + { + throw new ValidationException(ValidationRules.Pattern, "FaceListId", "^[a-z0-9-_]+$"); + } + } + if (Name != null) + { + if (Name.Length > 128) + { + throw new ValidationException(ValidationRules.MaxLength, "Name", 128); + } + } + if (UserData != null) + { + if (UserData.Length > 16384) + { + throw new ValidationException(ValidationRules.MaxLength, "UserData", 16384); + } + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/GroupRequest.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/GroupRequest.cs new file mode 100644 index 000000000000..426fef0c5f5a --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/GroupRequest.cs @@ -0,0 +1,73 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Request body for group request. + /// + public partial class GroupRequest + { + /// + /// Initializes a new instance of the GroupRequest class. + /// + public GroupRequest() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the GroupRequest class. + /// + /// Array of candidate faceId created by Face - + /// Detect. The maximum is 1000 faces + public GroupRequest(IList faceIds) + { + FaceIds = faceIds; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets array of candidate faceId created by Face - Detect. + /// The maximum is 1000 faces + /// + [JsonProperty(PropertyName = "faceIds")] + public IList FaceIds { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (FaceIds == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "FaceIds"); + } + if (FaceIds != null) + { + if (FaceIds.Count > 1000) + { + throw new ValidationException(ValidationRules.MaxItems, "FaceIds", 1000); + } + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/GroupResponse.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/GroupResponse.cs new file mode 100644 index 000000000000..4c93668bfd58 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/GroupResponse.cs @@ -0,0 +1,76 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// An array of face groups based on face similarity. + /// + public partial class GroupResponse + { + /// + /// Initializes a new instance of the GroupResponse class. + /// + public GroupResponse() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the GroupResponse class. + /// + /// A partition of the original faces based on + /// face similarity. Groups are ranked by number of faces + /// Face ids array of faces that cannot find + /// any similar faces from original faces. + public GroupResponse(IList> groups, IList messyGroup = default(IList)) + { + Groups = groups; + MessyGroup = messyGroup; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets a partition of the original faces based on face + /// similarity. Groups are ranked by number of faces + /// + [JsonProperty(PropertyName = "groups")] + public IList> Groups { get; set; } + + /// + /// Gets or sets face ids array of faces that cannot find any similar + /// faces from original faces. + /// + [JsonProperty(PropertyName = "messyGroup")] + public IList MessyGroup { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Groups == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Groups"); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/HeadPoseProperties.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/HeadPoseProperties.cs new file mode 100644 index 000000000000..7cb1bc37aa9b --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/HeadPoseProperties.cs @@ -0,0 +1,58 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Properties indicating head pose of the face. + /// + public partial class HeadPoseProperties + { + /// + /// Initializes a new instance of the HeadPoseProperties class. + /// + public HeadPoseProperties() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the HeadPoseProperties class. + /// + public HeadPoseProperties(double? roll = default(double?), double? yaw = default(double?), double? pitch = default(double?)) + { + Roll = roll; + Yaw = yaw; + Pitch = pitch; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "roll")] + public double? Roll { get; set; } + + /// + /// + [JsonProperty(PropertyName = "yaw")] + public double? Yaw { get; set; } + + /// + /// + [JsonProperty(PropertyName = "pitch")] + public double? Pitch { get; set; } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/IdentifyRequest.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/IdentifyRequest.cs new file mode 100644 index 000000000000..1772ab5208ee --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/IdentifyRequest.cs @@ -0,0 +1,122 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Request body for identify face operation. + /// + public partial class IdentifyRequest + { + /// + /// Initializes a new instance of the IdentifyRequest class. + /// + public IdentifyRequest() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the IdentifyRequest class. + /// + /// personGroupId of the target person + /// group, created by PersonGroups.Create + /// Array of candidate faceId created by Face - + /// Detect. + /// The number of top similar + /// faces returned. + /// Confidence threshold of + /// identification, used to judge whether one face belong to one + /// person. + public IdentifyRequest(string personGroupId, IList faceIds, int? maxNumOfCandidatesReturned = default(int?), double? confidenceThreshold = default(double?)) + { + PersonGroupId = personGroupId; + FaceIds = faceIds; + MaxNumOfCandidatesReturned = maxNumOfCandidatesReturned; + ConfidenceThreshold = confidenceThreshold; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets personGroupId of the target person group, created by + /// PersonGroups.Create + /// + [JsonProperty(PropertyName = "personGroupId")] + public string PersonGroupId { get; set; } + + /// + /// Gets or sets array of candidate faceId created by Face - Detect. + /// + [JsonProperty(PropertyName = "faceIds")] + public IList FaceIds { get; set; } + + /// + /// Gets or sets the number of top similar faces returned. + /// + [JsonProperty(PropertyName = "maxNumOfCandidatesReturned")] + public int? MaxNumOfCandidatesReturned { get; set; } + + /// + /// Gets or sets confidence threshold of identification, used to judge + /// whether one face belong to one person. + /// + [JsonProperty(PropertyName = "confidenceThreshold")] + public double? ConfidenceThreshold { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (PersonGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "PersonGroupId"); + } + if (FaceIds == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "FaceIds"); + } + if (FaceIds != null) + { + if (FaceIds.Count > 1000) + { + throw new ValidationException(ValidationRules.MaxItems, "FaceIds", 1000); + } + } + if (MaxNumOfCandidatesReturned > 1000) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "MaxNumOfCandidatesReturned", 1000); + } + if (MaxNumOfCandidatesReturned < 1) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "MaxNumOfCandidatesReturned", 1); + } + if (ConfidenceThreshold > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "ConfidenceThreshold", 1); + } + if (ConfidenceThreshold < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "ConfidenceThreshold", 0); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/IdentifyResultCandidate.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/IdentifyResultCandidate.cs new file mode 100644 index 000000000000..e07214df215d --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/IdentifyResultCandidate.cs @@ -0,0 +1,80 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// All possible faces that may qualify. + /// + public partial class IdentifyResultCandidate + { + /// + /// Initializes a new instance of the IdentifyResultCandidate class. + /// + public IdentifyResultCandidate() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the IdentifyResultCandidate class. + /// + /// Id of candidate + /// Confidence level in the candidate person: + /// a float number between 0.0 and 1.0. + public IdentifyResultCandidate(string personId, double confidence) + { + PersonId = personId; + Confidence = confidence; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets id of candidate + /// + [JsonProperty(PropertyName = "personId")] + public string PersonId { get; set; } + + /// + /// Gets or sets confidence level in the candidate person: a float + /// number between 0.0 and 1.0. + /// + [JsonProperty(PropertyName = "confidence")] + public double Confidence { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (PersonId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "PersonId"); + } + if (Confidence > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Confidence", 1); + } + if (Confidence < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Confidence", 0); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/IdentifyResultItem.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/IdentifyResultItem.cs new file mode 100644 index 000000000000..5ab9f1a9c8d4 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/IdentifyResultItem.cs @@ -0,0 +1,91 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Response body for identify face operation. + /// + public partial class IdentifyResultItem + { + /// + /// Initializes a new instance of the IdentifyResultItem class. + /// + public IdentifyResultItem() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the IdentifyResultItem class. + /// + /// faceId of the query face + public IdentifyResultItem(string faceId, IList candidates) + { + FaceId = faceId; + Candidates = candidates; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets faceId of the query face + /// + [JsonProperty(PropertyName = "faceId")] + public string FaceId { get; set; } + + /// + /// + [JsonProperty(PropertyName = "candidates")] + public IList Candidates { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (FaceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "FaceId"); + } + if (Candidates == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Candidates"); + } + if (FaceId != null) + { + if (FaceId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "FaceId", 64); + } + } + if (Candidates != null) + { + foreach (var element in Candidates) + { + if (element != null) + { + element.Validate(); + } + } + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/ImageUrl.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/ImageUrl.cs new file mode 100644 index 000000000000..97766b424e12 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/ImageUrl.cs @@ -0,0 +1,57 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + public partial class ImageUrl + { + /// + /// Initializes a new instance of the ImageUrl class. + /// + public ImageUrl() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the ImageUrl class. + /// + public ImageUrl(string url) + { + Url = url; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// + [JsonProperty(PropertyName = "url")] + public string Url { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Url == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Url"); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/PersonFaceResult.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/PersonFaceResult.cs new file mode 100644 index 000000000000..68e76d97c6d8 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/PersonFaceResult.cs @@ -0,0 +1,76 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// PersonFace object. + /// + public partial class PersonFaceResult + { + /// + /// Initializes a new instance of the PersonFaceResult class. + /// + public PersonFaceResult() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the PersonFaceResult class. + /// + /// The persistedFaceId of the target + /// face, which is persisted and will not expire. Different from faceId + /// created by Face - Detect and will expire in 24 hours after the + /// detection call. + /// User-provided data attached to the + /// face. + public PersonFaceResult(string persistedFaceId, string userData = default(string)) + { + PersistedFaceId = persistedFaceId; + UserData = userData; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets the persistedFaceId of the target face, which is + /// persisted and will not expire. Different from faceId created by + /// Face - Detect and will expire in 24 hours after the detection call. + /// + [JsonProperty(PropertyName = "persistedFaceId")] + public string PersistedFaceId { get; set; } + + /// + /// Gets or sets user-provided data attached to the face. + /// + [JsonProperty(PropertyName = "userData")] + public string UserData { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (PersistedFaceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "PersistedFaceId"); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/PersonGroupResult.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/PersonGroupResult.cs new file mode 100644 index 000000000000..4950ac12fd5f --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/PersonGroupResult.cs @@ -0,0 +1,101 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Person group object. + /// + public partial class PersonGroupResult + { + /// + /// Initializes a new instance of the PersonGroupResult class. + /// + public PersonGroupResult() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the PersonGroupResult class. + /// + /// faceListId of the target face + /// list. + /// Face list's display name. + /// User-provided data attached to this face + /// list. + public PersonGroupResult(string personGroupId, string name = default(string), string userData = default(string)) + { + PersonGroupId = personGroupId; + Name = name; + UserData = userData; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets faceListId of the target face list. + /// + [JsonProperty(PropertyName = "personGroupId")] + public string PersonGroupId { get; set; } + + /// + /// Gets or sets face list's display name. + /// + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or sets user-provided data attached to this face list. + /// + [JsonProperty(PropertyName = "userData")] + public string UserData { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (PersonGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "PersonGroupId"); + } + if (PersonGroupId != null) + { + if (PersonGroupId.Length > 128) + { + throw new ValidationException(ValidationRules.MaxLength, "PersonGroupId", 128); + } + } + if (Name != null) + { + if (Name.Length > 128) + { + throw new ValidationException(ValidationRules.MaxLength, "Name", 128); + } + } + if (UserData != null) + { + if (UserData.Length > 16384) + { + throw new ValidationException(ValidationRules.MaxLength, "UserData", 16384); + } + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/PersonResult.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/PersonResult.cs new file mode 100644 index 000000000000..8eb9097bffd0 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/PersonResult.cs @@ -0,0 +1,93 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.Linq; + + /// + /// Person object. + /// + public partial class PersonResult + { + /// + /// Initializes a new instance of the PersonResult class. + /// + public PersonResult() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the PersonResult class. + /// + /// personId of the target face list. + /// persistedFaceIds of registered faces + /// in the person. These persistedFaceIds are returned from Person - + /// Add a Person Face, and will not expire. + /// Person's display name. + /// User-provided data attached to this + /// person. + public PersonResult(string personId, IList persistedFaceIds = default(IList), string name = default(string), string userData = default(string)) + { + PersonId = personId; + PersistedFaceIds = persistedFaceIds; + Name = name; + UserData = userData; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets personId of the target face list. + /// + [JsonProperty(PropertyName = "personId")] + public string PersonId { get; set; } + + /// + /// Gets or sets persistedFaceIds of registered faces in the person. + /// These persistedFaceIds are returned from Person - Add a Person + /// Face, and will not expire. + /// + [JsonProperty(PropertyName = "persistedFaceIds")] + public IList PersistedFaceIds { get; set; } + + /// + /// Gets or sets person's display name. + /// + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + /// + /// Gets or sets user-provided data attached to this person. + /// + [JsonProperty(PropertyName = "userData")] + public string UserData { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (PersonId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "PersonId"); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/Position.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/Position.cs new file mode 100644 index 000000000000..4a20af049ae2 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/Position.cs @@ -0,0 +1,66 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Coordinates within an image + /// + public partial class Position + { + /// + /// Initializes a new instance of the Position class. + /// + public Position() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the Position class. + /// + /// The horizontal component, in pixels. + /// The vertical component, in pixels. + public Position(int x, int y) + { + X = x; + Y = y; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets the horizontal component, in pixels. + /// + [JsonProperty(PropertyName = "x")] + public int X { get; set; } + + /// + /// Gets or sets the vertical component, in pixels. + /// + [JsonProperty(PropertyName = "y")] + public int Y { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + //Nothing to validate + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/SimilarFaceResult.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/SimilarFaceResult.cs new file mode 100644 index 000000000000..d40e1df84c48 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/SimilarFaceResult.cs @@ -0,0 +1,100 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Response body for find similar face operation. + /// + public partial class SimilarFaceResult + { + /// + /// Initializes a new instance of the SimilarFaceResult class. + /// + public SimilarFaceResult() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the SimilarFaceResult class. + /// + /// faceId of candidate face when find by faceIds. + /// faceId is created by Face - Detect and will expire 24 hours after + /// the detection call + /// persistedFaceId of candidate face + /// when find by faceListId. persistedFaceId in face list is persisted + /// and will not expire. As showed in below response + /// Similarity confidence of the candidate + /// face. The higher confidence, the more similar. Range between + /// [0,1 + public SimilarFaceResult(string faceId, string persistedFaceId, double? confidence = default(double?)) + { + FaceId = faceId; + PersistedFaceId = persistedFaceId; + Confidence = confidence; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets faceId of candidate face when find by faceIds. faceId + /// is created by Face - Detect and will expire 24 hours after the + /// detection call + /// + [JsonProperty(PropertyName = "faceId")] + public string FaceId { get; set; } + + /// + /// Gets or sets persistedFaceId of candidate face when find by + /// faceListId. persistedFaceId in face list is persisted and will not + /// expire. As showed in below response + /// + [JsonProperty(PropertyName = "persistedFaceId")] + public string PersistedFaceId { get; set; } + + /// + /// Gets or sets similarity confidence of the candidate face. The + /// higher confidence, the more similar. Range between [0,1 + /// + [JsonProperty(PropertyName = "confidence")] + public double? Confidence { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (FaceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "FaceId"); + } + if (PersistedFaceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "PersistedFaceId"); + } + if (FaceId != null) + { + if (FaceId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "FaceId", 64); + } + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/TrainingStatus.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/TrainingStatus.cs new file mode 100644 index 000000000000..29a37c661584 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/TrainingStatus.cs @@ -0,0 +1,105 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Training status object. + /// + public partial class TrainingStatus + { + /// + /// Initializes a new instance of the TrainingStatus class. + /// + public TrainingStatus() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the TrainingStatus class. + /// + /// Training status: notstarted, running, + /// succeeded, failed. If the training process is waiting to perform, + /// the status is notstarted. If the training is ongoing, the status is + /// running. Status succeed means this person group is ready for Face - + /// Identify. Status failed is often caused by no person or no + /// persisted face exist in the person group. Possible values include: + /// 'nonstarted', 'running', 'succeeded', 'failed' + /// A combined UTC date and time string that + /// describes person group created time. + /// Person group last modify time in the UTC, + /// could be null value when the person group is not successfully + /// trained. + /// Show failure message when training failed + /// (omitted when training succeed). + public TrainingStatus(string status, System.DateTime? created = default(System.DateTime?), System.DateTime? lastAction = default(System.DateTime?), string message = default(string)) + { + Status = status; + Created = created; + LastAction = lastAction; + Message = message; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets training status: notstarted, running, succeeded, + /// failed. If the training process is waiting to perform, the status + /// is notstarted. If the training is ongoing, the status is running. + /// Status succeed means this person group is ready for Face - + /// Identify. Status failed is often caused by no person or no + /// persisted face exist in the person group. Possible values include: + /// 'nonstarted', 'running', 'succeeded', 'failed' + /// + [JsonProperty(PropertyName = "status")] + public string Status { get; set; } + + /// + /// Gets or sets a combined UTC date and time string that describes + /// person group created time. + /// + [JsonProperty(PropertyName = "createdDateTime")] + public System.DateTime? Created { get; set; } + + /// + /// Gets or sets person group last modify time in the UTC, could be + /// null value when the person group is not successfully trained. + /// + [JsonProperty(PropertyName = "lastActionDateTime")] + public System.DateTime? LastAction { get; set; } + + /// + /// Gets or sets show failure message when training failed (omitted + /// when training succeed). + /// + [JsonProperty(PropertyName = "message")] + public string Message { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Status == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "Status"); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/UpdatePersonFaceDataRequest.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/UpdatePersonFaceDataRequest.cs new file mode 100644 index 000000000000..080047cf5a51 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/UpdatePersonFaceDataRequest.cs @@ -0,0 +1,69 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Request to update person face data. + /// + public partial class UpdatePersonFaceDataRequest + { + /// + /// Initializes a new instance of the UpdatePersonFaceDataRequest + /// class. + /// + public UpdatePersonFaceDataRequest() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the UpdatePersonFaceDataRequest + /// class. + /// + /// User-provided data attached to the face. The + /// size limit is 1KB + public UpdatePersonFaceDataRequest(string userData = default(string)) + { + UserData = userData; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets user-provided data attached to the face. The size + /// limit is 1KB + /// + [JsonProperty(PropertyName = "userData")] + public string UserData { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (UserData != null) + { + if (UserData.Length > 1024) + { + throw new ValidationException(ValidationRules.MaxLength, "UserData", 1024); + } + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/VerifyRequest.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/VerifyRequest.cs new file mode 100644 index 000000000000..6850dd9836de --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/VerifyRequest.cs @@ -0,0 +1,100 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Request body for verify operation. + /// + public partial class VerifyRequest + { + /// + /// Initializes a new instance of the VerifyRequest class. + /// + public VerifyRequest() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the VerifyRequest class. + /// + /// faceId the face, comes from Face - + /// Detect + /// Specify a certain person in a person group. + /// personId is created in Persons.Create. + /// Using existing personGroupId and + /// personId for fast loading a specified person. personGroupId is + /// created in Person Groups.Create. + public VerifyRequest(string faceId, string personId, string personGroupId) + { + FaceId = faceId; + PersonId = personId; + PersonGroupId = personGroupId; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets faceId the face, comes from Face - Detect + /// + [JsonProperty(PropertyName = "faceId")] + public string FaceId { get; set; } + + /// + /// Gets or sets specify a certain person in a person group. personId + /// is created in Persons.Create. + /// + [JsonProperty(PropertyName = "personId")] + public string PersonId { get; set; } + + /// + /// Gets or sets using existing personGroupId and personId for fast + /// loading a specified person. personGroupId is created in Person + /// Groups.Create. + /// + [JsonProperty(PropertyName = "personGroupId")] + public string PersonGroupId { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (FaceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "FaceId"); + } + if (PersonId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "PersonId"); + } + if (PersonGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "PersonGroupId"); + } + if (FaceId != null) + { + if (FaceId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "FaceId", 64); + } + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/VerifyResult.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/VerifyResult.cs new file mode 100644 index 000000000000..eb6005a8f075 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Models/VerifyResult.cs @@ -0,0 +1,86 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face.Models +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.CognitiveServices.Vision.Face; + using Microsoft.Rest; + using Newtonsoft.Json; + using System.Linq; + + /// + /// Result of the verify operation. + /// + public partial class VerifyResult + { + /// + /// Initializes a new instance of the VerifyResult class. + /// + public VerifyResult() + { + CustomInit(); + } + + /// + /// Initializes a new instance of the VerifyResult class. + /// + /// True if the two faces belong to the same + /// person or the face belongs to the person, otherwise false. + /// "A number indicates the similarity + /// confidence of whether two faces belong to the same person, or + /// whether the face belongs to the person. By default, isIdentical is + /// set to True if similarity confidence is greater than or equal to + /// 0.5. This is useful for advanced users to override "isIdentical" + /// and fine-tune the result on their own data" + public VerifyResult(bool isIdentical, double? confidence = default(double?)) + { + IsIdentical = isIdentical; + Confidence = confidence; + CustomInit(); + } + + /// + /// An initialization method that performs custom operations like setting defaults + /// + partial void CustomInit(); + + /// + /// Gets or sets true if the two faces belong to the same person or the + /// face belongs to the person, otherwise false. + /// + [JsonProperty(PropertyName = "isIdentical")] + public bool IsIdentical { get; set; } + + /// + /// Gets or sets "A number indicates the similarity confidence of + /// whether two faces belong to the same person, or whether the face + /// belongs to the person. By default, isIdentical is set to True if + /// similarity confidence is greater than or equal to 0.5. This is + /// useful for advanced users to override "isIdentical" and fine-tune + /// the result on their own data" + /// + [JsonProperty(PropertyName = "confidence")] + public double? Confidence { get; set; } + + /// + /// Validate the object. + /// + /// + /// Thrown if validation fails + /// + public virtual void Validate() + { + if (Confidence > 1) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "Confidence", 1); + } + if (Confidence < 0) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "Confidence", 0); + } + } + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Person.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Person.cs new file mode 100644 index 000000000000..8a43a4278601 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/Person.cs @@ -0,0 +1,1762 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.Rest; + using Models; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.IO; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + /// + /// Person operations. + /// + public partial class Person : IServiceOperations, IPerson + { + /// + /// Initializes a new instance of the Person class. + /// + /// + /// Reference to the service client. + /// + /// + /// Thrown when a required parameter is null + /// + public Person(FaceAPI client) + { + if (client == null) + { + throw new System.ArgumentNullException("client"); + } + Client = client; + } + + /// + /// Gets a reference to the FaceAPI + /// + public FaceAPI Client { get; private set; } + + /// + /// Create a new person in a specified person group. + /// + /// + /// Specifying the target person group to create the person. + /// + /// + /// Display name of the target person. The maximum length is 128. + /// + /// + /// Optional fields for user-provided data attached to a person. Size limit is + /// 16KB. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> CreateWithHttpMessagesAsync(string personGroupId, string name = default(string), string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (name != null) + { + if (name.Length > 128) + { + throw new ValidationException(ValidationRules.MaxLength, "name", 128); + } + } + if (userData != null) + { + if (userData.Length > 16384) + { + throw new ValidationException(ValidationRules.MaxLength, "userData", 16384); + } + } + CreatePersonRequest body = new CreatePersonRequest(); + if (name != null || userData != null) + { + body.Name = name; + body.UserData = userData; + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("body", body); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Create", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}/persons"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(body != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(body, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// List all persons in a person group, and retrieve person information + /// (including personId, name, userData and persistedFaceIds of registered + /// faces of the person). + /// + /// + /// personGroupId of the target person group. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListWithHttpMessagesAsync(string personGroupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}/persons"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Delete an existing person from a person group. Persisted face images of the + /// person will also be deleted. + /// + /// + /// Specifying the person group containing the person. + /// + /// + /// The target personId to delete. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task DeleteWithHttpMessagesAsync(string personGroupId, string personId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (personId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("personId", personId); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}/persons/{personId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + _url = _url.Replace("{personId}", System.Uri.EscapeDataString(personId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Retrieve a person's information, including registered persisted faces, name + /// and userData. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Specifying the target person. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> GetWithHttpMessagesAsync(string personGroupId, string personId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (personId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("personId", personId); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}/persons/{personId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + _url = _url.Replace("{personId}", System.Uri.EscapeDataString(personId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Update name or userData of a person. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// personId of the target person. + /// + /// + /// Display name of the target person. The maximum length is 128. + /// + /// + /// Optional fields for user-provided data attached to a person. Size limit is + /// 16KB. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task UpdateWithHttpMessagesAsync(string personGroupId, string personId, string name = default(string), string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (personId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (name != null) + { + if (name.Length > 128) + { + throw new ValidationException(ValidationRules.MaxLength, "name", 128); + } + } + if (userData != null) + { + if (userData.Length > 16384) + { + throw new ValidationException(ValidationRules.MaxLength, "userData", 16384); + } + } + CreatePersonRequest body = new CreatePersonRequest(); + if (name != null || userData != null) + { + body.Name = name; + body.UserData = userData; + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("personId", personId); + tracingParameters.Add("body", body); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Update", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}/persons/{personId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + _url = _url.Replace("{personId}", System.Uri.EscapeDataString(personId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(body != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(body, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Delete a face from a person. Relative image for the persisted face will + /// also be deleted. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Specifying the person that the target persisted face belong to. + /// + /// + /// The persisted face to remove. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task DeleteFaceWithHttpMessagesAsync(string personGroupId, string personId, string persistedFaceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (personId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personId"); + } + if (persistedFaceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "persistedFaceId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("personId", personId); + tracingParameters.Add("persistedFaceId", persistedFaceId); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "DeleteFace", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + _url = _url.Replace("{personId}", System.Uri.EscapeDataString(personId)); + _url = _url.Replace("{persistedFaceId}", System.Uri.EscapeDataString(persistedFaceId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Retrieve information about a persisted face (specified by persistedFaceId, + /// personId and its belonging personGroupId). + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Specifying the target person that the face belongs to. + /// + /// + /// The persistedFaceId of the target persisted face of the person. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> GetFaceWithHttpMessagesAsync(string personGroupId, string personId, string persistedFaceId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (personId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personId"); + } + if (persistedFaceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "persistedFaceId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("personId", personId); + tracingParameters.Add("persistedFaceId", persistedFaceId); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "GetFace", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + _url = _url.Replace("{personId}", System.Uri.EscapeDataString(personId)); + _url = _url.Replace("{persistedFaceId}", System.Uri.EscapeDataString(persistedFaceId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Update a person persisted face's userData field. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// personId of the target person. + /// + /// + /// persistedFaceId of target face, which is persisted and will not expire. + /// + /// + /// User-provided data attached to the face. The size limit is 1KB + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task UpdateFaceWithHttpMessagesAsync(string personGroupId, string personId, string persistedFaceId, string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (personId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personId"); + } + if (persistedFaceId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "persistedFaceId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (userData != null) + { + if (userData.Length > 1024) + { + throw new ValidationException(ValidationRules.MaxLength, "userData", 1024); + } + } + UpdatePersonFaceDataRequest body = new UpdatePersonFaceDataRequest(); + if (userData != null) + { + body.UserData = userData; + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("personId", personId); + tracingParameters.Add("persistedFaceId", persistedFaceId); + tracingParameters.Add("body", body); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "UpdateFace", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}/persons/{personId}/persistedFaces/{persistedFaceId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + _url = _url.Replace("{personId}", System.Uri.EscapeDataString(personId)); + _url = _url.Replace("{persistedFaceId}", System.Uri.EscapeDataString(persistedFaceId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(body != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(body, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Add a representative face to a person for identification. The input face is + /// specified as an image with a targetFace rectangle. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Target person that the face is added to. + /// + /// + /// User-specified data about the target face to add for any purpose. The + /// maximum length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added to a person in the + /// format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the image, + /// targetFace is required to specify which face to add. No targetFace means + /// there is only one face detected in the entire image. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task AddFaceWithHttpMessagesAsync(string personGroupId, string personId, string userData = default(string), string targetFace = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (personId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("personId", personId); + tracingParameters.Add("userData", userData); + tracingParameters.Add("targetFace", targetFace); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "AddFace", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}/persons/{personId}/persistedFaces"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + _url = _url.Replace("{personId}", System.Uri.EscapeDataString(personId)); + List _queryParameters = new List(); + if (userData != null) + { + _queryParameters.Add(string.Format("userData={0}", System.Uri.EscapeDataString(userData))); + } + if (targetFace != null) + { + _queryParameters.Add(string.Format("targetFace={0}", System.Uri.EscapeDataString(targetFace))); + } + if (_queryParameters.Count > 0) + { + _url += "?" + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Add a representative face to a person for identification. The input face is + /// specified as an image with a targetFace rectangle. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Target person that the face is added to. + /// + /// + /// User-specified data about the target face to add for any purpose. The + /// maximum length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added to a person, in the + /// format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the image, + /// targetFace is required to specify which face to add. No targetFace means + /// there is only one face detected in the entire image. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task AddFaceFromStreamWithHttpMessagesAsync(string personGroupId, string personId, string userData = default(string), string targetFace = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (personId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("personId", personId); + tracingParameters.Add("userData", userData); + tracingParameters.Add("targetFace", targetFace); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "AddFaceFromStream", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}/persons/{personId}/persistedFaces"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + _url = _url.Replace("{personId}", System.Uri.EscapeDataString(personId)); + List _queryParameters = new List(); + if (userData != null) + { + _queryParameters.Add(string.Format("userData={0}", System.Uri.EscapeDataString(userData))); + } + if (targetFace != null) + { + _queryParameters.Add(string.Format("targetFace={0}", System.Uri.EscapeDataString(targetFace))); + } + if (_queryParameters.Count > 0) + { + _url += "?" + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/PersonExtensions.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/PersonExtensions.cs new file mode 100644 index 000000000000..f32deac56774 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/PersonExtensions.cs @@ -0,0 +1,503 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Models; + using System.Collections; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + + /// + /// Extension methods for Person. + /// + public static partial class PersonExtensions + { + /// + /// Create a new person in a specified person group. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the target person group to create the person. + /// + /// + /// Display name of the target person. The maximum length is 128. + /// + /// + /// Optional fields for user-provided data attached to a person. Size limit is + /// 16KB. + /// + public static CreatePersonResult Create(this IPerson operations, string personGroupId, string name = default(string), string userData = default(string)) + { + return operations.CreateAsync(personGroupId, name, userData).GetAwaiter().GetResult(); + } + + /// + /// Create a new person in a specified person group. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the target person group to create the person. + /// + /// + /// Display name of the target person. The maximum length is 128. + /// + /// + /// Optional fields for user-provided data attached to a person. Size limit is + /// 16KB. + /// + /// + /// The cancellation token. + /// + public static async Task CreateAsync(this IPerson operations, string personGroupId, string name = default(string), string userData = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.CreateWithHttpMessagesAsync(personGroupId, name, userData, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// List all persons in a person group, and retrieve person information + /// (including personId, name, userData and persistedFaceIds of registered + /// faces of the person). + /// + /// + /// The operations group for this extension method. + /// + /// + /// personGroupId of the target person group. + /// + public static IList List(this IPerson operations, string personGroupId) + { + return operations.ListAsync(personGroupId).GetAwaiter().GetResult(); + } + + /// + /// List all persons in a person group, and retrieve person information + /// (including personId, name, userData and persistedFaceIds of registered + /// faces of the person). + /// + /// + /// The operations group for this extension method. + /// + /// + /// personGroupId of the target person group. + /// + /// + /// The cancellation token. + /// + public static async Task> ListAsync(this IPerson operations, string personGroupId, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListWithHttpMessagesAsync(personGroupId, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Delete an existing person from a person group. Persisted face images of the + /// person will also be deleted. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the person. + /// + /// + /// The target personId to delete. + /// + public static void Delete(this IPerson operations, string personGroupId, string personId) + { + operations.DeleteAsync(personGroupId, personId).GetAwaiter().GetResult(); + } + + /// + /// Delete an existing person from a person group. Persisted face images of the + /// person will also be deleted. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the person. + /// + /// + /// The target personId to delete. + /// + /// + /// The cancellation token. + /// + public static async Task DeleteAsync(this IPerson operations, string personGroupId, string personId, CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.DeleteWithHttpMessagesAsync(personGroupId, personId, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Retrieve a person's information, including registered persisted faces, name + /// and userData. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Specifying the target person. + /// + public static PersonResult Get(this IPerson operations, string personGroupId, string personId) + { + return operations.GetAsync(personGroupId, personId).GetAwaiter().GetResult(); + } + + /// + /// Retrieve a person's information, including registered persisted faces, name + /// and userData. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Specifying the target person. + /// + /// + /// The cancellation token. + /// + public static async Task GetAsync(this IPerson operations, string personGroupId, string personId, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.GetWithHttpMessagesAsync(personGroupId, personId, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Update name or userData of a person. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// personId of the target person. + /// + /// + /// Display name of the target person. The maximum length is 128. + /// + /// + /// Optional fields for user-provided data attached to a person. Size limit is + /// 16KB. + /// + public static void Update(this IPerson operations, string personGroupId, string personId, string name = default(string), string userData = default(string)) + { + operations.UpdateAsync(personGroupId, personId, name, userData).GetAwaiter().GetResult(); + } + + /// + /// Update name or userData of a person. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// personId of the target person. + /// + /// + /// Display name of the target person. The maximum length is 128. + /// + /// + /// Optional fields for user-provided data attached to a person. Size limit is + /// 16KB. + /// + /// + /// The cancellation token. + /// + public static async Task UpdateAsync(this IPerson operations, string personGroupId, string personId, string name = default(string), string userData = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.UpdateWithHttpMessagesAsync(personGroupId, personId, name, userData, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Delete a face from a person. Relative image for the persisted face will + /// also be deleted. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Specifying the person that the target persisted face belong to. + /// + /// + /// The persisted face to remove. + /// + public static void DeleteFace(this IPerson operations, string personGroupId, string personId, string persistedFaceId) + { + operations.DeleteFaceAsync(personGroupId, personId, persistedFaceId).GetAwaiter().GetResult(); + } + + /// + /// Delete a face from a person. Relative image for the persisted face will + /// also be deleted. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Specifying the person that the target persisted face belong to. + /// + /// + /// The persisted face to remove. + /// + /// + /// The cancellation token. + /// + public static async Task DeleteFaceAsync(this IPerson operations, string personGroupId, string personId, string persistedFaceId, CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.DeleteFaceWithHttpMessagesAsync(personGroupId, personId, persistedFaceId, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Retrieve information about a persisted face (specified by persistedFaceId, + /// personId and its belonging personGroupId). + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Specifying the target person that the face belongs to. + /// + /// + /// The persistedFaceId of the target persisted face of the person. + /// + public static PersonFaceResult GetFace(this IPerson operations, string personGroupId, string personId, string persistedFaceId) + { + return operations.GetFaceAsync(personGroupId, personId, persistedFaceId).GetAwaiter().GetResult(); + } + + /// + /// Retrieve information about a persisted face (specified by persistedFaceId, + /// personId and its belonging personGroupId). + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Specifying the target person that the face belongs to. + /// + /// + /// The persistedFaceId of the target persisted face of the person. + /// + /// + /// The cancellation token. + /// + public static async Task GetFaceAsync(this IPerson operations, string personGroupId, string personId, string persistedFaceId, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.GetFaceWithHttpMessagesAsync(personGroupId, personId, persistedFaceId, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Update a person persisted face's userData field. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// personId of the target person. + /// + /// + /// persistedFaceId of target face, which is persisted and will not expire. + /// + /// + /// User-provided data attached to the face. The size limit is 1KB + /// + public static void UpdateFace(this IPerson operations, string personGroupId, string personId, string persistedFaceId, string userData = default(string)) + { + operations.UpdateFaceAsync(personGroupId, personId, persistedFaceId, userData).GetAwaiter().GetResult(); + } + + /// + /// Update a person persisted face's userData field. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// personId of the target person. + /// + /// + /// persistedFaceId of target face, which is persisted and will not expire. + /// + /// + /// User-provided data attached to the face. The size limit is 1KB + /// + /// + /// The cancellation token. + /// + public static async Task UpdateFaceAsync(this IPerson operations, string personGroupId, string personId, string persistedFaceId, string userData = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.UpdateFaceWithHttpMessagesAsync(personGroupId, personId, persistedFaceId, userData, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Add a representative face to a person for identification. The input face is + /// specified as an image with a targetFace rectangle. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Target person that the face is added to. + /// + /// + /// User-specified data about the target face to add for any purpose. The + /// maximum length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added to a person in the + /// format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the image, + /// targetFace is required to specify which face to add. No targetFace means + /// there is only one face detected in the entire image. + /// + public static void AddFace(this IPerson operations, string personGroupId, string personId, string userData = default(string), string targetFace = default(string)) + { + operations.AddFaceAsync(personGroupId, personId, userData, targetFace).GetAwaiter().GetResult(); + } + + /// + /// Add a representative face to a person for identification. The input face is + /// specified as an image with a targetFace rectangle. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Target person that the face is added to. + /// + /// + /// User-specified data about the target face to add for any purpose. The + /// maximum length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added to a person in the + /// format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the image, + /// targetFace is required to specify which face to add. No targetFace means + /// there is only one face detected in the entire image. + /// + /// + /// The cancellation token. + /// + public static async Task AddFaceAsync(this IPerson operations, string personGroupId, string personId, string userData = default(string), string targetFace = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.AddFaceWithHttpMessagesAsync(personGroupId, personId, userData, targetFace, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Add a representative face to a person for identification. The input face is + /// specified as an image with a targetFace rectangle. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Target person that the face is added to. + /// + /// + /// User-specified data about the target face to add for any purpose. The + /// maximum length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added to a person, in the + /// format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the image, + /// targetFace is required to specify which face to add. No targetFace means + /// there is only one face detected in the entire image. + /// + public static void AddFaceFromStream(this IPerson operations, string personGroupId, string personId, string userData = default(string), string targetFace = default(string)) + { + operations.AddFaceFromStreamAsync(personGroupId, personId, userData, targetFace).GetAwaiter().GetResult(); + } + + /// + /// Add a representative face to a person for identification. The input face is + /// specified as an image with a targetFace rectangle. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Specifying the person group containing the target person. + /// + /// + /// Target person that the face is added to. + /// + /// + /// User-specified data about the target face to add for any purpose. The + /// maximum length is 1KB. + /// + /// + /// A face rectangle to specify the target face to be added to a person, in the + /// format of "targetFace=left,top,width,height". E.g. + /// "targetFace=10,10,100,100". If there is more than one face in the image, + /// targetFace is required to specify which face to add. No targetFace means + /// there is only one face detected in the entire image. + /// + /// + /// The cancellation token. + /// + public static async Task AddFaceFromStreamAsync(this IPerson operations, string personGroupId, string personId, string userData = default(string), string targetFace = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.AddFaceFromStreamWithHttpMessagesAsync(personGroupId, personId, userData, targetFace, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/PersonGroup.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/PersonGroup.cs new file mode 100644 index 000000000000..420f59d732eb --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/PersonGroup.cs @@ -0,0 +1,1189 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Microsoft.Rest; + using Models; + using Newtonsoft.Json; + using System.Collections; + using System.Collections.Generic; + using System.IO; + using System.Net; + using System.Net.Http; + using System.Threading; + using System.Threading.Tasks; + + /// + /// PersonGroup operations. + /// + public partial class PersonGroup : IServiceOperations, IPersonGroup + { + /// + /// Initializes a new instance of the PersonGroup class. + /// + /// + /// Reference to the service client. + /// + /// + /// Thrown when a required parameter is null + /// + public PersonGroup(FaceAPI client) + { + if (client == null) + { + throw new System.ArgumentNullException("client"); + } + Client = client; + } + + /// + /// Gets a reference to the FaceAPI + /// + public FaceAPI Client { get; private set; } + + /// + /// Create a new person group with specified personGroupId, name and + /// user-provided userData. + /// + /// + /// User-provided personGroupId as a string. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not exceed + /// 16KB. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task CreateWithHttpMessagesAsync(string personGroupId, string name = default(string), string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (personGroupId != null) + { + if (personGroupId.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "personGroupId", 64); + } + if (!System.Text.RegularExpressions.Regex.IsMatch(personGroupId, "^[a-z0-9-_]+$")) + { + throw new ValidationException(ValidationRules.Pattern, "personGroupId", "^[a-z0-9-_]+$"); + } + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (name != null) + { + if (name.Length > 128) + { + throw new ValidationException(ValidationRules.MaxLength, "name", 128); + } + } + if (userData != null) + { + if (userData.Length > 16384) + { + throw new ValidationException(ValidationRules.MaxLength, "userData", 16384); + } + } + CreatePersonGroupRequest body = new CreatePersonGroupRequest(); + if (name != null || userData != null) + { + body.Name = name; + body.UserData = userData; + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("body", body); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Create", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("PUT"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(body != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(body, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Delete an existing person group. Persisted face images of all people in the + /// person group will also be deleted. + /// + /// + /// The personGroupId of the person group to be deleted. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task DeleteWithHttpMessagesAsync(string personGroupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("DELETE"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Retrieve the information of a person group, including its name and + /// userData. + /// + /// + /// personGroupId of the target person group. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> GetWithHttpMessagesAsync(string personGroupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Update an existing person group's display name and userData. The properties + /// which does not appear in request body will not be updated. + /// + /// + /// personGroupId of the person group to be updated. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not exceed + /// 16KB. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task UpdateWithHttpMessagesAsync(string personGroupId, string name = default(string), string userData = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + if (name != null) + { + if (name.Length > 128) + { + throw new ValidationException(ValidationRules.MaxLength, "name", 128); + } + } + if (userData != null) + { + if (userData.Length > 16384) + { + throw new ValidationException(ValidationRules.MaxLength, "userData", 16384); + } + } + CreatePersonGroupRequest body = new CreatePersonGroupRequest(); + if (name != null || userData != null) + { + body.Name = name; + body.UserData = userData; + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("body", body); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Update", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("PATCH"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + if(body != null) + { + _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(body, Client.SerializationSettings); + _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); + _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); + } + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Retrieve the training status of a person group (completed or ongoing). + /// + /// + /// personGroupId of target person group. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task> GetTrainingStatusWithHttpMessagesAsync(string personGroupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "GetTrainingStatus", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}/training"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// List person groups and their information. + /// + /// + /// List person groups from the least personGroupId greater than the "start". + /// + /// + /// The number of person groups to list. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when unable to deserialize the response + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task>> ListWithHttpMessagesAsync(string start = default(string), int? top = 1000, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (start != null) + { + if (start.Length > 64) + { + throw new ValidationException(ValidationRules.MaxLength, "start", 64); + } + } + if (top > 1000) + { + throw new ValidationException(ValidationRules.InclusiveMaximum, "top", 1000); + } + if (top < 1) + { + throw new ValidationException(ValidationRules.InclusiveMinimum, "top", 1); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("start", start); + tracingParameters.Add("top", top); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "List", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + List _queryParameters = new List(); + if (start != null) + { + _queryParameters.Add(string.Format("start={0}", System.Uri.EscapeDataString(start))); + } + if (top != null) + { + _queryParameters.Add(string.Format("top={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(top, Client.SerializationSettings).Trim('"')))); + } + if (_queryParameters.Count > 0) + { + _url += "?" + string.Join("&", _queryParameters); + } + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("GET"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 200) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse>(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + // Deserialize Response + if ((int)_statusCode == 200) + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + try + { + _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject>(_responseContent, Client.DeserializationSettings); + } + catch (JsonException ex) + { + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); + } + } + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + /// + /// Queue a person group training task, the training task may not be started + /// immediately. + /// + /// + /// Target person group to be trained. + /// + /// + /// Headers that will be added to request. + /// + /// + /// The cancellation token. + /// + /// + /// Thrown when the operation returned an invalid status code + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// Thrown when a required parameter is null + /// + /// + /// A response object containing the response body and response headers. + /// + public async Task TrainWithHttpMessagesAsync(string personGroupId, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) + { + if (Client.AzureRegion1 == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.AzureRegion1"); + } + if (personGroupId == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "personGroupId"); + } + if (Client.SubscriptionKey == null) + { + throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.SubscriptionKey"); + } + // Tracing + bool _shouldTrace = ServiceClientTracing.IsEnabled; + string _invocationId = null; + if (_shouldTrace) + { + _invocationId = ServiceClientTracing.NextInvocationId.ToString(); + Dictionary tracingParameters = new Dictionary(); + tracingParameters.Add("personGroupId", personGroupId); + tracingParameters.Add("cancellationToken", cancellationToken); + ServiceClientTracing.Enter(_invocationId, this, "Train", tracingParameters); + } + // Construct URL + var _baseUrl = Client.BaseUri; + var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "persongroups/{personGroupId}/train"; + _url = _url.Replace("{azureRegion}", Client.AzureRegion1); + _url = _url.Replace("{personGroupId}", System.Uri.EscapeDataString(personGroupId)); + // Create HTTP transport objects + var _httpRequest = new HttpRequestMessage(); + HttpResponseMessage _httpResponse = null; + _httpRequest.Method = new HttpMethod("POST"); + _httpRequest.RequestUri = new System.Uri(_url); + // Set Headers + if (Client.SubscriptionKey != null) + { + if (_httpRequest.Headers.Contains("Ocp-Apim-Subscription-Key")) + { + _httpRequest.Headers.Remove("Ocp-Apim-Subscription-Key"); + } + _httpRequest.Headers.TryAddWithoutValidation("Ocp-Apim-Subscription-Key", Client.SubscriptionKey); + } + + + if (customHeaders != null) + { + foreach(var _header in customHeaders) + { + if (_httpRequest.Headers.Contains(_header.Key)) + { + _httpRequest.Headers.Remove(_header.Key); + } + _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); + } + } + + // Serialize Request + string _requestContent = null; + // Send Request + if (_shouldTrace) + { + ServiceClientTracing.SendRequest(_invocationId, _httpRequest); + } + cancellationToken.ThrowIfCancellationRequested(); + _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); + if (_shouldTrace) + { + ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); + } + HttpStatusCode _statusCode = _httpResponse.StatusCode; + cancellationToken.ThrowIfCancellationRequested(); + string _responseContent = null; + if ((int)_statusCode != 202) + { + var ex = new APIErrorException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); + try + { + _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); + APIError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); + if (_errorBody != null) + { + ex.Body = _errorBody; + } + } + catch (JsonException) + { + // Ignore the exception + } + ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); + ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); + if (_shouldTrace) + { + ServiceClientTracing.Error(_invocationId, ex); + } + _httpRequest.Dispose(); + if (_httpResponse != null) + { + _httpResponse.Dispose(); + } + throw ex; + } + // Create Result + var _result = new HttpOperationResponse(); + _result.Request = _httpRequest; + _result.Response = _httpResponse; + if (_shouldTrace) + { + ServiceClientTracing.Exit(_invocationId, _result); + } + return _result; + } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/PersonGroupExtensions.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/PersonGroupExtensions.cs new file mode 100644 index 000000000000..d0545cdcbe74 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Generated/Face/PersonGroupExtensions.cs @@ -0,0 +1,291 @@ +// Code generated by Microsoft (R) AutoRest Code Generator 1.2.2.0 +// Changes may cause incorrect behavior and will be lost if the code is +// regenerated. + +namespace Microsoft.CognitiveServices.Vision.Face +{ + using Microsoft.CognitiveServices; + using Microsoft.CognitiveServices.Vision; + using Models; + using System.Collections; + using System.Collections.Generic; + using System.Threading; + using System.Threading.Tasks; + + /// + /// Extension methods for PersonGroup. + /// + public static partial class PersonGroupExtensions + { + /// + /// Create a new person group with specified personGroupId, name and + /// user-provided userData. + /// + /// + /// The operations group for this extension method. + /// + /// + /// User-provided personGroupId as a string. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not exceed + /// 16KB. + /// + public static void Create(this IPersonGroup operations, string personGroupId, string name = default(string), string userData = default(string)) + { + operations.CreateAsync(personGroupId, name, userData).GetAwaiter().GetResult(); + } + + /// + /// Create a new person group with specified personGroupId, name and + /// user-provided userData. + /// + /// + /// The operations group for this extension method. + /// + /// + /// User-provided personGroupId as a string. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not exceed + /// 16KB. + /// + /// + /// The cancellation token. + /// + public static async Task CreateAsync(this IPersonGroup operations, string personGroupId, string name = default(string), string userData = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.CreateWithHttpMessagesAsync(personGroupId, name, userData, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Delete an existing person group. Persisted face images of all people in the + /// person group will also be deleted. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The personGroupId of the person group to be deleted. + /// + public static void Delete(this IPersonGroup operations, string personGroupId) + { + operations.DeleteAsync(personGroupId).GetAwaiter().GetResult(); + } + + /// + /// Delete an existing person group. Persisted face images of all people in the + /// person group will also be deleted. + /// + /// + /// The operations group for this extension method. + /// + /// + /// The personGroupId of the person group to be deleted. + /// + /// + /// The cancellation token. + /// + public static async Task DeleteAsync(this IPersonGroup operations, string personGroupId, CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.DeleteWithHttpMessagesAsync(personGroupId, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Retrieve the information of a person group, including its name and + /// userData. + /// + /// + /// The operations group for this extension method. + /// + /// + /// personGroupId of the target person group. + /// + public static PersonGroupResult Get(this IPersonGroup operations, string personGroupId) + { + return operations.GetAsync(personGroupId).GetAwaiter().GetResult(); + } + + /// + /// Retrieve the information of a person group, including its name and + /// userData. + /// + /// + /// The operations group for this extension method. + /// + /// + /// personGroupId of the target person group. + /// + /// + /// The cancellation token. + /// + public static async Task GetAsync(this IPersonGroup operations, string personGroupId, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.GetWithHttpMessagesAsync(personGroupId, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Update an existing person group's display name and userData. The properties + /// which does not appear in request body will not be updated. + /// + /// + /// The operations group for this extension method. + /// + /// + /// personGroupId of the person group to be updated. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not exceed + /// 16KB. + /// + public static void Update(this IPersonGroup operations, string personGroupId, string name = default(string), string userData = default(string)) + { + operations.UpdateAsync(personGroupId, name, userData).GetAwaiter().GetResult(); + } + + /// + /// Update an existing person group's display name and userData. The properties + /// which does not appear in request body will not be updated. + /// + /// + /// The operations group for this extension method. + /// + /// + /// personGroupId of the person group to be updated. + /// + /// + /// Name of the face list, maximum length is 128. + /// + /// + /// Optional user defined data for the face list. Length should not exceed + /// 16KB. + /// + /// + /// The cancellation token. + /// + public static async Task UpdateAsync(this IPersonGroup operations, string personGroupId, string name = default(string), string userData = default(string), CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.UpdateWithHttpMessagesAsync(personGroupId, name, userData, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + /// + /// Retrieve the training status of a person group (completed or ongoing). + /// + /// + /// The operations group for this extension method. + /// + /// + /// personGroupId of target person group. + /// + public static TrainingStatus GetTrainingStatus(this IPersonGroup operations, string personGroupId) + { + return operations.GetTrainingStatusAsync(personGroupId).GetAwaiter().GetResult(); + } + + /// + /// Retrieve the training status of a person group (completed or ongoing). + /// + /// + /// The operations group for this extension method. + /// + /// + /// personGroupId of target person group. + /// + /// + /// The cancellation token. + /// + public static async Task GetTrainingStatusAsync(this IPersonGroup operations, string personGroupId, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.GetTrainingStatusWithHttpMessagesAsync(personGroupId, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// List person groups and their information. + /// + /// + /// The operations group for this extension method. + /// + /// + /// List person groups from the least personGroupId greater than the "start". + /// + /// + /// The number of person groups to list. + /// + public static IList List(this IPersonGroup operations, string start = default(string), int? top = 1000) + { + return operations.ListAsync(start, top).GetAwaiter().GetResult(); + } + + /// + /// List person groups and their information. + /// + /// + /// The operations group for this extension method. + /// + /// + /// List person groups from the least personGroupId greater than the "start". + /// + /// + /// The number of person groups to list. + /// + /// + /// The cancellation token. + /// + public static async Task> ListAsync(this IPersonGroup operations, string start = default(string), int? top = 1000, CancellationToken cancellationToken = default(CancellationToken)) + { + using (var _result = await operations.ListWithHttpMessagesAsync(start, top, null, cancellationToken).ConfigureAwait(false)) + { + return _result.Body; + } + } + + /// + /// Queue a person group training task, the training task may not be started + /// immediately. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Target person group to be trained. + /// + public static void Train(this IPersonGroup operations, string personGroupId) + { + operations.TrainAsync(personGroupId).GetAwaiter().GetResult(); + } + + /// + /// Queue a person group training task, the training task may not be started + /// immediately. + /// + /// + /// The operations group for this extension method. + /// + /// + /// Target person group to be trained. + /// + /// + /// The cancellation token. + /// + public static async Task TrainAsync(this IPersonGroup operations, string personGroupId, CancellationToken cancellationToken = default(CancellationToken)) + { + (await operations.TrainWithHttpMessagesAsync(personGroupId, null, cancellationToken).ConfigureAwait(false)).Dispose(); + } + + } +} diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Microsoft.CognitiveServices.Vision.csproj b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Microsoft.CognitiveServices.Vision.csproj new file mode 100644 index 000000000000..f6152b6eb223 --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Microsoft.CognitiveServices.Vision.csproj @@ -0,0 +1,17 @@ + + + + Microsoft.CognitiveServices.Vision + This client library provides access to the Microsoft Cognitive Services Vision APIs. + 1.0.0-preview + $(DefineConstants);CODESIGN + true + Microsoft.CognitiveServices.Vision + Microsoft Cognitive Services;Cognitive Services;Cognitive Services SDK;Face API;REST HTTP client;Face SDK;netcore451511 + This is a preview release of the Cognitive Services Vision SDK. Included with this release is support for Face API. + + + + net452;netstandard1.4 + + \ No newline at end of file diff --git a/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Properties/AssemblyInfo.cs b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Properties/AssemblyInfo.cs new file mode 100644 index 000000000000..75464b37280e --- /dev/null +++ b/src/SDKs/CognitiveServices/dataPlane/Vision/Microsoft.CognitiveServices.Vision/Properties/AssemblyInfo.cs @@ -0,0 +1,19 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +using System.Reflection; +using System.Resources; + +[assembly: AssemblyTitle("Microsoft Azure Cognitive Services Vision Client Library")] +[assembly: AssemblyDescription("Provides API functions for consuming Microsoft Azure Cognitive Services Vision APIs.")] + +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] + +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Microsoft Azure .NET SDK")] +[assembly: AssemblyCopyright("Copyright (c) Microsoft Corporation")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: NeutralResourcesLanguage("en")] diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/CognitiveServices.Tests.csproj b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/CognitiveServices.Tests.csproj similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/CognitiveServices.Tests.csproj rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/CognitiveServices.Tests.csproj diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/Helpers/CognitiveServicesManagementTestUtilities.cs b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/Helpers/CognitiveServicesManagementTestUtilities.cs similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/Helpers/CognitiveServicesManagementTestUtilities.cs rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/Helpers/CognitiveServicesManagementTestUtilities.cs diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/Helpers/RecordedDelegatingHandler.cs b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/Helpers/RecordedDelegatingHandler.cs similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/Helpers/RecordedDelegatingHandler.cs rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/Helpers/RecordedDelegatingHandler.cs diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/Properties/AssemblyInfo.cs b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/Properties/AssemblyInfo.cs similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/Properties/AssemblyInfo.cs rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/Properties/AssemblyInfo.cs diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateAllApisTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateAllApisTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateAllApisTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateAllApisTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateAndGetDifferentSkusTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateAndGetDifferentSkusTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateAndGetDifferentSkusTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateAndGetDifferentSkusTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateErrorTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateErrorTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateErrorTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateErrorTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountCreateTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountDeleteTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountDeleteTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountDeleteTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountDeleteTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountEnumerateSkusTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountEnumerateSkusTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountEnumerateSkusTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountEnumerateSkusTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountKeysErrorTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountKeysErrorTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountKeysErrorTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountKeysErrorTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountListByResourceGroupTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountListByResourceGroupTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountListByResourceGroupTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountListByResourceGroupTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountListBySubscriptionTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountListBySubscriptionTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountListBySubscriptionTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountListBySubscriptionTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountListKeysTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountListKeysTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountListKeysTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountListKeysTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountMinMaxNameLengthTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountMinMaxNameLengthTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountMinMaxNameLengthTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountMinMaxNameLengthTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountRegenerateKeyTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountRegenerateKeyTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountRegenerateKeyTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountRegenerateKeyTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountUpdateWithCreateTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountUpdateWithCreateTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountUpdateWithCreateTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesAccountUpdateWithCreateTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesCheckSkuAvailabilityTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesCheckSkuAvailabilityTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesCheckSkuAvailabilityTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesCheckSkuAvailabilityTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesCreateAccountErrorTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesCreateAccountErrorTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesCreateAccountErrorTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesCreateAccountErrorTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesCreateAccountErrorTest2.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesCreateAccountErrorTest2.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesCreateAccountErrorTest2.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesCreateAccountErrorTest2.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesDeleteAccountErrorTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesDeleteAccountErrorTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesDeleteAccountErrorTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesDeleteAccountErrorTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesEnumerateSkusErrorTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesEnumerateSkusErrorTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesEnumerateSkusErrorTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesEnumerateSkusErrorTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesGetAccountErrorTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesGetAccountErrorTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesGetAccountErrorTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesGetAccountErrorTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesUpdateAccountErrorTest.json b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesUpdateAccountErrorTest.json similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesUpdateAccountErrorTest.json rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/SessionRecords/CognitiveServices.Tests.CognitiveServicesAccountTests/CognitiveServicesUpdateAccountErrorTest.json diff --git a/src/SDKs/CognitiveServices/CognitiveServices.Tests/Tests/CognitiveServicesAccountTests.cs b/src/SDKs/CognitiveServices/management/CognitiveServices.Tests/Tests/CognitiveServicesAccountTests.cs similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.Tests/Tests/CognitiveServicesAccountTests.cs rename to src/SDKs/CognitiveServices/management/CognitiveServices.Tests/Tests/CognitiveServicesAccountTests.cs diff --git a/src/SDKs/CognitiveServices/CognitiveServices.sln b/src/SDKs/CognitiveServices/management/CognitiveServices.sln similarity index 100% rename from src/SDKs/CognitiveServices/CognitiveServices.sln rename to src/SDKs/CognitiveServices/management/CognitiveServices.sln diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/AccountsOperations.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/AccountsOperations.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/AccountsOperations.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/AccountsOperations.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/AccountsOperationsExtensions.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/AccountsOperationsExtensions.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/AccountsOperationsExtensions.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/AccountsOperationsExtensions.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/CheckSkuAvailabilityOperations.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/CheckSkuAvailabilityOperations.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/CheckSkuAvailabilityOperations.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/CheckSkuAvailabilityOperations.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/CheckSkuAvailabilityOperationsExtensions.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/CheckSkuAvailabilityOperationsExtensions.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/CheckSkuAvailabilityOperationsExtensions.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/CheckSkuAvailabilityOperationsExtensions.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/CognitiveServicesAccountsOperations.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/CognitiveServicesAccountsOperations.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/CognitiveServicesAccountsOperations.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/CognitiveServicesAccountsOperations.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/CognitiveServicesAccountsOperationsExtensions.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/CognitiveServicesAccountsOperationsExtensions.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/CognitiveServicesAccountsOperationsExtensions.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/CognitiveServicesAccountsOperationsExtensions.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/CognitiveServicesManagementClient.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/CognitiveServicesManagementClient.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/CognitiveServicesManagementClient.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/CognitiveServicesManagementClient.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/IAccountsOperations.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/IAccountsOperations.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/IAccountsOperations.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/IAccountsOperations.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/ICheckSkuAvailabilityOperations.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/ICheckSkuAvailabilityOperations.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/ICheckSkuAvailabilityOperations.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/ICheckSkuAvailabilityOperations.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/ICognitiveServicesAccountsOperations.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/ICognitiveServicesAccountsOperations.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/ICognitiveServicesAccountsOperations.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/ICognitiveServicesAccountsOperations.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/ICognitiveServicesManagementClient.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/ICognitiveServicesManagementClient.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/ICognitiveServicesManagementClient.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/ICognitiveServicesManagementClient.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/IOperations.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/IOperations.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/IOperations.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/IOperations.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CheckSkuAvailabilityParameter.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CheckSkuAvailabilityParameter.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CheckSkuAvailabilityParameter.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CheckSkuAvailabilityParameter.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CheckSkuAvailabilityResult.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CheckSkuAvailabilityResult.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CheckSkuAvailabilityResult.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CheckSkuAvailabilityResult.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CheckSkuAvailabilityResultList.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CheckSkuAvailabilityResultList.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CheckSkuAvailabilityResultList.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CheckSkuAvailabilityResultList.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CognitiveServicesAccount.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CognitiveServicesAccount.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CognitiveServicesAccount.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CognitiveServicesAccount.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountCreateParameters.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountCreateParameters.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountCreateParameters.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountCreateParameters.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountEnumerateSkusResult.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountEnumerateSkusResult.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountEnumerateSkusResult.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountEnumerateSkusResult.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountKeys.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountKeys.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountKeys.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountKeys.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountUpdateParameters.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountUpdateParameters.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountUpdateParameters.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CognitiveServicesAccountUpdateParameters.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CognitiveServicesResourceAndSku.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CognitiveServicesResourceAndSku.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/CognitiveServicesResourceAndSku.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/CognitiveServicesResourceAndSku.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/Error.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/Error.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/Error.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/Error.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/ErrorBody.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/ErrorBody.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/ErrorBody.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/ErrorBody.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/ErrorException.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/ErrorException.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/ErrorException.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/ErrorException.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/KeyName.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/KeyName.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/KeyName.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/KeyName.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/Kind.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/Kind.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/Kind.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/Kind.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/OperationDisplayInfo.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/OperationDisplayInfo.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/OperationDisplayInfo.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/OperationDisplayInfo.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/OperationEntity.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/OperationEntity.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/OperationEntity.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/OperationEntity.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/Page.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/Page.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/Page.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/Page.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/ProvisioningState.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/ProvisioningState.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/ProvisioningState.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/ProvisioningState.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/RegenerateKeyParameters.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/RegenerateKeyParameters.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/RegenerateKeyParameters.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/RegenerateKeyParameters.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/Sku.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/Sku.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/Sku.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/Sku.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/SkuName.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/SkuName.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/SkuName.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/SkuName.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/SkuTier.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/SkuTier.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Models/SkuTier.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Models/SkuTier.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Operations.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Operations.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/Operations.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/Operations.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/OperationsExtensions.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/OperationsExtensions.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Generated/OperationsExtensions.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Generated/OperationsExtensions.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Microsoft.Azure.Management.CognitiveServices.csproj b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Microsoft.Azure.Management.CognitiveServices.csproj similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Microsoft.Azure.Management.CognitiveServices.csproj rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Microsoft.Azure.Management.CognitiveServices.csproj diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/Properties/AssemblyInfo.cs b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/Properties/AssemblyInfo.cs similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/Properties/AssemblyInfo.cs rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/Properties/AssemblyInfo.cs diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/generate.cmd b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/generate.cmd similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/generate.cmd rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/generate.cmd diff --git a/src/SDKs/CognitiveServices/Management.CognitiveServices/notice.txt b/src/SDKs/CognitiveServices/management/Management.CognitiveServices/notice.txt similarity index 100% rename from src/SDKs/CognitiveServices/Management.CognitiveServices/notice.txt rename to src/SDKs/CognitiveServices/management/Management.CognitiveServices/notice.txt