diff --git a/CandidateReviewBusinessLogic/BusinessLogic/ReportLogic.cs b/CandidateReviewBusinessLogic/BusinessLogic/ReportLogic.cs new file mode 100644 index 0000000..57aed50 --- /dev/null +++ b/CandidateReviewBusinessLogic/BusinessLogic/ReportLogic.cs @@ -0,0 +1,50 @@ +using CandidateReviewBusinessLogic.OfficePackage; +using CandidateReviewBusinessLogic.OfficePackage.HelperModels; +using CandidateReviewContracts.BindingModels; +using CandidateReviewContracts.BusinessLogicsContracts; +using CandidateReviewContracts.SearchModels; +using CandidateReviewContracts.StoragesContracts; +using CandidateReviewContracts.ViewModels; + +namespace CandidateReviewBusinessLogic.BusinessLogic +{ + public class ReportLogic : IReportLogic + { + private readonly IResumeStorage _resumeStorage; + private readonly IUserStorage _userStorage; + private readonly IVacancyStorage _vacancyStorage; + private readonly AbstractSaveToPdf _saveToPdf; + public ReportLogic(IResumeStorage resumeStorage, AbstractSaveToPdf saveToPdf, IUserStorage userStorage, IVacancyStorage vacancyStorage) + { + _resumeStorage = resumeStorage; + _saveToPdf = saveToPdf; + _userStorage = userStorage; + _vacancyStorage = vacancyStorage; + } + + public ResumeViewModel GetResume(ReportBindingModel model) + { + var resume = _resumeStorage.GetElement(new ResumeSearchModel + { + Id = model.ResumeId + }); + resume.UserName = _userStorage.GetElement(new UserSearchModel { Id = resume.UserId }).Surname + " " + _userStorage.GetElement(new UserSearchModel { Id = resume.UserId }).Name + " " + _userStorage.GetElement(new UserSearchModel { Id = resume.UserId }).LastName; + resume.VacancyName = _vacancyStorage.GetElement(new VacancySearchModel { Id = resume.VacancyId }).JobTitle; + if (resume != null) + { + return resume; + } + return null; + } + + public void SaveResumeToPdf(ReportBindingModel model) + { + _saveToPdf.CreateDocReportResume(new PdfInfo + { + FileName = model.FileName, + Title = GetResume(model).VacancyName, + Resume = GetResume(model) + }); + } + } +} diff --git a/CandidateReviewBusinessLogic/CandidateReviewBusinessLogic.csproj b/CandidateReviewBusinessLogic/CandidateReviewBusinessLogic.csproj index d7cb571..6503ffa 100644 --- a/CandidateReviewBusinessLogic/CandidateReviewBusinessLogic.csproj +++ b/CandidateReviewBusinessLogic/CandidateReviewBusinessLogic.csproj @@ -8,6 +8,8 @@ + + diff --git a/CandidateReviewBusinessLogic/OfficePackage/AbstractSaveToPdf.cs b/CandidateReviewBusinessLogic/OfficePackage/AbstractSaveToPdf.cs new file mode 100644 index 0000000..24bfd96 --- /dev/null +++ b/CandidateReviewBusinessLogic/OfficePackage/AbstractSaveToPdf.cs @@ -0,0 +1,102 @@ +using CandidateReviewBusinessLogic.OfficePackage.HelperEnums; +using CandidateReviewBusinessLogic.OfficePackage.HelperModels; + +namespace CandidateReviewBusinessLogic.OfficePackage +{ + public abstract class AbstractSaveToPdf + { + public void CreateDocReportResume(PdfInfo info) + { + CreatePdf(info); + + // Заголовок резюме + CreateParagraph(new PdfParagraph + { + Text = $"Резюме: {info.Title}", + Style = "NormalTitle", + ParagraphAlignment = PdfParagraphAlignmentType.Center + }); + + // ФИО и вакансия + CreateParagraph(new PdfParagraph + { + Text = $"ФИО: {info.Resume.UserName ?? "Не указано"}", + Style = "Normal", + ParagraphAlignment = PdfParagraphAlignmentType.Left + }); + + CreateParagraph(new PdfParagraph + { + Text = $"Вакансия: {info.Resume.VacancyName ?? "Не указано"}", + Style = "Normal", + ParagraphAlignment = PdfParagraphAlignmentType.Left + }); + + // Образование + CreateParagraph(new PdfParagraph + { + Text = "Образование:", + Style = "Subtitle", + ParagraphAlignment = PdfParagraphAlignmentType.Left + }); + + CreateParagraph(new PdfParagraph + { + Text = info.Resume.Education ?? "Не указано", + Style = "Normal", + ParagraphAlignment = PdfParagraphAlignmentType.Left + }); + + // Опыт работы + CreateParagraph(new PdfParagraph + { + Text = "Опыт работы:", + Style = "Subtitle", + ParagraphAlignment = PdfParagraphAlignmentType.Left + }); + + CreateParagraph(new PdfParagraph + { + Text = info.Resume.Experience ?? "Не указано", + Style = "Normal", + ParagraphAlignment = PdfParagraphAlignmentType.Left + }); + + // Навыки + CreateParagraph(new PdfParagraph + { + Text = "Навыки:", + Style = "Subtitle", + ParagraphAlignment = PdfParagraphAlignmentType.Left + }); + + CreateParagraph(new PdfParagraph + { + Text = info.Resume.Skills ?? "Не указано", + Style = "Normal", + ParagraphAlignment = PdfParagraphAlignmentType.Left + }); + + // Описание + CreateParagraph(new PdfParagraph + { + Text = "Описание:", + Style = "Subtitle", + ParagraphAlignment = PdfParagraphAlignmentType.Left + }); + + CreateParagraph(new PdfParagraph + { + Text = info.Resume.Description ?? "Не указано", + Style = "Normal", + ParagraphAlignment = PdfParagraphAlignmentType.Left + }); + + SavePdf(info); + } + + protected abstract void CreatePdf(PdfInfo info); + protected abstract void CreateParagraph(PdfParagraph paragraph); + protected abstract void SavePdf(PdfInfo info); + } +} diff --git a/CandidateReviewBusinessLogic/OfficePackage/HelperEnums/PdfParagraphAlignmentType.cs b/CandidateReviewBusinessLogic/OfficePackage/HelperEnums/PdfParagraphAlignmentType.cs new file mode 100644 index 0000000..f69d881 --- /dev/null +++ b/CandidateReviewBusinessLogic/OfficePackage/HelperEnums/PdfParagraphAlignmentType.cs @@ -0,0 +1,9 @@ +namespace CandidateReviewBusinessLogic.OfficePackage.HelperEnums +{ + public enum PdfParagraphAlignmentType + { + Center, + Left, + Right + } +} diff --git a/CandidateReviewBusinessLogic/OfficePackage/HelperModels/PdfInfo.cs b/CandidateReviewBusinessLogic/OfficePackage/HelperModels/PdfInfo.cs new file mode 100644 index 0000000..f074589 --- /dev/null +++ b/CandidateReviewBusinessLogic/OfficePackage/HelperModels/PdfInfo.cs @@ -0,0 +1,13 @@ +using CandidateReviewContracts.ViewModels; + +namespace CandidateReviewBusinessLogic.OfficePackage.HelperModels +{ + public class PdfInfo + { + public string FileName { get; set; } = string.Empty; + public string Title { get; set; } = string.Empty; + public DateTime DateFrom { get; set; } + public DateTime DateTo { get; set; } + public ResumeViewModel Resume { get; set; } = new(); + } +} diff --git a/CandidateReviewBusinessLogic/OfficePackage/HelperModels/PdfParagraph.cs b/CandidateReviewBusinessLogic/OfficePackage/HelperModels/PdfParagraph.cs new file mode 100644 index 0000000..d2c98bc --- /dev/null +++ b/CandidateReviewBusinessLogic/OfficePackage/HelperModels/PdfParagraph.cs @@ -0,0 +1,11 @@ +using CandidateReviewBusinessLogic.OfficePackage.HelperEnums; + +namespace CandidateReviewBusinessLogic.OfficePackage.HelperModels +{ + public class PdfParagraph + { + public string Text { get; set; } = string.Empty; + public string Style { get; set; } = string.Empty; + public PdfParagraphAlignmentType ParagraphAlignment { get; set; } + } +} diff --git a/CandidateReviewBusinessLogic/OfficePackage/Implements/SaveToPdf.cs b/CandidateReviewBusinessLogic/OfficePackage/Implements/SaveToPdf.cs new file mode 100644 index 0000000..c82eaea --- /dev/null +++ b/CandidateReviewBusinessLogic/OfficePackage/Implements/SaveToPdf.cs @@ -0,0 +1,76 @@ +using CandidateReviewBusinessLogic.OfficePackage.HelperEnums; +using CandidateReviewBusinessLogic.OfficePackage.HelperModels; +using MigraDoc.DocumentObjectModel; +using MigraDoc.DocumentObjectModel.Tables; +using MigraDoc.Rendering; + +namespace CandidateReviewBusinessLogic.OfficePackage.Implements +{ + public class SaveToPdf : AbstractSaveToPdf + { + private Document? _document; + private Section? _section; + private static ParagraphAlignment + GetParagraphAlignment(PdfParagraphAlignmentType type) + { + return type switch + { + PdfParagraphAlignmentType.Center => ParagraphAlignment.Center, + PdfParagraphAlignmentType.Left => ParagraphAlignment.Left, + PdfParagraphAlignmentType.Right => ParagraphAlignment.Right, + _ => ParagraphAlignment.Justify, + }; + } + + private static void DefineStyles(Document document) + { + var style = document.Styles["Normal"]; + style.Font.Name = "Times New Roman"; + style.Font.Size = 14; + style.Font.Color = Colors.Black; + + style = document.Styles.AddStyle("NormalTitle", "Normal"); + style.Font.Size = 16; + style.Font.Bold = true; + + style = document.Styles.AddStyle("Subtitle", "Normal"); + style.Font.Size = 14; + style.Font.Bold = true; + style.ParagraphFormat.SpaceBefore = "0.5cm"; + style.ParagraphFormat.SpaceAfter = "0.2cm"; + + document.DefaultPageSetup.TopMargin = "2.5cm"; + document.DefaultPageSetup.BottomMargin = "2.5cm"; + document.DefaultPageSetup.LeftMargin = "2cm"; + document.DefaultPageSetup.RightMargin = "2cm"; + } + + protected override void CreatePdf(PdfInfo info) + { + _document = new Document(); + DefineStyles(_document); + _section = _document.AddSection(); + } + protected override void CreateParagraph(PdfParagraph pdfParagraph) + { + if (_section == null) + { + return; + } + var paragraph = _section.AddParagraph(pdfParagraph.Text); + paragraph.Format.SpaceAfter = "1cm"; + paragraph.Format.Alignment = GetParagraphAlignment(pdfParagraph.ParagraphAlignment); + paragraph.Style = pdfParagraph.Style; + } + + protected override void SavePdf(PdfInfo info) + { + var renderer = new PdfDocumentRenderer(true) + { + Document = _document + }; + renderer.RenderDocument(); + renderer.PdfDocument.Save(info.FileName); + } + } +} diff --git a/CandidateReviewClientApp/Controllers/AssessmentController.cs b/CandidateReviewClientApp/Controllers/AssessmentController.cs index d25eb8c..cbf5a29 100644 --- a/CandidateReviewClientApp/Controllers/AssessmentController.cs +++ b/CandidateReviewClientApp/Controllers/AssessmentController.cs @@ -83,6 +83,18 @@ namespace CandidateReviewClientApp.Controllers { throw new Exception("Пользователь не найден"); } + APIClient.PostRequest($"api/resume/update", new ResumeBindingModel + { + Id = resume.Id, + Description = resume.Description, + Education = resume.Education, + Experience = resume.Experience, + Skills = resume.Skills, + Status = CandidateReviewDataModels.Enums.ResumeStatusEnum.Оценено, + Title = resume.Title, + UserId = resume.UserId, + VacancyId = resume.VacancyId + }); return Redirect($"~/Resume/ResumeDetails/{resumeId}"); } catch (Exception ex) diff --git a/CandidateReviewClientApp/Controllers/ResumeController.cs b/CandidateReviewClientApp/Controllers/ResumeController.cs index df88bed..71a5851 100644 --- a/CandidateReviewClientApp/Controllers/ResumeController.cs +++ b/CandidateReviewClientApp/Controllers/ResumeController.cs @@ -1,5 +1,6 @@ using CandidateReviewClientApp.Models; using CandidateReviewContracts.BindingModels; +using CandidateReviewContracts.BusinessLogicsContracts; using CandidateReviewContracts.ViewModels; using Microsoft.AspNetCore.Mvc; using System.Diagnostics; @@ -15,6 +16,37 @@ namespace CandidateReviewClientApp.Controllers _logger = logger; } + [HttpGet] + public IActionResult GetReport(int id) + { + if (APIClient.User == null) + { + return Redirect("~Home/Enter"); + } + + // Получение данных резюме + var resume = APIClient.GetRequest($"/api/resume/details?id={id}"); + if (resume == null) + { + return NotFound("Резюме не найдено."); + } + + var reportFilePath = $"C:\\Users\\User\\source\\repos\\CandidateReview\\Резюме_{resume.UserName}.pdf"; + + APIClient.PostRequest("api/report/resume", new ReportBindingModel + { + ResumeId = resume.Id, + FileName = reportFilePath + }); + + if (!System.IO.File.Exists(reportFilePath)) + { + return NotFound("Файл отчета не найден."); + } + + return PhysicalFile(reportFilePath, "application/pdf", $"Resume_{resume.UserName}.pdf"); + } + [HttpGet] public async Task ResumeDetails(int? id) { diff --git a/CandidateReviewClientApp/Views/Company/CompanyProfile.cshtml b/CandidateReviewClientApp/Views/Company/CompanyProfile.cshtml index f8f33a8..6f0dfd7 100644 --- a/CandidateReviewClientApp/Views/Company/CompanyProfile.cshtml +++ b/CandidateReviewClientApp/Views/Company/CompanyProfile.cshtml @@ -13,7 +13,7 @@ Логотип компании -
+
@Model.Name

@((Model.Description ?? "Описание отсутствует"))

@@ -40,7 +40,7 @@
@((Model.Address?.ToString() ?? "Адрес не указан"))
Контакты:
-
@((Model.Contacts?.ToString() ?? "Контакты не указаны"))
+
@((Model.Contacts ?? "Контакты не указаны"))
diff --git a/CandidateReviewClientApp/Views/Company/EditCompanyProfile.cshtml b/CandidateReviewClientApp/Views/Company/EditCompanyProfile.cshtml index 631d595..dd217ff 100644 --- a/CandidateReviewClientApp/Views/Company/EditCompanyProfile.cshtml +++ b/CandidateReviewClientApp/Views/Company/EditCompanyProfile.cshtml @@ -46,7 +46,7 @@
- +
diff --git a/CandidateReviewClientApp/Views/Resume/ResumeDetails.cshtml b/CandidateReviewClientApp/Views/Resume/ResumeDetails.cshtml index 8949585..c182334 100644 --- a/CandidateReviewClientApp/Views/Resume/ResumeDetails.cshtml +++ b/CandidateReviewClientApp/Views/Resume/ResumeDetails.cshtml @@ -18,6 +18,7 @@
+ Скачать PDF
diff --git a/CandidateReviewContracts/BindingModels/ReportBindingModel.cs b/CandidateReviewContracts/BindingModels/ReportBindingModel.cs index 111cd9b..5863956 100644 --- a/CandidateReviewContracts/BindingModels/ReportBindingModel.cs +++ b/CandidateReviewContracts/BindingModels/ReportBindingModel.cs @@ -5,5 +5,6 @@ public string FileName { get; set; } = string.Empty; public DateTime? DateFrom { get; set; } public DateTime? DateTo { get; set; } + public int ResumeId { get; set; } } } diff --git a/CandidateReviewContracts/BusinessLogicsContracts/IReportLogic.cs b/CandidateReviewContracts/BusinessLogicsContracts/IReportLogic.cs index bfba23b..6b4e6e6 100644 --- a/CandidateReviewContracts/BusinessLogicsContracts/IReportLogic.cs +++ b/CandidateReviewContracts/BusinessLogicsContracts/IReportLogic.cs @@ -1,32 +1,9 @@ -namespace CandidateReviewContracts.BusinessLogicsContracts +using CandidateReviewContracts.BindingModels; + +namespace CandidateReviewContracts.BusinessLogicsContracts { public interface IReportLogic - { - /*/// - /// Получение списка компонент с указанием, в каких изделиях используются - /// - /// - List GetEngineComponent(); - /// - /// Получение списка заказов за определенный период - /// - /// - /// - List GetOrders(ReportBindingModel model); - /// - /// Сохранение компонент в файл-Word - /// - /// - void SaveEnginesToWordFile(ReportBindingModel model); - /// - /// Сохранение компонент с указаеним продуктов в файл-Excel - /// - /// - void SaveEngineComponentToExcelFile(ReportBindingModel model); - /// - /// Сохранение заказов в файл-Pdf - /// - /// - void SaveOrdersToPdfFile(ReportBindingModel model);*/ + { + void SaveResumeToPdf(ReportBindingModel model); } } diff --git a/CandidateReviewContracts/ViewModels/ReportResumeViewModel.cs b/CandidateReviewContracts/ViewModels/ReportResumeViewModel.cs new file mode 100644 index 0000000..c762cd5 --- /dev/null +++ b/CandidateReviewContracts/ViewModels/ReportResumeViewModel.cs @@ -0,0 +1,7 @@ +namespace CandidateReviewContracts.ViewModels +{ + public class ReportResumeViewModel + { + + } +} diff --git a/CandidateReviewDataModels/Enums/ResumeStatusEnum.cs b/CandidateReviewDataModels/Enums/ResumeStatusEnum.cs index 5f42233..f311e16 100644 --- a/CandidateReviewDataModels/Enums/ResumeStatusEnum.cs +++ b/CandidateReviewDataModels/Enums/ResumeStatusEnum.cs @@ -4,8 +4,6 @@ { Черновик = 0, Обрабатывается = 1, - Принято = 2, - Отклонено = 3, - Архив = 4 + Оценено = 2 } } diff --git a/CandidateReviewRestApi/Controllers/ReportController.cs b/CandidateReviewRestApi/Controllers/ReportController.cs new file mode 100644 index 0000000..157537b --- /dev/null +++ b/CandidateReviewRestApi/Controllers/ReportController.cs @@ -0,0 +1,30 @@ +using CandidateReviewContracts.BindingModels; +using CandidateReviewContracts.BusinessLogicsContracts; +using Microsoft.AspNetCore.Mvc; + +namespace CandidateReviewRestApi.Controllers +{ + [Route("api/[controller]/[action]")] + [ApiController] + public class ReportController : Controller + { + private readonly IReportLogic _reportLogic; + public ReportController(IReportLogic reportLogic) + { + _reportLogic = reportLogic; + } + + [HttpPost] + public void Resume(ReportBindingModel model) + { + try + { + _reportLogic.SaveResumeToPdf(model); + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + } + } +} diff --git a/CandidateReviewRestApi/Program.cs b/CandidateReviewRestApi/Program.cs index 74aa185..b6701a2 100644 --- a/CandidateReviewRestApi/Program.cs +++ b/CandidateReviewRestApi/Program.cs @@ -1,4 +1,6 @@ using CandidateReviewBusinessLogic.BusinessLogic; +using CandidateReviewBusinessLogic.OfficePackage; +using CandidateReviewBusinessLogic.OfficePackage.Implements; using CandidateReviewContracts.BusinessLogicsContracts; using CandidateReviewContracts.StoragesContracts; using CandidateReviewDatabaseImplement.Implements; @@ -27,6 +29,10 @@ builder.Services.AddTransient(); builder.Services.AddTransient(); builder.Services.AddTransient(); +builder.Services.AddTransient(); + +builder.Services.AddTransient(); + builder.Services.AddControllers(); // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); diff --git a/Resume_k j.pdf b/Resume_k j.pdf new file mode 100644 index 0000000..3668752 Binary files /dev/null and b/Resume_k j.pdf differ diff --git a/Resume_Татьяна Артамонова.pdf b/Resume_Татьяна Артамонова.pdf new file mode 100644 index 0000000..38b14a5 Binary files /dev/null and b/Resume_Татьяна Артамонова.pdf differ diff --git a/Резюме_Пользователь Тест.pdf b/Резюме_Пользователь Тест.pdf new file mode 100644 index 0000000..097c38f --- /dev/null +++ b/Резюме_Пользователь Тест.pdf @@ -0,0 +1,699 @@ +%PDF-1.4 +% +1 0 obj +<< +/CreationDate(D:20241214201221+04'00') +/Creator(empira MigraDoc 1.50.4740 \(www.migradoc.com\)) +/Producer(PDFsharp 1.50.4740 \(www.pdfsharp.com\)) +>> +endobj +2 0 obj +<< +/Type/Catalog +/Pages 3 0 R +>> +endobj +3 0 obj +<< +/Type/Pages +/Count 1 +/Kids[4 0 R] +>> +endobj +4 0 obj +<< +/Type/Page +/MediaBox[0 0 595.276 841.89] +/Parent 3 0 R +/Contents 5 0 R +/Resources +<< +/ProcSet [/PDF/Text/ImageB/ImageC/ImageI] +/ExtGState +<< +/GS0 6 0 R +>> +/Font +<< +/F0 10 0 R +/F1 14 0 R +>> +>> +/Group +<< +/CS/DeviceRGB +/S/Transparency +>> +>> +endobj +5 0 obj +<< +/Length 5823 +>> +stream +q +q +BT +0 0 0 rg +/GS0 gs +/F0 16 Tf +204.6886 756.0862 Td <024A025F026102780266025F001D> Tj +62.8594 0 Td <0249026A0268025D026A025A026602660262026B026C> Tj +103.4844 0 Td <00260006> Tj +/F1 14 Tf +-314.3394 -44.8777 Td <024E02420248001D> Tj +38.6709 0 Td <024C025F026B026C> Tj +30.5977 0 Td <024902680265027602610268025C025A026C025F02650276> Tj +-69.2686 -44.4451 Td <023C025A0264025A0267026B02620279001D> Tj +63.5947 0 Td <0249026A0268025D026A025A026602660262026B026C> Tj +84.1094 0 Td <00260006> Tj +/F0 14 Tf +-147.7041 -44.4451 Td <0248025B026A025A02610268025C025A02670262025F001D> Tj +/F1 14 Tf +0 -44.4451 Td <023C0275026B0272025F025F> Tj +51.666 0 Td <024D0265023D024C024D> Tj +/F0 14 Tf +-51.666 -44.4451 Td <024802690275026C> Tj +40.2637 0 Td <026A025A025B0268026C0275001D> Tj +/F1 14 Tf +-40.2637 -44.4451 Td <0267025F026C> Tj +/F0 14 Tf +0 -44.4451 Td <0247025A025C027502640262001D> Tj +/F1 14 Tf +0 -44.4451 Td <024A025A0261026A025A025B0268026C0264025A> Tj +69.501 0 Td <0267025A> Tj +17.2061 0 Td <00260006> Tj +19.8379 0 Td <0262> Tj +10.9922 0 Td <0011003100280037001D> Tj +38.1035 0 Td <026802690275026C> Tj +33.5166 0 Td <026B02680261025E025A026702620279> Tj +57.0049 0 Td <0269026A0262026502680260025F026702620263> Tj +77.834 0 Td <026B> Tj +9.7139 0 Td <0262026B026902680265027602610268025C025A02670262025F0266> Tj +100.4814 0 Td <0011003100280037> Tj +-434.1914 -16.0986 Td <00290055004400500048005A00520055004E> Tj +68.0381 0 Td <0262> Tj +10.9922 0 Td <0011003100280037> Tj +34.2139 0 Td <0026005200550048000F> Tj +34.2139 0 Td <025C0264026502780271025A0279> Tj +54.0518 0 Td <003A00330029000F> Tj +35.7861 0 Td <0024003600330011003100280037> Tj +59.8965 0 Td <0026005200550048> Tj +30.7139 0 Td <0262> Tj +10.9922 0 Td <0025004F0044005D005200550011> Tj +-338.8984 -16.0986 Td <023B025A02610275> Tj +32.6895 0 Td <025E025A026702670275026F001D> Tj +52.1172 0 Td <026D025C025F026A025F02670267025A0279> Tj +64.1758 0 Td <026A025A025B0268026C025A> Tj +43.1689 0 Td <026B> Tj +9.7139 0 Td <00300036> Tj +23.7344 0 Td <00360034002F> Tj +29.9482 0 Td <003600480055005900480055> Tj +40.0381 0 Td <0262> Tj +10.9922 0 Td <0033005200560057004A0055004800360034002F> Tj +71.9482 0 Td <000B0261025A0269026A0268026B0275000F> Tj +-378.5264 -16.0986 Td <02680269026C0262026602620261025A027002620279000F> Tj +84.6221 0 Td <0269026A0268025F0264026C0262026A0268025C025A02670262025F> Tj +99.6406 0 Td <026B026F025F0266> Tj +31.7871 0 Td <025E025A026702670275026F000C0011> Tj +-216.0498 -16.0986 Td <00240033002C> Tj +26.0586 0 Td <0262> Tj +10.9922 0 Td <02620267026C025F025D026A025A027002620262001D> Tj +76.1387 0 Td <026A025A0261026A025A025B0268026C0264025A> Tj +68.7148 0 Td <0262> Tj +10.9922 0 Td <026C025F026B026C0262026A0268025C025A02670262025F> Tj +83.6787 0 Td <0035002800360037> Tj +37.7275 0 Td <00240033002C000F> Tj +29.5586 0 Td <026A025A025B0268026C025A> Tj +43.1689 0 Td <026B> Tj +9.7139 0 Td <026B026C0268026A026802670267026202660262> Tj +-396.7441 -16.0986 Td <025B0262025B026502620268026C025F0264025A02660262> Tj +88.416 0 Td <0262> Tj +10.9922 0 Td <026B025F026A025C0262026B025A02660262> Tj +65.8096 0 Td <000B0267025A0269026A02620266025F026A000F> Tj +69.4258 0 Td <0036005A0044004A004A00480055000F> Tj +55.9863 0 Td <002D003600320031000F> Tj +40.4551 0 Td <003B0030002F000C0011> Tj +-331.085 -16.0986 Td <024B0262026B026C025F02660275> Tj +57.1416 0 Td <026402680267026C026A026802650279> Tj +58.3379 0 Td <025C025F026A026B02620263001D> Tj +48.4121 0 Td <026802690275026C> Tj +33.5166 0 Td <026A025A025B0268026C0275> Tj +46.3613 0 Td <026B> Tj +9.7139 0 Td <002A004C0057> Tj +21.3896 0 Td <000B002A004C0057002B00580045000F> Tj +53.6621 0 Td <002A004C0057002F00440045000F> Tj +46.6553 0 Td <0025004C0057004500580046004E00480057000C000F> Tj +-375.1904 -16.0986 Td <0267025A026B026C026A026802630264025A> Tj +64.0459 0 Td <025C025F026C025C0265025F026702620263000F> Tj +68.2295 0 Td <026A025A0261026A025F0272025F02670262025F> Tj +73.6504 0 Td <026402680267026E026502620264026C0268025C0011> Tj +-205.9258 -16.0986 Td <0249026A026202670270026202690275> Tj +67.4775 0 Td <026A025A0261026A025A025B0268026C02640262001D> Tj +73.8828 0 Td <026B0265025F025E0268025C025A02670262025F> Tj +71.0596 0 Td <0269026A02620267027002620269025A0266> Tj +70.5264 0 Td <024802480249000F> Tj +37.3311 0 Td <00360032002F002C0027000F> Tj +48.2207 0 Td <0269025A026C026C025F026A0267025A0266> Tj +-368.498 -16.0986 Td <0269026A0268025F0264026C0262026A0268025C025A026702620279> Tj +99.8662 0 Td <000B0036004C0051004A004F0048005700520051000F> Tj +65.3311 0 Td <002900440046005700520055005C000F> Tj +49.7656 0 Td <00350048005300520056004C005700520055005C000C0011> Tj +/F0 14 Tf +-214.9629 -44.4451 Td <024802690262026B025A02670262025F001D> Tj +/F1 14 Tf +0 -44.4451 Td <02460268026C0262025C0262026A0268025C025A0267026702750263> Tj +109.3682 0 Td <0262> Tj +10.9922 0 Td <0270025F0265025F026D026B026C026A025F02660265025F0267026702750263> Tj +116.8945 0 Td <0269026A0268025D026A025A026602660262026B026C> Tj +81.4912 0 Td <00260006> Tj +19.8379 0 Td <026B> Tj +9.7139 0 Td <025B02680265025F025F> Tj +37.0371 0 Td <0271025F0266> Tj +25.6143 0 Td <0015> Tj +10.5 0 Td <025D0268025E025A02660262> Tj +-421.4492 -16.0986 Td <026802690275026C025A> Tj +39.7305 0 Td <026A025A0261026A025A025B0268026C02640262> Tj +69.9932 0 Td <0269026A0268025D026A025A0266026602670268025D0268> Tj +88.9014 0 Td <0268025B025F026B0269025F0271025F0267026202790011> Tj +81.9355 0 Td <024D0271025A026B026C025C0268025C025A0265> Tj +72.4199 0 Td <025C> Tj +10.1104 0 Td <026B02680261025E025A026702620262> Tj +-363.0908 -16.0986 Td <026A025A026102650262027102670275026F> Tj +67.6621 0 Td <0269026A0262026502680260025F026702620263001D> Tj +81.7236 0 Td <0268026C> Tj +16.6182 0 Td <025C025F025B0010> Tj +24.6094 0 Td <026B025A0263026C0268025C> Tj +43.1484 0 Td <025E0268> Tj +17.623 0 Td <02640268026A02690268026A025A026C0262025C02670275026F> Tj +96.127 0 Td <026A025F0272025F0267026202630011> Tj +ET +Q +Q +endstream +endobj +6 0 obj +<< +/Type/ExtGState +/ca 1 +>> +endobj +7 0 obj +<< +/Type/FontDescriptor +/Ascent 891 +/CapHeight 662 +/Descent 216 +/Flags 32 +/FontBBox[-558 -328 2000 1056] +/ItalicAngle 0 +/StemV 0 +/XHeight 457 +/FontName/MDQFGI+Times#20New#20Roman,Bold +/FontFile2 15 0 R +>> +endobj +8 0 obj +<< +/Length 807 +>> +stream +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo << /Registry (Adobe)/Ordering (UCS)/Supplement 0>> def +/CMapName /Adobe-Identity-UCS def /CMapType 2 def +1 begincodespacerange +<0006><0278> +endcodespacerange +24 beginbfrange +<024A><024A><0420> +<025F><025F><0435> +<0261><0261><0437> +<0278><0278><044E> +<0266><0266><043C> +<001D><001D><003A> +<0249><0249><041F> +<026A><026A><0440> +<0268><0268><043E> +<025D><025D><0433> +<025A><025A><0430> +<0262><0262><0438> +<026B><026B><0441> +<026C><026C><0442> +<0026><0026><0043> +<0006><0006><0023> +<0248><0248><041E> +<025B><025B><0431> +<025C><025C><0432> +<0267><0267><043D> +<0269><0269><043F> +<0275><0275><044B> +<0247><0247><041D> +<0264><0264><043A> +endbfrange +endcmap CMapName currentdict /CMap defineresource pop end end +endstream +endobj +9 0 obj +<< +/Type/Font +/Subtype/CIDFontType2 +/CIDSystemInfo +<< +/Ordering(Identity) +/Registry(Adobe) +/Supplement 0 +>> +/FontDescriptor 7 0 R +/BaseFont/MDQFGI+Times#20New#20Roman,Bold +/W [6[500]29[333]38[722]583[777]584[777]585[777]586[610]602[500]603[500]604[540]605[454]607[443]609[401]610[576]612[576]614[681]615[576]616[500]617[576]618[556]619[443]620[491]629[780]632[764]] +>> +endobj +10 0 obj +<< +/Type/Font +/Subtype/Type0 +/Encoding/Identity-H +/ToUnicode 8 0 R +/BaseFont/MDQFGI+Times#20New#20Roman,Bold +/DescendantFonts[9 0 R] +>> +endobj +11 0 obj +<< +/Type/FontDescriptor +/Ascent 891 +/CapHeight 662 +/Descent 216 +/Flags 32 +/FontBBox[-568 -307 2046 1040] +/ItalicAngle 0 +/StemV 0 +/XHeight 447 +/FontName/SNFKNA+Times#20New#20Roman +/FontFile2 16 0 R +>> +endobj +12 0 obj +<< +/Length 2127 +>> +stream +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo << /Registry (Adobe)/Ordering (UCS)/Supplement 0>> def +/CMapName /Adobe-Identity-UCS def /CMapType 2 def +1 begincodespacerange +<0006><0279> +endcodespacerange +90 beginbfrange +<024E><024E><0424> +<0242><0242><0418> +<0248><0248><041E> +<001D><001D><003A> +<024C><024C><0422> +<025F><025F><0435> +<026B><026B><0441> +<026C><026C><0442> +<0249><0249><041F> +<0268><0268><043E> +<0265><0265><043B> +<0276><0276><044C> +<0261><0261><0437> +<025C><025C><0432> +<025A><025A><0430> +<023C><023C><0412> +<0264><0264><043A> +<0267><0267><043D> +<0262><0262><0438> +<0279><0279><044F> +<026A><026A><0440> +<025D><025D><0433> +<0266><0266><043C> +<0026><0026><0043> +<0006><0006><0023> +<0275><0275><044B> +<0272><0272><0448> +<024D><024D><0423> +<023D><023D><0413> +<024A><024A><0420> +<025B><025B><0431> +<0011><0011><002E> +<0031><0031><004E> +<0028><0028><0045> +<0037><0037><0054> +<0269><0269><043F> +<025E><025E><0434> +<0260><0260><0436> +<0263><0263><0439> +<0029><0029><0046> +<0055><0055><0072> +<0044><0044><0061> +<0050><0050><006D> +<0048><0048><0065> +<005A><005A><0077> +<0052><0052><006F> +<004E><004E><006B> +<000F><000F><002C> +<0278><0278><044E> +<0271><0271><0447> +<003A><003A><0057> +<0033><0033><0050> +<0024><0024><0041> +<0036><0036><0053> +<0025><0025><0042> +<004F><004F><006C> +<005D><005D><007A> +<023B><023B><0411> +<026F><026F><0445> +<026D><026D><0443> +<0030><0030><004D> +<0034><0034><0051> +<002F><002F><004C> +<0059><0059><0076> +<0056><0056><0073> +<0057><0057><0074> +<004A><004A><0067> +<000B><000B><0028> +<0270><0270><0446> +<000C><000C><0029> +<002C><002C><0049> +<0035><0035><0052> +<002D><002D><004A> +<0032><0032><004F> +<003B><003B><0058> +<024B><024B><0421> +<002A><002A><0047> +<004C><004C><0069> +<002B><002B><0048> +<0058><0058><0075> +<0045><0045><0062> +<0046><0046><0063> +<026E><026E><0444> +<0027><0027><0044> +<0051><0051><006E> +<005C><005C><0079> +<0053><0053><0070> +<0246><0246><041C> +<0015><0015><0032> +<0010><0010><002D> +endbfrange +endcmap CMapName currentdict /CMap defineresource pop end end +endstream +endobj +13 0 obj +<< +/Type/Font +/Subtype/CIDFontType2 +/CIDSystemInfo +<< +/Ordering(Identity) +/Registry(Adobe) +/Supplement 0 +>> +/FontDescriptor 11 0 R +/BaseFont/SNFKNA+Times#20New#20Roman +/W [6[500]11[333]12[333]15[250]16[333]17[250]21[500]29[277]36[722]37[666]38[666]39[722]40[610]41[556]42[722]43[722]44[333]45[389]47[610]48[889]49[722]50[722]51[556]52[722]53[666]54[556]55[610]58[943]59[722]68[443]69[500]70[443]72[443]74[500]76[277]78[500]79[277]80[777]81[500]82[500]83[500]85[333]86[389]87[277]88[500]89[500]90[722]92[500]93[443]571[574]572[666]573[578]578[722]582[889]584[722]585[722]586[556]587[666]588[610]589[708]590[790]602[443]603[508]604[472]605[410]606[508]607[443]608[690]609[395]610[535]611[535]612[485]613[499]614[632]615[535]616[500]617[535]618[500]619[443]620[437]621[500]622[647]623[500]624[535]625[502]626[770]629[671]630[456]632[747]633[459]] +>> +endobj +14 0 obj +<< +/Type/Font +/Subtype/Type0 +/Encoding/Identity-H +/ToUnicode 12 0 R +/BaseFont/SNFKNA+Times#20New#20Roman +/DescendantFonts[13 0 R] +>> +endobj +15 0 obj +<< +/Length1 56112 +/Filter/FlateDecode +/Length 21689 +>> +stream +x xTE7~.ӝtY !4Ke"n:bp}T܉23_U!8' >UuV:uΩ1"2j>o3>r xғOtv#2ԟ ""o,Z0gs*EHp)(_C<3n۟#S%HkOF "^}ڜ7N>.]`4kv!xk[ +ߓH |RS(~GvpOR>i; L |AqN^R +)D㨙<4>aЗ.dNQ0Fi_Ѕ7v +mDX +h<IԬ=wQO,,}ӥA͠QK3GkLz`'jY4N #=N{elj2fd.V(j-C3.#Q>)4j_S>W# +NwVzX<Ҩjh\6ѷGعl݅ y)W}KݯCN-]Gwѓ4}dx1Qt { +0ecP|)j: } +)^Zw]=Da u7'bDE:K@Z%oS +oji2PЯo&ƫM`oH%ڹho-B/ݴe*33+s `гs-i\y^[]IZEt1=LGuL,Cz̮dWgWJL^٨<RSW{u^OZH}a24EMBv]dl'ž`߰K>i{Q+.9[.Gʷ/*;ʏ9]o-UhWkhjb 4ҵsy-]M%zr[Ҕ+` l;cײسCHJy-JcitH!y|A~MAYw߰1x?%~}f +h0*i8dn,Fy>ws[ 9h =Jы+.'H.3 2~mi`l5rv~of?n1}"D&BΒIJWHe ]#.;\ 7'˗6AJ2L,Vv*1,uzGN)Խfpbhl6N6^n=f*SDM)GP4~j8e3h$4袘6SQFe6yh;\^5;Awi4i슏EX9S]^>>>d@gcތQjgZ167tq2i)t`!p`Fr9jYC1 y3;IO[9^yx )tE))Xzv} +͡vZ67soHl3lV)HPu8](7FT~$*7i),0 R5}kE+lGyDBm˚ջa} ɣNA߁%{iMƑ~eilɱCjT(п8Zԯ ?9Y 7v9v[Z5b6 "KBm۔%<9=fxdl-xdr.3:+)6m/ ;،IrdhzS'"pn. +|F`C[EfDuS,#B#XJi%ڼw(0xDT4-34-#4M4̙|ytݺKmOi.>ui^&;>IO.+'W-5٧̡EN\Fǭݒۦ̆Bm9#6iq+3b#o;ݜfԞDHdqus@ ڂhɴT?TӺyȆ cDNi3>mj + }GS ă\NE ϓhqm*U%+:BKA9|\DVOi ʢۤɎduIw!Hbi3w] _x |qfL 6v#bPk4/!/ʙݙydMA R)RX>{ts%7WR.7mpx#g]'J4nu,GM #ڡ=rqttb ihlӶal-F>}sϦm DSy"y+$ňVHyD)h^H'^/^ס$Ēi &<'`G$&~1yZOylz ,xY*g5%!b.Ree ӒFfu5M誣z1#RPPq(ҏTv]TTؒؓ)jJ_(̰rd* hRv7hwz 7Mv{$O/Ud-'oپTٝK58~a?4әh4RRVnHKMX$+JVVvx3223cyd=f˨2lH3R#V d|nOciKK\J9+)#r_Lkd?Nh]䤬NPv%u=>{=T-oR'^?+TU!P!@ȕ+r]3^vGߝv+v>aS8װk]OJXܤ}OQ +|md8]1dq1{ twyQV˯fSiF6Ι˩]&Bs$Cu1|mn7[*:ԠTtf@ׄKүȼyicscrǽRAJòV_Ŀ6aKYY+A4CfcpfizlV92|gmxGLmEL80{"9+㨩w!&d~@qǯ\n2N2Zh tK YHEȜFX4Ѣh YK+h9B"Q"[>ܠ=mŜ)>>yeՓ'پʃEyyc !mp```ٚg5k0ڍe6B`7//YC?QC@MP0N +Ukz|ԘLFSۇKÇ*ͪ`S)p{C[VCdglgGYeP-u-95ʠ41&-bdZGeʕ*s+*Xz.w%E'-ϷP>p8>;phf6*n|3̷i69^gfz +wa%g5&x)k1u95)g|ڡQy,ƌ?Y2Z[v,wI,9\% 謲K6<6~sY#s&3Ɠ͝:?=Z]^CnYXOk6K@~P4315J^SYyEյƛ\W]`Ou<[V%oU}Zb26ǺzTM.4]G7WͶ&kzrS-HTB%PxR56UER=\ ZOhiYo^\&Z ;]; `gMy.Zlf}LrZ^=8+dˊ +&7_!kМBA9dJa<|T+9\v!:]\VEtO,RE9 tDȗrW"aH(lV+S[?eً_|7N/<ò 7|݆S&.ۓN/Wuxцu\{7vĸXͨIhªbfB;[ t=9z}>+'O0,O֜GBy% q`~b{07H/?Ř;ZIˏ2B{yF=1Qicvֆ"@lY,)ܨtkar lM4f aR { j8 5o HE &)]xsr,0Kݳܷ~vUN3h܀i𝷒e>wQ3i~}FFń6ZDpPUŦ-%EncrUUԷF>m{Jj%D!pC!3^B +5-,b[iyS1XӭR+E&D(Ә[T+)jwWS ֆ^{ki)㖂R>#sc4V:tGR5Vz[d ccYU9}Z5[;+:eQa+Ze--c !{>j%(3Gs`bvnD^go=eEUO.ч~.q ?>vQju7+]Iy<~'n $KnʀCp2gT\$hXk8xiރƭyϚ~jܷ7rnCFpNߚa53309% ˹ZtWzJ骜,R[+Z#?|vVfaew0hPvz`g 2X^sl}/_2poE\A$ +e[H/r|뻆0s'H7ucZ5>9>+RYgO:a4|+~jeJd`v9&86HȞ0\XR6 Y,2}l^$<2+wȻdY lu6M=ٰ~ :ľn 7Cד;zpit<0mnVFqFt7LBcwv=g}~ʾPMoo$Gc/\˔BCJzcn,ͬ4e\8CS*vmxծ]'!&,i1M-Krk? l؞!edLdnj4k~UWA4--QhrRQVYY +E13Yz]/r/g *<_Nz5W:~Ԇ|GI}W|3n{z̿XM> Zr.X}kܛglܒJ.0+>QUܪx՗%$(Nya9]ej̜VSf+raFKlɚEvzؙwbZ(/'jcpW]6aak*txM Z0bͩKSW*R]R*?dOm*,':{<㛪]UAvF['͗F/=Ă9fQ} +ƟIaʫ kFs0y#i6# +{YYQ{o`eYm_ɑHYx55vp$*vdd0U+b2 JMU%Tݘ«P* WF +]oL^wF7 qR d,^%+7d¹jeᨡqbp-v8nOҝVT}+DQŤ,%۟}n~/{_?@'e\w,=KW6[[.*a27x?VjB @_(U&LW7e)k W:nq/|c[#ν 1Z$k像|3h ?$KC aCm`2:83ӽ^.LfB¸G_uIW4 jX^EeQ`c7Nh@<\6NpcNݒc'1C+ZfCF@lXRaKd6S- Xǻl*>s=I}_~}2Ma|SdIjtn]LN=I7ao82sBJwp3inOE b23f \Efj3blYUjcj*M|7)+ 6W8ۃ;JPLݚ`Sԅx(1qu$ ̲U<Ů{J*2LM Y>b.Wr^&NCT0]Tw -?R8F1idD:C%ajGKSje5dHv*2hEj00ɝ5egXp)V@X;|͸L B`n=_Zg~o h=iMC +CoY_yh`wĵ< g.:Hr粡luߚ2LWqBo}kwͱi&2Әo?IOq7;c|3EIi67'z(˔#^:%.ʁ\ht4P܀:z%:J3՝dWRtG1jx *gYJ|و7#_%+T<p^'MHmC*u"glT@'NDpO@eD8 +ތ˩hBqh$Qr3-x n4zҏ#=p@G6xyzI|mQ yrՂB~%8bx>Xj9Lu_{te>9I}xHߡm:@Mx5\OH@RtU"dFf H`=. i2CMU>L< M:7EoЎ}3 8˖d9;8dSZYW-0O OePrد\z! >NI$d<[G4"ru6 0V仟Ĝ | sKG*z|2+ G.[\f˷*'ԯ~@6Cz|.g;H"1g%9sS%J>W,vSS΋n~s,:A)b̠1rOOT^HQԸC H7|o0NUwV2D7ץ(1 Rv@'x(>E>pdn1.)F",t 27/^?rt, ןQ] N JE6pnyMeKgo9Iϣm N>O.>ggruב\qߛv6o =&uxR#Zkg3LCv+E +\n]&m9iGŴ\iVM ;*aڱH7?C1 t.Z@e- YnDR̟RXˡɿ!nle-dS/\mزs>n@yoa! @=MSu}\d I%}<KyX.PjAr~pm+-Y{7_01/Duf% `Zi:h-dkx^, * tÐ "ͣjiU+ffuG5n >7OyEߧVV > RhZo}~s z5l/?ޑƟhhxAn= Iҕ]zewz0F+ˀf@Q.[AK@^nV+ihK ) <||=?ʧ#=j9pH#G忕*ckp+C #OE^q6(K(G>c闀=5}>SZHWj/aoR!CA2j$GA 8e +~ +/2w:uxq=VI9HXN1zM)a2V|t?T >5*іCqHK?t'~LN'x>zóD=:Uˊb|r{|P֮<^C879g{tﴤ.XҟYZ\g$i5DO?6Hhr-TA_7}ck${t>e/g?&X">X=2;sT/|nWҎЭR1-u@y Ӿoy57܎ ۠sǴoA_B<̜iIz=ڦS`S'8 u~^#-Oq,lFx'aJ;/+~,??;z7ss$qe/db%k<,NdzcK|U4hHRvBAg@aϴs@Q.;u,׉3P{q#t1;Mcso31 fHzsڷ۟b!ng" @&ZǗ .y 9SQbOxW53?g)^7d;Ycrd(w"{= 7?=$AGgr/KTfu7UR#wnNoJ&y2yOG杔mjlc65r{&{|/cOSOۇ~L&Z$?U}˟l?OdHjlHL9_(yʍ2h!Ke +|oH98g.% $ws;/߃&=8VgxU:+˵Eb/y}ǝ48*q"XIzEI- YJX?򈶎$O?y&+wx}Owv*iM2h.{a^O0/>?d[~k+LH2#lL@gj: (gs9X~N݉0jdЍ=|>9JdaѶh#@:ę?SN{aDo,etN#g9H|?׎K  CоqqA;~@zHoǁFk m (B=o0"5@R=D:ꎿx|1@]]lQm~m+{|O}x# ?FD3KD㥠v'(m; oӺp4sӉ9y*Kܒöb>yܭqeW^!w NйI9=lęla;gA= Ն2Ywy$֝JE ]*A6öq/B9Lws7sf$O6M q;A,ߗ(bQ?uسHAf\ [>OPCfyC(muۿKDyjԜCƙH@&51qܓ|wג$xc{tZP,G7|'Y?6"?B +g3FW|P 43ɳ۱ɰMݘ(Iѽ)F35~H{5I?{/F#H#A7 +$#I7N9l hhӻgoݟ5J 1ٴX=>EM4xUGVm~SNKiޮ$=sԛ +J゚ՐQ;\'C'u pGB1#`z(x8ĺ@@{-%׉C|<JQ02R9L]ĝ_k?0ݠ#$ߓ|L}ldqT=YxB|-v6x;>ARQr0$$qi1崵 @\n h{}$NJ>Cbé߭k/W=,,wwi =S`X~V@\ + @x0jt;ǁDzw^#Oz;u^u8) swCs_&{;+4߫wkND%gw}[yefMܿT^ pH>iϒ*Go@@6`'|O"*P:K0x5GhG tܩCqo3t% ܬ?_ {b' 4*3ydqχo}^гa# }21@ƚ { pV~sԽ9Nyqc ƽnuGTNt~%~XwS9nE^.D6&ϳ)4 ,$7\?:[qƜ ;[x4P?5\ :Xh̥gr.BB9zY |_gO[9zlϝ^ƱiSz8=cŏ:9Y\TfZ} _!G)DA~g4E/tW_z}ñpwww%DbVDrӄ>b^qz1.=p}Or19 $o`6,uԢ&ϖO+Ğ![ >&u;œX f9!eۓ|)$9sXLU'py#~/_z\{7ES&1N5⎬8&g9<,tV;i`^$ܯq߁;K:cA6?37p׃b $B Q<[n`hIDs'7r>Ln7 ~Ns?"l9qyO|geՃ'KOj3+@+PF| +q~nFYyφZՠ5ԤEӔަ!ܤ|Fni2y!7D~Wr9]X_Yxջo:uHe>➵'6#$M_%rx;zWG%^ Pρ/D ɯ#mM1wII^xGO{O~'qxD[>=T{X>Xo_#^S5_+GjOGީnEerqP1ꥪ3zB;Xiv;翶>lG`mXB!_} G,J87VMc"+T`h_eJtY wkۅ G}¯g|NA9,k* ++[wye (Xu2#%WE%ޔW?P9l$>B7rQLi #mN4~hhIt%#؍vp[j6|tk8U}#x1M4sz}Js]Wh$oxeHg|dD}kJKoE8Dtzz6Rohi,Jiafh)gRp|!7\K \Ry:Ri%@tUQ*̭*e5n͑sirPK ox5pbR[2;012du.x P~=1sG^8ֽcݳ}ow\O|=@Wki^,g2zY⬎SNqM/%΄J~&Ś;x;A}''7;|}6Lݻ ڄe5y{kGL5 I ~-Q=ܢ]t?kk:@_O_ZuYbm%FڤNLM7.{aocT%]LiEL%7ʑq -yxw +h._4Cy ;tD|m~.> z5f;3ZG.qп@ao3M?{H=3<=u W1 io| tkmzr?I28 *Qllj㊿+vN Siaf, Tn>a{wPҹ~5lzlV/A>iZZꏹOI" j6K6U;7w?CT-ԶBzTߪt +-0=|Sv}M<+ ~~6|Tl+֬vn!{ڇ*@R>zYMR̛Fed`޵%"0NIw5GO[%|B݂Nk.u LNAM˱NLȏ]h,wjĹFϳDʗ'%Ϻt=P@o]Dc-KatM{յXM>2s7jyS~=m*!Ih^mxA$yOTRgڋn]!Cwޓ bл0_ y˅)Ch0sgѶ6SYx]XN}^lj{/L<~YZz͔R<%ydnTiX;6*S0ǁ9=*Ω8q>B%'A_OTw}y̿v!((MY6mB*z{Xȩs9W5goW|}uHX&tag%@W U?p]7'ˇko~E"M|M~w+З!w'}M0Qp!&w-{.uFxaDCЇ>}CЇ>}CЇ>}CЇ>}CЇ>}CЇ>}CЇ>}CЇ>I0"57@٩Et34JKP\ NڋJw(DMR&Jߎ8dcʇnMjc!ML;*@BM[Jɛ-ivj@D<ߴym9D[W&v_y0( '?+?Gw;Ny%s>looIK-E,y"r*A#/R>*QnN۷)\B^Lnڋ\ހqt*xO:ͩWf@&>ck[PwB> xTNd;kpҞVcYKOpmiX1B*14_chF+В܉'S&@Kwj6Tr 8M… C4޲8]"y|?.I %ʿ]lM +qyFpB'ZQ +?% +|(6}LٛlG-ih[%v<9,z[<7CwM]gs\!m\s/!!\'6^mv| +B ?H +uDcZAJ+*k>|l4mڇPg"mӨiM4.{qJZ_;CKTW?<;&"0( 5]f lDžvuLl#ޢQr`d+jmRSoevݲ%t|;Q&>czY`Uʳ@go4^".()XE7 7'3$Pc81|_?J{\TTT_ 7zs_}ׯƯ^ճ~ǯnE0 +KwI\SSSSS_iꃜ T~[mN֩ kCw +R~1GR.sk%hbnus)bnb嬂a"s ^p{J.P7jyo@l-ցuݤ'Y0<{]aI]Rv&ҕ EAr=^^zg׀YwxFIXy$sc:ʭf!:w}4Gqw,e{xV{܉|4ȟX"HLN4'\o,rYƴc%X%MD"P xvg1E-ZEJ >C2h"<"y7? +ڟڟ<] ,A$I訆f_S#bƩ3uP57z>&KWWE+7n?dl"nՆ^Zmڎlm:iI]cD;$(FÉn1NӐm2e # X +{>&9 shIV)z$H9M;S9-EK uԁ ]&KYB!Dʆ$ A E{ۼ;\r^r.yJ͡RaB, }|=9.>[ e>_^x7n }#)n s$ؑʥ8o3=}"ssm8`'E "זcp-"1ȵ"s%;h+stgOǙgLM}c/*M'j;H:8b2A100k_ZcHH?h J QҒ~3Dx 6bmaAN/}s_YZYJA'ß)dU +֤Uvzr8& J\"UAP T> +stream +xy|չ7~ΙfFh_FHdٲ-ٲq BI$n&qPR6e(@phJR6ᾁM۔K,Sg2gf4r! *G[ѷ]^/BG B6*^&Cx-wCzpxy5pomh0=HF14 ]Vѻ؆kX^ jE! *A?hZ~xDz܀wos5:E{\kZ.Taxt x >_O|l^"~?_ЍaF%d:YGn.rM>f|*f+3n0.X-j`M ..vfdrsT)XCqqq ?Q tz da؞I<^E?CQL$ލ# U,g6χmlKRVKzضM| ߭n=LJa{?ۯq9JIdM[ 2,m[/'Cy1QY1`^bbd [&v1}&Y٭yI+i뵋k>X{rmܥ [\Z:Ծ8腛 E@1-igz;_jSCeLP̬E"~|@N?N>qii%ZͯX{cɍxT1j5/̞ 6tz \FnCl+tqfd W2oчLjų25O}ߍ,#cp+GxLP'#n#"91c@_0S ; +4.R6 Wѽ Qּ LZRA7>݊3 P܇n(Հs? Q-]з`/$ X?k 5,=s;; 6V.(}ݩ=]ra7Hox@Uk^a&R` < {OrxF] 65tY^ +[PxZQAq9ZT܏Ѡ,$z`ǷnDE} +@'kECo;ۋFG(t)XѓJGLf }L/Xh~bb saN3Avocג9qjk`~E߿~N\o "'cDn_&3 g̓m!l {9K]v5xa +~&5G67Cm; <{1/Dyt=Ћj +D?ub?C?W{8xW'?HYrƫz7\ue_~5v-jwR">y,c0YsSܜgi"@r*zwj5MhhU4_'r!Ez}N#?25+jQof48?%J* \+p8Y-7TWmʓ\W!6$?-KQ*Ri?Rg83g^9>x:r|Ytڦoa9 #s/퐧 uvNrtc@YK;hi#. }Z;trDb[.?{gZ0{Q*`yzNY:vBNjS*59w;'^P{!:ȜCC Mu.bdt NgmRnqsuUZ1"jfBmyHD$X׌ VtѾ6-\qDDHޱ`}Q28qDFHQk K ( gYB-cuʓRXzPL}aKg,񥺁RXkΈ3RO~ޡ&(De25@ۉX\VtDӂВ fWzE`Ҏ_=B%t|MPjpw:2{$XMfGt +ɫ;i>=C+Ar.,?[Nw0њ<].z:g \*7SInV/AnPU+ү@l;.BpCjW_.ccg*q-Aq;At_Fd"Hv,!KǢ323|FѠCPxy_sAC+e9nZM.̉&WZ 6u֢DI =F7qtF/qH:c 2v$$)ϔ+ZEKpOmt8׋1.n>2Os55-=W͉f`FN@.[NXvG4q&<1*.ݠ$ J?BYir!J̾E<=rRxII!C J9Kf4w Cˣra,>l;3۴X;`odhJHm +uw6hf+Mphaw5;뾸~%! 6z 7US?/O =z? ^-V{5[UY[0 tˆ0t%Y*ZF;(1nN 6<)[:D546ZkH}kv|߯`n39k,\|UtgW~zDU'}_t^v2sq,kU1f#p0w^fо>i j5H0$j!-Eœ657u}V{mƋ(6ɖKĮ/-#]}-Ѿ}Z=C/o +uu&NRoy|ePez_hx"@ iQ (5=KdLҒIR`B 5ԃjHcIf9-GP]cgN@)j>G/Y2݋5"|x䚾#sݺ*jkˁdr e.L'߸qghެ8@w:89EnKP2+N4C +x3Uz!>OmdJ"U)єɕfʨR"')[ +V >‏؟g ``1x 0f`/cLx; +8(s,_~YIxlu!:6kJ׆HuԫiFMWX(U5QmFn16Og:KEu&q4 AwwY8b>"{$u?3,~K*ߏPb$F?!ܐ>? Db"} +`UyntP>$T&tJꏓZo6jHMhlPG+s9i}LQ]ޗ!4f8@zQ/&ZuFK^zfuƾC/~i \5GE#LCUQw׮ߜ{cί6Hnwg;'`vF.yQ $N$ cxi bgeecb&hh)Pk gPsX_18O$r"̔C;1$] {uާ,8hZū@ -ATqsϊ^o>Ѿ]?ʎ|~okIkޘ>j%p=js.. Yi{|ݘ.܏l }[De Vʻ .- /`7w[k -.kkDmsAڠBa.(CWLF;̳bd5eUkÔY J9a"! +.\*\<D@ZJ1QLU@'PyN31j̾뀃\%g8۾ D5Og ysĠ j V +)qP9p >Fҋ˜>yq“^b.~~j rUt +>֥><OU];K*J:ߵwM=:/j{Va@;wBYPѠExLAA9ʊB%#D Iu +L^Uda煽<ݛrq"7c^)m6Jpiw ^q56i`ZT*2eje'AlVy 5r( "<ៃWIAuo@ZF[h |Ŀ%XJAsMMBMB'C=r{*oWl1ŵj-X9hpb + uL IUrὸrcy65 M]>5yJ>K[֞brG.FCF?l,W"”.99ިKTV1}ģ\0h3BWWͪOq@](.dKuQZkram1Nǀʲ,Xڬ;lg%Fl8yP5yEkias,#xRDzHf5<?A22^jLy.[1kP/'8++?s2A%t(&"\[QS5*r4^'(`IpP+\UTiXb& ouVdAQ[r4=0. O }u`SS l~c M6Ā?оg5G +wǢxl(^YX9̏~lIP3Pңh!h}xFl*m@jVu8/~JVSD濐*ؓ س5PYY$RMc Gő?W8I MM3،3Xی> V +/J549&AI؂EҤP)+&OHMu'V[(a|>ֆDV3y1-nh';1W2$(+ +w\?L6 %R)2UIHUs1zv13dח%NY}sp_Xux]q^34Bd3 +}b׆굄T )Oheu#H(JPp("%K(bBS9ROX>}cH5;%>ңnUa!A¨$V)~[d=z<0b[U*Nf+l+duIpTcuTT/_"_%IʮI'n|*m s (!J7_XR5/"PSŮҩ=܉h!Ov^Wxct˶XJc.z%kMzLD`[TLc}AMPQ`1R*QX[=\JhwC UrWT)W=zٮR V.k=N +D,#+%d ɻ#%mZݸ,`&vN,º$"rPF) g/B=$O^V)l:V +nwhe9GDӧw@]wwC`έYuE= RwJ._"1QFƯ>J/:gmY4ݴ{__ +;MF +DqޅAń"JǏnlB1J6Y'IN}er^| {gn 65=4S3܌3U[rDʸ< lݼ:ɽų15oIBG~z=\[׻cu#OݟzN}{*:rMO.ŝ]=_I~;Ô4 +'%o(\CҸ\((C nv qTҞrRIw'."#J2IO&,ˡ=\b҉6[u[ElZͥQ̀f% c%Sm c|[͸Y&@>p[d'E!K1v[2nњA;re\){4)N2I|&F+ԬWSTQ/ Ә>zZ +vӜxOãmԒso5g6F~fҸK$%##%ANeTt+oPcYC+Rt:wY|'`Cwa:Hkf1 LJA_f%d;ٚ:":`d|g>9VJqȞ!%Ƨ/R*4ڈ$ b Zj%wYK]WT u_ES %LbߡXvRlH#&'j.>1qj;;̏JSӪl+5 I藪k}{\^pxǶ8bqn 2I Fdd&(R6~OQbfC\/EiMds[%sTl1R$vrN D{XG5:ĉo`H#{uڱPqB#[-by`TYM}~Ǖ^rUl(Ux߁[p|\mO˟3A ՗(펠 w5׸7J}7{kq[O=_z^S.ch|bZx<@S&2>5ΛJ&1:oRQgI XXK>3-pxK2=i :<7f:ܱZd"A8%q~Ez~QaWUA4P:^pMk;op!_lni%4r?Ұޙ7ki472=47gu3~0qYؠ@1\[4ݍ /Z ߊw{?DkVEY3yrLIθȠ^[/@,ZF&n ڒ6lMlMc͸'qohl qV'VhhKvD<]REQ_Lo-D#Dt_Z@1dTÛIHcrVtxm,~sE(N :ܟ2eNVRQ#|V'4uȽCW XA2el6c=hzՓ*zDU% c-W"T3&fm#`!@xPv=\Zƒ}O'OǞ.9/{?D){wR.VȉmmiN-,χA +h\Bc TE!X-KdUV<Ȼhw9k9f'#ۊ.dVuyCGiyôy (TgXim<4**xAӡ"CtݰOE"A#YBz9##"GW2AWzȠ[3^@#u-AB]SrS| DH2kp WQ,%ץ1CKsiw-o`X35'UsSLJ4%n& ˪< 8UUf恈ܙ=:un'*>7E%StJt alo`E n 4 Ҳ1 b7@=$Oxnj^E#6]Nǯ1+\k܅l ?`5OMd*U،D 3G<<<klj2½³»Bjnf7776{doj;~8hc&O5/$HO71[\bl'7@?oj1)a41AM< +qd1Vzt(b`帅HWA5?+37&&yOG<]]@+ .d!*ySuV!58&Uj }#cXlJH +3568p)( i7T%E0fSEe +Oj-\X_k\'J]]ԇ8Πw3lʜI̪))Z@^Z-==9a`jK"t/:`k #-kld.偘Tm2bI =sAKZ|AS$T~TVq/U Z<N0qZ~M]ZNէjjw2jWvjڏ? !"#/W mch<@.yG<GO.Mb^y_H n|Ry~,CA;񿯗<ȉ6NlTJ?ԥPwӘ ЃCmgKV'ROU B%ք5V:DF96D!XpF"bsJ\HwcE{pkBe+ i* .hxlD,k,&U~glh>rW2|]uW,‘rdY]fZHo nH HR,6 AY ZXM q:ٮ1Kհ1Ore(" g΂ł!֌7kCkDd$E{F$)*L;Mhpoû"GC\S1OʫeFC=aΓ*6^\{gb+[En:J\3)k\ph녨 w5;J&Ոގe.<*(15k1p *̬y +աIm} gB.Dy6 'dQI@ꥥն \: ' pIM؊TAG 2o)``[u-b4T( ?X.ur>8V(NBAeŷ)cI٠ ua#@1ᰎ&7ӷ5hVgȲbiJvי8g9YY s&6ϚDNpfy+OgDYAjnjJ & M+y n&&EL8բxjRt3 Q6 @3x*hʠh0:e(HE%CpGSR2S)̵q#r8̵Nn'ҵ?(]D +EW ʞ=%eGrKI$%80HiXFf4LE4 MMD+:hCa9L ,~YmчÑ52n[}phֶ:BóҠ[.AX(fe'P?Zx +06e&&7䄢̑>*^}FRy_'Cn70繏 =ϊ84ugHJQO#3U8i7>_0d,=p%}V,-kkU.n+-o^Z;uk暺;+%n)vD;gligwpW;3s`GIDesر/ R4 ȭNA>R:*5C@i{B,l-vEfv>I85.Q +UM]bX|Ԟ~]15ڀF"Z]M -CO*!-c;Z>SR1iZ]rf{+3>ۓڠftkUc4 f54pd)9#- KsV1/GK#"Y+3or=2b2W![oP +!{JƖ}2jNPw! +6qyo>UJѴ<7ro[mO=,}&lN_Ynh/hnf}oWG[ Kvk"a*ey[)`IjiΨYC!BrՅu!?ؕ6;YSeHte_Q(fnU]Queu=PK4gkgjj۹ǭl Apf'ЇaVDݾM~ߐNN#!T~S4vklmȩgsH=| +d;4"($duTohyNfl3*p~34QxI}gAga }Fh'ʡat '%m^{ؠXOi1ҊmkviH~7uOD";2ҧ15-_g[SП&D'Aejvn:p-E:= ;ǑM|vvf!>3}zGa)]DQz[ru8̕}}#ɫ'K/PO=6Kٗ࡯ZkPbŅLّ9x着72*kGJAN[DgêҌbKQ G:aq^ͩ 8VOSekzRWBե0a90;`53ID鉥(8q`p,w'Cv?Gqjc-`ޓfmZm!19i \(vՕS +==8YW<ݨ6>0SeGn U?Z<׫ +k%G}͹µԽaFro8fi۵!I![]{iWf^x‹Oͧ8@x3ag@`g7 + a^ ~ݶݳ.r?:;È;Ƒ>Rind(tЮڬ +V~E+da;Lkx)Gθ1;V'|1Yո&2g7l~7h(kRATμ6j":#:jdPlܴJmvm20oن z`whnr04i;:n]AAk^vlىeI^ّeGٍY 9l yZBf <(ʬQDvCDeyPGbhi[B/5j +9Ϧ`U(Vb^mV2 ߠՊ[Lb%=3!_"-N鴜g>_Ue< +12)%(Ԏ)&妘2PJ5djvNV2jj^Z Ʊ ypXh/QRW"~,LYhYF/ L;Zى^盠_:``T̓+]YM1m ic0]>DJJ^M }ˍM2)yhelq݇}>4a.YMd}z-Hx{/*_Ë%h.MDΖ +i|×$Š2jib|n쐸`@~B~.OWX@GHՈ FxY<Q]y<8 <2Vi]$Ok;~㙭mQsZn~Yg=χ)y_VWٌ+wDƜ萺ߡLP¥)>y.IgKPnh_ztM/%LVØ6UPI].W/2GoiV'21{/.#j^O_Rm/+4ڙ"s, Vݹ^$ +#g_Fuh4]{4FctXdK%N,C$a 81Z$prqR8ݶ,mBimf)m7%[hW +ۦZ\X.8N~}ho3s>N^|lSKv 9DsTJӏTθL@Ofmd` LC|S?9 gۜ9NH,NHG,Y14.0uFyשf܀O>T} #h7F'OJC“t~}Zlz__gK ~[fK%Tt2C/;Myiu#TQSILOb)ϟ=aV1IMhj[j"/u:eRC))`3r',4vN괮JS} gN$pƗ:)5+NذU*{ ;Sr=_ka焌d ٸ&}i"LkGٴH:T Tmm$jn(!^8R'aԷ j2}n~j ī.3Qk]gᎾ#6d]o.jg TJY/bA S ywB0(!cALGi<\we1c"Ny|]@ "Q4TF ܠSihqQžC_(kFU2]ԆՍað>ls8cȃ.1/";vƼB|ؓddi7{]//a/ z~56Y{DkᚲE\A1㶏dt¼z=rol[ww*i.Ո(Yz|NFdYY{X4[Ɯϩ8n/b}XZYhT]ĘR CO+f|8p*N,qB*iKjX[n̙Kܘx}>)Sp1f2 b<3ɮLv-E%dIRJ5h1Dǘi/12[$YF(4_bT<S10GC"a=0D +[2б u}amQ'tn +zh(4#'Z9:9$M-y$+/"r:17Eiq08OO{{Έ1CiTbb6=_\Ds[syb`6,R_6RC2D $ShcBM]  {n<=+ooO#Y}y}( ÷6[mʬ Hz]-mVyzyaG7 ?718nNZ;SOZdu;1%тRy +`upNi=\^[{ +P)IP iBϛAq)O')ύr{rwb]~UXcqT4yy/GVj;~Omw 84^G7;Wc4ަGWRO<9-' O't}jݦٗ2RJϾ"eY^`6i=9Z'T><;0-S94Ꜻ| ɩ)u(ϩSP/F}Ir}fM:uR!׽^ed՗osv9$BI5M;1ݹb>o>tþ}իck0k&0hY`MSD;90Q]vR|^ f$jr|9ğH9N=N9-NLAh$Q7XKe9P鑱y[z1JEUBtRNy1GpHredYꔋ\֌9&S A ҋFQzhN[(ϙP=gE0Xc8WP j(n-;! $$qHÑ;U*Y*v6Hu$`;Ag̛fs)H-hFA:S/5B]A+(`ډ(ޜdr\y7= /5]E ֪P^VU'6i{l'́*%;U٨̩)]$r955rk ͩIVdG]Xڂ +ũdv`:!`&L +O HMrCQȫ3ȱ(':-FDn0*6PY}~6 +`+Yl[x٢Hx7*A`C`Ah}q!]K:2$55g\68)pqPFbHH hrp**kNԌԗy[?>g㽿 +۲Ӷ="X\娛j2 Pa1R0K62H'sq^u$Q<4c>ًVʇc /8D!1oe!?[~Ez%2oH33OpԫҌޒu>q5Ŋ6ҒsJ#`i(l!M}Q5: 7=;⭮[7w;[cE"j7̯Fu"Wɫf2Fj +%mZ@tko|zӷ~x׿\Tɏ_vܽǿ񩿿㝛zƯE;3\4shl[YlJinFQhh9:LH96ټswԽu;AE5[3#&Kx6AӔrLzhY?ʳ? +Zfeh⢅(](iTXPШ+pEO@Y$9?ɦ6T&.x +xQwѪ%k<nR +;6gMαN6 ߕIL|07eԅI+Dho1=B}oD bh΂Ⱥ {ifT:3HUkY%'غ4a/j礙``+E^x8eݣc.{(l$ +S;VhDiϘ >Y  >`JzO^m teˡڪRRuis}䢭K.bk;岱Otw[Uqޱ|]vnBh?1?VR> y2dn*b&rQoW}1 +ubT'ba0?(M5.;fV<4ў XLۥɵv̓'<㻔coZslrqT=Ѵh8uD9pVǀv6rW2jf)&aN5Ɂ,D:b"O*ix\ID8,hs1 ;G<9#h!|0uL Ge7@bb?[Wt@[yޒF?-Τˈ8O/ds+Wg`O):bu y4PAn3zy0`wD2؟mBpa28[-Q3r>x: wMAy"#gN(MoJ3\-2Lg`^;@h(f# Qjpfvw~LN|=-LZ:o3 <}R*Y}狶Si_ɑc %y 99j[/S(ޣAǠscM9#VX >ڛO˶3 UxӁȿ ; +R@"9ΒCc}o{L(\i.+:ޙSW:`FxkF>[;"`0G3b-X~wviT6)EVhftՓvх}/dKZ?}}[(}3^^~EeU+WcV=~̦yP{tصld]N}TeQ艊׽&azM-4ޠޔԸdk.\v+D= +J  p镦C̡ccV#lDf])=DjҎ i +))"轂(jaN{x hP*z3m!Q|%J 4&3`t2 dN{wl"B(otgBYUafף^VH׉ȃ@q0oOcUI;1』5J3",\HNSϡEHiq{ZJ <)b&rH5"2/])q5b<*w,ɪI>Z&{^cWm7޾lBK +7ܛȪf\InbO?>Եft]Z&1?k݆/O񐢑°~Ad*tȢ-"l8MR3tmhp3'iۼKl&<&@^~%iKqMZXSjB/9\ +mKeJjk}TL-zP+FQxvX<, W99xF~K|K~Oiuè՜Q/_nԙQ'Fк^txr1˝ BSk'c+{=aۻBf|_"Qh^)aMmf# E׳ }^&o%1%Nşq-.>1'dﲅw*0 NC6noH=*TGUd;FT)R'A΂Vy |E_ +!LCCF}6`ݙ0՘@D&t1 >*jAg/ar/!-e ZaR K4c aԪ;m +]Yd$%&S- c4|<Ф1,o<N'[Gsǂ٘~AOk8D]6]9YKWI qΞ"` 7U:z\L R.dKc[*3iߦ*M$RB )X6eo)کcݾ3vB[<^lk8:|a1G-`=m+}[;"x cTt4]HC +}KVZݩ ZXW +S55{Ҹ3={růJ_ccҟ>?=Y! g\Ȧ[3,Η Y.n/$ICw +ݝfa|t#tJƏ򨒖T];V~ ϻuYOiUYS?3/6EQORr/\:CH(~ 7H =%!EDJR,i)d8G5HGfݝMv}">t ]KB\w) 0~&0rR]&νww>k6/*6w1-cRڲ辸+Zz^ςtoپp}P+ӫ: 77C wZwwK=C_NJoGӪw!&~1|:L +j1C#+GZȬy$~bJ >o~\do$o +XB<6y? ]%US{k#GUz\=w]ǏCu\8n%@h: BQ)BGlXVHeȮu#R {ɆL[\Y! M`ٻ#epӇ5]slV`Zf;'Cy: ר<<8kyRBuoM5)z_ .u_%jv-GGB%Y{H P7I s@䊌DtF  XajQl& i'o.Y!v̊x["]N[Qk }>L*w.XL\KH.KB D ;՘MPhKIQ>_hm1( M5$-haEioB>O|+UqP u!TE2t yL)Y;C!% X%W/M|Md]AkEuW=֭a61-\*BA^#;֜~j8 Z3s*\Z9( "gh[1FA%}W65CDcfXmBe3G+T{祅%ہ ' #v#`jt.Ĉ3 hxkΌ6~zY/ey|zUHpw)5,4,h&/SGu3Njq mZ7 +v֛IhJ;dNiJ&I]Gb<(B @b/Ę}ckm1X?L1d34f|95 yfF #c$c<Lƪ@~s]9E pf|j;ϙv[޼kG؊fw#֑ 3ͭ~E%^U_KOO%Sٝοtש%+UK*/OmZ]XL*R4f{݇,|)[SObH4pD@ZzJit42]kf¤+V |m.+<0bէ&銀V4b8FRY3V4gnKy&=#Cp|3Ft;:?b3O=o߼Vn|bz)xj߳_0;kvr 审z~.4⁅:B, z敆-(8ʄz=K/4)E1Li?2V芶b-h"<+-n+Xk滔V7iع6o\⒑*U{MM>np  ̶¾#mQvVvl%2Bć5fy64(b’U<2掜bĞ̟sNYE|l3+wsc5WɊbs.c2(!َ`.f2AGarBk +4nf%ݔr|4nQ +O%JL0%#:g"ZDjy<0ikM&|bAw(NelԴ-Nn'njnd?ٛ/QYPY5:(S.jֺZ:lDQi%,()ߑc{ 4[)+%j!4`{niME(t27cڔ$Cfi523L).f>¤?{-|o1s_Zo]^w3o3,Xuwg2Ȣޑ {%]b5w+]*.y&Wd?2~A% GSצ-Iiw^ʄ`~eit8<82m]iMŃ0^OC8z18qG>OFukEzOL)) ,O9p*RĝC%\M`bB +++ 4./a#Phza)tS.?} +n =*$P(ct``[;sA3c)}FfƯîϟ ?wyHg^[00{7o_=ŋX?eZuh_\DFU3"UKDC=r/jAYjhx#z:&ވ͙+,4*sa/0$1/\eٷQ{}Nɮهkv4O礷y2Fh|4<h4t@G<#8a$0>Di/ctg3txeoYh̊X=am"=|zޟg_agG3c/×nW5^oz?W>7>a\EloϷdLʎ%HFUo;{x)|շǤ|ƾ}E7< {̃Dmgۂ,BP8is9VbEģ8 \\oehDYd^cXy!Z(q[xJumok;["#i'O>jCfʆlFMKD<0iˆFQ{NbNywH +z3/i\k.hq$[)^ųP4p&UQj1[s1wG=å@[?_,z=e7;i|Ȯ/cի6}!]uᥗ3 b^-nE,f^6G'XxxG 1^+M`]bMyh)8!|Ȃ<C^}`d"~z̷P&ɩLšS<}ɰs es_@P9(BzOKװ_x3&uv~n _RfD_FyZvOgqc[hA4`0׽1qSv.@pP|~Xc9ىckO]W;.c.+F"6?'"#+ʬM9-CxɒI 7=+DͲmiŒfx;B/H=4X6yn'wR78d'/ٽA.lCHdY/13#1;k(incqf.Ad4CA4ζPJSU Lf %rjv ϩс#z%%A1օf@i42k`Z17l,Vͺ-9f҆Ò#>ፊ`h&oʶ񪧙 gLy +e-hV6r| +њr[u +&w:k31zJ P7deJee.HZ `dhe{E7:pkBEgXeiDG/n€%3l\["%Kx-A))*PJ*PJ*T]`4Z`& +/ؽP8?,RJ*RJ*MJ6) %u}Ǻ9-uf?(L@"4F J:?. D"fB[j) I=ܣN.q +P&Yr>0eM1[l*QvqAb|G.V:+璘  +ub"_f*UzKbGw|??MoOv_|?Mo?#k &κ]umr5f%3-IQ>"*wg*V@e B= v,LϲxAKY?3C(g,χ=Bj +R%W*rJG\nJf{ Vw.l~jl)CMf4/ qtH h2N2В2QB+ &2UT%@җS [Nue(IR4t.\ ѩc;~}x,/qen1W!Xo.Yn.EYGMH(@ p 3jaxəC ,otD2ZHX|mkrI^b+\uX!ϼyE<|䍇eۮ(u&;Kw>5@D/G>WF~~ZYSxp,-T;K ;$8ɫh`+D^(x:sx.T3\HS3JפזZQSYw%I5"XîXk |kGm!6j`[WV. R(G(}~ aY{fNa0` {v8nWt x#4G6ZBـsϛÌc҃LBn{!봛`)|GZ0$y~}($W뉸!XE;lºC퐉57gң |?Ew:ϟUWDmibFHgwCTخs&.c +?!:bo;Nv acWTk)|zd g *??R g܆*-ZXv?$ 7n0^caALfa3Myع_Fheb%OhH`t1.E+%S0#iQKД^yTf! 2WO˜,wDjD~iyôߘ`Fǰ>!]w>'D3s =3 + &ZidGN-SI9/zN$\4ɩ|`cB B6Z8f󱀗'h@cxu׫d Į~|tI^x@hcL*ƪNTGI67.HcfvB.D>i_6:uYriiSIIIj M&mɉ Ivor2y tK&1dSI9&?4E1cu̇  h95ftv}8I yjt飼e珎ы9cFhon|PqtLAEM|@8gg#.J&dvS˴$Rpq'ZJ\oY.C-.@C( +a:"jL8Lg: oW:Y0>0 ¦(@ sil:Km݌5|{gƂs +"} +3`&-rͱ`ơ hȰhc O|:FE6m^K1r/ʡNԋ'N-Ѿm}w\YmMB<21ðX kkڈe{NW3,J1B&}}HnfݓB77ެ./-XGa" 3t/oֻpȯv n &IA(Y%jhVHE Tq;̕:LLX0R臑HezΎ4]31^`wQNk:.]Ю YȻI1{n )-tUzCs 3 Ϙ ncDocW{bmgۺhՕ:pիl<3`-[֯=~̚+~*Kt̉uS?z-8 kOѷ=3/%O9%ev^Jcc`7^SOO<gJWk>LHYo>R֫R֫Wݭ2%WUmU'( !zC|t +t +WℸO<&rH"+BX>3`epK[99UH,l'@lO >dGR+WzA̷R}=# +Kt7߹,^{cb I1&u{kiޡQtnz`@IMgAw% rDFM[Tq"Gڧ]&XVOugHɳς>|0ժ1WxQ +̃E=h▆:biA7O̷#sc\ֽW-:[ 4z`yŘt,~;Ӏ;P(cFoF"w:|\b$Sz:maeCH_C'Сٓ*A,)uP~KҖx7Y:V"mTL(ޗX)`Òj 十h@66T;*b2(v $$Tj:ԸdƷ6KKvv[wy&h"1wi:7^#nbnM\6V: uuJM7z!B(.Z *떔;ND3m;c论F@2P ?DiM楖SbLs]]t}a;k/*ѤU5jtkk +~Jy!4Mcoôoҷ1>_\L +>DiFddVkOSjiO%Mn44M)cPr<&@' ٷ}d{*&h1^!]w ߕ4RNmxLrj΀Mn 嚡8r,X6sKrXL)栊rmT%X4bti. ! <ݦ +1Afh^Ԛjܲ;88kn@E~t2L7eZ[/G_RziwO~W_GO}8C8VW}7^gm8?x_qK!܈݃Ƚ)5 u;Β]_`8?GVE X`E z6y^IaNb0~XrS?F<D#QJYx`:](gTOx/?3O< > +9E2(ZRGv6Rjujg槔;L2?`yB ">@zu[DG"JH J`%MF"#9#c&:!AQ#4#OÔ>32Fs-_D'!ΨlE^i0l/O3g_>I^1B:yIC؝U8=[mEyS P?w̧dFi7zwM?]p :.Ewr餌| :Rdg@:9d"R! 4)R."E#rR6I{{fa?.nFY~$ eoP+w= +&WaX%`pm ]%dN!ٯ<LUξF7XI!OJGfi% c 4cxIW'-t mͫs@Pur1hxfMaGfm>O:FH^||s>c-ϡ\3KI{<@k)NXKS| 1. ta3b+o3wlϯ-q j()̳o-rϠρ5qRZoNҏ付g_@zKsNK6jNc6+:j/1Ym5DyǤ9KfߜG<\DΥslq\Y tG4?!4<4(>.65)?5äAv|fRKفK/C%2D5.EeJ%'4r`t쿳B}{Mټ_HiM |E32$@B A@d  W8pz +",˂⢠"a.zp** NI }>uWuuuտz?o^?]5P'}+hxr`N_cx9#zX.j)͓r_(h=&H} J62WE]&3'0MZsph''}y^qxYv<&AF/ϟ͒ +VWWKGlyS}1E]rqT%桩˃;4?q@>A+t(EqF/}fwqmdY+5S^Yrr),ҕFȃz:-Y?J]F[zNR6{PClz*A7'=n9O`e5o`1Yg`Ehϐp[ :~p>͹'{ΰX=Lhx6zi=c0Rk%pOF~n 2OTsܠz,8{<_J|QsdNPՆe 9^y v R{WtWJ燶B\ڒ]`v ~3 {]{&BGYeBnΌ8x@Uae]F݉4D׫Xc;y.BNcllhus„gK? ;Rm'tTs5S ¸z0OY0?!B9Uw㈀\N 9V/4N?C̵-= N<Ino|AVZ`>>5(YoG Yifʳ?W: G6C\{^򌹆[\).Tsq ti딬G.3 mq@֝Y{FeKq#oU $rœ\ py\du8 ;@iNڤmaL:F<p&t,PZcYqߵ;CDc\&T/m`oIϽP{qı?9L;́B޻ ڮF)C{vQI020feGw3:8p췸O%m70<S q4amԞC-R?D~pr@_vγ'@K\mv-ʞtvy]*[ܧqebw\TU38#bT\9tڐ̛ct@k߼^MD4{ d^ȗnX?.,oT]oQ{5I^wWa"y?"eK>2*jtn~̏}l9ÜqD7XUf'tNC^ ׉Zfk.x,?nn1DZ;kg[lQȤ ku5 {!?k Jsg FoI{'?+vzn k_yЩLߋ9/aTl<D,F%)N#_oWP27PH@g +J3nU1`YtQN!è[{pm`ևiMA hU": f#b.B@6_F>L,sB;PlveQ(p/jg wrͽS(p3lB+ PsZ(pO;G9F@ ؇yWKZn&m1`m?j[ڈ\\i3+s^\H7V's f +XyyʸNY d\=>sV +#eus4o +hx$8Ő^{O^ +4 Gq96ƻz>0EUw b%]=AkP6sߏxۢOFҎ~7,GSFLUWNɮ?Qg}uEv SWg.UIp-2IHw0 针4iu-q>_ 8*&}<6z ܽ.s^cƏUm|((sҐdT!?칻˅:HGS68/+5H>COAm}Elz~,Y"} կvyY9F9m?ߵ;{$e35F)Tp٠bjg΅nu5Ƣn[o~ +}(pτ #&ޝztŹoNNswu*{0x'bK>׶rs4Y}lm[::V;mC&03ĻГz r| e89htFXvX53N>,tlm^@՞鶾=%9XQsҝL gEy>[aFB#A?&_nm}gA}ro(۫ g$uLA즮M<@@_8t6 +Э |Wm N_n5|39>`?yFy^Jgx5HC nЋDD73~BK0^ N¼?~GÌ5>ւGa zn,&X(_[@D^sB0DrOY +hH ̂H\ƵFNν2ܣ|N~m"3yK˼X7Z +M8 Ԗ`-}|g=yW=Rx"'kO};Ps˰TZq4cE[4=st\-Fwݤ+ϕڟ|9Е"']x%q >`9T>ZsrkNjbo͡HUュ=t.sMzns-C[Z+C;ݬY$4~gˠ%SW}} +m+~:HEٗ|`tm:)'>|sihothr{honA[s"$/j@S" Q]p/uٿ5CibLJV׀1v?: 9^i!e{帔khăLjXwiIW z-Am.o3L<"Μ\Z;krCșϣ^yYi!|j5c\`]!#3>{*hMMuY^Q~Iݭ_D`>WeHQ&~C\|g6](]>kYAqUs}9VL%t S)R}v@=E%uҞA?e.uSg܀q+xV {2hw[kEjZ [nmu-w ܷü ͂2!cam̯4L\Ӵ ͏u ŪU8 gW07!.C p#ϡ?/} }8yk+" I|!,?TiO2#|qV.xe_q}Ϣo ]ȣq'q;]~}=[ֹ|V2NҰʟ\vθ윦Svq+%2@x*H䩎@ A_rjo8=x~Kz1,bNt'` +IMɶAF** sO7dn{@K:X ᠧcfy|x06ؖtgItnL[M}'b#sI*+RG>=^2Q78}(ti"|S?D?"޳ק/A;x 4WJy\ pCG97I\[:&/!3(gW?7+ߠ>k(͸mȤm zV[5з1OM}6QN{wv-/^*&_HCqE' ^GFoEްwFXLy~.Ǧ1c;A![cp/Gko}m1C omOY"ͦmhpܓ(.LOc&r~; ̜EK##`NnIhgI(yss0 iIkG^rK,'sE4b3N124Dп~ihMRw$~AʰqPO Ƴ6ԍC]d8]A{Dv*#bF햤w#%Yp\>spӫ.b}o]PoVOEHb~x6qءR'ĵύTAlp{~Xfe8:ᝨ6gʳ7D576"m(9x/ߩA`MgΈqְ G}u\0|Y]e33͛aOҨV~+ϾkIב/&Sf%us ƿ6s&suuH;B>+S:wg|c-N߁P-ytWw}\ߪQ77E _F#~ L\Wqv"_AsE>o> Q׈-P{3S2Og i?e>"ʝ%s.2DЉ lQrb_}Xk'J-Etaˈf98"&L0awr{vCt,d%5@Y Z +/ߠNZK +A+f\A\ S9>}BzG5D0R6B]Qǣ!zl Vwۍl/,&* &L0a„ &L0a„ &L0a„ &L0a„ &L0a„ &L0a„ &L0a„ &L0aP↫OTZBtR #iZF+_"W|0:xwcu7N|Lb S> tsx$`7dV7)yOG]?ǩ3y^my7PTdz]jt{0RK_U+ޣ +V]Fo +cࠈ[ȣ(T T*ԥu[OW4UF{9: $8ޓbU<*POq= oťQZ@#^F*߃k  53*6(q+6wRnlܓ!:$W~[$Um'jd\/dw@t/LpU"qidLKR|-kf0f>GjW\ #j;wg1S\]]ק /1U] ]!oy-""d+[z84;."]յ`IQJLJ K@1Ĕ@ZwA3TʻP](j u-X'Mhq+ү^p!`X4m%;o5Jy,8 QH6yW\=p%\٧ T9߰ Vpm<7lCa-:B cqʀnG__ p\TAvJm>SY +Rq[|aU=l0{.'ej:]UdA^\s@> 4u;^n9 @Gm}cg z,~i?eh˴]zTï^\8Bc}|P  w'pzhb" &" {/mK[c ch<e/wks|h̟,5 +qD,YY.QȫW:B^ RbN|mJC)17KxZĨ WeNQޘ1111ZS&k_{(T?ӻ[%)3/ABUN*rP>QWhlΖ*Ch+7WCn"!࿍9T&SHx'#ٿBk([z_ # d qO zt.uoakjJS9JW$#!YK3ح CtRU|T&|&;O&ў|I.e+# CRې3# 3| ~7!ן +xeVҟ=}!m2>ݟ }ٻUew*aUI쫽|wx]&zWޖA3q];̿;0}?2+^ΗVmvOEE[vA|(NoqzQ{K)vuMvwrupuuutupw%ܱVhw6ܚ[u;ay &, 4Ǫ|=ŭj"6J*2G^UZ.|ZunƖڸO,^reJi)T:c1Qku_Q"׿u\kV_bV_bUc=lPTQ'ͦ si1(ZA]R:EEM %]!s,8Xr0JUda2kjIT+sv tV@Ze,LM4V0Ա*$^[uP=iȫwnI-9f%KFX_Y聪\_/O@y"O&^cT|Κdpۙ[E hOR]CՄ@ҵհtA2T +endstream +endobj +xref +0 17 +0000000000 65535 f +0000000015 00000 n +0000000183 00000 n +0000000231 00000 n +0000000286 00000 n +0000000542 00000 n +0000006416 00000 n +0000006459 00000 n +0000006679 00000 n +0000007537 00000 n +0000007921 00000 n +0000008073 00000 n +0000008289 00000 n +0000010469 00000 n +0000011332 00000 n +0000011481 00000 n +0000033259 00000 n +trailer +<< +/ID[] +/Info 1 0 R +/Root 2 0 R +/Size 17 +>> +startxref +80079 +%%EOF diff --git a/Резюме_Татьяна Артамонова.pdf b/Резюме_Татьяна Артамонова.pdf new file mode 100644 index 0000000..aaad712 Binary files /dev/null and b/Резюме_Татьяна Артамонова.pdf differ