@alfresco/adf-content-services 8.1.0-14259307019 → 8.1.0-14328286513
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.
- package/esm2022/lib/agent/services/agent.service.mjs +4 -4
- package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +4 -4
- package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +4 -4
- package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +4 -4
- package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +4 -4
- package/esm2022/lib/aspect-list/aspect-list.component.mjs +4 -4
- package/esm2022/lib/aspect-list/aspect-list.module.mjs +5 -5
- package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +4 -4
- package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +4 -4
- package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +4 -4
- package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +5 -5
- package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +4 -4
- package/esm2022/lib/category/categories-management/categories-management.component.mjs +4 -4
- package/esm2022/lib/category/category.module.mjs +5 -5
- package/esm2022/lib/category/services/category-tree-datasource.service.mjs +4 -4
- package/esm2022/lib/category/services/category.service.mjs +4 -4
- package/esm2022/lib/common/services/card-view-content-update.service.mjs +4 -4
- package/esm2022/lib/common/services/content.service.mjs +4 -4
- package/esm2022/lib/common/services/discovery-api.service.mjs +4 -4
- package/esm2022/lib/common/services/favorites-api.service.mjs +4 -4
- package/esm2022/lib/common/services/nodes-api.service.mjs +4 -4
- package/esm2022/lib/common/services/people-content.service.mjs +4 -4
- package/esm2022/lib/common/services/rendition.service.mjs +4 -4
- package/esm2022/lib/common/services/saved-searches.service.mjs +4 -4
- package/esm2022/lib/common/services/sites.service.mjs +4 -4
- package/esm2022/lib/common/services/upload.service.mjs +4 -4
- package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +4 -4
- package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +4 -4
- package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +4 -4
- package/esm2022/lib/content-metadata/content-metadata.module.mjs +5 -5
- package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +4 -4
- package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +4 -4
- package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +4 -4
- package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +4 -4
- package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +4 -4
- package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +5 -5
- package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +4 -4
- package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +4 -4
- package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +4 -4
- package/esm2022/lib/content-node-share/content-node-share.directive.mjs +4 -4
- package/esm2022/lib/content-node-share/content-node-share.module.mjs +5 -5
- package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +4 -4
- package/esm2022/lib/content-type/content-type-dialog.component.mjs +4 -4
- package/esm2022/lib/content-type/content-type.service.mjs +4 -4
- package/esm2022/lib/content.module.mjs +5 -5
- package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +4 -4
- package/esm2022/lib/dialogs/folder/folder.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/library/library.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +4 -4
- package/esm2022/lib/directives/auto-focus.directive.mjs +4 -4
- package/esm2022/lib/directives/check-allowable-operation.directive.mjs +4 -4
- package/esm2022/lib/directives/content-directive.module.mjs +5 -5
- package/esm2022/lib/directives/library-favorite.directive.mjs +4 -4
- package/esm2022/lib/directives/library-membership.directive.mjs +4 -4
- package/esm2022/lib/directives/node-counter.directive.mjs +7 -7
- package/esm2022/lib/directives/node-delete.directive.mjs +4 -4
- package/esm2022/lib/directives/node-download.directive.mjs +4 -4
- package/esm2022/lib/directives/node-favorite.directive.mjs +4 -4
- package/esm2022/lib/directives/node-lock.directive.mjs +4 -4
- package/esm2022/lib/directives/node-restore.directive.mjs +4 -4
- package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +4 -4
- package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +4 -4
- package/esm2022/lib/document-list/components/document-list.component.mjs +4 -4
- package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +4 -4
- package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +4 -4
- package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +4 -4
- package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +4 -4
- package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +4 -4
- package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +4 -4
- package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +4 -4
- package/esm2022/lib/document-list/document-list.module.mjs +5 -5
- package/esm2022/lib/document-list/services/custom-resources.service.mjs +4 -4
- package/esm2022/lib/document-list/services/document-actions.service.mjs +4 -4
- package/esm2022/lib/document-list/services/document-list.service.mjs +4 -4
- package/esm2022/lib/document-list/services/folder-actions.service.mjs +4 -4
- package/esm2022/lib/document-list/services/lock.service.mjs +4 -4
- package/esm2022/lib/document-list/services/node-actions.service.mjs +4 -4
- package/esm2022/lib/group/services/group.service.mjs +4 -4
- package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +4 -4
- package/esm2022/lib/material.module.mjs +5 -5
- package/esm2022/lib/mock/alfresco-api.service.mock.mjs +4 -4
- package/esm2022/lib/mock/search.component.mock.mjs +4 -4
- package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +4 -4
- package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +5 -5
- package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +4 -4
- package/esm2022/lib/node-comments/node-comments.component.mjs +4 -4
- package/esm2022/lib/node-comments/node-comments.module.mjs +5 -5
- package/esm2022/lib/node-comments/services/node-comments.service.mjs +4 -4
- package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +5 -5
- package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +4 -4
- package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +4 -4
- package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +4 -4
- package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +4 -4
- package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +4 -4
- package/esm2022/lib/permission-manager/permission-manager.module.mjs +5 -5
- package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +4 -4
- package/esm2022/lib/permission-manager/services/node-permission.service.mjs +4 -4
- package/esm2022/lib/pipes/content-pipe.module.mjs +5 -5
- package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +4 -4
- package/esm2022/lib/prediction/services/prediction.service.mjs +4 -4
- package/esm2022/lib/search/components/empty-search-result.component.mjs +4 -4
- package/esm2022/lib/search/components/reset-search.directive.mjs +4 -4
- package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +4 -4
- package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +4 -4
- package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +4 -4
- package/esm2022/lib/search/components/search-control.component.mjs +4 -4
- package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +5 -5
- package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +4 -4
- package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +4 -4
- package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +4 -4
- package/esm2022/lib/search/components/search-form/search-form.component.mjs +4 -4
- package/esm2022/lib/search/components/search-input/search-input.component.mjs +4 -4
- package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +4 -4
- package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +4 -4
- package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +4 -4
- package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +4 -4
- package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +4 -4
- package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +4 -4
- package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +4 -4
- package/esm2022/lib/search/components/search-text/search-text.component.mjs +4 -4
- package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +4 -4
- package/esm2022/lib/search/components/search.component.mjs +5 -5
- package/esm2022/lib/search/search.module.mjs +5 -5
- package/esm2022/lib/search/services/search-configuration.service.mjs +4 -4
- package/esm2022/lib/search/services/search-facet-filters.service.mjs +4 -4
- package/esm2022/lib/search/services/search-filter.service.mjs +4 -4
- package/esm2022/lib/search/services/search-header-query-builder.service.mjs +4 -4
- package/esm2022/lib/search/services/search-query-builder.service.mjs +4 -4
- package/esm2022/lib/search/services/search.service.mjs +4 -4
- package/esm2022/lib/search-ai/services/search-ai.service.mjs +4 -4
- package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +4 -4
- package/esm2022/lib/services/alfresco-api.service.mjs +4 -4
- package/esm2022/lib/tag/services/tag.service.mjs +4 -4
- package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +4 -4
- package/esm2022/lib/tag/tag-list/tag-list.component.mjs +4 -4
- package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +4 -4
- package/esm2022/lib/tag/tag.module.mjs +5 -5
- package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +4 -4
- package/esm2022/lib/testing/content.testing.module.mjs +5 -5
- package/esm2022/lib/tree/components/tree.component.mjs +4 -4
- package/esm2022/lib/tree/services/tree.service.mjs +4 -4
- package/esm2022/lib/tree/tree.module.mjs +5 -5
- package/esm2022/lib/tree-view/components/tree-view.component.mjs +4 -4
- package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +4 -4
- package/esm2022/lib/tree-view/services/tree-view.service.mjs +4 -4
- package/esm2022/lib/tree-view/tree-view.module.mjs +5 -5
- package/esm2022/lib/upload/components/base-upload/upload-base.mjs +4 -4
- package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +4 -4
- package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +4 -4
- package/esm2022/lib/upload/components/file-uploading-list.component.mjs +4 -4
- package/esm2022/lib/upload/components/upload-button.component.mjs +4 -4
- package/esm2022/lib/upload/components/upload-drag-area.component.mjs +4 -4
- package/esm2022/lib/upload/components/upload-version-button.component.mjs +4 -4
- package/esm2022/lib/upload/directives/file-draggable.directive.mjs +4 -4
- package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +4 -4
- package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +4 -4
- package/esm2022/lib/upload/upload.module.mjs +5 -5
- package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +4 -4
- package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +5 -5
- package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +4 -4
- package/esm2022/lib/version-manager/content-version.service.mjs +4 -4
- package/esm2022/lib/version-manager/version-comparison.component.mjs +4 -4
- package/esm2022/lib/version-manager/version-list.component.mjs +4 -4
- package/esm2022/lib/version-manager/version-manager.component.mjs +4 -4
- package/esm2022/lib/version-manager/version-manager.module.mjs +5 -5
- package/esm2022/lib/version-manager/version-upload.component.mjs +4 -4
- package/esm2022/lib/viewer/alfresco-viewer.module.mjs +5 -5
- package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +4 -4
- package/fesm2022/adf-content-services.mjs +631 -631
- package/fesm2022/adf-content-services.mjs.map +1 -1
- package/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.d.ts +1 -1
- package/package.json +3 -3
|
@@ -141,10 +141,10 @@ export class SearchControlComponent {
|
|
|
141
141
|
getPreviousElementSibling(node) {
|
|
142
142
|
return node.previousElementSibling;
|
|
143
143
|
}
|
|
144
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
145
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
144
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SearchControlComponent, deps: [{ token: i1.AuthenticationService }, { token: i1.ThumbnailService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
145
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SearchControlComponent, isStandalone: true, selector: "adf-search-control", inputs: { highlight: "highlight", inputType: "inputType", liveSearchEnabled: "liveSearchEnabled", autocomplete: "autocomplete", expandable: "expandable", liveSearchMaxResults: "liveSearchMaxResults" }, outputs: { submit: "submit", searchChange: "searchChange", optionClicked: "optionClicked" }, host: { classAttribute: "adf-search-control" }, queries: [{ propertyName: "emptySearchTemplate", first: true, predicate: EmptySearchResultComponent, descendants: true }], viewQueries: [{ propertyName: "searchTextInput", first: true, predicate: ["searchTextInput"], descendants: true }, { propertyName: "searchAutocomplete", first: true, predicate: ["search"], descendants: true }, { propertyName: "listResultElement", predicate: MatListItem, descendants: true }], ngImport: i0, template: "<div *ngIf=\"isLoggedIn()\">\n <adf-search-text-input #searchTextInput\n [searchTerm]= \"searchTerm\"\n [expandable]=\"expandable\"\n [autocomplete]=\"autocomplete\"\n [liveSearchEnabled]=\"liveSearchEnabled\"\n [focusListener]=\"focusSubject.asObservable()\"\n [searchAutocomplete]=\"auto\"\n (searchChange)=\"inputChange($event)\"\n (reset)=\"onReset($event)\"\n (selectResult)=\"onSelectFirstResult()\"\n (submit)=\"submit.emit($event)\" />\n\n <adf-search #search\n #auto=\"searchAutocomplete\"\n class=\"adf-search-result-autocomplete\"\n [maxResults]=\"liveSearchMaxResults\">\n <ng-template let-data>\n <mat-list *ngIf=\"searchTextInput?.isSearchBarActive()\" id=\"autocomplete-search-result-list\">\n <mat-list-item\n *ngFor=\"let item of data?.list?.entries; let idx = index\"\n id=\"result_option_{{idx}}\"\n [attr.data-automation-id]=\"'autocomplete_for_' + item.entry.name\"\n [tabindex]=\"0\"\n (blur)=\"onBlur($event)\"\n (keyup.arrowdown)=\"onRowArrowDown($event)\"\n (keyup.arrowup)=\"onRowArrowUp($event)\"\n class=\"adf-search-autocomplete-item\"\n (click)=\"elementClicked(item)\"\n (keyup.enter)=\"elementClicked(item)\"\n (touchend)=\"elementClicked(item)\">\n <!-- This is a comment -->\n <mat-icon matListItemLine>\n <img [alt]=\"getMimeType(item)\" [src]=\"getMimeTypeIcon(item)\"/>\n </mat-icon>\n <h4 matListItemTitle id=\"result_name_{{idx}}\"\n *ngIf=\"highlight; else elseBlock\"\n class=\"adf-search-fixed-text\"\n [innerHtml]=\"item.entry.name | highlight: searchTerm\">\n {{ item?.entry.name }}\n </h4>\n <ng-template #elseBlock>\n <h4 class=\"adf-search-fixed-text\" matListItemTitle id=\"result_name_{{idx}}\"\n [innerHtml]=\"item.entry.name\"></h4>\n </ng-template>\n <p matListItemLine class=\"adf-search-fixed-text\"> {{item?.entry.createdByUser.displayName}} </p>\n </mat-list-item>\n <mat-list-item id=\"search_no_result\"\n data-automation-id=\"search_no_result_found\"\n *ngIf=\"data?.list?.entries.length === 0\">\n <ng-content\n selector=\"adf-empty-search-result\"\n *ngIf=\"isNoSearchTemplatePresent() else defaultNoResult\" />\n <ng-template #defaultNoResult>\n <p matListItemLine class=\"adf-search-fixed-text\">{{ 'SEARCH.RESULTS.NONE' | translate:{searchTerm:\n searchTerm} }}</p>\n </ng-template>\n </mat-list-item>\n </mat-list>\n </ng-template>\n </adf-search>\n</div>\n", styles: [".adf-search-result-autocomplete{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;transform-origin:top left;transform:translate(-40px);position:absolute;max-height:400px;margin-left:45px;margin-top:-22px;font-size:var(--theme-subheading-1-font-size);z-index:5;color:var(--adf-theme-foreground-text-color);background-color:var(--adf-theme-background-card-color);border-radius:2px}.adf-search-result-autocomplete:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}@media (max-width: 959.9px){.adf-search-result-autocomplete{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.adf-search-autocomplete-item:hover{background-color:var(--adf-theme-background-hover-color);opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SearchTextInputComponent, selector: "adf-search-text-input", inputs: ["autocomplete", "expandable", "inputType", "liveSearchEnabled", "searchAutocomplete", "searchTerm", "debounceTime", "focusListener", "collapseOnSubmit", "defaultState", "collapseOnBlur", "showClearButton", "placeholder", "label", "hintLabel"], outputs: ["searchChange", "submit", "selectResult", "reset", "searchVisibility"] }, { kind: "component", type: SearchComponent, selector: "adf-search", inputs: ["displayWith", "maxResults", "skipResults", "searchTerm", "class"], outputs: ["resultLoaded", "error"], exportAs: ["searchAutocomplete"] }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i3.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i3.MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: i3.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
146
146
|
}
|
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SearchControlComponent, decorators: [{
|
|
148
148
|
type: Component,
|
|
149
149
|
args: [{ selector: 'adf-search-control', standalone: true, imports: [CommonModule, SearchTextInputComponent, SearchComponent, MatListModule, MatIconModule, HighlightPipe, TranslateModule], encapsulation: ViewEncapsulation.None, host: { class: 'adf-search-control' }, template: "<div *ngIf=\"isLoggedIn()\">\n <adf-search-text-input #searchTextInput\n [searchTerm]= \"searchTerm\"\n [expandable]=\"expandable\"\n [autocomplete]=\"autocomplete\"\n [liveSearchEnabled]=\"liveSearchEnabled\"\n [focusListener]=\"focusSubject.asObservable()\"\n [searchAutocomplete]=\"auto\"\n (searchChange)=\"inputChange($event)\"\n (reset)=\"onReset($event)\"\n (selectResult)=\"onSelectFirstResult()\"\n (submit)=\"submit.emit($event)\" />\n\n <adf-search #search\n #auto=\"searchAutocomplete\"\n class=\"adf-search-result-autocomplete\"\n [maxResults]=\"liveSearchMaxResults\">\n <ng-template let-data>\n <mat-list *ngIf=\"searchTextInput?.isSearchBarActive()\" id=\"autocomplete-search-result-list\">\n <mat-list-item\n *ngFor=\"let item of data?.list?.entries; let idx = index\"\n id=\"result_option_{{idx}}\"\n [attr.data-automation-id]=\"'autocomplete_for_' + item.entry.name\"\n [tabindex]=\"0\"\n (blur)=\"onBlur($event)\"\n (keyup.arrowdown)=\"onRowArrowDown($event)\"\n (keyup.arrowup)=\"onRowArrowUp($event)\"\n class=\"adf-search-autocomplete-item\"\n (click)=\"elementClicked(item)\"\n (keyup.enter)=\"elementClicked(item)\"\n (touchend)=\"elementClicked(item)\">\n <!-- This is a comment -->\n <mat-icon matListItemLine>\n <img [alt]=\"getMimeType(item)\" [src]=\"getMimeTypeIcon(item)\"/>\n </mat-icon>\n <h4 matListItemTitle id=\"result_name_{{idx}}\"\n *ngIf=\"highlight; else elseBlock\"\n class=\"adf-search-fixed-text\"\n [innerHtml]=\"item.entry.name | highlight: searchTerm\">\n {{ item?.entry.name }}\n </h4>\n <ng-template #elseBlock>\n <h4 class=\"adf-search-fixed-text\" matListItemTitle id=\"result_name_{{idx}}\"\n [innerHtml]=\"item.entry.name\"></h4>\n </ng-template>\n <p matListItemLine class=\"adf-search-fixed-text\"> {{item?.entry.createdByUser.displayName}} </p>\n </mat-list-item>\n <mat-list-item id=\"search_no_result\"\n data-automation-id=\"search_no_result_found\"\n *ngIf=\"data?.list?.entries.length === 0\">\n <ng-content\n selector=\"adf-empty-search-result\"\n *ngIf=\"isNoSearchTemplatePresent() else defaultNoResult\" />\n <ng-template #defaultNoResult>\n <p matListItemLine class=\"adf-search-fixed-text\">{{ 'SEARCH.RESULTS.NONE' | translate:{searchTerm:\n searchTerm} }}</p>\n </ng-template>\n </mat-list-item>\n </mat-list>\n </ng-template>\n </adf-search>\n</div>\n", styles: [".adf-search-result-autocomplete{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;transform-origin:top left;transform:translate(-40px);position:absolute;max-height:400px;margin-left:45px;margin-top:-22px;font-size:var(--theme-subheading-1-font-size);z-index:5;color:var(--adf-theme-foreground-text-color);background-color:var(--adf-theme-background-card-color);border-radius:2px}.adf-search-result-autocomplete:not([class*=mat-elevation-z]){box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}@media (max-width: 959.9px){.adf-search-result-autocomplete{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.adf-search-autocomplete-item:hover{background-color:var(--adf-theme-background-hover-color);opacity:1}\n"] }]
|
|
150
150
|
}], ctorParameters: () => [{ type: i1.AuthenticationService }, { type: i1.ThumbnailService }], propDecorators: { highlight: [{
|
|
@@ -178,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
178
178
|
type: ContentChild,
|
|
179
179
|
args: [EmptySearchResultComponent]
|
|
180
180
|
}] } });
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9zZWFyY2gvY29tcG9uZW50cy9zZWFyY2gtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0SCxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztBQVd0RCxNQUFNLE9BQU8sc0JBQXNCO0lBZ0UvQixZQUFtQixXQUFrQyxFQUFVLGdCQUFrQztRQUE5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QUNuQyxDQUFDO0lBRU8seUJBQXlCLENBQUMsSUFBYTtRQUMzQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUN2QyxDQUFDOytHQXpKUSxzQkFBc0I7bUdBQXRCLHNCQUFzQixzZEF5RGpCLDBCQUEwQiwwUkFIMUIsV0FBVyxnREN0RzdCLHM1R0E4REEsdXpCRHBCYyxZQUFZLGdRQUFFLHdCQUF3QixpWkFBRSxlQUFlLHlNQUFFLGFBQWEseWJBQUUsYUFBYSwrS0FBRSxhQUFhLGlEQUFFLGVBQWU7OzRGQU10SCxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0ksb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLGlCQUdqSCxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO3lIQUtyQyxTQUFTO3NCQURSLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBUU4sVUFBVTtzQkFEVCxLQUFLO2dCQUtOLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFRTixNQUFNO3NCQURMLE1BQU07Z0JBVVAsWUFBWTtzQkFEWCxNQUFNO2dCQUtQLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxlQUFlO3NCQURkLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUk1QixrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsUUFBUTtnQkFJWCxpQkFBaUI7c0JBRHhCLFlBQVk7dUJBQUMsV0FBVztnQkFJekIsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlLCBIaWdobGlnaHRQaXBlLCBTZWFyY2hUZXh0SW5wdXRDb21wb25lbnQsIFRodW1ibmFpbFNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlRW50cnkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRMaXN0SXRlbSwgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgRW1wdHlTZWFyY2hSZXN1bHRDb21wb25lbnQgfSBmcm9tICcuL2VtcHR5LXNlYXJjaC1yZXN1bHQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VhcmNoLWNvbnRyb2wnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2VhcmNoVGV4dElucHV0Q29tcG9uZW50LCBTZWFyY2hDb21wb25lbnQsIE1hdExpc3RNb2R1bGUsIE1hdEljb25Nb2R1bGUsIEhpZ2hsaWdodFBpcGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1zZWFyY2gtY29udHJvbCcgfVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hDb250cm9sQ29tcG9uZW50IHtcbiAgICAvKiogVG9nZ2xlcyBoaWdobGlnaHRpbmcgb2YgdGhlIHNlYXJjaCB0ZXJtIGluIHRoZSByZXN1bHRzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlnaGxpZ2h0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVHlwZSBvZiB0aGUgaW5wdXQgZmllbGQgdG8gcmVuZGVyLCBlLmcuIFwic2VhcmNoXCIgb3IgXCJ0ZXh0XCIgKGRlZmF1bHQpLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5wdXRUeXBlOiBzdHJpbmcgPSAndGV4dCc7XG5cbiAgICAvKiogVG9nZ2xlcyBcImZpbmQtYXMteW91LXR5cGVcIiBzdWdnZXN0aW9ucyBmb3IgcG9zc2libGUgbWF0Y2hlcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGxpdmVTZWFyY2hFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGVzIGF1dG8tY29tcGxldGlvbiBvZiB0aGUgc2VhcmNoIGlucHV0IGZpZWxkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIHdoZXRoZXIgdG8gdXNlIGFuIGV4cGFuZGluZyBzZWFyY2ggY29udHJvbC4gSWYgZmFsc2VcbiAgICAgKiB0aGVuIGEgcmVndWxhciBpbnB1dCBpcyB1c2VkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXhwYW5kYWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogTWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0byBzaG93IGluIHRoZSBsaXZlIHNlYXJjaC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGxpdmVTZWFyY2hNYXhSZXN1bHRzOiBudW1iZXIgPSA1O1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggaXMgc3VibWl0dGVkIGJ5IHByZXNzaW5nIHRoZSBFTlRFUiBrZXkuXG4gICAgICogVGhlIHNlYXJjaCB0ZXJtIGlzIHByb3ZpZGVkIGFzIHRoZSB2YWx1ZSBvZiB0aGUgZXZlbnQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VibWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHRlcm0gaXMgY2hhbmdlZC4gVGhlIHNlYXJjaCB0ZXJtIGlzIHByb3ZpZGVkXG4gICAgICogaW4gdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgdGhlIHJldHVybmVkIG9iamVjdC4gIElmIHRoZSB0ZXJtIGlzIGxlc3NcbiAgICAgKiB0aGFuIHRocmVlIGNoYXJhY3RlcnMgaW4gbGVuZ3RoIHRoZW4gaXQgaXMgdHJ1bmNhdGVkIHRvIGFuIGVtcHR5XG4gICAgICogc3RyaW5nLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlYXJjaENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZmlsZSBpdGVtIGZyb20gdGhlIGxpc3Qgb2YgXCJmaW5kLWFzLXlvdS10eXBlXCIgcmVzdWx0cyBpcyBzZWxlY3RlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBvcHRpb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaFRleHRJbnB1dCcpXG4gICAgc2VhcmNoVGV4dElucHV0OiBTZWFyY2hUZXh0SW5wdXRDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdzZWFyY2gnKVxuICAgIHNlYXJjaEF1dG9jb21wbGV0ZTogU2VhcmNoQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZHJlbihNYXRMaXN0SXRlbSlcbiAgICBwcml2YXRlIGxpc3RSZXN1bHRFbGVtZW50OiBRdWVyeUxpc3Q8TWF0TGlzdEl0ZW0+O1xuXG4gICAgQENvbnRlbnRDaGlsZChFbXB0eVNlYXJjaFJlc3VsdENvbXBvbmVudClcbiAgICBlbXB0eVNlYXJjaFRlbXBsYXRlOiBFbXB0eVNlYXJjaFJlc3VsdENvbXBvbmVudDtcblxuICAgIGZvY3VzU3ViamVjdCA9IG5ldyBTdWJqZWN0PEZvY3VzRXZlbnQ+KCk7XG4gICAgbm9TZWFyY2hSZXN1bHRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiA9IG51bGw7XG4gICAgc2VhcmNoVGVybTogc3RyaW5nID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgcHJpdmF0ZSB0aHVtYm5haWxTZXJ2aWNlOiBUaHVtYm5haWxTZXJ2aWNlKSB7fVxuXG4gICAgaXNOb1NlYXJjaFRlbXBsYXRlUHJlc2VudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5lbXB0eVNlYXJjaFRlbXBsYXRlO1xuICAgIH1cbiAgICBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5pc0VjbUxvZ2dlZEluKCk7XG4gICAgfVxuXG4gICAgaW5wdXRDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0TWltZVR5cGVJY29uKG5vZGU6IE5vZGVFbnRyeSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG1pbWVUeXBlID0gdGhpcy5nZXRNaW1lVHlwZShub2RlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh1bWJuYWlsU2VydmljZS5nZXRNaW1lVHlwZUljb24obWltZVR5cGUpO1xuICAgIH1cblxuICAgIGdldE1pbWVUeXBlKG5vZGU6IE5vZGVFbnRyeSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBtaW1lVHlwZTogc3RyaW5nO1xuXG4gICAgICAgIGlmIChub2RlLmVudHJ5LmNvbnRlbnQ/Lm1pbWVUeXBlKSB7XG4gICAgICAgICAgICBtaW1lVHlwZSA9IG5vZGUuZW50cnkuY29udGVudC5taW1lVHlwZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5lbnRyeS5pc0ZvbGRlcikge1xuICAgICAgICAgICAgbWltZVR5cGUgPSAnZm9sZGVyJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWltZVR5cGU7XG4gICAgfVxuXG4gICAgZWxlbWVudENsaWNrZWQoaXRlbTogYW55KSB7XG4gICAgICAgIGlmIChpdGVtLmVudHJ5KSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbkNsaWNrZWQubmV4dChpdGVtKTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNTdWJqZWN0Lm5leHQobmV3IEZvY3VzRXZlbnQoJ2JsdXInKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNTdWJqZWN0Lm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXh0RWxlbWVudDogYW55ID0gdGhpcy5nZXROZXh0RWxlbWVudFNpYmxpbmcoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpO1xuICAgICAgICBpZiAoIW5leHRFbGVtZW50ICYmICF0aGlzLmlzTGlzdEVsZW1lbnQoZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzU3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VsZWN0Rmlyc3RSZXN1bHQoKSB7XG4gICAgICAgIGlmICh0aGlzLmxpc3RSZXN1bHRFbGVtZW50ICYmIHRoaXMubGlzdFJlc3VsdEVsZW1lbnQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZmlyc3RFbGVtZW50ID0gdGhpcy5saXN0UmVzdWx0RWxlbWVudC5maXJzdCBhcyBNYXRMaXN0SXRlbTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgICAgICAgICAgZmlyc3RFbGVtZW50Ll9ob3N0RWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Sb3dBcnJvd0Rvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5leHRFbGVtZW50OiBhbnkgPSB0aGlzLmdldE5leHRFbGVtZW50U2libGluZyhldmVudC50YXJnZXQgYXMgRWxlbWVudCk7XG4gICAgICAgIGlmIChuZXh0RWxlbWVudCkge1xuICAgICAgICAgICAgbmV4dEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUm93QXJyb3dVcChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNFbGVtZW50OiBhbnkgPSB0aGlzLmdldFByZXZpb3VzRWxlbWVudFNpYmxpbmcoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpO1xuICAgICAgICBpZiAocHJldmlvdXNFbGVtZW50KSB7XG4gICAgICAgICAgICBwcmV2aW91c0VsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNTdWJqZWN0Lm5leHQobmV3IEZvY3VzRXZlbnQoJ2ZvY3VzJykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SZXNldChzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHN0YXR1cykge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hBdXRvY29tcGxldGUucmVzZXRSZXN1bHRzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzTGlzdEVsZW1lbnQoZXZlbnQ6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZXZlbnQucmVsYXRlZFRhcmdldD8uY2hpbGRyZW5bMF0gJiYgZXZlbnQucmVsYXRlZFRhcmdldC5jaGlsZHJlblswXS5jbGFzc05hbWUgPT09ICdtYXQtbGlzdC1pdGVtLWNvbnRlbnQnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TmV4dEVsZW1lbnRTaWJsaW5nKG5vZGU6IEVsZW1lbnQpOiBFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIG5vZGUubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJldmlvdXNFbGVtZW50U2libGluZyhub2RlOiBFbGVtZW50KTogRWxlbWVudCB7XG4gICAgICAgIHJldHVybiBub2RlLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImlzTG9nZ2VkSW4oKVwiPlxuICAgIDxhZGYtc2VhcmNoLXRleHQtaW5wdXQgICNzZWFyY2hUZXh0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoVGVybV09IFwic2VhcmNoVGVybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4cGFuZGFibGVdPVwiZXhwYW5kYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaXZlU2VhcmNoRW5hYmxlZF09XCJsaXZlU2VhcmNoRW5hYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvY3VzTGlzdGVuZXJdPVwiZm9jdXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWFyY2hDaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlc2V0KT1cIm9uUmVzZXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFJlc3VsdCk9XCJvblNlbGVjdEZpcnN0UmVzdWx0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdWJtaXQpPVwic3VibWl0LmVtaXQoJGV2ZW50KVwiIC8+XG5cbiAgICA8YWRmLXNlYXJjaCAjc2VhcmNoXG4gICAgICAgICAgICAgICAgI2F1dG89XCJzZWFyY2hBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHQtYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgICBbbWF4UmVzdWx0c109XCJsaXZlU2VhcmNoTWF4UmVzdWx0c1wiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWRhdGE+XG4gICAgICAgICAgICA8bWF0LWxpc3QgKm5nSWY9XCJzZWFyY2hUZXh0SW5wdXQ/LmlzU2VhcmNoQmFyQWN0aXZlKClcIiBpZD1cImF1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWxpc3RcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxpc3QtaXRlbVxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhPy5saXN0Py5lbnRyaWVzOyBsZXQgaWR4ID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cInJlc3VsdF9vcHRpb25fe3tpZHh9fVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInYXV0b2NvbXBsZXRlX2Zvcl8nICsgaXRlbS5lbnRyeS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXl1cC5hcnJvd2Rvd24pPVwib25Sb3dBcnJvd0Rvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXl1cC5hcnJvd3VwKT1cIm9uUm93QXJyb3dVcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2VhcmNoLWF1dG9jb21wbGV0ZS1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVsZW1lbnRDbGlja2VkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImVsZW1lbnRDbGlja2VkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKHRvdWNoZW5kKT1cImVsZW1lbnRDbGlja2VkKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gVGhpcyBpcyBhIGNvbW1lbnQgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUxpbmU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFthbHRdPVwiZ2V0TWltZVR5cGUoaXRlbSlcIiBbc3JjXT1cImdldE1pbWVUeXBlSWNvbihpdGVtKVwiLz5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGg0IG1hdExpc3RJdGVtVGl0bGUgaWQ9XCJyZXN1bHRfbmFtZV97e2lkeH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGlnaGxpZ2h0OyBlbHNlIGVsc2VCbG9ja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zZWFyY2gtZml4ZWQtdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cIml0ZW0uZW50cnkubmFtZSB8IGhpZ2hsaWdodDogc2VhcmNoVGVybVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbT8uZW50cnkubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImFkZi1zZWFyY2gtZml4ZWQtdGV4dFwiIG1hdExpc3RJdGVtVGl0bGUgaWQ9XCJyZXN1bHRfbmFtZV97e2lkeH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cIml0ZW0uZW50cnkubmFtZVwiPjwvaDQ+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxwIG1hdExpc3RJdGVtTGluZSBjbGFzcz1cImFkZi1zZWFyY2gtZml4ZWQtdGV4dFwiPiB7e2l0ZW0/LmVudHJ5LmNyZWF0ZWRCeVVzZXIuZGlzcGxheU5hbWV9fSA8L3A+XG4gICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1pdGVtIGlkPVwic2VhcmNoX25vX3Jlc3VsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwic2VhcmNoX25vX3Jlc3VsdF9mb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhPy5saXN0Py5lbnRyaWVzLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I9XCJhZGYtZW1wdHktc2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzTm9TZWFyY2hUZW1wbGF0ZVByZXNlbnQoKSBlbHNlIGRlZmF1bHROb1Jlc3VsdFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE5vUmVzdWx0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgbWF0TGlzdEl0ZW1MaW5lIGNsYXNzPVwiYWRmLXNlYXJjaC1maXhlZC10ZXh0XCI+e3sgJ1NFQVJDSC5SRVNVTFRTLk5PTkUnIHwgdHJhbnNsYXRlOntzZWFyY2hUZXJtOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaFRlcm19IH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICAgIDwvbWF0LWxpc3Q+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9hZGYtc2VhcmNoPlxuPC9kaXY+XG4iXX0=
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9zZWFyY2gvY29tcG9uZW50cy9zZWFyY2gtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0SCxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBRVQsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztBQVd0RCxNQUFNLE9BQU8sc0JBQXNCO0lBZ0UvQixZQUFtQixXQUFrQyxFQUFVLGdCQUFrQztRQUE5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QUNuQyxDQUFDO0lBRU8seUJBQXlCLENBQUMsSUFBYTtRQUMzQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUN2QyxDQUFDOzhHQXpKUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixzZEF5RGpCLDBCQUEwQiwwUkFIMUIsV0FBVyxnREN0RzdCLHM1R0E4REEsdXpCRHBCYyxZQUFZLGdRQUFFLHdCQUF3QixpWkFBRSxlQUFlLHlNQUFFLGFBQWEseWJBQUUsYUFBYSwrS0FBRSxhQUFhLGlEQUFFLGVBQWU7OzJGQU10SCxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0ksb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDLGlCQUdqSCxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO3lIQUtyQyxTQUFTO3NCQURSLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBUU4sVUFBVTtzQkFEVCxLQUFLO2dCQUtOLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFRTixNQUFNO3NCQURMLE1BQU07Z0JBVVAsWUFBWTtzQkFEWCxNQUFNO2dCQUtQLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxlQUFlO3NCQURkLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUk1QixrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsUUFBUTtnQkFJWCxpQkFBaUI7c0JBRHhCLFlBQVk7dUJBQUMsV0FBVztnQkFJekIsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlLCBIaWdobGlnaHRQaXBlLCBTZWFyY2hUZXh0SW5wdXRDb21wb25lbnQsIFRodW1ibmFpbFNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlRW50cnkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRMaXN0SXRlbSwgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgRW1wdHlTZWFyY2hSZXN1bHRDb21wb25lbnQgfSBmcm9tICcuL2VtcHR5LXNlYXJjaC1yZXN1bHQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VhcmNoLWNvbnRyb2wnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2VhcmNoVGV4dElucHV0Q29tcG9uZW50LCBTZWFyY2hDb21wb25lbnQsIE1hdExpc3RNb2R1bGUsIE1hdEljb25Nb2R1bGUsIEhpZ2hsaWdodFBpcGUsIFRyYW5zbGF0ZU1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1zZWFyY2gtY29udHJvbCcgfVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hDb250cm9sQ29tcG9uZW50IHtcbiAgICAvKiogVG9nZ2xlcyBoaWdobGlnaHRpbmcgb2YgdGhlIHNlYXJjaCB0ZXJtIGluIHRoZSByZXN1bHRzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGlnaGxpZ2h0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVHlwZSBvZiB0aGUgaW5wdXQgZmllbGQgdG8gcmVuZGVyLCBlLmcuIFwic2VhcmNoXCIgb3IgXCJ0ZXh0XCIgKGRlZmF1bHQpLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5wdXRUeXBlOiBzdHJpbmcgPSAndGV4dCc7XG5cbiAgICAvKiogVG9nZ2xlcyBcImZpbmQtYXMteW91LXR5cGVcIiBzdWdnZXN0aW9ucyBmb3IgcG9zc2libGUgbWF0Y2hlcy4gKi9cbiAgICBASW5wdXQoKVxuICAgIGxpdmVTZWFyY2hFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBUb2dnbGVzIGF1dG8tY29tcGxldGlvbiBvZiB0aGUgc2VhcmNoIGlucHV0IGZpZWxkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBUb2dnbGVzIHdoZXRoZXIgdG8gdXNlIGFuIGV4cGFuZGluZyBzZWFyY2ggY29udHJvbC4gSWYgZmFsc2VcbiAgICAgKiB0aGVuIGEgcmVndWxhciBpbnB1dCBpcyB1c2VkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXhwYW5kYWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogTWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0byBzaG93IGluIHRoZSBsaXZlIHNlYXJjaC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGxpdmVTZWFyY2hNYXhSZXN1bHRzOiBudW1iZXIgPSA1O1xuXG4gICAgLyoqXG4gICAgICogRW1pdHRlZCB3aGVuIHRoZSBzZWFyY2ggaXMgc3VibWl0dGVkIGJ5IHByZXNzaW5nIHRoZSBFTlRFUiBrZXkuXG4gICAgICogVGhlIHNlYXJjaCB0ZXJtIGlzIHByb3ZpZGVkIGFzIHRoZSB2YWx1ZSBvZiB0aGUgZXZlbnQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgc3VibWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB0aGUgc2VhcmNoIHRlcm0gaXMgY2hhbmdlZC4gVGhlIHNlYXJjaCB0ZXJtIGlzIHByb3ZpZGVkXG4gICAgICogaW4gdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgdGhlIHJldHVybmVkIG9iamVjdC4gIElmIHRoZSB0ZXJtIGlzIGxlc3NcbiAgICAgKiB0aGFuIHRocmVlIGNoYXJhY3RlcnMgaW4gbGVuZ3RoIHRoZW4gaXQgaXMgdHJ1bmNhdGVkIHRvIGFuIGVtcHR5XG4gICAgICogc3RyaW5nLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlYXJjaENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIGEgZmlsZSBpdGVtIGZyb20gdGhlIGxpc3Qgb2YgXCJmaW5kLWFzLXlvdS10eXBlXCIgcmVzdWx0cyBpcyBzZWxlY3RlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBvcHRpb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaFRleHRJbnB1dCcpXG4gICAgc2VhcmNoVGV4dElucHV0OiBTZWFyY2hUZXh0SW5wdXRDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdzZWFyY2gnKVxuICAgIHNlYXJjaEF1dG9jb21wbGV0ZTogU2VhcmNoQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZHJlbihNYXRMaXN0SXRlbSlcbiAgICBwcml2YXRlIGxpc3RSZXN1bHRFbGVtZW50OiBRdWVyeUxpc3Q8TWF0TGlzdEl0ZW0+O1xuXG4gICAgQENvbnRlbnRDaGlsZChFbXB0eVNlYXJjaFJlc3VsdENvbXBvbmVudClcbiAgICBlbXB0eVNlYXJjaFRlbXBsYXRlOiBFbXB0eVNlYXJjaFJlc3VsdENvbXBvbmVudDtcblxuICAgIGZvY3VzU3ViamVjdCA9IG5ldyBTdWJqZWN0PEZvY3VzRXZlbnQ+KCk7XG4gICAgbm9TZWFyY2hSZXN1bHRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiA9IG51bGw7XG4gICAgc2VhcmNoVGVybTogc3RyaW5nID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgcHJpdmF0ZSB0aHVtYm5haWxTZXJ2aWNlOiBUaHVtYm5haWxTZXJ2aWNlKSB7fVxuXG4gICAgaXNOb1NlYXJjaFRlbXBsYXRlUHJlc2VudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5lbXB0eVNlYXJjaFRlbXBsYXRlO1xuICAgIH1cbiAgICBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5pc0VjbUxvZ2dlZEluKCk7XG4gICAgfVxuXG4gICAgaW5wdXRDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0TWltZVR5cGVJY29uKG5vZGU6IE5vZGVFbnRyeSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG1pbWVUeXBlID0gdGhpcy5nZXRNaW1lVHlwZShub2RlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh1bWJuYWlsU2VydmljZS5nZXRNaW1lVHlwZUljb24obWltZVR5cGUpO1xuICAgIH1cblxuICAgIGdldE1pbWVUeXBlKG5vZGU6IE5vZGVFbnRyeSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBtaW1lVHlwZTogc3RyaW5nO1xuXG4gICAgICAgIGlmIChub2RlLmVudHJ5LmNvbnRlbnQ/Lm1pbWVUeXBlKSB7XG4gICAgICAgICAgICBtaW1lVHlwZSA9IG5vZGUuZW50cnkuY29udGVudC5taW1lVHlwZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5lbnRyeS5pc0ZvbGRlcikge1xuICAgICAgICAgICAgbWltZVR5cGUgPSAnZm9sZGVyJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWltZVR5cGU7XG4gICAgfVxuXG4gICAgZWxlbWVudENsaWNrZWQoaXRlbTogYW55KSB7XG4gICAgICAgIGlmIChpdGVtLmVudHJ5KSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbkNsaWNrZWQubmV4dChpdGVtKTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNTdWJqZWN0Lm5leHQobmV3IEZvY3VzRXZlbnQoJ2JsdXInKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNTdWJqZWN0Lm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXh0RWxlbWVudDogYW55ID0gdGhpcy5nZXROZXh0RWxlbWVudFNpYmxpbmcoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpO1xuICAgICAgICBpZiAoIW5leHRFbGVtZW50ICYmICF0aGlzLmlzTGlzdEVsZW1lbnQoZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzU3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VsZWN0Rmlyc3RSZXN1bHQoKSB7XG4gICAgICAgIGlmICh0aGlzLmxpc3RSZXN1bHRFbGVtZW50ICYmIHRoaXMubGlzdFJlc3VsdEVsZW1lbnQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZmlyc3RFbGVtZW50ID0gdGhpcy5saXN0UmVzdWx0RWxlbWVudC5maXJzdCBhcyBNYXRMaXN0SXRlbTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgICAgICAgICAgZmlyc3RFbGVtZW50Ll9ob3N0RWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Sb3dBcnJvd0Rvd24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5leHRFbGVtZW50OiBhbnkgPSB0aGlzLmdldE5leHRFbGVtZW50U2libGluZyhldmVudC50YXJnZXQgYXMgRWxlbWVudCk7XG4gICAgICAgIGlmIChuZXh0RWxlbWVudCkge1xuICAgICAgICAgICAgbmV4dEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUm93QXJyb3dVcChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNFbGVtZW50OiBhbnkgPSB0aGlzLmdldFByZXZpb3VzRWxlbWVudFNpYmxpbmcoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpO1xuICAgICAgICBpZiAocHJldmlvdXNFbGVtZW50KSB7XG4gICAgICAgICAgICBwcmV2aW91c0VsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNTdWJqZWN0Lm5leHQobmV3IEZvY3VzRXZlbnQoJ2ZvY3VzJykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25SZXNldChzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHN0YXR1cykge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hBdXRvY29tcGxldGUucmVzZXRSZXN1bHRzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzTGlzdEVsZW1lbnQoZXZlbnQ6IGFueSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZXZlbnQucmVsYXRlZFRhcmdldD8uY2hpbGRyZW5bMF0gJiYgZXZlbnQucmVsYXRlZFRhcmdldC5jaGlsZHJlblswXS5jbGFzc05hbWUgPT09ICdtYXQtbGlzdC1pdGVtLWNvbnRlbnQnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TmV4dEVsZW1lbnRTaWJsaW5nKG5vZGU6IEVsZW1lbnQpOiBFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIG5vZGUubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJldmlvdXNFbGVtZW50U2libGluZyhub2RlOiBFbGVtZW50KTogRWxlbWVudCB7XG4gICAgICAgIHJldHVybiBub2RlLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImlzTG9nZ2VkSW4oKVwiPlxuICAgIDxhZGYtc2VhcmNoLXRleHQtaW5wdXQgICNzZWFyY2hUZXh0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoVGVybV09IFwic2VhcmNoVGVybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4cGFuZGFibGVdPVwiZXhwYW5kYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaXZlU2VhcmNoRW5hYmxlZF09XCJsaXZlU2VhcmNoRW5hYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvY3VzTGlzdGVuZXJdPVwiZm9jdXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWFyY2hDaGFuZ2UpPVwiaW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlc2V0KT1cIm9uUmVzZXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdFJlc3VsdCk9XCJvblNlbGVjdEZpcnN0UmVzdWx0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdWJtaXQpPVwic3VibWl0LmVtaXQoJGV2ZW50KVwiIC8+XG5cbiAgICA8YWRmLXNlYXJjaCAjc2VhcmNoXG4gICAgICAgICAgICAgICAgI2F1dG89XCJzZWFyY2hBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHQtYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgICBbbWF4UmVzdWx0c109XCJsaXZlU2VhcmNoTWF4UmVzdWx0c1wiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWRhdGE+XG4gICAgICAgICAgICA8bWF0LWxpc3QgKm5nSWY9XCJzZWFyY2hUZXh0SW5wdXQ/LmlzU2VhcmNoQmFyQWN0aXZlKClcIiBpZD1cImF1dG9jb21wbGV0ZS1zZWFyY2gtcmVzdWx0LWxpc3RcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxpc3QtaXRlbVxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhPy5saXN0Py5lbnRyaWVzOyBsZXQgaWR4ID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBpZD1cInJlc3VsdF9vcHRpb25fe3tpZHh9fVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInYXV0b2NvbXBsZXRlX2Zvcl8nICsgaXRlbS5lbnRyeS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXl1cC5hcnJvd2Rvd24pPVwib25Sb3dBcnJvd0Rvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXl1cC5hcnJvd3VwKT1cIm9uUm93QXJyb3dVcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2VhcmNoLWF1dG9jb21wbGV0ZS1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVsZW1lbnRDbGlja2VkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImVsZW1lbnRDbGlja2VkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKHRvdWNoZW5kKT1cImVsZW1lbnRDbGlja2VkKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gVGhpcyBpcyBhIGNvbW1lbnQgLS0+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUxpbmU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFthbHRdPVwiZ2V0TWltZVR5cGUoaXRlbSlcIiBbc3JjXT1cImdldE1pbWVUeXBlSWNvbihpdGVtKVwiLz5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGg0IG1hdExpc3RJdGVtVGl0bGUgaWQ9XCJyZXN1bHRfbmFtZV97e2lkeH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGlnaGxpZ2h0OyBlbHNlIGVsc2VCbG9ja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zZWFyY2gtZml4ZWQtdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cIml0ZW0uZW50cnkubmFtZSB8IGhpZ2hsaWdodDogc2VhcmNoVGVybVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbT8uZW50cnkubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2g0PlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImFkZi1zZWFyY2gtZml4ZWQtdGV4dFwiIG1hdExpc3RJdGVtVGl0bGUgaWQ9XCJyZXN1bHRfbmFtZV97e2lkeH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cIml0ZW0uZW50cnkubmFtZVwiPjwvaDQ+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxwIG1hdExpc3RJdGVtTGluZSBjbGFzcz1cImFkZi1zZWFyY2gtZml4ZWQtdGV4dFwiPiB7e2l0ZW0/LmVudHJ5LmNyZWF0ZWRCeVVzZXIuZGlzcGxheU5hbWV9fSA8L3A+XG4gICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1pdGVtIGlkPVwic2VhcmNoX25vX3Jlc3VsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwic2VhcmNoX25vX3Jlc3VsdF9mb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhPy5saXN0Py5lbnRyaWVzLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I9XCJhZGYtZW1wdHktc2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzTm9TZWFyY2hUZW1wbGF0ZVByZXNlbnQoKSBlbHNlIGRlZmF1bHROb1Jlc3VsdFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE5vUmVzdWx0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgbWF0TGlzdEl0ZW1MaW5lIGNsYXNzPVwiYWRmLXNlYXJjaC1maXhlZC10ZXh0XCI+e3sgJ1NFQVJDSC5SRVNVTFRTLk5PTkUnIHwgdHJhbnNsYXRlOntzZWFyY2hUZXJtOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaFRlcm19IH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICAgIDwvbWF0LWxpc3Q+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9hZGYtc2VhcmNoPlxuPC9kaXY+XG4iXX0=
|
|
@@ -157,13 +157,13 @@ export class SearchDateRangeComponent {
|
|
|
157
157
|
return true;
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SearchDateRangeComponent, deps: [{ token: i1.FormBuilder }, { token: i2.UserPreferencesService }, { token: i3.DateAdapter }, { token: MAT_DATE_FORMATS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SearchDateRangeComponent, isStandalone: true, selector: "adf-search-date-range", inputs: { dateFormat: "dateFormat", maxDate: "maxDate", field: "field", initialValue: "initialValue" }, outputs: { changed: "changed", valid: "valid" }, host: { classAttribute: "adf-search-date-range" }, providers: [
|
|
162
162
|
{ provide: DateAdapter, useClass: DateFnsAdapter, deps: [MAT_DATE_LOCALE] },
|
|
163
163
|
{ provide: MAT_DATE_FORMATS, useValue: MAT_DATE_FNS_FORMATS }
|
|
164
|
-
], ngImport: i0, template: "<div class=\"adf-search-date-range-container\" [formGroup]=\"form\">\n <mat-radio-group formControlName=\"dateRangeType\">\n <span class=\"adf-search-date-range-container-row\">\n <mat-radio-button [value]=\"DateRangeType.ANY\" data-automation-id=\"date-range-anytime\">\n {{ 'SEARCH.DATE_RANGE_ADVANCED.OPTIONS.ANYTIME' | translate }}\n </mat-radio-button>\n </span>\n <span class=\"adf-search-date-range-container-row\">\n <mat-radio-button [value]=\"DateRangeType.IN_LAST\" data-automation-id=\"date-range-in-last\">\n {{ 'SEARCH.DATE_RANGE_ADVANCED.OPTIONS.IN_LAST' | translate }}\n </mat-radio-button>\n <mat-form-field class=\"adf-search-date-range-form-field adf-search-date-range-input-field\" subscriptSizing=\"dynamic\">\n <input matInput [attr.aria-label]=\"'SEARCH.DATE_RANGE_ADVANCED.ARIA_LABEL.NUMBER_INPUT' | translate\"\n type=\"number\" min=\"1\" formControlName=\"inLastValue\"\n data-automation-id=\"date-range-in-last-input\" (input)=\"narrowDownAllowedCharacters($event)\"\n (keydown)=\"preventIncorrectNumberCharacters($event)\">\n <mat-error *ngIf=\"form.controls.inLastValue.errors?.required\">{{ 'SEARCH.DATE_RANGE_ADVANCED.ERROR.IN_LAST' | translate }}</mat-error>\n </mat-form-field>\n <mat-form-field class=\"adf-search-date-range-form-field adf-search-date-range-form-field-select\" subscriptSizing=\"dynamic\">\n <mat-select formControlName=\"inLastValueType\" data-automation-id=\"date-range-in-last-dropdown\">\n <mat-option data-automation-id=\"date-range-in-last-option-days\" [value]=\"InLastDateType.DAYS\">{{ 'SEARCH.DATE_RANGE_ADVANCED.IN_LAST_LABELS.DAYS' | translate }}</mat-option>\n <mat-option data-automation-id=\"date-range-in-last-option-weeks\" [value]=\"InLastDateType.WEEKS\">{{ 'SEARCH.DATE_RANGE_ADVANCED.IN_LAST_LABELS.WEEKS' | translate }}</mat-option>\n <mat-option data-automation-id=\"date-range-in-last-option-months\" [value]=\"InLastDateType.MONTHS\">{{ 'SEARCH.DATE_RANGE_ADVANCED.IN_LAST_LABELS.MONTHS' | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n </span>\n <span class=\"adf-search-date-range-container-row adf-search-date-range-container-row-date\">\n <mat-radio-button [value]=\"DateRangeType.BETWEEN\" data-automation-id=\"date-range-between\">\n {{ 'SEARCH.DATE_RANGE_ADVANCED.OPTIONS.BETWEEN' | translate }}\n </mat-radio-button>\n <mat-form-field class=\"adf-search-date-range-form-field\" subscriptSizing=\"dynamic\">\n <mat-date-range-input [rangePicker]=\"$any(picker)\" [max]=\"convertedMaxDate\">\n <input matStartDate placeholder=\"{{ 'SEARCH.DATE_RANGE_ADVANCED.BETWEEN_PLACEHOLDERS.START_DATE' | translate }}\"\n data-automation-id=\"date-range-between-start-input\" [formControl]=\"betweenStartDateFormControl\" (change)=\"dateChanged($event, betweenStartDateFormControl)\">\n <input matEndDate placeholder=\"{{ 'SEARCH.DATE_RANGE_ADVANCED.BETWEEN_PLACEHOLDERS.END_DATE' | translate }}\"\n data-automation-id=\"date-range-between-end-input\" [formControl]=\"betweenEndDateFormControl\" (change)=\"dateChanged($event, betweenEndDateFormControl)\">\n </mat-date-range-input>\n <mat-datepicker-toggle matSuffix [for]=\"picker\" data-automation-id=\"date-range-between-datepicker-toggle\" />\n <mat-date-range-picker #picker />\n\n <mat-error *ngIf=\"betweenStartDateFormControl.errors?.invalidDate\">{{ 'SEARCH.DATE_RANGE_ADVANCED.ERROR.START_DATE.INVALID_FORMAT' | translate }}</mat-error>\n <mat-error *ngIf=\"betweenStartDateFormControl.errors?.required\">{{ 'SEARCH.DATE_RANGE_ADVANCED.ERROR.START_DATE.REQUIRED' | translate }}</mat-error>\n <mat-error *ngIf=\"betweenEndDateFormControl.errors?.invalidDate\">{{ 'SEARCH.DATE_RANGE_ADVANCED.ERROR.END_DATE.INVALID_FORMAT' | translate }}</mat-error>\n <mat-error *ngIf=\"betweenEndDateFormControl.errors?.required\">{{ 'SEARCH.DATE_RANGE_ADVANCED.ERROR.END_DATE.REQUIRED' | translate }}</mat-error>\n </mat-form-field>\n </span>\n </mat-radio-group>\n</div>\n", styles: ["adf-search-date-range .adf-search-date-range-container{margin-top:20px;padding:10px}adf-search-date-range .adf-search-date-range-container .adf-search-date-range-form-field-select{width:180px;min-width:180px}adf-search-date-range .adf-search-date-range-container-row{display:flex;flex-direction:row;padding-bottom:21px;align-items:center}adf-search-date-range .adf-search-date-range-container-row-date{margin-top:8px}adf-search-date-range .adf-search-date-range-container-row .mat-mdc-select-arrow-wrapper{height:unset}adf-search-date-range .adf-search-date-range-container-row .adf-search-date-range-input-field{width:75px}adf-search-date-range .adf-search-date-range-container-row .adf-search-date-range-form-field{padding-left:10px;flex:1;margin-bottom:12px}adf-search-date-range .adf-search-date-range-container-row .adf-search-date-range-form-field .mat-mdc-form-field-flex{align-items:center}adf-search-date-range .adf-search-date-range-container-row .adf-search-date-range-form-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{padding:.375em 0 4px}adf-search-date-range .adf-search-widget-extra-width{max-width:500px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i5.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i5.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i10.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i10.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i10.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i10.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i10.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
164
|
+
], ngImport: i0, template: "<div class=\"adf-search-date-range-container\" [formGroup]=\"form\">\n <mat-radio-group formControlName=\"dateRangeType\">\n <span class=\"adf-search-date-range-container-row\">\n <mat-radio-button [value]=\"DateRangeType.ANY\" data-automation-id=\"date-range-anytime\">\n {{ 'SEARCH.DATE_RANGE_ADVANCED.OPTIONS.ANYTIME' | translate }}\n </mat-radio-button>\n </span>\n <span class=\"adf-search-date-range-container-row\">\n <mat-radio-button [value]=\"DateRangeType.IN_LAST\" data-automation-id=\"date-range-in-last\">\n {{ 'SEARCH.DATE_RANGE_ADVANCED.OPTIONS.IN_LAST' | translate }}\n </mat-radio-button>\n <mat-form-field class=\"adf-search-date-range-form-field adf-search-date-range-input-field\" subscriptSizing=\"dynamic\">\n <input matInput [attr.aria-label]=\"'SEARCH.DATE_RANGE_ADVANCED.ARIA_LABEL.NUMBER_INPUT' | translate\"\n type=\"number\" min=\"1\" formControlName=\"inLastValue\"\n data-automation-id=\"date-range-in-last-input\" (input)=\"narrowDownAllowedCharacters($event)\"\n (keydown)=\"preventIncorrectNumberCharacters($event)\">\n <mat-error *ngIf=\"form.controls.inLastValue.errors?.required\">{{ 'SEARCH.DATE_RANGE_ADVANCED.ERROR.IN_LAST' | translate }}</mat-error>\n </mat-form-field>\n <mat-form-field class=\"adf-search-date-range-form-field adf-search-date-range-form-field-select\" subscriptSizing=\"dynamic\">\n <mat-select formControlName=\"inLastValueType\" data-automation-id=\"date-range-in-last-dropdown\">\n <mat-option data-automation-id=\"date-range-in-last-option-days\" [value]=\"InLastDateType.DAYS\">{{ 'SEARCH.DATE_RANGE_ADVANCED.IN_LAST_LABELS.DAYS' | translate }}</mat-option>\n <mat-option data-automation-id=\"date-range-in-last-option-weeks\" [value]=\"InLastDateType.WEEKS\">{{ 'SEARCH.DATE_RANGE_ADVANCED.IN_LAST_LABELS.WEEKS' | translate }}</mat-option>\n <mat-option data-automation-id=\"date-range-in-last-option-months\" [value]=\"InLastDateType.MONTHS\">{{ 'SEARCH.DATE_RANGE_ADVANCED.IN_LAST_LABELS.MONTHS' | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n </span>\n <span class=\"adf-search-date-range-container-row adf-search-date-range-container-row-date\">\n <mat-radio-button [value]=\"DateRangeType.BETWEEN\" data-automation-id=\"date-range-between\">\n {{ 'SEARCH.DATE_RANGE_ADVANCED.OPTIONS.BETWEEN' | translate }}\n </mat-radio-button>\n <mat-form-field class=\"adf-search-date-range-form-field\" subscriptSizing=\"dynamic\">\n <mat-date-range-input [rangePicker]=\"$any(picker)\" [max]=\"convertedMaxDate\">\n <input matStartDate placeholder=\"{{ 'SEARCH.DATE_RANGE_ADVANCED.BETWEEN_PLACEHOLDERS.START_DATE' | translate }}\"\n data-automation-id=\"date-range-between-start-input\" [formControl]=\"betweenStartDateFormControl\" (change)=\"dateChanged($event, betweenStartDateFormControl)\">\n <input matEndDate placeholder=\"{{ 'SEARCH.DATE_RANGE_ADVANCED.BETWEEN_PLACEHOLDERS.END_DATE' | translate }}\"\n data-automation-id=\"date-range-between-end-input\" [formControl]=\"betweenEndDateFormControl\" (change)=\"dateChanged($event, betweenEndDateFormControl)\">\n </mat-date-range-input>\n <mat-datepicker-toggle matSuffix [for]=\"picker\" data-automation-id=\"date-range-between-datepicker-toggle\" />\n <mat-date-range-picker #picker />\n\n <mat-error *ngIf=\"betweenStartDateFormControl.errors?.invalidDate\">{{ 'SEARCH.DATE_RANGE_ADVANCED.ERROR.START_DATE.INVALID_FORMAT' | translate }}</mat-error>\n <mat-error *ngIf=\"betweenStartDateFormControl.errors?.required\">{{ 'SEARCH.DATE_RANGE_ADVANCED.ERROR.START_DATE.REQUIRED' | translate }}</mat-error>\n <mat-error *ngIf=\"betweenEndDateFormControl.errors?.invalidDate\">{{ 'SEARCH.DATE_RANGE_ADVANCED.ERROR.END_DATE.INVALID_FORMAT' | translate }}</mat-error>\n <mat-error *ngIf=\"betweenEndDateFormControl.errors?.required\">{{ 'SEARCH.DATE_RANGE_ADVANCED.ERROR.END_DATE.REQUIRED' | translate }}</mat-error>\n </mat-form-field>\n </span>\n </mat-radio-group>\n</div>\n", styles: ["adf-search-date-range .adf-search-date-range-container{margin-top:20px;padding:10px}adf-search-date-range .adf-search-date-range-container .adf-search-date-range-form-field-select{width:180px;min-width:180px}adf-search-date-range .adf-search-date-range-container-row{display:flex;flex-direction:row;padding-bottom:21px;align-items:center}adf-search-date-range .adf-search-date-range-container-row-date{margin-top:8px}adf-search-date-range .adf-search-date-range-container-row .mat-mdc-select-arrow-wrapper{height:unset}adf-search-date-range .adf-search-date-range-container-row .adf-search-date-range-input-field{width:75px}adf-search-date-range .adf-search-date-range-container-row .adf-search-date-range-form-field{padding-left:10px;flex:1;margin-bottom:12px}adf-search-date-range .adf-search-date-range-container-row .adf-search-date-range-form-field .mat-mdc-form-field-flex{align-items:center}adf-search-date-range .adf-search-date-range-container-row .adf-search-date-range-form-field .mat-mdc-form-field-flex .mat-mdc-form-field-infix{padding:.375em 0 4px}adf-search-date-range .adf-search-widget-extra-width{max-width:500px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i5.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i5.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i10.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i10.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i10.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i10.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i10.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
165
165
|
}
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SearchDateRangeComponent, decorators: [{
|
|
167
167
|
type: Component,
|
|
168
168
|
args: [{ selector: 'adf-search-date-range', standalone: true, imports: [
|
|
169
169
|
CommonModule,
|
|
@@ -194,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
194
194
|
}], valid: [{
|
|
195
195
|
type: Output
|
|
196
196
|
}] } });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRhdGUtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9zZWFyY2gvY29tcG9uZW50cy9zZWFyY2gtZGF0ZS1yYW5nZS10YWJiZWQvc2VhcmNoLWRhdGUtcmFuZ2Uvc2VhcmNoLWRhdGUtcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9zZWFyY2gvY29tcG9uZW50cy9zZWFyY2gtZGF0ZS1yYW5nZS10YWJiZWQvc2VhcmNoLWRhdGUtcmFuZ2Uvc2VhcmNoLWRhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFzQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNs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Z0JBUU4sT0FBTztzQkFETixNQUFNO2dCQUdQLEtBQUs7c0JBREosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlbmRPZkRheSwgaXNBZnRlciwgaXNCZWZvcmUsIGlzVmFsaWQsIHBhcnNlIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1BVF9EQVRFX0xPQ0FMRSwgTWF0RGF0ZUZvcm1hdHMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IERhdGVGbnNBZGFwdGVyLCBNQVRfREFURV9GTlNfRk9STUFUUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLWRhdGUtZm5zLWFkYXB0ZXInO1xuaW1wb3J0IHsgSW5MYXN0RGF0ZVR5cGUgfSBmcm9tICcuL2luLWxhc3QtZGF0ZS10eXBlJztcbmltcG9ydCB7IERhdGVSYW5nZVR5cGUgfSBmcm9tICcuL2RhdGUtcmFuZ2UtdHlwZSc7XG5pbXBvcnQgeyBTZWFyY2hEYXRlUmFuZ2UgfSBmcm9tICcuL3NlYXJjaC1kYXRlLXJhbmdlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlRm5zVXRpbHMsIFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsIFVzZXJQcmVmZXJlbmNlVmFsdWVzIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmNvbnN0IERFRkFVTFRfREFURV9ESVNQTEFZX0ZPUk1BVCA9ICdkZC1NTU0teXknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1zZWFyY2gtZGF0ZS1yYW5nZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgICAgICBNYXREYXRlcGlja2VyTW9kdWxlXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWRhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlYXJjaC1kYXRlLXJhbmdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBEYXRlRm5zQWRhcHRlciwgZGVwczogW01BVF9EQVRFX0xPQ0FMRV0gfSxcbiAgICAgICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTUFUX0RBVEVfRk5TX0ZPUk1BVFMgfVxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7IGNsYXNzOiAnYWRmLXNlYXJjaC1kYXRlLXJhbmdlJyB9XG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaERhdGVSYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBkYXRlRm9ybWF0ID0gREVGQVVMVF9EQVRFX0RJU1BMQVlfRk9STUFUO1xuICAgIEBJbnB1dCgpXG4gICAgbWF4RGF0ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHNldCBpbml0aWFsVmFsdWUodmFsdWU6IFNlYXJjaERhdGVSYW5nZSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcnRpYWw8U2VhcmNoRGF0ZVJhbmdlPj4oKTtcbiAgICBAT3V0cHV0KClcbiAgICB2YWxpZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIGZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwPFNlYXJjaERhdGVSYW5nZT4oe1xuICAgICAgICBkYXRlUmFuZ2VUeXBlOiBEYXRlUmFuZ2VUeXBlLkFOWSxcbiAgICAgICAgaW5MYXN0VmFsdWVUeXBlOiBJbkxhc3REYXRlVHlwZS5EQVlTLFxuICAgICAgICBpbkxhc3RWYWx1ZTogdW5kZWZpbmVkLFxuICAgICAgICBiZXR3ZWVuU3RhcnREYXRlOiB1bmRlZmluZWQsXG4gICAgICAgIGJldHdlZW5FbmREYXRlOiB1bmRlZmluZWRcbiAgICB9KTtcbiAgICBiZXR3ZWVuU3RhcnREYXRlRm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHMuYmV0d2VlblN0YXJ0RGF0ZTtcbiAgICBiZXR3ZWVuRW5kRGF0ZUZvcm1Db250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzLmJldHdlZW5FbmREYXRlO1xuICAgIGNvbnZlcnRlZE1heERhdGU6IERhdGU7XG5cbiAgICByZWFkb25seSBEYXRlUmFuZ2VUeXBlID0gRGF0ZVJhbmdlVHlwZTtcbiAgICByZWFkb25seSBJbkxhc3REYXRlVHlwZSA9IEluTGFzdERhdGVUeXBlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIHVzZXJQcmVmZXJlbmNlc1NlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPERhdGVGbnNBZGFwdGVyPixcbiAgICAgICAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcml2YXRlIGRhdGVGb3JtYXRDb25maWc6IE1hdERhdGVGb3JtYXRzXG4gICAgKSB7fVxuXG4gICAgcmVhZG9ubHkgZW5kRGF0ZVZhbGlkYXRvciA9IChmb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gfCBudWxsID0+IHtcbiAgICAgICAgaWYgKGlzQmVmb3JlKGZvcm1Db250cm9sLnZhbHVlLCB0aGlzLmJldHdlZW5TdGFydERhdGVGb3JtQ29udHJvbC52YWx1ZSkgfHwgaXNBZnRlcihmb3JtQ29udHJvbC52YWx1ZSwgdGhpcy5jb252ZXJ0ZWRNYXhEYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpbnZhbGlkRGF0ZTogdHJ1ZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge307XG4gICAgfTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGVGb3JtYXRDb25maWcuZGlzcGxheS5kYXRlSW5wdXQgPSB0aGlzLmRhdGVGb3JtYXQ7XG4gICAgICAgIHRoaXMuY29udmVydGVkTWF4RGF0ZSA9IGVuZE9mRGF5KHRoaXMubWF4RGF0ZSAmJiB0aGlzLm1heERhdGUgIT09ICd0b2RheScgPyBwYXJzZSh0aGlzLm1heERhdGUsIHRoaXMuZGF0ZUZvcm1hdCwgbmV3IERhdGUoKSkgOiBuZXcgRGF0ZSgpKTtcbiAgICAgICAgdGhpcy51c2VyUHJlZmVyZW5jZXNTZXJ2aWNlXG4gICAgICAgICAgICAuc2VsZWN0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobG9jYWxlKSA9PiB0aGlzLmRhdGVBZGFwdGVyLnNldExvY2FsZShEYXRlRm5zVXRpbHMuZ2V0TG9jYWxlRnJvbVN0cmluZyhsb2NhbGUpKSk7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5kYXRlUmFuZ2VUeXBlLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRlUmFuZ2VUeXBlKSA9PiB0aGlzLnVwZGF0ZVZhbGlkYXRvcnMoZGF0ZVJhbmdlVHlwZSkpO1xuICAgICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ2hhbmdlKCkpO1xuICAgIH1cbiAgICBwcml2YXRlIHVwZGF0ZVZhbGlkYXRvcnMoZGF0ZVJhbmdlVHlwZTogRGF0ZVJhbmdlVHlwZSkge1xuICAgICAgICBzd2l0Y2ggKGRhdGVSYW5nZVR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRGF0ZVJhbmdlVHlwZS5CRVRXRUVOOlxuICAgICAgICAgICAgICAgIHRoaXMuYmV0d2VlblN0YXJ0RGF0ZUZvcm1Db250cm9sLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5iZXR3ZWVuRW5kRGF0ZUZvcm1Db250cm9sLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHRoaXMuZW5kRGF0ZVZhbGlkYXRvcl0pO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5pbkxhc3RWYWx1ZS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0ZVJhbmdlVHlwZS5JTl9MQVNUOlxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5pbkxhc3RWYWx1ZS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmV0d2VlblN0YXJ0RGF0ZUZvcm1Db250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmV0d2VlbkVuZERhdGVGb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmluTGFzdFZhbHVlLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmV0d2VlblN0YXJ0RGF0ZUZvcm1Db250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmV0d2VlbkVuZERhdGVGb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJldHdlZW5TdGFydERhdGVGb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIHRoaXMuYmV0d2VlbkVuZERhdGVGb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5pbkxhc3RWYWx1ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy5mb3JtLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbGlkLmVtaXQodGhpcy5mb3JtLnZhbGlkKTtcbiAgICB9XG5cbiAgICBkYXRlQ2hhbmdlZChldmVudDogRXZlbnQsIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgaWYgKGV2ZW50Py50YXJnZXRbJ3ZhbHVlJ10/LnRyaW0oKSkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IHBhcnNlKGV2ZW50LnRhcmdldFsndmFsdWUnXSwgdGhpcy5kYXRlRm9ybWF0LCBuZXcgRGF0ZSgpKTtcbiAgICAgICAgICAgIGlmICghaXNWYWxpZChkYXRlKSkge1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sLnNldEVycm9ycyh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmZvcm1Db250cm9sLmVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBpbnZhbGlkRGF0ZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbC5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgICAgICAgICAuLi5mb3JtQ29udHJvbC5lcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgIGludmFsaWREYXRlOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKGRhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmFycm93RG93bkFsbG93ZWRDaGFyYWN0ZXJzKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAocGFyc2VJbnQoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSwgMTApID09PSAwKSB7XG4gICAgICAgICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlID0gJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJldmVudEluY29ycmVjdE51bWJlckNoYXJhY3RlcnMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJy4nOlxuICAgICAgICAgICAgY2FzZSAnLSc6XG4gICAgICAgICAgICBjYXNlICdlJzpcbiAgICAgICAgICAgIGNhc2UgJysnOlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNhc2UgJzAnOlxuICAgICAgICAgICAgICAgIHJldHVybiAhIShldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtZGF0ZS1yYW5nZS1jb250YWluZXJcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgPG1hdC1yYWRpby1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJkYXRlUmFuZ2VUeXBlXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJhZGYtc2VhcmNoLWRhdGUtcmFuZ2UtY29udGFpbmVyLXJvd1wiPlxuICAgICAgPG1hdC1yYWRpby1idXR0b24gW3ZhbHVlXT1cIkRhdGVSYW5nZVR5cGUuQU5ZXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiZGF0ZS1yYW5nZS1hbnl0aW1lXCI+XG4gICAgICAgIHt7ICdTRUFSQ0guREFURV9SQU5HRV9BRFZBTkNFRC5PUFRJT05TLkFOWVRJTUUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiYWRmLXNlYXJjaC1kYXRlLXJhbmdlLWNvbnRhaW5lci1yb3dcIj5cbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJEYXRlUmFuZ2VUeXBlLklOX0xBU1RcIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJkYXRlLXJhbmdlLWluLWxhc3RcIj5cbiAgICAgICAge3sgJ1NFQVJDSC5EQVRFX1JBTkdFX0FEVkFOQ0VELk9QVElPTlMuSU5fTEFTVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1zZWFyY2gtZGF0ZS1yYW5nZS1mb3JtLWZpZWxkIGFkZi1zZWFyY2gtZGF0ZS1yYW5nZS1pbnB1dC1maWVsZFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NFQVJDSC5EQVRFX1JBTkdFX0FEVkFOQ0VELkFSSUFfTEFCRUwuTlVNQkVSX0lOUFVUJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCIgbWluPVwiMVwiIGZvcm1Db250cm9sTmFtZT1cImluTGFzdFZhbHVlXCJcbiAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImRhdGUtcmFuZ2UtaW4tbGFzdC1pbnB1dFwiIChpbnB1dCk9XCJuYXJyb3dEb3duQWxsb3dlZENoYXJhY3RlcnMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAoa2V5ZG93bik9XCJwcmV2ZW50SW5jb3JyZWN0TnVtYmVyQ2hhcmFjdGVycygkZXZlbnQpXCI+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmluTGFzdFZhbHVlLmVycm9ycz8ucmVxdWlyZWRcIj57eyAnU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuRVJST1IuSU5fTEFTVCcgfCB0cmFuc2xhdGUgfX08L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGYtc2VhcmNoLWRhdGUtcmFuZ2UtZm9ybS1maWVsZCBhZGYtc2VhcmNoLWRhdGUtcmFuZ2UtZm9ybS1maWVsZC1zZWxlY3RcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluTGFzdFZhbHVlVHlwZVwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImRhdGUtcmFuZ2UtaW4tbGFzdC1kcm9wZG93blwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIGRhdGEtYXV0b21hdGlvbi1pZD1cImRhdGUtcmFuZ2UtaW4tbGFzdC1vcHRpb24tZGF5c1wiIFt2YWx1ZV09XCJJbkxhc3REYXRlVHlwZS5EQVlTXCI+e3sgJ1NFQVJDSC5EQVRFX1JBTkdFX0FEVkFOQ0VELklOX0xBU1RfTEFCRUxTLkRBWVMnIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIGRhdGEtYXV0b21hdGlvbi1pZD1cImRhdGUtcmFuZ2UtaW4tbGFzdC1vcHRpb24td2Vla3NcIiBbdmFsdWVdPVwiSW5MYXN0RGF0ZVR5cGUuV0VFS1NcIj57eyAnU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuSU5fTEFTVF9MQUJFTFMuV0VFS1MnIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIGRhdGEtYXV0b21hdGlvbi1pZD1cImRhdGUtcmFuZ2UtaW4tbGFzdC1vcHRpb24tbW9udGhzXCIgW3ZhbHVlXT1cIkluTGFzdERhdGVUeXBlLk1PTlRIU1wiPnt7ICdTRUFSQ0guREFURV9SQU5HRV9BRFZBTkNFRC5JTl9MQVNUX0xBQkVMUy5NT05USFMnIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImFkZi1zZWFyY2gtZGF0ZS1yYW5nZS1jb250YWluZXItcm93IGFkZi1zZWFyY2gtZGF0ZS1yYW5nZS1jb250YWluZXItcm93LWRhdGVcIj5cbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJEYXRlUmFuZ2VUeXBlLkJFVFdFRU5cIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJkYXRlLXJhbmdlLWJldHdlZW5cIj5cbiAgICAgICAge3sgJ1NFQVJDSC5EQVRFX1JBTkdFX0FEVkFOQ0VELk9QVElPTlMuQkVUV0VFTicgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1zZWFyY2gtZGF0ZS1yYW5nZS1mb3JtLWZpZWxkXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXQgW3JhbmdlUGlja2VyXT1cIiRhbnkocGlja2VyKVwiIFttYXhdPVwiY29udmVydGVkTWF4RGF0ZVwiPlxuICAgICAgICAgIDxpbnB1dCBtYXRTdGFydERhdGUgcGxhY2Vob2xkZXI9XCJ7eyAnU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuQkVUV0VFTl9QTEFDRUhPTERFUlMuU1RBUlRfREFURScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJkYXRlLXJhbmdlLWJldHdlZW4tc3RhcnQtaW5wdXRcIiBbZm9ybUNvbnRyb2xdPVwiYmV0d2VlblN0YXJ0RGF0ZUZvcm1Db250cm9sXCIgKGNoYW5nZSk9XCJkYXRlQ2hhbmdlZCgkZXZlbnQsIGJldHdlZW5TdGFydERhdGVGb3JtQ29udHJvbClcIj5cbiAgICAgICAgICA8aW5wdXQgbWF0RW5kRGF0ZSBwbGFjZWhvbGRlcj1cInt7ICdTRUFSQ0guREFURV9SQU5HRV9BRFZBTkNFRC5CRVRXRUVOX1BMQUNFSE9MREVSUy5FTkRfREFURScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJkYXRlLXJhbmdlLWJldHdlZW4tZW5kLWlucHV0XCIgW2Zvcm1Db250cm9sXT1cImJldHdlZW5FbmREYXRlRm9ybUNvbnRyb2xcIiAoY2hhbmdlKT1cImRhdGVDaGFuZ2VkKCRldmVudCwgYmV0d2VlbkVuZERhdGVGb3JtQ29udHJvbClcIj5cbiAgICAgICAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cbiAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJkYXRlLXJhbmdlLWJldHdlZW4tZGF0ZXBpY2tlci10b2dnbGVcIiAvPlxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyICNwaWNrZXIgLz5cblxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiYmV0d2VlblN0YXJ0RGF0ZUZvcm1Db250cm9sLmVycm9ycz8uaW52YWxpZERhdGVcIj57eyAnU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuRVJST1IuU1RBUlRfREFURS5JTlZBTElEX0ZPUk1BVCcgfCB0cmFuc2xhdGUgfX08L21hdC1lcnJvcj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImJldHdlZW5TdGFydERhdGVGb3JtQ29udHJvbC5lcnJvcnM/LnJlcXVpcmVkXCI+e3sgJ1NFQVJDSC5EQVRFX1JBTkdFX0FEVkFOQ0VELkVSUk9SLlNUQVJUX0RBVEUuUkVRVUlSRUQnIHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJiZXR3ZWVuRW5kRGF0ZUZvcm1Db250cm9sLmVycm9ycz8uaW52YWxpZERhdGVcIj57eyAnU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuRVJST1IuRU5EX0RBVEUuSU5WQUxJRF9GT1JNQVQnIHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJiZXR3ZWVuRW5kRGF0ZUZvcm1Db250cm9sLmVycm9ycz8ucmVxdWlyZWRcIj57eyAnU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuRVJST1IuRU5EX0RBVEUuUkVRVUlSRUQnIHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvc3Bhbj5cbiAgPC9tYXQtcmFkaW8tZ3JvdXA+XG48L2Rpdj5cbiJdfQ==
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRhdGUtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9zZWFyY2gvY29tcG9uZW50cy9zZWFyY2gtZGF0ZS1yYW5nZS10YWJiZWQvc2VhcmNoLWRhdGUtcmFuZ2Uvc2VhcmNoLWRhdGUtcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9zZWFyY2gvY29tcG9uZW50cy9zZWFyY2gtZGF0ZS1yYW5nZS10YWJiZWQvc2VhcmNoLWRhdGUtcmFuZ2Uvc2VhcmNoLWRhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFzQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBRWhFLE1BQU0sMkJBQTJCLEdBQUcsV0FBVyxDQUFDO0FBd0JoRCxNQUFNLE9BQU8sd0JBQXdCO0lBT2pDLElBQ0ksWUFBWSxDQUFDLEtBQXNCO1FBQ25DLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0wsQ0FBQztJQXVCRCxZQUNZLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUM5QyxXQUF3QyxFQUNkLGdCQUFnQztRQUgxRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGdCQUFXLEdBQVgsV0FBVyxDQUE2QjtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0I7UUFyQ3RFLGVBQVUsR0FBRywyQkFBMkIsQ0FBQztRQWF6QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFFdkQsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFcEMsU0FBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFrQjtZQUMzQyxhQUFhLEVBQUUsYUFBYSxDQUFDLEdBQUc7WUFDaEMsZUFBZSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1lBQ3BDLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLGdCQUFnQixFQUFFLFNBQVM7WUFDM0IsY0FBYyxFQUFFLFNBQVM7U0FDNUIsQ0FBQyxDQUFDO1FBQ0gsZ0NBQTJCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7UUFDbEUsOEJBQXlCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1FBR3JELGtCQUFhLEdBQUcsYUFBYSxDQUFDO1FBQzlCLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBRXhCLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFTeEMscUJBQWdCLEdBQUcsQ0FBQyxXQUErQixFQUFxQyxFQUFFO1lBQy9GLElBQUksUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7Z0JBQzNILE9BQU87b0JBQ0gsV0FBVyxFQUFFLElBQUk7aUJBQ3BCLENBQUM7WUFDTixDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUM7SUFUQyxDQUFDO0lBV0osUUFBUTtRQUNKLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDMUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzNJLElBQUksQ0FBQyxzQkFBc0I7YUFDdEIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQzthQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsWUFBWTthQUN4QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBQ08sZ0JBQWdCLENBQUMsYUFBNEI7UUFDakQsUUFBUSxhQUFhLEVBQUUsQ0FBQztZQUNwQixLQUFLLGFBQWEsQ0FBQyxPQUFPO2dCQUN0QixJQUFJLENBQUMsMkJBQTJCLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztnQkFDM0YsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNqRCxNQUFNO1lBQ1YsS0FBSyxhQUFhLENBQUMsT0FBTztnQkFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2xFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNqRCxNQUFNO1lBQ1Y7Z0JBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ25ELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDakQsTUFBTTtRQUNkLENBQUM7UUFDRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMseUJBQXlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRU8sUUFBUTtRQUNaLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWSxFQUFFLFdBQStCO1FBQ3JELElBQUksS0FBSyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDakIsV0FBVyxDQUFDLFNBQVMsQ0FBQztvQkFDbEIsR0FBRyxXQUFXLENBQUMsTUFBTTtvQkFDckIsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsV0FBVyxFQUFFLElBQUk7aUJBQ3BCLENBQUMsQ0FBQztZQUNQLENBQUM7aUJBQU0sQ0FBQztnQkFDSixXQUFXLENBQUMsU0FBUyxDQUFDO29CQUNsQixHQUFHLFdBQVcsQ0FBQyxNQUFNO29CQUNyQixXQUFXLEVBQUUsS0FBSztpQkFDckIsQ0FBQyxDQUFDO2dCQUNILFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsMkJBQTJCLENBQUMsS0FBWTtRQUNwQyxJQUFJLFFBQVEsQ0FBRSxLQUFLLENBQUMsTUFBMkIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUQsS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNsRCxDQUFDO2FBQU0sQ0FBQztZQUNILEtBQUssQ0FBQyxNQUEyQixDQUFDLEtBQUssR0FBSSxLQUFLLENBQUMsTUFBMkIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzRyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdDQUFnQyxDQUFDLEtBQW9CO1FBQ2pELFFBQVEsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLEdBQUcsQ0FBQztZQUNULEtBQUssR0FBRztnQkFDSixPQUFPLEtBQUssQ0FBQztZQUNqQixLQUFLLEdBQUc7Z0JBQ0osT0FBTyxDQUFDLENBQUUsS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDO1lBQ3REO2dCQUNJLE9BQU8sSUFBSSxDQUFDO1FBQ3BCLENBQUM7SUFDTCxDQUFDOzhHQXBJUSx3QkFBd0IsOEdBdUNyQixnQkFBZ0I7a0dBdkNuQix3QkFBd0IsZ1JBUHRCO1lBQ1AsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDM0UsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFO1NBQ2hFLDBCQ3ZETCxvbklBZ0RBLHVxQ0RQUSxZQUFZLGtJQUNaLGNBQWMsc2lCQUNkLG1CQUFtQixtM0NBQ25CLGVBQWUsMkZBQ2Ysa0JBQWtCLHVjQUNsQixjQUFjLDBXQUNkLGVBQWUsbXJCQUNmLG1CQUFtQjs7MkZBV2Qsd0JBQXdCO2tCQXRCcEMsU0FBUzsrQkFDSSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNMLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsbUJBQW1CO3FCQUN0QixhQUdVO3dCQUNQLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFO3dCQUMzRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUU7cUJBQ2hFLGlCQUNjLGlCQUFpQixDQUFDLElBQUksUUFDL0IsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUU7OzBCQXlDbkMsTUFBTTsyQkFBQyxnQkFBZ0I7eUNBckM1QixVQUFVO3NCQURULEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHRixZQUFZO3NCQURmLEtBQUs7Z0JBUU4sT0FBTztzQkFETixNQUFNO2dCQUdQLEtBQUs7c0JBREosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlbmRPZkRheSwgaXNBZnRlciwgaXNCZWZvcmUsIGlzVmFsaWQsIHBhcnNlIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1BVF9EQVRFX0xPQ0FMRSwgTWF0RGF0ZUZvcm1hdHMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IERhdGVGbnNBZGFwdGVyLCBNQVRfREFURV9GTlNfRk9STUFUUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLWRhdGUtZm5zLWFkYXB0ZXInO1xuaW1wb3J0IHsgSW5MYXN0RGF0ZVR5cGUgfSBmcm9tICcuL2luLWxhc3QtZGF0ZS10eXBlJztcbmltcG9ydCB7IERhdGVSYW5nZVR5cGUgfSBmcm9tICcuL2RhdGUtcmFuZ2UtdHlwZSc7XG5pbXBvcnQgeyBTZWFyY2hEYXRlUmFuZ2UgfSBmcm9tICcuL3NlYXJjaC1kYXRlLXJhbmdlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlRm5zVXRpbHMsIFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsIFVzZXJQcmVmZXJlbmNlVmFsdWVzIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmNvbnN0IERFRkFVTFRfREFURV9ESVNQTEFZX0ZPUk1BVCA9ICdkZC1NTU0teXknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1zZWFyY2gtZGF0ZS1yYW5nZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgICAgICBNYXREYXRlcGlja2VyTW9kdWxlXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWRhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlYXJjaC1kYXRlLXJhbmdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBEYXRlRm5zQWRhcHRlciwgZGVwczogW01BVF9EQVRFX0xPQ0FMRV0gfSxcbiAgICAgICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTUFUX0RBVEVfRk5TX0ZPUk1BVFMgfVxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7IGNsYXNzOiAnYWRmLXNlYXJjaC1kYXRlLXJhbmdlJyB9XG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaERhdGVSYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBkYXRlRm9ybWF0ID0gREVGQVVMVF9EQVRFX0RJU1BMQVlfRk9STUFUO1xuICAgIEBJbnB1dCgpXG4gICAgbWF4RGF0ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgZmllbGQ6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHNldCBpbml0aWFsVmFsdWUodmFsdWU6IFNlYXJjaERhdGVSYW5nZSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcnRpYWw8U2VhcmNoRGF0ZVJhbmdlPj4oKTtcbiAgICBAT3V0cHV0KClcbiAgICB2YWxpZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIGZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwPFNlYXJjaERhdGVSYW5nZT4oe1xuICAgICAgICBkYXRlUmFuZ2VUeXBlOiBEYXRlUmFuZ2VUeXBlLkFOWSxcbiAgICAgICAgaW5MYXN0VmFsdWVUeXBlOiBJbkxhc3REYXRlVHlwZS5EQVlTLFxuICAgICAgICBpbkxhc3RWYWx1ZTogdW5kZWZpbmVkLFxuICAgICAgICBiZXR3ZWVuU3RhcnREYXRlOiB1bmRlZmluZWQsXG4gICAgICAgIGJldHdlZW5FbmREYXRlOiB1bmRlZmluZWRcbiAgICB9KTtcbiAgICBiZXR3ZWVuU3RhcnREYXRlRm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHMuYmV0d2VlblN0YXJ0RGF0ZTtcbiAgICBiZXR3ZWVuRW5kRGF0ZUZvcm1Db250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzLmJldHdlZW5FbmREYXRlO1xuICAgIGNvbnZlcnRlZE1heERhdGU6IERhdGU7XG5cbiAgICByZWFkb25seSBEYXRlUmFuZ2VUeXBlID0gRGF0ZVJhbmdlVHlwZTtcbiAgICByZWFkb25seSBJbkxhc3REYXRlVHlwZSA9IEluTGFzdERhdGVUeXBlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIHVzZXJQcmVmZXJlbmNlc1NlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPERhdGVGbnNBZGFwdGVyPixcbiAgICAgICAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcml2YXRlIGRhdGVGb3JtYXRDb25maWc6IE1hdERhdGVGb3JtYXRzXG4gICAgKSB7fVxuXG4gICAgcmVhZG9ubHkgZW5kRGF0ZVZhbGlkYXRvciA9IChmb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gfCBudWxsID0+IHtcbiAgICAgICAgaWYgKGlzQmVmb3JlKGZvcm1Db250cm9sLnZhbHVlLCB0aGlzLmJldHdlZW5TdGFydERhdGVGb3JtQ29udHJvbC52YWx1ZSkgfHwgaXNBZnRlcihmb3JtQ29udHJvbC52YWx1ZSwgdGhpcy5jb252ZXJ0ZWRNYXhEYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpbnZhbGlkRGF0ZTogdHJ1ZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge307XG4gICAgfTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGVGb3JtYXRDb25maWcuZGlzcGxheS5kYXRlSW5wdXQgPSB0aGlzLmRhdGVGb3JtYXQ7XG4gICAgICAgIHRoaXMuY29udmVydGVkTWF4RGF0ZSA9IGVuZE9mRGF5KHRoaXMubWF4RGF0ZSAmJiB0aGlzLm1heERhdGUgIT09ICd0b2RheScgPyBwYXJzZSh0aGlzLm1heERhdGUsIHRoaXMuZGF0ZUZvcm1hdCwgbmV3IERhdGUoKSkgOiBuZXcgRGF0ZSgpKTtcbiAgICAgICAgdGhpcy51c2VyUHJlZmVyZW5jZXNTZXJ2aWNlXG4gICAgICAgICAgICAuc2VsZWN0KFVzZXJQcmVmZXJlbmNlVmFsdWVzLkxvY2FsZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobG9jYWxlKSA9PiB0aGlzLmRhdGVBZGFwdGVyLnNldExvY2FsZShEYXRlRm5zVXRpbHMuZ2V0TG9jYWxlRnJvbVN0cmluZyhsb2NhbGUpKSk7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5kYXRlUmFuZ2VUeXBlLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRlUmFuZ2VUeXBlKSA9PiB0aGlzLnVwZGF0ZVZhbGlkYXRvcnMoZGF0ZVJhbmdlVHlwZSkpO1xuICAgICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uQ2hhbmdlKCkpO1xuICAgIH1cbiAgICBwcml2YXRlIHVwZGF0ZVZhbGlkYXRvcnMoZGF0ZVJhbmdlVHlwZTogRGF0ZVJhbmdlVHlwZSkge1xuICAgICAgICBzd2l0Y2ggKGRhdGVSYW5nZVR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRGF0ZVJhbmdlVHlwZS5CRVRXRUVOOlxuICAgICAgICAgICAgICAgIHRoaXMuYmV0d2VlblN0YXJ0RGF0ZUZvcm1Db250cm9sLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5iZXR3ZWVuRW5kRGF0ZUZvcm1Db250cm9sLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHRoaXMuZW5kRGF0ZVZhbGlkYXRvcl0pO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5pbkxhc3RWYWx1ZS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRGF0ZVJhbmdlVHlwZS5JTl9MQVNUOlxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5pbkxhc3RWYWx1ZS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmV0d2VlblN0YXJ0RGF0ZUZvcm1Db250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmV0d2VlbkVuZERhdGVGb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmluTGFzdFZhbHVlLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmV0d2VlblN0YXJ0RGF0ZUZvcm1Db250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmV0d2VlbkVuZERhdGVGb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJldHdlZW5TdGFydERhdGVGb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIHRoaXMuYmV0d2VlbkVuZERhdGVGb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5pbkxhc3RWYWx1ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VkLmVtaXQodGhpcy5mb3JtLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbGlkLmVtaXQodGhpcy5mb3JtLnZhbGlkKTtcbiAgICB9XG5cbiAgICBkYXRlQ2hhbmdlZChldmVudDogRXZlbnQsIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgaWYgKGV2ZW50Py50YXJnZXRbJ3ZhbHVlJ10/LnRyaW0oKSkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IHBhcnNlKGV2ZW50LnRhcmdldFsndmFsdWUnXSwgdGhpcy5kYXRlRm9ybWF0LCBuZXcgRGF0ZSgpKTtcbiAgICAgICAgICAgIGlmICghaXNWYWxpZChkYXRlKSkge1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sLnNldEVycm9ycyh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmZvcm1Db250cm9sLmVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBpbnZhbGlkRGF0ZTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbC5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgICAgICAgICAuLi5mb3JtQ29udHJvbC5lcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgIGludmFsaWREYXRlOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKGRhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmFycm93RG93bkFsbG93ZWRDaGFyYWN0ZXJzKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAocGFyc2VJbnQoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSwgMTApID09PSAwKSB7XG4gICAgICAgICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlID0gJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJldmVudEluY29ycmVjdE51bWJlckNoYXJhY3RlcnMoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJy4nOlxuICAgICAgICAgICAgY2FzZSAnLSc6XG4gICAgICAgICAgICBjYXNlICdlJzpcbiAgICAgICAgICAgIGNhc2UgJysnOlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGNhc2UgJzAnOlxuICAgICAgICAgICAgICAgIHJldHVybiAhIShldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtZGF0ZS1yYW5nZS1jb250YWluZXJcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgPG1hdC1yYWRpby1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJkYXRlUmFuZ2VUeXBlXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJhZGYtc2VhcmNoLWRhdGUtcmFuZ2UtY29udGFpbmVyLXJvd1wiPlxuICAgICAgPG1hdC1yYWRpby1idXR0b24gW3ZhbHVlXT1cIkRhdGVSYW5nZVR5cGUuQU5ZXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiZGF0ZS1yYW5nZS1hbnl0aW1lXCI+XG4gICAgICAgIHt7ICdTRUFSQ0guREFURV9SQU5HRV9BRFZBTkNFRC5PUFRJT05TLkFOWVRJTUUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L21hdC1yYWRpby1idXR0b24+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiYWRmLXNlYXJjaC1kYXRlLXJhbmdlLWNvbnRhaW5lci1yb3dcIj5cbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJEYXRlUmFuZ2VUeXBlLklOX0xBU1RcIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJkYXRlLXJhbmdlLWluLWxhc3RcIj5cbiAgICAgICAge3sgJ1NFQVJDSC5EQVRFX1JBTkdFX0FEVkFOQ0VELk9QVElPTlMuSU5fTEFTVCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1zZWFyY2gtZGF0ZS1yYW5nZS1mb3JtLWZpZWxkIGFkZi1zZWFyY2gtZGF0ZS1yYW5nZS1pbnB1dC1maWVsZFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NFQVJDSC5EQVRFX1JBTkdFX0FEVkFOQ0VELkFSSUFfTEFCRUwuTlVNQkVSX0lOUFVUJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCIgbWluPVwiMVwiIGZvcm1Db250cm9sTmFtZT1cImluTGFzdFZhbHVlXCJcbiAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImRhdGUtcmFuZ2UtaW4tbGFzdC1pbnB1dFwiIChpbnB1dCk9XCJuYXJyb3dEb3duQWxsb3dlZENoYXJhY3RlcnMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAoa2V5ZG93bik9XCJwcmV2ZW50SW5jb3JyZWN0TnVtYmVyQ2hhcmFjdGVycygkZXZlbnQpXCI+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLmluTGFzdFZhbHVlLmVycm9ycz8ucmVxdWlyZWRcIj57eyAnU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuRVJST1IuSU5fTEFTVCcgfCB0cmFuc2xhdGUgfX08L21hdC1lcnJvcj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGYtc2VhcmNoLWRhdGUtcmFuZ2UtZm9ybS1maWVsZCBhZGYtc2VhcmNoLWRhdGUtcmFuZ2UtZm9ybS1maWVsZC1zZWxlY3RcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluTGFzdFZhbHVlVHlwZVwiIGRhdGEtYXV0b21hdGlvbi1pZD1cImRhdGUtcmFuZ2UtaW4tbGFzdC1kcm9wZG93blwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIGRhdGEtYXV0b21hdGlvbi1pZD1cImRhdGUtcmFuZ2UtaW4tbGFzdC1vcHRpb24tZGF5c1wiIFt2YWx1ZV09XCJJbkxhc3REYXRlVHlwZS5EQVlTXCI+e3sgJ1NFQVJDSC5EQVRFX1JBTkdFX0FEVkFOQ0VELklOX0xBU1RfTEFCRUxTLkRBWVMnIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIGRhdGEtYXV0b21hdGlvbi1pZD1cImRhdGUtcmFuZ2UtaW4tbGFzdC1vcHRpb24td2Vla3NcIiBbdmFsdWVdPVwiSW5MYXN0RGF0ZVR5cGUuV0VFS1NcIj57eyAnU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuSU5fTEFTVF9MQUJFTFMuV0VFS1MnIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIGRhdGEtYXV0b21hdGlvbi1pZD1cImRhdGUtcmFuZ2UtaW4tbGFzdC1vcHRpb24tbW9udGhzXCIgW3ZhbHVlXT1cIkluTGFzdERhdGVUeXBlLk1PTlRIU1wiPnt7ICdTRUFSQ0guREFURV9SQU5HRV9BRFZBTkNFRC5JTl9MQVNUX0xBQkVMUy5NT05USFMnIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImFkZi1zZWFyY2gtZGF0ZS1yYW5nZS1jb250YWluZXItcm93IGFkZi1zZWFyY2gtZGF0ZS1yYW5nZS1jb250YWluZXItcm93LWRhdGVcIj5cbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJEYXRlUmFuZ2VUeXBlLkJFVFdFRU5cIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJkYXRlLXJhbmdlLWJldHdlZW5cIj5cbiAgICAgICAge3sgJ1NFQVJDSC5EQVRFX1JBTkdFX0FEVkFOQ0VELk9QVElPTlMuQkVUV0VFTicgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1zZWFyY2gtZGF0ZS1yYW5nZS1mb3JtLWZpZWxkXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXQgW3JhbmdlUGlja2VyXT1cIiRhbnkocGlja2VyKVwiIFttYXhdPVwiY29udmVydGVkTWF4RGF0ZVwiPlxuICAgICAgICAgIDxpbnB1dCBtYXRTdGFydERhdGUgcGxhY2Vob2xkZXI9XCJ7eyAnU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuQkVUV0VFTl9QTEFDRUhPTERFUlMuU1RBUlRfREFURScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJkYXRlLXJhbmdlLWJldHdlZW4tc3RhcnQtaW5wdXRcIiBbZm9ybUNvbnRyb2xdPVwiYmV0d2VlblN0YXJ0RGF0ZUZvcm1Db250cm9sXCIgKGNoYW5nZSk9XCJkYXRlQ2hhbmdlZCgkZXZlbnQsIGJldHdlZW5TdGFydERhdGVGb3JtQ29udHJvbClcIj5cbiAgICAgICAgICA8aW5wdXQgbWF0RW5kRGF0ZSBwbGFjZWhvbGRlcj1cInt7ICdTRUFSQ0guREFURV9SQU5HRV9BRFZBTkNFRC5CRVRXRUVOX1BMQUNFSE9MREVSUy5FTkRfREFURScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJkYXRlLXJhbmdlLWJldHdlZW4tZW5kLWlucHV0XCIgW2Zvcm1Db250cm9sXT1cImJldHdlZW5FbmREYXRlRm9ybUNvbnRyb2xcIiAoY2hhbmdlKT1cImRhdGVDaGFuZ2VkKCRldmVudCwgYmV0d2VlbkVuZERhdGVGb3JtQ29udHJvbClcIj5cbiAgICAgICAgPC9tYXQtZGF0ZS1yYW5nZS1pbnB1dD5cbiAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJkYXRlLXJhbmdlLWJldHdlZW4tZGF0ZXBpY2tlci10b2dnbGVcIiAvPlxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyICNwaWNrZXIgLz5cblxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiYmV0d2VlblN0YXJ0RGF0ZUZvcm1Db250cm9sLmVycm9ycz8uaW52YWxpZERhdGVcIj57eyAnU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuRVJST1IuU1RBUlRfREFURS5JTlZBTElEX0ZPUk1BVCcgfCB0cmFuc2xhdGUgfX08L21hdC1lcnJvcj5cbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImJldHdlZW5TdGFydERhdGVGb3JtQ29udHJvbC5lcnJvcnM/LnJlcXVpcmVkXCI+e3sgJ1NFQVJDSC5EQVRFX1JBTkdFX0FEVkFOQ0VELkVSUk9SLlNUQVJUX0RBVEUuUkVRVUlSRUQnIHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJiZXR3ZWVuRW5kRGF0ZUZvcm1Db250cm9sLmVycm9ycz8uaW52YWxpZERhdGVcIj57eyAnU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuRVJST1IuRU5EX0RBVEUuSU5WQUxJRF9GT1JNQVQnIHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJiZXR3ZWVuRW5kRGF0ZUZvcm1Db250cm9sLmVycm9ycz8ucmVxdWlyZWRcIj57eyAnU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuRVJST1IuRU5EX0RBVEUuUkVRVUlSRUQnIHwgdHJhbnNsYXRlIH19PC9tYXQtZXJyb3I+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvc3Bhbj5cbiAgPC9tYXQtcmFkaW8tZ3JvdXA+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -191,11 +191,11 @@ export class SearchDateRangeTabbedComponent {
|
|
|
191
191
|
? this.settings.displayedLabelsByField[fieldForDisplayLabel]
|
|
192
192
|
: fieldForDisplayLabel;
|
|
193
193
|
}
|
|
194
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
195
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
194
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SearchDateRangeTabbedComponent, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
195
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: SearchDateRangeTabbedComponent, isStandalone: true, selector: "adf-search-date-range-tabbed", ngImport: i0, template: "<adf-search-filter-tabbed>\n <ng-container *ngFor=\"let field of fields\">\n <adf-search-date-range\n *adf-search-filter-tab=\"getTabLabel(field)\"\n [dateFormat]=\"settings.dateFormat\"\n [maxDate]=\"settings.maxDate\"\n [field]=\"field\"\n [initialValue]=\"preselectedValues[field]\"\n (changed)=\"onDateRangedValueChanged($event, field)\"\n (valid)=\"tabsValidity[field]=$event\" />\n </ng-container>\n</adf-search-filter-tabbed>\n", styles: ["adf-search-date-range-tabbed .mat-mdc-tab-header{margin-top:-5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SearchFilterTabbedComponent, selector: "adf-search-filter-tabbed" }, { kind: "component", type: SearchDateRangeComponent, selector: "adf-search-date-range", inputs: ["dateFormat", "maxDate", "field", "initialValue"], outputs: ["changed", "valid"] }, { kind: "directive", type: SearchFilterTabDirective, selector: "[adf-search-filter-tab]", inputs: ["adf-search-filter-tab"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
196
196
|
}
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SearchDateRangeTabbedComponent, decorators: [{
|
|
198
198
|
type: Component,
|
|
199
199
|
args: [{ selector: 'adf-search-date-range-tabbed', standalone: true, imports: [CommonModule, SearchFilterTabbedComponent, SearchDateRangeComponent, SearchFilterTabDirective], encapsulation: ViewEncapsulation.None, template: "<adf-search-filter-tabbed>\n <ng-container *ngFor=\"let field of fields\">\n <adf-search-date-range\n *adf-search-filter-tab=\"getTabLabel(field)\"\n [dateFormat]=\"settings.dateFormat\"\n [maxDate]=\"settings.maxDate\"\n [field]=\"field\"\n [initialValue]=\"preselectedValues[field]\"\n (changed)=\"onDateRangedValueChanged($event, field)\"\n (valid)=\"tabsValidity[field]=$event\" />\n </ng-container>\n</adf-search-filter-tabbed>\n", styles: ["adf-search-date-range-tabbed .mat-mdc-tab-header{margin-top:-5px}\n"] }]
|
|
200
200
|
}], ctorParameters: () => [{ type: i1.TranslationService }] });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRhdGUtcmFuZ2UtdGFiYmVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLWRhdGUtcmFuZ2UtdGFiYmVkL3NlYXJjaC1kYXRlLXJhbmdlLXRhYmJlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1kYXRlLXJhbmdlLXRhYmJlZC9zZWFyY2gtZGF0ZS1yYW5nZS10YWJiZWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUtwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEosT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFB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O1lBQ3BDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxvQkFBNEI7UUFDeEQsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUMsb0JBQW9CLENBQUM7WUFDaEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLENBQUM7WUFDNUQsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO0lBQy9CLENBQUM7K0dBdExRLDhCQUE4QjttR0FBOUIsOEJBQThCLHdGQzVDM0MsOGdCQVlBLDRIRDJCYyxZQUFZLDRKQUFFLDJCQUEyQixxRUFBRSx3QkFBd0IsNkpBQUUsd0JBQXdCOzs0RkFLOUYsOEJBQThCO2tCQVIxQyxTQUFTOytCQUNJLDhCQUE4QixjQUM1QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLENBQUMsaUJBR3pGLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgaW5qZWN0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VUeXBlIH0gZnJvbSAnLi9zZWFyY2gtZGF0ZS1yYW5nZS9kYXRlLXJhbmdlLXR5cGUnO1xuaW1wb3J0IHsgU2VhcmNoRGF0ZVJhbmdlIH0gZnJvbSAnLi9zZWFyY2gtZGF0ZS1yYW5nZS9zZWFyY2gtZGF0ZS1yYW5nZSc7XG5pbXBvcnQgeyBTZWFyY2hXaWRnZXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VhcmNoLXdpZGdldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VhcmNoV2lkZ2V0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VhcmNoLXdpZGdldC1zZXR0aW5ncy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VhcmNoUXVlcnlCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NlYXJjaC1xdWVyeS1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5MYXN0RGF0ZVR5cGUgfSBmcm9tICcuL3NlYXJjaC1kYXRlLXJhbmdlL2luLWxhc3QtZGF0ZS10eXBlJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBlbmRPZkRheSwgZW5kT2ZUb2RheSwgZm9ybWF0LCBmb3JtYXRJU08sIHBhcnNlSVNPLCBzdGFydE9mRGF5LCBzdGFydE9mTW9udGgsIHN0YXJ0T2ZXZWVrLCBzdWJEYXlzLCBzdWJNb250aHMsIHN1YldlZWtzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNlYXJjaEZpbHRlclRhYmJlZENvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC1maWx0ZXItdGFiYmVkL3NlYXJjaC1maWx0ZXItdGFiYmVkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hEYXRlUmFuZ2VDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1kYXRlLXJhbmdlL3NlYXJjaC1kYXRlLXJhbmdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hGaWx0ZXJUYWJEaXJlY3RpdmUgfSBmcm9tICcuLi9zZWFyY2gtZmlsdGVyLXRhYmJlZC9zZWFyY2gtZmlsdGVyLXRhYi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5jb25zdCBERUZBVUxUX0RBVEVfRElTUExBWV9GT1JNQVQgPSAnZGQtTU1NLXl5JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VhcmNoLWRhdGUtcmFuZ2UtdGFiYmVkJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNlYXJjaEZpbHRlclRhYmJlZENvbXBvbmVudCwgU2VhcmNoRGF0ZVJhbmdlQ29tcG9uZW50LCBTZWFyY2hGaWx0ZXJUYWJEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtZGF0ZS1yYW5nZS10YWJiZWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlYXJjaC1kYXRlLXJhbmdlLXRhYmJlZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoRGF0ZVJhbmdlVGFiYmVkQ29tcG9uZW50IGltcGxlbWVudHMgU2VhcmNoV2lkZ2V0LCBPbkluaXQge1xuICAgIGRpc3BsYXlWYWx1ZSQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmc+KDEpO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgc3RhcnRWYWx1ZTogU2VhcmNoRGF0ZVJhbmdlID0ge1xuICAgICAgICBkYXRlUmFuZ2VUeXBlOiBEYXRlUmFuZ2VUeXBlLkFOWSxcbiAgICAgICAgaW5MYXN0VmFsdWVUeXBlOiBJbkxhc3REYXRlVHlwZS5EQVlTLFxuICAgICAgICBpbkxhc3RWYWx1ZTogdW5kZWZpbmVkLFxuICAgICAgICBiZXR3ZWVuU3RhcnREYXRlOiB1bmRlZmluZWQsXG4gICAgICAgIGJldHdlZW5FbmREYXRlOiB1bmRlZmluZWRcbiAgICB9O1xuICAgIHByZXNlbGVjdGVkVmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IFNlYXJjaERhdGVSYW5nZSB9ID0ge307XG4gICAgc2V0dGluZ3M/OiBTZWFyY2hXaWRnZXRTZXR0aW5ncztcbiAgICBjb250ZXh0PzogU2VhcmNoUXVlcnlCdWlsZGVyU2VydmljZTtcbiAgICBmaWVsZHM6IHN0cmluZ1tdO1xuICAgIHRhYnNWYWxpZGl0eTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcbiAgICBjb21iaW5lZFF1ZXJ5OiBzdHJpbmc7XG4gICAgY29tYmluZWREaXNwbGF5VmFsdWU6IHN0cmluZztcblxuICAgIHByaXZhdGUgdmFsdWU6IHsgW2tleTogc3RyaW5nXTogUGFydGlhbDxTZWFyY2hEYXRlUmFuZ2U+IH0gPSB7fTtcbiAgICBwcml2YXRlIHF1ZXJ5TWFwQnlGaWVsZDogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgcHJpdmF0ZSBkaXNwbGF5VmFsdWVNYXBCeUZpZWxkOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmllbGRzID0gdGhpcy5zZXR0aW5ncz8uZmllbGQuc3BsaXQoJywnKS5tYXAoKGZpZWxkKSA9PiBmaWVsZC50cmltKCkpO1xuICAgICAgICB0aGlzLnNldERlZmF1bHREYXRlRm9ybWF0U2V0dGluZ3MoKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LnBvcHVsYXRlRmlsdGVyc1xuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGZpbHRlcnNRdWVyaWVzKSA9PiBmaWx0ZXJzUXVlcmllc1t0aGlzLmlkXSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlclF1ZXJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlclF1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGZpbHRlclF1ZXJ5KS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyUXVlcnlbZmllbGRdLmJldHdlZW5TdGFydERhdGUgPSBmaWx0ZXJRdWVyeVtmaWVsZF0uYmV0d2VlblN0YXJ0RGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gcGFyc2VJU08oZmlsdGVyUXVlcnlbZmllbGRdLmJldHdlZW5TdGFydERhdGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeVtmaWVsZF0uYmV0d2VlbkVuZERhdGUgPSBmaWx0ZXJRdWVyeVtmaWVsZF0uYmV0d2VlbkVuZERhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHBhcnNlSVNPKGZpbHRlclF1ZXJ5W2ZpZWxkXS5iZXR3ZWVuRW5kRGF0ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJlc2VsZWN0ZWRWYWx1ZXNbZmllbGRdID0gZmlsdGVyUXVlcnlbZmllbGRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkRhdGVSYW5nZWRWYWx1ZUNoYW5nZWQoZmlsdGVyUXVlcnlbZmllbGRdLCBmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdFZhbHVlcyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5maWx0ZXJMb2FkZWQubmV4dCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgc2V0RGVmYXVsdERhdGVGb3JtYXRTZXR0aW5ncygpIHtcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3MgJiYgIXRoaXMuc2V0dGluZ3MuZGF0ZUZvcm1hdCkge1xuICAgICAgICAgICAgdGhpcy5zZXR0aW5ncy5kYXRlRm9ybWF0ID0gREVGQVVMVF9EQVRFX0RJU1BMQVlfRk9STUFUO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q3VycmVudFZhbHVlKCk6IHsgW2tleTogc3RyaW5nXTogUGFydGlhbDxTZWFyY2hEYXRlUmFuZ2U+IH0ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICBoYXNWYWxpZFZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLnRhYnNWYWxpZGl0eSkuZXZlcnkoKHZhbGlkKSA9PiB2YWxpZCk7XG4gICAgfVxuXG4gICAgcmVzZXQodXBkYXRlQ29udGV4dCA9IHRydWUpIHtcbiAgICAgICAgdGhpcy5jb21iaW5lZFF1ZXJ5ID0gJyc7XG4gICAgICAgIHRoaXMuY29tYmluZWREaXNwbGF5VmFsdWUgPSAnJztcbiAgICAgICAgdGhpcy5zdGFydFZhbHVlID0ge1xuICAgICAgICAgICAgLi4udGhpcy5zdGFydFZhbHVlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuZmlsdGVyUmF3UGFyYW1zW2ZpZWxkXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29udGV4dC5xdWVyeUZyYWdtZW50c1t0aGlzLmlkXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpbHRlclJhd1BhcmFtc1t0aGlzLmlkXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5zdWJtaXRWYWx1ZXModXBkYXRlQ29udGV4dCk7XG4gICAgfVxuXG4gICAgc2V0VmFsdWUodmFsdWU6IHsgW2tleTogc3RyaW5nXTogU2VhcmNoRGF0ZVJhbmdlIH0pIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldFRhYkxhYmVsKGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXR0aW5ncz8uZGlzcGxheWVkTGFiZWxzQnlGaWVsZD8uW2ZpZWxkXSA/IHRoaXMuc2V0dGluZ3MuZGlzcGxheWVkTGFiZWxzQnlGaWVsZFtmaWVsZF0gOiBmaWVsZDtcbiAgICB9XG5cbiAgICBzdWJtaXRWYWx1ZXModXBkYXRlQ29udGV4dCA9IHRydWUpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LnF1ZXJ5RnJhZ21lbnRzW3RoaXMuaWRdID0gdGhpcy5jb21iaW5lZFF1ZXJ5O1xuICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSQubmV4dCh0aGlzLmNvbWJpbmVkRGlzcGxheVZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuaWQgJiYgdGhpcy5jb250ZXh0ICYmIHVwZGF0ZUNvbnRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51cGRhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkRhdGVSYW5nZWRWYWx1ZUNoYW5nZWQodmFsdWU6IFBhcnRpYWw8U2VhcmNoRGF0ZVJhbmdlPiwgZmllbGQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNvbnRleHQuZmlsdGVyUmF3UGFyYW1zW3RoaXMuaWRdIHx8PSB7fTtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpbHRlclJhd1BhcmFtc1t0aGlzLmlkXVtmaWVsZF0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy52YWx1ZVtmaWVsZF0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVRdWVyeSh2YWx1ZSwgZmllbGQpO1xuICAgICAgICB0aGlzLnVwZGF0ZURpc3BsYXlWYWx1ZSh2YWx1ZSwgZmllbGQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2VuZXJhdGVRdWVyeSh2YWx1ZTogUGFydGlhbDxTZWFyY2hEYXRlUmFuZ2U+LCBmaWVsZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHF1ZXJ5ID0gJyc7XG4gICAgICAgIGxldCBzdGFydERhdGU6IERhdGU7XG4gICAgICAgIGxldCBlbmREYXRlOiBEYXRlO1xuICAgICAgICBpZiAodmFsdWUuZGF0ZVJhbmdlVHlwZSA9PT0gRGF0ZVJhbmdlVHlwZS5JTl9MQVNUKSB7XG4gICAgICAgICAgICBpZiAodmFsdWUuaW5MYXN0VmFsdWUpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHZhbHVlLmluTGFzdFZhbHVlVHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEluTGFzdERhdGVUeXBlLkRBWVM6XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydERhdGUgPSBzdGFydE9mRGF5KHN1YkRheXMobmV3IERhdGUoKSwgcGFyc2VJbnQodmFsdWUuaW5MYXN0VmFsdWUsIDEwKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgSW5MYXN0RGF0ZVR5cGUuV0VFS1M6XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydERhdGUgPSBzdGFydE9mV2VlayhzdWJXZWVrcyhuZXcgRGF0ZSgpLCBwYXJzZUludCh2YWx1ZS5pbkxhc3RWYWx1ZSwgMTApKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBJbkxhc3REYXRlVHlwZS5NT05USFM6XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydERhdGUgPSBzdGFydE9mTW9udGgoc3ViTW9udGhzKG5ldyBEYXRlKCksIHBhcnNlSW50KHZhbHVlLmluTGFzdFZhbHVlLCAxMCkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZW5kRGF0ZSA9IGVuZE9mVG9kYXkoKTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5kYXRlUmFuZ2VUeXBlID09PSBEYXRlUmFuZ2VUeXBlLkJFVFdFRU4pIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5iZXR3ZWVuU3RhcnREYXRlICYmIHZhbHVlLmJldHdlZW5FbmREYXRlKSB7XG4gICAgICAgICAgICAgICAgc3RhcnREYXRlID0gc3RhcnRPZkRheSh2YWx1ZS5iZXR3ZWVuU3RhcnREYXRlKTtcbiAgICAgICAgICAgICAgICBlbmREYXRlID0gZW5kT2ZEYXkodmFsdWUuYmV0d2VlbkVuZERhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzdGFydERhdGUgJiYgZW5kRGF0ZSkge1xuICAgICAgICAgICAgcXVlcnkgPSBgJHtmaWVsZH06Wycke2Zvcm1hdElTTyhzdGFydERhdGUpfScgVE8gJyR7Zm9ybWF0SVNPKGVuZERhdGUpfSddYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcXVlcnk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZURpc3BsYXlWYWx1ZSh2YWx1ZTogUGFydGlhbDxTZWFyY2hEYXRlUmFuZ2U+KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGRpc3BsYXlWYWx1ZSA9ICcnO1xuICAgICAgICBpZiAodmFsdWUuZGF0ZVJhbmdlVHlwZSA9PT0gRGF0ZVJhbmdlVHlwZS5JTl9MQVNUICYmIHZhbHVlLmluTGFzdFZhbHVlKSB7XG4gICAgICAgICAgICBkaXNwbGF5VmFsdWUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuSU5fTEFTVF9ESVNQTEFZX0xBQkVMUy4ke3ZhbHVlLmluTGFzdFZhbHVlVHlwZX1gLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLmluTGFzdFZhbHVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5kYXRlUmFuZ2VUeXBlID09PSBEYXRlUmFuZ2VUeXBlLkJFVFdFRU4gJiYgdmFsdWUuYmV0d2VlblN0YXJ0RGF0ZSAmJiB2YWx1ZS5iZXR3ZWVuRW5kRGF0ZSkge1xuICAgICAgICAgICAgZGlzcGxheVZhbHVlID0gYCR7Zm9ybWF0KHN0YXJ0T2ZEYXkodmFsdWUuYmV0d2VlblN0YXJ0RGF0ZSksIHRoaXMuc2V0dGluZ3MuZGF0ZUZvcm1hdCl9IC0gJHtmb3JtYXQoXG4gICAgICAgICAgICAgICAgZW5kT2ZEYXkodmFsdWUuYmV0d2VlbkVuZERhdGUpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2V0dGluZ3MuZGF0ZUZvcm1hdFxuICAgICAgICAgICAgKX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXNwbGF5VmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVRdWVyeSh2YWx1ZTogUGFydGlhbDxTZWFyY2hEYXRlUmFuZ2U+LCBmaWVsZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY29tYmluZWRRdWVyeSA9ICcnO1xuICAgICAgICB0aGlzLnF1ZXJ5TWFwQnlGaWVsZC5zZXQoZmllbGQsIHRoaXMuZ2VuZXJhdGVRdWVyeSh2YWx1ZSwgZmllbGQpKTtcbiAgICAgICAgdGhpcy5xdWVyeU1hcEJ5RmllbGQuZm9yRWFjaCgocXVlcnk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKHF1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21iaW5lZFF1ZXJ5ID0gdGhpcy5jb21iaW5lZFF1ZXJ5ID8gYCR7dGhpcy5jb21iaW5lZFF1ZXJ5fSBBTkQgJHtxdWVyeX1gIDogYCR7cXVlcnl9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVEaXNwbGF5VmFsdWUodmFsdWU6IFBhcnRpYWw8U2VhcmNoRGF0ZVJhbmdlPiwgZmllbGQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNvbWJpbmVkRGlzcGxheVZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMuZGlzcGxheVZhbHVlTWFwQnlGaWVsZC5zZXQoZmllbGQsIHRoaXMuZ2VuZXJhdGVEaXNwbGF5VmFsdWUodmFsdWUpKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWVNYXBCeUZpZWxkLmZvckVhY2goKGRpc3BsYXlWYWx1ZTogc3RyaW5nLCBmaWVsZEZvckRpc3BsYXlMYWJlbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBpZiAoZGlzcGxheVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzcGxheUxhYmVsRm9yRmllbGQgPSBgJHt0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmluc3RhbnQodGhpcy5nZXREaXNwbGF5TGFiZWxGb3JGaWVsZChmaWVsZEZvckRpc3BsYXlMYWJlbCkpXG4gICAgICAgICAgICAgICAgICAgIC50b1VwcGVyQ2FzZSgpfTogJHtkaXNwbGF5VmFsdWV9YDtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbWJpbmVkRGlzcGxheVZhbHVlID0gdGhpcy5jb21iaW5lZERpc3BsYXlWYWx1ZVxuICAgICAgICAgICAgICAgICAgICA/IGAke3RoaXMuY29tYmluZWREaXNwbGF5VmFsdWV9ICR7ZGlzcGxheUxhYmVsRm9yRmllbGR9YFxuICAgICAgICAgICAgICAgICAgICA6IGAke2Rpc3BsYXlMYWJlbEZvckZpZWxkfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGlzcGxheUxhYmVsRm9yRmllbGQoZmllbGRGb3JEaXNwbGF5TGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzPy5kaXNwbGF5ZWRMYWJlbHNCeUZpZWxkPy5bZmllbGRGb3JEaXNwbGF5TGFiZWxdXG4gICAgICAgICAgICA/IHRoaXMuc2V0dGluZ3MuZGlzcGxheWVkTGFiZWxzQnlGaWVsZFtmaWVsZEZvckRpc3BsYXlMYWJlbF1cbiAgICAgICAgICAgIDogZmllbGRGb3JEaXNwbGF5TGFiZWw7XG4gICAgfVxufVxuIiwiPGFkZi1zZWFyY2gtZmlsdGVyLXRhYmJlZD5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHNcIj5cbiAgICAgICAgPGFkZi1zZWFyY2gtZGF0ZS1yYW5nZVxuICAgICAgICAgICAgKmFkZi1zZWFyY2gtZmlsdGVyLXRhYj1cImdldFRhYkxhYmVsKGZpZWxkKVwiXG4gICAgICAgICAgICBbZGF0ZUZvcm1hdF09XCJzZXR0aW5ncy5kYXRlRm9ybWF0XCJcbiAgICAgICAgICAgIFttYXhEYXRlXT1cInNldHRpbmdzLm1heERhdGVcIlxuICAgICAgICAgICAgW2ZpZWxkXT1cImZpZWxkXCJcbiAgICAgICAgICAgIFtpbml0aWFsVmFsdWVdPVwicHJlc2VsZWN0ZWRWYWx1ZXNbZmllbGRdXCJcbiAgICAgICAgICAgIChjaGFuZ2VkKT1cIm9uRGF0ZVJhbmdlZFZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiXG4gICAgICAgICAgICAodmFsaWQpPVwidGFic1ZhbGlkaXR5W2ZpZWxkXT0kZXZlbnRcIiAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9hZGYtc2VhcmNoLWZpbHRlci10YWJiZWQ+XG4iXX0=
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRhdGUtcmFuZ2UtdGFiYmVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvc2VhcmNoL2NvbXBvbmVudHMvc2VhcmNoLWRhdGUtcmFuZ2UtdGFiYmVkL3NlYXJjaC1kYXRlLXJhbmdlLXRhYmJlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3NlYXJjaC9jb21wb25lbnRzL3NlYXJjaC1kYXRlLXJhbmdlLXRhYmJlZC9zZWFyY2gtZGF0ZS1yYW5nZS10YWJiZWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUtwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEosT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFB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O1lBQ3BDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxvQkFBNEI7UUFDeEQsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUMsb0JBQW9CLENBQUM7WUFDaEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLENBQUM7WUFDNUQsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO0lBQy9CLENBQUM7OEdBdExRLDhCQUE4QjtrR0FBOUIsOEJBQThCLHdGQzVDM0MsOGdCQVlBLDRIRDJCYyxZQUFZLDRKQUFFLDJCQUEyQixxRUFBRSx3QkFBd0IsNkpBQUUsd0JBQXdCOzsyRkFLOUYsOEJBQThCO2tCQVIxQyxTQUFTOytCQUNJLDhCQUE4QixjQUM1QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLENBQUMsaUJBR3pGLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgaW5qZWN0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VUeXBlIH0gZnJvbSAnLi9zZWFyY2gtZGF0ZS1yYW5nZS9kYXRlLXJhbmdlLXR5cGUnO1xuaW1wb3J0IHsgU2VhcmNoRGF0ZVJhbmdlIH0gZnJvbSAnLi9zZWFyY2gtZGF0ZS1yYW5nZS9zZWFyY2gtZGF0ZS1yYW5nZSc7XG5pbXBvcnQgeyBTZWFyY2hXaWRnZXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VhcmNoLXdpZGdldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VhcmNoV2lkZ2V0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VhcmNoLXdpZGdldC1zZXR0aW5ncy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2VhcmNoUXVlcnlCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NlYXJjaC1xdWVyeS1idWlsZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5MYXN0RGF0ZVR5cGUgfSBmcm9tICcuL3NlYXJjaC1kYXRlLXJhbmdlL2luLWxhc3QtZGF0ZS10eXBlJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBlbmRPZkRheSwgZW5kT2ZUb2RheSwgZm9ybWF0LCBmb3JtYXRJU08sIHBhcnNlSVNPLCBzdGFydE9mRGF5LCBzdGFydE9mTW9udGgsIHN0YXJ0T2ZXZWVrLCBzdWJEYXlzLCBzdWJNb250aHMsIHN1YldlZWtzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNlYXJjaEZpbHRlclRhYmJlZENvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC1maWx0ZXItdGFiYmVkL3NlYXJjaC1maWx0ZXItdGFiYmVkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hEYXRlUmFuZ2VDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1kYXRlLXJhbmdlL3NlYXJjaC1kYXRlLXJhbmdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hGaWx0ZXJUYWJEaXJlY3RpdmUgfSBmcm9tICcuLi9zZWFyY2gtZmlsdGVyLXRhYmJlZC9zZWFyY2gtZmlsdGVyLXRhYi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5jb25zdCBERUZBVUxUX0RBVEVfRElTUExBWV9GT1JNQVQgPSAnZGQtTU1NLXl5JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2VhcmNoLWRhdGUtcmFuZ2UtdGFiYmVkJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNlYXJjaEZpbHRlclRhYmJlZENvbXBvbmVudCwgU2VhcmNoRGF0ZVJhbmdlQ29tcG9uZW50LCBTZWFyY2hGaWx0ZXJUYWJEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtZGF0ZS1yYW5nZS10YWJiZWQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlYXJjaC1kYXRlLXJhbmdlLXRhYmJlZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoRGF0ZVJhbmdlVGFiYmVkQ29tcG9uZW50IGltcGxlbWVudHMgU2VhcmNoV2lkZ2V0LCBPbkluaXQge1xuICAgIGRpc3BsYXlWYWx1ZSQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmc+KDEpO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgc3RhcnRWYWx1ZTogU2VhcmNoRGF0ZVJhbmdlID0ge1xuICAgICAgICBkYXRlUmFuZ2VUeXBlOiBEYXRlUmFuZ2VUeXBlLkFOWSxcbiAgICAgICAgaW5MYXN0VmFsdWVUeXBlOiBJbkxhc3REYXRlVHlwZS5EQVlTLFxuICAgICAgICBpbkxhc3RWYWx1ZTogdW5kZWZpbmVkLFxuICAgICAgICBiZXR3ZWVuU3RhcnREYXRlOiB1bmRlZmluZWQsXG4gICAgICAgIGJldHdlZW5FbmREYXRlOiB1bmRlZmluZWRcbiAgICB9O1xuICAgIHByZXNlbGVjdGVkVmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IFNlYXJjaERhdGVSYW5nZSB9ID0ge307XG4gICAgc2V0dGluZ3M/OiBTZWFyY2hXaWRnZXRTZXR0aW5ncztcbiAgICBjb250ZXh0PzogU2VhcmNoUXVlcnlCdWlsZGVyU2VydmljZTtcbiAgICBmaWVsZHM6IHN0cmluZ1tdO1xuICAgIHRhYnNWYWxpZGl0eTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcbiAgICBjb21iaW5lZFF1ZXJ5OiBzdHJpbmc7XG4gICAgY29tYmluZWREaXNwbGF5VmFsdWU6IHN0cmluZztcblxuICAgIHByaXZhdGUgdmFsdWU6IHsgW2tleTogc3RyaW5nXTogUGFydGlhbDxTZWFyY2hEYXRlUmFuZ2U+IH0gPSB7fTtcbiAgICBwcml2YXRlIHF1ZXJ5TWFwQnlGaWVsZDogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgcHJpdmF0ZSBkaXNwbGF5VmFsdWVNYXBCeUZpZWxkOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmllbGRzID0gdGhpcy5zZXR0aW5ncz8uZmllbGQuc3BsaXQoJywnKS5tYXAoKGZpZWxkKSA9PiBmaWVsZC50cmltKCkpO1xuICAgICAgICB0aGlzLnNldERlZmF1bHREYXRlRm9ybWF0U2V0dGluZ3MoKTtcbiAgICAgICAgdGhpcy5jb250ZXh0LnBvcHVsYXRlRmlsdGVyc1xuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGZpbHRlcnNRdWVyaWVzKSA9PiBmaWx0ZXJzUXVlcmllc1t0aGlzLmlkXSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlclF1ZXJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlclF1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGZpbHRlclF1ZXJ5KS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyUXVlcnlbZmllbGRdLmJldHdlZW5TdGFydERhdGUgPSBmaWx0ZXJRdWVyeVtmaWVsZF0uYmV0d2VlblN0YXJ0RGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gcGFyc2VJU08oZmlsdGVyUXVlcnlbZmllbGRdLmJldHdlZW5TdGFydERhdGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJRdWVyeVtmaWVsZF0uYmV0d2VlbkVuZERhdGUgPSBmaWx0ZXJRdWVyeVtmaWVsZF0uYmV0d2VlbkVuZERhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHBhcnNlSVNPKGZpbHRlclF1ZXJ5W2ZpZWxkXS5iZXR3ZWVuRW5kRGF0ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJlc2VsZWN0ZWRWYWx1ZXNbZmllbGRdID0gZmlsdGVyUXVlcnlbZmllbGRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkRhdGVSYW5nZWRWYWx1ZUNoYW5nZWQoZmlsdGVyUXVlcnlbZmllbGRdLCBmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Ym1pdFZhbHVlcyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5maWx0ZXJMb2FkZWQubmV4dCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgc2V0RGVmYXVsdERhdGVGb3JtYXRTZXR0aW5ncygpIHtcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3MgJiYgIXRoaXMuc2V0dGluZ3MuZGF0ZUZvcm1hdCkge1xuICAgICAgICAgICAgdGhpcy5zZXR0aW5ncy5kYXRlRm9ybWF0ID0gREVGQVVMVF9EQVRFX0RJU1BMQVlfRk9STUFUO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q3VycmVudFZhbHVlKCk6IHsgW2tleTogc3RyaW5nXTogUGFydGlhbDxTZWFyY2hEYXRlUmFuZ2U+IH0ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICBoYXNWYWxpZFZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLnRhYnNWYWxpZGl0eSkuZXZlcnkoKHZhbGlkKSA9PiB2YWxpZCk7XG4gICAgfVxuXG4gICAgcmVzZXQodXBkYXRlQ29udGV4dCA9IHRydWUpIHtcbiAgICAgICAgdGhpcy5jb21iaW5lZFF1ZXJ5ID0gJyc7XG4gICAgICAgIHRoaXMuY29tYmluZWREaXNwbGF5VmFsdWUgPSAnJztcbiAgICAgICAgdGhpcy5zdGFydFZhbHVlID0ge1xuICAgICAgICAgICAgLi4udGhpcy5zdGFydFZhbHVlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuZmlsdGVyUmF3UGFyYW1zW2ZpZWxkXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29udGV4dC5xdWVyeUZyYWdtZW50c1t0aGlzLmlkXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpbHRlclJhd1BhcmFtc1t0aGlzLmlkXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5zdWJtaXRWYWx1ZXModXBkYXRlQ29udGV4dCk7XG4gICAgfVxuXG4gICAgc2V0VmFsdWUodmFsdWU6IHsgW2tleTogc3RyaW5nXTogU2VhcmNoRGF0ZVJhbmdlIH0pIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldFRhYkxhYmVsKGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXR0aW5ncz8uZGlzcGxheWVkTGFiZWxzQnlGaWVsZD8uW2ZpZWxkXSA/IHRoaXMuc2V0dGluZ3MuZGlzcGxheWVkTGFiZWxzQnlGaWVsZFtmaWVsZF0gOiBmaWVsZDtcbiAgICB9XG5cbiAgICBzdWJtaXRWYWx1ZXModXBkYXRlQ29udGV4dCA9IHRydWUpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LnF1ZXJ5RnJhZ21lbnRzW3RoaXMuaWRdID0gdGhpcy5jb21iaW5lZFF1ZXJ5O1xuICAgICAgICB0aGlzLmRpc3BsYXlWYWx1ZSQubmV4dCh0aGlzLmNvbWJpbmVkRGlzcGxheVZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuaWQgJiYgdGhpcy5jb250ZXh0ICYmIHVwZGF0ZUNvbnRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51cGRhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkRhdGVSYW5nZWRWYWx1ZUNoYW5nZWQodmFsdWU6IFBhcnRpYWw8U2VhcmNoRGF0ZVJhbmdlPiwgZmllbGQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNvbnRleHQuZmlsdGVyUmF3UGFyYW1zW3RoaXMuaWRdIHx8PSB7fTtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpbHRlclJhd1BhcmFtc1t0aGlzLmlkXVtmaWVsZF0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy52YWx1ZVtmaWVsZF0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVRdWVyeSh2YWx1ZSwgZmllbGQpO1xuICAgICAgICB0aGlzLnVwZGF0ZURpc3BsYXlWYWx1ZSh2YWx1ZSwgZmllbGQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2VuZXJhdGVRdWVyeSh2YWx1ZTogUGFydGlhbDxTZWFyY2hEYXRlUmFuZ2U+LCBmaWVsZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHF1ZXJ5ID0gJyc7XG4gICAgICAgIGxldCBzdGFydERhdGU6IERhdGU7XG4gICAgICAgIGxldCBlbmREYXRlOiBEYXRlO1xuICAgICAgICBpZiAodmFsdWUuZGF0ZVJhbmdlVHlwZSA9PT0gRGF0ZVJhbmdlVHlwZS5JTl9MQVNUKSB7XG4gICAgICAgICAgICBpZiAodmFsdWUuaW5MYXN0VmFsdWUpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHZhbHVlLmluTGFzdFZhbHVlVHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEluTGFzdERhdGVUeXBlLkRBWVM6XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydERhdGUgPSBzdGFydE9mRGF5KHN1YkRheXMobmV3IERhdGUoKSwgcGFyc2VJbnQodmFsdWUuaW5MYXN0VmFsdWUsIDEwKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgSW5MYXN0RGF0ZVR5cGUuV0VFS1M6XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydERhdGUgPSBzdGFydE9mV2VlayhzdWJXZWVrcyhuZXcgRGF0ZSgpLCBwYXJzZUludCh2YWx1ZS5pbkxhc3RWYWx1ZSwgMTApKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBJbkxhc3REYXRlVHlwZS5NT05USFM6XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydERhdGUgPSBzdGFydE9mTW9udGgoc3ViTW9udGhzKG5ldyBEYXRlKCksIHBhcnNlSW50KHZhbHVlLmluTGFzdFZhbHVlLCAxMCkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZW5kRGF0ZSA9IGVuZE9mVG9kYXkoKTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5kYXRlUmFuZ2VUeXBlID09PSBEYXRlUmFuZ2VUeXBlLkJFVFdFRU4pIHtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5iZXR3ZWVuU3RhcnREYXRlICYmIHZhbHVlLmJldHdlZW5FbmREYXRlKSB7XG4gICAgICAgICAgICAgICAgc3RhcnREYXRlID0gc3RhcnRPZkRheSh2YWx1ZS5iZXR3ZWVuU3RhcnREYXRlKTtcbiAgICAgICAgICAgICAgICBlbmREYXRlID0gZW5kT2ZEYXkodmFsdWUuYmV0d2VlbkVuZERhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzdGFydERhdGUgJiYgZW5kRGF0ZSkge1xuICAgICAgICAgICAgcXVlcnkgPSBgJHtmaWVsZH06Wycke2Zvcm1hdElTTyhzdGFydERhdGUpfScgVE8gJyR7Zm9ybWF0SVNPKGVuZERhdGUpfSddYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcXVlcnk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZURpc3BsYXlWYWx1ZSh2YWx1ZTogUGFydGlhbDxTZWFyY2hEYXRlUmFuZ2U+KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGRpc3BsYXlWYWx1ZSA9ICcnO1xuICAgICAgICBpZiAodmFsdWUuZGF0ZVJhbmdlVHlwZSA9PT0gRGF0ZVJhbmdlVHlwZS5JTl9MQVNUICYmIHZhbHVlLmluTGFzdFZhbHVlKSB7XG4gICAgICAgICAgICBkaXNwbGF5VmFsdWUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgU0VBUkNILkRBVEVfUkFOR0VfQURWQU5DRUQuSU5fTEFTVF9ESVNQTEFZX0xBQkVMUy4ke3ZhbHVlLmluTGFzdFZhbHVlVHlwZX1gLCB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLmluTGFzdFZhbHVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZS5kYXRlUmFuZ2VUeXBlID09PSBEYXRlUmFuZ2VUeXBlLkJFVFdFRU4gJiYgdmFsdWUuYmV0d2VlblN0YXJ0RGF0ZSAmJiB2YWx1ZS5iZXR3ZWVuRW5kRGF0ZSkge1xuICAgICAgICAgICAgZGlzcGxheVZhbHVlID0gYCR7Zm9ybWF0KHN0YXJ0T2ZEYXkodmFsdWUuYmV0d2VlblN0YXJ0RGF0ZSksIHRoaXMuc2V0dGluZ3MuZGF0ZUZvcm1hdCl9IC0gJHtmb3JtYXQoXG4gICAgICAgICAgICAgICAgZW5kT2ZEYXkodmFsdWUuYmV0d2VlbkVuZERhdGUpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2V0dGluZ3MuZGF0ZUZvcm1hdFxuICAgICAgICAgICAgKX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkaXNwbGF5VmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVRdWVyeSh2YWx1ZTogUGFydGlhbDxTZWFyY2hEYXRlUmFuZ2U+LCBmaWVsZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY29tYmluZWRRdWVyeSA9ICcnO1xuICAgICAgICB0aGlzLnF1ZXJ5TWFwQnlGaWVsZC5zZXQoZmllbGQsIHRoaXMuZ2VuZXJhdGVRdWVyeSh2YWx1ZSwgZmllbGQpKTtcbiAgICAgICAgdGhpcy5xdWVyeU1hcEJ5RmllbGQuZm9yRWFjaCgocXVlcnk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKHF1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21iaW5lZFF1ZXJ5ID0gdGhpcy5jb21iaW5lZFF1ZXJ5ID8gYCR7dGhpcy5jb21iaW5lZFF1ZXJ5fSBBTkQgJHtxdWVyeX1gIDogYCR7cXVlcnl9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVEaXNwbGF5VmFsdWUodmFsdWU6IFBhcnRpYWw8U2VhcmNoRGF0ZVJhbmdlPiwgZmllbGQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNvbWJpbmVkRGlzcGxheVZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMuZGlzcGxheVZhbHVlTWFwQnlGaWVsZC5zZXQoZmllbGQsIHRoaXMuZ2VuZXJhdGVEaXNwbGF5VmFsdWUodmFsdWUpKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5VmFsdWVNYXBCeUZpZWxkLmZvckVhY2goKGRpc3BsYXlWYWx1ZTogc3RyaW5nLCBmaWVsZEZvckRpc3BsYXlMYWJlbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBpZiAoZGlzcGxheVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGlzcGxheUxhYmVsRm9yRmllbGQgPSBgJHt0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmluc3RhbnQodGhpcy5nZXREaXNwbGF5TGFiZWxGb3JGaWVsZChmaWVsZEZvckRpc3BsYXlMYWJlbCkpXG4gICAgICAgICAgICAgICAgICAgIC50b1VwcGVyQ2FzZSgpfTogJHtkaXNwbGF5VmFsdWV9YDtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbWJpbmVkRGlzcGxheVZhbHVlID0gdGhpcy5jb21iaW5lZERpc3BsYXlWYWx1ZVxuICAgICAgICAgICAgICAgICAgICA/IGAke3RoaXMuY29tYmluZWREaXNwbGF5VmFsdWV9ICR7ZGlzcGxheUxhYmVsRm9yRmllbGR9YFxuICAgICAgICAgICAgICAgICAgICA6IGAke2Rpc3BsYXlMYWJlbEZvckZpZWxkfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGlzcGxheUxhYmVsRm9yRmllbGQoZmllbGRGb3JEaXNwbGF5TGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzPy5kaXNwbGF5ZWRMYWJlbHNCeUZpZWxkPy5bZmllbGRGb3JEaXNwbGF5TGFiZWxdXG4gICAgICAgICAgICA/IHRoaXMuc2V0dGluZ3MuZGlzcGxheWVkTGFiZWxzQnlGaWVsZFtmaWVsZEZvckRpc3BsYXlMYWJlbF1cbiAgICAgICAgICAgIDogZmllbGRGb3JEaXNwbGF5TGFiZWw7XG4gICAgfVxufVxuIiwiPGFkZi1zZWFyY2gtZmlsdGVyLXRhYmJlZD5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZHNcIj5cbiAgICAgICAgPGFkZi1zZWFyY2gtZGF0ZS1yYW5nZVxuICAgICAgICAgICAgKmFkZi1zZWFyY2gtZmlsdGVyLXRhYj1cImdldFRhYkxhYmVsKGZpZWxkKVwiXG4gICAgICAgICAgICBbZGF0ZUZvcm1hdF09XCJzZXR0aW5ncy5kYXRlRm9ybWF0XCJcbiAgICAgICAgICAgIFttYXhEYXRlXT1cInNldHRpbmdzLm1heERhdGVcIlxuICAgICAgICAgICAgW2ZpZWxkXT1cImZpZWxkXCJcbiAgICAgICAgICAgIFtpbml0aWFsVmFsdWVdPVwicHJlc2VsZWN0ZWRWYWx1ZXNbZmllbGRdXCJcbiAgICAgICAgICAgIChjaGFuZ2VkKT1cIm9uRGF0ZVJhbmdlZFZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiXG4gICAgICAgICAgICAodmFsaWQpPVwidGFic1ZhbGlkaXR5W2ZpZWxkXT0kZXZlbnRcIiAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9hZGYtc2VhcmNoLWZpbHRlci10YWJiZWQ+XG4iXX0=
|