From e9e8d45dd72a0bffbab2055235e78a40cadde995 Mon Sep 17 00:00:00 2001 From: t0815 <10379828+t0815@users.noreply.github.com> Date: Sun, 6 Oct 2024 20:06:20 +0200 Subject: [PATCH] fix updating original files with processed ones [#54], fix task not getting updated [#49] --- MyCBZ/Forms/MainForm.cs | 186 ++++++++----- MyCBZ/Forms/MainForm.resx | 446 +++++++++++++++---------------- MyCBZ/Models/ImageTask.cs | 28 +- MyCBZ/Models/ProjectModel.cs | 70 ++++- MyCBZ/Tasks/ProcessImagesTask.cs | 33 ++- 5 files changed, 438 insertions(+), 325 deletions(-) diff --git a/MyCBZ/Forms/MainForm.cs b/MyCBZ/Forms/MainForm.cs index ae35a32..af33a3d 100644 --- a/MyCBZ/Forms/MainForm.cs +++ b/MyCBZ/Forms/MainForm.cs @@ -812,8 +812,6 @@ private void PageChanged(object sender, PageChangedEvent e) { if (!e.Page.Closed && !e.Page.Deleted) { - if (!WindowClosed) - { Task.Factory.StartNew(() => { PageThumbsListBox.Invoke(new Action(() => @@ -824,7 +822,6 @@ private void PageChanged(object sender, PageChangedEvent e) })); }); - } } } } @@ -1184,6 +1181,8 @@ private void HandleRedrawThumbnail(object sender, RedrawThumbEvent e) PageImages.Images.RemoveByKey(e.Page.Id); } PageThumbsListBox.Items[pageIndex] = e.Page; + + } PageThumbsListBox.Invalidate(); PageThumbsListBox.Refresh(); @@ -1817,6 +1816,7 @@ private void ApplicationStateChanged(object sender, ApplicationStatusEvent e) break; case ApplicationStatusEvent.STATE_READY: + ResetUpdateTags(); info = "Ready."; break; @@ -6097,6 +6097,40 @@ private void RadioApplyAdjustments_CheckedChanged(object sender, EventArgs e) } } + private void ResetUpdateTags() + { + + RadioButtonResizeNever.Tag = false; + RadioButtonResizeIfLarger.Tag = false; + RadioButtonResizeTo.Tag = false; + RadioButtonResizePercent.Tag = false; + + RadioButtonRotateNone.Tag = false; + RadioButtonRotate90.Tag = false; + RadioButtonRotate180.Tag = false; + RadioButtonRotate270.Tag = false; + + + ComboBoxTaskOrderConversion.Tag = false; + ComboBoxTaskOrderResize.Tag = false; + ComboBoxTaskOrderRotation.Tag = false; + ComboBoxTaskOrderSplit.Tag = false; + + CheckBoxSplitDoublePages.Tag = false; + TextBoxSplitPageAt.Tag = false; + ComboBoxSplitAtType.Tag = false; + TextBoxResizePageIndexReference.Tag = false; + TextBoxResizeW.Tag = false; + TextBoxResizeH.Tag = false; + ComboBoxConvertPages.Tag = false; + CheckBoxDontStretch.Tag = false; + TextboxResizePercentage.Tag = false; + CheckboxKeepAspectratio.Tag = false; + PictureBoxColorSelect.Tag = false; + CheckBoxSplitOnlyIfDoubleSize.Tag = false; + CheckBoxSplitDoublepagesFirst.Tag = false; + } + private void UpdateImageAdjustments(object sender, string selected, bool dontUpdate = false) { ImageTask selectedTask = null; @@ -6425,6 +6459,11 @@ private void ComboBoxTaskOrder_SelectedIndexChanged(object sender, EventArgs e) selectedImageTasks.TaskOrder.Split = (ImageTaskOrderValue)cb.SelectedIndex; break; } + + if (selectedImageTasks.PageId == "" && !dontUpdate) + { + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } } private void PictureBoxColorSelect_Click(object sender, EventArgs e) @@ -6450,13 +6489,13 @@ private void PictureBoxColorSelect_Click(object sender, EventArgs e) if (oldValue != selectedImageTasks.ImageAdjustments.DetectSplitAtColor) { - if (page != null && selectedImageTasks.PageId == page.Id) + if (selectedImageTasks.PageId == "") { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) + { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); } @@ -6494,13 +6533,13 @@ private void CheckboxIgnoreDoublePages_CheckedChanged(object sender, EventArgs e if (oldValue != selectedImageTasks.ImageAdjustments.IgnoreDoublePagesResizingToPage) { - if (page != null && selectedImageTasks.PageId == page.Id) + if (selectedImageTasks.PageId == "" && !dontUpdate) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) + { if (!dontUpdate) { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); @@ -6542,12 +6581,13 @@ private void CheckBoxSplitDoublepagesFirst_CheckedChanged(object sender, EventAr if (oldValue != selectedImageTasks.ImageAdjustments.SplitOnlyDoublePages) { + if (selectedImageTasks.PageId == "" && !dontUpdate) + { + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } if (!dontUpdate) { @@ -6583,13 +6623,14 @@ private void CheckBoxSplitOnlyIfDoubleSize_CheckedChanged(object sender, EventAr if (oldValue != selectedImageTasks.ImageAdjustments.SplitOnlyDoublePages) { - if (page != null && selectedImageTasks.PageId == page.Id) + if (selectedImageTasks.PageId == "" && !dontUpdate) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) + { + if (!dontUpdate) { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); @@ -6625,13 +6666,13 @@ private void ComboBoxConvertPages_SelectedIndexChanged(object sender, EventArgs if (oldValue.Value != selectedImageTasks.ImageAdjustments.ConvertType) { - if (page != null && selectedImageTasks.PageId == page.Id) + if (selectedImageTasks.PageId == "" && !dontUpdate) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) + { if (!dontUpdate) { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); @@ -6685,13 +6726,13 @@ private void TextBoxResizePageIndexReference_TextChanged(object sender, EventArg if (oldValue != selectedImageTasks.ImageAdjustments.ResizeToPageNumber) { - if (page != null && selectedImageTasks.PageId == page.Id) + if (selectedImageTasks.PageId == "" && !dontUpdate) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) + { if (!dontUpdate) { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); @@ -6727,13 +6768,13 @@ private void CheckboxKeepAspectratio_CheckedChanged(object sender, EventArgs e) if (oldValue != selectedImageTasks.ImageAdjustments.KeepAspectRatio) { - if (page != null && selectedImageTasks.PageId == page.Id) + if (selectedImageTasks.PageId == "" && !dontUpdate) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) + { if (!dontUpdate) { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); @@ -6801,13 +6842,14 @@ private void TextBoxResizeW_TextChanged(object sender, EventArgs e) if (oldValue != selectedImageTasks.ImageAdjustments.ResizeTo.X) { - if (page != null && selectedImageTasks.PageId == page.Id) + if (selectedImageTasks.PageId == "" && !dontUpdate) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) + { + if (!dontUpdate) { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); @@ -6869,13 +6911,13 @@ private void TextBoxResizeH_TextChanged(object sender, EventArgs e) if (oldValue != selectedImageTasks.ImageAdjustments.ResizeTo.Y) { - if (page != null && selectedImageTasks.PageId == page.Id) + if (selectedImageTasks.PageId == "" && !dontUpdate) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) + { if (!dontUpdate) { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); @@ -6930,13 +6972,13 @@ private void TextboxResizePercentage_TextChanged(object sender, EventArgs e) if (oldValue != selectedImageTasks.ImageAdjustments.ResizeToPercentage) { - if (page != null && selectedImageTasks.PageId == page.Id) + if (selectedImageTasks.PageId == "" && !dontUpdate) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) + { if (!dontUpdate) { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); @@ -6971,13 +7013,13 @@ private void CheckBoxDontStretch_CheckedChanged(object sender, EventArgs e) if (oldValue != selectedImageTasks.ImageAdjustments.DontStretch) { - if (page != null && selectedImageTasks.PageId == page.Id) + if (selectedImageTasks.PageId == "" && !dontUpdate) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) + { if (!dontUpdate) { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); @@ -7022,13 +7064,13 @@ private void TextBoxSplitPageAt_TextChanged(object sender, EventArgs e) if (oldValue != selectedImageTasks.ImageAdjustments.SplitPageAt) { - if (page != null && selectedImageTasks.PageId == page.Id) + if (selectedImageTasks.PageId == "" && !dontUpdate) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) + { if (!dontUpdate) { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); @@ -7063,13 +7105,13 @@ private void ComboBoxSplitAtType_SelectedIndexChanged(object sender, EventArgs e if (oldValue.Value != selectedImageTasks?.ImageAdjustments.SplitType) { - if (page != null && selectedImageTasks.PageId == page.Id) + if (selectedImageTasks.PageId == "" && !dontUpdate) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) + { if (!dontUpdate) { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); @@ -7104,13 +7146,13 @@ private void CheckBoxSplitDoublePages_CheckedChanged(object sender, EventArgs e) if (oldValue.Value != selectedImageTasks.ImageAdjustments.SplitPage) { + if (selectedImageTasks.PageId == "" && !dontUpdate) + { + Program.ProjectModel.GlobalImageTask = selectedImageTasks; + } + if (page != null && selectedImageTasks.PageId == page.Id) { - if (selectedImageTasks.PageId == "") - { - Program.ProjectModel.GlobalImageTask = selectedImageTasks; - } - if (!dontUpdate) { AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED, true)); diff --git a/MyCBZ/Forms/MainForm.resx b/MyCBZ/Forms/MainForm.resx index 19312e9..1fc8cde 100644 --- a/MyCBZ/Forms/MainForm.resx +++ b/MyCBZ/Forms/MainForm.resx @@ -140,7 +140,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAbgoAAAJNU0Z0AUkBTAIBAQMB - AAFoAS4BaAEuARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMAAUADAAEQAwABAQEAAQgG + AAGoAS4BqAEuARABAAEQAQAE/wEJAQAI/wFCAU0BNgEEBgABNgEEAgABKAMAAUADAAEQAwABAQEAAQgG AAEEGAABgAIAAYADAAKAAQABgAMAAYABAAGAAQACgAIAA8ABAAHAAdwBwAEAAfABygGmAQABMwUAATMB AAEzAQABMwEAAjMCAAMWAQADHAEAAyIBAAMpAQADVQEAA00BAANCAQADOQEAAYABfAH/AQACUAH/AQAB kwEAAdYBAAH/AewBzAEAAcYB1gHvAQAB1gLnAQABkAGpAa0CAAH/ATMDAAFmAwABmQMAAcwCAAEzAwAC @@ -198,7 +198,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAIkMAAAJNU0Z0AUkBTAIBARIB - AAFoAS4BaAEuARgBAAEYAQAE/wEZAQAI/wFCAU0BNgcAATYDAAEoAwABYAMAAXgDAAEBAQABGAYAAYeE + AAGoAS4BqAEuARgBAAEYAQAE/wEZAQAI/wFCAU0BNgcAATYDAAEoAwABYAMAAXgDAAEBAQABGAYAAYeE AANnEiUDZ/8ACQADJRIAAyXnAB4lAwADnAP+A1wDcAkAAyWZAALUAdUDJzYlAycD1QwAAyUDfQG9Ar4B vQK+Ab0CvgG9Ar4BvQK+Ab0CvgG9A74CvwMAA90DYQYlA3gGAAMlmQADvQMlNr0DJQO+DAADJQG9Ar4B pAHmAfMBaAHdAfMBaAHdAfMBaAHdAfMBaAHdAfMBaAHdAfMBaAHdAfMBzQHtAfMD/wNkCSUDJwN+AwAD @@ -520,174 +520,174 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAIicAAAJNU0Z0AUkBTAIBAQ8B - AAHAAQ4BwAEOARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAAUADAAEBAQABIAYAAUD/ - ABsAA0wBkAMlAf8DYgHhCAADJAE0AyUB/wMlAf8DKgE/YAABVQJXAbEBXAJlAecBKwJ+AfwBKwJ+AfwB - XAJlAecBVQJXAbFkAAMyAU8DJQH/AyUB/wMaASQEAAQCA1kB7wMlAf8DRgGAJAADBgEIA0EBcgNbAc0D - XAH4A1wB+ANbAc0DQQFyAwYBCBwAAUACQQFxAQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8B - QAJBAXFgAAMQARUDGwEmA0AB/QMlAf8DQAFvAxABFQMQARUDWAG6AyUB/wNaAcQDEAEVAw8BExgAAxYB - HQNbAdMDVQGuAykBPQMHAQkDJQH/AyUB/wMlAf8DWwHTAxYBHRwAAT8CQAFuAy4BSAMuAUgBPwJAAW4D - LQFFA00BkgNbAeQDJgH7AyYB+wNbAeQDVQG0AzEBTUQAA1wB2QMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB - /wMlAf8DJQH/AyUB/wMlAf8DKwH8Aw4BEhAAAwYBCANbAdMDQQFzDAADJQH/AyUB/wMlAf8DJQH/A1sB - 0wMGAQgYAAM2AVkBWgJjAekBWgJjAekDNgFZAy0BRgMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wNBAflE - AANOAZcDJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMzAVEQAANBAXID - VQGuEAADJQH/AyUB/wMlAf8DJQH/AyUB/wNBAXIYAAFaAmMB6QEAAdIB+gH/AQAB0gH6Af8BWgJjAekD - HQEpAyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/A2AB4EQAAxQBGwMqAT8DQAFxAyUB/wMlAf8DOwFkAyoB - PwMqAT8DYQHrAyUB/wNTAaoDKgE/AxYBHhAAA1sBzQMpAT0QAAMlAf8DJQH/AyUB/wMlAf8DJQH/A1sB - zQwAAzEBTQNVAbQDHAEnAVoCYwHpAQAB0gH6Af8BAAHSAfoB/wFaAmMB6QMbASYDWwHKA0QBegMuAUgD - MAFLA0QBegNbAcoDPAFmTAADCgENA00B+gMlAf8DPgFqCAADVAGrAyUB/wNZAcYYAANcAfgDBwEJEAAD - JQH/AyUB/wMlAf8DJQH/AyUB/wNcAfgMAANBAfkDJQH/Az0BZwMzAVABWgJjAekBWgJjAekDMwFQAzUB - VgMXAR8DNgFXA1oBxANaAcQDOQFeAxgBIFQAA1kBxgMlAf8DVAGrCAADPgFqAyUB/wNNAfoDCgENFAAD - XAH4AwcBCRAAAyUB/wMlAf8DJQH/AyUB/wMlAf8DXAH4DAADYAHgAyUB/wNhAeYDPQFnAyMBMwMjATMD - NgFYA2AB4AM9AWkDgAH+AyUB/wMlAf8DgAH+Az0BaUwAAxYBHgMqAT8DUwGqAyUB/wNhAesDKgE/AyoB - PwM7AWQDJQH/AyUB/wNAAXEDKgE/AxQBGwwAA1sBzQMpAT0QAAMlAf8DJQH/AyUB/wMlAf8DJQH/A1sB - zQwAAzwBZgNbAcoDRAF6Ay4BSAMwAUsDRAF6A1sBygM8AWYDYQHmAyUB/wMlAf8DJQH/AyUB/wNhAeZM - AAMzAVEDJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wNOAZcMAANBAXID - VQGuEAADJQH/AyUB/wMlAf8DJQH/AyUB/wNBAXIQAAMXAR8DNgFXA1oBxANaAcQDOQFeAxgBIAQAA1oB - 9QMlAf8DJQH/AyUB/wMlAf8DWgH1TAADDgESAysB/AMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8D - JQH/AyUB/wMlAf8DXAHZDAADBgEIA1sB0wNBAXMMAAMlAf8DJQH/AyUB/wMlAf8DWwHTAwYBCBAAAz0B - aQOAAf4DJQH/AyUB/wOAAf4DPQFpBAADUQGeAyUB/wMlAf8DJQH/AyUB/wNRAZ5QAAMPARMDEAEVA1oB - xAMlAf8DWAG6AxABFQMQARUDQAFvAyUB/wNAAf0DGwEmAxABFRAAAxYBHQNbAdMDVQGuAykBPQMHAQkD - JQH/AyUB/wMlAf8DWwHTAxYBHRQAA2EB5gMlAf8DJQH/AyUB/wMlAf8DYQHmBAADCAEKA04BmANlAfED - ZQHxA04BmAMIAQpYAANGAYADJQH/A1kB7wQCBAADGgEkAyUB/wMlAf8DMgFPGAADBgEIA0EBcgNbAc0D - XAH4A1wB+ANbAc0DQQFyAwYBCBgAA1oB9QMlAf8DJQH/AyUB/wMlAf8DWgH1dAADKgE/AyUB/wMlAf8D - JAE0CAADYgHhAyUB/wNMAZBQAANRAZ4DJQH/AyUB/wMlAf8DJQH/A1EBnugAAwgBCgNOAZgDZQHxA2UB - 8QNOAZgDCAEK/wB1AAMYASEDUAGcA1oB8gNQAZwDGAEhOAADOAFdAzABSgMEAQUkAAMTARoDSQGIA10B - 1ANBAfkDQQH5A10B1ANJAYgDEwEaIAADEwEaA0kBiANdAdQDQQH5A0EB+QNdAdQDSQGIAxMBGhwAAxgB - IANPAZkDWgHyA1EBogMlAf8DUQGiA1oB8gNPAZkDGAEgMAADOgFiA00B+gNdAdwDJAE0HAADNwFaA2IB - 7gNLAY0DIwEyAwYBBwMGAQcDIwEyA0sBjQNdAeoDNwFaGAADNwFaA2AB8wNNAfoDWAG3A0kBhwNJAYcD - WAG3A00B+gNgAfMDNwFaEAADFQEcA04BlgNaAfIDUQGeAxoBIwMIAQoDJQH/AwgBCgMaASMDUQGeA1oB - 8gNOAZYDFQEcKAADQgF0A1MBqgMzAVEDYAHoAxcBHxQAAzcBWgNbAeQDXQHOAwMBBBAAAzQBUwM2AVcD - YAHgAzcBWhAAAzcBWgOAAf4DWgG/AxgBIRAAAxgBIQNaAb8DgAH+AzcBWgwAA18B5QNRAaQDGwElCAAD - CAEKAyUB/wMIAQoIAAMbASUDUQGkA18B5RgAAysBQQNRAaEDXgHdA00B+gNfAdUDHQEoBAADRgF+A1AB - nBAAAxMBGgNdAeoDPQFnAyUB/wNaAb8DBAEFDAADXAHWAyYB+wMoATsDXQHqAxMBGggAAxMBGgNgAfMD - WgG/AwUBBhgAAwUBBgNaAb8DYAHzAxMBGggAAyUB/wMQARUMAAMIAQoDJQH/AwgBCgwAAxABFQMlAf8Q - AAMOARIDVgGzA1sB2AM/AW0DHQEoAwUBBgwAAxUBHANhAesDDwETDAADSQGIA0IBdANXAcIDJQH/AyUB - /wMlATcMAANeAe0DJQH/A0QBeANLAY0DSQGICAADSQGIA00B+gMYASEgAAMYASEDTQH6A0kBiAgAAyUB - /wMQARUMAAMIAQoDJQH/AwgBCgwAAxABFQMlAf8MAAMIAQoDXQHPA0oBiwMEAQUcAANHAYIDXQHPAwgB - CggAA10B1AM6AWIDJQH/A0AB/QNLAYwDBgEHBAADCwEOAyYBOQMlAf8DJQH/A1oBxwMdASgDXQHUCAAD - XQHUA1gBtygAA1gBtwNdAdQIAAMlAf8DEAEVBAADFwEfAxEBFgMIAQoDJQH/AwgBCgwAAxABFQMlAf8M - AANHAYIDUgGjCQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/CAAD - UwGmA0cBgggAA0EB+QNMAZEDXgHwAzsBZAgAAxYBHgNlAfEDJQH/AyUB/wMlAf8DJQH/AysEQQH5CAAD - QQH5A0kBhxEAAdIB+gH/AQAB0gH6Af8QAANJAYcDQQH5CAADJQH/AxABFQNYAbgBQAK+Af0DIQEvA0sB - jwMlAf8DSwGPAxIBGAgAAxABFQMlAf8MAANdAd8DHgEqKAADHgEqA10B3wgAA0EB+QNbAcoDCwEODAAD - MwFSAyUB/wMlAf8DJQH/AyUB/wMlAf8DPgFrA0EB+QgAA0EB+QNJAYcMAAMEAQUBSAJjAfYBSAJjAfYB - XAJhAdkDMwFSCAADSQGHA0EB+QgAAyUB/wMQARUBUwJoAfQBAAHSAfoB/wFAAkEBcQNFAXwDLgFIA1IB - qANeAfADSgGLAxEBFgMQARUDJQH/DAADQAH9AwIBAwkAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB - +gH/AQAB0gH6Af8BAAHSAfoB/wgAAwIBAwNAAf0IAANdAdQDWQHvAxoBIwwAAxYBHQNgAfMDJQH/A1EB - 9wNbAeQDSAH2A4AB/gNdAdQIAANdAdQDWAG3DAADSwGNAVoCXAHEAyUBNwNFAXwDYgHuAzUBVQQAA1gB - twNdAdQIAAMlAf8DOgFgAVsCXQHKAQAB0gH6Af8BAAHSAfoB/wFbAmEB3gM0AVMEAgMgAS4DVAGrA14B - 8ANOAZcDJQH/DAADXQHfAx4BKigAAx4BKgNdAd8IAANJAYgDJQH/A10B3wMeASoMAAM3AVoDUQGhAzAB - SgNLAY0DYgHuAyUB/wNJAYgIAANJAYgDTQH6AxgBIQQAAxEBFgNiAe4DHAEnCAADCQELAxABFQMYASED - TQH6A0kBiAgAA18B5QNbAcUDGwEmAUoCSwGKAV4CZQHiA4AB/gOAAf4BXgJlAd0DMwFQBAEDNAFTA00B - +gNfAeUMAANHAYIDUgGlCQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB - +gH/CAADUgGlA0cBgggAAxMBGgNgAfMDJQH/A4AB/gMxAU4IAAM2AVgDWgG/A1oB8gMlAf8DJQH/A2AB - 8wMTARoIAAMTARoDYAHzA1oBvwMFAQYBWwJdAcoDSwGNEAADBQEGA1oBvwNgAfMDEwEaCAADFQEcA0QB - eANaAfIDRgF+AxcBHwM4AVsBYAJlAeMDgAH+AQAB0gH6Af8BYAJkAdsBOgI7AWIDQwF2AxUBHAwAAwgB - CgNdAc8DSwGNAwQBBRgAAwQBBQNLAY0DXQHPAwgBCgwAAzcBWgOAAf4DJQH/AysBQgNTAakDTgGYAycB - OgMjATMDXgHSA0oBiwMrAfwDNwFaEAADNwFaA4AB/gNaAb8BQAJBAXADDAEPDAADGAEhA1oBvwOAAf4D - NwFaFAADGAEgA0QBegNaAfIDRQF8Ax0BKAFPAlABmwFbAmEB3gNVAawDEAEVGAADDgESA1YBswNeAdcD - PgFrAxsBJgMEAQUDBAEFAxsBJgM+AWsDXgHXA1YBswMOARIUAAM3AVoDYAHzA10B1ANZAe8DJQH/A1cB - uQMYASADQAFxA10B6gM3AVoYAAM3AVoDYAHzA00B+gNYAbcDSQGHA0kBhwNYAbcDTQH6A2AB8wM3AVog - AAMYASEDRgF9A1oB8gNLAY0EAigAAysBQQNRAaEDXgHdA00B+gNNAfoDXgHdA1EBoQMrAUEgAAMTARoD - SQGIA10B1ANBAfkDQQH5A10B1ANJAYgDEwEaIAADEwEaA0kBiANdAdQDQQH5A0EB+QNdAdQDSQGIAxMB - Gv8A/wAeAAMzAVADWgHpAyUB/wMlAf8DJQH/AyUB/wMlAf8DXAHIGAADMQFNA1UBtANbAeQDJgH7AyYB - +wNbAeQDVQG0AzEBTSQAAzMBUANaAekDJQH/BQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8B - AAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BWQJcAcFUAANaAekDJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8D - JQH/GAADQQH5AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/A0EB+SQAA1oB6QMlAf8DJQH/BQAB0gH6Af8B - AAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/zAAAxcB - HwNJAYcDXAHWA1wB+ANTAaoQAAMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/GAADYAHgAyUB - /wMlAf8DJQH/AyUB/wMlAf8DJQH/A2AB4CQAAyUB/wMlAf8DJQH/BQAB0gH6Af8BAAHSAfoB/wEAAdIB - +gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/yQAAwkEDAEPA00BkwNNAfoD - JQH/AyUB/wMlAf8DYAHzEAADJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMzAVIBAAHSAfoB - /wFcAl8ByAwAAzwBZgNbAcoDRAF6Ay4BSAMwAUsDRAF6A1sBygM8AWYkAAMlAf8DJQH/AyUB/wUAAdIB - +gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8c - AAE7AjwBZQNVAa8DNgFYA1wB5wNgAeADPgFqAzoEYAHoAyUB/wNVAa4QAAMlAf8DJQH/AyUB/wMlAf8D - JQH/AyUB/wMlAf8DJQH/AzMBUgEAAdIB+gH/AQAB0gH6Af8QAAMXAR8DNgFXA1oBxANaAcQDOQFeAxgB - IAMbASYBTAJNAZEBIQJfAfsBIQJfAfsBWwJjAeQBVQJXAbQDMQFNDAADJQH/AyUB/wMlAf8FAAHSAfoB - /wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/GAAB - JgInATkBVQJWAa4DRAF6A1oB9QM5AV8DPQFnAWACaQHoAyABLgNXAbkDJgH7AyEBMBAAAyUB/wMlAf8D - JQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DMwFSAQAB0gH6Af8BAAHSAfoB/xAAAz0BaQOAAf4DJQH/AyUB - /wOAAf4DPQFpAxkBIgEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BQQJqAfkM - AAMlAf8DJQH/AyUB/wUAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB - /wEAAdIB+gH/AQAB0gH6Af8YAAMyAU8DQgF1A2AB2wM1AVYBXgJlAeIBAAHSAfoB/wEAAdIB+gH/AVAC - UQGdA0wBkQNGAYAUAAMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AzMBUgEAAdIB+gH/AQAB - 0gH6Af8QAANhAeYDJQH/AyUB/wMlAf8DJQH/A2EB5gMeASoBAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8B - AAHSAfoB/wEAAdIB+gH/AWACZgHgDAADJQH/AyUB/wMlAf8FAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8B - AAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/FAADBwEJA0oBigNdAc8DOgFgAU0C - fQH6AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/ASsCfgH8AykBPQQCFAADJQH/AyUB/wMlAf8DJQH/AyUB - /wMlAf8DJQH/A1wByAMzAVIBAAHSAfoB/wEAAdIB+gH/EAADWgH1AyUB/wMlAf8DJQH/AyUB/wNaAfUD - KwFCA0QBegMuAUgDMAFLA0QBegFbAl0BygM8AWYMAAMlAf8DJQH/AyUB/wUAAdIB+gH/AQAB0gH6Af8B - AAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8QAAQCA0sBjwNgAeAD - NQFWA4AB/gEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/ASsCfgH8AwQBBRgAAyUB/wMlATcU - AAM7AWUDMwFSAQAB0gH6Af8BAAHSAfoB/xAAA1EBngMlAf8DJQH/AyUB/wMlAf8DUQGeAxcBHwM2AVcB - WgJcAcQBWgJcAcQDOQFeAxgBIBAAAyUB/wMlAf8DJQH/BQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB - 0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/xAAA0EBcwMlAf8DNgFYAWACZgHgAQAB - 0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wFZAlwBwRwAA1oB6QMlATcQAAMLAQ4D - JQH/AzMBUgEAAdIB+gH/AQAB0gH6Af8QAAMIAQoDTgGYA2UB8QNlAfEDTgGYAwgBCgM0AVQDgAH+AQAB - 0gH6Af8BAAHSAfoB/wOAAf4BPQI+AWkQAAMlAf8DJQH/AyUB/wUAAdIB+gH/AQAB0gH6Af8BAAHSAfoB - /wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8MAAMcAScDJgH7A10BzgMbASUB - QQJqAfkBAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wFBAmoB+QEmAicBORwAAzMBUANaAekD - JQH/AyUB/wMlAf8DJQH/AyUB/wNbAcoDRgF+AQAB0gH6Af8BXAJfAcgoAAFhAmoB5gEAAdIB+gH/AQAB - 0gH6Af8BAAHSAfoB/wEAAdIB+gH/AWECagHmEAADJQH/AyUB/wMlAf8EAAOAAf4DgAH+A4AB/gOAAf4D - gAH+AQAB0gH6Af8BAAHSAfoB/wFGAkcBgAwAA1UBrgMlAf8DYAHoAzoBYAMwAUsBWAJaAb0BAAHSAfoB - /wEAAdIB+gH/A14B0gMqAT8sAAM8AWYDBQEGFAADRgF+KAABWgJuAfUBAAHSAfoB/wEAAdIB+gH/AQAB - 0gH6Af8BAAHSAfoB/wFaAm4B9RAAAyUB/wMlATc0AANgAfMDJQH/AyUB/wMlAf8DWgHyAygBPAMRARYD - EQEWNAABWgJjAekDJQE3EAADCwEOAQAB0gH6Af8oAANRAZ4BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8B - AAHSAfoB/wNRAZ4QAANaAekDJQE3IAADCwEOAQAB0gH6Af8MAANTAaoDXAH4A1wB1gNJAYcDFwEfQAAD - MwFQAVoCYwHpAQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wFbAl0ByigAAwgB - CgNOAZgBZQJwAfEBZQJwAfEDTgGYAwgBChAAAzMBUANaAekDJQH/BQAB0gH6Af8BAAHSAfoB/wEAAdIB - +gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BUQJTAaL/AP8AYgADFwEfAyUB/wMlAf8D - CAEKJAADHQEpAz8BbgMGAQgQAAMGAQgDPwFuAx0BKRgAAxMBGQNHAYIDWQHDA1oB6QMrAfwDKwH8A1oB - 6QNZAcMDRgGBAxMBGWAAAxcBHwMlAf8DPAFmA04BlwMlAf8DCAEKIAADUgGoAyUB/wNbAdADHQEoCAAD - HQEoA1sB0AMlAf8DUgGoGAADWwHkAyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DWwHkXAAD - FgEeAyUB/wM7AWUEAAQBA04BlwMlAf8DCAEKHAADPwFsAyUB/wMlAf8DUwH0AzsBYwM7AWMDUwH0AyUB - /wMlAf8DPwFsGAADUQH3AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DUQH3EAABXAJfAcgB - AAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB - +gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BXAJfAcgQAAMWAR4DJQH/AzwBZgwABAED - TgGXAyUB/wMIAQoYAAMUARsDQAH9AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/A0AB/QMUARsYAANbAc0D - JQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wNbAc0RAAHSAfoB/zEAAdIB+gH/DAADFgEeAyUB - /wM8AWYUAAQBA04BmAMlAf8cAANZAcYDJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DWQHGHAADNQFWA4AB - /gMlAf8DYQHmA10BzwNdAc8DYQHmAyUB/wOAAf4DNQFWEQAB0gH6Af8EAAMlAf8EAAMlAf8DPAFmAyUB - /wMlAf8EAAMlAf8DPAFmAyUB/wUAAdIB+gH/CAADFgEeAyUB/wM8AWYcAAM2AVkDJQH/BAEUAAQBA1QB - qwMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wNUAasEARwAAzABTAMqAT8DGwElAw0BEQMNAREDHQEpAyoB - PwMwAUwVAAHSAfoB/wQAAyUB/wQAAyUB/wM8AWYDJQH/AyUB/wQAAyUB/wM8AWYDJQH/BQAB0gH6Af8I - AAMlAf8DUgGgHAADNgFXAyUB/wMdASkBVgJYAbMQAAMQARUDVgG1AyUB/wMlAf8DJQH/AyUB/wMlAf8D - JQH/AyUB/wMlAf8DVgG1AxABFRwAAxYBHgM5AV8DWgHHA1oBxwM5AV8DFgEeGQAB0gH6Af8EAAMlAf8E - AAMlAf8DPAFmAyUB/wMlAf8EAAMlAf8DPAFmAyUB/wUAAdIB+gH/CAADJQH/AysB/AM5AV4UAAM2AVcD - JQH/Aw8BEwM9AWgBAAHSAfoB/wwAAysBQgNhAeYDJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB - /wMlAf8DJQH/A2EB5gMrAUIUAAMdASkDXgHwAyUB/wMlAf8DJQH/AyUB/wNeAfADHQEpFQAB0gH6Af8E - AAMlAf8EAAMlAf8DPAFmAyUB/wMlAf8EAAMlAf8DPAFmAyUB/wUAAdIB+gH/CAADJQH/AyUB/wMrAfwD - OQFeDAADNQFWAyUB/wMPARQDPAFmAQAB0gH6Af8DFgEeDAADWgHyAyUB/wMlAf8DJQH/AyUB/wMlAf8D - JQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/A1oB8hQAA1UBsQMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB - /wNVAbEVAAHSAfoB/wQAAyUB/wQAAyUB/wM8AWYDJQH/AyUB/wQAAyUB/wM8AWYDJQH/BQAB0gH6Af8I - AAMlAf8DRgGBA1YBsgMrAfwDOAFdBAADNQFWAyUB/wMPARQDPAFmAQAB0gH6Af8DFgEeEAADPQFpA1AB - nANPAZsDTwGbA1MBpwMlAf8DJQH/AyUB/wMlAf8DUwGnA08BmwNPAZsDUAGcAz0BaRQAA1MB9AMlAf8D - JQH/AyUB/wMlAf8DJQH/AyUB/wNTAfQVAAHSAfoB/wQAAyUB/wQAAyUB/wM8AWYDJQH/AyUB/wQAAyUB - /wM8AWYDJQH/BQAB0gH6Af8IAAOAAf4DGgEjA0IBdQMlAf8DKwH8A04BlgMlAf8DDwEUAzwBZgEAAdIB - +gH/AxYBHigAA14B1wMlAf8DJQH/A14B1ygAA1MB9AMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wNTAfQV - AAHSAfoB/zEAAdIB+gH/CAADTgGVA00B+gMrAfwDJQH/AyUB/wMlAf8DCwEOATsCPAFlAQAB0gH6Af8D - FgEeLAADSQGFAyUB/wMlAf8DSQGGKAADVQGxAyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/A1UBsRQAAVwC - XwHIAQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8B - AAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AVwCXwHICAADBQEGA0cBggMNARED - KwFBAyoBQAE7AjwBZQNSAaABAAHSAfoB/wMXAR8wAAMkATQDJQH/AyUB/wMkATQoAAMdASkDXgHwAyUB - /wMlAf8DJQH/AyUB/wNeAfADHQEpVAAEAQNNAZIDgAH+AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB - 0gH6Af8DFwEfNAAEAQNcAcgDXAHIBAEsAAMdASkDVQGxA1MB9ANTAfQDVQGxAx0BKf8AVQABQgFNAT4H - AAE+AwABKAMAAUADAAFAAwABAQEAAQEGAAECFgAD/wEABv8CAAHGAR8C/wHgAX8CAAHCAR8B8AEPAeAB - fwIAAYABBwHgAQcB8AMAAYABAwHHAQMB8AMAAYABAwHPAQMB8AMAAYABAwHPAQMBgAMAAeEBjwHPAQMB - gAEBAgAB8QGHAc8BAwGAAQECAAHAAQEBzwEDAYABAQIAAcABAQHPAQMBwAGBAgABwAEBAccBAwHAAYEC - AAHgAQEB4AEHAcABgQIAAfgBQwHwAQ8BwAH/AgAB+AFjAv8BwAH/AgAE/wHAAf8CAAj/AfgBPwH/AR8B - 8AEPAfABDwHgAQ8B/wEPAeABBwHgAQcBgAEDAf8BBwTDAYwBYwHwAScBgQHBAYcB4QGcAXMBwAHjAYEB - wQGPAfEBnAFzAYcB8QGBAQEBnwH5AZABcwGYARkBhgEBAZ4BeQGAATMBnwH5AY4BAQGcARkBgAEDAZgB - GQGOAQEBnAEJAYABAwGfAfkBhwEBAYgBwQGAAQMBmAEZAYMBAQGBAeEBgAEDAYcB4QHAAQMBwQHDAeAB - DwHAAQMB4AEHAeABBwH4AT8B8AEPAfABDwHwAQ8Q/wHgAR8BgAF/AcQBAwL/AeABHwGAAX8BxAEDAf8B - wQHgAR8BgAF/AcQBAwH+AQEB4AEDAYABfwHEAQMB+AEBAeABAwHAAQEBxAEDAfABAQHgAQMBwAEBAcQB - AwHwAQMB4AEDAcABAQHEAQMB4AEDAeABAwHAAQEBxAEDAcABBwHnAcMBwAEDAcQBAwHAAQ8B5wGDAcAB - AwHEAQMBgAEPAeABAwH/AQMBxAEDAYABHwH8AfsB/wEDAc8B/wGAAX8B/AHzAf8BAwHPAfMBgwH/AfwB - AwH/AQMBxAEDEv8B/AE/AeMBxwHgAQcC/wH4AR8B4QGHAeABBwL/AfEBDwHgAQcB4AEHAYABAQHjAYcB - 4AEHAeABBwG/Af0CxwHwAQ8B4AEHAagBRQGPAeMB4AEHAfABDwGoAUUBnwHDAcABAwH4AR8BqAFFAY8B - gwGAAQEB8AEPAagBRQGHAQMBgAEBAfABDwGoAUUBggEHAYABAQHwAQ8BqAFFAYABDwH8AT8B8AEPAb8B - /QGAAR8B/AE/AfABDwGAAQEBgAE/AfwBPwHwAQ8C/wGAAX8B/AE/AfgBHwr/Cw== + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAICcAAAJNU0Z0AUkBTAIBAQ8C + AAEPAQABDwEQAQABEAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAUADAAFAAwABAQEAASAGAAFA/wAb + AANMAZADJQH/A2IB4QgAAyQBNAMlAf8DJQH/AyoBP2AAAVUCVwGxAVwCZQHnASsCfgH8ASsCfgH8AVwC + ZQHnAVUCVwGxZAADMgFPAyUB/wMlAf8DGgEkBAAEAgNZAe8DJQH/A0YBgCQAAwYBCANBAXIDWwHNA1wB + +ANcAfgDWwHNA0EBcgMGAQgcAAFAAkEBcQEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AUAC + QQFxYAADEAEVAxsBJgNAAf0DJQH/A0ABbwMQARUDEAEVA1gBugMlAf8DWgHEAxABFQMPARMYAAMWAR0D + WwHTA1UBrgMpAT0DBwEJAyUB/wMlAf8DJQH/A1sB0wMWAR0cAAE/AkABbgMuAUgDLgFIAT8CQAFuAy0B + RQNNAZIDWwHkAyYB+wMmAfsDWwHkA1UBtAMxAU1EAANcAdkDJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8D + JQH/AyUB/wMlAf8DJQH/AysB/AMOARIQAAMGAQgDWwHTA0EBcwwAAyUB/wMlAf8DJQH/AyUB/wNbAdMD + BgEIGAADNgFZAVoCYwHpAVoCYwHpAzYBWQMtAUYDJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DQQH5RAAD + TgGXAyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DMwFREAADQQFyA1UB + rhAAAyUB/wMlAf8DJQH/AyUB/wMlAf8DQQFyGAABWgJjAekBAAHSAfoB/wEAAdIB+gH/AVoCYwHpAx0B + KQMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wNgAeBEAAMUARsDKgE/A0ABcQMlAf8DJQH/AzsBZAMqAT8D + KgE/A2EB6wMlAf8DUwGqAyoBPwMWAR4QAANbAc0DKQE9EAADJQH/AyUB/wMlAf8DJQH/AyUB/wNbAc0M + AAMxAU0DVQG0AxwBJwFaAmMB6QEAAdIB+gH/AQAB0gH6Af8BWgJjAekDGwEmA1sBygNEAXoDLgFIAzAB + SwNEAXoDWwHKAzwBZkwAAwoBDQNNAfoDJQH/Az4BaggAA1QBqwMlAf8DWQHGGAADXAH4AwcBCRAAAyUB + /wMlAf8DJQH/AyUB/wMlAf8DXAH4DAADQQH5AyUB/wM9AWcDMwFQAVoCYwHpAVoCYwHpAzMBUAM1AVYD + FwEfAzYBVwNaAcQDWgHEAzkBXgMYASBUAANZAcYDJQH/A1QBqwgAAz4BagMlAf8DTQH6AwoBDRQAA1wB + +AMHAQkQAAMlAf8DJQH/AyUB/wMlAf8DJQH/A1wB+AwAA2AB4AMlAf8DYQHmAz0BZwMjATMDIwEzAzYB + WANgAeADPQFpA4AB/gMlAf8DJQH/A4AB/gM9AWlMAAMWAR4DKgE/A1MBqgMlAf8DYQHrAyoBPwMqAT8D + OwFkAyUB/wMlAf8DQAFxAyoBPwMUARsMAANbAc0DKQE9EAADJQH/AyUB/wMlAf8DJQH/AyUB/wNbAc0M + AAM8AWYDWwHKA0QBegMuAUgDMAFLA0QBegNbAcoDPAFmA2EB5gMlAf8DJQH/AyUB/wMlAf8DYQHmTAAD + MwFRAyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DTgGXDAADQQFyA1UB + rhAAAyUB/wMlAf8DJQH/AyUB/wMlAf8DQQFyEAADFwEfAzYBVwNaAcQDWgHEAzkBXgMYASAEAANaAfUD + JQH/AyUB/wMlAf8DJQH/A1oB9UwAAw4BEgMrAfwDJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB + /wMlAf8DJQH/A1wB2QwAAwYBCANbAdMDQQFzDAADJQH/AyUB/wMlAf8DJQH/A1sB0wMGAQgQAAM9AWkD + gAH+AyUB/wMlAf8DgAH+Az0BaQQAA1EBngMlAf8DJQH/AyUB/wMlAf8DUQGeUAADDwETAxABFQNaAcQD + JQH/A1gBugMQARUDEAEVA0ABbwMlAf8DQAH9AxsBJgMQARUQAAMWAR0DWwHTA1UBrgMpAT0DBwEJAyUB + /wMlAf8DJQH/A1sB0wMWAR0UAANhAeYDJQH/AyUB/wMlAf8DJQH/A2EB5gQAAwgBCgNOAZgDZQHxA2UB + 8QNOAZgDCAEKWAADRgGAAyUB/wNZAe8EAgQAAxoBJAMlAf8DJQH/AzIBTxgAAwYBCANBAXIDWwHNA1wB + +ANcAfgDWwHNA0EBcgMGAQgYAANaAfUDJQH/AyUB/wMlAf8DJQH/A1oB9XQAAyoBPwMlAf8DJQH/AyQB + NAgAA2IB4QMlAf8DTAGQUAADUQGeAyUB/wMlAf8DJQH/AyUB/wNRAZ7oAAMIAQoDTgGYA2UB8QNlAfED + TgGYAwgBCv8AdQADGAEhA1ABnANaAfIDUAGcAxgBITgAAzgBXQMwAUoDBAEFJAADEwEaA0kBiANdAdQD + QQH5A0EB+QNdAdQDSQGIAxMBGiAAAxMBGgNJAYgDXQHUA0EB+QNBAfkDXQHUA0kBiAMTARocAAMYASAD + TwGZA1oB8gNRAaIDJQH/A1EBogNaAfIDTwGZAxgBIDAAAzoBYgNNAfoDXQHcAyQBNBwAAzcBWgNiAe4D + SwGNAyMBMgMGAQcDBgEHAyMBMgNLAY0DXQHqAzcBWhgAAzcBWgNgAfMDTQH6A1gBtwNJAYcDSQGHA1gB + twNNAfoDYAHzAzcBWhAAAxUBHANOAZYDWgHyA1EBngMaASMDCAEKAyUB/wMIAQoDGgEjA1EBngNaAfID + TgGWAxUBHCgAA0IBdANTAaoDMwFRA2AB6AMXAR8UAAM3AVoDWwHkA10BzgMDAQQQAAM0AVMDNgFXA2AB + 4AM3AVoQAAM3AVoDgAH+A1oBvwMYASEQAAMYASEDWgG/A4AB/gM3AVoMAANfAeUDUQGkAxsBJQgAAwgB + CgMlAf8DCAEKCAADGwElA1EBpANfAeUYAAMrAUEDUQGhA14B3QNNAfoDXwHVAx0BKAQAA0YBfgNQAZwQ + AAMTARoDXQHqAz0BZwMlAf8DWgG/AwQBBQwAA1wB1gMmAfsDKAE7A10B6gMTARoIAAMTARoDYAHzA1oB + vwMFAQYYAAMFAQYDWgG/A2AB8wMTARoIAAMlAf8DEAEVDAADCAEKAyUB/wMIAQoMAAMQARUDJQH/EAAD + DgESA1YBswNbAdgDPwFtAx0BKAMFAQYMAAMVARwDYQHrAw8BEwwAA0kBiANCAXQDVwHCAyUB/wMlAf8D + JQE3DAADXgHtAyUB/wNEAXgDSwGNA0kBiAgAA0kBiANNAfoDGAEhIAADGAEhA00B+gNJAYgIAAMlAf8D + EAEVDAADCAEKAyUB/wMIAQoMAAMQARUDJQH/DAADCAEKA10BzwNKAYsDBAEFHAADRwGCA10BzwMIAQoI + AANdAdQDOgFiAyUB/wNAAf0DSwGMAwYBBwQAAwsBDgMmATkDJQH/AyUB/wNaAccDHQEoA10B1AgAA10B + 1ANYAbcoAANYAbcDXQHUCAADJQH/AxABFQQAAxcBHwMRARYDCAEKAyUB/wMIAQoMAAMQARUDJQH/DAAD + RwGCA1IBowkAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wgAA1MB + pgNHAYIIAANBAfkDTAGRA14B8AM7AWQIAAMWAR4DZQHxAyUB/wMlAf8DJQH/AyUB/wMrBEEB+QgAA0EB + +QNJAYcRAAHSAfoB/wEAAdIB+gH/EAADSQGHA0EB+QgAAyUB/wMQARUDWAG4AUACvgH9AyEBLwNLAY8D + JQH/A0sBjwMSARgIAAMQARUDJQH/DAADXQHfAx4BKigAAx4BKgNdAd8IAANBAfkDWwHKAwsBDgwAAzMB + UgMlAf8DJQH/AyUB/wMlAf8DJQH/Az4BawNBAfkIAANBAfkDSQGHDAADBAEFAUgCYwH2AUgCYwH2AVwC + YQHZAzMBUggAA0kBhwNBAfkIAAMlAf8DEAEVAVMCaAH0AQAB0gH6Af8BQAJBAXEDRQF8Ay4BSANSAagD + XgHwA0oBiwMRARYDEAEVAyUB/wwAA0AB/QMCAQMJAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB + /wEAAdIB+gH/AQAB0gH6Af8IAAMCAQMDQAH9CAADXQHUA1kB7wMaASMMAAMWAR0DYAHzAyUB/wNRAfcD + WwHkA0gB9gOAAf4DXQHUCAADXQHUA1gBtwwAA0sBjQFaAlwBxAMlATcDRQF8A2IB7gM1AVUEAANYAbcD + XQHUCAADJQH/AzoBYAFbAl0BygEAAdIB+gH/AQAB0gH6Af8BWwJhAd4DNAFTBAIDIAEuA1QBqwNeAfAD + TgGXAyUB/wwAA10B3wMeASooAAMeASoDXQHfCAADSQGIAyUB/wNdAd8DHgEqDAADNwFaA1EBoQMwAUoD + SwGNA2IB7gMlAf8DSQGICAADSQGIA00B+gMYASEEAAMRARYDYgHuAxwBJwgAAwkBCwMQARUDGAEhA00B + +gNJAYgIAANfAeUDWwHFAxsBJgFKAksBigFeAmUB4gOAAf4DgAH+AV4CZQHdAzMBUAQBAzQBUwNNAfoD + XwHlDAADRwGCA1IBpQkAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB + /wgAA1IBpQNHAYIIAAMTARoDYAHzAyUB/wOAAf4DMQFOCAADNgFYA1oBvwNaAfIDJQH/AyUB/wNgAfMD + EwEaCAADEwEaA2AB8wNaAb8DBQEGAVsCXQHKA0sBjRAAAwUBBgNaAb8DYAHzAxMBGggAAxUBHANEAXgD + WgHyA0YBfgMXAR8DOAFbAWACZQHjA4AB/gEAAdIB+gH/AWACZAHbAToCOwFiA0MBdgMVARwMAAMIAQoD + XQHPA0sBjQMEAQUYAAMEAQUDSwGNA10BzwMIAQoMAAM3AVoDgAH+AyUB/wMrAUIDUwGpA04BmAMnAToD + IwEzA14B0gNKAYsDKwH8AzcBWhAAAzcBWgOAAf4DWgG/AUACQQFwAwwBDwwAAxgBIQNaAb8DgAH+AzcB + WhQAAxgBIANEAXoDWgHyA0UBfAMdASgBTwJQAZsBWwJhAd4DVQGsAxABFRgAAw4BEgNWAbMDXgHXAz4B + awMbASYDBAEFAwQBBQMbASYDPgFrA14B1wNWAbMDDgESFAADNwFaA2AB8wNdAdQDWQHvAyUB/wNXAbkD + GAEgA0ABcQNdAeoDNwFaGAADNwFaA2AB8wNNAfoDWAG3A0kBhwNJAYcDWAG3A00B+gNgAfMDNwFaIAAD + GAEhA0YBfQNaAfIDSwGNBAIoAAMrAUEDUQGhA14B3QNNAfoDTQH6A14B3QNRAaEDKwFBIAADEwEaA0kB + iANdAdQDQQH5A0EB+QNdAdQDSQGIAxMBGiAAAxMBGgNJAYgDXQHUA0EB+QNBAfkDXQHUA0kBiAMTARr/ + AP8AHgADMwFQA1oB6QMlAf8DJQH/AyUB/wMlAf8DJQH/A1wByBgAAzEBTQNVAbQDWwHkAyYB+wMmAfsD + WwHkA1UBtAMxAU0kAAMzAVADWgHpAyUB/wUAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB + 0gH6Af8BAAHSAfoB/wEAAdIB+gH/AVkCXAHBVAADWgHpAyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB + /xgAA0EB+QMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wNBAfkkAANaAekDJQH/AyUB/wUAAdIB+gH/AQAB + 0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8wAAMXAR8D + SQGHA1wB1gNcAfgDUwGqEAADJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/xgAA2AB4AMlAf8D + JQH/AyUB/wMlAf8DJQH/AyUB/wNgAeAkAAMlAf8DJQH/AyUB/wUAAdIB+gH/AQAB0gH6Af8BAAHSAfoB + /wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8kAAMJBAwBDwNNAZMDTQH6AyUB + /wMlAf8DJQH/A2AB8xAAAyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DMwFSAQAB0gH6Af8B + XAJfAcgMAAM8AWYDWwHKA0QBegMuAUgDMAFLA0QBegNbAcoDPAFmJAADJQH/AyUB/wMlAf8FAAHSAfoB + /wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/HAAB + OwI8AWUDVQGvAzYBWANcAecDYAHgAz4BagM6BGAB6AMlAf8DVQGuEAADJQH/AyUB/wMlAf8DJQH/AyUB + /wMlAf8DJQH/AyUB/wMzAVIBAAHSAfoB/wEAAdIB+gH/EAADFwEfAzYBVwNaAcQDWgHEAzkBXgMYASAD + GwEmAUwCTQGRASECXwH7ASECXwH7AVsCYwHkAVUCVwG0AzEBTQwAAyUB/wMlAf8DJQH/BQAB0gH6Af8B + AAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/xgAASYC + JwE5AVUCVgGuA0QBegNaAfUDOQFfAz0BZwFgAmkB6AMgAS4DVwG5AyYB+wMhATAQAAMlAf8DJQH/AyUB + /wMlAf8DJQH/AyUB/wMlAf8DJQH/AzMBUgEAAdIB+gH/AQAB0gH6Af8QAAM9AWkDgAH+AyUB/wMlAf8D + gAH+Az0BaQMZASIBAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AUECagH5DAAD + JQH/AyUB/wMlAf8FAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8B + AAHSAfoB/wEAAdIB+gH/GAADMgFPA0IBdQNgAdsDNQFWAV4CZQHiAQAB0gH6Af8BAAHSAfoB/wFQAlEB + nQNMAZEDRgGAFAADJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMzAVIBAAHSAfoB/wEAAdIB + +gH/EAADYQHmAyUB/wMlAf8DJQH/AyUB/wNhAeYDHgEqAQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB + 0gH6Af8BAAHSAfoB/wFgAmYB4AwAAyUB/wMlAf8DJQH/BQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB + 0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/xQAAwcBCQNKAYoDXQHPAzoBYAFNAn0B + +gEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wErAn4B/AMpAT0EAhQAAyUB/wMlAf8DJQH/AyUB/wMlAf8D + JQH/AyUB/wNcAcgDMwFSAQAB0gH6Af8BAAHSAfoB/xAAA1oB9QMlAf8DJQH/AyUB/wMlAf8DWgH1AysB + QgNEAXoDLgFIAzABSwNEAXoBWwJdAcoDPAFmDAADJQH/AyUB/wMlAf8FAAHSAfoB/wEAAdIB+gH/AQAB + 0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/EAAEAgNLAY8DYAHgAzUB + VgOAAf4BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wErAn4B/AMEAQUYAAMlAf8DJQE3FAAD + OwFlAzMBUgEAAdIB+gH/AQAB0gH6Af8QAANRAZ4DJQH/AyUB/wMlAf8DJQH/A1EBngMXAR8DNgFXAVoC + XAHEAVoCXAHEAzkBXgMYASAQAAMlAf8DJQH/AyUB/wUAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB + +gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8QAANBAXMDJQH/AzYBWAFgAmYB4AEAAdIB + +gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BWQJcAcEcAANaAekDJQE3EAADCwEOAyUB + /wMzAVIBAAHSAfoB/wEAAdIB+gH/EAADCAEKA04BmANlAfEDZQHxA04BmAMIAQoDNAFUA4AB/gEAAdIB + +gH/AQAB0gH6Af8DgAH+AT0CPgFpEAADJQH/AyUB/wMlAf8FAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8B + AAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/DAADHAEnAyYB+wNdAc4DGwElAUEC + agH5AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BQQJqAfkBJgInATkcAAMzAVADWgHpAyUB + /wMlAf8DJQH/AyUB/wMlAf8DWwHKA0YBfgEAAdIB+gH/AVwCXwHIKAABYQJqAeYBAAHSAfoB/wEAAdIB + +gH/AQAB0gH6Af8BAAHSAfoB/wFhAmoB5hAAAyUB/wMlAf8DJQH/BAADgAH+A4AB/gOAAf4DgAH+A4AB + /gEAAdIB+gH/AQAB0gH6Af8BRgJHAYAMAANVAa4DJQH/A2AB6AM6AWADMAFLAVgCWgG9AQAB0gH6Af8B + AAHSAfoB/wNeAdIDKgE/LAADPAFmAwUBBhQAA0YBfigAAVoCbgH1AQAB0gH6Af8BAAHSAfoB/wEAAdIB + +gH/AQAB0gH6Af8BWgJuAfUQAAMlAf8DJQE3NAADYAHzAyUB/wMlAf8DJQH/A1oB8gMoATwDEQEWAxEB + FjQAAVoCYwHpAyUBNxAAAwsBDgEAAdIB+gH/KAADUQGeAQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB + 0gH6Af8DUQGeEAADWgHpAyUBNyAAAwsBDgEAAdIB+gH/DAADUwGqA1wB+ANcAdYDSQGHAxcBH0AAAzMB + UAFaAmMB6QEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BWwJdAcooAAMIAQoD + TgGYAWUCcAHxAWUCcAHxA04BmAMIAQoQAAMzAVADWgHpAyUB/wUAAdIB+gH/AQAB0gH6Af8BAAHSAfoB + /wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AVECUwGi/wD/AGIAAxcBHwMlAf8DJQH/AwgB + CiQAAx0BKQM/AW4DBgEIEAADBgEIAz8BbgMdASkYAAMTARkDRwGCA1kBwwNaAekDKwH8AysB/ANaAekD + WQHDA0YBgQMTARlgAAMXAR8DJQH/AzwBZgNOAZcDJQH/AwgBCiAAA1IBqAMlAf8DWwHQAx0BKAgAAx0B + KANbAdADJQH/A1IBqBgAA1sB5AMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/A1sB5FwAAxYB + HgMlAf8DOwFlBAAEAQNOAZcDJQH/AwgBChwAAz8BbAMlAf8DJQH/A1MB9AM7AWMDOwFjA1MB9AMlAf8D + JQH/Az8BbBgAA1EB9wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/A1EB9xAAAVwCXwHIAQAB + 0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB + /wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AVwCXwHIEAADFgEeAyUB/wM8AWYMAAQBA04B + lwMlAf8DCAEKGAADFAEbA0AB/QMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wNAAf0DFAEbGAADWwHNAyUB + /wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DWwHNEQAB0gH6Af8xAAHSAfoB/wwAAxYBHgMlAf8D + PAFmFAAEAQNOAZgDJQH/HAADWQHGAyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/A1kBxhwAAzUBVgOAAf4D + JQH/A2EB5gNdAc8DXQHPA2EB5gMlAf8DgAH+AzUBVhEAAdIB+gH/BAADJQH/BAADJQH/AzwBZgMlAf8D + JQH/BAADJQH/AzwBZgMlAf8FAAHSAfoB/wgAAxYBHgMlAf8DPAFmHAADNgFZAyUB/wQBFAAEAQNUAasD + JQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DVAGrBAEcAAMwAUwDKgE/AxsBJQMNAREDDQERAx0BKQMqAT8D + MAFMFQAB0gH6Af8EAAMlAf8EAAMlAf8DPAFmAyUB/wMlAf8EAAMlAf8DPAFmAyUB/wUAAdIB+gH/CAAD + JQH/A1IBoBwAAzYBVwMlAf8DHQEpAVYCWAGzEAADEAEVA1YBtQMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB + /wMlAf8DJQH/A1YBtQMQARUcAAMWAR4DOQFfA1oBxwNaAccDOQFfAxYBHhkAAdIB+gH/BAADJQH/BAAD + JQH/AzwBZgMlAf8DJQH/BAADJQH/AzwBZgMlAf8FAAHSAfoB/wgAAyUB/wMrAfwDOQFeFAADNgFXAyUB + /wMPARMDPQFoAQAB0gH6Af8MAAMrAUIDYQHmAyUB/wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8D + JQH/AyUB/wNhAeYDKwFCFAADHQEpA14B8AMlAf8DJQH/AyUB/wMlAf8DXgHwAx0BKRUAAdIB+gH/BAAD + JQH/BAADJQH/AzwBZgMlAf8DJQH/BAADJQH/AzwBZgMlAf8FAAHSAfoB/wgAAyUB/wMlAf8DKwH8AzkB + XgwAAzUBVgMlAf8DDwEUAzwBZgEAAdIB+gH/AxYBHgwAA1oB8gMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB + /wMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wNaAfIUAANVAbEDJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8D + VQGxFQAB0gH6Af8EAAMlAf8EAAMlAf8DPAFmAyUB/wMlAf8EAAMlAf8DPAFmAyUB/wUAAdIB+gH/CAAD + JQH/A0YBgQNWAbIDKwH8AzgBXQQAAzUBVgMlAf8DDwEUAzwBZgEAAdIB+gH/AxYBHhAAAz0BaQNQAZwD + TwGbA08BmwNTAacDJQH/AyUB/wMlAf8DJQH/A1MBpwNPAZsDTwGbA1ABnAM9AWkUAANTAfQDJQH/AyUB + /wMlAf8DJQH/AyUB/wMlAf8DUwH0FQAB0gH6Af8EAAMlAf8EAAMlAf8DPAFmAyUB/wMlAf8EAAMlAf8D + PAFmAyUB/wUAAdIB+gH/CAADgAH+AxoBIwNCAXUDJQH/AysB/ANOAZYDJQH/Aw8BFAM8AWYBAAHSAfoB + /wMWAR4oAANeAdcDJQH/AyUB/wNeAdcoAANTAfQDJQH/AyUB/wMlAf8DJQH/AyUB/wMlAf8DUwH0FQAB + 0gH6Af8xAAHSAfoB/wgAA04BlQNNAfoDKwH8AyUB/wMlAf8DJQH/AwsBDgE7AjwBZQEAAdIB+gH/AxYB + HiwAA0kBhQMlAf8DJQH/A0kBhigAA1UBsQMlAf8DJQH/AyUB/wMlAf8DJQH/AyUB/wNVAbEUAAFcAl8B + yAEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB + 0gH6Af8BAAHSAfoB/wEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wFcAl8ByAgAAwUBBgNHAYIDDQERAysB + QQMqAUABOwI8AWUDUgGgAQAB0gH6Af8DFwEfMAADJAE0AyUB/wMlAf8DJAE0KAADHQEpA14B8AMlAf8D + JQH/AyUB/wMlAf8DXgHwAx0BKVQABAEDTQGSA4AB/gEAAdIB+gH/AQAB0gH6Af8BAAHSAfoB/wEAAdIB + +gH/AxcBHzQABAEDXAHIA1wByAQBLAADHQEpA1UBsQNTAfQDUwH0A1UBsQMdASn/AFUAAUIBTQE+BwAB + PgMAASgDAAFAAwABQAMAAQEBAAEBBgABAhYAA/8BAAb/AgABxgEfAv8B4AF/AgABwgEfAfABDwHgAX8C + AAGAAQcB4AEHAfADAAGAAQMBxwEDAfADAAGAAQMBzwEDAfADAAGAAQMBzwEDAYADAAHhAY8BzwEDAYAB + AQIAAfEBhwHPAQMBgAEBAgABwAEBAc8BAwGAAQECAAHAAQEBzwEDAcABgQIAAcABAQHHAQMBwAGBAgAB + 4AEBAeABBwHAAYECAAH4AUMB8AEPAcAB/wIAAfgBYwL/AcAB/wIABP8BwAH/AgAI/wH4AT8B/wEfAfAB + DwHwAQ8B4AEPAf8BDwHgAQcB4AEHAYABAwH/AQcEwwGMAWMB8AEnAYEBwQGHAeEBnAFzAcAB4wGBAcEB + jwHxAZwBcwGHAfEBgQEBAZ8B+QGQAXMBmAEZAYYBAQGeAXkBgAEzAZ8B+QGOAQEBnAEZAYABAwGYARkB + jgEBAZwBCQGAAQMBnwH5AYcBAQGIAcEBgAEDAZgBGQGDAQEBgQHhAYABAwGHAeEBwAEDAcEBwwHgAQ8B + wAEDAeABBwHgAQcB+AE/AfABDwHwAQ8B8AEPEP8B4AEfAYABfwHEAQMC/wHgAR8BgAF/AcQBAwH/AcEB + 4AEfAYABfwHEAQMB/gEBAeABAwGAAX8BxAEDAfgBAQHgAQMBwAEBAcQBAwHwAQEB4AEDAcABAQHEAQMB + 8AEDAeABAwHAAQEBxAEDAeABAwHgAQMBwAEBAcQBAwHAAQcB5wHDAcABAwHEAQMBwAEPAecBgwHAAQMB + xAEDAYABDwHgAQMB/wEDAcQBAwGAAR8B/AH7Af8BAwHPAf8BgAF/AfwB8wH/AQMBzwHzAYMB/wH8AQMB + /wEDAcQBAxL/AfwBPwHjAccB4AEHAv8B+AEfAeEBhwHgAQcC/wHxAQ8B4AEHAeABBwGAAQEB4wGHAeAB + BwHgAQcBvwH9AscB8AEPAeABBwGoAUUBjwHjAeABBwHwAQ8BqAFFAZ8BwwHAAQMB+AEfAagBRQGPAYMB + gAEBAfABDwGoAUUBhwEDAYABAQHwAQ8BqAFFAYIBBwGAAQEB8AEPAagBRQGAAQ8B/AE/AfABDwG/Af0B + gAEfAfwBPwHwAQ8BgAEBAYABPwH8AT8B8AEPAv8BgAF/AfwBPwH4AR8K/ws= @@ -712,7 +712,7 @@ Note: If writing XML-Pageindex is set to FALSE, this option will be forced and c AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAlgYAAAJNU0Z0AUkBTAIBAQIB - AAEYAQ4BGAEOARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAARADAAEBAQABIAYAARD/ + AAFYAQ4BWAEOARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAARADAAEBAQABIAYAARD/ ACcAAxgBIQNQAZwDWgHyA1ABnAMYASHkAAMYASADTwGZA1oB8gNRAaIDJQH/A1EBogNaAfIDTwGZAxgB IBQAA1kBwANZAcADWQHAA1kBwANZAcADWQHAA1kBwANZAcADWQHAA1kBwANZAcADWQHAA1kBwAMlAf8D KgFAhAADFQEcA04BlgNaAfIDUQGeAxoBIwMIAQoDJQH/AwgBCgMaASMDUQGeA1oB8gNOAZYDFQEcDAAD @@ -750,7 +750,7 @@ Note: If writing XML-Pageindex is set to FALSE, this option will be forced and c AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAACgMAAAJNU0Z0AUkBTAIBAQIB - AAHYAS0B2AEtARABAAEQAQAE/wEZAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAARADAAEBAQABGAYAAQwh + AAEYAS4BGAEuARABAAEQAQAE/wEZAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAARADAAEBAQABGAYAAQwh AAP3A9kDxAO/A9ID7QP+pQAD/gO5AywPJQN/A/0SAAPnAVIBVAFVA/oPAAO4AbYCuG8AA/sDhgYlA0kD qwOtA38GJQNEA+MMAAPmA1ADJQN9A/oGAAP9A7QDKwMlA7ppAAP+A2MJJQObBgAD3wklA0QD/QYAA+cM JQNGA/oDAAO0DCUBtgK4ZgAD1AwlA5sGAAPfDCUDfwP+AwAD6AM1DCUDfQO0AysJJQMrA7hmAAOGDCUD @@ -778,57 +778,57 @@ Note: If writing XML-Pageindex is set to FALSE, this option will be forced and c AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu - SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAtgsAAAJNU0Z0AUkBTAIBAQQC - AAEMAQABDAEQAQABEAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAUADAAEgAwABAQEAASAGAAEg/wD/ - AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wA2AAMYASADOAFbA0QBeANGAX4DPAFmAyUBNwMEAQXc - AAMEAQUDSQGFA00B+gNcAecDUQGkA04BlgNdAcwDJQH/A1gBvQMHAQlcAAMTARoDSQGIAV0CYQHUAUUB - aAFqAfkBRQFoAWoB+QFdAmEB1ANJAYgDEwEaMAADOAFdAzABSgMEAQUcAAMOARIDVQG0A1UBrAMtAUUB - PwJAAW4BPwJAAW4BPwJAAW4BPwJAAW4DIQEvA0gBhANbAeQDMAFLDAADUgGgA10ByQNZAcADWQHAA1kB - wANZAcADWQHAA1kBwANZAcADWQHAA1kBwANZAcADWgHEA1oB8gMeASsMAAM3AVoCYAFvAfMBRAFjAdgB - /wFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB/wFEAWMB2AH/AUQBYwHYAf8CYAFvAfMDNwFaLAADOgFiA00B - +gNdAdwDJAE0FAADBAEFA10B1ANOAZcEAAMKAQ0BVwJZAbkBKwJ+AfwBAAHSAfoB/wFcAmEB2QMTARoE - AAMnAToDWwHkAwcBCQgAA00BkwNNAZIQAAM2AVkBUQJSAaEDBgEIDAADLwFJA0AB/QMTARkIAAM3AVoD - gAH+AUQBYwHYAf8CYAFvAfMBRAFjAdgB/wFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB/wJgAW8B8wFEAWMB - 2AH/A4AB/gM3AVooAANCAXQDUwGqAzMBUQNgAegDFwEfEAADOwFjA2AB2wMRARYMAAFbAl0BygEAAdIB - +gH/AzABSwwAA0gBhANYAb0DBAEFBAADHgEqA1MB9AMmATgMAANVAawDgAH+AyABLgwAA1YBswM4AVsI - AAMTARoCYAFvAfMBRAFjAdgB/wFaAlwBxAMMAQ8BWwJdAcoBRAFjAdgB/wFEAWMB2AH/AVkCXAHGAwcB - CQFZAlwBwwFEAWMB2AH/AmABbwHzAxMBGhQAAysBQQNRAaEDXgHdA00B+gNfAdUDHQEoBAADRgF+A1AB - nBAAA1YBtgMqAT8QAAFdAl8ByQEAAdIB+gH/Ay8BSQwAAxgBIAMlAf8DJQE3CAADQAFwA1EBpAwAAw4B - EgMaASQMAAMvAUkDVwG8DAADSQGIAUQBYwHYAf8BRAFjAdgB/wMpAT4EAAMNAREBXAJlAecBXwJjAdoD - BQEGBAADPAFkAUQBYwHYAf8BRAFjAdgB/wNJAYgMAAMOARIDVgGzA1sB2AM/AW0DHQEoAwUBBgwAAxUB - HANhAesDDwETDAADXQHMBAEQAAFdAl8ByQEAAdIB+gH/Ay8BSRAAA10BzAM8AWYIAAMCAQMDWQG+AycB - OQgAA0YBfwFeAmoB7QMGAQgEAAMWAR0DYQHrAzEBTgwAAV0CYQHUAUQBYwHYAf8BRAFjAdgB/wFZAWMB - ZwHvAyMBMwQAAw4BEgMGAQcEAAMyAU8CTQF9AfoBRAFjAdgB/wFEAWMB2AH/AV0CYQHUCAADCAEKA10B - zwNKAYsDBAEFCAABUQJvAfcDgAH+DAADRwGCA10BzwMIAQoIAANdAckQAAMCAQMBWwJfAdgBAAHSAfoB - /wMvAUkQAANOAZYDRgF+DAADOAFcA14B7QMHAQkEAANVAa8BAAHSAfoB/wMhATAEAANGAYADWQHAEAAB - RQFoAWoB+QFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB/wFeAWMBagHtAx0BKQgAAywBQwJNAX0B+gFEAWMB - 2AH/AUQBYwHYAf8BRAFjAdgB/wFFAWgBagH5CAADRwGCA1IBoxAAAxwBJwEZAhoBIxAAA1MBpgNHAYII - AANbAcoQAAMuAUgBXQJfAckBXAJfAcgDIgExEAADUQGkA0QBeAwAAwkBCwNaAccDPwFtBAADWgG/AQAB - 0gH6Af8DKgFAAxABFQNdAckDEwEZEAABRQFoAWoB+QFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB/wFbAl8B - 0wMJAQsIAAMTARkBWwJjAeQBRAFjAdgB/wFEAWMB2AH/AUQBYwHYAf8BRQFoAWoB+QgAA10B3wMeASoQ - AANQAZoBUQJSAaQQAAMeASoDXQHfCAADXQHOBAEoAAQBA1wB5wM4AVsQAAMPARMDXgHSBAADVgGwA4AB - /gMiATEDVgG2A0gBhBQAAV0CYQHUAUQBYwHYAf8BRAFjAdgB/wFZAlwBxgMKAQ0EAAMpAT4DHQEoBAAD - FQEcAV4BYwFlAd0BRAFjAdgB/wFEAWMB2AH/AV0CYQHUCAADQAH9AwIBAxAAAVoCXAHEAV0CYQHPAwoB - DQwAAwIBAwNAAf0IAANQAZ0DRAF7DAADDQERAVkCXAHDAVsCYwHkAzcBWgwAAykBPgNNAfoDGAEgFAAD - TQGSA0wBkAQBBAADLwFJA2IB7gMXAR8UAANJAYgBRAFjAdgB/wFEAWMB2AH/AxsBJgQAAygBOwJgAW8B - 8wFeAWMBagHtAxoBJAQAAzEBTAFEAWMB2AH/AUQBYwHYAf8DSQGICAADXQHfAxwBJxAAAV8CYwHaAWEC - agHmAxABFQwAAxwBJwNdAd8IAAMsAUMDJQH/AyABLQgAAzUBVgEAAdIB+gH/AQAB0gH6Af8BVAJWAasM - AANVAawDSQGFGAADGgEkAyUB/wMlATcEAANWAbYDMwFRGAADEwEaAmABbwHzAUQBYwHYAf8BXQJfAckD - NQFVAmUBcAHxAUQBYwHYAf8BRAFjAdgB/wFhAWQBbAHrAzIBTwFdAmMB3wFEAWMB2AH/AmABbwHzAxMB - GggAA0cBggNQAZ8QAAFTAmgB9AEAAdIB+gH/AxMBGQwAA1ABnwNHAYIIAAQCA0UBfANXAcIDIAEtBAAD - DQERAVkCXAHDAVsCYwHkAzcBWgQAAxEBFgNOAZcDVQG0AwQBBRwAA0ABbwNSAaMDMwFSA1YBtSAAAzcB - WgOAAf4BRAFjAdgB/wFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB/wFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB - /wFEAWMB2AH/A4AB/gM3AVoMAAMIAQoDXQHPA0oBigMEAQUIAAErAn4B/AFRAm8B9wMSARcEAAMEAQUD - SgGKA10BzwMIAQoQAANFAXwDJQH/A0UBfAQBCAAEAQMqAT8DXQHcA10B1AMOARIkAANbAcUDTQH6AzAB - TCQAAzcBWgJgAW8B8wFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB/wFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB - /wJgAW8B8wM3AVoUAAMOARIDVgGzA18B2gNAAXEDHgEqAwUBBgMFAQYDHgEqA0ABcQNfAdoDVgGzAw4B - EhQABAIDLAFDA1ABnQNdAc4DWwHKA10ByQNdAcwDVgG2AzsBYwMEAQUoAAMfASwDMwFSAwMBBCgAAxMB - GgNJAYgBXQJhAdQBRQFoAWoB+QFFAWgBagH5AV0CYQHUA0kBiAMTARogAAMrAUEDUQGhA14B3QNNAfoD - TQH6A14B3QNRAaEDKwFB/wARAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYAAQEWAAP/gQAB - +AEPBv8B4AEHAv8B8AEPAf8BHwHAAQMBgAEAAeABBwH/AQ8BiAERAZ4BOAHAAQMB/wEHAY4BOAGOATkB - gAEBAfABJwGeATgBzgFzAYQBIQHAAeMBngE8AcYBIwGCAUEBhgFxAbwBPAHiAScCgQGeAXkBvAE8AeIB - BwKBAZ4BeQGfAfgB8gEPAYIBQQGeATkBnAE4AfgBjwGEASEBngE5AYwBOQH4AZ8BgAEBAZ4BOQGEASEB - /AE/AcABAwGGASEB4QGDAf4BPwHgAQcBwAEDAeABBwH+AT8B8AEPAfABDwj/Cw== + SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAuAsAAAJNU0Z0AUkBTAIBAQQB + AAFAAQwBQAEMARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ + AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/ADYAAxgBIAM4AVsDRAF4A0YBfgM8AWYDJQE3AwQB + BdwAAwQBBQNJAYUDTQH6A1wB5wNRAaQDTgGWA10BzAMlAf8DWAG9AwcBCVwAAxMBGgNJAYgBXQJhAdQB + RQFoAWoB+QFFAWgBagH5AV0CYQHUA0kBiAMTARowAAM4AV0DMAFKAwQBBRwAAw4BEgNVAbQDVQGsAy0B + RQE/AkABbgE/AkABbgE/AkABbgE/AkABbgMhAS8DSAGEA1sB5AMwAUsMAANSAaADXQHJA1kBwANZAcAD + WQHAA1kBwANZAcADWQHAA1kBwANZAcADWQHAA1kBwANaAcQDWgHyAx4BKwwAAzcBWgJgAW8B8wFEAWMB + 2AH/AUQBYwHYAf8BRAFjAdgB/wFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB/wJgAW8B8wM3AVosAAM6AWID + TQH6A10B3AMkATQUAAMEAQUDXQHUA04BlwQAAwoBDQFXAlkBuQErAn4B/AEAAdIB+gH/AVwCYQHZAxMB + GgQAAycBOgNbAeQDBwEJCAADTQGTA00BkhAAAzYBWQFRAlIBoQMGAQgMAAMvAUkDQAH9AxMBGQgAAzcB + WgOAAf4BRAFjAdgB/wJgAW8B8wFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB/wFEAWMB2AH/AmABbwHzAUQB + YwHYAf8DgAH+AzcBWigAA0IBdANTAaoDMwFRA2AB6AMXAR8QAAM7AWMDYAHbAxEBFgwAAVsCXQHKAQAB + 0gH6Af8DMAFLDAADSAGEA1gBvQMEAQUEAAMeASoDUwH0AyYBOAwAA1UBrAOAAf4DIAEuDAADVgGzAzgB + WwgAAxMBGgJgAW8B8wFEAWMB2AH/AVoCXAHEAwwBDwFbAl0BygFEAWMB2AH/AUQBYwHYAf8BWQJcAcYD + BwEJAVkCXAHDAUQBYwHYAf8CYAFvAfMDEwEaFAADKwFBA1EBoQNeAd0DTQH6A18B1QMdASgEAANGAX4D + UAGcEAADVgG2AyoBPxAAAV0CXwHJAQAB0gH6Af8DLwFJDAADGAEgAyUB/wMlATcIAANAAXADUQGkDAAD + DgESAxoBJAwAAy8BSQNXAbwMAANJAYgBRAFjAdgB/wFEAWMB2AH/AykBPgQAAw0BEQFcAmUB5wFfAmMB + 2gMFAQYEAAM8AWQBRAFjAdgB/wFEAWMB2AH/A0kBiAwAAw4BEgNWAbMDWwHYAz8BbQMdASgDBQEGDAAD + FQEcA2EB6wMPARMMAANdAcwEARAAAV0CXwHJAQAB0gH6Af8DLwFJEAADXQHMAzwBZggAAwIBAwNZAb4D + JwE5CAADRgF/AV4CagHtAwYBCAQAAxYBHQNhAesDMQFODAABXQJhAdQBRAFjAdgB/wFEAWMB2AH/AVkB + YwFnAe8DIwEzBAADDgESAwYBBwQAAzIBTwJNAX0B+gFEAWMB2AH/AUQBYwHYAf8BXQJhAdQIAAMIAQoD + XQHPA0oBiwMEAQUIAAFRAm8B9wOAAf4MAANHAYIDXQHPAwgBCggAA10ByRAAAwIBAwFbAl8B2AEAAdIB + +gH/Ay8BSRAAA04BlgNGAX4MAAM4AVwDXgHtAwcBCQQAA1UBrwEAAdIB+gH/AyEBMAQAA0YBgANZAcAQ + AAFFAWgBagH5AUQBYwHYAf8BRAFjAdgB/wFEAWMB2AH/AV4BYwFqAe0DHQEpCAADLAFDAk0BfQH6AUQB + YwHYAf8BRAFjAdgB/wFEAWMB2AH/AUUBaAFqAfkIAANHAYIDUgGjEAADHAEnARkCGgEjEAADUwGmA0cB + gggAA1sByhAAAy4BSAFdAl8ByQFcAl8ByAMiATEQAANRAaQDRAF4DAADCQELA1oBxwM/AW0EAANaAb8B + AAHSAfoB/wMqAUADEAEVA10ByQMTARkQAAFFAWgBagH5AUQBYwHYAf8BRAFjAdgB/wFEAWMB2AH/AVsC + XwHTAwkBCwgAAxMBGQFbAmMB5AFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB/wFFAWgBagH5CAADXQHfAx4B + KhAAA1ABmgFRAlIBpBAAAx4BKgNdAd8IAANdAc4EASgABAEDXAHnAzgBWxAAAw8BEwNeAdIEAANWAbAD + gAH+AyIBMQNWAbYDSAGEFAABXQJhAdQBRAFjAdgB/wFEAWMB2AH/AVkCXAHGAwoBDQQAAykBPgMdASgE + AAMVARwBXgFjAWUB3QFEAWMB2AH/AUQBYwHYAf8BXQJhAdQIAANAAf0DAgEDEAABWgJcAcQBXQJhAc8D + CgENDAADAgEDA0AB/QgAA1ABnQNEAXsMAAMNAREBWQJcAcMBWwJjAeQDNwFaDAADKQE+A00B+gMYASAU + AANNAZIDTAGQBAEEAAMvAUkDYgHuAxcBHxQAA0kBiAFEAWMB2AH/AUQBYwHYAf8DGwEmBAADKAE7AmAB + bwHzAV4BYwFqAe0DGgEkBAADMQFMAUQBYwHYAf8BRAFjAdgB/wNJAYgIAANdAd8DHAEnEAABXwJjAdoB + YQJqAeYDEAEVDAADHAEnA10B3wgAAywBQwMlAf8DIAEtCAADNQFWAQAB0gH6Af8BAAHSAfoB/wFUAlYB + qwwAA1UBrANJAYUYAAMaASQDJQH/AyUBNwQAA1YBtgMzAVEYAAMTARoCYAFvAfMBRAFjAdgB/wFdAl8B + yQM1AVUCZQFwAfEBRAFjAdgB/wFEAWMB2AH/AWEBZAFsAesDMgFPAV0CYwHfAUQBYwHYAf8CYAFvAfMD + EwEaCAADRwGCA1ABnxAAAVMCaAH0AQAB0gH6Af8DEwEZDAADUAGfA0cBgggABAIDRQF8A1cBwgMgAS0E + AAMNAREBWQJcAcMBWwJjAeQDNwFaBAADEQEWA04BlwNVAbQDBAEFHAADQAFvA1IBowMzAVIDVgG1IAAD + NwFaA4AB/gFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB/wFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB/wFEAWMB + 2AH/AUQBYwHYAf8DgAH+AzcBWgwAAwgBCgNdAc8DSgGKAwQBBQgAASsCfgH8AVECbwH3AxIBFwQAAwQB + BQNKAYoDXQHPAwgBChAAA0UBfAMlAf8DRQF8BAEIAAQBAyoBPwNdAdwDXQHUAw4BEiQAA1sBxQNNAfoD + MAFMJAADNwFaAmABbwHzAUQBYwHYAf8BRAFjAdgB/wFEAWMB2AH/AUQBYwHYAf8BRAFjAdgB/wFEAWMB + 2AH/AmABbwHzAzcBWhQAAw4BEgNWAbMDXwHaA0ABcQMeASoDBQEGAwUBBgMeASoDQAFxA18B2gNWAbMD + DgESFAAEAgMsAUMDUAGdA10BzgNbAcoDXQHJA10BzANWAbYDOwFjAwQBBSgAAx8BLAMzAVIDAwEEKAAD + EwEaA0kBiAFdAmEB1AFFAWgBagH5AUUBaAFqAfkBXQJhAdQDSQGIAxMBGiAAAysBQQNRAaEDXgHdA00B + +gNNAfoDXgHdA1EBoQMrAUH/ABEAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/+B + AAH4AQ8G/wHgAQcC/wHwAQ8B/wEfAcABAwGAAQAB4AEHAf8BDwGIAREBngE4AcABAwH/AQcBjgE4AY4B + OQGAAQEB8AEnAZ4BOAHOAXMBhAEhAcAB4wGeATwBxgEjAYIBQQGGAXEBvAE8AeIBJwKBAZ4BeQG8ATwB + 4gEHAoEBngF5AZ8B+AHyAQ8BggFBAZ4BOQGcATgB+AGPAYQBIQGeATkBjAE5AfgBnwGAAQEBngE5AYQB + IQH8AT8BwAEDAYYBIQHhAYMB/gE/AeABBwHAAQMB4AEHAf4BPwHwAQ8B8AEPCP8L diff --git a/MyCBZ/Models/ImageTask.cs b/MyCBZ/Models/ImageTask.cs index 14d9a89..5c21557 100644 --- a/MyCBZ/Models/ImageTask.cs +++ b/MyCBZ/Models/ImageTask.cs @@ -173,7 +173,7 @@ public ImageTask Apply() foreach (String task in Tasks) { - if (task == null) + if (task == null || task == TASK_SPLIT) { continue; } @@ -323,12 +323,24 @@ public ImageTask Apply() if (inProgressFile.FileSize == 0) { + if (inputStream.Length == 0) + { + throw new PageException(SourcePage, "Error processing image! Image is empty!"); + } + + if (inputStream.CanRead) + { + inputStream.Position = 0; + } + else + { + throw new PageException(SourcePage, "Error processing image! Image stream is not readable!"); + } + outputStream = File.Open(inProgressFile.FullPath, FileMode.OpenOrCreate, FileAccess.ReadWrite); inputStream.CopyTo(outputStream); - outputStream.Close(); - - inProgressFile.Refresh(); + outputStream.Close(); } inputStream.Close(); @@ -336,6 +348,8 @@ public ImageTask Apply() SourcePage.FreeImage(); + inProgressFile.Refresh(); + inProgressFile.LocalFileInfo.MoveTo(ResultFileName[0].FullPath); ResultFileName[0].Refresh(); @@ -448,7 +462,8 @@ public ImageTask Apply() Success = true; } catch (Exception e) - { + { + AppEventHandler.OnMessageLogged(this, new LogMessageEvent(LogMessageEvent.LOGMESSAGE_TYPE_ERROR, e.Message)); Success = false; } finally { @@ -518,7 +533,8 @@ public ImageTask FreeResults() { foreach (Page result in ResultPage) { - result?.Close(); + result?.FreeImage(); + result?.FreeStreams(); } if (ResultStream != null) diff --git a/MyCBZ/Models/ProjectModel.cs b/MyCBZ/Models/ProjectModel.cs index 8945817..b225198 100644 --- a/MyCBZ/Models/ProjectModel.cs +++ b/MyCBZ/Models/ProjectModel.cs @@ -286,7 +286,7 @@ private void HandlePipeline(object sender, PipelineEvent e) { UpdatePageIndicesThreadParams p = nextTask.ThreadParams as UpdatePageIndicesThreadParams; - Task indexUpdater = UpdatePageIndexTask.UpdatePageIndex(p.Pages, AppEventHandler.OnGeneralTaskProgress, AppEventHandler.OnPageChanged, TokenStore.GetInstance().CancellationTokenSourceForName(TokenStore.TOKEN_SOURCE_UPDATE_PAGE_INDEX).Token, false, true, remainingStack); + Task indexUpdater = UpdatePageIndexTask.UpdatePageIndex(p.Pages, AppEventHandler.OnGeneralTaskProgress, AppEventHandler.OnPageChanged, p.CancelToken, false, true, remainingStack); indexUpdater.ContinueWith((t) => { @@ -469,39 +469,56 @@ private void HandlePipeline(object sender, PipelineEvent e) page = GetPageById(resultPage.Id); //page?.UpdatePage(resultPage); //page?.UpdateStreams(resultPage); - page?.UpdatePageAttributes(resultPage); - page?.UpdateLocalFileWith(resultPage.LocalFile); - page?.UpdateTemporaryFile(resultPage.TemporaryFile); + //page?.LoadImageInfo(true); if (page != null) { + if (!page.LocalFile.Equals(resultPage.LocalFile)) + { + page?.UpdatePageAttributes(resultPage); + //page?.UpdateLocalFileWith(resultPage.LocalFile); // dont overwrite original file! + page?.UpdateTemporaryFile(resultPage.TemporaryFile); + + } + + + //page.Name = resultPage.Name; //page.Format = resultPage.Format; - page.Size = resultPage.Size; + + // update page first, to reflect changes in the UI + // AppEventHandler.OnPageChanged(this, new PageChangedEvent(resultPage, null, PageChangedEvent.IMAGE_STATUS_CHANGED)); + // AppEventHandler.OnRedrawThumb(null, new RedrawThumbEvent(page)); + // + // page.Size = resultPage.Size; page.ImageTask.ImageAdjustments.SplitPage = false; page.ImageTask.ImageAdjustments.ResizeMode = -1; page.ImageTask.ImageAdjustments.ConvertType = 0; + page.ImageTask.ImageAdjustments.RotateMode = 0; page.ThumbnailInvalidated = true; resultPage.FreeImage(); - AppEventHandler.OnImageAdjustmentsChanged(null, new ImageAdjustmentsChangedEvent(page.ImageTask.ImageAdjustments, page.Id)); - AppEventHandler.OnPageChanged(this, new PageChangedEvent(resultPage, null, PageChangedEvent.IMAGE_STATUS_CHANGED)); + // update image adjustments + AppEventHandler.OnPageChanged(this, new PageChangedEvent(page, null, PageChangedEvent.IMAGE_STATUS_CHANGED)); AppEventHandler.OnRedrawThumb(null, new RedrawThumbEvent(page)); + AppEventHandler.OnImageAdjustmentsChanged(null, new ImageAdjustmentsChangedEvent(page.ImageTask.ImageAdjustments, page.Id)); } else { - Page newPage = AddPage(resultPage, resultPage.Index); + Page newPage = AddPage(resultPage, resultPage.Index + 1); newPage.ImageTask.ImageAdjustments.SplitPage = false; newPage.ImageTask.ImageAdjustments.ResizeMode = -1; newPage.ImageTask.ImageAdjustments.ConvertType = 0; + newPage.ImageTask.ImageAdjustments.RotateMode = 0; - AppEventHandler.OnImageAdjustmentsChanged(null, new ImageAdjustmentsChangedEvent(resultPage.ImageTask.ImageAdjustments, resultPage.Id)); - AppEventHandler.OnPageChanged(this, new PageChangedEvent(newPage, null, PageChangedEvent.IMAGE_STATUS_NEW)); AppEventHandler.OnRedrawThumb(null, new RedrawThumbEvent(newPage)); + AppEventHandler.OnImageAdjustmentsChanged(null, new ImageAdjustmentsChangedEvent(resultPage.ImageTask.ImageAdjustments, resultPage.Id)); + // AppEventHandler.OnPageChanged(this, new PageChangedEvent(newPage, null, PageChangedEvent.IMAGE_STATUS_NEW)); + // } resultPage.Close(); @@ -536,12 +553,45 @@ private void HandlePipeline(object sender, PipelineEvent e) imageProcessingFinalTask.ContinueWith(r => { + List updatePages = new List(); + if (r.IsCompletedSuccessfully) { if (r.Result.Stack.Count > 0) { nextTask = r.Result.Stack[0]; + if (r.Result.Pages.Count > 0) + { + + + if (nextTask.ThreadParams is UpdatePageIndicesThreadParams) + { + updatePages = (nextTask.ThreadParams as UpdatePageIndicesThreadParams).Pages; + } + + if (nextTask.ThreadParams is RenamePagesThreadParams) + { + updatePages = (nextTask.ThreadParams as RenamePagesThreadParams).Pages; + + } + + r.Result.Pages.ForEach(page => + { + int index = updatePages.FindIndex(x => x.Id == page.Id); + + + if (index < 0) + { + updatePages.Add(page); + } + else + { + updatePages[index] = page; + } + }); + } + AppEventHandler.OnPipelineNextTask(this, new PipelineEvent(this, e.Task, null, r.Result.Stack)); } else diff --git a/MyCBZ/Tasks/ProcessImagesTask.cs b/MyCBZ/Tasks/ProcessImagesTask.cs index f09c372..37e8a05 100644 --- a/MyCBZ/Tasks/ProcessImagesTask.cs +++ b/MyCBZ/Tasks/ProcessImagesTask.cs @@ -186,7 +186,7 @@ public static Task ProcessImages(List pages, ImageTask gl results[1].Number = results[0].Number + 1; results[1].Compressed = false; results[1].LoadImageInfo(true); - results[1].Close(); + results[1].FreeStreams(); result.AddFinishedPage(results[1]); } @@ -200,23 +200,28 @@ public static Task ProcessImages(List pages, ImageTask gl } else { - + result.AddFinishedPage(page); } taskPage.ImageTask.Tasks.Clear(); - page.ImageTask.Tasks.Clear(); - - handler?.Invoke(page.ImageTask, new GeneralTaskProgressEvent( - GeneralTaskProgressEvent.TASK_PROCESS_IMAGE, - GeneralTaskProgressEvent.TASK_STATUS_RUNNING, - "Processing image...", - current, - total, - true)); - - current++; - System.Threading.Thread.Sleep(10); + } else + { + result.AddFinishedPage(page); } + + + page.ImageTask.Tasks.Clear(); + + handler?.Invoke(page.ImageTask, new GeneralTaskProgressEvent( + GeneralTaskProgressEvent.TASK_PROCESS_IMAGE, + GeneralTaskProgressEvent.TASK_STATUS_RUNNING, + "Processing image...", + current, + total, + true)); + + current++; + System.Threading.Thread.Sleep(10); }