@progress-chef/platform-shared-components 0.0.134 → 0.0.136

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.
@@ -461,7 +461,8 @@ export class GridPaginationComponent {
461
461
  detail: {
462
462
  itemName: this.itemName,
463
463
  dataItem: dataItem,
464
- query: query
464
+ query: query,
465
+ columnData: this.columnData
465
466
  },
466
467
  bubbles: true,
467
468
  cancelable: true
@@ -470,11 +471,11 @@ export class GridPaginationComponent {
470
471
  document.dispatchEvent(customEvent);
471
472
  }
472
473
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GridPaginationComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
473
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GridPaginationComponent, selector: "lib-grid-pagination", inputs: { skip: "skip", itemName: "itemName", showSelectAllMessage: "showSelectAllMessage", aiQuestions: "aiQuestions", columnData: "columnData", pageSize: "pageSize", pageable: "pageable", sortable: "sortable", groupable: "groupable", reorderable: "reorderable", resizable: "resizable", checkBoxWidth: "checkBoxWidth", checkBoxColumnResizable: "checkBoxColumnResizable", checkBoxColumnMenu: "checkBoxColumnMenu", checkBoxColumnShowSelectedAll: "checkBoxColumnShowSelectedAll", checkBoxRequired: "checkBoxRequired", columnMenu: "columnMenu", mode: "mode", checkboxOnly: "checkboxOnly", dragColumns: "dragColumns", navigable: "navigable", gridHeight: "gridHeight", gridRowSelectByValue: "gridRowSelectByValue", noRecordsContent: "noRecordsContent", showToolbar: "showToolbar", kebabList: "kebabList", showKebab: "showKebab", icon: "icon", kebabColumnWidth: "kebabColumnWidth", selectColumn: "selectColumn", preSelected: "preSelected", gridView: "gridView", ignoreColumnCellClick: "ignoreColumnCellClick", allowColumnClick: "allowColumnClick", sort: "sort", hasApiSorting: "hasApiSorting", expandRowIndex: "expandRowIndex", customExpandRowColumn: "customExpandRowColumn", deleteColumnWidth: "deleteColumnWidth", sizes: "sizes", pageCount: "pageCount", showDeleteColumn: "showDeleteColumn", hideKebabRowIndex: "hideKebabRowIndex", loading: "loading", loaderType: "loaderType", loaderSize: "loaderSize", loaderTheme: "loaderTheme", disablePreSelectedRows: "disablePreSelectedRows", allowEditingCell: "allowEditingCell", columnContentNoWrap: "columnContentNoWrap", infiniteScrollLoader: "infiniteScrollLoader", isInfiniteScrollGrid: "isInfiniteScrollGrid", gridLoading: "gridLoading", minResizableWidth: "minResizableWidth", showRefresh: "showRefresh", isKebabColumnSticky: "isKebabColumnSticky", isCheckBoxColumnSticky: "isCheckBoxColumnSticky", isDeleteColumnSticky: "isDeleteColumnSticky", isSelectAllCheckboxRequired: "isSelectAllCheckboxRequired" }, outputs: { onSelectAllAcrossPages: "onSelectAllAcrossPages", selectedRowData: "selectedRowData", rowDetails: "rowDetails", kebabItemClick: "kebabItemClick", rowDataOfClickedCell: "rowDataOfClickedCell", onPageChange: "onPageChange", sortDirection: "sortDirection", deletedRowData: "deletedRowData", updatedData: "updatedData", onscrollBottom: "onscrollBottom", emitRefreshEvt: "emitRefreshEvt" }, queries: [{ propertyName: "templateRef", first: true, predicate: ["multiColumnData"], descendants: true }, { propertyName: "detailTemplate", first: true, predicate: ["detailTemplate"], descendants: true }, { propertyName: "impactColumn", first: true, predicate: ["impactColumn"], descendants: true }, { propertyName: "columnTemplates", predicate: CustomColumnTemplate }], viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }, { propertyName: "gridElement", first: true, predicate: ["gridElement"], descendants: true }, { propertyName: "selectAllCheckbox", first: true, predicate: ["selectAllCheckbox"], descendants: true }, { propertyName: "selectAllMessageElement", first: true, predicate: ["selectAllMessageElement"], descendants: true }], ngImport: i0, template: "<div #gridElement [ngClass]=\"columnContentNoWrap ? 'column-content-nowrap' : ''\">\n <kendo-grid [data]=\"_gridView\" [pageSize]=\"pageSize\" [skip]=\"skip\" [selectable]=\"selectableSettings\"\n [pageable]=\"pageable\" [sortable]=\"sortable\" [loading]=\"gridLoading\" [groupable]=\"groupable\"\n [reorderable]=\"reorderable\" [resizable]=\"resizable\" [columnMenu]=\"columnMenu\" [navigable]=\"navigable\"\n [height]=\"gridHeight\" (change)=\"setSelectableSettings()\" (selectedKeysChange)=\"selectedKeysChange($event)\"\n [kendoGridSelectBy]=\"gridRowSelectByValue\" (detailExpand)=\"onDetailExpand($event)\" [selectedKeys]=\"_preSelected\"\n (pageChange)=\"pageChange($event)\" (cellClick)=\"cellClickHandler($event)\" (cellClose)=\"cellCloseHandler($event)\"\n [sort]=\"sort\" (sortChange)=\"sortChange($event)\" (scrollBottom)=\"scrollBottom()\" [ngClass]=\"getHeaderHeight()\"\n id=\"lib-grid\" [rowClass]=\"rowClass\">\n <div #selectAllMessageElement>\n <div class=\"lib-grid-select-all-message-container\"\n *ngIf=\"((selectedItemCount < _gridView.total) || allPagesSelected)\">\n <div *ngIf=\"(selectedItemCount < _gridView.total)\" class=\"lib-grid-select-all-message\">\n <lib-typography [defaultText]=\"'All '+selectedItemCount+' '+itemName+' on this page are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(true)\" class=\"select-all-handler\"\n [defaultText]=\"'Select all '+_gridView.total+' '+itemName+' from all pages'\"\n type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n <div *ngIf=\"allPagesSelected\" class=\"lib-grid-select-all-message\">\n <lib-icon name=\"circle-checked\" class=\"all-selected-icon\"></lib-icon>\n <lib-typography [defaultText]=\"'All '+_gridView.total+' '+itemName+' across all pages are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(false)\" class=\"select-all-handler\"\n [defaultText]=\"'Clear selection'\" type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n </div>\n </div>\n <ng-template kendoGridToolbarTemplate [position]=\"getPosition()\" let-position=\"position\">\n <ng-container *ngIf=\"showToolbar && position === 'top'\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"showRefresh\">\n <ng-container *ngTemplateOutlet=\"showRefreshTemplate\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"infiniteScrollLoader && position === 'bottom'\">\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n </ng-container>\n </ng-template>\n\n <ng-template #showRefreshTemplate>\n <lib-tooltip position=\"top\" showOn=\"hover\" [tooltipWidth]=\"68\" [callout]=\"true\">\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Refresh\"></lib-typography>\n </div>\n <lib-button size=\"small\" width=\"2.4rem\" rounded=\"small\" fillMode=\"solid\" themeColor=\"primary\" iconName=\"reset\"\n [toggleable]=\"false\" (buttonClick)=\"refreshGridData()\" [iconButton]=\"true\" [iconFontSize]=\"13\"></lib-button>\n </lib-tooltip>\n </ng-template>\n\n <ng-template kendoGridLoadingTemplate>\n <div class=\"k-loading-color\"></div>\n <div class=\"loading-container\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n\n <ng-template *ngIf=\"this._gridView.total === 0\" kendoGridNoRecordsTemplate>\n <lib-typography *ngIf=\"!loading\" [defaultText]=\"noRecordsContent\" type=\"BODY_MEDIUM\"></lib-typography>\n <lib-loader *ngIf=\"loading\" [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n <ng-container *ngIf=\"this._gridView.total > 0\">\n <kendo-grid-checkbox-column #selectAllCheckbox headerClass=\"select-all-header\" *ngIf=\"checkBoxRequired\"\n [width]=\"checkBoxWidth\" [resizable]=\"checkBoxColumnResizable\" [columnMenu]=\"checkBoxColumnMenu\"\n class=\"checkbox-column\" [sticky]=\"isCheckBoxColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridHeaderTemplate *ngIf=\"isSelectAllCheckboxRequired\">\n <input id=\"selectAllCheckboxId\" type=\"checkbox\" kendoCheckBox kendoGridSelectAllCheckbox\n [state]=\"selectAllState\" (selectAllChange)=\"onSelectAllChange($event)\" />\n </ng-template>\n </kendo-grid-checkbox-column>\n\n <kendo-grid-column class=\"grid-column\" *ngFor=\"let item of columnData; let i = index\" [field]=\"item.field\"\n [title]=\"item.title\" [width]=\"item.columnWidth\" [minResizableWidth]=\"minResizableWidth\"\n [sortable]=\"item.sortable\" [editor]=\"item.editor\" [class]=\"item.class\"\n [sticky]=\"item.columnSticky && !customExpandRowColumn\">\n\n <ng-template *ngIf=\"sortable\" kendoGridHeaderTemplate>\n {{item.title}}\n <span *ngIf=\"sort[0].field === item.field\">\n <span *ngIf=\"sort[0].dir === 'asc'\"></span>\n <span *ngIf=\"sort[0].dir === 'desc'\"></span>\n </span>\n </ng-template>\n\n <!-- <ng-template *ngIf=\"i === 0\" kendoGridCellTemplate let-dataItem>\n <div class=\"first-custom-column\">\n <lib-typography type=\"BODY_MEDIUM\">{{dataItem?.[item.field]}}</lib-typography>\n <lib-button class=\"chefy\" size=\"small\" rounded=\"full\" (buttonClick)=\"onChefyClick($event, dataItem)\" fillMode=\"solid\"\n themeColor=\"primary\" label=\"Chefy\" />\n </div>\n </ng-template> -->\n\n <ng-template *ngIf=\"item.customColumn\" kendoGridCellTemplate let-dataItem>\n <ng-container [ngTemplateOutlet]=\"columnTemplateDict[item.type]\"\n [ngTemplateOutletContext]=\"{$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"item.custom\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"item.impact\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"impactColumn; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column *ngIf=\"showDeleteColumn\" [width]=\"deleteColumnWidth\" class=\"delete-column\" title=\"Action\"\n [sticky]=\"isDeleteColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip showOn=\"hover\" position=\"bottom\" class=\"remove-tooltip\">\n <lib-icon name=\"delete\" class=\"delete-icon\" (click)=\"onDelete(dataItem)\"></lib-icon>\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Remove\"></lib-typography>\n </div>\n </lib-tooltip>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column [width]=\"kebabColumnWidth\" class=\"kebab-column\" title=\"Actions\"\n [sticky]=\"isKebabColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <div *ngIf=\"aiQuestions && aiQuestions?.length > 0\">\n <div kendoPopoverAnchor [popover]=\"actionPopover\" showOn=\"hover\">\n <img [src]=\"kebabIconSafeUrl\" alt=\"Ask Chef AI\"\n [ngStyle]=\"{ width: '1.75rem', cursor: 'pointer', position: 'relative', top: '-2px' }\"\n (click)=\"onChefyClick($event, dataItem)\" />\n </div>\n <div>\n <kendo-popover #actionPopover appendTo=\"body\" [width]=\"200\" [offset]=\"-5\" position=\"bottom\"\n popupClass=\"chef-ai-menu\" [callout]=\"false\">\n <ng-template kendoPopoverBodyTemplate>\n <div class=\"recommendations\" *ngFor=\"let question of aiQuestions\" (click)=\"onChefyClick($event, dataItem, question)\">\n <lib-typography type=\"BODY_MEDIUM\" [defaultText]=\"question\"></lib-typography>\n </div>\n <div class=\"recommendations action-item\" (click)=\"onChefyClick($event, dataItem)\">\n <img [src]=\"kebabIconSafeUrl\" alt=\"Ask Chef AI\"\n [ngStyle]=\"{ width: '1.5rem', cursor: 'pointer', position: 'relative', top: '-2px' }\"/>\n <lib-typography type=\"BODY_MEDIUM\" defaultText=\"Start New Conversation\"></lib-typography>\n </div>\n </ng-template>\n </kendo-popover>\n </div>\n </div>\n <div *ngIf=\"!aiQuestions || aiQuestions?.length === 0\">\n <img [src]=\"kebabIconSafeUrl\" alt=\"Ask Chef AI\"\n [ngStyle]=\"{ width: '1.75rem', cursor: 'pointer', position: 'relative', top: '-2px' }\"\n (click)=\"onChefyClick($event, dataItem)\" />\n </div>\n <div *ngIf=\"showKebab\">\n <kendo-dropdownbutton *ngIf=\"!hideKebabRowIndex.includes(rowIndex)\" [svgIcon]=\"icon\" fillMode=\"none\"\n [data]=\"kebabList | kebabMenuFilter : dataItem\" class=\"kebab\" (itemClick)=\"onKebabClick($event, dataItem)\"\n [popupSettings]=\"{ align: 'right', animate: true, popupClass: 'kebab-list' }\">\n </kendo-dropdownbutton>\n </div>\n </ng-template>\n </kendo-grid-column>\n </ng-container>\n\n <!-- Limitation: detail template and sticky columns do not co-exist-->\n <ng-template *ngIf=\"customExpandRowColumn\" kendoGridDetailTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <kendo-grid-column *ngIf=\"customExpandRowColumn\" [width]=\"expandRowColumnWidth\" class=\"grid-column expand-column\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <div [ngClass]=\"expandColumnClass()\">\n <span *ngIf=\"selectedRows.includes(dataItem[gridRowSelectByValue]) && disablePreSelectedRows\"\n class=\"expand-column-text\">\n Already added\n </span>\n <kendo-button *ngIf=\"!expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowDownIcon\"\n (click)=\"expandRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n <kendo-button *ngIf=\"expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowUpIcon\"\n (click)=\"collapseRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n </div>\n </ng-template>\n </kendo-grid-column>\n\n <ng-template kendoPagerTemplate let-totalPages=\"totalPages\" let-currentPage=\"currentPage\">\n <div class=\"pagination-wrapper\" [ngClass]=\"allPagesSelected ? 'pagination-disabled' : ''\">\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons [buttonCount]=\"_pageCount\"></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n <kendo-pager-page-sizes [pageSizes]=\"sizes\"></kendo-pager-page-sizes>\n </div>\n </ng-template>\n\n </kendo-grid>\n</div>\n", styles: [".loading-container{height:100%;display:flex;justify-content:center;align-items:center}::ng-deep .k-grid tr{height:50px}::ng-deep .pagination-wrapper{display:flex;width:100%}::ng-deep .pagination-disabled{color:#6c6f72!important;pointer-events:none}::ng-deep .lib-grid-select-all-message-container{height:2rem;display:none;gap:.25rem;justify-content:center;align-items:center;background-color:#eceff5!important;font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .lib-grid-select-all-message-container .select-all-handler{cursor:pointer}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message{display:flex;gap:.25rem}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message .all-selected-icon{color:#198038}::ng-deep .disabled{cursor:none!important;pointer-events:none;opacity:.5}::ng-deep .lib-grid-select-all-message-show{display:flex!important}::ng-deep .k-grid .k-table-th,::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important;border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:2px!important;border-right:0px!important;border-left:0px!important;cursor:default!important}::ng-deep .k-grid .k-table-th .k-cell-inner,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner{padding-right:.5rem;border-right:2px solid #C2D2F3!important}::ng-deep .k-grid .k-table-th .k-cell-inner .k-link,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner .k-link{cursor:default!important}::ng-deep .k-grid .k-table-th:focus,::ng-deep .k-grid .k-table-th.k-sorted:focus{box-shadow:none!important}::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover{background-color:#d0dcf5!important}::ng-deep .k-grid .k-table-row.k-selected>.k-table-td{background-color:#c9d7f4!important}::ng-deep .k-grid .k-table-row.k-disabled>.k-table-td{background-color:#fff!important}::ng-deep .k-grid .k-table-td{border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:1px!important;border-right:0px!important;border-left:0px!important}::ng-deep .k-grid td,::ng-deep .k-grid .k-table-td{white-space:nowrap!important}::ng-deep .k-table-alt-row{background-color:inherit!important}::ng-deep .k-grid .k-table-td{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .k-grid-norecords{text-align:center!important;opacity:.4}::ng-deep .k-grid-norecords td{padding:14px 0 14px 24px!important}::ng-deep kendo-pager.k-pager-wrap.k-grid-pager{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:.25px!important}::ng-deep .k-pager{border-style:none!important}::ng-deep .k-input-value-text{overflow:unset!important}::ng-deep .k-grid th.k-header{vertical-align:middle!important;padding-left:16px;padding-right:.5rem}::ng-deep .grid-column,::ng-deep .kebab-column,::ng-deep .delete-column{padding:0!important}::ng-deep .grid-column kendo-button,::ng-deep .kebab-column kendo-button,::ng-deep .delete-column kendo-button{align-items:center!important;justify-content:center!important;display:flex!important}::ng-deep .k-checkbox{width:20px!important;height:20px!important;border-radius:0!important}::ng-deep .k-grid .k-hierarchy-cell,::ng-deep .k-grid .k-hierarchy-col{width:0;display:none}::ng-deep .k-grid .k-detail-row .k-detail-cell{background-color:#f4f8fa!important;padding:16px!important}::ng-deep .delete-icon{color:#dc267f!important;padding-left:12px;cursor:pointer}::ng-deep .remove-tooltip kendo-tooltip.k-tooltip{background-color:#fff;color:#000}::ng-deep .hide-header .k-grid-header{border:0px!important}::ng-deep .k-grouping-header{background-color:#eceff5!important}::ng-deep .k-grid-toolbar{padding:4px 16px!important;height:54px;background-color:#eceff5!important}::ng-deep .k-grid td:not(.kebab-column):not(.expand-column){padding-left:16px!important;padding-right:16px!important}::ng-deep .view-header .k-table-thead tr{height:50px}::ng-deep .hide-header .k-table-thead tr{height:0px;padding:0;display:block}::ng-deep td.kebab-column{display:flex;justify-content:center;align-items:center;height:inherit}::ng-deep .k-grid .k-table-td>.k-checkbox{vertical-align:middle!important}::ng-deep .kebab .k-button,::ng-deep .expand-column .k-button{border:0px}::ng-deep .expand-column{pointer-events:all!important}::ng-deep .expand-column-text{margin-right:32px}::ng-deep .expand-row{display:flex;align-items:center;justify-content:flex-end}::ng-deep .column-cursor-pointer{cursor:pointer}::ng-deep .column-content-nowrap .k-grid .k-table-th,::ng-deep .column-content-nowrap .k-grid td,::ng-deep .column-content-nowrap .k-grid .k-table-td{white-space:nowrap;text-overflow:clip}::ng-deep kendo-grid.k-grid .k-table-alt-row .k-grid-content-sticky,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row td,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row .k-table-td,::ng-deep .k-master-row.k-table-alt-row .k-grid-content-sticky,::ng-deep .k-master-row.k-table-alt-row .k-grid-row-sticky{background-color:#fff}::ng-deep kendo-grid.k-grid .k-grid-content-sticky:hover,::ng-deep kendo-grid.k-grid .k-grid-content-sticky.k-hover,::ng-deep kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky{background-color:#d0dcf5!important}::ng-deep .first-custom-column{position:relative}::ng-deep .first-custom-column .chefy{display:none;position:absolute;right:0;opacity:0;transition:opacity .2s ease}::ng-deep .first-custom-column .chefy .btn-padding{padding:.125rem .25rem}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover .first-custom-column .chefy{display:inline-block;opacity:1}::ng-deep kendo-popover .k-popover-body{padding:0!important}::ng-deep kendo-popover .k-popover-callout.k-callout-n{top:.5rem!important}::ng-deep kendo-popover .recommendations{border-bottom:1px solid #dee2e6;padding:.25rem .5rem;cursor:pointer}::ng-deep kendo-popover .recommendations:hover{background-color:#f3f3f3}::ng-deep kendo-popover .recommendations.action-item{padding:.25rem;color:#0069ff}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: i3.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { kind: "component", type: i4.IconComponent, selector: "lib-icon", inputs: ["name", "projectedIcon", "fontSize", "type"] }, { kind: "directive", type: i5.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { kind: "component", type: i6.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i6.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "directive", type: i6.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i6.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i6.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "component", type: i6.CheckboxColumnComponent, selector: "kendo-grid-checkbox-column", inputs: ["showSelectAll"] }, { kind: "directive", type: i6.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i6.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { kind: "directive", type: i6.LoadingTemplateDirective, selector: "[kendoGridLoadingTemplate]" }, { kind: "directive", type: i6.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "directive", type: i6.SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { kind: "component", type: i6.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { kind: "component", type: i6.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { kind: "component", type: i6.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { kind: "component", type: i6.PagerInfoComponent, selector: "kendo-pager-info" }, { kind: "component", type: i6.PagerPageSizesComponent, selector: "kendo-pager-page-sizes", inputs: ["pageSizes"] }, { kind: "directive", type: i6.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { kind: "component", type: i7.TooltipComponent, selector: "lib-tooltip", inputs: ["position", "tooltipWidth", "tooltipHeight", "showOn", "closable", "title", "callout"] }, { kind: "component", type: i8.TypographyComponent, selector: "lib-typography", inputs: ["type", "defaultText", "isLabel", "hiddenLabel"] }, { kind: "component", type: i9.LoaderComponent, selector: "lib-loader", inputs: ["size", "type", "themeColor"] }, { kind: "component", type: i10.ButtonComponent, selector: "lib-button", inputs: ["size", "rounded", "fillMode", "themeColor", "label", "iconName", "disabled", "toggleable", "iconPosition", "fontType", "width", "iconButton", "projectedIcon", "formatFn", "iconFontSize"], outputs: ["buttonClick"] }, { kind: "directive", type: i11.PopoverBodyTemplateDirective, selector: "[kendoPopoverBodyTemplate]" }, { kind: "directive", type: i11.PopoverAnchorDirective, selector: "[kendoPopoverAnchor]", exportAs: ["kendoPopoverAnchor"] }, { kind: "component", type: i11.PopoverComponent, selector: "kendo-popover", inputs: ["position", "offset", "width", "height", "title", "subtitle", "body", "callout", "animation", "templateData"], outputs: ["show", "shown", "hide", "hidden", "closeOnKeyDown"] }, { kind: "component", type: i12.GridPaginationSpacerComponent, selector: "lib-grid-pagination-spacer" }, { kind: "pipe", type: i13.KebabMenuFilterPipe, name: "kebabMenuFilter" }] }); }
474
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GridPaginationComponent, selector: "lib-grid-pagination", inputs: { skip: "skip", itemName: "itemName", showSelectAllMessage: "showSelectAllMessage", aiQuestions: "aiQuestions", columnData: "columnData", pageSize: "pageSize", pageable: "pageable", sortable: "sortable", groupable: "groupable", reorderable: "reorderable", resizable: "resizable", checkBoxWidth: "checkBoxWidth", checkBoxColumnResizable: "checkBoxColumnResizable", checkBoxColumnMenu: "checkBoxColumnMenu", checkBoxColumnShowSelectedAll: "checkBoxColumnShowSelectedAll", checkBoxRequired: "checkBoxRequired", columnMenu: "columnMenu", mode: "mode", checkboxOnly: "checkboxOnly", dragColumns: "dragColumns", navigable: "navigable", gridHeight: "gridHeight", gridRowSelectByValue: "gridRowSelectByValue", noRecordsContent: "noRecordsContent", showToolbar: "showToolbar", kebabList: "kebabList", showKebab: "showKebab", icon: "icon", kebabColumnWidth: "kebabColumnWidth", selectColumn: "selectColumn", preSelected: "preSelected", gridView: "gridView", ignoreColumnCellClick: "ignoreColumnCellClick", allowColumnClick: "allowColumnClick", sort: "sort", hasApiSorting: "hasApiSorting", expandRowIndex: "expandRowIndex", customExpandRowColumn: "customExpandRowColumn", deleteColumnWidth: "deleteColumnWidth", sizes: "sizes", pageCount: "pageCount", showDeleteColumn: "showDeleteColumn", hideKebabRowIndex: "hideKebabRowIndex", loading: "loading", loaderType: "loaderType", loaderSize: "loaderSize", loaderTheme: "loaderTheme", disablePreSelectedRows: "disablePreSelectedRows", allowEditingCell: "allowEditingCell", columnContentNoWrap: "columnContentNoWrap", infiniteScrollLoader: "infiniteScrollLoader", isInfiniteScrollGrid: "isInfiniteScrollGrid", gridLoading: "gridLoading", minResizableWidth: "minResizableWidth", showRefresh: "showRefresh", isKebabColumnSticky: "isKebabColumnSticky", isCheckBoxColumnSticky: "isCheckBoxColumnSticky", isDeleteColumnSticky: "isDeleteColumnSticky", isSelectAllCheckboxRequired: "isSelectAllCheckboxRequired" }, outputs: { onSelectAllAcrossPages: "onSelectAllAcrossPages", selectedRowData: "selectedRowData", rowDetails: "rowDetails", kebabItemClick: "kebabItemClick", rowDataOfClickedCell: "rowDataOfClickedCell", onPageChange: "onPageChange", sortDirection: "sortDirection", deletedRowData: "deletedRowData", updatedData: "updatedData", onscrollBottom: "onscrollBottom", emitRefreshEvt: "emitRefreshEvt" }, queries: [{ propertyName: "templateRef", first: true, predicate: ["multiColumnData"], descendants: true }, { propertyName: "detailTemplate", first: true, predicate: ["detailTemplate"], descendants: true }, { propertyName: "impactColumn", first: true, predicate: ["impactColumn"], descendants: true }, { propertyName: "columnTemplates", predicate: CustomColumnTemplate }], viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }, { propertyName: "gridElement", first: true, predicate: ["gridElement"], descendants: true }, { propertyName: "selectAllCheckbox", first: true, predicate: ["selectAllCheckbox"], descendants: true }, { propertyName: "selectAllMessageElement", first: true, predicate: ["selectAllMessageElement"], descendants: true }], ngImport: i0, template: "<div #gridElement [ngClass]=\"columnContentNoWrap ? 'column-content-nowrap' : ''\">\n <kendo-grid [data]=\"_gridView\" [pageSize]=\"pageSize\" [skip]=\"skip\" [selectable]=\"selectableSettings\"\n [pageable]=\"pageable\" [sortable]=\"sortable\" [loading]=\"gridLoading\" [groupable]=\"groupable\"\n [reorderable]=\"reorderable\" [resizable]=\"resizable\" [columnMenu]=\"columnMenu\" [navigable]=\"navigable\"\n [height]=\"gridHeight\" (change)=\"setSelectableSettings()\" (selectedKeysChange)=\"selectedKeysChange($event)\"\n [kendoGridSelectBy]=\"gridRowSelectByValue\" (detailExpand)=\"onDetailExpand($event)\" [selectedKeys]=\"_preSelected\"\n (pageChange)=\"pageChange($event)\" (cellClick)=\"cellClickHandler($event)\" (cellClose)=\"cellCloseHandler($event)\"\n [sort]=\"sort\" (sortChange)=\"sortChange($event)\" (scrollBottom)=\"scrollBottom()\" [ngClass]=\"getHeaderHeight()\"\n id=\"lib-grid\" [rowClass]=\"rowClass\">\n <div #selectAllMessageElement>\n <div class=\"lib-grid-select-all-message-container\"\n *ngIf=\"((selectedItemCount < _gridView.total) || allPagesSelected)\">\n <div *ngIf=\"(selectedItemCount < _gridView.total)\" class=\"lib-grid-select-all-message\">\n <lib-typography [defaultText]=\"'All '+selectedItemCount+' '+itemName+' on this page are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(true)\" class=\"select-all-handler\"\n [defaultText]=\"'Select all '+_gridView.total+' '+itemName+' from all pages'\"\n type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n <div *ngIf=\"allPagesSelected\" class=\"lib-grid-select-all-message\">\n <lib-icon name=\"circle-checked\" class=\"all-selected-icon\"></lib-icon>\n <lib-typography [defaultText]=\"'All '+_gridView.total+' '+itemName+' across all pages are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(false)\" class=\"select-all-handler\"\n [defaultText]=\"'Clear selection'\" type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n </div>\n </div>\n <ng-template kendoGridToolbarTemplate [position]=\"getPosition()\" let-position=\"position\">\n <ng-container *ngIf=\"showToolbar && position === 'top'\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"showRefresh\">\n <ng-container *ngTemplateOutlet=\"showRefreshTemplate\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"infiniteScrollLoader && position === 'bottom'\">\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n </ng-container>\n </ng-template>\n\n <ng-template #showRefreshTemplate>\n <lib-tooltip position=\"top\" showOn=\"hover\" [tooltipWidth]=\"68\" [callout]=\"true\">\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Refresh\"></lib-typography>\n </div>\n <lib-button size=\"small\" width=\"2.4rem\" rounded=\"small\" fillMode=\"solid\" themeColor=\"primary\" iconName=\"reset\"\n [toggleable]=\"false\" (buttonClick)=\"refreshGridData()\" [iconButton]=\"true\" [iconFontSize]=\"13\"></lib-button>\n </lib-tooltip>\n </ng-template>\n\n <ng-template kendoGridLoadingTemplate>\n <div class=\"k-loading-color\"></div>\n <div class=\"loading-container\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n\n <ng-template *ngIf=\"this._gridView.total === 0\" kendoGridNoRecordsTemplate>\n <lib-typography *ngIf=\"!loading\" [defaultText]=\"noRecordsContent\" type=\"BODY_MEDIUM\"></lib-typography>\n <lib-loader *ngIf=\"loading\" [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n <ng-container *ngIf=\"this._gridView.total > 0\">\n <kendo-grid-checkbox-column #selectAllCheckbox headerClass=\"select-all-header\" *ngIf=\"checkBoxRequired\"\n [width]=\"checkBoxWidth\" [resizable]=\"checkBoxColumnResizable\" [columnMenu]=\"checkBoxColumnMenu\"\n class=\"checkbox-column\" [sticky]=\"isCheckBoxColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridHeaderTemplate *ngIf=\"isSelectAllCheckboxRequired\">\n <input id=\"selectAllCheckboxId\" type=\"checkbox\" kendoCheckBox kendoGridSelectAllCheckbox\n [state]=\"selectAllState\" (selectAllChange)=\"onSelectAllChange($event)\" />\n </ng-template>\n </kendo-grid-checkbox-column>\n\n <kendo-grid-column class=\"grid-column\" *ngFor=\"let item of columnData; let i = index\" [field]=\"item.field\"\n [title]=\"item.title\" [width]=\"item.columnWidth\" [minResizableWidth]=\"minResizableWidth\"\n [sortable]=\"item.sortable\" [editor]=\"item.editor\" [class]=\"item.class\"\n [sticky]=\"item.columnSticky && !customExpandRowColumn\">\n\n <ng-template *ngIf=\"sortable\" kendoGridHeaderTemplate>\n {{item.title}}\n <span *ngIf=\"sort[0].field === item.field\">\n <span *ngIf=\"sort[0].dir === 'asc'\"></span>\n <span *ngIf=\"sort[0].dir === 'desc'\"></span>\n </span>\n </ng-template>\n\n <!-- <ng-template *ngIf=\"i === 0\" kendoGridCellTemplate let-dataItem>\n <div class=\"first-custom-column\">\n <lib-typography type=\"BODY_MEDIUM\">{{dataItem?.[item.field]}}</lib-typography>\n <lib-button class=\"chefy\" size=\"small\" rounded=\"full\" (buttonClick)=\"onChefyClick($event, dataItem)\" fillMode=\"solid\"\n themeColor=\"primary\" label=\"Chefy\" />\n </div>\n </ng-template> -->\n\n <ng-template *ngIf=\"item.customColumn\" kendoGridCellTemplate let-dataItem>\n <ng-container [ngTemplateOutlet]=\"columnTemplateDict[item.type]\"\n [ngTemplateOutletContext]=\"{$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"item.custom\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"item.impact\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"impactColumn; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column *ngIf=\"showDeleteColumn\" [width]=\"deleteColumnWidth\" class=\"delete-column\" title=\"Action\"\n [sticky]=\"isDeleteColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip showOn=\"hover\" position=\"bottom\" class=\"remove-tooltip\">\n <lib-icon name=\"delete\" class=\"delete-icon\" (click)=\"onDelete(dataItem)\"></lib-icon>\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Remove\"></lib-typography>\n </div>\n </lib-tooltip>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column [width]=\"kebabColumnWidth\" class=\"kebab-column\" title=\"Actions\"\n [sticky]=\"isKebabColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <div *ngIf=\"aiQuestions && aiQuestions?.length > 0\">\n <div kendoPopoverAnchor [popover]=\"actionPopover\" showOn=\"hover\">\n <img [src]=\"kebabIconSafeUrl\" alt=\"Ask Chef AI\"\n [ngStyle]=\"{ width: '1.75rem', cursor: 'pointer', position: 'relative', top: '-2px' }\"\n (click)=\"onChefyClick($event, dataItem)\" />\n </div>\n <div>\n <kendo-popover #actionPopover appendTo=\"body\" [width]=\"200\" [offset]=\"-16\" position=\"bottom\"\n popupClass=\"chef-ai-menu\" [callout]=\"true\">\n <ng-template kendoPopoverBodyTemplate>\n <div class=\"recommendations\" *ngFor=\"let question of aiQuestions\" (click)=\"onChefyClick($event, dataItem, question)\">\n <lib-typography type=\"BODY_MEDIUM\" [defaultText]=\"question\"></lib-typography>\n </div>\n <div class=\"recommendations action-item\" (click)=\"onChefyClick($event, dataItem)\">\n <img [src]=\"kebabIconSafeUrl\" alt=\"Ask Chef AI\"\n [ngStyle]=\"{ width: '1.5rem', cursor: 'pointer', position: 'relative', top: '-2px' }\"/>\n <lib-typography type=\"BODY_MEDIUM\" defaultText=\"Start New Conversation\"></lib-typography>\n </div>\n </ng-template>\n </kendo-popover>\n </div>\n </div>\n <div *ngIf=\"!aiQuestions || aiQuestions?.length === 0\">\n <img [src]=\"kebabIconSafeUrl\" alt=\"Ask Chef AI\"\n [ngStyle]=\"{ width: '1.75rem', cursor: 'pointer', position: 'relative', top: '-2px' }\"\n (click)=\"onChefyClick($event, dataItem)\" />\n </div>\n <div *ngIf=\"showKebab\">\n <kendo-dropdownbutton *ngIf=\"!hideKebabRowIndex.includes(rowIndex)\" [svgIcon]=\"icon\" fillMode=\"none\"\n [data]=\"kebabList | kebabMenuFilter : dataItem\" class=\"kebab\" (itemClick)=\"onKebabClick($event, dataItem)\"\n [popupSettings]=\"{ align: 'right', animate: true, popupClass: 'kebab-list' }\">\n </kendo-dropdownbutton>\n </div>\n </ng-template>\n </kendo-grid-column>\n </ng-container>\n\n <!-- Limitation: detail template and sticky columns do not co-exist-->\n <ng-template *ngIf=\"customExpandRowColumn\" kendoGridDetailTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <kendo-grid-column *ngIf=\"customExpandRowColumn\" [width]=\"expandRowColumnWidth\" class=\"grid-column expand-column\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <div [ngClass]=\"expandColumnClass()\">\n <span *ngIf=\"selectedRows.includes(dataItem[gridRowSelectByValue]) && disablePreSelectedRows\"\n class=\"expand-column-text\">\n Already added\n </span>\n <kendo-button *ngIf=\"!expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowDownIcon\"\n (click)=\"expandRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n <kendo-button *ngIf=\"expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowUpIcon\"\n (click)=\"collapseRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n </div>\n </ng-template>\n </kendo-grid-column>\n\n <ng-template kendoPagerTemplate let-totalPages=\"totalPages\" let-currentPage=\"currentPage\">\n <div class=\"pagination-wrapper\" [ngClass]=\"allPagesSelected ? 'pagination-disabled' : ''\">\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons [buttonCount]=\"_pageCount\"></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n <kendo-pager-page-sizes [pageSizes]=\"sizes\"></kendo-pager-page-sizes>\n </div>\n </ng-template>\n\n </kendo-grid>\n</div>\n", styles: [".loading-container{height:100%;display:flex;justify-content:center;align-items:center}::ng-deep .k-grid tr{height:50px}::ng-deep .pagination-wrapper{display:flex;width:100%}::ng-deep .pagination-disabled{color:#6c6f72!important;pointer-events:none}::ng-deep .lib-grid-select-all-message-container{height:2rem;display:none;gap:.25rem;justify-content:center;align-items:center;background-color:#eceff5!important;font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .lib-grid-select-all-message-container .select-all-handler{cursor:pointer}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message{display:flex;gap:.25rem}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message .all-selected-icon{color:#198038}::ng-deep .disabled{cursor:none!important;pointer-events:none;opacity:.5}::ng-deep .lib-grid-select-all-message-show{display:flex!important}::ng-deep .k-grid .k-table-th,::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important;border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:2px!important;border-right:0px!important;border-left:0px!important;cursor:default!important}::ng-deep .k-grid .k-table-th .k-cell-inner,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner{padding-right:.5rem;border-right:2px solid #C2D2F3!important}::ng-deep .k-grid .k-table-th .k-cell-inner .k-link,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner .k-link{cursor:default!important}::ng-deep .k-grid .k-table-th:focus,::ng-deep .k-grid .k-table-th.k-sorted:focus{box-shadow:none!important}::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover{background-color:#d0dcf5!important}::ng-deep .k-grid .k-table-row.k-selected>.k-table-td{background-color:#c9d7f4!important}::ng-deep .k-grid .k-table-row.k-disabled>.k-table-td{background-color:#fff!important}::ng-deep .k-grid .k-table-td{border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:1px!important;border-right:0px!important;border-left:0px!important}::ng-deep .k-grid td,::ng-deep .k-grid .k-table-td{white-space:nowrap!important}::ng-deep .k-table-alt-row{background-color:inherit!important}::ng-deep .k-grid .k-table-td{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .k-grid-norecords{text-align:center!important;opacity:.4}::ng-deep .k-grid-norecords td{padding:14px 0 14px 24px!important}::ng-deep kendo-pager.k-pager-wrap.k-grid-pager{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:.25px!important}::ng-deep .k-pager{border-style:none!important}::ng-deep .k-input-value-text{overflow:unset!important}::ng-deep .k-grid th.k-header{vertical-align:middle!important;padding-left:16px;padding-right:.5rem}::ng-deep .grid-column,::ng-deep .kebab-column,::ng-deep .delete-column{padding:0!important}::ng-deep .grid-column kendo-button,::ng-deep .kebab-column kendo-button,::ng-deep .delete-column kendo-button{align-items:center!important;justify-content:center!important;display:flex!important}::ng-deep .k-checkbox{width:20px!important;height:20px!important;border-radius:0!important}::ng-deep .k-grid .k-hierarchy-cell,::ng-deep .k-grid .k-hierarchy-col{width:0;display:none}::ng-deep .k-grid .k-detail-row .k-detail-cell{background-color:#f4f8fa!important;padding:16px!important}::ng-deep .delete-icon{color:#dc267f!important;padding-left:12px;cursor:pointer}::ng-deep .remove-tooltip kendo-tooltip.k-tooltip{background-color:#fff;color:#000}::ng-deep .hide-header .k-grid-header{border:0px!important}::ng-deep .k-grouping-header{background-color:#eceff5!important}::ng-deep .k-grid-toolbar{padding:4px 16px!important;height:54px;background-color:#eceff5!important}::ng-deep .k-grid td:not(.kebab-column):not(.expand-column){padding-left:16px!important;padding-right:16px!important}::ng-deep .view-header .k-table-thead tr{height:50px}::ng-deep .hide-header .k-table-thead tr{height:0px;padding:0;display:block}::ng-deep td.kebab-column{display:flex;justify-content:center;align-items:center;height:inherit}::ng-deep .k-grid .k-table-td>.k-checkbox{vertical-align:middle!important}::ng-deep .kebab .k-button,::ng-deep .expand-column .k-button{border:0px}::ng-deep .expand-column{pointer-events:all!important}::ng-deep .expand-column-text{margin-right:32px}::ng-deep .expand-row{display:flex;align-items:center;justify-content:flex-end}::ng-deep .column-cursor-pointer{cursor:pointer}::ng-deep .column-content-nowrap .k-grid .k-table-th,::ng-deep .column-content-nowrap .k-grid td,::ng-deep .column-content-nowrap .k-grid .k-table-td{white-space:nowrap;text-overflow:clip}::ng-deep kendo-grid.k-grid .k-table-alt-row .k-grid-content-sticky,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row td,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row .k-table-td,::ng-deep .k-master-row.k-table-alt-row .k-grid-content-sticky,::ng-deep .k-master-row.k-table-alt-row .k-grid-row-sticky{background-color:#fff}::ng-deep kendo-grid.k-grid .k-grid-content-sticky:hover,::ng-deep kendo-grid.k-grid .k-grid-content-sticky.k-hover,::ng-deep kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky{background-color:#d0dcf5!important}::ng-deep .first-custom-column{position:relative}::ng-deep .first-custom-column .chefy{display:none;position:absolute;right:0;opacity:0;transition:opacity .2s ease}::ng-deep .first-custom-column .chefy .btn-padding{padding:.125rem .25rem}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover .first-custom-column .chefy{display:inline-block;opacity:1}::ng-deep kendo-popover .k-popover-body{padding:0!important}::ng-deep kendo-popover .k-popover-callout.k-callout-n{top:.5rem!important}::ng-deep kendo-popover .recommendations{border-bottom:1px solid #dee2e6;padding:.25rem .5rem;cursor:pointer}::ng-deep kendo-popover .recommendations:hover{background-color:#f3f3f3}::ng-deep kendo-popover .recommendations.action-item{padding:.25rem;color:#0069ff}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: i3.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { kind: "component", type: i4.IconComponent, selector: "lib-icon", inputs: ["name", "projectedIcon", "fontSize", "type"] }, { kind: "directive", type: i5.CheckBoxDirective, selector: "input[kendoCheckBox]", inputs: ["size", "rounded"] }, { kind: "component", type: i6.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i6.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { kind: "directive", type: i6.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i6.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i6.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "component", type: i6.CheckboxColumnComponent, selector: "kendo-grid-checkbox-column", inputs: ["showSelectAll"] }, { kind: "directive", type: i6.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i6.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { kind: "directive", type: i6.LoadingTemplateDirective, selector: "[kendoGridLoadingTemplate]" }, { kind: "directive", type: i6.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "directive", type: i6.SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { kind: "component", type: i6.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { kind: "component", type: i6.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { kind: "component", type: i6.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { kind: "component", type: i6.PagerInfoComponent, selector: "kendo-pager-info" }, { kind: "component", type: i6.PagerPageSizesComponent, selector: "kendo-pager-page-sizes", inputs: ["pageSizes"] }, { kind: "directive", type: i6.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { kind: "component", type: i7.TooltipComponent, selector: "lib-tooltip", inputs: ["position", "tooltipWidth", "tooltipHeight", "showOn", "closable", "title", "callout"] }, { kind: "component", type: i8.TypographyComponent, selector: "lib-typography", inputs: ["type", "defaultText", "isLabel", "hiddenLabel"] }, { kind: "component", type: i9.LoaderComponent, selector: "lib-loader", inputs: ["size", "type", "themeColor"] }, { kind: "component", type: i10.ButtonComponent, selector: "lib-button", inputs: ["size", "rounded", "fillMode", "themeColor", "label", "iconName", "disabled", "toggleable", "iconPosition", "fontType", "width", "iconButton", "projectedIcon", "formatFn", "iconFontSize"], outputs: ["buttonClick"] }, { kind: "directive", type: i11.PopoverBodyTemplateDirective, selector: "[kendoPopoverBodyTemplate]" }, { kind: "directive", type: i11.PopoverAnchorDirective, selector: "[kendoPopoverAnchor]", exportAs: ["kendoPopoverAnchor"] }, { kind: "component", type: i11.PopoverComponent, selector: "kendo-popover", inputs: ["position", "offset", "width", "height", "title", "subtitle", "body", "callout", "animation", "templateData"], outputs: ["show", "shown", "hide", "hidden", "closeOnKeyDown"] }, { kind: "component", type: i12.GridPaginationSpacerComponent, selector: "lib-grid-pagination-spacer" }, { kind: "pipe", type: i13.KebabMenuFilterPipe, name: "kebabMenuFilter" }] }); }
474
475
  }
475
476
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GridPaginationComponent, decorators: [{
476
477
  type: Component,
477
- args: [{ selector: 'lib-grid-pagination', template: "<div #gridElement [ngClass]=\"columnContentNoWrap ? 'column-content-nowrap' : ''\">\n <kendo-grid [data]=\"_gridView\" [pageSize]=\"pageSize\" [skip]=\"skip\" [selectable]=\"selectableSettings\"\n [pageable]=\"pageable\" [sortable]=\"sortable\" [loading]=\"gridLoading\" [groupable]=\"groupable\"\n [reorderable]=\"reorderable\" [resizable]=\"resizable\" [columnMenu]=\"columnMenu\" [navigable]=\"navigable\"\n [height]=\"gridHeight\" (change)=\"setSelectableSettings()\" (selectedKeysChange)=\"selectedKeysChange($event)\"\n [kendoGridSelectBy]=\"gridRowSelectByValue\" (detailExpand)=\"onDetailExpand($event)\" [selectedKeys]=\"_preSelected\"\n (pageChange)=\"pageChange($event)\" (cellClick)=\"cellClickHandler($event)\" (cellClose)=\"cellCloseHandler($event)\"\n [sort]=\"sort\" (sortChange)=\"sortChange($event)\" (scrollBottom)=\"scrollBottom()\" [ngClass]=\"getHeaderHeight()\"\n id=\"lib-grid\" [rowClass]=\"rowClass\">\n <div #selectAllMessageElement>\n <div class=\"lib-grid-select-all-message-container\"\n *ngIf=\"((selectedItemCount < _gridView.total) || allPagesSelected)\">\n <div *ngIf=\"(selectedItemCount < _gridView.total)\" class=\"lib-grid-select-all-message\">\n <lib-typography [defaultText]=\"'All '+selectedItemCount+' '+itemName+' on this page are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(true)\" class=\"select-all-handler\"\n [defaultText]=\"'Select all '+_gridView.total+' '+itemName+' from all pages'\"\n type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n <div *ngIf=\"allPagesSelected\" class=\"lib-grid-select-all-message\">\n <lib-icon name=\"circle-checked\" class=\"all-selected-icon\"></lib-icon>\n <lib-typography [defaultText]=\"'All '+_gridView.total+' '+itemName+' across all pages are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(false)\" class=\"select-all-handler\"\n [defaultText]=\"'Clear selection'\" type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n </div>\n </div>\n <ng-template kendoGridToolbarTemplate [position]=\"getPosition()\" let-position=\"position\">\n <ng-container *ngIf=\"showToolbar && position === 'top'\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"showRefresh\">\n <ng-container *ngTemplateOutlet=\"showRefreshTemplate\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"infiniteScrollLoader && position === 'bottom'\">\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n </ng-container>\n </ng-template>\n\n <ng-template #showRefreshTemplate>\n <lib-tooltip position=\"top\" showOn=\"hover\" [tooltipWidth]=\"68\" [callout]=\"true\">\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Refresh\"></lib-typography>\n </div>\n <lib-button size=\"small\" width=\"2.4rem\" rounded=\"small\" fillMode=\"solid\" themeColor=\"primary\" iconName=\"reset\"\n [toggleable]=\"false\" (buttonClick)=\"refreshGridData()\" [iconButton]=\"true\" [iconFontSize]=\"13\"></lib-button>\n </lib-tooltip>\n </ng-template>\n\n <ng-template kendoGridLoadingTemplate>\n <div class=\"k-loading-color\"></div>\n <div class=\"loading-container\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n\n <ng-template *ngIf=\"this._gridView.total === 0\" kendoGridNoRecordsTemplate>\n <lib-typography *ngIf=\"!loading\" [defaultText]=\"noRecordsContent\" type=\"BODY_MEDIUM\"></lib-typography>\n <lib-loader *ngIf=\"loading\" [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n <ng-container *ngIf=\"this._gridView.total > 0\">\n <kendo-grid-checkbox-column #selectAllCheckbox headerClass=\"select-all-header\" *ngIf=\"checkBoxRequired\"\n [width]=\"checkBoxWidth\" [resizable]=\"checkBoxColumnResizable\" [columnMenu]=\"checkBoxColumnMenu\"\n class=\"checkbox-column\" [sticky]=\"isCheckBoxColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridHeaderTemplate *ngIf=\"isSelectAllCheckboxRequired\">\n <input id=\"selectAllCheckboxId\" type=\"checkbox\" kendoCheckBox kendoGridSelectAllCheckbox\n [state]=\"selectAllState\" (selectAllChange)=\"onSelectAllChange($event)\" />\n </ng-template>\n </kendo-grid-checkbox-column>\n\n <kendo-grid-column class=\"grid-column\" *ngFor=\"let item of columnData; let i = index\" [field]=\"item.field\"\n [title]=\"item.title\" [width]=\"item.columnWidth\" [minResizableWidth]=\"minResizableWidth\"\n [sortable]=\"item.sortable\" [editor]=\"item.editor\" [class]=\"item.class\"\n [sticky]=\"item.columnSticky && !customExpandRowColumn\">\n\n <ng-template *ngIf=\"sortable\" kendoGridHeaderTemplate>\n {{item.title}}\n <span *ngIf=\"sort[0].field === item.field\">\n <span *ngIf=\"sort[0].dir === 'asc'\"></span>\n <span *ngIf=\"sort[0].dir === 'desc'\"></span>\n </span>\n </ng-template>\n\n <!-- <ng-template *ngIf=\"i === 0\" kendoGridCellTemplate let-dataItem>\n <div class=\"first-custom-column\">\n <lib-typography type=\"BODY_MEDIUM\">{{dataItem?.[item.field]}}</lib-typography>\n <lib-button class=\"chefy\" size=\"small\" rounded=\"full\" (buttonClick)=\"onChefyClick($event, dataItem)\" fillMode=\"solid\"\n themeColor=\"primary\" label=\"Chefy\" />\n </div>\n </ng-template> -->\n\n <ng-template *ngIf=\"item.customColumn\" kendoGridCellTemplate let-dataItem>\n <ng-container [ngTemplateOutlet]=\"columnTemplateDict[item.type]\"\n [ngTemplateOutletContext]=\"{$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"item.custom\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"item.impact\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"impactColumn; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column *ngIf=\"showDeleteColumn\" [width]=\"deleteColumnWidth\" class=\"delete-column\" title=\"Action\"\n [sticky]=\"isDeleteColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip showOn=\"hover\" position=\"bottom\" class=\"remove-tooltip\">\n <lib-icon name=\"delete\" class=\"delete-icon\" (click)=\"onDelete(dataItem)\"></lib-icon>\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Remove\"></lib-typography>\n </div>\n </lib-tooltip>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column [width]=\"kebabColumnWidth\" class=\"kebab-column\" title=\"Actions\"\n [sticky]=\"isKebabColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <div *ngIf=\"aiQuestions && aiQuestions?.length > 0\">\n <div kendoPopoverAnchor [popover]=\"actionPopover\" showOn=\"hover\">\n <img [src]=\"kebabIconSafeUrl\" alt=\"Ask Chef AI\"\n [ngStyle]=\"{ width: '1.75rem', cursor: 'pointer', position: 'relative', top: '-2px' }\"\n (click)=\"onChefyClick($event, dataItem)\" />\n </div>\n <div>\n <kendo-popover #actionPopover appendTo=\"body\" [width]=\"200\" [offset]=\"-5\" position=\"bottom\"\n popupClass=\"chef-ai-menu\" [callout]=\"false\">\n <ng-template kendoPopoverBodyTemplate>\n <div class=\"recommendations\" *ngFor=\"let question of aiQuestions\" (click)=\"onChefyClick($event, dataItem, question)\">\n <lib-typography type=\"BODY_MEDIUM\" [defaultText]=\"question\"></lib-typography>\n </div>\n <div class=\"recommendations action-item\" (click)=\"onChefyClick($event, dataItem)\">\n <img [src]=\"kebabIconSafeUrl\" alt=\"Ask Chef AI\"\n [ngStyle]=\"{ width: '1.5rem', cursor: 'pointer', position: 'relative', top: '-2px' }\"/>\n <lib-typography type=\"BODY_MEDIUM\" defaultText=\"Start New Conversation\"></lib-typography>\n </div>\n </ng-template>\n </kendo-popover>\n </div>\n </div>\n <div *ngIf=\"!aiQuestions || aiQuestions?.length === 0\">\n <img [src]=\"kebabIconSafeUrl\" alt=\"Ask Chef AI\"\n [ngStyle]=\"{ width: '1.75rem', cursor: 'pointer', position: 'relative', top: '-2px' }\"\n (click)=\"onChefyClick($event, dataItem)\" />\n </div>\n <div *ngIf=\"showKebab\">\n <kendo-dropdownbutton *ngIf=\"!hideKebabRowIndex.includes(rowIndex)\" [svgIcon]=\"icon\" fillMode=\"none\"\n [data]=\"kebabList | kebabMenuFilter : dataItem\" class=\"kebab\" (itemClick)=\"onKebabClick($event, dataItem)\"\n [popupSettings]=\"{ align: 'right', animate: true, popupClass: 'kebab-list' }\">\n </kendo-dropdownbutton>\n </div>\n </ng-template>\n </kendo-grid-column>\n </ng-container>\n\n <!-- Limitation: detail template and sticky columns do not co-exist-->\n <ng-template *ngIf=\"customExpandRowColumn\" kendoGridDetailTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <kendo-grid-column *ngIf=\"customExpandRowColumn\" [width]=\"expandRowColumnWidth\" class=\"grid-column expand-column\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <div [ngClass]=\"expandColumnClass()\">\n <span *ngIf=\"selectedRows.includes(dataItem[gridRowSelectByValue]) && disablePreSelectedRows\"\n class=\"expand-column-text\">\n Already added\n </span>\n <kendo-button *ngIf=\"!expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowDownIcon\"\n (click)=\"expandRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n <kendo-button *ngIf=\"expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowUpIcon\"\n (click)=\"collapseRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n </div>\n </ng-template>\n </kendo-grid-column>\n\n <ng-template kendoPagerTemplate let-totalPages=\"totalPages\" let-currentPage=\"currentPage\">\n <div class=\"pagination-wrapper\" [ngClass]=\"allPagesSelected ? 'pagination-disabled' : ''\">\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons [buttonCount]=\"_pageCount\"></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n <kendo-pager-page-sizes [pageSizes]=\"sizes\"></kendo-pager-page-sizes>\n </div>\n </ng-template>\n\n </kendo-grid>\n</div>\n", styles: [".loading-container{height:100%;display:flex;justify-content:center;align-items:center}::ng-deep .k-grid tr{height:50px}::ng-deep .pagination-wrapper{display:flex;width:100%}::ng-deep .pagination-disabled{color:#6c6f72!important;pointer-events:none}::ng-deep .lib-grid-select-all-message-container{height:2rem;display:none;gap:.25rem;justify-content:center;align-items:center;background-color:#eceff5!important;font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .lib-grid-select-all-message-container .select-all-handler{cursor:pointer}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message{display:flex;gap:.25rem}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message .all-selected-icon{color:#198038}::ng-deep .disabled{cursor:none!important;pointer-events:none;opacity:.5}::ng-deep .lib-grid-select-all-message-show{display:flex!important}::ng-deep .k-grid .k-table-th,::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important;border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:2px!important;border-right:0px!important;border-left:0px!important;cursor:default!important}::ng-deep .k-grid .k-table-th .k-cell-inner,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner{padding-right:.5rem;border-right:2px solid #C2D2F3!important}::ng-deep .k-grid .k-table-th .k-cell-inner .k-link,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner .k-link{cursor:default!important}::ng-deep .k-grid .k-table-th:focus,::ng-deep .k-grid .k-table-th.k-sorted:focus{box-shadow:none!important}::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover{background-color:#d0dcf5!important}::ng-deep .k-grid .k-table-row.k-selected>.k-table-td{background-color:#c9d7f4!important}::ng-deep .k-grid .k-table-row.k-disabled>.k-table-td{background-color:#fff!important}::ng-deep .k-grid .k-table-td{border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:1px!important;border-right:0px!important;border-left:0px!important}::ng-deep .k-grid td,::ng-deep .k-grid .k-table-td{white-space:nowrap!important}::ng-deep .k-table-alt-row{background-color:inherit!important}::ng-deep .k-grid .k-table-td{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .k-grid-norecords{text-align:center!important;opacity:.4}::ng-deep .k-grid-norecords td{padding:14px 0 14px 24px!important}::ng-deep kendo-pager.k-pager-wrap.k-grid-pager{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:.25px!important}::ng-deep .k-pager{border-style:none!important}::ng-deep .k-input-value-text{overflow:unset!important}::ng-deep .k-grid th.k-header{vertical-align:middle!important;padding-left:16px;padding-right:.5rem}::ng-deep .grid-column,::ng-deep .kebab-column,::ng-deep .delete-column{padding:0!important}::ng-deep .grid-column kendo-button,::ng-deep .kebab-column kendo-button,::ng-deep .delete-column kendo-button{align-items:center!important;justify-content:center!important;display:flex!important}::ng-deep .k-checkbox{width:20px!important;height:20px!important;border-radius:0!important}::ng-deep .k-grid .k-hierarchy-cell,::ng-deep .k-grid .k-hierarchy-col{width:0;display:none}::ng-deep .k-grid .k-detail-row .k-detail-cell{background-color:#f4f8fa!important;padding:16px!important}::ng-deep .delete-icon{color:#dc267f!important;padding-left:12px;cursor:pointer}::ng-deep .remove-tooltip kendo-tooltip.k-tooltip{background-color:#fff;color:#000}::ng-deep .hide-header .k-grid-header{border:0px!important}::ng-deep .k-grouping-header{background-color:#eceff5!important}::ng-deep .k-grid-toolbar{padding:4px 16px!important;height:54px;background-color:#eceff5!important}::ng-deep .k-grid td:not(.kebab-column):not(.expand-column){padding-left:16px!important;padding-right:16px!important}::ng-deep .view-header .k-table-thead tr{height:50px}::ng-deep .hide-header .k-table-thead tr{height:0px;padding:0;display:block}::ng-deep td.kebab-column{display:flex;justify-content:center;align-items:center;height:inherit}::ng-deep .k-grid .k-table-td>.k-checkbox{vertical-align:middle!important}::ng-deep .kebab .k-button,::ng-deep .expand-column .k-button{border:0px}::ng-deep .expand-column{pointer-events:all!important}::ng-deep .expand-column-text{margin-right:32px}::ng-deep .expand-row{display:flex;align-items:center;justify-content:flex-end}::ng-deep .column-cursor-pointer{cursor:pointer}::ng-deep .column-content-nowrap .k-grid .k-table-th,::ng-deep .column-content-nowrap .k-grid td,::ng-deep .column-content-nowrap .k-grid .k-table-td{white-space:nowrap;text-overflow:clip}::ng-deep kendo-grid.k-grid .k-table-alt-row .k-grid-content-sticky,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row td,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row .k-table-td,::ng-deep .k-master-row.k-table-alt-row .k-grid-content-sticky,::ng-deep .k-master-row.k-table-alt-row .k-grid-row-sticky{background-color:#fff}::ng-deep kendo-grid.k-grid .k-grid-content-sticky:hover,::ng-deep kendo-grid.k-grid .k-grid-content-sticky.k-hover,::ng-deep kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky{background-color:#d0dcf5!important}::ng-deep .first-custom-column{position:relative}::ng-deep .first-custom-column .chefy{display:none;position:absolute;right:0;opacity:0;transition:opacity .2s ease}::ng-deep .first-custom-column .chefy .btn-padding{padding:.125rem .25rem}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover .first-custom-column .chefy{display:inline-block;opacity:1}::ng-deep kendo-popover .k-popover-body{padding:0!important}::ng-deep kendo-popover .k-popover-callout.k-callout-n{top:.5rem!important}::ng-deep kendo-popover .recommendations{border-bottom:1px solid #dee2e6;padding:.25rem .5rem;cursor:pointer}::ng-deep kendo-popover .recommendations:hover{background-color:#f3f3f3}::ng-deep kendo-popover .recommendations.action-item{padding:.25rem;color:#0069ff}\n"] }]
478
+ args: [{ selector: 'lib-grid-pagination', template: "<div #gridElement [ngClass]=\"columnContentNoWrap ? 'column-content-nowrap' : ''\">\n <kendo-grid [data]=\"_gridView\" [pageSize]=\"pageSize\" [skip]=\"skip\" [selectable]=\"selectableSettings\"\n [pageable]=\"pageable\" [sortable]=\"sortable\" [loading]=\"gridLoading\" [groupable]=\"groupable\"\n [reorderable]=\"reorderable\" [resizable]=\"resizable\" [columnMenu]=\"columnMenu\" [navigable]=\"navigable\"\n [height]=\"gridHeight\" (change)=\"setSelectableSettings()\" (selectedKeysChange)=\"selectedKeysChange($event)\"\n [kendoGridSelectBy]=\"gridRowSelectByValue\" (detailExpand)=\"onDetailExpand($event)\" [selectedKeys]=\"_preSelected\"\n (pageChange)=\"pageChange($event)\" (cellClick)=\"cellClickHandler($event)\" (cellClose)=\"cellCloseHandler($event)\"\n [sort]=\"sort\" (sortChange)=\"sortChange($event)\" (scrollBottom)=\"scrollBottom()\" [ngClass]=\"getHeaderHeight()\"\n id=\"lib-grid\" [rowClass]=\"rowClass\">\n <div #selectAllMessageElement>\n <div class=\"lib-grid-select-all-message-container\"\n *ngIf=\"((selectedItemCount < _gridView.total) || allPagesSelected)\">\n <div *ngIf=\"(selectedItemCount < _gridView.total)\" class=\"lib-grid-select-all-message\">\n <lib-typography [defaultText]=\"'All '+selectedItemCount+' '+itemName+' on this page are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(true)\" class=\"select-all-handler\"\n [defaultText]=\"'Select all '+_gridView.total+' '+itemName+' from all pages'\"\n type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n <div *ngIf=\"allPagesSelected\" class=\"lib-grid-select-all-message\">\n <lib-icon name=\"circle-checked\" class=\"all-selected-icon\"></lib-icon>\n <lib-typography [defaultText]=\"'All '+_gridView.total+' '+itemName+' across all pages are selected.'\"\n type=\"BODY_SMALL\"></lib-typography>\n <u><lib-typography (click)=\"selectAcrossPages(false)\" class=\"select-all-handler\"\n [defaultText]=\"'Clear selection'\" type=\"BODY_SMALL\"></lib-typography></u>\n </div>\n </div>\n </div>\n <ng-template kendoGridToolbarTemplate [position]=\"getPosition()\" let-position=\"position\">\n <ng-container *ngIf=\"showToolbar && position === 'top'\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"showRefresh\">\n <ng-container *ngTemplateOutlet=\"showRefreshTemplate\"></ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"infiniteScrollLoader && position === 'bottom'\">\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n <lib-grid-pagination-spacer></lib-grid-pagination-spacer>\n </ng-container>\n </ng-template>\n\n <ng-template #showRefreshTemplate>\n <lib-tooltip position=\"top\" showOn=\"hover\" [tooltipWidth]=\"68\" [callout]=\"true\">\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Refresh\"></lib-typography>\n </div>\n <lib-button size=\"small\" width=\"2.4rem\" rounded=\"small\" fillMode=\"solid\" themeColor=\"primary\" iconName=\"reset\"\n [toggleable]=\"false\" (buttonClick)=\"refreshGridData()\" [iconButton]=\"true\" [iconFontSize]=\"13\"></lib-button>\n </lib-tooltip>\n </ng-template>\n\n <ng-template kendoGridLoadingTemplate>\n <div class=\"k-loading-color\"></div>\n <div class=\"loading-container\">\n <lib-loader [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </div>\n </ng-template>\n\n <ng-template *ngIf=\"this._gridView.total === 0\" kendoGridNoRecordsTemplate>\n <lib-typography *ngIf=\"!loading\" [defaultText]=\"noRecordsContent\" type=\"BODY_MEDIUM\"></lib-typography>\n <lib-loader *ngIf=\"loading\" [type]=\"loaderType\" [size]=\"loaderSize\" [themeColor]=\"loaderTheme\"></lib-loader>\n </ng-template>\n <ng-container *ngIf=\"this._gridView.total > 0\">\n <kendo-grid-checkbox-column #selectAllCheckbox headerClass=\"select-all-header\" *ngIf=\"checkBoxRequired\"\n [width]=\"checkBoxWidth\" [resizable]=\"checkBoxColumnResizable\" [columnMenu]=\"checkBoxColumnMenu\"\n class=\"checkbox-column\" [sticky]=\"isCheckBoxColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridHeaderTemplate *ngIf=\"isSelectAllCheckboxRequired\">\n <input id=\"selectAllCheckboxId\" type=\"checkbox\" kendoCheckBox kendoGridSelectAllCheckbox\n [state]=\"selectAllState\" (selectAllChange)=\"onSelectAllChange($event)\" />\n </ng-template>\n </kendo-grid-checkbox-column>\n\n <kendo-grid-column class=\"grid-column\" *ngFor=\"let item of columnData; let i = index\" [field]=\"item.field\"\n [title]=\"item.title\" [width]=\"item.columnWidth\" [minResizableWidth]=\"minResizableWidth\"\n [sortable]=\"item.sortable\" [editor]=\"item.editor\" [class]=\"item.class\"\n [sticky]=\"item.columnSticky && !customExpandRowColumn\">\n\n <ng-template *ngIf=\"sortable\" kendoGridHeaderTemplate>\n {{item.title}}\n <span *ngIf=\"sort[0].field === item.field\">\n <span *ngIf=\"sort[0].dir === 'asc'\"></span>\n <span *ngIf=\"sort[0].dir === 'desc'\"></span>\n </span>\n </ng-template>\n\n <!-- <ng-template *ngIf=\"i === 0\" kendoGridCellTemplate let-dataItem>\n <div class=\"first-custom-column\">\n <lib-typography type=\"BODY_MEDIUM\">{{dataItem?.[item.field]}}</lib-typography>\n <lib-button class=\"chefy\" size=\"small\" rounded=\"full\" (buttonClick)=\"onChefyClick($event, dataItem)\" fillMode=\"solid\"\n themeColor=\"primary\" label=\"Chefy\" />\n </div>\n </ng-template> -->\n\n <ng-template *ngIf=\"item.customColumn\" kendoGridCellTemplate let-dataItem>\n <ng-container [ngTemplateOutlet]=\"columnTemplateDict[item.type]\"\n [ngTemplateOutletContext]=\"{$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <ng-template *ngIf=\"item.custom\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"templateRef; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n <ng-template *ngIf=\"item.impact\" kendoGridCellTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"impactColumn; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column *ngIf=\"showDeleteColumn\" [width]=\"deleteColumnWidth\" class=\"delete-column\" title=\"Action\"\n [sticky]=\"isDeleteColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <lib-tooltip showOn=\"hover\" position=\"bottom\" class=\"remove-tooltip\">\n <lib-icon name=\"delete\" class=\"delete-icon\" (click)=\"onDelete(dataItem)\"></lib-icon>\n <div class=\"tooltip-content\">\n <lib-typography defaultText=\"Remove\"></lib-typography>\n </div>\n </lib-tooltip>\n </ng-template>\n </kendo-grid-column>\n\n <kendo-grid-column [width]=\"kebabColumnWidth\" class=\"kebab-column\" title=\"Actions\"\n [sticky]=\"isKebabColumnSticky && !customExpandRowColumn\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <div *ngIf=\"aiQuestions && aiQuestions?.length > 0\">\n <div kendoPopoverAnchor [popover]=\"actionPopover\" showOn=\"hover\">\n <img [src]=\"kebabIconSafeUrl\" alt=\"Ask Chef AI\"\n [ngStyle]=\"{ width: '1.75rem', cursor: 'pointer', position: 'relative', top: '-2px' }\"\n (click)=\"onChefyClick($event, dataItem)\" />\n </div>\n <div>\n <kendo-popover #actionPopover appendTo=\"body\" [width]=\"200\" [offset]=\"-16\" position=\"bottom\"\n popupClass=\"chef-ai-menu\" [callout]=\"true\">\n <ng-template kendoPopoverBodyTemplate>\n <div class=\"recommendations\" *ngFor=\"let question of aiQuestions\" (click)=\"onChefyClick($event, dataItem, question)\">\n <lib-typography type=\"BODY_MEDIUM\" [defaultText]=\"question\"></lib-typography>\n </div>\n <div class=\"recommendations action-item\" (click)=\"onChefyClick($event, dataItem)\">\n <img [src]=\"kebabIconSafeUrl\" alt=\"Ask Chef AI\"\n [ngStyle]=\"{ width: '1.5rem', cursor: 'pointer', position: 'relative', top: '-2px' }\"/>\n <lib-typography type=\"BODY_MEDIUM\" defaultText=\"Start New Conversation\"></lib-typography>\n </div>\n </ng-template>\n </kendo-popover>\n </div>\n </div>\n <div *ngIf=\"!aiQuestions || aiQuestions?.length === 0\">\n <img [src]=\"kebabIconSafeUrl\" alt=\"Ask Chef AI\"\n [ngStyle]=\"{ width: '1.75rem', cursor: 'pointer', position: 'relative', top: '-2px' }\"\n (click)=\"onChefyClick($event, dataItem)\" />\n </div>\n <div *ngIf=\"showKebab\">\n <kendo-dropdownbutton *ngIf=\"!hideKebabRowIndex.includes(rowIndex)\" [svgIcon]=\"icon\" fillMode=\"none\"\n [data]=\"kebabList | kebabMenuFilter : dataItem\" class=\"kebab\" (itemClick)=\"onKebabClick($event, dataItem)\"\n [popupSettings]=\"{ align: 'right', animate: true, popupClass: 'kebab-list' }\">\n </kendo-dropdownbutton>\n </div>\n </ng-template>\n </kendo-grid-column>\n </ng-container>\n\n <!-- Limitation: detail template and sticky columns do not co-exist-->\n <ng-template *ngIf=\"customExpandRowColumn\" kendoGridDetailTemplate let-dataItem>\n <ng-container *ngTemplateOutlet=\"detailTemplate; context: {$implicit: dataItem}\"></ng-container>\n </ng-template>\n\n <kendo-grid-column *ngIf=\"customExpandRowColumn\" [width]=\"expandRowColumnWidth\" class=\"grid-column expand-column\">\n <ng-template kendoGridCellTemplate let-dataItem let-rowIndex=\"rowIndex\">\n <div [ngClass]=\"expandColumnClass()\">\n <span *ngIf=\"selectedRows.includes(dataItem[gridRowSelectByValue]) && disablePreSelectedRows\"\n class=\"expand-column-text\">\n Already added\n </span>\n <kendo-button *ngIf=\"!expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowDownIcon\"\n (click)=\"expandRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n <kendo-button *ngIf=\"expandRowIndex.includes(rowIndex)\" [svgIcon]=\"arrowUpIcon\"\n (click)=\"collapseRow(rowIndex)\" fillMode=\"none\" class=\"arrow-btn\">\n </kendo-button>\n </div>\n </ng-template>\n </kendo-grid-column>\n\n <ng-template kendoPagerTemplate let-totalPages=\"totalPages\" let-currentPage=\"currentPage\">\n <div class=\"pagination-wrapper\" [ngClass]=\"allPagesSelected ? 'pagination-disabled' : ''\">\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons [buttonCount]=\"_pageCount\"></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n <kendo-pager-page-sizes [pageSizes]=\"sizes\"></kendo-pager-page-sizes>\n </div>\n </ng-template>\n\n </kendo-grid>\n</div>\n", styles: [".loading-container{height:100%;display:flex;justify-content:center;align-items:center}::ng-deep .k-grid tr{height:50px}::ng-deep .pagination-wrapper{display:flex;width:100%}::ng-deep .pagination-disabled{color:#6c6f72!important;pointer-events:none}::ng-deep .lib-grid-select-all-message-container{height:2rem;display:none;gap:.25rem;justify-content:center;align-items:center;background-color:#eceff5!important;font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .lib-grid-select-all-message-container .select-all-handler{cursor:pointer}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message{display:flex;gap:.25rem}::ng-deep .lib-grid-select-all-message-container .lib-grid-select-all-message .all-selected-icon{color:#198038}::ng-deep .disabled{cursor:none!important;pointer-events:none;opacity:.5}::ng-deep .lib-grid-select-all-message-show{display:flex!important}::ng-deep .k-grid .k-table-th,::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important;border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:2px!important;border-right:0px!important;border-left:0px!important;cursor:default!important}::ng-deep .k-grid .k-table-th .k-cell-inner,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner{padding-right:.5rem;border-right:2px solid #C2D2F3!important}::ng-deep .k-grid .k-table-th .k-cell-inner .k-link,::ng-deep .k-grid .k-table-th.k-sorted .k-cell-inner .k-link{cursor:default!important}::ng-deep .k-grid .k-table-th:focus,::ng-deep .k-grid .k-table-th.k-sorted:focus{box-shadow:none!important}::ng-deep .k-grid .k-table-th.k-sorted{font-family:Inter,sans-serif!important;font-weight:600!important;font-style:normal!important;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important;background-color:#dee6f7!important}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover{background-color:#d0dcf5!important}::ng-deep .k-grid .k-table-row.k-selected>.k-table-td{background-color:#c9d7f4!important}::ng-deep .k-grid .k-table-row.k-disabled>.k-table-td{background-color:#fff!important}::ng-deep .k-grid .k-table-td{border-bottom-color:#ebecec!important;border-bottom-style:solid!important;border-bottom-width:1px!important;border-right:0px!important;border-left:0px!important}::ng-deep .k-grid td,::ng-deep .k-grid .k-table-td{white-space:nowrap!important}::ng-deep .k-table-alt-row{background-color:inherit!important}::ng-deep .k-grid .k-table-td{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal;font-size:12px!important;line-height:16px!important;letter-spacing:.25px!important}::ng-deep .k-grid-norecords{text-align:center!important;opacity:.4}::ng-deep .k-grid-norecords td{padding:14px 0 14px 24px!important}::ng-deep kendo-pager.k-pager-wrap.k-grid-pager{font-family:Inter,sans-serif!important;font-weight:400!important;font-style:normal!important;font-size:14px!important;line-height:20px!important;letter-spacing:.25px!important}::ng-deep .k-pager{border-style:none!important}::ng-deep .k-input-value-text{overflow:unset!important}::ng-deep .k-grid th.k-header{vertical-align:middle!important;padding-left:16px;padding-right:.5rem}::ng-deep .grid-column,::ng-deep .kebab-column,::ng-deep .delete-column{padding:0!important}::ng-deep .grid-column kendo-button,::ng-deep .kebab-column kendo-button,::ng-deep .delete-column kendo-button{align-items:center!important;justify-content:center!important;display:flex!important}::ng-deep .k-checkbox{width:20px!important;height:20px!important;border-radius:0!important}::ng-deep .k-grid .k-hierarchy-cell,::ng-deep .k-grid .k-hierarchy-col{width:0;display:none}::ng-deep .k-grid .k-detail-row .k-detail-cell{background-color:#f4f8fa!important;padding:16px!important}::ng-deep .delete-icon{color:#dc267f!important;padding-left:12px;cursor:pointer}::ng-deep .remove-tooltip kendo-tooltip.k-tooltip{background-color:#fff;color:#000}::ng-deep .hide-header .k-grid-header{border:0px!important}::ng-deep .k-grouping-header{background-color:#eceff5!important}::ng-deep .k-grid-toolbar{padding:4px 16px!important;height:54px;background-color:#eceff5!important}::ng-deep .k-grid td:not(.kebab-column):not(.expand-column){padding-left:16px!important;padding-right:16px!important}::ng-deep .view-header .k-table-thead tr{height:50px}::ng-deep .hide-header .k-table-thead tr{height:0px;padding:0;display:block}::ng-deep td.kebab-column{display:flex;justify-content:center;align-items:center;height:inherit}::ng-deep .k-grid .k-table-td>.k-checkbox{vertical-align:middle!important}::ng-deep .kebab .k-button,::ng-deep .expand-column .k-button{border:0px}::ng-deep .expand-column{pointer-events:all!important}::ng-deep .expand-column-text{margin-right:32px}::ng-deep .expand-row{display:flex;align-items:center;justify-content:flex-end}::ng-deep .column-cursor-pointer{cursor:pointer}::ng-deep .column-content-nowrap .k-grid .k-table-th,::ng-deep .column-content-nowrap .k-grid td,::ng-deep .column-content-nowrap .k-grid .k-table-td{white-space:nowrap;text-overflow:clip}::ng-deep kendo-grid.k-grid .k-table-alt-row .k-grid-content-sticky,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row td,::ng-deep kendo-grid.k-grid .k-grid-row-sticky.k-table-alt-row .k-table-td,::ng-deep .k-master-row.k-table-alt-row .k-grid-content-sticky,::ng-deep .k-master-row.k-table-alt-row .k-grid-row-sticky{background-color:#fff}::ng-deep kendo-grid.k-grid .k-grid-content-sticky:hover,::ng-deep kendo-grid.k-grid .k-grid-content-sticky.k-hover,::ng-deep kendo-grid.k-grid .k-table-row:hover .k-grid-content-sticky{background-color:#d0dcf5!important}::ng-deep .first-custom-column{position:relative}::ng-deep .first-custom-column .chefy{display:none;position:absolute;right:0;opacity:0;transition:opacity .2s ease}::ng-deep .first-custom-column .chefy .btn-padding{padding:.125rem .25rem}::ng-deep .k-grid tbody>tr:not(.k-detail-row):hover .first-custom-column .chefy{display:inline-block;opacity:1}::ng-deep kendo-popover .k-popover-body{padding:0!important}::ng-deep kendo-popover .k-popover-callout.k-callout-n{top:.5rem!important}::ng-deep kendo-popover .recommendations{border-bottom:1px solid #dee2e6;padding:.25rem .5rem;cursor:pointer}::ng-deep kendo-popover .recommendations:hover{background-color:#f3f3f3}::ng-deep kendo-popover .recommendations.action-item{padding:.25rem;color:#0069ff}\n"] }]
478
479
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }, { type: i0.Renderer2 }], propDecorators: { columnTemplates: [{
479
480
  type: ContentChildren,
480
481
  args: [CustomColumnTemplate]
@@ -640,4 +641,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
640
641
  }], isSelectAllCheckboxRequired: [{
641
642
  type: Input
642
643
  }] } });
643
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0QsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFxQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdk8sT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RELE9BQU8sRUFBa0IsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRixPQUFPLEVBQWtDLGFBQWEsRUFBNkcsTUFBTSw4QkFBOEIsQ0FBQztBQUN4TSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBVyxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFPdEcsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFtQixRQUFnQztRQUFoQyxhQUFRLEdBQVIsUUFBUSxDQUF3QjtRQUQxQyxTQUFJLEdBQVcsRUFBRSxDQUFDO0lBQzRCLENBQUM7K0dBRjdDLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9C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Z0JBQ0UsMkJBQTJCO3NCQUFuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgS2V5cyB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBTb3J0RGVzY3JpcHRvciwgb3JkZXJCeSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IExvYWRlclNpemUsIExvYWRlclRoZW1lQ29sb3IsIExvYWRlclR5cGUgfSBmcm9tICcuLi8uLi9hdG9tcy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDZWxsQ2xpY2tFdmVudCwgQ2VsbENsb3NlRXZlbnQsIEdyaWRDb21wb25lbnQsIEdyaWREYXRhUmVzdWx0LCBQYWdlQ2hhbmdlRXZlbnQsIFJvd0NsYXNzQXJncywgU2VsZWN0QWxsQ2hlY2tib3hTdGF0ZSwgU2VsZWN0YWJsZU1vZGUsIFNlbGVjdGFibGVTZXR0aW5ncyB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xuaW1wb3J0IHsgY2hldnJvbkRvd25JY29uLCBjaGV2cm9uVXBJY29uLCBtb3JlVmVydGljYWxJY29uLCBTVkdJY29uIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVt0eXBlXSdcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29sdW1uVGVtcGxhdGUge1xuICBASW5wdXQoKSB0eXBlOiBzdHJpbmcgPSBcIlwiO1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPENvbXBvbmVudD4pIHsgfVxufVxuXG5jb25zdCBjcmVhdGVGb3JtR3JvdXAgPSAoZGF0YUl0ZW06IGFueSk6IEZvcm1Hcm91cCA9PiB7XG4gIGNvbnN0IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgZm9yIChsZXQgZGF0YSBvZiBPYmplY3Qua2V5cyhkYXRhSXRlbSkpIHtcbiAgICBmb3JtLmFkZENvbnRyb2woZGF0YSwgbmV3IEZvcm1Db250cm9sKGRhdGFJdGVtW2RhdGFdLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSlcbiAgfVxuICByZXR1cm4gZm9ybVxufTtcblxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1ncmlkLXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3JpZFBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQge1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQ3VzdG9tQ29sdW1uVGVtcGxhdGUpIGNvbHVtblRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxDdXN0b21Db2x1bW5UZW1wbGF0ZT4gfCBbXTtcbiAgQENvbnRlbnRDaGlsZCgnbXVsdGlDb2x1bW5EYXRhJykgdGVtcGxhdGVSZWYhOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcbiAgQENvbnRlbnRDaGlsZCgnZGV0YWlsVGVtcGxhdGUnKSBkZXRhaWxUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBAQ29udGVudENoaWxkKCdpbXBhY3RDb2x1bW4nKSBpbXBhY3RDb2x1bW4hOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcbiAgQFZpZXdDaGlsZChHcmlkQ29tcG9uZW50KSBncmlkITogR3JpZENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnZ3JpZEVsZW1lbnQnKSBncmlkRWxlbWVudCE6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEFsbENoZWNrYm94Jykgc2VsZWN0QWxsQ2hlY2tib3ghOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdzZWxlY3RBbGxNZXNzYWdlRWxlbWVudCcpIHNlbGVjdEFsbE1lc3NhZ2VFbGVtZW50ITogRWxlbWVudFJlZjtcbiAgQElucHV0KCkgc2tpcDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgaXRlbU5hbWU6IHN0cmluZyA9ICdJdGVtcyc7XG4gIEBJbnB1dCgpIHNob3dTZWxlY3RBbGxNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XG4gIGFsbFBhZ2VzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJldmlvdXNTZWxlY3RBbGxTdGF0ZTogU2VsZWN0QWxsQ2hlY2tib3hTdGF0ZSA9ICd1bmNoZWNrZWQnO1xuICBAT3V0cHV0KCkgb25TZWxlY3RBbGxBY3Jvc3NQYWdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQElucHV0KCkgYWlRdWVzdGlvbnM6IGFueSA9IFtdO1xuICBASW5wdXQoKSBjb2x1bW5EYXRhOiBhbnkgPSBbXTtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHBhZ2VhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNvcnRhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGdyb3VwYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZW9yZGVyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZXNpemFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY2hlY2tCb3hXaWR0aDogbnVtYmVyID0gNDU7XG4gIEBJbnB1dCgpIGNoZWNrQm94Q29sdW1uUmVzaXphYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNoZWNrQm94Q29sdW1uTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjaGVja0JveENvbHVtblNob3dTZWxlY3RlZEFsbDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGNoZWNrQm94UmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY29sdW1uTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtb2RlOiBTZWxlY3RhYmxlTW9kZSB8IHVuZGVmaW5lZCA9ICdtdWx0aXBsZSc7XG4gIEBJbnB1dCgpIGNoZWNrYm94T25seSA9IHRydWU7XG4gIEBJbnB1dCgpIGRyYWdDb2x1bW5zID0gZmFsc2U7XG4gIEBJbnB1dCgpIG5hdmlnYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGdyaWRIZWlnaHQhOiBhbnk7XG4gIEBJbnB1dCgpIGdyaWRSb3dTZWxlY3RCeVZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbm9SZWNvcmRzQ29udGVudDogc3RyaW5nID0gJ05vIHJlY29yZHMgYXJlIGF2YWlsYWJsZSB5ZXQuJztcbiAgQE91dHB1dCgpIHNlbGVjdGVkUm93RGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBJbnB1dCgpIHNob3dUb29sYmFyOiBib29sZWFuID0gZmFsc2U7XG4gIGV4dHJhY3REYXRhSXRlbXM6IGFueTtcbiAgc2VsZWN0YWJsZVNldHRpbmdzOiBTZWxlY3RhYmxlU2V0dGluZ3MgPSB7fTtcbiAgQElucHV0KCkga2ViYWJMaXN0OiBhbnkgPSBbXTtcbiAgQElucHV0KCkgc2hvd0tlYmFiOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSByb3dEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgQE91dHB1dCgpIGtlYmFiSXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIGljb246IFNWR0ljb24gPSBtb3JlVmVydGljYWxJY29uO1xuICBASW5wdXQoKSBrZWJhYkNvbHVtbldpZHRoOiBudW1iZXIgPSA5MDtcbiAgZGF0YTogYW55ID0gW107XG4gIEBJbnB1dCgpIHNlbGVjdENvbHVtbiA9ICcnO1xuICBAT3V0cHV0KCkgcm93RGF0YU9mQ2xpY2tlZENlbGwgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgX3ByZVNlbGVjdGVkOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBzZXQgcHJlU2VsZWN0ZWQodmFsdWU6IGFueVtdKSB7XG4gICAgdGhpcy5fcHJlU2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICB0aGlzLmluaXRHcmlkKCk7XG4gIH1cbiAgX2dyaWRWaWV3OiBHcmlkRGF0YVJlc3VsdCA9IHsgZGF0YTogW10sIHRvdGFsOiAwIH07XG4gIEBJbnB1dCgpIHNldCBncmlkVmlldyh2YWx1ZTogR3JpZERhdGFSZXN1bHQpIHtcbiAgICB0aGlzLl9ncmlkVmlldyA9IHZhbHVlO1xuICB9XG4gIHByZVNlbGVjdGVkUmVjb3JkczogYW55W10gPSBbXTtcbiAgQE91dHB1dCgpIG9uUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBpZ25vcmVDb2x1bW5DZWxsQ2xpY2s6IG51bWJlcltdID0gW107XG4gIEBJbnB1dCgpIGFsbG93Q29sdW1uQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc29ydDogU29ydERlc2NyaXB0b3JbXSA9IFtcbiAgICB7XG4gICAgICBmaWVsZDogJycsXG4gICAgICBkaXI6IHVuZGVmaW5lZCxcbiAgICB9LFxuICBdO1xuICBASW5wdXQoKSBoYXNBcGlTb3J0aW5nID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBzb3J0RGlyZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHB1YmxpYyBhcnJvd0Rvd25JY29uOiBTVkdJY29uID0gY2hldnJvbkRvd25JY29uO1xuICBwdWJsaWMgYXJyb3dVcEljb246IFNWR0ljb24gPSBjaGV2cm9uVXBJY29uO1xuICBASW5wdXQoKSBleHBhbmRSb3dJbmRleDogbnVtYmVyW10gPSBbXTtcbiAgQElucHV0KCkgY3VzdG9tRXhwYW5kUm93Q29sdW1uOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRlbGV0ZUNvbHVtbldpZHRoOiBudW1iZXIgPSA0MjtcbiAgZXhwYW5kUm93Q29sdW1uV2lkdGg6IG51bWJlciA9IDU2O1xuICBAT3V0cHV0KCkgZGVsZXRlZFJvd0RhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgc2l6ZXM6IGFueVtdID0gW107XG4gIF9wYWdlQ291bnQ6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIHNldCBwYWdlQ291bnQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3BhZ2VDb3VudCA9IHZhbHVlID4gMTAgPyAxMCA6IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHNob3dEZWxldGVDb2x1bW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaGlkZUtlYmFiUm93SW5kZXg6IG51bWJlcltdID0gW107XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbG9hZGVyVHlwZTogTG9hZGVyVHlwZSA9IExvYWRlclR5cGUucHVsc2luZztcbiAgQElucHV0KCkgbG9hZGVyU2l6ZTogTG9hZGVyU2l6ZSA9IExvYWRlclNpemUubWVkaXVtO1xuICBASW5wdXQoKSBsb2FkZXJUaGVtZTogTG9hZGVyVGhlbWVDb2xvciA9IExvYWRlclRoZW1lQ29sb3IucHJpbWFyeTtcbiAgaW5pdGlhbEdyaWRIZWlnaHQ6IGFueTtcbiAgZ3JpZEJvdHRvbVNwYWNlID0gMjQ7XG4gIHJlc2l6ZUhlaWdodDogYW55ID0gMDtcbiAgc2VsZWN0QWxsU3RhdGU6IFNlbGVjdEFsbENoZWNrYm94U3RhdGUgPSAndW5jaGVja2VkJztcbiAgc2VsZWN0ZWRJdGVtQ291bnQ6IG51bWJlciA9IDA7XG4gIHNlbGVjdGVkUm93czogYW55W10gPSBbXTtcbiAgQElucHV0KCkgZGlzYWJsZVByZVNlbGVjdGVkUm93cyA9IGZhbHNlO1xuICBwdWJsaWMgZm9ybUdyb3VwITogRm9ybUdyb3VwIHwgYW55O1xuICBAT3V0cHV0KCkgdXBkYXRlZERhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgYWxsb3dFZGl0aW5nQ2VsbCA9IGZhbHNlO1xuICBASW5wdXQoKSBjb2x1bW5Db250ZW50Tm9XcmFwID0gZmFsc2U7XG4gIEBJbnB1dCgpIGluZmluaXRlU2Nyb2xsTG9hZGVyID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvbnNjcm9sbEJvdHRvbSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBpc0luZmluaXRlU2Nyb2xsR3JpZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBncmlkTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBzZWxlY3RBbGxNc2dQYXJlbnRFbGVtZW50OiBhbnk7XG4gIEBJbnB1dCgpIG1pblJlc2l6YWJsZVdpZHRoID0gNTA7XG4gIEBJbnB1dCgpIHNob3dSZWZyZXNoID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzS2ViYWJDb2x1bW5TdGlja3kgPSBmYWxzZTtcbiAgQElucHV0KCkgaXNDaGVja0JveENvbHVtblN0aWNreSA9IGZhbHNlO1xuICBASW5wdXQoKSBpc0RlbGV0ZUNvbHVtblN0aWNreSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgZW1pdFJlZnJlc2hFdnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIGlzU2VsZWN0QWxsQ2hlY2tib3hSZXF1aXJlZCA9IHRydWU7XG5cbiAga2ViYWJBSUljb24gPSBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBV0FBQUFGZ0NBWUFBQUNGWWFOTUFBQVFBRWxFUVZSNEFlejlDYkJsMTVVZEJxNjl6NzF2L0VQKy8vUG5QQkdjUUlBVGlLbkFVc2twV3lwRnVTMUZ1eU9TMFIwZXdtcTdTY3RTTVV4R2xVcFNkQVEvSXV4eVZiR0NWS0JjVXJQc2RuWElQVVFRRWU0T3VlMEt5V1VMWVhVUkpFRVFMSUlBeWVLVWlTRUJaQ0l6a2NNZjNydjM3TjFyMy9mZVJ3S2NRREtSeUo5NWI5NzE5aG4yMldlZmZjOVo3N3p6SGo0VTdkVkdvSTFBRzRFMkFtOUpCRm9DZmt2QzNuYmFScUNOUUJzQm9DWGdkaGEwRVdnamNHdEc0QVlZZFV2QU44QkRhRjFvSTlCRzROYU1RRXZBdCtaemIwZmRScUNOd0EwUWdaYUFiNENIMExyUVJ1RFdpMEE3NG9oQVM4QVJoUlp0Qk5vSXRCRjRDeUxRRXZCYkVQUzJ5ellDYlFUYUNFUUVXZ0tPS0xSb0kzQnJSYUFkN1EwU2daYUFiNUFIMGJyUlJxQ053SzBYZ1phQWI3MW4zbzY0alVBYmdSc2tBaTBCM3lBUG9uWGoxb2xBTzlJMkFyTUl0QVE4aTBRcjJ3aTBFV2dqY0owajBCTHdkUTU0MjEwYmdUWUNiUVJtRVdnSmVCYUpWdDRhRVdoSDJVYmdCb3BBUzhBMzBNTm9YV2tqMEViZzFvcEFTOEMzMXZOdVI5dEdvSTNBRFJTQmxvQnZvSWR4ODd2U2pyQ05RQnVCcXlQUUV2RFYwV2pUYlFUYUNMUVJ1STRSYUFuNE9nYTc3YXFOUUJ1Qk5nSlhSNkFsNEt1amNYT24yOUcxRVdnamNJTkZvQ1hnRyt5QnRPNjBFV2dqY090RW9DWGdXK2RadHlOdEk5Qkc0QWFMUUV2QTErbUJ0TjIwRVdnajBFYmc5UkZvQ2ZqMUVXbnpiUVRhQ0xRUnVFNFJhQW40T2dXNjdhYU5RQnVCTmdLdmo4Q3RRY0N2SDNXYmJ5UFFScUNOd0EwUWdaYUFiNENIMExyUVJxQ053SzBaZ1phQWI4M24zbzY2alVBYmdSc2dBdGVCZ0crQVViWXV0QkZvSTlCRzRBYU1RRXZBTitCRGFWMXFJOUJHNE5hSVFFdkF0OFp6YmtmWlJxQ053RnNRZ1ovV1pVdkFQeTFDYlgwYmdUWUNiUVRlcEFpMEJQd21CYlkxMjBhZ2pVQWJnWjhXZ1phQWYxcUUydm8yQW0wRWRtWUVkb0RYTFFIdmdJZlV1dGhHb0kzQXpSbUJsb0J2enVmYWpxcU5RQnVCSFJDQmxvQjN3RU5xWFd3anNQTWkwSHI4UmlMUUV2QWJpVktyMDBhZ2pVQWJnVGNoQWkwQnZ3bEJiVTIyRVdnajBFYmdqVVNnSmVBM0VxVldwNDNBem9wQTYrME9pVUJMd0R2a1FiVnV0aEZvSTNEelJhQWw0SnZ2bWJZamFpUFFSbUNIUktBbDRCM3lvRm8zZDA0RVdrL2JDTHpSQ0xRRS9FWWoxZXExRVdnajBFYmdHa2VnSmVCckhORFdYQnVCTmdKdEJONW9CRm9DZnFPUmF2VjJSZ1JhTDM5Y0JHUnRiVTJKNG5PZisxeTU5dm0xenE4LzlPdmRoNGkxUDE3clJmcWpuL3RvZWVMeko1Szd5NDh6MHBaZjJ3aTBCSHh0NDlsYWF5TndRMGFBeEN2bmxzK1Z3OXV1ZEYvb3ZEQWNuUm5OcjNSWDVzK1gzY1Z4UFY2Y201dGJXTUxTNEJBT2RUN3k4RWRhWHJoT1Q3RU45SFVLZE50Tkc0RzNPQUo2WkZlM09IK3A3TUV3R1BaMER1WFdBc3BpUWJYZWxhcDZJU0VOT2hjNm5hVUxTL29XKzNyTGROOEcrcFo1MU5kam9HMGZOMm9FOXUvZkwrdDVydXoydTkyNnFvYzFmRDU3QUl2dTVhS2t0S0NvQmxwcXB6dnF0cnh3blI1a0cranJGT2kybXpZQ2IyVUVlT3lReW03WlRaMTZ2amRmTEhVR2FhVlQ5bGQ2dmM1eXJ5dkxSZG5aMVo4ZkRydWRidmR0Kzk2bWI2V3Z0MUxmYmFCdnBhZmRqdldXamNEd3dEQnBweHAyQnIybHNwZjJrWXdQZHVhSy9jVGUvbHh2ZFRoZkxwVmRuUjhNVS9jU0xxVmJObERYZWVBdEFWL25nTCtKM2JXbTJ3ajgyQWpraTdrb2V1VWdsYkpVcExRL0ZlbGdVZWorVkthOXFhT3JSYi9EWFRIcE9KVzk1Ym5sbGhkK2JDU3ZiVVViNkdzYno5WmFHNEViTWdLZGhVNUtYZ3lTNkxLV3NnK0ZIaXhLM1Yra1ltOVJGS3VGWWprVk90Y1phcmV3OVhZSGZKMmVZa3ZBMXluUWJUZHRCTjdLQ0JTMmxaQnkzMHZNUTN4Rms2OUNiTlVTRVZKc0JhZ1hNcXhuUGRlMzB0ZGJxZTgyME5mb2FiZG0yZ2pjeUJHd2pxdWxpcTk1NE1rV1RHeXBscnhTMjNpMXRxMjlZOXRhM2NyanhYbzg2bS9tY2JxUngzSXorZFlTOE0zME5OdXh0Qkg0TVJId0d1cU9qb2dOWEl3RW5KY01lU1Y3WHEyczNsdmxhclVtQVkrczZoZmVFdkNQQ2VNMUwyNEorSnFIdERYWVJ1REdpNENYUEZaUWRGeWNCT3dMbEV2bWVjVlJyMllTY003MWF1MTUwWHpVSDF2ZDdvQ3YweU84T1FqNE9nV3I3YWFOd0U2SkFIZTdjbnp0ZUhIaTh5YzYvOEVmL3dlOTh4c1hCeVBmSEl4dFBLeThtcXRzUEYraG1oL25hcUh5OGNLWTZacDE0MXdQTG05czlkZllidmEzSWVDUW5UTHVuZVpuUzhBNzdZbTEvcllSZUFNUitDc1BIaytIYnp2Y1hiaUV1YzY0WGxxdkx5OXRWcHVMRzdZMXQyVmIvUzBmZGJmeVZuZUVVYm5sNDNKTWpIelVZL2x3SkZ2elo0ditmSGU0M3I5emZWaWVlUGhFeXhOdklPWS9qMG9iMko4bmFtMmJOZ0kzZUFSVzcxalZ6bmlyMjlXNW9mVmxsNDN6MHBhTkZrWjVhMjR6Q05oR1BSSnVKekRHdUNES0VhcmVHTldnenRWOE9kSjUxWDcvWEZtMWZ4dmlUWHpXMTRDQTMwVHZXdE50Qk5vSS9Gd1JHSzRQTmVWdWQxelVjOGxsVjVYSHkxVTlYaVFKejQxc3hPTUk3b0I5M0IxeDV6dTJjVW5acVh6Y3EvTm9PSEpmcURQbVJlcStEVko1WU9sQ2V3VHhjejJGbjk2b0plQ2ZIcU5XbzQzQWpvdEFUam5wUXRHVmpzM1Zhc3Qxc3VXeDFnc1Y2a0VsVlljNzNZSXlqYVZLWTYyVTZYS01lbGdWdnN0S1c4VkFWbk5YRjlVNy9ZczQxSDRwOXliTmdKYUEzNlRBdG1iYkNMeVZFU2dYUzkwcVI3MXh3a0lleUhMZDhlV3E5UG1xcUh2ak1pc2xKc2dUV2VhaUxtMHVGNzdidWppY08zcTQ3b0FralBsNjdrejVWbzdsUnU3N0YvV3RKZUJmTklKdCt6WUNOMkFFekN3aFNVOEttWWZhaXBXK25GT2Vyd3ZyMWR3ZFgwMis0NkltQ2VjaUJ3Rno5K3VGSGthSncxN0tidHFZMjlCZWNRTU84YVp3U1crS1ViU0RhQ1BRUnVBMUVUQzNWSkdBYzhmbXJSU1NyNi9VeWJnRHRoN0pOMVhGWk9jN0pWOVVLUmRSNzRwVktBNmJ5bUZSWFVVcGM2V1VMUUcvSnJyWEx0TVM4TFdMWld1cGpjQmJHd0dIckswMS85ODM3U3gwQ2kxMDRLS0xWdWh1VDdwU0t4WnFJUUdMNlZocWpEV2pWcHNoV2ZKZXBvNHBWbHhrSmFzdlpMVitrUGxiTzdBZjAvdE5VTndTOEUzd0VOc2h0QkdJLzFpaStiM3V2d1o5Nmc0VUd4ZTloNVNHa3NwZHJySnFRZ0NMbFZsL1pQeml6VElxTTFSdXFObVlwQ3Uxbzh4QWx4aG0yRENiOXlwSVVXdmQvZ3JpVFpwaUxRRy9TWUZ0emJZUnVKNFJXSHR3VGU1Y3ZWUE9QWGt1TFYwNFhSU2lYWmRpTGlkWmNrMTdqTWNKTlFtNGR1K1BMYWV4MVNUZjNKQnZUUUltK1hJL0RCNU1jQmNNREVqQ2d5elN6VG1YbzFwYm5uaVRIbVliMkRjcHNLM1pOZ0xYT3dKUG5ZV091cU4wNFFKM3Npb2tZSm1ENkJLUEgxWjVwTEJLVWwyc1lQMHFXeHB4Qnp3bVlnZWNTY0NzRTZJMGtIVGRoeVRyWVhicnVXalJTZmxIN0lDdjkraHV6djVhQXI0NW4yczdxbHNzQWsvZGNZZkV6dmRLVHQzaGZORkhUc05jeTV5WkRNbXpjeVRYQVkrSXUrN0NZd1pSYzRGQkVUSTNhUkhLbEozazdlaWFvWmRkK2puN2NLTktjLy9lcDM5akdIOVRJdjQrUkp3ejMyTGhmZE9HMnhMd214YmExbkFiZ2VzWWdhY2ZUa0crVWhiRFdzckZhc3NYYzRWQlBYWWVJMEJ6RFZoV2dSZFE2VFFRTDFsWXdIT0MxU0tlUlN4cmtIUEtoaTdiek9WTlhaYkx4ZDcxdEw1M2ZXT3dpN3Zyd2VuOXA5TjFITmxOM1ZWTHdEZjE0MjBIZDVORzRJZUdOVHc2VkM4N0hhbDBhR0tMc0VRQzlpRjNzSjFxYklsa0ttNWM3ZzBCbDBqU2hZQUV6THdiQ2JpQkNvazNXWlpBeDJxZHE3TXM1Ykh2TFF2c01hdDNnYnZyY1dlY2ZzaUJ0dURuaWdDZnlNL1ZybTNVUnFDTndBMFVnYzY0bzRWNWwxdlpvWW91b3ZaRkg4dXdycmdEcmwzcm1wdmRJR0FrS0RxSVhiQ1FnSDFHd0xVMnUxL1BxdG1rMlFGYnhweVBmZG15N09WNThON0MwNjQ4OGtGK2VYZTZnWWErbzEzUkhlMTk2M3diZ1RZQ1RRUmVMSGFsc1JTOTNPbk1tK3FLbzFneDB3WFBxWmRqUjB2eWRRSldBSEgwc0EwZVFiQnNTc1JpU0dLdTZwNEtZZ0NVaTZKcEZXV3g2bVZhbEk3MmpWLzBOWjIyTDc5d0JQUVh0dEFhYUNOd2kwWGdSaHp1c281VEt0TkFpczR1bE1WZVNZU1V1MGlzQTNpUm5FY01iZ1dNQ0RrRGdvalJtUnhIeEk0WUJWd2FKTW8rZVhnQlJXZTM5dnNyMHVzczZGeXY1eXZEZGdkOGpTWkJTOERYS0pDdG1UWUNiMlVFVFB2SnRlaDdSM2VoS1BadzE3b0hrbllKV0lhVXVKc2wrU1lFRVZ0T1RKTmtnM3dKSVVBU2RoSXdDQThTUnBHZ1JVK1VwRnVVSzFJV0s5THBMa2pSNmJsVTZhMGM2ODNVdDk1TWcybkgwa2JnVm8yQVN6ZDVrb0dRZEtHNjE2VFlDeTkybWFjQmQ4RnB0dk1OR2ZCY2tJd0RKVVBXSVNpbHhKUjhLVW5hS0h2UXRJQlVrb0RMRlhMeUFzclVCN3FKRGRyN0drU2dKZUJyRU1UV3hIV0lnRVBXZkUzWC91VmE4Ym12Zks1YysveGE1OWYveDEvdlB2US9QdFJkKytPMTNrTk1mKzV6SHkwLy8va1QzTzI1WEFlUDN1b3VCR3RyZW9MalBiNjJWbHlxcTY1cE1haEVGbXZSRlo0REw1dWtlUkpxanlUTW1IRFg2MFRzZmttK05qMlNjTzUrUGI2SW93eGlwaTZ5S1dwUG1sMjZOWFN1aGl4VjRzdTBQVjhMQmhzaW5lZ3orZzRmQU53SzhjYWJjYlVFL0daRXRiVjV6U093aGpVNTl5Zm55dUg0U3ZlRloxOFlqb3JSL0VwZW1UKy9kWDZ4WEI0dlhya3l0M0JoYVdud0hBNTFIbjc0SXpmL3ZGNWJrN3YzbjA1bm43NnpQSU16dlpGWGc4Mk11YkhvZktXeVdJa3UxRWlEak5USlhtam1zWUtSYUJ2TVNMaVJDUmFFekhUT2lxb1NHWk5seDVYclZvM3VLUHRneTJ4aHkzMXh5L0xDVnJhNVVWME5xdjR6L2VlZU85UUpIMGpDTFFIajU3dHUvb242ODhXbGJYV2pSZUFSNkpIVUxjNnZ4OGRpRElhdWN4aHRMWENMdG1BajNaWEx0SkJUR296UjZWeTRzSFRUeitzVGR6d2w4eThjU0pzNDErbWo3bTI0RHNaaWMyTmdZUXpsTGpndDFLb05BUnNLRGVMTlZqUm52MllKelRsd0VDL0w0Z3U1S0tzekNiaFdqQ3ZJcVBZMHp0NEpBaDY3TDR6Y0YwZU8rWkhaM0hybHc0MytzRGNlcm5jNjY4TWlmTG5ScHN0TzhlZW1uNmc3NVVIc0REL2ZPaS8zeisrWDlZMjVzcHU2M2JxcTQvZXQ4NnJsZklXOEtQQkZ6N0xBajkwRGczWkdoN3MzL2J6bXpsZTQ4eTFxakRwVnY5dURlVDlEaGpXRXh3UnhEQ0VMR2NVZ0MzZkFFZ1JjWWtMQ1FiNEZNbmU4TmdNSk9mS0JLZ3RJd0JqVjBISHRuYkg1SUFpNGNpeFc3aVIzRE0xdFVLVGNzMUczbzlYRklueDU2MmJHenU3NXBwK29PL3Z4dE43UEl2RENreStrVXNmZGhJMzVYdGVYZE9BclV2aEs2dWJsMUpYbFZPWmRxalljcDl5dHJ4UTdmMTZ2cmVuZEgvMW9lWHh0cmZlcnYvRWJ3Ny81dTc4N2YveXphN3YramYveXQxZCs5Wjk4ZWc4Tzl2Y3RIOWh6b0x0NjROQndidUZJbHU3aHNhVzl0ZXRTNVRJa3VyVkxtVDBsOHlKKzM5c1FjTFBiOVFKdUpieVJCY3dLT0JHNzRBYWVZSjRrSXlXaUpCZDNzOUFtejRJemRHOGxldGlLK2FPOXdmQVE1bmNmd0VIcys3V0hmbnYxcjM5bWJmbXYvczV2TGRMbnVRYys4NG4rcnozMDY5MjdlUzUvNHNTSnhHTUtoWHNjVlFUUVhwTUk3UHlKT2hsSCszcVRSMkI0NEVxcWhqYVVBWlowYVB0UzN3NFdnM28vK3RqTHZkK3FESHhKK2o2ZmRuVzZsMVlYZC95MzlIZWZQcDMySERqUVQrUHg0bml1V04zS213Y0wwN2NCZUJkUXZ6ZDUvbUNCOGtPcFc5Nmp2ZjU5S0RvZk5FbTNWWVpWb2x0bEYzQTNTQUFBRUFCSlJFRlVhcGtnOHdzMWEwQ1NEY0pGU1JNVE9MOTRhMER5RFFJRzg0SU9SQWlkQUVwZGdyYTdyc1Z1Zzk1bXFmc0JLZE85cnVYZEtIc2ZKS08rdnk3cU82b0M3Nmo3L2NNNldOL2IzeGdzeDduODB2ZDVMbitJWjhVY3ovRUhIMHhyYTJ0VVI0Qit0TGUySWRneEViaWxIYzJhaWpMcFFQcXloR1Q3VWNwQlQ3NWZTOXVMQXF2RWtoYzI1MUwxbHZ2WTZmTmE1ZzhjSVBlTysrajRZc3JsS2plUEIwWDBHQ2ZCdTh6bFR2ZjBBZEh5THRGMGo2UjBIeVI5TUp1OFBidnVIbWQwU2NLb3B3U2N2ZG5SY2dOYUlFaTJBVWlzSkZ4TXlkY3B3VEtSRWtMeVZTSWtTTDZ1Skc4dHVnNFNzQlMzMFk4UFF2VmV1TjR0cWg4VTZQdGQvQTRrZWJ2VTlSR1k3cTNxMFVxWjY0VlJHZzJHblU0bnhyTUs2Q01FSFVGN1RTS2dFOUcrdGhHNHNTUFE0ZUZDMGEwSENsK1d3dmRwOG9NazNmMUlKT0RTVmlYNXNuWmxybGRZZDczYTJzazdZSWtuMGJseUplV085WkdMUlV1KzZ2Q0Q1bmliR3JnRGx2ZUs0SU11K0pDbzNFMUN2QmVpek90dE5YZkF0UWtKV0VDSjJoVm1pWnhITUdBa1Vacm43amJJbC9EWUZaTjhRNEpwa0lSVnVoRHRBbG8yYUFoWWlxNnBCb2ZlNXBBUHNPSmVLRDVFWTNjeC8zNUE3aERrZDJqQ1lUZmZ4d2V3WEh0YUtMVWMxUDI2eEprenhWazJ1bno2dE9EQkJ3WHQxVVJBbTlmMnBZM0FEUjZCcmJwT0kxVDluUEs4YWIxaXFWcTFWSzlhU1RDZGkycTV4bWhoWE9TZWQrUkduTmV5eG5QZDQydHJ4ZDJmKzF4enRudDg3US9uam4vMnM3dU8vLzd2Nzc3L0gvMmp2Yi95MmMvdFAvN1FmM1h3bC8vUjV3NXZIWHpia1R4WVBqcnV6eDJ0TzRPalZlb2NxeVVkcmFVNFJpSThscEdPT3ZTSWV6cnNTSWRNZEo5NVdpSUcyVFZsVStUWStaSjhXWVlacU4rUXNaRnNQUkRrUzUzWUFVY2VKR1dRcUJGMWJPOGVCQjYyK0pabk9qQ2VNYnVrZmNJKzJlOWg1bzlrdzdFYWNxejI0bGhGLzZweWNNejY4MGVsM3o5V3plODZob1dEeDlKdHR4L1J3ZkxCK2JlL2QrK3ZMQyt2L0tYLzRoOHYvZHBERHkxRURCNzR6R2Q0WHZ3UXo0cy9WNTc0L09jVEhieGxDRnJSWG04b0FxM1NXeHVCSzUxTnJYV2pRd3dxYkM1VXVybFU2K1pLSlZ1cnRXenVKVmF6YkMxbWpQcmorZ0kzWUcrdHY2L3ZuZVFybndlSzgxZXVkSEhod21DekxCZkhnN3gzWE9GWVZSZTNGM1hCWFNRKzVQeG9YNWE5QjFJNWVNQTc4L2ZrVHY4RFZkbTdZNVM2NzZ5MFI0SXJEMVFvZDJjcEYyc3BoaldLYnZiRUw5b1NEQk40UTV5SlBFYXdiRHR2aXRnTld5TWpUVFM2eFVUWHFEK3J5d0tyRlhVbEJKREhSQzJOSG9jQjExSzVtKzVtRkhOaktYYU5wRmdkUzNtb1NyM2I2bTd2OXJyWGUzOVZEajhrZytHOTB1bDhHTjMwZ0hmMWJ1MFU3MHZqOU81T3NyZHRiZFNIZ2RHKzdxVnE1Y29WTEN3eExzODk5MXpueE1NUDYrdmpkN1BtYjVtQjNxd1A4SllaVjZGYXkxYW5rcTFCcFZzTGxFdk1yOVFZcmRaYWtZQXAwMml4U3VQK3VFc211Y0VDOHdpZ3haVXI1WEJ1cmp2SWVWQktiOUhxdk04ZHg2QnlPOHcvQUg2a0Y4ZDlvdkpoVC9vQVVyckh5dUlEdFJaMzFxbDRKK1hSU2p2N1NieTdpVVh6WWtnQzdKZ1VQSmtvYUtJZ1FSWXdLZDFBZUdJWlFSSzJXZHBJdW9FOGtmRzNJU1lvRU5Jc1VSWk82YmtXNUFxb3g0NmFNamR0NHIyTlJ4TlNxdkZZSXNlYmdPdXVDcnFubG5Rbzg0dEFTK1h0bGpydlE5bTVpNk8rai9pd2FYb0FtdTUyK1B2WXdidk43VFozSEphTzdCVXRWdEo0ZlhHVXU0UGhlTno1L29VTHR3d3YzVElEUlh2dDZBakllRXNOZFNkalBLaGx2SkNsNGc1NHZKSjF6SjN2ZUcvV2FqVnJ2VkJqcTEvWDY4RVNOOVI0TCsvZkwrWHUzVVZSbGwxWDdXZXJkNm5ZUGpwNXpGMXVkNUgzdzdrRGh0d253QU1RUE9DUzdvR2tEN2ltTzdLbWQ1TGNqcHFrQTVtV3NoU0wzUDBPRGFsTHFUbElOaUNGTnp0ZXBwMGszS1JKdm8yMENlbGFRNlNSVGlEUndxYjFFOG4yb1VjZEVxNVBDSmdrVEFLMldzaWRpVzZTckZFbVE4RWRzTTZSZkpkcUVuRG1zWVJwY1p0SnV0MVQ4VDRTN29lZ2VwOExQaXdpRDhDRjU5WHlQcWJmN1lhM0FYSUladnV5MlFyYkxxUnFheml5UVdmUGFIVEw4TkxPR0NqYTY1YUxnRU5PZlA1RU92SDVPenIvd1I4ZjcyM2dsWDVsbzBHTjBURExhSzZXOFh4R05WOUx4VFBoYXA2RVBKOTlQSmMxVTIvY1k5dk8ycjg4WGxBR1k1RFRybmtFbXpQZEV5ZE9wT004MXoyeHR0WTU4WmxQOUNubi91cnYvTTdpWC8vTTJ2S3ZmbnB0ejY5ODlyTTgxMzNvVUhkMDhVaW4wemt5N2hWSHgwVnhyTzdxc2Jvb2puSm5lRFNySEhOTkpGYzlaZ0tlcCtKWWRvbjh3U3k2bnpxcnJzVXk1YTRNbmM5SVBPZE5QY3JKNzN5TlZNNmRheEFvZDhWd0JFRUdFdE9FSzV5WTFDczVUd2lGMnd6VVlYdHZvSytwTTVZMXlGR2VFRFo4UXRqQ2RNSCtPaTZwWjBoRDA3U1FOUzJSZkhlYjZGNWlYNFllTk9oaGd4eXhKRWV5eUZIaW1CZkNzK3ppV0U3cEdJOG9qbXJSUFdxcGQ2UVFQN0s1WGgvK3R6N3pUdzcrOWYvOGMvdi81bi8rai9hZStPMkhWazk4NWpQTC84N2FRd3YvM205OGV2anJ2LzVROTZNZi9XaHpYcnkydGhZYzltWThYMXlQSzV5L0h2MjBmYlFSK0praWNPTGhFN3JVLzM1M1dPNFpqTHBwY1dOVTd4cmI1c0tZSkV2UzdXY1pkN09PTzFtcVRvMXhhVktWdFk5N1ZiMHhyTmRIOHd1NE5QZk05NnYrY1Axc0diWitwczdmZ0RJWHZwdytmVG9ONzd5elhNV1pIbkJ4Ym5OanNEd0M5blhHNjBkOFM5K1p0Ynl6d09oREx0VURpdlRMMXNFRFZwVDM1MjU1YjkzcGZEQ1h4ZTExV1FRUjc2c0tYYTVVRjhhYStwVkloMGkxYWpKSllrb3lWWktmRkxBQW1PWjVoYm1pRHBCSWE4SWFZbFNlWWhRY0FlRko0QWtUd2xTNE1VdVlDeXhrZ09rb2p6SVBHMlJITjdZaFlFbUVaSzRvb2RJQm1JNjYyRUZ6ZHd3UDIvVEhoVWNTMmtINEdmNWxVV3hEazljaWFNYmpNcXhFbHpqT2ZaVVdSK3FVM3A3THp1MVdGTyt6VHZxZ2Rqc2YwcUs0cHloNjk5VTUzMWVrMFllS1R1ZDlvdnFlY3FONGg2a2VUblBGNnBXNUt3djFycmYzbHY3MDZlNVRRQkhQZ3M3dHlGdDNwTmV0MDdkQUJKNUs0M3ErWTVVT1N4MHQ1dkZvcWJaNmdVUTd6UEZyQ0JuM2FsUmRrM0ZKRWk0cmI4aTRtNjBhakcxckhsVTFYNVhEdmxwVjNybDY5cHJ2a0o1NjZpa1pIemlRS3B6cjlFZUwzVlFNaHNsMDJRcmZSODQ4QXRGM3VPbWRMbnFYT1g3SlZINVpvQSs0NnYybTZWN1g0b1BrdDl0ejBtTzVTSHR6S25pa290elJnMTh5U3FlR0ZCbXFMQmRQaFppVzdwSmdEYlQ1aFVQMmhHeE1telRTTERXa1NOTGxlRk1BVHJKMjZwa3JHbERmR2t4SW1ENnlqU0prbERjeWkxQUs3VUNtNUNzazJVZzcrOGc1SVhTTmRtTzNEUzJwU29SczNpZ1NDVGlnQ1BLdFJVbkNta2krQTJJNXErNnJWYmpqVFc5MzFYZDdvVUd5UEMrV3V3MXlMenUrSDhDOUpONjdQQnVQWnZRT0VYbEhrZnhRcGJKcXFWam9tUGJIQTNTV1RxTjQ2bzQ3T0ZhMjJJSDNHeURnSFRpcTF1VWRINEhoK2g0ZGJhWXViRHlzcyt3aStmTGpkNTdQWHMxTkNMamkrZU9ZNTU5Vkp3allwQ3JOcTE3MmV1Q1ZrY2g4cnBQcXZzelBsVStkWGIzbTgvenNuWGZLT3M0VWFUUlhidXBXYjdRbGM2NjJCTS83ekhBRThIZW80RTQraUErSjRwZElJQjkybnV0QzVYNnkybjJVSHpTVjIwMzFhRTVwYjFaZElsbnhERnNHbEpNZHNKQ0FDV3Qyd0FWM21LVWJDVGlUVkJ1NE5zUTdJV0dtbVRjVUFIZWxvQXh5ZEMvZ0xIY1NaeU5kU0o3RVRCclRwdkFwck5HTmZPSVFhQXNsZ253VjNBRTN0aExiSzNKVzJGVUUzSkF3L1RUMmJlRWpCMDNpUlExRnlDeWFzdXJBdUFPdVJmWlRIakdSSUdDZWYrdjdYRFYreDh4WXlUMEE3b2ZMZlpRZmd1RDlxdjRlVVgyN3d3NnJ5S3BMWHFpNm8zNnZHSGJxWGYyMDlLZC9xdFRka2ZlT2RYeEhScnQxK2cxSG9MTjdYb3M1NlVxM25POE9peVZKc2h3TEw2TWVtTWFYY1hWaFVxY3NWY3FvbENocnFZY3V0a3M3c3RxZjc2NTI1anFMWmIvc0h3SVo2dzMzL01ZVWoxTnR0REVubS9OUUZKMEVIb1dnbGdHZzh4QlpFdmh1Zys4QnNNL2REOEw5a0VBT0lpQnl3SVhsb3J0ZFpSZlRjeWJvbTBvblEzaXVDNDVKbEx0QmRVbmtvaG1VWmdMTXU1SUFKd2dDTmxONGtDeGxRNHhCamdTb044T0VnTG5rcnlwN2ZaMUhlMktpbXhvU0ZwSXdRREp1Q0ppRUh2M1Fka1B1TFBkQStNa3doNzlHYVF4TEF4RndITWhveHNPakl1Kzd4SnVWTExxQXp4UzdYV1FQWTdaUEJBZmc0T1BDWVJHSmVPMW52UFl3Zm95bDhjME5DNTd6SE05bCtNbEd1K2lPU2h0c0p0eDlOM2JxcFR2VjhkYnZtenNDdFVrcXk2TGY3WGNXeW1GbkpYWFNpaWRmZ0ZyUEVNUmJvNVlLR1JWcWpKR2xMbHp6SERkaHE1MUJjYmkzcTNlNFA5OWJIYzdKZkhsZ1ZGenJhRDFDZzkzQndIRVpTTkYxU3U2aUlvQXFoQ3dWakJRZjVVa2ZodXptdGNNeW01bVExa0lSNGt4TjRPNElzR0FpbWFkdVpLbXVUQkpHZXlSUE01SWE0VUdVRGFhRXpMUUZZbmRLMmRSVEgwaE5lN2txamRlbkk5K0F1cFErSlZtUWFDZUlFQklrWVFUaFVqcnJBaGF5MFZlWWhZL1M5QWVuRElDU0pSd1lFN3laRm5EY0JNZk1na2liVUZWVlJUV2xwQ3FKTWVMdFRxTVoyYkpSV2FubHBxa2VvN0M2U09raTlNSUxMOUFHamI0Sjk1dHRVdC9zRGxyN2JRUituZ2pZZ3FaeXpudlN3WUtXc2xzTDJTMktCUzdUWHBiTVRWQ05UT3F0R3dLdXdEUGcwbUR6NEJsaFVSWkhPcDEwcEJ6SUtqcmxmS1hkOHVmeDRZMjBLYnBkNy9SaHFqMVBCWWtRS2RZVVdReUZ1QXVwSlc2U3I5Y2tJQ09qRXJRc3hQUW1yN0FxMUx5UmZLV2tKb0ttaER3ZFBFUmlnN0k4d0hJU3JCRWtvNmJNU0lER2ZNQkp3QTNJYU82aEh5NEZFbTFSU3VFaXlSRUE1UlF6WGFldFNJUEUyZ0NsSTBEU0JZS0VJNXdCdnM5UXg2UGZhVC9SanNNV04zYmxVNWpUWVdJNlhwbktpZUJvblU4VkVDcUpDQU1va3FTQlVsV293RWZ0bm1GOHd0blZwR0pzNjlKeVJhYUc3anQzam5yWWtaZnVTSzlicDIvNkNBeno1VlFVcVZkMmkvbkUzVzhxZEdWQ3dMbHZrbE1tK2VZcCtkYmNBVnZzZ0NXVGdIMVZDejJjeW5RWW5iVEs0NHU1Tkt6Skd0YytaTDNoME12T3lJczZDSXFFYVNRTUlTT0JMRVVDWVltSXVadFpkbzhkTUxJSXVFZEV3MFlUMW5ERVArcVNTSm55Q1JwdlBWNnB4WUVEaVNwS0NOeElxa1pKSzhidVBBaXpRWlFyZVVvYWVPaVJHRUhpUnJRUEdlVGJsQ1d5WTloTDdDUWtRU0tldGZHd0Y3WlIwSFhxTk9UTGNmcUVlTUVoTmtjUW9STmdYMFk0YlY4TjBFZEE0STNFNUpLSjRHQ1k0SGhCVUlIRlNsV04zVytBZVliTEdRV3Z6UzBMUFluRFo2MVJaRUVSdStCTmlVRzlFenYxMHAzcWVPdjNUUmtCcmpFMHY2OHQ1b2F4VGVPWE5yYkx4RlpkZkxlckx4QThnc2lhd1EyUlREQk5KK3IwdUpRWHFjOHp3N3liNjNXaDh0eXZLMG5YT2xxcmQ5emgvZlYxMTNFM1Y4TmhEWkd4cTIycTZCV0JYaFMzODZTT3MvVG5CUkxOYzB3L1M1NEplWnI1RjhoSUw4SHl5MlRLODJKMmtSK3hyOER5bHJxUENXTjdFcVJEeklFWm1BU0pUQUxrSFNIWnNTOEl5WFVDdnMrUURORkEyUVdYTjNWQU9OdThCaGFrR0RwVFNYdWhCMHFuL2t3NmJVMFF1Z3dqNjV6Z25oOGVoQnQycHVCYkMvaFl3TDFxNDdOdzhJTHdFcFpFdUM5SHJZNnh1SThFdmtGY0FzRHRxNzhrNHFmNS9FNVQvM2xBbmhmbzh5Smc3T1FsdUw5TVcrZHp6cGRnV0tmZUtEbnFvb082N3l6QmQ3QlRMOXdmbE9zQUFCQUFTVVJCVkQ2aG5lcDY2L2RORm9FZ1h2a3JEeDVQcC9lZlR0Vm9xNU9yYWk1TEpnSG4xUXhiNVM1bzBXSGNBWHN5cmpzRGM5dlNwWFlyczlmZGlwUTRyc2ZES285NnVkNHFPbHJMdFk3Vm5VOC83ZDNsNVp5SHd5cXRyNDlKRHVzcHkzbkFuNGZLOXdINWxxZzg2ZkN2MGMzSFNDSmY1aHZDWTI3K3VHVjd3dXY4ZFRIN3B1VDZlNUx6TTJyNVJYNmdQNS9jTmdxM1hMZ2ptVUZ6aHRUazk1Q1plWE9ReEtCQnUzeGZLUUphb0VnRmtpWWtLU0NTSUNCSW5pQlorcFFndVllRVpTRFhEcHByMHQ0UXM5SnRFaXpiWUFvUHlmYk85cllOZ1UxdHVRRU1QWVJ5QW1mYUFmb29ZVHk3QzA5dGt6bkhnbHpDcXhMWUxHSHJKZndpeC9keWNuK1doemJmRWVEcjRuaWMrRElkL3lJTmYwRkVIb1hJNHhBOEthTGZaaXgvUU5KOVRxRXZHZU9zS3BkcXladnJZNHhIb3hHOW9EODc4R2JrZDZEWHJjczNYUVNjYS9jUlBLS3JkNnpxdUROT28wM3Bjb00xelBENCtka2VteEl3MTNYZjNKSUpYOGtBUm5iampvZ3BWM2NyYXMrOXl1dkIyTWVCN2pqWDVlYTR1dWJ6L0ZPZitwU3ZuRCtmZDNXN2RRY1k5N3JkZFhwOERxYW52Zllmd09UYkR2a0dDZU1KTjNuTWdTK1JkTCtDT2ovdVZmMkVWK01udmFxK3hmeDN0YTVQRlRtL1FGd29TTUNsZTEyWWtZQXpsSkk2Q0pEUVNIS0FRcEQ0bWtSUmtIQ0xWSG9nTWEwa1g1WTJHcUVaQk9va1dUTWhlUUk1T3pHVlJxcGpPZjNqcGxRRkx1SlNPSlNnZENGRm1vZ1p1dzFraUlOaFpzQnAwMkdnZ1FrazB0a2dCT3FRbWY0Ykg1UmJDYWxMbDNIcDJHTDZDdVdsQW42VzVQc3N4L2NkdGZ3azNCNm41Y2ZvNUpkRTlNL004eGZoL2xVNjlnM0t2ekMzSDZEUTUycXZYNUxzRjlUejVXb0xHK1BpWW5YaHdnV2pGenZ5MWgzcGRldjBUUmVCQng5Y2szZnRmNWNNMTRjNjJGZ3ZyTkNPZXg2NjI1TERWNDNIRUFaZmRPY09HUHdTanF2ZnVEckpCZVFOYXZBMXc4cnN1VnRiUGF5c0d0WjFIV1JjWk0xeXJRTW1JazRTemlUaDZzSWRkNHlxMFdnOWxRdm4wT21jUmxsK3YrelYzeXBRZkVOTW40QldqK1ZxOU9WcWxCL0xWemErYWxjMm52QXJHMStYamExdnBxM1I5NHJ4NkpsVVZ5OFcyUzZVWnVzazRVd0VnU0YyazhJZE1HcXlYN2FnUDBKSXdJR0VsQW92WWdkTUpCSnhvZ3dTamxvaFNUTXNjQ08za3FJc2t5K0pJT0VtSGVWWkdFWFdjNWZyM1BFaTJ0QTZRSHFrWkk5dzFsbm91cEFmZ1lrOXdZeUV4UndnU0l3QWZXeDhyYk5yZGllVlp4SXVkOENvU3BGTmppdkdkN0hrOFF1L05YMldiemJmS2R5L3pyRS96blpmTnF1K3lBOHNYeWhVSHhYVng3T21KenVhdnEwYjQ1TkE1N20wVXJ5MGljSDU3dmpjNWVIbzlDYWVlMjc4OE1PZjUraXdJeS9ka1Y2M1R0OTBFWGpxanFka3VIU2g2QXpYdXpaZkQ3aERJdm5xSEVsM0F2ZllEZmV5ZUVFT0VaYmpWWUE4MDFCeFlsbHBibDJ1L1g0V0crU2M1L0pXbnY5UFBuOWk3aE9mUDlILzZGYytXcTZ0clYyVGVSOGtURnYyOEVjK2toOWVXeHMvL01sUGJ2NnozL3F0eS8vRFAvZ0hGLzc3MzFoNytWLzg1bStlZWVUdi9iMFhILzNrLy9uNWk4K2VlVzd6NVplZnRZc1hUK1VMRjA3NWFIUVNOVWtsMXlmRjZwUEo2bFBKODhua2RvclVGK0R1MEovbjd2QUZNWHRKelY0Vzh3c2t1Y3ZxUEQ4MWpOUXhWdlBNdkt0TFE4d2dVVElZRVJBNFAwS0E1T2xUYkpOckVDM0xtam9vZ0VRb25PbVpydEZld0JzNXE1UEdMcFVwV2NPKzJXZ0V3NlprVzRmNUpjcFhpSE5TMjFseGU0RjRuajF3UE9EWUNKR1Q3TzFrQWFZNTFzTHRKTW40WksrdUdJZU5VMG5xVTkxTHp6M3ozMzM4Ly9UY2YvZUpqNzN3Ly83TnYzM21uLzdEdjN2dS8vazcvK0RDLzJQdDQ1ZisyOS84emZXSFAvdkp6VC80Z3o4WS9kRWYvVkgxOE1NUFo4VEdIRHZ6WW14MnB1T3QxemRkQkpLWHd5NG41RnllNit6S1ZpelZrRGt1ODY0NU40TWNybkcxbTRFODVNaXg2VEpuT3JpQUd5K3dYQ0RjQ3lkeUVOZTRkODFrM3V1MHdnKysrOUhGdnFvN1doby9lMlo0K3Q4NnpYcGMxMnVSNTVRMlB6K3VSVGFUNmlYVU5jbFVYMUt4NStqMkR6aTBieE5QY3J5UHUrTlJjZjh6OGZ4bHlxK1NoSjhVeTk5S25ua09tcC9YWEw5TVhKUmNieURuTVdvejV3N1o2cHBOREY0VFRZQVlEZU13blQyUWRBVUZLVFpKU2gwRVZFdUlrTzZoTUZjNDlSZ3p4Q1kyWURuaUszUnJBa0RBUzRTU2hNOHdZNHNQNElwWXZvQTZuK0ZSeXZPUzdRZVNNNDhWN0NsayszTTMrd3BiUHlvaVg2RDVMOEg4SzdUeEJEMTdpdGEvSjY3UHUrRjhwZlVWM1VwYjNhcXF6b0tVVHFWYjRlWjh2eFdHMlk3eFJvOUFIRDI4VXEzM3BOdWRFNU1sOTdUa3B2d1NEbDB1WEkzVkhseVM0VnpYRUZLT0dFbVlkN05hbmFUZ0FQV0UzT0FGTjM4ZEx2bzVpQzZiRi91UTYzMzhHbWhwVG0wdy9QNEZic0N1YjBSdTR6bmwxc1dMMVhnNDNOaHl2NnhGY2I1T3hpK1Uwbk11OWdOUklRSDdrOHF6VUVIK2dwaDlRYko5T2RYNXF5bnpJM29RY000LzBFd0NydXVYSmRjWHBTWUIxL1hZNjlxOEl2bldCcytNRU5uVE1pa3VBaGFCSTdreU5CQXBvQ1RkcElXb2xxS1NSSlFIQk5QelhvTTZqeWRvMmhzWUF4OElZZ1lFSUNUZ0VGNlo3M1lqeWZtS1ZQVUYrdldTMUkxdkoxTlYvd1hHNDZlbHF2N2M2L3dWRXV5alVIeUJyYjRFRnhLeVBPR3EzeUFaZncrQzA5YkIrZFRwWE9uMWJmUFM1bWExK3RSVGpsdmthZ240Rm5uUU4vb3dPN3M3bWxMWkhWWDFmRlpaa2xxWEFKbmpndTJhaUpKYUdxSTFMazBlTHlBM2tsc2xTdDdjdllGOElFTE9TT1NiNU9CWFlwQjVtSzZna3YzWlpaK3JMUm02Z3hHUWNKMHZmbFMyQjNoZXVYajY5S2FOeDVjSEd4dm5NM0NtZy9Gelk5VWZkR3o4YlJUNVNiWDhsZEx0QzJVMS9yTk9WWCtwSEc4OTBhbTNuaXpxOGJkU1hYOC9WZVBUS1ZjdlMxMWZRcTdYdWZNTUFuWXlKMGgyaE1FeXliY0JHQmZoaTBJNFpKVUVsUkpKdVFNbVNMNFFrakl3M2YweWVFWmtFdmNNN213TzdtRUppS0Q1MTBpWW1KR0EvWXJXZGw3RzFSa1oxOCtsOGZoa0dvMi9VMnh1UFMxYm82L1oxaWJQdjhlUG12c1h5cUw0a3FnK3BpWlBwTEUrVmFoOXI1Y0h6MjhDNXhjdVhicEM4dDBrK2ZKWVllZWU2ZUpudlBSbjFHL1Yyd2k4S1JHb3JVNCswRjdSMDNsdXpsYTgwQlYzV1NBWDlMaDRFeVUzVEVCSUp3MndEaUdETUFKT3IxZ243aERtMVlIU1JRY08yU1dGckJaZFdmVk9zYWdGK3ZVUzJRalgvWEtTY0g2YzU1YmY1Zm5sbzUvOTdPYlRhMnRYdnJTMmR1bEpuaG4vcTMvd0QxN3VYcnIwMHZDWnZ6aTkyN2FlS2ZtbFUzSDUwaW5kckU5MjZ0SEpUcTVPcWxXbk5OdkpnUERzVk0yZWtXelBpdnV6eVBZaUIzNkIySUI1N0U3QkFERVlBaGhCWWdYZm1RRGx3T1A5aDlKNS9NQXluOEVtUk96VURXQmJzb2tqM3ZjMm1Mb2drQmZaNTNOazkyY0ZPT1haVGtuT0o2V21iMVhOSGZDSUpEdzZtUzl2bnFwZWZ1V1pWNTUvNVprLy9laS8vK3lmL0VmL3p2UC8wNi8vaDZmLytTYys5c0svNE5udVAvL2tKOC8vczkvNkR5OC95clB6aDlmV3hvK3NyZFVSSTBBY3Q4akZwM0NMakxRZDVnMGRBVnV3bEpMMXZTTzdwSU05U0xJSEtvdm1NdUNINmtRU2huRUVUdklGT0cyRlpNRjA1TTJCMkxHRkRCMkRoeTdaQlQxdXErZjRjWDlaeW1KWlM1MDMxUjQvcFFjRDBkcVB2dCtxMGxWKzlEN01zK0lyUC9pQmRUZXFLdmZTUmxIa1N4emJlY3Q0Q1M2bkJQNGRGL2tHSEY5alRMNEsrRmZjOFdVUmVVSWczeVBPbGk2ajVJS0FNRGJDTkl3dHM0QjJrR3RNa05Ia0xlb0NvZWNLWVd5Vm9LMEpGVGFCOVJHSi9heWJmdzltVDhEWXArTnh1SDJOelo0MHlEZFY4VjBnblFUME5OOEJ6bnJoRjJzdk41Zm4xdGtUQUg1QVFYdTlKZ0w2bWx5YmFTUHdGa1ZnbUMzeHMvR0FyTEZvaGV5UlFsZTVrSGVSUC9wbWlCMHdlWWEwSTl6Y3prQ3ljSzUrMXNPY1pPSWszcEFjZzdHeGkvUWdPaTlsV3BKU2wxTkg1N2pEN3U3cUZrcVZHK3NXd1oxMzN1a1hMbHl3elpXVmZHbXdXZlhSMjZoeWZTbnhJMzdKSGE3Qm44a3Uzekh6cHdUK05UZjVxcnQ5QldaZkZzdGZFL2Z2SjhqWkJJd0tDRFRnQWlHNWduQUd4VFBqbEIxOEUwSkR4aXkzSUdaS01KNW9XcVZvU1FpRThhUmQ4QjJ1SVdESzcrZmF2cFp6OVpqWC9qamZCTDdtTGw4WDRHbW12MHVqcDFUMWVXaHgxanhmSEZxMWVmbjAvb3lXZlBHakx2MVJoVzFaRzRIckhZSGM5OFR2Zy9xdTBod1pRR1dQaXl3NnBHL3c2UTVZZ29FQmlXbkxIVEFYZFJBdkNRQWhqUVFUbjVOSkJOUURONERTNVU1NlhwTnc5MHNTVHNXOEY5S3JNeEp1dk12WDF0Yjg0YzkvM2g3NTFLY3lkOFBWbWRQZHpia3JjNWRHVlhrT3ZlNkw4NzEweWp1ajd4UzUrSWFrOURXcjZxOUtwWS81dVA2eTFmYTF3dVI3aGN2WkpOd0JjM3dNQUw5V0U1S29rSFVadXlEYWpJWjg4MVVrSEhGekVyQzdRS0FObERHV3lEdllsaTgrMlFGYnR1L1plUFMxdkxYKzVicmFlTnpyL0xWU2VFWTlHbit6VHIzditFaFBkWUhUT2wrZlhYNFpsK3JSNmMzSEQ3ekFYbW1udlg4b0F2cERKVzFCRzRIckZ3RWhVd3JXb0dPdmluRkczOFRuTS9KeWRsc21uODY3Q05lenhyYTNVUTJTbUlBRVRMSUE0Y1JNT3VralFFSldkM1RKTS9INzRWMDE4cTVLODV4QmVpT3A0MzlqRXdZRVlBUGNNQmRkbHdaeEZ2cjRIMzJzK3BNLytQam8wYzkrY3ZPUnRiOXo1VS8vL3NjdWZ2a2YvdDF6WDFqNzk4LzBONy83b2wrUjV6YzNSODhWVnpaUGxWbWVUWUtYa3RrcnliR2VlQXloTGhXUnhmbVBCTXRYa2ltWFBOT3drSVFINHYwb2thZ2pyWlFTY0FHeUFsVUNlS1RoNnp4emZrWGNYOEpXOWV6b3lzYXA5WmRlZXU3OHhaZFAvM245MGt0UC9CY2ZQL3YwMm45MC9tdi82Qk92L05udi9kYmx4OWZXTmg3NXY2MXR4WmszMXRic2hvbndEZVlJNDN1RGVkUzZjNnRFUUxqamt4TVBuOUM3OTkrZE5pNXZkY1lZOThZK0hvNXp2Vmg1NWhkd05pQUxkS0JKQ2NaRkd4STJFb2l4QWlRUFFZSkswVUFrQVZEdWhnVmM4VnE3ZDJyTGc1SGxoUkZ0RXNOUlBlNXRqVk1aZjIvaStJUEhVL2pBUmtMc3FIdjFxVHY4MGh6M3Nia2ViNlppNUliTmxHMDlpVnhLam92Si9STFBiVGJVTUJianY0aFZBQW1DT0tBZ0dEZnhRaVJrVTVaQVRaSTBRMkZ1eVdTY0hCc2Q0RkpYNUdKWDA2V095N3FrWXRQV0w0L21obW5jai9OZCtzSVc3ZjF6UkVCL2pqWnRrellDdjNnRUhJai8rbzJHMG54blBsVjFYVmE1SWdIbnVRcDVvWVl0WkhjU3NIWmNWU1hJVlJST0VqSGoyVU1HV1ZZRmtsd1RQM2hyZ0hRaHNmRVZOeGN4Q3dMMlFXMzF3cGlFUHM3VjNLaksvWEdxeXZoN0UvRjNKeDdCSXpSS0wzYlkvZkNkVC92SzZYRWVEYlRxVkxMVmdXMlFkTmU1QTc1Y1dyNVltRjlTa3FlNmpnbFRVNGlUWUJtL1JqYUVPeUZoUmNISUpnWk1ST0xRZ2p0bXpkejl1by81aFI0SldDNTFWUy95bmZCeVArbjZvSk0yNm42NU5lSTU5VXFjNzlJWHROZlBGUUg5dVZxMWpXN1NDRnpIWVQwSStmNkY3K3ZaOWJQYVNaMVVwMXlTS0h0RS9CMkh4WnE3VmhNTVRLUWptaFNhNkJ5NTBvWHN5azJhU1VQR1FtSlc3dUJVQzladjY3QU9taDFsZGh1TXpSYXFYQzFXWnNOSzZwNlE3TmMzMW92NGp6L2k3MCtzUGJnbWJMeXo3clUxajdQVmU1OGFWc3R6M3gvMUN0L3NvTGhTR0M2bjdCZVQ0UkxSN0lDMTJRRUxxVlVuSkl3Q01vV0daUHdFaVdVSmNJWWlBL3dJWVh4TEc1WEFScGU3Nmo3azRpRGhjcThvcm5TNnZjMlg1dFpISjUrNm93b2ZlTVRnYk5HKzMxYmpBQUFRQUVsRVFWVGVQMGNFOU9kbzB6WnBJL0FMUitENHYzWmM3emgyUjJkcGNXbTR2TGk4V0Zwbmw2c3VPSHpPeFB0RWx6eFFjbVdUUjF5YzlCQUFkM0NBTXFmMGdXanlnaWgza2dkM3h6eUNjR1JtMkQ0UkpZOGp1bG1rVHl0RGt2TDhPT3RpZDZFN3Z6NWNIMnoyTnp2TkxwaldkdGp0SkQ1NytPR1A1RWZXMXVwU2ZNdzNsazNOZHJrd1hGQzNDMkorUlF3andocGl0Vm1jNG8xc0VqdG5MQkV4Yk1ENlJnZFFIa0dRaExlNGk3NlUzTStSaUY5TzVoZjVRRGFXckQ5aTN6WFlONlV4Yms2MDk4OFJBVDZGbjZOVjI2U053QzhZZ1dNbmp4WDFWajFYcEdLM21oNVNLUTZKNlc2SURwMFo1OHdrYXlDVFVldHNDRml6ekFVaUNkTHMyb0pJQkVhV3pheTBBQTlESTAwQ2hqczNmQ0lBTjlCSUtibW1BZHN0SlJUNzZuNjlUMHRkMnVwdERmcjM5ZE12T0p5M3ZIbm11WTJvYkRJYWw5enJjMkorRG81TERNY1d3NUtkeE9wOGcyb1FhWUtoUlJNN3hzOUlvd0crZXduYk1YWlNJL3VHMVhiQmMzN1I4dmhGc1h6QmExL1AxZlIzdlcvNXFIZStBNXptTzM4UU44a0licWxoY1BkWm1ObGMxN3NyM0lRZEV1Z2hrYlFicW5NZ1N6cUowd0Z5Z0NObmt3QUpRbHg0b3Nuelh0WGtZQm9tNUFXSTFTNlduWG9UaEs0SkRTaW5lR3BRaUtRaDJ5eDUwbjJlMGo1UldTcFRPZGo5OHU2Q21qdjZycmM4bzlyYTRnNzRrdVo4emkzZ2x4bWtUUmhJc1R5NWFVaFdZRDVGa3djWUs4Ylk0Y3c3Z3lZWklneTdtVzk0dGdzMnJsL0UxdWdsRzQ4dTVIcThJVnJYT3pwWU41RHpuSmsza0RldEs3ZE1CSWJsc0NpTGttU0wzZHh4SFZJdERvckliaEVTc0VyUjdJREpBdWFPbWd5Ujg0UWdBSUZJZ21xQ1lMSURkaElIeWJjaGtkajlScHZNZGc3QVJVQmxTRXBKVkFlcXhSSUw5cW5ZUG41VHQxd2xHZHB1UzFUZDBmZDhqd1JNQnBieDVtWFVvM05PRWphelM1NTlpNkhJVWV0UWR4Y1NyWkIwWDBYRWxpRm1HVU5neEVRbms3ZzNjdTBYYkRSNktXOXV2Rmh2WHJtUUxyK3lVVzhGb1ZPdnZYL2hDT2d2YktFMTBFYmc1NGlBdWZGOE5nODgrWklVYVE4Z2V4MjZ5eUFERitIMkZsei9CRm5VQXdBY3d0Y3BncUVqNzRLbTNsay9oYzBrNjAwRUFWZEpSZ0ttL1dWVzcrZHh4SDRwaWlXeThvQkV2T01KT0YreHJKVnQ4clBBUlVFK0M4TlplTG9JU1J0ODA2bEUxWVFFRE1KZFlZeGJBd09jTlFHd0RJeVpFQXJ1ZzAyMjNQeVNaWHZacTlITE9ocGRHbzJxemRIRjV6TGE2NXBFUUsrSmxadkFTRHVFNnhzQjdtZFRLcnBkRk1XY0Y3cnNLc3RRbVNjNTlneXU1QVU0aWNCRkFPRTBEVVRlUklKd3pSdmlFQXFBNWErQ3VzejdGS0VYdHJpQjVwRUhoZzVkSWtqQXVwKzJsN05nV0dtM3dBNi94bk01RjFwdFNyWlgzT3dNcERpVHlzNzVvdWhlSWNaRjZ1YWtCYVBIcjlLRVg2dTV3bDJJaVFUakpZU0tJcW1DbnpCTWl6VFNsTlpGaWxkTTBpdGU5SzRVZFRYZVZSZUc5cm9tRVlqWmVrME10VWJhQ1B3c0VVaExTYm5lZXhDWkZ4R1NyeTRET2srRzZISjdsVWlNN21GUUJCQUZRTEpvZ1BqaVNQalJ1aUZpT09zRHJBdWRnSU9rUW15VEwrQk1Kd09QR3h6TFpKaDlMckxma0paRk1NeGFGZGpoMStYVDQ1d3pObEpocjZEc3ZLU0JZbkNoS0h0WHlxSXpLc3N5YXlxemtIeGhqS1VIR0tlSlpLelZBWVV3MWtrVENsVkxXcEtBTyt1YU9xOTBVbjZscTNsOURJek9qTHEydzhOMXc3aXZONHduclNPM1ZBVFd6Vkl1VXMrVHpudVNaWWd1a3d2bUdJU2VNMk53OGtSc2NBVWlDaUdBSUkwQStCRWFJR3MwaUhLUVBFS3lMUkI2VTVBcHlOV0lROHRFRWg2d25uM0pmbGZoRVFSM3c1MWlBT3NsN1BEcmJ4eDRJUy8xWDloYzJGeDZaVzZjejZUZThrdEZkM2loNlBTdmxHVjNYQlFkN29CTDQyN1duU1RzZmhYNU12QU1Ob1JmYWlyanJLcElxY2lxYVNSU3J0ZWQ3c1VhZmpGM3h1dkxKT0RvYTRlSDY0WnhYMjhJVDFvbmJ2NElrUGxPbkRnUi8rbHZjV0x0UktmY0xMb3c2enQ4U1BLY044V2NpL1ROcFRTUGcwb2hCVitObUtvQ09NdXV3aXdQc0k0a0xBMFNoRVRDTG1FUW1EdjQ1VndjYTNSY25DU01SUll2c25oZTNRYXAydXFkb0UvSDE0NVAva1lFV0l1ZGRhMnRyZG5EYTJ2VjV6OXpZdXREZzJmWHBSaGMwVlN1SnkwMmVJeXdxZENSaWxRQ3ljSWdpR002U0NiUWdGRkZMY0FXOWRZcDEwTW1LZGExNkt3WHZmN21LczZPNTM1bFg3MzJxVTlGQTdUWEx4NkJtTlcvdUpYV1FodUJueEtCRXg4NW9mdCtaVi94MU9xWlhybG45ekJmd2J4Vi9QaWZaVkNiOWMzUUpVcUhKTGp3ZUlFVTRBSW5XYmhSTm9oZEc2Y3NkMjlvd0hKSzZpQjBNQ05mZm9RV21vbThHeVIrRVVFU3BqUTE1elpQa0NCU2tQeTdOZnZYakdHNXB4eXVycTcydnJUOHBmaWZkZ3AyNkNVaStOU25QdVUxMzhjTXFCdzJndGtHdjV4YmQ4OGpScXhTTlZNeE1NM29HYVBXZ01TY053VjJrY0U4QytRemxLOUFiUjA1VjZzNFpTeTBPNTkrMnRsd2gwYm54bk9icy9uR2M2cjE2T2FMd0oxMzNpa3ZwbHdpYi9adFUrYklFUHphU09iNERmdkFIRDB6NzFLVzdzMmZrU1FCQ3BnbVFwS1BnNGhKeUNCbGdKUVIwcGwybG9XTVBEd0JKRjZWQWtJWmVsRnYyWVVrVHlNZzdWZ2lneVEySzJtbUMzamZLNS9icXJlR3hXYlJtMHR6NVE3OUwrUEF5d21JQ0FySkJyY0tucmNjZVowSDV4c2M2NWJBS25IajhNSG9HVU13Z1lBbnlMQk5lTDRvVnA5VnkyZkY4eXNzWHhjU01PNjRJeDhIYkxMN2xlaW14VFdJZ0FMWHdFcHJvbzNBVDRuQVUzaEtTL0V5VmYxZXFlTzU1SmozMm9kbU1yQnNmZTVTdTI0Z0FRZHpDb0k0R3hqVEJuaklLUWs3cVFPa2pxQ1FCazFkN0NVVTBteHVFN1F4bzNBQW1TODV1N0FQQmJnRDFpQjVsRXgzeGIyZlJ6NlhMQTFIblZHdmxMSmN4U3Ixc0ZNdmpoWmU4UzFIUERjRUxHN3JRY0lDMjRKYkxVeW9PR05rVUI3U0tES2paclc2YllxUmdKR0RmTStRdEYvSnRXMGtwUEhESjA3WTJ0cW5IR3pNd0RqUjN0Y2dBbm9OYkxRbTJnajgxQWdNanc3NW5VN3VsUXM4NngxMmxselNzcmd1d0RISWtJNURrb0hrQ081U1RRVFRQVnFRYldDV1I1QXZFV1ZYWTFiK1dra3p0T05PQWdkZ3p1TUlHaklxT2J4d3R4NnpjNnF5Sy9YVHJsU2tZZVZWTjN6RkRyOXlQY3JDanh0dWRwRkUrckpZZnRsemZTbkt4T3FzWGlPUVVKTjg2MGliZUwxSk1xWitIUVJNVkJkTHlSdU1WVTNpZFVBSUJOQmUxeVlDZW0zTXRGYmFDUHprQ0t4dkRJclU3UTZLWHJHa2cyS3ZwbUt2YU5ybFVINHBSdklOb2tRUUpxZGtRN0FKSGtjS1RLT1JDYkFrVWVaR0hXTitWazdabEZQWEd3aU05Z0pPQ2NMRE5sMDBGaERjRlZ2S2JuM3p2Q2hKZDZOYjdDNkg1V0lhcEY1T21jYXB2SU52cmVlNUNjNlh4Zk5aUno0RnMxTmk5Um5rOFdXMUVYZTdJMzRNR0w4S1ZEbWgyb1RWbHhUMXkvRDhNdm4ySWdsOGN4T2J0b05EOFJOZGY2c3JPWlBmYWhmYS9tK0ZDQ3l0emljcGlvRVZ1bFNrdEZlTHRGY2t4WDhXUEhCWDdrWkZlTXhBOE1PeHFXQWJTY1FTOHhQeVpUbW9QNEVwWldvUUpPMldZQ3d6b3pwQnJtV2RNTHljNWcwSkE4NGNpVmVNRGR6Ukp4WlIrRzZlajZ5aUtCWThsWDErVmJmakNkajFVaTJvU01CMlJpdy80NTVQbVkxNXJEQm0yYmhTR3lPUWZJd0NJMGtZWmJWcUsyRjhDWmtFYktOelJiMTF5Ykc1TmR6UXpMQzE5NXNRQWM3TU44RnFhN0tOd09zaWtERk8wdVArc2tpN29MSlBOTzBGWkluZ0RoakpnaUNiM1N1bjVMWk1JRTlPZ0VnSDRVNUJvblh1ZkVIU0RaMUllN1FqOGM1STJKa0dhQThDQk5pSGtYRXpVWnNWVFBkWnRNQzZWYWp2ZHJIRnN1TXNDOFBZMFplVnArdng1c1psSFcyYzBXcnJsSS9YbjBFOU9pTjVkRWt6ZDhBMlFwQnZjcEt2VjN3UEd2UGJ5YTB0MlBoU3d1aGxxVGRmQmthWGV0Vm9jMnZ3WWt2QWI5SnNpTm41SnBsdXpiWVJlRFVDaGw0aTczRjNpVVZMUXJMRHFrTVhTSnA5U240bkY4UktvaVFqc2d4QnFpQ2hvaUZRVHRQZ3hCa3NZYUlUYldaMUlTZjVJRjZmMnBsSmtJQjlCcWQ1T0VuZm14MndxK3ptN25lM0oxMGNTK3E3UkVmWTBkZEY3bU9sTzk1MDI3b292blhXclRvTHIxNEI2bzBrdVVxb3JVQmxoZVM2UkYwWHlHT21OMWgyU2F5NlVLYnhlZk90SzNWWmpmWXNIMzV6Q0hoSFIvamFPTTlaZTIwTXRWYmFDUHlZQ0FqTHhZZngvN3p3YmxiTTVlUkxXV1dKbTloNWtsK1hKRWtDRnBDSUc4QTVMWW5Ya3V5a2JGWUhjcVFUK0ZGNlFkb3N4N1lVdXFCZ1B4T1FpTTBsdVFqSlZoWmRzRm9udmlFVS9GSXdlUi9ESVJtZVNrNnc1VTY4OTJEVml0R3dBdktXWjE5WDl5dUYrR1lKR3hWaVZTbFdsK3BqeW5GSGZZdHlzeFM1a2tRdXFjc3JsZnVsb3JEMURvbjVUUGRaMjRreDJBaytjMWJ2QkRkYkgzZG9CSUw1NE80d3ExTTI2M0VsejV0Z21TV0V6TGxMRHhET1F5SDVFaVJPSjRKWXIwYVViWU1mbmdIMUJ1VFJrQjc1YUFlYUN0bEFnR21lL1RCTisrUlVKOWdsRmRtM3lJTHhTN2dnNFZ5QTU4SGFyM1ZjYlA5dmlocGxOdDFoOTNFY3QvN3lKZ2w0YnF2dTJyb2hYeEczelVKOFJMS3RPc2xKd2w1MUlnOGJkUVFicGVUMVV2eHlTdW1WVktTTEpYUmp0REFjM2JhMFpEdHMrRHZHWGQweG5yYU83c2dJQlBrKytPQ0Q0dDVKcHRJenRYbCtBYlpzSWtzT3pMdEkxeEVzR2xNeElCeG43RmFaSm9rRzZWNU54QWp5YmNvVG92dzE5ZkVydHFhT2JhZkVDeGZhQzlCbUVDL2hMQ0dhSGJDSkxqSzk2ZzBKeTJJTkdlUnhXZUJUd0RZSlUzK24zV3RyOFB2UC94b0pHRnZuUnh2cktYRTNxM21qbzBHMlZuZUVVQnQzSkkvNVpMYTZtamU3aWl1ZEpKZUtOTHE0dUx6NzR1WDk0L1ZEaDlEOEJuaW5qWCtuK0JzemRhZjQydnE1Z3lLd3RyYW1ILzNjUjR1LzllRGY2bjV2ZUtVLzNoZ056V3hvTGtNVERBMCtkRWo4V2EyU1VzeUIyS1Y2UTZCQm1KUGRLa2lrVG9ERUdlbHQ2Y0lHbkw3VVIxTlBnbVU2MnMrSU9kcEZmZ0pwOUNkOU5HbHVvYVVFMERmVk9ZTXNHSFRlWE9aeXR1RlQvL2pNNEttRnA3b2YvYU9QRmpFVzZ1MndXM3h0VGV5UnRiOVNQNzMya1hFWDVWYVMyQUhuOWFSMnVSQmNLbUNYUzhGbDdvS3ZsSW9ycGZnR1QrbzM1b3J1NXA5OC9OOGNQZjZ4ajFVUGYrUWpHU0srd3dhL1k5emxETjR4dnJhTzdxQUlQQUxvaGJyb3JpL1B6MWVEaldVYjJVbzJYOHdrNFF6dmtQQ1NnZHRaRjhrQVY3akFJSWlWN3BSTjJvTlVXZWFCV1hvaU1hM0RkaDJuTXN1YThpRGthVHJ5TU5ZUk0vSjExaHY3TktpYUpIWFJ3a1E3R1h4ejhMU0luRmJXdTZPVnVyOHkvMkpSOXg3NTE5Z0FPL3ZxbHB1Wk85ek5Fbkt4QXpsYmlwM3BpSnhOZ25QSmNZRUlVdDdnNTRweEpTT0daMmVQZDZkNHo1bTVVMXh0L2R4SkVlZ3ZuMHNGeVNzWDlieW50QXkzWlg0WnRPQ0dnUm02NWw1d2xhczUxRGt3SXlhU1pFc0Nic2d5NU5WdzFoRVQwcFhwanBaVHVDSGJTVjIwZTdVK2RJamc5K2lHZXQ2QXVzR3BaRjRUU1lFc1FwK0V1M0lzNWl5N2xTUzhVVllMbFhpdi8rUTU4aElkdkhiM2RiZmtsZVJTSkk0WkxwYmlKR0I1aWZKbGt2RzVRdVJDQ1Z3cUlSdWw1YXFMRkkvanV2dDRLM2JJMlhzckRyc2Q4NXNkZ2JsOWhZNUczWjdYTnU4NUw1TjRWOXl4UU9JZDhGeTRRN0pOVENjVEYvZkpaMXhERUtOTWQ4SUNaNzRwZXkxcElrZ1V6bnBpSmlkbE1aMWpoMHdaYldMWHUwMjgxQThpWmh2MlJ4c2lwZ1RQbjAxaUJ5d2QxelRJMEVWeldURzFGVnFaNzZEZks3cWpIVS9BWFd4WjEyV3pKMzV4b0RqYkIxN3FDTTUyMU05M0JSYzY0V1dFUHdBQUVBQkpSRUZVRFFIN1JpRVlkeVhlRzkvc0dkTGFqd2hvdkxSb0kzRHRJekJLdlhucGQrY0hDK2dWcS95MHZ3ckhMcEliU1U2SzJoRzdYMkZlakoxUFNCRkJqQk9RZkNkbERYRk95cHhwRWl0Q05qdllWOGtXTFBjcElyME5vdzRCd2dOVEhXZDdjeFdEU0FZMHU1UnVNcUR0UlUxcE5aV2QzU21WVEV1ZjN1NTRBcDdmOHR4RDNpcGhjZlo3cmtCOXBuUi9xWEI3S1ZHSytNdkt1dEo4RTJNd0pId283ZjJtUjZBbDREYzl4TGRtQjhQMVRxRkZmMUFVNVZMWjdlNU5uYzVlcExUTDRZT2NQV1Z6WkFjb0NBR0pFQTU1RmE1Tk9valV0d21YOVU2cVlGMVRUaEp0SlBOT3dKUUtuTkpNUno0UTlZRloycUVlYVRQQkJFQk51cUUvaWY0TWdHS1hwczZlMU92dUticTlYVjZVQTlXRkhVL0Ewdk5zeUZ0VzFaZXRyczR4OXhKUEcxNkE1K2ZjOHpOOEozeU9iMEF2Vi9BckhZenJXM1BXWHY5UjYvWHZzdTN4Vm9pQUxmYVRkbldnbmJSVWRNcTltb3E5NHJwa2tFRjJUelhQSVNqZEhGejNjSkl2U3dUbXdnd1JaQnhwU29RTWdOTjFRcTdpTGdJTE1wN0lTSWRlZ0hVSUdZaDA0T3AwMHhlazZadWs2K0ZIYlVnT2lmOHdZNWNXYVUrUjBsNHR5bDFsditnTHg3TFRuNWxlc1p5M3FpM3orcEtNeCtlOHFsNlNxbm9oVi9YelhvMmZOYXVldDd4MUxsZGI2NWV3M2hMd2RYcmduTkhYcWFlMm0xc3FBbzV1RXVIdU1aVzdvTVUrSWFGQll3Y3M4YmQvQys0NG14MHdDYkFoWEJKemNLaVRCT0VrV25kNWpVVGtBMU5DYm5hMTFKdEpueEF6YlhGS014M2xWK1AxOVpFMzJ1TzJFQ1RmOElWbjBqSVFTZlEzN1pXaTNKUEtjdEdsdzExeE4rMzBoN2VWWDdiNnl2a3QyZGk0bkRkSnRCdnJaM0sxK1lLTU5wNnJ0OWFmcVRiV242K3F6WE51VzFkNldLclJYdGNsQXB5dDE2V2Z0cE5iSVFKa1R5ZHpycTJ0cWRSVjZiQytDUmJJYzh1c21ud0pKOW96aUpvRXdVN0FQRmcvQVpWcGdta2VRVVNhSkR2THp3alZtekpPWFJLdEUwMDV5M2lVeTUzdjY4cWpmbFkzbGJQMjBYWUMrdUdxTE84Uzg4U3lpeXpUL3dVeDhIdXI4WTRuWUN3ZXlzbGxsRGZYMXpIZWVnWDE1cmxxYStOY3ZibCtyaHB0dkZ6bHpRdHkrY0xsNHVMTG83TjQybTZGNlhvampKR3o5VVp3by9WaHgwZUFESHJpSXlmMHJ6ejRZSG9LVHhXYlc2UE9LSHQvVk9lNWNiYkYybnlCcER1Z1dsZFNvZHdOa3pkSnNrcVFHRmtldTFmeDdUUkpNZElrMEtac0psbUdXWm95U0RkSU5Nb21TQ1RoQ2R3YlNVT04zQzVIbElObEVpaG9vb0JvUVFKT1hXdU9TTEFRL2xiTzR4SllCNmlwQ09FekNsRHN2UHY3cHkvNGxscGx0V3c2N0lwNjkxSkpXWFJrblo5R05zdngxdGFXanF2aEh0U3JUOTNoTzIrRU85UGpsb0IzNW5PNzRieDI3bG5QM25tbjlKZlBwYTM5UzhGb25aenJPRzZZcTUwRURGL0lKRGN5WFllYnpVUUNGa2dTUU1VSjgwYlNpaEJUVXZhUVF1SlVqcGZweUFmQS9GUTZKYUJPRys0a1ZtYytBRXFXVDlxNmloQXNvM0c5Q2ttRVBvZ1VJUk5FTzJ3N29MRUZIbzBzbVBFTFE2QXp6c0lPdGpsSjZNeU91Mis3c0dSN0w4K1BxNzV1U2lvdmJ4YjFaY2Y0U3VXeTdxbTNVZmg0dEhjRjQ4N3AvZm5PTzUvZUh1eU9HK2dPYzVnemVZZDUzTHI3QzBUZ3pXc2FmKzloRlU5cDBSMmxoZEY2TWE2clRtWG8xKzVEbnJHUzBMZ0RCZ2Jrd1k0blZVa0pKR0c0SklMa1NsSTFrQnNwdlVHa0JTUk5OSG1QcVRyUkkwazJaVkVIa2kvUjZGSHlmWUI2SkdLQTlxK1drWjdDUTBZOSs0YkVlMFVCK3FLUTFIRytTUml3d0YzaEFrbDRRTmt0U3RFWUh4bit6UXZnbTJ6NTRZZFAyUHI2c0RvejZtNFdxM3N1czd0THhlbzdMdS9aR0t3Zlp0blpQZGhhZitxTzZzQ0JGektQa0p6MTdYMGRJcURYb1krMmkxc2dBbytRd25yRG8yVnZmZGpiekt0RHRUVEhWVHcwK01EY3VSTUdQOTZqekdSYzR3RnJacVdSY0FOTzJZQWtPNUVrMzBnSGdveERUaEdrNjFlWFRkUHNubEdPNlJ5UUNTR3pUZWh2ZzdxWXdxZDE3dXpMQ09jTzNDV3gvOUpjdW9EMGlhR2ptS3V2bEl0UDdkK2MvL2QvL3pjSEp6Ni9WcTZ0clVVbjJGbVgrTU1QZnlRLy9rY2ZxeDVlKzhqNFQvN2c0Nk9RZjhSODRKRzF0VHJxT1RianVKeG83K3NRZ1IwNGthNURWTm91ZnVZSXJONEJ2ZExmN09XT3pudXZXSUhJaWtIbXpmbWxtMEFOaUY4YWdHZXJxTE1SVGhoSXpnVDVNb2dRd25OZ1lpb3hsWDUxSGRPNEdpWnN3SjJ4RTB3M3VwR2U2a1ErOUoyMkdubFZ1ZEVwNHp0QkRuKzRUZWVSQS9zSEw5cmkxcGh0aHpCWktVUU9xTTRkcUZaMkxlTVM1cDY2QTl3eVU2Mjkyd2o4Z2hGb0NmZ1hET0RQMFB6bVZuM3VZaXBTcDVkTFd5RFJyV1FTRnh6ejVMajQxVU15MG1SMlI3WWczd215UlI0d2lEdFBhZmtTYVpJZ2xVbVlrWjhCTGdqTThvMEVpVExJMWtqQ3BtekU2Y3g4NkFVbXBEdlJpVjJ3TjNXVGZMU25LOGdacUd2NjBSQXgrR1lnYk1xK0pCVThKeGxLMWhVNmRTQ0xFZlZLMG1xNGRhRWw0SnQ3TWwrLzBYSEdYci9PMnA1dTRnanc3TGZTb2xkS1p4NHFLNks2VEFKYzRJaDc1RWNsejRFYzU3RURyckloRUFSc1RyNzFiZUxqTVdzUUpFbVFoQnNrR2NDTWpDbkpqcGlBVTVjNlFhekFEN2Z4YmJLVlJyK3hRLzF0YWV6RGdHWUh6TjF2Sm1JSGJQVEZveCtSNUs1REVWMFcwNE44anpqbzJWWXFLWWRTOUhuQWpQWnFJL0FMUjRDeitCZTIwUnBvSXdBVTh6dy8xVUVsdWd1cWU4aHRlMGxrdXd6U0p4SUJZNXdNSkw0R0pEOFNva1VacFZONjh3SXk4bFdrR2JwUjN5Q0lWcWtRa25hYXNva0VTWGdiSkYvL0VlMUlxTFFkYldtanFZKzBOUGFDeUozMmd0eER1amU3M0FFY0hJL3NnZWdlbDdTTDVZTzUwWVgyQ0FMdGRTMGlFRFB4V3RpNTRXMjBEcjY1RWFpNS9UVXRZc2U0NHFrNEFFa0hYR1RaSEhORVlVRjR3dW1tQ3RGRUZJU0NMMERVT1luVWVBN0JkT1RCL0xiY1RvTmtTYjNJTjJEN3FYVEtiWVNON1R4Smx2bFpYZGdOY2c3Q0ZTUWtMWkJTaVpBcUJRRHFPN3R4T21yU28vNkN4aTVZc0tJcTg0cWl0emxjVUxSWEc0RnJFSUYySWwyRElMWW1HSUdGYmtwbEdwSlFWOGhoSkdBOUFNaUtpd3hOVUxqelF6eEVSTlVsSlZkQ2xKdG1iMzU5UUZZVm9UNlpqOElKRUpST2tBUmZMWDlkbm1hNXEyVnpsb2R1QTNiRjh1WTRJOW8yWmJONjJtM3lVSWdrS0VrM2FZbEVFbFpKQUVqQVJudm1QSUlBQ1JqekxGeEJTc3VxYVY0SzcwRnVndjh5am9OcTc3YytBdnJXdTlCNmNETkVJRmZnTGxlSHB0ejFpc2J1OTRBN0NSZ3k1Tmx2WWVSWEYwNjMyUDJtQkpJd3VZNTVscEVzWDBPaUlGbStCcEJYQ1hnN3piYU5IZ21Ua24xTmJBVDVObm1XUjVyNlY5VTFPbzF0RXEyd2I1MFJNRWxZaEg0NTJ6bkE4K0RrUmdJV25XZjdGWHF3WW9JRlFlcUpsQW50MVViZ0drU0FzL2dhV1BscEp0cjZtekVDc3JhMnBzZlgxb283MWs1MHNtejFIRFlFbEYrOHlaS0w3bkxWb1VPNkVGRks4aDUzbGhDQTVJZEdDakNWVVQ5TE41SWt5Z1pBMVArWU5Ja1IyenBoaytRWlJ3dUJwbzV0UTNyVUVjNzZCa3czN1pnSDAwS0VESVMrbVpDQUVYK3Z1RU1pSHJMNytLLzRGdmxHUWpMR2dNemNPL0g1dGM3eGY3bFduUGo4aVlTSjgyaXZOZ0kvYXdSYUF2NVpJOWJxTnhFZytjcVhscytWd0puZW5zV0RnN3lsYzlsOG1HR0RMUEhGRzdya3BaTGdPVU1TRitIdUV6QUhxTmZBREUwWlhMaFhGV1orQWtpbW9kZGdscVowb2ltakRUQk5BaFdmRXVva1BiSFo2RVY5Z0xxUk4wcno4QWV3SE5JUlA1V0wzeWFUYklYcHNuYnZWdWFEeW13dXU4Mk5QY2R2bStkeENYTUwzKy8zaCt0M2xpY2VQdEd1STdUWHp4T0JkdUw4UEZGcjIrQVJRRGZQWnhKdzNkTjFHWTZyUEdkQVE3NVpFRDg5NjNJaldacndvRmVrSVVVbitRWGhjVmVKR2ZueVl6N2c0Q1dVTWlGaXZtSUN2a3BURHA5SzJtalNNOGx5WjNvR3RxTSttelVGYkRPdGl6WlJGUFVoU2M0TitZY2Y1dUlrWEcvU0hBVFR5QWJsRzBXUmc0RGRoalh5WEdVK24ydGJHTlhqaGJ4VnphZnhadis4OWN1enEzZEdSMml2TmdJL0lnSS9zYWdsNEo4WW5yYnl4MFhnREo1U0xIWUtMWWJkc1k2SEVBdUNpdlBlZ1NNSTJMc0diWGJBRUNVQkM0eGthSTRnTnhLd0UrUks1c0h5SU1oR2dxb2sxV25lcDVLS3dYSEV0QzRJZEtvL3FXdnNvTGttU1lIVHJpT20rQ1FOdG8weU5PVUNZOTVjU2J5T0lOOXNKR0pEa3pZcWMxTmNjQWZjSXdrUGF2TzVESnVyNGZNdzRWbXd6a211K2wzZkxGZlBOcDJndmRvSS9Ld1JpTm41czdacDlXL05DRngxNXJ2V09icThyOWV4NGJ3T09zdkZZRzRQdjFSYmhlc1NDVzVZTzdvWmtyZ0Q1dGx2YzVZcUxJZVQ4TnhCQ2RoVWt1Y3dnN0IrbHY2SmtnUUt3bWY2VE0veVRSbnpQZ1Y0emRLTlpKdHQ2ZXlhbUpBdlFPNTlGUzQ4Z3BDVVJWSXRLSWxlTFRLZkJVdW11cWZxRjN1c00xaXFLaXpnUXE5L1lvMW53bXM4RXo3Um5na3o1TzM5QmlQUUV2QWJETlN0cnJhMnRuYlZtUytQR3RMQ29uVExWZlFIQjhwZS81aDJ1a2VSZEE5SmQ0SGdSM2NnbThmLzhCSkJiRTZpNDAzeUZXNWplY2VtMFpVSlRrR25BQkhTaGVjVkxHTzltTENRdHhPemVqNElqM3dZWTFram1HL0ttQWNSNmFiOHFuVGtBK0RsVFBDR3N6NThNOHBJTnhDRkU2WUtTOXdkMDhVOFFaa1Y4N2xNcTdtVER0ZGxjYlR1eVlHdG5xNnVwM3JYcFFXZUNmYzMrbWZ2dkxNODhaSDJUSmhodmlIdUc5MkptT2szdW8rdGZ6ZEFCQjdCOU14M3J0OVRyNFkyMGwzU2tWVXRpNE5hbG0rVFZCNTE3Z3hKWnZQOEtGL3lZN3NZL1RibnpqTEF0Sk1vUWJLRGs5RnNTcTZSSjltUzliQU5nN0N4Yk9lalhRQXkwUkZ4Q0RmWGppYnZVUjZnVHFRRFlON0I2Z1kwMWVTbmttMGQ0Z0h1Zm9WbjBzSXYzZ2lJc2M1U2NpZE1GWm1vazZMbVlZdVZhYzRLV2JXa1I0d0VYQlZ5QUVsV3RiWmRwVzdPVmYzVVcraHZsQ1JoT3NxTzI3dU53RStKZ1A2VStyYTZqVUFUZ1RNZ1N5N3VLVlI3WGVHWFVqeFlXSVRJcW9nZVZFM0hKT2xScXV6eCtKZ09Kd0VEOFdXV09VbVFWTWNiVE1KZEtJVTJPZldZeHRXQVFDSlAyWlJQSlV0cFJCcTRxRWVkaDdGSU56bzB4M2JPdEZOaUtwdDhwTUdtTXdSNWUrVERqNURnRGwyMlFmczB6OTF2c3dzV0VqQ1JDSlVpYzJ3azVWVlBjcGpkSEhYSFFTcXZjbWU4eTh0eW1NejZvM0xBandXTUZmdHI3ellDUHkwQ1hBVS9UYVd0dnhVaXNMYTJwbmQvN25QbEE1LzVSUC80SDY3TkhmL3MycTRULy9WbmxrLzhOdyt0bnZqalA5ejNycjNkQTBXaGgwWDBDR0szVzZhakdYcUVSSFRJZ0lNR0RmTGRaUkIrQ2RmODhvR2toZ21vWklRVEVPR3RVQktjUU1FY3dQS0dlQ2xuNmNqUEVHV2daaU5EQjNFSnlaelNDZFkxSXBKRXBGK0R5RVE1cFFjaTNVRDRPb01DOU1tRmRtblBLSTE1NDJhZHhBdktaRW43SnRoVkMvWVFCMnJ4Z3p6dlBseUpIZDAwTzFhWHZTUGxRQS9uSXd1SC92Zi9yejg0OEcvLzAwL3ZpUmorMWQvNW5jVmYvZlNuaHljWTJ6Z3JQdkg1ejZlSU53Y3c2eHczNWRVTzZxZEdnTFB1cCtxMENyZEFCUDc3L2Z2VC9NWUx3N2x5Y2FsY1QvdDdVaDVaei9tZFZSN2RXZG40cnJvbzd5bUs4bTd2ZGUrdUM5eFRpMzZnTnJ3ckNJaGt0RHNEQ3lZeUFMUUQ1ZWQyNGRRaVBNak1BU1BBdEpCMGczeG5pTHlBRit1RkFIVWFvbjJkRkcrMDBKQldwRVBYdVdHbW5pTXVtVlF4LzlyMlVSZk5RbEtIOVU2QWZvRCtpU1NvSmlhVlJZbjh6TjB2Sm5wOE0rRWJpSURqUWhiUjJyMUxPYWdoQ3hWOGQyVTRQSWE5YzZ1Mjk5Y2lkNCtMZE1mSnczb0FBQkFBU1VSQlZFOHVpL3RNN2Y1YzUzdlNXTjgzWmd5Ny9YeTRUT3Q3UjlYaVVwd1ZiejM5ZFBjcG9Eais0SU5CeEVMUEFoVHRmYXRGUUcrMUFiZmovZEVSNkt4L3F5Z0xER1FMeTFyNFBuNjZQeW9aNzNUb25RNi9TMVR2ZHBWN0JMakhrZTQyNkFjeS9GM0VZWjczTmdUc3JnTlhFbkJLQWswVE1uTVNtRThJMENIOHAxQjVGVkZDWldwTmpoYmdtRnl2bDFGS3JZYUluV1lDRkkwK3l6M3FwNGowTnFLT2d5SER1aytPSDhTZERRbmFFa25KTlJVTmhINUJoQ2FGYnhnRUJKa3c2aHJpVngzU0lma09NckJRTzFZejdIQnQ5cTRhL242UzlOME8zQXZvdlNKNlAyTjJqeWQ1cnpqZXliZWp3em5yWGg1VkxLZU5hdDY2VzExY3ZKajY1ODZsUjlpQTd4eFR6MXR4cTBXZ0plQmI3WW4vbVBGMnU0c0ptMmtvU1plb3NwODRDdmc3M1hBbklIY0pjSStJM08yaWQ0dFNPajdna0hlUm5FakFXS1ZjTU82QVhiV0VrSEkwQWFvTjE3R09oQWFhRTBBRU90dDFRaUJCamk2c0F5OXhjWXJJSThxSW1aeVZYWjBQWGVZYndYcVBOQ1VvMFVnQUU5SUZIUUVnY01RVmtyWkZJUUg2S3ZRSlRBTktIUUVKZHdvSWQ3M2dEbGM1dmc3TEI3V1FnTGtEenVZY3UvQk5pZ1FNM00xQjNDUEFmY1Q5QXI1WmliK1h3M3RuZGpzaVludmh1cFFMbmZOUnJ6c3F5Mkt1S0hRVjBMVUhINVR3NnRxaXRiWVRJcUE3d2NuV3g1OGpBdTV5ZkMzK1RzTmE1L2dmci9WKzlkTy9NZnlydi9OYmkzLzl2MTViL3RWL3NyYm4rQi8vM3I1Ly9aLzhad2YvOGgvK1o0Zi85Zi82OTQ5MmRIak1CbnJNVWtGUThvczFBNDd4blBNWUpjOTdjWlFFZEFTcWgxelRRU1RkeXgzeGlvc3NzbnhBZEtsWE9pUTVWQ2p4R3Jnd0QzSVV1WVpwRUxJTmxrT2FmMUVPWno1QTBhUkRCcWpQWVRFbERad3RBbWdrdGk5M2RzT2NUL1dkOVNEY3dZcndZOUllVVVhRW5NR1pmeFZVcHcyTE1oYnlTOFhFM1cvSk41UVlhNHg1Z2RVcmpNbGVwTFFmbWc2U3JBL1h3TkhhL0ZnVkVCeXpRbzlXSFQwMjd1cXhQT2dkR3k4WHh5NjliZkhvK2JldkhyNjhkL0hBLzdwM1lmK3Y4cno0My9ndmYzdmxyMzd1ZHhhUDh3eitnYzk4cHY5ckQvMTY5L2phV2dHZXo2Tzlic29JdEFSOFV6NVc0UGlERDZiTzhFcDNjZUhpWEQ0OVh0cEl4ZDY2M3o4ODNzcnZ6Q3AzYWxYRnNjSzlxU3dlRVBkZnFaUDlKUkxJdlR6RGZMOFZ4YnV6NnRzcXhjRktzSHZzdHNnenp3SGJkVjIxbEtJUUtVc2dGV0FlTGpyZExRcTRLNVJNcGpNRENMS2RNTUlLNFQ4cWdsVXM1d2Qwc2hucjRaa1U1cXluaVBxQVhKV08vQVJLTzlLQVhJZ0FhRE5rb0VtelhhUURZRHJLR2pEZGxFMzE0V2o4Q0YrNHcyLzhJYW15ak81U0YvUUhsS3dUbjBoRS9RU096UFlXNVJ4M3hDQmlJV1ZITEdsaXZNcVJXM2ZUODl3bWQ4bGJnb09qSXIyOTZwYnZxZnFkOTFlOTh1NXEwSHZBaXU2SDYxN24vbkZwOTByWDczS2VGMHUzKzA3UDZTaEcyTmZIeHZMbWVHVWVxK2pkZmZvMFAwN1ErV1l3YUsrYktBSXhxMitpNGJSRG1VVWdmaloyT2VXdWpqdHprTkZTNFdtUG9UN2lVcnpEVGU1MDk3dklrZmVLNHdGMys4c2tuRi94cFBlYStnZElKTyt1U2NDbXdtLzZzVm9CaTl6VkRVMjA2NG1zeTQvT1VoUUk4bkZOYkNvdzhvT3g4eUNtK0YxdEVMR1RxSnpsUW9CazVTNXdLckVlZ1Vpek1TYU5oWi9TQ1NRSElWREtWK0dSWi90R2Z5ckRYdVJET3Z0bzRBQkVXRVNBWUFvQmd6VDlzQTVUZU5UVDRYZ1Q4R3ppVENQQUNnUWdiSW9KRExBcE9EYWFBdUtOQnltQjVPc29DckZVcE15M3BqRzhPM1lmam9HVmVCUExTVy9MS2Iybkx2QUJMK1FlVjNrQVNUOHNTZTUzeFQzczVpNUwvbDRndjhzMUg0VVcrMnJZc25rOWowMzA1ZzhjNElHNlkzckpWTGJpSm9oQVM4QTN3VVA4VVVQWUU4dDRzOTlWcStkRWkxMVo2cjBxZWhpS2QzREIzMG1xdTBzRTl6TDlZVGorTXVWZmNwRjdSZVg5cnZKdVZ4eXJJUWNOdmtveWFIYkFwdEpEU2dWM2ZDSkY3SUFUUUFJMjRRNll4b3hHTXAzSjVBcHpSM0FaV0VZbFRDQUkwalVxQlNMdEpzRmtwTUtKaE10MldwaU8vQXpPQTFXbnZSa3dUVGZTYVFhOFFvZnRuQURybzYySEpCcko4cWh6cHo1ZlpxUTZrejdWY3diS3QzV0ZZOEhySURUTjVWT1V6bmhBT3FYd2pTdGxsWElNZnMzR0hURGxDcytMRCthRXQ1TjQzK09TM20rVEx6TWZnT0RERUxtZklBSExYVFQyWGhPOEUrNThjcjdQZ1dWSE1ZK01YbWQ0SlQzNDRJUGl6bEswMTgwVUFjNmdtMms0Ti9WWVpHMXQ4dmQzNy83Y1I4dGY0L25nMzFoYkd4em5lV0g4enZTdmYrWXp5Ny8yM3p5MCt0Zi8yOC91LzdYLyswT0hrczRmc2FYTzBXcCtlTFRxcDJPNUtJNVdTWTVsbVFISE1wZ21TS3hIVFlTN1l4S3U2RjZtZHhOTDFuelpKQU1TY1pmdFNvSTdQQ1FqYTVnSU9VTVFrbmswSUQ4RVIxZ2poUThqb0JDU3RKS2tCUW9FbW5xUWE0UXZMQUlsRVlRcmxEUk1FcWF1RTZIZlFLaExSSDBEaFUvTGFZNUdXQmVFeVRvblFNeGtwSytHc0s3SlU1OUc2QWROTzNnSm9heFZ6UHdWNXREb0NaVTRYZ01hc3FhK3NjNER3azhCSEtPclNnMmsybEZRZHJKZ2tFWG1zK2lTcWU1MlJjVDJnQWtPRVVjeXdMajcwUnJPWnhHUVk3V2tveFdmRWNuOG1IZUxvekxvSExYQndTTmZlZHV1UTMvam4vNWZEdnliZi95SGUzK056N241ZlRIUGkzLzFuMzU2ZUh4dHJYZGliYTFEV2NRY0FlZ1UybXNuUkVCM2dwT3Rqd0FYbHNSdlJ6dFhyblNYTGl3TmNHVnVZVFJmclpUci9QS25NejVTRlJ2dmlOL3NpdXRkTHZhQUYvcGg2WFh1UTZmODBMZ3MzajhxaXZlTWs5eFdKVDA0VG1tMVVsMnNpelRnUXUvd3ZGY0pjUGZXd0VReEFRbEhwdUJESUxHZ0pydFdaS0M2Z2FNNTcyVWRpeEdFRkhBWEJER0Jkb1RFbENSQnRZQlFDaFFJVUFjQnBodmlKVHMxNVRRZ0VPcE1JRmVsRVVabmVsZVgwMFpVSWNwYzBNZ21IUy9zcjJrVGxnU05EUlpIbjVNMG9vd3ZFcVcwSkVqME9RZzRJS0lRbGlKOG5jS2RUV3lDWnR3c2lHT0p5YzRmM0xSaUVnc1JaTUtJa0xQNFJycW04VXJRR1lzTWVGU3hNSUtzakhua015N3d0cXBUdmp0M3l2ZDVyM09YOTdyM29wc2V5RGs5WU9QeFBWTFpCOGp1ZDJ4V2VFZlgrb2ZMbDlQZXdXQ3dhNlBiSFFMb2ZXbDV1WXk1d25SNzc0QUk2QTd3c1hXUkVYZ0UwSXRYcnBReWw3c3Bwd0Z5V3ZCY3JtVE4rN2xkUEtJaTd4RG9uVHhiL1pDTC9oTHpIeFl0N3ZPa0g3S1UzcDhWZDlRcDNjWkZmeWduMlowVENWaGtXS3QybUE0Q2R1N1VTQmlLckJQaUNLSjREUURVSkpzZzM0YUVtUTdpQ1JJaUo1RjBBQ05KR1NuTGc3UUlGZTRtU2I1SkNxZ2tDUE16TWhNSW1qUmlHazdTRW1rWFlUbFBhaWN5MGcyaWJ0YkdKL29lRWp3ckZwNGRCL3pxTmxPN1Y3VnBpTmRZNElHSkRjVGx3Z0tDL2ltUjZLc0dRSitiR3RxaUR2Mmd0anBOVEpCZE1zRzRDMk1oakplYnNKN0liR2QwSitKcEtwUFlNay95WlZxVXNrUHlKUUhMd2xqQUx6djlZQzN5Tmt1NDNaSzh6MVh2OHBSNExBUWVXY2d2Q1k4dlJQejk0cmdEbnQ0aHVUNGlrdmVPZmNRZDltZzRQNGZlNXZuelpjd1ZPdG5lT3lBQ25GVTd3TXZXUlZ6ZWYxcHNkeXBROXJ1RldwOGZjaGRNc0Z0Vjk1bHBIQitRZ08xT2lIMkk0Zm9sZDhRWjQzMnVKR0RCQjdMb2U3TGdOa3NTaTN5VnBMQkFJaDRRL0tpc1FjRElHc1FSUkNFd0VzVUVzUnVPTXFDR053UWM1RnRsUXhCeGRpQ3pReElTM0lVYW1Nb0ptVW1RV093b0Ewd0xGS3dCK0FycWIwdW1aK1VoQTAxZDZQMGtrT2dhUGJiM242UjNWVjNZRGpUdFdCNStnNWZRTnlYNVhvMG9DNEI2NFMvN2NEZU9rZUNIQUV6Z1lEaGdEa0xBS2pEV01NWXpOM0hrbXhvbFk4NFlDK3NFRlR1cElaMWFaTUF2T1JjSW5oZExmT241Tm9QZXp1ZjJQb2plQmVCZWlEeUErTElVdU1lQkQ3ajRld1QrRGhFY3pyQzloYVpkT1dPdXp1Z051L0VuNmpnUU5tenZHejhDZXVPN2VGTjd5SFZFNWxpYm5PMis0OWQvdlhzM3ozVi8rWGYvM3Z3SFA3dTI2KzdmLy8zZDkvN2g3KzA3L2w4OWRLaUxkeHdaRDVlT2pPWUhSemQ3dzJNYjNmNnhjYUhIcWtTb0hLdUJZOXhGOFN3UngwZ0F4MXprcUlzZTR1STlJRnJzUlVxN29XbkpvQXVzR3hpazV5UUF5bVFpUWduS2hoeEN2Z3F3bklBZ2RISWpJeCtJTXBBYnBoQUJZdTNQSkhVUmNLRkNBTHdvcVNNZVUwOGdVUmM2UHlQbys5U1c0T28wd3M3Vk5pTWRpUEtyd2JLbTc2bWNwTm5hQXhPL29vd3ArcWhRK2l2aDkyc1FmWE5vdE9GczV5SFpoeE1nUWpyQXVBVmtJbGtRY1RSQU11SThIYVVKdWk0eUlPYkI4MktvOEZuSlhsZlp6N0pEQmpsQ25mZ3Rkdk5zYTBmenZDdWUzOGZ6SHhkeXJCcVVSN2M2bmFOYmk4WGg4MGNXRHYyMS8rc2ZIRGpPdWZNckQvMzI2Z09mV1Z1KyszZCthL0g5bjU2Y0Z4OWZXNXVjRlhQZUlaeEdlNzFWRWRDM3F1TzJYOFNYYW5MOHdRZFQvTTd6UE05MkYxYzY4MXBVSzFWTys4c0t4NHFpdnIxSStPQVkrWmRVTzc5c3ZjNERvMTd2L3MxQjk3N3hzSGZYdU5kNTcyYVIzcjFaeW0xYkNZZjRjWFoxREg2Y2RmUXkrSGxjVkVtK3FscEkwZ0pKRWxRS2h5dWNLOXFOeE9EQ1hSc2xINGh4TWJKb1FoUXlMV3ZLSjJrSEM0WGdibFlDb2hBQ1VHb0ptbitzWjZkUVNwb0RQNW9qYzNzV2lIUVluK2dwOVpYdENQb0FJdlN2bHBHK0dsRS9RNVJIbXZZRXROVDROck1SZWFaRHB3SHpqWHhOR2Z0bHVjelExQUdlQXdiamx0YWJMUzJ0czA1QUVpWVNZemlESWtFam5oQTJJa0lTb1Fzb21zdjVTanRocXdIejdud0VFV2hXb2RHWHlTdGpLUTBTaTVNd1RTT3FmRlFGZDlMZExCaU8zWmNxK0o2UitLR1I0amJ1cE4vRE0vNFBWS200Si9jNzkrVEVZeWNVOTlkaTkrYXk4NEdzbmZkVUtONGhxWCs0VTYvdjNkeFZMbGI5alg3OC8venUzbjg2blhqNEk1d01IQ0RhNjYySUFCL3dXOUZ0MnllNENPT3NiaFhRem5CWURIUHVwdFNmNTNacnhWSHNGMDNIUlB4Mmt1VUh4WEcvd1gvWlZCNUFTdmQ3S3U3TktYMG9GL3BlN29EZVhhbStqY1RiRUhEbFdPQ3hRRGM3bVlGR1JFbStxVVRTRWlvRkJQSEllV1lLb1FmcUpBVWhNVTRBa004SUlTSTlrNUVPNG1BZW9yd0RxWkVRRmpaZ1dkUUZVbkxSNUt4emZrUjNucEUyWUQ4eGJQWk1YVXdBc1AyUEFCdmo5WmpwenNvakgyazZ6WGNSR29tTXhOaXV3dFg1NEprQVZSR1NrRzJnR2JTVExDM1RUUVljR2VCSEEyb0x2VlVveDlhUXIvTE5qRkJKckl0eHhGaVZsb2p3Z1JBaS9LSndCdHI1WmtjRThVNEFCOEFXUWd2U3ZGY21WOXFYR1pTOENGVSs4MlNpS1R1NmZMWnp0V0JwRE95cHhBOFN0OVhxN3pIRkIvbWw2OTBPdWRlVDNBZkkvUUs5bDAvM0E2TDVEb1c5QTQ0ajFzR2VQTnJjcGYxZHZUdzZVc3kvY0NCOS84S1M0c0VIQmUzMWxrUkEzNUplMjA0UmsvN3k2ZFB5M01XTHFUc2FwYUx2WGNrMno5Q3NjTUh1SnowZWcrQjJyb3dQc095WHlIRy9ETWdESm5JL3ozSHZ0YVFmeXREM21jcTd1U2h2NC9IRHdSck5melN4VUlsMGF4RXUzS1NRcEpwS0tWSUpuUkt3T0syYWdLUUE5Z1Z5RHJuQ0NVd2hZRFZpa3phREExekRiS2NDaWQydktwaVlBQUlFUk1BNkVra1FrMFFEQktIVjNBSFhOVmt0U0kxOUMzVkZGSUlKNEFwbk9ZaVpqUFNQd3F3K3BOTUNpRzNKOXRFbTZrSTJkZE95SnQrUXNkQXZndTNrS2tSOWtDMEg3UjY3MzVyTzhvYlRDbTFvQUlrZUp5VEdNYURiQkV4THJLZm14Q0xIQnBGSlB3eGdFMmNHbVg1TlNKZzIzZU1Gdk1SRmhPb0UzN1NFUGNqRUxwTXFEazBHY0FlTTJBRUg1TEU1QUFBUUFFbEVRVlRQOFQxaEtjUDJaUGdoNHUxWjVEMG04Z0ZYdmR0VjdnWGtQaGZjVC92M3V2b0gyTTE3WE5MYlRlU3dtdTFGV1N6YXhxaHZPUmQ4NDA5N1JsMWRRM3U5VlJIUXQ2cmptNzdmdGNtNTdxODk5RkQzYi9CYzkyLys3dS9PSC8vczJxNS80N2QvZStWWFAvM3BQWCt0Mzk4My83YTNIU3lQN1Q5VXZlUElVVnZaZjFRV0ZvN3FZSGhVZTcyajFpbVBjYWQ3bEF2bkdCZlpzUXc1U3NtelFEbHNvZ2VKL1NUaFBmeGlaN2NuWFhKTkMxbDBRTDB1dWFNZ2h5alh2QnJpRVF0OEtpV2tSMWtneWdQa0Nrd2x5Y0NGK1VaT3l6REpJOG9RWlZSZ0dreFBnT2sxTFk4Nm1aQ3Frd0dDaEJzNDFXaGM2RU1BbE5pMkVmNzhaRXpHUUx0Tk8wcU93NG1KbldncndMWTlwdG5YRCtXYk1vV0VERkJmYUU4b3dYeVFaZXpVQXdoL2pUVXNuK2swa25sY0JXYzZFR1VUSHdVSWU5dkE1QXA3VVJhU2JSRHB3Q3c5a3l4emdwOGV4R2c0bTJ0dG5pZzcvQ0swVndQRERQQkxXRm1DNm00azNlY3FCMXoxWUc2K21QT2oxR25PaTQyZnBMelVZeDd6cWRNOUpwM2VzZkhjL0xIUlF1L291Q2VIczd6cndQKzZzTEEvNXVTL3pibDU0bmQrWi9IRTJ0cmNpZVp2VVR6VS9lam5QbGVlYVA5K01kNnNTOThzdzdlNjNlUGd0MTM5ZmorZlA3K1lpMkoxSzI4ZUxEZktZNHpMdTdLTjc2d0wrV0R1Sis1YTB2M2E3WDBZZys0RDJ1L2VyZjNCKzJUWWY3ZVFoSE5aN3F0UzJsVUplbU51dDdqTFRTUmN5WnFFQ3d1dWliM0UzMk1JSks1L2hiRURMbFJ3d2FMbTUxYnVQaVZrWnRxNHdKMkFLR1FHNWQ1T0JQaVJVUEtBVHVvZ1lDWkFUbldRSEdCT1NmREdCTFFUOWdQVVowT1dzeDFKektQTW9wQTZEZUVwTTBJaVZJQXBSUDBVb2Z1akVEcFJIdnJoUzhoQWxFM3lZZXUxRUg5dEh1d2IwUS83bEFZS0VhWVlEL0RpNENSSXVFRU9SZFpCV0VQRU9BeUlzWHQydUFWQVNYaUFPcFNOL2FaZjVpRzhFbCtqSHdKTkdWOUQwaXhUOFJwdG5HMmRYZEpzMDBlOENjU3pxN1B4V1JyaXVUTFpQR01UeHBXZlF2am1DL0NMQWhUeG4wSnJxaFhsR040ZGl3M0hJa3RWb1h2cXNuUEl1NTNidkRkNGozWDZINVJ1NS82Nm93OVkyYm12VHZtZVF2VXVWWDNmVnJmN3psRktSMGZkN3I0cmw2cVZIdWZ1bVJkZUdPSzU1enJ4Ry9Uai9MNWliVzB0SEErZ3ZYN3hDT2d2YnFLMU1JM0FhMFIvZVRsdGJXNzJPeWt0aXRsdTVIUkFSSTRoNFYxY1krK0YyQWRGOUI2bzNNK3lEMHVoRDZBbzdrYW44MTR1a0hlQk94WXIwcjVhZGRjWTBoczdpcG9OS3Vqc0oyT3dSTklsa0FxQTBrU1JYY0J2eWJsZ0hUV1pvczZVdFVuT1JqY0FoMEtvQjBsQUl4WFE1RXovQ0FoMUFnb1hMbmhFZXlFQlREaUtEU1o4NWVLUkJpaVpRTURRS0lieU5raEtFaEJsNVFSc0EyRFN2OGNSd1UvQWRqMzR4aENnN212S0loOTl2dzVDWDdiQmRrSmdBdm9oUlBnaUFGTndqdEdjc1hJT0Jzd0VXTytzRHhpTHpCSGthQm1OYk1pYWRRd0N2SkhVRFZ2VGNRSWlBaVY0TTliQ056MEV3Z2RqMEJxd3Y1RE0wZ2E1WFJxT0orbDZ4WmVLSGRhTU5ydGtkM1NON1RsMmdNODk0Q254alZsVEZpMHJvRHNHaGxXU1hiV212VjRXaDd4VHZ0Mkw0ajJjWng5MDFmc0J6amM0anlya0huN1hjSmRLL0MwS3ZNdUFvNVpsWDFuV3k3bmJYVEQwQjlXbFMxMHNMS1ErNS9RamJBaG5rTkJlMXlJQ2VpMk10RForT0FMRitmT3BLSGl5Njc3Z0lxdXFlc0JneCtEMkxrN2Y5M0lWM1NYQTNRSVNzT2lISWZwTGt2UkRYSmp2SXhHL216anFTZmRsbGNrT1dKQXEwVlFuNVVJVE1VMEllRU8rSkdEbExsZ1VHVUxpZGNJYUVzNUJ3RVJJcm1GeDFnTUpRdDBBK3dWRTNoZ2dpTFhYd0VEeXdhdDVuNlNEd0dnTW9PNE03clEvQTVRMUU0QnBDTW1YSlpqV2grNlB3N2E5MENkQzcrb3lkMFZqTSt6K0pMQXZZYjJRc05IRVFRQWhFT01UanN2QjV3TnZ4aVFzRlE2T3RwczhrNHluRVc0VFBRcE05RU9QWUFzYTVDdmJOUFlWUWduMklZaC96RGRTRUpjejdmVEpuYllKWTlvbzQ1blYyZmdjaVpyZ0cycjhsNGVaall5MlBDWDNwRURCWjEvRURsaFM3SUQ1NVZ5M2dnOHJ5SklsMmNNMzZrT2NKN2NoNlh0Y0U5LzRZODVKekxuN3lQZjNPT1F1aUx5WHRQNU9EdjRvVlBhaHhvcFpXa0RYQmpJY2RrWlZWY3pWdGE2aS9mdkZEUDgxdS9XYVdicjVEY25hMnByR2VkamRILzFvZVh4dHJVZk1IZWU1N3EvODltK3ZIdis5Mzl2MzEvN2dkdy84Vy8va254ejgxZi9tRHcrUDlxOGN5WVBCa2RHZ2UzU3JrR1BqSk1lc0tJN2xvanhxcVR6bVJVR3BnU05jVEVmSVo0ZUpBeTZ5eHlBcnhDNFRIYnBJejBVTGd0cys0Um9STVJJTkZ3MjRGaHBJczdqalVVNFI5Vk9ZQ3p3QTdtTEJkRUFvMlNac3VFOFdQUVVDTk5qSVNEdDFRZDJBUUZnVm9MNDU0dmlCR3pMYVpuSGM3QVBiT3FFWEFDOWhxVFFTVENHdTBIMDltcnFyOVY1Tmh4OE4yQ1lrcUxzdHQ4dGk3R3pEZk5TL0JsRjJOZGgrTXNqUTUzZ3d1WndpQU5iUFpLUm5jTnB3QThlT1p0d01ReU9keXQ2MFlWeGZKN2ZiUmh5YnVrbmJXZXhlYXlQcTZCTjRPZE9OZnRpTU5NdVlCNStiOE0wM0pDVHFCSFNKUGpubkJaUUVuZmplVUdSSWFmemtaTTBjSXBHS0xuRU9yYnJJUHVOM0NBN2grYTl3M2dtL1owQjh4M0NzanQrVGMxNW16dGRScnpoV0YzcHN2ZWdldTVqU3NYTmxlZVFzdWdkZm1sL2QreStHZTNmL3BYLzhqNWZ1ZitpaGhUdlcvbkR1Z2M5OHB2K09YMytvZS9kSGVWNTg0dk9KUVprT0lueHU4Wk1pRUxQMko5WHZtTG8zMjFHU3Izd2VLTDcvOU5QZDRzQ0JmaHFQRjlIRlB0dlN0NVZxN3luVVBpQmUzbDJMM1orUVBweFM4ZUc2bCs2dHl1S0RWYWR6eDdnczMxbVY1Ykc2VXg3Z0YyeTdjMWt1a29pSFhBeGRMcFRFQlFNdUhOUjFGZ0oxNW5mYzJVUmNvRngwdEFubFAzR0FxdzNjNmxKR21uT2RaQ3NCN214VkVwUUxWTFhZbHNJOFdPNEJGekdYeG9UUjFqYVk0QVlMM0NValNDWkloZFo1QzBRVVFnQ0NLQStBYlJzZ0x1RkxnSUxsMi9YVWw0QUt0R21QcG4zMEVRUWU0QzVTd011cDk2UEEyTEFiOWp1cnArOVg2eUhLWjJXczRNMCtxTTh5ekVDZDdiU3hNTzRHVGwzQ2ZESnV4K1NpdjBKQXdyWFh3akd4N2RFKzBnU29GK1hnQys4UVUzQzh0T2dCWng5VFpBYVlwd3A4M3BNeXhnQjBnYjZFYmJCREJZUlBXMmNva1BoSko2VVNSU09aNS9PRmk5QVVjdXlPNjR5Y0RaYlpwNEV2QVpyeUNSektQZ1JtSXBsZDFPeUFSMVh4YTVsQkpiSlFKVjNoZWZHQlVaSGVOaXJMZDNPK3ZtK3JrejQwTHZXK2NTb2ZRT284VUpWMmR5NzhmU2p6N1ZWVjNXWjFmYmcvV04rN3NZSGx4Wlh4UEpZdURKNDc5RnpueEVjZTVnRFlmM3YvMUFpMGdmcXBJWm9vUEhYSEhkSUhpdjdXVnJlL3ZqNFlkWHlSSzJoZmNubWJRTjlqTGgva2d1Q1hhbjZmUUQ3c3FnOFE5M2hLSDZpTGRFZVYwanZyTWgzbEx2aUFsZVZ1SzR0RkszUm9tam9tcW13UHJpUENVZFVrNFNxTEdiaVFoTFNha0NUeHhKQ1dqY2dBekFsQW5IbUNTeFZCY29xRUpFVURwVlF0RUpBZ1lTZ2NYSVRPM1pLNUJPR2Iwd3hmR2xMY2xzYUZIYUJoaDdBSEFnSVF6Sk13eERNZFFWekNRb0lhZkkwQ3NKTzRXUTZJQ1B0bmxGUmRSQ1oxVHVKaFh4VFVjNFE5am9lT2NUaDJGYUt2SDRXWnp0VjFVZVpoLzFYNDYvTHNqUDJ6M2xoQlJML2VkRThYV01Na1dBTlFCYUtVVElpd1ROM0pkUTJZNHU1VitPWWhmblgvMUhLcXZ3YWcwYXZoNERBZEVldk14aUViTUUyYllEVzFtNXU5aWdqNFJFVWxhWUF6UUNjb0tKWGxRa2VqZmVhYmRhNUp3SnhBSEJQY2hhYm9NNTF4bnp4emx0Ryt3bGlXR1NzaTN2UTdOWFJRcVN5TUZidTVBejZZVmQrV2s5N09lZnErWE9oZG5NUDNadkVQbThvdnNlM2RQSWQrUDV1LzIxMXZBOUpoQWZZVk5sNFdWQXZhMS82NE0rNThmK2tDZzRmMmVnTVJhQVAxQm9JVUt0Ly8wejhsbGFFb2N1NXk4ZlZUTGhiaFBDdURIRFBISFNyNEFCSStKQVord1lFUHM4MEQwSFFQSis0SGlUdUpkL0VMa21NOGp6dGdSYkhiQys2QXRTQUJhNWZsbXRrZ0ZtWE5sVkZ6TVlXTWMwWnd3U2pKdHlBVVNuYmlsTGRRSmtJU3drVVdVRG9RdW5vMThiS2RNQTlLaU1KcHcyalR1RVM1ZUlYQUJCTnk0QUlXZ21XMDM5d0NrUUQ3amp6Yk5XUVIwcHcxQUdzYlJBb3VBT3NhUktsTWlGZUU1VXc3NnliOU9hS2Z5RHYxSmdBdjZzM3l0RFVwRjVyN0VaaldnL3BvcnFrT3l6R0ZUeVdjQ2szNmFvbG1uTVozdXNZWFJwZTFBSDBWUGxBUkJmakd3UUlBQWhBZW9KMUdBalE3NlJOUmZoV2FQSnM0UW9kZ2d2TUdnWGpPMGFkeCsrcE4rYVErMGs0YkNJaENWTkY4bWtrSmFiYnpiV1NKcEFVQVBrOEhhaEp2ekpsbUIyeHdtdVdMUkQyRExFeUhuckp2NFFjbmFXVHNnRE9rVXdzR3hFSXR1cEpGRHZBN0J4S3czRTc1UG9QZVphcjN1bkF6QVgrQUJ1OFdrZmRCOHUwS3VZMkdENHZyWGhGZnFXRUxqanhBdnlndmRrZEszZlorQXhHNE5vRjZBeDNkZ0NweTRzU0pkSHh0clRpeDF2d3QxZDZ2L3NadkRQL203Lzd1L1A5MjdiTzc0amVSLy9hblA3M25mL2Zaeis3L3RZY2VPclRuSGU4NE10L3JIWlg1K2FPMnVIaVUzeEFmczZMa2psWkpxbktNRS9VWUp6U0JZMXhneDJyM294bCtpRHVLZmFacDFaSXVXMHFMek04VEEwNzJub21XR1pvTVF0NldabUV3elhrdERlQmNSSVFRa1E0NUEwd2dnYWd6SU9vRDRncldUQkZwQlVRQTBHWURxZ0xzQzNES0NhSitrbWxJWUZKSUg2NHFZeExSRjZYUXpneVRNbUVwNzllMVErUWJYWVdJVWlIMDZBZnRSRCtOMjVGbURjRHlxekRMQTBvelA0d29iM1NhOXJPMm1BenFWVEhKVC8wQTdVK0E1Z29mUWlHazg2VlJvNDZJQUEzQWk3Wlp3V3JHZytYc3I2bWpYd2cwZXZTUDQzTklvdzlLQjYvUXBlQUFvcHRJVVlaT0pFUFNOblh4T3ZqVmVkckZySjladWRNTUVYYURiTUZBTmpMNkk0VDZNVTlBZlNkbTBsa1g0RHhsRXhIT3daaDdaUmJ0Y29QQU9hbnpXYkJrb3J1WjMwdnM1eFE3NkNLSGlTT3NPOW9BZXRUZ3gwVDBtQlRwbVBhN1I3dTl6dEZpV0J3cEIzYmt5R0VjK3RjLzg1bUQveWEvRi9sVnJxRy84ZnRydS84My84WGZYL3Fidi92MzVrOTg1aFA5NXJmRlhIczgxbVBnWEhBTFgzcXJqcDNrcTFmMjdTdFdnZDdHMXRad3NMNithekEzdCtvNUg1VGU2R2lkdXUrc1VieTNSdnFRbWoyQVR1ZVh0ZE41QVAzKy9hbGIzaWVkNG9OZWxyZDcyVG5xbmM2ZU9oVzdhcEg1c2FDLzVkWVp3Uk8vaGRZTTBWcFZNbmN4bWJzcTVzR3p0MjFrUG9BTTRZTGdYSlFFNFc1VnVMdlJrTEg0T0QvTnVKSGhlY0Zza1FuTEJQeEh5WVlJTm8wZEhJOUVtdlNrRElpeWhsaWl2ZE9HczR5SWhjdHV3MElERmRxYW9TbVJxS1l5YU5vUi9RZG9ndVVDb1YraUNxRnNDaHFiZ3FnUElQb3pNQzlOTlRDVkR1SE43cWs3TFlzOHdMRlA4NkViWllFbUhXTzhxaTdLWnBqcFlLWkR1VjBXYlppZjZVNGtlTWtFVGQzRVIyZEpnQUpRZFVRc1FCOUZHRDZPbjRPNmV2eFVnc2gwL0pTQUFBRzJZMk00cG5hWmlHZldnR213VDNFUjVYTnVBTjFPQzhzQVpjc0ErNlkrd3dodXpodGtQdi80VkJTN1hSNVJvZWF4US9qRUJxQVZKRTFJb2t5TFJKNnZESFk0RkxZQzlBbkNxU0h3cVRRb1RDZklvdURHb0VHdGdwcE5NK3NDbG9UbFVqQk5rc1pTTGRpWFJZNVlxYmRKV2R4ZWREcnZML3U5dXpwbDkrNU90M3NQejRqdkU3TjdhOVc3MU1idjh5Mi9IVlY1RzhhZEExY3VsU3RuWHZqbUVJY09kYjUwN2x4NS9NRUgwM1NpeEZCdU9lZ3ROK0xwU21mSnZBQUFFQUJKUkVGVWdNL2VlYWZNcmF5VVY4NmQ2eGZqOFZ3cWlsMmNZS3ZJY3FBR2pwRXkzK1ZxNzNXeHUwWDFseUR5eTY3eWdLUjB2NmQwSDRyMFFTL1M3YVk4MTAxcGp4VnBWNjFwYnV6b2p3M2xPSHN4QmxLdEt0UVJFMXFra1pvZncyc3VqUURYRkRsVFlKZ0F3c2ZCaGFSQndKUnNEcmpBTXhDTExSWXlEVkdiQ3czVWRRNkdpSElhUWtPNFhMWHVJSEVFbUpqa0VUcVRRb0JOMkhCeWl3aEVCTXErK1lydGkwcE5HN1puMzdPbW9EWWtkQU5RUko0R3hUTWRKZHlGdWhPQTQyd0c1MVJ6ZGtMQk1vQ3lLZm94TXVvRG9STVN6aGo4Q0RSMXRBRVJaNW9BTCtwQ0dvbXJwTEQ5QkN4bEdzMFZlazBDazhZQ0VVS1RJNGlZZWh4K0UzdkdBRTRsQitzbFFRaElqRitCME9kemhiQmRTSkRFT2ZaRzN4bnZKaEg5Q0VTVVVXTzBKWWxLQWFZZ29wQXBnUEJmM1duSFRiYjdEaUxPY1R4RjRtMEltTWRVRm9YME1Xd2tTVkRPbVVoSEx4eXJoQzJodlJnY0RXNzc3MkdiTUk3UjZMdWw1QUhPZnhLdGNna1FHcEJKdmtsck1wR0JxUzVsRXJBcERrUGs3VWpwZHE2Sjl5azNKSlIzcThpOUFJL2g0dWdDZGhmZGU2OUp1cDBEdlkyaE9NaXZFWmZyU29ib2REcTd1OTJpZis1Y1dudndRV0diblhyL1FuN3JMOVI2QnpmbXpsZTU4eTA3WmRtcnplWTQwM1p4cDdzcWFnYzRHNDV4QmI1VFJPN2tySTIvci9zQTB4OFd5QU1RL0pKd2NrSDBMbWg2dDZzZTlWVHN5WnAyOGR2a2VSSnJmK3plR1huc2dKRXFLbWRWeVZ3Y1dUbXBSVkF6Ymp5aW9CVHlGcEE1TTlrZlhCUWlDWnE0TUVuQ0lvcFlPR1lrMGxBeU5xUXVGeGVYTjcxeEFRbU9ZSDNvQkpoc3lxakh0aVJEVmpmbFVRRGFvd0tUN0l6R0JKTi9PcFdUWEZOSDI5SFlxUjc5QjlqTVFmODVKTVJDanpRZ05Jb0cxSjNJOExOQjFCRlFLa3drRFNBQXR2TnBlZVIvRkVJbkVIVWhmd2owRWFMc1ZpWTJtY2IyRmYwSmV4SDZSRFRsSVFPUm9YUldNVWtEZkdXZXIzR0xDRVFra29nM3RSaTdVWWxoWkptd1RpRjhsc0puQlcxSUZ5d0FJRFJJWCtpWEV5QVJ1N0ZvaW5odWJBbGx1MFJNQ0ROQm1CWWtVQiswdzdBTG9pL2pVellEQXBuUFB4Qm52WFZkb3lZUmgxL2dwYUpJbkYrTlRVbTBydzBFQ2tBUXZuZ3pWcVpwMDZOTW1DYU1iUU9aN1JzU1pqNnJjRGtFT0YrYnRNSlVFc3ViSGJDSjdDV091T3JiUmVSMlRmbys0WHFRSkI4UzFYdFlkaCs3dVZlQUQ0cnJlOW5UN1hEY3h2RWZnR0NsTEdVSTNlaHNwVlRNRllVKzlkUlRWTVV0ZWNVVHVpVUhIb1B1aUtoME9xbVFiaUVsT2k0eUZNTWlGODB5ZVdlVmsyYXZBL3ZoZnBENjhiZDFEN0pKQTJqYUI1NlZ1YWJGTERva2VnYnRjTE5hMW81a3JNd1FtaU5FNGFya3hZQlFFdjVxMmpGSmgyUXpkcFVBSVZpT2dBdGRFQUNCZUdUS2xBSjhCZXZnQUgwR0RhTkpjN1VGY1lBeXdQMG9tb3Q2d2piU1pEQk5TU092ZnNYVVpraWZwcDF0SXo5cEpSVEtkc3IrbUdhS0JVMDYvQWpkYmN6cUtKMElQUWRWdDhHeFRjdlJTRFNYTXowRG1HNzZibnhoZnlGWjF0UlAwNkhUNUZuZXBIM2FCeVdhaSswYStkcVhwclI1WWJrd0VXaHNUTnV6bUl6WWtPREVGSFdhZW80OUpKOHRLUDBxUkQ3OGpSaUVuRDJYSmsxL2xSRHFTeU9WWEtWQTVKdG5QVWszdWl5TE9UR3ozWkF5MjVDTEovNHdIWHJDZG8wOTZqZHlXZzVlM3FRandUaEhtam9UZThxbUNoSXA4VnJKdVl4QTFEbkg1NHdKUWJlbFpOc2VyYzA1d0MraGZSbXF1MEZDRnBIOUFod2tEZ0hDTCtma2tFRDJNNHA3YUdOWm9JdjhibVFld01CeTJkM2NLanExWGlsNktXbDhHbVg1TFhuSDA3NGxCeDZETHJhMm5EdFI0eVRLQ1lXQnV4RGoyN21xRm5BdE9IblZ1VHdJemgzT3lZWkwxVlFUbTVBZ1JjRzZaakhFTGlVV2lMdlNkSlNIcEE1Q010K1VKK3BIR1RFaFdBSDdkT29FRUpKNjdKZTh5UVhEZkpTQi9RZ3hTUXRFaEgzTXdDbnV6UExtbXdhQ2VKM08rRFlUZ3ZxWVdXcWt1RkFLUndZMDd4QVFJR0I4WVIyZFJQaUFTWnFWa3pFd1R5NFhHTXVkZlFaQVM2RFByS01qTWdWRjFJZTVtV1E2K25ES2JZUWRYSzByVGIvT2NuaVVSMzRtSS8xYWdIb2U5a0lHNkgrMGJjQnlPSTNIVGVsRWs5K1drWWhLVUZNZ0VwaWxBUllBRUlEd3NFMkpxWFNtSitCempUNGpCZ0hXaDM3b2JVc0hCeUNNY3dDTmhGRm1BQ1lOaERJQTdwZ0pWa1M4T1VmQ1pqeDN6aFVQeVhuWFNPYkJ2SXRRZHhLVDZOT05lZHAyOXVueHdqU2FOSFdvT2JscG0yM0J0bzRvVnhqbE5uZ3NNU21QdWtDMG9sM3FOS2xJTWgxQ1JCQVRRbVFxbmR0bDU0UUdDcUdrQ3dvZVNSRVozcXdmdXFYaWxSUWRIUmVvK3VtaWNtY1NobjlPN1BSbXV0TUg4SXY0djlIdGVzZmRlS2JMMHpXeHNDV0lWVUR5RlN1Wm44VEhoY2Rld28ydG12Q2NUNkpha2dDY1RDemhSMEd4ekptV09SK2pPUXBIQTM0OHhSUnNoMEJNMG1nSDRSeU4rVWxBbTY3Y21YYmhnbEQzeGc3NW53dWk2YS9wVXlGVFhZZ0F1QXJza1kxSVlLUmhKcHhnaGhxMEJMQ1ZRQVhNQXdxRW8wekxCQWJoNklXTHBDRUUwSWNHMUJRQ3JLYW1VQUtnR3V1ZGlIVG9DY3NDa2FjYkNDS0llbWZHV1RjcDU5Z0ErQStCOXFnejBZMTY1bm1VNEFSbU1mZ3gwbG51eHFFRW5KSjJRRGg0OGNVajdiUkpnQjNNWXNJUzFsQ251UVZOWmhiUG1ad1VidnNiQ1dlWmM5enNqbG42R2ZrQUt6ekFXRkZNNnFnbk14ajdNSFpEeVRoRE1vQnBHaXhIdU02eGdHV0lOclNEaGlSSndzSTM3V25hcjVMT2NsRFBDVXB2d0ZmR2c3YlJnRDZoeWMvc002WlVhUngzQ04zak14Rm1DWU5nRzV4ei9NVEc2VGlaZjJBZWJDdlVBU0VDWHMzTFJMcExYRUMwUWlJcEY2d29xQkhGTHVDSVJiSndpVmdkQTYwS1V5MmtybE5YUk45MStyUlEvNWE4WXkzZWtnTmZPcjNmeTYyZTEveEUxTlVpcDVJNzRKUWdHck10eUZkakVwRUpPWjNnUWRDWmM0VkluR1dobHhnM1RtQnc0cHFBQ2pCT05mY29pN0QrTUJ3c2s2aVB0a1N6aUNoWkhuVmNGREJPOUpDYzA0Z3lzSTVPb2NIc3ZKRjlzZ0FJNlFBVjRZMmNrSzl4MVRsM3dWRWhyQTVNeUZkb2JRSmhXeTRJcmdhbS9GV0FhVHFCQnBIbWVLSUYyREw4YWNiSHZweDFBZEJPQStvMWJadHlOUDQwOVpHZjZqamxOcHc2SUdaeVZpY3k1VWtCcTJpSGtvbXc5VnF3TGR1Z3NjK1lobXpBOHBDczgyazdkc1BDNWhVczJrNExpNFF2UWwxcDB2SGFKUGd5VTRzeStrQ2RzR2VOWkg3V1J4TVg1a042VlBJWlU0RDFEVGczNElDRU5BQ1pvSlNRQkorQk43R09lc1pRQ0FSb0R3SE9GM0NlT0hlL0Uwbjd6SVBsSHZWOGdxQjlQbklhRnArbG03eXhDTE40Y2p6aFUvakd0azE3WnlYekZoQkJTQlkxY3BhT3ZEZG1CT0RjRk9vMkVHWWpQWk1PWVpMT09YY21VcWdIRWJPbzhRalpvZGxjbmN1TEhhVmtvc1ZtSjZjTnVhUVhEaHhnVTl5U0Z3TjJTNDRiZjNIZ0JiZE9QeWREblZOVkdXUkxQSzB6R3BjQmZVV0FjdzZjb1h5QjhqbktaK0Y0SG9MVEl2S2lRRmduTDdQc0FtZnNSY29yblA2YlRGZGl6dmQ2YXZnRUNNa0ZKcFJOT2lRTmdZWUR6alJiTkdTRHFDT2lqTDVzbDgzcTNXTWhUUUNtd2NVa2hQS1RYRWdSOWdsaDB4bkFYS1FwUTU4SUcwM2JhVHJ5emo0eFE5TkNBYndld3JJSnZHbkw5RlZ0d0haZ0c2RS9RZ2tJUEVBZEIzMk9OTUVrbkg2Q2FTZG1NdEx1MHpZc2ozVFVVUmsvZEZFdnlwczJyQXlKYUVPRWhJT1hFT3lYdWg3bGxKTnlGanNSOTB3eTdVeS9pbWc3QStQQU1TRkFPMDRZYlUwd3RlOVR5VHF3RGlFSllSeDBDaUd4U3BSRlBmWFJTR0ZEZ3VVZ2ZBcFExOWx1bG05azAzK2lXdmlUcUVrNTFRbGJQclVuckFsUWNacUtuQURNd2NIK2VEZVNzVzdrcEl5dnpTMHNDM0R5ZWN4bGtxbXBlZVp1cEJiQm1KWkc2ckloN3Bkbzd4enpMN0hKYVZvN0RjanpwUHpuQVp4bUdkZUpub0Z6blppOW9pS1h1VEhZTk5VS2xlWVNmUnY0Z2kyZERsVzJ1QVh2ZUlLMzRMQ0IxVHZ1OEc3Rjc4dHFqSDFVYmlyMEV1ZllXUWVlYy9oM09abWY1bVQ3dWtPK0tpSmZkc2VYaU1lNHpYM2NjdjZhbXozcGxyOE5zKzl4Ly9Wc2NudUpFKzhWZGR0VVE2M2NnUWJrS3RtazNUbXBEY0l0czVnRE16alREZmc0bUFUUlpDbko1MVF6R0cxbHRwdkFxU0lRTHNxVUNpUkN1V2xubnU0bUNBa1pMaUtJUjB3NGwwY0R3Tm1udlFaUlJyQWVvRTIyRWRxVmJabFlHVFk0VXVvNFFkdnd4amZBbUhjQ29ROFI1VzR0d0pTQUhsQ05Pa0JJUUFBb1g3V1JhT3JwRzRSNXdpTkJHV0lHNm1DV25za28reUZkOEdKYnB3aTltWXhzNUdlZ3I4NTArTXhZU093V2pidFJIaU9CZWN3a3FDZjBOY2Fpa3JoZGpFN3BxM01zQVp0SVBoYUVyZEFQNld3RFFweVV3emhHMjRrTlphOFROUFhNd1NjMjRVcGpzZzJmMmcvYkZtbUN1cENadmZDSEFDWnRuRklDckJlaTZaUDFUYjk4SGxFVzlYQWducjF6SHRGcHprVmFZSmtHMkJIbkxwU2RLeWNkTnllZUhKbHB3cXJrdnNYRHRTdjhhSGlSNlplSlp4bTg3ekJtWDZkOG5DYStEUGdYSWZKbnhLUEVWeDMyRlBGZDluV0tVLzhGZHY1eUFpNmlMRGU2VmJWMU1lZjZMdzRjWUZQY2toZWYraTA1YnR6NTlOT094VXU1bElWUjF2NW1HdmxsVHJpem5KSFBRdEozUmZCTmMzbVM4Z25MOXBpTGY4bHovb3JsL0ZXdjZpZUlKN2wzL3BaYS9uNXllNWFUNmtWTzNBdHF2c0d5ckptbkZWdzlTc2dVVFpvVFg5eHBqa3ZCT08rY1lEMmFkRHdMNWtNRW1LUXF6RXdzbTVCNHlkdnV0VG5udlBPaVVpdzJIcDJrSUdCS25aRXdWSVIxSUJ3a2pZQnplUmhnVGcrTVM4SkNCcGlPTWk0OTZwTVMwaFRLVnNwT2RGdkNKZkwwbXFObG1nbFlZNVBGMUJKSjdEbUo4cCtJc2pCSUcrd2dFRzBKQ2JBdUpDakJQT0VFQXBGNFBacUtxSndpNnBza2VFM2FJL0wwQ2RMUUNUV3VsdUpvcnVpUENEMldCUGs2WXp1RDFTWU5NZ05pTk9qQ1VjUm9WSVJqdzVRb20zYXo5cVJtcDdwVDhoT1FOR0JHbXBZSkRRbXlyUkpSQmtqekQ3T3hzdzlRbnpmakpFVEVDakFIb3ArSXIvTVQxS1NkUWxQQmovS0ZTeHhKc2EySG4rWUNvNHVTbXJwR0ovUWdvcEFHNGhEYWlIbmpiRU00b2hNeGh3YVk1Vk1GMXdIaFNOUVFUajQxcS9rVXg4eHZKclAxMHYxU0VweGwyYk5TKzNkUWpaKzBPaitPWEQrR1RBSjJmSUhPZkpIR3Y4cW9mWU5tdnlPcXA0eTdZaEx2eTZtdUwvSHNkLzFpU3FNMEd0WEhxWWhiOU5KYmROeFlXMXZ6TzRFYUR4d2FYeHBzYmw2NU1uZHBZMWljclFlRFo2c1MzNjNyNHVtaXdOZHI1SzhXNkh3WnVmcHliYVBIOHZyNlY2dk5qYS9aNXVZM3ZLcStyZG0vVjdnL3c4bjVVdUVnQWRzR0oyMG1zRTNDMlRqQkRWSDJHamlYTFZjWEtSQUJ1SU1MY2Z1Uk5Ga3pjUzRPYTJESVJ0QmV6azVWY2VIU1VwSnVTaVZTa0hEc2RnSXNSd0R4aUxsVVhHaGVRQzk4WWcrWTJIVEtTTE5iZGc5WENOdE5rRmlpckppQ05nQXVVY3J3clVtYjBDNElhZlNpWFVNNE14L0ErZ2JVb1lZempmQkpoTG13TzZsSFUvN2FOQnFkMFBzeGVFMDkyQUgxUkJ6MGo3bEpQaEpObm5YMEhRZzVnYlBjbldvV2NCaGp1cjBUWmhxc0Uvb3FISXN5eG1CY3dQWk5HOVo1dElzbkZ6THlZWS8xb1NPSXNTbEVFalJBRzhKUEpVb2JrN3FKRDRCQytBOEJDMlAwSmV4WVNJQ1BIZEZQSTFrT2txNDA5aEtrYWFzQVV4NTFsQ0tLNk9OVkpEVFBReFFBNHh0K2Ntd3hCOEs0MExBR1dCNHl5SmRQR0FsdzVya0RkaDdUR2VHVEhUQndoZCtXWEN3TkwzTzMvS3prNmp0ZWo3K2VON2Nlcit2Nnk3RHFpNEw4WjFLV2o2SW92bHFwUGpWVy9ZSklWNEVBQUJBQVNVUkJWRTVoZHFyWTJIaEJSRjdlR28wdUxsMjRzREdlbXh2ZHY3SlN4VnJFTFhyRlU3bEZodzduZzdlSFAvS1IvTWphV3YwbmYvRHgwYi80emQ5Yy81T1BmL3pTUC8va0o4Ly95VC84K05sLzlwLytweS85ODA5ODRvWC83eWYvOXZOYUZNK09ybHg1ZHF2YVBHV2JWMDVWV3hzbnBhcFA4bDMvRkN5ZklnbWZWTGRURE9ncFRzeG4xUHhaTVg5ZXM3MG9abWVZNTRTMVY1TEZUdHMzcU10ek5LdkVQYXR6c3J1VEhtWUFWeUo0T1lIZ2dTbUVlVUt1QWhjVkNMOGFMbHhiUWJvYWhNdTJRdWdFSkZqMk1rbGpXc2EyWVlOZU1FWGJMTWMyaEE2d1BXMkNpSDVDQnVneUluODFFTzFpc1Fkb3pRRk1pSjRKdHVjckVQNDNlZ0pnZ3JCRlk1aGNMSXVHZ1VrQlgxazIxY1ZNTnZVc0R6bXpQWlhlU05iTmRDbWRBTXViT2twcG9JejExUUFkRHJBdFl5WDBVMGxISVdmWXRnRmV0QUVIbkFnWmNKWjU1S08vQmtwRjJtdlNsTTM0S1pzODIxSTZRU1hlRWV0SldkakN6SmF6S25TWUQ3OFJhZnIycXB6MndYb25vbDNBUXkveWxOR3VRYVROblhNeTVsN0YrVGRLMlRjNU42K28rMFdTOEhuV25XVTZQdFh4VEJmUGNBNmZFZ2ZudUo5U3dja0VQNWx5ZlVxem5mU3QrcVJ2WEQ1Wlg3eDRhdjN5NVZQUFhycjBETmZSYy8vOEU1OTRnV3ZxelAvOEQvL2h1Zi9QMnRvci8rejNmdS95ZjcrMnR2RW5mL0FIb3ovNm96K3FIbGxicTJNTklvYkxsMXZ4anFkMks0NzdaeDd6bVc3WE9zQ1lBZHZJS1YwVUxjNXhmYjRJNkRQRTk3Z0N2dzJUSitGNEhHTDgrSVZIQlhoTTRVOXdJaitaUEg4N3VmMkE4blRoK1Z6cGRxazAyK3k0and0U0ZDYzBDamFtRHFuTG9DRGNYMTJxVEttU0NsUWxjV3NlZ0NTWUF6eVNRTVZkY1ZVN0FqVjNPRFhQTkdzRHpHakpFOTBqU0NSQUVrZ0pTQUc1Q21FTHl0SFJKb1FTQWdTY2tuM1FOZDVjcXN3Nzg5N0lxSnVDdXQ2QWZmcFZhSHh3T0IxMVp3WGJDZldVNElKR2M3RjRXekk5MFlzRU1FbXp0bWtiWlJPOHRqenFBeElOK0o1R1NmdlVaSHVoMzFNNDJDWHI2QVA0OEFRSnl2RW1MWkFZaThTME1sWWFkUUVUTmxCaUtxRUE3UW9sUzlpWEVKaGN6aVI5REw4bUFNaHhWd0gwNVZWTUd2R1Y3Zmc2dldrUExyd2dUUkx4eXJxcFlDempxQ1RlMENLZU5FNDFoY29FQUorMXVjUk9Qbk0rRUUwNjlQbkJpWjFUZytZVDlVcEpWa0RIaFdHRHU5bExoZm01MHZ5Rk10c3poZGwzazlrM1V6YWU3ZUp4QnZTTEtoTEhDanpqeFZkbzZBbDNld3FPN3pGY3o0dmFlWTcxQ2sxdmFiOWY3UUVuTDcxdTc1OGVBZjNwS3ExR1JPQzJwU1ViTFN5TVNtQkRnRXRGNWVkTWloYzgxYytDNThBRy81WjRmaExadnFyd1I5VXlVVDlHK1VUaE5Rbll2c1VKL29NU3VTSGd3dkxsd20yamdJMHB1UmdNaWZPV2Jia1RObjZRSmpqRDJSZTR5c0FGZ0NCZ1RRbEZTcUthSkM0WGRSS3dWOWs5L2xCTGtDL1REU2xuRTdxak1DTm8zWVBpcGVCd29tMGhrRFNGaWtBRkRaaDBDQkF1a0h2b2pUY1FzaWpnenFvQUtJbFFuWUZ0bXZyUU1RZjdEVGpsQkc1b0xxSFBEU0RSQVY5WjdHd3dBemp3UUpObmdwSTNiVWQ2Z2tZalh0Z3NSQ0IwRUw2NWt6TUlvM21md0pxMDBzYUVqQUZsdjBGY0JaS1dYcVRTRStPampKTXdYc0xZTlVSTUtVSEdvVS9ia1lZTGpRcWRub0xsOElsZjdzNCtIQmFTUVlpOHphb1lVaWRBaEdTVGFFWjltdUlkZVNCcytzVEpTRExmaUNpaVF0aHpQbGpQSEIvaUVvZ2tpQ1ptMkl5ZDVaeUZjMEZJd01qMElRaTVpVDF0VUR0R0dDMjhjT0ZwR3phTGJKZTVFVGhING4yeHFPMlpJdWZ2bGpVSjJPenJtdjF4dUgyUnczblVvVjhTNkZjZzZRbEF2K0hxMzlQTStWelg1MDNraXZUN20rWG1aclg2MUZQMEZPMzFCaUtnYjBDblZXRUVIajV4d2c0ZE9qUyt2SC8vK3VMeThzWDFzajdYSFhWZkhPWE1vNFllZDhEZGJ4V2F2dDcxL0xqVytZdWwxWStXVmYxWXQ2cWU2RlQxazcxY2ZhdHI5UTg2WnFlN2J1YzZzUU9HYlpST0F1WU1MN2dVVXdPRElzRHB6anpYS2lUK2lVQlZrYWE3MzVBaTFIUWdad2NYSENxRDEwMGFxRE80K0tTQnVjSkpMODZsQjVJTXBqdGdDTW1ZRUFLYUFDNUxzUGVBUTRDQWcyMEprMGJTSmQ2ejlGU25hUk5sUXM4eEFkc0ZDUVZpdDJibWsvWU5kUWt0QzgxelI4MFVEU0xBSmdEclE5RW5tVW1qU0VmQjZ4RFphSGMxb3N4Sk5DQ2N0Z00yUzFOR09SaVBnREFlU1FwUHpRNjRCQ1U1SmZIdFJpRlRFaGJxVGlEWWx0UHhTbU9QcnZzRW1NcG16QjZ1T3l5cW1JNnlBRlZDRGFCdmlJZUx1SHhhRnVtQWdIVUFCQ0xneFplbUlmVm9NR0laQVBzWEVjUzhFRkVBRXFGcjVrUE94bjJCTjJBU013Sld0a24wdjJoMndESXVURFk2amt0bDdlYzd0Yi9ZemZtWi9xaitibTljZmJNL3NqOGZqUFBqbXVXTERNeWpVbTE5dVV6K0ZhL2tpV3FzVDQzTnZsZmwvUHptWUhEK0lzK0dTYjZicTA4OVZUMzg4TVAwRXUzMUJpS2diMENuVllrSWNMSEVlZkhqSC90WTlTY2YvL2pvY1o1bFBiTDJkNjQ4L3ZmLy9zWC8zei80VHk3ODZ2cExMKys5ZlBhbHhZMEx6eSt1WDNpbU8xNC9PUmlQVC9aemZiSnJXeWRMeXp3bnJrNlJjRThtOTVPRkVQQlRJaFpmNEQyajdzOFJMNHI1V2JGOFFjMHVpZnU2T3JaSXpGV0MxRWtrODRHWlNyUDBZMmszaU1VWWNQTm1vVGtYSWp4SWx3dVhpODJ2QXBoR0xGWkpIRldBaTViNlR2MVkwTkUyMEtROXpBdGZDR3BIV1VCYzJJS2VoQzJtUklTMTdJL3BxQ2ZmNEZYUVB2V3BRRHQ4amJReFNkdTRHcXlTeUZNMjVTRi9HbWI2MjNyaHh3UWV2aEFlL1lXYyt1cVVVVGFwbjR4QitPWWt6ZmlWbWtybkZCTHRtakw2Yit5QWIwQ0lNcmFYYlVpakg2OEJNQmM2VFZ2UVRNQUJtOEpua3VXTlNVb1dvUUZmZUxQazFWdWFwSVJWTkNGbW5uUGlWWU0welBtQ2dFYWFqMThJemhramFocmVZdDBWbUwxQ25PTkRPU1BBQ3lwNFRvRm5FdVFVNXhibnBad3NZMDZhbnl5em4rUW00VlNucWs1eTQzQ3FzN0grek9LRjZwbkRLeXZQL3JWWFhubnVmL21QLytQVC8rb1RIM3ZoQzcvNXQ4ODgrc2xQbnYrejMvcXR5NVNiVDYrdGpSOVpXNnRKdnBsdXZuNG9MR3J2SHhVQlBvY2ZWZHlXL2F3UldQdlVwL3dzbDBhOXZKd0xjQU5hVlNOMGZGMmdGNkY2VHBEanZQaVV3NzREK0RjQVBPR1FyM0RCOEdNZHo0dmR2OFN0eTlmRTZtL3lZOTMzZUhUeExJOG1YaXJoRjBwZ3ZSU01Dck1xNVp5Ymc5NnFCcmUzRUc1dlNOeWtCQVFrZGtPRktwSXF1MVdJQ1BnQ2dKSmdud2dpYUFCNjRxK0NIOU1SY0M2aGtBalNzYVlSbGFLOXNvV3lZQXFoVkg2UWxRU0pOQVFlTUtvN1ZZT3dBcXdEZEZLWFhjTDI1TTNDR2o2aEppVDBJdUdSRUZwaHhpZENtSnlCU2FBcG5wWlFYWnE4QW8wVVlDWlpGMmxuM3pNWkpwMytSSm14dm9HQjQ2YnZOZ0VhZmZyTCt0ZzVocjhCZC9DU0JrSWJNaDIzVWlyekRacGZLU2hrWm9NcG42THB5NEZNMk5WbzZzSDRBSFNsZVQ1Tmh1VUtJUEVaTXNKSVRKTllHU3RIQkZFNEZkQ2dqanlQRk13NFYzSkhoZEF0Zm1meENqOVp2YWhtcHlUYnR5bWZGTGZIMmNtanRQOEZkK0hjazYrd1Y4NUZQQ25BdDhYOSt3QTNBMG5PSk5RWFRVc2VrNTJ2NDJlYmEreS92YTl0Qk9MNVhsdUx0Nm8xTGhKKy9QTE44K2R6RDZqbmdYRzF1Ym5oUmI2VXpjNG4xUmRGN1pScjhSZENBcWI2RTI3Mk9CZlNseWtmNVpsZUVQQVR5UGxwMVBYM3RLcWZTem1mS2MwdmNDR3RkK0FqRW5LbDJUS1BPSng2THBuTE9HZWhEWm8yVW9DZ1dhdzhUa2dwTWEyUXBwUkxDd0ZNTHBrdVkrZFNJNEpjWHQxQk84bklRWDhhSW5EV2M4R3lENUVnU1duc3hHdEFTVFBSUjNLUjVBandBN3hCM1BpWjFWM1luMkR5VDlrWlIrNkFaWk9BRzZ1Wkp4a3dFYmNBYkNQT0pnRVdDWk53SmdJVVRaNHk3a2xhcG0wbUVtdy9nOU03TkdDL2xKSGZCdlhDUHpQQkJEVERNalM3M3ZBMUlQQ21IdFJoVE1JSDZrakVkQXFsREFoSmVCdDhVMElnNHVFaVppRDR4c01PSittcjhud1dyR2FOeFBFdW5IM3dSa0E0U0lWQVJmZ3NCUW93dWg1Z2RNMkZVVzRNY3g3dzBOY1R2d2NvNGJrclduZEZ0anFDVi9pbS9WTEtkbEp6L1JkUzV5ZTFzc2ZWN1ZIaXp6aXFMOEhsTVhGL2dnYWZsSXh2QS9JRGp2bzVHZWV6dWJCWGNocHR4SHlPRFFZKzlTa0hmVUY3WGJNSTZEV3oxQnJ5aDNuMjljaW5QcFhqOThXOU8rNFlYZVo1Y2VwMkw2Nlc1YmxSdC9zaXY2UTRsZFMrVTNiU2t6ckdFNUw5SzFibEx4WDErTkZpYS9OTGFiVDFOZG5ZL0tac2JYMC9qVWZQbFRtL3hMUGlDMTFnbmVkMG8yVGVFUENyTytBY0s1bmd1bUQ4RXhkSElpRWtWU1JOMEFETG1rVWpWQUJmdU9EZEFkNEVsNTR4UFFYSmdVVHphdDVaRG1lYkFOdUtRNFJwSVJVMEVHVkJJRFVTNE5MMWFEK1ZhSWdlb0g0RHRtMzZObisxSCtxRDdXYVExNmRaTDBCVDJ2aUN1TFpMbUptbGhUcHlWVjZidExQVXAvMDdZeEZwWTVteHpEejhsS2t2QWlmWk9zc1FKTXo2U0p2SGVHYitUdXdMNitSMVkxZm1yMGJvQUxUWkFERGFOZG95QUxFRHpwUTJMV014NjhIaDhYbXczS09BYUhyalM2TGZpYklaa1ZDTkNpUmVTTTROK0lZTnRVd09OU3M0RzJJSDNGUGQ2amt1ZHMxZjdJekhwOUtvK25ZYWpiNkJyZkZYZFdQcmkybFVmMEZIVzEreWJGOWgyeWZLamo5WnFYNjd5UG9EMjB6UGozbzRzN0d4OGNxRnBhV05tTThROFFaMGt5NjI5eldLUUR6VGEyU3FOY01JTkpNMGZ0dDQ5WG54dzUvODVPWWpmK2Z2WFBuVGozM3M0di84ZC8vdXVYL3h0Ly8ybWI5ODZhVVg1bjlRUDkrOWN1NjU0dkw1VTdLNWRWSzJxcE1rM3BOYWpXUEhjbExkVHFyNXFRSTRHV2QxeWV4WnNmd2NtZUo1THI0WEpkdFoxcDluM1VYdVA5Y1RzRW1NQytGWnNjQzRiaDBDQnhlc0I1cGtVRUFVT1pjU0paMXVibVpaRFNFcDRHbzA2Z0xNSkEwMk9rRkNNejBhY0taZlJSUVFvWXNFa1JrNDNXWjZ0T2ZUUGpHVkVqS2F6ZkQ2ZkpTL3BveCtSUmxtTWpLUnZocnNrL1ZPZjUzRTJzaElUMkhoandrYXlUSk0vUTBKNXAzMXN6Y21ZOTlObWhJc2Z4WFJ4eFRSQnhGdEE5djk4V0VZN1ZuNE1rMzdOTjNJU05OOWQvQng4YmxFZ2trSk9IaW1LN1c2akpMN0JuRlp6RjlSczNOaStZeGFmb0h5ZWM2WDV4THNtYVRDN3hqUW9JU2ZURmFmTE1iMXliUTFPbGxzams3cStOTEo0YVgxVSttNUs4OVdnL0h6L3d2bllzekpSMzdqWXkvL0Qvdys0MC9XUG43cFgvem1iNjQvc3JhMjlUaS84NGo1VE5mYSswMklnTDRKTmx1VGJ5QUNhOVE1TStvYVJSMXcyZHJTR2hjZDZZeTRQTXYxL1QydXdXOEs1TStaZmt5QUx6bDRabWQ0VExsejVsN3BhOG50bXduK3ZlVCtIRW42SmNvTHpNZVA2YmxRTGF0Wmh0VnVQRTh3cTJHUnRTem0xaXh5cm0wdWV6UlF2aXFKb1pHUkRyQmorZ0l4NmpoQ0haRVA0aEhtNlI5dEFwWUo2dEFzN2RKVHRuT1NqYmp3U2tqeEt3TkNKQUVCVUNmZ2xGTlFGMkYzaGlZZk9nM0FpN3A4alZ2WU42YTRPbzNHRmpXbTBpa2IwSmR0U1h2aFc4Q2kzSVREVTBRZXJnSithcER3bFJLaUNCamJUTWpYT1Y1SC9NS2dBUXZObldPbTZ6NEJpNWlYQ1dnZkFZN1ppYkFWMGxqbWhQRzhPS1N6SHhlMllUODB4N1poMDkxNUxrVG5zcmdGUmdsMlNkM1BKZmpwZ3NSS3IvOUNIZDlnL1JNd2Z3eXdMd0Y0Vk15L0FQaVhhTzVyTHZnV1IzR1MrUmU4a0hORnlwYzdsWTlHRjBmNTBPS2hQUC9DQzk0Y0xiQmhlMS8vQ1BEWlhQOU8yeDRaZ1U5OXltKzdzR1NYVCsvUC9YUExsV3owTit0Ky9Zb25mYW4yL0t3QTN5V2hmdE1sZHE0QkFBQVFBRWxFUVZUYy9seEVIblB6TDRubkwzUG4rNWhZL1pWay9rVGgvblJoK0c3cGVMYUV2Y1JGZVo1dHJpaHN4SVZLWXM4R001cW80WjVmaFhFOXUzSGRtbkNST3UyN3FMcksxVWlUY2xJdUFpN05QMlFXdXd0M3hFSmVwdzBYZm95ZHdMekp1OU9xQ1cwbktJbEhwV2lrTUMxUUlFQVRnSkFYaE5ZRmlEUWhVMHp5WUQxdjZ0SW1FNU04MktLQlkxSkc4ZW90MDJSSWdkT2VSM3YyR1drTDZjcHlnbktTRjZFT0IwamZ3a2VlbjB2aVd4clRIdTBaRjJPZjVnQ1BXN2ZCeUdLMkkyWjdXUFJER1BXTTBpZHQ0U1JZRUs2a3pvbDBwdG1FUGtRKzBQZ2xjSHB2M2hBd0dHTnpNKzUrd2QwdlJ2VHVNcC81eTN6R3B3dTNrM3plZjBINVZETC9hckw4bUJxK3lJRThLdkhIY0tCZmhOblhrUDFibnRJUGFPWUZ6cE56T1k4dXIxL0pvL0h0dy9vc25yYmowWXRFck5oeGUxLzNDUENaWHZjKzJ3NGpBbHp6RDMvK2hEMSs0SVY4LzhyNXFoeHNidmFyNnVKV0QyZDhNejNySS8yZWo3bkRMYXMvTDhyT1kzbGtYMHBWL1dVZGpSNUxtNk92bEZYMXRVNmRuK1laOGZkNnNHYzc4Q0RnQzF5VVYvakZ5MWljTEd0RzFxMjVrNnJkWmp0Z043Q2dRZU1HVjN3c3Y1Z0lTc0pvUUVKb0pFbUVyQVR1d2dDbUE1RVBDYllMMEJ6WE9jQ2VFR2sza2tqbzBwYVFWSVFrcHR4Uk5tQmFhQnZUK3BBQ1FTTlo5cXJ0S0VOVGpxakhWUmZKRU94YkNEQ0dUVTJrWDROb1QyQUNoN0lKL1FwSjBvMjhzYitRQVl0eUF1RWZTUkwwVnhvWmhKbmNxV3NPY2htOEllRHMzQVVUTE9RTlo5MUVDb3k2UGdPaVh3VzJiVEVmdTE2aEZLRlBJWW5RYS9JY3NqdmNLTTNZTDYxNXZITWEzekZ0cEdieFIzQmU1ak0vM2VHWFphWFpYM1JRZjRQNGFsbFhYKzdhNkVzcFY0OWF6bi9HNCtFdm9zRFhTdFRmcXNyeTVGWi8vUVdyaTNNWHozVXVMOCt0ang1LzRZWDh5S2MrbGRmVzFwd3hERkMwOS9XT2dGN3ZEdHYrcm9wQUVNamFtbkVSMkNOcmF6V3g5WFdldlQzK3UzLy80cU5ybnp6L3IvN2h4OC95N1BqRi8ray8vRCtjM2h4V3orcWxqV2VINC9WVG5kSFdxWUlveFU1MjNIaytqSk9GZzlKUHFrd2dicy9BOC9OY3lxZmQvU1V5dzhzQ3U2QnVsd1crb1lnZGxWWEtCUjRVd3p4cEFCUDRSQXBkNVVkY1NPVE4wYVNiTW1IWkJHUVJkc0ZDNm5pQVNaQ0FNQ1cvVnlWNzhDbWlsNWxPeUtaY2FHY0t4TVYwaUt0Qit3ak15aUlkN1p0ODZBdDdGZVk0UXFhY2RRMGl2UTNseGxKcFJpbERUNXMwUjdjdFFmOG1lUUdtWk1rRTBOaWdtK3pYQ1RaZ0JyeUVOZEtrSlNvWUsweGx4RzZpSjQzT1ZhOHg2c3lJVkR6NDRPNVdOZ1c0VEdNWDJEYit6dlJMTkhpYWVJNDJUdEhUazlROVJmQTVnN3ZmZktvamxPWW5PNlB4cVY2MWNhcFkzemhWWGhxZHV2aU4wVE9QZlB6ZmZlNlJ2L08zWG94ejNhOTk0bSs5OHUzZitxM0xqNjk5Yk9PN2YvRHhFZWRaamJVMVE4dy9kc0ErMi9zdGlvQytSZjIyM2Y2TUVZaXp1czZWdXJKUkhuVUxYKytnODRyVStTelhFQmVvZlkrTStDM3VWSi9rWW4wY2tDK3kvRkZ4ZjR4YjA2K3A1U2NUOHJjSzJBLzR3WnE3SjV3cjRaZEtZS053cTVMREVyZGRKR09TclA5b0FLUWxJRUVtRUdGK0F2YUo1aUxoQmRrNE04RS9OQWt6MElXQWsxZWlRb0RRaTlaQlFaU2dUVFJwMWpWcHlzYkk2MlRVWVhaRlhXT0lRNWNHYU5xd2ZpWWJmV0YvY1pQQzJJZXpiQUtsK3Fzdyt0R0FKak5oaEFlb0Q5YUI0d1hKV0poV2tTWWJVaUZOUEJSbzRzYVlRemhvNFJhMGtVeHo1NHBBTWtjeTQ0R01nMitZVmdqR1NXU2pnRndxUlY0dVJIaTJLejlJQU05dC9Va3hmd0lPbnUyQ1o3cnlLQVA0VmJnOXhUNitvNUNUZkdOOWdmWmVodVJMdEx3aDNUd3FjTDYrN2E4dUdkMXA3eDBRQWQwQlB0NG9McjZsZmh3SFNYTFVyVk5WYmxYb2JLQ3NMK2JzWjFEak9ZaCtqOVhmTk1qWE0vQlZjc1FYdVhDLzZEd1hGTXRQU0s2ZjFHemY0bm54RHpydzV6dnFMM2Y1aFU3SmI5UUw4WEh5N0Z6SWtpeUxraUFDa2swMHU2aWJwQURMazNsOFNQZUM1OFdKTllua0V4TklLSVhSQ2JCZnVLT0JNZUhtTU1LTlpRSFdDUjBNZ0JJdUFOdDdnR2syUVpOdThtd1RaU0RsUUZsRmFkTnpaa3F3YmdKUU1VQmJVVVo5QkR5S0JkN1ltc3BJQjBpbVRoZ1Iwam15MERQV0VYUlhuSFhrT0JiUUdHK2hkUkdPWGZneFF6bitCcXdnalV2RUpqNGhxTkdLMGNJTW1XbENtVmMzSkk0aWRBdVlNMTN4R1d4eUozdTVBNXpyUUU0emZ6SjVqai9jeERkTmY0SzJ2MHduSHVWd3ZpaWFIbWNmOGZkMS82S0duWEpOcHl1eGMwZzFDYmkzd2VPcFVmeG1OLzZqQ2JUWGpvaEFySjhkNGVpdDdpU1BLVHpPaXNjOHY3dThmN0NlcTFjdTlucGJaM3FEd2JNaitQZGQ5WnVGeTlkZHE4ZUZYOERVeUk5cVhUMkc4ZFlUWmE2ZTdPYnh0N3VlZjlCMVA5MkZuK3NxTG5FWEhEdGdFckRaaENDY05HZGM2MDU1TllDWUtBbG9kbnNKUXFtWUVKQkFtUmNYVEM1S0ovRUZEQWp5bmNHWlIrZzFVS3BUbDYzQm5XbFRUanNJc0MwQ2tSYnhKdDNrTWIyaTNTUVpLV25zQ2YyT01xRytNTkdBYWJENTY4aVhmUnB0TytVRWlUb0tveC9Ha1pzSitON0RONUZvUno5RklRSHFLMmxZSUFqSlVpaEF5QVJzS080UU0vQU5ySUZhUmhOYmMwcWZFREI3UzREeEU4aVk1THZSRWJsRW5DTk9kd1UvSUw3VnFlc25wUm8vQVQ1RGt1NFh4UFhSbFBIVnVpNitrVWFkNzdodW50cXEwd3Y5cmY3TG1KdTdkT1owZHpOK2V4Ni8yWTI1Z3ZiYUVSR0krYk1qSEcyZG5Qejk0a2ZXMXVySFAvYXgrRnVxVy9GYnpULzUrTDk3NmRGUC9rZm4vOVhILzQ4di82dUwzM3ZwMk9yYzZkNUwzMzV1YS8ybFo0ckxGNTdwOG55d2s4Y25VNTE1VHB4UGxYRnVHT2ZHUERNdTRLZTRDNHUvQ2ZBTUo4SnpZbjZhQlBLU21MMnM3aGNTejRzVGhCK1JNUzRoZFFJeXljUWJjZ21TQ2JKeGtJNG1KQ1JNQ2VMaUs4c2pCY29nM2dhc0I2a0tRV1pFazJiZW0zSUJmSXJ0UEMxRVdaT2ZwcHM4MDFFVzZRRFRiTW5DZUJYbW1IU2FhMUlTQ1JZSVdFU0VKRWkyM3ZTdExKdkFtRGZheXc1d2VJZzBrNnluRFJId0JsOHhJVjh3VFFzUkF5cUxtNVBHYzJHV3VZdXRlTFF6S2p4dkp2Zkx5ZndpNDNaZTNjNG8zd0JKcVA5LzlzN3RSN0xyT3UvZjJ2dFVWWGNQTHlhVkVXeEZlUWdmeGZqTmdJQTgwVUNBd0FFTUF3ckVOOXNCRW9Rd2JBZVFnQ0JCWHFieWIraFBjQU14RURzd0VpUXdBOEZpZEJrSm9DZ2FGbTE2aHNPNWRVM2Y2bmJxMURsN3IzeHJWL1hNU0xURUlhZTdwNmRyblRucnJIMi9mT2YwcjNmdnVzeEg5TnpQRmU3bkN2ZHpjYU1YY0tPU2ZEUHkvZ3h5dmxHMXpjMWVURGUyaFQ0UFB2b3U5M1MvL1kzZnZmdWQvL2g3ZS8vbnYveisvdHZmK01iUlgvMm5menY1cytGYjg3K3c3eWI1MWx1dHZmZWM4TTBBaDh5TG54ZGZnWER4aCtnamZFSUYxTjdQdWZ2KyszcjFLMS9SVjN1OUxnOTI2aVI1M0hVNENDSGZVd0tYcjkxL1FKQzhSM3JZL3VJUDJQWjNTWnAza0xPOWhlazYvYnVFeFY4VFVYOUhHTnp1Qy9iN01VejdBUVNLdGlGejQ2TnRWZHNXNkRxUnJGd05vMEFwc3RFQS9tTUhRc0FLaE0yYjBURXNhbUdCOE0vOVlxdWF6RndCVUZtM21NSFJyTVNGTkRreEk0dndzamJXTEdlaDVDcU40MkZoaGlGY2lmSmllZWJNVy84MFpSdzA4OVpmWmovRkpHaGkvc29BVHMzNnBtd3NyUUNFTXhBZ0NGQkdUUEFpZFVDN2hDeVhHbExxK0ZmRmduOWR6TGVEakxjRUQzckFYWUw0bzZqcGc1RDFQVkc5RHRHL0F2QnRRTitoL3o0NytKRkNtQmQrR2lBM0liaW5nN0Rmay80azlYY1dvK3BlWmprL0w2RUM0UkxPYVhPbkpJSVRDQitQeDJrZTYwVXZ5U1FFSEtqMjdvVVF1ZW9LUHlVRStNTXVQMUxGRDBncmUzL3hPNUwwL3dYTjF3bUpkeVhudjQ0NWZjZ1Y4dTJleVA1QVpOYVgwRVJGUzhna2RBVHdjaW5vRWxtU0NTTkJaTitCMEEzbW1SSklFWmdSYVBUc1NwU2VLY3hoT1p3WXl5cFRsZVdLV2ZoeEsra28yd0ZXSHp5c1BCMVB6cGY1REpTVE1YcGVXVUF5RzdHVFp1MkMzb3haYkl5elpsd0w1Qm1XcUpud3pTcGw2eUVwNklGTVgrb1N2S0N4Wlk0V2lBQzljdTZjZndGd0MrbmFIRlBiOVpFYXduZTJVOG54dHNpRExlUzcvWncrNnFYMHQvVHZjWVg4QTBuNU95S1pBTVk3MFBSOWxmQkQ5dlplaVBwVC9ubHhNK1J3cjQ5OGtIdGhNbjB3YmI1OGNKRFlwWitYVUlGd0NlZTB5Vk1pRlFpNjRWRGZCN3BmcSt2YTN2ZTVzNE9EUllONzNYYSsyWWJ3UVlyaHgybVpmdFJyOFFQTW0rK3BmUzlBdTN4SDJuUTl0TzI3SWJWL1hlWDBkd1BJN1VFZ1JHS2M5b00wL0JPN1JjNUoyMDYxNDhxUHIvUUhVc29lb29md0pWaEZCQ2YvUUxDQllDdG1ZY3Nud29TcllPYWhXTUZaZ0pwWCtvY21URnNaQy80TWhDM09UTmdoYkYrVUlYcWNHQVJnbWxxY1dTVnNhUkNBL1pncDQycndaVHl6ejVVSlVsNFpwOFkrWVZXdEJZZ0FRZkRRUkRQRUFOd3RnVzZwTWFlMm43WFpDWmp2eERDbTM5L1JmRzlIMDgzdDFINndsZHIzQnUzaWVxL3Qvb3EvM0w2TnRId254UEM5UWVwK0tIMzljZHZJQjEyc2JnNEdnM3ZBRnc0Tzh2SDBpeGd0M3I1MnpRRmM3c0RsdTlqUHp1V2JsYzlJTVJ5Vzl4YmIrejdmK2VZMzYvZUhmemk5L3RaYng5LzdvOS9mLzg0Zi9ON2V2eHovL2Qwckh4M2RlZkZnZk92RjhmNU4xTk9iZzJWem85ZTJONnJVM1lpcHU4bTlTdTVMeW8wcXlJMG9jcE1BdmhWeXZvMmM3bXBPOTBWMVg2RGpBSmxIZ0lCR0srQStNZGVHQXY0ai9FVEJReDRaMDVSNVNnK2FlVE13N1pkWnFjTXlqeng0c0YybEt5ZkR4YTh2YkJzc0R6dE93bGFXNGVMb3dYenJXODJENEM5ZVlIR1VZOVdtellGelZlcVJnbXA1M3k3WHpQT1k4MWcwNzB2Tzl5V2xPNlpORlAyb1I2MjJxRmxmOUVaZnN1bDVreStFM3VndjJ4dURlbkZqYXptNzhVLy9VZS9tN3p6NDROWjMvOTNYYm4vN3JYOTk5enUvOTdXOTcvM1IxL2F2di9YbThkdC8rT2IwblcrK1dmOHQ5M2JmSGc0N2lJMmdETWd2bDB5QmNNbm00OU41UWdXR0xMZlhEUEx5aFZrS0tYWTd1YjlnMGhTcFBTUms3bXVRanlENGdFdkE5eFRLdldMNUxqUi9INm8vNEVOelBVTGU1ZGJHQjFIQ3JTaDRFUGxLZmhBWWlKZEVXV1laQkRaQWFJbDVZZGdXaktvQTE5QmNTQ3NOYkk3QVU5WjQzRmhUcmJ4NUJ0UTg0MFpHUmpsTXEyUEcrcXQwQ3p4bXdqSThGZVZYQWV4Z0dBVzZqS3k5MHF1eUNEM1lEb04wSEMyWHVtS2paak04d1o1c0JKeFR0cm5OQ2QveWlUVE85eFpMVXdOOWwrSHJuTVYxRHVLNnFsN254SDdFeHQ0VHlOK0loQThodU0wL0FCNncyV25WYUd0dkZSdkNqMDFYSUd5NkFCczcvK0UxUGZrdWlsamVYL3pTSWpacDB1YnFJUFg2WE5IcExZbnlRVVo2aitEOEFUUVR3UEk5QXBVQVZnUHdqeXNKSDFRaDNLcEVScEVyWWU0Uno1bS9wR1VhbVFNYUVVU3ljUTFIamdrMG80QTNKL05Td2xicVo2d0EwUjVOZ1JyNldGOVpRQWxHVmFZeGduSUlXSUFuV3lkSEdXQ2NhWlpYeWpCTUw3RFJtT0ZoZm1tSG96UFBlcUpxRWJHMUpoa3BOSkNYWnBuZVRGVnliZ25mdXJKM2gyaCswQlA5dUJmd1UvN3llYmRDL2lGSHdUMzBUQWh6YTBmbFJ5TDJ3bG9rZ1BPSDB1bHRTTFBmMjltYWJMK2FXdjkrWGQ0TFAvbDB1d2dicW9Ebzd1Nmo3NkpZdnZCaDgrcmdpeE44b1Q2b21ucXZpdW1XNVBoQjdnOStIRkg5UURwOGx5L29mUytxZnIrZjVZZGJWWHkzei8za1hwQmJ2WUFIbFdETVZlQ2N0aVE2dVlzSzBOTUVKLzhJT25JY2hLNnVEU0RXMXNiMTBYbGRqd0FBRUFCSlJFRlVJMHNYNEpwWGdwWWVyQTBSQUJZM3p6b25ZUVVQVWJBc1N2Z0Vza3crU1NNK1YzbGdyWlA4VlR1d01rdzlHWU9WRVBiNXlNQmNtaXA5emhGWThoY05WOEE2N29zKzZBRzN0b0orc0IzenU3MmNmamhBYzEzUVhrOU5lejIyeXg5VlZmZGVmNUQvcGtycDcva2kzRzE3eis1TDQ1ZW1YejA0YUZGUXo3SGJkT0RIcGlwZ1B5T2JPbmVmdDYwYWg0KytpMkozK09ieW5XOStzN2IvNis1Ly8rZTNqdi9uTjk4OCtGOS84TFc5Ly83SHYzTm5aNXcveG1KNnEycngwUlVvOXpiMVpvenhJNjcrYnZNaHVrUGJDeXBIQXN5NW5FdzBheDJNMDFaWE1LUm1CRittS1l3K0JDdTNIOEQwRXlCYWVBVmk1akY5RldZUHBjNjZyY2ZENE1FNHIyeFFXRU5LRUF6Qk9nRTRsblhhU1RuTEF3L204MlFBNnhTbFArbHg1YU5tMEJLdDV2Yk1VVlRkbzkzaEw1M2JGY0t0N2FBM2Z5WG9qZGcwdDZyWjVPT1haeC9lL20vZitOMjdmOHE5OWovbG52di9XSC9IN3A4TjM1cnZVdVBoY0pqaGh5dEFCZmhVOCtybmhpancrYWM1d3RVODJCYStBRFZmdEJxblVYcUhvc24rRzd6YjBIeURTOXFiT2FjOWRHbUNsRnYrdVU3b2FlbFFpTFRIRFl5dnpCNC9ZZEJBRzhqS1J3YXVSUFhFREpvMGk1ZjBFaGJnOFhhRWNRV3Y1Z1hsbjFvSktWQ0dIYXhuamgweGpabXJBTWVaR1YrWkVMYWNDeVFuOEVVMVJQcklOTDdnMW9tbUNkTkhRUlAvT3NnM09kcmJJbmtVY2p4cXVuYldHNFI2c04yMkprcnB4eSt1d0tjb1lEOEJuMUxFczEwQjRPcFBSanF1UTd1MTNhK2p0Tk8yU2tjcWVVOXp2cTA1M2NnNWZhUTVqMmdUV2dkQ0M2b1FNekpRUkFvVXdldmpwaWVRL1lRWG9LeU03UkVsNnBodjlWU1pMdHh0Um1Eak5HWERETUY4S1dPbHdJUGxTbC9nOVZFWTY4TlNiSHpGeUgrZXlnNlZjYlZ3TWNJMzVMeUNjRTV0bGZNazVFVGdkaDh4L2FiazdnNWhQR29yUFlxU3A3MVlMOFoxM1Y3OXlVOTAzWTA3VitDWEttQlA5eTh0NEptdWdDbXd5LzNpcXorNTBvN3IxK3FYOE5JMGROT2pLc1M5cW10dm8xdmVRR28vMHRUdGFVb1Q1TlNCNENyd1pXV0RuUkNESUN1TE1RMFFZRzFLY1A3RFJneXU4MkRlZ0N5RUx4Rlo2akt1NnpZc0xvK0hGVHlFVEtVeGhCSm40TVF6V0hLc0MyVWlUY3FZTTRUZ05TUDJOV3BDTWM0cDVHNGFVeHJGNWZKVzdCWTN1YmQ3cDljdVJxRkxSeTloUENWOGE4SzMzZDM5azh6bS9YUUZQbFVCQi9DblNuUnFCWjd6aHV4RnV6ZlQyOFBmN0hhSGJ5N3ZMRjZwRjNVN1NUa2ZoT1Z5VDd1OFI0QWRDdkkwYUY0UVhxMG9PcTRvRFVaS1R4Z0NUQ01tRFgwbnhrZHdEVlJsampKY3ZBSFhqSEdZWng1ckEvU1cvL05wajlJRllCa3pDNkVjRm5wa1ltMXF5VmlWWkZiNTNVQksyeThOYUFibmdwQ1RJWjU3djlweGhXdnY3cGh5ZmtlaTJLdjRRbVZ2T1R2VVFXLzhDclhZSFE2WGJ3K0gzZTd1YmdKWUFuNjRBcCt1QUovK1R5L2tKVnlCbjFmZ2k3aWFxNWQ2TFdKWUlQYW1RSmlFSUpOSzRxU0tZUklsekFqaFJvQ1dlOEtLVE9LcG1iVWtCSjhReUh6OENFTmxUT2xSUUJ1Z2hyMTF1S1JaM2tsYU5sU3lEUE9oREpkMFlSMWhlMnhiemROTzJpeU5NNTF4anNFeW9CWmxYR2hCUkdJSWlDRWdCS1lJd05iWVZtWkxtb0o5OENLZzRZdU4zSHJSZVpBdzVhZ25NV0RhZGJFZXRNSTkzNnNaZnJnQ24wTUJQa3VmbzVaWDJYZ0Yzc0FiZVR1OTBHSzdXblJaWnVoSHdoZlRLdEpDNEl0MG1QUGhXa2pXRHBub3l3cGVZZlFUQkJYYlNyQzNpREdNWWxFTndrcXdGak93bWpIT2ZGWVQxcVV4em5KaUNZcmltTTZlR01iYVNycUNCOHVyR1ROWUNYU3dPR0Foa0wwSUlqUmlWVVFzek5KY3Z5cllzbkkxbklLZ3JRUU5yWTVCNWtGMG1pcE0wczdXeFBiRGJWL2M5c2ZoaHl2d09SU3dKL2R6Vkh2K3F2aUlUMWVCNFJENjFZUGZhakc2dWpob2VyT0I5R3pWU3lPQVFSUE1DSy9WQ2xoSlgrNnZRbTBNUWdRU2M3eUNtQ3RXUUV2a1liVy9Xd0FNZXpRRFY3Wm1WcDZlYWJxdVkyVktYY1l0emZoNll1dCtDR2J3c0hhdFBvMnhjcTc3Sm5NaEVoRER5dGdqWTFnQk9Lc1N0Z1N3dGxIUUJCRUNtSE9DbVV4ZUdyL0VQZC9YdU9kN2hYdStYOC93d3hYNEhBcndtZnNjdGJ5S0swQk1EWWVTYlUvNGZlNEpKMlN1RXNPOGdreXFnT05vSDAwRzVzVGZraFJkQVVxMTZGYWNCWlc1WmxoNW1EZklhaUJEbWNiNHc3UVN0c2QxYlZiUHl0SERyT1NmUUphZWFjbzBCUStHZVNXUVYrbThsdWlxSHBOWjZPR1lWamtRUVdLd2dZTDd2bnBFR0IveVY4ZVlMenhPb3c3cVhjN1o1cjY3K3liTENWdGdhVDlkZ2Mrb2dEM05uN0dLRjNjRlBxbkFkaWRKUWxoRXRSZmg5RENxSGdiQ09BSk5oS1RJS29HR25QbVh2WUlMVEhKWlllUXlBd2hjSmRYcExRd1F3bzhCVnRkaEpVeUxQU3pIZWd5ekt0dGp1T1NqdEZzdWpNTU84elI1R0dhWnJNZ3BJNlZVTE9mTU50UkswQ1FwWk1iQWdTcnVNT091UWc4WW4wa1lkUFIrdWdKUHJVRDVtWGpxVmo2dEFjKy85QW9zWlpFajJpWkttUFNBZ3dDaEtWK3dra1VReVlIazQybUVoZVlrbXJOa21tWnV0V1ltazNZOFNVVWhOMm1FSlFwWUNXTGgxb1FFdGZoRHMzeWFsakpXbmxWUHdpekxkSjZsanFMc01RZVdCZ3NKTHpURzJEY3lNWnM2QXBpV014RkwyZ3JiQWFUalFHYXNUQURyWFc1UTM5R1VEaFJwbHRvSlY3M3d3eFY0YWdYQ1U3ZmdEYmdDVk9CS3E2bWZaRkhseEQvUjliRGlDcGlyM2dtTlVFYXlCMDFZamdRa2dBMTBHV1FkR1dlSkJPZ0tlb3hicVpXcHBSbE1EWmEyQWlaSWxXR1lNYy95VCtJbHpLWlVoS3dzZ2RJK1dNNDJDS3hGc0w3Rm9iQmhNRitSYzRhdGdETlh3Ull1bFFXUUlKMXlCVXdtRThCQytIWjMyZFEralN2Z2JWOEJ3NC9UVU1CK0xrNmpIVzlqd3hYSVZ6UlZRQjJpSHBHQmUzeXc5cUJ5TEpBNXcyc0FLL2tGaUlDSFFIZ0Zyd283SG9Pd3JzTUdYUnE0SFFHV1czbXVpQzNNTXF1MGRWbExNMXVubjdTSkVoQUM5OFJZeThwWSttTitCWExtc1EyaFFTV0poSGxHT01xYTl5RGhQdE9PdWticmJnRmZBY09QSjFUZ2x4Ymp6OFl2emZkTVYrQ0pGS2dHTDNjdDJwbm1zTTgvMWUva3JOdzN6ZnRjVWM2NEp1MW9CYU1CZ2lpaFdLQXZzR09hZ2dlQnFBekRqT0F0WVY1NHdnemNxZ0RMb09RRnJtQ0ZZQTBBeXl0YlYwdG5RWjRBNDZYc2liZDZUQlh6Q3U1NUNHc0pna1NPaFJaV3hvMEtXZVVnSzJUQk5zYkl3amwxKzZGTkU0VEZvbm5KQVF3L1RrV0JjQ3F0ZUNNYnIwRFgvSDJLL0pNOTZPS2dFdHpoa3ZlMlp1d2paMEk1MmFZdjdHRUx4RnNNQVRFRUJBTXc0L0s0ZWdaSW9oRW5adkhNU09hNm1xNmtXMW94UXBocEJDVkJiSzJZc1JkbFdTWnlWU3NjdzJxSnpEaXNuWUxld0ZnZ3Jqa0cwRTdnS3hFMkpzc0ZBc2NzQzdZeHlSTDJPYWY5RlBJNHBuNzk1VEY4QlF3L1RrT0JjQnFOZUJ1dXdBdmYvdFZ1TW0ybTNTenN4N2E5dmV6eW5ZNEFMaXZnbk1zS1dDaFRKSEFqd1JzSlBRbENmQXBUZVNvWlNtY25vYmRlM2E3WUNaWXFwZ1F1RGVCalc3d0Fsc2V3MGo5dXNESk1zM3hsUGxleUJiM21vVXcxRTBLWTBJMVN3U3dJWVV3VEdudklncmdRcmNhcEMvdXl5UHR4UEp2RW5peEdlRC9EaitkQ2dZcytTRDVuRjMySVByN25RWUhkM1Rmekc3aTVyUEczODZzM0Z1T0V3VEhIUFFtcTlvR01XZ1FOSDdhV1NFMWlyRlVsRUZuaTRXbXBhd045U1RlL05uM2tsV0hXSnFURHlrcDV0bDZndS9LV2o0ZnA2N29sdmdyYlZvUVF6TUkwTS9BRk9rSGcyRUliSUJ4cnFFVlJNMjJXYzIraTlXaTJNK2pWTDgrMjJqZkF0VFQ4Y0FXZVhvSHc5RTE0QzY3QUl3V3UvdVFyK3RNdjNkVmUxNlFxeENiRU9LdENHRmVRTVlFMlI5WmxUaWxyU3RDY2lUS2FzcjRaWFRrdFRNamlvUmNtMHl5TndJUjV3aE1XTm1PNFFKbnBKeDRselFDOXF2Y28zZUtXVHNzcXlzMkVUTlBFellvc1M3WTlEMXoxY2kwOER1aE5RNGkxaUN5M3QxOXB1MWViWk4rTFBJUWZyc0RwS09BQVBoMGR2UlZBaDhOcit2cnI3NnV0RUxkMitsMHZoS1lYNHF3WHduRWtoUG13emFHNjFKUnpOZ0FuZXl1YXN1WmFQZ1podG82Q1FJWEZpeWM0QzJ6TnN5V0dsZWxxb0xVd0NOU2ZNYTYxbVE2YWNrc1lZanU3TkViWTVpcVRtd3pFTHJSako0bXJXZ0pZY3B3SENmeUZVUjBIaWRPZ3ZUcGdhN21GVjdyNjROZFQrZDZINFRWV2dCK2Zwb0RuZjZvQzlpUi9haUV2NEFvOG1RS2l3K0d3bUhhUytxRnFlbEhtdlJqSFZSQ3VnSFdPbkFuZ3JnQ1lHQWF5QWp6TkRLMmxuM1hjd2tLQVFvVmwxZ1krc293ckRSWm12b1UvYWV0eTNGcXcrcFp2cTJJTHJ6eUJ6VFpzQld5V2szSlZMc3VnWVI2NUFvNmhkeHlsUDQzUnZvQytXcjZPOTd1MzhYL3o3cTU5NzRQWUNHMTRicTdBVXluQXAvU3A2bnRsVitEbkZUQTRxWVN0am92T1JRVk1hQWRjZXg0SVpBSUZYOWhDRWxXWU1jNzZEUE5hd21vQk0za0lYWUU4RElQUXhHTnhaVnpYSUM3cGxrZlR0Vm5hU2I2bFdid1k2NTIweGRZNWxzQXhpWTF0SWhyMkpRdkhITVpRcldXdzFmSVhTOFp3bUZsWDRZY3JjRW9LT0lCUFNVaHY1bWNWdUxJZFUyNVRyVW1QY3NvajV1NHA4ckVJZ1JhUVFoRHdoSkIrWlQzNU9OWXNiQVllNWcyV1lFSHpKM0dHTFFoTEIvbE1yNDhaTEd4bGFDakdSNzM0VlR2V3A3Qk00QUNDQk1RZ1NVVG1BQTZ6ZHZjMXBYdmFOVWZjcnA1M2JjMWRZdVk4VjZjUDlubFFnRS9sOHpCTUgrUHpwb0MyRTc0SVI2Q2w5aGhJZTVxNmthZ2NpZkJQZkFrcEJ2NnhMd0o3QUFXQUdSUkdVbDdXcDhVdDV6Rnd3c0pjcjRMTGF5Q28va0lUaFVSbGVWa1pHOHBXa1d0eGM2d2ZtQlE0QXNLWFYwbmNsSmpiTHd4MCtYN3VsdmU3cmoxRXQ1Z3ZsOUVCdkw0bDdrNVhnWEM2elhscnJzQktnYndNS1RkZHJUbHhCZHp0MFQ5Y0FSTjRYZVNURjRLb0NJaEJGUEF5eUFCUFhadmxxS1hTVGp5QlM2Q1c4aWRlV2U2WEd1c3FYNndETWJ1cUk2d3ZFRUk0Y2dEUlZzQXhkRkpXd0hxWVdzSzNXZDdQemZKd3VXem5TNkRqaVB4MEJVNWRBZjRZbkhxYjNxQXJBSzFENnJxbUJ0cGo3ZElvcTNJRmpDTW81aEIwUVpBRklCcWhLQWNkejVOWThTZHhlcUo2VlpxVlVXb0psR0V6ME9NVHgwbnI5QVplSzJQMWlvZXRnUmxpYlJIN3ByWWNvQjEvR09ZQWpsVHppSU1mYWJNYzUrV3lmdmw0OUZsWHdHekdUMWZnMHhYZ00vZnBoYnlFSy9CWkZlaGVqU25JWW9FMmpFTklEL2pYLzRoMnhIWm1vbWlRbFM5NjJadkFrQUh1SkNoemlGUzdvb0NTb1pMMm1HZVE5Vmg5QlYrTFlvVlI2TTk3dHZFemFTVU9ka1ZiblpaQzhLWWNSVzFGM2dqeVhBUmpia3ZzQjBrSHNaOG52ZFJmakxvWE9NWlZKYis2QXFlcGdBUDROTlgwdGg0cVVCOXNwNjN0bDJ2RllweVc0UUZSKzBCRmJBVk1BT3RTQUs0cUM0UzVUNnVzUitOSmtqTE1VMW1DVUFXOTBNQzg0a3NhRTVRQkd0RXREMjJWQkgyVXpXcGMyeklPNWoweUM3RXlZS3Z3eE5jRXpaWXh5cXlLY2h5aUhGUnRPRWlTSnkrK1dDKysvSVZ0amhWK3VBS25yb0FEK05RbDlRWk5nYmV2dlpIRzlVdDFmUFVmSFcvTDlvTkZ0VDFLU1k4Vm1BRzZCRmZBcE9QcWt4aEVNS2xwMVZiR1FpVkFMelFMUzRHb2hjekVMcXd1eFlDVlYrWE9nZ3JvU25yeHJGZThsV0VZZG1pNUtNbk5uZUdjQkxtTDRLOEp5WE51UzQ5N0ZmWmZDZU9EbHdlenllVE9ZV1B2LzdVYWJxN0FhU3ZnQUQ1dFJiMjlsUUlpYXY5bjJsLzhoMy9WL05ud3QrZFY3RTlEcUNaQlpjS0hic0k5NEVuZ1RqRlJ5dGU0dUQ2MldpUW95VnFkdDZjQUFCQUFTVVJCVkVrK00xSWdTVy9uU2RnQWVtSUVLaXhNYjlWQWIzRUZXejB4NXF1bE0xN3lzVHJZcDVIYWNsdkN0NG5RV2JEL1NnazZyWkJuc2JjMSsrY3ZmRmovNWJWLzAxei8xbHZkNnYyL3E3cCtkUVZPVXdIK0xKeG1jOTZXSy9BUEs4QVg1RklNV2xjQnh4RjVGQVdqQURrV3RTKzhRYUovREx5Q0FrNURKQTBGb29aTjhLQzN0TWZOOGhrMytNTENab3hEaFlWWGJha3lhT201QkF6QVdUUTNvbWtxMmgwR2NNOVgyeW4zZmhlNVc2WnIxNjZwaU5XQkg2N0FtU2tRenF4bGIzZ3pGZmdGc3g3MEpVV1ZPb29lOTBSR0VRWmdITE80ZmV1WTdiRXE3QzFtRXBRZ1hZVlZtTDB5dGZDSnNReXNiREZEOTJOMU1nUTBWWG83emF4ZThXeU9wMlRiK2dXaG54dlduRlM1TzZ4eU91d2hUU0xTWXRBUFNVUllzcHhhcm41eEJjNUFBUWZ3R1lqcVRYNVNnZTAycHUyb2RSODQ3Z2VNZXFJamJrTWMwd3FBRGFNRmVZWTdBeVpOQzJnRnlyQzF1UEtCTzhZc1dkTFczc0ptQmxtYWxpMkhBTFV3ZDNuTmcyRXo2d2M4UXVhMmgycFpBUWV1Z0Nzc0QwUFhUbU83YUZKWFB2bW1MR1pHNTZjcmNEWUtPSURQUmxkdjllY1VJSDFUMEZUM29NYzkyNEtBaklqV1k2NVdheExXVnNCbEMwTFdvTVFhb2pnQjY5b1hDQk9MNXZVeFg4cXQ0NnV3c0QzYXcvYWtoR3hZQmNLaVNaQnJyb0M1SlpKR1FidFJoWTViSXFuZVdZYlZlS3l3bXl0d2hnbzRnTTlRM1BOdit1TDIrTkp5WEFBczJoMXJYbjB3STJjY3c3N3NCc0x0QUdDRnlFRFBEUXJRMVBZQkFzQ1VZaXF3ZzJ0WEVOeFlnWllwbG03d1RTeFl3bGJ1a1FtVHNUWUxDeFNTQ1dERm5CQS9ZbnYza05yN1FkTmhMMWF6dERWTzhNTVZPQWNGN09rK2gyNjhpMDFYd0Q0WlYrVWxWN3Y1T0tBYkVYZ2p3cmZzQWRNYmdBc1hSUTI2SjJhUHB4VFFxbG8yZzVtbWE3TndabjVTdnA1R3dySU0yY3BNcWwzQ3drUmhKQlF2NVFvRUViYUFEaW96WkQza0w0VDdWYzczb2k0UFU3dVloL2l5Zi9TWXF2bDU5Z3FFcysvQ2UzQUZnTzdWbUxwdVZnOTBlbHkxaTVIbTFqNmN3ZFV3YXE1bURjQVFneVloQ1Z2OTBnVDJlSm9KWU9tV2I4YXdHa0tMRWI2V1JoaWp4SVU4WDFtcHc3SXJIMVlod3RkYVk4eStobjJ1cW9jaHBYdmMrNzJYK1dMY0FKUDVjbmJIVjhEdzR6d1VDT2ZSeVliMDRkUDhKUXI4azhHdC9QTFdWaFBTWWxaaGRwUTdIT1dzTTFFME1VakhWV21XQWtlK3lGYmFFZkowYlFiWUZUNEJNWHdLblFDUXgvN1pveXpBdWl6YlhZVVpGeXRsVFVFeVhRN0s3WWNBK3pUZVhGVEdvdm1nMXphSGNUNmJ5cUp1cnVLbTRSeCt1QUpucllBOXRXZmRoN2Z2Q3VDbmQrL3E4WU5GTjRBdUFKa0hpYk1RWWgxRGFLSklSMHNSM0F2bStoV0FGbWZMWEZ2VkVxQWdTRUV2ZGtTV3BJVVFKSVNJbFFVd1ppVWdwUTZzRlpvMXhZUU1lejlFQ3BDVzFhelBSWlE0RjQ0RDJwdTJ5TE1xNWNYT2xyWWpjRTNPNm42NkFtZXRRRGpyRHJ4OVY4QVVlSU5RaTgxUmR6enRONE90RjJjcGJzOUVlbldNVlZOSmFHTlpCUmZ3RVpVcmFCYitrcDB3QTlleEVuZ2xhQ0VNQlFrU0NkMlZDY09DQUpFQVFMQ3F3NG84Qzh6TFJRaGd0QUhhUk9oQ2hOc2ZJYzZhWHB5RzBNNjJYdXdXMC8zay8rc3gvRGd2QmV4cFBhKyt6clFmYi94aUt6QWNEdldyWHpob2x5OTgyTHp5eXVHOEk0QkQxYXNKMFlid2JhTnc5VXZqQTBuNmtwYUZ2cXM1cVFHMVdJQVFzRUxZaHZYS1Y5WStNRTBzRDFMK0ZRQXI2MXM3bVlHc1hFTnJBWEFWeFBxc1k1QzVWTDFad2d2VG5hMjkyUWlqaFkxeE9MekdDcXpycHl0d3hncUVNMjdmbTNjRlRoUlFRamkvUFJ4MjMzcnJyYmJxeHliYS80NFJaQnBFanFQSU9Bam1YTG91Z1d4N3RheEhEdktFcXAwd3FDcUU2UXdhVGt2WTRtYVd6QjFlYzJvWFFNeXpycVZ5bjlkZXJiUHZmbGl3dFBVNVlaK3pvS2g3Vld4Mmg4UGwyeHlialhGZEUzNjRBbWV0Z0FQNHJCWDI5djlCQmJxdVNrRGlIbXcraUpMdkFmbWVRQThKeHhtM0NCS0JTWUJtUU0wVVNwL05ja2FYTWhKOU1uOWlYT1ZtR29zWXAxblB1dFVWb3JYNHhQWWJKa3dDOG1HVWRDaWkwMWpKb3V2YldLeThteXR3dmdxY0RvRFBkOHplMnlWUVlFZENWNG5PdVJkN3lGM2R1eEc0UzhvZUVyeHpRZTZrWUZRNVUyV0lwc3AxY2NZSmRBM0NKNWFTcWxrQk1NdXhBamtMQXB6R2lIQnJXWWhzZ25jUlZLZDg2QThJK29PZ2VSSnlibnJ6bHBTSEg2N0F1U3ZBWi9IYysvUU9YUUYweXdYM1l6Tlh1L2t3aG5SUHVBb09vZ1JqbmdmeWxMQWtRTWxGTlZPeVdaR1ZaaXRmczVUV01GYnRrcVdibFdJZ2N4OHFMS3dUbU1BSG5hdHFiZmpDMnlSSVBxeTQydVl2Z0drbGFiSHRLK0NIZW5uZ2ZCWGdjM20rSFhwdnJvQXBrRisxL3dUVFZzRHBNQ29CckxpbldROUoyUmswZFpJVFY3R1p0bG9GbjFDMXhIaFIyd00yenhMV25zWE5rN1hGbVJkbEFhNStVU0J1YTJTZEkrY2p4dmNnZVM5S091SStjWjJXODdTcTVGZFg0RE1yOEZRVkhNQlBKWjlYL3J3S3ZOd2NwOWltT1VGNXlGZkg3blA3OWw3TzZWQnpOeWQvRTNjaEFFS1lzSVNRa2lKQ1R3c0JFaU1rME9oRENDS2hRZ2dCd2Q0SlFTL0NjbVZnbVp6TlFPck11cHk3V2NwcG4xaStIVVJ2SzhLK3BiRW9DL0RxcHl0d3pncUVjKzdQdTNNRmlnTExXVDgxb1owendoVnd1SmRUdXA5U09zeXBteU8xS3dCcmdwRFFMQVBoa3lxQllDVmd3MFA0UnFaSGhCQkVpdEZKNE5xWVJtcVhGVEFoVHFpVDVWMm5LVTAxNVgxdUI5L21DMyszSytSOURUSmwrdzVnaXVEbitTc1F6cjlMNzlFVktBcDBWYlhGRjl6MFVGTjNMM2Y1WG1yYkkwMWNGZWUyUSs0Z0JEQ1h3UkJoZVY1RWhPRUF3cGJRTmZqYXl0ZDhYTVVsclBLRjVWaUY3RlpZRzJ4THV6YWx0cHQxWGJ1LzdObzdXZk1kNkhML2hYWTZtOXo1YWJMaWJzK2ZBcy83aU1QelBnRWYvL09wd0J0NEk3LzA4WGk1M2F2bi9lckt1RW41V0lCSlFPSUxjMXBINUlZdm5yVmNBU2VtYzFWcjgyU0lwNEtwTk5Bcy9MZ0hEeFpoRHBTTFlMN1FwNjIxRlVYbmpFK2hHTGV0SHY1S2c2UFVIc3p3S3ByZi90Sy9kd0JUTnovUFh3RUg4UGxyN2oxU2dTSCtLL2FhTDJiYmlnaHh2K3RyV2xaQkNPTXc3VWVNZTVXTUkrTlJaQ213VjlGQWRuSkJxK0RyYUZvczViejJ5aEkwZTlGTnlWMjJ6MFZ3cm9DMkNtSGVpekt1MkNiYm5jYW85ZGEyTkVjWWRjRFZibS93eFF5T2hWWDhkQVhPWFFFSDhMbEw3aDBXQmE1ZDA5Y09QOHlUT3krbStGSHFaR2VuR1ZUMnFUUk1CNzF3M0NjMENjNTVERmlLbExjeUFJU3Y2Z3EwbVQ3emxidkh6ZkxBZE5Fc2tSR3JXMFdEZWh4dldadTlNQjFVc1JaVXkrMVhYMmdudi9aaWV1MlZEL1B3MmpXMlhFYmxsOCtpZ0pkOWFnVWN3RTh0b1Rmd3VSVGdmc0R1bjN3OVgvL1NuNmV2ZnVHMzJpdVNscjFlckxlcU9EVllEcmdDTmdDSFlDdGc0U3FWL0NWY2RRM2RaSjd4NHRjcllUQU5SS2x0UWZEQnpyWjY3bkVWYlcxWm05YjJJUGJtOXRIanJ4NzhWdnZiZC84ODdYNzk2eGtjeStlYWcxZHlCWjVTQVQ2blQ5bUNWM2NGUHE4Q0JyN2hNQStIa3JQTXV6N1NvaGZ5dElkMHhOWHJVUkRZcDlZYUxvQ3pFTGJXamZKaVpxQmRKOEc4TXNIOEttSWxsUHUvV0xDTkNkdmE1M2JFUVJVd2pwSnE2YlFkc3MvaGNPandwWjUrUGpzRkhNRFBUbnZ2K1RFRnVqWW1sVzRoT1kwSjNIM0ozYjdtTkZITkM0VzlsVUVoaEt5dGJrVjR0ZE04MnhBUjVwbXBMWk5wR2NnNXNlNmMzajdjY1Y4MDNRKzVPeUx6U2ZyTDhOMFBuTGlmejcwQ0R1RG4vaFplamdsc0Q2cFVkZTBpYUpvZ3RRZlF2Sy9JRS9xRmtNUWtLaWRLd0FvZFR4RlpRYmY0b0l4WnBvcHlIWng1VWUxeXluTnkrRWhUZHg5bW1nNUQyOHgzbHY3Sk4wcm81d1ZRd0FGOEFXNkNEd0dvais1eUIzZTVRTGVZUkYzdXEwRTQ1ekhadXlDRXM1Q3JxeFd3UW9TNGhXQjFCa1U1QkZZR1hDV3pQQ1NuQk5VNWtoNXF1OXlUdHJtdjdlSW9hR2NmL3VoS0ZiKzRBczlZQVFmd003NEIzdjFLZ1JlM2tkQzFkVXo1R0RtTkNOQVJOTnQ3Zytma2JRdlJEQ1dGbFlTbFc0R1dkUzFjak5zTzlMSTI1aVMyczJDVk1kdDZFSEorZ0dVM3hueSttTnlac2pCTGZQN1RhN29DcDZLQUEvaFVaUFJHbmw2QnExM01lYzVWN1dGSWNoK2h1Z2ZJZ1lRd0NkQW1xaWJ1M3lhQUMyWE41Q29acW9sTU5pNHpuR2xrTkJQQThyU2N1U1p1V0hDVzBUdlVrSTc2TVU2N2tKc3ZEaUxiZ1IrdXdETlh3QUg4ekcrQkQ4QVVzUGNERDFLYWEyNk9PbW52dDRqM2tvUURMbmluRXRBUXZoM0JTcWdhZlFuZGZHS0VjRGJMQUFFc1pzaGNOSmRMQTRsVDB2aUlmUndpcGVsTzdKcTk1aFlMTThWUFYrQVpLK0FBZnNZM3dMdGZLV0R2Qno0OGZHMGUrNjhlOWlzQ09JVDdRRHdJUWV5dGFNc29TQUpiOG1ZRnVNOUEwS3BaQVRFQnpDeExGbktYb0ViTW1rV2xnY3BVa2h4ZGFlWkhyWFN6Ym52V3ZIYjRpZ040SmJ0Zm43RUNEdUJuZkFPOCs3VUN3MkcrL3EzZmFOOGUvdWJpN2VHYjAxQnRUVUtzcGtGa1hrWFVVYlFoak5zZ0JMRVN3TkN5TFV6ZzBwZXdCczFjSldNUklUT1duUWJJTkNMTVdnbXo1dVhaL0VzN1RRUGM3T3dESU90ZTNia0N6MVNCOEV4Nzk4NWRnVitnUU9peTlxSjAvVW9XdlJCbVZVVUwybkFsM0lhZ1NpQ0RNS2Fwck1NcGlOUWg0SmcyaWtIMldQOG9WSmh0OVh2THE3aVNSN2lhci83a0s2VDFMK2pVazEyQmMxYkFBWHpPZ2ovMzNaM1RCT0oyUC9kN3NTVkVtMzRzWDZnemp5RXNZa0JYQ1hJUXdNQWJ1UklPM0dzZ21GTU1XbGNTamduc1VTK0dVUlZobjZpYnkxTGJFZDRuZkVlNisvcjdDZ2o4Y0FVdWdnSU80SXR3RjN3TW4xRGdoWDdXZ1VnM2lISEJWZkNzVjRWWkw2Q3BBbXdiNHJFVk1BcUlDZUd5QWlhSWozc1JvMEhBcUJmaTBYYUlNMVJvMzc1MkxlM3VmajFqT0ZSMlprYm5weXZ3YkJWd0FEOWIvYjMzWDZCQTZucXBpcm1PVVk4amdWcEJSM3h4emQ0WFhBZWtGSkJoRm90WFJLaWxNUzhmRThhaktvQmJFRGlTU3VhaC8ySUxFUVhNdUdTR0g2N0F4VkRBQVh3eDdzTVRqbUp6aW9WTzJxUnByS3IzYVRleTZnM042VDV0TERtM1FST0tFY0NSUmhnbjBWd0w5QWc1N3dueVh0YjJPRURtVjdacWY5L3Y1anc2ejlWTXczTTFXaC9zeGlpZ1lkeUZITVo4dmUxK1NPbEc2cm9iT1dmN1RvZUphTWM4QTNCK0NHSENPQkc2YzlWOEpORDdYQVhmcjFTUFFtN3JickhsQU42WUorZjVtcWdEK1BtNlh4c3oybDdkdGpXT0p1M3llQzkzOHh2YXRUZHkyOTVIVGx3QnA3SUNqaUNFYmZXckJMRndTYXlwaHFZajZISXZkUE05U0hQVVF6MXZqc2RwWTRUemlUNVhDamlBbi94MmVjbHpWR0R5YXkrbW5MdTYwdWFZSUIxMTdYTEVGYkI5VDhROEtyY2drSFBnWGpBaG5DcEpYZEMwak5DNWFPYTJSVHFJcVQwTUxTYTVXVFJmZnZrbEIvQTUzanZ2NnNrVmNBQS91VlplOGh3VmVQSHVSTnNIdWV0YU5FSVFRL004Q3VxZWFCTkRibnVTMjRyV0M5clFONVc5QlMza1dRZzY1VnA0MGtsL1VuSDVlK1ZYdHBZampQSTVEdDI3Y2dXZVdBRUg4Qk5MNVFYUFV3SDdYNU83Ri81eE81dEtNNDl4cm1Fd3E0QTZHbkNERXI2cEkzeVhGZEtTQUY0UXlIVTBTQ1BORU1GdGlucTZ0YTMxdUc3YnF6OFo2WG1PM2Z0eUJaNVVnZWNHd0U4NklTOTNPUlFZRHFGdjR2WHUxUmY2RFY1NVpkNVhuUXZTb2tKZTlqUjNYUEcyUFhBVmJFQ1d4RlZ3SXB5emJVRk1NN2NlWGgzODZvVHdyUW5mZHRmZS8zczVaUEZaWERJRkhNQ1g3SVplbnVtSURvZVMzeDcrWm5jM0wzS1lBQUFGTlVsRVFWVDlyZDlvcXlvMlBlRVdSTkJaRmZPa0owb3puNmU5Z0VtZjJ3LzlvTE8rYU4zdnkySjMrTStXVm5kMzkwM3UvNWIzLzE0ZWFYd21sMFlCQi9DbHVaV1hleUw5M2pMMXVhZEx5QjczQTBiOXFQZDdVVWY5U3ZmN01SLzFJc2FNejdreVhsYmErWjd2NVg0Y0xzM3NuZ3pBbDJhNlBwSG5WWUh0TnFZdDRlcTJrdU90Q3FOQnhQMUJ6N3p1TTN3NGlEcW1uMjlYZWRtL3NuUUFQNjgzZXNQRzdRRGVzQnYrdkU1M2dHWGVHV2k5VStYakhZSjNwOUw3MndReC9UNmhlN2pWdzNpNzB2bGdLeS83MG5jQVA2ODNlc1BHN1FEZXNCdit2RTQzdm93dUt1cEJ6TWM5Wkc1QjVIdDk2ZTVWb3ZlNEozeXZGL0tveDd5WXRYN0IvOWZqNS9VMlg4UnhuK21ZSE1CbktxODNmbG9LNUdVdnFTNXE3YnBqYUx1WFUzZEhrVDhXN1Q2QzRvWnErampuN29FR25VNlJ1OVBxMTl0eEJjNVNBUWZ3V2FycmJaK2FBbG9mcG1RZnlFakxJOVhsSHJTNW84dkY3WnpiVzhqTG0yaTdqMFBTQi8xbVBxMlFITUNucHJ3M2RKWUtPSURQVWwxdis5UVU2RjZOU2NOc0Rwa2VhVnJzb1puZXlkM3NZeXludDNRK0pvQm5IM2ZON0FGa01kMUM3UUErTmVXZmJVT1h2WGNIOEdXL3c1ZGtmbnZ2M2NwWUxwdGxxbWRwUGo1T3Vqakk3WHcvNVBFRFhVejNxK2I0OEVxNk0xM2djSUd2SUYyU2FmczBMcmtDRHVCTGZvTXZ5L1JlK3hldjVBcXpUaGI5UnJka0RsM016V3ZUcjNka3ErN0Z1bW0zdE8zMm0vVDYrMS9YeXpKdm44ZmxWc0FCZkxudjc2V1ozZXZ2djY5YmVLVUxXOU5HMFp0WHZhM1pzbDdXS2JSMTkySzFtR3pGWnJxZjJ2b0x2NTZ1WGVQTGN2RGpxUlh3QnM1Y0FRZndtVXZzSFp5R0FzUGhVRi9IKzkzV1YxNXA5dTdNNmkvKzJuTDIyaUhtdDQrNnhRaFhGNWIrMVMvOGNmdVgxOTVJSW5JYVhYb2Jyc0NaSytBQVBuT0p2WU5UVWtBSjRiejc1cHZwK3JmZWFyLzFGbzNld3VVN0g1ZytIRW9XS2QvN29LZlVwemZqQ3B5cEFnN2dNNVhYRzNjRlBxOENYbThURkhBQWI4SmQ5am02QXE3QWhWVEFBWHdoYjRzUHloVndCVFpCQVFmd0p0eGxuK05uVmNETHV3TG5vb0FEK0Z4azlrNWNBVmZBRmZpa0FnN2dUMnJpS2E2QUsrQUtuSXNDRHVCemtkazcrU3dLZUZsWFlGTVVjQUJ2eXAzMmVib0Nyc0NGVThBQmZPRnVpUS9JRlhBRk5rVUJCL0NtM09rbm5hZVhjd1ZjZ1hOVHdBRjhibEo3UjY2QUsrQUsvS3dDRHVDZjFjTmpyb0FyNEFxY213SU80SE9UK2trNjhqS3VnQ3V3U1FvNGdEZnBidnRjWFFGWDRFSXA0QUMrVUxmREIrTUt1QUticElBRCtOSGQ5cEFyNEFxNEF1ZXFnQVA0WE9YMnpsd0JWOEFWZUtTQUEvaVJGaDV5QlZ3QlYrQmNGYmd3QUQ3WFdYdG5yb0FyNEFwY0FBVWN3QmZnSnZnUVhBRlhZRE1WY0FCdjVuMzNXYnNDcnNBRlVHQUY0QXN3RUIrQ0srQUt1QUticG9BRGVOUHV1TS9YRlhBRkxvd0NEdUFMY3l0OElLNkFLL0FNRkhpbVhUcUFuNm44M3JrcjRBcHNzZ0lPNEUyKyt6NTNWOEFWZUtZS09JQ2ZxZnpldVN1dzJRcHMrdXdkd0p2K0JQajhYUUZYNEprcDRBQitadEo3eDY2QUs3RHBDamlBTi8wSjhQbHZyZ0krODJldWdBUDRtZDhDSDRBcjRBcHNxZ0lPNEUyOTh6NXZWOEFWZU9ZS09JQ2YrUzN3QVd5bUFqNXJWd0J3QVB0VDRBcTRBcTdBTTFMQUFmeU1oUGR1WFFGWHdCVndBUHN6c0lrSytKeGRnUXVoZ0FQNFF0d0dINFFyNEFwc29nSU80RTI4Nno1blY4QVZ1QkFLT0lBdnhHM1lyRUg0YkYwQlYyQ2xnQU40cFlOZlhRRlh3QlU0ZHdVY3dPY3V1WGZvQ3JnQ3JzQktBUWZ3U29mTnVmcE1YUUZYNE1JbzRBQytNTGZDQitJS3VBS2Jwb0FEZU5QdXVNL1hGWEFGTG93Q0R1Qnp2UlhlbVN2Z0NyZ0NqeFQ0L3dBQUFQLy93eFpERWdBQUFBWkpSRUZVQXdDZ2lWOUNzQnd6UXdBQUFBQkpSVTVFcmtKZ2dnPT1cIjtcbiAga2ViYWJJY29uU2FmZVVybCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGlzLmtlYmFiQUlJY29uKTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgdGhpcy5zZXRTZWxlY3RhYmxlU2V0dGluZ3MoKTtcbiAgfVxuXG4gIGNvbHVtblRlbXBsYXRlRGljdDogYW55ID0ge307XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb2x1bW5EYXRhLmZvckVhY2goKGNvbHVtbjogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBjb2x1bW4uc29ydGFibGUgPSBjb2x1bW4uc29ydGFibGUgPT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGNvbHVtbi5zb3J0YWJsZTtcbiAgICAgIGlmICghdGhpcy5pZ25vcmVDb2x1bW5DZWxsQ2xpY2suaW5jbHVkZXMoaW5kZXgpKSB7XG4gICAgICAgIGNvbHVtbi5jbGFzcyA9ICdjb2x1bW4tY3Vyc29yLXBvaW50ZXInO1xuICAgICAgfVxuICAgIH0pXG4gICAgaWYgKCF0aGlzLmhhc0FwaVNvcnRpbmcpIHtcbiAgICAgIHRoaXMubG9hZEdyaWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsQm90dG9tKCkge1xuICAgIHRoaXMub25zY3JvbGxCb3R0b20uZW1pdCgpO1xuICB9XG5cbiAgZ2V0UG9zaXRpb24oKTogYW55IHtcbiAgICBpZiAodGhpcy5zaG93VG9vbGJhciAmJiB0aGlzLmluZmluaXRlU2Nyb2xsTG9hZGVyKSB7XG4gICAgICByZXR1cm4gJ2JvdGgnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zaG93VG9vbGJhcikge1xuICAgICAgcmV0dXJuICd0b3AnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pbmZpbml0ZVNjcm9sbExvYWRlcikge1xuICAgICAgcmV0dXJuICdib3R0b20nO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wYWdlYWJsZSkge1xuICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMuX2dyaWRWaWV3LmRhdGE/Lmxlbmd0aDtcbiAgICB9XG4gICAgdGhpcy5jb2x1bW5UZW1wbGF0ZXMuZm9yRWFjaCh4ID0+IHRoaXMuY29sdW1uVGVtcGxhdGVEaWN0W3gudHlwZV0gPSB4LnRlbXBsYXRlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmluaXRHcmlkKCk7XG4gIH1cblxuICBpbml0R3JpZCgpIHtcbiAgICBpZiAodGhpcy5jdXN0b21FeHBhbmRSb3dDb2x1bW4pIHtcbiAgICAgIHRoaXMuZXhwYW5kUm93SW5kZXguZm9yRWFjaCgoaWQpID0+IHtcbiAgICAgICAgdGhpcy5ncmlkLmV4cGFuZFJvdyhpZCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZFJvd3MgPSB0aGlzLl9wcmVTZWxlY3RlZDtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dzPy5sZW5ndGggPT0gdGhpcy5fZ3JpZFZpZXcudG90YWwpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9ICdjaGVja2VkJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAnaW5kZXRlcm1pbmF0ZSc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAndW5jaGVja2VkJztcbiAgICB9XG4gICAgaWYgKHRoaXMuZ3JpZEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaW5pdGlhbEdyaWRIZWlnaHQgPVxuICAgICAgICB0aGlzLmdyaWRFbGVtZW50Py5uYXRpdmVFbGVtZW50Py5vZmZzZXRIZWlnaHQgKyB0aGlzLmdyaWRCb3R0b21TcGFjZTtcbiAgICAgIC8vIHRoaXMuZ2V0R3JpZEhlaWdodCgpO1xuXG4gICAgICBjb25zdCBncmlkQ29udGFpbmVyID0gdGhpcy5ncmlkRWxlbWVudD8ubmF0aXZlRWxlbWVudD8uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnay1ncmlkLWNvbnRhaW5lcicpWzBdO1xuICAgICAgaWYgKGdyaWRDb250YWluZXIgJiYgdGhpcy5zZWxlY3RBbGxNZXNzYWdlRWxlbWVudD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgICAgICBncmlkQ29udGFpbmVyLnBhcmVudEVsZW1lbnQsXG4gICAgICAgICAgdGhpcy5zZWxlY3RBbGxNZXNzYWdlRWxlbWVudD8ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICBncmlkQ29udGFpbmVyLFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNlbGVjdEFsbENoZWNrYm94ID0gdGhpcy5ncmlkRWxlbWVudD8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvcignLnNlbGVjdC1hbGwtaGVhZGVyIGlucHV0Jyk7XG4gICAgICBpZiAoc2VsZWN0QWxsQ2hlY2tib3gpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShzZWxlY3RBbGxDaGVja2JveCwgJ2Rpc2FibGVkJywgdGhpcy5jYW5FbmFibGVTZWxlY3RBbGwoKSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RBY3Jvc3NQYWdlcyhpc1NlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy50cmlnZ2VyU2VsZWN0QWxsUGFnZXNFdmVudChpc1NlbGVjdGVkKTtcbiAgICBpZiAoIWlzU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMub25TZWxlY3RBbGxDaGFuZ2UodGhpcy5wcmV2aW91c1NlbGVjdEFsbFN0YXRlKVxuICAgIH1cbiAgfVxuXG4gIHRyaWdnZXJTZWxlY3RBbGxQYWdlc0V2ZW50KGlzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmFsbFBhZ2VzU2VsZWN0ZWQgPSBpc1NlbGVjdGVkO1xuICAgIHRoaXMub25TZWxlY3RBbGxBY3Jvc3NQYWdlcy5lbWl0KGlzU2VsZWN0ZWQpO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtQ291bnQgPSBpc1NlbGVjdGVkID8gdGhpcy5fZ3JpZFZpZXcudG90YWwgOiAwO1xuICAgIGNvbnNvbGUubG9nKCd0cmlnZ2VyU2VsZWN0QWxsUGFnZXNFdmVudCA6IGlzU2VsZWN0ZWQnLCBpc1NlbGVjdGVkKTtcbiAgfVxuXG4gIGFkZFNlbGVjdEFsbE1lc3NhZ2Uoc2VsZWN0QWxsOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RBbGxNc2dQYXJlbnRFbGVtZW50ID0gdGhpcy5zZWxlY3RBbGxNZXNzYWdlRWxlbWVudD8ubmF0aXZlRWxlbWVudD8ucGFyZW50RWxlbWVudDtcbiAgICBpZiAodGhpcy5zaG93U2VsZWN0QWxsTWVzc2FnZSAmJiB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQgJiYgKHRoaXMuX3BhZ2VDb3VudCA+IDEgfHwgdGhpcy5pc0luZmluaXRlU2Nyb2xsR3JpZCkpIHtcbiAgICAgIGNvbnN0IHNlbGVjdEFsbE1zZ0VsZW1lbnQgPSB0aGlzLnNlbGVjdEFsbE1lc3NhZ2VFbGVtZW50Py5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcubGliLWdyaWQtc2VsZWN0LWFsbC1tZXNzYWdlLWNvbnRhaW5lcicpO1xuICAgICAgaWYgKHNlbGVjdEFsbCkge1xuICAgICAgICBjb25zdCBiZWZvcmVIZWlnaHQgPSB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgICAgIHNlbGVjdEFsbE1zZ0VsZW1lbnQ/LmNsYXNzTGlzdC5hZGQoJ2xpYi1ncmlkLXNlbGVjdC1hbGwtbWVzc2FnZS1zaG93Jyk7XG5cbiAgICAgICAgY29uc3QgYWZ0ZXJIZWlnaHQgPSB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gKHRoaXMuc2VsZWN0QWxsTXNnUGFyZW50RWxlbWVudC5vZmZzZXRIZWlnaHQgLSAoYWZ0ZXJIZWlnaHQgLSBiZWZvcmVIZWlnaHQpKSArICdweCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWxlY3RBbGxNc2dFbGVtZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdsaWItZ3JpZC1zZWxlY3QtYWxsLW1lc3NhZ2Utc2hvdycpO1xuICAgICAgICBpZiAodGhpcy5hbGxQYWdlc1NlbGVjdGVkKSB7XG4gICAgICAgICAgdGhpcy50cmlnZ2VyU2VsZWN0QWxsUGFnZXNFdmVudChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwYWdlQ2hhbmdlKGV2ZW50OiBQYWdlQ2hhbmdlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RBbGxNc2dQYXJlbnRFbGVtZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJydcbiAgICB9XG4gICAgdGhpcy5vblBhZ2VDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICBzZXRTZWxlY3RhYmxlU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2hlY2tib3hPbmx5IHx8IHRoaXMubW9kZSA9PT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMuZHJhZ0NvbHVtbnMgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGFibGVTZXR0aW5ncyA9IHtcbiAgICAgIGNoZWNrYm94T25seTogdGhpcy5jaGVja2JveE9ubHksXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBkcmFnOiB0aGlzLmRyYWdDb2x1bW5zLFxuICAgIH07XG4gIH1cblxuICAvLyBXZSBjYW4gZXh0cmFjdCBkYXRhIG91dCBvZiByb3cgbnVtYmVyIHVzaW5nIGJlbG93IGZ1bmN0aW9uXG4gIC8qIGV4dHJhY3QoKSB7XG4gICAgdGhpcy5leHRyYWN0RGF0YUl0ZW1zID0gdGhpcy5teVNlbGVjdGlvbi5tYXAoaWR4ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmdyaWREYXRhLmZpbmQoKGRhdGE6IHsgUHJvZHVjdElEOiBudW1iZXI7IH0pID0+IGRhdGEuUHJvZHVjdElEID09PSBpZHgpO1xuICAgIH0pO1xuICAgIGNvbnNvbGUubG9nKHRoaXMuZXh0cmFjdERhdGFJdGVtcylcbiAgICB0aGlzLnNlbGVjdGVkUm93RGF0YS5lbWl0KHRoaXMuZXh0cmFjdERhdGFJdGVtcyk7XG4gIH0gKi9cblxuICBzZWxlY3RlZEtleXNDaGFuZ2Uocm93czogbnVtYmVyW10pIHtcbiAgICBsZXQgc2VsZWN0ZWRSb3dEYXRhOiBhbnkgPSBbXTtcbiAgICBsZXQgc2VsZWN0ZWRSb3dzQ291bnQgPSAwO1xuXG4gICAgaWYgKHJvd3M/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHNlbGVjdGVkUm93c0NvdW50ID0gcm93cz8ubGVuZ3RoO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZFJvd3M/Lmxlbmd0aCA+IDAgJiYgdGhpcy5kaXNhYmxlUHJlU2VsZWN0ZWRSb3dzKSB7XG4gICAgICBzZWxlY3RlZFJvd3NDb3VudCA9IHRoaXMuc2VsZWN0ZWRSb3dzPy5sZW5ndGg7XG4gICAgICByb3dzID0gdGhpcy5zZWxlY3RlZFJvd3M7XG4gICAgfVxuICAgIHRoaXMucHJldmlvdXNTZWxlY3RBbGxTdGF0ZSA9IHRoaXMuc2VsZWN0QWxsU3RhdGU7XG4gICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9IHRoaXMuZ2V0U2VsZWN0QWxsU3RhdGUoc2VsZWN0ZWRSb3dzQ291bnQpO1xuICAgIGlmICh0aGlzLnNlbGVjdEFsbFN0YXRlID09PSAndW5jaGVja2VkJyB8fCB0aGlzLnNlbGVjdEFsbFN0YXRlID09PSAnaW5kZXRlcm1pbmF0ZScpIHtcbiAgICAgIHRoaXMuYWRkU2VsZWN0QWxsTWVzc2FnZShmYWxzZSk7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRSb3dEYXRhID0gcm93cy5tYXAocm93RGF0YSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5fZ3JpZFZpZXcuZGF0YS5maW5kKChkYXRhKSA9PiBkYXRhW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdID09PSByb3dEYXRhKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VsZWN0ZWRSb3dEYXRhLmVtaXQoc2VsZWN0ZWRSb3dEYXRhKTtcbiAgfVxuXG4gIGdldFNlbGVjdEFsbFN0YXRlKHNlbGVjdGVkUm93c0NvdW50OiBudW1iZXIpOiBhbnkge1xuICAgIGlmIChzZWxlY3RlZFJvd3NDb3VudCA9PSB0aGlzLl9ncmlkVmlldy50b3RhbCkge1xuICAgICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9ICdjaGVja2VkJztcbiAgICB9IGVsc2UgaWYgKHNlbGVjdGVkUm93c0NvdW50ID09IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAndW5jaGVja2VkJztcbiAgICAgIHRoaXMuYWRkU2VsZWN0QWxsTWVzc2FnZShmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAnaW5kZXRlcm1pbmF0ZSc7XG4gICAgICB0aGlzLmFkZFNlbGVjdEFsbE1lc3NhZ2UoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2ViYWJDbGljayhpdGVtOiBhbnksIHJvd0RldGFpbHM6IGFueSkge1xuICAgIHRoaXMua2ViYWJJdGVtQ2xpY2suZW1pdCh7IGFjdGlvbjogaXRlbSwgcm93RGV0YWlscyB9KTtcbiAgfVxuXG4gIG9uRGV0YWlsRXhwYW5kKHJvd0RhdGE6IGFueSkge1xuICAgIHRoaXMucm93RGV0YWlscy5lbWl0KHJvd0RhdGEuZGF0YUl0ZW0pO1xuICB9XG5cbiAgY2VsbENsaWNrSGFuZGxlcihhcmdzOiBDZWxsQ2xpY2tFdmVudCkge1xuICAgIGlmICh0aGlzLmFsbG93Q29sdW1uQ2xpY2spIHtcbiAgICAgIGlmICh0aGlzLmlnbm9yZUNvbHVtbkNlbGxDbGljay5pbmNsdWRlcyhhcmdzLmNvbHVtbkluZGV4KSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnJvd0RhdGFPZkNsaWNrZWRDZWxsLmVtaXQoeyBkYXRhSXRlbTogYXJncy5kYXRhSXRlbSwgY29sdW1uSW5kZXg6IGFyZ3MuY29sdW1uSW5kZXggfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmFsbG93RWRpdGluZ0NlbGwpIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwID0gY3JlYXRlRm9ybUdyb3VwKGFyZ3MuZGF0YUl0ZW0pO1xuICAgICAgYXJncy5zZW5kZXIuZWRpdENlbGwoYXJncy5yb3dJbmRleCwgYXJncy5jb2x1bW5JbmRleCwgdGhpcy5mb3JtR3JvdXApO1xuICAgIH1cbiAgfVxuXG4gIHNvcnRDaGFuZ2Uoc29ydDogU29ydERlc2NyaXB0b3JbXSk6IHZvaWQge1xuICAgIHRoaXMuc29ydCA9IHNvcnQ7XG4gICAgaWYgKCF0aGlzLmhhc0FwaVNvcnRpbmcpIHtcbiAgICAgIHRoaXMubG9hZEdyaWREYXRhKCk7XG4gICAgfVxuICAgIHRoaXMuc29ydERpcmVjdGlvbi5lbWl0KHRoaXMuc29ydCk7XG4gIH1cblxuICBsb2FkR3JpZERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5fZ3JpZFZpZXcgPSB7XG4gICAgICBkYXRhOiBvcmRlckJ5KHRoaXMuX2dyaWRWaWV3Py5kYXRhLCB0aGlzLnNvcnQpLFxuICAgICAgdG90YWw6IHRoaXMuX2dyaWRWaWV3Py50b3RhbCxcbiAgICB9O1xuICB9XG5cbiAgZXhwYW5kUm93KGlkOiBudW1iZXIpIHtcbiAgICB0aGlzLmdyaWQuZXhwYW5kUm93KGlkKTtcbiAgICB0aGlzLmV4cGFuZFJvd0luZGV4LnB1c2goaWQpO1xuICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIC8vICAgdGhpcy5nZXRHcmlkSGVpZ2h0KCk7XG4gICAgLy8gfSwgMCk7XG4gIH1cblxuICBjb2xsYXBzZVJvdyhpZDogbnVtYmVyKSB7XG4gICAgdGhpcy5ncmlkLmNvbGxhcHNlUm93KGlkKTtcbiAgICB0aGlzLmV4cGFuZFJvd0luZGV4LnNwbGljZSh0aGlzLmV4cGFuZFJvd0luZGV4LmluZGV4T2YoaWQpLCAxKTtcbiAgICAvLyBpZiAodGhpcy5leHBhbmRSb3dJbmRleD8ubGVuZ3RoID09IDApIHtcbiAgICAvLyAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAvLyAgIGNvbnN0IHZpZXdwb3J0OiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGliLWdyaWQnKTtcbiAgICAvLyAgIGNvbnN0IGdyaWRPZmZzZXQgPSB2aWV3cG9ydC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cuc2Nyb2xsWTtcbiAgICAvLyAgIGlmICh3aW5kb3dIZWlnaHQgPiBncmlkT2Zmc2V0ICsgdGhpcy5pbml0aWFsR3JpZEhlaWdodCkge1xuICAgIC8vICAgICB0aGlzLmhlaWdodCA9ICcxMDAlJztcbiAgICAvLyAgICAgcmV0dXJuO1xuICAgIC8vICAgfVxuICAgIC8vICAgLy8gdGhpcy5nZXRHcmlkSGVpZ2h0KCk7XG4gICAgLy8gfVxuICB9XG5cbiAgb25EZWxldGUocm93RGV0YWlsczogYW55KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmdldEhlYWRlckhlaWdodCgpO1xuICAgIH0sIDEwMDApO1xuICAgIHRoaXMuZGVsZXRlZFJvd0RhdGEuZW1pdChyb3dEZXRhaWxzKTtcbiAgfVxuXG4gIGdldEhlYWRlckhlaWdodCgpIHtcbiAgICBpZiAodGhpcy5fZ3JpZFZpZXc/LmRhdGE/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuICdoaWRlLWhlYWRlcic7XG4gICAgfVxuICAgIHJldHVybiAndmlldy1oZWFkZXInO1xuICB9XG5cbiAgLypcbiAgICogVGhpcyBsb2dpYyBvZiBkeW5hbWljYWxseSBjYWxjdWxhdGluZyB0aGUgaGVpZ2h0IG9mIGdyaWQgbmVlZCBmdXJ0aGVyIGJyYWluc3Rvcm1pbmcgaGVuY2UgY29tbWVudGVkIGZvciBub3cuXG4gICAqL1xuICAvLyBnZXRHcmlkSGVpZ2h0KCkge1xuICAvLyAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgLy8gICBjb25zdCB2aWV3cG9ydDogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpYi1ncmlkJyk7XG4gIC8vICAgY29uc3QgZ3JpZE9mZnNldCA9IHZpZXdwb3J0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5zY3JvbGxZO1xuICAvLyAgIGNvbnN0IGdyaWRIZWlnaHQgPVxuICAvLyAgICAgdGhpcy5ncmlkRWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodCArIHRoaXMuZ3JpZEJvdHRvbVNwYWNlOyAvL2dyaWQgc2hvdWxkIGhhdmUgMjRweCBzcGFjZSBhdCBib3R0b21cbiAgLy8gICBpZiAoZ3JpZE9mZnNldCArIGdyaWRIZWlnaHQgPj0gd2luZG93SGVpZ2h0KSB7XG4gIC8vICAgICB0aGlzLmhlaWdodCA9IHdpbmRvd0hlaWdodCAtIChncmlkT2Zmc2V0ICsgdGhpcy5ncmlkQm90dG9tU3BhY2UpO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAvLyByZXNpemUoZXY6IGFueSkge1xuICAvLyAgIGlmIChldi50YXJnZXQuaW5uZXJIZWlnaHQgPiB0aGlzLnJlc2l6ZUhlaWdodCkge1xuICAvLyAgICAgdGhpcy5yZXNpemVIZWlnaHQgPSBldi50YXJnZXQuaW5uZXJIZWlnaHQ7XG4gIC8vICAgICB0aGlzLmhlaWdodCA9ICcxMDAlJztcbiAgLy8gICB9XG4gIC8vICAgaWYgKHRoaXMucmVzaXplSGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0KSB7XG4gIC8vICAgICB0aGlzLnJlc2l6ZUhlaWdodCA9IDA7XG4gIC8vICAgfVxuICAvLyAgIHRoaXMuZ2V0R3JpZEhlaWdodCgpO1xuICAvLyB9XG5cbiAgcm93Q2xhc3MgPSAoYXJnczogUm93Q2xhc3NBcmdzKSA9PiB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dzICYmIHRoaXMuZGlzYWJsZVByZVNlbGVjdGVkUm93cykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgJ2stZGlzYWJsZWQnOiB0aGlzLnNlbGVjdGVkUm93cy5pbmNsdWRlcyhcbiAgICAgICAgICBhcmdzLmRhdGFJdGVtW3RoaXMuZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdXG4gICAgICAgICkgfHwgdGhpcy5hbGxQYWdlc1NlbGVjdGVkLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9O1xuXG4gIGV4cGFuZENvbHVtbkNsYXNzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID4gMCAmJiB0aGlzLmRpc2FibGVQcmVTZWxlY3RlZFJvd3MpIHtcbiAgICAgIHRoaXMuZXhwYW5kUm93Q29sdW1uV2lkdGggPSAxOTQ7XG4gICAgICByZXR1cm4gJ2V4cGFuZC1yb3cnO1xuICAgIH1cbiAgICB0aGlzLmV4cGFuZFJvd0NvbHVtbldpZHRoID0gNTY7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgb25TZWxlY3RBbGxDaGFuZ2UoY2hlY2tlZFN0YXRlOiBTZWxlY3RBbGxDaGVja2JveFN0YXRlKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY2hlY2tlZFN0YXRlID09PSAnY2hlY2tlZCdcbiAgICApIHtcbiAgICAgIHRoaXMuX3ByZVNlbGVjdGVkID0gdGhpcy5fZ3JpZFZpZXcuZGF0YVxuICAgICAgICAubWFwKChpdGVtOiBhbnkpID0+IGl0ZW1bdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV0pXG4gICAgICAgIC5maWx0ZXIoKGlkOiBhbnkpID0+IGlkKTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAnY2hlY2tlZCc7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbUNvdW50ID0gdGhpcy5fZ3JpZFZpZXcuZGF0YS5sZW5ndGg7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID4gMCAmJiB0aGlzLmRpc2FibGVQcmVTZWxlY3RlZFJvd3MpIHtcbiAgICAgIHRoaXMuX3ByZVNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZFJvd3M7XG4gICAgICB0aGlzLnNlbGVjdEFsbFN0YXRlID0gJ2luZGV0ZXJtaW5hdGUnO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1Db3VudCA9IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ByZVNlbGVjdGVkID0gW107XG4gICAgICB0aGlzLnNlbGVjdEFsbFN0YXRlID0gJ3VuY2hlY2tlZCc7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbUNvdW50ID0gMDtcbiAgICB9XG4gICAgdGhpcy5hZGRTZWxlY3RBbGxNZXNzYWdlKHRoaXMuc2VsZWN0QWxsU3RhdGUgPT09ICdjaGVja2VkJyk7XG4gIH1cblxuICBjYW5FbmFibGVTZWxlY3RBbGwoKSB7XG4gICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID09IHRoaXMuX2dyaWRWaWV3LnRvdGFsICYmXG4gICAgICB0aGlzLmRpc2FibGVQcmVTZWxlY3RlZFJvd3MpXG4gIH1cblxuICBwdWJsaWMgY2VsbENsb3NlSGFuZGxlcihhcmdzOiBDZWxsQ2xvc2VFdmVudCk6IHZvaWQge1xuICAgIGxldCB7IGZvcm1Hcm91cCwgZGF0YUl0ZW0gfSA9IGFyZ3M7XG4gICAgaWYgKCFmb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIGFyZ3MucHJldmVudERlZmF1bHQoKTtcbiAgICB9IGVsc2UgaWYgKGZvcm1Hcm91cC5kaXJ0eSkge1xuICAgICAgaWYgKGFyZ3Mub3JpZ2luYWxFdmVudCAmJiBhcmdzLm9yaWdpbmFsRXZlbnQua2V5Q29kZSA9PT0gS2V5cy5Fc2NhcGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgT2JqZWN0LmFzc2lnbihkYXRhSXRlbSwgZm9ybUdyb3VwLnZhbHVlKTtcbiAgICAgIHRoaXMuc2F2ZUNoYW5nZXMoKTtcbiAgICAgIHRoaXMudXBkYXRlZERhdGEuZW1pdCh0aGlzLmdyaWQuZGF0YSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2F2ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkLmNsb3NlQ2VsbCgpO1xuICAgIHRoaXMuZ3JpZC5jYW5jZWxDZWxsKCk7XG4gIH1cblxuICByZWZyZXNoR3JpZERhdGEoKSB7XG4gICAgdGhpcy5lbWl0UmVmcmVzaEV2dC5lbWl0KCk7XG4gIH1cblxuICBvbkNoZWZ5Q2xpY2soZTogYW55LCBkYXRhSXRlbTogYW55LCBxdWVyeSA9IG51bGwpIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNvbnN0IGN1c3RvbUV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdncmlkQ2hlZnlDbGljaycsIHtcbiAgICAgIGRldGFpbDoge1xuICAgICAgICBpdGVtTmFtZTogdGhpcy5pdGVtTmFtZSxcbiAgICAgICAgZGF0YUl0ZW06IGRhdGFJdGVtLFxuICAgICAgICBxdWVyeTogcXVlcnlcbiAgICAgIH0sXG4gICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgY2FuY2VsYWJsZTogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLy8gRGlzcGF0Y2ggb24gZG9jdW1lbnQgdG8gbWFrZSBpdCBnbG9iYWxseSBhdmFpbGFibGVcbiAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KGN1c3RvbUV2ZW50KTtcbiAgfVxuXG59XG4iLCI8ZGl2ICNncmlkRWxlbWVudCBbbmdDbGFzc109XCJjb2x1bW5Db250ZW50Tm9XcmFwID8gJ2NvbHVtbi1jb250ZW50LW5vd3JhcCcgOiAnJ1wiPlxuICA8a2VuZG8tZ3JpZCBbZGF0YV09XCJfZ3JpZFZpZXdcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIiBbc2tpcF09XCJza2lwXCIgW3NlbGVjdGFibGVdPVwic2VsZWN0YWJsZVNldHRpbmdzXCJcbiAgICBbcGFnZWFibGVdPVwicGFnZWFibGVcIiBbc29ydGFibGVdPVwic29ydGFibGVcIiBbbG9hZGluZ109XCJncmlkTG9hZGluZ1wiIFtncm91cGFibGVdPVwiZ3JvdXBhYmxlXCJcbiAgICBbcmVvcmRlcmFibGVdPVwicmVvcmRlcmFibGVcIiBbcmVzaXphYmxlXT1cInJlc2l6YWJsZVwiIFtjb2x1bW5NZW51XT1cImNvbHVtbk1lbnVcIiBbbmF2aWdhYmxlXT1cIm5hdmlnYWJsZVwiXG4gICAgW2hlaWdodF09XCJncmlkSGVpZ2h0XCIgKGNoYW5nZSk9XCJzZXRTZWxlY3RhYmxlU2V0dGluZ3MoKVwiIChzZWxlY3RlZEtleXNDaGFuZ2UpPVwic2VsZWN0ZWRLZXlzQ2hhbmdlKCRldmVudClcIlxuICAgIFtrZW5kb0dyaWRTZWxlY3RCeV09XCJncmlkUm93U2VsZWN0QnlWYWx1ZVwiIChkZXRhaWxFeHBhbmQpPVwib25EZXRhaWxFeHBhbmQoJGV2ZW50KVwiIFtzZWxlY3RlZEtleXNdPVwiX3ByZVNlbGVjdGVkXCJcbiAgICAocGFnZUNoYW5nZSk9XCJwYWdlQ2hhbmdlKCRldmVudClcIiAoY2VsbENsaWNrKT1cImNlbGxDbGlja0hhbmRsZXIoJGV2ZW50KVwiIChjZWxsQ2xvc2UpPVwiY2VsbENsb3NlSGFuZGxlcigkZXZlbnQpXCJcbiAgICBbc29ydF09XCJzb3J0XCIgKHNvcnRDaGFuZ2UpPVwic29ydENoYW5nZSgkZXZlbnQpXCIgKHNjcm9sbEJvdHRvbSk9XCJzY3JvbGxCb3R0b20oKVwiIFtuZ0NsYXNzXT1cImdldEhlYWRlckhlaWdodCgpXCJcbiAgICBpZD1cImxpYi1ncmlkXCIgW3Jvd0NsYXNzXT1cInJvd0NsYXNzXCI+XG4gICAgPGRpdiAjc2VsZWN0QWxsTWVzc2FnZUVsZW1lbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwibGliLWdyaWQtc2VsZWN0LWFsbC1tZXNzYWdlLWNvbnRhaW5lclwiXG4gICAgICAgICpuZ0lmPVwiKChzZWxlY3RlZEl0ZW1Db3VudCA8IF9ncmlkVmlldy50b3RhbCkgfHwgYWxsUGFnZXNTZWxlY3RlZClcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihzZWxlY3RlZEl0ZW1Db3VudCA8IF9ncmlkVmlldy50b3RhbClcIiBjbGFzcz1cImxpYi1ncmlkLXNlbGVjdC1hbGwtbWVzc2FnZVwiPlxuICAgICAgICAgIDxsaWItdHlwb2dyYXBoeSBbZGVmYXVsdFRleHRdPVwiJ0FsbCAnK3NlbGVjdGVkSXRlbUNvdW50KycgJytpdGVtTmFtZSsnIG9uIHRoaXMgcGFnZSBhcmUgc2VsZWN0ZWQuJ1wiXG4gICAgICAgICAgICB0eXBlPVwiQk9EWV9TTUFMTFwiPjwvbGliLXR5cG9ncmFwaHk+XG4gICAgICAgICAgPHU+PGxpYi10eXBvZ3JhcGh5IChjbGljayk9XCJzZWxlY3RBY3Jvc3NQYWdlcyh0cnVlKVwiIGNsYXNzPVwic2VsZWN0LWFsbC1oYW5kbGVyXCJcbiAgICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidTZWxlY3QgYWxsICcrX2dyaWRWaWV3LnRvdGFsKycgJytpdGVtTmFtZSsnIGZyb20gYWxsIHBhZ2VzJ1wiXG4gICAgICAgICAgICAgIHR5cGU9XCJCT0RZX1NNQUxMXCI+PC9saWItdHlwb2dyYXBoeT48L3U+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYWxsUGFnZXNTZWxlY3RlZFwiIGNsYXNzPVwibGliLWdyaWQtc2VsZWN0LWFsbC1tZXNzYWdlXCI+XG4gICAgICAgICAgPGxpYi1pY29uIG5hbWU9XCJjaXJjbGUtY2hlY2tlZFwiIGNsYXNzPVwiYWxsLXNlbGVjdGVkLWljb25cIj48L2xpYi1pY29uPlxuICAgICAgICAgIDxsaWItdHlwb2dyYXBoeSBbZGVmYXVsdFRleHRdPVwiJ0FsbCAnK19ncmlkVmlldy50b3RhbCsnICcraXRlbU5hbWUrJyBhY3Jvc3MgYWxsIHBhZ2VzIGFyZSBzZWxlY3RlZC4nXCJcbiAgICAgICAgICAgIHR5cGU9XCJCT0RZX1NNQUxMXCI+PC9saWItdHlwb2dyYXBoeT5cbiAgICAgICAgICA8dT48bGliLXR5cG9ncmFwaHkgKGNsaWNrKT1cInNlbGVjdEFjcm9zc1BhZ2VzKGZhbHNlKVwiIGNsYXNzPVwic2VsZWN0LWFsbC1oYW5kbGVyXCJcbiAgICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidDbGVhciBzZWxlY3Rpb24nXCIgdHlwZT1cIkJPRFlfU01BTExcIj48L2xpYi10eXBvZ3JhcGh5PjwvdT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkVG9vbGJhclRlbXBsYXRlIFtwb3NpdGlvbl09XCJnZXRQb3NpdGlvbigpXCIgbGV0LXBvc2l0aW9uPVwicG9zaXRpb25cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93VG9vbGJhciAmJiBwb3NpdGlvbiA9PT0gJ3RvcCdcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1JlZnJlc2hcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2hvd1JlZnJlc2hUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZmluaXRlU2Nyb2xsTG9hZGVyICYmIHBvc2l0aW9uID09PSAnYm90dG9tJ1wiPlxuICAgICAgICA8bGliLWdyaWQtcGFnaW5hdGlvbi1zcGFjZXI+PC9saWItZ3JpZC1wYWdpbmF0aW9uLXNwYWNlcj5cbiAgICAgICAgPGxpYi1sb2FkZXIgW3R5cGVdPVwibG9hZGVyVHlwZVwiIFtzaXplXT1cImxvYWRlclNpemVcIiBbdGhlbWVDb2xvcl09XCJsb2FkZXJUaGVtZVwiPjwvbGliLWxvYWRlcj5cbiAgICAgICAgPGxpYi1ncmlkLXBhZ2luYXRpb24tc3BhY2VyPjwvbGliLWdyaWQtcGFnaW5hdGlvbi1zcGFjZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNzaG93UmVmcmVzaFRlbXBsYXRlPlxuICAgICAgPGxpYi10b29sdGlwIHBvc2l0aW9uPVwidG9wXCIgc2hvd09uPVwiaG92ZXJcIiBbdG9vbHRpcFdpZHRoXT1cIjY4XCIgW2NhbGxvdXRdPVwidHJ1ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XG4gICAgICAgICAgPGxpYi10eXBvZ3JhcGh5IGRlZmF1bHRUZXh0PVwiUmVmcmVzaFwiPjwvbGliLXR5cG9ncmFwaHk+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bGliLWJ1dHRvbiBzaXplPVwic21hbGxcIiB3aWR0aD1cIjIuNHJlbVwiIHJvdW5kZWQ9XCJzbWFsbFwiIGZpbGxNb2RlPVwic29saWRcIiB0aGVtZUNvbG9yPVwicHJpbWFyeVwiIGljb25OYW1lPVwicmVzZXRcIlxuICAgICAgICAgIFt0b2dnbGVhYmxlXT1cImZhbHNlXCIgKGJ1dHRvbkNsaWNrKT1cInJlZnJlc2hHcmlkRGF0YSgpXCIgW2ljb25CdXR0b25dPVwidHJ1ZVwiIFtpY29uRm9udFNpemVdPVwiMTNcIj48L2xpYi1idXR0b24+XG4gICAgICA8L2xpYi10b29sdGlwPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkTG9hZGluZ1RlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz1cImstbG9hZGluZy1jb2xvclwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCI+XG4gICAgICAgIDxsaWItbG9hZGVyIFt0eXBlXT1cImxvYWRlclR5cGVcIiBbc2l6ZV09XCJsb2FkZXJTaXplXCIgW3RoZW1lQ29sb3JdPVwibG9hZGVyVGhlbWVcIj48L2xpYi1sb2FkZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwidGhpcy5fZ3JpZFZpZXcudG90YWwgPT09IDBcIiBrZW5kb0dyaWROb1JlY29yZHNUZW1wbGF0ZT5cbiAgICAgIDxsaWItdHlwb2dyYXBoeSAqbmdJZj1cIiFsb2FkaW5nXCIgW2RlZmF1bHRUZXh0XT1cIm5vUmVjb3Jkc0NvbnRlbnRcIiB0eXBlPVwiQk9EWV9NRURJVU1cIj48L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgPGxpYi1sb2FkZXIgKm5nSWY9XCJsb2FkaW5nXCIgW3R5cGVdPVwibG9hZGVyVHlwZVwiIFtzaXplXT1cImxvYWRlclNpemVcIiBbdGhlbWVDb2xvcl09XCJsb2FkZXJUaGVtZVwiPjwvbGliLWxvYWRlcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aGlzLl9ncmlkVmlldy50b3RhbCA+IDBcIj5cbiAgICAgIDxrZW5kby1ncmlkLWNoZWNrYm94LWNvbHVtbiAjc2VsZWN0QWxsQ2hlY2tib3ggaGVhZGVyQ2xhc3M9XCJzZWxlY3QtYWxsLWhlYWRlclwiICpuZ0lmPVwiY2hlY2tCb3hSZXF1aXJlZFwiXG4gICAgICAgIFt3aWR0aF09XCJjaGVja0JveFdpZHRoXCIgW3Jlc2l6YWJsZV09XCJjaGVja0JveENvbHVtblJlc2l6YWJsZVwiIFtjb2x1bW5NZW51XT1cImNoZWNrQm94Q29sdW1uTWVudVwiXG4gICAgICAgIGNsYXNzPVwiY2hlY2tib3gtY29sdW1uXCIgW3N0aWNreV09XCJpc0NoZWNrQm94Q29sdW1uU3RpY2t5ICYmICFjdXN0b21FeHBhbmRSb3dDb2x1bW5cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZEhlYWRlclRlbXBsYXRlICpuZ0lmPVwiaXNTZWxlY3RBbGxDaGVja2JveFJlcXVpcmVkXCI+XG4gICAgICAgICAgPGlucHV0IGlkPVwic2VsZWN0QWxsQ2hlY2tib3hJZFwiIHR5cGU9XCJjaGVja2JveFwiIGtlbmRvQ2hlY2tCb3gga2VuZG9HcmlkU2VsZWN0QWxsQ2hlY2tib3hcbiAgICAgICAgICAgIFtzdGF0ZV09XCJzZWxlY3RBbGxTdGF0ZVwiIChzZWxlY3RBbGxDaGFuZ2UpPVwib25TZWxlY3RBbGxDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2tlbmRvLWdyaWQtY2hlY2tib3gtY29sdW1uPlxuXG4gICAgICA8a2VuZG8tZ3JpZC1jb2x1bW4gY2xhc3M9XCJncmlkLWNvbHVtblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbHVtbkRhdGE7IGxldCBpID0gaW5kZXhcIiBbZmllbGRdPVwiaXRlbS5maWVsZFwiXG4gICAgICAgIFt0aXRsZV09XCJpdGVtLnRpdGxlXCIgW3dpZHRoXT1cIml0ZW0uY29sdW1uV2lkdGhcIiBbbWluUmVzaXphYmxlV2lkdGhdPVwibWluUmVzaXphYmxlV2lkdGhcIlxuICAgICAgICBbc29ydGFibGVdPVwiaXRlbS5zb3J0YWJsZVwiIFtlZGl0b3JdPVwiaXRlbS5lZGl0b3JcIiBbY2xhc3NdPVwiaXRlbS5jbGFzc1wiXG4gICAgICAgIFtzdGlja3ldPVwiaXRlbS5jb2x1bW5TdGlja3kgJiYgIWN1c3RvbUV4cGFuZFJvd0NvbHVtblwiPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cInNvcnRhYmxlXCIga2VuZG9HcmlkSGVhZGVyVGVtcGxhdGU+XG4gICAgICAgICAge3tpdGVtLnRpdGxlfX1cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRbMF0uZmllbGQgPT09IGl0ZW0uZmllbGRcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydFswXS5kaXIgPT09ICdhc2MnXCI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0WzBdLmRpciA9PT0gJ2Rlc2MnXCI+PC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8IS0tIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImkgPT09IDBcIiBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaXJzdC1jdXN0b20tY29sdW1uXCI+XG4gICAgICAgICAgICA8bGliLXR5cG9ncmFwaHkgdHlwZT1cIkJPRFlfTUVESVVNXCI+e3tkYXRhSXRlbT8uW2l0ZW0uZmllbGRdfX08L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgICAgICAgPGxpYi1idXR0b24gY2xhc3M9XCJjaGVmeVwiIHNpemU9XCJzbWFsbFwiIHJvdW5kZWQ9XCJmdWxsXCIgKGJ1dHRvbkNsaWNrKT1cIm9uQ2hlZnlDbGljaygkZXZlbnQsIGRhdGFJdGVtKVwiIGZpbGxNb2RlPVwic29saWRcIlxuICAgICAgICAgICAgICB0aGVtZUNvbG9yPVwicHJpbWFyeVwiIGxhYmVsPVwiQ2hlZnlcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPiAtLT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpdGVtLmN1c3RvbUNvbHVtblwiIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2x1bW5UZW1wbGF0ZURpY3RbaXRlbS50eXBlXVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyRpbXBsaWNpdDogZGF0YUl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaXRlbS5jdXN0b21cIiBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVJlZjsgY29udGV4dDogeyRpbXBsaWNpdDogZGF0YUl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIml0ZW0uaW1wYWN0XCIga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW1wYWN0Q29sdW1uOyBjb250ZXh0OiB7JGltcGxpY2l0OiBkYXRhSXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG5cbiAgICAgIDxrZW5kby1ncmlkLWNvbHVtbiAqbmdJZj1cInNob3dEZWxldGVDb2x1bW5cIiBbd2lkdGhdPVwiZGVsZXRlQ29sdW1uV2lkdGhcIiBjbGFzcz1cImRlbGV0ZS1jb2x1bW5cIiB0aXRsZT1cIkFjdGlvblwiXG4gICAgICAgIFtzdGlja3ldPVwiaXNEZWxldGVDb2x1bW5TdGlja3kgJiYgIWN1c3RvbUV4cGFuZFJvd0NvbHVtblwiPlxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbSBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgIDxsaWItdG9vbHRpcCBzaG93T249XCJob3ZlclwiIHBvc2l0aW9uPVwiYm90dG9tXCIgY2xhc3M9XCJyZW1vdmUtdG9vbHRpcFwiPlxuICAgICAgICAgICAgPGxpYi1pY29uIG5hbWU9XCJkZWxldGVcIiBjbGFzcz1cImRlbGV0ZS1pY29uXCIgKGNsaWNrKT1cIm9uRGVsZXRlKGRhdGFJdGVtKVwiPjwvbGliLWljb24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxsaWItdHlwb2dyYXBoeSBkZWZhdWx0VGV4dD1cIlJlbW92ZVwiPjwvbGliLXR5cG9ncmFwaHk+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2xpYi10b29sdGlwPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9rZW5kby1ncmlkLWNvbHVtbj5cblxuICAgICAgPGtlbmRvLWdyaWQtY29sdW1uIFt3aWR0aF09XCJrZWJhYkNvbHVtbldpZHRoXCIgY2xhc3M9XCJrZWJhYi1jb2x1bW5cIiB0aXRsZT1cIkFjdGlvbnNcIlxuICAgICAgICBbc3RpY2t5XT1cImlzS2ViYWJDb2x1bW5TdGlja3kgJiYgIWN1c3RvbUV4cGFuZFJvd0NvbHVtblwiPlxuICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbSBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJhaVF1ZXN0aW9ucyAmJiBhaVF1ZXN0aW9ucz8ubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgPGRpdiBrZW5kb1BvcG92ZXJBbmNob3IgW3BvcG92ZXJdPVwiYWN0aW9uUG9wb3ZlclwiIHNob3dPbj1cImhvdmVyXCI+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCJrZWJhYkljb25TYWZlVXJsXCIgYWx0PVwiQXNrIENoZWYgQUlcIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6ICcxLjc1cmVtJywgY3Vyc29yOiAncG9pbnRlcicsIHBvc2l0aW9uOiAncmVsYXRpdmUnLCB0b3A6ICctMnB4JyB9XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGVmeUNsaWNrKCRldmVudCwgZGF0YUl0ZW0pXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPGtlbmRvLXBvcG92ZXIgI2FjdGlvblBvcG92ZXIgYXBwZW5kVG89XCJib2R5XCIgW3dpZHRoXT1cIjIwMFwiIFtvZmZzZXRdPVwiLTVcIiBwb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgcG9wdXBDbGFzcz1cImNoZWYtYWktbWVudVwiIFtjYWxsb3V0XT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvUG9wb3ZlckJvZHlUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWNvbW1lbmRhdGlvbnNcIiAqbmdGb3I9XCJsZXQgcXVlc3Rpb24gb2YgYWlRdWVzdGlvbnNcIiAoY2xpY2spPVwib25DaGVmeUNsaWNrKCRldmVudCwgZGF0YUl0ZW0sIHF1ZXN0aW9uKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXR5cG9ncmFwaHkgdHlwZT1cIkJPRFlfTUVESVVNXCIgW2RlZmF1bHRUZXh0XT1cInF1ZXN0aW9uXCI+PC9saWItdHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlY29tbWVuZGF0aW9ucyBhY3Rpb24taXRlbVwiIChjbGljayk9XCJvbkNoZWZ5Q2xpY2soJGV2ZW50LCBkYXRhSXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImtlYmFiSWNvblNhZmVVcmxcIiBhbHQ9XCJBc2sgQ2hlZiBBSVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyB3aWR0aDogJzEuNXJlbScsIGN1cnNvcjogJ3BvaW50ZXInLCBwb3NpdGlvbjogJ3JlbGF0aXZlJywgdG9wOiAnLTJweCcgfVwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi10eXBvZ3JhcGh5IHR5cGU9XCJCT0RZX01FRElVTVwiIGRlZmF1bHRUZXh0PVwiU3RhcnQgTmV3IENvbnZlcnNhdGlvblwiPjwvbGliLXR5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L2tlbmRvLXBvcG92ZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWFpUXVlc3Rpb25zIHx8IGFpUXVlc3Rpb25zPy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJrZWJhYkljb25TYWZlVXJsXCIgYWx0PVwiQXNrIENoZWYgQUlcIlxuICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IHdpZHRoOiAnMS43NXJlbScsIGN1cnNvcjogJ3BvaW50ZXInLCBwb3NpdGlvbjogJ3JlbGF0aXZlJywgdG9wOiAnLTJweCcgfVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkNoZWZ5Q2xpY2soJGV2ZW50LCBkYXRhSXRlbSlcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93S2ViYWJcIj5cbiAgICAgICAgICAgIDxrZW5kby1kcm9wZG93bmJ1dHRvbiAqbmdJZj1cIiFoaWRlS2ViYWJSb3dJbmRleC5pbmNsdWRlcyhyb3dJbmRleClcIiBbc3ZnSWNvbl09XCJpY29uXCIgZmlsbE1vZGU9XCJub25lXCJcbiAgICAgICAgICAgICAgW2RhdGFdPVwia2ViYWJMaXN0IHwga2ViYWJNZW51RmlsdGVyIDogZGF0YUl0ZW1cIiBjbGFzcz1cImtlYmFiXCIgKGl0ZW1DbGljayk9XCJvbktlYmFiQ2xpY2soJGV2ZW50LCBkYXRhSXRlbSlcIlxuICAgICAgICAgICAgICBbcG9wdXBTZXR0aW5nc109XCJ7IGFsaWduOiAncmlnaHQnLCBhbmltYXRlOiB0cnVlLCBwb3B1cENsYXNzOiAna2ViYWItbGlzdCcgfVwiPlxuICAgICAgICAgICAgPC9rZW5kby1kcm9wZG93bmJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIExpbWl0YXRpb246IGRldGFpbCB0ZW1wbGF0ZSBhbmQgc3RpY2t5IGNvbHVtbnMgZG8gbm90IGNvLWV4aXN0LS0+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiY3VzdG9tRXhwYW5kUm93Q29sdW1uXCIga2VuZG9HcmlkRGV0YWlsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRldGFpbFRlbXBsYXRlOyBjb250ZXh0OiB7JGltcGxpY2l0OiBkYXRhSXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPGtlbmRvLWdyaWQtY29sdW1uICpuZ0lmPVwiY3VzdG9tRXhwYW5kUm93Q29sdW1uXCIgW3dpZHRoXT1cImV4cGFuZFJvd0NvbHVtbldpZHRoXCIgY2xhc3M9XCJncmlkLWNvbHVtbiBleHBhbmQtY29sdW1uXCI+XG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbSBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImV4cGFuZENvbHVtbkNsYXNzKClcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNlbGVjdGVkUm93cy5pbmNsdWRlcyhkYXRhSXRlbVtncmlkUm93U2VsZWN0QnlWYWx1ZV0pICYmIGRpc2FibGVQcmVTZWxlY3RlZFJvd3NcIlxuICAgICAgICAgICAgY2xhc3M9XCJleHBhbmQtY29sdW1uLXRleHRcIj5cbiAgICAgICAgICAgIEFscmVhZHkgYWRkZWRcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPGtlbmRvLWJ1dHRvbiAqbmdJZj1cIiFleHBhbmRSb3dJbmRleC5pbmNsdWRlcyhyb3dJbmRleClcIiBbc3ZnSWNvbl09XCJhcnJvd0Rvd25JY29uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRSb3cocm93SW5kZXgpXCIgZmlsbE1vZGU9XCJub25lXCIgY2xhc3M9XCJhcnJvdy1idG5cIj5cbiAgICAgICAgICA8L2tlbmRvLWJ1dHRvbj5cbiAgICAgICAgICA8a2VuZG8tYnV0dG9uICpuZ0lmPVwiZXhwYW5kUm93SW5kZXguaW5jbHVkZXMocm93SW5kZXgpXCIgW3N2Z0ljb25dPVwiYXJyb3dVcEljb25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbGxhcHNlUm93KHJvd0luZGV4KVwiIGZpbGxNb2RlPVwibm9uZVwiIGNsYXNzPVwiYXJyb3ctYnRuXCI+XG4gICAgICAgICAgPC9rZW5kby1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuXG4gICAgPG5nLXRlbXBsYXRlIGtlbmRvUGFnZXJUZW1wbGF0ZSBsZXQtdG90YWxQYWdlcz1cInRvdGFsUGFnZXNcIiBsZXQtY3VycmVudFBhZ2U9XCJjdXJyZW50UGFnZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBhZ2luYXRpb24td3JhcHBlclwiIFtuZ0NsYXNzXT1cImFsbFBhZ2VzU2VsZWN0ZWQgPyAncGFnaW5hdGlvbi1kaXNhYmxlZCcgOiAnJ1wiPlxuICAgICAgICA8a2VuZG8tcGFnZXItcHJldi1idXR0b25zPjwva2VuZG8tcGFnZXItcHJldi1idXR0b25zPlxuICAgICAgICA8a2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zIFtidXR0b25Db3VudF09XCJfcGFnZUNvdW50XCI+PC9rZW5kby1wYWdlci1udW1lcmljLWJ1dHRvbnM+XG4gICAgICAgIDxrZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+PC9rZW5kby1wYWdlci1uZXh0LWJ1dHRvbnM+XG4gICAgICAgIDxrZW5kby1wYWdlci1pbmZvPjwva2VuZG8tcGFnZXItaW5mbz5cbiAgICAgICAgPGtlbmRvLXBhZ2VyLXBhZ2Utc2l6ZXMgW3BhZ2VTaXplc109XCJzaXplc1wiPjwva2VuZG8tcGFnZXItcGFnZS1zaXplcz5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgPC9rZW5kby1ncmlkPlxuPC9kaXY+XG4iXX0=
644
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZC9zcmMvbGliL21vbGVjdWxlcy9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0QsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFxQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdk8sT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RELE9BQU8sRUFBa0IsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRixPQUFPLEVBQWtDLGFBQWEsRUFBNkcsTUFBTSw4QkFBOEIsQ0FBQztBQUN4TSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBVyxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFPdEcsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFtQixRQUFnQztRQUFoQyxhQUFRLEdBQVIsUUFBUSxDQUF3QjtRQUQxQyxTQUFJLEdBQVcsRUFBRSxDQUFDO0lBQzRCLENBQUM7K0dBRjdDLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9C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QTVCLEtBQUs7Z0JBQ0ksY0FBYztzQkFBdkIsTUFBTTtnQkFDRSwyQkFBMkI7c0JBQW5DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBLZXlzIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IFNvcnREZXNjcmlwdG9yLCBvcmRlckJ5IH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuaW1wb3J0IHsgTG9hZGVyU2l6ZSwgTG9hZGVyVGhlbWVDb2xvciwgTG9hZGVyVHlwZSB9IGZyb20gJy4uLy4uL2F0b21zL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENlbGxDbGlja0V2ZW50LCBDZWxsQ2xvc2VFdmVudCwgR3JpZENvbXBvbmVudCwgR3JpZERhdGFSZXN1bHQsIFBhZ2VDaGFuZ2VFdmVudCwgUm93Q2xhc3NBcmdzLCBTZWxlY3RBbGxDaGVja2JveFN0YXRlLCBTZWxlY3RhYmxlTW9kZSwgU2VsZWN0YWJsZVNldHRpbmdzIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ3JpZCc7XG5pbXBvcnQgeyBjaGV2cm9uRG93bkljb24sIGNoZXZyb25VcEljb24sIG1vcmVWZXJ0aWNhbEljb24sIFNWR0ljb24gfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tc3ZnLWljb25zJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3R5cGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21Db2x1bW5UZW1wbGF0ZSB7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9IFwiXCI7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8Q29tcG9uZW50PikgeyB9XG59XG5cbmNvbnN0IGNyZWF0ZUZvcm1Hcm91cCA9IChkYXRhSXRlbTogYW55KTogRm9ybUdyb3VwID0+IHtcbiAgY29uc3QgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICBmb3IgKGxldCBkYXRhIG9mIE9iamVjdC5rZXlzKGRhdGFJdGVtKSkge1xuICAgIGZvcm0uYWRkQ29udHJvbChkYXRhLCBuZXcgRm9ybUNvbnRyb2woZGF0YUl0ZW1bZGF0YV0sIFZhbGlkYXRvcnMucmVxdWlyZWQpKVxuICB9XG4gIHJldHVybiBmb3JtXG59O1xuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdyaWQtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBHcmlkUGFnaW5hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihDdXN0b21Db2x1bW5UZW1wbGF0ZSkgY29sdW1uVGVtcGxhdGVzITogUXVlcnlMaXN0PEN1c3RvbUNvbHVtblRlbXBsYXRlPiB8IFtdO1xuICBAQ29udGVudENoaWxkKCdtdWx0aUNvbHVtbkRhdGEnKSB0ZW1wbGF0ZVJlZiE6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBAQ29udGVudENoaWxkKCdkZXRhaWxUZW1wbGF0ZScpIGRldGFpbFRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XG4gIEBDb250ZW50Q2hpbGQoJ2ltcGFjdENvbHVtbicpIGltcGFjdENvbHVtbiE6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBAVmlld0NoaWxkKEdyaWRDb21wb25lbnQpIGdyaWQhOiBHcmlkQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdncmlkRWxlbWVudCcpIGdyaWRFbGVtZW50ITogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnc2VsZWN0QWxsQ2hlY2tib3gnKSBzZWxlY3RBbGxDaGVja2JveCE6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEFsbE1lc3NhZ2VFbGVtZW50Jykgc2VsZWN0QWxsTWVzc2FnZUVsZW1lbnQhOiBFbGVtZW50UmVmO1xuICBASW5wdXQoKSBza2lwOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBpdGVtTmFtZTogc3RyaW5nID0gJ0l0ZW1zJztcbiAgQElucHV0KCkgc2hvd1NlbGVjdEFsbE1lc3NhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWxsUGFnZXNTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcmV2aW91c1NlbGVjdEFsbFN0YXRlOiBTZWxlY3RBbGxDaGVja2JveFN0YXRlID0gJ3VuY2hlY2tlZCc7XG4gIEBPdXRwdXQoKSBvblNlbGVjdEFsbEFjcm9zc1BhZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBASW5wdXQoKSBhaVF1ZXN0aW9uczogYW55ID0gW107XG4gIEBJbnB1dCgpIGNvbHVtbkRhdGE6IGFueSA9IFtdO1xuICBASW5wdXQoKSBwYWdlU2l6ZTogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgcGFnZWFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc29ydGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZ3JvdXBhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlb3JkZXJhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlc2l6YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjaGVja0JveFdpZHRoOiBudW1iZXIgPSA0NTtcbiAgQElucHV0KCkgY2hlY2tCb3hDb2x1bW5SZXNpemFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY2hlY2tCb3hDb2x1bW5NZW51OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNoZWNrQm94Q29sdW1uU2hvd1NlbGVjdGVkQWxsOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgY2hlY2tCb3hSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjb2x1bW5NZW51OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1vZGU6IFNlbGVjdGFibGVNb2RlIHwgdW5kZWZpbmVkID0gJ211bHRpcGxlJztcbiAgQElucHV0KCkgY2hlY2tib3hPbmx5ID0gdHJ1ZTtcbiAgQElucHV0KCkgZHJhZ0NvbHVtbnMgPSBmYWxzZTtcbiAgQElucHV0KCkgbmF2aWdhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgZ3JpZEhlaWdodCE6IGFueTtcbiAgQElucHV0KCkgZ3JpZFJvd1NlbGVjdEJ5VmFsdWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBub1JlY29yZHNDb250ZW50OiBzdHJpbmcgPSAnTm8gcmVjb3JkcyBhcmUgYXZhaWxhYmxlIHlldC4nO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRSb3dEYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcbiAgQElucHV0KCkgc2hvd1Rvb2xiYXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZXh0cmFjdERhdGFJdGVtczogYW55O1xuICBzZWxlY3RhYmxlU2V0dGluZ3M6IFNlbGVjdGFibGVTZXR0aW5ncyA9IHt9O1xuICBASW5wdXQoKSBrZWJhYkxpc3Q6IGFueSA9IFtdO1xuICBASW5wdXQoKSBzaG93S2ViYWI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIHJvd0RldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuICBAT3V0cHV0KCkga2ViYWJJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgaWNvbjogU1ZHSWNvbiA9IG1vcmVWZXJ0aWNhbEljb247XG4gIEBJbnB1dCgpIGtlYmFiQ29sdW1uV2lkdGg6IG51bWJlciA9IDkwO1xuICBkYXRhOiBhbnkgPSBbXTtcbiAgQElucHV0KCkgc2VsZWN0Q29sdW1uID0gJyc7XG4gIEBPdXRwdXQoKSByb3dEYXRhT2ZDbGlja2VkQ2VsbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBfcHJlU2VsZWN0ZWQ6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIHNldCBwcmVTZWxlY3RlZCh2YWx1ZTogYW55W10pIHtcbiAgICB0aGlzLl9wcmVTZWxlY3RlZCA9IHZhbHVlO1xuICAgIHRoaXMuaW5pdEdyaWQoKTtcbiAgfVxuICBfZ3JpZFZpZXc6IEdyaWREYXRhUmVzdWx0ID0geyBkYXRhOiBbXSwgdG90YWw6IDAgfTtcbiAgQElucHV0KCkgc2V0IGdyaWRWaWV3KHZhbHVlOiBHcmlkRGF0YVJlc3VsdCkge1xuICAgIHRoaXMuX2dyaWRWaWV3ID0gdmFsdWU7XG4gIH1cbiAgcHJlU2VsZWN0ZWRSZWNvcmRzOiBhbnlbXSA9IFtdO1xuICBAT3V0cHV0KCkgb25QYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIGlnbm9yZUNvbHVtbkNlbGxDbGljazogbnVtYmVyW10gPSBbXTtcbiAgQElucHV0KCkgYWxsb3dDb2x1bW5DbGljazogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzb3J0OiBTb3J0RGVzY3JpcHRvcltdID0gW1xuICAgIHtcbiAgICAgIGZpZWxkOiAnJyxcbiAgICAgIGRpcjogdW5kZWZpbmVkLFxuICAgIH0sXG4gIF07XG4gIEBJbnB1dCgpIGhhc0FwaVNvcnRpbmcgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHNvcnREaXJlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgcHVibGljIGFycm93RG93bkljb246IFNWR0ljb24gPSBjaGV2cm9uRG93bkljb247XG4gIHB1YmxpYyBhcnJvd1VwSWNvbjogU1ZHSWNvbiA9IGNoZXZyb25VcEljb247XG4gIEBJbnB1dCgpIGV4cGFuZFJvd0luZGV4OiBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKSBjdXN0b21FeHBhbmRSb3dDb2x1bW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGVsZXRlQ29sdW1uV2lkdGg6IG51bWJlciA9IDQyO1xuICBleHBhbmRSb3dDb2x1bW5XaWR0aDogbnVtYmVyID0gNTY7XG4gIEBPdXRwdXQoKSBkZWxldGVkUm93RGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBzaXplczogYW55W10gPSBbXTtcbiAgX3BhZ2VDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgc2V0IHBhZ2VDb3VudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fcGFnZUNvdW50ID0gdmFsdWUgPiAxMCA/IDEwIDogdmFsdWU7XG4gIH1cbiAgQElucHV0KCkgc2hvd0RlbGV0ZUNvbHVtbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWRlS2ViYWJSb3dJbmRleDogbnVtYmVyW10gPSBbXTtcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2FkZXJUeXBlOiBMb2FkZXJUeXBlID0gTG9hZGVyVHlwZS5wdWxzaW5nO1xuICBASW5wdXQoKSBsb2FkZXJTaXplOiBMb2FkZXJTaXplID0gTG9hZGVyU2l6ZS5tZWRpdW07XG4gIEBJbnB1dCgpIGxvYWRlclRoZW1lOiBMb2FkZXJUaGVtZUNvbG9yID0gTG9hZGVyVGhlbWVDb2xvci5wcmltYXJ5O1xuICBpbml0aWFsR3JpZEhlaWdodDogYW55O1xuICBncmlkQm90dG9tU3BhY2UgPSAyNDtcbiAgcmVzaXplSGVpZ2h0OiBhbnkgPSAwO1xuICBzZWxlY3RBbGxTdGF0ZTogU2VsZWN0QWxsQ2hlY2tib3hTdGF0ZSA9ICd1bmNoZWNrZWQnO1xuICBzZWxlY3RlZEl0ZW1Db3VudDogbnVtYmVyID0gMDtcbiAgc2VsZWN0ZWRSb3dzOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBkaXNhYmxlUHJlU2VsZWN0ZWRSb3dzID0gZmFsc2U7XG4gIHB1YmxpYyBmb3JtR3JvdXAhOiBGb3JtR3JvdXAgfCBhbnk7XG4gIEBPdXRwdXQoKSB1cGRhdGVkRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBASW5wdXQoKSBhbGxvd0VkaXRpbmdDZWxsID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbHVtbkNvbnRlbnROb1dyYXAgPSBmYWxzZTtcbiAgQElucHV0KCkgaW5maW5pdGVTY3JvbGxMb2FkZXIgPSBmYWxzZTtcbiAgQE91dHB1dCgpIG9uc2Nyb2xsQm90dG9tID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIGlzSW5maW5pdGVTY3JvbGxHcmlkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGdyaWRMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQ6IGFueTtcbiAgQElucHV0KCkgbWluUmVzaXphYmxlV2lkdGggPSA1MDtcbiAgQElucHV0KCkgc2hvd1JlZnJlc2ggPSBmYWxzZTtcbiAgQElucHV0KCkgaXNLZWJhYkNvbHVtblN0aWNreSA9IGZhbHNlO1xuICBASW5wdXQoKSBpc0NoZWNrQm94Q29sdW1uU3RpY2t5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzRGVsZXRlQ29sdW1uU3RpY2t5ID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBlbWl0UmVmcmVzaEV2dCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgaXNTZWxlY3RBbGxDaGVja2JveFJlcXVpcmVkID0gdHJ1ZTtcblxuICBrZWJhYkFJSWNvbiA9IFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFXQUFBQUZnQ0FZQUFBQ0ZZYU5NQUFBUUFFbEVRVlI0QWV6OUNiQmwxNVVkQnE2OXo3MXYvRVArLy9QblBCR2NRSUFUaUtuQVVza3BXeXBGdVMxRnV5T1MwUjBld21xN1NjdFNNVXhHbFVwU2RBUS9JdXh5VmJHQ1ZLQmNVclBzZG5YSVBVUVFFZTRPdWUwS3lXVUxZWFVSSkVFUUxJSUF5ZUtVaVNFQlpDSXprY01mM3J2MzdOMXIzL2ZlUndLY1FES1J5Sjk1Yjk3MTlobjIyV2VmZmM5Wjc3enpIajRVN2RWR29JMUFHNEUyQW05SkJGb0Nma3ZDM25iYVJxQ05RQnNCb0NYZ2RoYTBFV2dqY0d0RzRBWVlkVXZBTjhCRGFGMW9JOUJHNE5hTVFFdkF0K1p6YjBmZFJxQ053QTBRZ1phQWI0Q0gwTHJRUnVEV2kwQTc0b2hBUzhBUmhSWnRCTm9JdEJGNEN5TFFFdkJiRVBTMnl6WUNiUVRhQ0VRRVdnS09LTFJvSTNCclJhQWQ3UTBTZ1phQWI1QUgwYnJSUnFDTndLMFhnWmFBYjcxbjNvNjRqVUFiZ1Jza0FpMEIzeUFQb25YajFvbEFPOUkyQXJNSXRBUThpMFFyMndpMEVXZ2pjSjBqMEJMd2RRNTQyMTBiZ1RZQ2JRUm1FV2dKZUJhSlZ0NGFFV2hIMlViZ0JvcEFTOEEzME1Ob1hXa2owRWJnMW9wQVM4QzMxdk51Ujl0R29JM0FEUlNCbG9Cdm9JZHg4N3ZTanJDTlFCdUJxeVBRRXZEVjBXalRiUVRhQ0xRUnVJNFJhQW40T2dhNzdhcU5RQnVCTmdKWFI2QWw0S3VqY1hPbjI5RzFFV2dqY0lORm9DWGdHK3lCdE82MEVXZ2pjT3RFb0NYZ1crZFp0eU50STlCRzRBYUxRRXZBMSttQnROMjBFV2dqMEViZzlSRm9DZmoxRVduemJRVGFDTFFSdUU0UmFBbjRPZ1c2N2FhTlFCdUJOZ0t2ajhDdFFjQ3ZIM1diYnlQUVJxQ053QTBRZ1phQWI0Q0gwTHJRUnFDTndLMFpnWmFBYjgzbjNvNjZqVUFiZ1JzZ0F0ZUJnRytBVWJZdXRCRm9JOUJHNEFhTVFFdkFOK0JEYVYxcUk5Qkc0TmFJUUV2QXQ4Wnpia2ZaUnFDTndGc1FnWi9XWlV2QVB5MUNiWDBiZ1RZQ2JRVGVwQWkwQlB3bUJiWTEyMGFnalVBYmdaOFdnWmFBZjFxRTJ2bzJBbTBFZG1ZRWRvRFhMUUh2Z0lmVXV0aEdvSTNBelJtQmxvQnZ6dWZhanFxTlFCdUJIUkNCbG9CM3dFTnFYV3dqc1BNaTBIcjhSaUxRRXZBYmlWS3IwMGFnalVBYmdUY2hBaTBCdndsQmJVMjJFV2dqMEViZ2pVU2dKZUEzRXFWV3A0M0F6b3BBNiswT2lVQkx3RHZrUWJWdXRoRm9JM0R6UmFBbDRKdnZtYllqYWlQUVJtQ0hSS0FsNEIzeW9GbzNkMDRFV2svYkNMelJDTFFFL0VZajFlcTFFV2dqMEViZ0drZWdKZUJySE5EV1hCdUJOZ0p0Qk41b0JGb0NmcU9SYXZWMlJnUmFMMzljQkdSdGJVMko0bk9mKzF5NTl2bTF6cTgvOU92ZGg0aTFQMTdyUmZxam4vdG9lZUx6SjVLN3k0OHowcFpmMndpMEJIeHQ0OWxhYXlOd1EwYUF4Q3ZubHMrVnc5dXVkRi9vdkRBY25Sbk5yM1JYNXMrWDNjVnhQVjZjbTV0YldNTFM0QkFPZFQ3eThFZGFYcmhPVDdFTjlIVUtkTnRORzRHM09BSjZaRmUzT0grcDdNRXdHUFowRHVYV0FzcGlRYlhlbGFwNklTRU5PaGM2bmFVTFMvb1crM3JMZE44RytwWjUxTmRqb0cwZk4yb0U5dS9mTCt0NXJ1ejJ1OTI2cW9jMWZENTdBSXZ1NWFLa3RLQ29CbHBxcHp2cXRyeHduUjVrRytqckZPaTJtellDYjJVRWVPeVF5bTdaVFoxNnZqZGZMSFVHYWFWVDlsZDZ2YzV5cnl2TFJkbloxWjhmRHJ1ZGJ2ZHQrOTZtYjZXdnQxTGZiYUJ2cGFmZGp2V1dqY0R3d0RCcHB4cDJCcjJsc3BmMmtZd1BkdWFLL2NUZS9seHZkVGhmTHBWZG5SOE1VL2NTTHFWYk5sRFhlZUF0QVYvbmdMK0ozYldtMndqODJBamtpN2tvZXVVZ2xiSlVwTFEvRmVsZ1VlaitWS2E5cWFPclJiL0RYVEhwT0pXOTVibmxsaGQrYkNTdmJVVWI2R3NiejlaYUc0RWJNZ0tkaFU1S1hneVM2TEtXc2crRkhpeEszVitrWW05UkZLdUZZamtWT3RjWmFyZXc5WFlIZkoyZVlrdkExeW5RYlRkdEJON0tDQlMybFpCeTMwdk1RM3hGazY5Q2JOVVNFVkpzQmFnWE1xeG5QZGUzMHRkYnFlODIwTmZvYWJkbTJnamN5Qkd3anF1bGlxOTU0TWtXVEd5cGxyeFMyM2kxdHEyOVk5dGEzY3JqeFhvODZtL21jYnFSeDNJeitkWVM4TTMwTk51eHRCSDRNUkh3R3VxT2pvZ05YSXdFbkpjTWVTVjdYcTJzM2x2bGFyVW1BWStzNmhmZUV2Q1BDZU0xTDI0SitKcUh0RFhZUnVER2k0Q1hQRlpRZEZ5Y0JPd0xsRXZtZWNWUnIyWVNjTTcxYXUxNTBYelVIMXZkN29DdjB5TzhPUWo0T2dXcjdhYU53RTZKQUhlN2NuenRlSEhpOHljNi84RWYvd2U5OHhzWEJ5UGZISXh0UEt5OG1xdHNQRitobWgvbmFxSHk4Y0tZNlpwMTQxd1BMbTlzOWRmWWJ2YTNJZUNRblRMdW5lWm5TOEE3N1ltMS9yWVJlQU1SK0NzUEhrK0hienZjWGJpRXVjNjRYbHF2THk5dFZwdUxHN1kxdDJWYi9TMGZkYmZ5Vm5lRVVibmw0M0pNakh6VVkvbHdKRnZ6WjR2K2ZIZTQzcjl6ZlZpZWVQaEV5eE52SU9ZL2owb2IySjhuYW0yYk5nSTNlQVJXNzFqVnpuaXIyOVc1b2ZWbGw0M3owcGFORmtaNWEyNHpDTmhHUFJKdUp6REd1Q0RLRWFyZUdOV2d6dFY4T2RKNTFYNy9YRm0xZnh2aVRYelcxNENBMzBUdld0TnRCTm9JL0Z3UkdLNFBOZVZ1ZDF6VWM4bGxWNVhIeTFVOVhpUUp6NDFzeE9NSTdvQjkzQjF4NXp1MmNVblpxWHpjcS9Ob09ISmZxRFBtUmVxK0RWSjVZT2xDZXdUeGN6MkZuOTZvSmVDZkhxTldvNDNBam90QVRqbnBRdEdWanMzVmFzdDFzdVd4MWdzVjZrRWxWWWM3M1lJeWphVktZNjJVNlhLTWVsZ1Z2c3RLVzhWQVZuTlhGOVU3L1lzNDFINHA5eWJOZ0phQTM2VEF0bWJiQ0x5VkVTZ1hTOTBxUjcxeHdrSWV5SExkOGVXcTlQbXFxSHZqTWlzbEpzZ1RXZWFpTG0wdUY3N2J1amljTzNxNDdvQWtqUGw2N2t6NVZvN2xSdTc3Ri9XdEplQmZOSUp0K3pZQ04yQUV6Q3doU1U4S21ZZmFpcFcrbkZPZXJ3dnIxZHdkWDAyKzQ2SW1DZWNpQndGejkrdUZIa2FKdzE3S2J0cVkyOUJlY1FNTzhhWndTVytLVWJTRGFDUFFSdUExRVRDM1ZKR0FjOGZtclJTU3I2L1V5YmdEdGg3Sk4xWEZaT2M3SlY5VUtSZFI3NHBWS0E2YnltRlJYVVVwYzZXVUxRRy9KcnJYTHRNUzhMV0xaV3VwamNCYkd3R0hySzAxLzk4MzdTeDBDaTEwNEtLTFZ1aHVUN3BTS3hacUlRR0w2VmhxakRXalZwc2hXZkplcG80cFZseGtKYXN2WkxWK2tQbGJPN0FmMC90TlVOd1M4RTN3RU5zaHRCR0kvMWlpK2IzdXZ3Wjk2ZzRVR3hlOWg1U0drc3BkcnJKcVFnQ0xsVmwvWlB6aXpUSXFNMVJ1cU5tWXBDdTFvOHhBbHhobTJEQ2I5eXBJVVd2ZC9ncmlUWnBpTFFHL1NZRnR6YllSdUo0UldIdHdUZTVjdlZQT1BYa3VMVjA0WFJTaVhaZGlMaWRaY2sxN2pNY0pOUW00ZHUrUExhZXgxU1RmM0pCdlRRSW0rWEkvREI1TWNCY01ERWpDZ3l6U3pUbVhvMXBibm5pVEhtWWIyRGNwc0szWk5nTFhPd0pQbllXT3VxTjA0UUozc2lva1lKbUQ2QktQSDFaNXBMQktVbDJzWVAwcVd4cHhCendtWWdlY1NjQ3NFNkkwa0hUZGh5VHJZWGJydVdqUlNmbEg3SUN2OStodXp2NWFBcjQ1bjJzN3Fsc3NBay9kY1lmRXp2ZEtUdDNoZk5GSFRzTmN5NXlaRE1temN5VFhBWStJdSs3Q1l3WlJjNEZCRVRJM2FSSEtsSjNrN2VpYW9aZGQram43Y0tOS2MvL2VwMzlqR0g5VEl2NCtSSnd6MzJMaGZkT0cyeEx3bXhiYTFuQWJnZXNZZ2FjZlRrRytVaGJEV3NyRmFzc1hjNFZCUFhZZUkwQnpEVmhXZ1JkUTZUUVFMMWxZd0hPQzFTS2VSU3hya0hQS2hpN2J6T1ZOWFpiTHhkNzF0TDUzZldPd2k3dnJ3ZW45cDlOMUhObE4zVlZMd0RmMTQyMEhkNU5HNEllR05UdzZWQzg3SGFsMGFHS0xzRVFDOWlGM3NKMXFiSWxrS201YzdnMEJsMGpTaFlBRXpMd2JDYmlCQ29rM1daWkF4MnFkcTdNczViSHZMUXZzTWF0M2didnJjV2VjZnNpQnR1RG5pZ0NmeU0vVnJtM1VScUNOd0EwVWdjNjRvNFY1bDF2Wm9Zb3VvdlpGSDh1d3JyZ0RybDNybXB2ZElHQWtLRHFJWGJDUWdIMUd3TFUydTEvUHF0bWsyUUZieHB5UGZkbXk3T1Y1OE43QzA2NDg4a0YrZVhlNmdZYStvMTNSSGUxOTYzd2JnVFlDVFFSZUxIYWxzUlM5M09uTW0rcUtvMWd4MHdYUHFaZGpSMHZ5ZFFKV0FISDBzQTBlUWJCc1NzUmlTR0t1NnA0S1lnQ1VpNkpwRldXeDZtVmFsSTcyalYvME5aMjJMNzl3QlBRWHR0QWFhQ053aTBYZ1JoenVzbzVUS3ROQWlzNHVsTVZlU1lTVXUwaXNBM2lSbkVjTWJnV01DRGtEZ29qUm1SeEh4STRZQlZ3YUpNbytlWGdCUldlMzl2c3IwdXNzNkZ5djV5dkRkZ2Q4alNaQlM4RFhLSkN0bVRZQ2IyVUVUUHZKdGVoN1IzZWhLUFp3MTdvSGtuWUpXSWFVdUpzbCtTWUVFVnRPVEpOa2czd0pJVUFTZGhJd0NBOFNScEdnUlUrVXBGdVVLMUlXSzlMcExralI2YmxVNmEwYzY4M1V0OTVNZzJuSDBrYmdWbzJBU3pkNWtvR1FkS0c2MTZUWUN5OTJtYWNCZDhGcHR2TU5HZkJja0l3REpVUFdJU2lseEpSOEtVbmFLSHZRdElCVWtvRExGWEx5QXNyVUI3cUpEZHI3R2tTZ0plQnJFTVRXeEhXSWdFUFdmRTNYL3VWYThibXZmSzVjKy94YTU5Zi94MS92UHZRL1B0UmQrK08xM2tOTWYrNXpIeTAvLy9rVDNPMjVYQWVQM3VvdUJHdHJlb0xqUGI2MlZseXFxNjVwTWFoRUZtdlJGWjRETDV1a2VSSnFqeVRNbUhEWDYwVHNma20rTmoyU2NPNStQYjZJb3d4aXBpNnlLV3BQbWwyNk5YU3VoaXhWNHN1MFBWOExCaHNpbmVneitnNGZBTndLOGNhYmNiVUUvR1pFdGJWNXpTT3doalU1OXlmbnl1SDRTdmVGWjE4WWpvclIvRXBlbVQrL2RYNnhYQjR2WHJreXQzQmhhV253SEE1MUhuNzRJemYvdkY1Yms3djNuMDVubjc2elBJTXp2WkZYZzgyTXViSG9mS1d5V0lrdTFFaURqTlRKWG1qbXNZS1JhQnZNU0xpUkNSYUV6SFRPaXFvU0daTmx4NVhyVm8zdUtQdGd5MnhoeTMxeHkvTENWcmE1VVYwTnF2NHovZWVlTzlRSkgwakNMUUhqNTd0dS9vbjY4OFdsYlhXalJlQVI2SkhVTGM2dng4ZGlESWF1Y3hodExYQ0x0bUFqM1pYTHRKQlRHb3pSNlZ5NHNIVFR6K3NUZHp3bDh5OGNTSnM0MSttajdtMjREc1ppYzJOZ1lRemxMamd0MUtvTkFSc0tEZUxOVmpSbnYyWUp6VGx3RUMvTDRndTVLS3N6Q2JoV2pDdklxUFkwenQ0SkFoNjdMNHpjRjBlTytaSFozSHJsdzQzK3NEY2VybmM2NjhNaWZMblJwc3RPOGVlbW42Zzc1VUhzREQvZk9pLzN6KytYOVkyNXNwdTYzYnFxNC9ldDg2cmxmSVc4S1BCRno3TEFqOTBEZzNaR2g3czMvYnptemxlNDh5MXFqRHBWdjl1RGVUOURoaldFeHdSeERDRUxHY1VnQzNmQUVnUmNZa0xDUWI0Rk1uZThOZ01KT2ZLQktndEl3QmpWMEhIdG5iSDVJQWk0Y2l4VzdpUjNETTF0VUtUY3MxRzNvOVhGSW54NTYyYkd6dTc1cHArb08vdnh0TjdQSXZEQ2t5K2tVc2ZkaEkzNVh0ZVhkT0FyVXZoSzZ1YmwxSlhsVk9aZHFqWWNwOXl0cnhRN2YxNnZyZW5kSC8xb2VYeHRyZmVydi9FYnc3LzV1Nzg3Zi95emE3ditqZi95dDFkKzlaOThlZzhPOXZjdEg5aHpvTHQ2NE5Cd2J1RklsdTdoc2FXOXRldFM1VElrdXJWTG1UMGw4eUorMzlzUWNMUGI5UUp1SmJ5UkJjd0tPQkc3NEFhZVlKNGtJeVdpSkJkM3M5QW16NEl6ZEc4bGV0aUsrYU85d2ZBUTVuY2Z3RUhzKzdXSGZudjFyMzltYmZtdi9zNXZMZExudVFjKzg0bityejMwNjkyN2VTNS80c1NKeEdNS2hYc2NWUVRRWHBNSTdQeUpPaGxIKzNxVFIyQjQ0RXFxaGphVUFaWjBhUHRTM3c0V2czby8rdGpMdmQrcURIeEorajZmZG5XNmwxWVhkL3kzOUhlZlBwMzJIRGpRVCtQeDRuaXVXTjNLbXdjTDA3Y0JlQmRRdnpkNS9tQ0I4a09wVzk2anZmNTlLRG9mTkVtM1ZZWlZvbHRsRjNBM1NBQUFFQUJKUkVGVWFwa2c4d3MxYTBDU0RjSkZTUk1UT0w5NGEwRHlEUUlHODRJT1JBaWRBRXBkZ3JhN3JzVnVnOTVtcWZzQktkTzlydVhkS0hzZkpLTyt2eTdxTzZvQzc2ajcvY002V04vYjN4Z3N4N244MHZkNUxuK0laOFVjei9FSEgweHJhMnRVUjRCK3RMZTJJZGd4RWJpbEhjMmFpakxwUVBxeWhHVDdVY3BCVDc1ZlM5dUxBcXZFa2hjMjUxTDFsdnZZNmZOYTVnOGNJUGVPKytqNFlzcmxLamVQQjBYMEdDZkJ1OHpsVHZmMEFkSHlMdEYwajZSMEh5UjlNSnU4UGJ2dUhtZDBTY0tvcHdTY3ZkblJjZ05hSUVpMkFVaXNKRnhNeWRjcHdUS1JFa0x5VlNJa1NMNnVKRzh0dWc0U3NCUzMwWThQUXZWZXVONHRxaDhVNlB0ZC9BNGtlYnZVOVJHWTdxM3EwVXFaNjRWUkdnMkduVTRueHJNSzZDTUVIVUY3VFNLZ0U5Ryt0aEc0c1NQUTRlRkMwYTBIQ2wrV3d2ZHA4b01rM2YxSUpPRFNWaVg1c25abHJsZFlkNzNhMnNrN1lJa24wYmx5SmVXTzlaR0xSVXUrNnZDRDVuaWJHcmdEbHZlSzRJTXUrSkNvM0UxQ3ZCZWl6T3R0TlhmQXRRa0pXRUNKMmhWbWlaeEhNR0FrVVpybjdqYklsL0RZRlpOOFE0SnBrSVJWdWhEdEFsbzJhQWhZaXE2cEJvZmU1cEFQc09KZUtENUVZM2N4LzM1QTdoRGtkMmpDWVRmZnh3ZXdYSHRhS0xVYzFQMjZ4Smt6eFZrMnVuejZ0T0RCQndYdDFVUkFtOWYycFkzQURSNkJyYnBPSTFUOW5QSzhhYjFpcVZxMVZLOWFTVENkaTJxNXhtaGhYT1NlZCtSR25OZXl4blBkNDJ0cnhkMmYrMXh6dG50ODdRL25qbi8yczd1Ty8vN3Y3NzcvSC8yanZiL3kyYy90UC83UWYzWHdsLy9SNXc1dkhYemJrVHhZUGpydXp4MnRPNE9qVmVvY3F5VWRyYVU0UmlJOGxwR09PdlNJZXpyc1NJZE1kSjk1V2lJRzJUVmxVK1RZK1pKOFdZWVpxTitRc1pGc1BSRGtTNTNZQVVjZUpHV1FxQkYxYk84ZUJCNjIrSlpuT2pDZU1idWtmY0krMmU5aDVvOWt3N0VhY3F6MjRsaEYvNnB5Y016NjgwZWwzejlXemU4NmhvV0R4OUp0dHgvUndmTEIrYmUvZCsrdkxDK3YvS1gvNGg4di9kcEREeTFFREI3NHpHZDRYdndRejRzL1Y1NzQvT2NUSGJ4bENGclJYbThvQXEzU1d4dUJLNTFOclhXalF3d3FiQzVVdXJsVTYrWktKVnVydFd6dUpWYXpiQzFtalByaitnSTNZRyt0djYvdm5lUXJud2VLODFldWRISGh3bUN6TEJmSGc3eDNYT0ZZVlJlM0YzWEJYU1ErNVB4b1g1YTlCMUk1ZU1BNzgvZmtUdjhEVmRtN1k1UzY3NnkwUjRJckQxUW9kMmNwRjJzcGhqV0tidmJFTDlvU0RCTjRRNXlKUEVhd2JEdHZpdGdOV3lNalRUUzZ4VVRYcUQrcnl3S3JGWFVsQkpESFJDMk5Ib2NCMTFLNW0rNW1GSE5qS1hhTnBGZ2RTM21vU3IzYjZtN3Y5cnJYZTM5VkRqOGtnK0c5MHVsOEdOMzBnSGYxYnUwVTcwdmo5TzVPc3JkdGJkU0hnZEcrN3FWcTVjb1ZMQ3d4THM4OTkxem54TU1QNit2amQ3UG1iNW1CM3F3UDhKWVpWNkZheTFhbmtxMUJwVnNMbEV2TXI5UVlyZFpha1lBcDAyaXhTdVArdUVzbXVjRUM4d2lneFpVcjVYQnVyanZJZVZCS2I5SHF2TThkeDZCeU84dy9BSDZrRjhkOW92SmhUL29BVXJySHl1SUR0UlozMXFsNEorWFJTanY3U2J5N2lVWHpZa2dDN0pnVVBKa29hS0lnUVJZd0tkMUFlR0laUVJLMldkcEl1b0U4a2ZHM0lTWW9FTklzVVJaTzZia1c1QXFveDQ2YU1qZHQ0cjJOUnhOU3F2RllJc2ViZ091dUNycW5sblFvODR0QVMrWHRsanJ2UTltNWk2TytqL2l3YVhvQW11NTIrUHZZd2J2TjdUWjNISmFPN0JVdFZ0SjRmWEdVdTRQaGVOejUvb1VMdHd3djNUSURSWHZ0NkFqSWVFc05kU2RqUEtobHZKQ2w0ZzU0dkpKMXpKM3ZlRy9XYWpWcnZWQmpxMS9YNjhFU045UjRMKy9mTCtYdTNVVlJsbDFYN1dlcmQ2bllQanA1ekYxdWQ1SDN3N2tEaHR3bndBTVFQT0NTN29Ha0Q3aW1PN0ttZDVMY2pwcWtBNW1Xc2hTTDNQME9EYWxMcVRsSU5pQ0ZOenRlcHAwazNLUkp2bzIwQ2VsYVE2U1JUaURSd3FiMUU4bjJvVWNkRXE1UENKZ2tUQUsyV3NpZGlXNlNyRkVtUThFZHNNNlJmSmRxRW5EbXNZUnBjWnRKdXQxVDhUNFM3b2VnZXA4TFBpd2lEOENGNTlYeVBxYmY3WWEzQVhJSVp2dXkyUXJiTHFScWF6aXlRV2ZQYUhUTDhOTE9HQ2phNjVhTGdFTk9mUDVFT3ZINU96ci93UjhmNzIzZ2xYNWxvMEdOMFRETGFLNlc4WHhHTlY5THhUUGhhcDZFUEo5OVBKYzFVMi9jWTl2TzJyODhYbEFHWTVEVHJua0VtelBkRXlkT3BPTTgxejJ4dHRZNThabFA5Q25uL3Vydi9NN2lYLy9NMnZLdmZucHR6Njk4OXJNODEzM29VSGQwOFVpbjB6a3k3aFZIeDBWeHJPN3FzYm9vam5KbmVEU3JISE5OSkZjOVpnS2VwK0pZZG9uOHdTeTZuenFycnNVeTVhNE1uYzlJUE9kTlBjcko3M3lOVk02ZGF4QW9kOFZ3QkVFR0V0T0VLNXlZMUNzNVR3aUYyd3pVWVh0dm9LK3BNNVkxeUZHZUVEWjhRdGpDZE1IK09pNnBaMGhEMDdTUU5TMlJmSGViNkY1aVg0WWVOT2hoZ3h5eEpFZXl5RkhpbUJmQ3MremlXRTdwR0k4b2ptclJQV3FwZDZRUVA3SzVYaC8rdHo3elR3Nys5Zi84Yy92LzVuLytqL2FlK08ySFZrOTg1alBMLzg3YVF3di8zbTk4ZXZqcnYvNVE5Nk1mL1doelhyeTJ0aFljOW1ZOFgxeVBLNXkvSHYyMGZiUVIrSmtpY09MaEU3clUvMzUzV080WmpMcHBjV05VN3hyYjVzS1lKRXZTN1djWmQ3T09PMW1xVG8xeGFWS1Z0WTk3VmIweHJOZEg4d3U0TlBmTTk2ditjUDFzR2JaK3BzN2ZnRElYdnB3K2ZUb043N3l6WE1XWkhuQnhibk5qc0R3QzluWEc2MGQ4UzkrWnRieXp3T2hETHRVRGl2VEwxc0VEVnBUMzUyNTViOTNwZkRDWHhlMTFXUVFSNzZzS1hhNVVGOGFhK3BWSWgwaTFhakpKWWtveVZaS2ZGTEFBbU9aNWhibWlEcEJJYThJYVlsU2VZaFFjQWVGSjRBa1R3bFM0TVV1WUN5eGtnT2tvanpJUEcyUkhON1loWUVtRVpLNG9vZElCbUk2NjJFRnpkd3dQMi9USGhVY1Mya0g0R2Y1bFVXeERrOWNpYU1iak1xeEVsempPZlpVV1IrcVUzcDdMenUxV0ZPK3pUdnFnZGpzZjBxSzRweWg2OTlVNTMxZWswWWVLVHVkOW92cWVjcU40aDZrZVRuUEY2cFc1S3d2MXJyZjNsdjcwNmU1VFFCSFBnczd0eUZ0M3BOZXQwN2RBQko1SzQzcStZNVVPU3gwdDV2Rm9xYlo2Z1VRN3pQRnJDQm4zYWxSZGszRkpFaTRyYjhpNG02MGFqRzFySGxVMVg1WER2bHBWM3JsNjlwcnZrSjU2NmlrWkh6aVFLcHpyOUVlTDNWUU1oc2wwMlFyZlI4NDhBdEYzdU9tZExucVhPWDdKVkg1Wm9BKzQ2djJtNlY3WDRvUGt0OXR6MG1PNVNIdHpLbmlrb3R6UmcxOHlTcWVHRkJtcUxCZFBoWmlXN3BKZ0RiVDVoVVAyaEd4TW16VFNMRFdrU05MbGVGTUFUckoyNnBrckdsRGZHa3hJbUQ2eWpTSmtsRGN5aTFBSzdVQ201Q3NrMlVnNys4ZzVJWFNOZG1PM0RTMnBTb1JzM2lnU0NUaWdDUEt0UlVuQ21raStBMkk1cSs2clZiampUVzkzMVhkN29VR3lQQytXdXcxeUx6dStIOEM5Sk42N1BCdVBadlFPRVhsSGtmeFFwYkpxcVZqb21QYkhBM1NXVHFONDZvNDdPRmEyMklIM0d5RGdIVGlxMXVVZEg0SGgraDRkYmFZdWJEeXNzK3dpK2ZMamQ1N1BYczFOQ0xqaStlT1k1NTlWSndqWXBDck5xMTcyZXVDVmtjaDhycFBxdnN6UGxVK2RYYjNtOC96c25YZktPczRVYVRSWGJ1cFdiN1FsYzY2MkJNLzd6SEFFOEhlbzRFNCtpQStKNHBkSUlCOTJudXRDNVg2eTJuMlVIelNWMjAzMWFFNXBiMVpkSWxueERGc0dsSk1kc0pDQUNXdDJ3QVYzbUtVYkNUaVRWQnU0TnNRN0lXR21tVGNVQUhlbG9BeHlkQy9nTEhjU1p5TmRTSjdFVEJyVHB2QXByTkdOZk9JUWFBc2xnbndWM0FFM3RoTGJLM0pXMkZVRTNKQXcvVFQyYmVFakIwM2lSUTFGeUN5YXN1ckF1QU91UmZaVEhqR1JJR0NlZit2N1hEVit4OHhZeVQwQTdvZkxmWlFmZ3VEOXF2NGVVWDI3d3c2cnlLcExYcWk2bzM2dkdIYnFYZjIwOUtkL3F0VGRrZmVPZFh4SFJydDErZzFIb0xON1hvczU2VXEzbk84T2l5VkpzaHdMTDZNZW1NYVhjWFZoVXFjc1ZjcW9sQ2hycVljdXRrczdzdHFmNzY1MjVqcUxaYi9zSHdJWjZ3MzMvTVlVajFOdHRERW5tL05RRkowRUhvV2dsZ0dnOHhCWkV2aHVnKzhCc00vZEQ4TDlrRUFPSWlCeXdJWGxvcnRkWlJmVGN5Ym9tMG9uUTNpdUM0NUpsTHRCZFVua29obVVaZ0xNdTVJQUp3Z0NObE40a0N4bFE0eEJqZ1NvTjhPRWdMbmtyeXA3ZloxSGUyS2lteG9TRnBJd1FESnVDSmlFSHYzUWRrUHVMUGRBK01rd2g3OUdhUXhMQXhGd0hNaG94c09qSXUrN3hKdVZMTHFBenhTN1hXUVBZN1pQQkFmZzRPUENZUkdKZU8xbnZQWXdmb3lsOGMwTkM1N3pITTlsK01sR3UraU9TaHRzSnR4OU4zYnFwVHZWOGRidm16c0N0VWtxeTZMZjdYY1d5bUZuSlhYU2lpZGZnRnJQRU1SYm81WUtHUlZxakpHbExsenpIRGRocTUxQmNiaTNxM2U0UDk5YkhjN0pmSGxnVkZ6cmFEMUNnOTNCd0hFWlNORjFTdTZpSW9BcWhDd1ZqQlFmNVVrZmh1em10Y015bTVtUTFrSVI0a3hONE80SXNHQWltYWR1WkttdVRCSkdleVJQTTVJYTRVR1VEYWFFekxRRlluZEsyZFJUSDBoTmU3a3FqZGVuSTkrQXVwUStKVm1RYUNlSUVCSWtZUVRoVWpyckFoYXkwVmVZaFkvUzlBZW5ESUNTSlJ3WUU3eVpGbkRjQk1mTWdraWJVRlZWUlRXbHBDcUpNZUx0VHFNWjJiSlJXYW5scHFrZW83QzZTT2tpOU1JTEw5QUdqYjRKOTV0dFV0L3NEbHI3YlFSK25nallncVp5em52U3dZS1dzbHNMMlMyS0JTN1RYcGJNVFZDTlRPcXRHd0t1d0RQZzBtRHo0QmxoVVJaSE9wMTBwQnpJS2pybGZLWGQ4dWZ4NFkyMEticGQ3L1JocWoxUEJZa1FLZFlVV1F5RnVBdXBKVzZTcjlja0lDT2pFclFzeFBRbXI3QXExTHlSZktXa0pvS21oRHdkUEVSaWc3STh3SElTckJFa282Yk1TSURHZk1CSndBM0lhTzZoSHk0RkVtMVJTdUVpeVJFQTVSUXpYYWV0U0lQRTJnQ2xJMERTQllLRUk1d0J2czlReDZQZmFUL1Jqc01XTjNibFU1alRZV0k2WHBuS2llQm9uVThWRUNxSkNBTW9rcVNCVWxXb3dFZnRubUY4d3RuVnBHSnM2OUp5UmFhRzdqdDNqbnJZa1pmdVNLOWJwMi82Q0F6ejVWUVVxVmQyaS9uRTNXOHFkR1ZDd0xsdmtsTW0rZVlwK2RiY0FWdnNnQ1dUZ0gxVkN6MmN5blFZbmJUSzQ0dTVOS3pKR3RjK1pMM2gwTXZPeUlzNkNJcUVhU1FNSVNPQkxFVUNZWW1JdVp0WmRvOGRNTElJdUVkRXcwWVQxbkRFUCtxU1NKbnlDUnB2UFY2cHhZRURpU3BLQ054SXFrWkpLOGJ1UEFpelFaUXJlVW9hZU9pUkdFSGlSclFQR2VUYmxDV3lZOWhMN0NRa1FTS2V0Zkd3RjdaUjBIWHFOT1RMY2ZxRWVNRWhOa2NRb1JOZ1gwWTRiVjhOMEVkQTRJM0U1SktKNEdDWTRIaEJVSUhGU2xXTjNXK0FlWWJMR1FXdnpTMExQWW5EWjYxUlpFRVJ1K0JOaVVHOUV6djEwcDNxZU92M1RSa0JyakUwdjY4dDVvYXhUZU9YTnJiTHhGWmRmTGVyTHhBOGdzaWF3UTJSVERCTkorcjB1SlFYcWM4enc3eWI2M1doOHR5dkswblhPbHFyZDl6aC9mVjExM0UzVjhOaERaR3hxMjJxNkJXQlhoUzM4NlNPcy9UbkJSTE5jMHcvUzU0SmVacjVGOGhJTDhIeXkyVEs4Mkoya1IreHI4RHlscnFQQ1dON0VxUkR6SUVabUFTSlRBTGtIU0hac1M4SXlYVUN2cytRRE5GQTJRV1hOM1ZBT051OEJoYWtHRHBUU1h1aEIwcW4va3c2YlUwUXVnd2o2NXpnbmg4ZWhCdDJwdUJiQy9oWXdMMXE0N053OElMd0VwWkV1QzlIclk2eHVJOEV2a0ZjQXNEdHE3OGs0cWY1L0U1VC8zbEFuaGZvOHlKZzdPUWx1TDlNVytkenpwZGdXS2ZlS0RucW9vTzY3eXpCZDdCVEw5d2ZsT3NBQUJBQVNVUkJWRDZobmVwNjYvZE5Gb0VnWHZrckR4NVBwL2VmVHRWb3E1T3JhaTVMSmdIbjFReGI1UzVvMFdIY0FYc3lyanNEYzl2U3BYWXJzOWZkaXBRNHJzZkRLbzk2dWQ0cU9sckx0WTdWblU4LzdkM2w1WnlId3lxdHI0OUpEdXNweTNuQW40Zks5d0g1bHFnODZmQ3YwYzNIU0NKZjVodkNZMjcrdUdWN3d1djhkVEg3cHVUNmU1THpNMnI1Ulg2Z1A1L2NOZ3EzWExnam1VRnpodFRrOTVDWmVYT1F4S0JCdTN4ZktRSmFvRWdGa2lZa0tTQ1NJQ0JJbmlCWitwUWd1WWVFWlNEWERwcHIwdDRRczlKdEVpemJZQW9QeWZiTzlyWU5nVTF0dVFFTVBZUnlBbWZhQWZvb1lUeTdDMDl0a3puSGdsekNxeExZTEdIckpmd2l4L2R5Y24rV2h6YmZFZURyNG5pYytESWQveUlOZjBGRUhvWEk0eEE4S2FMZlppeC9RTko5VHFFdkdlT3NLcGRxeVp2clk0eEhveEc5b0Q4NzhHYmtkNkRYcmNzM1hRU2NhL2NSUEtLcmQ2enF1RE5PbzAzcGNvTTF6UEQ0K2RrZW14SXcxM1hmM0pJSlg4a0FSbmJqam9ncFYzY3Jhcys5eXV2QjJNZUI3ampYNWVhNHV1YnovRk9mK3BTdm5EK2ZkM1c3ZFFjWTk3cmRkWHA4RHFhbnZmWWZ3T1RiRHZrR0NlTUpOM25NZ1MrUmRMK0NPai91VmYyRVYrTW52YXEreGZ4M3RhNVBGVG0vUUZ3b1NNQ2xlMTJZa1lBemxKSTZDSkRRU0hLQVFwRDRta1JSa0hDTFZIb2dNYTBrWDVZMkdxRVpCT29rV1RNaGVRSTVPekdWUnFwak9mM2pwbFFGTHVKU09KU2dkQ0ZGbW9nWnV3MWtpSU5oWnNCcDAyR2dnUWtrMHRrZ0JPcVFtZjRiSDVSYkNhbExsM0hwMkdMNkN1V2xBbjZXNVBzc3gvY2R0ZndrM0I2bjVjZm81SmRFOU0vTTh4ZmgvbFU2OWczS3Z6QzNINkRRNTJxdlg1THNGOVR6NVdvTEcrUGlZblhod2dXakZ6dnkxaDNwZGV2MFRSZUJCeDljazNmdGY1Y00xNGM2MkZndnJOQ09leDY2MjVMRFY0M0hFQVpmZE9jT0dQd1NqcXZmdURySkJlUU5hdkExdzhyc3VWdGJQYXlzR3RaMUhXUmNaTTF5clFNbUlrNFN6aVRoNnNJZGQ0eXEwV2c5bFF2bjBPbWNSbGwrdit6VjN5cFFmRU5NbjRCV2orVnE5T1ZxbEIvTFZ6YSthbGMybnZBckcxK1hqYTF2cHEzUjk0cng2SmxVVnk4VzJTNlVadXNrNFV3RWdTRjJrOElkTUdxeVg3YWdQMEpJd0lHRWxBb3ZZZ2RNSkJKeG9nd1NqbG9oU1RNc2NDTzNrcUlza3krSklPRW1IZVZaR0VYV2M1ZnIzUEVpMnRBNlFIcWtaSTl3MWxub3VwQWZnWWs5d1l5RXhSd2dTSXdBZld4OHJiTnJkaWVWWnhJdWQ4Q29TcEZOaml2R2Q3SGs4UXUvTlgyV2J6YmZLZHkvenJFL3puWmZOcXUreUE4c1h5aFVIeFhWeDdPbUp6dWF2cTBiNDVOQTU3bTBVcnkwaWNINTd2amM1ZUhvOUNhZWUyNzg4TU9mNStpd0l5L2RrVjYzVHQ5MEVYanFqcWRrdUhTaDZBelh1elpmRDdoREl2bnFIRWwzQXZmWURmZXllRUVPRVpialZZQTgwMUJ4WWxscGJsMnUvWDRXRytTYzUvSldudjlQUG45aTdoT2ZQOUgvNkZjK1dxNnRyVjJUZVI4a1RGdjI4RWMra2g5ZVd4cy8vTWxQYnY2ejMvcXR5Ly9EUC9nSEYvNzczMWg3K1YvODVtK2VlZVR2L2IwWEgvM2svL241aTgrZWVXN3o1WmVmdFlzWFQrVUxGMDc1YUhRU05Va2wxeWZGNnBQSjZsUEo4OG5rZG9yVUYrRHUwSi9uN3ZBRk1YdEp6VjRXOHdza3VjdnFQRDgxak5ReFZ2UE12S3RMUTh3Z1VUSVlFUkE0UDBLQTVPbFRiSk5yRUMzTG1qb29nRVFvbk9tWnJ0RmV3QnM1cTVQR0xwVXBXY08rMldnRXc2WmtXNGY1SmNwWGlITlMyMWx4ZTRGNG5qMXdQT0RZQ0pHVDdPMWtBYVk1MXNMdEpNbjRaSyt1R0llTlUwbnFVOTFMenozejMzMzgvL1RjZi9lSmo3M3cvLzdOdjMzbW4vN0R2M3Z1Ly9rNy8rREMvMlB0NDVmKzI5Lzh6ZldIUC92SnpULzRnejhZL2RFZi9WSDE4TU1QWjhUR0hEdnpZbXgycHVPdDF6ZGRCSktYd3k0bjVGeWU2K3pLVml6VmtEa3U4NjQ1TjRNY3JuRzFtNEU4NU1peDZUSm5PcmlBR3krd1hDRGNDeWR5RU5lNGQ4MWszdXUwd2crKys5SEZ2cW83V2hvL2UyWjQrdDg2elhwYzEydVI1NVEyUHordVJUYVQ2aVhVTmNsVVgxS3g1K2oyRHppMGJ4TlBjcnlQdStOUmNmOHo4ZnhseXErU2hKOFV5OTlLbm5rT21wL1hYTDlNWEpSY2J5RG5NV296NXc3WjZwcE5ERjRUVFlBWURlTXduVDJRZEFVRktUWkpTaDBFVkV1SWtPNmhNRmM0OVJnenhDWTJZRG5pSzNSckFrREFTNFNTaE04d1k0c1A0SXBZdm9BNm4rRlJ5dk9TN1FlU000OFY3Q2xrKzNNMyt3cGJQeW9pWDZENUw4SDhLN1R4QkQxN2l0YS9KNjdQdStGOHBmVVYzVXBiM2FxcXpvS1VUcVZiNGVaOHZ4V0cyWTd4Um85QUhEMjhVcTMzcE51ZEU1TWw5N1RrcHZ3U0RsMHVYSTNWSGx5UzRWelhFRktPR0VtWWQ3TmFuYVRnQVBXRTNPQUZOMzhkTHZvNWlDNmJGL3VRNjMzOEdtaHBUbTB3L1A0RmJzQ3ViMFJ1NHpubDFzV0wxWGc0M05oeXY2eEZjYjVPeGkrVTBuTXU5Z05SSVFIN2s4cXpVRUgrZ3BoOVFiSjlPZFg1cXluekkzb1FjTTQvMEV3Q3J1dVhKZGNYcFNZQjEvWFk2OXE4SXZuV0JzK01FTm5UTWlrdUFoYUJJN2t5TkJBcG9DVGRwSVdvbHFLU1JKUUhCTlB6WG9NNmp5ZG8yaHNZQXg4SVlnWUVJQ1RnRUY2WjczWWp5Zm1LVlBVRit2V1MxSTF2SjFOVi93WEc0NmVscXY3YzYvd1ZFdXlqVUh5QnJiNEVGeEt5UE9HcTN5QVpmdytDMDliQitkVHBYT24xYmZQUzVtYTErdFJUamx2a2FnbjRGbm5RTi9vd083czdtbExaSFZYMWZGWlprbHFYQUpuamd1MmFpSkphR3FJMUxrMGVMeUEza2xzbFN0N2N2WUY4SUVMT1NPU2I1T0JYWXBCNW1LNmdrdjNaWlorckxSbTZneEdRY0owdmZsUzJCM2hldVhqNjlLYU54NWNIR3h2bk0zQ21nL0Z6WTlVZmRHejhiUlQ1U2JYOGxkTHRDMlUxL3JOT1ZYK3BIRzg5MGFtM25penE4YmRTWFg4L1ZlUFRLVmN2UzExZlFxN1h1Zk1NQW5ZeUowaDJoTUV5eWJjQkdCZmhpMEk0WkpVRWxSSkp1UU1tU0w0UWtqSXczZjB5ZUVaa0V2Y003bXdPN21FSmlLRDUxMGlZbUpHQS9ZcldkbDdHMVJrWjE4K2w4ZmhrR28yL1UyeHVQUzFibzYvWjFpYlB2OGVQbXZzWHlxTDRrcWcrcGlaUHBMRStWYWg5cjVjSHoyOEM1eGN1WGJwQzh0MGsrZkpZWWVlZTZlSm52UFJuMUcvVjJ3aThLUkdvclU0KzBGN1IwM2x1emxhODBCVjNXU0FYOUxoNEV5VTNURUJJSncyd0RpR0RNQUpPcjFnbjdoRG0xWUhTUlFjTzJTV0ZyQlpkV2ZWT3NhZ0YrdlVTMlFqWC9YS1NjSDZjNTViZjVmbmxvNS85N09iVGEydFh2clMyZHVsSm5obi9xMy93RDE3dVhycjAwdkNadnppOTI3YWVLZm1sVTNINTBpbmRyRTkyNnRISlRxNU9xbFduTk52SmdQRHNWTTJla1d6UGl2dXp5UFlpQjM2QjJJQjU3RTdCQURFWUFoaEJZZ1hmbVFEbHdPUDloOUo1L01BeW44RW1ST3pVRFdCYnNva2ozdmMybUxvZ2tCZlo1M05rOTJjRk9PWFpUa25PSjZXbWIxWE5IZkNJSkR3Nm1TOXZucXBlZnVXWlY1NS81WmsvL2VpLy8reWYvRWYvenZQLzA2Ly9oNmYvK1NjKzlzSy80Tm51UC8va0o4Ly9zOS82RHk4L3lyUHpoOWZXeG8rc3JkVVJJMEFjdDhqRnAzQ0xqTFFkNWcwZEFWdXdsSkwxdlNPN3BJTTlTTElIS292bU11Q0g2a1FTaG5FRVR2SUZPRzJGWk1GMDVNMkIyTEdGREIyRGh5N1pCVDF1cStmNGNYOVp5bUpaUzUwMzFSNC9wUWNEMGRxUHZ0K3EwbFYrOUQ3TXMrSXJQL2lCZFRlcUt2ZlNSbEhrU3h6YmVjdDRDUzZuQlA0ZEYva0dIRjlqVEw0SytGZmM4V1VSZVVJZzN5UE9saTZqNUlLQU1EYkNOSXd0czRCMmtHdE1rTkhrTGVvQ29lY0tZV3lWb0swSkZUYUI5UkdKL2F5YmZ3OW1UOERZcCtOeHVIMk56WjQweURkVjhWMGduUVQwTk44QnpucmhGMnN2TjVmbjF0a1RBSDVBUVh1OUpnTDZtbHliYVNQd0ZrVmdtQzN4cy9HQXJMRm9oZXlSUWxlNWtIZVJQL3BtaUIwd2VZYTBJOXpjemtDeWNLNSsxc09jWk9JazNwQWNnN0d4aS9RZ09pOWxXcEpTbDFOSDU3akQ3dTdxRmtxVkcrc1d3WjEzM3VrWExseXd6WldWZkdtd1dmWFIyNmh5ZlNueEkzN0pIYTdCbjhrdTN6SHpwd1QrTlRmNXFydDlCV1pmRnN0ZkUvZnZKOGpaQkl3S0NEVGdBaUc1Z25BR3hUUGpsQjE4RTBKRHhpeTNJR1pLTUo1b1dxVm9TUWlFOGFSZDhCMnVJV0RLNytmYXZwWno5WmpYL2pqZkJMN21MbDhYNEdtbXYwdWpwMVQxZVdoeDFqeGZIRnExZWZuMC9veVdmUEdqTHYxUmhXMVpHNEhySFlIYzk4VHZnL3F1MGh3WlFHV1BpeXc2cEcvdzZRNVlnb0VCaVduTEhUQVhkUkF2Q1FBaGpRUVRuNU5KQk5RRE40RFM1VTU2WHBOdzkwc1NUc1c4RjlLck14SnV2TXZYMXRiODRjOS8zaDc1MUtjeWQ4UFZtZFBkemJrcmM1ZEdWWGtPdmU2TDg3MTB5anVqN3hTNStJYWs5RFdyNnE5S3BZLzV1UDZ5MWZhMXd1UjdoY3ZaSk53QmMzd01BTDlXRTVLb2tIVVp1eURhaklaODgxVWtISEZ6RXJDN1FLQU5sREdXeUR2WWxpOCsyUUZidHUvWmVQUzF2TFgrNWJyYWVOenIvTFZTZUVZOUduK3pUcjN2K0VoUGRZSFRPbCtmWFg0WmwrclI2YzNIRDd6QVhtbW52WDhvQXZwREpXMUJHNEhyRndFaFV3cldvR092aW5GRzM4VG5NL0p5ZGxzbW44NjdDTmV6eHJhM1VRMlNtSUFFVExJQTRjUk1PdWtqUUVKV2QzVEpNL0g3NFYwMThxNUs4NXhCZWlPcDQzOWpFd1lFWUFQY01CZGRsd1p4RnZyNEgzMnMrcE0vK1BqbzBjOStjdk9SdGI5ejVVLy8vc2N1ZnZrZi90MXpYMWo3OTgvME43LzdvbCtSNXpjM1I4OFZWelpQbFZtZVRZS1hrdGtyeWJHZWVBeWhMaFdSeGZtUEJNdFhraW1YUE5Pd2tJUUg0djBva2FnanJaUVNjQUd5QWxVQ2VLVGg2enh6ZmtYY1g4Slc5ZXpveXNhcDlaZGVldTc4eFpkUC8zbjkwa3RQL0JjZlAvdjAybjkwL212LzZCT3YvTm52L2RibHg5ZldOaDc1djYxdHhaazMxdGJzaG9ud0RlWUk0M3VEZWRTNmM2dEVRTGpqa3hNUG45Qzc5OStkTmk1dmRjWVk5OFkrSG81enZWaDU1aGR3TmlBTGRLQkpDY1pGR3hJMkVvaXhBaVFQUVlKSzBVQWtBVkR1aGdWYzhWcTdkMnJMZzVIbGhSRnRFc05SUGU1dGpWTVpmMi9pK0lQSFUvakFSa0xzcUh2MXFUdjgwaHozc2JrZWI2Wmk1SWJObEcwOWlWeEtqb3ZKL1JMUGJUYlVNQmJqdjRoVkFBbUNPS0FnR0RmeFFpUmtVNVpBVFpJMFEyRnV5V1NjSEJzZDRGSlg1R0pYMDZXT3k3cWtZdFBXTDQvbWhtbmNqL05kK3NJVzdmMXpSRUIvampadGt6WUN2M2dFSElqLytvMkcwbnhuUGxWMVhWYTVJZ0hudVFwNW9ZWXRaSGNTc0haY1ZTWElWUlJPRWpIajJVTUdXVllGa2x3VFAzaHJnSFFoc2ZFVk54Y3hDd0wyUVczMXdwaUVQczdWM0tqSy9YR3F5dmg3RS9GM0p4N0JJelJLTDNiWS9mQ2RUL3ZLNlhFZURiVHFWTExWZ1cyUWROZTVBNzVjV3I1WW1GOVNrcWU2amdsVFU0aVRZQm0vUmphRU95RmhSY0hJSmdaTVJPTFFnanRtemR6OXVvLzVoUjRKV0M1MVZTL3luZkJ5UCtuNm9KTTI2bjY1TmVJNTlVcWM3OUlYdE5mUEZRSDl1VnExalc3U0NGekhZVDBJK2Y2Rjcrdlo5YlBhU1oxVXAxeVNLSHRFL0IySHhacTdWaE1NVEtRam1oU2E2Qnk1MG9Yc3lrMmFTVVBHUW1KVzd1QlVDOVp2NjdBT21oMWxkaHVNelJhcVhDMVdac05LNnA2UTdOYzMxb3Y0anovaTcwK3NQYmdtYkx5ejdyVTFqN1BWZTU4YVZzdHozeC8xQ3Qvc29MaFNHQzZuN0JlVDRSTFI3SUMxMlFFTHFWVW5KSXdDTW9XR1pQd0VpV1VKY0lZaUEvd0lZWHhMRzVYQVJwZTc2ajdrNGlEaGNxOG9yblM2dmMyWDV0WkhKNSs2b3dvZmVNVGdiTkcrMzFiakFBQVFBRWxFUVZUZVAwY0U5T2RvMHpacEkvQUxSK0Q0djNaYzd6aDJSMmRwY1dtNHZMaThXRnBubDZzdU9Iek94UHRFbHp4UWNtV1RSMXljOUJBQWQzQ0FNcWYwZ1dqeWdpaDNrZ2QzeHp5Q2NHUm0yRDRSSlk4anVsbWtUeXREa3ZMOE9PdGlkNkU3dno1Y0gyejJOenZOTHBqV2R0anRKRDU3K09HUDVFZlcxdXBTZk13M2xrM05kcmt3WEZDM0MySitSUXdqd2hwaXRWbWM0bzFzRWp0bkxCRXhiTUQ2UmdkUUhrR1FoTGU0aTc2VTNNK1JpRjlPNWhmNVFEYVdyRDlpM3pYWU42VXhiazYwOTg4UkFUNkZuNk5WMjZTTndDOFlnV01uanhYMVZqMVhwR0szbWg1U0tRNko2VzZJRHAwWjU4d2theUNUVWV0c0NGaXp6QVVpQ2RMczJvSklCRWFXemF5MEFBOURJMDBDaGpzM2ZDSUFOOUJJS2JtbUFkc3RKUlQ3Nm42OVQwdGQydXB0RGZyMzlkTXZPSnkzdkhubXVZMm9iRElhbDl6cmMySitEbzVMRE1jV3c1S2R4T3A4ZzJvUWFZS2hSUk03eHM5SW93Rytld25iTVhaU0kvdUcxWGJCYzM3Ujh2aEZzWHpCYTEvUDFmUjN2Vy81cUhlK0E1em1PMzhRTjhrSWJxbGhjUGRabU5sYzE3c3IzSVFkRXVnaGtiUWJxbk1nU3pxSjB3RnlnQ05ua3dBSlFseDRvc256WHRYa1lCb201QVdJMVM2V25Yb1RoSzRKRFNpbmVHcFFpS1FoMnl4NTBuMmUwajVSV1NwVE9kajk4dTZDbWp2NnJyYzhvOXJhNGc3NGt1Wjh6aTNnbHhta1RSaElzVHk1YVVoV1lENUZrd2NZSzhiWTRjdzdneVlaSWd5N21XOTR0Z3MycmwvRTF1Z2xHNDh1NUhxOElWclhPenBZTjVEem5KazNrRGV0SzdkTUJJYmxzQ2lMa21TTDNkeHhIVkl0RG9ySWJoRVNzRXJSN0lESkF1YU9tZ3lSODRRZ0FJRklnbXFDWUxJRGRoSUh5YmNoa2RqOVJwdk1kZzdBUlVCbFNFcEpWQWVxeFJJTDlxbllQbjVUdDF3bEdkcHVTMVRkMGZkOGp3Uk1CcGJ4NW1YVW8zTk9FamF6UzU1OWk2SElVZXRRZHhjU3JaQjBYMFhFbGlGbUdVTmd4RVFuazdnM2N1MFhiRFI2S1c5dXZGaHZYcm1RTHIreVVXOEZvVk92dlgvaENPZ3ZiS0UxMEViZzU0aUF1ZkY4Tmc4OCtaSVVhUThnZXgyNnl5QURGK0gyRmx6L0JGblVBd0Fjd3RjcGdxRWo3NEttM2xrL2hjMGs2MDBFQVZkSlJnS20vV1ZXNytkeHhINHBpaVd5OG9CRXZPTUpPRit4ckpWdDhyUEFSVUUrQzhOWmVMb0lTUnQ4MDZsRTFZUUVETUpkWVl4YkF3T2NOUUd3REl5WkVBcnVnMDIyM1B5U1pYdlpxOUhMT2hwZEdvMnF6ZEhGNXpMYTY1cEVRSytKbFp2QVNEdUU2eHNCN21kVEtycGRGTVdjRjdyc0tzdFFtU2M1OWd5dTVBVTRpY0JGQU9FMERVVGVSSUp3elJ2aUVBcUE1YStDdXN6N0ZLRVh0cmlCNXBFSGhnNWRJa2pBdXArMmw3TmdXR20zd0E2L3huTTVGMXB0U3JaWDNPd01wRGlUeXM3NW91aGVJY1pGNnVha0JhUEhyOUtFWDZ1NXdsMklpUVRqSllTS0lxbUNuekJNaXpUU2xOWkZpbGRNMGl0ZTlLNFVkVFhlVlJlRzlyb21FWWpaZWswTXRVYmFDUHdzRVVoTFNibmVleENaRnhHU3J5NERPaytHNkhKN2xVaU03bUZRQkJBRlFMSm9nUGppU1BqUnVpRmlPT3NEckF1ZGdJT2tRbXlUTCtCTUp3T1BHeHpMWkpoOUxyTGZrSlpGTU14YUZkamgxK1hUNDV3ek5sSmhyNkRzdktTQlluQ2hLSHRYeXFJektzc3lheXF6a0h4aGpLVUhHS2VKWkt6VkFZVXcxa2tUQ2xWTFdwS0FPK3VhT3E5MFVuNmxxM2w5REl6T2pMcTJ3OE4xdzdpdk40d25yU08zVkFUV3pWSXVVcytUem51U1pZZ3Vrd3ZtR0lTZU0yTnc4a1JzY0FVaUNpR0FJSTBBK0JFYUlHczBpSEtRUEVLeUxSQjZVNUFweU5XSVE4dEVFaDZ3bm4zSmZsZmhFUVIzdzUxaUFPc2w3UERyYnh4NElTLzFYOWhjMkZ4NlpXNmN6NlRlOGt0RmQzaWg2UFN2bEdWM1hCUWQ3b0JMNDI3V25TVHNmaFg1TXZBTU5vUmZhaXJqcktwSXFjaXFhU1JTcnRlZDdzVWFmakYzeHV2TEpPRG9hNGVINjRaeFgyOElUMW9uYnY0SWtQbE9uRGdSLytsdmNXTHRSS2ZjTExvdzZ6dDhTUEtjTjhXY2kvVE5wVFNQZzBvaEJWK05tS29DT011dXdpd1BzSTRrTEEwU2hFVENMbUVRbUR2NDVWd2NhM1JjbkNTTVJSWXZzbmhlM1FhcDJ1cWRvRS9IMTQ1UC9rWUVXSXVkZGEydHJkbkRhMnZWNXo5ell1dERnMmZYcFJoYzBWU3VKeTAyZUl5d3FkQ1JpbFFDeWNJZ2lHTTZTQ2JRZ0ZGRkxjQVc5ZFlwMTBNbUtkYTE2S3dYdmY3bUtzNk81MzVsWDczMnFVOUZBN1RYTHg2Qm1OVy91SlhXUWh1Qm54S0JFeDg1b2Z0K1pWL3gxT3FaWHJsbjl6QmZ3YnhWL1BpZlpWQ2I5YzNRSlVxSEpMandlSUVVNEFJbldiaFJOb2hkRzZjc2QyOW93SEpLNmlCME1DTmZmb1FXbW9tOEd5UitFVUVTcGpRMTV6WlBrQ0JTa1B5N05mdlhqR0c1cHh5dXJxNzJ2clQ4cGZpZmRncDI2Q1VpK05TblB1VTEzOGNNcUJ3Mmd0a0d2NXhiZDg4alJxeFNOVk14TU0zb0dhUFdnTVNjTndWMmtjRThDK1F6bEs5QWJSMDVWNnM0WlN5ME81OSsydGx3aDBibnhuT2JzL25HYzZyMTZPYUx3SjEzM2lrdnBsd2liL1p0VStiSUVQemFTT2I0RGZ2QUhEMHo3MUtXN3MyZmtTUUJDcGdtUXBLUGc0aEp5Q0JsZ0pRUjBwbDJsb1dNUER3QkpGNlZBa0laZWxGdjJZVWtUeU1nN1ZnaWd5UTJLMm1tQzNqZks1L2JxcmVHeFdiUm0wdHo1UTc5TCtQQXl3bUlDQXJKQnJjS25yY2NlWjBINXhzYzY1YkFLbkhqOE1Ib0dVTXdnWUFueUxCTmVMNG9WcDlWeTJmRjh5c3NYeGNTTU82NEl4OEhiTEw3bGVpbXhUV0lnQUxYd0Vwcm9vM0FUNG5BVTNoS1MvRXlWZjFlcWVPNTVKajMyb2RtTXJCc2ZlNVN1MjRnQVFkekNvSTRHeGpUQm5qSUtRazdxUU9ranFDUUJrMWQ3Q1VVMG14dUU3UXhvM0FBbVM4NXU3QVBCYmdEMWlCNWxFeDN4YjJmUno2WExBMUhuVkd2bExKY3hTcjFzRk12amhaZThTMUhQRGNFTEc3clFjSUMyNEpiTFV5b09HTmtVQjdTS0RLalpyVzZiWXFSZ0pHRGZNK1F0Ri9KdFcwa3BQSERKMDdZMnRxbkhHek13RGpSM3RjZ0Fub05iTFFtMmdqODFBZ01qdzc1blU3dWxRczg2eDEybGx6U3NyZ3V3REhJa0k1RGtvSGtDTzVTVFFUVFBWcVFiV0NXUjVBdkVXVlhZMWIrV2trenRPTk9BZ2RnenVNSUdqSXFPYnh3dHg2emM2cXlLL1hUcmxTa1llVlZOM3pGRHI5eVBjckNqeHR1ZHBGRStySllmdGx6ZlNuS3hPcXNYaU9RVUpOODYwaWJlTDFKTXFaK0hRUk1WQmRMeVJ1TVZVM2lkVUFJQk5CZTF5WUNlbTNNdEZiYUNQemtDS3h2RElyVTdRNktYckdrZzJLdnBtS3ZhTnJsVUg0cFJ2SU5va1FRSnFka1E3QUpIa2NLVEtPUkNiQWtVZVpHSFdOK1ZrN1psRlBYR3dpTTlnSk9DY0xETmwwMEZoRGNGVnZLYm4zenZDaEpkNk5iN0M2SDVXSWFwRjVPbWNhcHZJTnZyZWU1Q2M2WHhmTlpSejRGczFOaTlSbms4V1cxRVhlN0kzNE1HTDhLVkRtaDJvVFZseFQxeS9EOE12bjJJZ2w4Y3hPYnRvTkQ4Uk5kZjZzck9aUGZhaGZhL20rRkNDeXR6aWNwaW9FVnVsU2t0RmVMdEZja3hYOFdQSEJYN2taRmVNeEE4TU94cVdBYlNjUVM4eFB5WlRtb1A0RXBaV29RSk8yV1lDd3pvenBCcm1XZE1MeWM1ZzBKQTg0Y2lWZU1EZHpSSnhaUitHNmVqNnlpS0JZOGxYMStWYmZqQ2RqMVVpMm9TTUIyUml3LzQ1NVBtWTE1ckRCbTJiaFNHeU9RZkl3Q0kwa1laYlZxSzJGOENaa0ViS056UmIxMXliRzVOZHpRekxDMTk1c1FBYzdNTjhGcWE3S053T3Npa0RGTzB1UCtza2k3b0xKUE5PMEZaSW5nRGhqSmdpQ2IzU3VuNUxaTUlFOU9nRWdINFU1Qm9uWHVmRUhTRFoxSWU3UWo4YzVJMkprR2FBOENCTmlIa1hFelVac1ZUUGRadE1DNlZhanZkckhGc3VNc0M4UFkwWmVWcCt2eDVzWmxIVzJjMFdycmxJL1huMEU5T2lONWRFa3pkOEEyUXBCdmNwS3ZWM3dQR3ZQYnlhMHQyUGhTd3VobHFUZGZCa2FYZXRWb2MydndZa3ZBYjlKc2lObjVKcGx1emJZUmVEVUNobDRpNzNGM2lVVkxRckxEcWtNWFNKcDlTbjRuRjhSS29pUWpzZ3hCcWlDaG9pRlFUdFBneEJrc1lhSVRiV1oxSVNmNUlGNmYycGxKa0lCOUJxZDVPRW5mbXgyd3Erem03bmUzSjEwY1MrcTdSRWZZMGRkRjdtT2xPOTUwMjdvb3ZuWFdyVG9McjE0QjZvMGt1VXFvclVCbGhlUzZSRjBYeUdPbU4xaDJTYXk2VUtieGVmT3RLM1ZaamZZc0gzNXpDSGhIUi9qYU9NOVplMjBNdFZiYUNQeVlDQWpMeFlmeC83endibGJNNWVSTFdXV0ptOWg1a2wrWEpFa0NGcENJRzhBNUxZblhrdXlrYkZZSGNxUVQrRkY2UWRvc3g3WVV1cUJnUHhPUWlNMGx1UWpKVmhaZHNGb252aUVVL0ZJd2VSL0RJUm1lU2s2dzVVNjg5MkRWaXRHd0F2S1daMTlYOXl1RitHWUpHeFZpVlNsV2wrcGp5bkZIZll0eXN4UzVra1F1cWNzcmxmdWxvckQxRG9uNVRQZFoyNGt4MkFrK2MxYnZCRGRiSDNkb0JJTDU0TzR3cTFNMjYzRWx6NXRnbVNXRXpMbExEeERPUXlINUVpUk9KNEpZcjBhVWJZTWZuZ0gxQnVUUmtCNzVhQWVhQ3RsQWdHbWUvVEJOKytSVUo5Z2xGZG0zeUlMeFM3Z2c0VnlBNThIYXIzVmNiUDl2aWhwbE50MWg5M0VjdC83eUpnbDRicXZ1MnJvaFh4RzN6VUo4UkxLdE9zbEp3bDUxSWc4YmRRUWJwZVQxVXZ4eVN1bVZWS1NMSlhSanREQWMzYmEwWkR0cytEdkdYZDB4bnJhTzdzZ0lCUGsrK09DRDR0NUpwdEl6dFhsK0FiWnNJa3NPekx0STF4RXNHbE14SUJ4bjdGYVpKb2tHNlY1TnhBanliY29Ub3Z3MTlmRXJ0cWFPYmFmRUN4ZmFDOUJtRUMvaExDR2FIYkNKTGpLOTZnMEp5MklOR2VSeFdlQlR3RFlKVTMrbjNXdHI4UHZQL3hvSkdGdm5SeHZyS1hFM3EzbWpvMEcyVm5lRVVCdDNKSS81WkxhNm1qZTdpaXVkSkplS05McTR1THo3NHVYOTQvVkRoOUQ4Qm5pbmpYK24rQnN6ZGFmNDJ2cTVneUt3dHJhbUgvM2NSNHUvOWVEZjZuNXZlS1UvM2hnTnpXeG9Ma01UREEwK2RFajhXYTJTVXN5QjJLVjZRNkJCbUpQZEtraWtUb0RFR2VsdDZjSUduTDdVUjFOUGdtVTYycytJT2RwRmZnSnA5Q2Q5TkdsdW9hVUUwRGZWT1lNc0dIVGVYT1p5dHVGVC8vak00S21GcDdvZi9hT1BGakVXNnUyd1czeHRUZXlSdGI5U1A3MzJrWEVYNVZhUzJBSG45YVIydVJCY0ttQ1hTOEZsN29LdmxJb3JwZmdHVCtvMzVvcnU1cDk4L044Y1BmNnhqMVVQZitRakdTSyt3d2EvWTl6bERONHh2cmFPN3FBSVBBTG9oYnJvcmkvUHoxZURqV1ViMlVvMlg4d2s0UXp2a1BDU2dkdFpGOGtBVjdqQUlJaVY3cFJOMm9OVVdlYUJXWG9pTWEzRGRoMm5Nc3VhOGlEa2FUcnlNTllSTS9KMTFodjdOS2lhSkhYUndrUTdHWHh6OExTSW5GYld1Nk9WdXI4eS8ySlI5eDc1MTlnQU8vdnFscHVaTzl6TkVuS3hBemxiaXAzcGlKeE5nblBKY1lFSVV0N2c1NHB4SlNPR1oyZVBkNmQ0ejVtNVUxeHQvZHhKRWVndm4wc0Z5U3NYOWJ5bnRBeTNaWDRadE9DR2dSbTY1bDV3bGFzNTFEa3dJeWFTWkVzQ2JzZ3k1TlZ3MWhFVDBwWHBqcFpUdUNIYlNWMjBlN1UrZElqZzkraUdldDZBdXNHcFpGNFRTWUVzUXArRXUzSXM1aXk3bFNTOFVWWUxsWGl2LytRNThoSWR2SGIzZGJma2xlUlNKSTRaTHBiaUpHQjVpZkpsa3ZHNVF1UkNDVndxSVJ1bDVhcUxGSS9qdXZ0NEszYkkyWHNyRHJzZDg1c2RnYmw5aFk1RzNaN1hOdTg1TDVONFY5eXhRT0lkOEZ5NFE3Sk5UQ2NURi9mSloxeERFS05NZDhJQ1o3NHBleTFwSWtnVXpucGlKaWRsTVoxamgwd1piV0xYdTAyODFBOGlaaHYyUnhzaXBnVFBuMDFpQnl3ZDF6VEkwRVZ6V1RHMUZWcVo3NkRmSzdxakhVL0FYV3haMTJXekozNXhvRGpiQjE3cUNNNTIxTTkzQlJjNjRXV0VQd0FBRUFCSlJFRlVEUUg3UmlFWWR5WGVHOS9zR2RMYWp3aG92TFJvSTNEdEl6Qkt2WG5wZCtjSEMrZ1ZxL3kwdndySExwSWJTVTZLMmhHN1gyRmVqSjFQU0JGQmpCT1FmQ2RsRFhGT3lweHBFaXRDTmp2WVY4a1dMUGNwSXIwTm93NEJ3Z05USFdkN2N4V0RTQVkwdTVSdU1xRHRSVTFwTlpXZDNTbVZURXVmM3U1NEFwN2Y4dHhEM2lwaGNmWjdya0I5cG5SL3FYQjdLVkdLK012S3V0SjhFMk13Skh3bzdmMm1SNkFsNERjOXhMZG1COFAxVHFGRmYxQVU1VkxaN2U1Tm5jNWVwTFRMNFlPY1BXVnpaQWNvQ0FHSkVBNTVGYTVOT29qVXR3bVg5VTZxWUYxVFRoSnRKUE5Pd0pRS25OSk1SejRROVlGWjJxRWVhVFBCQkVCTnVxRS9pZjRNZ0dLWHBzNmUxT3Z1S2JxOVhWNlVBOVdGSFUvQTB2TnN5RnRXMVpldHJzNHg5eEpQRzE2QTUrZmM4ek44SjN5T2IwQXZWL0FySFl6clczUFdYdjlSNi9YdnN1M3hWb2lBTGZhVGRuV2duYlJVZE1xOW1vcTk0cnBra0VGMlR6WFBJU2pkSEZ6M2NKSXZTd1Rtd2d3UlpCeHBTb1FNZ05OMVFxN2lMZ0lMTXA3SVNJZGVnSFVJR1loMDRPcDAweGVrNlp1azYrRkhiVWdPaWY4d1k1Y1dhVStSMGw0dHlsMWx2K2dMeDdMVG41bGVzWnkzcWkzeitwS014K2U4cWw2U3Fub2hWL1h6WG8yZk5hdWV0N3gxTGxkYjY1ZXczaEx3ZFhyZ25OSFhxYWUybTFzcUFvNXVFdUh1TVpXN29NVStJYUZCWXdjczhiZC9DKzQ0bXgwd0NiQWhYQkp6Y0tpVEJPRWtXbmQ1alVUa0ExTkNibmExMUp0Sm54QXpiWEZLTXgzbFYrUDE5WkUzMnVPMkVDVGY4SVZuMGpJUVNmUTM3WldpM0pQS2N0R2x3MTF4TiszMGg3ZVZYN2I2eXZrdDJkaTRuRGRKdEJ2clozSzErWUtNTnA2cnQ5YWZxVGJXbjYrcXpYTnVXMWQ2V0tyUlh0Y2xBcHl0MTZXZnRwTmJJUUprVHlkenJxMnRxZFJWNmJDK0NSYkljOHVzbW53Sko5b3ppSm9Fd1U3QVBGZy9BWlZwZ21rZVFVU2FKRHZMendqVm16Sk9YUkt0RTAwNXkzaVV5NTN2NjhxamZsWTNsYlAyMFhZQyt1R3FMTzhTODhTeWl5elQvd1V4OEh1cjhZNG5ZQ3dleXNsbGxEZlgxekhlZWdYMTVybHFhK05jdmJsK3JocHR2RnpselF0eStjTGw0dUxMbzdONDJtNkY2WG9qakpHejlVWndvL1ZoeDBlQURIcmlJeWYwcnp6NFlIb0tUeFdiVzZQT0tIdC9WT2U1Y2JiRjJueUJwRHVnV2xkU29kd05remRKc2txUUdGa2V1MWZ4N1RSSk1kSWswS1pzSmxtR1dab3lTRGRJTk1vbVNDVGhDZHdiU1VPTjNDNUhsSU5sRWlob29vQm9RUUpPWFd1T1NMQVEvbGJPNHhKWUI2aXBDT0V6Q2xEc3ZQdjdweS80bGxwbHRXdzY3SXA2OTFKSldYUmtuWjlHTnN2eDF0YVdqcXZoSHRTclQ5M2hPMitFTzlQamxvQjM1bk83NGJ4MjdsblAzbm1uOUpmUHBhMzlTOEZvblp6ck9HNllxNTBFREYvSUpEY3lYWWVielVRQ0ZrZ1NRTVVKODBiU2loQlRVdmFRUXVKVWpwZnB5QWZBL0ZRNkphQk9HKzRrVm1jK0FFcVdUOXE2aWhBc28zRzlDa21FUG9nVUlSTkVPMnc3b0xFRkhvMHNtUEVMUTZBenpzSU90amxKNk15T3UyKzdzR1I3TDgrUHE3NXVTaW92YnhiMVpjZjRTdVd5N3FtM1VmaDR0SGNGNDg3cC9mbk9PNS9lSHV5T0crZ09jNWd6ZVlkNTNMcjdDMFRneldzYWYrOWhGVTlwMFIybGhkRjZNYTZyVG1YbzErNURuckdTMExnREJnYmt3WTRuVlVrSkpHRzRKSUxrU2xJMWtCc3B2VUdrQlNSTk5IbVBxVHJSSTBrMlpWRUhraS9SNkZIeWZZQjZKR0tBOXErV2taN0NRMFk5KzRiRWUwVUIrcUtRMUhHK1NSaXd3RjNoQWtsNFFOa3RTdEVZSHhuK3pRdmdtMno1NFlkUDJQcjZzRG96Nm00V3Ezc3VzN3RMeGVvN0x1L1pHS3dmWnRuWlBkaGFmK3FPNnNDQkZ6S1BrSnoxN1gwZElxRFhvWSsyaTFzZ0FvK1F3bnJEbzJWdmZkamJ6S3REdFRUSFZUdzArTURjdVJNR1A5Nmp6R1JjNHdGclpxV1JjQU5PMllBa081RWszMGdIZ294RFRoR2s2MWVYVGRQc25sR082UnlRQ1NHelRlaHZnN3FZd3FkMTd1ekxDT2NPM0NXeC85SmN1b0QwaWFHam1LdXZsSXRQN2QrYy8vZC8vemNISno2L1ZxNnRyVVVuMkZtWCtNTVBmeVEvL2tjZnF4NWUrOGo0VC83ZzQ2T1FmOFI4NEpHMXRUcnFPVGJqdUp4bzcrc1FnUjA0a2E1RFZOb3VmdVlJck40QnZkTGY3T1dPem51dldJSElpa0htemZtbG0wQU5pRjhhZ0dlcnFMTVJUaGhJemdUNU1vZ1F3bk5nWWlveGxYNTFIZE80R2lac3dKMnhFMHczdXBHZTZrUSs5SjIyR25sVnVkRXA0enRCRG4rNFRlZVJBL3NITDlyaTFwaHRoekJaS1VRT3FNNGRxRloyTGVNUzVwNjZBOXd5VTYyOTJ3ajhnaEZvQ2ZnWERPRFAwUHptVm4zdVlpcFNwNWRMV3lEUnJXUVNGeHp6NUxqNDFVTXkwbVIyUjdZZzN3bXlSUjR3aUR0UGFma1NhWklnbFVtWWtaOEJMZ2pNOG8wRWlUTEkxa2pDcG16RTZjeDg2QVVtcER2UmlWMndOM1dUZkxTbks4Z1pxR3Y2MFJBeCtHWWdiTXErSkJVOEp4bEsxaFU2ZFNDTEVmVkswbXE0ZGFFbDRKdDdNbCsvMFhIR1hyL08ycDV1NGdqdzdMZlNvbGRLWng0cUs2SzZUQUpjNEloNzVFY2x6NEVjNTdFRHJySWhFQVJzVHI3MWJlTGpNV3NRSkVtUWhCc2tHY0NNakNuSmpwaUFVNWM2UWF6QUQ3ZnhiYktWUnIreFEvMXRhZXpEZ0dZSHpOMXZKbUlIYlBURm94K1I1SzVERVYwVzA0TjhqempvMlZZcUtZZFM5SG5BalBacUkvQUxSNEN6K0JlMjBScG9Jd0FVOHp3LzFVRWx1Z3VxZThodGUwbGt1d3pTSnhJQlk1d01KTDRHSkQ4U29rVVpwVk42OHdJeThsV2tHYnBSM3lDSVZxa1FrbmFhc29rRVNYZ2JKRi8vRWUxSXFMUWRiV21qcVkrME5QYUN5SjMyZ3R4RHVqZTczQUVjSEkvc2dlZ2VsN1NMNVlPNTBZWDJDQUx0ZFMwaUVEUHhXdGk1NFcyMERyNjVFYWk1L1RVdFlzZTQ0cWs0QUVrSFhHVFpISE5FWVVGNHd1bW1DdEZFRklTQ0wwRFVPWW5VZUE3QmRPVEIvTGJjVG9Oa1NiM0lOMkQ3cVhUS2JZU043VHhKbHZsWlhkZ05jZzdDRlNRa0xaQlNpWkFxQlFEcU83dHhPbXJTby82Q3hpNVlzS0lxODRxaXR6bGNVTFJYRzRGckVJRjJJbDJESUxZbUdJR0Zia3BsR3BKUVY4aGhKR0E5QU1pS2l3eE5VTGp6UXp4RVJOVWxKVmRDbEp0bWIzNTlRRllWb1Q2Wmo4SUpFSlJPa0FSZkxYOWRubWE1cTJWemxvZHVBM2JGOHVZNEk5bzJaYk42Mm0zeVVJZ2tLRWszYVlsRUVsWkpBRWpBUm52bVBJSUFDUmp6TEZ4QlNzdXFhVjRLNzBGdWd2OHlqb05xNzdjK0F2cld1OUI2Y0RORUlGZmdMbGVIcHR6MWlzYnU5NEE3Q1JneTVObHZZZVJYRjA2MzJQMm1CSkl3dVk1NWxwRXNYME9pSUZtK0JwQlhDWGc3emJhTkhnbVRrbjFOYkFUNU5ubVdSNXI2VjlVMU9vMXRFcTJ3YjUwUk1FbFloSDQ1MnpuQTgrRGtSZ0lXbldmN0ZYcXdZb0lGUWVxSmxBbnQxVWJnR2tTQXMvZ2FXUGxwSnRyNm16RUNzcmEycHNmWDFvbzcxazUwc216MUhEWUVsRis4eVpLTDduTFZvVU82RUZGSzhoNTNsaENBNUlkR0NqQ1ZVVDlMTjVJa3lnWkExUCtZTklrUjJ6cGhrK1FaUnd1QnBvNXRRM3JVRWM3NkJrdzM3WmdIMDBLRURJUyttWkNBRVgrdnVFTWlIckw3K0svNEZ2bEdRakxHZ016Y08vSDV0Yzd4ZjdsV25QajhpWVNKODJpdk5nSS9hd1JhQXY1Wkk5YnFOeEVnK2NxWGxzK1Z3Sm5lbnNXRGc3eWxjOWw4bUdHRExQSEZHN3JrcFpMZ09VTVNGK0h1RXpBSHFOZkFERTBaWExoWEZXWitBa2ltb2RkZ2xxWjBvaW1qRFRCTkFoV2ZFdW9rUGJIWjZFVjlnTHFSTjByejhBZXdITklSUDVXTDN5YVRiSVhwc25idlZ1YUR5bXd1dTgyTlBjZHZtK2R4Q1hNTDMrLzNoK3QzbGljZVB0R3VJN1RYenhPQmR1TDhQRkZyMitBUlFEZlBaeEp3M2ROMUdZNnJQR2RBUTc1WkVEODk2M0lqV1pyd29GZWtJVVVuK1FYaGNWZUpHZm55WXo3ZzRDV1VNaUZpdm1JQ3ZrcFREcDlLMm1qU004bHlaM29HdHFNK216VUZiRE90aXpaUkZQVWhTYzROK1ljZjV1SWtYRy9TSEFUVHlBYmxHMFdSZzREZGhqWHlYR1UrbjJ0YkdOWGpoYnhWemFmeFp2Kzg5Y3V6cTNkR1IyaXZOZ0kvSWdJL3NhZ2w0SjhZbnJieXgwWGdESjVTTEhZS0xZYmRzWTZIRUF1Q2l2UGVnU01JMkxzR2JYYkFFQ1VCQzR4a2FJNGdOeEt3RStSSzVzSHlJTWhHZ3FvazFXbmVwNUtLd1hIRXRDNElkS28vcVd2c29Ma21TWUhUcmlPbStDUU50bzB5Tk9VQ1k5NWNTYnlPSU45c0pHSkRrellxYzFOY2NBZmNJd2tQYXZPNURKdXI0Zk13NFZtd3prbXUrbDNmTEZmUE5wMmd2ZG9JL0t3UmlObjVzN1pwOVcvTkNGeDE1cnZXT2JxOHI5ZXg0YndPT3N2RllHNFB2MVJiaGVzU0NXNVlPN29aa3JnRDV0bHZjNVlxTEllVDhOeEJDZGhVa3Vjd2c3QitsdjZKa2dRS3dtZjZUTS95VFJuelBnVjR6ZEtOWkp0dDZleWFtSkF2UU81OUZTNDhncENVUlZJdEtJbGVMVEtmQlV1bXVxZnFGM3VzTTFpcUtpemdRcTkvWW8xbndtczhFejdSbmdrejVPMzlCaVBRRXZBYkROU3RycmEydG5iVm1TK1BHdExDb25UTFZmUUhCOHBlLzVoMnVrZVJkQTlKZDRIZ1IzY2dtOGYvOEJKQmJFNmk0MDN5Rlc1amVjZW0wWlVKVGtHbkFCSFNoZWNWTEdPOW1MQ1F0eE96ZWo0SWozd1lZMWtqbUcvS21BY1I2YWI4cW5Ua0ErRGxUUENHc3o1OE04cElOeENGRTZZS1M5d2QwOFU4UVprVjg3bE1xN21URHRkbGNiVHV5WUd0bnE2dXAzclhwUVdlQ2ZjMyttZnZ2TE04OFpIMlRKaGh2aUh1RzkySm1PazN1byt0ZnpkQUJCN0I5TXgzcnQ5VHI0WTIwbDNTa1ZVdGk0TmFsbStUVkI1MTdneEpadlA4S0YveVk3c1kvVGJuempMQXRKTW9RYktEazlGc1NxNlJKOW1TOWJBTmc3Q3hiT2VqWFFBeTBSRnhDRGZYamlidlVSNmdUcVFEWU43QjZnWTAxZVNua20wZDRnSHVmb1ZuMHNJdjNnaUlzYzVTY2lkTUZabW9rNkxtWVl1VmFjNEtXYldrUjR3RVhCVnlBRWxXdGJaZHBXN09WZjNVVytodmxDUmhPc3FPMjd1TndFK0pnUDZVK3JhNmpVQVRnVE1nU3k3dUtWUjdYZUdYVWp4WVdJVElxb2dlVkUzSEpPbFJxdXp4K0pnT0p3RUQ4V1dXT1VtUVZNY2JUTUpkS0lVMk9mV1l4dFdBUUNKUDJaUlBKVXRwUkJxNHFFZWRoN0ZJTnpvMHgzYk90Rk5pS3B0OHBNR21Nd1I1ZStURGo1RGdEbDIyUWZzMHo5MXZzd3NXRWpDUkNKVWljMndrNVZWUGNwamRISFhIUVNxdmNtZTh5OHR5bU16Nm8zTEFqd1dNRmZ0cjd6WUNQeTBDWEFVL1RhV3R2eFVpc0xhMnBuZC83blBsQTUvNVJQLzRINjdOSGYvczJxNFQvL1ZubGsvOE53K3RudmpqUDl6M3JyM2RBMFdoaDBYMENHSzNXNmFqR1hxRVJIVElnSU1HRGZMZFpSQitDZGY4OG9Ha2hnbW9aSVFURU9HdFVCS2NRTUVjd1BLR2VDbG42Y2pQRUdXZ1ppTkRCM0VKeVp6U0NkWTFJcEpFcEYrRHlFUTVwUWNpM1VENE9vTUM5TW1GZG1uUEtJMTU0MmFkeEF2S1pFbjdKdGhWQy9ZUUIycnhnenp2UGx5SkhkMDBPMWFYdlNQbFFBL25Jd3VIL3ZmL3J6ODQ4Ry8vMDAvdmlSaisxZC81bmNWZi9mU25oeWNZMnpnclB2SDV6NmVJTndjdzZ4dzM1ZFVPNnFkR2dMUHVwK3EwQ3JkQUJQNzcvZnZUL01ZTHc3bHljYWxjVC90N1VoNVp6L21kVlI3ZFdkbjRycm9vN3ltSzhtN3ZkZSt1Qzl4VGkzNmdOcndyQ0loa3REc0RDeVl5QUxRRDVlZDI0ZFFpUE1qTUFTUEF0SkIwZzN4bmlMeUFGK3VGQUhVYW9uMmRGRyswMEpCV3BFUFh1V0dtbmlNdW1WUXgvOXIyVVJmTlFsS0g5VTZBZm9EK2lTU29KaWFWUlluOHpOMHZKbnA4TStFYmlJRGpRaGJSMnIxTE9hZ2hDeFY4ZDJVNFBJYTljNnUyOTljaWQ0K0xkTWZKdzNvQUFCQUFTVVJCVkU4dWkvdE03ZjVjNTN2U1dOODNaZ3k3L1h5NFRPdDdSOVhpVXB3VmJ6MzlkUGNwb0RqKzRJTkJ4RUxQQWhUdGZhdEZRRysxQWJmai9kRVI2S3gvcXlnTERHUUx5MXI0UG42NlB5b1o3M1RvblE2L1MxVHZkcFY3QkxqSGtlNDI2QWN5L0YzRVlaNzNOZ1RzcmdOWEVuQktBazBUTW5NU21FOEkwQ0g4cDFCNUZWRkNaV3BOamhiZ21GeXZsMUZLcllhSW5XWUNGSTAreXozcXA0ajBOcUtPZ3lIRHVrK09IOFNkRFFuYUVrbkpOUlVOaEg1QmhDYUZieGdFQkprdzZocmlWeDNTSWZrT01yQlFPMVl6N0hCdDlxNGEvbjZTOU4wTzNBdm92U0o2UDJOMmp5ZDVyempleWJland6bnJYaDVWTEtlTmF0NjZXMTFjdkpqNjU4NmxSOWlBN3h4VHoxdHhxMFdnSmVCYjdZbi9tUEYydTRzSm0ya29TWmVvc3A4NEN2ZzczWEFuSUhjSmNJK0kzTzJpZDR0U09qN2drSGVSbkVqQVdLVmNNTzZBWGJXRWtISTBBYW9OMTdHT2hBYWFFMEFFT3R0MVFpQkJqaTZzQXk5eGNZcklJOHFJbVp5VlhaMFBYZVlid1hxUE5DVW8wVWdBRTlJRkhRRWdjTVFWa3JaRklRSDZLdlFKVEFOS0hRRUpkd29JZDczZ0RsYzV2ZzdMQjdXUWdMa0R6dVljdS9CTmlnUU0zTTFCM0NQQWZjVDlBcjVaaWIrWHczdG5kanNpWW52aHVwUUxuZk5ScnpzcXkyS3VLSFFWMExVSEg1VHc2dHFpdGJZVElxQTd3Y25XeDU4akF1NXlmQzMrVHNOYTUvZ2ZyL1YrOWRPL01meXJ2L05iaTMvOXYxNWIvdFYvc3JibitCLy8zcjUvL1ovOFp3Zi84aC8rWjRmLzlmLzY5NDkyZEhqTUJuck1Va0ZROG9zMUE0N3huUE1ZSmM5N2NaUUVkQVNxaDF6VFFTVGR5eDN4aW9zc3NueEFkS2xYT2lRNVZDanhHcmd3RDNJVXVZWnBFTElObGtPYWYxRU9aejVBMGFSREJxalBZVEVsRFp3dEFtZ2t0aTkzZHNPY1QvV2Q5U0Rjd1lyd1k5SWVVVWFFbk1HWmZ4VlVwdzJMTWhieVM4WEUzVy9KTjVRWWE0eDVnZFVyak1sZXBMUWZtZzZTckEvWHdOSGEvRmdWRUJ5elFvOVdIVDAyN3VxeFBPZ2RHeThYeHk2OWJmSG8rYmV2SHI2OGQvSEEvN3AzWWYrdjhyejQzL2d2ZjN2bHIzN3VkeGFQOHd6K2djOThwdjlyRC8xNjkvamFXZ0dlejZPOWJzb0l0QVI4VXo1VzRQaURENmJPOEVwM2NlSGlYRDQ5WHRwSXhkNjYzejg4M3NydnpDcDNhbFhGc2NLOXFTd2VFUGRmcVpQOUpSTEl2VHpEZkw4VnhidXo2dHNxeGNGS3NIdnN0c2d6endIYmRWMjFsS0lRS1VzZ0ZXQWVManJkTFFxNEs1Uk1wak1EQ0xLZE1NSUs0VDhxZ2xVczV3ZDBzaG5yNFprVTVxeW5pUHFBWEpXTy9BUktPOUtBWElnQWFETmtvRW16WGFRRFlEcktHakRkbEUzMTRXajhDRis0dzIvOElhbXlqTzVTRi9RSGxLd1RuMGhFL1FTT3pQWVc1UngzeENCaUlXVkhMR2xpdk1xUlczZlQ4OXdtZDhsYmdvT2pJcjI5NnBidnFmcWQ5MWU5OHU1cTBIdkFpdTZINjE3bi9uRnA5MHJYNzNLZUYwdTMrMDdQNlNoRzJOZkh4dkxtZUdVZXEramRmZm8wUDA3UStXWXdhSytiS0FJeHEyK2k0YlJEbVVVZ2ZqWjJPZVd1amp0emtORlM0V21Qb1Q3aVVyekRUZTUwOTd2SWtmZUs0d0YzKzhza25GL3hwUGVhK2dkSUpPK3VTY0Ntd20vNnNWb0JpOXpWRFUyMDY0bXN5NC9PVWhRSThuRk5iQ293OG9PeDh5Q20rRjF0RUxHVHFKemxRb0JrNVM1d0tyRWVnVWl6TVNhTmhaL1NDU1FISVZES1YrR1JaL3RHZnlyRFh1UkRPdnRvNEFCRVdFU0FZQW9CZ3pUOXNBNVRlTlRUNFhnVDhHemlUQ1BBQ2dRZ2JJb0pETEFwT0RhYUF1S05CeW1CNU9zb0NyRlVwTXkzcGpHOE8zWWZqb0dWZUJQTFNXL0xLYjJuTHZBQkwrUWVWM2tBU1Q4c1NlNTN4VDNzNWk1TC9sNGd2OHMxSDRVVysycllzbms5ajAzMDVnOGM0SUc2WTNySlZMYmlKb2hBUzhBM3dVUDhVVVBZRTh0NHM5OVZxK2RFaTExWjZyMHFlaGlLZDNEQjMwbXF1MHNFOXpMOVlUaitNdVZmY3BGN1JlWDlydkp1Vnh5cklRY052a295YUhiQXB0SkRTZ1YzZkNKRjdJQVRRQUkyNFE2WXhveEdNcDNKNUFwelIzQVpXRVlsVENBSTBqVXFCU0x0SnNGa3BNS0poTXQyV3BpTy9Bek9BMVdudlJrd1RUZlNhUWE4UW9mdG5BRHJvNjJISkJySjhxaHpwejVmWnFRNmt6N1Zjd2JLdDNXRlk4SHJJRFRONVZPVXpuaEFPcVh3alN0bGxYSU1mczNHSFREbENzK0xEK2FFdDVONDMrT1MzbStUTHpNZmdPRERFTG1mSUFITFhUVDJYaE84RSs1OGNyN1BnV1ZITVkrTVhtZDRKVDM0NElQaXpsSzAxODBVQWM2Z20yazROL1ZZWkcxdDh2ZDM3LzdjUjh0ZjQvbmczMWhiR3h6bmVXSDh6dlN2ZitZenk3LzIzenkwK3RmLzI4L3UvN1gvKzBPSGtzNGZzYVhPMFdwK2VMVHFwMk81S0k1V1NZNWxtUUhITXBnbVNLeEhUWVM3WXhLdTZGNm1keE5MMW56WkpBTVNjWmZ0U29JN1BDUWphNWdJT1VNUWtuazBJRDhFUjFnamhROGpvQkNTdEpLa0JRb0VtbnFRYTRRdkxBSWxFWVFybERSTUVxYXVFNkhmUUtoTFJIMERoVS9MYVk1R1dCZUV5VG9uUU14a3BLK0dzSzdKVTU5RzZBZE5PM2dKb2F4VnpQd1Y1dERvQ1pVNFhnTWFzcWErc2M0RHdrOEJIS09yU2cyazJsRlFkckpna0VYbXMraVNxZTUyUmNUMmdBa09FVWN5d0xqNzBSck9aeEdRWTdXa294V2ZFY244bUhlTG96TG9ITFhCd1NOZmVkdXVRMy9qbi81ZkR2eWJmL3lIZTMrTno3bjVmVEhQaTMvMW4zNTZlSHh0clhkaWJhMURXY1FjQWVnVTJtc25SRUIzZ3BPdGp3QVhsc1J2Unp0WHJuU1hMaXdOY0dWdVlUUmZyWlRyL1BLbk16NVNGUnZ2aU4vc2l1dGRMdmFBRi9waDZYWHVRNmY4MExnczNqOHFpdmVNazl4V0pUMDRUbW0xVWwyc2l6VGdRdS93dkZjSmNQZld3RVF4QVFsSHB1QkRJTEdnSnJ0V1pLQzZnYU01NzJVZGl4R0VGSEFYQkRHQmRvVEVsQ1JCdFlCUUNoUUlVQWNCcGh2aUpUczE1VFFnRU9wTUlGZWxFVVpuZWxlWDAwWlVJY3BjME1nbUhTL3NyMmtUbGdTTkRSWkhuNU0wb293dkVxVzBKRWowT1FnNElLSVFsaUo4bmNLZFRXeUNadHdzaUdPSnljNGYzTFJpRWdzUlpNS0lrTFA0UnJxbThVclFHWXNNZUZTeE1JS3NqSG5rTXk3d3RxcFR2anQzeXZkNXIzT1g5N3Izb3BzZXlEazlZT1B4UFZMWkI4anVkMnhXZUVmWCtvZkxsOVBld1dDd2E2UGJIUUxvZldsNXVZeTV3blI3NzRBSTZBN3dzWFdSRVhnRTBJdFhycFF5bDdzcHB3RnlXdkJjcm1UTis3bGRQS0lpN3hEb25UeGIvWkNML2hMekh4WXQ3dk9rSDdLVTNwOFZkOVFwM2NaRmZ5Z24yWjBUQ1Zoa1dLdDJtQTRDZHU3VVNCaUtyQlBpQ0tKNERRRFVKSnNnMzRhRW1RN2lDUklpSjVGMEFDTkpHU25MZzdRSUZlNG1TYjVKQ3Fna0NQTXpNaE1JbWpSaUdrN1NFbWtYWVRsUGFpY3kwZzJpYnRiR0ovb2VFandyRnA0ZEIvenFObE83VjdWcGlOZFk0SUdKRGNUbHdnS0MvaW1SNktzR1FKK2JHdHFpRHYyZ3RqcE5USkJkTXNHNEMyTWhqSmVic0o3SWJHZDBKK0pwS3BQWU1rL3laVnFVc2tQeUpRSEx3bGpBTHp2OVlDM3lOa3U0M1pLOHoxWHY4cFI0TEFRZVdjZ3ZDWTh2UlB6OTRyZ0RudDRodVQ0aWt2ZU9mY1FkOW1nNFA0ZmU1dm56WmN3Vk90bmVPeUFDbkZVN3dNdldSVnplZjFwc2R5cFE5cnVGV3A4ZmNoZE1zRnRWOTVscEhCK1FnTzFPaUgySTRmb2xkOFFaNDMydUpHREJCN0xvZTdMZ05rc1NpM3lWcExCQUloNFEvS2lzUWNESUdzUVJSQ0V3RXNVRXNSdU9NcUNHTndRYzVGdGxReEJ4ZGlDelF4SVMzSVVhbU1vSm1VbVFXT3dvQTB3TEZLd0IrQXJxYjB1bVorVWhBMDFkNlAwa2tPZ2FQYmIzbjZSM1ZWM1lEalR0V0I1K2c1ZlFOeVg1WG8wb0M0QjY0Uy83Y0RlT2tlQ0hBRXpnWURoZ0RrTEFLakRXTU1Zek4zSGtteG9sWTg0WUMrc0VGVHVwSVoxYVpNQXZPUmNJbmhkTGZPbjVOb1BlenVmMlBvamVCZUJlaUR5QStMSVV1TWVCRDdqNGV3VCtEaEVjenJDOWhhWmRPV091enVnTnUvRW42amdRTm16dkd6OENldU83ZUZON3lIVkU1bGlibk8yKzQ5ZC92WHMzejNWLytYZi8zdndIUDd1MjYrN2YvLzNkOS83aDcrMDcvbDg5ZEtpTGR4d1pENWVPak9ZSFJ6ZDd3Mk1iM2Y2eGNhSEhxa1NvSEt1Qlk5eEY4U3dSeDBnQXgxemtxSXNlNHVJOUlGcnNSVXE3b1duSm9BdXNHeGlrNXlRQXltUWlRZ25LaGh4Q3ZncXduSUFnZEhJakl4K0lNcEFicGhBQll1M1BKSFVSY0tGQ0FMd29xU01lVTA4Z1VSYzZQeVBvKzlTVzRPbzB3czdWTmlNZGlQS3J3YkttNzZtY3BObmFBeE8vb293cCtxaFEraXZoOTJzUWZYTm90T0ZzNXlIWmh4TWdRanJBdUFWa0lsa1FjVFJBTXVJOEhhVUp1aTR5SU9iQjgyS284Rm5KWGxmWno3SkRCamxDbmZndGR2TnNhMGZ6dkN1ZTM4ZnpIeGR5ckJxVVI3YzZuYU5iaThYaDgwY1dEdjIxLytzZkhEak91Zk1yRC8zMjZnT2ZXVnUrKzNkK2EvSDluNTZjRng5Zlc1dWNGWFBlSVp4R2U3MVZFZEMzcXVPMlg4U1hhbkw4d1FkVC9NN3pQTTkyRjFjNjgxcFVLMVZPKzhzS3g0cWl2cjFJK09BWStaZFVPNzlzdmM0RG8xN3YvczFCOTc3eHNIZlh1TmQ1NzJhUjNyMVp5bTFiQ1lmNGNYWjFESDZjZGZReStIbGNWRW0rcWxwSTBnSkpFbFFLaHl1Y0s5cU54T0RDWFJzbEg0aHhNYkpvUWhReUxXdktKMmtIQzRYZ2JsWUNvaEFDVUdvSm1uK3NaNmRRU3BvRFA1b2pjM3NXaUhRWW4rZ3A5Wlh0Q1BvQUl2U3ZscEcrR2xFL1E1UkhtdllFdE5UNE5yTVJlYVpEcHdIempYeE5HZnRsdWN6UTFBR2VBd2JqbHRhYkxTMnRzMDVBRWlZU1l6aURJa0VqbmhBMklrSVNvUXNvbXN2NVNqdGhxd0h6N253RUVXaFdvZEdYeVN0aktRMFNpNU13VFNPcWZGUUZkOUxkTEJpTzNaY3ErSjZSK0tHUjRqYnVwTi9ETS80UFZLbTRKL2M3OStURVl5Y1U5OWRpOStheTg0R3NuZmRVS040aHFYKzRVNi92M2R4VkxsYjlqWDc4Ly96dTNuODZuWGo0STV3TUhDRGE2NjJJQUIvd1c5RnQyeWU0Q09Pc2JoWFF6bkJZREhQdXB0U2Y1M1pyeFZIc0YwM0hSUHgya3VVSHhYRy93WC9aVkI1QVN2ZDdLdTdOS1gwb0YvcGU3b0RlWGFtK2pjVGJFSERsV09DeFFEYzdtWUZHUkVtK3FVVFNFaW9GQlBISWVXWUtvUWZxSkFVaE1VNEFrTThJSVNJOWs1RU80bUFlb3J3RHFaRVFGalpnV2RRRlVuTFI1S3h6ZmtSM25wRTJZRDh4YlBaTVhVd0FzUDJQQUJ2ajlaanB6c29qSDJrNnpYY1JHb21NeE5pdXd0WDU0SmtBVlJHU2tHMmdHYlNUTEMzVFRRWWNHZUJIQTJvTHZWVW94OWFRci9MTmpGQkpySXR4eEZpVmxvandnUkFpL0tKd0J0cjVaa2NFOFU0QUI4QVdRZ3ZTdkZjbVY5cVhHWlM4Q0ZVKzgyU2lLVHU2ZkxaenRXQnBET3lweEE4U3Q5WHE3ekhGQi9tbDY5ME91ZGVUM0FmSS9RSzlsMC8zQTZMNURvVzlBNDRqMXNHZVBOcmNwZjFkdlR3NlVzeS9jQ0I5LzhLUzRzRUhCZTMxbGtSQTM1SmUyMDRSay83eTZkUHkzTVdMcVRzYXBhTHZYY2syejlDc2NNSHVKejBlZytCMnJvd1BzT3lYeUhHL0RNZ0RKbkkvejNIdnRhUWZ5dEQzbWNxN3VTaHY0L0hEd1JyTmZ6U3hVSWwwYXhFdTNLU1FwSnBLS1ZJSm5SS3dPSzJhZ0tRQTlnVnlEcm5DQ1V3aFlEVmlremFEQTF6RGJLY0NpZDJ2S3BpWUFBSUVSTUE2RWtrUWswUURCS0hWM0FIWE5Wa3RTSTE5QzNWRkZJSUo0QXBuT1lpWmpQU1B3cXcrcE5NQ2lHM0o5dEVtNmtJMmRkT3lKdCtRc2RBdmd1M2tLa1I5a0MwSDdSNjczNXJPOG9iVENtMW9BSWtlSnlUR01hRGJCRXhMcktmbXhDTEhCcEZKUHd4Z0UyY0dtWDVOU0pnMjNlTUZ2TVJGaE9vRTM3U0VQY2pFTHBNcURrMEdjQWVNMkFFSDVMRTVBQUFRQUVsRVFWVFA4VDFoS2NQMlpQZ2g0dTFaNUQwbThnRlh2ZHRWN2dYa1BoZmNUL3YzdXZvSDJNMTdYTkxiVGVTd211MUZXU3pheHFodk9SZDg0MDk3UmwxZFEzdTlWUkhRdDZyam03N2Z0Y201N3E4OTlGRDNiL0JjOTIvKzd1L09ILy9zMnE1LzQ3ZC9lK1ZYUC8zcFBYK3QzOTgzLzdhM0hTeVA3VDlVdmVQSVVWdlpmMVFXRm83cVlIaFVlNzJqMWltUGNhZDdsQXZuR0JmWnNRdzVTc216UURsc29nZUovU1RoUGZ4aVo3Y25YWEpOQzFsMFFMMHV1YU1naHlqWHZCcmlFUXQ4S2lXa1Ixa2d5Z1BrQ2t3bHljQ0YrVVpPeXpESkk4b1FaVlJnR2t4UGdPazFMWTg2bVpDcWt3R0NoQnM0MVdoYzZFTUFsTmkyRWY3OFpFekdRTHROTzBxT3c0bUpuV2dyd0xZOXB0blhEK1diTW9XRURGQmZhRThvd1h5UVplelVBd2gvalRVc24razBrbmxjQldjNkVHVVRId1VJZTl2QTVBcDdVUmFTYlJEcHdDdzlreXh6Z3A4ZXhHZzRtMnR0bmlnNy9DSzBWd1BERFBCTFdGbUM2bTRrM2VjcUIxejFZRzYrbVBPajFHbk9pNDJmcEx6VVl4N3pxZE05SnAzZXNmSGMvTEhSUXUvb3VDZUhzN3pyd1ArNnNMQS81dVMvemJsNTRuZCtaL0hFMnRyY2llWnZVVHpVL2VqblBsZWVhUDkrTWQ2c1M5OHN3N2U2M2VQZ3QxMzlmaitmUDcrWWkySjFLMjhlTERmS1k0ekx1N0tONzZ3TCtXRHVKKzVhMHYzYTdYMFlnKzREMnUvZXJmM0IrMlRZZjdlUWhITlo3cXRTMmxVSmVtTnV0N2pMVFNSY3lacUVDd3V1aWIzRTMyTUlKSzUvaGJFRExsUnd3YUxtNTFidVBpVmtadHE0d0oyQUtHUUc1ZDVPQlBpUlVQS0FUdW9nWUNaQVRuV1FIR0JPU2ZER0JMUVQ5Z1BVWjBPV3N4MUp6S1BNb3BBNkRlRXBNMElpVklBcFJQMFVvZnVqRURwUkh2cmhTOGhBbEUzeVlldTFFSDl0SHV3YjBRLzdsQVlLRWFZWUQvRGk0Q1JJdUVFT1JkWkJXRVBFT0F5SXNYdDJ1QVZBU1hpQU9wU04vYVpmNWlHOEVsK2pId0pOR1Y5RDBpeFQ4UnB0bkcyZFhkSnMwMGU4Q2NTenE3UHhXUnJpdVRMWlBHTVR4cFdmUXZqbUMvQ0xBaFR4bjBKcnFoWGxHTjRkaXczSElrdFZvWHZxc25QSXU1M2J2RGQ0ajNYNkg1UnU1LzY2b3c5WTJibXZUdm1lUXZVdVZYM2ZWcmY3emxGS1IwZmQ3cjRybDZxVkh1ZnVtUmRlR09LNTV6cnhHL1RqL0w1aWJXMHRIQStndlg3eENPZ3ZicUsxTUkzQWEwUi9lVGx0Ylc3Mk95a3RpdGx1NUhSQVJJNGg0VjFjWSsrRjJBZEY5QjZvM00reUQwdWhENkFvN2thbjgxNHVrSGVCT3hZcjByNWFkZGNZMGhzN2lwb05LdWpzSjJPd1JOSWxrQXFBMGtTUlhjQnZ5YmxnSFRXWm9zNlV0VW5PUmpjQWgwS29CMGxBSXhYUTVFei9DQWgxQWdvWExuaEVleUVCVERpS0RTWjg1ZUtSQmlpWlFNRFFLSWJ5TmtoS0VoQmw1UVJzQTJEU3Y4Y1J3VS9BZGozNHhoQ2c3bXZLSWg5OXZ3NUNYN2JCZGtKZ0F2b2hSUGdpQUZOd2p0R2NzWElPQnN3RVdPK3NEeGlMekJIa2FCbU5iTWlhZFF3Q3ZKSFVEVnZUY1FJaUFpVjRNOWJDTnowRXdnZGowQnF3djVETTBnYTVYUnFPSitsNnhaZUtIZGFNTnJ0a2QzU043VGwyZ004OTRDbnhqVmxURmkwcm9Ec0dobFdTWGJXbXZWNFdoN3hUdnQyTDRqMmNaeDkwMWZzQnpqYzRqeXJrSG43WGNKZEsvQzBLdk11QW81WmxYMW5XeTduYlhURDBCOVdsUzEwc0xLUSs1L1FqYkFobmtOQmUxeUlDZWkyTXREWitPQUxGK2ZPcEtIaXk2NzdnSXF1cWVzQmd4K0QyTGs3ZjkzSVYzU1hBM1FJU3NPaUhJZnBMa3ZSRFhKanZJeEcvbXpqcVNmZGxsY2tPV0pBcTBWUW41VUlUTVUwSWVFTytKR0RsTGxnVUdVTGlkY0lhRXM1QndFUklybUZ4MWdNSlF0MEErd1ZFM2hnZ2lMWFh3RUR5d2F0NW42U0R3R2dNb080TTdyUS9BNVExRTRCcENNbVhKWmpXaCs2UHc3YTkwQ2RDNytveWQwVmpNK3orSkxBdlliMlFzTkhFUVFBaEVPTVRqc3ZCNXdOdnhpUXNGUTZPdHBzOGs0eW5FVzRUUFFwTTlFT1BZQXNhNUN2Yk5QWVZRZ24ySVloL3pEZFNFSmN6N2ZUSm5iWUpZOW9vNDVuVjJmZ2NpWnJnRzJyOGw0ZVpqWXkyUENYM3BFREJaMS9FRGxoUzdJRDU1VnkzZ2c4cnlKSWwyY00zNmtPY0o3Y2g2WHRjRTkvNFk4NUp6TG43eVBmM09PUXVpTHlYdFA1T0R2NG9WUGFoeG9wWldrRFhCakljZGtaVlZjelZ0YTZpL2Z2RkRQODF1L1dhV2JyNURjbmEycHJHZWRqZEgvMW9lWHh0clVmTUhlZTU3cS84OW0rdkh2KzkzOXYzMS83Z2R3LzhXLy9rbnh6ODFmL21EdytQOXE4Y3lZUEJrZEdnZTNTcmtHUGpKTWVzS0k3bG9qeHFxVHptUlVHcGdTTmNURWZJWjRlSkF5Nnl4eUFyeEM0VEhicEl6MFVMZ3RzKzRSb1JNUklORncyNEZocElzN2pqVVU0UjlWT1lDendBN21MQmRFQW8yU1pzdUU4V1BRVUNOTmpJU0R0MVFkMkFRRmdWb0w0NTR2aUJHekxhWm5IYzdBUGJPcUVYQUM5aHFUUVNUQ0d1MEgwOW1ycXI5VjVOaHg4TjJDWWtxTHN0dDh0aTdHekRmTlMvQmxGMk5kaCtNc2pRNTNnd3Vad2lBTmJQWktSbmNOcHdBOGVPWnR3TVF5T2R5dDYwWVZ4Zko3ZmJSaHlidWtuYldleGVheVBxNkJONE9kT05mdGlNTk11WUI1K2I4TTAzSkNUcUJIU0pQam5uQlpRRW5mamVVR1JJYWZ6a1pNMGNJcEdLTG5FT3JicklQdU4zQ0E3aCthOXczZ20vWjBCOHgzQ3NqdCtUYzE1bXp0ZFJyemhXRjNwc3ZlZ2V1NWpTc1hObGVlUXN1Z2RmbWwvZCt5K0dlM2YvcFgvOGo1ZnVmK2loaFR2Vy9uRHVnYzk4cHYrT1gzK29lL2RIZVY1ODR2T0pRWmtPSW54dThaTWlFTFAySjlYdm1MbzMyMUdTcjN3ZUtMNy85TlBkNHNDQmZocVBGOUhGUHR2U3Q1VnE3eW5VUGlCZTNsMkwzWitRUHB4UzhlRzZsKzZ0eXVLRFZhZHp4N2dzMzFtVjViRzZVeDdnRjJ5N2Mxa3Vrb2lIWEF4ZExwVEVCUU11SE5SMUZnSjE1bmZjMlVSY29GeDB0QW5sUDNHQXF3M2M2bEpHbW5PZFpDc0I3bXhWRXBRTFZMWFlsc0k4V080QkZ6R1h4b1RSMWphWTRBWUwzQ1VqU0NaSWhkWjVDMFFVUWdDQ0tBK0FiUnNnTHVGTGdJTGwyL1hVbDRBS3RHbVBwbjMwRVFRZTRDNVN3TXVwOTZQQTJMQWI5anVycCs5WDZ5SEtaMldzNE0wK3FNOHl6RUNkN2JTeE1PNEdUbDNDZkRKdXgrU2l2MEpBd3JYWHdqR3g3ZEUrMGdTb0YrWGdDKzhRVTNDOHRPZ0JaeDlUWkFhWXB3cDgzcE15eGdCMGdiNkViYkJEQllSUFcyY29rUGhKSjZVU1JTT1o1L09GaTlBVWN1eU82NHljRFpiWnA0RXZBWnJ5Q1J6S1BnUm1JcGxkMU95QVIxWHhhNWxCSmJKUUpWM2hlZkdCVVpIZU5pckxkM08rdm0rcmt6NDBMdlcrY1NvZlFPbzhVSlYyZHk3OGZTano3VlZWM1daMWZiZy9XTis3c1lIbHhaWHhQSll1REo0NzlGem54RWNlNWdEWWYzdi8xQWkwZ2ZxcElab29QSFhISGRJSGl2N1dWcmUvdmo0WWRYeVJLMmhmY25tYlFOOWpMaC9rZ3VDWGFuNmZRRDdzcWc4UTkzaEtINmlMZEVlVjBqdnJNaDNsTHZpQWxlVnVLNHRGSzNSb21qb21xbXdQcmlQQ1VkVWs0U3FMR2JpUWhMU2FrQ1R4eEpDV2pjZ0F6QWxBbkhtQ1N4VkJjb3FFSkVVRHBWUXRFSkFnWVNnY1hJVE8zWks1Qk9HYjB3eGZHbExjbHNhRkhhQmhoN0FIQWdJUXpKTXd4RE1kUVZ6Q1FvSWFmSTBDc0pPNFdRNklDUHRubEZSZFJDWjFUdUpoWHhUVWM0UTlqb2VPY1RoMkZhS3ZINFdaenRWMVVlWmgvMVg0Ni9Mc2pQMnozbGhCUkwvZWRFOFhXTU1rV0FOUUJhS1VUSWl3VE4zSmRRMlk0dTVWK09ZaGZuWC8xSEtxdndhZzBhdmg0REFkRWV2TXhpRWJNRTJiWURXMW01dTlpZ2o0UkVVbGFZQXpRQ2NvS0pYbFFrZWpmZWFiZGE1SndKeEFIQlBjaGFib001MXhuenh6bHRHK3dsaVdHU3NpM3ZRN05YUlFxU3lNRmJ1NUF6NllWZCtXazk3T2VmcStYT2hkbk1QM1p2RVBtOG92c2UzZFBJZCtQNXUvMjExdkE5SmhBZllWTmw0V1ZBdmExLzY0TSs1OGYra0NnNGYyZWdNUmFBUDFCb0lVS3QvLzB6OGxsYUVvY3U1eThmVlRMaGJoUEN1REhEUEhIU3I0QUJJK0pBWit3WUVQczgwRDBIUVBKKzRIaVR1SmQvRUxrbU04anp0Z1JiSGJDKzZBdFNBQmE1ZmxtdGtnRm1YTmxWRnpNWVdNYzBad3dTakp0eUFVU25iaWxMZFFKa0lTd2tVV1VEb1F1bm8xOGJLZE1BOUtpTUpwdzJqVHVFUzVlSVhBQkJOeTRBSVdnbVcwMzl3Q2tRRDdqanpiTldRUjBwdzFBR3NiUkFvdUFPc2FSS2xNaUZlRTVVdzc2eWI5T2FLZnlEdjFKZ0F2NnMzeXREVXBGNXI3RVpqV2cvcG9ycWtPeXpHRlR5V2NDazM2YW9sbW5NWjN1c1lYUnBlMUFIMFZQbEFSQmZqR3dRSUFBaEFlb0oxR0FqUTc2Uk5SZmhXYVBKczRRb2RnZ3ZNR2dYak8wYWR4KytwTithUSswazRiQ0loQ1ZORjhta2tKYWJiemJXU0pwQVVBUGs4SGFoSnZ6SmxtQjJ4d211V0xSRDJETEV5SG5ySnY0UWNuYVdUc2dET2tVd3NHeEVJdHVwSkZEdkE3QnhLdzNFNzVQb1BlWmFyM3VuQXpBWCtBQnU4V2tmZEI4dTBLdVkyR0Q0dnJYaEZmcVdFTGpqeEF2eWd2ZGtkSzNmWitBeEc0Tm9GNkF4M2RnQ3B5NHNTSmRIeHRyVGl4MXZ3dDFkNnYvc1p2RFAvbTcvN3UvUDkyN2JPNzRqZVIvL2FuUDczbmYvZlp6KzcvdFljZU9yVG5IZTg0TXQvckhaWDUrYU8ydUhpVTN4QWZzNkxramxaSnFuS01FL1VZSnpTQlkxeGd4MnIzb3hsK2lEdUtmYVpwMVpJdVcwcUx6TThUQTA3Mm5vbVdHWm9NUXQ2V1ptRXd6WGt0RGVCY1JJUVFrUTQ1QTB3Z2dhZ3pJT29ENGdyV1RCRnBCVVFBMEdZRHFnTHNDM0RLQ2FKK2ttbElZRkpJSDY0cVl4TFJGNlhRemd5VE1tRXA3OWUxUStRYlhZV0lVaUgwNkFmdFJEK04yNUZtRGNEeXF6RExBMG96UDR3b2IzU2E5ck8ybUF6cVZUSEpULzBBN1UrQTVnb2ZRaUdrODZWUm80NklBQTNBaTdaWndXckdnK1hzcjZtalh3ZzBldlNQNDNOSW93OUtCNi9RcGVBQW9wdElVWVpPSkVQU05uWHhPdmpWZWRyRnJKOVp1ZE1NRVhhRGJNRkFOakw2STRUNk1VOUFmU2RtMGxrWDREeGxFeEhPd1poN1pSYnRjb1BBT2FueldiQmtvcnVaMzB2czV4UTc2Q0tIaVNPc085b0FldFRneDBUMG1CVHBtUGE3Ujd1OXp0RmlXQndwQjNia3lHRWMrdGMvODVtRC95YS9GL2xWcnFHLzhmdHJ1LzgzLzhYZlgvcWJ2L3YzNWs5ODVoUDk1cmZGWEhzODFtUGdYSEFMWDNxcmpwM2txMWYyN1N0V2dkN0cxdFp3c0w2K2F6QTN0K281SDVUZTZHaWR1dStzVWJ5M1J2cVFtajJBVHVlWHRkTjVBUDMrL2FsYjNpZWQ0b05lbHJkNzJUbnFuYzZlT2hXN2FwSDVzYUMvNWRZWndSTy9oZFlNMFZwVk1uY3htYnNxNXNHenQyMWtQb0FNNFlMZ1hKUUU0VzVWdUx2UmtMSDRPRC9OdUpIaGVjRnNrUW5MQlB4SHlZWUlObzBkSEk5RW12U2tESWl5aGxpaXZkT0dzNHlJaGN0dXcwSURGZHFhb1NtUnFLWXlhTm9SL1Fkb2d1VUNvVitpQ3FGc0NocWJncWdQSVBvek1DOU5OVENWRHVITjdxazdMWXM4d0xGUDg2RWJaWUVtSFdPOHFpN0tacGpwWUtaRHVWMFdiWmlmNlU0a2VNa0VUZDNFUjJkSmdBSlFkVVFzUUI5RkdENk9uNE82ZXZ4VWdzaDAvSlNBQUFHMlkyTTRwbmFaaUdmV2dHbXdUM0VSNVhOdUFOMU9DOHNBWmNzQSs2WSt3d2h1emh0a1B2LzRWQlM3WFI1Um9lYXhRL2pFQnFBVkpFMUlva3lMUko2dkRIWTRGTFlDOUFuQ3FTSHdxVFFvVENmSW91REdvRUd0Z3BwTk0rc0Nsb1RsVWpCTmtzWlNMZGlYUlk1WXFiZEpXZHhlZERydkwvdTl1enBsOSs1T3Qzc1B6NGp2RTdON2E5VzcxTWJ2OHkyL0hWVjVHOGFkQTFjdWxTdG5YdmptRUljT2RiNTA3bHg1L01FSDAzU2l4RkJ1T2VndE4rTHBTbWZKdkFBQUVBQkpSRUZVZ00vZWVhZk1yYXlVVjg2ZDZ4Zmo4VndxaWwyY1lLdkljcUFHanBFeTMrVnE3M1d4dTBYMWx5RHl5Njd5Z0tSMHY2ZDBINHIwUVMvUzdhWTgxMDFwanhWcFY2MXBidXpvanczbE9Ic3hCbEt0S3RRUkUxcWtrWm9mdzJzdWpRRFhGRGxUWUpnQXdzZkJoYVJCd0pSc0RyakFNeENMTFJZeURWR2JDdzNVZFE2R2lISWFRa080WExYdUlIRUVtSmprRVRxVFFvQk4ySEJ5aXdoRUJNcSsrWXJ0aTBwTkc3Wm4zN09tb0RZa2RBTlFSSjRHeFRNZEpkeUZ1aE9BNDJ3RzUxUnpka0xCTW9DeUtmb3hNdW9Eb1JNU3poajhDRFIxdEFFUlo1b0FMK3BDR29tcnBMRDlCQ3hsR3MwVmVrMENrOFlDRVVLVEk0aVllaHgrRTN2R0FFNGxCK3NsUVFoSWpGK0IwT2R6aGJCZFNKREVPZlpHM3hudkpoSDlDRVNVVVdPMEpZbEtBYVlnb3BBcGdQQmYzV25IVGJiN0RpTE9jVHhGNG0wSW1NZFVGb1gwTVd3a1NWRE9tVWhITHh5cmhDMmh2UmdjRFc3NzcyR2JNSTdSNkx1bDVBSE9meEt0Y2drUUdwQkp2a2xyTXBHQnFTNWxFckFwRGtQazdVanBkcTZKOXlrM0pKUjNxOGk5QUkvaDR1Z0NkaGZkZTY5SnVwMER2WTJoT01pdkVaZnJTb2JvZERxN3U5MmlmKzVjV252d1FXR2JuWHIvUW43ckw5UjZCemZtemxlNTh5MDdaZG1yemVZNDAzWnhwN3NxYWdjNEc0NXhCYjVUUk83a3JJMi9yL3NBMHg4V3lBTVEvSkp3Y2tIMExtaDZ0NnNlOVZUc3lacDI4ZHZrZVJKcmYremVHWG5zZ0pFcUttZFZ5VndjV1RtcFJWQXpianlpb0JUeUZwQTVNOWtmWEJRaUNacTRNRW5DSW9wWU9HWWswbEF5TnFRdUZ4ZVhONzF4QVFtT1lIM29CSmhzeXFqSHRpUkRWamZsVVFEYW93S1Q3SXpHQkpOL09wV1RYRk5IMjlIWXFSNzlCOWpNUWY4NUpNUkNqelFnTklvRzFKM0k4TE5CMUJGUUtrd2tEU0FBdHZOcGVlUi9GRUluRUhVaGZ3ajBFYUxzVmlZMm1jYjJGZjBKZXhINlJEVGxJUU9Sb1hSV01Va0RmR1dlcjNHTENFUWtrb2czdFJpN1VZbGhaSm13VGlGOGxzSm5CVzFJRnl3QUlEUklYK2lYRXlBUnU3Rm9pbmh1YkFsbHUwUk1DRE5CbUJZa1VCKzB3N0FMb2kvalV6WURBcG5QUHhCbnZYVmRveVlSaDEvZ3BhSkluRitOVFVtMHJ3MEVDa0FRdm5nelZxWnAwNk5NbUNhTWJRT1o3UnNTWmo2cmNEa0VPRitidE1KVUVzdWJIYkNKN0NXT3VPcmJSZVIyVGZvKzRYcVFKQjhTMVh0WWRoKzd1VmVBRDRycmU5blQ3WERjeHZFZmdHQ2xMR1VJM2Voc3BWVE1GWVUrOWRSVFZNVXRlY1VUdWlVSEhvUHVpS2gwT3FtUWJpRWxPaTR5Rk1NaUY4MHllV2VWazJhdkEvdmhmcEQ2OGJkMUQ3SkpBMmphQjU2VnVhYkZMRG9rZWdidGNMTmExbzVrck13UW1pTkU0YXJreFlCUUV2NXEyakZKaDJRemRwVUFJVmlPZ0F0ZEVBQ0JlR1RLbEFKOEJldmdBSDBHRGFOSmM3VUZjWUF5d1Awb21vdDZ3amJTWkRCTlNTT3Zmc1hVWmtpZnBwMXRJejlwSlJUS2RzcittR2FLQlUwNi9BamRiY3pxS0owSVBRZFZ0OEd4VGN2UlNEU1hNejBEbUc3NmJueGhmeUZaMXRSUDA2SFQ1Rm5lcEgzYUJ5V2FpKzBhK2RxWHByUjVZYmt3RVdoc1ROdXptSXpZa09ERUZIV2FlbzQ5Sko4dEtQMHFSRDc4alJpRW5EMlhKazEvbFJEcVN5T1ZYS1ZBNUp0blBVazN1aXlMT1RHejNaQXkyNUNMSi80d0hYckNkbzA5NmpkeVdnNWUzcVFqd1RoSG1qb1RlOHFtQ2hJcDhWckp1WXhBMURuSDU0d0pRYmVsWk5zZXJjMDV3QytoZlJtcXUwRkNGcEg5QWh3a0RnSENMK2Zra0VEMk00cDdhR05ab0l2OGJtUWV3TUJ5MmQzY0tqcTFYaWw2S1dsOEdtWDVMWG5IMDc0bEJ4NkRMcmEybkR0UjR5VEtDWVdCdXhEajI3bXFGbkF0T0huVnVUd0l6aDNPeVlaTDFWUVRtNUFnUmNHNlpqSEVMaVVXaUx2U2RKU0hwQTVDTXQrVUorcEhHVEVoV0FIN2RPb0VFSko2N0plOHlRWERmSlNCL1FneFNRdEVoSDNNd0NudXpQTG1td2FDZUozTytEWVRndnFZV1dxa3VGQUtSd1kwN3hBUUlHQjhZUjJkUlBpQVNacVZrekV3VHk0WEdNdWRmUVpBUzZEUHJLTWpNZ1ZGMUllNW1XUTYrbkRLYllRZFhLMHJUYi9PY25pVVIzNG1JLzFhZ0hvZTlrSUc2SCswYmNCeU9JM0hUZWxFazkrV2tZaEtVRk1nRXBpbEFSWUFFSUR3c0UySnFYU21KK0J6alQ0akJnSFdoMzdvYlVzSEJ5Q01jd0NOaEZGbUFDWU5oRElBN3BnSlZrUzhPVWZDWmp4M3poVVB5WG5YU09iQnZJdFFkeEtUNk5PTmVkcDI5dW54d2pTYU5IV29PYmxwbTIzQnRvNG9WeGpsTm5nc01TbVB1a0Mwb2wzcU5LbElNaDFDUkJBVFFtUXFuZHRsNTRRR0NxR2tDd29lU1JFWjNxd2Z1cVhpbFJRZEhSZW8rdW1pY21jU2huOU83UFJtdXRNSDhJdjR2OUh0ZXNmZGVLYkwweld4c0NXSVZVRHlGU3VabjhUSGhjZGV3bzJ0bXZDY1Q2SmFrZ0NjVEN6aFIwR3h6Sm1XT1Irak9RcEhBMzQ4eFJSc2gwQk0wbWdINFJ5TitVbEFtNjdjbVhiaGdsRDN4Zzc1bnd1aTZhL3BVeUZUWFlnQXVBcnNrWTFJWUtSaEpweGdoaHEwQkxDVlFBWE1Bd3FFbzB6TEJBYmg2SVdMcENFRTBJY0cxQlFDckthbVVBS2dHdXVkaUhUb0Njc0NrYWNiQ0NLSWVtZkdXVGNwNTlnQStBK0I5cWd6MFkxNjVubVU0QVJtTWZneDBsbnV4cUVFbkpKMlFEaDQ4Y1VqN2JSSmdCM01Zc0lTMWxDbnVRVk5aaGJQbVp3VWJ2c2JDV2VaYzl6c2psbjZHZmtBS3p6QVdGRk02cWduTXhqN01IWkR5VGhETW9CcEdpeEh1TTZ4Z0dXSU5yU0RoaVJKd3NJMzdXbmFyNUxPY2xEUENVcHZ3RmZHZzdiUmdENmh5Yy9zTTZaVWFSeDNDTjNqTXhGbUNZTmdHNXh6L01URzZUaVpmMkFlYkN2VUFTRUNYczNMUkxwTFhFQzBRaUlwRjZ3b3FCSEZMdUNJUmJKd2lWZ2RBNjBLVXkya3JsTlhSTjkxK3JSUS81YThZeTNla2dOZk9yM2Z5NjJlMS94RTFOVWlwNUk3NEpRZ0dyTXR5RmRqRXBFSk9aM2dRZENaYzRWSW5HV2hseGczVG1CdzRwcUFDakJPTmZjb2k3RCtNQndzazZpUHRrU3ppQ2haSG5WY0ZEQk85SkNjMDRneXNJNU9vY0hzdkpGOXNnQUk2UUFWNFkyY2tLOXgxVGwzd1ZFaHJBNU15RmRvYlFKaFd5NElyZ2FtL0ZXQWFUcUJCcEhtZUtJRjJETDhhY2JIdnB4MUFkQk9BK28xYlp0eU5QNDA5WkdmNmpqbE5wdzZJR1p5VmljeTVVa0JxMmlIa29tdzlWcXdMZHVnc2MrWWhtekE4cENzODJrN2RzUEM1aFVzMms0TGk0UXZRbDFwMHZIYUpQZ3lVNHN5K2tDZHNHZU5aSDdXUnhNWDVrTjZWUElaVTREMURUZzM0SUNFTkFDWm9KU1FCSitCTjdHT2VzWlFDQVJvRHdIT0YzQ2VPSGUvRTBuN3pJUGxIdlY4Z3FCOVBuSWFGcCtsbTd5eENMTjRjanpoVS9qR3RrMTdaeVh6RmhCQlNCWTFjcGFPdkRkbUJPRGNGT28yRUdZalBaTU9ZWkxPT1hjbVVxZ0hFYk9vOFFqWm9kbGNuY3VMSGFWa29zVm1KNmNOdWFRWERoeGdVOXlTRndOMlM0NGJmM0hnQmJkT1B5ZERuVk5WR1dSTFBLMHpHcGNCZlVXQWN3NmNvWHlCOGpuS1orRjRIb0xUSXZLaVFGZ25MN1BzQW1mc1Jjb3JuUDZiVEZkaXp2ZDZhdmdFQ01rRkpwUk5PaVFOZ1lZRHpqUmJOR1NEcUNPaWpMNXNsODNxM1dNaFRRQ213Y1VraFBLVFhFZ1I5Z2xoMHhuQVhLUXBRNThJRzAzYmFUcnl6ajR4UTlOQ0Fid2V3cklKdkduTDlGVnR3SFpnRzZFL1Fna0lQRUFkQjMyT05NRWtuSDZDYVNkbU10THUwellzajNUVVVSay9kRkV2eXBzMnJBeUphRU9FaElPWEVPeVh1aDdsbEpOeUZqc1I5MHd5N1V5L2ltZzdBK1BBTVNGQU8wNFliVTB3dGU5VHlUcXdEaUVKWVJ4MENpR3hTcFJGUGZYUlNHRkRndVVnZkFwUTE5bHVsbTlrMDMraVd2aVRxRWs1MVFsYlByVW5yQWxRY1pxS25BRE13Y0grZURlU3NXN2twSXl2elMwc0MzRHllY3hsa3FtcGVlWnVwQmJCbUpaRzZySWg3cGRvN3h6ekw3SEphVm83RGNqenBQem5BWnhtR2RlSm5vRnpuWmk5b2lLWHVUSFlOTlVLbGVZU2ZSdjRnaTJkRGxXMnVBWHZlSUszNExDQjFUdnU4RzdGNzh0cWpIMVViaXIwRXVmWVdRZWVjL2gzT1ptZjVtVDd1a08rS2lKZmRzZVhpTWU0elgzY2N2NmFtejNwbHI4TnMrOXgvL1ZzY251SkUrOFZkZHRVUTYzY2dRYmtLdG1rM1RtcERjSXRzNWdETXpqVERmZzRtQVRSWkNuSjUxUXpHRzFsdHB2QXFTSVFMc3FVQ2lSQ3VXbG5udTRtQ0FrWkxpS0lSMHc0bDBjRHdObW52UVpSUnJBZW9FMjJFZHFWYlpsWUdUWTRVdW80UWR2d3hqZkFtSGNDb1E4UjVXNHR3SlNBSGxDTk9rQklRQUFvWDdXUmFPcnBHNFI1d2lOQkdXSUc2bUNXbnNrbyt5RmQ4R0picHdpOW1ZeHM1R2Vncjg1MCtNeFlTT3dXamJ0UkhpT0JlY3drcUNmME5jYWlrcmhkakU3cHEzTXNBWnRJUGhhRXJkQVA2V3dEUXB5VXd6aEcyNGtOWmE4VE5QWE13U2MyNFVwanNnMmYyZy9iRm1tQ3VwQ1p2ZkNIQUNadG5GSUNyQmVpNlpQMVRiOThIbEVXOVhBZ25yMXpIdEZwemtWYVlKa0cyQkhuTHBTZEt5Y2ROeWVlSEpscHdxcmt2c1hEdFN2OGFIaVI2WmVKWnhtODd6Qm1YNmQ4bkNhK0RQZ1hJZkpueEtQRVZ4MzJGUEZkOW5XS1UvOEZkdjV5QWk2aUxEZTZWYlYxTWVmNkx3NGNZRlBja2hlZitpMDVidHo1OU5PT3hVdTVsSVZSMXY1bUd2bGxUcml6bkpIUFF0SjNSZkJOYzNtUzhnbkw5cGlMZjhsei9vcmwvRld2NmllSUo3bDMvcFphL241eWU1YVQ2a1ZPM0F0cXZzR3lySm1uRlZ3OVNzZ1VUWm9UWDl4cGprdkJPTytjWUQyYWREd0w1a01FbUtRcXpFd3NtNUI0eWR2dXRUbm52UE9pVWl3MkhwMmtJR0JLblpFd1ZJUjFJQndrallCemVSaGdUZytNUzhKQ0JwaU9NaTQ5NnBNUzBoVEtWc3BPZEZ2Q0pmTDBtcU5sbWdsWVk1UEYxQkpKN0RtSjhwK0lzakJJRyt3Z0VHMEpDYkF1SkNqQlBPRUVBcEY0UFpxS3FKd2k2cHNrZUUzYUkvTDBDZExRQ1RXdWx1Sm9ydWlQQ0QyV0JQazZZenVEMVNZTk1nTmlOT2pDVWNSb1ZJUmp3NVFvbTNhejlxUm1wN3BUOGhPUU5HQkdtcFlKRFFteXJSSlJCa2p6RDdPeHN3OVFuemZqSkVURUNqQUhvcCtJci9NVDFLU2RRbFBCai9LRlN4eEpzYTJIbitZQ280dVNtcnBHSi9RZ29wQUc0aERhaUhuamJFTTRvaE14aHdhWTVWTUYxd0hoU05RUVRqNDFxL2tVeDh4dkpyUDEwdjFTRXB4bDJiTlMrM2RRalorME9qK09YRCtHVEFKMmZJSE9mSkhHdjhxb2ZZTm12eU9xcDR5N1loTHZ5Nm11TC9Ic2QvMWlTcU0wR3RYSHFZaGI5TkpiZE54WVcxdnpPNEVhRHh3YVh4cHNibDY1TW5kcFkxaWNyUWVEWjZzUzM2M3I0dW1pd05kcjVLOFc2SHdadWZweWJhUEg4dnI2VjZ2TmphL1o1dVkzdktxK3JkbS9WN2cvdzhuNVV1RWdBZHNHSjIwbXNFM0MyVGpCRFZIMkdqaVhMVmNYS1JBQnVJTUxjZnVSTkZremNTNE9hMkRJUnRCZXprNVZjZUhTVXBKdVNpVlNrSERzZGdJc1J3RHhpTGxVWEdoZVFDOThZZytZMkhUS1NMTmJkZzlYQ050TmtGaWlySmlDTmdBdVVjcndyVW1iMEM0SWFmU2lYVU00TXgvQStnYlVvWVl6amZCSmhMbXdPNmxIVS83YU5CcWQwUHN4ZUUwOTJBSDFSQnowajdsSlBoSk5ublgwSFFnNWdiUGNuV29XY0JoanVyMFRaaHFzRS9vcUhJc3l4bUJjd1BaTkc5WjV0SXNuRnpMeVlZLzFvU09Jc1NsRUVqUkFHOEpQSlVvYms3cUpENEJDK0E4QkMyUDBKZXhZU0lDUEhkRlBJMWtPa3E0MDloS2thYXNBVXg1MWxDS0s2T05WSkRUUFF4UUE0eHQrY213eEI4SzQwTEFHV0I0eXlKZFBHQWx3NXJrRGRoN1RHZUdUSFRCd2hkK1dYQ3dOTDNPMy9Lems2anRlajcrZU43Y2VyK3Y2eTdEcWk0TDhaMUtXajZJb3ZscXBQalZXL1lKSVY0RUFBQkFBU1VSQlZFNWhkcXJZMkhoQlJGN2VHbzB1TGwyNHNER2VteHZkdjdKU3hWckVMWHJGVTdsRmh3N25nN2VIUC9LUi9NamFXdjBuZi9EeDBiLzR6ZDljLzVPUGYvelNQLy9rSjgvL3lULzgrTmwvOXAvK3B5Lzk4MDk4NG9YLzd5Zi85dk5hRk0rT3JseDVkcXZhUEdXYlYwNVZXeHNucGFwUDhsMy9GQ3lmSWdtZlZMZFRET2dwVHN4bjFQeFpNWDllczcwb1ptZVk1NFMxVjVMRlR0czNxTXR6Tkt2RVBhdHpzcnVUSG1ZQVZ5SjRPWUhnZ1NtRWVVS3VBaGNWQ0w4YUxseGJRYm9haE11MlF1Z0VKRmoyTWtsaldzYTJZWU5lTUVYYkxNYzJoQTZ3UFcyQ2lINUNCdWd5SW44MUVPMWlzUWRvelFGTWlKNEp0dWNyRVA0M2VnSmdnckJGWTVoY0xJdUdnVWtCWDFrMjFjVk1OdlVzRHptelBaWGVTTmJOZENtZEFNdWJPa3Bwb0l6MTFRQWREckF0WXlYMFUwbEhJV2ZZdGdGZXRBRUhuQWdaY0paNTVLTy9Ca3BGMm12U2xNMzRLWnM4MjFJNlFTWGVFZXRKV2RqQ3pKYXpLblNZRDc4UmFmcjJxcHoyd1hvbm9sM0FReS95bE5HdVFhVE5uWE15NWw3RitUZEsyVGM1TjYrbyswV1M4SG5XbldVNlB0WHhUQmZQY0E2ZkVnZm51SjlTd2NrRVA1bHlmVXF6bmZTdCtxUnZYRDVaWDd4NGF2M3k1VlBQWHJyMEROZlJjLy84RTU5NGdXdnF6UC84RC8vaHVmL1AydG9yLyt6M2Z1L3lmNysydHZFbmYvQUhvei82b3orcUhsbGJxMk1OSW9iTGwxdnhqcWQySzQ3N1p4N3ptVzdYT3NDWUFkdklLVjBVTGM1eGZiNEk2RFBFOTdnQ3Z3MlRKK0Y0SEdMOCtJVkhCWGhNNFU5d0lqK1pQSDg3dWYyQThuVGgrVnpwZHFrMDIreTRqd3RTRkNjMENqYW1EcW5Mb0NEY1gxMnFUS21TQ2xRbGNXc2VnQ1NZQXp5U1FNVmRjVlU3QWpWM09EWFBOR3NEekdqSkU5MGpTQ1JBRWtnSlNBRzVDbUVMeXRIUkpvUVNBZ1Nja24zUU5kNWNxc3c3ODk3SXFKdUN1dDZBZmZwVmFIeHdPQjExWndYYkNmV1U0SUpHYzdGNFd6STkwWXNFTUVtenRta2JaUk84dGp6cUF4SU4rSjVHU2Z2VVpIdWgzMU00MkNYcjZBUDQ4QVFKeXZFbUxaQVlpOFMwTWxZYWRRRVRObEJpS3FFQTdRb2xTOWlYRUpoY3ppUjlETDhtQU1oeFZ3SDA1VlZNR3ZHVjdmZzZ2V2tQTHJ3Z1RSTHh5cnFwWUN6anFDVGUwQ0tlTkU0MWhjb0VBSisxdWNST1BuTStFRTA2OVBuQmlaMVRnK1lUOVVwSlZrREhoV0dEdTlsTGhmbTUwdnlGTXRzemhkbDNrOWszVXphZTdlSnhCdlNMS2hMSENqemp4VmRvNkFsM2V3cU83ekZjejR2YWVZNzFDazF2YWI5ZjdRRW5MNzF1NzU4ZUFmM3BLcTFHUk9DMnBTVWJMU3lNU21CRGdFdEY1ZWRNaWhjODFjK0M1OEFHLzVaNGZoTFp2cXJ3UjlVeVVUOUcrVVRoTlFuWXZzVUovb01TdVNIZ3d2TGx3bTJqZ0kwcHVSZ01pZk9XYmJrVE5uNlFKampEMlJlNHlzQUZnQ0JnVFFsRlNxS2FKQzRYZFJLd1Y5azkvbEJMa0MvVERTbG5FN3FqTUNObzNZUGlwZUJ3b20waGtEU0Zpa0FGRFpoMENCQXVrSHZvalRjUXNpamd6cW9BS0lsUW5ZRnRtdnJRTVFmN0RUamxCRzVvTHFIUERTRFJBVjlaN0d3d0F6andRSk5uZ3BJM2JVZDZna1lqWHRnc1JDQjBFTDY1a3pNSW8zbWZ3SnEwMHNhRWpBRmx2MEZjQlpLV1hxVFNFK09qakpNd1hzTFlOVVJNS1VIR29VL2JrWVlMalFxZG5vTGw4SWxmN3M0K0hCYVNRWWk4emFvWVVpZEFoR1NUYUVaOW11SWRlU0JzK3NUSlNETGZpQ2lpUXRoelBsalBIQi9pRW9na2lDWm0ySXlkNVp5RmMwRkl3TWowSVFpNWlUMXRVRHRHR0MyOGNPRnBHemFMYkplNUVUaEg0bjJ4cU8yWkl1ZnZsalVKMk96cm12MXh1SDJSdzNuVW9WOFM2RmNnNlFsQXYrSHEzOVBNK1Z6WDUwM2tpdlQ3bStYbVpyWDYxRlAwRk8zMUJpS2diMENuVldFRUhqNXh3ZzRkT2pTK3ZILy8rdUx5OHNYMXNqN1hIWFZmSE9YTW80WWVkOERkYnhXYXZ0NzEvTGpXK1l1bDFZK1dWZjFZdDZxZTZGVDFrNzFjZmF0cjlRODZacWU3YnVjNnNRT0diWlJPQXVZTUw3Z1VVd09ESXNEcHpqelhLaVQraVVCVmthYTczNUFpMUhRZ1p3Y1hIQ3FEMTAwYXFETzQrS1NCdWNKSkw4NmxCNUlNcGp0Z0NNbVlFQUthQUM1THNQZUFRNENBZzIwSmswYlNKZDZ6OUZTbmFSTmxRczh4QWRzRkNRVml0MmJtay9ZTmRRa3RDODF6UjgwVURTTEFKZ0RyUTlFbm1VbWpTRWZCNnhEWmFIYzFvc3hKTkNDY3RnTTJTMU5HT1JpUGdEQWVTUXBQelE2NEJDVTVKZkh0UmlGVEVoYnFUaURZbHRQeFNtT1BydnNFbU1wbXpCNnVPeXlxbUk2eUFGVkNEYUJ2aUllTHVIeGFGdW1BZ0hVQUJDTGd4WmVtSWZWb01HSVpBUHNYRWNTOEVGRUFFcUZyNWtQT3huMkJOMkFTTXdKV3RrbjB2Mmgyd0RJdVREWTZqa3RsN2VjN3RiL1l6Zm1aL3FqK2JtOWNmYk0vc2o4ZmpQUGptdVdMRE15alVtMTl1VXorRmEva2lXcXNUNDNOdmxmbC9Qem1ZSEQrSXMrR1NiNmJxMDg5VlQzODhNUDBFdTMxQmlLZ2IwQ25WWWtJY0xIRWVmSGpIL3RZOVNjZi8vam9jWjVsUGJMMmQ2NDgvdmYvL3NYLzN6LzRUeTc4NnZwTEwrKzlmUGFseFkwTHp5K3VYM2ltTzE0L09SaVBUL1p6ZmJKcld5ZEx5enducms2UmNFOG05NU9GRVBCVEloWmY0RDJqN3M4Ukw0cjVXYkY4UWMwdWlmdTZPclpJekZXQzFFa2s4NEdaU3JQMFkyazNpTVVZY1BObW9Ua1hJanhJbHd1WGk4MnZBcGhHTEZaSkhGV0FpNWI2VHYxWTBORTIwS1E5ekF0ZkNHcEhXVUJjMklLZWhDMm1SSVMxN0kvcHFDZmY0RlhRUHZXcFFEdDhqYlF4U2R1NEdxeVN5Rk0yNVNGL0dtYjYyM3JoeHdRZXZoQWUvWVdjK3VxVVVUYXBuNHhCK09Za3pmaVZta3JuRkJMdG1qTDZiK3lBYjBDSU1yYVhiVWlqSDY4Qk1CYzZUVnZRVE1BQm04Sm5rdVdOU1VvV29RRmZlTFBrMVZ1YXBJUlZOQ0Ztbm5QaVZZTTB6UG1DZ0VhYWoxOEl6aGtqYWhyZVl0MFZtTDFDbk9ORE9TUEFDeXA0VG9GbkV1UVU1eGJucFp3c1kwNmFueXl6bitRbTRWU25xazV5NDNDcXM3SCt6T0tGNnBuREt5dlAvclZYWG5udWYvbVAvK1BULytvVEgzdmhDNy81dDg4OCtzbFBudit6My9xdHk1U2JUNit0alI5Wlc2dEp2cGx1dm40b0xHcnZIeFVCUG9jZlZkeVcvYXdSV1B2VXAvd3NsMGE5dkp3TGNBTmFWU04wZkYyZ0Y2RjZUcERqdlBpVXc3NEQrRGNBUE9HUXIzREI4R01kejR2ZHY4U3R5OWZFNm0veVk5MzNlSFR4TEk4bVhpcmhGMHBndlJTTUNyTXE1WnliZzk2cUJyZTNFRzV2U055a0JBUWtka09GS3BJcXUxV0lDUGdDZ0pKZ253Z2lhQUI2NHErQ0g5TVJjQzZoa0FqU3NhWVJsYUs5c29XeVlBcWhWSDZRbFFTSk5BUWVNS283VllPd0Fxd0RkRktYWGNMMjVNM0NHajZoSmlUMEl1R1JFRnBoeGlkQ21KeUJTYUFwbnBaUVhacThBbzBVWUNaWkYybG4zek1aSnAzK1JKbXh2b0dCNDZidk5nRWFmZnJMK3RnNWhyOEJkL0NTQmtJYk1oMjNVaXJ6RFpwZktTaGtab01wbjZMcHk0Rk0yTlZvNnNINEFIU2xlVDVOaHVVS0lQRVpNc0pJVEpOWUdTdEhCRkU0RmRDZ2pqeVBGTXc0VjNKSGhkQXRmbWZ4Q2o5WnZhaG1weVRidHltZkZMZkgyY21qdFA4RmQrSGNrNit3Vjg1RlBDbkF0OFg5K3dBM0Ewbk9KTlFYVFVzZWs1MnY0MmViYSt5L3ZhOXRCT0w1WGx1THQ2bzFMaEorL1BMTjgrZHpENmpuZ1hHMXVibmhSYjZVemM0bjFSZEY3WlJyOFJkQ0FxYjZFMjcyT0JmU2x5a2Y1WmxlRVBBVHlQbHAxUFgzdEtxZlN6bWZLYzB2Y0NHdGQrQWpFbktsMlRLUE9KeDZMcG5MT0dlaERabzJVb0NnV2F3OFRrZ3BNYTJRcHBSTEN3Rk1McGt1WStkU0k0SmNYdDFCTzhuSVFYOGFJbkRXYzhHeUQ1RWdTV25zeEd0QVNUUFJSM0tSNUFqd0E3eEIzUGlaMVYzWW4yRHlUOWtaUis2QVpaT0FHNnVaSnhrd0ViY0FiQ1BPSmdFV0NaTndKZ0lVVFo0eTdrbGFwbTBtRW13L2c5TTdOR0MvbEpIZkJ2WENQelBCQkRURE1qUzczdkExSVBDbUh0UmhUTUlINmtqRWRBcWxEQWhKZUJ0OFUwSWc0dUVpWmlENHhzTU9KK21yOG53V3JHYU54UEV1bkgzd1JrQTRTSVZBUmZnc0JRb3d1aDVnZE0yRlVXNE1jeDd3ME5jVHZ3Y280YmtyV25kRnRqcUNWL2ltL1ZMS2RsSnovUmRTNXllMXNzZlY3VkhpenppcUw4SGxNWEYvZ2dhZmxJeHZBL0lEanZvNUdlZXp1YkJYY2hwdHhIeU9EUVkrOVNrSGZVRjdYYk1JNkRXejFCcnloM24yOWNpblBwWGo5OFc5Tys0WVhlWjVjZXAyTDY2VzVibFJ0L3NpdjZRNGxkUytVM2JTa3pyR0U1TDlLMWJsTHhYMStORmlhL05MYWJUMU5kblkvS1pzYlgwL2pVZlBsVG0veExQaUMxMWduZWQwbzJUZUVQQ3JPK0FjSzVuZ3VtRDhFeGRISWlFa1ZTUk4wQURMbWtValZBQmZ1T0RkQWQ0RWw1NHhQUVhKZ1VUemF0NVpEbWViQU51S1E0UnBJUlUwRUdWQklEVVM0TkwxYUQrVmFJZ2VvSDREdG0zNk5uKzFIK3FEN1dhUTE2ZFpMMEJUMnZpQ3VMWkxtSm1saFRweVZWNmJ0TFBVcC8wN1l4RnBZNW14ekR6OGxLa3ZBaWZaT3NzUUpNejZTSnZIZUdiK1R1d0w2K1IxWTFmbXIwYm9BTFRaQUREYU5kb3lBTEVEenBRMkxXTXg2OEhoOFhtdzNLT0FhSHJqUzZMZmliSVprVkNOQ2lSZVNNNE4rSVlOdFV3T05TczRHMklIM0ZQZDZqa3VkczFmN0l6SHA5S28rbllhamI2QnJmRlhkV1ByaTJsVWYwRkhXMSt5YkY5aDJ5ZktqajlacVg2N3lQb0QyMHpQajNvNHM3R3g4Y3FGcGFXTm1NOFE4UVowa3k2Mjl6V0tRRHpUYTJTcU5jTUlOSk0wZnR0NDlYbnh3NS84NU9ZamYrZnZYUG5UajMzczR2LzhkLy91dVgveHQvLzJtYjk4NmFVWDVuOVFQOSs5Y3U2NTR2TDVVN0s1ZFZLMnFwTWszcE5haldQSGNsTGRUcXI1cVFJNEdXZDF5ZXhac2Z3Y21lSjVMcjRYSmR0WjFwOW4zVVh1UDljVHNFbU1DK0Zac2NDNGJoMENCeGVzQjVwa1VFQVVPWmNTSloxdWJtWlpEU0VwNEdvMDZnTE1KQTAyT2tGQ016MGFjS1pmUlJRUW9Zc0VrUms0M1daNnRPZlRQakdWRWpLYXpmRDZmSlMvcG94K1JSbG1NaktSdmhyc2svVk9mNTNFMnNoSVQySGhqd2theVRKTS9RMEo1cDMxc3pjbVk5OU5taElzZnhYUnh4VFJCeEZ0QTl2OThXRVk3Vm40TWszN05OM0lTTk45ZC9CeDhibEVna2tKT0hpbUs3VzZqSkw3Qm5GWnpGOVJzM05pK1l4YWZvSHllYzZYNXhMc21hVEM3eGpRb0lTZlRGYWZMTWIxeWJRMU9sbHNqazdxK05MSjRhWDFVK201Szg5V2cvSHovd3ZuWXN6SlIzN2pZeS8vRC93KzQwL1dQbjdwWC96bWI2NC9zcmEyOVRpLzg0ajVUTmZhKzAySWdMNEpObHVUYnlBQ2E5UTVNK29hUlIxdzJkclNHaGNkNll5NFBNdjEvVDJ1d1c4SzVNK1pma3lBTHpsNFptZDRUTGx6NWw3cGE4bnRtd24rdmVUK0hFbjZKY29Mek1lUDZibFFMYXRaaHRWdVBFOHdxMkdSdFN6bTFpeHlybTB1ZXpSUXZpcUpvWkdSRHJCaitnSXg2amhDSFpFUDRoSG02Ujl0QXBZSjZ0QXM3ZEpUdG5PU2piandTa2p4S3dOQ0pBRUJVQ2ZnbEZOUUYyRjNoaVlmT2czQWk3cDhqVnZZTjZhNE9vM0dGaldtMGlrYjBKZHRTWHZoVzhDaTNJVERVMFFlcmdKK2FwRHdsUktpQ0JqYlRNalhPVjVIL01LZ0FRdk5uV09tNno0Qmk1aVhDV2dmQVk3WmliQVYwbGptaFBHOE9LU3pIeGUyWVQ4MHg3WmgwOTE1TGtUbnNyZ0ZSZ2wyU2QzUEpmanBnc1JLci85Q0hkOWcvUk13Znd5d0x3RjRWTXkvQVBpWGFPNXJMdmdXUjNHUytSZThrSE5GeXBjN2xZOUdGMGY1ME9LaFBQL0NDOTRjTGJCaGUxLy9DUERaWFA5TzJ4NFpnVTk5eW0rN3NHU1hUKy9QL1hQTGxXejBOK3QrL1lvbmZhbjIvS3dBM3lXaGZ0TWxkcTRCQUFBUUFFbEVRVlRjL2x4RUhuUHpMNG5uTDNQbis1aFkvWlZrL2tUaC9uUmgrRzdwZUxhRXZjUkZlWjV0cmloc3hJVktZczhHTTVxbzRaNWZoWEU5dTNIZG1uQ1JPdTI3cUxySzFVaVRjbEl1QWk3TlAyUVd1d3QzeEVKZXB3MFhmb3lkd0x6SnU5T3FDVzBuS0lsSHBXaWtNQzFRSUVBVGdKQVhoTllGaURRaFUwenlZRDF2NnRJbUU1TTgyS0tCWTFKRzhlb3QwMlJJZ2RPZVIzdjJHV2tMNmNweWduS1NGNkVPQjBqZndrZWVuMHZpV3hyVEh1MFpGMk9mNWdDUFc3ZkJ5R0sySTJaN1dQUkRHUFdNMGlkdDRTUllFSzZrem9sMHB0bUVQa1ErMFBnbGNIcHYzaEF3R0dOek0rNSt3ZDB2UnZUdU1wLzV5M3pHcHd1M2szemVmMEg1VkRML2FyTDhtQnEreUlFOEt2SEhjS0JmaE5uWGtQMWJudElQYU9ZRnpwTnpPWTh1cjEvSm8vSHR3L29zbnJiajBZdEVyTmh4ZTEvM0NQQ1pYdmMrMnc0akFsenpEMy8raEQxKzRJVjgvOHI1cWh4c2J2YXI2dUpXRDJkOE16M3JJLzJlajduRExhcy9MOHJPWTNsa1gwcFYvV1VkalI1TG02T3ZsRlgxdFU2ZG4rWVo4ZmQ2c0djNzhDRGdDMXlVVi9qRnkxaWNMR3RHMXEyNWs2cmRaanRnTjdDZ1FlTUdWM3dzdjVnSVNzSm9RRUpvSkVtRXJBVHV3Z0NtQTVFUENiWUwwQnpYT2NDZUVHazNra2pvMHBhUVZJUWtwdHhSTm1CYWFCdlQrcEFDUVNOWjlxcnRLRU5UanFqSFZSZkpFT3hiQ0RDR1RVMmtYNE5vVDJBQ2g3SUovUXBKMG8yOHNiK1FBWXR5QXVFZlNSTDBWeG9aaEpuY3FXc09jaG04SWVEczNBVVRMT1FOWjkxRUNveTZQZ09pWHdXMmJURWZ1MTZoRktGUElZblFhL0ljc2p2Y0tNM1lMNjE1dkhNYTN6RnRwR2J4UjNCZTVqTS8zZUdYWmFYWlgzUlFmNFA0YWxsWFgrN2E2RXNwVjQ5YXpuL0c0K0V2b3NEWFN0VGZxc3J5NUZaLy9RV3JpM01YejNVdUw4K3RqeDUvNFlYOHlLYytsZGZXMXB3eERGQzA5L1dPZ0Y3dkR0dityb3BBRU1qYW1uRVIyQ05yYXpXeDlYV2V2VDMrdTMvLzRxTnJuenovci83aHg4L3k3UGpGLytrLy9EK2MzaHhXeitxbGpXZUg0L1ZUbmRIV3FZSW94VTUyM0hrK2pKT0ZnOUpQcWt3Z2JzL0E4L05jeXFmZC9TVXl3OHNDdTZCdWx3VytvWWdkbFZYS0JSNFV3enhwQUJQNFJBcGQ1VWRjU09UTjBhU2JNbUhaQkdRUmRzRkM2bmlBU1pDQU1DVy9WeVY3OENtaWw1bE95S1pjYUdjS3hNVjBpS3RCK3dqTXlpSWQ3WnQ4NkF0N0ZlWTRRcWFjZFEwaXZRM2x4bEpwUmlsRFQ1czBSN2N0UWY4bWVRR21aTWtFME5pZ20relhDVFpnQnJ5RU5kS2tKU29ZSzB4bHhHNmlKNDNPVmE4eDZzeUlWRHo0NE81V05nVzRUR01YMkRiK3p2UkxOSGlhZUk0MlR0SFRrOVE5UmZBNWc3dmZmS29qbE9Zbk82UHhxVjYxY2FwWTN6aFZYaHFkdXZpTjBUT1BmUHpmZmU2UnYvTzNYb3h6M2E5OTRtKzk4dTNmK3EzTGo2OTliT083Zi9EeEVlZFpqYlUxUTh3L2RzQSsyL3N0aW9DK1JmMjIzZjZNRVlpenVzNlZ1ckpSSG5VTFgrK2c4NHJVK1N6WEVCZW9mWStNK0MzdVZKL2tZbjBja0MreS9GRnhmNHhiMDYrcDVTY1Q4cmNLMkEvNHdacTdKNXdyNFpkS1lLTndxNUxERXJkZEpHT1NyUDlvQUtRbElFRW1FR0YrQXZhSjVpTGhCZGs0TThFL05Ba3owSVdBazFlaVFvRFFpOVpCUVpTZ1RUUnAxalZweXNiSTYyVFVZWFpGWFdPSVE1Y0dhTnF3ZmlZYmZXRi9jWlBDMkllemJBS2wrcXN3K3RHQUpqTmhoQWVvRDlhQjR3WEpXSmhXa1NZYlVpRk5QQlJvNHNhWVF6aG80UmEwa1V4ejU0cEFNa2N5NDRHTWcyK1lWZ2pHU1dTamdGd3FSVjR1UkhpMkt6OUlBTTl0L1VreGZ3SU9udTJDWjdyeUtBUDRWYmc5eFQ2K281Q1RmR045Z2ZaZWh1Ukx0THdoM1R3cWNMNis3YTh1R2QxcDd4MFFBZDBCUHQ0b0xyNmxmaHdIU1hMVXJWTlZibFhvYktDc0wrYnNaMURqT1loK2o5WGZOTWpYTS9CVmNzUVh1WEMvNkR3WEZNdFBTSzZmMUd6ZjRubnhEenJ3NXp2cUwzZjVoVTdKYjlRTDhYSHk3RnpJa2l5TGtpQUNrazAwdTZpYnBBRExrM2w4U1BlQzU4V0pOWW5rRXhOSUtJWFJDYkJmdUtPQk1lSG1NTUtOWlFIV0NSME1nQkl1QU50N2dHazJRWk51OG13VFpTRGxRRmxGYWROelprcXdiZ0pRTVVCYlVVWjlCRHlLQmQ3WW1zcElCMGltVGhnUjBqbXkwRFBXRVhSWG5IWGtPQmJRR0craGRSR09YZmd4UXpuK0Jxd2dqVXZFSmo0aHFOR0swY0lNbVdsQ21WYzNKSTRpZEF1WU0xM3hHV3h5SjN1NUE1enJRRTR6ZnpKNWpqL2N4RGROZjRLMnYwd25IdVZ3dmlpYUhtY2Y4ZmQxLzZLR25YSk5weXV4YzBnMUNiaTN3ZU9wVWZ4bU4vNmpDYlRYam9oQXJKOGQ0ZWl0N2lTUEtUek9pc2M4djd1OGY3Q2VxMWN1OW5wYlozcUR3Yk1qK1BkZDladUZ5OWRkcThlRlg4RFV5STlxWFQyRzhkWVRaYTZlN09ieHQ3dWVmOUIxUDkyRm4rc3FMbkVYSER0Z0VyRFpoQ0NjTkdkYzYwNTVOWUNZS0Fsb2Ruc0pRcW1ZRUpCQW1SY1hUQzVLSi9FRkRBanluY0daUitnMVVLcFRsNjNCbldsVFRqc0lzQzBDa1JieEp0M2tNYjJpM1NRWktXbnNDZjJPTXFHK01OR0FhYkQ1NjhpWGZScHRPK1VFaVRvS294L0drWnNKK043RE41Rm9SejlGSVFIcUsybFlJQWpKVWloQXlBUnNLTzRRTS9BTnJJRmFSaE5iYzBxZkVEQjdTNER4RThpWTVMdlJFYmxFbkNOT2R3VS9JTDdWcWVzbnBSby9BVDVEa3U0WHhQWFJsUEhWdWk2K2tVYWQ3N2h1bnRxcTB3djlyZjdMbUp1N2RPWjBkek4rZXg2LzJZMjVndmJhRVJHSStiTWpIRzJkblB6OTRrZlcxdXJIUC9heCtGdXFXL0ZielQvNStMOTc2ZEZQL2tmbi85WEgvNDh2LzZ1TDMzdnAyT3JjNmQ1TDMzNXVhLzJsWjRyTEY1N3A4bnl3azhjblU1MTVUcHhQbFhGdUdPZkdQRE11NEtlNEM0dS9DZkFNSjhKelluNmFCUEtTbUwyczdoY1N6NHNUaEIrUk1TNGhkUUl5eWNRYmNnbVNDYkp4a0k0bUpDUk1DZUxpSzhzakJjb2czZ2FzQjZrS1FXWkVrMmJlbTNJQmZJcnRQQzFFV1pPZnBwczgwMUVXNlFEVGJNbkNlQlhtbUhTYWExSVNDUllJV0VTRUpFaTIzdlN0TEp2QW1EZmF5dzV3ZUlnMGs2eW5EUkh3Qmw4eElWOHdUUXNSQXlxTG01UEdjMkdXdVl1dGVMUXpLanh2SnZmTHlmd2k0M1plM2M0bzN3QkpxUDkvOXM3dFI3THJPdS9mMnZ0VVZYY1BMeWFWRVd4RmVRZ2Z4ZmpOZ0lBODBVQ0F3QUVNQXdyRU45c0JFb1F3YkFlUWdDQkJYcWJ5YitoUGNBTXhFRHN3RWlRd0E4RmlkQmtKb0NnYUZtMTZoc081ZFUzZjZuYnExRGw3cjN4clYvWE1TTFRFSWFlN3A2ZHJuVG5yckgyL2ZPZjByM2Z2dXN4SDlOelBGZTduQ3ZkemNhTVhjS09TZkRQeS9neHl2bEcxemMxZVREZTJoVDRQUHZvdTkzUy8vWTNmdmZ1ZC8vaDdlLy9udi96Ky90dmYrTWJSWC8ybmZ6djVzK0ZiODcrdzd5YjUxbHV0dmZlYzhNMEFoOHlMbnhkZmdYRHhoK2dqZkVJRjFON1B1ZnYrKzNyMUsxL1JWM3U5TGc5MjZpUjUzSFU0Q0NIZlV3S1hyOTEvUUpDOFIzclkvdUlQMlBaM1NacDNrTE85aGVrNi9idUV4VjhUVVg5SEdOenVDL2I3TVV6N0FRU0t0aUZ6NDZOdFZkc1c2RHFSckZ3Tm8wQXBzdEVBL21NSFFzQUtoTTJiMFRFc2FtR0I4TS85WXF1YXpGd0JVRm0zbU1IUnJNU0ZORGt4STR2d3NqYldMR2VoNUNxTjQyRmhoaUZjaWZKaWVlYk1XLzgwWlJ3MDg5WmZaai9GSkdoaS9zb0FUczM2cG13c3JRQ0VNeEFnQ0ZCR1RQQWlkVUM3aEN5WEdsTHErRmZGZ245ZHpMZURqTGNFRDNyQVhZTDRvNmpwZzVEMVBWRzlEdEcvQXZCdFFOK2gvejQ3K0pGQ21CZCtHaUEzSWJpbmc3RGZrLzRrOVhjV28rcGVaamsvTDZFQzRSTE9hWE9uSklJVENCK1B4MmtlNjBVdnlTUUVIS2oyN29VUXVlb0tQeVVFK01NdVAxTEZEMGdyZTMveE81TDAvd1hOMXdtSmR5WG52NDQ1ZmNnVjh1MmV5UDVBWk5hWDBFUkZTOGdrZEFUd2Npbm9FbG1TQ1NOQlpOK0IwQTNtbVJKSUVaZ1JhUFRzU3BTZUtjeGhPWndZeXlwVGxlV0tXZmh4SytrbzJ3RldIenlzUEIxUHpwZjVESlNUTVhwZVdVQXlHN0dUWnUyQzNveFpiSXl6Wmx3TDVCbVdxSm53elNwbDZ5RXA2SUZNWCtvU3ZLQ3haWTRXaUFDOWN1NmNmd0Z3QytuYUhGUGI5WkVhd25lMlU4bnh0c2lETGVTNy9adys2cVgwdC9UdmNZWDhBMG41T3lLWkFNWTcwUFI5bGZCRDl2WmVpUHBUL25seE0rUndyNDk4a0h0aE1uMHdiYjU4Y0pEWXBaK1hVSUZ3Q2VlMHlWTWlGUWk2NFZEZkI3cGZxK3ZhM3ZlNXM0T0RSWU43M1hhKzJZYndRWXJoeDJtWmZ0UnI4UVBNbSsrcGZTOUF1M3hIMm5ROXRPMjdJYlYvWGVYMGR3UEk3VUVnUkdLYzlvTTAvQk83UmM1SjIwNjE0OHFQci9RSFVzb2Vvb2Z3SlZoRkJDZi9RTENCWUN0bVljc253b1NyWU9haFdNRlpnSnBYK29jbVRGc1pDLzRNaEMzT1ROZ2hiRitVSVhxY0dBUmdtbHFjV1NWc2FSQ0EvWmdwNDJyd1pUeXp6NVVKVWw0WnA4WStZVld0QllnQVFmRFFSRFBFQU53dGdXNnBNYWUybjdYWkNaanZ4RENtMzkvUmZHOUgwODN0MUg2d2xkcjNCdTNpZXEvdC9vcS8zTDZOdEh3bnhQQzlRZXArS0gzOWNkdklCMTJzYmc0R2czdkFGdzRPOHZIMGl4Z3QzcjUyelFGYzdzRGx1OWpQenVXYmxjOUlNUnlXOXhiYit6N2YrZVkzNi9lSGZ6aTkvdFpieDkvN285L2YvODRmL043ZXZ4ei8vZDBySHgzZGVmRmdmT3ZGOGY1TjFOT2JnMlZ6bzllMk42clUzWWlwdThtOVN1NUx5bzBxeUkwb2NwTUF2aFZ5dm8yYzdtcE85MFYxWDZEakFKbEhnSUJHSytBK01kZUdBdjRqL0VUQlF4NFowNVI1U2crYWVUTXc3WmRacWNNeWp6eDRzRjJsS3lmRHhhOHZiQnNzRHp0T3dsYVc0ZUxvd1h6clc4MkQ0QzllWUhHVVk5V216WUZ6VmVxUmdtcDUzeTdYelBPWTgxZzA3MHZPOXlXbE82Wk5GUDJvUjYyMnFGbGY5RVpmc3VsNWt5K0UzdWd2Mnh1RGVuRmphem03OFUvL1VlL203eno0NE5aMy85M1hibi83clg5OTl6dS85N1c5Ny8zUjEvYXZ2L1htOGR0LytPYjBuVysrV2Y4dDkzYmZIZzQ3aUkyZ0RNZ3ZsMHlCY01ubTQ5TjVRZ1dHTExmWERQTHloVmtLS1hZN3ViOWcwaFNwUFNSazdtdVFqeUQ0Z0V2QTl4VEt2V0w1TGpSL0g2by80RU56UFVMZTVkYkdCMUhDclNoNEVQbEtmaEFZaUpkRVdXWVpCRFpBYUlsNVlkZ1dqS29BMTlCY1NDc05iSTdBVTlaNDNGaFRyYng1QnRRODQwWkdSamxNcTJQRytxdDBDenhtd2pJOEZlVlhBZXhnR0FXNmpLeTkwcXV5Q0QzWURvTjBIQzJYdW1LalpqTTh3WjVzQkp4VHRybk5DZC95aVRUTzl4WkxVd045bCtIcm5NVjFEdUs2cWw3bnhIN0V4dDRUeU4rSWhBOGh1TTAvQUI2dzJXblZhR3R2RlJ2Q2owMVhJR3k2QUJzNy8rRTFQZmt1aWxqZVgvelNJalpwMHVicUlQWDZYTkhwTFlueVFVWjZqK0Q4QVRRVHdQSTlBcFVBVmdQd2p5c0pIMVFoM0twRVJwRXJZZTRSejVtL3BHVWFtUU1hRVVTeWNRMUhqZ2swbzRBM0ovTlN3bGJxWjZ3QTBSNU5nUnI2V0Y5WlFBbEdWYVl4Z25JSVdJQW5XeWRIR1dDY2FaWlh5akJNTDdEUm1PRmhmbW1Ib3pQUGVxSnFFYkcxSmhrcE5KQ1hacG5lVEZWeWJnbmZ1ckozaDJoKzBCUDl1QmZ3VS83eWViZEMvaUZId1QzMFRBaHphMGZsUnlMMndsb2tnUE9IMHVsdFNMUGYyOW1hYkwrYVd2OStYZDRMUC9sMHV3Z2Jxb0RvN3U2ajc2Sll2dkJoOCtyZ2l4TjhvVDZvbW5xdml1bVc1UGhCN2c5K0hGSDlRRHA4bHkvb2ZTK3FmcitmNVlkYlZYeTN6LzNrWHBCYnZZQUhsV0RNVmVDY3RpUTZ1WXNLME5NRUovOElPbkljaEs2dURTRFcxc2IxMFhsZGp3QUFFQUJKUkVGVUkwc1g0SnBYZ3BZZXJBMFJBQlkzenpvbllRVVBVYkFzU3ZnRXNrdytTU00rVjNsZ3JaUDhWVHV3TWt3OUdZT1ZFUGI1eU1CY21pcDl6aEZZOGhjTlY4QTY3b3MrNkFHM3RvSitzQjN6dTcyY2ZqaEFjMTNRWGs5TmV6MjJ5eDlWVmZkZWY1RC9wa3JwNy9raTNHMTd6KzVMNDVlbVh6MDRhRkZRejdIYmRPREhwaXBnUHlPYk9uZWZ0NjBhaDQrK2kySjMrT2J5blc5K3M3Yi82KzUvLytlM2p2L25OOTg4K0Y5LzhMVzkvLzdIdjNOblo1dy94bUo2cTJyeDBSVW85emIxWm96eEk2Nytidk1odWtQYkN5cEhBc3k1bkV3MGF4Mk0wMVpYTUtSbUJGK21LWXcrQkN1M0g4RDBFeUJhZUFWaTVqRjlGV1lQcGM2NnJjZkQ0TUU0cjJ4UVdFTktFQXpCT2dFNGxuWGFTVG5MQXcvbTgyUUE2eFNsUCtseDVhTm0wQkt0NXZiTVVWVGRvOTNoTDUzYkZjS3Q3YUEzZnlYb2pkZzB0NnJaNU9PWFp4L2UvbS9mK04yN2Y4cTk5ai9sbnZ2L1dIL0g3cDhOMzVydlV1UGhjSmpoaHl0QUJmaFU4K3JuaGlqdythYzV3dFU4MkJhK0FEVmZ0QnFuVVhxSG9zbitHN3piMEh5RFM5cWJPYWM5ZEdtQ2xGdit1VTdvYWVsUWlMVEhEWXl2ekI0L1lkQkFHOGpLUndhdVJQWEVESm8waTVmMEVoYmc4WGFFY1FXdjVnWGxuMW9KS1ZDR0hheG5qaDB4alptckFNZVpHVitaRUxhY0N5UW44RVUxUlBySU5MN2cxb21tQ2ROSFFSUC9Pc2czT2RyYklua1VjanhxdW5iV0c0UjZzTjIySmtycHh5K3V3S2NvWUQ4Qm4xTEVzMTBCNE9wUFJqcXVRN3UxM2EranROTzJTa2NxZVU5enZxMDUzY2c1ZmFRNWoyZ1RXZ2RDQzZvUU16SlFSQW9Vd2V2anBpZVEvWVFYb0t5TTdSRWw2cGh2OVZTWkx0eHRSbURqTkdYRERNRjhLV09sd0lQbFNsL2c5VkVZNjhOU2JIekZ5SCtleWc2VmNiVndNY0kzNUx5Q2NFNXRsZk1rNUVUZ2RoOHgvYWJrN2c1aFBHb3JQWXFTcDcxWUw4WjEzVjc5eVU5MDNZMDdWK0NYS21CUDl5OHQ0Sm11Z0Ntd3kvM2lxeis1MG83cjErcVg4TkkwZE5PaktzUzlxbXR2bzF2ZVFHby8wdFR0YVVvVDVOU0I0Q3J3WldXRG5SQ0RJQ3VMTVEwUVlHMUtjUDdEUmd5dTgyRGVnQ3lFTHhGWjZqS3U2ellzTG8rSEZUeUVUS1V4aEJKbjRNUXpXSEtzQzJVaVRjcVlNNFRnTlNQMk5XcENNYzRwNUc0YVV4ckY1ZkpXN0JZM3ViZDdwOWN1UnFGTFJ5OWhQQ1Y4YThLMzNkMzlrOHptL1hRRlBsVUJCL0NuU25ScUJaN3podXhGdXpmVDI4UGY3SGFIYnk3dkxGNnBGM1U3U1RrZmhPVnlUN3U4UjRBZEN2STBhRjRRWHEwb09xNG9EVVpLVHhnQ1RDTW1EWDBueGtkd0RWUmxqakpjdkFIWGpIR1laeDVyQS9TVy8vTnBqOUlGWUJrekM2RWNGbnBrWW0xcXlWaVZaRmI1M1VCSzJ5OE5hQWJuZ3BDVElaNTd2OXB4aFd2djdwaHlma2VpMkt2NFFtVnZPVHZVUVcvOENyWFlIUTZYYncrSDNlN3ViZ0pZQW42NEFwK3VBSi8rVHkva0pWeUJuMWZnaTdpYXE1ZDZMV0pZSVBhbVFKaUVJSk5LNHFTS1lSSWx6QWpoUm9DV2U4S0tUT0twbWJVa0JKOFF5SHo4Q0VObFRPbFJRQnVnaHIxMXVLUloza2xhTmxTeURQT2hESmQwWVIxaGUyeGJ6ZE5PMml5Tk01MXhqc0V5b0JabFhHaEJSR0lJaUNFZ0JLWUl3TmJZVm1aTG1vSjk4Q0tnNFl1TjNIclJlWkF3NWFnbk1XRGFkYkVldE1JOTM2c1pmcmdDbjBNQlBrdWZvNVpYMlhnRjNzQWJlVHU5MEdLN1duUlpadWhId2hmVEt0SkM0SXQwbVBQaFdraldEcG5veXdwZVlmUVRCQlhiU3JDM2lER01ZbEVOd2txd0ZqT3dtakhPZkZZVDFxVXh6bkppQ1lyaW1NNmVHTWJhU3JxQ0I4dXJHVE5ZQ1hTd09HQWhrTDBJSWpSaVZVUXN6TkpjdnlyWXNuSTFuSUtnclFRTnJZNUI1a0YwbWlwTTBzN1d4UGJEYlYvYzlzZmhoeXZ3T1JTd0ovZHpWSHYrcXZpSVQxZUI0UkQ2MVlQZmFqRzZ1amhvZXJPQjlHelZTeU9BUVJQTUNLL1ZDbGhKWCs2dlFtME1RZ1FTYzd5Q21DdFdRRXZrWWJXL1d3QU1lelFEVjdabVZwNmVhYnF1WTJWS1hjWXR6Zmg2WXV0K0NHYndzSGF0UG8yeGNxNzdKbk1oRWhERHl0Z2pZMWdCT0tzU3RnU3d0bEhRQkJFQ21IT0NtVXhlR3IvRVBkL1h1T2Q3aFh1K1g4L3d3eFg0SEFyd21mc2N0YnlLSzBCTURZZVNiVS80ZmU0SkoyU3VFc084Z2t5cWdPTm9IMDBHNXNUZmtoUmRBVXExNkZhY0JaVzVabGg1bURmSWFpQkRtY2I0dzdRU3RzZDFiVmJQeXRIRHJPU2ZRSmFlYWNvMEJRK0dlU1dRVittOGx1aXFIcE5aNk9HWVZqa1FRV0t3Z1lMN3ZucEVHQi95VjhlWUx6eE9vdzdxWGM3WjVyNjcreWJMQ1Z0Z2FUOWRnYytvZ0QzTm43R0tGM2NGUHFuQWRpZEpRbGhFdFJmaDlEQ3FIZ2JDT0FKTmhLVElLb0dHblBtWHZZSUxUSEpaWWVReUF3aGNKZFhwTFF3UXdvOEJWdGRoSlV5TFBTekhlZ3l6S3R0anVPU2p0RnN1ak1NTzh6UjVHR2Fack1ncEk2VlVMT2ZNTnRSSzBDUXBaTWJBZ1NydU1PT3VRZzhZbjBrWWRQUit1Z0pQclVENW1YanFWajZ0QWMrLzlBb3NaWkVqMmlaS21QU0Fnd0NoS1Yrd2trVVF5WUhrNDJtRWhlWWttck5rbW1adXRXWW1rM1k4U1VVaE4ybUVKUXBZQ1dMaDFvUUV0ZmhEczN5YWxqSldubFZQd2l6TGRKNmxqcUxzTVFlV0Jnc0pMelRHMkRjeU1aczZBcGlXTXhGTDJncmJBYVRqUUdhc1RBRHJYVzVRMzlHVURoUnBsdG9KVjczd3d4VjRhZ1hDVTdmZ0RiZ0NWT0JLcTZtZlpGSGx4RC9SOWJEaUNwaXIzZ21OVUVheUIwMVlqZ1FrZ0ExMEdXUWRHV2VKQk9nS2VveGJxWldwcFJsTURaYTJBaVpJbFdHWU1jL3lUK0lsektaVWhLd3NnZEkrV000MkNLeEZzTDdGb2JCaE1GK1JjNGF0Z0ROWHdSWXVsUVdRSUoxeUJVd21FOEJDK0haMzJkUStqU3ZnYlY4Qnc0L1RVTUIrTGs2akhXOWp3eFhJVnpSVlFCMmlIcEdCZTN5dzlxQnlMSkE1dzJzQUsva0ZpSUNIUUhnRnJ3bzdIb093cnNNR1hScTRIUUdXVzNtdWlDM01NcXUwZFZsTE0xdW5uN1NKRWhBQzk4Ull5OHBZK21OK0JYTG1zUTJoUVNXSmhIbEdPTXFhOXlEaFB0T091a2JyYmdGZkFjT1BKMVRnbHhiano4WXZ6ZmRNVitDSkZLZ0dMM2N0MnBubXNNOC8xZS9rck53M3pmdGNVYzY0SnUxb0JhTUJnaWloV0tBdnNHT2FnZ2VCcUF6RGpPQXRZVjU0d2d6Y3FnRExvT1FGcm1DRllBMEF5eXRiVjB0blFaNEE0NlhzaWJkNlRCWHpDdTU1Q0dzSmdrU09oUlpXeG8wS1dlVWdLMlRCTnNiSXdqbDErNkZORTRURm9ubkpBUXcvVGtXQmNDcXRlQ01icjBEWC9IMksvSk05Nk9LZ0V0emhrdmUyWnV3alowSTUyYVl2N0dFTHhGc01BVEVFQkFNdzQvSzRlZ1pJb2hFblp2SE1TT2E2bXE2a1cxb3hRcGhwQkNWQmJLMllzUmRsV1NaeVZTc2N3MnFKekRpc25ZTGV3RmdncmprRzBFN2dLeEUySnNzRkFzY3NDN1l4eVJMMk9hZjlGUEk0cG43OTVURjhCUXcvVGtPQmNCcU5lQnV1d0F2Zi90VnVNbTJtM1N6c3g3YTl2ZXp5blk0QUxpdmduTXNLV0NoVEpIQWp3UnNKUFFsQ2ZBcFRlU29aU21jbm9iZGUzYTdZQ1pZcXBnUXVEZUJqVzd3QWxzZXcwajl1c0RKTXMzeGxQbGV5QmIzbW9VdzFFMEtZMEkxU3dTd0lZVXdUR252SWdyZ1FyY2FwQy91eXlQdHhQSnZFbml4R2VEL0RqK2RDZ1lzK1NENW5GMzJJUHI3blFZSGQzVGZ6RzdpNXJQRzM4NnMzRnVPRXdUSEhQUW1xOW9HTVdnUU5IN2FXU0UxaXJGVWxFRm5pNFdtcGF3TjlTVGUvTm4za2xXSFdKcVREeWtwNXRsNmd1L0tXajRmcDY3b2x2Z3JiVm9RUXpNSTBNL0FGT2tIZzJFSWJJQnhycUVWUk0yMldjMitpOVdpMk0ralZMOCsyMmpmQXRUVDhjQVdlWG9IdzlFMTRDNjdBSXdXdS91UXIrdE12M2RWZTE2UXF4Q2JFT0t0Q0dGZVFNWUUyUjlabFRpbHJTdENjaVRLYXNyNFpYVGt0VE1qaW9SY20weXlOd0lSNXdoTVdObU80UUpucEp4NGx6UUM5cXZjbzNlS1dUc3NxeXMyRVROUEV6WW9zUzdZOUQxejFjaTA4RHVoTlE0aTFpQ3kzdDE5cHUxZWJaTitMUElRZnJzRHBLT0FBUGgwZHZSVkFoOE5yK3Zycjc2dXRFTGQyK2wwdmhLWVg0cXdYd25Fa2hQbXd6YUc2MUpSek5nQW5leXVhc3VaYVBnWmh0bzZDUUlYRml5YzRDMnpOc3lXR2xlbHFvTFV3Q05TZk1hNjFtUTZhY2tzWVlqdTdORWJZNWlxVG13ekVMclJqSjRtcldnSlljcHdIQ2Z5RlVSMEhpZE9ndlRwZ2E3bUZWN3I2NE5kVCtkNkg0VFZXZ0IrZnBvRG5mNm9DOWlSL2FpRXY0QW84bVFLaXcrR3dtSGFTK3FGcWVsSG12UmpIVlJDdWdIV09uQW5ncmdDWUdBYXlBanpOREsybG4zWGN3a0tBUW9WbDFnWStzb3dyRFJabXZvVS9hZXR5M0ZxdytwWnZxMklMcnp5QnpUWnNCV3lXazNKVkxzdWdZUjY1QW82aGR4eWxQNDNSdm9DK1dyNk85N3UzOFgvejdxNTk3NFBZQ0cxNGJxN0FVeW5BcC9TcDZudGxWK0RuRlRBNHFZU3Rqb3ZPUlFWTWFBZGNleDRJWkFJRlg5aENFbFdZTWM3NkRQTmF3bW9CTTNrSVhZRThESVBReEdOeFpWelhJQzdwbGtmVHRWbmFTYjZsV2J3WTY1MjB4ZFk1bHNBeGlZMXRJaHIySlF2SEhNWlFyV1d3MWZJWFM4WndtRmxYNFljcmNFb0tPSUJQU1VodjVtY1Z1TElkVTI1VHJVbVBjc29qNXU0cDhyRUlnUmFRUWhEd2hKQitaVDM1T05Zc2JBWWU1ZzJXWUVIekozR0dMUWhMQi9sTXI0OFpMR3hsYUNqR1I3MzRWVHZXcDdCTTRBQ0NCTVFnU1VUbUFBNnpkdmMxcFh2YU5VZmNycDUzYmMxZFl1WThWNmNQOW5sUWdFL2w4ekJNSCtQenBvQzJFNzRJUjZDbDloaEllNXE2a2FnY2lmQlBmQWtwQnY2eEx3SjdBQVdBR1JSR1VsN1dwOFV0NXpGd3dzSmNyNExMYXlDby9rSVRoVVJsZVZrWkc4cFdrV3R4YzZ3Zm1CUTRBc0tYVjBuY2xKamJMd3gwK1g3dWx2ZTdyajFFdDVndmw5RUJ2TDRsN2s1WGdYQzZ6WGxycnNCS2did01LVGRkclRseEJkenQwVDljQVJONFhlU1RGNEtvQ0loQkZQQXl5QUJQWFp2bHFLWFNUanlCUzZDVzhpZGVXZTZYR3VzcVg2d0RNYnVxSTZ3dkVFSTRjZ0RSVnNBeGRGSld3SHFZV3NLM1dkN1B6Zkp3dVd6blM2RGppUHgwQlU1ZEFmNFluSHFiM3FBckFLMUQ2cnFtQnRwajdkSW9xM0lGakNNbzVoQjBRWkFGSUJxaEtBY2R6NU5ZOFNkeGVxSjZWWnFWVVdvSmxHRXowT01UeDBucjlBWmVLMlAxaW9ldGdSbGliUkg3cHJZY29CMS9HT1lBamxUemlJTWZhYk1jNStXeWZ2bDQ5RmxYd0d6R1QxZmcweFhnTS9mcGhieUVLL0JaRmVoZWpTbklZb0UyakVOSUQvalgvNGgyeEhabW9taVFsUzk2Mlp2QWtBSHVKQ2h6aUZTN29vQ1NvWkwybUdlUTlWaDlCVitMWW9WUjZNOTd0dkV6YVNVT2RrVmJuWlpDOEtZY1JXMUYzZ2p5WEFSamJrdnNCMGtIc1o4bnZkUmZqTG9YT01aVkpiKzZBcWVwZ0FQNE5OWDB0aDRxVUI5c3A2M3RsMnZGWXB5VzRRRlIrMEJGYkFWTUFPdFNBSzRxQzRTNVQ2dXNSK05Ka2pMTVUxbUNVQVc5ME1DODRrc2FFNVFCR3RFdEQyMlZCSDJVeldwYzJ6SU81ajB5QzdFeVlLdnd4TmNFelpZeHlxeUtjaHlpSEZSdE9FaVNKeSsrV0MrKy9JVnRqaFYrdUFLbnJvQUQrTlFsOVFaTmdiZXZ2WkhHOVV0MWZQVWZIVy9MOW9ORnRUMUtTWThWbUFHNkJGZkFwT1Bxa3hoRU1LbHAxVmJHUWlWQUx6UUxTNEdvaGN6RUxxd3V4WUNWVitYT2dncm9TbnJ4ckZlOGxXRVlkbWk1S01uTm5lR2NCTG1MNEs4SnlYTnVTNDk3RmZaZkNlT0Rsd2V6eWVUT1lXUHYvN1VhYnE3QWFTdmdBRDV0UmIyOWxRSWlhdjluMmwvOGgzL1YvTm53dCtkVjdFOURxQ1pCWmNLSGJzSTk0RW5nVGpGUnl0ZTR1RDYyV2lRb3lWcWR0NmNBQUJBQVNVUkJWRWsrTTFJZ1NXL25TZGdBZW1JRUtpeE1iOVZBYjNFRld6MHg1cXVsTTE3eXNUcllwNUhhY2x2Q3Q0blFXYkQvU2drNnJaQm5zYmMxKytjdmZGai81YlYvMDF6LzFsdmQ2djIvcTdwK2RRVk9Vd0grTEp4bWM5NldLL0FQSzhBWDVGSU1XbGNCeHhGNUZBV2pBRGtXdFMrOFFhSi9ETHlDQWs1REpBMEZvb1pOOEtDM3RNZk44aGszK01MQ1pveERoWVZYYmFreWFPbTVCQXpBV1RRM29ta3EyaDBHY005WDJ5bjNmaGU1VzZacjE2NnBpTldCSDY3QW1Ta1F6cXhsYjNnekZmZ0ZzeDcwSlVXVk9vb2U5MFJHRVFaZ0hMTzRmZXVZN2JFcTdDMW1FcFFnWFlWVm1MMHl0ZkNKc1F5c2JERkQ5Mk4xTWdRMFZYbzd6YXhlOFd5T3AyVGIrZ1dobnh2V25GUzVPNnh5T3V3aFRTTFNZdEFQU1VSWXNweGFybjV4QmM1QUFRZndHWWpxVFg1U2dlMDJwdTJvZFI4NDdnZU1lcUlqYmtNYzB3cUFEYU1GZVlZN0F5Wk5DMmdGeXJDMXVQS0JPOFlzV2RMVzNzSm1CbG1hbGkySEFMVXdkM25OZzJFejZ3YzhRdWEyaDJwWkFRZXVnQ3NzRDBQWFRtTzdhRkpYUHZtbUxHWkc1NmNyY0RZS09JRFBSbGR2OWVjVUlIMVQwRlQzb01jOTI0S0FqSWpXWTY1V2F4TFdWc0JsQzBMV29NUWFvamdCNjlvWENCT0w1dlV4WDhxdDQ2dXdzRDNhdy9ha2hHeFlCY0tpU1pCcnJvQzVKWkpHUWJ0UmhZNWJJcW5lV1liVmVLeXdteXR3aGdvNGdNOVEzUE52K3VMMitOSnlYQUFzMmgxclhuMHdJMmNjdzc3c0JzTHRBR0NGeUVEUERRclExUFlCQXNDVVlpcXdnMnRYRU54WWdaWXBsbTd3VFN4WXdsYnVrUW1Uc1RZTEN4U1NDV0RGbkJBL1ludjNrTnI3UWROaEwxYXp0RFZPOE1NVk9BY0Y3T2sraDI2OGkwMVh3RDRaVitVbFY3djVPS0FiRVhnandyZnNBZE1iZ0FzWFJRMjZKMmFQcHhUUXFsbzJnNW1tYTdOd1puNVN2cDVHd3JJTTJjcE1xbDNDd2tSaEpCUXY1UW9FRWJhQURpb3paRDNrTDRUN1ZjNzNvaTRQVTd1WWgvaXlmL1NZcXZsNTlncUVzKy9DZTNBRmdPN1ZtTHB1Vmc5MGVseTFpNUhtMWo2Y3dkVXdhcTVtRGNBUWd5WWhDVnY5MGdUMmVKb0pZT21XYjhhd0drS0xFYjZXUmhpanhJVThYMW1wdzdJckgxWWh3dGRhWTh5K2huMnVxb2NocFh2Yys3MlgrV0xjQUpQNWNuYkhWOER3NHp3VUNPZlJ5WWIwNGRQOEpRcjhrOEd0L1BMV1ZoUFNZbFpoZHBRN0hPV3NNMUUwTVVqSFZXbVdBa2UreUZiYUVmSjBiUWJZRlQ0Qk1Yd0tuUUNReC83Wm95ekF1aXpiWFlVWkZ5dGxUVUV5WFE3SzdZY0ErelRlWEZUR292bWcxemFIY1Q2YnlxSnVydUttNFJ4K3VBSm5yWUE5dFdmZGg3ZnZDdUNuZCsvcThZTkZONEF1QUprSGliTVFZaDFEYUtKSVIwc1IzQXZtK2hXQUZtZkxYRnZWRXFBZ1NFRXZka1NXcElVUUpJU0lsUVV3WmlVZ3BRNnNGWm8xeFlRTWV6OUVDcENXMWF6UFJaUTRGNDREMnB1MnlMTXE1Y1hPbHJZamNFM082bjY2QW1ldFFEanJEcng5VjhBVWVJTlFpODFSZHp6dE40T3RGMmNwYnM5RWVuV01WVk5KYUdOWkJSZndFWlVyYUJiK2twMHdBOWV4RW5nbGFDRU1CUWtTQ2QyVkNjT0NBSkVBUUxDcXc0bzhDOHpMUlFoZ3RBSGFST2hDaE5zZkljNmFYcHlHME02Mlh1d1cwLzNrLytzeC9EZ3ZCZXhwUGErK3pyUWZiL3hpS3pBY0R2V3JYemhvbHk5ODJMenl5dUc4STRCRDFhc0owWWJ3YmFOdzlVdmpBMG42a3BhRnZxczVxUUcxV0lBUXNFTFlodlhLVjlZK01FMHNEMUwrRlFBcjYxczdtWUdzWEVOckFYQVZ4UHFzWTVDNVZMMVp3Z3ZUbmEyOTJRaWpoWTF4T0x6R0NxenJweXR3eGdxRU0yN2ZtM2NGVGhSUVFqaS9QUngyMzNycnJiYnF4eWJhLzQ0UlpCcEVqcVBJT0FqbVhMb3VnV3g3dGF4SER2S0VxcDB3cUNxRTZRd2FUa3ZZNG1hV3pCMWVjMm9YUU15enJxVnluOWRlcmJQdmZsaXd0UFU1WVorem9LaDdWV3gyaDhQbDJ4eWJqWEZkRTM2NEFtZXRnQVA0ckJYMjl2OUJCYnF1U2tEaUhtdytpSkx2QWZtZVFBOEp4eG0zQ0JLQlNZQm1RTTBVU3AvTmNrYVhNaEo5TW45aVhPVm1Hb3NZcDFuUHV0VVZvclg0eFBZYkprd0M4bUdVZENpaTAxakpvdXZiV0t5OG15dHd2Z3FjRG9EUGQ4emUyeVZRWUVkQ1Y0bk91UmQ3eUYzZHV4RzRTOG9lRXJ4elFlNmtZRlE1VTJXSXBzcDFjY1lKZEEzQ0o1YVNxbGtCTU11eEFqa0xBcHpHaUhCcldZaHNnbmNSVktkODZBOEkrb09nZVJKeWJucnpscFNISDY3QXVTdkFaL0hjKy9RT1hRRjB5d1gzWXpOWHUva3doblJQdUFvT29nUmpuZ2Z5bExBa1FNbEZOVk95V1pHVlppdGZzNVRXTUZidGtxV2JsV0lnY3g4cUxLd1RtTUFIbmF0cWJmakMyeVJJUHF5NDJ1WXZnR2tsYWJIdEsrQ0hlbm5nZkJYZ2MzbStIWHB2cm9BcGtGKzEvd1RUVnNEcE1Db0JyTGluV1E5SjJSazBkWklUVjdHWnRsb0ZuMUMxeEhoUjJ3TTJ6eExXbnNYTms3WEZtUmRsQWE1K1VTQnVhMlNkSStjanh2Y2dlUzlLT3VJK2NaMlc4N1NxNUZkWDRETXI4RlFWSE1CUEpaOVgvcndLdk53Y3A5aW1PVUY1eUZmSDduUDc5bDdPNlZCek55ZC9FM2NoQUVLWXNJU1FraUpDVHdzQkVpTWswT2hEQ0NLaFFnZ0J3ZDRKUVMvQ2NtVmdtWnpOUU9yTXVweTdXY3BwbjFpK0hVUnZLOEsrcGJFb0MvRHFweXR3emdxRWMrN1B1M01GaWdMTFdUODFvWjB6d2hWd3VKZFR1cDlTT3N5cG15TzFLd0JyZ3BEUUxBUGhreXFCWUNWZ3cwUDRScVpIaEJCRWl0Rko0TnFZUm1xWEZUQWhUcWlUNVYybktVMDE1WDF1QjkvbUMzKzNLK1I5RFRKbCt3NWdpdURuK1NzUXpyOUw3OUVWS0FwMFZiWEZGOXowVUZOM0wzZjVYbXJiSTAxY0ZlZTJRKzRnQkRDWHdSQmhlVjVFaE9FQXdwYlFOZmpheXRkOFhNVWxyUEtGNVZpRjdGWllHMnhMdXphbHRwdDFYYnUvN05vN1dmTWQ2SEwvaFhZNm05ejVhYkxpYnMrZkFzLzdpTVB6UGdFZi8vT3B3QnQ0STcvMDhYaTUzYXZuL2VyS3VFbjVXSUJKUU9JTGMxcEg1SVl2bnJWY0FTZW1jMVZyODJTSXA0S3BOTkFzL0xnSER4WmhEcFNMWUw3UXA2MjFGVVhuakUraEdMZXRIdjVLZzZQVUhzendLcHJmL3RLL2R3QlROei9QWHdFSDhQbHI3ajFTZ1NIK0svYWFMMmJiaWdoeHYrdHJXbFpCQ09NdzdVZU1lNVdNSStOUlpDbXdWOUZBZG5KQnErRHJhRm9zNWJ6MnloSTBlOUZOeVYyMnowVndyb0MyQ21IZWl6S3UyQ2JibmNhbzlkYTJORWNZZGNEVmJtL3d4UXlPaFZYOGRBWE9YUUVIOExsTDdoMFdCYTVkMDljT1A4eVRPeSttK0ZIcVpHZW5HVlQycVRSTUI3MXczQ2MwQ2M1NURGaUtsTGN5QUlTdjZncTBtVDd6bGJ2SHpmTEFkTkVza1JHclcwV0RlaHh2V1p1OU1CMVVzUlpVeSsxWFgyZ252L1ppZXUyVkQvUHcyalcyWEVibGw4K2lnSmQ5YWdVY3dFOHRvVGZ3dVJUZ2ZzRHVuM3c5WC8vU242ZXZmdUczMml1U2xyMWVyTGVxT0RWWURyZ0NOZ0NIWUN0ZzRTcVYvQ1ZjZFEzZFpKN3g0dGNyWVRBTlJLbHRRZkRCenJaNjduRVZiVzFabTliMklQYm05dEhqcng3OFZ2dmJkLzg4N1g3OTZ4a2N5K2VhZzFkeUJaNVNBVDZuVDltQ1YzY0ZQcThDQnI3aE1BK0hrclBNdXo3U29oZnl0SWQweE5YclVSRFlwOVlhTG9DekVMYldqZkppWnFCZEo4RzhNc0g4S21JbGxQdS9XTENOQ2R2YTUzYkVRUlV3anBKcTZiUWRzcy9oY09qd3BaNStQanNGSE1EUFRudnYrVEVGdWpZbWxXNGhPWTBKM0gzSjNiN21ORkhOQzRXOWxVRWhoS3l0YmtWNHRkTTgyeEFSNXBtcExaTnBHY2c1c2U2YzNqN2NjVjgwM1ErNU95THpTZnJMOE4wUG5MaWZ6NzBDRHVEbi9oWmVqZ2xzRDZwVWRlMGlhSm9ndFFmUXZLL0lFL3FGa01Ra0tpZEt3QW9kVHhGWlFiZjRvSXhacG9weUhaeDVVZTF5eW5OeStFaFRkeDltbWc1RDI4eDNsdjdKTjBybzV3VlF3QUY4QVc2Q0R3R29qKzV5QjNlNVFMZVlSRjN1cTBFNDV6SFp1eUNFczVDcnF4V3dRb1M0aFdCMUJrVTVCRllHWENXelBDU25CTlU1a2g1cXU5eVR0cm12N2VJb2FHY2YvdWhLRmIrNEFzOVlBUWZ3TTc0QjN2MUtnUmUza2RDMWRVejVHRG1OQ05BUk5OdDdnK2ZrYlF2UkRDV0ZsWVNsVzRHV2RTMWNqTnNPOUxJMjVpUzJzMkNWTWR0NkVISitnR1UzeG55K21OeVpzakJMZlA3VGE3b0NwNktBQS9oVVpQUkdubDZCcTEzTWVjNVY3V0ZJY2graHVnZklnWVF3Q2RBbXFpYnUzeWFBQzJYTjVDb1pxb2xNTmk0em5HbGtOQlBBOHJTY3VTWnVXSENXMFR2VWtJNzZNVTY3a0pzdkRpTGJnUit1d0ROWHdBSDh6RytCRDhBVXNQY0REMUthYTI2T09tbnZ0NGoza29RRExuaW5FdEFRdmgzQlNxZ2FmUW5kZkdLRWNEYkxBQUVzWnNoY05KZExBNGxUMHZpSWZSd2lwZWxPN0pxOTVoWUxNOFZQVitBWksrQUFmc1kzd0x0ZktXRHZCejQ4ZkcwZSs2OGU5aXNDT0lUN1FEd0lRZXl0YU1zb1NBSmI4bVlGdU05QTBLcFpBVEVCekN4TEZuS1hvRWJNbWtXbGdjcFVraHhkYWVaSHJYU3pibnZXdkhiNGlnTjRKYnRmbjdFQ0R1Qm5mQU84KzdVQ3cyRysvcTNmYU44ZS91Ymk3ZUdiMDFCdFRVS3Nwa0ZrWGtYVVViUWhqTnNnQkxFU3dOQ3lMVXpnMHBld0JzMWNKV01SSVRPV25RYklOQ0xNV2dtejV1WFovRXM3VFFQYzdPd0RJT3RlM2JrQ3oxU0I4RXg3OTg1ZGdWK2dRT2l5OXFKMC9Vb1d2UkJtVlVVTDJuQWwzSWFnU2lDRE1LYXByTU1waU5RaDRKZzJpa0gyV1A4b1ZKaHQ5WHZMcTdpU1I3aWFyLzdrSzZUMUwralVrMTJCYzFiQUFYek9nai8zM1ozVEJPSjJQL2Q3c1NWRW0zNHNYNmd6anlFc1lrQlhDWElRd01BYnVSSU8zR3NnbUZNTVdsY1NqZ25zVVMrR1VSVmhuNmlieTFMYkVkNG5mRWU2Ky9yN0NnajhjQVV1Z2dJTzRJdHdGM3dNbjFEZ2hYN1dnVWczaUhIQlZmQ3NWNFZaTDZDcEFtd2I0ckVWTUFxSUNlR3lBaWFJajNzUm8wSEFxQmZpMFhhSU0xUm8zNzUyTGUzdWZqMWpPRlIyWmtibnB5dndiQlZ3QUQ5Yi9iMzNYNkJBNm5xcGlybU9VWThqZ1ZwQlIzeHh6ZDRYWEFla0ZKQmhGb3RYUktpbE1TOGZFOGFqS29CYkVEaVNTdWFoLzJJTEVRWE11R1NHSDY3QXhWREFBWHd4N3NNVGptSnppb1ZPMnFScHJLcjNhVGV5NmczTjZUNXRMRG0zUVJPS0VjQ1JSaGduMFZ3TDlBZzU3d255WHRiMk9FRG1WN1pxZjkvdjVqdzZ6OVZNdzNNMVdoL3N4aWlnWWR5RkhNWjh2ZTErU09sRzZyb2JPV2Y3VG9lSmFNYzhBM0IrQ0dIQ09CRzZjOVY4Sk5EN1hBWGZyMVNQUW03cmJySGxBTjZZSitmNW1xZ0QrUG02WHhzejJsN2R0aldPSnUzeWVDOTM4eHZhdFRkeTI5NUhUbHdCcDdJQ2ppQ0ViZldyQkxGd1NheXBocVlqNkhJdmRQTTlTSFBVUXoxdmpzZHBZNFR6aVQ1WENqaUFuL3gyZWNselZHRHlheSttbkx1NjB1YVlJQjExN1hMRUZiQjlUOFE4S3JjZ2tIUGdYakFobkNwSlhkQzBqTkM1YU9hMlJUcUlxVDBNTFNhNVdUUmZmdmtsQi9BNTNqdnY2c2tWY0FBL3VWWmU4aHdWZVBIdVJOc0h1ZXRhTkVJUVEvTThDdXFlYUJORGJudVMyNHJXQzlyUU41VzlCUzNrV1FnNjVWcDQwa2wvVW5INWUrVlh0cFlqalBJNUR0MjdjZ1dlV0FFSDhCTkw1UVhQVXdIN1g1TzdGLzV4TzV0S000OXhybUV3cTRBNkduQ0RFcjZwSTN5WEZkS1NBRjRReUhVMFNDUE5FTUZ0aW5xNnRhMzF1RzdicXo4WjZYbU8zZnR5Qlo1VWdlY0d3RTg2SVM5M09SUVlEcUZ2NHZYdTFSZjZEVjU1WmQ1WG5RdlNva0plOWpSM1hQRzJQWEFWYkVDV3hGVndJcHl6YlVGTU03Y2VYaDM4Nm9Ud3JRbmZkdGZlLzNzNVpQRlpYRElGSE1DWDdJWmVudW1JRG9lUzN4NytabmMzTDNLWUFBQUZOVWxFUVZUOXJkOW9xeW8yUGVFV1JOQlpGZk9rSjBvem42ZTlnRW1mMncvOW9MTythTjN2eTJKMytNK1dWbmQzOTAzdS81YjMvMTRlYVh3bWwwWUJCL0NsdVpXWGV5TDkzakwxdWFkTHlCNzNBMGI5cVBkN1VVZjlTdmY3TVIvMUlzYU16N2t5WGxiYStaN3Y1WDRjTHMzc25nekFsMmE2UHBIblZZSHROcVl0NGVxMmt1T3RDcU5CeFAxQno3enVNM3c0aURxbW4yOVhlZG0vc25RQVA2ODNlc1BHN1FEZXNCdit2RTUzZ0dYZUdXaTlVK1hqSFlKM3A5TDcyd1F4L1Q2aGU3alZ3M2k3MHZsZ0t5LzcwbmNBUDY4M2VzUEc3UURlc0J2K3ZFNDN2b3d1S3VwQnpNYzlaRzVCNUh0OTZlNVZvdmU0SjN5dkYvS294N3lZdFg3Qi85Zmo1L1UyWDhSeG4rbVlITUJuS3E4M2Zsb0s1R1V2cVM1cTdicGphTHVYVTNkSGtUOFc3VDZDNG9acStqam43b0VHblU2UnU5UHExOXR4QmM1U0FRZndXYXJyYlorYUFsb2ZwbVFmeUVqTEk5WGxIclM1bzh2RjdaemJXOGpMbTJpN2owUFNCLzFtUHEyUUhNQ25wcnczZEpZS09JRFBVbDF2KzlRVTZGNk5TY05zRHBrZWFWcnNvWm5leWQzc1l5eW50M1ErSm9CbkgzZk43QUZrTWQxQzdRQStOZVdmYlVPWHZYY0g4R1cvdzVka2ZudnYzY3BZTHB0bHFtZHBQajVPdWpqSTdYdy81UEVEWFV6M3ErYjQ4RXE2TTEzZ2NJR3ZJRjJTYWZzMExya0NEdUJMZm9NdnkvUmUreGV2NUFxelRoYjlScmRrRGwzTXpXdlRyM2RrcSs3RnVtbTN0TzMybS9UNisxL1h5ekp2bjhmbFZzQUJmTG52NzZXWjNldnZ2NjliZUtVTFc5TkcwWnRYdmEzWnNsN1dLYlIxOTJLMW1HekZacnFmMnZvTHY1NnVYZVBMY3ZEanFSWHdCczVjQVFmd21VdnNIWnlHQXNQaFVGL0grOTNXVjE1cDl1N002aS8rMm5MMjJpSG10NCs2eFFoWEY1YisxUy84Y2Z1WDE5NUlJbklhWFhvYnJzQ1pLK0FBUG5PSnZZTlRVa0FKNGJ6NzVwdnArcmZlYXIvMUZvM2V3dVU3SDVnK0hFb1dLZC83b0tmVXB6ZmpDcHlwQWc3Z001WFhHM2NGUHE4Q1htOFRGSEFBYjhKZDlqbTZBcTdBaFZUQUFYd2hiNHNQeWhWd0JUWkJBUWZ3SnR4bG4rTm5WY0RMdXdMbm9vQUQrRnhrOWs1Y0FWZkFGZmlrQWc3Z1QycmlLYTZBSytBS25Jc0NEdUJ6a2RrNytTd0tlRmxYWUZNVWNBQnZ5cDMyZWJvQ3JzQ0ZVOEFCZk9GdWlRL0lGWEFGTmtVQkIvQ20zT2tubmFlWGN3VmNnWE5Ud0FGOGJsSjdSNjZBSytBSy9Ld0NEdUNmMWNOanJvQXI0QXFjbXdJTzRIT1Qra2s2OGpLdWdDdXdTUW80Z0RmcGJ2dGNYUUZYNEVJcDRBQytVTGZEQitNS3VBS2JwSUFEK05IZDlwQXI0QXE0QXVlcWdBUDRYT1gyemx3QlY4QVZlS1NBQS9pUkZoNXlCVndCVitCY0ZiZ3dBRDdYV1h0bnJvQXI0QXBjQUFVY3dCZmdKdmdRWEFGWFlETVZjQUJ2NW4zM1dic0Nyc0FGVUdBRjRBc3dFQitDSytBS3VBS2Jwb0FEZU5QdXVNL1hGWEFGTG93Q0R1QUxjeXQ4SUs2QUsvQU1GSGltWFRxQW42bjgzcmtyNEFwc3NnSU80RTIrK3o1M1Y4QVZlS1lLT0lDZnFmemV1U3V3MlFwcyt1d2R3SnYrQlBqOFhRRlg0SmtwNEFCK1p0Sjd4NjZBSzdEcENqaUFOLzBKOFBsdnJnSSs4MmV1Z0FQNG1kOENINEFyNEFwc3FnSU80RTI5OHo1dlY4QVZlT1lLT0lDZitTM3dBV3ltQWo1clZ3QndBUHRUNEFxNEFxN0FNMUxBQWZ5TWhQZHVYUUZYd0JWd0FQc3pzSWtLK0p4ZGdRdWhnQVA0UXR3R0g0UXI0QXBzb2dJTzRFMjg2ejVuVjhBVnVCQUtPSUF2eEczWXJFSDRiRjBCVjJDbGdBTjRwWU5mWFFGWHdCVTRkd1Vjd09jdXVYZm9DcmdDcnNCS0FRZndTb2ZOdWZwTVhRRlg0TUlvNEFDK01MZkNCK0lLdUFLYnBvQURlTlB1dU0vWEZYQUZMb3dDRHVCenZSWGVtU3ZnQ3JnQ2p4VDQvd0FBQVAvL3d4WkRFZ0FBQUFaSlJFRlVBd0NnaVY5Q3NCd3pRd0FBQUFCSlJVNUVya0pnZ2c9PVwiO1xuICBrZWJhYkljb25TYWZlVXJsID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoaXMua2ViYWJBSUljb24pO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHtcbiAgICB0aGlzLnNldFNlbGVjdGFibGVTZXR0aW5ncygpO1xuICB9XG5cbiAgY29sdW1uVGVtcGxhdGVEaWN0OiBhbnkgPSB7fTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbHVtbkRhdGEuZm9yRWFjaCgoY29sdW1uOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGNvbHVtbi5zb3J0YWJsZSA9IGNvbHVtbi5zb3J0YWJsZSA9PSB1bmRlZmluZWQgPyB0cnVlIDogY29sdW1uLnNvcnRhYmxlO1xuICAgICAgaWYgKCF0aGlzLmlnbm9yZUNvbHVtbkNlbGxDbGljay5pbmNsdWRlcyhpbmRleCkpIHtcbiAgICAgICAgY29sdW1uLmNsYXNzID0gJ2NvbHVtbi1jdXJzb3ItcG9pbnRlcic7XG4gICAgICB9XG4gICAgfSlcbiAgICBpZiAoIXRoaXMuaGFzQXBpU29ydGluZykge1xuICAgICAgdGhpcy5sb2FkR3JpZERhdGEoKTtcbiAgICB9XG4gIH1cblxuICBzY3JvbGxCb3R0b20oKSB7XG4gICAgdGhpcy5vbnNjcm9sbEJvdHRvbS5lbWl0KCk7XG4gIH1cblxuICBnZXRQb3NpdGlvbigpOiBhbnkge1xuICAgIGlmICh0aGlzLnNob3dUb29sYmFyICYmIHRoaXMuaW5maW5pdGVTY3JvbGxMb2FkZXIpIHtcbiAgICAgIHJldHVybiAnYm90aCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNob3dUb29sYmFyKSB7XG4gICAgICByZXR1cm4gJ3RvcCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmluZmluaXRlU2Nyb2xsTG9hZGVyKSB7XG4gICAgICByZXR1cm4gJ2JvdHRvbSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBhZ2VhYmxlKSB7XG4gICAgICB0aGlzLnBhZ2VTaXplID0gdGhpcy5fZ3JpZFZpZXcuZGF0YT8ubGVuZ3RoO1xuICAgIH1cbiAgICB0aGlzLmNvbHVtblRlbXBsYXRlcy5mb3JFYWNoKHggPT4gdGhpcy5jb2x1bW5UZW1wbGF0ZURpY3RbeC50eXBlXSA9IHgudGVtcGxhdGUpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaW5pdEdyaWQoKTtcbiAgfVxuXG4gIGluaXRHcmlkKCkge1xuICAgIGlmICh0aGlzLmN1c3RvbUV4cGFuZFJvd0NvbHVtbikge1xuICAgICAgdGhpcy5leHBhbmRSb3dJbmRleC5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICB0aGlzLmdyaWQuZXhwYW5kUm93KGlkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkUm93cyA9IHRoaXMuX3ByZVNlbGVjdGVkO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dzPy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFJvd3M/Lmxlbmd0aCA9PSB0aGlzLl9ncmlkVmlldy50b3RhbCkge1xuICAgICAgICB0aGlzLnNlbGVjdEFsbFN0YXRlID0gJ2NoZWNrZWQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9ICdpbmRldGVybWluYXRlJztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9ICd1bmNoZWNrZWQnO1xuICAgIH1cbiAgICBpZiAodGhpcy5ncmlkRWxlbWVudCkge1xuICAgICAgdGhpcy5pbml0aWFsR3JpZEhlaWdodCA9XG4gICAgICAgIHRoaXMuZ3JpZEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ/Lm9mZnNldEhlaWdodCArIHRoaXMuZ3JpZEJvdHRvbVNwYWNlO1xuICAgICAgLy8gdGhpcy5nZXRHcmlkSGVpZ2h0KCk7XG5cbiAgICAgIGNvbnN0IGdyaWRDb250YWluZXIgPSB0aGlzLmdyaWRFbGVtZW50Py5uYXRpdmVFbGVtZW50Py5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdrLWdyaWQtY29udGFpbmVyJylbMF07XG4gICAgICBpZiAoZ3JpZENvbnRhaW5lciAmJiB0aGlzLnNlbGVjdEFsbE1lc3NhZ2VFbGVtZW50Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgICAgIGdyaWRDb250YWluZXIucGFyZW50RWxlbWVudCxcbiAgICAgICAgICB0aGlzLnNlbGVjdEFsbE1lc3NhZ2VFbGVtZW50Py5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgIGdyaWRDb250YWluZXIsXG4gICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3Qgc2VsZWN0QWxsQ2hlY2tib3ggPSB0aGlzLmdyaWRFbGVtZW50Py5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcuc2VsZWN0LWFsbC1oZWFkZXIgaW5wdXQnKTtcbiAgICAgIGlmIChzZWxlY3RBbGxDaGVja2JveCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHNlbGVjdEFsbENoZWNrYm94LCAnZGlzYWJsZWQnLCB0aGlzLmNhbkVuYWJsZVNlbGVjdEFsbCgpKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEFjcm9zc1BhZ2VzKGlzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRyaWdnZXJTZWxlY3RBbGxQYWdlc0V2ZW50KGlzU2VsZWN0ZWQpO1xuICAgIGlmICghaXNTZWxlY3RlZCkge1xuICAgICAgdGhpcy5vblNlbGVjdEFsbENoYW5nZSh0aGlzLnByZXZpb3VzU2VsZWN0QWxsU3RhdGUpXG4gICAgfVxuICB9XG5cbiAgdHJpZ2dlclNlbGVjdEFsbFBhZ2VzRXZlbnQoaXNTZWxlY3RlZDogYm9vbGVhbikge1xuICAgIHRoaXMuYWxsUGFnZXNTZWxlY3RlZCA9IGlzU2VsZWN0ZWQ7XG4gICAgdGhpcy5vblNlbGVjdEFsbEFjcm9zc1BhZ2VzLmVtaXQoaXNTZWxlY3RlZCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1Db3VudCA9IGlzU2VsZWN0ZWQgPyB0aGlzLl9ncmlkVmlldy50b3RhbCA6IDA7XG4gICAgY29uc29sZS5sb2coJ3RyaWdnZXJTZWxlY3RBbGxQYWdlc0V2ZW50IDogaXNTZWxlY3RlZCcsIGlzU2VsZWN0ZWQpO1xuICB9XG5cbiAgYWRkU2VsZWN0QWxsTWVzc2FnZShzZWxlY3RBbGw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQgPSB0aGlzLnNlbGVjdEFsbE1lc3NhZ2VFbGVtZW50Py5uYXRpdmVFbGVtZW50Py5wYXJlbnRFbGVtZW50O1xuICAgIGlmICh0aGlzLnNob3dTZWxlY3RBbGxNZXNzYWdlICYmIHRoaXMuc2VsZWN0QWxsTXNnUGFyZW50RWxlbWVudCAmJiAodGhpcy5fcGFnZUNvdW50ID4gMSB8fCB0aGlzLmlzSW5maW5pdGVTY3JvbGxHcmlkKSkge1xuICAgICAgY29uc3Qgc2VsZWN0QWxsTXNnRWxlbWVudCA9IHRoaXMuc2VsZWN0QWxsTWVzc2FnZUVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy5saWItZ3JpZC1zZWxlY3QtYWxsLW1lc3NhZ2UtY29udGFpbmVyJyk7XG4gICAgICBpZiAoc2VsZWN0QWxsKSB7XG4gICAgICAgIGNvbnN0IGJlZm9yZUhlaWdodCA9IHRoaXMuc2VsZWN0QWxsTXNnUGFyZW50RWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgICAgICAgc2VsZWN0QWxsTXNnRWxlbWVudD8uY2xhc3NMaXN0LmFkZCgnbGliLWdyaWQtc2VsZWN0LWFsbC1tZXNzYWdlLXNob3cnKTtcblxuICAgICAgICBjb25zdCBhZnRlckhlaWdodCA9IHRoaXMuc2VsZWN0QWxsTXNnUGFyZW50RWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIHRoaXMuc2VsZWN0QWxsTXNnUGFyZW50RWxlbWVudC5zdHlsZS5oZWlnaHQgPSAodGhpcy5zZWxlY3RBbGxNc2dQYXJlbnRFbGVtZW50Lm9mZnNldEhlaWdodCAtIChhZnRlckhlaWdodCAtIGJlZm9yZUhlaWdodCkpICsgJ3B4JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlbGVjdEFsbE1zZ0VsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ2xpYi1ncmlkLXNlbGVjdC1hbGwtbWVzc2FnZS1zaG93Jyk7XG4gICAgICAgIGlmICh0aGlzLmFsbFBhZ2VzU2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXJTZWxlY3RBbGxQYWdlc0V2ZW50KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHBhZ2VDaGFuZ2UoZXZlbnQ6IFBhZ2VDaGFuZ2VFdmVudCkge1xuICAgIGlmICh0aGlzLnNlbGVjdEFsbE1zZ1BhcmVudEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuc2VsZWN0QWxsTXNnUGFyZW50RWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnJ1xuICAgIH1cbiAgICB0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHNldFNlbGVjdGFibGVTZXR0aW5ncygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jaGVja2JveE9ubHkgfHwgdGhpcy5tb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgdGhpcy5kcmFnQ29sdW1ucyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0YWJsZVNldHRpbmdzID0ge1xuICAgICAgY2hlY2tib3hPbmx5OiB0aGlzLmNoZWNrYm94T25seSxcbiAgICAgIG1vZGU6IHRoaXMubW9kZSxcbiAgICAgIGRyYWc6IHRoaXMuZHJhZ0NvbHVtbnMsXG4gICAgfTtcbiAgfVxuXG4gIC8vIFdlIGNhbiBleHRyYWN0IGRhdGEgb3V0IG9mIHJvdyBudW1iZXIgdXNpbmcgYmVsb3cgZnVuY3Rpb25cbiAgLyogZXh0cmFjdCgpIHtcbiAgICB0aGlzLmV4dHJhY3REYXRhSXRlbXMgPSB0aGlzLm15U2VsZWN0aW9uLm1hcChpZHggPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZ3JpZERhdGEuZmluZCgoZGF0YTogeyBQcm9kdWN0SUQ6IG51bWJlcjsgfSkgPT4gZGF0YS5Qcm9kdWN0SUQgPT09IGlkeCk7XG4gICAgfSk7XG4gICAgY29uc29sZS5sb2codGhpcy5leHRyYWN0RGF0YUl0ZW1zKVxuICAgIHRoaXMuc2VsZWN0ZWRSb3dEYXRhLmVtaXQodGhpcy5leHRyYWN0RGF0YUl0ZW1zKTtcbiAgfSAqL1xuXG4gIHNlbGVjdGVkS2V5c0NoYW5nZShyb3dzOiBudW1iZXJbXSkge1xuICAgIGxldCBzZWxlY3RlZFJvd0RhdGE6IGFueSA9IFtdO1xuICAgIGxldCBzZWxlY3RlZFJvd3NDb3VudCA9IDA7XG5cbiAgICBpZiAocm93cz8ubGVuZ3RoID4gMCkge1xuICAgICAgc2VsZWN0ZWRSb3dzQ291bnQgPSByb3dzPy5sZW5ndGg7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkUm93cz8ubGVuZ3RoID4gMCAmJiB0aGlzLmRpc2FibGVQcmVTZWxlY3RlZFJvd3MpIHtcbiAgICAgIHNlbGVjdGVkUm93c0NvdW50ID0gdGhpcy5zZWxlY3RlZFJvd3M/Lmxlbmd0aDtcbiAgICAgIHJvd3MgPSB0aGlzLnNlbGVjdGVkUm93cztcbiAgICB9XG4gICAgdGhpcy5wcmV2aW91c1NlbGVjdEFsbFN0YXRlID0gdGhpcy5zZWxlY3RBbGxTdGF0ZTtcbiAgICB0aGlzLnNlbGVjdEFsbFN0YXRlID0gdGhpcy5nZXRTZWxlY3RBbGxTdGF0ZShzZWxlY3RlZFJvd3NDb3VudCk7XG4gICAgaWYgKHRoaXMuc2VsZWN0QWxsU3RhdGUgPT09ICd1bmNoZWNrZWQnIHx8IHRoaXMuc2VsZWN0QWxsU3RhdGUgPT09ICdpbmRldGVybWluYXRlJykge1xuICAgICAgdGhpcy5hZGRTZWxlY3RBbGxNZXNzYWdlKGZhbHNlKTtcbiAgICB9XG5cbiAgICBzZWxlY3RlZFJvd0RhdGEgPSByb3dzLm1hcChyb3dEYXRhID0+IHtcbiAgICAgIHJldHVybiB0aGlzLl9ncmlkVmlldy5kYXRhLmZpbmQoKGRhdGEpID0+IGRhdGFbdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV0gPT09IHJvd0RhdGEpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZWxlY3RlZFJvd0RhdGEuZW1pdChzZWxlY3RlZFJvd0RhdGEpO1xuICB9XG5cbiAgZ2V0U2VsZWN0QWxsU3RhdGUoc2VsZWN0ZWRSb3dzQ291bnQ6IG51bWJlcik6IGFueSB7XG4gICAgaWYgKHNlbGVjdGVkUm93c0NvdW50ID09IHRoaXMuX2dyaWRWaWV3LnRvdGFsKSB7XG4gICAgICB0aGlzLnNlbGVjdEFsbFN0YXRlID0gJ2NoZWNrZWQnO1xuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRSb3dzQ291bnQgPT0gMCkge1xuICAgICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9ICd1bmNoZWNrZWQnO1xuICAgICAgdGhpcy5hZGRTZWxlY3RBbGxNZXNzYWdlKGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9ICdpbmRldGVybWluYXRlJztcbiAgICAgIHRoaXMuYWRkU2VsZWN0QWxsTWVzc2FnZShmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgb25LZWJhYkNsaWNrKGl0ZW06IGFueSwgcm93RGV0YWlsczogYW55KSB7XG4gICAgdGhpcy5rZWJhYkl0ZW1DbGljay5lbWl0KHsgYWN0aW9uOiBpdGVtLCByb3dEZXRhaWxzIH0pO1xuICB9XG5cbiAgb25EZXRhaWxFeHBhbmQocm93RGF0YTogYW55KSB7XG4gICAgdGhpcy5yb3dEZXRhaWxzLmVtaXQocm93RGF0YS5kYXRhSXRlbSk7XG4gIH1cblxuICBjZWxsQ2xpY2tIYW5kbGVyKGFyZ3M6IENlbGxDbGlja0V2ZW50KSB7XG4gICAgaWYgKHRoaXMuYWxsb3dDb2x1bW5DbGljaykge1xuICAgICAgaWYgKHRoaXMuaWdub3JlQ29sdW1uQ2VsbENsaWNrLmluY2x1ZGVzKGFyZ3MuY29sdW1uSW5kZXgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMucm93RGF0YU9mQ2xpY2tlZENlbGwuZW1pdCh7IGRhdGFJdGVtOiBhcmdzLmRhdGFJdGVtLCBjb2x1bW5JbmRleDogYXJncy5jb2x1bW5JbmRleCB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYWxsb3dFZGl0aW5nQ2VsbCkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAgPSBjcmVhdGVGb3JtR3JvdXAoYXJncy5kYXRhSXRlbSk7XG4gICAgICBhcmdzLnNlbmRlci5lZGl0Q2VsbChhcmdzLnJvd0luZGV4LCBhcmdzLmNvbHVtbkluZGV4LCB0aGlzLmZvcm1Hcm91cCk7XG4gICAgfVxuICB9XG5cbiAgc29ydENoYW5nZShzb3J0OiBTb3J0RGVzY3JpcHRvcltdKTogdm9pZCB7XG4gICAgdGhpcy5zb3J0ID0gc29ydDtcbiAgICBpZiAoIXRoaXMuaGFzQXBpU29ydGluZykge1xuICAgICAgdGhpcy5sb2FkR3JpZERhdGEoKTtcbiAgICB9XG4gICAgdGhpcy5zb3J0RGlyZWN0aW9uLmVtaXQodGhpcy5zb3J0KTtcbiAgfVxuXG4gIGxvYWRHcmlkRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLl9ncmlkVmlldyA9IHtcbiAgICAgIGRhdGE6IG9yZGVyQnkodGhpcy5fZ3JpZFZpZXc/LmRhdGEsIHRoaXMuc29ydCksXG4gICAgICB0b3RhbDogdGhpcy5fZ3JpZFZpZXc/LnRvdGFsLFxuICAgIH07XG4gIH1cblxuICBleHBhbmRSb3coaWQ6IG51bWJlcikge1xuICAgIHRoaXMuZ3JpZC5leHBhbmRSb3coaWQpO1xuICAgIHRoaXMuZXhwYW5kUm93SW5kZXgucHVzaChpZCk7XG4gICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgLy8gICB0aGlzLmdldEdyaWRIZWlnaHQoKTtcbiAgICAvLyB9LCAwKTtcbiAgfVxuXG4gIGNvbGxhcHNlUm93KGlkOiBudW1iZXIpIHtcbiAgICB0aGlzLmdyaWQuY29sbGFwc2VSb3coaWQpO1xuICAgIHRoaXMuZXhwYW5kUm93SW5kZXguc3BsaWNlKHRoaXMuZXhwYW5kUm93SW5kZXguaW5kZXhPZihpZCksIDEpO1xuICAgIC8vIGlmICh0aGlzLmV4cGFuZFJvd0luZGV4Py5sZW5ndGggPT0gMCkge1xuICAgIC8vICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgIC8vICAgY29uc3Qgdmlld3BvcnQ6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsaWItZ3JpZCcpO1xuICAgIC8vICAgY29uc3QgZ3JpZE9mZnNldCA9IHZpZXdwb3J0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5zY3JvbGxZO1xuICAgIC8vICAgaWYgKHdpbmRvd0hlaWdodCA+IGdyaWRPZmZzZXQgKyB0aGlzLmluaXRpYWxHcmlkSGVpZ2h0KSB7XG4gICAgLy8gICAgIHRoaXMuaGVpZ2h0ID0gJzEwMCUnO1xuICAgIC8vICAgICByZXR1cm47XG4gICAgLy8gICB9XG4gICAgLy8gICAvLyB0aGlzLmdldEdyaWRIZWlnaHQoKTtcbiAgICAvLyB9XG4gIH1cblxuICBvbkRlbGV0ZShyb3dEZXRhaWxzOiBhbnkpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZ2V0SGVhZGVySGVpZ2h0KCk7XG4gICAgfSwgMTAwMCk7XG4gICAgdGhpcy5kZWxldGVkUm93RGF0YS5lbWl0KHJvd0RldGFpbHMpO1xuICB9XG5cbiAgZ2V0SGVhZGVySGVpZ2h0KCkge1xuICAgIGlmICh0aGlzLl9ncmlkVmlldz8uZGF0YT8ubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gJ2hpZGUtaGVhZGVyJztcbiAgICB9XG4gICAgcmV0dXJuICd2aWV3LWhlYWRlcic7XG4gIH1cblxuICAvKlxuICAgKiBUaGlzIGxvZ2ljIG9mIGR5bmFtaWNhbGx5IGNhbGN1bGF0aW5nIHRoZSBoZWlnaHQgb2YgZ3JpZCBuZWVkIGZ1cnRoZXIgYnJhaW5zdG9ybWluZyBoZW5jZSBjb21tZW50ZWQgZm9yIG5vdy5cbiAgICovXG4gIC8vIGdldEdyaWRIZWlnaHQoKSB7XG4gIC8vICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAvLyAgIGNvbnN0IHZpZXdwb3J0OiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGliLWdyaWQnKTtcbiAgLy8gICBjb25zdCBncmlkT2Zmc2V0ID0gdmlld3BvcnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnNjcm9sbFk7XG4gIC8vICAgY29uc3QgZ3JpZEhlaWdodCA9XG4gIC8vICAgICB0aGlzLmdyaWRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgdGhpcy5ncmlkQm90dG9tU3BhY2U7IC8vZ3JpZCBzaG91bGQgaGF2ZSAyNHB4IHNwYWNlIGF0IGJvdHRvbVxuICAvLyAgIGlmIChncmlkT2Zmc2V0ICsgZ3JpZEhlaWdodCA+PSB3aW5kb3dIZWlnaHQpIHtcbiAgLy8gICAgIHRoaXMuaGVpZ2h0ID0gd2luZG93SGVpZ2h0IC0gKGdyaWRPZmZzZXQgKyB0aGlzLmdyaWRCb3R0b21TcGFjZSk7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLy8gQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIC8vIHJlc2l6ZShldjogYW55KSB7XG4gIC8vICAgaWYgKGV2LnRhcmdldC5pbm5lckhlaWdodCA+IHRoaXMucmVzaXplSGVpZ2h0KSB7XG4gIC8vICAgICB0aGlzLnJlc2l6ZUhlaWdodCA9IGV2LnRhcmdldC5pbm5lckhlaWdodDtcbiAgLy8gICAgIHRoaXMuaGVpZ2h0ID0gJzEwMCUnO1xuICAvLyAgIH1cbiAgLy8gICBpZiAodGhpcy5yZXNpemVIZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcbiAgLy8gICAgIHRoaXMucmVzaXplSGVpZ2h0ID0gMDtcbiAgLy8gICB9XG4gIC8vICAgdGhpcy5nZXRHcmlkSGVpZ2h0KCk7XG4gIC8vIH1cblxuICByb3dDbGFzcyA9IChhcmdzOiBSb3dDbGFzc0FyZ3MpID0+IHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFJvd3MgJiYgdGhpcy5kaXNhYmxlUHJlU2VsZWN0ZWRSb3dzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAnay1kaXNhYmxlZCc6IHRoaXMuc2VsZWN0ZWRSb3dzLmluY2x1ZGVzKFxuICAgICAgICAgIGFyZ3MuZGF0YUl0ZW1bdGhpcy5ncmlkUm93U2VsZWN0QnlWYWx1ZV1cbiAgICAgICAgKSB8fCB0aGlzLmFsbFBhZ2VzU2VsZWN0ZWQsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH07XG5cbiAgZXhwYW5kQ29sdW1uQ2xhc3MoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRSb3dzPy5sZW5ndGggPiAwICYmIHRoaXMuZGlzYWJsZVByZVNlbGVjdGVkUm93cykge1xuICAgICAgdGhpcy5leHBhbmRSb3dDb2x1bW5XaWR0aCA9IDE5NDtcbiAgICAgIHJldHVybiAnZXhwYW5kLXJvdyc7XG4gICAgfVxuICAgIHRoaXMuZXhwYW5kUm93Q29sdW1uV2lkdGggPSA1NjtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBvblNlbGVjdEFsbENoYW5nZShjaGVja2VkU3RhdGU6IFNlbGVjdEFsbENoZWNrYm94U3RhdGUpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGVja2VkU3RhdGUgPT09ICdjaGVja2VkJ1xuICAgICkge1xuICAgICAgdGhpcy5fcHJlU2VsZWN0ZWQgPSB0aGlzLl9ncmlkVmlldy5kYXRhXG4gICAgICAgIC5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbVt0aGlzLmdyaWRSb3dTZWxlY3RCeVZhbHVlXSlcbiAgICAgICAgLmZpbHRlcigoaWQ6IGFueSkgPT4gaWQpO1xuICAgICAgdGhpcy5zZWxlY3RBbGxTdGF0ZSA9ICdjaGVja2VkJztcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtQ291bnQgPSB0aGlzLl9ncmlkVmlldy5kYXRhLmxlbmd0aDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRSb3dzPy5sZW5ndGggPiAwICYmIHRoaXMuZGlzYWJsZVByZVNlbGVjdGVkUm93cykge1xuICAgICAgdGhpcy5fcHJlU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkUm93cztcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAnaW5kZXRlcm1pbmF0ZSc7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbUNvdW50ID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fcHJlU2VsZWN0ZWQgPSBbXTtcbiAgICAgIHRoaXMuc2VsZWN0QWxsU3RhdGUgPSAndW5jaGVja2VkJztcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtQ291bnQgPSAwO1xuICAgIH1cbiAgICB0aGlzLmFkZFNlbGVjdEFsbE1lc3NhZ2UodGhpcy5zZWxlY3RBbGxTdGF0ZSA9PT0gJ2NoZWNrZWQnKTtcbiAgfVxuXG4gIGNhbkVuYWJsZVNlbGVjdEFsbCgpIHtcbiAgICByZXR1cm4gKHRoaXMuc2VsZWN0ZWRSb3dzPy5sZW5ndGggPT0gdGhpcy5fZ3JpZFZpZXcudG90YWwgJiZcbiAgICAgIHRoaXMuZGlzYWJsZVByZVNlbGVjdGVkUm93cylcbiAgfVxuXG4gIHB1YmxpYyBjZWxsQ2xvc2VIYW5kbGVyKGFyZ3M6IENlbGxDbG9zZUV2ZW50KTogdm9pZCB7XG4gICAgbGV0IHsgZm9ybUdyb3VwLCBkYXRhSXRlbSB9ID0gYXJncztcbiAgICBpZiAoIWZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgYXJncy5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0gZWxzZSBpZiAoZm9ybUdyb3VwLmRpcnR5KSB7XG4gICAgICBpZiAoYXJncy5vcmlnaW5hbEV2ZW50ICYmIGFyZ3Mub3JpZ2luYWxFdmVudC5rZXlDb2RlID09PSBLZXlzLkVzY2FwZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBPYmplY3QuYXNzaWduKGRhdGFJdGVtLCBmb3JtR3JvdXAudmFsdWUpO1xuICAgICAgdGhpcy5zYXZlQ2hhbmdlcygpO1xuICAgICAgdGhpcy51cGRhdGVkRGF0YS5lbWl0KHRoaXMuZ3JpZC5kYXRhKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYXZlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmdyaWQuY2xvc2VDZWxsKCk7XG4gICAgdGhpcy5ncmlkLmNhbmNlbENlbGwoKTtcbiAgfVxuXG4gIHJlZnJlc2hHcmlkRGF0YSgpIHtcbiAgICB0aGlzLmVtaXRSZWZyZXNoRXZ0LmVtaXQoKTtcbiAgfVxuXG4gIG9uQ2hlZnlDbGljayhlOiBhbnksIGRhdGFJdGVtOiBhbnksIHF1ZXJ5ID0gbnVsbCkge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgY3VzdG9tRXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoJ2dyaWRDaGVmeUNsaWNrJywge1xuICAgICAgZGV0YWlsOiB7XG4gICAgICAgIGl0ZW1OYW1lOiB0aGlzLml0ZW1OYW1lLFxuICAgICAgICBkYXRhSXRlbTogZGF0YUl0ZW0sXG4gICAgICAgIHF1ZXJ5OiBxdWVyeSxcbiAgICAgICAgY29sdW1uRGF0YTogdGhpcy5jb2x1bW5EYXRhXG4gICAgICB9LFxuICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgIGNhbmNlbGFibGU6IHRydWVcbiAgICB9KTtcblxuICAgIC8vIERpc3BhdGNoIG9uIGRvY3VtZW50IHRvIG1ha2UgaXQgZ2xvYmFsbHkgYXZhaWxhYmxlXG4gICAgZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChjdXN0b21FdmVudCk7XG4gIH1cblxufVxuIiwiPGRpdiAjZ3JpZEVsZW1lbnQgW25nQ2xhc3NdPVwiY29sdW1uQ29udGVudE5vV3JhcCA/ICdjb2x1bW4tY29udGVudC1ub3dyYXAnIDogJydcIj5cbiAgPGtlbmRvLWdyaWQgW2RhdGFdPVwiX2dyaWRWaWV3XCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgW3NraXBdPVwic2tpcFwiIFtzZWxlY3RhYmxlXT1cInNlbGVjdGFibGVTZXR0aW5nc1wiXG4gICAgW3BhZ2VhYmxlXT1cInBhZ2VhYmxlXCIgW3NvcnRhYmxlXT1cInNvcnRhYmxlXCIgW2xvYWRpbmddPVwiZ3JpZExvYWRpbmdcIiBbZ3JvdXBhYmxlXT1cImdyb3VwYWJsZVwiXG4gICAgW3Jlb3JkZXJhYmxlXT1cInJlb3JkZXJhYmxlXCIgW3Jlc2l6YWJsZV09XCJyZXNpemFibGVcIiBbY29sdW1uTWVudV09XCJjb2x1bW5NZW51XCIgW25hdmlnYWJsZV09XCJuYXZpZ2FibGVcIlxuICAgIFtoZWlnaHRdPVwiZ3JpZEhlaWdodFwiIChjaGFuZ2UpPVwic2V0U2VsZWN0YWJsZVNldHRpbmdzKClcIiAoc2VsZWN0ZWRLZXlzQ2hhbmdlKT1cInNlbGVjdGVkS2V5c0NoYW5nZSgkZXZlbnQpXCJcbiAgICBba2VuZG9HcmlkU2VsZWN0QnldPVwiZ3JpZFJvd1NlbGVjdEJ5VmFsdWVcIiAoZGV0YWlsRXhwYW5kKT1cIm9uRGV0YWlsRXhwYW5kKCRldmVudClcIiBbc2VsZWN0ZWRLZXlzXT1cIl9wcmVTZWxlY3RlZFwiXG4gICAgKHBhZ2VDaGFuZ2UpPVwicGFnZUNoYW5nZSgkZXZlbnQpXCIgKGNlbGxDbGljayk9XCJjZWxsQ2xpY2tIYW5kbGVyKCRldmVudClcIiAoY2VsbENsb3NlKT1cImNlbGxDbG9zZUhhbmRsZXIoJGV2ZW50KVwiXG4gICAgW3NvcnRdPVwic29ydFwiIChzb3J0Q2hhbmdlKT1cInNvcnRDaGFuZ2UoJGV2ZW50KVwiIChzY3JvbGxCb3R0b20pPVwic2Nyb2xsQm90dG9tKClcIiBbbmdDbGFzc109XCJnZXRIZWFkZXJIZWlnaHQoKVwiXG4gICAgaWQ9XCJsaWItZ3JpZFwiIFtyb3dDbGFzc109XCJyb3dDbGFzc1wiPlxuICAgIDxkaXYgI3NlbGVjdEFsbE1lc3NhZ2VFbGVtZW50PlxuICAgICAgPGRpdiBjbGFzcz1cImxpYi1ncmlkLXNlbGVjdC1hbGwtbWVzc2FnZS1jb250YWluZXJcIlxuICAgICAgICAqbmdJZj1cIigoc2VsZWN0ZWRJdGVtQ291bnQgPCBfZ3JpZFZpZXcudG90YWwpIHx8IGFsbFBhZ2VzU2VsZWN0ZWQpXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIoc2VsZWN0ZWRJdGVtQ291bnQgPCBfZ3JpZFZpZXcudG90YWwpXCIgY2xhc3M9XCJsaWItZ3JpZC1zZWxlY3QtYWxsLW1lc3NhZ2VcIj5cbiAgICAgICAgICA8bGliLXR5cG9ncmFwaHkgW2RlZmF1bHRUZXh0XT1cIidBbGwgJytzZWxlY3RlZEl0ZW1Db3VudCsnICcraXRlbU5hbWUrJyBvbiB0aGlzIHBhZ2UgYXJlIHNlbGVjdGVkLidcIlxuICAgICAgICAgICAgdHlwZT1cIkJPRFlfU01BTExcIj48L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgICAgIDx1PjxsaWItdHlwb2dyYXBoeSAoY2xpY2spPVwic2VsZWN0QWNyb3NzUGFnZXModHJ1ZSlcIiBjbGFzcz1cInNlbGVjdC1hbGwtaGFuZGxlclwiXG4gICAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInU2VsZWN0IGFsbCAnK19ncmlkVmlldy50b3RhbCsnICcraXRlbU5hbWUrJyBmcm9tIGFsbCBwYWdlcydcIlxuICAgICAgICAgICAgICB0eXBlPVwiQk9EWV9TTUFMTFwiPjwvbGliLXR5cG9ncmFwaHk+PC91PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImFsbFBhZ2VzU2VsZWN0ZWRcIiBjbGFzcz1cImxpYi1ncmlkLXNlbGVjdC1hbGwtbWVzc2FnZVwiPlxuICAgICAgICAgIDxsaWItaWNvbiBuYW1lPVwiY2lyY2xlLWNoZWNrZWRcIiBjbGFzcz1cImFsbC1zZWxlY3RlZC1pY29uXCI+PC9saWItaWNvbj5cbiAgICAgICAgICA8bGliLXR5cG9ncmFwaHkgW2RlZmF1bHRUZXh0XT1cIidBbGwgJytfZ3JpZFZpZXcudG90YWwrJyAnK2l0ZW1OYW1lKycgYWNyb3NzIGFsbCBwYWdlcyBhcmUgc2VsZWN0ZWQuJ1wiXG4gICAgICAgICAgICB0eXBlPVwiQk9EWV9TTUFMTFwiPjwvbGliLXR5cG9ncmFwaHk+XG4gICAgICAgICAgPHU+PGxpYi10eXBvZ3JhcGh5IChjbGljayk9XCJzZWxlY3RBY3Jvc3NQYWdlcyhmYWxzZSlcIiBjbGFzcz1cInNlbGVjdC1hbGwtaGFuZGxlclwiXG4gICAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInQ2xlYXIgc2VsZWN0aW9uJ1wiIHR5cGU9XCJCT0RZX1NNQUxMXCI+PC9saWItdHlwb2dyYXBoeT48L3U+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZFRvb2xiYXJUZW1wbGF0ZSBbcG9zaXRpb25dPVwiZ2V0UG9zaXRpb24oKVwiIGxldC1wb3NpdGlvbj1cInBvc2l0aW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1Rvb2xiYXIgJiYgcG9zaXRpb24gPT09ICd0b3AnXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dSZWZyZXNoXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNob3dSZWZyZXNoVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmZpbml0ZVNjcm9sbExvYWRlciAmJiBwb3NpdGlvbiA9PT0gJ2JvdHRvbSdcIj5cbiAgICAgICAgPGxpYi1ncmlkLXBhZ2luYXRpb24tc3BhY2VyPjwvbGliLWdyaWQtcGFnaW5hdGlvbi1zcGFjZXI+XG4gICAgICAgIDxsaWItbG9hZGVyIFt0eXBlXT1cImxvYWRlclR5cGVcIiBbc2l6ZV09XCJsb2FkZXJTaXplXCIgW3RoZW1lQ29sb3JdPVwibG9hZGVyVGhlbWVcIj48L2xpYi1sb2FkZXI+XG4gICAgICAgIDxsaWItZ3JpZC1wYWdpbmF0aW9uLXNwYWNlcj48L2xpYi1ncmlkLXBhZ2luYXRpb24tc3BhY2VyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjc2hvd1JlZnJlc2hUZW1wbGF0ZT5cbiAgICAgIDxsaWItdG9vbHRpcCBwb3NpdGlvbj1cInRvcFwiIHNob3dPbj1cImhvdmVyXCIgW3Rvb2x0aXBXaWR0aF09XCI2OFwiIFtjYWxsb3V0XT1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxuICAgICAgICAgIDxsaWItdHlwb2dyYXBoeSBkZWZhdWx0VGV4dD1cIlJlZnJlc2hcIj48L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGxpYi1idXR0b24gc2l6ZT1cInNtYWxsXCIgd2lkdGg9XCIyLjRyZW1cIiByb3VuZGVkPVwic21hbGxcIiBmaWxsTW9kZT1cInNvbGlkXCIgdGhlbWVDb2xvcj1cInByaW1hcnlcIiBpY29uTmFtZT1cInJlc2V0XCJcbiAgICAgICAgICBbdG9nZ2xlYWJsZV09XCJmYWxzZVwiIChidXR0b25DbGljayk9XCJyZWZyZXNoR3JpZERhdGEoKVwiIFtpY29uQnV0dG9uXT1cInRydWVcIiBbaWNvbkZvbnRTaXplXT1cIjEzXCI+PC9saWItYnV0dG9uPlxuICAgICAgPC9saWItdG9vbHRpcD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZExvYWRpbmdUZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJrLWxvYWRpbmctY29sb3JcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiPlxuICAgICAgICA8bGliLWxvYWRlciBbdHlwZV09XCJsb2FkZXJUeXBlXCIgW3NpemVdPVwibG9hZGVyU2l6ZVwiIFt0aGVtZUNvbG9yXT1cImxvYWRlclRoZW1lXCI+PC9saWItbG9hZGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cInRoaXMuX2dyaWRWaWV3LnRvdGFsID09PSAwXCIga2VuZG9HcmlkTm9SZWNvcmRzVGVtcGxhdGU+XG4gICAgICA8bGliLXR5cG9ncmFwaHkgKm5nSWY9XCIhbG9hZGluZ1wiIFtkZWZhdWx0VGV4dF09XCJub1JlY29yZHNDb250ZW50XCIgdHlwZT1cIkJPRFlfTUVESVVNXCI+PC9saWItdHlwb2dyYXBoeT5cbiAgICAgIDxsaWItbG9hZGVyICpuZ0lmPVwibG9hZGluZ1wiIFt0eXBlXT1cImxvYWRlclR5cGVcIiBbc2l6ZV09XCJsb2FkZXJTaXplXCIgW3RoZW1lQ29sb3JdPVwibG9hZGVyVGhlbWVcIj48L2xpYi1sb2FkZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGhpcy5fZ3JpZFZpZXcudG90YWwgPiAwXCI+XG4gICAgICA8a2VuZG8tZ3JpZC1jaGVja2JveC1jb2x1bW4gI3NlbGVjdEFsbENoZWNrYm94IGhlYWRlckNsYXNzPVwic2VsZWN0LWFsbC1oZWFkZXJcIiAqbmdJZj1cImNoZWNrQm94UmVxdWlyZWRcIlxuICAgICAgICBbd2lkdGhdPVwiY2hlY2tCb3hXaWR0aFwiIFtyZXNpemFibGVdPVwiY2hlY2tCb3hDb2x1bW5SZXNpemFibGVcIiBbY29sdW1uTWVudV09XCJjaGVja0JveENvbHVtbk1lbnVcIlxuICAgICAgICBjbGFzcz1cImNoZWNrYm94LWNvbHVtblwiIFtzdGlja3ldPVwiaXNDaGVja0JveENvbHVtblN0aWNreSAmJiAhY3VzdG9tRXhwYW5kUm93Q29sdW1uXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0dyaWRIZWFkZXJUZW1wbGF0ZSAqbmdJZj1cImlzU2VsZWN0QWxsQ2hlY2tib3hSZXF1aXJlZFwiPlxuICAgICAgICAgIDxpbnB1dCBpZD1cInNlbGVjdEFsbENoZWNrYm94SWRcIiB0eXBlPVwiY2hlY2tib3hcIiBrZW5kb0NoZWNrQm94IGtlbmRvR3JpZFNlbGVjdEFsbENoZWNrYm94XG4gICAgICAgICAgICBbc3RhdGVdPVwic2VsZWN0QWxsU3RhdGVcIiAoc2VsZWN0QWxsQ2hhbmdlKT1cIm9uU2VsZWN0QWxsQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9rZW5kby1ncmlkLWNoZWNrYm94LWNvbHVtbj5cblxuICAgICAgPGtlbmRvLWdyaWQtY29sdW1uIGNsYXNzPVwiZ3JpZC1jb2x1bW5cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb2x1bW5EYXRhOyBsZXQgaSA9IGluZGV4XCIgW2ZpZWxkXT1cIml0ZW0uZmllbGRcIlxuICAgICAgICBbdGl0bGVdPVwiaXRlbS50aXRsZVwiIFt3aWR0aF09XCJpdGVtLmNvbHVtbldpZHRoXCIgW21pblJlc2l6YWJsZVdpZHRoXT1cIm1pblJlc2l6YWJsZVdpZHRoXCJcbiAgICAgICAgW3NvcnRhYmxlXT1cIml0ZW0uc29ydGFibGVcIiBbZWRpdG9yXT1cIml0ZW0uZWRpdG9yXCIgW2NsYXNzXT1cIml0ZW0uY2xhc3NcIlxuICAgICAgICBbc3RpY2t5XT1cIml0ZW0uY29sdW1uU3RpY2t5ICYmICFjdXN0b21FeHBhbmRSb3dDb2x1bW5cIj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJzb3J0YWJsZVwiIGtlbmRvR3JpZEhlYWRlclRlbXBsYXRlPlxuICAgICAgICAgIHt7aXRlbS50aXRsZX19XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0WzBdLmZpZWxkID09PSBpdGVtLmZpZWxkXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRbMF0uZGlyID09PSAnYXNjJ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydFswXS5kaXIgPT09ICdkZXNjJ1wiPjwvc3Bhbj5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPCEtLSA8bmctdGVtcGxhdGUgKm5nSWY9XCJpID09PSAwXCIga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlyc3QtY3VzdG9tLWNvbHVtblwiPlxuICAgICAgICAgICAgPGxpYi10eXBvZ3JhcGh5IHR5cGU9XCJCT0RZX01FRElVTVwiPnt7ZGF0YUl0ZW0/LltpdGVtLmZpZWxkXX19PC9saWItdHlwb2dyYXBoeT5cbiAgICAgICAgICAgIDxsaWItYnV0dG9uIGNsYXNzPVwiY2hlZnlcIiBzaXplPVwic21hbGxcIiByb3VuZGVkPVwiZnVsbFwiIChidXR0b25DbGljayk9XCJvbkNoZWZ5Q2xpY2soJGV2ZW50LCBkYXRhSXRlbSlcIiBmaWxsTW9kZT1cInNvbGlkXCJcbiAgICAgICAgICAgICAgdGhlbWVDb2xvcj1cInByaW1hcnlcIiBsYWJlbD1cIkNoZWZ5XCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT4gLS0+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaXRlbS5jdXN0b21Db2x1bW5cIiBrZW5kb0dyaWRDZWxsVGVtcGxhdGUgbGV0LWRhdGFJdGVtPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29sdW1uVGVtcGxhdGVEaWN0W2l0ZW0udHlwZV1cIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGRhdGFJdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIml0ZW0uY3VzdG9tXCIga2VuZG9HcmlkQ2VsbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVSZWY7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGRhdGFJdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJpdGVtLmltcGFjdFwiIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltcGFjdENvbHVtbjsgY29udGV4dDogeyRpbXBsaWNpdDogZGF0YUl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuXG4gICAgICA8a2VuZG8tZ3JpZC1jb2x1bW4gKm5nSWY9XCJzaG93RGVsZXRlQ29sdW1uXCIgW3dpZHRoXT1cImRlbGV0ZUNvbHVtbldpZHRoXCIgY2xhc3M9XCJkZWxldGUtY29sdW1uXCIgdGl0bGU9XCJBY3Rpb25cIlxuICAgICAgICBbc3RpY2t5XT1cImlzRGVsZXRlQ29sdW1uU3RpY2t5ICYmICFjdXN0b21FeHBhbmRSb3dDb2x1bW5cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0gbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgICAgICA8bGliLXRvb2x0aXAgc2hvd09uPVwiaG92ZXJcIiBwb3NpdGlvbj1cImJvdHRvbVwiIGNsYXNzPVwicmVtb3ZlLXRvb2x0aXBcIj5cbiAgICAgICAgICAgIDxsaWItaWNvbiBuYW1lPVwiZGVsZXRlXCIgY2xhc3M9XCJkZWxldGUtaWNvblwiIChjbGljayk9XCJvbkRlbGV0ZShkYXRhSXRlbSlcIj48L2xpYi1pY29uPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxuICAgICAgICAgICAgICA8bGliLXR5cG9ncmFwaHkgZGVmYXVsdFRleHQ9XCJSZW1vdmVcIj48L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9saWItdG9vbHRpcD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG5cbiAgICAgIDxrZW5kby1ncmlkLWNvbHVtbiBbd2lkdGhdPVwia2ViYWJDb2x1bW5XaWR0aFwiIGNsYXNzPVwia2ViYWItY29sdW1uXCIgdGl0bGU9XCJBY3Rpb25zXCJcbiAgICAgICAgW3N0aWNreV09XCJpc0tlYmFiQ29sdW1uU3RpY2t5ICYmICFjdXN0b21FeHBhbmRSb3dDb2x1bW5cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0gbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYWlRdWVzdGlvbnMgJiYgYWlRdWVzdGlvbnM/Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxkaXYga2VuZG9Qb3BvdmVyQW5jaG9yIFtwb3BvdmVyXT1cImFjdGlvblBvcG92ZXJcIiBzaG93T249XCJob3ZlclwiPlxuICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwia2ViYWJJY29uU2FmZVVybFwiIGFsdD1cIkFzayBDaGVmIEFJXCJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IHdpZHRoOiAnMS43NXJlbScsIGN1cnNvcjogJ3BvaW50ZXInLCBwb3NpdGlvbjogJ3JlbGF0aXZlJywgdG9wOiAnLTJweCcgfVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hlZnlDbGljaygkZXZlbnQsIGRhdGFJdGVtKVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxrZW5kby1wb3BvdmVyICNhY3Rpb25Qb3BvdmVyIGFwcGVuZFRvPVwiYm9keVwiIFt3aWR0aF09XCIyMDBcIiBbb2Zmc2V0XT1cIi0xNlwiIHBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICBwb3B1cENsYXNzPVwiY2hlZi1haS1tZW51XCIgW2NhbGxvdXRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BvcG92ZXJCb2R5VGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVjb21tZW5kYXRpb25zXCIgKm5nRm9yPVwibGV0IHF1ZXN0aW9uIG9mIGFpUXVlc3Rpb25zXCIgKGNsaWNrKT1cIm9uQ2hlZnlDbGljaygkZXZlbnQsIGRhdGFJdGVtLCBxdWVzdGlvbilcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi10eXBvZ3JhcGh5IHR5cGU9XCJCT0RZX01FRElVTVwiIFtkZWZhdWx0VGV4dF09XCJxdWVzdGlvblwiPjwvbGliLXR5cG9ncmFwaHk+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWNvbW1lbmRhdGlvbnMgYWN0aW9uLWl0ZW1cIiAoY2xpY2spPVwib25DaGVmeUNsaWNrKCRldmVudCwgZGF0YUl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJrZWJhYkljb25TYWZlVXJsXCIgYWx0PVwiQXNrIENoZWYgQUlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgd2lkdGg6ICcxLjVyZW0nLCBjdXJzb3I6ICdwb2ludGVyJywgcG9zaXRpb246ICdyZWxhdGl2ZScsIHRvcDogJy0ycHgnIH1cIi8+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItdHlwb2dyYXBoeSB0eXBlPVwiQk9EWV9NRURJVU1cIiBkZWZhdWx0VGV4dD1cIlN0YXJ0IE5ldyBDb252ZXJzYXRpb25cIj48L2xpYi10eXBvZ3JhcGh5PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9rZW5kby1wb3BvdmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFhaVF1ZXN0aW9ucyB8fCBhaVF1ZXN0aW9ucz8ubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwia2ViYWJJY29uU2FmZVVybFwiIGFsdD1cIkFzayBDaGVmIEFJXCJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyB3aWR0aDogJzEuNzVyZW0nLCBjdXJzb3I6ICdwb2ludGVyJywgcG9zaXRpb246ICdyZWxhdGl2ZScsIHRvcDogJy0ycHgnIH1cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25DaGVmeUNsaWNrKCRldmVudCwgZGF0YUl0ZW0pXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0tlYmFiXCI+XG4gICAgICAgICAgICA8a2VuZG8tZHJvcGRvd25idXR0b24gKm5nSWY9XCIhaGlkZUtlYmFiUm93SW5kZXguaW5jbHVkZXMocm93SW5kZXgpXCIgW3N2Z0ljb25dPVwiaWNvblwiIGZpbGxNb2RlPVwibm9uZVwiXG4gICAgICAgICAgICAgIFtkYXRhXT1cImtlYmFiTGlzdCB8IGtlYmFiTWVudUZpbHRlciA6IGRhdGFJdGVtXCIgY2xhc3M9XCJrZWJhYlwiIChpdGVtQ2xpY2spPVwib25LZWJhYkNsaWNrKCRldmVudCwgZGF0YUl0ZW0pXCJcbiAgICAgICAgICAgICAgW3BvcHVwU2V0dGluZ3NdPVwieyBhbGlnbjogJ3JpZ2h0JywgYW5pbWF0ZTogdHJ1ZSwgcG9wdXBDbGFzczogJ2tlYmFiLWxpc3QnIH1cIj5cbiAgICAgICAgICAgIDwva2VuZG8tZHJvcGRvd25idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2tlbmRvLWdyaWQtY29sdW1uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBMaW1pdGF0aW9uOiBkZXRhaWwgdGVtcGxhdGUgYW5kIHN0aWNreSBjb2x1bW5zIGRvIG5vdCBjby1leGlzdC0tPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImN1c3RvbUV4cGFuZFJvd0NvbHVtblwiIGtlbmRvR3JpZERldGFpbFRlbXBsYXRlIGxldC1kYXRhSXRlbT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZXRhaWxUZW1wbGF0ZTsgY29udGV4dDogeyRpbXBsaWNpdDogZGF0YUl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxrZW5kby1ncmlkLWNvbHVtbiAqbmdJZj1cImN1c3RvbUV4cGFuZFJvd0NvbHVtblwiIFt3aWR0aF09XCJleHBhbmRSb3dDb2x1bW5XaWR0aFwiIGNsYXNzPVwiZ3JpZC1jb2x1bW4gZXhwYW5kLWNvbHVtblwiPlxuICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvR3JpZENlbGxUZW1wbGF0ZSBsZXQtZGF0YUl0ZW0gbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJleHBhbmRDb2x1bW5DbGFzcygpXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJzZWxlY3RlZFJvd3MuaW5jbHVkZXMoZGF0YUl0ZW1bZ3JpZFJvd1NlbGVjdEJ5VmFsdWVdKSAmJiBkaXNhYmxlUHJlU2VsZWN0ZWRSb3dzXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZXhwYW5kLWNvbHVtbi10ZXh0XCI+XG4gICAgICAgICAgICBBbHJlYWR5IGFkZGVkXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxrZW5kby1idXR0b24gKm5nSWY9XCIhZXhwYW5kUm93SW5kZXguaW5jbHVkZXMocm93SW5kZXgpXCIgW3N2Z0ljb25dPVwiYXJyb3dEb3duSWNvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZXhwYW5kUm93KHJvd0luZGV4KVwiIGZpbGxNb2RlPVwibm9uZVwiIGNsYXNzPVwiYXJyb3ctYnRuXCI+XG4gICAgICAgICAgPC9rZW5kby1idXR0b24+XG4gICAgICAgICAgPGtlbmRvLWJ1dHRvbiAqbmdJZj1cImV4cGFuZFJvd0luZGV4LmluY2x1ZGVzKHJvd0luZGV4KVwiIFtzdmdJY29uXT1cImFycm93VXBJY29uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjb2xsYXBzZVJvdyhyb3dJbmRleClcIiBmaWxsTW9kZT1cIm5vbmVcIiBjbGFzcz1cImFycm93LWJ0blwiPlxuICAgICAgICAgIDwva2VuZG8tYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9rZW5kby1ncmlkLWNvbHVtbj5cblxuICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhZ2VyVGVtcGxhdGUgbGV0LXRvdGFsUGFnZXM9XCJ0b3RhbFBhZ2VzXCIgbGV0LWN1cnJlbnRQYWdlPVwiY3VycmVudFBhZ2VcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwYWdpbmF0aW9uLXdyYXBwZXJcIiBbbmdDbGFzc109XCJhbGxQYWdlc1NlbGVjdGVkID8gJ3BhZ2luYXRpb24tZGlzYWJsZWQnIDogJydcIj5cbiAgICAgICAgPGtlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz48L2tlbmRvLXBhZ2VyLXByZXYtYnV0dG9ucz5cbiAgICAgICAgPGtlbmRvLXBhZ2VyLW51bWVyaWMtYnV0dG9ucyBbYnV0dG9uQ291bnRdPVwiX3BhZ2VDb3VudFwiPjwva2VuZG8tcGFnZXItbnVtZXJpYy1idXR0b25zPlxuICAgICAgICA8a2VuZG8tcGFnZXItbmV4dC1idXR0b25zPjwva2VuZG8tcGFnZXItbmV4dC1idXR0b25zPlxuICAgICAgICA8a2VuZG8tcGFnZXItaW5mbz48L2tlbmRvLXBhZ2VyLWluZm8+XG4gICAgICAgIDxrZW5kby1wYWdlci1wYWdlLXNpemVzIFtwYWdlU2l6ZXNdPVwic2l6ZXNcIj48L2tlbmRvLXBhZ2VyLXBhZ2Utc2l6ZXM+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gIDwva2VuZG8tZ3JpZD5cbjwvZGl2PlxuIl19