slick-components 5.0.21 → 5.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39,6 +39,8 @@ export class SlickFileListItemComponent {
39
39
  if (changes.showCheckbox && changes.showCheckbox.currentValue)
40
40
  this.showCheckbox = (changes.showCheckbox.currentValue.toString().toLowerCase() !== 'false');
41
41
  this.confirmDelete = (this.confirmDelete.toString() === 'true') ? true : false;
42
+ if (this.file)
43
+ this.file.title = (this.file.title ?? '');
42
44
  if (this.file && this.file.name && !this.file.thumbnailBase64Image && !this.file.url) {
43
45
  if (this.file.isChecked === null)
44
46
  this.file.isChecked = false;
@@ -140,10 +142,10 @@ export class SlickFileListItemComponent {
140
142
  }
141
143
  }
142
144
  /** @nocollapse */ SlickFileListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickFileListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
143
- /** @nocollapse */ SlickFileListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SlickFileListItemComponent, selector: "slick-file-list-item", inputs: { file: "file", allowDelete: "allowDelete", showPhotoGallery: "showPhotoGallery", showCheckbox: "showCheckbox", thumbnailSize: "thumbnailSize", confirmDelete: "confirmDelete" }, outputs: { fileChangeEmitter: "fileChange", fileDeleteEmitter: "fileDelete", fileClicked: "fileClicked", checkChanged: "checkChanged" }, viewQueries: [{ propertyName: "titleDivRef", first: true, predicate: ["titleDivRef"], descendants: true }, { propertyName: "editTitleDivRef", first: true, predicate: ["editTitleDivRef"], descendants: true }, { propertyName: "editTitleInputRef", first: true, predicate: ["editTitleInputRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"slick-file-list-item\" id=\"slick-file-list-item_{{uuid}}\">\r\n\t<div class=\"slick-file-list-item_img gray-block card\" (click)=\"onClick()\" [ngStyle]=\"{ 'cursor': (showPhotoGallery === true) ? 'pointer' : 'default' }\" [style.minHeight.px]=\"itemSize + 2\" [style.minWidth.px]=\"itemSize\">\r\n\t\t<img *ngIf=\"file.thumbnailBase64Image\" [src]=\"file.thumbnailBase64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && file.base64Image\" [src]=\"file.base64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && !file.thumbnailUrl && file.url\" [src]=\"file.url\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<i *ngIf=\"allowDelete\" class=\"fas fa-circle-x bg-white text-danger\" (click)=\"deleteFile($event)\"></i>\r\n\t\t<div class=\"file-info\">\r\n\t\t\t<div class=\"slick-file-list-item_title\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_display-title\" #titleDivRef style=\"cursor: pointer\" *ngIf=\"!isEditing\" (click)=\"editTitle()\">\r\n\t\t\t\t{{ file.title.length > 18 ? file.title.slice(0, 18) + '...' : file.title }}\r\n\t\t\t </div>\r\n\t\t\t <div #editTitleDivRef class=\"slick-file-list-item_edit-title\" *ngIf=\"isEditing\">\r\n\t\t\t\t<input #editTitleInputRef type=\"text\" class=\"form-control\" [(ngModel)]=\"tempTitle\" (keydown)=\"onKeyDown($event)\" [style.width.px]=\"itemSize\" />\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"slick-file-list-item_title\" *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_date\">\r\n\t\t\t\t<div *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileDateFormatted }}</div>\r\n\t\t\t\t<div *ngIf=\"fileTimeFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileTimeFormatted }}</div>\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<!-- We want the user to be able to click just a little outside of the checkbox and still have it check -->\r\n\t<div *ngIf=\"showCheckbox === true\" class=\"slick-file-checkbox\" (click)=\"onCheckboxClicked($event)\">\r\n\t\t<input type=\"checkbox\" [ngModel]=\"file.isChecked\" />\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteConfirmRef okButtonText='Delete'>\r\n\t<h4 class=\"p-0 m-0\">Are you sure you want to delete?</h4>\r\n\t<h5 class=\"p-0 m-0\">\"{{file.title}}\"</h5>\r\n</slick-confirm-dialog>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SlickConfirmDialogComponent, selector: "slick-confirm-dialog", inputs: ["width", "okButtonText", "cancelButtonText", "showOkButton", "showCancelButton"] }] });
145
+ /** @nocollapse */ SlickFileListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SlickFileListItemComponent, selector: "slick-file-list-item", inputs: { file: "file", allowDelete: "allowDelete", showPhotoGallery: "showPhotoGallery", showCheckbox: "showCheckbox", thumbnailSize: "thumbnailSize", confirmDelete: "confirmDelete" }, outputs: { fileChangeEmitter: "fileChange", fileDeleteEmitter: "fileDelete", fileClicked: "fileClicked", checkChanged: "checkChanged" }, viewQueries: [{ propertyName: "titleDivRef", first: true, predicate: ["titleDivRef"], descendants: true }, { propertyName: "editTitleDivRef", first: true, predicate: ["editTitleDivRef"], descendants: true }, { propertyName: "editTitleInputRef", first: true, predicate: ["editTitleInputRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"slick-file-list-item\" id=\"slick-file-list-item_{{uuid}}\">\r\n\t<div class=\"slick-file-list-item_img gray-block card\" (click)=\"onClick()\" [ngStyle]=\"{ 'cursor': (showPhotoGallery === true) ? 'pointer' : 'default' }\" [style.minHeight.px]=\"itemSize + 2\" [style.minWidth.px]=\"itemSize\">\r\n\t\t<img *ngIf=\"file.thumbnailBase64Image\" [src]=\"file.thumbnailBase64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && file.base64Image\" [src]=\"file.base64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && !file.thumbnailUrl && file.url\" [src]=\"file.url\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<i *ngIf=\"allowDelete\" class=\"fas fa-circle-x bg-white text-danger\" (click)=\"deleteFile($event)\"></i>\r\n\t\t<div class=\"file-info\">\r\n\t\t\t<div class=\"slick-file-list-item_title\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_display-title\" #titleDivRef style=\"cursor: pointer\" *ngIf=\"!isEditing\" (click)=\"editTitle()\">\r\n\t\t\t\t{{ (file.title ?? '').length > 18 ? (file.title ?? '').slice(0, 18) + '...' : file.title }}\r\n\t\t\t </div>\r\n\t\t\t <div #editTitleDivRef class=\"slick-file-list-item_edit-title\" *ngIf=\"isEditing\">\r\n\t\t\t\t<input #editTitleInputRef type=\"text\" class=\"form-control\" [(ngModel)]=\"tempTitle\" (keydown)=\"onKeyDown($event)\" [style.width.px]=\"itemSize\" />\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"slick-file-list-item_title\" *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_date\">\r\n\t\t\t\t<div *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileDateFormatted }}</div>\r\n\t\t\t\t<div *ngIf=\"fileTimeFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileTimeFormatted }}</div>\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<!-- We want the user to be able to click just a little outside of the checkbox and still have it check -->\r\n\t<div *ngIf=\"showCheckbox === true\" class=\"slick-file-checkbox\" (click)=\"onCheckboxClicked($event)\">\r\n\t\t<input type=\"checkbox\" [ngModel]=\"file.isChecked\" />\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteConfirmRef okButtonText='Delete'>\r\n\t<h4 class=\"p-0 m-0\">Are you sure you want to delete?</h4>\r\n\t<h5 class=\"p-0 m-0\">\"{{file.title}}\"</h5>\r\n</slick-confirm-dialog>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.SlickConfirmDialogComponent, selector: "slick-confirm-dialog", inputs: ["width", "okButtonText", "cancelButtonText", "showOkButton", "showCancelButton"] }] });
144
146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickFileListItemComponent, decorators: [{
145
147
  type: Component,
146
- args: [{ selector: 'slick-file-list-item', template: "<div class=\"slick-file-list-item\" id=\"slick-file-list-item_{{uuid}}\">\r\n\t<div class=\"slick-file-list-item_img gray-block card\" (click)=\"onClick()\" [ngStyle]=\"{ 'cursor': (showPhotoGallery === true) ? 'pointer' : 'default' }\" [style.minHeight.px]=\"itemSize + 2\" [style.minWidth.px]=\"itemSize\">\r\n\t\t<img *ngIf=\"file.thumbnailBase64Image\" [src]=\"file.thumbnailBase64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && file.base64Image\" [src]=\"file.base64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && !file.thumbnailUrl && file.url\" [src]=\"file.url\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<i *ngIf=\"allowDelete\" class=\"fas fa-circle-x bg-white text-danger\" (click)=\"deleteFile($event)\"></i>\r\n\t\t<div class=\"file-info\">\r\n\t\t\t<div class=\"slick-file-list-item_title\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_display-title\" #titleDivRef style=\"cursor: pointer\" *ngIf=\"!isEditing\" (click)=\"editTitle()\">\r\n\t\t\t\t{{ file.title.length > 18 ? file.title.slice(0, 18) + '...' : file.title }}\r\n\t\t\t </div>\r\n\t\t\t <div #editTitleDivRef class=\"slick-file-list-item_edit-title\" *ngIf=\"isEditing\">\r\n\t\t\t\t<input #editTitleInputRef type=\"text\" class=\"form-control\" [(ngModel)]=\"tempTitle\" (keydown)=\"onKeyDown($event)\" [style.width.px]=\"itemSize\" />\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"slick-file-list-item_title\" *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_date\">\r\n\t\t\t\t<div *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileDateFormatted }}</div>\r\n\t\t\t\t<div *ngIf=\"fileTimeFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileTimeFormatted }}</div>\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<!-- We want the user to be able to click just a little outside of the checkbox and still have it check -->\r\n\t<div *ngIf=\"showCheckbox === true\" class=\"slick-file-checkbox\" (click)=\"onCheckboxClicked($event)\">\r\n\t\t<input type=\"checkbox\" [ngModel]=\"file.isChecked\" />\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteConfirmRef okButtonText='Delete'>\r\n\t<h4 class=\"p-0 m-0\">Are you sure you want to delete?</h4>\r\n\t<h5 class=\"p-0 m-0\">\"{{file.title}}\"</h5>\r\n</slick-confirm-dialog>" }]
148
+ args: [{ selector: 'slick-file-list-item', template: "<div class=\"slick-file-list-item\" id=\"slick-file-list-item_{{uuid}}\">\r\n\t<div class=\"slick-file-list-item_img gray-block card\" (click)=\"onClick()\" [ngStyle]=\"{ 'cursor': (showPhotoGallery === true) ? 'pointer' : 'default' }\" [style.minHeight.px]=\"itemSize + 2\" [style.minWidth.px]=\"itemSize\">\r\n\t\t<img *ngIf=\"file.thumbnailBase64Image\" [src]=\"file.thumbnailBase64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && file.base64Image\" [src]=\"file.base64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && !file.thumbnailUrl && file.url\" [src]=\"file.url\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<i *ngIf=\"allowDelete\" class=\"fas fa-circle-x bg-white text-danger\" (click)=\"deleteFile($event)\"></i>\r\n\t\t<div class=\"file-info\">\r\n\t\t\t<div class=\"slick-file-list-item_title\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_display-title\" #titleDivRef style=\"cursor: pointer\" *ngIf=\"!isEditing\" (click)=\"editTitle()\">\r\n\t\t\t\t{{ (file.title ?? '').length > 18 ? (file.title ?? '').slice(0, 18) + '...' : file.title }}\r\n\t\t\t </div>\r\n\t\t\t <div #editTitleDivRef class=\"slick-file-list-item_edit-title\" *ngIf=\"isEditing\">\r\n\t\t\t\t<input #editTitleInputRef type=\"text\" class=\"form-control\" [(ngModel)]=\"tempTitle\" (keydown)=\"onKeyDown($event)\" [style.width.px]=\"itemSize\" />\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"slick-file-list-item_title\" *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_date\">\r\n\t\t\t\t<div *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileDateFormatted }}</div>\r\n\t\t\t\t<div *ngIf=\"fileTimeFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileTimeFormatted }}</div>\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<!-- We want the user to be able to click just a little outside of the checkbox and still have it check -->\r\n\t<div *ngIf=\"showCheckbox === true\" class=\"slick-file-checkbox\" (click)=\"onCheckboxClicked($event)\">\r\n\t\t<input type=\"checkbox\" [ngModel]=\"file.isChecked\" />\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteConfirmRef okButtonText='Delete'>\r\n\t<h4 class=\"p-0 m-0\">Are you sure you want to delete?</h4>\r\n\t<h5 class=\"p-0 m-0\">\"{{file.title}}\"</h5>\r\n</slick-confirm-dialog>" }]
147
149
  }], ctorParameters: function () { return []; }, propDecorators: { file: [{
148
150
  type: Input,
149
151
  args: ["file"]
@@ -184,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
184
186
  type: ViewChild,
185
187
  args: ["editTitleInputRef"]
186
188
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZmlsZS1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZmlsZS1saXN0L3NsaWNrLWZpbGUtbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLWZpbGUtbGlzdC9zbGljay1maWxlLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZ0UsTUFBTSxlQUFlLENBQUM7QUFDaEosT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHakUsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQTs7Ozs7QUFFOUIsTUFBTSxlQUFlLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzdILE1BQU0sY0FBYyxHQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQy9GLE1BQU0sYUFBYSxHQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFNeEMsTUFBTSxPQUFPLDBCQUEwQjtJQTJCdEM7UUF6QnNCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQ3ZCLHFCQUFnQixHQUFZ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aEQsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTbGlja1NsZWVwU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay1zbGVlcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNsaWNrVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXV0aWxzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSVNsaWNrRmlsZU1vZGVsIH0gZnJvbSBcIi4uL3NsaWNrLWZpbGUtbW9kZWwvc2xpY2stZmlsZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBTbGlja0NvbmZpcm1EaWFsb2dDb21wb25lbnQsIFNsaWNrQ29uZmlybURpYWxvZ1Jlc3VsdHMgfSBmcm9tIFwiLi4vc2xpY2stY29uZmlybS1kaWFsb2cvc2xpY2stY29uZmlybS1kaWFsb2cubW9kdWxlXCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQgU3dhbCBmcm9tIFwic3dlZXRhbGVydDJcIlxyXG5cclxuY29uc3QgZXhjZWxFeHRlbnNpb25zOiBzdHJpbmdbXSA9IFsneGxzJywgJ3hsdCcsICd4bG0nLCAneGxzeCcsICd4bHNtJywgJ3hsdHgnLCAneGx0bScsICd4bHNiJywgJ3hsYScsICd4bGFtJywgJ3hsbCcsICd4bHcnXTtcclxuY29uc3Qgd29yZEV4dGVuc2lvbnM6IHN0cmluZ1tdID0gWydkb2MnLCAnZG90JywgJ3diaycsICdkb2N4JywgJ2RvY20nLCAnZG90eCcsICdkb3RtJywgJ2RvY2InXTtcclxuY29uc3QgcGRmRXh0ZW5zaW9uczogc3RyaW5nW10gPSBbJ3BkZiddO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdzbGljay1maWxlLWxpc3QtaXRlbScsXHJcblx0dGVtcGxhdGVVcmw6ICdzbGljay1maWxlLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrRmlsZUxpc3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG5cdEBJbnB1dChcImZpbGVcIikgZmlsZTogSVNsaWNrRmlsZU1vZGVsO1x0XHJcblx0QElucHV0KFwiYWxsb3dEZWxldGVcIikgYWxsb3dEZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBJbnB1dChcInNob3dQaG90b0dhbGxlcnlcIikgc2hvd1Bob3RvR2FsbGVyeTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dChcInNob3dDaGVja2JveFwiKSBzaG93Q2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoXCJ0aHVtYm5haWxTaXplXCIpIHRodW1ibmFpbFNpemU6IG51bWJlcjtcclxuXHRASW5wdXQoXCJjb25maXJtRGVsZXRlXCIpIGNvbmZpcm1EZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBPdXRwdXQoXCJmaWxlQ2hhbmdlXCIpIGZpbGVDaGFuZ2VFbWl0dGVyOiBFdmVudEVtaXR0ZXI8SVNsaWNrRmlsZU1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwiZmlsZURlbGV0ZVwiKSBmaWxlRGVsZXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPElTbGlja0ZpbGVNb2RlbD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QE91dHB1dChcImZpbGVDbGlja2VkXCIpIGZpbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8SVNsaWNrRmlsZU1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwiY2hlY2tDaGFuZ2VkXCIpIGNoZWNrQ2hhbmdlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHRAVmlld0NoaWxkKFwidGl0bGVEaXZSZWZcIikgdGl0bGVEaXZSZWY6IEVsZW1lbnRSZWY7XHJcblx0QFZpZXdDaGlsZChcImVkaXRUaXRsZURpdlJlZlwiKSBlZGl0VGl0bGVEaXZSZWY6IEVsZW1lbnRSZWY7XHJcblx0QFZpZXdDaGlsZChcImVkaXRUaXRsZUlucHV0UmVmXCIpIGVkaXRUaXRsZUlucHV0UmVmOiBFbGVtZW50UmVmO1xyXG5cdC8vIEBWaWV3Q2hpbGQoXCJkZWxldGVDb25maXJtUmVmXCIpIGRlbGV0ZUNvbmZpcm1SZWY6IFNsaWNrQ29uZmlybURpYWxvZ0NvbXBvbmVudDtcclxuXHJcblx0dXVpZDogc3RyaW5nO1xyXG5cdGlzRWRpdGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdHRlbXBUaXRsZTogc3RyaW5nID0gJyc7XHJcblx0ZmlsZURhdGVGb3JtYXR0ZWQ6IHN0cmluZztcclxuXHRmaWxlVGltZUZvcm1hdHRlZDogc3RyaW5nO1xyXG5cdGZuRG9jdW1lbnRDbGljayA9IChlKSA9PiB0aGlzLmRvY3VtZW50Q2xpY2soZSk7XHJcblxyXG5cdGl0ZW1TaXplOiBudW1iZXIgPSAxMjA7XHJcblx0aXRlbUltZ1NpemU6IG51bWJlciA9IDkwO1xyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHtcclxuXHRcdHRoaXMudXVpZCA9IFNsaWNrVXRpbHNTZXJ2aWNlLm5ld0d1aWQoKTtcclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHRcdGlmIChjaGFuZ2VzLnRodW1ibmFpbFNpemUpIHtcclxuXHRcdFx0dGhpcy5pdGVtSW1nU2l6ZSA9IHBhcnNlSW50KHRoaXMudGh1bWJuYWlsU2l6ZS50b1N0cmluZygpKTtcclxuXHRcdFx0dGhpcy5pdGVtU2l6ZSA9IHRoaXMuaXRlbUltZ1NpemUgKyAxMDtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoY2hhbmdlcy5hbGxvd0RlbGV0ZSAmJiBjaGFuZ2VzLmFsbG93RGVsZXRlLmN1cnJlbnRWYWx1ZSlcclxuXHRcdFx0dGhpcy5hbGxvd0RlbGV0ZSA9IChjaGFuZ2VzLmFsbG93RGVsZXRlLmN1cnJlbnRWYWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgIT09ICdmYWxzZScpO1x0XHRcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5zaG93UGhvdG9HYWxsZXJ5ICYmIGNoYW5nZXMuc2hvd1Bob3RvR2FsbGVyeS5jdXJyZW50VmFsdWUpXHJcblx0XHRcdHRoaXMuc2hvd1Bob3RvR2FsbGVyeSA9IChjaGFuZ2VzLnNob3dQaG90b0dhbGxlcnkuY3VycmVudFZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSAhPT0gJ2ZhbHNlJyk7XHRcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5zaG93Q2hlY2tib3ggJiYgY2hhbmdlcy5zaG93Q2hlY2tib3guY3VycmVudFZhbHVlKVxyXG5cdFx0XHR0aGlzLnNob3dDaGVja2JveCA9IChjaGFuZ2VzLnNob3dDaGVja2JveC5jdXJyZW50VmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpICE9PSAnZmFsc2UnKTtcclxuXHJcblx0XHR0aGlzLmNvbmZpcm1EZWxldGUgPSAodGhpcy5jb25maXJtRGVsZXRlLnRvU3RyaW5nKCkgPT09ICd0cnVlJykgPyB0cnVlIDogZmFsc2U7XHJcblxyXG5cdFx0aWYgKHRoaXMuZmlsZSAmJiB0aGlzLmZpbGUubmFtZSAmJiAhdGhpcy5maWxlLnRodW1ibmFpbEJhc2U2NEltYWdlICYmICF0aGlzLmZpbGUudXJsKSB7XHJcblx0XHRcdGlmICh0aGlzLmZpbGUuaXNDaGVja2VkID09PSBudWxsKVxyXG5cdFx0XHRcdHRoaXMuZmlsZS5pc0NoZWNrZWQgPSBmYWxzZTtcclxuXHJcblx0XHRcdGxldCBmaWxlTmFtZVBhcnRzID0gdGhpcy5maWxlLm5hbWUuc3BsaXQoJy4nKTtcclxuXHRcdFx0aWYgKGZpbGVOYW1lUGFydHMubGVuZ3RoID4gMSkge1xyXG5cdFx0XHRcdGxldCBleHQgPSBmaWxlTmFtZVBhcnRzW2ZpbGVOYW1lUGFydHMubGVuZ3RoIC0gMV0udG9Mb3dlckNhc2UoKTtcclxuXHJcblx0XHRcdFx0aWYgKGV4Y2VsRXh0ZW5zaW9ucy5pbmRleE9mKGV4dCkgPj0gMCkge1xyXG5cdFx0XHRcdFx0dGhpcy5maWxlLnRodW1ibmFpbEJhc2U2NEltYWdlID0gXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURzQUFBQTVDQVlBQUFDSTdWTzRBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1UTTRJRGM1TGpFMU9UZ3lOQ3dnTWpBeE5pOHdPUzh4TkMwd01Ub3dPVG93TVNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVGNnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2poRlFqUTVOVUpGT0RVd056RXhSVGRCUlRNNE9EaEVPREZCTlRBek1UVTNJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPamhGUWpRNU5VSkdPRFV3TnpFeFJUZEJSVE00T0RoRU9ERkJOVEF6TVRVM0lqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZPRVZDTkRrMVFrTTROVEEzTVRGRk4wRkZNemc0T0VRNE1VRTFNRE14TlRjaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk9FVkNORGsxUWtRNE5UQTNNVEZGTjBGRk16ZzRPRVE0TVVFMU1ETXhOVGNpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo3dCs1eEFBQUFkU2tsRVFWUjQyc3hiZVp3VTFiWCtxcnA2NyttZTZaNmRZVGFZUVJnMkFRRkZGQklCTlpxZ2NjRWxKdURQR0xQNDRtN1VwL0dweitTOVp6UW1lZW96SnU1N1hBSkdRRFpaWk45aFpvQmhodG4zdFh0NnE2NnFkKzZ0cWw1QVRmTCtlbzJYWWJxcnErNjU1NXp2Zk4rNVYwSFROUHl6cjZNdGUzT1A5TzN2YlJsdXhrQzRIM0VsQWdFYUJFR0FuRWdnb1NTZ2lmUU91elg5cFJrRCtuLzBFcUFhLzFKVmxWMUVuMXY0KzVxcUdiL1RaeHIvT2hUalduT3FtcVpmUjAva2Z4U04zWTMrcUFKOUtQQ3I0M0lNa2loaGJ2bGMvR0x4UFlDRVllRWZOZlprenpISGV3ZGUvc0dhNHg5YzBUZmFWZWgzWkUvMXV3dmd0THRoRngyUUJDczNVTlgwR1FxQ3haaGNwcUdhS3ZKRlNmRHA4VGVTaGdqR1JEVTJlVTNrRTJmM1UvaUNrQ0d3R05kcWZKR1kwWUlnMG1LbzdGS29DWHBmb2NVUkVwQXNUbXh0MklKQ2F3QTc3OW9HZjRGL1dQcEhETDN6THpjOTltSGQ2emVXNVZTVVgxRnpIZVpWWFl6S25FbncycjJRSkFuL1gxLy84dkY5ZUgvRGgxQW8wdGpyYTJmNjN0NC9mZVBlVDI5K3FTaXJ0T1g1Szk4dlgxeTlGSUlrOHMraWNSbEQ4Z2prV0Z3UFJjR01NVnBoNkVPalpkWTBlcEFnbVBFSE00NDBSYzE0bGhHQmFkZVlkOUZEVlRNanhIam5xMTdzR21iYTVOeUpFQ2s2Tklvd1VSUy8zdGg3UDFyKzZQL3NmUG1taHhiZlgzNzN3aWZMMlh1anNUQzZoM3RvWWdxRkNidUJxQnZIUWxFd0oyaUVtVEU1UFRkVEM4SGUwY1BUL0k3eGthb2J5YThYakpEWGs1N1dVVTI5bDU2OFgvb2kzTkRpeGdxS1BFM015Ny9VMk9XdmYvdDNhMDZ1dk95am0xZVZMeGovTFVRbzJkdERiYkNRaDJ3MmlXNW40YW1tOGR4a09XSk1VaFZNaTJCaEJnbUNicjRKVW55cWdnNUVsR3NaeG5LamFQa3lnSXc4d3pOUzRma3NHZ3VnbWJjeFZ6RE5VSUZ1SW1rV00xNlF0a1JuR252WGh6YytzYlp4NVdXclZtd3ZuekYyTG5xQ2ZSaEpqQkFJNlo1a1Jxb21xSnlHa2d3VjlaQ0dnYXowTzFSa1dDV2tQR2FpTlo4V1IxUTFQUWd5dkpzeVNqdlR4dlFsb3doUk5NVzRKME43TGZuMERHTmYzL0dIeS82OCs0M3IzLzMraDl6UXRvRk94SVFJbkpJMTZjblV3NWwzOUg4enhHU0dzUktoaWtaRzhZZXFFSFIzY0tlTHpOTjBINFZ5V1RTbW9CbzV5andJaHRIOEY0SG5MeDluV0pWdXZKaTVrQnlWVlNUVVJQSks3aGhOeURTMnNmZUU3ZUgxUC8zZC9SZmRWMzdSaEtYb0h1bUJacFhoa3h6MEJVbFBUMDNSSDg0bVRuOUZsUmdpaEhRU0FZRnF4SjVnUENicFVRNVlLZzlQaTJpQnhTSlEvYlBvT1EwZDExZ3BZbmdWaTlOMTdFR0N2b0JtQ3B6cFJUWHQ1Mm5HbnJZOG1wYjZQR25zTXhzZmZHS3NienlCMFJPVW8zRUUxU0N0a0FxclpvTmcxYWN1R3BjcmhMQXlyVmlXM1FjdE1vaXdHaWV2V1hRdktmcnE2dGpGdkVzNVJNYTRYRTZFRXpFSXNxcDdPRWtyOU1VWkNvZG9NUWdUS0lxWWdUeEtOS1RsZWlZSUdZbUNNNWVCME5nSVl5cjhkQitMNlZoOTlvZmI5dnMvT2ZIQmxiOWQraHFmZE9kb0M4cXpDL0gwaGpmeDJNci94c1RpRWdwSEhvY2M5a1V5cG9zOGY4WFpsK0cvTG44SWpVTU5HS1VGc3JDY0ZsS01pUWVib3FDd3NCZ3ZmN1lLNzY1ZWhZRFhaOXhIZHhpRGt1UHRwM0REd3F2eDBMVzNZR2ZuYmlJR0NYNk44cFhJbTRrVnAyVXRUNm4wVXBUaDJZK1B2SEY5cWEraWNrbjFGUWhGUjNrbWpNYWl1SHIyRXJ5dzhVWHMyck1LWW1FcGhhQktpRXloS0ZKK1VsNDg5ZG12OE0xeDUrQ1NTVXR3c1Bzd1JLdVlaRXZNbkFRWldsSlFpTDBuNnZEc0c2OGdFb21nMXoyWWpEekdmam9HdXhIdytISHI0bXZRRSs5REtCNkJ6U29sTGZrNmhxZXE2aGtlNXltaHlmcHZxcDRPNXZONHRWMS9jdVhsbDArOENsYXJBNzJSWGpKSUpNNDdnbkpQS1Y1YS9qUTMxR3Qzb2N5Ymo3SFpBUnA1cU1vdlFWRk9IdTViZFI5Q2tXR01DNHhEVkk2UUozVXF4NGJIYWtjNEdzVlRiLzRKOFZnTVpVVmprSlBsaFQvTEI3L0hpMnluaXhpWUhTLzg3QW5rNStSZ2YrZCsrdDNDRWRXOHg5Y05MWTEzNjRPOXI2UXRrSkNSQXVLQjVoMkYvYUh1d3ZPSUF2Sjg1UHhENEFEVU9IUUtGMWJPd3lPWC9oUkRvMjAwRWNwYVduUXIvUlRKeTZYWlJXZ2Ric0lqYXgrR1IzTEJKVGw1dnZEYW00Z2k0UGZoNVZWL3dhNmpSMUZNSG1ZcnpGYWVUVVlrVWxMWDFZTGxDNi9BcGJQbVlVdkhObHBreWNoWFZSK2E4Uk15L1ozZ2MxUFlIK0srYkRCeW80ckdFUFRCM2pkemx0bWdLa0l5eDhYNi9zT2RPUTd2MVBIK1NZakU5YnpqNFNQb2VjVThmZWVpSCtNYk5RdlFHbXlCelNFUmlJaHdTQUlacldKeWNUWGVPL3dxMXRldnhzVEFXWWlTa1RLRmVDQ1BDSGpkQWJ5eTVtUHltcDgvMkZ4eGlTS25mYUFYVlVWajhlL2Z1eDJ0NFZNWW9PaXdVbFl4MHMrVmoyb0FzV29ZclpucVNPRmxVRkIxNGNCcW1xZ0pmTjZVWUhRSGlhdWR6QlF3akcwZGJrU091eEErUnc1R2xTQlhLM3JPY1JtQzRmQWdyRVFvL20zcHcvQTdzeUZIUnVHazNMVFpMTENUd1I2ckZZWGVIRHk5K1ZHTVJrTVlsMTFKMkJMblV1L1pkOTZpUEpYaGRibVQ0Y1NXTUU2TE1VUnA4dXViN29IYjdjU0JqanE0N0E3dU5aV01ZWjVoeElDRnBZVkN5U0xhYVY0U241c29taFZCNHhXQmpiQVNSMGlKSXFpRU1Ld01ZeWdXTko1bFZBaWpWRW1Ea1g0NGJTN3lra1NrWHRhbGxpZ2sxME9rbXRqYzM0bzV4VE53K3dXM1VvbDZFb1U1WGdwRDhpd3RyMFFoVk9vdlFkTkFIWDY3NVFFOHNPaFoyTnpBazIvL0VkdnJhbEZkUERZRE5pMFdDNDYybnNCdFM2N0hrbG56c2JGdE02eXM5aHF5a0tXQXJnZklhRlVtd1JGRm5BQkhJYkNMcVRHZXF3azF5bk16b1ptaHprSll6MXNXR1F3N0dFR3hpcmFVNDVpeGpHM1lTZnVseURoVERZbVVabVIvNk9sZGc1MVlmdjdOMk5lNUJVZmFkNkFpdjRvelY0bEMyVUlHVDhnZGo3VW4zOEczcDE4Tm16SUJyL3h0SmNiazVHWXdPN2FJemYwZHFCbGJqU2UrZHlkT2hVNVI3UTNCWWJOei9wMlF5U0F5TEV4ZWtvbXd4TW00R0pVMHF1cDhQcktnejBjMCtJVEpuM2dkNVcvcW5EMm14WkpxaVMyS2lkbVN3RG1MbUFwdGc2THhzRE9wSWVYWWtESUNwK0REVHhmY2pRYy91QlZ4T1lRY2w0Y2tud1UyS2tWc3dUUkxFZDZxL1JWT2JxZFFqam5nQ1RoNHVKa2NScWFKajFENStjK2Yvd0tTVThXR0k1dm9leEppb1FSR3lWc0pDa2RXcnBJaVR6TUVnS0NieFNTYnFhNDA0VFMyYkpBcDVtZmR1bFEzeEx4TzFBd3RpYVNpVURpdlpRU2FBWmxpZEE0WXdMUVBObU5Td1F3c08vZG15czh1Q25HRkpxdFI3aktVSnZMZ0NTQVk2VVF3YXh2ODJibUV5SmFrNG1HYXNyNmpHWGRkZWpNdW5ENFR6eDMrRTlYVmJuUkYrakFRR3lUcUdVSGNDRWZCeUZkVElDZzhoeE1jbFJOMFZZS0ZOUTMyTXc3OUp4K3F6SGt4QzN2VmxKSUdnSEZqWlZrMmtFNWZBMEZRazZ1aEdNcEJSMGVCbDR2ZVlDY3VyYjRPTXl2bUV4QjBFRUFKY0ZoWU9XTDVLSFB2ejUzbFJ2bTRFSWFHV1ZBd1RpeWlwYjhMMDhzbTR0SHJmNHgxM2V2SXdDQjhsbXlPb3FMdWtpUTlUR2c2NVpNRlBYVFoxR1ZlaWhLY3pEQWhZUTVWVVRKK1o0TVpySnAwMHlpazNGajJBUThQZzFjU0orRDlJWVppZ29Ga3FxQVBOcUhSeENpUGtwL00rVmNVdVBNcDU0TGtXWWs4TFBCeVpHT0d4eTJZZlc0WXZyd1lSb01PeEtrY1JTTXhQTHZpUVJ3WTNZeTM5LzRaYnBVSmlUaWxnWlh1TGRFRUdhK1dPZGdrUkVYdkt5azZPak14TGhQL1pwNVRWTk9ETXVWMS9JeGhlbGRuYUlMUjRqTHFMdk13UTF6OVUyYWF6a2xURlVxWGNocFhJb1NFQ1JuQmFCL0c1MDNHc21tM0U5eDN3MExldGRHdzByRGJpU2FxRnVSa3F6aHZYb1RmNkVoTEcyNVpmQzNPbVR3Vm0rbzNJRVlhZVcvRGVoeHAzVTUwc1pIQWFZanVuNEJnNGVxZEk2cHVERTJjaGtxQWsyQ2d4VUFzSVJ2ZXBVSEdLV3lCMGdjdEN2T3VoalMxWkxTTUpFMUxFK09xWHNrRnBFQ0txeE16bE9rRFZqLzlkaDFsRjFYZmdNYndEcHpvM1VnZ2xVOTVxMUU1b2lnaDRSSWJ0V0xhV1JycTZ6c28vS2Zod2V0djRkLzUrWnhmb21OU00zYTFiY2UranQyb2JUdUFjQ3lPZ0s4UWVkNUN1QjFlV0owT2VwYUYxOUFFVTFGcXd1ZytJcW1mVHpja2xYdXEzc3BOOXFwU2JZME04VzRLYWZPbVpsdkQvQXBiRThscVF3NlJDL1AxemFMYjBOeTdCelo3bkc3bWdHUWhZUzVhK1FKRzRnbE1tZEdQMnkrK0Z6NlhML25jWW04WmxrNmlNWEVaR25ycXNhTjlPL2EyN1VKdDB3RUVFeEdVVU4zT0plTWRkaS9zVGhzMHlRWTVMbk5tQmlNWFR6ZkVyQ2FxcUhJWVkxaHNNZG96UXRKWVRVZmVWRWRNNzhkcUdhMFIrZ0lsYzV5NHA1UElmYmJUbmJ6L1V4OXZ3dXEyRVR4OHd4aU1ETkYzNmY2U1JTOWI4YmdWV1Q1YUxQOVd1dkt5NUlJeTRzQ2lpTW5KOFFWbjhYSDk5SnRRMTFlUGJjMWJzUFBFNXpoNGZBOU5XVVIrZGo1eUE4WHdlRHlVTGhhdWxEUWpaQVVJcDdlZ2VHWGh3SlVXbGVZMWtxa1dVdnBRNVNGa1NtYWRVeE9pVWk3MkRmZWd6RkxHYVJoWFMvVzc4ZnpxcCtoNlVpd25GTXlyMXRBemJDRkdwQmQ0RU5CNGhTS3NyWDhkYm1FQ0ZwWXRKMDRyNkN6SndBbXpyODl3b3lhL2hvOFZNMWJnUU5zK2JHemNUTWJ2eE83YTNhVERSWlRrRmhON3k0ZlQ3U0NQMjdtL1lxU21GTDV3WWpMNTVFVGM2SlNZUFhqRHM5cHByUXMxeVl2MWJyeVZXQTlqSkIzQkhveEVSeERJeitQWHhRa3BmL1RTNHdBdEFxdyt2TFUram9tbExuaWRETEhWWk4rSmRRdTg5a0tzcnZzZEp2blBSMEZXRlFjWHJuQUVQY1IwYnh2QnBySElzR0ZXMlZ3K2JpY1A3bXJlaGZYSDF1T0x4bDNZM0xLTlFOQ0JzYmtsOEFmODhIcmQzSENabFNBalgyVk5TYllEMHpzZGtwNldRcG8yTUhPVjZoK3hvekRWdzBFU0E3M2hIaFM1aTVEdjl1dEE4OGFUYURpMkF5aXJvUzhtME5jbTRwMU5DZHoySFN1RysvUndaWGpIU29wWHlrTlQ4QmplUFBvNDdwajdDdFZkQ1pHWXptOWREaGR2MDV6V2NVbSs3QllyNXBQTVpDTVlEbUpMOHc1c1BMWVptMDVzeGQ0VDljaHllMUE2cGhnRmdUeGtVYWhiblV3c21KUlN5T0Rsa3ZZbGJTd1dVcXkrallTSE1VakdLbnlqU2tLSnQ1Ui92dmJJRjNodTlVdkFtSEhHL0NpUDhrUjh2aWVCNnJGUnpCb3ZZU1RFbEU2Yzc3K3cxZlpubFpHSDFtQ04veVVzcWI0WjdhRXV1djhnN0RZSGNodys1THB6U1RyYXptaTljRWNZQzVEbHlzS2xFeGZ4TVJnSmtkRWI4VW50T214cjNJUGRSK3ZnOWJoUlhWSUtWN2FkejhuQitsbHBMMGtWMG5wMXZQVnA0WFYyZ05SUUtCN2lpUjRuenptSiswN3dWL1ByYm51UHd0Y3BrZ0VPUWs4eWhvV3RWUzlOSDM2bW9zZ1hnOVBCNUplZEV3T1p3aXRPbDNodHhYajk0Tk9ZVnZ4Tm9wYkY2QnZwSUdvWFErL29BSTROTmRMbkh1UTUvQ1FaQzRpYzJEUDZTSUtRNmZJY3B3ZFhUcitjai82UmZqSjZJMWJWZlk3TngzZWd1LzhrZnVYNE0zYWZPZ2FQTFpzMzkxTUFaY1kwa2ZJSVNhcEJlbmhZalhEREpmTEtBQms5THF1Q1gzUEhlMCtpc2VzZ1NrdkhFOXJLY0JGemtnazhaSTNLUS9Bb3Zqdi9YN0hzN0dvOHQzMEZQUFl5amdlS3dzc2ZYRlkvT29NbjhQdHREK0x4SlcrZ0tMc01iU090SEQyanBIQUdRNzFvU05RUlFYRWozNW1QMG13cVFWNENKSXN0dlRlcTk2czFYZFd3L3dMZUFHNmFleFVmVGYxdCtPRFFHa1JIRXpoOFpEZlVybFlqaDQzU1k3N2l4RWg2dzMyY3RWZ3NqTUt4bG9mR042ZG1sa3pGN3FhRGVHN1hpNmdhVTBvTEllcmVKTS9hQ0FsN3UxdFFQRzRTbnY3K3JWU2VCSXpQWG95OVhhdFI2SzdpNkpoUVJPN2hYRmNwMWpWK2lpa0hYOEMxMDI3bERZSE8wWFowRWRLSFNYeEhhV0tqa1VHMERyWmd3Nm1OdUxCaUlTNG9uNHRRbEVsQkIrOUNDRWJYZy9NOXdXanlHV0JYRVNqQlhRdHY1dllzcVo2RHovWnY1WXVaSkJVNmJFUGZXS1lWdHBIbzFkc2pyQXRBUmQ1WEJEV200b0cvUFlRY3R3WFpiaXNpNUM1V0p5VkNhOWFSQk1KNDRhYUh1S0hzZGUya0IzQ2thdytGYUQ5Y2twZDRNQkg1dU1CWlVZNjlHSC9ZOGhSbUZpM0UrUHhxWkRtcWFYSEdvU3ZjaFZPRGJTUWFXakdnOW5Ndm5wVlR5ZS8zM000WHViNmVVellMMHd1bklkdVZuZW9mQzVuSXBobThZVmIxZEQ0R0I0ZlEwZGxKWWF5SytvNDExL1lLVnltY2Q3STJOV3Rla1FhdENaeU5GM2Y4RWZWZE96RzVvQVlSNHEyTVpzWDVScG1Bd2FFQi9QcmFoM0RabEF1VDRGS1FYWTdMSjkyQjMyKy9HNFdVMjZBdzU2V0JKcHdsNWFJMVZvL0gxdDJQVjY3L0lBbUt4VmxqK0poWk9CT0h1Zy94cm1XK0x4OWJtcmJTNy90aHQyYmhZTTlCWkZ1OXFNcXR4b3pTc3pHbjVCd0NJa2RHZnB1WXhpb0NRL3FCd1Q3dUdNdU03MDc1SlNQY1Y1MTlIVnFHVy9YdFByNG5RN3BRaWFHRUp0M1NWWXZudC80YWhZRWlxcnNTNy9BTFJzTThSdVE4bDhyUmpiT3ZvQklWbzFwNEFGMkRQYWdNak1XRXZHazQxbmNFQjd2Mncyc05JRVpBSnRPcWh5a3EzRFkvZGpUdnB0TGl3dXl5T1Z5ZnNnbnAyQ0ZpREVWVFJVREhpY0hnQUlhalFZekdSeENNaHpFaWgxSGZkeFNyajYvRzZvWk5hQnBxSmV4d29zaFR5T2ZGeWgyVGxYeUhuN2g4VDNjUGlvdUtZc0x5MTVkcHJKYSt2V0lWdHJaOWdSQnJ1ckc5RzdhSEkxR3hWcU40Zjl2VDZBbTF3KzNLSlZCaVJ3UlV4Q2dOWXJLSWFGemoyZEFhSEVIbllBam9IMFJwOFRnY2Yzd2RlY0tGM3BGdS9PRDlSUmlWbytTUmZNcEpZcTRKa1hJWUdCb05rUkVoZkhycnB5akxLVU5kN3pGTUxaeEVxV0ZMN3ZId2RMVG85Ykt4N3dTMnRlL0R6cGE5cU91cFJUZytDaVlLKzZNRG5BZ1ZVbFE4cytRL01KczhicjZPTjU5RWREaUNxVk1uRDR2SnJVT3puMk5JSTc3S0JQODdqNzlMT1hrS1JZeW1VWWc3N1pyZW5lQWRDaG9NcEJCRG50Mk9xa0FCTExuNThIaHpXRUx3ZStaUkdWays0MTUwOXZZaFJFQVZreWx2S1hpaVpLMmRVTGMvRk1ROUgxR3VTMDZjSEdqRXkvdGV4WnJqNjlBOTBxZHZrMWlTMndlb3pLdkc5Nll2dzI4dWVReVBYUFFBTHFtK0JENWJGdGZMWGFGdUhPbmNTL2ZKM0lWZHRYTmRzdHVvNy8wYURJclZWS2JSMmZFQW04dVBSbEl6bmYyN1VaU2JTNGFCRytvazR4eFdrZi9PT2hST2k0VitrdDRocG1PamlUbFpQOW1pdHpCTktYSFY5QnR4U2MwMU9ON1pTQ1JEcFBTZ2NDYlBSdVVFU25NcXNPcmdKL2pEcGhkdzllUXIwUitKWUgzRDV4aU9EZkk1YlNCUjBOUjNLc01BbTlWQkNEMFBEMTkwSDk2LzdqWDhadkdUbUVHZ3RXTEdMWmhTUENYcHZBNUtwM1g3TjhIdnl6WkxqNUNxUHR4d21ZenhFN3ZwUm1QSEIzQzVCSkphZGlneXl6ZEJQL0pqN0ljemRGUlVLeXg4ODVXUmNVYi9CWjMrMGFxRjRrRXlTaU1DNE1NOUN4L0Fwb1l0YUIvdVJqYnBZZFk3WnVXSUhXL3grNHJ4czQ4ZXdhSUp4STZxTDhTbWsxK2dtbEQ2YUhjZFhqbndLbW5jTEpUN1NsQkQ0SGhleVJ5cUNQNFV1WEFIY08zMGEzRGw1S1VjL1BqcEdub20yN1g0NU9BbWZIN2lFSlcvWElOQnBSM000Q2hHK1pLZ3Vucm81QXNJaHZiQjdRa2dJZ2ZKSXhieWhJVkloNHd3ZVNkQ1NUdEtPUnVPaVp6NGowWkZoR0xBOFBBQUJpZ2tHUysyMDA4WFBUUWlSNGdWRmVGSDgrL0FUOTY1QTFtMk1QTVBGQ2JRNHdyaXNneXRveHZmZW1ZcHRqNzhPWDU4M2cvNWZIWTA3MEZZRHBGV3RtQnZ4eUZzYmZ3Q2I5dmZSVlZCRmM0dm5ZZDVwWE00M1dRdksxRk5LK3RkcVNvSEovYjZaUGQ2aEVlRHhQR05BeVJLY2x2WU5CWTA2VUZhN2FsWU11RUdCQWcxUnlrbkdOZFVWSXV1S3RqWkkwVkhQYmFLYk04c29VcGNGNGRwTVR4V0Q0V01sWjk1RWtudjlRLzNvNXZvNTRLSzgvSDhkNTlCdnp6Q1d6YzJLamNGdE9vNWpoeEtEemZxT2svUXRYMG84T1R3K1Z3NllURXFja3F3cTMwdkRrWU8wK0lvNklwMG82SCtGTjQvK2hHaGJ6NFpmUzdtbDErQTJjV3o0SEk2Q2NrdFNhK3picWJWNVlKbzdzK3lHcHVVZUZ4d000a2s0NXpTYXpHN2NNci8rUXdTQzNHVHozcnRIazRIdzdFd0xweDR2dEhua3NtamNRNWovcXdBS2FveFdEUnhudDZvWjVLYTZuZ2gxZGdpWHdHK1ViVVFqUVJlVzVxMllWUHJGemphZFl6cXY0ejZ3UWF1Z242LzY0L1lmc3NHVkRvcmtzOXY3K3RHTzVVc3Q4T2RMdDcxM3FvcDN0bkNKQWc0dkpMOTd4cWtKTGNQRTBucXh2ZzFPMDVnbmozaXhoTGI4YnA4Rk01UkFpQmlNOE50SkFLNlNVU0VxUlRGRVc2SklVWWx6aXJZOEowSmwxTnRMNlR3VHNCcVM2bVdTbjhsSDh1bUxxUFNzeE5yRzlaaGZkTW10TFFmdzlMSmw2TXl0eUpqYmtkYTY3bHk1MDBDNFVzT2tEQkhzSzZlazhLd09LdjQ3N3RQMEwvRFFJdVZFclpOeWVHY0ZzOUQzclRiMGhhTUZ0VnBkYUtFRGNyZllkS21yU050YUJvK1JSN3ZKRWs0akJ3cVdjelFwdDVUZU8zQVc1aGNNaEV6OHFlaFBKQXl4RzYxNG9KeDUvTnhkMmdBTHgxOEJiUEd6RW8yREJsbmJ4bHNKOW0zbS9lOVFwUXl5RGdIbFR3NUJtSXBjWlI2eHZMUSsvdTJDa1lEV3VGTk9pYWxJbVIwakFTRnorWGgvZHZPa1I1Q2R5Y1JmaC9mNURaUjMwZmExT2VhaUVuNUU5QkdudDdSdkFzVnVWWDg0ODhhMXFOdXNCYU53VVo4WExzR2xhUitaaFpOeGV5eGM1R2ZsWmQ4ZnJiSGo3dm0zWkdLTkUwMzZOT2o2M0M0NXdSSy9JV29IeGxNRSs5YTV0a0V0bGRTN0NuSzZBOTkxWXQzZmRpaEQwM2lXNWl4QkF0SEdUNnJqOExaVG1xRzhpYlV5ZmRyMmtVckVYNFhjaDI1WktRM3RXZEtuaWpOS2VVRHhobU1MSHNXcWFNQ0RKQ0lTR2hoN0d2Ymc0MG5OOExuZUFsVDgyYVFHSmlEaFpYektCODlHUTFHL2RRZEtDcitpck1EMHhFUW90aGJ0K2QwWS9XcldhdVNDZWdDb3k2ZDNxbE0zK0JON3gyWlRYWUgvYlJTcmt1Q3hERStHb3ZCd3RFNmhxQVNKa1R1d0hIbEJIbmFqVHlxajJYZU1jZ2lqNmMvaStYWWRUT3VJWG0yR0R2YmRtRnI2MDRjN1R4RUFLY2dRdEt2c1dFbFhqNzhGb3E4dWJpNDhpTDhZc0g5Y0thbHk4bnVKbXc3dkJaMy9uQUY5aDAvVHZnVFN6djBsZVpadHJsVVFDdnFJb1BOK1A5U3BOVlBnT204bFl6bGRVM1FEMit3TTA2YVFjMUtDVTE5ZGhkSnh3SDBNQzhsR05JbkVDUSszRUpJdWwremt6alBwUnd1SnRFd2dSaVlOYm00Zms4MkxqbHJNUi9IZW85amE5Tm1yRy9jU2hyNUFNVmVGTHVidDhGRElpTGRVUGI2cUhZZGlDQmdlblVOOXBLeHFiTlp2TTZ5SGV4VXpoYTVpcEVtRXMvTVUwSGYxMlJ5VFdkUjlIY3N3WFd0YUxXVDRWYTJEOHFEM0NJNjRIZXprWXRpSC9IWDBVN0s0UTUwRG5YU00wWEVoQkNhMnB0SU9tWmpTdUZrOUlYNjBUellqR2xqcHZGRk0xOFRpQk96OFlNWk4ySExxVzM0NlBobmVIUHYyL2pKbkZ1VHFTY2E3ZDJWQjlZUUlCQkFaaEd4U1NpWlBhajBjNEZacEJQenFWQ25qUHA2SkdhR3lrUXlHSUtQSm9oYVJLTzhSY0pxSlQ4d1prMkJ2WXVZVHFXdEFwWEVoWHZ6Qm5DS1FLbXA3eGc2NVhaTUh6dVpYN1B1NUhyODllamZVRjFZaFJvQ3E1bEZzNGo4VjZaMjdZa2xMUmkva0krN3p2c1o1YkFuMVNtazREcllYa3YwY0FmRTRqeDJPb01Ubm96dEQ0MGZVeFc1THMxMytFbk4yTDdXUm4zbm0yMWZTdnlRQ2VzdmtZN2grVzRsZ0dEbkwvcEhCNmlnZDhKTnVjbTJTdGdPZ2lpa2FtWWVpUXcyWmhUV1lITEJOSXpMR1F1WkNNZk81bjJ3VUcxdDdUK0pReDM3OEpmYWxieWpPYWYwSEZ4UU9oOEZ0SkRtYTJ4MmtkNzBWVk5uRTFjZTNnQ0VPNUdYWDJadXhTZTFYRklJTUEvWktRVC9rZHBxTnJtNCtpQWh6MDdQcUNxRmI5Uks5M0R3KzdJVE5zUHhFSWJDdzZSQkd4aE1VaW5MSWdOekNaZ0tLWUljL0I3c0FObWtmTDFqR2FHb3VIcmFsYWdsbmJxdjVRQXRYd2hCQXFSRFhiVjRiZC9ydkc1UExhN0Jndkw1dUtocUVXcnl6dUlzSzRrcmxJcXZmdkVhNEJaQTdCd1IraU14REVoRFdJbjFoMlBHaVRCMkZ2R2ZlWm1Semc2RlpMdTl5ZmZIZUFvUWNQZzRWNDZ4KzFOSlloTWZpUFp6Zm12UEtvSHROSWJtZERod1h0bHNQc0puaDdHcFpUTWF1ay93ODVLc2JvL0VoM2tuWlczalJnSWxCMnJ5ejhvdzVFaEhIVlNQaEhtVExvSFZKeU1iZWZ5Z0NkVFRtdVJhR3BHSzh4Mnd6RWExbUg2QXdZUzN0TElrcEFsL3hudXpITm5JZ3ZhbExmNkVHdUZOZHlZYytQZUUxUDM0UDhsVExzbUZTeXN2Sm81NDhWZmxFbEhWR0k5ZWZpS0VmcThJakVYdFhXc0owVzJVVW9RWHNLTXQySzRybXlSQVVjNXRPYmdhRlk5TzRhMFN6VHd2cXVtTk9GVTFUM1liVWxCTk5ldFZZOWRhRVl6RDhleDZoUkVGWFNObm5DaFZSR09QVmVNR0txcStHYXJ6NjdRa1lUMWUxaGFpd1hTeHpybU5MZzNyRlhOcHB1bUhPWTMvTFliTnlVSmc2QkpkZWdPQzFYalcvbWs1aHJMY0NWUlNpVDh3WTVlZiszMFVXUElKcHBuNGxxQ1prbzhkUFZCRjQ0eVJjZnJFOEFBVER1bG45UlZOWHlMOUVLRElhN1I1cEQ1Vng0WFVvc0ZvY2dzcEE5VFREbVNhVytFbUtlV3RJaVc5SkFvR3cwczdRQzJZaHlnRUhqMWkxUUxVakttQVpOZS84NzhDREFDMkVPamdOZmRXa3dBQUFBQkpSVTVFcmtKZ2dnPT1cIjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZWxzZSBpZiAod29yZEV4dGVuc2lvbnMuaW5kZXhPZihleHQpID49IDApIHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZS50aHVtYm5haWxCYXNlNjRJbWFnZSA9IFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEd0FBQUE3Q0FZQUFBQW4rZW5LQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVE00SURjNUxqRTFPVGd5TkN3Z01qQXhOaTh3T1M4eE5DMHdNVG93T1Rvd01TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRjZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09rWXpPRGt5TVVWQk9EVXdOekV4UlRjNU1qa3hRVGxCUmpnNFF6RkVRalkxSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2tZek9Ea3lNVVZDT0RVd056RXhSVGM1TWpreFFUbEJSamc0UXpGRVFqWTFJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2UmpNNE9USXhSVGc0TlRBM01URkZOemt5T1RGQk9VRkdPRGhETVVSQ05qVWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZSak00T1RJeFJUazROVEEzTVRGRk56a3lPVEZCT1VGR09EaERNVVJDTmpVaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NFQ0K29CQUFBYVJrbEVRVlI0MnN4YmFXeGMxM1grM2pMN2NCWU9ONUdpTmtxaVZzdVN2RlN4SGR0Sm5MaEkwclJOa0NhQXU2QUZBclJGZ2lKRzBSWDkwUTFvZ0M1SWl3WXBpcVJOZ0xacFVqaUY0NnkyNDlpMUxWdWJaVW1XcklXa2FKSWlLWXJrY0RqN1cvcmRjOTlzSkoyNnNWSDBBVStjdDkremZlYzc1MTRaeFlVeHhHd0hFNFVzeGxiVHVEQXpEVHNTeHRZdVlHSzJpRE0zeW5qWEZoTVBIZDZNNzUyZVRuN3p1UnNQcmZqaDk5WktLNSs0UGxkS0dvWmZoZWZBQU9CNEh1RDVDUGtHZktqZmdPRUF2czhqdjg0N2ZQaU8rdVBEOFBWZjMzVzVxM3M5OVFKMVMzRHN5enM4ejRYbG16Qmg4d0dYcDlVTHVKbThydTdodDJBWXZDNnZsM0dvWTA5K3U0aEV3M2pQUFZ2eHo1LzdoUlN2VE52WWNPT25QQU94aUkyK2RCamp0MVpIUC8zRlUzLzA3Uk0zUG03NnZqMjRLWWxkZlhGOFpQc2dQTlBtWFlZV2dzOVpmRHJDUTl2MDVad3RrdkhqdnFmSENWOEdwZVhWZzVhTmZ3MEs3eW1seUtPZUZrZ0U1N0VTd3FYSVZJWitEbkxOY3h2dkQ5N2pLK0VwS2crcnBvTi9mT3djZm5oaUVwWFZQS0xKZEplOVhsUjVIUDNaR0tibVZ5SXZucC83L0RQUGozMHFub3ZodDM1MlAzN3AzbUhzMjVLQWFVWmsrUC9mdDdISkpaeCtkUkxUMHpNWUdVMmpRMkNsSklPYXpLV2l1UFRHOHQyZi9jcXBiMVhLZnM4Zi85cnRlUFREbzRoSDRuTGZjczNEY29IV2NPcFVxQWZYTTdTaWduL0V6WlM5eFpWOU9lLzZqY3RhcFo2bkZkdjZ0cTkzZFpkNGRzTS9mWG0vUjdlR1dMMzFtTnd0SHVKM3ZNZmx1VERkN0o3UnJMaTJUMjh6REMycTNXNVprOElPOVNUdzFMbnhSNzd3YjY5K2RjdjJYdnpnZCsvQjdrMVpWQmc2VjI4NXFOWjk3WjRjc1dFcVFVMys5S0M5MnBMUmVMNnJBbEc3SnJTazZyNkdleG9pc0Jhd0tXelR6YjNXUGE0K1ozaml2d3dmNWJIYTVUMGVHd29yUkJHbS9rNmdUNEVBUjN1ZkJlM2lSdUNNZHVPRFBJV2huSTFubnAxKzVBdGZQdkhWaHg3WWhXLy93WU84d2NURXpUcUtEdVBUOVBnQ1g0T0N2TUJEWU1zbVdDaHJHTDYyc3RnOWVIZWdJeXBWcTFkZFU0TlhnM1Y5Qk1jSWxLUUZOZ0l0eUgzQmMxN3d2WWFaR3IvOXRyOUtIcnNaYllZYWxuaXVDQndQOFlkbFlYT1BqYjkrY3Z6WW4zenhsYTkrOE1GZCtOYnZQeWd4ZW5HMndvRVNJMDBORnZBRGFPTG9QUVBCT1cweEdJRmIrdEFDK25yb1J0Tnl5c1dONXFEOGhtLzdqWHRiYnFtT3ZVQUlaV21CTyszdE1QeFdDQUl0TDJuZlhLZHg3SFdjdDErZksyTnpOb3lwY2lINU8vLzA3TC9zMnAvQjQ0R3dseWlzY2cvYlVuSGFzQ2IvVlRIckd6S29EcmRVU0d0b3BKUU1GUnpyT1BaRnkzNXc3QWN1N1h2Nm5YN2dEUWlVcU1KRXZtaENsS1RqdWdub2ZNNExua09ud0Vid1hhL1Q4azJCSjBvcExES2dILzN5NmMvQnNMYjk0QThmRks4L04xMldBVnJxQmE0WHhLWVJ4SS9USEZ3VGdQeVdPNG8xbTFZdzJzNXJFeldBckRFZ3Q1R2VWRHlLVmsydFVPWlI5WEtGRGZxN3J1UmlmWk1wSHVBRkthd2RlQVcwbXZKM1poTDdBNGVHOEoxenMwZGVmTzc2cjMvdTBmdXdOWmZDMkh3Tk5ickVVTXBFYnhTb1M4RHlvNTRsSHpFc0gyTzNhbGl0K1lpSEF5VzRmaEJUQnVyOEhlUDV6Wm1JS01sdHVqOHhnTUtNelZkUUlnb21veFpxdkdZeVFvYTZvN3dXRW5IYUVkdFRwRVlRbHVTRFlWV3F1aGliS2lJYVlwemFocjVmdVZFZ3RMS3V5OSsycDYzUmlOMm13T2R2RmZFWFh6djltYjV0V1R6NmtiMVk1UXNMVlE0Z2FlUHB5UXBPM1hTUURXc1hWZ3AyK1UrZHBPbmorNklZVEJxWUt6aDBlYk9aaHBUM3hTTW1sb3N1L3Yza3ROeHJCY0k2cmkveCtNbGpPV3pxam1CdXVVYWhRMWdxVnZBUHowOUtKZ2laMmwzRjRvRTNORmhadVZMbi9UWWUrZUF3VmtvNk5acWg5cFFZL0ZWcHJPblNuZW5QUG5sbXF1OUhKNmQrL2k5LzR4NmxRMHd1VmhHeTZraEZRbmgxd2NOZmZiY0FkQmtORkpKMGc5azY5dVY2OGNpZE9jd3NGU21RR2lBL2JHcTh6aVZDZU9wU0FYLzJ0V2tnYkFWK1Q4a2R2bWQyRmZmdmp1Sm5qZzBTL1IzMHBDd1U1MTM4emRjblVDdlZLTEdodjZQQ3lBMWlSVkZPNVVGVHkzai93OE80L1RPMzRjbFhGdUNhcGlDYXNxTHJ0cXlvUXF4NTNCbkNzSjg0UHZ1aGREcmM5Y2k3dDhtTlZicHltQ290a0Z6YzBjdkJkcHV3YkI5UitwMHAzelpSVHJwNGZVbFV5VFJqQmFSQ21kOE1VTlFodXBlQlpBekpkSkNuWFV2eWQ3RWN3dkh4S2dXdVM1b3IxalhIN3VxTDBpc014SzBBbFdUM3RLVUV5VjBVQ3pGOCtBUERNdkRacFRvU2NWTXVHVWFROHhzc1ZlTGVEbHk2VTJEend2VEN1Ky9ZMVkrK1RJS3hWYUlBeklzSTA2MDliS05sTjhjcFNrMmpuaUNqa282eGMzNmhJZ00xV1hpNEFiRlF3bG9VYW9udWZIYU8xeTFxWHdvTFg2QkQ0b3J1ZnVwNlhqQWhHZEVPbzlPVW8ya0NBY29pVmlnQU03aGJ2cVhUV3AwM0ptemNjV0FBODRXYXhndFBDNmV0YVRROTEwREF6QkN3MzdhVVphNlVhejkzZUVkYURnbzFZcHJRTnc5bE1wVUJWa3k3MDN3TDQxcm5VRTgvektDOE11dGdwV0tnaTRPdU82NU9NL3h5TEdUaCttSWRsMi9XUkRqNWZLQisrV3pVeElXSk1oWlhIZlNuYkZaUGhpalpwRVdNQmlVMXRHa2F0SUppbzFTc1krZjJPRWEzSlRBK1UwSEV0dlQ3Sk5VWlFRYlFxYytrcXh1Tm9zVXcwRTQremNYbE1vNk05TWhCM2RINVQ5MnNHRlBDQ21Odk9nUlVYRnFINXgyZEptZ0NYRjJxWXI2NGloVHB0ZU1hbWk5ejRIR2krdGl0T3BhV0hZUnRWY1UxY3BKaVcxUUlsVEJOaEIrL1VVUi9Ud1JPblJhaUZVdkxWVGh6eTFncGxCa1pqV1RTcUp6NEQ4SHgySUYrWkx0aVdNelgrQjJMUW9NS0RyRzhEWW1pVlhVWElRWkVhQkRiMGlJNnJzNFFEZXZibmxzbnhGdXQ1QzJrTTZCK3ZIT2tXMTl6cWw2VFFzYkkyOHBpUlEvdjJ4R2hVSFd0VVFxbGhEdzd0d0xtTmNUaWRwczM2WlJsV3J5aFhNTFp5VlVjM2RXTk1ncXdtQVhlYzBjdnl2V01qT0hrNVR3NXV5ZUlyU0RhVXZoUTluSHZiVGw1MHh5VkhRMXI1dVc2RmZFdVI5RmRhSVN2RStTaUFWZ2E1aHJpQWIrTnIvaEdFUFNNUjdwbm9WYkhua3hJckZhaEFGRmIwMFNWTGN2Vk9zWnZNdHIzMkFTeU1qOFdRb0lBVnFsNGVHMm1MSUNtU1lmbW1XYkFUcXlBZkp3ZUwrRlhvY0UvVFd2OStTK1BZakFYeHZkT3pPRHBVL1A4VmdoR3dLTXJkVXBPTm5oc2Z4Wm5KNVp4ZVRhUFRDd1NzTEtBbVRXWU13VlhWbzJHYkRsbkt3VzNBWmR0ZExBUm8xVjArd3FwZ2MwTTcrMXBIeGZtUEVsYkhMa2VwZVBnNnB3U0xJdXBmQUUyRVhZd0c4ZU5CUmZYNXptS3FGS0VxOEZPS3BzQTlKUnU2WHBueG92Q21wSUpDMU0zSzdSYUNmUExDVHh4YWtsQ0tFTFNvc0xIcE5JcWRQYzkyeFBZTVp6QVk4Y1hSQWlqNFRWQmxXRjJjSEZQWkpKSWN2Mk8xR1MzbDJrS2xQU3h2bGhsYkE2bFFoaWhsUytNczRpZ3Z5cVVGaENpdjUyZExzdWd0dzdFY0drcXo5Z3M0Y0tzaWFrVkYvR1FHb1FwQTFHM20wMTZ5WC9vNnRmZUtPSVdTUThka0FCWVFoZWhvazdDYzNXNkpDV1ZMeDdoNnZwb3RZUUhidHVDQlBQNzlWbkZFK2prUkg4SlB5L0FoMVlXRm9KakI1MFFySFZwMTNQWFZScCtRUFNsUldPR3NKdXNDRzZlejdwTi9xRVErUEtOQ200U1RCN1kzWVBEZzBrYXZZNm5yNUpzckpaaDBnV2xadlphOU4zd2RScUpFRkRtYnBZRXlVZDZZM2k2dG9Kb3pFYWg1R0orc1lKR2JTZjFrdWxLRG4vZ1NBNkxaRmVMS3pWazA3YlF4d1lZTmlobHczTmRHa3BsTnFOQkxZMjJ0R1MyM2Rqb0x6WDVKMTlhY3gyTTlsRDlwSStlNHpVSkFiTUNwcGZybUZpb1NpaWtTVEp5bVpReWhyaTdMMzBsUmY5MW12T0k4SklCcE0vRjk1YzluTGxjd2dDOVJ6RzFFRlBKRFlMUmpjVWlJZ3I1Rkg3eWM3VUtmMlJ0SEI1TjRmeGtrZStrTU13bTFLMlVnQ3BlMWE3NHVpTzdPZ2ZoODFxY3p2SlE4ZkZtQkRjc3JRVFcrY3RIbnVpOGc3VnlMZ0dROHRLbE5ma0lxeEd0Vm5CeHV0SjhXYWxhd2NsclJPZ0lrWnVnWjZrT0psT0VXM1pRcjNtNnFnbmlVbW45eE5nQ1MzRUw2WWpGKzBLWVhDaWpXcW9qYk9vNlduVXZhNHRsSEI1SllIZ29nd3RYOHZRT1hSL1REcEpHSFJyQkNaVFoyaDNCRDEyaUsyODFwWnNqQWlzMDlueC9YV1hSNklLVWFoYUdHY2Q3VTd6RzVLOEdvUWlHb0c3Vng4WDVsc0RuS1B3NFl5eEdiellkVjFvelJWWWkzYVJVcVFpL0kvbGFDY0xSUmcyY3ZVS2VYaWR0alZsa1oyVk0zbHpsTVQxYTJrT3VKaUowNGZjYzZVZVVJWFJsdWtCbElCQkdVMXZseXA1WWRlM2VpS1BPOHRCVXZHeHRERGM0dHhKWXVVb3lGc0syUGpLTVNsWHpWRGZndUJ6MytGUkw0Rk9YT2VCQ25lN3BCcHpSUkMzdjRaTjN4bkY0YzVKc3FVS3J1OXBEbUZhdVRKWXhSNERyVHRYeDdNVUpUQytzd21BNjBjVUQ3eVZISm5mRmZiZjNZNGF4WFNCZUtBZFZvU1ZDT2dnYURZWUlXQk5YMXJ0VDk0T1MzV3JQU2dwRTI0cnhOc0dOb0dPbG1MVkN1ajE5TWJuUDVNZE1WL2VRRVRNSVBKVm1uSnk0VW15V2RENnRXVmNqb3ZBZnU3c2Iyd1lUb2d4SFZLOWkxc01xTGZyS1dBRWZ1M2NJdCsvb3hkUTh6NGY4Wm9la1FFb2J6WVp3ZERTRDgrT0ZvSEh2NkhqbDkvV3Vmdk9jTlBSZDRROXU0T0pONE91MHNOZEVPc05zcXlBVkp4V1lZNUZPWGozU2EzTXcxSEJkdTZxcG5xTi9YU2ZKV0Z6V09mWEV4SkxrWDlZTUV1dVZzbkpuQTNjZkhNVHVQcjY4N0lqRnhGV2x1QVpKeHF6aWJuam80QURLeXl2cVFZazdGZWNPUWV6SWFCZjZCc0k0L3RvOHdreUZxaG1ocUt6akJuOGRaVTMxMTVmZGJleU5CbjBUb1JzeDdMWHFxaldWbE55c3dycEk0TnFTaTZJL0hVYUpOYXV5cmhJb3hvdUwrUW9XR2N0TEs4eW5iNVFWWG1sVVZxWW1uOTQvRkpFMzcxR1ZDSzJ0OHFkcXdRZ3VFWm5QWE10cjc3aTRBQ3lWRWJKTnNhQmtqSlVxM245c0M0djlNcjc1N0JWTXpLemcxdklxcXJVYWhkSk5RWlZXSGRiYVlsbGxjVGwyZEJ1M2dVdHRKamF0WUE1SEMyaTJOQkUwMEZUcVh5RGxJb2hTYUtMUmFrM2lSUWtsTWJiSzFFVGljSDV5aFloYVJWeWhxeVBkS0ZxMGlrUGJ1dVI5ZS9rMzBaMUFqYzlieWpzY01TeXVrVk9yRVYxUkxzdkIyYTdPM1ZMZTJYVWNKTVBxNmNyaXN4L2RpMjM5RmtGeEVjY3ZUZVBLMUN6eUswVnk3cnJDUFNsQUJYTlVMTE1DcTlYYnNha2xzZTIzRVFQZHdOVjVXdld0S283RmdyMU9UM1F4bUFoakszUG1DNjdRczRESGVsSWtuQ1g0S0kycnpvUXVJWlc3R3RLbHVHdW5Gbmo3UUJRSCttMjhkSUZrUDJlS1Y0VUlYRE1zUWw0Nk80ZXJNd1ZWbFVpK1ZnTXFWb24ydVM3czM2Rm5PMzd4NFgxNDVPRWF6bzB0NDdrejh6aCtiaFpucjgxU1FKYXh1VGg2V0xaRm9qSHlnNkIrRGtpSjBTQ2hnZkMyNmtqNlhtZHl0dWh2UldxcFJGZXR1WDVBMTJpbEFSSnJZMDVjUnRXd29pbHl3dWRPejZQR1BJdUVLWjFGSlhPNVF0ZlBSSEZRYW0yRmRtSHNIK25DU3k4dndlaldMQ3hPRDhtekt2cVBaeWF4U09abHFYeldxSjJYS3pod2FCTkdkL2EyNVl3d2J0dlJKL3VuUHJ3Ykp4a0dUNTJad1hIK1BVR1V0LzBRK3ZxN2tPbEtvTi9vRW5La3FtWUZiSTJNYS91TitReVphdkUxZXRZdEZDcHVvQWhkNVJRWXUvZnVTWkFaMlpndk9Vam9PVU4wcWY3VmEzbUp1NjZFRGR2UmpWUy82R0wvY0JUN2h1SkJhOVhHVDQxbThTWC91amlBSVhtV0pTVExsMzk5Y29ZcDNwVk9wRFR0WkFLcmlydjJka2tYWkYxalNsVnNZVlpQaHdabEx6SmR2bkIrQ2srL1BJc1h6aTNoNWJQVGlNVk1mT1BwTE9Xd2tJemJ6VkMxRGJmVjRiWW9NRU9NdWQ1ck1uMEZhbVdlVSszWSsvZWxzWm04ZXBZeGk2enVDeXNrcjBsQllVcDNVb0dHTkh2eVZleTdmNEQ1TnRaTVc0ZEdNakJTcktWZHVxdmhTdzROa1Q4dUV0ek13Qm9xSkZ6VkZpYmFQM2lvdDhtVFRkTll4L2Y5b0ZwS1JDTjQ2STRSMmZNRTBTZFBUdUg3WnlieDFFdFRPSDU1QlpsUVV2cG51aDUydkNiZEpLdURhaHlhWnRBVER0b3lxb2U4cXpjRU14VEN2c0VvVHI1RVVUTzZjYVpzRjFFRE5JUG1tUnZNQURvMUhBbmlUNU5YRndkR2tveGxHMk52VUdHcHNKNzBWaThKNjBsd3FhNW9pYkxxV2ZmRWNQUzJ2b0QvcnArV0ZmcTdMcSt3dGs1SDhkSDM3cFM5VktwZ3owZ2NwODljdzYyRlBBWUc2N284dElMbmxzcWV0RWQwdDErbmJCV1BJYXAvRXdtQTJnN3pCVjloOGpQOGlHNlJTcFBlZys2MGUrS3FFdmNzNnUvY21XMmpiU3daYWUzOXcxbU1uVjhHa3Jha0o4UHpXMjJneG9UY3FvdERkL1JpMjlaTVovWDJGalk5YyttTGt1THhLRDc3aVNQQUp3NmlXQ3hoL1BxazloVDFqK29EcWpoVWNheGhTaFljb0VMM3pzWXQ5REFIcSszMmJTbjZOd2tBcldBNnVxblhBRDVQOVo0Wmx4WHk0azE5WWR3eG1tbkwrZnI1TzNjeExxczEzVWR3ZGI4NVJNdUdqTVkwQ3lRYzd0cWY2N0RtVzkxVTI5ZzA3YmJKZWw5Nk5MRllGNHFyaFVhdlRMZFJPNHNIdlJlcWRReXAzblRnVnZ1MlpkQ2JOWVJGR1NyMUtLb1QwRHFURE1kVWJXYVdqZnVHRTBnVHBkZHVkeDNxa2VhOFMwVXFEbUFHSlczRHdIVmhjQWJlZldqZ0hWa0IwSmlCbUoyZGJRWlhCMzl1dEVna2xaSlNxajZXbWhacDNOclhFOGYrelFrcERabTA2SkoxUGFzZ3UzWW5NSGNmM1pYYWNQYnU4UFlzY3YweFBsNGpZbHJyNHJOSUlPa2U3c0pkUjNQdmlNQkdVQzB0TFM0aWs4bDBDcXdiNGw3UXVmY0lWblVNcEN6MHBrTUl1Sk5zQjVWYjUrdTZENnk4UXhha2FEb29uUWdpN3AyajJhREwwZW1PZlFOSkhGRFBzL0pwdjlRc1loWnJPTFNuQzROOThYZElZQTUxWllXeVZMQnBZR0NEVlNtU2p2UVNBa1haTm5WSEJjd052M1hya1QwcHZhU0JwS0hCWWIxZ3lWS1plUzJlaVJDUmM5aVFvSE83YlUrM3BJUzFsMFFCVlBLeDBkN201Tnc3c2Izd3lnU1d5UjBpMGVnYWdmM0cyZ3NTY0NkTUltQmdLR3V0WGVLRDIraVdvVlFVVllJUFhHMWRRNFJuWVVDR05NcmFkOCt1ekpzTzRDNTF6VFNsWFdPMDdUWFZ0eUZBdnZ2b0FGb0xITjdlcGhMR1kwOWVRdFEwMm1JNG1JNFFZUTA5TDYzNnpyM0pFRktKYUV2U3dDUUhtVzYyOWtaUVkvbFdZeXFyS1FySzZsdVZhVmd1NCtDdWRHTlNCeDFHQ240ZlBramdTc2V4a2k5anRlckloTm9xT1hsNXlVSHYxaXp1UHB6cmlMK2ZDS3lDRHo5M2VoTFBrMzBONU5LZG9HVTBwelo4MGJ6dlY3RXRad1czR0cwSXpqUkNGblJvVnhLWXE4Q2xDenAwVDRlMWJwVkFCcFp5ZCsxTkJkMURmME5hT0xvamlZTWpmSGVoZ3JCYWFhY2FsU3o1Y0l0a2hXa3JrNGszdTV3LzZkWUloMjgrOHpwdTNzcXpsdDVnMlpJc0pQRlVhZVVqSGlFNlp5TWJhRTZ2eFBuYjM3c2J2LzByaDFqL2hqVEl5ZElGUjVZTEhkeVpDUmpTbWlnMWRPL2J0a040NHUvZXo5clc0VUJVVjg3VVU2bFVYbjkvdEpWTzFMZXNEbkNSOGJXdnlubXpUYWRSRno4Nk1ZOVVQSzRuRU5vRmJya2NjeXpkYkNkVFJ5d1draGwveTdEYUVydiswQ1pXVG1yLzhRaHBiRUFNVFBHYTRjRXM5emUzak9vODVvdDFLdCtUT1lRc0tXT1kxTmI4WDNqNTFUY1djWE94aFA2dXFGNzZ0TmJDalpVMENwRUh1eU1iUSt6YjNQd05PcVFiS2NrTTJzU0xySm9XbDJxc3lXOGhsUXhqSUJ2RFVIOEtvVkRMQ00xKytocVBPaisySXAxU3ZTRFZXRzlocFlRYVUweUsxSEZBelJ5b25wOWh2S1BDK3Y3NnltZERpbWpaNk9raThXRVpHRStVTURGWng2dVg4dmpld2lUTFVBdGJOcWZJeXpNWTJjS013ZmlVeWdrdEpkeFlXTUdwaS9OSUp5S0VsZFVtbHF4eGFaOUZ2NGM5bStrK3R2bW1nelorQWlWNFFVRWlPWnNlWlBQOWVqRU1Hc3Z0OUVJYzAyOVZRZnlPYWhFblkybHNIVWhoZEdRVnI0L0g4T3FGWmZ6bmR5ZndCV2FKdmR1VCtOTlBIMlhSbjI1TnBERnN2dlA4alBUWUVnemZwUVcxdk1KZUw3REhEMFNvL2MycDllN2NYRFZuNEcyNHVpOHpFQVdDVTUyeEdRbVpCRDFUaXZXd1RYSmpXWjBMVHRzS1FPWGlnejFkc3Q5M2V3MlhKbnJ4K0RNM3lCZHE5TWpZbXBCdzhmanowMGpGd2dUQ29xelZ0dTNJZW9ITFJPZkJwSW4rckluV2lzZVc5YjJBbUtqWjlYWXJlOEVLeUkwclZEUnJXaFcrMFVoWTBEenZWckN3eER6TVV0Qm1LYWtXcVBSMFJaaVNvclNHMVV5VmZqREhCRE5nWW1wZWl5NThZTmNROXUwY2tBWGtNRUp0VFFKRGVtVFBuWjdCYjM1MEZHZlArU2k2YlUyODlqenMxQ2h3T2taTjI3STZyak4rZlptc3FxaDg2N2lpOFFnTGkwUWlIQlFBeG5vbGJVRGtWZmN6RlFvalJzVjJFWVFLS3c3bUtmaTF5Ulc4eW9JaUdZdElVMjZnSjRyK0hLbWdHUXE2UExyYllMVEJ0SlNDbHJVdXpCNy9yM0hjbXMxano5WnVuQjNvd3VUMFhHdkpRME1ZVlJyRVNDVTM1YlIxemJVRFY4c1ErVEdiYmxnaHExTHJMRlJuVWFGbE1oeENKbTJ4SEl4MzJOaHY4dzVqVFNpRWVDSkRaYWw5Z0t4dGFTV0c2YmtpeG1jcmVPN3NEWm1PNmFHMXQyeUtZZXZtREFaN2t4VE9YRlBxb0VXS0FsMlg2ZzZlZUhFVzRXUU1PN2QyRWZSc3lkMmRGdWFBbUhyUlRhMTNwM1FwdUJhWWxDQzJXaXpDdUlqUkxaT3hDbTRWRGR5WUwyTnlwb2dxODNVWHJhTjZYbjBVb0R1VDZGam5xQmVmZDFDRHBrcENKQ0o5M1dwUFl2K0lnNm5aSk1abVZuRGhXaDRuWDdzSjA1NGlhQ1d4bDdYNDN1MFVucjlsclNXNXUybnFpV0JIcG5BdFBQWDhPRjY1dUVSaDA5ZzJsSlp5WFMyenNGcHBTUzlWVVhYM1FNWUtCdkkvcEF3aWFZSndueURQN21OZXZFbVhuSm1yNGZwMEhwZXVMa2kzWjZBM2poRU9iTWR3R2xteGZPZktlNzJzYXIzN2gybVJIVnR5c3Q5OXNJUXJVOHU0ZEcwWnB5OHM0WWN2VDlPYlRJenNTT1BPZlQxNCtGMWJaQjJtWW9nTlJ2WVkwVm4xNld5WkxEQmx4WDdIZW1uaHZHcjFLUi9ZaUVwdW5KcDBlbEp4SEdVOER2ZXBIVGl3UFlXSk9RN3dlaDRYTCtkeC9NUWNVblQxNFUxSjdOelNSYURKSVpkTzZLSmd2Y25id3NBUFdzQnhIQmxWK3lBZVBsYkV1V3Z6T0hIaEpyN3hnemRZMEJmeDAvZnRiQ3NJTEV6Tkw1Tkt2b0YwTG9GODJaT3FEMFlBZG1hYndGV2FOMG1CUThuUVd5eXFqUTF6Y1NJWndmNWtQL2J2Nk1ITS9qSmVHMXZFeGJFRlhKeFl3cG5YYitIN0wwNWg1MUFLUnc5MDQ4RHVUYkxnYk4yN055aWlsWEs3c3duY2Y4ZDIyVC93cm1GRW8zWWJMOUQzZmVucnIySHNoVm1nTjZXbXNvVStLd0NXQ3JCaFlkVjRpd1FmanRqMk8wT3BpSjZEL1VuWjMzZHN5NGI1K0grVHk5Y3E5K0N1VFJ0ZSs5QkR1M0gwMEZaNkhRVUxSZEhiRzJNSnVob3NRZzlBSzVGSTRObVhMeUtaTXBrWEszcSs2SzJVWlFiZWtuWENqQlhMTkpvMFFoYmU4Qk9WaXA3bi9iR3NyVzN0NU1ZZkQzcmdNR1RXZjNOZkFwc3lFU2xMVGF1S3g1K2V4cFhwWmFSU3NXWnRiZWU2STRYUGYrVms2dk4vZjN3Rjl2L0IvME42cTdUMDdiWjNnaVVSaUJBRGJ1OVg3V2RWcEJmK1c0QUJBSjJTek5ScXBoVVFBQUFBQUVsRlRrU3VRbUNDXCI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGVsc2UgaWYgKHBkZkV4dGVuc2lvbnMuaW5kZXhPZihleHQpID49IDApIHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZS50aHVtYm5haWxCYXNlNjRJbWFnZSA9IFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEd0FBQUE4Q0FZQUFBQTYvTmx5QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVE00SURjNUxqRTFPVGd5TkN3Z01qQXhOaTh3T1M4eE5DMHdNVG93T1Rvd01TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRjZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09rWXlSVVF3UkVZeE9EVXdPREV4UlRkQk4wTkNRVVpCTlVZM05EQkdSVU13SWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2tZeVJVUXdSRVl5T0RVd09ERXhSVGRCTjBOQ1FVWkJOVVkzTkRCR1JVTXdJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2UmpKRlJEQkVSVVk0TlRBNE1URkZOMEUzUTBKQlJrRTFSamMwTUVaRlF6QWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZSakpGUkRCRVJqQTROVEE0TVRGRk4wRTNRMEpCUmtFMVJqYzBNRVpGUXpBaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6Nng0b0EzQUFBVFBrbEVRVlI0MnRSYmVaUWN4WG4vVlhYUHNkclZyclJhdEVJZzY3Q2s1WDZTTURFUWtLVmdHOWtSSkVBd1lQUHdjMktISzRBaW5IOFNiSWdVSGdaTXdNOFAyeHdHRERqRzRRam1zTkRqWVFrd3NvMHR3REdFUXdMdG9nUGQwdDQ3MDkxVitiNnE2cG1lM3A3VkNvbndNays5TTlOVDNWM2Y5ZnQrMzFjbHNXYk5HbXpldkJsVHBreFpNbjc4K0VzOXoyc1hRb0JmU2lsSUtjSGZ0ZGJtWFBwejh0MmM1L0Y4emc2Qmh2dXduNi80R1NPZFM4NkYzK041cEY3Yk4yM2F0S3lycSt2QmpvNE8rR0VZNWxwYlc1K1lQWHYyb3VibVpwREErUC8rWWtQRnIzSzUzRUtHZklEa1BDK0tvak5aNEt0bnpKaXhpTFhUMzk5ZjBWSXNPQTJxWEJ4YnUrYWR4L0JEY2puSUYxY0JOOTBLMVRRVytvYmxLRXliQWU4Z1dKWUY0UFBwSTNtZVB5ZS94OWZ4L0htdTA2Wk5XMHlXL2tjVytLcDhQbThtejBMR3dtUzVOTDhuM1pnL1N1a2psQUxSVCs4SEx2d3E1TVFKaUxidmducms1OGgzZGdHSEhXWWNHeENqRWpqdGxyRUFOV0dUR3B1OEptbmQySEI4amUvN0dCb2EraWRaS3BVbThraytZcXNsajFqSTdQaGdpZWthcmVDVHNONkNoZkMyN1VSREdDSVhSaGc4K3l3RUJ4REhTYzlLQ3A2bGxLb1Jxci9IODQvbFkxa2xEZTVOQm4vNndscUxpc3diQ3hMT2ZGcTh5R3FaUGVXN044RjcrZmNJTjNYeG96KzBzT25uWnMydjN0eVR5bkRDOThyNGduUXN4UEdRMUdMc0FjTXN3UEhiMUFoSmlNL3h6RmFWWDc0SURUeUJwNTlDZUJDQUtPdTU5Y0lnNjdkWVBsa3YrRG5ZaytmcmFWZTRDQTNQUGh2NnlWK2E3em0yOHFIdENIeFN4T3JuY2FDNFAreVpLYmZPQ3Iyays5ZU16VUs1TkNxT3BFbkI0eG1wbHl4QkdKQnRuMTFaZ1NmZGNRVDB1eHVnRG9LRnN3QnFKR1JQajZ2RWRUS0JwNjBhSTE2ZGVIQlBzK1A5dWZPQVNZZEJYMzY1c1RqZjJKczZGWUpJalRoSStUWHQxdlhBTk11eU5RSW5mYnhlRE5kWHZZUlBZOWx0NVIwL1FMVHVYZUIzdnpkQ1I0VWM5STVkQjhYQyt4dTdXV05ObW8wMUZ4OXBnRXJtNEJyTHhnOTBzTTl4Szg4OEUyclNKSVRubld2QXk1czRFVkxwajBUUU5NWGRGM0JWTER3cUs0NkdJYmtqOTU4L0I3cTZvRjcvRS9USkowTkVBV3Z3WTZXYVNTeVNTUlN1cDdGNjJxczVyOW10S1F4T25ROXg4cWtvTEZ3QVVBNk94bzRGU2dNZmlaV1RYamxhd1dXNnlzaHlqNnp2V2VlaXlDbnNzVWNSN3R3TmRjT044Q2Exd3o5b3NIWGc4UzRQNGkyUkV4N3lUQ1RiRDBGNHk4M1FmZjNRcFJKVWNjei9tVkRwakpJMmpCeXRLNHpxZ2RMZVVPb0ljdWszSVk0NkNtckxWZ05nMnQ0by92U3hXTmU0ZEpLY2oxYmdOQ0ZKVzlxbnYwVTZDbGRmalNBTUVGNi8zTkRMY3FRT0toREY2VE5yWG1sS09hS0ZEeFM1SmJrMjMxanQzbVdpVjE3emJlaGZyWWIyUFZjbWZqeFdOZ1FweWFhUzJoaWhaVkpUZTJZQm1GSVJJa2wxNkN1dlFSeDlwS0dZcGRPb2RPemNnR0RxTkFqS3paNWswY1dIdHU2SE5ZcjhLTFNwS1poTnlmL0tXdml6WnNONzlESEk5blpJK2h4MGQwTzVUc25Ia1k5bHVtMlN0bll5UjZlTGk3b0VoTWZ6bDNYcm9DZE1OTUo1Yjd5T1NJZndQemtEb3FjUFpUcGJEc3FVdnZWK3hXeFdNWk8yZUZiaFV5a1AwMEcvTDdEYVo2eG9LN1RxZXA5OUcrSzBCWVpMNXlhMFFYWjJJdHE3bDBySFF4RzgreTdDWE41MFRBNmszN1cvWGMrYTRpRkc2M3BWVWpxMnN6UVorNnBjL1lKMTY0WHpiZVZFWDNLSGZZTFkxMmFFVFhuSW1UTnB6RXRHR2FxU3N2WXRRRllUcng1S3A3M1VBdW8raVBkb0FDSXp1VDl3TjNSckd4VVRoOE00dUdDaEkySmVrNEROVzRGVC94eHE0U2tvLy91dEtIRmx0UStBRkM1TWRDcDhhZ3lUb2JpMFFtUlNjL1UwbHRVNUhCYjc5SStacFhJUFZzODlEMXg4cVNQczFtTWlUZnkzSENEbjV5QmUrRFg4cFZkQlhyMFUrTnhub2JyM1ZLd2RKWVRSQ1Z5UXZtL2FTWm9PRkFxVTdJdFFEUTEwRkNrcldDRFVraTNMUjdhWCtpTjFFWkxuMHk0VnR6OHJkYVpIbmhKUk92SnlVSGYrMEV6Y1g3ckVsSTBRdHNuajhhVHkwcEFRdzhodXVRMktsZklYQ3hBZGVRU0M3MzhQM2pubmtWS0dFQXdPd2dzaitIUkVLb1FtMGlLMWNJcWo1MFloUFZNaUlOcXFKMHlBWU1GTkg1MnN1SGVYeVJSWk12bFpMcHZGVnRMbmsraHQzMWtDendnVC9mTTE4T2NkRDdTMW1rbklPRTc1dHgwN29RbXg4WWVYRWE1N0QxR1o3RWtXOHpvM0FuOXpBVEQyN3lCYjI2SENrSzRKRWUya3laZktsVFRHN3dWM1A4OGRLdDhJUGVkWVJGKytBUHFLeTZBSUlNV09IY2JxenM5cmlVYzlzbEdQZ0ZkL1orTGhWWHpQdU5XVHY0RFl0UnR5NHlaTEo3ZnRRTzdaWjZBZmZ3cjZoVjhCSkhEa2xDQUtPZmhUcHlQcU9BYmluUFBoRVdwSFAvMEpncTROeHZXaWVYTlFKbnBhL05TbkVaRG5ZUGQyb0xlSFBDQ2lYRTdWV1U4L3NHMGJWT2Q2UkMrK2dOeVNxOUQwSHcraSsvSEhFWTV2aFVmRmkwcko1R2ZscXl4S2xueUhpMWxETUZob21yNW1GMmR0ZitVaXlEbHpBQkpjWHJzTXViZmV0Tlp0b29wcC9tZmdmKzUweUpQK0RHSldCMFJycTduR1R3TGVEZitHNE9HSEllNjdCL3I1MVJBMzNRSjkvdG1JNkw1cThSa21SRUozNkFSUjVkYncwUHEzMFR6ckNCUy9mUzM2N3JvTHVyL1Bwc2tFMXZpanlXZnAxaWRyRFJSREl1Y2pJS3Z3VFl3TC9zczF4Z0xpdGRlZ3o3c0E4amh5c3h0dmhQenJzK0RObm1WNWRRYktWaGRpT0U5U21YbnV1U2pUb1Y5YkMzbkhIWWgrY0RlODIyNjNYbkhra1JBbm5BaWNmQkx5Ujh4R09HTUtSTEdKWXAwOGRjVnpHT0l4YythWk9SbTdHQytzdHE3OGRNN0tkdC9Zb3NMd1pGRm9JTE5ZaTRvMy9nZjZ6anNobjNnYzZPeEM5SmtGRUJkZENHL1JGNkFtVDdiYzJsbFJERitvcVhrM24zZ2V4TDU4QWlROTUzZ0VQN3dUaWc3ODVnWElGU3NSUHJNUy9nUDNvWGovdmVZNkg5WE13R0tWcnJnU0E1ZGZDciszMTl3blZ1YXdHRTYzZVdySUNEdXRDZ2p5S2NZYW02d2JQdk0wNUxldUkvRDVBM1RSUXpCRWlwZzNGLzdxVlpab3hOWlVHcmJYSjBiRmlreDY1SlFTc3VDRXpPU1RrcnhJblRRZmdnNjk3SHFFclBRMzN3UTJiQURlZVEreWZ6ZkN0b2tvbjNnaTlOemo0ZlVQUWc4TUdNNk9laTZkQlZDVmMvVGdvRmlBM3pBR2hSVUVRRmRlQWF4ZkQwMFVVYTE2RHZyZXV5RHVmd2o2c2Y4eXNlVUhRd2lGejZ6R0hQeFF0Wi8xdHVsM0MrdVhlbkRJemN1RkZPWGc4T2hqb09qdzRyenY4cmRIMUJVVVhoRXZEaHJsNmVFckQxbEVJNmFYNXZjODVWWVNGc3YrRmQ0WHZ3QlJMa005OFJTaUxWdE1Mc3lSc1BLZWV3aHhweUpYS3RFa1BBc203b0VxZzZpTWRGUlpVelhBdFd2NEc2em9JekFpbC9Yb2lMcUptKy90Z2Q2OUJ4NWxCMFZjUUR0Z3pTcUEvSkZvb3hsRUxzbHVYUHpaUThDMTEyR0l5SUg2aHl1Tk52MlhYb0kzZnlIS0ZMUHFhMTlEZ2F1ZldLc2ZjaUU4eWVPenVobW1Cb2VvMGtwK0VybTlFZ200eVFqUFlXdExXWVRjUEZBNGw5bXl6YVFFL1FuaXhydTJvM0RqcmNpZmNncWl6NThHL09RQmg5U1JOVXBXVVhFQXEvN0RLQzlxVjBqTTc2bnY2Yld5K0xNL1lqcUt0ZGcvZ1BKbEY4TjcvVlhrL3VvYzIzQm5VbkhaWllodXY5MENWSCsvWVZwcEFkSXI4dnZiMWNpeVZGYmxsQzUwMHQ1UjQ5STF2bzdFQTJLeVFjTG9jUzBZdlBjKzVFNWJCRy85V3hoY2REcWlFMDh5Z09iM1VTeHhRYURWc0xiTlNEdHY5bFVHeGhPdndaTlIzQ09aNE5NOHd0ZmF4a0ZNS0xSTC90S1ZZd1pkZVZ0RGR6ZDBnYXFTQzgrdllrbFBEOGVFUVVScGJpU01hN21sdmt6VUg4MENtTmE2bG80a3RvZ1l3eVFBVVNmaXZWSlp1VTBXT3JIWklyNm43NDhiUzM5Y0ZTdHBRaXljOENxYlZtb1d3Z244R1IzZEdxc2hIOExrT2l1c0ZGN0NrZzVTak9DVlRWdm0vbFhqNkdIN1hXekxSMWZHbURKUFZnRktPMkxDS2N1TERhTGR2Q3VscXIyZTh6bVA1Vnp1ZTBXaXR5M3dONzI2RnAxbm5Ja216bDFVbGttUk14MTF1M2JqbWdOc1pFOVdPaUw4WVA3Tml5bWJBemJ1MW9pNjNlbzBqUnk1V1Jzbko2VmRXT25xZFF5TlJtam5rVllKcWlKa0JUOGlCMVJrbUw1OEFUdmZmZ3YrNFRmZkFyVnhDOHJUWnFKTXRTb3ZiL29POW9YcE40a1UvYlBhWlg1YWFVZXg0RzdwMUpxMlZuTHJMYklxYmtWaU8xRmtrQjFVTEswZEtWWVYzNDRiRHJGM2FhY0FPSXZIdk55SVRrQWEwRVRWK25XWS9OQWpFTThEZStjRExSV3BwQ09HSW1FeTh5NTUwMVBWWEVaSXowNVd4dXIzN1ZqcDIvTThNVTlXT0hMMWU5Szh1dGJVU2xXWFpGaElvcEgyWGJrQTFmYXpwVy9WOFhIMzA0eU42VmRVNDBlcmdHNi9yNURIVUNsQXdTUnZpWWhMUHA0ekF4RVRlSTQ1bG8yRklDNXRER1NFNG5FMmhwV1JnK05JMlVqanNPRHIzTDFZMXdZWUUvV3p1YWVicC9sZFc2OHhKNklnaGxqNld6QnV6WkRFUFRIdWZQQVk0eG5jQ2VIdUMxVnVPcUVRNWdQc3ppWWtWYlZUV1NMRzZETmxZcU1xU1dsRmV0WndqRi9tcys5Nk1kYkNpb2s4STJMc3dTYkd0ZWt4bFlsdWhwdTJWSXpIb2hmcG5vVkRKMEsxTkNFWUxHSG8vVTBtWlBnNUlVMCtSdzl2YkI0SFRHaXp6WG1LdGY2ZHUxRGV1ZDArMXQxSEVhbzJIbjQ0Y1dSV2ZtakFreWNnNlA1d3FWQklGOGNzWUk3dnhRVUlIYXdnbzlrb0poNXVteUZkS0ltZkdZcW1oQ3UzbEttVVdOQTRrazBVS2VmQ3hrVUp2SHIzb056V2pqZVdMVU5BcGFPWVRFSU9oZ2hmZVJudFQ2L0FyUGM2TVhUc01YajlHMStueVl5QkdOZU1zQnhnc0hNREduNnpCaDFyZm90RDJ0dW9TQ2hqeDRKVHNXSGhaODF1UHQzVWdLRXhCYlM4L1M2T3UvMUhSaUhDa0p2SVd0bDRQZWRwVjJ4bzVhSkJ1VHJZV2JlQytQVG55VnhoYjVsK0NYMWZCemxmbDNJNVhTcm1kYm1oUVpmR05PcWdxVW1IemMwNkhEZk9IcTJ0dW56SUlUcVlPRkVIN2UwNm5EeEpsOGlmaDA0NFFmZVJDdmtZMkwxTEQ5TDdkanArL2VvcitoMjZqNTQ3VHcrNDMvdDVEQjI3NkhpTGpwVzMzS28zRmhyTS9BZStlNVA1bmNjTnVYRjcxNzZtK3d0RmVuYUxlVzQwa1o3ZjFxYWo4YTA2b0RrRnpTMjYzRFJXbHh2SDBKeUxPaWpTa1NNWlNCYVdpV1dMU01hbjgvN2V1TXRWeWJreHpKdWtIbFhoSDQ2dldtNGFuNCs0VFdncFpSQVluc29Wako0NUE2SjVMTnArK3pzY1AyY3VtaSs1aE56OWZhdm0zYnZnZFJ3RlNTN2FlT2tsNktCVG4xcTZCTHN2L1licFQzdFUrUmpZdlBmSEtJeHRRY1BVR1dnOGF6SEVoQmJiRVRXdTZSQytBbWJXb2pidktoZmZEcmtkbjRndDdBaVNaVWhSWEtsd25IR1JMU3hDTWxEb3VKQTNJQkdSKzBjT0piV0pFMGxIWlBaZEJoZ1RsSWlnOUdIYm80K1lHR3laT1oydXQvc3hCYmRScWZqd05tK0cvNk03TUxUMG02QW94cVN2WGdUZUNTS3BsbVo1U2xzK3dQYStIdXg4ZndNR0tQWjlBZzR2bmpDNXV6bmlBc01odWNjY2hXUFMxTklhTloxYXh4VjhXMlU3OEhHMDB1elhpT0ZmdUNZNHRFdXhMbThxMjZIU0RoQzRDYzhXSGlLeDM1eDBHTFpPeVdINjMxK01RM2p5VDYxQXpyTXRYTU9JeGpSU1RSMUM5bmJEZS9FbDlIT1BiL1lSRnFSNis4MTlQdmpMeFZqWFdBQU9uWUxwSzUvRnJKODlTR1ZxczdVYTE3eHgvbmE1bk5IR0FHTGtlRUpxemNxV2xOemlnYW9FZHMzbWxrcVVWNG03aW9TOUVhY2JBKzBxVVdkU1ljNEYrYmcyZU8rOGc5bDAxeWxjVVYyL0hMbGZQZzAxZDA2RlpRVmdhOWpuN2cwSGpDTEd1RXFMOHFMeGxNbEhINFhKeHgyRGlES0YyUEVCZ252TEVNV3dVdGhYWE5xc0NDWmNYS0F1M1RNV1ZnNTd6YlZlZGF5TU40bkhRbXZiUXBIa1drWm9wMkhodUluWmtGb3Nva2phUDNiWmRVRG5adlQvOTZzSS8vaEh1N21VcUoxWk5xVWI1ZnNHZ2Y1ZTlQS0s2dnlGcEJ4NnJYM0Zva2xUd1l3djNmZGo1Qys1QW1KOE0wVU0vZExTWWpxbFZZNXQ4b2R0K0NscjNTekxKZzNJMS9xeDFpTTV3cDUxNTk2U0hWNXFteFpFVEN5cXUrZk5tZzlWVmVYbDF4dTNOQ0RHeXlEY2VnbVY4WlZCMHV3R0lqUmxTamNEWC9vU1B2bTkyOEI3ZlBUeTVWWnhidlZDOEg0Mmp2czllK0RsR3dBaVNOcFpVamhTSWh5R0tGY1hqVlNJeFh6TEY3WSt0TEdZSVhKc2FaUFFLNHRta1dGWVpvSzgyNXdGbzNITWowS3lSQ052S3UzcWdqOXVIRTBtc0IwS1J5bWp0b2tJdDJ4RVBsZkFUUHJlUmlBMzhMZGZSOFBLWjh6dkFWMXYya2VURDdjdXlMMDBZbWVtbHhWcDE4aFRGbGhEUnlVOW1MVXRqRmk0bUQ0ejk2OUQ0bHM1UWtEbHV2bTZycEVqbm9yaGl0SjZPUVdQQVhLbW9IdDZrYi9wWnZLNklZVDlnOFlpeGlzWXpJdDV5TzFiSWEvL0RzWVhmSHg2d2lTU3JJVHluOWFpL0l1bmtOKzRFWXJTR0FZR29WZXRScDdLT1BYU0dtaGlXTFlZc0JsQnh1VmkzUHB4cEZsb3NZOUdnR1YzQVNsTlBEcDVjdW1MVzdia2VZRXFFTDRyQlBUdytpMVIwMG1PUkJPUThlcTNzR2tpaU15a29vWWlWQzV2VWhmM0wza1pSZ3lWb0VwRHd6YVZtRHVRVlUyRG4vbDVkdy9pLzBmamNRK2N6M08rVjNacUtybTh5eHk4M3FZZ0VYZm9CWEowZlpubStIQlRVK0R2UE9yb3V6ZDJkMTgyWmFBZnhHVmd1TVFJdTEyczQ5dnVRcnkzMzNCcUZrellnbCtTNEtCOEdxYzA0ZjZyQjYvdG1vckxMRXduT3BOa1dlbUlqeUJYOTEyYTBhUWtMamhrcGZ5ckZnTGFOZnRIMnVnYTgvR0E3dnNPZ2EyLytBenRiNXd3L2x1ck9qb3VYanhZOXRwNmVvZ0Q5NXBKQjNGTldtL2xzTExVSDllNnd0WEt3cldNclBjbml1WXFXcnFPUm5XVGVaeE50T1BGcUttWkVYY3ZHRHU0K2FCSDN0Y2IvOWVFZ0VrUzVlNnRCSkFydG03RFNlZGZjTHJmM0RwMjk1dEh6anE5cjN2d3p1a0RwUW5OZWM4c1plaFUyWi8xOHVMZE90cFdKS2JFRUtJYVp5SnU4ZFRMRTBnSm5PaFl1RW1MZUtVeWtXRDFpSHZiZE55dE51VmhEM2xicHhTcSs0THp2akkwZmVycS94VmdBUFl3MVozL01Pa25BQUFBQUVsRlRrU3VRbUNDXCI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5maWxlLnRodW1ibmFpbEJhc2U2NEltYWdlID0gXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQThDQVlBQUFBZ3dEbjhBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1UTTRJRGM1TGpFMU9UZ3lOQ3dnTWpBeE5pOHdPUzh4TkMwd01Ub3dPVG93TVNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVGNnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pBME9FRkJNVVk0T0RVd1FURXhSVGRDUlRCRU9EQTFSVGt3UWtZd1JrRXpJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPakEwT0VGQk1VWTVPRFV3UVRFeFJUZENSVEJFT0RBMVJUa3dRa1l3UmtFeklqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNRFE0UVVFeFJqWTROVEJCTVRGRk4wSkZNRVE0TURWRk9UQkNSakJHUVRNaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk1EUTRRVUV4UmpjNE5UQkJNVEZGTjBKRk1FUTRNRFZGT1RCQ1JqQkdRVE1pTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo0eVA1aWVBQUFGRDBsRVFWUjQydXhheVVzYlVSaC9pYVBHZlFzS2VyR3V1Q0FGTDU0S0lpcDZzVklFZTVNZVJKSHFYOU5lbENxMVNDdUZHb1BpVXBlRG9oNFV4WlBlM1NPNGErTFc5M3Y2aHNtUW1Ka2tzMGp6d1RDVE9HYSszN2Y4M3ZkOWJ5eFRVMU5WYTJ0clB4NGZINk9zVnV1TnhXSWg5TnBLbm9SZVB0cnBPWjRlZC9TYVNFWCtPVmk1djcrMzBWTjBSVVhGcCt6czdQN3I2MnNTRlJWRm9xT2pTVnhjSEx2R0lRZ0NnWDVTRWRiWDE0ZjI5dmJlSkNRa2VQMUJmcU12VVhLUEVzSHZ1TjF1c3JpNCtLMnFxaW91THkvdjY5WFZsYUwvRlM0dUx1eXBxYW1pTXJCcXVDeXJSS2pYMlJrR3ZMbTVJVXRMUzErb3BUMzUrZmw5U2tBSWNOUHQ3UzBEZ0I4N1B6OW4xdUEvckpYQVNIaEdjbkl5TytPenpXWWpDSitGaFlWZWZGZFVWTlFIWFY0RThCeno1T0hoZ1ZtZ3JxNk9GQlFVRU9vWlRRSEV4c1l5WTAxTVRMQm54Y1RFTUQzaTQrUEo1ZVVsbVp1YjY2WGZ1Y3ZLeWdiUHpzNzhBK0F4Q0FBMG1RaDFIY25OemRVbGZPRDUyZGxaOW14Y3c5cndDTUlKSUthbnA3OVRFSjZTa3BKZnA2ZW52a09ReHpzSGNYZDNwMXY4UTJrOEQ4clNjQ0hsNWVYazRPQ0E2Y0ZKWld4czdPZlcxdGFIakl3TW4yRnRKU1lRSkd0aVlpSnBhMnRqSUhaMmRsZzRKU1VsTWNNNkhJN2ZtNXViSDlQVDAxbW9nVkk1R0ZNQTRPUUI2ZXpzOUFJQllGQjRkSFIwaUZMK2Uxd2owZUU5MHdDUVMxZFhGNkZ4VDNaM2QwVVFZRXVuMC9sbmRYVzFFYmtLcnpFbTA1UHpsUXFzREJDRmhZVWlDT1FFd29sUzdKakw1YXBKUzB0N0FrQk1LckI0ZDNjM28zUmFLYkR2a0JPdy91VGs1Ti85L2YxM0xMSE5vQ3hmMUh5QjZPbnBJY1hGeGVUbzZFZ0VnZlZxWkdSa2h1YkpXOU40d0Y5ZEJSQWRIUjJNWnJHZ2dXSlIrbmc4SG9HeTAwL0JETXFucEtRdzFoa1lHR0FLU3ZNU0lZTjRoNGNBQm9KN3NPRFJGVHhiWEltTlNHWThFMlVFUW9MR05ObmUzaFpEU2VvUnprU29sYUE4a2h4bmxDT0MwV3lUazVQRGxFUGREMnZMZXcxZUhlTUFLSURGZlJ5Z29RQmcwZmIyZHZFenJPb1BBSm9aSFAzOS9XUmpZNE9GbGVFQXVCZDhYZnNUbEJKU29LWmRCL3dKaWo5cGZydzZBSEs2ZlhVQVRGbE8vOWNBQXJJUXVxWGw1V1ZHWlVwWUlweE5EbHBiMmhPSEJnRDF4L0R3TUFPQWxVOHZRZkdHQVVQSUFHQjF1OTNPQUlDRDlXUWJWSjZCV0NnZ0FDemJzSWJlSGpnOFBDUXZqVk1VQTBBbjFORFFvSGlsREpjZzk5Q1JoUXdBWld0emMzT0VSZzJsMFpXVkZVMUNpQSswMFBkcUJrQkxHa1d6M3RyYXFncUF2UEZTUktQby9yV2dVVlNXR09hcUxiK2xJQlRScU12bDBzUURvRXFFa2Fxa2ZSN0ZLd2FBZHEreHNWR1RITUE0RVJNNHRYMjBkREVMQ0FDcllWTlRVNFJHRGFOUnVIbG1aa1pzckxVVVRCd3dRcStwcVFrdmdQSHhjVjFxb1pPVEU3WkRGRllBc0hwbVpxWXUxU2dNQk1vT1ZLV3FwbEhRblY0ZThGVkNoMXlOMXRiVzZwSUQySGtKNUlHZ3F0R1dscFlJalJwR281Z2V6OC9QQjcwUzgrYThzckxTdUhYQTZYUUduY1JvUjZ1cnE4TUtRRlVwRVdwVDc2ODVEMFZVMCtqeDhYRkFBUElOQ2FrSGxMNDZvN1FhVlJWQ3NCNTZZbmtWS0ZkVU9zK1hqcjlSTHF1dE9GWG53RXZiU3lpbjYrdnJJelFhQWVBUFFMamVlelBjQTN5M1hNL3BXekRpdDZtSDhqaXc0WXo2UjhsY1VsZExVOTJ3RlF1OXBIVHVCUUFqRGpRdkRvZEQ4NWYrZ2wzQUFBSmJySnlxQmVtWUFtZHM1OE5OWnN3Tkh1WmVJVVFSM1dPYkgzei9Hc1RqOFlnclA2b0VvYlMwOURPTnEwR2J6WGFMVjQ5ZkNmbFkzRzUzWWxaVzFzSS9BUVlBL2FPeG1Qekk3dVVBQUFBQVNVVk9SSzVDWUlJPVwiO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLmZpbGUgJiYgdGhpcy5maWxlLmZpbGVEYXRlKSB7XHJcblxyXG5cdFx0XHRjb25zdCBkYXRlRm9ybWF0ID0gJ01NTS4gRCwgWVlZWSc7XHJcblx0XHRcdGNvbnN0IHRpbWVGb3JtYXQgPSAnaDptbTpzcyBhJztcclxuXHJcblx0XHRcdHRoaXMuZmlsZURhdGVGb3JtYXR0ZWQgPSBtb21lbnQodGhpcy5maWxlLmZpbGVEYXRlKS5mb3JtYXQoZGF0ZUZvcm1hdCk7XHJcblx0XHRcdHRoaXMuZmlsZVRpbWVGb3JtYXR0ZWQgPSBtb21lbnQodGhpcy5maWxlLmZpbGVEYXRlKS5mb3JtYXQodGltZUZvcm1hdCk7XHJcblx0XHRcdFxyXG5cdFx0XHQvLyBjb25zdCBmaWxlRGF0ZUZvcm1hdCA9ICh0aGlzLmZpbGUuZmlsZURhdGVGb3JtYXQgPz8gJycpICE9PSAnJyA/IHRoaXMuZmlsZS5maWxlRGF0ZUZvcm1hdCA6ICdNTU0uIEQsIFlZWVkgaDptbTpzcyBhJztcclxuXHRcdFx0Ly8gdGhpcy5maWxlRGF0ZUZvcm1hdHRlZCA9IG1vbWVudCh0aGlzLmZpbGUuZmlsZURhdGUpLmZvcm1hdChmaWxlRGF0ZUZvcm1hdCk7XHJcblx0XHRcdC8vIHRoaXMuZmlsZVRpbWVGb3JtYXR0ZWQgPSBtb21lbnQodGhpcy5maWxlLmZpbGVEYXRlKS5mb3JtYXQoZmlsZURhdGVGb3JtYXQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b25DbGljaygpIHtcclxuXHRcdGlmICh0aGlzLmZpbGVDbGlja2VkKVxyXG5cdFx0XHR0aGlzLmZpbGVDbGlja2VkLmVtaXQodGhpcy5maWxlKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGRlbGV0ZUZpbGUoZTogRXZlbnQpIHtcclxuXHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG5cdFx0aWYgKHRoaXMuY29uZmlybURlbGV0ZSA9PT0gZmFsc2UpIHtcclxuXHRcdFx0dGhpcy5maWxlRGVsZXRlRW1pdHRlci5lbWl0KHRoaXMuZmlsZSk7XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0U3dhbC5maXJlKHtcclxuXHRcdFx0XHR0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/JyxcclxuXHRcdFx0XHR0ZXh0OiBgJHt0aGlzLmZpbGUudGl0bGV9YCxcclxuXHRcdFx0XHRzaG93RGVueUJ1dHRvbjogZmFsc2UsXHJcblx0XHRcdFx0c2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuXHRcdFx0XHRjb25maXJtQnV0dG9uVGV4dDogJ0RlbGV0ZScsXHJcblx0XHRcdFx0Y3VzdG9tQ2xhc3M6IHtcclxuXHRcdFx0XHRcdGNvbmZpcm1CdXR0b246ICdidG4gYnRuLW91dGxpbmUtZGFuZ2VyJyxcclxuXHRcdFx0XHRcdGNhbmNlbEJ1dHRvbjonYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeScsXHJcblx0XHRcdFx0ICB9LFxyXG5cdFx0XHQgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRcdGlmIChyZXN1bHQuaXNDb25maXJtZWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZURlbGV0ZUVtaXR0ZXIuZW1pdCh0aGlzLmZpbGUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0ICB9KVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgZWRpdFRpdGxlKCkge1xyXG5cdFx0dGhpcy5pc0VkaXRpbmcgPSB0cnVlO1xyXG5cdFx0dGhpcy50ZW1wVGl0bGUgPSB0aGlzLmZpbGUudGl0bGU7XHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0dGhpcy5lZGl0VGl0bGVJbnB1dFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDAsIHRoaXMuZWRpdFRpdGxlSW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGgpXHJcblx0XHR0aGlzLmVkaXRUaXRsZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuXHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblx0fVxyXG5cclxuXHRvbktleURvd24oZTogS2V5Ym9hcmRFdmVudCkge1xyXG5cdFx0aWYgKGUud2hpY2ggPT09IDEzKSB7XHJcblx0XHRcdHRoaXMuZmlsZS50aXRsZSA9IHRoaXMudGVtcFRpdGxlO1xyXG5cdFx0XHR0aGlzLmZpbGVDaGFuZ2VFbWl0dGVyLmVtaXQodGhpcy5maWxlKTtcclxuXHRcdFx0dGhpcy5pc0VkaXRpbmcgPSBmYWxzZTtcclxuXHRcdFx0ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZm5Eb2N1bWVudENsaWNrLCB0cnVlKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoZS53aGljaCA9PT0gMjcpIHtcclxuXHRcdFx0dGhpcy50ZW1wVGl0bGUgPSBudWxsO1xyXG5cdFx0XHR0aGlzLmlzRWRpdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgZG9jdW1lbnRDbGljayhlOiBNb3VzZUV2ZW50KSB7XHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0Y29uc3QgY2xpY2tlZEluc2lkZSA9IFNsaWNrVXRpbHNTZXJ2aWNlLmNoZWNrUGFyZW50Q2xhc3NFeGlzdHMoPEhUTUxFbGVtZW50PmUudGFyZ2V0LCAnc2xpY2stZmlsZS1saXN0LWl0ZW1fdGl0bGUnKVxyXG5cdFx0aWYgKGNsaWNrZWRJbnNpZGUpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRpZiAodGhpcy5pc0VkaXRpbmcgPT09IHRydWUpIHtcclxuXHRcdFx0dGhpcy5maWxlLnRpdGxlID0gdGhpcy50ZW1wVGl0bGU7XHJcblx0XHRcdHRoaXMuZmlsZUNoYW5nZUVtaXR0ZXIuZW1pdCh0aGlzLmZpbGUpO1xyXG5cdFx0XHR0aGlzLmlzRWRpdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgb25DaGVja2JveENsaWNrZWQoZTogTW91c2VFdmVudCkge1xyXG5cdFx0dGhpcy5maWxlLmlzQ2hlY2tlZCA9ICF0aGlzLmZpbGUuaXNDaGVja2VkO1xyXG5cdFx0aWYgKHRoaXMuY2hlY2tDaGFuZ2VkKVxyXG5cdFx0XHR0aGlzLmNoZWNrQ2hhbmdlZC5lbWl0KGUpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2xpY2stZmlsZS1saXN0LWl0ZW1cIiBpZD1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX3t7dXVpZH19XCI+XHJcblx0PGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX2ltZyBncmF5LWJsb2NrIGNhcmRcIiAoY2xpY2spPVwib25DbGljaygpXCIgW25nU3R5bGVdPVwieyAnY3Vyc29yJzogKHNob3dQaG90b0dhbGxlcnkgPT09IHRydWUpID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnIH1cIiBbc3R5bGUubWluSGVpZ2h0LnB4XT1cIml0ZW1TaXplICsgMlwiIFtzdHlsZS5taW5XaWR0aC5weF09XCJpdGVtU2l6ZVwiPlxyXG5cdFx0PGltZyAqbmdJZj1cImZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2VcIiBbc3JjXT1cImZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2VcIiBbc3R5bGUubWF4V2lkdGgucHhdPVwiaXRlbUltZ1NpemVcIiBbc3R5bGUubWF4SGVpZ2h0LnB4XT1cIml0ZW1JbWdTaXplXCIgLz5cclxuXHRcdDxpbWcgKm5nSWY9XCIhZmlsZS50aHVtYm5haWxCYXNlNjRJbWFnZSAmJiBmaWxlLmJhc2U2NEltYWdlXCIgW3NyY109XCJmaWxlLmJhc2U2NEltYWdlXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1JbWdTaXplXCIgW3N0eWxlLm1heEhlaWdodC5weF09XCJpdGVtSW1nU2l6ZVwiIC8+XHJcblx0XHQ8aW1nICpuZ0lmPVwiIWZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2UgJiYgIWZpbGUuYmFzZTY0SW1hZ2UgJiYgZmlsZS50aHVtYm5haWxVcmxcIiBbc3JjXT1cImZpbGUudGh1bWJuYWlsVXJsXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1JbWdTaXplXCIgW3N0eWxlLm1heEhlaWdodC5weF09XCJpdGVtSW1nU2l6ZVwiIC8+XHJcblx0XHQ8aW1nICpuZ0lmPVwiIWZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2UgJiYgIWZpbGUuYmFzZTY0SW1hZ2UgJiYgIWZpbGUudGh1bWJuYWlsVXJsICYmIGZpbGUudXJsXCIgW3NyY109XCJmaWxlLnVybFwiIFtzdHlsZS5tYXhXaWR0aC5weF09XCJpdGVtSW1nU2l6ZVwiIFtzdHlsZS5tYXhIZWlnaHQucHhdPVwiaXRlbUltZ1NpemVcIiAvPlxyXG5cdFx0PGkgKm5nSWY9XCJhbGxvd0RlbGV0ZVwiIGNsYXNzPVwiZmFzIGZhLWNpcmNsZS14IGJnLXdoaXRlIHRleHQtZGFuZ2VyXCIgKGNsaWNrKT1cImRlbGV0ZUZpbGUoJGV2ZW50KVwiPjwvaT5cclxuXHRcdDxkaXYgY2xhc3M9XCJmaWxlLWluZm9cIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX3RpdGxlXCIgW3N0eWxlLm1pbldpZHRoLnB4XT1cIml0ZW1TaXplXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1TaXplXCI+XHJcblx0XHRcdCAgPGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX2Rpc3BsYXktdGl0bGVcIiAjdGl0bGVEaXZSZWYgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIiAqbmdJZj1cIiFpc0VkaXRpbmdcIiAoY2xpY2spPVwiZWRpdFRpdGxlKClcIj5cclxuXHRcdFx0XHR7eyBmaWxlLnRpdGxlLmxlbmd0aCA+IDE4ID8gZmlsZS50aXRsZS5zbGljZSgwLCAxOCkgKyAnLi4uJyA6IGZpbGUudGl0bGUgfX1cclxuXHRcdFx0ICA8L2Rpdj5cclxuXHRcdFx0ICA8ZGl2ICNlZGl0VGl0bGVEaXZSZWYgY2xhc3M9XCJzbGljay1maWxlLWxpc3QtaXRlbV9lZGl0LXRpdGxlXCIgKm5nSWY9XCJpc0VkaXRpbmdcIj5cclxuXHRcdFx0XHQ8aW5wdXQgI2VkaXRUaXRsZUlucHV0UmVmIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInRlbXBUaXRsZVwiIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCIgW3N0eWxlLndpZHRoLnB4XT1cIml0ZW1TaXplXCIgLz5cclxuXHRcdFx0ICA8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJzbGljay1maWxlLWxpc3QtaXRlbV90aXRsZVwiICpuZ0lmPVwiZmlsZURhdGVGb3JtYXR0ZWRcIiBbc3R5bGUubWluV2lkdGgucHhdPVwiaXRlbVNpemVcIiBbc3R5bGUubWF4V2lkdGgucHhdPVwiaXRlbVNpemVcIj5cclxuXHRcdFx0ICA8ZGl2IGNsYXNzPVwic2xpY2stZmlsZS1saXN0LWl0ZW1fZGF0ZVwiPlxyXG5cdFx0XHRcdDxkaXYgKm5nSWY9XCJmaWxlRGF0ZUZvcm1hdHRlZFwiIFtzdHlsZS5taW5XaWR0aC5weF09XCJpdGVtU2l6ZVwiPnt7IGZpbGVEYXRlRm9ybWF0dGVkIH19PC9kaXY+XHJcblx0XHRcdFx0PGRpdiAqbmdJZj1cImZpbGVUaW1lRm9ybWF0dGVkXCIgW3N0eWxlLm1pbldpZHRoLnB4XT1cIml0ZW1TaXplXCI+e3sgZmlsZVRpbWVGb3JtYXR0ZWQgfX08L2Rpdj5cclxuXHRcdFx0ICA8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHJcblx0PCEtLSBXZSB3YW50IHRoZSB1c2VyIHRvIGJlIGFibGUgdG8gY2xpY2sganVzdCBhIGxpdHRsZSBvdXRzaWRlIG9mIHRoZSBjaGVja2JveCBhbmQgc3RpbGwgaGF2ZSBpdCBjaGVjayAtLT5cclxuXHQ8ZGl2ICpuZ0lmPVwic2hvd0NoZWNrYm94ID09PSB0cnVlXCIgY2xhc3M9XCJzbGljay1maWxlLWNoZWNrYm94XCIgKGNsaWNrKT1cIm9uQ2hlY2tib3hDbGlja2VkKCRldmVudClcIj5cclxuXHRcdDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbbmdNb2RlbF09XCJmaWxlLmlzQ2hlY2tlZFwiIC8+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPHNsaWNrLWNvbmZpcm0tZGlhbG9nICNkZWxldGVDb25maXJtUmVmIG9rQnV0dG9uVGV4dD0nRGVsZXRlJz5cclxuXHQ8aDQgY2xhc3M9XCJwLTAgbS0wXCI+QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZT88L2g0PlxyXG5cdDxoNSBjbGFzcz1cInAtMCBtLTBcIj5cInt7ZmlsZS50aXRsZX19XCI8L2g1PlxyXG48L3NsaWNrLWNvbmZpcm0tZGlhbG9nPiJdfQ==
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZmlsZS1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZmlsZS1saXN0L3NsaWNrLWZpbGUtbGlzdC1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3NsaWNrLWZpbGUtbGlzdC9zbGljay1maWxlLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBZ0UsTUFBTSxlQUFlLENBQUM7QUFDaEosT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHakUsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQTs7Ozs7QUFFOUIsTUFBTSxlQUFlLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzdILE1BQU0sY0FBYyxHQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQy9GLE1BQU0sYUFBYSxHQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFNeEMsTUFBTSxPQUFPLDBCQUEwQjtJQTJCdEM7UUF6QnNCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQ3ZCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUN0QyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUU3QixrQkFBYSxHQUFZLElBQUksQ0FBQztRQUNoQyxzQkFBaUIsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0RSxzQkFBaUIsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRSxnQkFBVyxHQUFrQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9ELGlCQUFZLEdBQTZCLElBQUksWUFBWSxFQUFFLENBQUM7UUFRcEYsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBR3ZCLG9CQUFlLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0MsYUFBUSxHQUFXLEdBQUcsQ0FBQztRQUN2QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUd4QixJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDakMsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1NBQ3RDO1FBRUQsSUFBSSxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsWUFBWTtZQUMxRCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUM7UUFFNUYsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLFlBQVk7WUFDcEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztRQUV0RyxJQUFJLE9BQU8sQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZO1lBQzVELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztRQUU5RixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFL0UsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFFM0MsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3JGLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSTtnQkFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBRTdCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QixJQUFJLEdBQUcsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFFaEUsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyx3K1ZBQXcrVixDQUFDO2lCQUMxZ1c7cUJBQ0ksSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxnK1RBQWcrVCxDQUFDO2lCQUNsZ1U7cUJBQ0ksSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxnb1BBQWdvUCxDQUFDO2lCQUNscVA7cUJBQ0k7b0JBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyx3NUZBQXc1RixDQUFDO2lCQUMxN0Y7YUFDRDtTQUNEO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBRXBDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQztZQUNsQyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUM7WUFFL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXZFLHdIQUF3SDtZQUN4SCw4RUFBOEU7WUFDOUUsOEVBQThFO1NBQzlFO0lBQ0YsQ0FBQztJQUVELE9BQU87UUFDTixJQUFJLElBQUksQ0FBQyxXQUFXO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFRO1FBQ3hCLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLEtBQUssRUFBRTtZQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QzthQUNJO1lBQ0osSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDVCxLQUFLLEVBQUUsa0NBQWtDO2dCQUN6QyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDMUIsY0FBYyxFQUFFLEtBQUs7Z0JBQ3JCLGdCQUFnQixFQUFFLElBQUk7Z0JBQ3RCLGlCQUFpQixFQUFFLFFBQVE7Z0JBQzNCLFdBQVcsRUFBRTtvQkFDWixhQUFhLEVBQUUsd0JBQXdCO29CQUN2QyxZQUFZLEVBQUMsMkJBQTJCO2lCQUN0QzthQUNELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFO29CQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDdkM7WUFDQSxDQUFDLENBQUMsQ0FBQTtTQUNKO0lBQ0YsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNqQyxNQUFNLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzVHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0MsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBZ0I7UUFDekIsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xFO0lBQ0YsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBYTtRQUNoQyxNQUFNLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hDLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDLHNCQUFzQixDQUFjLENBQUMsQ0FBQyxNQUFNLEVBQUUsNEJBQTRCLENBQUMsQ0FBQTtRQUNuSCxJQUFJLGFBQWE7WUFDaEIsT0FBTztRQUVSLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixRQUFRLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbEU7SUFDRixDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQWE7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxZQUFZO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1YsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7OzBJQXJLVywwQkFBMEI7OEhBQTFCLDBCQUEwQiw4c0JDaEJ2QyxnekZBa0N1QjsyRkRsQlYsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNDLHNCQUFzQjswRUFJakIsSUFBSTtzQkFBbEIsS0FBSzt1QkFBQyxNQUFNO2dCQUNTLFdBQVc7c0JBQWhDLEtBQUs7dUJBQUMsYUFBYTtnQkFDTyxnQkFBZ0I7c0JBQTFDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUNGLFlBQVk7c0JBQWxDLEtBQUs7dUJBQUMsY0FBYztnQkFDRyxhQUFhO3NCQUFwQyxLQUFLO3VCQUFDLGVBQWU7Z0JBQ0UsYUFBYTtzQkFBcEMsS0FBSzt1QkFBQyxlQUFlO2dCQUNBLGlCQUFpQjtzQkFBdEMsTUFBTTt1QkFBQyxZQUFZO2dCQUNFLGlCQUFpQjtzQkFBdEMsTUFBTTt1QkFBQyxZQUFZO2dCQUNHLFdBQVc7c0JBQWpDLE1BQU07dUJBQUMsYUFBYTtnQkFDRyxZQUFZO3NCQUFuQyxNQUFNO3VCQUFDLGNBQWM7Z0JBRUksV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUNNLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUNJLGlCQUFpQjtzQkFBaEQsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTbGlja1NsZWVwU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay1zbGVlcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNsaWNrVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXV0aWxzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSVNsaWNrRmlsZU1vZGVsIH0gZnJvbSBcIi4uL3NsaWNrLWZpbGUtbW9kZWwvc2xpY2stZmlsZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBTbGlja0NvbmZpcm1EaWFsb2dDb21wb25lbnQsIFNsaWNrQ29uZmlybURpYWxvZ1Jlc3VsdHMgfSBmcm9tIFwiLi4vc2xpY2stY29uZmlybS1kaWFsb2cvc2xpY2stY29uZmlybS1kaWFsb2cubW9kdWxlXCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5pbXBvcnQgU3dhbCBmcm9tIFwic3dlZXRhbGVydDJcIlxyXG5cclxuY29uc3QgZXhjZWxFeHRlbnNpb25zOiBzdHJpbmdbXSA9IFsneGxzJywgJ3hsdCcsICd4bG0nLCAneGxzeCcsICd4bHNtJywgJ3hsdHgnLCAneGx0bScsICd4bHNiJywgJ3hsYScsICd4bGFtJywgJ3hsbCcsICd4bHcnXTtcclxuY29uc3Qgd29yZEV4dGVuc2lvbnM6IHN0cmluZ1tdID0gWydkb2MnLCAnZG90JywgJ3diaycsICdkb2N4JywgJ2RvY20nLCAnZG90eCcsICdkb3RtJywgJ2RvY2InXTtcclxuY29uc3QgcGRmRXh0ZW5zaW9uczogc3RyaW5nW10gPSBbJ3BkZiddO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdzbGljay1maWxlLWxpc3QtaXRlbScsXHJcblx0dGVtcGxhdGVVcmw6ICdzbGljay1maWxlLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrRmlsZUxpc3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG5cdEBJbnB1dChcImZpbGVcIikgZmlsZTogSVNsaWNrRmlsZU1vZGVsO1x0XHJcblx0QElucHV0KFwiYWxsb3dEZWxldGVcIikgYWxsb3dEZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBJbnB1dChcInNob3dQaG90b0dhbGxlcnlcIikgc2hvd1Bob3RvR2FsbGVyeTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dChcInNob3dDaGVja2JveFwiKSBzaG93Q2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoXCJ0aHVtYm5haWxTaXplXCIpIHRodW1ibmFpbFNpemU6IG51bWJlcjtcclxuXHRASW5wdXQoXCJjb25maXJtRGVsZXRlXCIpIGNvbmZpcm1EZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBPdXRwdXQoXCJmaWxlQ2hhbmdlXCIpIGZpbGVDaGFuZ2VFbWl0dGVyOiBFdmVudEVtaXR0ZXI8SVNsaWNrRmlsZU1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwiZmlsZURlbGV0ZVwiKSBmaWxlRGVsZXRlRW1pdHRlcjogRXZlbnRFbWl0dGVyPElTbGlja0ZpbGVNb2RlbD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QE91dHB1dChcImZpbGVDbGlja2VkXCIpIGZpbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8SVNsaWNrRmlsZU1vZGVsPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KFwiY2hlY2tDaGFuZ2VkXCIpIGNoZWNrQ2hhbmdlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHRAVmlld0NoaWxkKFwidGl0bGVEaXZSZWZcIikgdGl0bGVEaXZSZWY6IEVsZW1lbnRSZWY7XHJcblx0QFZpZXdDaGlsZChcImVkaXRUaXRsZURpdlJlZlwiKSBlZGl0VGl0bGVEaXZSZWY6IEVsZW1lbnRSZWY7XHJcblx0QFZpZXdDaGlsZChcImVkaXRUaXRsZUlucHV0UmVmXCIpIGVkaXRUaXRsZUlucHV0UmVmOiBFbGVtZW50UmVmO1xyXG5cdC8vIEBWaWV3Q2hpbGQoXCJkZWxldGVDb25maXJtUmVmXCIpIGRlbGV0ZUNvbmZpcm1SZWY6IFNsaWNrQ29uZmlybURpYWxvZ0NvbXBvbmVudDtcclxuXHJcblx0dXVpZDogc3RyaW5nO1xyXG5cdGlzRWRpdGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdHRlbXBUaXRsZTogc3RyaW5nID0gJyc7XHJcblx0ZmlsZURhdGVGb3JtYXR0ZWQ6IHN0cmluZztcclxuXHRmaWxlVGltZUZvcm1hdHRlZDogc3RyaW5nO1xyXG5cdGZuRG9jdW1lbnRDbGljayA9IChlKSA9PiB0aGlzLmRvY3VtZW50Q2xpY2soZSk7XHJcblxyXG5cdGl0ZW1TaXplOiBudW1iZXIgPSAxMjA7XHJcblx0aXRlbUltZ1NpemU6IG51bWJlciA9IDkwO1xyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHtcclxuXHRcdHRoaXMudXVpZCA9IFNsaWNrVXRpbHNTZXJ2aWNlLm5ld0d1aWQoKTtcclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHRcdGlmIChjaGFuZ2VzLnRodW1ibmFpbFNpemUpIHtcclxuXHRcdFx0dGhpcy5pdGVtSW1nU2l6ZSA9IHBhcnNlSW50KHRoaXMudGh1bWJuYWlsU2l6ZS50b1N0cmluZygpKTtcclxuXHRcdFx0dGhpcy5pdGVtU2l6ZSA9IHRoaXMuaXRlbUltZ1NpemUgKyAxMDtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoY2hhbmdlcy5hbGxvd0RlbGV0ZSAmJiBjaGFuZ2VzLmFsbG93RGVsZXRlLmN1cnJlbnRWYWx1ZSlcclxuXHRcdFx0dGhpcy5hbGxvd0RlbGV0ZSA9IChjaGFuZ2VzLmFsbG93RGVsZXRlLmN1cnJlbnRWYWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgIT09ICdmYWxzZScpO1x0XHRcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5zaG93UGhvdG9HYWxsZXJ5ICYmIGNoYW5nZXMuc2hvd1Bob3RvR2FsbGVyeS5jdXJyZW50VmFsdWUpXHJcblx0XHRcdHRoaXMuc2hvd1Bob3RvR2FsbGVyeSA9IChjaGFuZ2VzLnNob3dQaG90b0dhbGxlcnkuY3VycmVudFZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSAhPT0gJ2ZhbHNlJyk7XHRcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5zaG93Q2hlY2tib3ggJiYgY2hhbmdlcy5zaG93Q2hlY2tib3guY3VycmVudFZhbHVlKVxyXG5cdFx0XHR0aGlzLnNob3dDaGVja2JveCA9IChjaGFuZ2VzLnNob3dDaGVja2JveC5jdXJyZW50VmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpICE9PSAnZmFsc2UnKTtcclxuXHJcblx0XHR0aGlzLmNvbmZpcm1EZWxldGUgPSAodGhpcy5jb25maXJtRGVsZXRlLnRvU3RyaW5nKCkgPT09ICd0cnVlJykgPyB0cnVlIDogZmFsc2U7XHJcblxyXG5cdFx0aWYgKHRoaXMuZmlsZSlcclxuXHRcdFx0dGhpcy5maWxlLnRpdGxlID0gKHRoaXMuZmlsZS50aXRsZSA/PyAnJyk7XHJcblxyXG5cdFx0aWYgKHRoaXMuZmlsZSAmJiB0aGlzLmZpbGUubmFtZSAmJiAhdGhpcy5maWxlLnRodW1ibmFpbEJhc2U2NEltYWdlICYmICF0aGlzLmZpbGUudXJsKSB7XHJcblx0XHRcdGlmICh0aGlzLmZpbGUuaXNDaGVja2VkID09PSBudWxsKVxyXG5cdFx0XHRcdHRoaXMuZmlsZS5pc0NoZWNrZWQgPSBmYWxzZTtcclxuXHJcblx0XHRcdGxldCBmaWxlTmFtZVBhcnRzID0gdGhpcy5maWxlLm5hbWUuc3BsaXQoJy4nKTtcclxuXHRcdFx0aWYgKGZpbGVOYW1lUGFydHMubGVuZ3RoID4gMSkge1xyXG5cdFx0XHRcdGxldCBleHQgPSBmaWxlTmFtZVBhcnRzW2ZpbGVOYW1lUGFydHMubGVuZ3RoIC0gMV0udG9Mb3dlckNhc2UoKTtcclxuXHJcblx0XHRcdFx0aWYgKGV4Y2VsRXh0ZW5zaW9ucy5pbmRleE9mKGV4dCkgPj0gMCkge1xyXG5cdFx0XHRcdFx0dGhpcy5maWxlLnRodW1ibmFpbEJhc2U2NEltYWdlID0gXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURzQUFBQTVDQVlBQUFDSTdWTzRBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1UTTRJRGM1TGpFMU9UZ3lOQ3dnTWpBeE5pOHdPUzh4TkMwd01Ub3dPVG93TVNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVGNnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2poRlFqUTVOVUpGT0RVd056RXhSVGRCUlRNNE9EaEVPREZCTlRBek1UVTNJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPamhGUWpRNU5VSkdPRFV3TnpFeFJUZEJSVE00T0RoRU9ERkJOVEF6TVRVM0lqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZPRVZDTkRrMVFrTTROVEEzTVRGRk4wRkZNemc0T0VRNE1VRTFNRE14TlRjaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk9FVkNORGsxUWtRNE5UQTNNVEZGTjBGRk16ZzRPRVE0TVVFMU1ETXhOVGNpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo3dCs1eEFBQUFkU2tsRVFWUjQyc3hiZVp3VTFiWCtxcnA2NyttZTZaNmRZVGFZUVJnMkFRRkZGQklCTlpxZ2NjRWxKdURQR0xQNDRtN1VwL0dweitTOVp6UW1lZW96SnU1N1hBSkdRRFpaWk45aFpvQmhodG4zdFh0NnE2NnFkKzZ0cWw1QVRmTCtlbzJYWWJxcnErNjU1NXp2Zk4rNVYwSFROUHl6cjZNdGUzT1A5TzN2YlJsdXhrQzRIM0VsQWdFYUJFR0FuRWdnb1NTZ2lmUU91elg5cFJrRCtuLzBFcUFhLzFKVmxWMUVuMXY0KzVxcUdiL1RaeHIvT2hUalduT3FtcVpmUjAva2Z4U04zWTMrcUFKOUtQQ3I0M0lNa2loaGJ2bGMvR0x4UFlDRVllRWZOZlprenpISGV3ZGUvc0dhNHg5YzBUZmFWZWgzWkUvMXV3dmd0THRoRngyUUJDczNVTlgwR1FxQ3haaGNwcUdhS3ZKRlNmRHA4VGVTaGdqR1JEVTJlVTNrRTJmM1UvaUNrQ0d3R05kcWZKR1kwWUlnMG1LbzdGS29DWHBmb2NVUkVwQXNUbXh0MklKQ2F3QTc3OW9HZjRGL1dQcEhETDN6THpjOTltSGQ2emVXNVZTVVgxRnpIZVpWWFl6S25FbncycjJRSkFuL1gxLy84dkY5ZUgvRGgxQW8wdGpyYTJmNjN0NC9mZVBlVDI5K3FTaXJ0T1g1Szk4dlgxeTlGSUlrOHMraWNSbEQ4Z2prV0Z3UFJjR01NVnBoNkVPalpkWTBlcEFnbVBFSE00NDBSYzE0bGhHQmFkZVlkOUZEVlRNanhIam5xMTdzR21iYTVOeUpFQ2s2Tklvd1VSUy8zdGg3UDFyKzZQL3NmUG1taHhiZlgzNzN3aWZMMlh1anNUQzZoM3RvWWdxRkNidUJxQnZIUWxFd0oyaUVtVEU1UFRkVEM4SGUwY1BUL0k3eGthb2J5YThYakpEWGs1N1dVVTI5bDU2OFgvb2kzTkRpeGdxS1BFM015Ny9VMk9XdmYvdDNhMDZ1dk95am0xZVZMeGovTFVRbzJkdERiYkNRaDJ3MmlXNW40YW1tOGR4a09XSk1VaFZNaTJCaEJnbUNicjRKVW55cWdnNUVsR3NaeG5LamFQa3lnSXc4d3pOUzRma3NHZ3VnbWJjeFZ6RE5VSUZ1SW1rV00xNlF0a1JuR252WGh6YytzYlp4NVdXclZtd3ZuekYyTG5xQ2ZSaEpqQkFJNlo1a1Jxb21xSnlHa2d3VjlaQ0dnYXowTzFSa1dDV2tQR2FpTlo4V1IxUTFQUWd5dkpzeVNqdlR4dlFsb3doUk5NVzRKME43TGZuMERHTmYzL0dIeS82OCs0M3IzLzMraDl6UXRvRk94SVFJbkpJMTZjblV3NWwzOUg4enhHU0dzUktoaWtaRzhZZXFFSFIzY0tlTHpOTjBINFZ5V1RTbW9CbzV5andJaHRIOEY0SG5MeDluV0pWdXZKaTVrQnlWVlNUVVJQSks3aGhOeURTMnNmZUU3ZUgxUC8zZC9SZmRWMzdSaEtYb0h1bUJacFhoa3h6MEJVbFBUMDNSSDg0bVRuOUZsUmdpaEhRU0FZRnF4SjVnUENicFVRNVlLZzlQaTJpQnhTSlEvYlBvT1EwZDExZ3BZbmdWaTlOMTdFR0N2b0JtQ3B6cFJUWHQ1Mm5HbnJZOG1wYjZQR25zTXhzZmZHS3NienlCMFJPVW8zRUUxU0N0a0FxclpvTmcxYWN1R3BjcmhMQXlyVmlXM1FjdE1vaXdHaWV2V1hRdktmcnE2dGpGdkVzNVJNYTRYRTZFRXpFSXNxcDdPRWtyOU1VWkNvZG9NUWdUS0lxWWdUeEtOS1RsZWlZSUdZbUNNNWVCME5nSVl5cjhkQitMNlZoOTlvZmI5dnMvT2ZIQmxiOWQraHFmZE9kb0M4cXpDL0gwaGpmeDJNci94c1RpRWdwSEhvY2M5a1V5cG9zOGY4WFpsK0cvTG44SWpVTU5HS1VGc3JDY0ZsS01pUWVib3FDd3NCZ3ZmN1lLNzY1ZWhZRFhaOXhIZHhpRGt1UHRwM0REd3F2eDBMVzNZR2ZuYmlJR0NYNk44cFhJbTRrVnAyVXRUNm4wVXBUaDJZK1B2SEY5cWEraWNrbjFGUWhGUjNrbWpNYWl1SHIyRXJ5dzhVWHMyck1LWW1FcGhhQktpRXloS0ZKK1VsNDg5ZG12OE0xeDUrQ1NTVXR3c1Bzd1JLdVlaRXZNbkFRWldsSlFpTDBuNnZEc0c2OGdFb21nMXoyWWpEekdmam9HdXhIdytISHI0bXZRRSs5REtCNkJ6U29sTGZrNmhxZXE2aGtlNXltaHlmcHZxcDRPNXZONHRWMS9jdVhsbDArOENsYXJBNzJSWGpKSUpNNDdnbkpQS1Y1YS9qUTMxR3Qzb2N5Ymo3SFpBUnA1cU1vdlFWRk9IdTViZFI5Q2tXR01DNHhEVkk2UUozVXF4NGJIYWtjNEdzVlRiLzRKOFZnTVpVVmprSlBsaFQvTEI3L0hpMnluaXhpWUhTLzg3QW5rNStSZ2YrZCsrdDNDRWRXOHg5Y05MWTEzNjRPOXI2UXRrSkNSQXVLQjVoMkYvYUh1d3ZPSUF2Sjg1UHhENEFEVU9IUUtGMWJPd3lPWC9oUkRvMjAwRWNwYVduUXIvUlRKeTZYWlJXZ2Ric0lqYXgrR1IzTEJKVGw1dnZEYW00Z2k0UGZoNVZWL3dhNmpSMUZNSG1ZcnpGYWVUVVlrVWxMWDFZTGxDNi9BcGJQbVlVdkhObHBreWNoWFZSK2E4Uk15L1ozZ2MxUFlIK0srYkRCeW80ckdFUFRCM2pkemx0bWdLa0l5eDhYNi9zT2RPUTd2MVBIK1NZakU5YnpqNFNQb2VjVThmZWVpSCtNYk5RdlFHbXlCelNFUmlJaHdTQUlacldKeWNUWGVPL3dxMXRldnhzVEFXWWlTa1RLRmVDQ1BDSGpkQWJ5eTVtUHltcDgvMkZ4eGlTS25mYUFYVlVWajhlL2Z1eDJ0NFZNWW9PaXdVbFl4MHMrVmoyb0FzV29ZclpucVNPRmxVRkIxNGNCcW1xZ0pmTjZVWUhRSGlhdWR6QlF3akcwZGJrU091eEErUnc1R2xTQlhLM3JPY1JtQzRmQWdyRVFvL20zcHcvQTdzeUZIUnVHazNMVFpMTENUd1I2ckZZWGVIRHk5K1ZHTVJrTVlsMTFKMkJMblV1L1pkOTZpUEpYaGRibVQ0Y1NXTUU2TE1VUnA4dXViN29IYjdjU0JqanE0N0E3dU5aV01ZWjVoeElDRnBZVkN5U0xhYVY0U241c29taFZCNHhXQmpiQVNSMGlKSXFpRU1Ld01ZeWdXTko1bFZBaWpWRW1Ea1g0NGJTN3lra1NrWHRhbGxpZ2sxME9rbXRqYzM0bzV4VE53K3dXM1VvbDZFb1U1WGdwRDhpd3RyMFFoVk9vdlFkTkFIWDY3NVFFOHNPaFoyTnpBazIvL0VkdnJhbEZkUERZRE5pMFdDNDYybnNCdFM2N0hrbG56c2JGdE02eXM5aHF5a0tXQXJnZklhRlVtd1JGRm5BQkhJYkNMcVRHZXF3azF5bk16b1ptaHprSll6MXNXR1F3N0dFR3hpcmFVNDVpeGpHM1lTZnVseURoVERZbVVabVIvNk9sZGc1MVlmdjdOMk5lNUJVZmFkNkFpdjRvelY0bEMyVUlHVDhnZGo3VW4zOEczcDE4Tm16SUJyL3h0SmNiazVHWXdPN2FJemYwZHFCbGJqU2UrZHlkT2hVNVI3UTNCWWJOei9wMlF5U0F5TEV4ZWtvbXd4TW00R0pVMHF1cDhQcktnejBjMCtJVEpuM2dkNVcvcW5EMm14WkpxaVMyS2lkbVN3RG1MbUFwdGc2THhzRE9wSWVYWWtESUNwK0REVHhmY2pRYy91QlZ4T1lRY2w0Y2tud1UyS2tWc3dUUkxFZDZxL1JWT2JxZFFqam5nQ1RoNHVKa2NScWFKajFENStjK2Yvd0tTVThXR0k1dm9leEppb1FSR3lWc0pDa2RXcnBJaVR6TUVnS0NieFNTYnFhNDA0VFMyYkpBcDVtZmR1bFEzeEx4TzFBd3RpYVNpVURpdlpRU2FBWmxpZEE0WXdMUVBObU5Td1F3c08vZG15czh1Q25HRkpxdFI3aktVSnZMZ0NTQVk2VVF3YXh2ODJibUV5SmFrNG1HYXNyNmpHWGRkZWpNdW5ENFR6eDMrRTlYVmJuUkYrakFRR3lUcUdVSGNDRWZCeUZkVElDZzhoeE1jbFJOMFZZS0ZOUTMyTXc3OUp4K3F6SGt4QzN2VmxKSUdnSEZqWlZrMmtFNWZBMEZRazZ1aEdNcEJSMGVCbDR2ZVlDY3VyYjRPTXl2bUV4QjBFRUFKY0ZoWU9XTDVLSFB2ejUzbFJ2bTRFSWFHV1ZBd1RpeWlwYjhMMDhzbTR0SHJmNHgxM2V2SXdDQjhsbXlPb3FMdWtpUTlUR2c2NVpNRlBYVFoxR1ZlaWhLY3pEQWhZUTVWVVRKK1o0TVpySnAwMHlpazNGajJBUThQZzFjU0orRDlJWVppZ29Ga3FxQVBOcUhSeENpUGtwL00rVmNVdVBNcDU0TGtXWWs4TFBCeVpHT0d4eTJZZlc0WXZyd1lSb01PeEtrY1JTTXhQTHZpUVJ3WTNZeTM5LzRaYnBVSmlUaWxnWlh1TGRFRUdhK1dPZGdrUkVYdkt5azZPak14TGhQL1pwNVRWTk9ETXVWMS9JeGhlbGRuYUlMUjRqTHFMdk13UTF6OVUyYWF6a2xURlVxWGNocFhJb1NFQ1JuQmFCL0c1MDNHc21tM0U5eDN3MExldGRHdzByRGJpU2FxRnVSa3F6aHZYb1RmNkVoTEcyNVpmQzNPbVR3Vm0rbzNJRVlhZVcvRGVoeHAzVTUwc1pIQWFZanVuNEJnNGVxZEk2cHVERTJjaGtxQWsyQ2d4VUFzSVJ2ZXBVSEdLV3lCMGdjdEN2T3VoalMxWkxTTUpFMUxFK09xWHNrRnBFQ0txeE16bE9rRFZqLzlkaDFsRjFYZmdNYndEcHpvM1VnZ2xVOTVxMUU1b2lnaDRSSWJ0V0xhV1JycTZ6c28vS2Zod2V0djRkLzUrWnhmb21OU00zYTFiY2UranQyb2JUdUFjQ3lPZ0s4UWVkNUN1QjFlV0owT2VwYUYxOUFFVTFGcXd1ZytJcW1mVHpja2xYdXEzc3BOOXFwU2JZME04VzRLYWZPbVpsdkQvQXBiRThscVF3NlJDL1AxemFMYjBOeTdCelo3bkc3bWdHUWhZUzVhK1FKRzRnbE1tZEdQMnkrK0Z6NlhML25jWW04WmxrNmlNWEVaR25ycXNhTjlPL2EyN1VKdDB3RUVFeEdVVU4zT0plTWRkaS9zVGhzMHlRWTVMbk5tQmlNWFR6ZkVyQ2FxcUhJWVkxaHNNZG96UXRKWVRVZmVWRWRNNzhkcUdhMFIrZ0lsYzV5NHA1UElmYmJUbmJ6L1V4OXZ3dXEyRVR4OHd4aU1ETkYzNmY2U1JTOWI4YmdWV1Q1YUxQOVd1dkt5NUlJeTRzQ2lpTW5KOFFWbjhYSDk5SnRRMTFlUGJjMWJzUFBFNXpoNGZBOU5XVVIrZGo1eUE4WHdlRHlVTGhhdWxEUWpaQVVJcDdlZ2VHWGh3SlVXbGVZMWtxa1dVdnBRNVNGa1NtYWRVeE9pVWk3MkRmZWd6RkxHYVJoWFMvVzc4ZnpxcCtoNlVpd25GTXlyMXRBemJDRkdwQmQ0RU5CNGhTS3NyWDhkYm1FQ0ZwWXRKMDRyNkN6SndBbXpyODl3b3lhL2hvOFZNMWJnUU5zK2JHemNUTWJ2eE83YTNhVERSWlRrRmhON3k0ZlQ3U0NQMjdtL1lxU21GTDV3WWpMNTVFVGM2SlNZUFhqRHM5cHByUXMxeVl2MWJyeVZXQTlqSkIzQkhveEVSeERJeitQWHhRa3BmL1RTNHdBdEFxdyt2TFUram9tbExuaWRETEhWWk4rSmRRdTg5a0tzcnZzZEp2blBSMEZXRlFjWHJuQUVQY1IwYnh2QnBySElzR0ZXMlZ3K2JpY1A3bXJlaGZYSDF1T0x4bDNZM0xLTlFOQ0JzYmtsOEFmODhIcmQzSENabFNBalgyVk5TYllEMHpzZGtwNldRcG8yTUhPVjZoK3hvekRWdzBFU0E3M2hIaFM1aTVEdjl1dEE4OGFUYURpMkF5aXJvUzhtME5jbTRwMU5DZHoySFN1RysvUndaWGpIU29wWHlrTlQ4QmplUFBvNDdwajdDdFZkQ1pHWXptOWREaGR2MDV6V2NVbSs3QllyNXBQTVpDTVlEbUpMOHc1c1BMWVptMDVzeGQ0VDljaHllMUE2cGhnRmdUeGtVYWhiblV3c21KUlN5T0Rsa3ZZbGJTd1dVcXkrallTSE1VakdLbnlqU2tLSnQ1Ui92dmJJRjNodTlVdkFtSEhHL0NpUDhrUjh2aWVCNnJGUnpCb3ZZU1RFbEU2Yzc3K3cxZlpubFpHSDFtQ04veVVzcWI0WjdhRXV1djhnN0RZSGNodys1THB6U1RyYXptaTljRWNZQzVEbHlzS2xFeGZ4TVJnSmtkRWI4VW50T214cjNJUGRSK3ZnOWJoUlhWSUtWN2FkejhuQitsbHBMMGtWMG5wMXZQVnA0WFYyZ05SUUtCN2lpUjRuenptSiswN3dWL1ByYm51UHd0Y3BrZ0VPUWs4eWhvV3RWUzlOSDM2bW9zZ1hnOVBCNUplZEV3T1p3aXRPbDNodHhYajk0Tk9ZVnZ4Tm9wYkY2QnZwSUdvWFErL29BSTROTmRMbkh1UTUvQ1FaQzRpYzJEUDZTSUtRNmZJY3B3ZFhUcitjai82UmZqSjZJMWJWZlk3TngzZWd1LzhrZnVYNE0zYWZPZ2FQTFpzMzkxTUFaY1kwa2ZJSVNhcEJlbmhZalhEREpmTEtBQms5THF1Q1gzUEhlMCtpc2VzZ1NrdkhFOXJLY0JGemtnazhaSTNLUS9Bb3Zqdi9YN0hzN0dvOHQzMEZQUFl5amdlS3dzc2ZYRlkvT29NbjhQdHREK0x4SlcrZ0tMc01iU090SEQyanBIQUdRNzFvU05RUlFYRWozNW1QMG13cVFWNENKSXN0dlRlcTk2czFYZFd3L3dMZUFHNmFleFVmVGYxdCtPRFFHa1JIRXpoOFpEZlVybFlqaDQzU1k3N2l4RWg2dzMyY3RWZ3NqTUt4bG9mR042ZG1sa3pGN3FhRGVHN1hpNmdhVTBvTEllcmVKTS9hQ0FsN3UxdFFQRzRTbnY3K3JWU2VCSXpQWG95OVhhdFI2SzdpNkpoUVJPN2hYRmNwMWpWK2lpa0hYOEMxMDI3bERZSE8wWFowRWRLSFNYeEhhV0tqa1VHMERyWmd3Nm1OdUxCaUlTNG9uNHRRbEVsQkIrOUNDRWJYZy9NOXdXanlHV0JYRVNqQlhRdHY1dllzcVo2RHovWnY1WXVaSkJVNmJFUGZXS1lWdHBIbzFkc2pyQXRBUmQ1WEJEV200b0cvUFlRY3R3WFpiaXNpNUM1V0p5VkNhOWFSQk1KNDRhYUh1S0hzZGUya0IzQ2thdytGYUQ5Y2twZDRNQkg1dU1CWlVZNjlHSC9ZOGhSbUZpM0UrUHhxWkRtcWFYSEdvU3ZjaFZPRGJTUWFXakdnOW5Ndm5wVlR5ZS8zM000WHViNmVVellMMHd1bklkdVZuZW9mQzVuSXBobThZVmIxZEQ0R0I0ZlEwZGxKWWF5SytvNDExL1lLVnltY2Q3STJOV3Rla1FhdENaeU5GM2Y4RWZWZE96RzVvQVlSNHEyTVpzWDVScG1Bd2FFQi9QcmFoM0RabEF1VDRGS1FYWTdMSjkyQjMyKy9HNFdVMjZBdzU2V0JKcHdsNWFJMVZvL0gxdDJQVjY3L0lBbUt4VmxqK0poWk9CT0h1Zy94cm1XK0x4OWJtcmJTNy90aHQyYmhZTTlCWkZ1OXFNcXR4b3pTc3pHbjVCd0NJa2RHZnB1WXhpb0NRL3FCd1Q3dUdNdU03MDc1SlNQY1Y1MTlIVnFHVy9YdFByNG5RN3BRaWFHRUp0M1NWWXZudC80YWhZRWlxcnNTNy9BTFJzTThSdVE4bDhyUmpiT3ZvQklWbzFwNEFGMkRQYWdNak1XRXZHazQxbmNFQjd2Mncyc05JRVpBSnRPcWh5a3EzRFkvZGpUdnB0TGl3dXl5T1Z5ZnNnbnAyQ0ZpREVWVFJVREhpY0hnQUlhalFZekdSeENNaHpFaWgxSGZkeFNyajYvRzZvWk5hQnBxSmV4d29zaFR5T2ZGeWgyVGxYeUhuN2g4VDNjUGlvdUtZc0x5MTVkcHJKYSt2V0lWdHJaOWdSQnJ1ckc5RzdhSEkxR3hWcU40Zjl2VDZBbTF3KzNLSlZCaVJ3UlV4Q2dOWXJLSWFGemoyZEFhSEVIbllBam9IMFJwOFRnY2Yzd2RlY0tGM3BGdS9PRDlSUmlWbytTUmZNcEpZcTRKa1hJWUdCb05rUkVoZkhycnB5akxLVU5kN3pGTUxaeEVxV0ZMN3ZId2RMVG85Ykt4N3dTMnRlL0R6cGE5cU91cFJUZytDaVlLKzZNRG5BZ1ZVbFE4cytRL01KczhicjZPTjU5RWREaUNxVk1uRDR2SnJVT3puMk5JSTc3S0JQODdqNzlMT1hrS1JZeW1VWWc3N1pyZW5lQWRDaG9NcEJCRG50Mk9xa0FCTExuNThIaHpXRUx3ZStaUkdWays0MTUwOXZZaFJFQVZreWx2S1hpaVpLMmRVTGMvRk1ROUgxR3VTMDZjSEdqRXkvdGV4WnJqNjlBOTBxZHZrMWlTMndlb3pLdkc5Nll2dzI4dWVReVBYUFFBTHFtK0JENWJGdGZMWGFGdUhPbmNTL2ZKM0lWZHRYTmRzdHVvNy8wYURJclZWS2JSMmZFQW04dVBSbEl6bmYyN1VaU2JTNGFCRytvazR4eFdrZi9PT2hST2k0VitrdDRocG1PamlUbFpQOW1pdHpCTktYSFY5QnR4U2MwMU9ON1pTQ1JEcFBTZ2NDYlBSdVVFU25NcXNPcmdKL2pEcGhkdzllUXIwUitKWUgzRDV4aU9EZkk1YlNCUjBOUjNLc01BbTlWQkNEMFBEMTkwSDk2LzdqWDhadkdUbUVHZ3RXTEdMWmhTUENYcHZBNUtwM1g3TjhIdnl6WkxqNUNxUHR4d21ZenhFN3ZwUm1QSEIzQzVCSkphZGlneXl6ZEJQL0pqN0ljemRGUlVLeXg4ODVXUmNVYi9CWjMrMGFxRjRrRXlTaU1DNE1NOUN4L0Fwb1l0YUIvdVJqYnBZZFk3WnVXSUhXL3grNHJ4czQ4ZXdhSUp4STZxTDhTbWsxK2dtbEQ2YUhjZFhqbndLbW5jTEpUN1NsQkQ0SGhleVJ5cUNQNFV1WEFIY08zMGEzRGw1S1VjL1BqcEdub20yN1g0NU9BbWZIN2lFSlcvWElOQnBSM000Q2hHK1pLZ3Vucm81QXNJaHZiQjdRa2dJZ2ZKSXhieWhJVkloNHd3ZVNkQ1NUdEtPUnVPaVp6NGowWkZoR0xBOFBBQUJpZ2tHUysyMDA4WFBUUWlSNGdWRmVGSDgrL0FUOTY1QTFtMk1QTVBGQ2JRNHdyaXNneXRveHZmZW1ZcHRqNzhPWDU4M2cvNWZIWTA3MEZZRHBGV3RtQnZ4eUZzYmZ3Q2I5dmZSVlZCRmM0dm5ZZDVwWE00M1dRdksxRk5LK3RkcVNvSEovYjZaUGQ2aEVlRHhQR05BeVJLY2x2WU5CWTA2VUZhN2FsWU11RUdCQWcxUnlrbkdOZFVWSXV1S3RqWkkwVkhQYmFLYk04c29VcGNGNGRwTVR4V0Q0V01sWjk1RWtudjlRLzNvNXZvNTRLSzgvSDhkNTlCdnp6Q1d6YzJLamNGdE9vNWpoeEtEemZxT2svUXRYMG84T1R3K1Z3NllURXFja3F3cTMwdkRrWU8wK0lvNklwMG82SCtGTjQvK2hHaGJ6NFpmUzdtbDErQTJjV3o0SEk2Q2NrdFNhK3picWJWNVlKbzdzK3lHcHVVZUZ4d000a2s0NXpTYXpHN2NNci8rUXdTQzNHVHozcnRIazRIdzdFd0xweDR2dEhua3NtamNRNWovcXdBS2FveFdEUnhudDZvWjVLYTZuZ2gxZGdpWHdHK1ViVVFqUVJlVzVxMllWUHJGemphZFl6cXY0ejZ3UWF1Z242LzY0L1lmc3NHVkRvcmtzOXY3K3RHTzVVc3Q4T2RMdDcxM3FvcDN0bkNKQWc0dkpMOTd4cWtKTGNQRTBucXh2ZzFPMDVnbmozaXhoTGI4YnA4Rk01UkFpQmlNOE50SkFLNlNVU0VxUlRGRVc2SklVWWx6aXJZOEowSmwxTnRMNlR3VHNCcVM2bVdTbjhsSDh1bUxxUFNzeE5yRzlaaGZkTW10TFFmdzlMSmw2TXl0eUpqYmtkYTY3bHk1MDBDNFVzT2tEQkhzSzZlazhLd09LdjQ3N3RQMEwvRFFJdVZFclpOeWVHY0ZzOUQzclRiMGhhTUZ0VnBkYUtFRGNyZllkS21yU050YUJvK1JSN3ZKRWs0akJ3cVdjelFwdDVUZU8zQVc1aGNNaEV6OHFlaFBKQXl4RzYxNG9KeDUvTnhkMmdBTHgxOEJiUEd6RW8yREJsbmJ4bHNKOW0zbS9lOVFwUXl5RGdIbFR3NUJtSXBjWlI2eHZMUSsvdTJDa1lEV3VGTk9pYWxJbVIwakFTRnorWGgvZHZPa1I1Q2R5Y1JmaC9mNURaUjMwZmExT2VhaUVuNUU5QkdudDdSdkFzVnVWWDg0ODhhMXFOdXNCYU53VVo4WExzR2xhUitaaFpOeGV5eGM1R2ZsWmQ4ZnJiSGo3dm0zWkdLTkUwMzZOT2o2M0M0NXdSSy9JV29IeGxNRSs5YTV0a0V0bGRTN0NuSzZBOTkxWXQzZmRpaEQwM2lXNWl4QkF0SEdUNnJqOExaVG1xRzhpYlV5ZmRyMmtVckVYNFhjaDI1WktRM3RXZEtuaWpOS2VVRHhobU1MSHNXcWFNQ0RKQ0lTR2hoN0d2Ymc0MG5OOExuZUFsVDgyYVFHSmlEaFpYektCODlHUTFHL2RRZEtDcitpck1EMHhFUW90aGJ0K2QwWS9XcldhdVNDZWdDb3k2ZDNxbE0zK0JON3gyWlRYWUgvYlJTcmt1Q3hERStHb3ZCd3RFNmhxQVNKa1R1d0hIbEJIbmFqVHlxajJYZU1jZ2lqNmMvaStYWWRUT3VJWG0yR0R2YmRtRnI2MDRjN1R4RUFLY2dRdEt2c1dFbFhqNzhGb3E4dWJpNDhpTDhZc0g5Y0thbHk4bnVKbXc3dkJaMy9uQUY5aDAvVHZnVFN6djBsZVpadHJsVVFDdnFJb1BOK1A5U3BOVlBnT204bFl6bGRVM1FEMit3TTA2YVFjMUtDVTE5ZGhkSnh3SDBNQzhsR05JbkVDUSszRUpJdWwremt6alBwUnd1SnRFd2dSaVlOYm00Zms4MkxqbHJNUi9IZW85amE5Tm1yRy9jU2hyNUFNVmVGTHVidDhGRElpTGRVUGI2cUhZZGlDQmdlblVOOXBLeHFiTlp2TTZ5SGV4VXpoYTVpcEVtRXMvTVUwSGYxMlJ5VFdkUjlIY3N3WFd0YUxXVDRWYTJEOHFEM0NJNjRIZXprWXRpSC9IWDBVN0s0UTUwRG5YU00wWEVoQkNhMnB0SU9tWmpTdUZrOUlYNjBUellqR2xqcHZGRk0xOFRpQk96OFlNWk4ySExxVzM0NlBobmVIUHYyL2pKbkZ1VHFTY2E3ZDJWQjlZUUlCQkFaaEd4U1NpWlBhajBjNEZacEJQenFWQ25qUHA2SkdhR3lrUXlHSUtQSm9oYVJLTzhSY0pxSlQ4d1prMkJ2WXVZVHFXdEFwWEVoWHZ6Qm5DS1FLbXA3eGc2NVhaTUh6dVpYN1B1NUhyODllamZVRjFZaFJvQ3E1bEZzNGo4VjZaMjdZa2xMUmkva0krN3p2c1o1YkFuMVNtazREcllYa3YwY0FmRTRqeDJPb01Ubm96dEQ0MGZVeFc1THMxMytFbk4yTDdXUm4zbm0yMWZTdnlRQ2VzdmtZN2grVzRsZ0dEbkwvcEhCNmlnZDhKTnVjbTJTdGdPZ2lpa2FtWWVpUXcyWmhUV1lITEJOSXpMR1F1WkNNZk81bjJ3VUcxdDdUK0pReDM3OEpmYWxieWpPYWYwSEZ4UU9oOEZ0SkRtYTJ4MmtkNzBWVk5uRTFjZTNnQ0VPNUdYWDJadXhTZTFYRklJTUEvWktRVC9rZHBxTnJtNCtpQWh6MDdQcUNxRmI5Uks5M0R3KzdJVE5zUHhFSWJDdzZSQkd4aE1VaW5MSWdOekNaZ0tLWUljL0I3c0FObWtmTDFqR2FHb3VIcmFsYWdsbmJxdjVRQXRYd2hCQXFSRFhiVjRiZC9ydkc1UExhN0Jndkw1dUtocUVXcnl6dUlzSzRrcmxJcXZmdkVhNEJaQTdCd1IraU14REVoRFdJbjFoMlBHaVRCMkZ2R2ZlWm1Semc2RlpMdTl5ZmZIZUFvUWNQZzRWNDZ4KzFOSlloTWZpUFp6Zm12UEtvSHROSWJtZERod1h0bHNQc0puaDdHcFpUTWF1ay93ODVLc2JvL0VoM2tuWlczalJnSWxCMnJ5ejhvdzVFaEhIVlNQaEhtVExvSFZKeU1iZWZ5Z0NkVFRtdVJhR3BHSzh4Mnd6RWExbUg2QXdZUzN0TElrcEFsL3hudXpITm5JZ3ZhbExmNkVHdUZOZHlZYytQZUUxUDM0UDhsVExzbUZTeXN2Sm81NDhWZmxFbEhWR0k5ZWZpS0VmcThJakVYdFhXc0owVzJVVW9RWHNLTXQySzRybXlSQVVjNXRPYmdhRlk5TzRhMFN6VHd2cXVtTk9GVTFUM1liVWxCTk5ldFZZOWRhRVl6RDhleDZoUkVGWFNObm5DaFZSR09QVmVNR0txcStHYXJ6NjdRa1lUMWUxaGFpd1hTeHpybU5MZzNyRlhOcHB1bUhPWTMvTFliTnlVSmc2QkpkZWdPQzFYalcvbWs1aHJMY0NWUlNpVDh3WTVlZiszMFVXUElKcHBuNGxxQ1prbzhkUFZCRjQ0eVJjZnJFOEFBVER1bG45UlZOWHlMOUVLRElhN1I1cEQ1Vng0WFVvc0ZvY2dzcEE5VFREbVNhVytFbUtlV3RJaVc5SkFvR3cwczdRQzJZaHlnRUhqMWkxUUxVakttQVpOZS84NzhDREFDMkVPamdOZmRXa3dBQUFBQkpSVTVFcmtKZ2dnPT1cIjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZWxzZSBpZiAod29yZEV4dGVuc2lvbnMuaW5kZXhPZihleHQpID49IDApIHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZS50aHVtYm5haWxCYXNlNjRJbWFnZSA9IFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEd0FBQUE3Q0FZQUFBQW4rZW5LQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVE00SURjNUxqRTFPVGd5TkN3Z01qQXhOaTh3T1M4eE5DMHdNVG93T1Rvd01TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRjZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09rWXpPRGt5TVVWQk9EVXdOekV4UlRjNU1qa3hRVGxCUmpnNFF6RkVRalkxSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2tZek9Ea3lNVVZDT0RVd056RXhSVGM1TWpreFFUbEJSamc0UXpGRVFqWTFJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2UmpNNE9USXhSVGc0TlRBM01URkZOemt5T1RGQk9VRkdPRGhETVVSQ05qVWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZSak00T1RJeFJUazROVEEzTVRGRk56a3lPVEZCT1VGR09EaERNVVJDTmpVaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NFQ0K29CQUFBYVJrbEVRVlI0MnN4YmFXeGMxM1grM2pMN2NCWU9ONUdpTmtxaVZzdVN2RlN4SGR0Sm5MaEkwclJOa0NhQXU2QUZBclJGZ2lKRzBSWDkwUTFvZ0M1SWl3WXBpcVJOZ0xacFVqaUY0NnkyNDlpMUxWdWJaVW1XcklXa2FKSWlLWXJrY0RqN1cvcmRjOTlzSkoyNnNWSDBBVStjdDkremZlYzc1MTRaeFlVeHhHd0hFNFVzeGxiVHVEQXpEVHNTeHRZdVlHSzJpRE0zeW5qWEZoTVBIZDZNNzUyZVRuN3p1UnNQcmZqaDk5WktLNSs0UGxkS0dvWmZoZWZBQU9CNEh1RDVDUGtHZktqZmdPRUF2czhqdjg0N2ZQaU8rdVBEOFBWZjMzVzVxM3M5OVFKMVMzRHN5enM4ejRYbG16Qmg4d0dYcDlVTHVKbThydTdodDJBWXZDNnZsM0dvWTA5K3U0aEV3M2pQUFZ2eHo1LzdoUlN2VE52WWNPT25QQU94aUkyK2RCamp0MVpIUC8zRlUzLzA3Uk0zUG03NnZqMjRLWWxkZlhGOFpQc2dQTlBtWFlZV2dzOVpmRHJDUTl2MDVad3RrdkhqdnFmSENWOEdwZVhWZzVhTmZ3MEs3eW1seUtPZUZrZ0U1N0VTd3FYSVZJWitEbkxOY3h2dkQ5N2pLK0VwS2crcnBvTi9mT3djZm5oaUVwWFZQS0xKZEplOVhsUjVIUDNaR0tibVZ5SXZucC83L0RQUGozMHFub3ZodDM1MlAzN3AzbUhzMjVLQWFVWmsrUC9mdDdISkpaeCtkUkxUMHpNWUdVMmpRMkNsSklPYXpLV2l1UFRHOHQyZi9jcXBiMVhLZnM4Zi85cnRlUFREbzRoSDRuTGZjczNEY29IV2NPcFVxQWZYTTdTaWduL0V6WlM5eFpWOU9lLzZqY3RhcFo2bkZkdjZ0cTkzZFpkNGRzTS9mWG0vUjdlR1dMMzFtTnd0SHVKM3ZNZmx1VERkN0o3UnJMaTJUMjh6REMycTNXNVprOElPOVNUdzFMbnhSNzd3YjY5K2RjdjJYdnpnZCsvQjdrMVpWQmc2VjI4NXFOWjk3WjRjc1dFcVFVMys5S0M5MnBMUmVMNnJBbEc3SnJTazZyNkdleG9pc0Jhd0tXelR6YjNXUGE0K1ozaml2d3dmNWJIYTVUMGVHd29yUkJHbS9rNmdUNEVBUjN1ZkJlM2lSdUNNZHVPRFBJV2huSTFubnAxKzVBdGZQdkhWaHg3WWhXLy93WU84d2NURXpUcUtEdVBUOVBnQ1g0T0N2TUJEWU1zbVdDaHJHTDYyc3RnOWVIZWdJeXBWcTFkZFU0TlhnM1Y5Qk1jSWxLUUZOZ0l0eUgzQmMxN3d2WWFaR3IvOXRyOUtIcnNaYllZYWxuaXVDQndQOFlkbFlYT1BqYjkrY3Z6WW4zenhsYTkrOE1GZCtOYnZQeWd4ZW5HMndvRVNJMDBORnZBRGFPTG9QUVBCT1cweEdJRmIrdEFDK25yb1J0Tnl5c1dONXFEOGhtLzdqWHRiYnFtT3ZVQUlaV21CTyszdE1QeFdDQUl0TDJuZlhLZHg3SFdjdDErZksyTnpOb3lwY2lINU8vLzA3TC9zMnAvQjQ0R3dseWlzY2cvYlVuSGFzQ2IvVlRIckd6S29EcmRVU0d0b3BKUU1GUnpyT1BaRnkzNXc3QWN1N1h2Nm5YN2dEUWlVcU1KRXZtaENsS1RqdWdub2ZNNExua09ud0Vid1hhL1Q4azJCSjBvcExES2dILzN5NmMvQnNMYjk0QThmRks4L04xMldBVnJxQmE0WHhLWVJ4SS9USEZ3VGdQeVdPNG8xbTFZdzJzNXJFeldBckRFZ3Q1R2VWRHlLVmsydFVPWlI5WEtGRGZxN3J1UmlmWk1wSHVBRkthd2RlQVcwbXZKM1poTDdBNGVHOEoxenMwZGVmTzc2cjMvdTBmdXdOWmZDMkh3Tk5ickVVTXBFYnhTb1M4RHlvNTRsSHpFc0gyTzNhbGl0K1lpSEF5VzRmaEJUQnVyOEhlUDV6Wm1JS01sdHVqOHhnTUtNelZkUUlnb21veFpxdkdZeVFvYTZvN3dXRW5IYUVkdFRwRVlRbHVTRFlWV3F1aGliS2lJYVlwemFocjVmdVZFZ3RMS3V5OSsycDYzUmlOMm13T2R2RmZFWFh6djltYjV0V1R6NmtiMVk1UXNMVlE0Z2FlUHB5UXBPM1hTUURXc1hWZ3AyK1UrZHBPbmorNklZVEJxWUt6aDBlYk9aaHBUM3hTTW1sb3N1L3Yza3ROeHJCY0k2cmkveCtNbGpPV3pxam1CdXVVYWhRMWdxVnZBUHowOUtKZ2laMmwzRjRvRTNORmhadVZMbi9UWWUrZUF3VmtvNk5acWg5cFFZL0ZWcHJPblNuZW5QUG5sbXF1OUhKNmQrL2k5LzR4NmxRMHd1VmhHeTZraEZRbmgxd2NOZmZiY0FkQmtORkpKMGc5azY5dVY2OGNpZE9jd3NGU21RR2lBL2JHcTh6aVZDZU9wU0FYLzJ0V2tnYkFWK1Q4a2R2bWQyRmZmdmp1Sm5qZzBTL1IzMHBDd1U1MTM4emRjblVDdlZLTEdodjZQQ3lBMWlSVkZPNVVGVHkzai93OE80L1RPMzRjbFhGdUNhcGlDYXNxTHJ0cXlvUXF4NTNCbkNzSjg0UHZ1aGREcmM5Y2k3dDhtTlZicHltQ290a0Z6YzBjdkJkcHV3YkI5UitwMHAzelpSVHJwNGZVbFV5VFJqQmFSQ21kOE1VTlFodXBlQlpBekpkSkNuWFV2eWQ3RWN3dkh4S2dXdVM1b3IxalhIN3VxTDBpc014SzBBbFdUM3RLVUV5VjBVQ3pGOCtBUERNdkRacFRvU2NWTXVHVWFROHhzc1ZlTGVEbHk2VTJEend2VEN1Ky9ZMVkrK1RJS3hWYUlBeklzSTA2MDliS05sTjhjcFNrMmpuaUNqa282eGMzNmhJZ00xV1hpNEFiRlF3bG9VYW9udWZIYU8xeTFxWHdvTFg2QkQ0b3J1ZnVwNlhqQWhHZEVPbzlPVW8ya0NBY29pVmlnQU03aGJ2cVhUV3AwM0ptemNjV0FBODRXYXhndFBDNmV0YVRROTEwREF6QkN3MzdhVVphNlVhejkzZUVkYURnbzFZcHJRTnc5bE1wVUJWa3k3MDN3TDQxcm5VRTgvektDOE11dGdwV0tnaTRPdU82NU9NL3h5TEdUaCttSWRsMi9XUkRqNWZLQisrV3pVeElXSk1oWlhIZlNuYkZaUGhpalpwRVdNQmlVMXRHa2F0SUppbzFTc1krZjJPRWEzSlRBK1UwSEV0dlQ3Sk5VWlFRYlFxYytrcXh1Tm9zVXcwRTQremNYbE1vNk05TWhCM2RINVQ5MnNHRlBDQ21Odk9nUlVYRnFINXgyZEptZ0NYRjJxWXI2NGloVHB0ZU1hbWk5ejRIR2krdGl0T3BhV0hZUnRWY1UxY3BKaVcxUUlsVEJOaEIrL1VVUi9Ud1JPblJhaUZVdkxWVGh6eTFncGxCa1pqV1RTcUp6NEQ4SHgySUYrWkx0aVdNelgrQjJMUW9NS0RyRzhEWW1pVlhVWElRWkVhQkRiMGlJNnJzNFFEZXZibmxzbnhGdXQ1QzJrTTZCK3ZIT2tXMTl6cWw2VFFzYkkyOHBpUlEvdjJ4R2hVSFd0VVFxbGhEdzd0d0xtTmNUaWRwczM2WlJsV3J5aFhNTFp5VlVjM2RXTk1ncXdtQVhlYzBjdnl2V01qT0hrNVR3NXV5ZUlyU0RhVXZoUTluSHZiVGw1MHh5VkhRMXI1dVc2RmZFdVI5RmRhSVN2RStTaUFWZ2E1aHJpQWIrTnIvaEdFUFNNUjdwbm9WYkhua3hJckZhaEFGRmIwMFNWTGN2Vk9zWnZNdHIzMkFTeU1qOFdRb0lBVnFsNGVHMm1MSUNtU1lmbW1XYkFUcXlBZkp3ZUwrRlhvY0UvVFd2OStTK1BZakFYeHZkT3pPRHBVL1A4VmdoR3dLTXJkVXBPTm5oc2Z4Wm5KNVp4ZVRhUFRDd1NzTEtBbVRXWU13VlhWbzJHYkRsbkt3VzNBWmR0ZExBUm8xVjArd3FwZ2MwTTcrMXBIeGZtUEVsYkhMa2VwZVBnNnB3U0xJdXBmQUUyRVhZd0c4ZU5CUmZYNXptS3FGS0VxOEZPS3BzQTlKUnU2WHBueG92Q21wSUpDMU0zSzdSYUNmUExDVHh4YWtsQ0tFTFNvc0xIcE5JcWRQYzkyeFBZTVp6QVk4Y1hSQWlqNFRWQmxXRjJjSEZQWkpKSWN2Mk8xR1MzbDJrS2xQU3h2bGhsYkE2bFFoaWhsUytNczRpZ3Z5cVVGaENpdjUyZExzdWd0dzdFY0drcXo5Z3M0Y0tzaWFrVkYvR1FHb1FwQTFHM20wMTZ5WC9vNnRmZUtPSVdTUThka0FCWVFoZWhvazdDYzNXNkpDV1ZMeDdoNnZwb3RZUUhidHVDQlBQNzlWbkZFK2prUkg4SlB5L0FoMVlXRm9KakI1MFFySFZwMTNQWFZScCtRUFNsUldPR3NKdXNDRzZlejdwTi9xRVErUEtOQ200U1RCN1kzWVBEZzBrYXZZNm5yNUpzckpaaDBnV2xadlphOU4zd2RScUpFRkRtYnBZRXlVZDZZM2k2dG9Kb3pFYWg1R0orc1lKR2JTZjFrdWxLRG4vZ1NBNkxaRmVMS3pWazA3YlF4d1lZTmlobHczTmRHa3BsTnFOQkxZMjJ0R1MyM2Rqb0x6WDVKMTlhY3gyTTlsRDlwSStlNHpVSkFiTUNwcGZybUZpb1NpaWtTVEp5bVpReWhyaTdMMzBsUmY5MW12T0k4SklCcE0vRjk1YzluTGxjd2dDOVJ6RzFFRlBKRFlMUmpjVWlJZ3I1Rkg3eWM3VUtmMlJ0SEI1TjRmeGtrZStrTU13bTFLMlVnQ3BlMWE3NHVpTzdPZ2ZoODFxY3p2SlE4ZkZtQkRjc3JRVFcrY3RIbnVpOGc3VnlMZ0dROHRLbE5ma0lxeEd0Vm5CeHV0SjhXYWxhd2NsclJPZ0lrWnVnWjZrT0psT0VXM1pRcjNtNnFnbmlVbW45eE5nQ1MzRUw2WWpGKzBLWVhDaWpXcW9qYk9vNlduVXZhNHRsSEI1SllIZ29nd3RYOHZRT1hSL1REcEpHSFJyQkNaVFoyaDNCRDEyaUsyODFwWnNqQWlzMDlueC9YV1hSNklLVWFoYUdHY2Q3VTd6RzVLOEdvUWlHb0c3Vng4WDVsc0RuS1B3NFl5eEdiellkVjFvelJWWWkzYVJVcVFpL0kvbGFDY0xSUmcyY3ZVS2VYaWR0alZsa1oyVk0zbHpsTVQxYTJrT3VKaUowNGZjYzZVZVVJWFJsdWtCbElCQkdVMXZseXA1WWRlM2VpS1BPOHRCVXZHeHRERGM0dHhKWXVVb3lGc0syUGpLTVNsWHpWRGZndUJ6MytGUkw0Rk9YT2VCQ25lN3BCcHpSUkMzdjRaTjN4bkY0YzVKc3FVS3J1OXBEbUZhdVRKWXhSNERyVHRYeDdNVUpUQytzd21BNjBjVUQ3eVZISm5mRmZiZjNZNGF4WFNCZUtBZFZvU1ZDT2dnYURZWUlXQk5YMXJ0VDk0T1MzV3JQU2dwRTI0cnhOc0dOb0dPbG1MVkN1ajE5TWJuUDVNZE1WL2VRRVRNSVBKVm1uSnk0VW15V2RENnRXVmNqb3ZBZnU3c2Iyd1lUb2d4SFZLOWkxc01xTGZyS1dBRWZ1M2NJdCsvb3hkUTh6NGY4Wm9la1FFb2J6WVp3ZERTRDgrT0ZvSEh2NkhqbDkvV3Vmdk9jTlBSZDRROXU0T0pONE91MHNOZEVPc05zcXlBVkp4V1lZNUZPWGozU2EzTXcxSEJkdTZxcG5xTi9YU2ZKV0Z6V09mWEV4SkxrWDlZTUV1dVZzbkpuQTNjZkhNVHVQcjY4N0lqRnhGV2x1QVpKeHF6aWJuam80QURLeXl2cVFZazdGZWNPUWV6SWFCZjZCc0k0L3RvOHdreUZxaG1ocUt6akJuOGRaVTMxMTVmZGJleU5CbjBUb1JzeDdMWHFxaldWbE55c3dycEk0TnFTaTZJL0hVYUpOYXV5cmhJb3hvdUwrUW9XR2N0TEs4eW5iNVFWWG1sVVZxWW1uOTQvRkpFMzcxR1ZDSzJ0OHFkcXdRZ3VFWm5QWE10cjc3aTRBQ3lWRWJKTnNhQmtqSlVxM245c0M0djlNcjc1N0JWTXpLemcxdklxcXJVYWhkSk5RWlZXSGRiYVlsbGxjVGwyZEJ1M2dVdHRKamF0WUE1SEMyaTJOQkUwMEZUcVh5RGxJb2hTYUtMUmFrM2lSUWtsTWJiSzFFVGljSDV5aFloYVJWeWhxeVBkS0ZxMGlrUGJ1dVI5ZS9rMzBaMUFqYzlieWpzY01TeXVrVk9yRVYxUkxzdkIyYTdPM1ZMZTJYVWNKTVBxNmNyaXN4L2RpMjM5RmtGeEVjY3ZUZVBLMUN6eUswVnk3cnJDUFNsQUJYTlVMTE1DcTlYYnNha2xzZTIzRVFQZHdOVjVXdld0S283RmdyMU9UM1F4bUFoakszUG1DNjdRczRESGVsSWtuQ1g0S0kycnpvUXVJWlc3R3RLbHVHdW5Gbmo3UUJRSCttMjhkSUZrUDJlS1Y0VUlYRE1zUWw0Nk80ZXJNd1ZWbFVpK1ZnTXFWb24ydVM3czM2Rm5PMzd4NFgxNDVPRWF6bzB0NDdrejh6aCtiaFpucjgxU1FKYXh1VGg2V0xaRm9qSHlnNkIrRGtpSjBTQ2hnZkMyNmtqNlhtZHl0dWh2UldxcFJGZXR1WDVBMTJpbEFSSnJZMDVjUnRXd29pbHl3dWRPejZQR1BJdUVLWjFGSlhPNVF0ZlBSSEZRYW0yRmRtSHNIK25DU3k4dndlaldMQ3hPRDhtekt2cVBaeWF4U09abHFYeldxSjJYS3pod2FCTkdkL2EyNVl3d2J0dlJKL3VuUHJ3Ykp4a0dUNTJad1hIK1BVR1V0LzBRK3ZxN2tPbEtvTi9vRW5La3FtWUZiSTJNYS91TitReVphdkUxZXRZdEZDcHVvQWhkNVJRWXUvZnVTWkFaMlpndk9Vam9PVU4wcWY3VmEzbUp1NjZFRGR2UmpWUy82R0wvY0JUN2h1SkJhOVhHVDQxbThTWC91amlBSVhtV0pTVExsMzk5Y29ZcDNwVk9wRFR0WkFLcmlydjJka2tYWkYxalNsVnNZVlpQaHdabEx6SmR2bkIrQ2srL1BJc1h6aTNoNWJQVGlNVk1mT1BwTE9Xd2tJemJ6VkMxRGJmVjRiWW9NRU9NdWQ1ck1uMEZhbVdlVSszWSsvZWxzWm04ZXBZeGk2enVDeXNrcjBsQllVcDNVb0dHTkh2eVZleTdmNEQ1TnRaTVc0ZEdNakJTcktWZHVxdmhTdzROa1Q4dUV0ek13Qm9xSkZ6VkZpYmFQM2lvdDhtVFRkTll4L2Y5b0ZwS1JDTjQ2STRSMmZNRTBTZFBUdUg3WnlieDFFdFRPSDU1QlpsUVV2cG51aDUydkNiZEpLdURhaHlhWnRBVER0b3lxb2U4cXpjRU14VEN2c0VvVHI1RVVUTzZjYVpzRjFFRE5JUG1tUnZNQURvMUhBbmlUNU5YRndkR2tveGxHMk52VUdHcHNKNzBWaThKNjBsd3FhNW9pYkxxV2ZmRWNQUzJ2b0QvcnArV0ZmcTdMcSt3dGs1SDhkSDM3cFM5VktwZ3owZ2NwODljdzYyRlBBWUc2N284dElMbmxzcWV0RWQwdDErbmJCV1BJYXAvRXdtQTJnN3pCVjloOGpQOGlHNlJTcFBlZys2MGUrS3FFdmNzNnUvY21XMmpiU3daYWUzOXcxbU1uVjhHa3Jha0o4UHpXMjJneG9UY3FvdERkL1JpMjlaTVovWDJGalk5YyttTGt1THhLRDc3aVNQQUp3NmlXQ3hoL1BxazloVDFqK29EcWpoVWNheGhTaFljb0VMM3pzWXQ5REFIcSszMmJTbjZOd2tBcldBNnVxblhBRDVQOVo0Wmx4WHk0azE5WWR3eG1tbkwrZnI1TzNjeExxczEzVWR3ZGI4NVJNdUdqTVkwQ3lRYzd0cWY2N0RtVzkxVTI5ZzA3YmJKZWw5Nk5MRllGNHFyaFVhdlRMZFJPNHNIdlJlcWRReXAzblRnVnZ1MlpkQ2JOWVJGR1NyMUtLb1QwRHFURE1kVWJXYVdqZnVHRTBnVHBkZHVkeDNxa2VhOFMwVXFEbUFHSlczRHdIVmhjQWJlZldqZ0hWa0IwSmlCbUoyZGJRWlhCMzl1dEVna2xaSlNxajZXbWhacDNOclhFOGYrelFrcERabTA2SkoxUGFzZ3UzWW5NSGNmM1pYYWNQYnU4UFlzY3YweFBsNGpZbHJyNHJOSUlPa2U3c0pkUjNQdmlNQkdVQzB0TFM0aWs4bDBDcXdiNGw3UXVmY0lWblVNcEN6MHBrTUl1Sk5zQjVWYjUrdTZENnk4UXhha2FEb29uUWdpN3AyajJhREwwZW1PZlFOSkhGRFBzL0pwdjlRc1loWnJPTFNuQzROOThYZElZQTUxWllXeVZMQnBZR0NEVlNtU2p2UVNBa1haTm5WSEJjd052M1hya1QwcHZhU0JwS0hCWWIxZ3lWS1plUzJlaVJDUmM5aVFvSE83YlUrM3BJUzFsMFFCVlBLeDBkN201Tnc3c2Izd3lnU1d5UjBpMGVnYWdmM0cyZ3NTY0NkTUltQmdLR3V0WGVLRDIraVdvVlFVVllJUFhHMWRRNFJuWVVDR05NcmFkOCt1ekpzTzRDNTF6VFNsWFdPMDdUWFZ0eUZBdnZ2b0FGb0xITjdlcGhMR1kwOWVRdFEwMm1JNG1JNFFZUTA5TDYzNnpyM0pFRktKYUV2U3dDUUhtVzYyOWtaUVkvbFdZeXFyS1FySzZsdVZhVmd1NCtDdWRHTlNCeDFHQ240ZlBramdTc2V4a2k5anRlckloTm9xT1hsNXlVSHYxaXp1UHB6cmlMK2ZDS3lDRHo5M2VoTFBrMzBONU5LZG9HVTBwelo4MGJ6dlY3RXRad1czR0cwSXpqUkNGblJvVnhLWXE4Q2xDenAwVDRlMWJwVkFCcFp5ZCsxTkJkMURmME5hT0xvamlZTWpmSGVoZ3JCYWFhY2FsU3o1Y0l0a2hXa3JrNGszdTV3LzZkWUloMjgrOHpwdTNzcXpsdDVnMlpJc0pQRlVhZVVqSGlFNlp5TWJhRTZ2eFBuYjM3c2J2LzByaDFqL2hqVEl5ZElGUjVZTEhkeVpDUmpTbWlnMWRPL2J0a040NHUvZXo5clc0VUJVVjg3VVU2bFVYbjkvdEpWTzFMZXNEbkNSOGJXdnlubXpUYWRSRno4Nk1ZOVVQSzRuRU5vRmJya2NjeXpkYkNkVFJ5d1draGwveTdEYUVydiswQ1pXVG1yLzhRaHBiRUFNVFBHYTRjRXM5emUzak9vODVvdDFLdCtUT1lRc0tXT1kxTmI4WDNqNTFUY1djWE94aFA2dXFGNzZ0TmJDalpVMENwRUh1eU1iUSt6YjNQd05PcVFiS2NrTTJzU0xySm9XbDJxc3lXOGhsUXhqSUJ2RFVIOEtvVkRMQ00xKytocVBPaisySXAxU3ZTRFZXRzlocFlRYVUweUsxSEZBelJ5b25wOWh2S1BDK3Y3NnltZERpbWpaNk9raThXRVpHRStVTURGWng2dVg4dmpld2lUTFVBdGJOcWZJeXpNWTJjS013ZmlVeWdrdEpkeFlXTUdwaS9OSUp5S0VsZFVtbHF4eGFaOUZ2NGM5bStrK3R2bW1nelorQWlWNFFVRWlPWnNlWlBQOWVqRU1Hc3Z0OUVJYzAyOVZRZnlPYWhFblkybHNIVWhoZEdRVnI0L0g4T3FGWmZ6bmR5ZndCV2FKdmR1VCtOTlBIMlhSbjI1TnBERnN2dlA4alBUWUVnemZwUVcxdk1KZUw3REhEMFNvL2MycDllN2NYRFZuNEcyNHVpOHpFQVdDVTUyeEdRbVpCRDFUaXZXd1RYSmpXWjBMVHRzS1FPWGlnejFkc3Q5M2V3MlhKbnJ4K0RNM3lCZHE5TWpZbXBCdzhmanowMGpGd2dUQ29xelZ0dTNJZW9ITFJPZkJwSW4rckluV2lzZVc5YjJBbUtqWjlYWXJlOEVLeUkwclZEUnJXaFcrMFVoWTBEenZWckN3eER6TVV0Qm1LYWtXcVBSMFJaaVNvclNHMVV5VmZqREhCRE5nWW1wZWl5NThZTmNROXUwY2tBWGtNRUp0VFFKRGVtVFBuWjdCYjM1MEZHZlArU2k2YlUyODlqenMxQ2h3T2taTjI3STZyak4rZlptc3FxaDg2N2lpOFFnTGkwUWlIQlFBeG5vbGJVRGtWZmN6RlFvalJzVjJFWVFLS3c3bUtmaTF5Ulc4eW9JaUdZdElVMjZnSjRyK0hLbWdHUXE2UExyYllMVEJ0SlNDbHJVdXpCNy9yM0hjbXMxano5WnVuQjNvd3VUMFhHdkpRME1ZVlJyRVNDVTM1YlIxemJVRFY4c1ErVEdiYmxnaHExTHJMRlJuVWFGbE1oeENKbTJ4SEl4MzJOaHY4dzVqVFNpRWVDSkRaYWw5Z0t4dGFTV0c2YmtpeG1jcmVPN3NEWm1PNmFHMXQyeUtZZXZtREFaN2t4VE9YRlBxb0VXS0FsMlg2ZzZlZUhFVzRXUU1PN2QyRWZSc3lkMmRGdWFBbUhyUlRhMTNwM1FwdUJhWWxDQzJXaXpDdUlqUkxaT3hDbTRWRGR5WUwyTnlwb2dxODNVWHJhTjZYbjBVb0R1VDZGam5xQmVmZDFDRHBrcENKQ0o5M1dwUFl2K0lnNm5aSk1abVZuRGhXaDRuWDdzSjA1NGlhQ1d4bDdYNDN1MFVucjlsclNXNXUybnFpV0JIcG5BdFBQWDhPRjY1dUVSaDA5ZzJsSlp5WFMyenNGcHBTUzlWVVhYM1FNWUtCdkkvcEF3aWFZSndueURQN21OZXZFbVhuSm1yNGZwMEhwZXVMa2kzWjZBM2poRU9iTWR3R2xteGZPZktlNzJzYXIzN2gybVJIVnR5c3Q5OXNJUXJVOHU0ZEcwWnB5OHM0WWN2VDlPYlRJenNTT1BPZlQxNCtGMWJaQjJtWW9nTlJ2WVkwVm4xNld5WkxEQmx4WDdIZW1uaHZHcjFLUi9ZaUVwdW5KcDBlbEp4SEdVOER2ZXBIVGl3UFlXSk9RN3dlaDRYTCtkeC9NUWNVblQxNFUxSjdOelNSYURKSVpkTzZLSmd2Y25id3NBUFdzQnhIQmxWK3lBZVBsYkV1V3Z6T0hIaEpyN3hnemRZMEJmeDAvZnRiQ3NJTEV6Tkw1Tkt2b0YwTG9GODJaT3FEMFlBZG1hYndGV2FOMG1CUThuUVd5eXFqUTF6Y1NJWndmNWtQL2J2Nk1ITS9qSmVHMXZFeGJFRlhKeFl3cG5YYitIN0wwNWg1MUFLUnc5MDQ4RHVUYkxnYk4yN055aWlsWEs3c3duY2Y4ZDIyVC93cm1GRW8zWWJMOUQzZmVucnIySHNoVm1nTjZXbXNvVStLd0NXQ3JCaFlkVjRpd1FmanRqMk8wT3BpSjZEL1VuWjMzZHN5NGI1K0grVHk5Y3E5K0N1VFJ0ZSs5QkR1M0gwMEZaNkhRVUxSZEhiRzJNSnVob3NRZzlBSzVGSTRObVhMeUtaTXBrWEszcSs2SzJVWlFiZWtuWENqQlhMTkpvMFFoYmU4Qk9WaXA3bi9iR3NyVzN0NU1ZZkQzcmdNR1RXZjNOZkFwc3lFU2xMVGF1S3g1K2V4cFhwWmFSU3NXWnRiZWU2STRYUGYrVms2dk4vZjN3Rjl2L0IvME42cTdUMDdiWjNnaVVSaUJBRGJ1OVg3V2RWcEJmK1c0QUJBSjJTek5ScXBoVVFBQUFBQUVsRlRrU3VRbUNDXCI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGVsc2UgaWYgKHBkZkV4dGVuc2lvbnMuaW5kZXhPZihleHQpID49IDApIHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZS50aHVtYm5haWxCYXNlNjRJbWFnZSA9IFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEd0FBQUE4Q0FZQUFBQTYvTmx5QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNVE00SURjNUxqRTFPVGd5TkN3Z01qQXhOaTh3T1M4eE5DMHdNVG93T1Rvd01TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRjZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09rWXlSVVF3UkVZeE9EVXdPREV4UlRkQk4wTkNRVVpCTlVZM05EQkdSVU13SWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2tZeVJVUXdSRVl5T0RVd09ERXhSVGRCTjBOQ1FVWkJOVVkzTkRCR1JVTXdJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2UmpKRlJEQkVSVVk0TlRBNE1URkZOMEUzUTBKQlJrRTFSamMwTUVaRlF6QWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZSakpGUkRCRVJqQTROVEE0TVRGRk4wRTNRMEpCUmtFMVJqYzBNRVpGUXpBaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6Nng0b0EzQUFBVFBrbEVRVlI0MnRSYmVaUWN4WG4vVlhYUHNkclZyclJhdEVJZzY3Q2s1WDZTTURFUWtLVmdHOWtSSkVBd1lQUHdjMktISzRBaW5IOFNiSWdVSGdaTXdNOFAyeHdHRERqRzRRam1zTkRqWVFrd3NvMHR3REdFUXdMdG9nUGQwdDQ3MDkxVitiNnE2cG1lM3A3VkNvbndNays5TTlOVDNWM2Y5ZnQrMzFjbHNXYk5HbXpldkJsVHBreFpNbjc4K0VzOXoyc1hRb0JmU2lsSUtjSGZ0ZGJtWFBwejh0MmM1L0Y4emc2Qmh2dXduNi80R1NPZFM4NkYzK041cEY3Yk4yM2F0S3lycSt2QmpvNE8rR0VZNWxwYlc1K1lQWHYyb3VibVpwREErUC8rWWtQRnIzSzUzRUtHZklEa1BDK0tvak5aNEt0bnpKaXhpTFhUMzk5ZjBWSXNPQTJxWEJ4YnUrYWR4L0JEY2puSUYxY0JOOTBLMVRRVytvYmxLRXliQWU4Z1dKWUY0UFBwSTNtZVB5ZS94OWZ4L0htdTA2Wk5XMHlXL2tjVytLcDhQbThtejBMR3dtUzVOTDhuM1pnL1N1a2psQUxSVCs4SEx2d3E1TVFKaUxidmducms1OGgzZGdHSEhXWWNHeENqRWpqdGxyRUFOV0dUR3B1OEptbmQySEI4amUvN0dCb2EraWRaS3BVbThraytZcXNsajFqSTdQaGdpZWthcmVDVHNONkNoZkMyN1VSREdDSVhSaGc4K3l3RUJ4REhTYzlLQ3A2bGxLb1Jxci9IODQvbFkxa2xEZTVOQm4vNndscUxpc3diQ3hMT2ZGcTh5R3FaUGVXN044RjcrZmNJTjNYeG96KzBzT25uWnMydjN0eVR5bkRDOThyNGduUXN4UEdRMUdMc0FjTXN3UEhiMUFoSmlNL3h6RmFWWDc0SURUeUJwNTlDZUJDQUtPdTU5Y0lnNjdkWVBsa3YrRG5ZaytmcmFWZTRDQTNQUGh2NnlWK2E3em0yOHFIdENIeFN4T3JuY2FDNFAreVpLYmZPQ3Iyays5ZU16VUs1TkNxT3BFbkI0eG1wbHl4QkdKQnRuMTFaZ1NmZGNRVDB1eHVnRG9LRnN3QnFKR1JQajZ2RWRUS0JwNjBhSTE2ZGVIQlBzK1A5dWZPQVNZZEJYMzY1c1RqZjJKczZGWUpJalRoSStUWHQxdlhBTk11eU5RSW5mYnhlRE5kWHZZUlBZOWx0NVIwL1FMVHVYZUIzdnpkQ1I0VWM5STVkQjhYQyt4dTdXV05ObW8wMUZ4OXBnRXJtNEJyTHhnOTBzTTl4Szg4OEUyclNKSVRubld2QXk1czRFVkxwajBUUU5NWGRGM0JWTER3cUs0NkdJYmtqOTU4L0I3cTZvRjcvRS9USkowTkVBV3Z3WTZXYVNTeVNTUlN1cDdGNjJxczVyOW10S1F4T25ROXg4cWtvTEZ3QVVBNk94bzRGU2dNZmlaV1RYamxhd1dXNnlzaHlqNnp2V2VlaXlDbnNzVWNSN3R3TmRjT044Q2Exd3o5b3NIWGc4UzRQNGkyUkV4N3lUQ1RiRDBGNHk4M1FmZjNRcFJKVWNjei9tVkRwakpJMmpCeXRLNHpxZ2RMZVVPb0ljdWszSVk0NkNtckxWZ05nMnQ0by92U3hXTmU0ZEpLY2oxYmdOQ0ZKVzlxbnYwVTZDbGRmalNBTUVGNi8zTkRMY3FRT0toREY2VE5yWG1sS09hS0ZEeFM1SmJrMjMxanQzbVdpVjE3emJlaGZyWWIyUFZjbWZqeFdOZ1FweWFhUzJoaWhaVkpUZTJZQm1GSVJJa2wxNkN1dlFSeDlwS0dZcGRPb2RPemNnR0RxTkFqS3paNWswY1dIdHU2SE5ZcjhLTFNwS1poTnlmL0tXdml6WnNONzlESEk5blpJK2h4MGQwTzVUc25Ia1k5bHVtMlN0bll5UjZlTGk3b0VoTWZ6bDNYcm9DZE1OTUo1Yjd5T1NJZndQemtEb3FjUFpUcGJEc3FVdnZWK3hXeFdNWk8yZUZiaFV5a1AwMEcvTDdEYVo2eG9LN1RxZXA5OUcrSzBCWVpMNXlhMFFYWjJJdHE3bDBySFF4RzgreTdDWE41MFRBNmszN1cvWGMrYTRpRkc2M3BWVWpxMnN6UVorNnBjL1lKMTY0WHpiZVZFWDNLSGZZTFkxMmFFVFhuSW1UTnB6RXRHR2FxU3N2WXRRRllUcng1S3A3M1VBdW8raVBkb0FDSXp1VDl3TjNSckd4VVRoOE00dUdDaEkySmVrNEROVzRGVC94eHE0U2tvLy91dEtIRmx0UStBRkM1TWRDcDhhZ3lUb2JpMFFtUlNjL1UwbHRVNUhCYjc5SStacFhJUFZzODlEMXg4cVNQczFtTWlUZnkzSENEbjV5QmUrRFg4cFZkQlhyMFUrTnhub2JyM1ZLd2RKWVRSQ1Z5UXZtL2FTWm9PRkFxVTdJdFFEUTEwRkNrcldDRFVraTNMUjdhWCtpTjFFWkxuMHk0VnR6OHJkYVpIbmhKUk92SnlVSGYrMEV6Y1g3ckVsSTBRdHNuajhhVHkwcEFRdzhodXVRMktsZklYQ3hBZGVRU0M3MzhQM2pubmtWS0dFQXdPd2dzaitIUkVLb1FtMGlLMWNJcWo1MFloUFZNaUlOcXFKMHlBWU1GTkg1MnN1SGVYeVJSWk12bFpMcHZGVnRMbmsraHQzMWtDendnVC9mTTE4T2NkRDdTMW1rbklPRTc1dHgwN29RbXg4WWVYRWE1N0QxR1o3RWtXOHpvM0FuOXpBVEQyN3lCYjI2SENrSzRKRWUya3laZktsVFRHN3dWM1A4OGRLdDhJUGVkWVJGKytBUHFLeTZBSUlNV09IY2JxenM5cmlVYzlzbEdQZ0ZkL1orTGhWWHpQdU5XVHY0RFl0UnR5NHlaTEo3ZnRRTzdaWjZBZmZ3cjZoVjhCSkhEa2xDQUtPZmhUcHlQcU9BYmluUFBoRVdwSFAvMEpncTROeHZXaWVYTlFKbnBhL05TbkVaRG5ZUGQyb0xlSFBDQ2lYRTdWV1U4L3NHMGJWT2Q2UkMrK2dOeVNxOUQwSHcraSsvSEhFWTV2aFVmRmkwcko1R2ZscXl4S2xueUhpMWxETUZob21yNW1GMmR0ZitVaXlEbHpBQkpjWHJzTXViZmV0Tlp0b29wcC9tZmdmKzUweUpQK0RHSldCMFJycTduR1R3TGVEZitHNE9HSEllNjdCL3I1MVJBMzNRSjkvdG1JNkw1cThSa21SRUozNkFSUjVkYncwUHEzMFR6ckNCUy9mUzM2N3JvTHVyL1Bwc2tFMXZpanlXZnAxaWRyRFJSREl1Y2pJS3Z3VFl3TC9zczF4Z0xpdGRlZ3o3c0E4amh5c3h0dmhQenJzK0RObm1WNWRRYktWaGRpT0U5U21YbnV1U2pUb1Y5YkMzbkhIWWgrY0RlODIyNjNYbkhra1JBbm5BaWNmQkx5Ujh4R09HTUtSTEdKWXAwOGRjVnpHT0l4YythWk9SbTdHQytzdHE3OGRNN0tkdC9Zb3NMd1pGRm9JTE5ZaTRvMy9nZjZ6anNobjNnYzZPeEM5SmtGRUJkZENHL1JGNkFtVDdiYzJsbFJERitvcVhrM24zZ2V4TDU4QWlROTUzZ0VQN3dUaWc3ODVnWElGU3NSUHJNUy9nUDNvWGovdmVZNkg5WE13R0tWcnJnU0E1ZGZDciszMTl3blZ1YXdHRTYzZVdySUNEdXRDZ2p5S2NZYW02d2JQdk0wNUxldUkvRDVBM1RSUXpCRWlwZzNGLzdxVlpab3hOWlVHcmJYSjBiRmlreDY1SlFTc3VDRXpPU1RrcnhJblRRZmdnNjk3SHFFclBRMzN3UTJiQURlZVEreWZ6ZkN0b2tvbjNnaTlOemo0ZlVQUWc4TUdNNk9laTZkQlZDVmMvVGdvRmlBM3pBR2hSVUVRRmRlQWF4ZkQwMFVVYTE2RHZyZXV5RHVmd2o2c2Y4eXNlVUhRd2lGejZ6R0hQeFF0Wi8xdHVsM0MrdVhlbkRJemN1RkZPWGc4T2hqb09qdzRyenY4cmRIMUJVVVhoRXZEaHJsNmVFckQxbEVJNmFYNXZjODVWWVNGc3YrRmQ0WHZ3QlJMa005OFJTaUxWdE1Mc3lSc1BLZWV3aHhweUpYS3RFa1BBc203b0VxZzZpTWRGUlpVelhBdFd2NEc2em9JekFpbC9Yb2lMcUptKy90Z2Q2OUJ4NWxCMFZjUUR0Z3pTcUEvSkZvb3hsRUxzbHVYUHpaUThDMTEyR0l5SUg2aHl1Tk52MlhYb0kzZnlIS0ZMUHFhMTlEZ2F1ZldLc2ZjaUU4eWVPenVobW1Cb2VvMGtwK0VybTlFZ200eVFqUFlXdExXWVRjUEZBNGw5bXl6YVFFL1FuaXhydTJvM0RqcmNpZmNncWl6NThHL09RQmg5U1JOVXBXVVhFQXEvN0RLQzlxVjBqTTc2bnY2Yld5K0xNL1lqcUt0ZGcvZ1BKbEY4TjcvVlhrL3VvYzIzQm5VbkhaWllodXY5MENWSCsvWVZwcEFkSXI4dnZiMWNpeVZGYmxsQzUwMHQ1UjQ5STF2bzdFQTJLeVFjTG9jUzBZdlBjKzVFNWJCRy85V3hoY2REcWlFMDh5Z09iM1VTeHhRYURWc0xiTlNEdHY5bFVHeGhPdndaTlIzQ09aNE5NOHd0ZmF4a0ZNS0xSTC90S1ZZd1pkZVZ0RGR6ZDBnYXFTQzgrdllrbFBEOGVFUVVScGJpU01hN21sdmt6VUg4MENtTmE2bG80a3RvZ1l3eVFBVVNmaXZWSlp1VTBXT3JIWklyNm43NDhiUzM5Y0ZTdHBRaXljOENxYlZtb1d3Z244R1IzZEdxc2hIOExrT2l1c0ZGN0NrZzVTak9DVlRWdm0vbFhqNkdIN1hXekxSMWZHbURKUFZnRktPMkxDS2N1TERhTGR2Q3VscXIyZTh6bVA1Vnp1ZTBXaXR5M3dONzI2RnAxbm5Ja216bDFVbGttUk14MTF1M2JqbWdOc1pFOVdPaUw4WVA3Tml5bWJBemJ1MW9pNjNlbzBqUnk1V1Jzbko2VmRXT25xZFF5TlJtam5rVllKcWlKa0JUOGlCMVJrbUw1OEFUdmZmZ3YrNFRmZkFyVnhDOHJUWnFKTXRTb3ZiL29POW9YcE40a1UvYlBhWlg1YWFVZXg0RzdwMUpxMlZuTHJMYklxYmtWaU8xRmtrQjFVTEswZEtWWVYzNDRiRHJGM2FhY0FPSXZIdk55SVRrQWEwRVRWK25XWS9OQWpFTThEZStjRExSV3BwQ09HSW1FeTh5NTUwMVBWWEVaSXowNVd4dXIzN1ZqcDIvTThNVTlXT0hMMWU5Szh1dGJVU2xXWFpGaElvcEgyWGJrQTFmYXpwVy9WOFhIMzA0eU42VmRVNDBlcmdHNi9yNURIVUNsQXdTUnZpWWhMUHA0ekF4RVRlSTQ1bG8yRklDNXRER1NFNG5FMmhwV1JnK05JMlVqanNPRHIzTDFZMXdZWUUvV3p1YWVicC9sZFc2OHhKNklnaGxqNld6QnV6WkRFUFRIdWZQQVk0eG5jQ2VIdUMxVnVPcUVRNWdQc3ppWWtWYlZUV1NMRzZETmxZcU1xU1dsRmV0WndqRi9tcys5Nk1kYkNpb2s4STJMc3dTYkd0ZWt4bFlsdWhwdTJWSXpIb2hmcG5vVkRKMEsxTkNFWUxHSG8vVTBtWlBnNUlVMCtSdzl2YkI0SFRHaXp6WG1LdGY2ZHUxRGV1ZDArMXQxSEVhbzJIbjQ0Y1dSV2ZtakFreWNnNlA1d3FWQklGOGNzWUk3dnhRVUlIYXdnbzlrb0poNXVteUZkS0ltZkdZcW1oQ3UzbEttVVdOQTRrazBVS2VmQ3hrVUp2SHIzb056V2pqZVdMVU5BcGFPWVRFSU9oZ2hmZVJudFQ2L0FyUGM2TVhUc01YajlHMStueVl5QkdOZU1zQnhnc0hNREduNnpCaDFyZm90RDJ0dW9TQ2hqeDRKVHNXSGhaODF1UHQzVWdLRXhCYlM4L1M2T3UvMUhSaUhDa0p2SVd0bDRQZWRwVjJ4bzVhSkJ1VHJZV2JlQytQVG55VnhoYjVsK0NYMWZCemxmbDNJNVhTcm1kYm1oUVpmR05PcWdxVW1IemMwNkhEZk9IcTJ0dW56SUlUcVlPRkVIN2UwNm5EeEpsOGlmaDA0NFFmZVJDdmtZMkwxTEQ5TDdkanArL2VvcitoMjZqNTQ3VHcrNDMvdDVEQjI3NkhpTGpwVzMzS28zRmhyTS9BZStlNVA1bmNjTnVYRjcxNzZtK3d0RmVuYUxlVzQwa1o3ZjFxYWo4YTA2b0RrRnpTMjYzRFJXbHh2SDBKeUxPaWpTa1NNWlNCYVdpV1dMU01hbjgvN2V1TXRWeWJreHpKdWtIbFhoSDQ2dldtNGFuNCs0VFdncFpSQVluc29Wako0NUE2SjVMTnArK3pzY1AyY3VtaSs1aE56OWZhdm0zYnZnZFJ3RlNTN2FlT2tsNktCVG4xcTZCTHN2L1licFQzdFUrUmpZdlBmSEtJeHRRY1BVR1dnOGF6SEVoQmJiRVRXdTZSQytBbWJXb2pidktoZmZEcmtkbjRndDdBaVNaVWhSWEtsd25IR1JMU3hDTWxEb3VKQTNJQkdSKzBjT0piV0pFMGxIWlBaZEJoZ1RsSWlnOUdIYm80K1lHR3laT1oydXQvc3hCYmRScWZqd05tK0cvNk03TUxUMG02QW94cVN2WGdUZUNTS3BsbVo1U2xzK3dQYStIdXg4ZndNR0tQWjlBZzR2bmpDNXV6bmlBc01odWNjY2hXUFMxTklhTloxYXh4VjhXMlU3OEhHMDB1elhpT0ZmdUNZNHRFdXhMbThxMjZIU0RoQzRDYzhXSGlLeDM1eDBHTFpPeVdINjMxK01RM2p5VDYxQXpyTXRYTU9JeGpSU1RSMUM5bmJEZS9FbDlIT1BiL1lSRnFSNis4MTlQdmpMeFZqWFdBQU9uWUxwSzUvRnJKODlTR1ZxczdVYTE3eHgvbmE1bk5IR0FHTGtlRUpxemNxV2xOemlnYW9FZHMzbWxrcVVWNG03aW9TOUVhY2JBKzBxVVdkU1ljNEYrYmcyZU8rOGc5bDAxeWxjVVYyL0hMbGZQZzAxZDA2RlpRVmdhOWpuN2cwSGpDTEd1RXFMOHFMeGxNbEhINFhKeHgyRGlES0YyUEVCZ252TEVNV3dVdGhYWE5xc0NDWmNYS0F1M1RNV1ZnNTd6YlZlZGF5TU40bkhRbXZiUXBIa1drWm9wMkhodUluWmtGb3Nva2phUDNiWmRVRG5adlQvOTZzSS8vaEh1N21VcUoxWk5xVWI1ZnNHZ2Y1ZTlQS0s2dnlGcEJ4NnJYM0Zva2xUd1l3djNmZGo1Qys1QW1KOE0wVU0vZExTWWpxbFZZNXQ4b2R0K0NscjNTekxKZzNJMS9xeDFpTTV3cDUxNTk2U0hWNXFteFpFVEN5cXUrZk5tZzlWVmVYbDF4dTNOQ0RHeXlEY2VnbVY4WlZCMHV3R0lqUmxTamNEWC9vU1B2bTkyOEI3ZlBUeTVWWnhidlZDOEg0Mmp2czllK0RsR3dBaVNOcFpVamhTSWh5R0tGY1hqVlNJeFh6TEY3WSt0TEdZSVhKc2FaUFFLNHRta1dGWVpvSzgyNXdGbzNITWowS3lSQ052S3UzcWdqOXVIRTBtc0IwS1J5bWp0b2tJdDJ4RVBsZkFUUHJlUmlBMzhMZGZSOFBLWjh6dkFWMXYya2VURDdjdXlMMDBZbWVtbHhWcDE4aFRGbGhEUnlVOW1MVXRqRmk0bUQ0ejk2OUQ0bHM1UWtEbHV2bTZycEVqbm9yaGl0SjZPUVdQQVhLbW9IdDZrYi9wWnZLNklZVDlnOFlpeGlzWXpJdDV5TzFiSWEvL0RzWVhmSHg2d2lTU3JJVHluOWFpL0l1bmtOKzRFWXJTR0FZR29WZXRScDdLT1BYU0dtaGlXTFlZc0JsQnh1VmkzUHB4cEZsb3NZOUdnR1YzQVNsTlBEcDVjdW1MVzdia2VZRXFFTDRyQlBUdytpMVIwMG1PUkJPUThlcTNzR2tpaU15a29vWWlWQzV2VWhmM0wza1pSZ3lWb0VwRHd6YVZtRHVRVlUyRG4vbDVkdy9pLzBmamNRK2N6M08rVjNacUtybTh5eHk4M3FZZ0VYZm9CWEowZlpubStIQlRVK0R2UE9yb3V6ZDJkMTgyWmFBZnhHVmd1TVFJdTEyczQ5dnVRcnkzMzNCcUZrellnbCtTNEtCOEdxYzA0ZjZyQjYvdG1vckxMRXduT3BOa1dlbUlqeUJYOTEyYTBhUWtMamhrcGZ5ckZnTGFOZnRIMnVnYTgvR0E3dnNPZ2EyLytBenRiNXd3L2x1ck9qb3VYanhZOXRwNmVvZ0Q5NXBKQjNGTldtL2xzTExVSDllNnd0WEt3cldNclBjbml1WXFXcnFPUm5XVGVaeE50T1BGcUttWkVYY3ZHRHU0K2FCSDN0Y2IvOWVFZ0VrUzVlNnRCSkFydG03RFNlZGZjTHJmM0RwMjk1dEh6anE5cjN2d3p1a0RwUW5OZWM4c1plaFUyWi8xOHVMZE90cFdKS2JFRUtJYVp5SnU4ZFRMRTBnSm5PaFl1RW1MZUtVeWtXRDFpSHZiZE55dE51VmhEM2xicHhTcSs0THp2akkwZmVycS94VmdBUFl3MVozL01Pa25BQUFBQUVsRlRrU3VRbUNDXCI7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5maWxlLnRodW1ibmFpbEJhc2U2NEltYWdlID0gXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURBQUFBQThDQVlBQUFBZ3dEbjhBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1UTTRJRGM1TGpFMU9UZ3lOQ3dnTWpBeE5pOHdPUzh4TkMwd01Ub3dPVG93TVNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVGNnS0ZkcGJtUnZkM01wSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pBME9FRkJNVVk0T0RVd1FURXhSVGRDUlRCRU9EQTFSVGt3UWtZd1JrRXpJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPakEwT0VGQk1VWTVPRFV3UVRFeFJUZENSVEJFT0RBMVJUa3dRa1l3UmtFeklqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNRFE0UVVFeFJqWTROVEJCTVRGRk4wSkZNRVE0TURWRk9UQkNSakJHUVRNaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk1EUTRRVUV4UmpjNE5UQkJNVEZGTjBKRk1FUTRNRFZGT1RCQ1JqQkdRVE1pTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo0eVA1aWVBQUFGRDBsRVFWUjQydXhheVVzYlVSaC9pYVBHZlFzS2VyR3V1Q0FGTDU0S0lpcDZzVklFZTVNZVJKSHFYOU5lbENxMVNDdUZHb1BpVXBlRG9oNFV4WlBlM1NPNGErTFc5M3Y2aHNtUW1Ka2tzMGp6d1RDVE9HYSszN2Y4M3ZkOWJ5eFRVMU5WYTJ0clB4NGZINk9zVnV1TnhXSWg5TnBLbm9SZVB0cnBPWjRlZC9TYVNFWCtPVmk1djcrMzBWTjBSVVhGcCt6czdQN3I2MnNTRlJWRm9xT2pTVnhjSEx2R0lRZ0NnWDVTRWRiWDE0ZjI5dmJlSkNRa2VQMUJmcU12VVhLUEVzSHZ1TjF1c3JpNCtLMnFxaW91THkvdjY5WFZsYUwvRlM0dUx1eXBxYW1pTXJCcXVDeXJSS2pYMlJrR3ZMbTVJVXRMUzErb3BUMzUrZmw5U2tBSWNOUHQ3UzBEZ0I4N1B6OW4xdUEvckpYQVNIaEdjbkl5TytPenpXWWpDSitGaFlWZWZGZFVWTlFIWFY0RThCeno1T0hoZ1ZtZ3JxNk9GQlFVRU9vWlRRSEV4c1l5WTAxTVRMQm54Y1RFTUQzaTQrUEo1ZVVsbVp1YjY2WGZ1Y3ZLeWdiUHpzNzhBK0F4Q0FBMG1RaDFIY25OemRVbGZPRDUyZGxaOW14Y3c5cndDTUlKSUthbnA3OVRFSjZTa3BKZnA2ZW52a09ReHpzSGNYZDNwMXY4UTJrOEQ4clNjQ0hsNWVYazRPQ0E2Y0ZKWld4czdPZlcxdGFIakl3TW4yRnRKU1lRSkd0aVlpSnBhMnRqSUhaMmRsZzRKU1VsTWNNNkhJN2ZtNXViSDlQVDAxbW9nVkk1R0ZNQTRPUUI2ZXpzOUFJQllGQjRkSFIwaUZMK2Uxd2owZUU5MHdDUVMxZFhGNkZ4VDNaM2QwVVFZRXVuMC9sbmRYVzFFYmtLcnpFbTA1UHpsUXFzREJDRmhZVWlDT1FFd29sUzdKakw1YXBKUzB0N0FrQk1LckI0ZDNjM28zUmFLYkR2a0JPdy91VGs1Ti85L2YxM0xMSE5vQ3hmMUh5QjZPbnBJY1hGeGVUbzZFZ0VnZlZxWkdSa2h1YkpXOU40d0Y5ZEJSQWRIUjJNWnJHZ2dXSlIrbmc4SG9HeTAwL0JETXFucEtRdzFoa1lHR0FLU3ZNU0lZTjRoNGNBQm9KN3NPRFJGVHhiWEltTlNHWThFMlVFUW9MR05ObmUzaFpEU2VvUnprU29sYUE4a2h4bmxDT0MwV3lUazVQRGxFUGREMnZMZXcxZUhlTUFLSURGZlJ5Z29RQmcwZmIyZHZFenJPb1BBSm9aSFAzOS9XUmpZNE9GbGVFQXVCZDhYZnNUbEJKU29LWmRCL3dKaWo5cGZydzZBSEs2ZlhVQVRGbE8vOWNBQXJJUXVxWGw1V1ZHWlVwWUlweE5EbHBiMmhPSEJnRDF4L0R3TUFPQWxVOHZRZkdHQVVQSUFHQjF1OTNPQUlDRDlXUWJWSjZCV0NnZ0FDemJzSWJlSGpnOFBDUXZqVk1VQTBBbjFORFFvSGlsREpjZzk5Q1JoUXdBWld0emMzT0VSZzJsMFpXVkZVMUNpQSswMFBkcUJrQkxHa1d6M3RyYXFncUF2UEZTUktQby9yV2dVVlNXR09hcUxiK2xJQlRScU12bDBzUURvRXFFa2Fxa2ZSN0ZLd2FBZHEreHNWR1RITUE0RVJNNHRYMjBkREVMQ0FDcllWTlRVNFJHRGFOUnVIbG1aa1pzckxVVVRCd3dRcStwcVFrdmdQSHhjVjFxb1pPVEU3WkRGRllBc0hwbVpxWXUxU2dNQk1vT1ZLV3FwbEhRblY0ZThGVkNoMXlOMXRiVzZwSUQySGtKNUlHZ3F0R1dscFlJalJwR281Z2V6OC9QQjcwUzgrYThzckxTdUhYQTZYUUduY1JvUjZ1cnE4TUtRRlVwRVdwVDc2ODVEMFZVMCtqeDhYRkFBUElOQ2FrSGxMNDZvN1FhVlJWQ3NCNTZZbmtWS0ZkVU9zK1hqcjlSTHF1dE9GWG53RXZiU3lpbjYrdnJJelFhQWVBUFFMamVlelBjQTN5M1hNL3BXekRpdDZtSDhqaXc0WXo2UjhsY1VsZExVOTJ3RlF1OXBIVHVCUUFqRGpRdkRvZEQ4NWYrZ2wzQUFBSmJySnlxQmVtWUFtZHM1OE5OWnN3Tkh1WmVJVVFSM1dPYkgzei9Hc1RqOFlnclA2b0VvYlMwOURPTnEwR2J6WGFMVjQ5ZkNmbFkzRzUzWWxaVzFzSS9BUVlBL2FPeG1Qekk3dVVBQUFBQVNVVk9SSzVDWUlJPVwiO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLmZpbGUgJiYgdGhpcy5maWxlLmZpbGVEYXRlKSB7XHJcblxyXG5cdFx0XHRjb25zdCBkYXRlRm9ybWF0ID0gJ01NTS4gRCwgWVlZWSc7XHJcblx0XHRcdGNvbnN0IHRpbWVGb3JtYXQgPSAnaDptbTpzcyBhJztcclxuXHJcblx0XHRcdHRoaXMuZmlsZURhdGVGb3JtYXR0ZWQgPSBtb21lbnQodGhpcy5maWxlLmZpbGVEYXRlKS5mb3JtYXQoZGF0ZUZvcm1hdCk7XHJcblx0XHRcdHRoaXMuZmlsZVRpbWVGb3JtYXR0ZWQgPSBtb21lbnQodGhpcy5maWxlLmZpbGVEYXRlKS5mb3JtYXQodGltZUZvcm1hdCk7XHJcblx0XHRcdFxyXG5cdFx0XHQvLyBjb25zdCBmaWxlRGF0ZUZvcm1hdCA9ICh0aGlzLmZpbGUuZmlsZURhdGVGb3JtYXQgPz8gJycpICE9PSAnJyA/IHRoaXMuZmlsZS5maWxlRGF0ZUZvcm1hdCA6ICdNTU0uIEQsIFlZWVkgaDptbTpzcyBhJztcclxuXHRcdFx0Ly8gdGhpcy5maWxlRGF0ZUZvcm1hdHRlZCA9IG1vbWVudCh0aGlzLmZpbGUuZmlsZURhdGUpLmZvcm1hdChmaWxlRGF0ZUZvcm1hdCk7XHJcblx0XHRcdC8vIHRoaXMuZmlsZVRpbWVGb3JtYXR0ZWQgPSBtb21lbnQodGhpcy5maWxlLmZpbGVEYXRlKS5mb3JtYXQoZmlsZURhdGVGb3JtYXQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b25DbGljaygpIHtcclxuXHRcdGlmICh0aGlzLmZpbGVDbGlja2VkKVxyXG5cdFx0XHR0aGlzLmZpbGVDbGlja2VkLmVtaXQodGhpcy5maWxlKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGRlbGV0ZUZpbGUoZTogRXZlbnQpIHtcclxuXHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG5cdFx0aWYgKHRoaXMuY29uZmlybURlbGV0ZSA9PT0gZmFsc2UpIHtcclxuXHRcdFx0dGhpcy5maWxlRGVsZXRlRW1pdHRlci5lbWl0KHRoaXMuZmlsZSk7XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0U3dhbC5maXJlKHtcclxuXHRcdFx0XHR0aXRsZTogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/JyxcclxuXHRcdFx0XHR0ZXh0OiBgJHt0aGlzLmZpbGUudGl0bGV9YCxcclxuXHRcdFx0XHRzaG93RGVueUJ1dHRvbjogZmFsc2UsXHJcblx0XHRcdFx0c2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuXHRcdFx0XHRjb25maXJtQnV0dG9uVGV4dDogJ0RlbGV0ZScsXHJcblx0XHRcdFx0Y3VzdG9tQ2xhc3M6IHtcclxuXHRcdFx0XHRcdGNvbmZpcm1CdXR0b246ICdidG4gYnRuLW91dGxpbmUtZGFuZ2VyJyxcclxuXHRcdFx0XHRcdGNhbmNlbEJ1dHRvbjonYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeScsXHJcblx0XHRcdFx0ICB9LFxyXG5cdFx0XHQgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRcdGlmIChyZXN1bHQuaXNDb25maXJtZWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsZURlbGV0ZUVtaXR0ZXIuZW1pdCh0aGlzLmZpbGUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0ICB9KVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgZWRpdFRpdGxlKCkge1xyXG5cdFx0dGhpcy5pc0VkaXRpbmcgPSB0cnVlO1xyXG5cdFx0dGhpcy50ZW1wVGl0bGUgPSB0aGlzLmZpbGUudGl0bGU7XHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0dGhpcy5lZGl0VGl0bGVJbnB1dFJlZi5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDAsIHRoaXMuZWRpdFRpdGxlSW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGgpXHJcblx0XHR0aGlzLmVkaXRUaXRsZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuXHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblx0fVxyXG5cclxuXHRvbktleURvd24oZTogS2V5Ym9hcmRFdmVudCkge1xyXG5cdFx0aWYgKGUud2hpY2ggPT09IDEzKSB7XHJcblx0XHRcdHRoaXMuZmlsZS50aXRsZSA9IHRoaXMudGVtcFRpdGxlO1xyXG5cdFx0XHR0aGlzLmZpbGVDaGFuZ2VFbWl0dGVyLmVtaXQodGhpcy5maWxlKTtcclxuXHRcdFx0dGhpcy5pc0VkaXRpbmcgPSBmYWxzZTtcclxuXHRcdFx0ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZm5Eb2N1bWVudENsaWNrLCB0cnVlKTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoZS53aGljaCA9PT0gMjcpIHtcclxuXHRcdFx0dGhpcy50ZW1wVGl0bGUgPSBudWxsO1xyXG5cdFx0XHR0aGlzLmlzRWRpdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgZG9jdW1lbnRDbGljayhlOiBNb3VzZUV2ZW50KSB7XHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0Y29uc3QgY2xpY2tlZEluc2lkZSA9IFNsaWNrVXRpbHNTZXJ2aWNlLmNoZWNrUGFyZW50Q2xhc3NFeGlzdHMoPEhUTUxFbGVtZW50PmUudGFyZ2V0LCAnc2xpY2stZmlsZS1saXN0LWl0ZW1fdGl0bGUnKVxyXG5cdFx0aWYgKGNsaWNrZWRJbnNpZGUpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRpZiAodGhpcy5pc0VkaXRpbmcgPT09IHRydWUpIHtcclxuXHRcdFx0dGhpcy5maWxlLnRpdGxlID0gdGhpcy50ZW1wVGl0bGU7XHJcblx0XHRcdHRoaXMuZmlsZUNoYW5nZUVtaXR0ZXIuZW1pdCh0aGlzLmZpbGUpO1xyXG5cdFx0XHR0aGlzLmlzRWRpdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXN5bmMgb25DaGVja2JveENsaWNrZWQoZTogTW91c2VFdmVudCkge1xyXG5cdFx0dGhpcy5maWxlLmlzQ2hlY2tlZCA9ICF0aGlzLmZpbGUuaXNDaGVja2VkO1xyXG5cdFx0aWYgKHRoaXMuY2hlY2tDaGFuZ2VkKVxyXG5cdFx0XHR0aGlzLmNoZWNrQ2hhbmdlZC5lbWl0KGUpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2xpY2stZmlsZS1saXN0LWl0ZW1cIiBpZD1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX3t7dXVpZH19XCI+XHJcblx0PGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX2ltZyBncmF5LWJsb2NrIGNhcmRcIiAoY2xpY2spPVwib25DbGljaygpXCIgW25nU3R5bGVdPVwieyAnY3Vyc29yJzogKHNob3dQaG90b0dhbGxlcnkgPT09IHRydWUpID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnIH1cIiBbc3R5bGUubWluSGVpZ2h0LnB4XT1cIml0ZW1TaXplICsgMlwiIFtzdHlsZS5taW5XaWR0aC5weF09XCJpdGVtU2l6ZVwiPlxyXG5cdFx0PGltZyAqbmdJZj1cImZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2VcIiBbc3JjXT1cImZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2VcIiBbc3R5bGUubWF4V2lkdGgucHhdPVwiaXRlbUltZ1NpemVcIiBbc3R5bGUubWF4SGVpZ2h0LnB4XT1cIml0ZW1JbWdTaXplXCIgLz5cclxuXHRcdDxpbWcgKm5nSWY9XCIhZmlsZS50aHVtYm5haWxCYXNlNjRJbWFnZSAmJiBmaWxlLmJhc2U2NEltYWdlXCIgW3NyY109XCJmaWxlLmJhc2U2NEltYWdlXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1JbWdTaXplXCIgW3N0eWxlLm1heEhlaWdodC5weF09XCJpdGVtSW1nU2l6ZVwiIC8+XHJcblx0XHQ8aW1nICpuZ0lmPVwiIWZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2UgJiYgIWZpbGUuYmFzZTY0SW1hZ2UgJiYgZmlsZS50aHVtYm5haWxVcmxcIiBbc3JjXT1cImZpbGUudGh1bWJuYWlsVXJsXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1JbWdTaXplXCIgW3N0eWxlLm1heEhlaWdodC5weF09XCJpdGVtSW1nU2l6ZVwiIC8+XHJcblx0XHQ8aW1nICpuZ0lmPVwiIWZpbGUudGh1bWJuYWlsQmFzZTY0SW1hZ2UgJiYgIWZpbGUuYmFzZTY0SW1hZ2UgJiYgIWZpbGUudGh1bWJuYWlsVXJsICYmIGZpbGUudXJsXCIgW3NyY109XCJmaWxlLnVybFwiIFtzdHlsZS5tYXhXaWR0aC5weF09XCJpdGVtSW1nU2l6ZVwiIFtzdHlsZS5tYXhIZWlnaHQucHhdPVwiaXRlbUltZ1NpemVcIiAvPlxyXG5cdFx0PGkgKm5nSWY9XCJhbGxvd0RlbGV0ZVwiIGNsYXNzPVwiZmFzIGZhLWNpcmNsZS14IGJnLXdoaXRlIHRleHQtZGFuZ2VyXCIgKGNsaWNrKT1cImRlbGV0ZUZpbGUoJGV2ZW50KVwiPjwvaT5cclxuXHRcdDxkaXYgY2xhc3M9XCJmaWxlLWluZm9cIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX3RpdGxlXCIgW3N0eWxlLm1pbldpZHRoLnB4XT1cIml0ZW1TaXplXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1TaXplXCI+XHJcblx0XHRcdCAgPGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX2Rpc3BsYXktdGl0bGVcIiAjdGl0bGVEaXZSZWYgc3R5bGU9XCJjdXJzb3I6IHBvaW50ZXJcIiAqbmdJZj1cIiFpc0VkaXRpbmdcIiAoY2xpY2spPVwiZWRpdFRpdGxlKClcIj5cclxuXHRcdFx0XHR7eyAoZmlsZS50aXRsZSA/PyAnJykubGVuZ3RoID4gMTggPyAoZmlsZS50aXRsZSA/PyAnJykuc2xpY2UoMCwgMTgpICsgJy4uLicgOiBmaWxlLnRpdGxlIH19XHJcblx0XHRcdCAgPC9kaXY+XHJcblx0XHRcdCAgPGRpdiAjZWRpdFRpdGxlRGl2UmVmIGNsYXNzPVwic2xpY2stZmlsZS1saXN0LWl0ZW1fZWRpdC10aXRsZVwiICpuZ0lmPVwiaXNFZGl0aW5nXCI+XHJcblx0XHRcdFx0PGlucHV0ICNlZGl0VGl0bGVJbnB1dFJlZiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJ0ZW1wVGl0bGVcIiAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiIFtzdHlsZS53aWR0aC5weF09XCJpdGVtU2l6ZVwiIC8+XHJcblx0XHRcdCAgPC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwic2xpY2stZmlsZS1saXN0LWl0ZW1fdGl0bGVcIiAqbmdJZj1cImZpbGVEYXRlRm9ybWF0dGVkXCIgW3N0eWxlLm1pbldpZHRoLnB4XT1cIml0ZW1TaXplXCIgW3N0eWxlLm1heFdpZHRoLnB4XT1cIml0ZW1TaXplXCI+XHJcblx0XHRcdCAgPGRpdiBjbGFzcz1cInNsaWNrLWZpbGUtbGlzdC1pdGVtX2RhdGVcIj5cclxuXHRcdFx0XHQ8ZGl2ICpuZ0lmPVwiZmlsZURhdGVGb3JtYXR0ZWRcIiBbc3R5bGUubWluV2lkdGgucHhdPVwiaXRlbVNpemVcIj57eyBmaWxlRGF0ZUZvcm1hdHRlZCB9fTwvZGl2PlxyXG5cdFx0XHRcdDxkaXYgKm5nSWY9XCJmaWxlVGltZUZvcm1hdHRlZFwiIFtzdHlsZS5taW5XaWR0aC5weF09XCJpdGVtU2l6ZVwiPnt7IGZpbGVUaW1lRm9ybWF0dGVkIH19PC9kaXY+XHJcblx0XHRcdCAgPC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG5cdDwhLS0gV2Ugd2FudCB0aGUgdXNlciB0byBiZSBhYmxlIHRvIGNsaWNrIGp1c3QgYSBsaXR0bGUgb3V0c2lkZSBvZiB0aGUgY2hlY2tib3ggYW5kIHN0aWxsIGhhdmUgaXQgY2hlY2sgLS0+XHJcblx0PGRpdiAqbmdJZj1cInNob3dDaGVja2JveCA9PT0gdHJ1ZVwiIGNsYXNzPVwic2xpY2stZmlsZS1jaGVja2JveFwiIChjbGljayk9XCJvbkNoZWNrYm94Q2xpY2tlZCgkZXZlbnQpXCI+XHJcblx0XHQ8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW25nTW9kZWxdPVwiZmlsZS5pc0NoZWNrZWRcIiAvPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxzbGljay1jb25maXJtLWRpYWxvZyAjZGVsZXRlQ29uZmlybVJlZiBva0J1dHRvblRleHQ9J0RlbGV0ZSc+XHJcblx0PGg0IGNsYXNzPVwicC0wIG0tMFwiPkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/PC9oND5cclxuXHQ8aDUgY2xhc3M9XCJwLTAgbS0wXCI+XCJ7e2ZpbGUudGl0bGV9fVwiPC9oNT5cclxuPC9zbGljay1jb25maXJtLWRpYWxvZz4iXX0=
@@ -40,10 +40,10 @@ export class SlickInitService {
40
40
  SlickInitService.getParams().errorLog = errorLog;
41
41
  }
42
42
  }
43
- SlickInitService.version = "5.0.21";
43
+ SlickInitService.version = "5.0.22";
44
44
  /** @nocollapse */ SlickInitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickInitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
45
45
  /** @nocollapse */ SlickInitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickInitService });
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickInitService, decorators: [{
47
47
  type: Injectable
48
48
  }], ctorParameters: function () { return []; } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2staW5pdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvdXRpbHMvc2xpY2staW5pdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBR0MsYUFBUSxHQUFXLFNBQVMsQ0FBQztJQUc5QixDQUFDO0NBQUE7QUFHRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzVCLGdCQUFnQixDQUFDO0lBR2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBMkI7UUFDdEMsT0FBTyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNyRSxVQUFVLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUN4QyxNQUFPLENBQUMscUJBQXFCLEdBQUcsVUFBVSxDQUFDO1FBRWpELE9BQWEsTUFBTyxDQUFDLHFCQUFxQixDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUztRQUNmLElBQUksQ0FBTyxNQUFPLENBQUMscUJBQXFCLEVBQUU7WUFDekMsTUFBTSxhQUFhLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUM1QyxhQUFhLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUMxQixNQUFPLENBQUMscUJBQXFCLEdBQUcsYUFBYSxDQUFDO1NBQ3BEO1FBRUQsT0FBOEIsTUFBTyxDQUFDLHFCQUFxQixDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVztRQUNqQixPQUFPLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxlQUF1QjtRQUN6QyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVztRQUNqQixPQUFPLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFnQjtRQUNsQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ2xELENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVztRQUNqQixPQUFPLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFnQjtRQUNsQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ2xELENBQUM7O0FBN0NNLHdCQUFPLEdBQUcsUUFBUSxDQUFDO2dJQURkLGdCQUFnQjtvSUFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTbGlja0luaXRQYXJhbXMge1xyXG5cdGF0dGFjaFRvOiBzdHJpbmc7XHJcblx0cGxhdGZvcm06IHN0cmluZztcclxuXHRlcnJvckxvZzogc3RyaW5nID0gXCJtaW5pbWFsXCI7XHJcblx0dmVyc2lvbjogc3RyaW5nO1xyXG5cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2xpY2tJbml0U2VydmljZSB7XHRcclxuXHRzdGF0aWMgdmVyc2lvbiA9IFwiNS4wLjIxXCI7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG5cclxuXHRzdGF0aWMgaW5pdChpbml0UGFyYW1zOiBTbGlja0luaXRQYXJhbXMpOiBTbGlja0luaXRQYXJhbXMge1xyXG5cdFx0Y29uc29sZS5pbmZvKGBTbGljayBDb21wb25lbnRzIFZlcnNpb24gJHtTbGlja0luaXRTZXJ2aWNlLnZlcnNpb259YCk7XHJcblx0XHRpbml0UGFyYW1zLnZlcnNpb24gPSBTbGlja0luaXRTZXJ2aWNlLnZlcnNpb247XHJcblx0XHQoPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcyA9IGluaXRQYXJhbXM7XHJcblxyXG5cdFx0cmV0dXJuICg8YW55PndpbmRvdykuc2xpY2tDb21wb25lbnRzUGFyYW1zO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIGdldFBhcmFtcygpOiBTbGlja0luaXRQYXJhbXMge1xyXG5cdFx0aWYgKCEoPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcykge1xyXG5cdFx0XHRjb25zdCBkZWZhdWx0UGFyYW1zID0gbmV3IFNsaWNrSW5pdFBhcmFtcygpO1xyXG5cdFx0XHRkZWZhdWx0UGFyYW1zLmF0dGFjaFRvID0gXCJib2R5XCI7XHJcblx0XHRcdCg8YW55PndpbmRvdykuc2xpY2tDb21wb25lbnRzUGFyYW1zID0gZGVmYXVsdFBhcmFtcztcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gPFNsaWNrSW5pdFBhcmFtcz4oPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcztcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBnZXRBdHRhY2hUbygpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuYXR0YWNoVG87XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgc2V0QXR0YWNoVG8oYXR0YWNoVG9FbGVtZW50OiBzdHJpbmcpIHtcclxuXHRcdFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuYXR0YWNoVG8gPSBhdHRhY2hUb0VsZW1lbnQ7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgZ2V0UGxhdGZvcm0oKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBTbGlja0luaXRTZXJ2aWNlLmdldFBhcmFtcygpLnBsYXRmb3JtO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIHNldFBsYXRmb3JtKHBsYXRmb3JtOiBzdHJpbmcpIHtcclxuXHRcdFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkucGxhdGZvcm0gPSBwbGF0Zm9ybTtcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBnZXRFcnJvckxvZygpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuZXJyb3JMb2c7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgc2V0RXJyb3JMb2coZXJyb3JMb2c6IHN0cmluZykge1xyXG5cdFx0U2xpY2tJbml0U2VydmljZS5nZXRQYXJhbXMoKS5lcnJvckxvZyA9IGVycm9yTG9nO1xyXG5cdH1cclxufVxyXG5cclxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2staW5pdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvdXRpbHMvc2xpY2staW5pdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDLE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBR0MsYUFBUSxHQUFXLFNBQVMsQ0FBQztJQUc5QixDQUFDO0NBQUE7QUFHRCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzVCLGdCQUFnQixDQUFDO0lBR2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBMkI7UUFDdEMsT0FBTyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNyRSxVQUFVLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUN4QyxNQUFPLENBQUMscUJBQXFCLEdBQUcsVUFBVSxDQUFDO1FBRWpELE9BQWEsTUFBTyxDQUFDLHFCQUFxQixDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUztRQUNmLElBQUksQ0FBTyxNQUFPLENBQUMscUJBQXFCLEVBQUU7WUFDekMsTUFBTSxhQUFhLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUM1QyxhQUFhLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUMxQixNQUFPLENBQUMscUJBQXFCLEdBQUcsYUFBYSxDQUFDO1NBQ3BEO1FBRUQsT0FBOEIsTUFBTyxDQUFDLHFCQUFxQixDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVztRQUNqQixPQUFPLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxlQUF1QjtRQUN6QyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVztRQUNqQixPQUFPLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFnQjtRQUNsQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ2xELENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVztRQUNqQixPQUFPLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFnQjtRQUNsQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ2xELENBQUM7O0FBN0NNLHdCQUFPLEdBQUcsUUFBUSxDQUFDO2dJQURkLGdCQUFnQjtvSUFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTbGlja0luaXRQYXJhbXMge1xyXG5cdGF0dGFjaFRvOiBzdHJpbmc7XHJcblx0cGxhdGZvcm06IHN0cmluZztcclxuXHRlcnJvckxvZzogc3RyaW5nID0gXCJtaW5pbWFsXCI7XHJcblx0dmVyc2lvbjogc3RyaW5nO1xyXG5cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2xpY2tJbml0U2VydmljZSB7XHRcclxuXHRzdGF0aWMgdmVyc2lvbiA9IFwiNS4wLjIyXCI7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG5cclxuXHRzdGF0aWMgaW5pdChpbml0UGFyYW1zOiBTbGlja0luaXRQYXJhbXMpOiBTbGlja0luaXRQYXJhbXMge1xyXG5cdFx0Y29uc29sZS5pbmZvKGBTbGljayBDb21wb25lbnRzIFZlcnNpb24gJHtTbGlja0luaXRTZXJ2aWNlLnZlcnNpb259YCk7XHJcblx0XHRpbml0UGFyYW1zLnZlcnNpb24gPSBTbGlja0luaXRTZXJ2aWNlLnZlcnNpb247XHJcblx0XHQoPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcyA9IGluaXRQYXJhbXM7XHJcblxyXG5cdFx0cmV0dXJuICg8YW55PndpbmRvdykuc2xpY2tDb21wb25lbnRzUGFyYW1zO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIGdldFBhcmFtcygpOiBTbGlja0luaXRQYXJhbXMge1xyXG5cdFx0aWYgKCEoPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcykge1xyXG5cdFx0XHRjb25zdCBkZWZhdWx0UGFyYW1zID0gbmV3IFNsaWNrSW5pdFBhcmFtcygpO1xyXG5cdFx0XHRkZWZhdWx0UGFyYW1zLmF0dGFjaFRvID0gXCJib2R5XCI7XHJcblx0XHRcdCg8YW55PndpbmRvdykuc2xpY2tDb21wb25lbnRzUGFyYW1zID0gZGVmYXVsdFBhcmFtcztcclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gPFNsaWNrSW5pdFBhcmFtcz4oPGFueT53aW5kb3cpLnNsaWNrQ29tcG9uZW50c1BhcmFtcztcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBnZXRBdHRhY2hUbygpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuYXR0YWNoVG87XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgc2V0QXR0YWNoVG8oYXR0YWNoVG9FbGVtZW50OiBzdHJpbmcpIHtcclxuXHRcdFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuYXR0YWNoVG8gPSBhdHRhY2hUb0VsZW1lbnQ7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgZ2V0UGxhdGZvcm0oKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBTbGlja0luaXRTZXJ2aWNlLmdldFBhcmFtcygpLnBsYXRmb3JtO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIHNldFBsYXRmb3JtKHBsYXRmb3JtOiBzdHJpbmcpIHtcclxuXHRcdFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkucGxhdGZvcm0gPSBwbGF0Zm9ybTtcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBnZXRFcnJvckxvZygpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIFNsaWNrSW5pdFNlcnZpY2UuZ2V0UGFyYW1zKCkuZXJyb3JMb2c7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgc2V0RXJyb3JMb2coZXJyb3JMb2c6IHN0cmluZykge1xyXG5cdFx0U2xpY2tJbml0U2VydmljZS5nZXRQYXJhbXMoKS5lcnJvckxvZyA9IGVycm9yTG9nO1xyXG5cdH1cclxufVxyXG5cclxuIl19
@@ -55,7 +55,7 @@ class SlickInitService {
55
55
  SlickInitService.getParams().errorLog = errorLog;
56
56
  }
57
57
  }
58
- SlickInitService.version = "5.0.21";
58
+ SlickInitService.version = "5.0.22";
59
59
  /** @nocollapse */ SlickInitService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickInitService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
60
60
  /** @nocollapse */ SlickInitService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickInitService });
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickInitService, decorators: [{
@@ -4078,6 +4078,7 @@ class SlickFileListItemComponent {
4078
4078
  this.uuid = SlickUtilsService.newGuid();
4079
4079
  }
4080
4080
  ngOnChanges(changes) {
4081
+ var _a;
4081
4082
  if (changes.thumbnailSize) {
4082
4083
  this.itemImgSize = parseInt(this.thumbnailSize.toString());
4083
4084
  this.itemSize = this.itemImgSize + 10;
@@ -4089,6 +4090,8 @@ class SlickFileListItemComponent {
4089
4090
  if (changes.showCheckbox && changes.showCheckbox.currentValue)
4090
4091
  this.showCheckbox = (changes.showCheckbox.currentValue.toString().toLowerCase() !== 'false');
4091
4092
  this.confirmDelete = (this.confirmDelete.toString() === 'true') ? true : false;
4093
+ if (this.file)
4094
+ this.file.title = ((_a = this.file.title) !== null && _a !== void 0 ? _a : '');
4092
4095
  if (this.file && this.file.name && !this.file.thumbnailBase64Image && !this.file.url) {
4093
4096
  if (this.file.isChecked === null)
4094
4097
  this.file.isChecked = false;
@@ -4198,10 +4201,10 @@ class SlickFileListItemComponent {
4198
4201
  }
4199
4202
  }
4200
4203
  /** @nocollapse */ SlickFileListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickFileListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4201
- /** @nocollapse */ SlickFileListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SlickFileListItemComponent, selector: "slick-file-list-item", inputs: { file: "file", allowDelete: "allowDelete", showPhotoGallery: "showPhotoGallery", showCheckbox: "showCheckbox", thumbnailSize: "thumbnailSize", confirmDelete: "confirmDelete" }, outputs: { fileChangeEmitter: "fileChange", fileDeleteEmitter: "fileDelete", fileClicked: "fileClicked", checkChanged: "checkChanged" }, viewQueries: [{ propertyName: "titleDivRef", first: true, predicate: ["titleDivRef"], descendants: true }, { propertyName: "editTitleDivRef", first: true, predicate: ["editTitleDivRef"], descendants: true }, { propertyName: "editTitleInputRef", first: true, predicate: ["editTitleInputRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"slick-file-list-item\" id=\"slick-file-list-item_{{uuid}}\">\r\n\t<div class=\"slick-file-list-item_img gray-block card\" (click)=\"onClick()\" [ngStyle]=\"{ 'cursor': (showPhotoGallery === true) ? 'pointer' : 'default' }\" [style.minHeight.px]=\"itemSize + 2\" [style.minWidth.px]=\"itemSize\">\r\n\t\t<img *ngIf=\"file.thumbnailBase64Image\" [src]=\"file.thumbnailBase64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && file.base64Image\" [src]=\"file.base64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && !file.thumbnailUrl && file.url\" [src]=\"file.url\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<i *ngIf=\"allowDelete\" class=\"fas fa-circle-x bg-white text-danger\" (click)=\"deleteFile($event)\"></i>\r\n\t\t<div class=\"file-info\">\r\n\t\t\t<div class=\"slick-file-list-item_title\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_display-title\" #titleDivRef style=\"cursor: pointer\" *ngIf=\"!isEditing\" (click)=\"editTitle()\">\r\n\t\t\t\t{{ file.title.length > 18 ? file.title.slice(0, 18) + '...' : file.title }}\r\n\t\t\t </div>\r\n\t\t\t <div #editTitleDivRef class=\"slick-file-list-item_edit-title\" *ngIf=\"isEditing\">\r\n\t\t\t\t<input #editTitleInputRef type=\"text\" class=\"form-control\" [(ngModel)]=\"tempTitle\" (keydown)=\"onKeyDown($event)\" [style.width.px]=\"itemSize\" />\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"slick-file-list-item_title\" *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_date\">\r\n\t\t\t\t<div *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileDateFormatted }}</div>\r\n\t\t\t\t<div *ngIf=\"fileTimeFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileTimeFormatted }}</div>\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<!-- We want the user to be able to click just a little outside of the checkbox and still have it check -->\r\n\t<div *ngIf=\"showCheckbox === true\" class=\"slick-file-checkbox\" (click)=\"onCheckboxClicked($event)\">\r\n\t\t<input type=\"checkbox\" [ngModel]=\"file.isChecked\" />\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteConfirmRef okButtonText='Delete'>\r\n\t<h4 class=\"p-0 m-0\">Are you sure you want to delete?</h4>\r\n\t<h5 class=\"p-0 m-0\">\"{{file.title}}\"</h5>\r\n</slick-confirm-dialog>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SlickConfirmDialogComponent, selector: "slick-confirm-dialog", inputs: ["width", "okButtonText", "cancelButtonText", "showOkButton", "showCancelButton"] }] });
4204
+ /** @nocollapse */ SlickFileListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SlickFileListItemComponent, selector: "slick-file-list-item", inputs: { file: "file", allowDelete: "allowDelete", showPhotoGallery: "showPhotoGallery", showCheckbox: "showCheckbox", thumbnailSize: "thumbnailSize", confirmDelete: "confirmDelete" }, outputs: { fileChangeEmitter: "fileChange", fileDeleteEmitter: "fileDelete", fileClicked: "fileClicked", checkChanged: "checkChanged" }, viewQueries: [{ propertyName: "titleDivRef", first: true, predicate: ["titleDivRef"], descendants: true }, { propertyName: "editTitleDivRef", first: true, predicate: ["editTitleDivRef"], descendants: true }, { propertyName: "editTitleInputRef", first: true, predicate: ["editTitleInputRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"slick-file-list-item\" id=\"slick-file-list-item_{{uuid}}\">\r\n\t<div class=\"slick-file-list-item_img gray-block card\" (click)=\"onClick()\" [ngStyle]=\"{ 'cursor': (showPhotoGallery === true) ? 'pointer' : 'default' }\" [style.minHeight.px]=\"itemSize + 2\" [style.minWidth.px]=\"itemSize\">\r\n\t\t<img *ngIf=\"file.thumbnailBase64Image\" [src]=\"file.thumbnailBase64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && file.base64Image\" [src]=\"file.base64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && !file.thumbnailUrl && file.url\" [src]=\"file.url\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<i *ngIf=\"allowDelete\" class=\"fas fa-circle-x bg-white text-danger\" (click)=\"deleteFile($event)\"></i>\r\n\t\t<div class=\"file-info\">\r\n\t\t\t<div class=\"slick-file-list-item_title\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_display-title\" #titleDivRef style=\"cursor: pointer\" *ngIf=\"!isEditing\" (click)=\"editTitle()\">\r\n\t\t\t\t{{ (file.title ?? '').length > 18 ? (file.title ?? '').slice(0, 18) + '...' : file.title }}\r\n\t\t\t </div>\r\n\t\t\t <div #editTitleDivRef class=\"slick-file-list-item_edit-title\" *ngIf=\"isEditing\">\r\n\t\t\t\t<input #editTitleInputRef type=\"text\" class=\"form-control\" [(ngModel)]=\"tempTitle\" (keydown)=\"onKeyDown($event)\" [style.width.px]=\"itemSize\" />\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"slick-file-list-item_title\" *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_date\">\r\n\t\t\t\t<div *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileDateFormatted }}</div>\r\n\t\t\t\t<div *ngIf=\"fileTimeFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileTimeFormatted }}</div>\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<!-- We want the user to be able to click just a little outside of the checkbox and still have it check -->\r\n\t<div *ngIf=\"showCheckbox === true\" class=\"slick-file-checkbox\" (click)=\"onCheckboxClicked($event)\">\r\n\t\t<input type=\"checkbox\" [ngModel]=\"file.isChecked\" />\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteConfirmRef okButtonText='Delete'>\r\n\t<h4 class=\"p-0 m-0\">Are you sure you want to delete?</h4>\r\n\t<h5 class=\"p-0 m-0\">\"{{file.title}}\"</h5>\r\n</slick-confirm-dialog>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SlickConfirmDialogComponent, selector: "slick-confirm-dialog", inputs: ["width", "okButtonText", "cancelButtonText", "showOkButton", "showCancelButton"] }] });
4202
4205
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SlickFileListItemComponent, decorators: [{
4203
4206
  type: Component,
4204
- args: [{ selector: 'slick-file-list-item', template: "<div class=\"slick-file-list-item\" id=\"slick-file-list-item_{{uuid}}\">\r\n\t<div class=\"slick-file-list-item_img gray-block card\" (click)=\"onClick()\" [ngStyle]=\"{ 'cursor': (showPhotoGallery === true) ? 'pointer' : 'default' }\" [style.minHeight.px]=\"itemSize + 2\" [style.minWidth.px]=\"itemSize\">\r\n\t\t<img *ngIf=\"file.thumbnailBase64Image\" [src]=\"file.thumbnailBase64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && file.base64Image\" [src]=\"file.base64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && !file.thumbnailUrl && file.url\" [src]=\"file.url\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<i *ngIf=\"allowDelete\" class=\"fas fa-circle-x bg-white text-danger\" (click)=\"deleteFile($event)\"></i>\r\n\t\t<div class=\"file-info\">\r\n\t\t\t<div class=\"slick-file-list-item_title\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_display-title\" #titleDivRef style=\"cursor: pointer\" *ngIf=\"!isEditing\" (click)=\"editTitle()\">\r\n\t\t\t\t{{ file.title.length > 18 ? file.title.slice(0, 18) + '...' : file.title }}\r\n\t\t\t </div>\r\n\t\t\t <div #editTitleDivRef class=\"slick-file-list-item_edit-title\" *ngIf=\"isEditing\">\r\n\t\t\t\t<input #editTitleInputRef type=\"text\" class=\"form-control\" [(ngModel)]=\"tempTitle\" (keydown)=\"onKeyDown($event)\" [style.width.px]=\"itemSize\" />\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"slick-file-list-item_title\" *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_date\">\r\n\t\t\t\t<div *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileDateFormatted }}</div>\r\n\t\t\t\t<div *ngIf=\"fileTimeFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileTimeFormatted }}</div>\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<!-- We want the user to be able to click just a little outside of the checkbox and still have it check -->\r\n\t<div *ngIf=\"showCheckbox === true\" class=\"slick-file-checkbox\" (click)=\"onCheckboxClicked($event)\">\r\n\t\t<input type=\"checkbox\" [ngModel]=\"file.isChecked\" />\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteConfirmRef okButtonText='Delete'>\r\n\t<h4 class=\"p-0 m-0\">Are you sure you want to delete?</h4>\r\n\t<h5 class=\"p-0 m-0\">\"{{file.title}}\"</h5>\r\n</slick-confirm-dialog>" }]
4207
+ args: [{ selector: 'slick-file-list-item', template: "<div class=\"slick-file-list-item\" id=\"slick-file-list-item_{{uuid}}\">\r\n\t<div class=\"slick-file-list-item_img gray-block card\" (click)=\"onClick()\" [ngStyle]=\"{ 'cursor': (showPhotoGallery === true) ? 'pointer' : 'default' }\" [style.minHeight.px]=\"itemSize + 2\" [style.minWidth.px]=\"itemSize\">\r\n\t\t<img *ngIf=\"file.thumbnailBase64Image\" [src]=\"file.thumbnailBase64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && file.base64Image\" [src]=\"file.base64Image\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && file.thumbnailUrl\" [src]=\"file.thumbnailUrl\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<img *ngIf=\"!file.thumbnailBase64Image && !file.base64Image && !file.thumbnailUrl && file.url\" [src]=\"file.url\" [style.maxWidth.px]=\"itemImgSize\" [style.maxHeight.px]=\"itemImgSize\" />\r\n\t\t<i *ngIf=\"allowDelete\" class=\"fas fa-circle-x bg-white text-danger\" (click)=\"deleteFile($event)\"></i>\r\n\t\t<div class=\"file-info\">\r\n\t\t\t<div class=\"slick-file-list-item_title\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_display-title\" #titleDivRef style=\"cursor: pointer\" *ngIf=\"!isEditing\" (click)=\"editTitle()\">\r\n\t\t\t\t{{ (file.title ?? '').length > 18 ? (file.title ?? '').slice(0, 18) + '...' : file.title }}\r\n\t\t\t </div>\r\n\t\t\t <div #editTitleDivRef class=\"slick-file-list-item_edit-title\" *ngIf=\"isEditing\">\r\n\t\t\t\t<input #editTitleInputRef type=\"text\" class=\"form-control\" [(ngModel)]=\"tempTitle\" (keydown)=\"onKeyDown($event)\" [style.width.px]=\"itemSize\" />\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"slick-file-list-item_title\" *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\" [style.maxWidth.px]=\"itemSize\">\r\n\t\t\t <div class=\"slick-file-list-item_date\">\r\n\t\t\t\t<div *ngIf=\"fileDateFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileDateFormatted }}</div>\r\n\t\t\t\t<div *ngIf=\"fileTimeFormatted\" [style.minWidth.px]=\"itemSize\">{{ fileTimeFormatted }}</div>\r\n\t\t\t </div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<!-- We want the user to be able to click just a little outside of the checkbox and still have it check -->\r\n\t<div *ngIf=\"showCheckbox === true\" class=\"slick-file-checkbox\" (click)=\"onCheckboxClicked($event)\">\r\n\t\t<input type=\"checkbox\" [ngModel]=\"file.isChecked\" />\r\n\t</div>\r\n</div>\r\n\r\n<slick-confirm-dialog #deleteConfirmRef okButtonText='Delete'>\r\n\t<h4 class=\"p-0 m-0\">Are you sure you want to delete?</h4>\r\n\t<h5 class=\"p-0 m-0\">\"{{file.title}}\"</h5>\r\n</slick-confirm-dialog>" }]
4205
4208
  }], ctorParameters: function () { return []; }, propDecorators: { file: [{
4206
4209
  type: Input,
4207
4210
  args: ["file"]