geonetwork-ui 2.7.0-dev.dbe423d28 → 2.7.0-dev.e3a54608e
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/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.mjs +4 -1
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +5 -1
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/constant.mjs +4 -6
- package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +47 -3
- package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +32 -4
- package/esm2022/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.mjs +1 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +15 -1
- package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +10 -2
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +2 -2
- package/esm2022/libs/feature/editor/src/index.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.mjs +80 -0
- package/esm2022/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +1 -3
- package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +3 -5
- package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +31 -12
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +76 -27
- package/esm2022/libs/feature/router/src/lib/default/state/router.facade.mjs +3 -2
- package/esm2022/libs/feature/search/src/lib/state/reducer.mjs +5 -2
- package/esm2022/libs/ui/dataviz/src/lib/data-table/data-table.component.mjs +4 -3
- package/esm2022/libs/ui/elements/src/lib/api-card/api-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +5 -4
- package/esm2022/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.mjs +5 -4
- package/esm2022/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.mjs +4 -4
- package/esm2022/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.mjs +21 -46
- package/esm2022/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.mjs +5 -4
- package/esm2022/libs/util/app-config/src/lib/app-config.mjs +5 -1
- package/esm2022/libs/util/app-config/src/lib/model.mjs +1 -1
- package/esm2022/libs/util/shared/src/index.mjs +2 -2
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +12 -2
- package/esm2022/libs/util/shared/src/lib/record/index.mjs +3 -0
- package/esm2022/libs/util/shared/src/lib/record/quality-score.util.mjs +45 -0
- package/esm2022/libs/util/shared/src/lib/record/record.util.mjs +56 -0
- package/esm2022/libs/util/shared/src/lib/utils/geojson.mjs +58 -1
- package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
- package/esm2022/libs/util/shared/src/lib/utils/mobile-screen.mjs +9 -0
- package/esm2022/translations/de.json +18 -1
- package/esm2022/translations/en.json +18 -1
- package/esm2022/translations/es.json +18 -1
- package/esm2022/translations/fr.json +19 -2
- package/esm2022/translations/it.json +18 -1
- package/esm2022/translations/nl.json +18 -1
- package/esm2022/translations/pt.json +18 -1
- package/esm2022/translations/sk.json +18 -1
- package/fesm2022/geonetwork-ui.mjs +2802 -2329
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/constant.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -1
- package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +3 -0
- package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts +1 -0
- package/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -0
- package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +3 -2
- package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/editor/src/index.d.ts +1 -0
- package/libs/feature/editor/src/index.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.d.ts +19 -0
- package/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.d.ts.map +1 -0
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +2 -2
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +8 -4
- package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +12 -5
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/router/src/lib/default/state/router.facade.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/reducer.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/data-table/data-table.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts +1 -0
- package/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts +7 -7
- package/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts +1 -0
- package/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/app-config.d.ts.map +1 -1
- package/libs/util/app-config/src/lib/model.d.ts +2 -0
- package/libs/util/app-config/src/lib/model.d.ts.map +1 -1
- package/libs/util/shared/src/index.d.ts +1 -1
- package/libs/util/shared/src/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +2 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/libs/util/shared/src/lib/record/index.d.ts +3 -0
- package/libs/util/shared/src/lib/record/index.d.ts.map +1 -0
- package/libs/util/shared/src/lib/record/quality-score.util.d.ts +13 -0
- package/libs/util/shared/src/lib/record/quality-score.util.d.ts.map +1 -0
- package/libs/util/shared/src/lib/record/record.util.d.ts +3 -0
- package/libs/util/shared/src/lib/record/record.util.d.ts.map +1 -0
- package/libs/util/shared/src/lib/utils/geojson.d.ts +7 -2
- package/libs/util/shared/src/lib/utils/geojson.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
- package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
- package/libs/util/shared/src/lib/utils/mobile-screen.d.ts +2 -0
- package/libs/util/shared/src/lib/utils/mobile-screen.d.ts.map +1 -0
- package/package.json +11 -10
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/status.mapper.ts +3 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/utils/status.mapper.ts +3 -0
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +4 -0
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/constant.ts +3 -5
- package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +50 -3
- package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +38 -4
- package/src/libs/common/domain/src/lib/model/dataviz/dataviz-configuration.model.ts +1 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +15 -0
- package/src/libs/common/domain/src/lib/platform.service.interface.ts +2 -0
- package/src/libs/common/fixtures/src/lib/editor/editor.fixtures.ts +0 -3
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +10 -1
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +3 -1
- package/src/libs/feature/editor/src/index.ts +1 -0
- package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.css +0 -0
- package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.html +37 -0
- package/src/libs/feature/editor/src/lib/components/metadata-quality-panel/metadata-quality-panel.component.ts +90 -0
- package/src/libs/feature/editor/src/lib/components/multilingual-panel/multilingual-panel.component.html +2 -1
- package/src/libs/feature/editor/src/lib/fields.config.ts +0 -2
- package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +8 -8
- package/src/libs/feature/record/src/lib/data-view/data-view.component.html +2 -0
- package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +34 -15
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +2 -0
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +70 -23
- package/src/libs/feature/router/src/lib/default/state/router.facade.ts +2 -1
- package/src/libs/feature/search/src/lib/state/reducer.ts +4 -1
- package/src/libs/ui/dataviz/src/lib/data-table/data-table.component.ts +6 -1
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +4 -1
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +12 -11
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.ts +7 -1
- package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.html +4 -1
- package/src/libs/ui/elements/src/lib/geo-data-badge/geo-data-badge.component.ts +7 -1
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.html +1 -0
- package/src/libs/ui/elements/src/lib/internal-link-card/internal-link-card.component.ts +5 -1
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.html +1 -0
- package/src/libs/ui/elements/src/lib/metadata-quality/metadata-quality.component.ts +21 -58
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.html +7 -1
- package/src/libs/ui/inputs/src/lib/search-feature-catalog/search-feature-catalog.component.ts +3 -1
- package/src/libs/util/app-config/src/lib/app-config.ts +4 -0
- package/src/libs/util/app-config/src/lib/model.ts +2 -0
- package/src/libs/util/shared/src/index.ts +1 -1
- package/src/libs/util/shared/src/lib/links/link-utils.ts +11 -1
- package/src/libs/util/shared/src/lib/record/index.ts +2 -0
- package/src/libs/util/shared/src/lib/record/quality-score.util.ts +68 -0
- package/src/libs/util/shared/src/lib/{record.util.ts → record/record.util.ts} +1 -1
- package/src/libs/util/shared/src/lib/utils/geojson.ts +72 -2
- package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
- package/src/libs/util/shared/src/lib/utils/mobile-screen.ts +14 -0
- package/translations/de.json +18 -1
- package/translations/en.json +18 -1
- package/translations/es.json +18 -1
- package/translations/fr.json +19 -2
- package/translations/it.json +18 -1
- package/translations/nl.json +18 -1
- package/translations/pt.json +18 -1
- package/translations/sk.json +18 -1
- package/esm2022/libs/util/shared/src/lib/record.util.mjs +0 -56
- package/libs/util/shared/src/lib/record.util.d.ts +0 -3
- package/libs/util/shared/src/lib/record.util.d.ts.map +0 -1
|
@@ -243,7 +243,7 @@ export class MultilingualPanelComponent {
|
|
|
243
243
|
provideNgIconsConfig({
|
|
244
244
|
size: '1.25em',
|
|
245
245
|
}),
|
|
246
|
-
], viewQueries: [{ propertyName: "actionMenuButtons", predicate: ["actionMenuButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"flex flex-col h-full w-[302px]
|
|
246
|
+
], viewQueries: [{ propertyName: "actionMenuButtons", predicate: ["actionMenuButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"flex flex-col h-full w-[302px] border-l border-gray-300 py-8 px-3 gap-6 overflow-auto\"\n style=\"background-color: #fafaf9\"\n>\n <div class=\"flex flex-row px-2 justify-between\">\n <span class=\"text-3xl font-title text-black/80\" translate\n >editor.record.form.multilingual.title</span\n >\n <button\n [title]=\"'editor.record.form.multilingual.open' | translate\"\n (click)=\"toggleLanguageSelection()\"\n *ngIf=\"isMultilingual\"\n data-test=\"activateSelection\"\n >\n <ng-icon class=\"mt-1\" name=\"iconoirSettings\"></ng-icon>\n </button>\n </div>\n <div class=\"flex flex-col gap-2\" *ngIf=\"editTranslations || !isMultilingual\">\n <gn-ui-check-toggle\n class=\"p-2\"\n [label]=\"'editor.record.form.multilingual.enable' | translate\"\n [color]=\"'primary'\"\n [(value)]=\"isMultilingual\"\n (toggled)=\"switchMultilingual($event)\"\n ></gn-ui-check-toggle>\n <div *ngIf=\"isMultilingual\" class=\"flex flex-col gap-2\">\n <div class=\"flex flex-row justify-between border-t border-gray-300 p-3\">\n <span class=\"mt-2 text-sm text-gray-600\" translate\n >editor.record.form.multilingual.activate</span\n >\n <gn-ui-button\n extraClass=\"w-16 h-8 font-bold\"\n type=\"gray\"\n (buttonClick)=\"validateTranslations()\"\n data-test=\"validateSelection\"\n >{{ 'editor.record.form.multilingual.validate' | translate }}\n </gn-ui-button>\n </div>\n <ng-container *ngIf=\"supportedLanguages$ | async as languages\">\n <div\n class=\"flex flex-col gap-2 w-full px-2\"\n data-test=\"langAvailable\"\n *ngFor=\"let lang of languages\"\n >\n <gn-ui-button\n [extraClass]=\"getExtraClass(lang)\"\n type=\"gray\"\n (buttonClick)=\"toggleLanguage(lang)\"\n [disabled]=\"lang === _record.defaultLanguage\"\n [title]=\"getToggleTitle(lang)\"\n >\n <span [class]=\"getIconClass(lang)\"></span>\n <span class=\"ml-2\">{{ 'language.' + lang | translate }}</span>\n </gn-ui-button>\n </div>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"!editTranslations && isMultilingual\" class=\"flex flex-col gap-2\">\n <gn-ui-button\n *ngFor=\"let recordLang of sortLanguages(recordLanguages); let i = index\"\n extraClass=\"flex flex-row justify-between bg-white border border-white rounded mb-1 h-[34px] w-full\"\n [ngClass]=\"{\n 'mt-8': isFirstUnsupported(i),\n '': true,\n }\"\n (buttonClick)=\"switchFormLang(recordLang)\"\n type=\"outline\"\n data-test=\"langSwitch\"\n >\n <div class=\"flex flex-row gap-2 items-center\">\n <ng-icon\n *ngIf=\"recordLang === formLanguage\"\n class=\"text-primary mt-1\"\n name=\"iconoirCheckCircle\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"recordLang !== formLanguage\"\n class=\"text-gray-800 mt-1\"\n name=\"iconoirCircle\"\n ></ng-icon>\n <span\n *ngIf=\"recordLang.length === 2\"\n [class]=\"getIconClass(recordLang) + 'mt-1'\"\n ></span>\n <span [ngClass]=\"recordLang === formLanguage ? 'text-black' : ''\">{{\n isLangSupported(recordLang)\n ? ('language.' + recordLang | translate)\n : recordLang.toUpperCase()\n }}</span>\n </div>\n <div class=\"flex flex-row gap-2 items-center\">\n <span\n *ngIf=\"recordLang === formLanguage\"\n class=\"text-xs text-base\"\n translate\n >editor.record.form.multilingual.default</span\n >\n <button\n (click)=\"\n openActionMenu(recordLang, template); $event.stopPropagation()\n \"\n cdkOverlayOrigin\n #actionMenuButton\n >\n <ng-icon class=\"pb-5\" name=\"matMoreHorizOutline\"></ng-icon>\n </button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDelete]=\"recordLang !== _record.defaultLanguage\"\n page=\"record\"\n (delete)=\"confirmDeleteAction(recordLang)\"\n (closeActionMenu)=\"closeActionMenu()\"\n (switch)=\"switchDefaultLang(recordLang)\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </div>\n </gn-ui-button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "component", type: CheckToggleComponent, selector: "gn-ui-check-toggle", inputs: ["title", "label", "value", "color"], outputs: ["toggled"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ActionMenuComponent, selector: "gn-ui-action-menu", inputs: ["canDuplicate", "isDuplicating", "canDelete", "page"], outputs: ["duplicate", "delete", "closeActionMenu", "rollback", "switch"] }] }); }
|
|
247
247
|
}
|
|
248
248
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultilingualPanelComponent, decorators: [{
|
|
249
249
|
type: Component,
|
|
@@ -265,11 +265,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
265
265
|
provideNgIconsConfig({
|
|
266
266
|
size: '1.25em',
|
|
267
267
|
}),
|
|
268
|
-
], template: "<div\n class=\"flex flex-col h-full w-[302px]
|
|
268
|
+
], template: "<div\n class=\"flex flex-col h-full w-[302px] border-l border-gray-300 py-8 px-3 gap-6 overflow-auto\"\n style=\"background-color: #fafaf9\"\n>\n <div class=\"flex flex-row px-2 justify-between\">\n <span class=\"text-3xl font-title text-black/80\" translate\n >editor.record.form.multilingual.title</span\n >\n <button\n [title]=\"'editor.record.form.multilingual.open' | translate\"\n (click)=\"toggleLanguageSelection()\"\n *ngIf=\"isMultilingual\"\n data-test=\"activateSelection\"\n >\n <ng-icon class=\"mt-1\" name=\"iconoirSettings\"></ng-icon>\n </button>\n </div>\n <div class=\"flex flex-col gap-2\" *ngIf=\"editTranslations || !isMultilingual\">\n <gn-ui-check-toggle\n class=\"p-2\"\n [label]=\"'editor.record.form.multilingual.enable' | translate\"\n [color]=\"'primary'\"\n [(value)]=\"isMultilingual\"\n (toggled)=\"switchMultilingual($event)\"\n ></gn-ui-check-toggle>\n <div *ngIf=\"isMultilingual\" class=\"flex flex-col gap-2\">\n <div class=\"flex flex-row justify-between border-t border-gray-300 p-3\">\n <span class=\"mt-2 text-sm text-gray-600\" translate\n >editor.record.form.multilingual.activate</span\n >\n <gn-ui-button\n extraClass=\"w-16 h-8 font-bold\"\n type=\"gray\"\n (buttonClick)=\"validateTranslations()\"\n data-test=\"validateSelection\"\n >{{ 'editor.record.form.multilingual.validate' | translate }}\n </gn-ui-button>\n </div>\n <ng-container *ngIf=\"supportedLanguages$ | async as languages\">\n <div\n class=\"flex flex-col gap-2 w-full px-2\"\n data-test=\"langAvailable\"\n *ngFor=\"let lang of languages\"\n >\n <gn-ui-button\n [extraClass]=\"getExtraClass(lang)\"\n type=\"gray\"\n (buttonClick)=\"toggleLanguage(lang)\"\n [disabled]=\"lang === _record.defaultLanguage\"\n [title]=\"getToggleTitle(lang)\"\n >\n <span [class]=\"getIconClass(lang)\"></span>\n <span class=\"ml-2\">{{ 'language.' + lang | translate }}</span>\n </gn-ui-button>\n </div>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"!editTranslations && isMultilingual\" class=\"flex flex-col gap-2\">\n <gn-ui-button\n *ngFor=\"let recordLang of sortLanguages(recordLanguages); let i = index\"\n extraClass=\"flex flex-row justify-between bg-white border border-white rounded mb-1 h-[34px] w-full\"\n [ngClass]=\"{\n 'mt-8': isFirstUnsupported(i),\n '': true,\n }\"\n (buttonClick)=\"switchFormLang(recordLang)\"\n type=\"outline\"\n data-test=\"langSwitch\"\n >\n <div class=\"flex flex-row gap-2 items-center\">\n <ng-icon\n *ngIf=\"recordLang === formLanguage\"\n class=\"text-primary mt-1\"\n name=\"iconoirCheckCircle\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"recordLang !== formLanguage\"\n class=\"text-gray-800 mt-1\"\n name=\"iconoirCircle\"\n ></ng-icon>\n <span\n *ngIf=\"recordLang.length === 2\"\n [class]=\"getIconClass(recordLang) + 'mt-1'\"\n ></span>\n <span [ngClass]=\"recordLang === formLanguage ? 'text-black' : ''\">{{\n isLangSupported(recordLang)\n ? ('language.' + recordLang | translate)\n : recordLang.toUpperCase()\n }}</span>\n </div>\n <div class=\"flex flex-row gap-2 items-center\">\n <span\n *ngIf=\"recordLang === formLanguage\"\n class=\"text-xs text-base\"\n translate\n >editor.record.form.multilingual.default</span\n >\n <button\n (click)=\"\n openActionMenu(recordLang, template); $event.stopPropagation()\n \"\n cdkOverlayOrigin\n #actionMenuButton\n >\n <ng-icon class=\"pb-5\" name=\"matMoreHorizOutline\"></ng-icon>\n </button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDelete]=\"recordLang !== _record.defaultLanguage\"\n page=\"record\"\n (delete)=\"confirmDeleteAction(recordLang)\"\n (closeActionMenu)=\"closeActionMenu()\"\n (switch)=\"switchDefaultLang(recordLang)\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </div>\n </gn-ui-button>\n </div>\n</div>\n" }]
|
|
269
269
|
}], ctorParameters: () => [{ type: i1.EditorFacade }, { type: i2.MatDialog }, { type: i3.TranslateService }, { type: i4.RecordsRepositoryInterface }, { type: i5.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }], propDecorators: { record: [{
|
|
270
270
|
type: Input
|
|
271
271
|
}], actionMenuButtons: [{
|
|
272
272
|
type: ViewChildren,
|
|
273
273
|
args: ['actionMenuButton', { read: ElementRef }]
|
|
274
274
|
}] } });
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsaW5ndWFsLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL211bHRpbGluZ3VhbC1wYW5lbC9tdWx0aWxpbmd1YWwtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGlsaW5ndWFsLXBhbmVsL211bHRpbGluZ3VhbC1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0YsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsZ0JBQWdCLEdBQ2pCLE1BQU0scUJBQXFCLENBQUE7QUFFNUIsT0FBTyxFQUNMLGVBQWUsRUFDZixZQUFZLEVBQ1osb0JBQW9CLEdBQ3JCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsZUFBZSxHQUNoQixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUN2RixPQUFPLEVBQUUs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QUFJLEVBQUUsUUFBUTthQUNmLENBQUM7U0FDSCwrR0FtQnlDLFVBQVUsNkJDaEd0RCxpNklBd0hBLHlERDdESSxZQUFZLG1aQUNaLG9CQUFvQixtSUFDcEIsa0JBQWtCLDZHQUNsQixhQUFhLGtEQUNiLGVBQWUsK0hBQ2YsZUFBZSw2R0FDZixtQkFBbUI7OzRGQWdCViwwQkFBMEI7a0JBMUJ0QyxTQUFTOytCQUNFLDBCQUEwQixjQUN4QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsbUJBQW1CO3FCQUNwQixhQUNVO3dCQUNULFlBQVksQ0FBQzs0QkFDWCxlQUFlOzRCQUNmLG1CQUFtQjs0QkFDbkIsa0JBQWtCOzRCQUNsQixhQUFhO3lCQUNkLENBQUM7d0JBQ0Ysb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxRQUFRO3lCQUNmLENBQUM7cUJBQ0g7c1FBV1ksTUFBTTtzQkFBbEIsS0FBSztnQkFTTixpQkFBaUI7c0JBRGhCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCwgQ2hlY2tUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQge1xuICBUcmFuc2xhdGVEaXJlY3RpdmUsXG4gIFRyYW5zbGF0ZVBpcGUsXG4gIFRyYW5zbGF0ZVNlcnZpY2UsXG59IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBDYXRhbG9nUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHtcbiAgTmdJY29uQ29tcG9uZW50LFxuICBwcm92aWRlSWNvbnMsXG4gIHByb3ZpZGVOZ0ljb25zQ29uZmlnLFxufSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7XG4gIGljb25vaXJDaGVja0NpcmNsZSxcbiAgaWNvbm9pckNpcmNsZSxcbiAgaWNvbm9pclNldHRpbmdzLFxufSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IG1hdE1vcmVIb3Jpek91dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcbmltcG9ydCB7IEVkaXRvckZhY2FkZSB9IGZyb20gJy4uLy4uLytzdGF0ZS9lZGl0b3IuZmFjYWRlJ1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnXG5pbXBvcnQgeyBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3JlcG9zaXRvcnkvcmVjb3Jkcy1yZXBvc2l0b3J5LmludGVyZmFjZSdcbmltcG9ydCB7IG1hcCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IEFjdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMnXG5cbmNvbnN0IGV4dHJhRmxhZ01hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgYXI6ICdhcmFiJyxcbiAgZW46ICdnYicsXG4gIGtvOiAna3InLFxuICBjczogJ2N6JyxcbiAgemg6ICdjbicsXG4gIGNhOiAnZXMtY3QnLFxuICBybTogJ2NoJyxcbiAgZGE6ICdkaycsXG4gIHN2OiAnc2UnLFxuICBjeTogJ2diLXdscycsXG4gIGh5OiAnYW0nLFxuICBrYTogJ2dlJyxcbiAgdWs6ICd1YScsXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW11bHRpbGluZ3VhbC1wYW5lbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2hlY2tUb2dnbGVDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlRGlyZWN0aXZlLFxuICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgICBBY3Rpb25NZW51Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgaWNvbm9pclNldHRpbmdzLFxuICAgICAgbWF0TW9yZUhvcml6T3V0bGluZSxcbiAgICAgIGljb25vaXJDaGVja0NpcmNsZSxcbiAgICAgIGljb25vaXJDaXJjbGUsXG4gICAgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuMjVlbScsXG4gICAgfSksXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aWxpbmd1YWwtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbXVsdGlsaW5ndWFsLXBhbmVsLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aWxpbmd1YWxQYW5lbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGlzTXVsdGlsaW5ndWFsOiBib29sZWFuXG4gIF9yZWNvcmQ6IENhdGFsb2dSZWNvcmRcbiAgZWRpdFRyYW5zbGF0aW9uczogYm9vbGVhblxuICBzZWxlY3RlZExhbmd1YWdlcyA9IFtdXG4gIHJlY29yZExhbmd1YWdlcyA9IFtdXG4gIGZvcm1MYW5ndWFnZSA9ICcnXG4gIEBJbnB1dCgpIHNldCByZWNvcmQodmFsdWU6IENhdGFsb2dSZWNvcmQpIHtcbiAgICB0aGlzLl9yZWNvcmQgPSB2YWx1ZVxuICAgIHRoaXMuaXNNdWx0aWxpbmd1YWwgPSB2YWx1ZS5vdGhlckxhbmd1YWdlcy5sZW5ndGggPiAwXG4gICAgdGhpcy5lZGl0VHJhbnNsYXRpb25zID0gZmFsc2VcbiAgICB0aGlzLnJlY29yZExhbmd1YWdlcyA9IFsuLi52YWx1ZS5vdGhlckxhbmd1YWdlcywgdmFsdWUuZGVmYXVsdExhbmd1YWdlXVxuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZXMgPSB0aGlzLnJlY29yZExhbmd1YWdlc1xuICAgIHRoaXMuZm9ybUxhbmd1YWdlID0gdmFsdWUuZGVmYXVsdExhbmd1YWdlXG4gIH1cbiAgQFZpZXdDaGlsZHJlbignYWN0aW9uTWVudUJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBhY3Rpb25NZW51QnV0dG9ucyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPlxuICBwcml2YXRlIG92ZXJsYXlSZWYhOiBPdmVybGF5UmVmXG5cbiAgaXNBY3Rpb25NZW51T3BlbiA9IGZhbHNlXG4gIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKVxuXG4gIHN1cHBvcnRlZExhbmd1YWdlcyQgPSB0aGlzLnJlY29yZHNSZXBvc2l0b3J5XG4gICAgLmdldEFwcGxpY2F0aW9uTGFuZ3VhZ2VzKClcbiAgICAucGlwZShtYXAoKGxhbmd1YWdlcykgPT4gdGhpcy5zb3J0TGFuZ3VhZ2VzKGxhbmd1YWdlcykpKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmYWNhZGU6IEVkaXRvckZhY2FkZSxcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjb3Jkc1JlcG9zaXRvcnk6IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gIH1cblxuICBzb3J0TGFuZ3VhZ2VzKGxhbmd1YWdlczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gbGFuZ3VhZ2VzXG4gICAgICAubWFwKChsYW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2xhbmd1YWdlLicgKyBsYW5nKVxuICAgICAgICBjb25zdCBpc1RyYW5zbGF0ZWQgPSBsYWJlbCAhPT0gJ2xhbmd1YWdlLicgKyBsYW5nXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsYW5nLFxuICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgIGlzVHJhbnNsYXRlZCxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGlmIChhLmlzVHJhbnNsYXRlZCAmJiAhYi5pc1RyYW5zbGF0ZWQpIHJldHVybiAtMVxuICAgICAgICBpZiAoIWEuaXNUcmFuc2xhdGVkICYmIGIuaXNUcmFuc2xhdGVkKSByZXR1cm4gMVxuXG4gICAgICAgIHJldHVybiBhLmxhYmVsLmxvY2FsZUNvbXBhcmUoYi5sYWJlbClcbiAgICAgIH0pXG4gICAgICAubWFwKChpdGVtKSA9PiBpdGVtLmxhbmcpXG4gIH1cblxuICB0b2dnbGVMYW5ndWFnZVNlbGVjdGlvbigpIHtcbiAgICB0aGlzLmVkaXRUcmFuc2xhdGlvbnMgPSAhdGhpcy5lZGl0VHJhbnNsYXRpb25zXG4gIH1cblxuICBnZXRJY29uQ2xhc3MobGFuZzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGV4dHJhRmxhZ01hcFtsYW5nXVxuICAgICAgPyBgZmkgZmktJHtleHRyYUZsYWdNYXBbbGFuZ119IHctNCBoLTNgXG4gICAgICA6IGBmaSBmaS0ke2xhbmd9IHctNCBoLTNgXG4gIH1cblxuICBzd2l0Y2hNdWx0aWxpbmd1YWwoKSB7XG4gICAgaWYgKHRoaXMuaXNNdWx0aWxpbmd1YWwgJiYgdGhpcy5zZWxlY3RlZExhbmd1YWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICB0aGlzLmNvbmZpcm1EZWxldGVBY3Rpb24oKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzTXVsdGlsaW5ndWFsID0gdHJ1ZVxuICAgICAgdGhpcy5lZGl0VHJhbnNsYXRpb25zID0gdHJ1ZVxuICAgIH1cbiAgfVxuXG4gIGdldEV4dHJhQ2xhc3MobGFuZzogc3RyaW5nKSB7XG4gICAgY29uc3QgYmFzZUNsYXNzID0gJ2gtWzM0cHhdIHctZnVsbCBmb250LWJvbGQganVzdGlmeS1zdGFydCBob3ZlcjpiZy13aGl0ZSdcbiAgICBpZiAodGhpcy5zZWxlY3RlZExhbmd1YWdlcy5pbmNsdWRlcyhsYW5nKSkge1xuICAgICAgcmV0dXJuIGAke2Jhc2VDbGFzc30gYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ibGFja2BcbiAgICB9XG4gICAgcmV0dXJuIGJhc2VDbGFzc1xuICB9XG5cbiAgdG9nZ2xlTGFuZ3VhZ2UobGFuZzogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRMYW5ndWFnZXMuaW5jbHVkZXMobGFuZykpIHtcbiAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRMYW5ndWFnZShsYW5nKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzLnB1c2gobGFuZylcbiAgICB9XG4gIH1cblxuICByZW1vdmVTZWxlY3RlZExhbmd1YWdlKGxhbmc6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZXMgPSB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzLmZpbHRlcihcbiAgICAgIChsYW5ndWFnZSkgPT4gbGFuZ3VhZ2UgIT09IGxhbmdcbiAgICApXG4gIH1cblxuICB2YWxpZGF0ZVRyYW5zbGF0aW9ucygpIHtcbiAgICBjb25zdCBlcXVhbExlbmd0aCA9XG4gICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzLmxlbmd0aCA9PT0gdGhpcy5yZWNvcmRMYW5ndWFnZXMubGVuZ3RoXG4gICAgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlcy5sZW5ndGggPCB0aGlzLnJlY29yZExhbmd1YWdlcy5sZW5ndGggfHxcbiAgICAgIChlcXVhbExlbmd0aCAmJiB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzICE9PSB0aGlzLnJlY29yZExhbmd1YWdlcylcbiAgICApIHtcbiAgICAgIHRoaXMuY29uZmlybURlbGV0ZUFjdGlvbih0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVRyYW5zbGF0aW9ucygpXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVHJhbnNsYXRpb25zKCkge1xuICAgIGNvbnN0IG5ld0xhbmd1YWdlU2VsZWN0aW9uID0gdGhpcy5zZWxlY3RlZExhbmd1YWdlcy5maWx0ZXIoXG4gICAgICAobGFuZykgPT4gbGFuZyAhPT0gdGhpcy5mb3JtTGFuZ3VhZ2VcbiAgICApXG4gICAgdGhpcy5mYWNhZGUudXBkYXRlUmVjb3JkTGFuZ3VhZ2VzKHRoaXMuZm9ybUxhbmd1YWdlLCBuZXdMYW5ndWFnZVNlbGVjdGlvbilcbiAgICB0aGlzLnJlY29yZExhbmd1YWdlcyA9IG5ld0xhbmd1YWdlU2VsZWN0aW9uXG4gICAgdGhpcy5lZGl0VHJhbnNsYXRpb25zID0gZmFsc2VcbiAgfVxuXG4gIHN3aXRjaEZvcm1MYW5nKGxhbmcpIHtcbiAgICAvLyBUTyBJTVBMRU1FTlQgRlVSVEhFUlxuICB9XG5cbiAgc3dpdGNoRGVmYXVsdExhbmcobGFuZzogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtTGFuZ3VhZ2UgPSBsYW5nXG4gICAgdGhpcy5mYWNhZGUudXBkYXRlUmVjb3JkTGFuZ3VhZ2VzKFxuICAgICAgbGFuZyxcbiAgICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZXMuZmlsdGVyKChsYW5nKSA9PiBsYW5nICE9PSB0aGlzLmZvcm1MYW5ndWFnZSlcbiAgICApXG4gICAgdGhpcy5jbG9zZUFjdGlvbk1lbnUoKVxuICB9XG5cbiAgY29uZmlybURlbGV0ZUFjdGlvbihsYW5nPzogc3RyaW5nW10gfCBzdHJpbmcpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQubXVsdGlsaW5ndWFsLmNvbmZpcm1hdGlvbi50aXRsZSdcbiAgICAgICAgKSxcbiAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQubXVsdGlsaW5ndWFsLmNvbmZpcm1hdGlvbi5tZXNzYWdlJ1xuICAgICAgICApLFxuICAgICAgICBjb25maXJtVGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQubXVsdGlsaW5ndWFsLmNvbmZpcm1hdGlvbi5jb25maXJtVGV4dCdcbiAgICAgICAgKSxcbiAgICAgICAgY2FuY2VsVGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQubXVsdGlsaW5ndWFsLmNvbmZpcm1hdGlvbi5jYW5jZWxUZXh0J1xuICAgICAgICApLFxuICAgICAgICBmb2N1c0NhbmNlbDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICByZXN0b3JlRm9jdXM6IHRydWUsXG4gICAgfSlcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGNvbmZpcm1lZCkgPT4ge1xuICAgICAgICBpZiAoY29uZmlybWVkKSB7XG4gICAgICAgICAgaWYgKGxhbmcpIHtcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShsYW5nKSkge1xuICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkTGFuZ3VhZ2UobGFuZylcbiAgICAgICAgICAgICAgdGhpcy5jbG9zZUFjdGlvbk1lbnUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy51cGRhdGVUcmFuc2xhdGlvbnMoKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZhY2FkZS51cGRhdGVSZWNvcmRMYW5ndWFnZXModGhpcy5mb3JtTGFuZ3VhZ2UsIFtdKVxuICAgICAgICAgICAgdGhpcy5pc011bHRpbGluZ3VhbCA9IGZhbHNlXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzID0gW11cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5pc011bHRpbGluZ3VhbCA9IHRydWVcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzID0gdGhpcy5yZWNvcmRMYW5ndWFnZXNcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVkaXRUcmFuc2xhdGlvbnMgPSBmYWxzZVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBpc0ZpcnN0VW5zdXBwb3J0ZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxhbmdzID0gdGhpcy5zb3J0TGFuZ3VhZ2VzKHRoaXMucmVjb3JkTGFuZ3VhZ2VzKVxuICAgIHJldHVybiAoXG4gICAgICBsYW5nc1tpbmRleF0ubGVuZ3RoID09PSAzICYmXG4gICAgICBsYW5ncy5zbGljZSgwLCBpbmRleCkuZXZlcnkoKGxhbmcpID0+IGxhbmcubGVuZ3RoICE9PSAzKVxuICAgIClcbiAgfVxuXG4gIGlzTGFuZ1N1cHBvcnRlZChsYW5nOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbGFuZy5sZW5ndGggPT09IDJcbiAgfVxuXG4gIGdldFRvZ2dsZVRpdGxlKGxhbmc6IHN0cmluZykge1xuICAgIGlmIChsYW5nID09PSB0aGlzLl9yZWNvcmQuZGVmYXVsdExhbmd1YWdlKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICdlZGl0b3IucmVjb3JkLmZvcm0ubXVsdGlsaW5ndWFsLmZvcmJpZGRlbidcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBvcGVuQWN0aW9uTWVudShpdGVtOiBzdHJpbmcsIHRlbXBsYXRlKSB7XG4gICAgdGhpcy5pc0FjdGlvbk1lbnVPcGVuID0gdHJ1ZVxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zb3J0TGFuZ3VhZ2VzKHRoaXMuc2VsZWN0ZWRMYW5ndWFnZXMpLmluZGV4T2YoaXRlbSlcbiAgICBjb25zdCBidXR0b25FbGVtZW50ID0gdGhpcy5hY3Rpb25NZW51QnV0dG9ucy50b0FycmF5KClbaW5kZXhdXG5cbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oYnV0dG9uRWxlbWVudClcbiAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKHRydWUpXG4gICAgICAud2l0aFB1c2godHJ1ZSlcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICB9LFxuICAgICAgXSlcblxuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgfSlcblxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKVxuXG4gICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlQWN0aW9uTWVudSgpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGNsb3NlQWN0aW9uTWVudSgpIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLmlzQWN0aW9uTWVudU9wZW4gPSBmYWxzZVxuICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKVxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKClcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGgtZnVsbCB3LVszMDJweF0gYmctbmV1dHJhbC0xMDAgYm9yZGVyLWwgYm9yZGVyLWdyYXktMzAwIHB5LTggcHgtMyBnYXAtNiBvdmVyZmxvdy1hdXRvXCJcbj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgcHgtMiBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQtM3hsIGZvbnQtdGl0bGUgdGV4dC1ibGFjay84MFwiIHRyYW5zbGF0ZVxuICAgICAgPmVkaXRvci5yZWNvcmQuZm9ybS5tdWx0aWxpbmd1YWwudGl0bGU8L3NwYW5cbiAgICA+XG4gICAgPGJ1dHRvblxuICAgICAgW3RpdGxlXT1cIidlZGl0b3IucmVjb3JkLmZvcm0ubXVsdGlsaW5ndWFsLm9wZW4nIHwgdHJhbnNsYXRlXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVMYW5ndWFnZVNlbGVjdGlvbigpXCJcbiAgICAgICpuZ0lmPVwiaXNNdWx0aWxpbmd1YWxcIlxuICAgICAgZGF0YS10ZXN0PVwiYWN0aXZhdGVTZWxlY3Rpb25cIlxuICAgID5cbiAgICAgIDxuZy1pY29uIGNsYXNzPVwibXQtMVwiIG5hbWU9XCJpY29ub2lyU2V0dGluZ3NcIj48L25nLWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMlwiICpuZ0lmPVwiZWRpdFRyYW5zbGF0aW9ucyB8fCAhaXNNdWx0aWxpbmd1YWxcIj5cbiAgICA8Z24tdWktY2hlY2stdG9nZ2xlXG4gICAgICBjbGFzcz1cInAtMlwiXG4gICAgICBbbGFiZWxdPVwiJ2VkaXRvci5yZWNvcmQuZm9ybS5tdWx0aWxpbmd1YWwuZW5hYmxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbY29sb3JdPVwiJ3ByaW1hcnknXCJcbiAgICAgIFsodmFsdWUpXT1cImlzTXVsdGlsaW5ndWFsXCJcbiAgICAgICh0b2dnbGVkKT1cInN3aXRjaE11bHRpbGluZ3VhbCgkZXZlbnQpXCJcbiAgICA+PC9nbi11aS1jaGVjay10b2dnbGU+XG4gICAgPGRpdiAqbmdJZj1cImlzTXVsdGlsaW5ndWFsXCIgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gYm9yZGVyLXQgYm9yZGVyLWdyYXktMzAwIHAtM1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgdGV4dC1zbSB0ZXh0LWdyYXktNjAwXCIgdHJhbnNsYXRlXG4gICAgICAgICAgPmVkaXRvci5yZWNvcmQuZm9ybS5tdWx0aWxpbmd1YWwuYWN0aXZhdGU8L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgZXh0cmFDbGFzcz1cInctMTYgaC04IGZvbnQtYm9sZFwiXG4gICAgICAgICAgdHlwZT1cImdyYXlcIlxuICAgICAgICAgIChidXR0b25DbGljayk9XCJ2YWxpZGF0ZVRyYW5zbGF0aW9ucygpXCJcbiAgICAgICAgICBkYXRhLXRlc3Q9XCJ2YWxpZGF0ZVNlbGVjdGlvblwiXG4gICAgICAgICAgPnt7ICdlZGl0b3IucmVjb3JkLmZvcm0ubXVsdGlsaW5ndWFsLnZhbGlkYXRlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN1cHBvcnRlZExhbmd1YWdlcyQgfCBhc3luYyBhcyBsYW5ndWFnZXNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMiB3LWZ1bGwgcHgtMlwiXG4gICAgICAgICAgZGF0YS10ZXN0PVwibGFuZ0F2YWlsYWJsZVwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGxhbmcgb2YgbGFuZ3VhZ2VzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICAgIFtleHRyYUNsYXNzXT1cImdldEV4dHJhQ2xhc3MobGFuZylcIlxuICAgICAgICAgICAgdHlwZT1cImdyYXlcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUxhbmd1YWdlKGxhbmcpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsYW5nID09PSBfcmVjb3JkLmRlZmF1bHRMYW5ndWFnZVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiZ2V0VG9nZ2xlVGl0bGUobGFuZylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJnZXRJY29uQ2xhc3MobGFuZylcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTJcIj57eyAnbGFuZ3VhZ2UuJyArIGxhbmcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWVkaXRUcmFuc2xhdGlvbnMgJiYgaXNNdWx0aWxpbmd1YWxcIiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICA8Z24tdWktYnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgcmVjb3JkTGFuZyBvZiBzb3J0TGFuZ3VhZ2VzKHJlY29yZExhbmd1YWdlcyk7IGxldCBpID0gaW5kZXhcIlxuICAgICAgZXh0cmFDbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIGJnLXdoaXRlIGJvcmRlciBib3JkZXItd2hpdGUgcm91bmRlZCBtYi0xIGgtWzM0cHhdIHctZnVsbFwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdtdC04JzogaXNGaXJzdFVuc3VwcG9ydGVkKGkpLFxuICAgICAgICAnJzogdHJ1ZSxcbiAgICAgIH1cIlxuICAgICAgKGJ1dHRvbkNsaWNrKT1cInN3aXRjaEZvcm1MYW5nKHJlY29yZExhbmcpXCJcbiAgICAgIHR5cGU9XCJvdXRsaW5lXCJcbiAgICAgIGRhdGEtdGVzdD1cImxhbmdTd2l0Y2hcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC0yIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8bmctaWNvblxuICAgICAgICAgICpuZ0lmPVwicmVjb3JkTGFuZyA9PT0gZm9ybUxhbmd1YWdlXCJcbiAgICAgICAgICBjbGFzcz1cInRleHQtcHJpbWFyeSBtdC0xXCJcbiAgICAgICAgICBuYW1lPVwiaWNvbm9pckNoZWNrQ2lyY2xlXCJcbiAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgPG5nLWljb25cbiAgICAgICAgICAqbmdJZj1cInJlY29yZExhbmcgIT09IGZvcm1MYW5ndWFnZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LWdyYXktODAwIG10LTFcIlxuICAgICAgICAgIG5hbWU9XCJpY29ub2lyQ2lyY2xlXCJcbiAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cInJlY29yZExhbmcubGVuZ3RoID09PSAyXCJcbiAgICAgICAgICBbY2xhc3NdPVwiZ2V0SWNvbkNsYXNzKHJlY29yZExhbmcpICsgJ210LTEnXCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwicmVjb3JkTGFuZyA9PT0gZm9ybUxhbmd1YWdlID8gJ3RleHQtYmxhY2snIDogJydcIj57e1xuICAgICAgICAgIGlzTGFuZ1N1cHBvcnRlZChyZWNvcmRMYW5nKVxuICAgICAgICAgICAgPyAoJ2xhbmd1YWdlLicgKyByZWNvcmRMYW5nIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgOiByZWNvcmRMYW5nLnRvVXBwZXJDYXNlKClcbiAgICAgICAgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC0yIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwicmVjb3JkTGFuZyA9PT0gZm9ybUxhbmd1YWdlXCJcbiAgICAgICAgICBjbGFzcz1cInRleHQteHMgdGV4dC1iYXNlXCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICA+ZWRpdG9yLnJlY29yZC5mb3JtLm11bHRpbGluZ3VhbC5kZWZhdWx0PC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgIG9wZW5BY3Rpb25NZW51KHJlY29yZExhbmcsIHRlbXBsYXRlKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgXCJcbiAgICAgICAgICBjZGtPdmVybGF5T3JpZ2luXG4gICAgICAgICAgI2FjdGlvbk1lbnVCdXR0b25cbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1pY29uIGNsYXNzPVwicGItNVwiIG5hbWU9XCJtYXRNb3JlSG9yaXpPdXRsaW5lXCI+PC9uZy1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgICAgICAgICA8Z24tdWktYWN0aW9uLW1lbnVcbiAgICAgICAgICAgIFtjYW5EZWxldGVdPVwicmVjb3JkTGFuZyAhPT0gX3JlY29yZC5kZWZhdWx0TGFuZ3VhZ2VcIlxuICAgICAgICAgICAgcGFnZT1cInJlY29yZFwiXG4gICAgICAgICAgICAoZGVsZXRlKT1cImNvbmZpcm1EZWxldGVBY3Rpb24ocmVjb3JkTGFuZylcIlxuICAgICAgICAgICAgKGNsb3NlQWN0aW9uTWVudSk9XCJjbG9zZUFjdGlvbk1lbnUoKVwiXG4gICAgICAgICAgICAoc3dpdGNoKT1cInN3aXRjaERlZmF1bHRMYW5nKHJlY29yZExhbmcpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9nbi11aS1hY3Rpb24tbWVudT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZ24tdWktYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsaW5ndWFsLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9jb21wb25lbnRzL211bHRpbGluZ3VhbC1wYW5lbC9tdWx0aWxpbmd1YWwtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9mZWF0dXJlL2VkaXRvci9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGlsaW5ndWFsLXBhbmVsL211bHRpbGluZ3VhbC1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDL0YsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsZ0JBQWdCLEdBQ2pCLE1BQU0scUJBQXFCLENBQUE7QUFFNUIsT0FBTyxFQUNMLGVBQWUsRUFDZixZQUFZLEVBQ1osb0JBQW9CLEdBQ3JCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsZUFBZSxHQUNoQixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUN2RixPQUFPLEVBQUUs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QUFJLEVBQUUsUUFBUTthQUNmLENBQUM7U0FDSCwrR0FtQnlDLFVBQVUsNkJDaEd0RCx5N0lBeUhBLHlERDlESSxZQUFZLG1aQUNaLG9CQUFvQixtSUFDcEIsa0JBQWtCLDZHQUNsQixhQUFhLGtEQUNiLGVBQWUsK0hBQ2YsZUFBZSw2R0FDZixtQkFBbUI7OzRGQWdCViwwQkFBMEI7a0JBMUJ0QyxTQUFTOytCQUNFLDBCQUEwQixjQUN4QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsbUJBQW1CO3FCQUNwQixhQUNVO3dCQUNULFlBQVksQ0FBQzs0QkFDWCxlQUFlOzRCQUNmLG1CQUFtQjs0QkFDbkIsa0JBQWtCOzRCQUNsQixhQUFhO3lCQUNkLENBQUM7d0JBQ0Ysb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxRQUFRO3lCQUNmLENBQUM7cUJBQ0g7c1FBV1ksTUFBTTtzQkFBbEIsS0FBSztnQkFTTixpQkFBaUI7c0JBRGhCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCwgQ2hlY2tUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMnXG5pbXBvcnQge1xuICBUcmFuc2xhdGVEaXJlY3RpdmUsXG4gIFRyYW5zbGF0ZVBpcGUsXG4gIFRyYW5zbGF0ZVNlcnZpY2UsXG59IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBDYXRhbG9nUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHtcbiAgTmdJY29uQ29tcG9uZW50LFxuICBwcm92aWRlSWNvbnMsXG4gIHByb3ZpZGVOZ0ljb25zQ29uZmlnLFxufSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7XG4gIGljb25vaXJDaGVja0NpcmNsZSxcbiAgaWNvbm9pckNpcmNsZSxcbiAgaWNvbm9pclNldHRpbmdzLFxufSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IG1hdE1vcmVIb3Jpek91dGxpbmUgfSBmcm9tICdAbmctaWNvbnMvbWF0ZXJpYWwtaWNvbnMvb3V0bGluZSdcbmltcG9ydCB7IEVkaXRvckZhY2FkZSB9IGZyb20gJy4uLy4uLytzdGF0ZS9lZGl0b3IuZmFjYWRlJ1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMnXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnXG5pbXBvcnQgeyBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3JlcG9zaXRvcnkvcmVjb3Jkcy1yZXBvc2l0b3J5LmludGVyZmFjZSdcbmltcG9ydCB7IG1hcCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IEFjdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3NlYXJjaC9zcmMnXG5cbmNvbnN0IGV4dHJhRmxhZ01hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgYXI6ICdhcmFiJyxcbiAgZW46ICdnYicsXG4gIGtvOiAna3InLFxuICBjczogJ2N6JyxcbiAgemg6ICdjbicsXG4gIGNhOiAnZXMtY3QnLFxuICBybTogJ2NoJyxcbiAgZGE6ICdkaycsXG4gIHN2OiAnc2UnLFxuICBjeTogJ2diLXdscycsXG4gIGh5OiAnYW0nLFxuICBrYTogJ2dlJyxcbiAgdWs6ICd1YScsXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLW11bHRpbGluZ3VhbC1wYW5lbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2hlY2tUb2dnbGVDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlRGlyZWN0aXZlLFxuICAgIFRyYW5zbGF0ZVBpcGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgICBBY3Rpb25NZW51Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgaWNvbm9pclNldHRpbmdzLFxuICAgICAgbWF0TW9yZUhvcml6T3V0bGluZSxcbiAgICAgIGljb25vaXJDaGVja0NpcmNsZSxcbiAgICAgIGljb25vaXJDaXJjbGUsXG4gICAgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuMjVlbScsXG4gICAgfSksXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aWxpbmd1YWwtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbXVsdGlsaW5ndWFsLXBhbmVsLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aWxpbmd1YWxQYW5lbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGlzTXVsdGlsaW5ndWFsOiBib29sZWFuXG4gIF9yZWNvcmQ6IENhdGFsb2dSZWNvcmRcbiAgZWRpdFRyYW5zbGF0aW9uczogYm9vbGVhblxuICBzZWxlY3RlZExhbmd1YWdlcyA9IFtdXG4gIHJlY29yZExhbmd1YWdlcyA9IFtdXG4gIGZvcm1MYW5ndWFnZSA9ICcnXG4gIEBJbnB1dCgpIHNldCByZWNvcmQodmFsdWU6IENhdGFsb2dSZWNvcmQpIHtcbiAgICB0aGlzLl9yZWNvcmQgPSB2YWx1ZVxuICAgIHRoaXMuaXNNdWx0aWxpbmd1YWwgPSB2YWx1ZS5vdGhlckxhbmd1YWdlcy5sZW5ndGggPiAwXG4gICAgdGhpcy5lZGl0VHJhbnNsYXRpb25zID0gZmFsc2VcbiAgICB0aGlzLnJlY29yZExhbmd1YWdlcyA9IFsuLi52YWx1ZS5vdGhlckxhbmd1YWdlcywgdmFsdWUuZGVmYXVsdExhbmd1YWdlXVxuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZXMgPSB0aGlzLnJlY29yZExhbmd1YWdlc1xuICAgIHRoaXMuZm9ybUxhbmd1YWdlID0gdmFsdWUuZGVmYXVsdExhbmd1YWdlXG4gIH1cbiAgQFZpZXdDaGlsZHJlbignYWN0aW9uTWVudUJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBhY3Rpb25NZW51QnV0dG9ucyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPlxuICBwcml2YXRlIG92ZXJsYXlSZWYhOiBPdmVybGF5UmVmXG5cbiAgaXNBY3Rpb25NZW51T3BlbiA9IGZhbHNlXG4gIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKVxuXG4gIHN1cHBvcnRlZExhbmd1YWdlcyQgPSB0aGlzLnJlY29yZHNSZXBvc2l0b3J5XG4gICAgLmdldEFwcGxpY2F0aW9uTGFuZ3VhZ2VzKClcbiAgICAucGlwZShtYXAoKGxhbmd1YWdlcykgPT4gdGhpcy5zb3J0TGFuZ3VhZ2VzKGxhbmd1YWdlcykpKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmYWNhZGU6IEVkaXRvckZhY2FkZSxcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVjb3Jkc1JlcG9zaXRvcnk6IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gIH1cblxuICBzb3J0TGFuZ3VhZ2VzKGxhbmd1YWdlczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gbGFuZ3VhZ2VzXG4gICAgICAubWFwKChsYW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2xhbmd1YWdlLicgKyBsYW5nKVxuICAgICAgICBjb25zdCBpc1RyYW5zbGF0ZWQgPSBsYWJlbCAhPT0gJ2xhbmd1YWdlLicgKyBsYW5nXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsYW5nLFxuICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgIGlzVHJhbnNsYXRlZCxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGlmIChhLmlzVHJhbnNsYXRlZCAmJiAhYi5pc1RyYW5zbGF0ZWQpIHJldHVybiAtMVxuICAgICAgICBpZiAoIWEuaXNUcmFuc2xhdGVkICYmIGIuaXNUcmFuc2xhdGVkKSByZXR1cm4gMVxuXG4gICAgICAgIHJldHVybiBhLmxhYmVsLmxvY2FsZUNvbXBhcmUoYi5sYWJlbClcbiAgICAgIH0pXG4gICAgICAubWFwKChpdGVtKSA9PiBpdGVtLmxhbmcpXG4gIH1cblxuICB0b2dnbGVMYW5ndWFnZVNlbGVjdGlvbigpIHtcbiAgICB0aGlzLmVkaXRUcmFuc2xhdGlvbnMgPSAhdGhpcy5lZGl0VHJhbnNsYXRpb25zXG4gIH1cblxuICBnZXRJY29uQ2xhc3MobGFuZzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGV4dHJhRmxhZ01hcFtsYW5nXVxuICAgICAgPyBgZmkgZmktJHtleHRyYUZsYWdNYXBbbGFuZ119IHctNCBoLTNgXG4gICAgICA6IGBmaSBmaS0ke2xhbmd9IHctNCBoLTNgXG4gIH1cblxuICBzd2l0Y2hNdWx0aWxpbmd1YWwoKSB7XG4gICAgaWYgKHRoaXMuaXNNdWx0aWxpbmd1YWwgJiYgdGhpcy5zZWxlY3RlZExhbmd1YWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICB0aGlzLmNvbmZpcm1EZWxldGVBY3Rpb24oKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzTXVsdGlsaW5ndWFsID0gdHJ1ZVxuICAgICAgdGhpcy5lZGl0VHJhbnNsYXRpb25zID0gdHJ1ZVxuICAgIH1cbiAgfVxuXG4gIGdldEV4dHJhQ2xhc3MobGFuZzogc3RyaW5nKSB7XG4gICAgY29uc3QgYmFzZUNsYXNzID0gJ2gtWzM0cHhdIHctZnVsbCBmb250LWJvbGQganVzdGlmeS1zdGFydCBob3ZlcjpiZy13aGl0ZSdcbiAgICBpZiAodGhpcy5zZWxlY3RlZExhbmd1YWdlcy5pbmNsdWRlcyhsYW5nKSkge1xuICAgICAgcmV0dXJuIGAke2Jhc2VDbGFzc30gYmctd2hpdGUgYm9yZGVyIGJvcmRlci1ibGFja2BcbiAgICB9XG4gICAgcmV0dXJuIGJhc2VDbGFzc1xuICB9XG5cbiAgdG9nZ2xlTGFuZ3VhZ2UobGFuZzogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRMYW5ndWFnZXMuaW5jbHVkZXMobGFuZykpIHtcbiAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRMYW5ndWFnZShsYW5nKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzLnB1c2gobGFuZylcbiAgICB9XG4gIH1cblxuICByZW1vdmVTZWxlY3RlZExhbmd1YWdlKGxhbmc6IHN0cmluZykge1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZXMgPSB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzLmZpbHRlcihcbiAgICAgIChsYW5ndWFnZSkgPT4gbGFuZ3VhZ2UgIT09IGxhbmdcbiAgICApXG4gIH1cblxuICB2YWxpZGF0ZVRyYW5zbGF0aW9ucygpIHtcbiAgICBjb25zdCBlcXVhbExlbmd0aCA9XG4gICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzLmxlbmd0aCA9PT0gdGhpcy5yZWNvcmRMYW5ndWFnZXMubGVuZ3RoXG4gICAgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlcy5sZW5ndGggPCB0aGlzLnJlY29yZExhbmd1YWdlcy5sZW5ndGggfHxcbiAgICAgIChlcXVhbExlbmd0aCAmJiB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzICE9PSB0aGlzLnJlY29yZExhbmd1YWdlcylcbiAgICApIHtcbiAgICAgIHRoaXMuY29uZmlybURlbGV0ZUFjdGlvbih0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVwZGF0ZVRyYW5zbGF0aW9ucygpXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVHJhbnNsYXRpb25zKCkge1xuICAgIGNvbnN0IG5ld0xhbmd1YWdlU2VsZWN0aW9uID0gdGhpcy5zZWxlY3RlZExhbmd1YWdlcy5maWx0ZXIoXG4gICAgICAobGFuZykgPT4gbGFuZyAhPT0gdGhpcy5mb3JtTGFuZ3VhZ2VcbiAgICApXG4gICAgdGhpcy5mYWNhZGUudXBkYXRlUmVjb3JkTGFuZ3VhZ2VzKHRoaXMuZm9ybUxhbmd1YWdlLCBuZXdMYW5ndWFnZVNlbGVjdGlvbilcbiAgICB0aGlzLnJlY29yZExhbmd1YWdlcyA9IG5ld0xhbmd1YWdlU2VsZWN0aW9uXG4gICAgdGhpcy5lZGl0VHJhbnNsYXRpb25zID0gZmFsc2VcbiAgfVxuXG4gIHN3aXRjaEZvcm1MYW5nKGxhbmcpIHtcbiAgICAvLyBUTyBJTVBMRU1FTlQgRlVSVEhFUlxuICB9XG5cbiAgc3dpdGNoRGVmYXVsdExhbmcobGFuZzogc3RyaW5nKSB7XG4gICAgdGhpcy5mb3JtTGFuZ3VhZ2UgPSBsYW5nXG4gICAgdGhpcy5mYWNhZGUudXBkYXRlUmVjb3JkTGFuZ3VhZ2VzKFxuICAgICAgbGFuZyxcbiAgICAgIHRoaXMuc2VsZWN0ZWRMYW5ndWFnZXMuZmlsdGVyKChsYW5nKSA9PiBsYW5nICE9PSB0aGlzLmZvcm1MYW5ndWFnZSlcbiAgICApXG4gICAgdGhpcy5jbG9zZUFjdGlvbk1lbnUoKVxuICB9XG5cbiAgY29uZmlybURlbGV0ZUFjdGlvbihsYW5nPzogc3RyaW5nW10gfCBzdHJpbmcpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQubXVsdGlsaW5ndWFsLmNvbmZpcm1hdGlvbi50aXRsZSdcbiAgICAgICAgKSxcbiAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQubXVsdGlsaW5ndWFsLmNvbmZpcm1hdGlvbi5tZXNzYWdlJ1xuICAgICAgICApLFxuICAgICAgICBjb25maXJtVGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQubXVsdGlsaW5ndWFsLmNvbmZpcm1hdGlvbi5jb25maXJtVGV4dCdcbiAgICAgICAgKSxcbiAgICAgICAgY2FuY2VsVGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgJ2VkaXRvci5yZWNvcmQubXVsdGlsaW5ndWFsLmNvbmZpcm1hdGlvbi5jYW5jZWxUZXh0J1xuICAgICAgICApLFxuICAgICAgICBmb2N1c0NhbmNlbDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICByZXN0b3JlRm9jdXM6IHRydWUsXG4gICAgfSlcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKGNvbmZpcm1lZCkgPT4ge1xuICAgICAgICBpZiAoY29uZmlybWVkKSB7XG4gICAgICAgICAgaWYgKGxhbmcpIHtcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShsYW5nKSkge1xuICAgICAgICAgICAgICB0aGlzLnJlbW92ZVNlbGVjdGVkTGFuZ3VhZ2UobGFuZylcbiAgICAgICAgICAgICAgdGhpcy5jbG9zZUFjdGlvbk1lbnUoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy51cGRhdGVUcmFuc2xhdGlvbnMoKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZhY2FkZS51cGRhdGVSZWNvcmRMYW5ndWFnZXModGhpcy5mb3JtTGFuZ3VhZ2UsIFtdKVxuICAgICAgICAgICAgdGhpcy5pc011bHRpbGluZ3VhbCA9IGZhbHNlXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzID0gW11cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5pc011bHRpbGluZ3VhbCA9IHRydWVcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2VzID0gdGhpcy5yZWNvcmRMYW5ndWFnZXNcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVkaXRUcmFuc2xhdGlvbnMgPSBmYWxzZVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBpc0ZpcnN0VW5zdXBwb3J0ZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxhbmdzID0gdGhpcy5zb3J0TGFuZ3VhZ2VzKHRoaXMucmVjb3JkTGFuZ3VhZ2VzKVxuICAgIHJldHVybiAoXG4gICAgICBsYW5nc1tpbmRleF0ubGVuZ3RoID09PSAzICYmXG4gICAgICBsYW5ncy5zbGljZSgwLCBpbmRleCkuZXZlcnkoKGxhbmcpID0+IGxhbmcubGVuZ3RoICE9PSAzKVxuICAgIClcbiAgfVxuXG4gIGlzTGFuZ1N1cHBvcnRlZChsYW5nOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbGFuZy5sZW5ndGggPT09IDJcbiAgfVxuXG4gIGdldFRvZ2dsZVRpdGxlKGxhbmc6IHN0cmluZykge1xuICAgIGlmIChsYW5nID09PSB0aGlzLl9yZWNvcmQuZGVmYXVsdExhbmd1YWdlKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICdlZGl0b3IucmVjb3JkLmZvcm0ubXVsdGlsaW5ndWFsLmZvcmJpZGRlbidcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBvcGVuQWN0aW9uTWVudShpdGVtOiBzdHJpbmcsIHRlbXBsYXRlKSB7XG4gICAgdGhpcy5pc0FjdGlvbk1lbnVPcGVuID0gdHJ1ZVxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zb3J0TGFuZ3VhZ2VzKHRoaXMuc2VsZWN0ZWRMYW5ndWFnZXMpLmluZGV4T2YoaXRlbSlcbiAgICBjb25zdCBidXR0b25FbGVtZW50ID0gdGhpcy5hY3Rpb25NZW51QnV0dG9ucy50b0FycmF5KClbaW5kZXhdXG5cbiAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oYnV0dG9uRWxlbWVudClcbiAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKHRydWUpXG4gICAgICAud2l0aFB1c2godHJ1ZSlcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICB9LFxuICAgICAgXSlcblxuICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgfSlcblxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKVxuXG4gICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChwb3J0YWwpXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlQWN0aW9uTWVudSgpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGNsb3NlQWN0aW9uTWVudSgpIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLmlzQWN0aW9uTWVudU9wZW4gPSBmYWxzZVxuICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKVxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKClcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGgtZnVsbCB3LVszMDJweF0gYm9yZGVyLWwgYm9yZGVyLWdyYXktMzAwIHB5LTggcHgtMyBnYXAtNiBvdmVyZmxvdy1hdXRvXCJcbiAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWY5XCJcbj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgcHgtMiBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQtM3hsIGZvbnQtdGl0bGUgdGV4dC1ibGFjay84MFwiIHRyYW5zbGF0ZVxuICAgICAgPmVkaXRvci5yZWNvcmQuZm9ybS5tdWx0aWxpbmd1YWwudGl0bGU8L3NwYW5cbiAgICA+XG4gICAgPGJ1dHRvblxuICAgICAgW3RpdGxlXT1cIidlZGl0b3IucmVjb3JkLmZvcm0ubXVsdGlsaW5ndWFsLm9wZW4nIHwgdHJhbnNsYXRlXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVMYW5ndWFnZVNlbGVjdGlvbigpXCJcbiAgICAgICpuZ0lmPVwiaXNNdWx0aWxpbmd1YWxcIlxuICAgICAgZGF0YS10ZXN0PVwiYWN0aXZhdGVTZWxlY3Rpb25cIlxuICAgID5cbiAgICAgIDxuZy1pY29uIGNsYXNzPVwibXQtMVwiIG5hbWU9XCJpY29ub2lyU2V0dGluZ3NcIj48L25nLWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMlwiICpuZ0lmPVwiZWRpdFRyYW5zbGF0aW9ucyB8fCAhaXNNdWx0aWxpbmd1YWxcIj5cbiAgICA8Z24tdWktY2hlY2stdG9nZ2xlXG4gICAgICBjbGFzcz1cInAtMlwiXG4gICAgICBbbGFiZWxdPVwiJ2VkaXRvci5yZWNvcmQuZm9ybS5tdWx0aWxpbmd1YWwuZW5hYmxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbY29sb3JdPVwiJ3ByaW1hcnknXCJcbiAgICAgIFsodmFsdWUpXT1cImlzTXVsdGlsaW5ndWFsXCJcbiAgICAgICh0b2dnbGVkKT1cInN3aXRjaE11bHRpbGluZ3VhbCgkZXZlbnQpXCJcbiAgICA+PC9nbi11aS1jaGVjay10b2dnbGU+XG4gICAgPGRpdiAqbmdJZj1cImlzTXVsdGlsaW5ndWFsXCIgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gYm9yZGVyLXQgYm9yZGVyLWdyYXktMzAwIHAtM1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm10LTIgdGV4dC1zbSB0ZXh0LWdyYXktNjAwXCIgdHJhbnNsYXRlXG4gICAgICAgICAgPmVkaXRvci5yZWNvcmQuZm9ybS5tdWx0aWxpbmd1YWwuYWN0aXZhdGU8L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgICAgZXh0cmFDbGFzcz1cInctMTYgaC04IGZvbnQtYm9sZFwiXG4gICAgICAgICAgdHlwZT1cImdyYXlcIlxuICAgICAgICAgIChidXR0b25DbGljayk9XCJ2YWxpZGF0ZVRyYW5zbGF0aW9ucygpXCJcbiAgICAgICAgICBkYXRhLXRlc3Q9XCJ2YWxpZGF0ZVNlbGVjdGlvblwiXG4gICAgICAgICAgPnt7ICdlZGl0b3IucmVjb3JkLmZvcm0ubXVsdGlsaW5ndWFsLnZhbGlkYXRlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN1cHBvcnRlZExhbmd1YWdlcyQgfCBhc3luYyBhcyBsYW5ndWFnZXNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMiB3LWZ1bGwgcHgtMlwiXG4gICAgICAgICAgZGF0YS10ZXN0PVwibGFuZ0F2YWlsYWJsZVwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGxhbmcgb2YgbGFuZ3VhZ2VzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgICAgIFtleHRyYUNsYXNzXT1cImdldEV4dHJhQ2xhc3MobGFuZylcIlxuICAgICAgICAgICAgdHlwZT1cImdyYXlcIlxuICAgICAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUxhbmd1YWdlKGxhbmcpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJsYW5nID09PSBfcmVjb3JkLmRlZmF1bHRMYW5ndWFnZVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiZ2V0VG9nZ2xlVGl0bGUobGFuZylcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJnZXRJY29uQ2xhc3MobGFuZylcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTJcIj57eyAnbGFuZ3VhZ2UuJyArIGxhbmcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWVkaXRUcmFuc2xhdGlvbnMgJiYgaXNNdWx0aWxpbmd1YWxcIiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICA8Z24tdWktYnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgcmVjb3JkTGFuZyBvZiBzb3J0TGFuZ3VhZ2VzKHJlY29yZExhbmd1YWdlcyk7IGxldCBpID0gaW5kZXhcIlxuICAgICAgZXh0cmFDbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIGJnLXdoaXRlIGJvcmRlciBib3JkZXItd2hpdGUgcm91bmRlZCBtYi0xIGgtWzM0cHhdIHctZnVsbFwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdtdC04JzogaXNGaXJzdFVuc3VwcG9ydGVkKGkpLFxuICAgICAgICAnJzogdHJ1ZSxcbiAgICAgIH1cIlxuICAgICAgKGJ1dHRvbkNsaWNrKT1cInN3aXRjaEZvcm1MYW5nKHJlY29yZExhbmcpXCJcbiAgICAgIHR5cGU9XCJvdXRsaW5lXCJcbiAgICAgIGRhdGEtdGVzdD1cImxhbmdTd2l0Y2hcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC0yIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8bmctaWNvblxuICAgICAgICAgICpuZ0lmPVwicmVjb3JkTGFuZyA9PT0gZm9ybUxhbmd1YWdlXCJcbiAgICAgICAgICBjbGFzcz1cInRleHQtcHJpbWFyeSBtdC0xXCJcbiAgICAgICAgICBuYW1lPVwiaWNvbm9pckNoZWNrQ2lyY2xlXCJcbiAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgPG5nLWljb25cbiAgICAgICAgICAqbmdJZj1cInJlY29yZExhbmcgIT09IGZvcm1MYW5ndWFnZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LWdyYXktODAwIG10LTFcIlxuICAgICAgICAgIG5hbWU9XCJpY29ub2lyQ2lyY2xlXCJcbiAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cInJlY29yZExhbmcubGVuZ3RoID09PSAyXCJcbiAgICAgICAgICBbY2xhc3NdPVwiZ2V0SWNvbkNsYXNzKHJlY29yZExhbmcpICsgJ210LTEnXCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwicmVjb3JkTGFuZyA9PT0gZm9ybUxhbmd1YWdlID8gJ3RleHQtYmxhY2snIDogJydcIj57e1xuICAgICAgICAgIGlzTGFuZ1N1cHBvcnRlZChyZWNvcmRMYW5nKVxuICAgICAgICAgICAgPyAoJ2xhbmd1YWdlLicgKyByZWNvcmRMYW5nIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgOiByZWNvcmRMYW5nLnRvVXBwZXJDYXNlKClcbiAgICAgICAgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGdhcC0yIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwicmVjb3JkTGFuZyA9PT0gZm9ybUxhbmd1YWdlXCJcbiAgICAgICAgICBjbGFzcz1cInRleHQteHMgdGV4dC1iYXNlXCJcbiAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICA+ZWRpdG9yLnJlY29yZC5mb3JtLm11bHRpbGluZ3VhbC5kZWZhdWx0PC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICAgIG9wZW5BY3Rpb25NZW51KHJlY29yZExhbmcsIHRlbXBsYXRlKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgXCJcbiAgICAgICAgICBjZGtPdmVybGF5T3JpZ2luXG4gICAgICAgICAgI2FjdGlvbk1lbnVCdXR0b25cbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1pY29uIGNsYXNzPVwicGItNVwiIG5hbWU9XCJtYXRNb3JlSG9yaXpPdXRsaW5lXCI+PC9uZy1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgICAgICAgICA8Z24tdWktYWN0aW9uLW1lbnVcbiAgICAgICAgICAgIFtjYW5EZWxldGVdPVwicmVjb3JkTGFuZyAhPT0gX3JlY29yZC5kZWZhdWx0TGFuZ3VhZ2VcIlxuICAgICAgICAgICAgcGFnZT1cInJlY29yZFwiXG4gICAgICAgICAgICAoZGVsZXRlKT1cImNvbmZpcm1EZWxldGVBY3Rpb24ocmVjb3JkTGFuZylcIlxuICAgICAgICAgICAgKGNsb3NlQWN0aW9uTWVudSk9XCJjbG9zZUFjdGlvbk1lbnUoKVwiXG4gICAgICAgICAgICAoc3dpdGNoKT1cInN3aXRjaERlZmF1bHRMYW5nKHJlY29yZExhbmcpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9nbi11aS1hY3Rpb24tbWVudT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZ24tdWktYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -50,8 +50,6 @@ export const RECORD_KEYWORDS_FIELD = {
|
|
|
50
50
|
model: 'keywords',
|
|
51
51
|
formFieldConfig: {},
|
|
52
52
|
};
|
|
53
|
-
// keeping track of the label to not lose existing translation
|
|
54
|
-
marker('editor.record.form.field.keywords');
|
|
55
53
|
export const RECORD_RESOURCE_CREATED_FIELD = {
|
|
56
54
|
model: 'resourceCreated',
|
|
57
55
|
formFieldConfig: {
|
|
@@ -293,4 +291,4 @@ export const SPATIAL_SCOPES = [
|
|
|
293
291
|
type: 'theme',
|
|
294
292
|
},
|
|
295
293
|
];
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9maWVsZHMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQVFoRTs7Ozs7R0FLRztBQUVIOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFnQjtJQUN6RCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMkNBQTJDLENBQUM7S0FDOUQ7SUFDRCxNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBZ0I7SUFDaEQsYUFBYSxFQUFFLGtDQUFrQztJQUNqRCxlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLCtDQUErQyxDQUFDO0tBQ2xFO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFnQjtJQUNsRCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMkNBQTJDLENBQUM7S0FDOUQ7Q0FDRixDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQWdCO0lBQ3JELEtBQUssRUFBRSxxQkFBcUI7SUFDNUIsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFLE1BQU0sQ0FBQyw4Q0FBOEMsQ0FBQztLQUNqRTtDQUNGLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBZ0I7SUFDbEQsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLDJDQUEyQyxDQUFDO0tBQzlEO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFnQjtJQUMvQyxLQUFLLEVBQUUsVUFBVTtJQUNqQixlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLGtDQUFrQyxDQUFDO0tBQ3JEO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFnQjtJQUNoRCxLQUFLLEVBQUUsVUFBVTtJQUNqQixlQUFlLEVBQUUsRUFBRTtDQUNwQixDQUFBO0FBQ0QsOERBQThEO0FBQzlELE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFnQjtJQUN4RCxLQUFLLEVBQUUsaUJBQWlCO0lBQ3hCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMENBQTBDLENBQUM7S0FDN0Q7SUFDRCxjQUFjLEVBQUUsQ0FBQztDQUNsQixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQWdCO0lBQ3BELEtBQUssRUFBRSxvQkFBb0I7SUFDM0IsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFLE1BQU0sQ0FBQyw2Q0FBNkMsQ0FBQztLQUNoRTtDQUNGLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBZ0I7SUFDeEQsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLDBDQUEwQyxDQUFDO0tBQzdEO0lBQ0QsY0FBYyxFQUFFLENBQUM7Q0FDbEIsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFnQjtJQUMvQyxLQUFLLEVBQUUsZUFBZTtJQUN0QixlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLHdDQUF3QyxDQUFDO0tBQzNEO0lBQ0QsYUFBYSxFQUFFLGNBQWM7SUFDN0IsY0FBYyxFQUFFLENBQUM7SUFDakIsTUFBTSxFQUFFLElBQUk7Q0FDYixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQWdCO0lBQ3hELEtBQUssRUFBRSxpQkFBaUI7SUFDeEIsZUFBZSxFQUFFLEVBQUU7Q0FDcEIsQ0FBQTtBQUNELDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUVsRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBZ0I7SUFDeEQsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLDBDQUEwQyxDQUFDO0tBQzdEO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFnQjtJQUM3QyxLQUFLLEVBQUUsT0FBTztJQUNkLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsZ0NBQWdDLENBQUM7S0FDbkQ7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQWdCO0lBQ2hELEtBQUssRUFBRSxVQUFVO0lBQ2pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsbUNBQW1DLENBQUM7S0FDdEQ7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQWdCO0lBQ3RELEtBQUssRUFBRSxxQkFBcUI7SUFDNUIsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFLEVBQUU7S0FDYjtDQUNGLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWdCO0lBQ25DLEtBQUssRUFBRSxVQUFVO0lBQ2pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxFQUFFO0tBQ2I7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQWdCO0lBQzFELEtBQUssRUFBRSxXQUFXO0lBQ2xCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsb0NBQW9DLENBQUM7S0FDdkQ7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQWdCO0lBQ3RELGFBQWEsRUFBRSwyQkFBMkI7SUFDMUMsZUFBZSxFQUFFLEVBQUU7SUFDbkIsTUFBTSxFQUFFLElBQUk7Q0FDYixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQWdCO0lBQ3ZELEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsZUFBZSxFQUFFLEVBQUU7Q0FDcEIsQ0FBQTtBQUNELDhEQUE4RDtBQUM5RCxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQTtBQUVqRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBZ0I7SUFDbEQsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixjQUFjLEVBQUUsMEJBQTBCO0lBQzFDLGVBQWUsRUFBRSxFQUFFO0NBQ3BCLENBQUE7QUFDRCw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUE7QUFFbEQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQWdCO0lBQ3ZELEtBQUssRUFBRSxpQkFBaUI7SUFDeEIsY0FBYyxFQUFFLHlCQUF5QjtJQUN6QyxlQUFlLEVBQUUsRUFBRTtDQUNwQixDQUFBO0FBQ0QsOERBQThEO0FBQzlELE1BQU0sQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFBO0FBRXREOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBa0I7SUFDMUMsTUFBTSxFQUFFLEtBQUs7SUFDYixNQUFNLEVBQUU7UUFDTixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLCtCQUErQjtLQUNoQztDQUNGLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCO0lBQzFDLFFBQVEsRUFBRSxNQUFNLENBQUMsd0NBQXdDLENBQUM7SUFDMUQsY0FBYyxFQUFFLE1BQU0sQ0FBQyw4Q0FBOEMsQ0FBQztJQUN0RSxNQUFNLEVBQUUsS0FBSztJQUNiLE1BQU0sRUFBRTtRQUNOLDhCQUE4QjtRQUM5Qix5QkFBeUI7UUFDekIsNkJBQTZCO1FBQzdCLDZCQUE2QjtRQUM3QixvQkFBb0I7UUFDcEIsNkJBQTZCO1FBQzdCLDZCQUE2QjtLQUM5QjtDQUNGLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBa0I7SUFDMUQsUUFBUSxFQUFFLE1BQU0sQ0FBQyx1REFBdUQsQ0FBQztJQUN6RSxNQUFNLEVBQUUsS0FBSztJQUNiLE1BQU0sRUFBRSxDQUFDLDJCQUEyQixFQUFFLDRCQUE0QixDQUFDO0NBQ3BFLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBa0I7SUFDekQsUUFBUSxFQUFFLE1BQU0sQ0FBQyxzREFBc0QsQ0FBQztJQUN4RSxjQUFjLEVBQUUsTUFBTSxDQUNwQiw0REFBNEQsQ0FDN0Q7SUFDRCxNQUFNLEVBQUUsS0FBSztJQUNiLE1BQU0sRUFBRSxDQUFDLHVCQUF1QixDQUFDO0NBQ2xDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWtCO0lBQzVDLFFBQVEsRUFBRSxNQUFNLENBQUMsMENBQTBDLENBQUM7SUFDNUQsY0FBYyxFQUFFLE1BQU0sQ0FBQyxnREFBZ0QsQ0FBQztJQUN4RSxNQUFNLEVBQUUsS0FBSztJQUNiLE1BQU0sRUFBRSxDQUFDLDRCQUE0QixDQUFDO0NBQ3ZDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBa0I7SUFDbkQsUUFBUSxFQUFFLE1BQU0sQ0FBQyxpREFBaUQsQ0FBQztJQUNuRSxjQUFjLEVBQUUsTUFBTSxDQUNwQix1REFBdUQsQ0FDeEQ7SUFDRCxNQUFNLEVBQUUsS0FBSztJQUNiLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDO0NBQ2hDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBa0I7SUFDOUQsUUFBUSxFQUFFLE1BQU0sQ0FBQyx5REFBeUQsQ0FBQztJQUMzRSxNQUFNLEVBQUUsS0FBSztJQUNiLE1BQU0sRUFBRTtRQUNOLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLDBCQUEwQjtRQUMxQix1QkFBdUI7S0FDeEI7Q0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQWtCO0lBQ2xELFFBQVEsRUFBRSxNQUFNLENBQUMsK0NBQStDLENBQUM7SUFDakUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxxREFBcUQsQ0FBQztJQUM3RSxNQUFNLEVBQUUsS0FBSztJQUNiLE1BQU0sRUFBRSxDQUFDLDJCQUEyQixDQUFDO0NBQ3RDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBa0I7SUFDOUQsUUFBUSxFQUFFLE1BQU0sQ0FBQyx5REFBeUQsQ0FBQztJQUMzRSxjQUFjLEVBQUUsTUFBTSxDQUNwQiwrREFBK0QsQ0FDaEU7SUFDRCxNQUFNLEVBQUUsS0FBSztJQUNiLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztDQUNuQixDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQWlCO0lBQ2pELEtBQUssRUFBRTtRQUNMO1lBQ0UsUUFBUSxFQUFFLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQztZQUN2RCxRQUFRLEVBQUU7Z0JBQ1IsYUFBYTtnQkFDYixzQkFBc0I7Z0JBQ3RCLGFBQWE7Z0JBQ2IsNkJBQTZCO2FBQzlCO1NBQ0Y7UUFDRDtZQUNFLFFBQVEsRUFBRSxNQUFNLENBQUMsbUNBQW1DLENBQUM7WUFDckQsUUFBUSxFQUFFLENBQUMsNEJBQTRCLEVBQUUsZUFBZSxDQUFDO1NBQzFEO1FBQ0Q7WUFDRSxRQUFRLEVBQUUsTUFBTSxDQUFDLDBDQUEwQyxDQUFDO1lBQzVELFFBQVEsRUFBRTtnQkFDUixpQ0FBaUM7Z0JBQ2pDLHFCQUFxQjtnQkFDckIsaUNBQWlDO2FBQ2xDO1NBQ0Y7S0FDRjtDQUNGLENBQUE7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBYTtJQUMxQyxPQUFPO0lBQ1AsVUFBVTtJQUNWLFNBQVM7SUFDVCxRQUFRO0lBQ1IsV0FBVztJQUNYLE1BQU07SUFDTixRQUFRO0lBQ1IsTUFBTTtJQUNOLFNBQVM7Q0FDVixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFBO0FBRXpDLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO0FBQzFDLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO0FBQzdDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFBO0FBQzlDLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO0FBQ3pDLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO0FBQ3pDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQTtBQUNwQzs7O0dBR0c7QUFFSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWM7SUFDdkM7UUFDRSxHQUFHLEVBQUUscUVBQXFFO1FBQzFFLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFdBQVcsRUFBRSxFQUFFO1FBQ2YsSUFBSSxFQUFFLE9BQU87S0FDZDtJQUNEO1FBQ0UsR0FBRyxFQUFFLHFFQUFxRTtRQUMxRSxLQUFLLEVBQUUsVUFBVTtRQUNqQixXQUFXLEVBQUUsRUFBRTtRQUNmLElBQUksRUFBRSxPQUFPO0tBQ2Q7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgRWRpdG9yQ29uZmlnLFxuICBFZGl0b3JGaWVsZCxcbiAgRWRpdG9yU2VjdGlvbixcbn0gZnJvbSAnLi9tb2RlbHMvZWRpdG9yLWNvbmZpZy5tb2RlbCdcbmltcG9ydCB7IEtleXdvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbi8qKlxuICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBmaWVsZHMgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgZWRpdG9yLlxuICogVG8gYWRkIGEgbmV3IGZpZWxkLCB5b3UgbmVlZCB0byBjcmVhdGUgYSBuZXcgRWRpdG9yRmllbGQgb2JqZWN0IGluIHRoZSBmaWVsZHMgcGFydCBvZiB0aGlzIGZpbGUuXG4gKiBUaGVuIGFkZCBpdCB0byB0aGUgY29ycmVzcG9uZGluZyBzZWN0aW9uIGluIHRoZSBzZWN0aW9ucyBwYXJ0IG9mIHRoaXMgZmlsZS5cbiAqIEZpbmFsbHksIGFkZCB0aGUgc2VjdGlvbiB0byB0aGUgY29ycmVzcG9uZGluZyBwYWdlIGluIHRoZSBwYWdlcyBwYXJ0IG9mIHRoaXMgZmlsZS5cbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqICAgICAgICAgICBGSUVMRFMgICAgICAgICAgICoqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9VTklRVUVfSURFTlRJRklFUl9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAndW5pcXVlSWRlbnRpZmllcicsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC51bmlxdWVJZGVudGlmaWVyJyksXG4gIH0sXG4gIGhpZGRlbjogdHJ1ZSxcbn1cblxuZXhwb3J0IGNvbnN0IENPTlNUUkFJTlRTX1NIT1JUQ1VUUzogRWRpdG9yRmllbGQgPSB7XG4gIGNvbXBvbmVudE5hbWU6ICdmb3JtLWZpZWxkLWNvbnN0cmFpbnRzLXNob3J0Y3V0cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5jb25zdHJhaW50c1Nob3J0Y3V0cycpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgTEVHQUxfQ09OU1RSQUlOVFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2xlZ2FsQ29uc3RyYWludHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQubGVnYWxDb25zdHJhaW50cycpLFxuICB9LFxufVxuZXhwb3J0IGNvbnN0IFNFQ1VSSVRZX0NPTlNUUkFJTlRTX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdzZWN1cml0eUNvbnN0cmFpbnRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnNlY3VyaXR5Q29uc3RyYWludHMnKSxcbiAgfSxcbn1cbmV4cG9ydCBjb25zdCBPVEhFUl9DT05TVFJBSU5UU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnb3RoZXJDb25zdHJhaW50cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vdGhlckNvbnN0cmFpbnRzJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfTElDRU5TRV9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnbGljZW5zZXMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQubGljZW5zZScpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX0tFWVdPUkRTX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdrZXl3b3JkcycsXG4gIGZvcm1GaWVsZENvbmZpZzoge30sXG59XG4vLyBrZWVwaW5nIHRyYWNrIG9mIHRoZSBsYWJlbCB0byBub3QgbG9zZSBleGlzdGluZyB0cmFuc2xhdGlvblxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQua2V5d29yZHMnKVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1JFU09VUkNFX0NSRUFURURfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3Jlc291cmNlQ3JlYXRlZCcsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5yZXNvdXJjZUNyZWF0ZWQnKSxcbiAgfSxcbiAgZ3JpZENvbHVtblNwYW46IDEsXG59XG5cbmV4cG9ydCBjb25zdCBSRVNPVVJDRV9JREVOVElGSUVSX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdyZXNvdXJjZUlkZW50aWZpZXInLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQucmVzb3VyY2VJZGVudGlmaWVyJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfUkVTT1VSQ0VfVVBEQVRFRF9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAncmVzb3VyY2VVcGRhdGVkJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnJlc291cmNlVXBkYXRlZCcpLFxuICB9LFxuICBncmlkQ29sdW1uU3BhbjogMSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9VUERBVEVEX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdyZWNvcmRVcGRhdGVkJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnJlY29yZFVwZGF0ZWQnKSxcbiAgfSxcbiAgb25TYXZlUHJvY2VzczogJyR7ZGF0ZU5vdygpfScsXG4gIGdyaWRDb2x1bW5TcGFuOiAxLFxuICBoaWRkZW46IHRydWUsXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfVVBEQVRFX0ZSRVFVRU5DWV9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAndXBkYXRlRnJlcXVlbmN5JyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cbi8vIGtlZXBpbmcgdHJhY2sgb2YgdGhlIGxhYmVsIHRvIG5vdCBsb3NlIGV4aXN0aW5nIHRyYW5zbGF0aW9uXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC51cGRhdGVGcmVxdWVuY3knKVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1RFTVBPUkFMX0VYVEVOVFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3RlbXBvcmFsRXh0ZW50cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC50ZW1wb3JhbEV4dGVudHMnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9USVRMRV9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAndGl0bGUnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQudGl0bGUnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9BQlNUUkFDVF9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnYWJzdHJhY3QnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQuYWJzdHJhY3QnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IENPTlRBQ1RTX0ZPUl9SRVNPVVJDRV9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnY29udGFjdHNGb3JSZXNvdXJjZScsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiAnJyxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IENPTlRBQ1RTOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdjb250YWN0cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiAnJyxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9HUkFQSElDQUxfT1ZFUlZJRVdfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ292ZXJ2aWV3cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vdmVydmlld3MnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9TUEFUSUFMX1RPR0dMRV9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIGNvbXBvbmVudE5hbWU6ICdmb3JtLWZpZWxkLXNwYXRpYWwtdG9nZ2xlJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbiAgaGlkZGVuOiB0cnVlLFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1NQQVRJQUxfRVhURU5UU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnc3BhdGlhbEV4dGVudHMnLFxuICBmb3JtRmllbGRDb25maWc6IHt9LFxufVxuLy8ga2VlcGluZyB0cmFjayBvZiB0aGUgbGFiZWwgdG8gbm90IGxvc2UgZXhpc3RpbmcgdHJhbnNsYXRpb25cbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnNwYXRpYWxFeHRlbnRzJylcblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9PTkxJTkVfUkVTT1VSQ0VTOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdvbmxpbmVSZXNvdXJjZXMnLFxuICBtb2RlbFNwZWNpZmllcjogJ29ubGluZVJlc291cmNlVHlwZTohbGluaycsXG4gIGZvcm1GaWVsZENvbmZpZzoge30sXG59XG4vLyBrZWVwaW5nIHRyYWNrIG9mIHRoZSBsYWJlbCB0byBub3QgbG9zZSBleGlzdGluZyB0cmFuc2xhdGlvblxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lUmVzb3VyY2VzJylcblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9PTkxJTkVfTElOS19SRVNPVVJDRVM6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ29ubGluZVJlc291cmNlcycsXG4gIG1vZGVsU3BlY2lmaWVyOiAnb25saW5lUmVzb3VyY2VUeXBlOmxpbmsnLFxuICBmb3JtRmllbGRDb25maWc6IHt9LFxufVxuLy8ga2VlcGluZyB0cmFjayBvZiB0aGUgbGFiZWwgdG8gbm90IGxvc2UgZXhpc3RpbmcgdHJhbnNsYXRpb25cbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZUxpbmtSZXNvdXJjZXMnKVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqICAgICAgICAgIFNFQ1RJT05TICAgICAgICAgICoqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cblxuZXhwb3J0IGNvbnN0IFRJVExFX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1xuICAgIFJFQ09SRF9USVRMRV9GSUVMRCxcbiAgICBSRUNPUkRfQUJTVFJBQ1RfRklFTEQsXG4gICAgUkVDT1JEX0dSQVBISUNBTF9PVkVSVklFV19GSUVMRCxcbiAgXSxcbn1cblxuZXhwb3J0IGNvbnN0IEFCT1VUX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmFib3V0LmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmFib3V0LmRlc2NyaXB0aW9uJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1xuICAgIFJFQ09SRF9VTklRVUVfSURFTlRJRklFUl9GSUVMRCxcbiAgICBSRVNPVVJDRV9JREVOVElGSUVSX0ZJRUxELFxuICAgIFJFQ09SRF9SRVNPVVJDRV9DUkVBVEVEX0ZJRUxELFxuICAgIFJFQ09SRF9SRVNPVVJDRV9VUERBVEVEX0ZJRUxELFxuICAgIFJFQ09SRF9VUERBVEVEX0ZJRUxELFxuICAgIFJFQ09SRF9VUERBVEVfRlJFUVVFTkNZX0ZJRUxELFxuICAgIFJFQ09SRF9URU1QT1JBTF9FWFRFTlRTX0ZJRUxELFxuICBdLFxufVxuXG5leHBvcnQgY29uc3QgR0VPR1JBUEhJQ0FMX0NPVkVSQUdFX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmdlb2dyYXBoaWNhbENvdmVyYWdlLmxhYmVsJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1JFQ09SRF9TUEFUSUFMX1RPR0dMRV9GSUVMRCwgUkVDT1JEX1NQQVRJQUxfRVhURU5UU19GSUVMRF0sXG59XG5cbmV4cG9ydCBjb25zdCBBU1NPQ0lBVEVEX1JFU09VUkNFU19TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hc3NvY2lhdGVkUmVzb3VyY2VzLmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoXG4gICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmFzc29jaWF0ZWRSZXNvdXJjZXMuZGVzY3JpcHRpb24nXG4gICksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1JFQ09SRF9PTkxJTkVfUkVTT1VSQ0VTXSxcbn1cblxuZXhwb3J0IGNvbnN0IEFOTkVYRVNfU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uYW5uZXhlcy5sYWJlbCcpLFxuICBkZXNjcmlwdGlvbktleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hbm5leGVzLmRlc2NyaXB0aW9uJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1JFQ09SRF9PTkxJTkVfTElOS19SRVNPVVJDRVNdLFxufVxuXG5leHBvcnQgY29uc3QgQ0xBU1NJRklDQVRJT05fU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uY2xhc3NpZmljYXRpb24ubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcihcbiAgICAnZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uY2xhc3NpZmljYXRpb24uZGVzY3JpcHRpb24nXG4gICksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1JFQ09SRF9LRVlXT1JEU19GSUVMRF0sXG59XG5cbmV4cG9ydCBjb25zdCBVU0VfQU5EX0FDQ0VTU19DT05ESVRJT05TX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLnVzZUFuZEFjY2Vzc0NvbmRpdGlvbnMubGFiZWwnKSxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbXG4gICAgUkVDT1JEX0xJQ0VOU0VfRklFTEQsXG4gICAgQ09OU1RSQUlOVFNfU0hPUlRDVVRTLFxuICAgIExFR0FMX0NPTlNUUkFJTlRTX0ZJRUxELFxuICAgIFNFQ1VSSVRZX0NPTlNUUkFJTlRTX0ZJRUxELFxuICAgIE9USEVSX0NPTlNUUkFJTlRTX0ZJRUxELFxuICBdLFxufVxuXG5leHBvcnQgY29uc3QgREFUQV9NQU5BR0VSU19TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5kYXRhTWFuYWdlcnMubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uZGF0YU1hbmFnZXJzLmRlc2NyaXB0aW9uJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW0NPTlRBQ1RTX0ZPUl9SRVNPVVJDRV9GSUVMRF0sXG59XG5cbmV4cG9ydCBjb25zdCBNRVRBREFUQV9QT0lOVF9PRl9DT05UQUNUX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLm1ldGFkYXRhUG9pbnRPZkNvbnRhY3QubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcihcbiAgICAnZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24ubWV0YWRhdGFQb2ludE9mQ29udGFjdC5kZXNjcmlwdGlvbidcbiAgKSxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbQ09OVEFDVFNdLFxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqICAgICAgICAgICBQQUdFUyAgICAgICAgICAgICoqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJR1VSQVRJT046IEVkaXRvckNvbmZpZyA9IHtcbiAgcGFnZXM6IFtcbiAgICB7XG4gICAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ucGFnZS5kZXNjcmlwdGlvbicpLFxuICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgVElUTEVfU0VDVElPTixcbiAgICAgICAgQ0xBU1NJRklDQVRJT05fU0VDVElPTixcbiAgICAgICAgQUJPVVRfU0VDVElPTixcbiAgICAgICAgR0VPR1JBUEhJQ0FMX0NPVkVSQUdFX1NFQ1RJT04sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnBhZ2UucmVzb3VyY2VzJyksXG4gICAgICBzZWN0aW9uczogW0FTU09DSUFURURfUkVTT1VSQ0VTX1NFQ1RJT04sIEFOTkVYRVNfU0VDVElPTl0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ucGFnZS5hY2Nlc3NBbmRDb250YWN0JyksXG4gICAgICBzZWN0aW9uczogW1xuICAgICAgICBVU0VfQU5EX0FDQ0VTU19DT05ESVRJT05TX1NFQ1RJT04sXG4gICAgICAgIERBVEFfTUFOQUdFUlNfU0VDVElPTixcbiAgICAgICAgTUVUQURBVEFfUE9JTlRfT0ZfQ09OVEFDVF9TRUNUSU9OLFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqICAgICAgICAgICBMSUNFTlNFUyAgICAgICAgICAgICoqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cbmV4cG9ydCBjb25zdCBBVkFJTEFCTEVfTElDRU5TRVM6IHN0cmluZ1tdID0gW1xuICAnY2MtYnknLFxuICAnY2MtYnktc2EnLFxuICAnY2MtemVybycsXG4gICdldGFsYWInLFxuICAnZXRhbGFiLXYyJyxcbiAgJ29kYmwnLFxuICAnb2RjLWJ5JyxcbiAgJ3BkZGwnLFxuICAndW5rbm93bicsXG5dXG5cbmV4cG9ydCBjb25zdCBPUEVOX0RBVEFfTElDRU5TRSA9ICdldGFsYWInXG5cbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UuY2MtYnknKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5jYy1ieS1zYScpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLmNjLXplcm8nKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5ldGFsYWInKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5ldGFsYWItdjInKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5vZGJsJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2Uub2RjLWJ5Jylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UucGRkbCcpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLnVua25vd24nKVxuXG5leHBvcnQgY29uc3QgTUFYX1VQTE9BRF9TSVpFX01CID0gMTBcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKiogICAgICAgIFNQQVRJQUwgU0NPUEUgICAgICAgICAgICAqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqL1xuXG5leHBvcnQgY29uc3QgU1BBVElBTF9TQ09QRVM6IEtleXdvcmRbXSA9IFtcbiAge1xuICAgIGtleTogJ2h0dHA6Ly9pbnNwaXJlLmVjLmV1cm9wYS5ldS9tZXRhZGF0YS1jb2RlbGlzdC9TcGF0aWFsU2NvcGUvbmF0aW9uYWwnLFxuICAgIGxhYmVsOiAnTmF0aW9uYWwnLFxuICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICB0eXBlOiAndGhlbWUnLFxuICB9LFxuICB7XG4gICAga2V5OiAnaHR0cDovL2luc3BpcmUuZWMuZXVyb3BhLmV1L21ldGFkYXRhLWNvZGVsaXN0L1NwYXRpYWxTY29wZS9yZWdpb25hbCcsXG4gICAgbGFiZWw6ICdSZWdpb25hbCcsXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIHR5cGU6ICd0aGVtZScsXG4gIH0sXG5dXG4iXX0=
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9maWVsZHMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQVFoRTs7Ozs7R0FLRztBQUVIOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFnQjtJQUN6RCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMkNBQTJDLENBQUM7S0FDOUQ7SUFDRCxNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBZ0I7SUFDaEQsYUFBYSxFQUFFLGtDQUFrQztJQUNqRCxlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLCtDQUErQyxDQUFDO0tBQ2xFO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFnQjtJQUNsRCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMkNBQTJDLENBQUM7S0FDOUQ7Q0FDRixDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQWdCO0lBQ3JELEtBQUssRUFBRSxxQkFBcUI7SUFDNUIsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFLE1BQU0sQ0FBQyw4Q0FBOEMsQ0FBQztLQUNqRTtDQUNGLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBZ0I7SUFDbEQsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLDJDQUEyQyxDQUFDO0tBQzlEO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixH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QUE7QUFDOUMsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUE7QUFDekMsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUE7QUFDM0MsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUE7QUFDekMsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUE7QUFFNUMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFBO0FBQ3BDOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBYztJQUN2QztRQUNFLEdBQUcsRUFBRSxxRUFBcUU7UUFDMUUsS0FBSyxFQUFFLFVBQVU7UUFDakIsV0FBVyxFQUFFLEVBQUU7UUFDZixJQUFJLEVBQUUsT0FBTztLQUNkO0lBQ0Q7UUFDRSxHQUFHLEVBQUUscUVBQXFFO1FBQzFFLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFdBQVcsRUFBRSxFQUFFO1FBQ2YsSUFBSSxFQUFFLE9BQU87S0FDZDtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBFZGl0b3JDb25maWcsXG4gIEVkaXRvckZpZWxkLFxuICBFZGl0b3JTZWN0aW9uLFxufSBmcm9tICcuL21vZGVscy9lZGl0b3ItY29uZmlnLm1vZGVsJ1xuaW1wb3J0IHsgS2V5d29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuLyoqXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGZpZWxkcyB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIGluIHRoZSBlZGl0b3IuXG4gKiBUbyBhZGQgYSBuZXcgZmllbGQsIHlvdSBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBFZGl0b3JGaWVsZCBvYmplY3QgaW4gdGhlIGZpZWxkcyBwYXJ0IG9mIHRoaXMgZmlsZS5cbiAqIFRoZW4gYWRkIGl0IHRvIHRoZSBjb3JyZXNwb25kaW5nIHNlY3Rpb24gaW4gdGhlIHNlY3Rpb25zIHBhcnQgb2YgdGhpcyBmaWxlLlxuICogRmluYWxseSwgYWRkIHRoZSBzZWN0aW9uIHRvIHRoZSBjb3JyZXNwb25kaW5nIHBhZ2UgaW4gdGhlIHBhZ2VzIHBhcnQgb2YgdGhpcyBmaWxlLlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKiogICAgICAgICAgIEZJRUxEUyAgICAgICAgICAgKioqKioqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqL1xuXG5leHBvcnQgY29uc3QgUkVDT1JEX1VOSVFVRV9JREVOVElGSUVSX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICd1bmlxdWVJZGVudGlmaWVyJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnVuaXF1ZUlkZW50aWZpZXInKSxcbiAgfSxcbiAgaGlkZGVuOiB0cnVlLFxufVxuXG5leHBvcnQgY29uc3QgQ09OU1RSQUlOVFNfU0hPUlRDVVRTOiBFZGl0b3JGaWVsZCA9IHtcbiAgY29tcG9uZW50TmFtZTogJ2Zvcm0tZmllbGQtY29uc3RyYWludHMtc2hvcnRjdXRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLmNvbnN0cmFpbnRzU2hvcnRjdXRzJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBMRUdBTF9DT05TVFJBSU5UU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnbGVnYWxDb25zdHJhaW50cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5sZWdhbENvbnN0cmFpbnRzJyksXG4gIH0sXG59XG5leHBvcnQgY29uc3QgU0VDVVJJVFlfQ09OU1RSQUlOVFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3NlY3VyaXR5Q29uc3RyYWludHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQuc2VjdXJpdHlDb25zdHJhaW50cycpLFxuICB9LFxufVxuZXhwb3J0IGNvbnN0IE9USEVSX0NPTlNUUkFJTlRTX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdvdGhlckNvbnN0cmFpbnRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm90aGVyQ29uc3RyYWludHMnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9MSUNFTlNFX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdsaWNlbnNlcycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5saWNlbnNlJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfS0VZV09SRFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2tleXdvcmRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9SRVNPVVJDRV9DUkVBVEVEX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdyZXNvdXJjZUNyZWF0ZWQnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQucmVzb3VyY2VDcmVhdGVkJyksXG4gIH0sXG4gIGdyaWRDb2x1bW5TcGFuOiAxLFxufVxuXG5leHBvcnQgY29uc3QgUkVTT1VSQ0VfSURFTlRJRklFUl9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAncmVzb3VyY2VJZGVudGlmaWVyJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnJlc291cmNlSWRlbnRpZmllcicpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1JFU09VUkNFX1VQREFURURfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3Jlc291cmNlVXBkYXRlZCcsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5yZXNvdXJjZVVwZGF0ZWQnKSxcbiAgfSxcbiAgZ3JpZENvbHVtblNwYW46IDEsXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfVVBEQVRFRF9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAncmVjb3JkVXBkYXRlZCcsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5yZWNvcmRVcGRhdGVkJyksXG4gIH0sXG4gIG9uU2F2ZVByb2Nlc3M6ICcke2RhdGVOb3coKX0nLFxuICBncmlkQ29sdW1uU3BhbjogMSxcbiAgaGlkZGVuOiB0cnVlLFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1VQREFURV9GUkVRVUVOQ1lfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3VwZGF0ZUZyZXF1ZW5jeScsXG4gIGZvcm1GaWVsZENvbmZpZzoge30sXG59XG4vLyBrZWVwaW5nIHRyYWNrIG9mIHRoZSBsYWJlbCB0byBub3QgbG9zZSBleGlzdGluZyB0cmFuc2xhdGlvblxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQudXBkYXRlRnJlcXVlbmN5JylcblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9URU1QT1JBTF9FWFRFTlRTX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICd0ZW1wb3JhbEV4dGVudHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQudGVtcG9yYWxFeHRlbnRzJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfVElUTEVfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3RpdGxlJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnRpdGxlJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfQUJTVFJBQ1RfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2Fic3RyYWN0JyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLmFic3RyYWN0JyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBDT05UQUNUU19GT1JfUkVTT1VSQ0VfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2NvbnRhY3RzRm9yUmVzb3VyY2UnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogJycsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBDT05UQUNUUzogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnY29udGFjdHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogJycsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfR1JBUEhJQ0FMX09WRVJWSUVXX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdvdmVydmlld3MnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub3ZlcnZpZXdzJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfU1BBVElBTF9UT0dHTEVfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBjb21wb25lbnROYW1lOiAnZm9ybS1maWVsZC1zcGF0aWFsLXRvZ2dsZScsXG4gIGZvcm1GaWVsZENvbmZpZzoge30sXG4gIGhpZGRlbjogdHJ1ZSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9TUEFUSUFMX0VYVEVOVFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3NwYXRpYWxFeHRlbnRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cbi8vIGtlZXBpbmcgdHJhY2sgb2YgdGhlIGxhYmVsIHRvIG5vdCBsb3NlIGV4aXN0aW5nIHRyYW5zbGF0aW9uXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5zcGF0aWFsRXh0ZW50cycpXG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfT05MSU5FX1JFU09VUkNFUzogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnb25saW5lUmVzb3VyY2VzJyxcbiAgbW9kZWxTcGVjaWZpZXI6ICdvbmxpbmVSZXNvdXJjZVR5cGU6IWxpbmsnLFxuICBmb3JtRmllbGRDb25maWc6IHt9LFxufVxuLy8ga2VlcGluZyB0cmFjayBvZiB0aGUgbGFiZWwgdG8gbm90IGxvc2UgZXhpc3RpbmcgdHJhbnNsYXRpb25cbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm9ubGluZVJlc291cmNlcycpXG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfT05MSU5FX0xJTktfUkVTT1VSQ0VTOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdvbmxpbmVSZXNvdXJjZXMnLFxuICBtb2RlbFNwZWNpZmllcjogJ29ubGluZVJlc291cmNlVHlwZTpsaW5rJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cbi8vIGtlZXBpbmcgdHJhY2sgb2YgdGhlIGxhYmVsIHRvIG5vdCBsb3NlIGV4aXN0aW5nIHRyYW5zbGF0aW9uXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVMaW5rUmVzb3VyY2VzJylcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgICBTRUNUSU9OUyAgICAgICAgICAqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5cbmV4cG9ydCBjb25zdCBUSVRMRV9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtcbiAgICBSRUNPUkRfVElUTEVfRklFTEQsXG4gICAgUkVDT1JEX0FCU1RSQUNUX0ZJRUxELFxuICAgIFJFQ09SRF9HUkFQSElDQUxfT1ZFUlZJRVdfRklFTEQsXG4gIF0sXG59XG5cbmV4cG9ydCBjb25zdCBBQk9VVF9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hYm91dC5sYWJlbCcpLFxuICBkZXNjcmlwdGlvbktleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hYm91dC5kZXNjcmlwdGlvbicpLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtcbiAgICBSRUNPUkRfVU5JUVVFX0lERU5USUZJRVJfRklFTEQsXG4gICAgUkVTT1VSQ0VfSURFTlRJRklFUl9GSUVMRCxcbiAgICBSRUNPUkRfUkVTT1VSQ0VfQ1JFQVRFRF9GSUVMRCxcbiAgICBSRUNPUkRfUkVTT1VSQ0VfVVBEQVRFRF9GSUVMRCxcbiAgICBSRUNPUkRfVVBEQVRFRF9GSUVMRCxcbiAgICBSRUNPUkRfVVBEQVRFX0ZSRVFVRU5DWV9GSUVMRCxcbiAgICBSRUNPUkRfVEVNUE9SQUxfRVhURU5UU19GSUVMRCxcbiAgXSxcbn1cblxuZXhwb3J0IGNvbnN0IEdFT0dSQVBISUNBTF9DT1ZFUkFHRV9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5nZW9ncmFwaGljYWxDb3ZlcmFnZS5sYWJlbCcpLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtSRUNPUkRfU1BBVElBTF9UT0dHTEVfRklFTEQsIFJFQ09SRF9TUEFUSUFMX0VYVEVOVFNfRklFTERdLFxufVxuXG5leHBvcnQgY29uc3QgQVNTT0NJQVRFRF9SRVNPVVJDRVNfU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uYXNzb2NpYXRlZFJlc291cmNlcy5sYWJlbCcpLFxuICBkZXNjcmlwdGlvbktleTogbWFya2VyKFxuICAgICdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hc3NvY2lhdGVkUmVzb3VyY2VzLmRlc2NyaXB0aW9uJ1xuICApLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtSRUNPUkRfT05MSU5FX1JFU09VUkNFU10sXG59XG5cbmV4cG9ydCBjb25zdCBBTk5FWEVTX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmFubmV4ZXMubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uYW5uZXhlcy5kZXNjcmlwdGlvbicpLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtSRUNPUkRfT05MSU5FX0xJTktfUkVTT1VSQ0VTXSxcbn1cblxuZXhwb3J0IGNvbnN0IENMQVNTSUZJQ0FUSU9OX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmNsYXNzaWZpY2F0aW9uLmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoXG4gICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmNsYXNzaWZpY2F0aW9uLmRlc2NyaXB0aW9uJ1xuICApLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtSRUNPUkRfS0VZV09SRFNfRklFTERdLFxufVxuXG5leHBvcnQgY29uc3QgVVNFX0FORF9BQ0NFU1NfQ09ORElUSU9OU19TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi51c2VBbmRBY2Nlc3NDb25kaXRpb25zLmxhYmVsJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1xuICAgIFJFQ09SRF9MSUNFTlNFX0ZJRUxELFxuICAgIENPTlNUUkFJTlRTX1NIT1JUQ1VUUyxcbiAgICBMRUdBTF9DT05TVFJBSU5UU19GSUVMRCxcbiAgICBTRUNVUklUWV9DT05TVFJBSU5UU19GSUVMRCxcbiAgICBPVEhFUl9DT05TVFJBSU5UU19GSUVMRCxcbiAgXSxcbn1cblxuZXhwb3J0IGNvbnN0IERBVEFfTUFOQUdFUlNfU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uZGF0YU1hbmFnZXJzLmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmRhdGFNYW5hZ2Vycy5kZXNjcmlwdGlvbicpLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtDT05UQUNUU19GT1JfUkVTT1VSQ0VfRklFTERdLFxufVxuXG5leHBvcnQgY29uc3QgTUVUQURBVEFfUE9JTlRfT0ZfQ09OVEFDVF9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5tZXRhZGF0YVBvaW50T2ZDb250YWN0LmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoXG4gICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLm1ldGFkYXRhUG9pbnRPZkNvbnRhY3QuZGVzY3JpcHRpb24nXG4gICksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW0NPTlRBQ1RTXSxcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgICAgUEFHRVMgICAgICAgICAgICAqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT05GSUdVUkFUSU9OOiBFZGl0b3JDb25maWcgPSB7XG4gIHBhZ2VzOiBbXG4gICAge1xuICAgICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnBhZ2UuZGVzY3JpcHRpb24nKSxcbiAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgIFRJVExFX1NFQ1RJT04sXG4gICAgICAgIENMQVNTSUZJQ0FUSU9OX1NFQ1RJT04sXG4gICAgICAgIEFCT1VUX1NFQ1RJT04sXG4gICAgICAgIEdFT0dSQVBISUNBTF9DT1ZFUkFHRV9TRUNUSU9OLFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5wYWdlLnJlc291cmNlcycpLFxuICAgICAgc2VjdGlvbnM6IFtBU1NPQ0lBVEVEX1JFU09VUkNFU19TRUNUSU9OLCBBTk5FWEVTX1NFQ1RJT05dLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnBhZ2UuYWNjZXNzQW5kQ29udGFjdCcpLFxuICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgVVNFX0FORF9BQ0NFU1NfQ09ORElUSU9OU19TRUNUSU9OLFxuICAgICAgICBEQVRBX01BTkFHRVJTX1NFQ1RJT04sXG4gICAgICAgIE1FVEFEQVRBX1BPSU5UX09GX0NPTlRBQ1RfU0VDVElPTixcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgICAgTElDRU5TRVMgICAgICAgICAgICAqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5leHBvcnQgY29uc3QgQVZBSUxBQkxFX0xJQ0VOU0VTOiBzdHJpbmdbXSA9IFtcbiAgJ2NjLWJ5JyxcbiAgJ2NjLWJ5LXNhJyxcbiAgJ2NjLXplcm8nLFxuICAnZXRhbGFiJyxcbiAgJ2V0YWxhYi12MicsXG4gICdvZGJsJyxcbiAgJ29kYy1ieScsXG4gICdwZGRsJyxcbiAgJ3Vua25vd24nLFxuXVxuXG5leHBvcnQgY29uc3QgT1BFTl9EQVRBX0xJQ0VOU0UgPSAnZXRhbGFiJ1xuXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLmNjLWJ5Jylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UuY2MtYnktc2EnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5jYy16ZXJvJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UuZXRhbGFiJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UuZXRhbGFiLXYyJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2Uub2RibCcpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLm9kYy1ieScpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLnBkZGwnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS51bmtub3duJylcblxuZXhwb3J0IGNvbnN0IE1BWF9VUExPQURfU0laRV9NQiA9IDEwXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqICAgICAgICBTUEFUSUFMIFNDT1BFICAgICAgICAgICAgKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cblxuZXhwb3J0IGNvbnN0IFNQQVRJQUxfU0NPUEVTOiBLZXl3b3JkW10gPSBbXG4gIHtcbiAgICBrZXk6ICdodHRwOi8vaW5zcGlyZS5lYy5ldXJvcGEuZXUvbWV0YWRhdGEtY29kZWxpc3QvU3BhdGlhbFNjb3BlL25hdGlvbmFsJyxcbiAgICBsYWJlbDogJ05hdGlvbmFsJyxcbiAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgdHlwZTogJ3RoZW1lJyxcbiAgfSxcbiAge1xuICAgIGtleTogJ2h0dHA6Ly9pbnNwaXJlLmVjLmV1cm9wYS5ldS9tZXRhZGF0YS1jb2RlbGlzdC9TcGF0aWFsU2NvcGUvcmVnaW9uYWwnLFxuICAgIGxhYmVsOiAnUmVnaW9uYWwnLFxuICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICB0eXBlOiAndGhlbWUnLFxuICB9LFxuXVxuIl19
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { extend } from 'ol/extent';
|
|
3
|
-
import
|
|
3
|
+
import { getGeometryBoundingBox } from '../../../../../../libs/util/shared/src';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
const GEOJSON = new GeoJSON();
|
|
6
5
|
export class MapUtilsService {
|
|
7
6
|
getRecordExtent(record) {
|
|
8
7
|
if (!('spatialExtents' in record) || record.spatialExtents.length === 0) {
|
|
@@ -13,8 +12,7 @@ export class MapUtilsService {
|
|
|
13
12
|
if ('bbox' in curr)
|
|
14
13
|
return extend(prev, curr.bbox);
|
|
15
14
|
else if ('geometry' in curr) {
|
|
16
|
-
|
|
17
|
-
return extend(prev, geom.getExtent());
|
|
15
|
+
return extend(prev, getGeometryBoundingBox(curr.geometry));
|
|
18
16
|
}
|
|
19
17
|
return prev;
|
|
20
18
|
}, [Infinity, Infinity, -Infinity, -Infinity]);
|
|
@@ -28,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28
26
|
providedIn: 'root',
|
|
29
27
|
}]
|
|
30
28
|
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLXV0aWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvbWFwL3NyYy9saWIvdXRpbHMvbWFwLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRWxDLE9BQU8sRUFBZSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFBOztBQUs1RixNQUFNLE9BQU8sZUFBZTtJQUMxQixlQUFlLENBQUMsTUFBOEI7UUFDNUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEUsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBQ0Qsd0RBQXdEO1FBQ3hELE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQ2pDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ2IsSUFBSSxNQUFNLElBQUksSUFBSTtnQkFBRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBZ0IsQ0FBQTtpQkFDNUQsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sTUFBTSxDQUNYLElBQUksRUFDSixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3ZCLENBQUE7WUFDbEIsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQyxFQUNELENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUMzQyxDQUFBO0lBQ0gsQ0FBQzsrR0FuQlUsZUFBZTttSEFBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGV4dGVuZCB9IGZyb20gJ29sL2V4dGVudCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBCb3VuZGluZ0JveCwgZ2V0R2VvbWV0cnlCb3VuZGluZ0JveCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTWFwVXRpbHNTZXJ2aWNlIHtcbiAgZ2V0UmVjb3JkRXh0ZW50KHJlY29yZDogUGFydGlhbDxDYXRhbG9nUmVjb3JkPik6IEJvdW5kaW5nQm94IHtcbiAgICBpZiAoISgnc3BhdGlhbEV4dGVudHMnIGluIHJlY29yZCkgfHwgcmVjb3JkLnNwYXRpYWxFeHRlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgLy8gZXh0ZW5kIGFsbCB0aGUgc3BhdGlhbCBleHRlbnRzIGludG8gYW4gaW5jbHVkaW5nIGJib3hcbiAgICByZXR1cm4gcmVjb3JkLnNwYXRpYWxFeHRlbnRzLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgIGlmICgnYmJveCcgaW4gY3VycikgcmV0dXJuIGV4dGVuZChwcmV2LCBjdXJyLmJib3gpIGFzIEJvdW5kaW5nQm94XG4gICAgICAgIGVsc2UgaWYgKCdnZW9tZXRyeScgaW4gY3Vycikge1xuICAgICAgICAgIHJldHVybiBleHRlbmQoXG4gICAgICAgICAgICBwcmV2LFxuICAgICAgICAgICAgZ2V0R2VvbWV0cnlCb3VuZGluZ0JveChjdXJyLmdlb21ldHJ5KVxuICAgICAgICAgICkgYXMgQm91bmRpbmdCb3hcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJldlxuICAgICAgfSxcbiAgICAgIFtJbmZpbml0eSwgSW5maW5pdHksIC1JbmZpbml0eSwgLUluZmluaXR5XVxuICAgIClcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
-
import { getLinkLabel, getLinkPriority } from '../../../../../../libs/util/shared/src';
|
|
2
|
+
import { getLinkId, getLinkLabel, getLinkPriority, } from '../../../../../../libs/util/shared/src';
|
|
3
3
|
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
4
4
|
import { map, tap } from 'rxjs/operators';
|
|
5
5
|
import { MdViewFacade } from '../state';
|
|
@@ -17,14 +17,30 @@ export class DataViewComponent {
|
|
|
17
17
|
}
|
|
18
18
|
set selectedView(value) {
|
|
19
19
|
this._selectedView = value;
|
|
20
|
-
if (
|
|
20
|
+
if (this.mode === value) {
|
|
21
21
|
this.linkSelected.emit(this.selectedLink$.value);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
+
set datavizConfig(value) {
|
|
25
|
+
this._selectedView = value.view;
|
|
26
|
+
if (this.mode === value.view) {
|
|
27
|
+
if (!value.source) {
|
|
28
|
+
this.linkSelected.emit(this.selectedLink$.value);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this._chartConfig = value.chartConfig;
|
|
32
|
+
this._selectedChoice = getLinkId(value.source);
|
|
33
|
+
this.selectedLink$.next(value.source);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
24
37
|
constructor(mdViewFacade) {
|
|
25
38
|
this.mdViewFacade = mdViewFacade;
|
|
26
39
|
this.displaySource = true;
|
|
40
|
+
this.linkMap = new Map();
|
|
27
41
|
this._selectedView = '';
|
|
42
|
+
this._chartConfig = null;
|
|
43
|
+
this._selectedChoice = null;
|
|
28
44
|
this.chartConfig$ = new BehaviorSubject(null);
|
|
29
45
|
this.linkSelected = new EventEmitter();
|
|
30
46
|
this.cacheActive$ = this.mdViewFacade.isHighUpdateFrequency$.pipe(map((highF) => !highF));
|
|
@@ -38,12 +54,14 @@ export class DataViewComponent {
|
|
|
38
54
|
return a;
|
|
39
55
|
}));
|
|
40
56
|
this.dropdownChoices$ = this.compatibleDataLinks$.pipe(tap((links) => {
|
|
41
|
-
|
|
42
|
-
|
|
57
|
+
this.linkMap.clear();
|
|
58
|
+
links.forEach((link) => this.linkMap.set(getLinkId(link), link));
|
|
59
|
+
if (!links.some((l) => l.url === this.selectedLink$.value?.url)) {
|
|
60
|
+
this.selectLink(getLinkId(links[0]));
|
|
43
61
|
}
|
|
44
62
|
}), map((links) => links.map((link) => ({
|
|
45
63
|
label: getLinkLabel(link),
|
|
46
|
-
value:
|
|
64
|
+
value: getLinkId(link),
|
|
47
65
|
}))));
|
|
48
66
|
this.selectedLink$ = new BehaviorSubject(null);
|
|
49
67
|
this.hidePreview$ = this.excludeWfs$.pipe(map((excludeWfs) => this.mode === 'chart' && excludeWfs));
|
|
@@ -51,16 +69,15 @@ export class DataViewComponent {
|
|
|
51
69
|
setChartConfig(event) {
|
|
52
70
|
this.mdViewFacade.setChartConfig(event);
|
|
53
71
|
}
|
|
54
|
-
selectLink(
|
|
55
|
-
const link =
|
|
56
|
-
if (this._selectedView && this._selectedView
|
|
72
|
+
selectLink(linkId) {
|
|
73
|
+
const link = this.linkMap.get(linkId);
|
|
74
|
+
if (this._selectedView && this._selectedView === this.mode) {
|
|
57
75
|
this.linkSelected.emit(link);
|
|
58
76
|
}
|
|
59
|
-
link.url = new URL(link.url);
|
|
60
77
|
this.selectedLink$.next(link);
|
|
61
78
|
}
|
|
62
79
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, deps: [{ token: i1.MdViewFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewComponent, isStandalone: true, selector: "gn-ui-data-view", inputs: { mode: "mode", displaySource: "displaySource", exceedsLimit: "exceedsLimit", selectedView: "selectedView" }, outputs: { chartConfig$: "chartConfig$", linkSelected: "linkSelected" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col gap-[13px]\">\n <div\n class=\"w-full py-4 px-5 bg-white border border-color-border rounded-lg mt-6\"\n >\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"h-[44px] w-full\"\n extraBtnClass=\"font-sans font-bold\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n </div>\n <ng-container *ngIf=\"hidePreview$ | async; else dataView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #dataView>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n [featureCatalog]=\"mdViewFacade.featureCatalog$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n [featureCatalog]=\"mdViewFacade.featureCatalog$ | async\"\n ></gn-ui-chart-view>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: TableViewComponent, selector: "gn-ui-table-view", inputs: ["featureCatalog", "cacheActive", "link"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ChartViewComponent, selector: "gn-ui-chart-view", inputs: ["featureCatalog", "cacheActive", "link", "aggregation", "xProperty", "yProperty", "chartType"], outputs: ["chartConfig$"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataViewComponent, isStandalone: true, selector: "gn-ui-data-view", inputs: { mode: "mode", displaySource: "displaySource", exceedsLimit: "exceedsLimit", selectedView: "selectedView", datavizConfig: "datavizConfig" }, outputs: { chartConfig$: "chartConfig$", linkSelected: "linkSelected" }, ngImport: i0, template: "<div class=\"w-full h-full flex flex-col gap-[13px]\">\n <div\n class=\"w-full py-4 px-5 bg-white border border-color-border rounded-lg mt-6\"\n >\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"h-[44px] w-full\"\n extraBtnClass=\"font-sans font-bold\"\n [choices]=\"choices\"\n [selected]=\"_selectedChoice\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n </div>\n <ng-container *ngIf=\"hidePreview$ | async; else dataView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #dataView>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n [featureCatalog]=\"mdViewFacade.featureCatalog$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n [featureCatalog]=\"mdViewFacade.featureCatalog$ | async\"\n [userChartConfig]=\"_chartConfig\"\n ></gn-ui-chart-view>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "component", type: TableViewComponent, selector: "gn-ui-table-view", inputs: ["featureCatalog", "cacheActive", "link"] }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ChartViewComponent, selector: "gn-ui-chart-view", inputs: ["featureCatalog", "cacheActive", "link", "aggregation", "xProperty", "yProperty", "chartType", "userChartConfig"], outputs: ["chartConfig$"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
64
81
|
}
|
|
65
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataViewComponent, decorators: [{
|
|
66
83
|
type: Component,
|
|
@@ -72,7 +89,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
72
89
|
TranslatePipe,
|
|
73
90
|
ChartViewComponent,
|
|
74
91
|
PopupAlertComponent,
|
|
75
|
-
], template: "<div class=\"w-full h-full flex flex-col gap-[13px]\">\n <div\n class=\"w-full py-4 px-5 bg-white border border-color-border rounded-lg mt-6\"\n >\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"h-[44px] w-full\"\n extraBtnClass=\"font-sans font-bold\"\n [choices]=\"choices\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n </div>\n <ng-container *ngIf=\"hidePreview$ | async; else dataView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #dataView>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n [featureCatalog]=\"mdViewFacade.featureCatalog$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n [featureCatalog]=\"mdViewFacade.featureCatalog$ | async\"\n ></gn-ui-chart-view>\n </div>\n </ng-template>\n</div>\n" }]
|
|
92
|
+
], template: "<div class=\"w-full h-full flex flex-col gap-[13px]\">\n <div\n class=\"w-full py-4 px-5 bg-white border border-color-border rounded-lg mt-6\"\n >\n <gn-ui-dropdown-selector\n *ngIf=\"dropdownChoices$ | async as choices\"\n [ngClass]=\"{ hidden: !displaySource }\"\n [title]=\"'table.select.data' | translate\"\n class=\"h-[44px] w-full\"\n extraBtnClass=\"font-sans font-bold\"\n [choices]=\"choices\"\n [selected]=\"_selectedChoice\"\n (selectValue)=\"selectLink($event)\"\n ></gn-ui-dropdown-selector>\n </div>\n <ng-container *ngIf=\"hidePreview$ | async; else dataView\">\n <gn-ui-popup-alert\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"block h-12 p-1\"\n >\n <span translate>record.feature.limit</span>\n </gn-ui-popup-alert>\n </ng-container>\n <ng-template #dataView>\n <div class=\"relative h-[460px]\">\n <gn-ui-table-view\n *ngIf=\"mode === 'table'\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n [featureCatalog]=\"mdViewFacade.featureCatalog$ | async\"\n ></gn-ui-table-view>\n <gn-ui-chart-view\n *ngIf=\"mode === 'chart'\"\n (chartConfig$)=\"setChartConfig($event)\"\n [cacheActive]=\"cacheActive$ | async\"\n [link]=\"selectedLink$ | async\"\n [featureCatalog]=\"mdViewFacade.featureCatalog$ | async\"\n [userChartConfig]=\"_chartConfig\"\n ></gn-ui-chart-view>\n </div>\n </ng-template>\n</div>\n" }]
|
|
76
93
|
}], ctorParameters: () => [{ type: i1.MdViewFacade }], propDecorators: { mode: [{
|
|
77
94
|
type: Input
|
|
78
95
|
}], displaySource: [{
|
|
@@ -81,9 +98,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
81
98
|
type: Input
|
|
82
99
|
}], selectedView: [{
|
|
83
100
|
type: Input
|
|
101
|
+
}], datavizConfig: [{
|
|
102
|
+
type: Input
|
|
84
103
|
}], chartConfig$: [{
|
|
85
104
|
type: Output
|
|
86
105
|
}], linkSelected: [{
|
|
87
106
|
type: Output
|
|
88
107
|
}] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBTXZDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFBO0FBQ2hGLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsa0JBQWtCLEdBQ25CLE1BQU0sNENBQTRDLENBQUE7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTs7OztBQWtCM0UsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixJQUFhLFlBQVksQ0FBQyxLQUFjO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxD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LElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM5QixDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDL0IsQ0FBQzsrR0E3RFUsaUJBQWlCO21HQUFqQixpQkFBaUIsMFFDekM5Qix5N0NBeUNBLHlERFRJLFlBQVksc1JBQ1oseUJBQXlCLHFOQUN6QixrQkFBa0IsZ0hBQ2xCLGtCQUFrQiw2R0FDbEIsYUFBYSxrREFDYixrQkFBa0IsaU1BQ2xCLG1CQUFtQjs7NEZBR1YsaUJBQWlCO2tCQWhCN0IsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWix5QkFBeUI7d0JBQ3pCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3FCQUNwQjtpRkFHUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDTyxZQUFZO3NCQUF4QixLQUFLO2dCQUlPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBTUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZ2V0TGlua0xhYmVsLCBnZXRMaW5rUHJpb3JpdHkgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgTWRWaWV3RmFjYWRlIH0gZnJvbSAnLi4vc3RhdGUnXG5pbXBvcnQgeyBEYXRhdml6Q2hhcnRDb25maWdNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL2RhdGF2aXovZGF0YXZpei1jb25maWd1cmF0aW9uLm1vZGVsJ1xuaW1wb3J0IHtcbiAgRGF0YXNldE9ubGluZVJlc291cmNlLFxuICBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7XG4gIENoYXJ0Vmlld0NvbXBvbmVudCxcbiAgVGFibGVWaWV3Q29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvZGF0YXZpei9zcmMnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBUcmFuc2xhdGVEaXJlY3RpdmUsIFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgUG9wdXBBbGVydENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvd2lkZ2V0cy9zcmMnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWRhdGEtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXZpZXcuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICAgIFRhYmxlVmlld0NvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVEaXJlY3RpdmUsXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgICBDaGFydFZpZXdDb21wb25lbnQsXG4gICAgUG9wdXBBbGVydENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVZpZXdDb21wb25lbnQge1xuICBASW5wdXQoKSBtb2RlOiAndGFibGUnIHwgJ2NoYXJ0J1xuICBASW5wdXQoKSBkaXNwbGF5U291cmNlID0gdHJ1ZVxuICBASW5wdXQoKSBzZXQgZXhjZWVkc0xpbWl0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5leGNsdWRlV2ZzJC5uZXh0KHZhbHVlKVxuICB9XG4gIF9zZWxlY3RlZFZpZXcgPSAnJ1xuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRWaWV3KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zZWxlY3RlZFZpZXcgPSB2YWx1ZVxuICAgIGlmICh2YWx1ZSAhPT0gJ21hcCcpIHtcbiAgICAgIHRoaXMubGlua1NlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZExpbmskLnZhbHVlKVxuICAgIH1cbiAgfVxuICBAT3V0cHV0KCkgY2hhcnRDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhdml6Q2hhcnRDb25maWdNb2RlbD4obnVsbClcbiAgQE91dHB1dCgpIGxpbmtTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YXNldE9ubGluZVJlc291cmNlPigpXG4gIGNhY2hlQWN0aXZlJCA9IHRoaXMubWRWaWV3RmFjYWRlLmlzSGlnaFVwZGF0ZUZyZXF1ZW5jeSQucGlwZShcbiAgICBtYXAoKGhpZ2hGKSA9PiAhaGlnaEYpXG4gIClcbiAgZXhjbHVkZVdmcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKVxuICBjb21wYXRpYmxlRGF0YUxpbmtzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMubWRWaWV3RmFjYWRlLmRhdGFMaW5rcyQsXG4gICAgdGhpcy5tZFZpZXdGYWNhZGUuZ2VvRGF0YUxpbmtzJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtkYXRhTGlua3MsIGdlb0RhdGFMaW5rc10pID0+IHtcbiAgICAgIGNvbnN0IGEgPSBbLi4uZGF0YUxpbmtzLCAuLi5nZW9EYXRhTGlua3NdXG4gICAgICBhLnNvcnQoKGEsIGIpID0+IGdldExpbmtQcmlvcml0eShiKSAtIGdldExpbmtQcmlvcml0eShhKSlcbiAgICAgIHJldHVybiBhXG4gICAgfSlcbiAgKVxuICBkcm9wZG93bkNob2ljZXMkID0gdGhpcy5jb21wYXRpYmxlRGF0YUxpbmtzJC5waXBlKFxuICAgIHRhcCgobGlua3MpID0+IHtcbiAgICAgIGlmIChsaW5rcy5pbmRleE9mKHRoaXMuc2VsZWN0ZWRMaW5rJC52YWx1ZSkgPT09IC0xKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0TGluayhKU09OLnN0cmluZ2lmeShsaW5rc1swXSkpXG4gICAgICB9XG4gICAgfSksXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLm1hcCgobGluaykgPT4gKHtcbiAgICAgICAgbGFiZWw6IGdldExpbmtMYWJlbChsaW5rKSxcbiAgICAgICAgdmFsdWU6IEpTT04uc3RyaW5naWZ5KGxpbmspLFxuICAgICAgfSkpXG4gICAgKVxuICApXG4gIHNlbGVjdGVkTGluayQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGFzZXRPbmxpbmVSZXNvdXJjZT4obnVsbClcblxuICBoaWRlUHJldmlldyQgPSB0aGlzLmV4Y2x1ZGVXZnMkLnBpcGUoXG4gICAgbWFwKChleGNsdWRlV2ZzKSA9PiB0aGlzLm1vZGUgPT09ICdjaGFydCcgJiYgZXhjbHVkZVdmcylcbiAgKVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWRWaWV3RmFjYWRlOiBNZFZpZXdGYWNhZGUpIHt9XG5cbiAgc2V0Q2hhcnRDb25maWcoZXZlbnQ6IERhdGF2aXpDaGFydENvbmZpZ01vZGVsKSB7XG4gICAgdGhpcy5tZFZpZXdGYWNhZGUuc2V0Q2hhcnRDb25maWcoZXZlbnQpXG4gIH1cblxuICBzZWxlY3RMaW5rKGxpbmtBc1N0cmluZzogc3RyaW5nKSB7XG4gICAgY29uc3QgbGluazogRGF0YXNldE9ubGluZVJlc291cmNlID0gSlNPTi5wYXJzZShsaW5rQXNTdHJpbmcpXG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkVmlldyAmJiB0aGlzLl9zZWxlY3RlZFZpZXcgIT09ICdtYXAnKSB7XG4gICAgICB0aGlzLmxpbmtTZWxlY3RlZC5lbWl0KGxpbmspXG4gICAgfVxuICAgIGxpbmsudXJsID0gbmV3IFVSTChsaW5rLnVybClcbiAgICB0aGlzLnNlbGVjdGVkTGluayQubmV4dChsaW5rKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidy1mdWxsIGgtZnVsbCBmbGV4IGZsZXgtY29sIGdhcC1bMTNweF1cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidy1mdWxsIHB5LTQgcHgtNSBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWNvbG9yLWJvcmRlciByb3VuZGVkLWxnIG10LTZcIlxuICA+XG4gICAgPGduLXVpLWRyb3Bkb3duLXNlbGVjdG9yXG4gICAgICAqbmdJZj1cImRyb3Bkb3duQ2hvaWNlcyQgfCBhc3luYyBhcyBjaG9pY2VzXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhZGlzcGxheVNvdXJjZSB9XCJcbiAgICAgIFt0aXRsZV09XCIndGFibGUuc2VsZWN0LmRhdGEnIHwgdHJhbnNsYXRlXCJcbiAgICAgIGNsYXNzPVwiaC1bNDRweF0gdy1mdWxsXCJcbiAgICAgIGV4dHJhQnRuQ2xhc3M9XCJmb250LXNhbnMgZm9udC1ib2xkXCJcbiAgICAgIFtjaG9pY2VzXT1cImNob2ljZXNcIlxuICAgICAgKHNlbGVjdFZhbHVlKT1cInNlbGVjdExpbmsoJGV2ZW50KVwiXG4gICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGlkZVByZXZpZXckIHwgYXN5bmM7IGVsc2UgZGF0YVZpZXdcIj5cbiAgICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAgIHR5cGU9XCJ3YXJuaW5nXCJcbiAgICAgIGljb249XCJtYXRFcnJvck91dGxpbmVPdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwiYmxvY2sgaC0xMiBwLTFcIlxuICAgID5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQuZmVhdHVyZS5saW1pdDwvc3Bhbj5cbiAgICA8L2duLXVpLXBvcHVwLWFsZXJ0PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNkYXRhVmlldz5cbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgaC1bNDYwcHhdXCI+XG4gICAgICA8Z24tdWktdGFibGUtdmlld1xuICAgICAgICAqbmdJZj1cIm1vZGUgPT09ICd0YWJsZSdcIlxuICAgICAgICBbY2FjaGVBY3RpdmVdPVwiY2FjaGVBY3RpdmUkIHwgYXN5bmNcIlxuICAgICAgICBbbGlua109XCJzZWxlY3RlZExpbmskIHwgYXN5bmNcIlxuICAgICAgICBbZmVhdHVyZUNhdGFsb2ddPVwibWRWaWV3RmFjYWRlLmZlYXR1cmVDYXRhbG9nJCB8IGFzeW5jXCJcbiAgICAgID48L2duLXVpLXRhYmxlLXZpZXc+XG4gICAgICA8Z24tdWktY2hhcnQtdmlld1xuICAgICAgICAqbmdJZj1cIm1vZGUgPT09ICdjaGFydCdcIlxuICAgICAgICAoY2hhcnRDb25maWckKT1cInNldENoYXJ0Q29uZmlnKCRldmVudClcIlxuICAgICAgICBbY2FjaGVBY3RpdmVdPVwiY2FjaGVBY3RpdmUkIHwgYXN5bmNcIlxuICAgICAgICBbbGlua109XCJzZWxlY3RlZExpbmskIHwgYXN5bmNcIlxuICAgICAgICBbZmVhdHVyZUNhdGFsb2ddPVwibWRWaWV3RmFjYWRlLmZlYXR1cmVDYXRhbG9nJCB8IGFzeW5jXCJcbiAgICAgID48L2duLXVpLWNoYXJ0LXZpZXc+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9yZWNvcmQvc3JjL2xpYi9kYXRhLXZpZXcvZGF0YS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsR0FDaEIsTUFBTSx3Q0FBd0MsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUNyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFHdkMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDaEYsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixrQkFBa0IsR0FDbkIsTUFBTSw0Q0FBNEMsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFBOzs7O0FBa0IzRSxNQUFNLE9BQU8saUJBQWlCO0lBRzVCLElBQWEsWUFBWSxDQUFDLEtBQWM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMs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QUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQixDQUFDOytHQS9FVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwwU0MxQzlCLDJnREEyQ0EseUREVkksWUFBWSxzUkFDWix5QkFBeUIscU5BQ3pCLGtCQUFrQixnSEFDbEIsa0JBQWtCLDZHQUNsQixhQUFhLGtEQUNiLGtCQUFrQixvTkFDbEIsbUJBQW1COzs0RkFHVixpQkFBaUI7a0JBaEI3QixTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLHlCQUF5Qjt3QkFDekIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixtQkFBbUI7cUJBQ3BCO2lGQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBT08sWUFBWTtzQkFBeEIsS0FBSztnQkFNTyxhQUFhO3NCQUF6QixLQUFLO2dCQVlJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIGdldExpbmtJZCxcbiAgZ2V0TGlua0xhYmVsLFxuICBnZXRMaW5rUHJpb3JpdHksXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBNZFZpZXdGYWNhZGUgfSBmcm9tICcuLi9zdGF0ZSdcbmltcG9ydCB7IERhdGF2aXpDaGFydENvbmZpZ01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5pbXBvcnQgeyBEYXRhc2V0T25saW5lUmVzb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHtcbiAgQ2hhcnRWaWV3Q29tcG9uZW50LFxuICBUYWJsZVZpZXdDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9kYXRhdml6L3NyYydcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFRyYW5zbGF0ZURpcmVjdGl2ZSwgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBQb3B1cEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZGF0YS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtdmlldy5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgVGFibGVWaWV3Q29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZURpcmVjdGl2ZSxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICAgIENoYXJ0Vmlld0NvbXBvbmVudCxcbiAgICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVmlld0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1vZGU6ICd0YWJsZScgfCAnY2hhcnQnXG4gIEBJbnB1dCgpIGRpc3BsYXlTb3VyY2UgPSB0cnVlXG4gIEBJbnB1dCgpIHNldCBleGNlZWRzTGltaXQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmV4Y2x1ZGVXZnMkLm5leHQodmFsdWUpXG4gIH1cbiAgbGlua01hcDogTWFwPHN0cmluZywgRGF0YXNldE9ubGluZVJlc291cmNlPiA9IG5ldyBNYXAoKVxuICBfc2VsZWN0ZWRWaWV3ID0gJydcbiAgX2NoYXJ0Q29uZmlnID0gbnVsbFxuICBfc2VsZWN0ZWRDaG9pY2UgPSBudWxsXG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZFZpZXcodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NlbGVjdGVkVmlldyA9IHZhbHVlXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gdmFsdWUpIHtcbiAgICAgIHRoaXMubGlua1NlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZExpbmskLnZhbHVlKVxuICAgIH1cbiAgfVxuICBASW5wdXQoKSBzZXQgZGF0YXZpekNvbmZpZyh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fc2VsZWN0ZWRWaWV3ID0gdmFsdWUudmlld1xuICAgIGlmICh0aGlzLm1vZGUgPT09IHZhbHVlLnZpZXcpIHtcbiAgICAgIGlmICghdmFsdWUuc291cmNlKSB7XG4gICAgICAgIHRoaXMubGlua1NlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZExpbmskLnZhbHVlKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fY2hhcnRDb25maWcgPSB2YWx1ZS5jaGFydENvbmZpZ1xuICAgICAgICB0aGlzLl9zZWxlY3RlZENob2ljZSA9IGdldExpbmtJZCh2YWx1ZS5zb3VyY2UpXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaW5rJC5uZXh0KHZhbHVlLnNvdXJjZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQE91dHB1dCgpIGNoYXJ0Q29uZmlnJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0YXZpekNoYXJ0Q29uZmlnTW9kZWw+KG51bGwpXG4gIEBPdXRwdXQoKSBsaW5rU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGFzZXRPbmxpbmVSZXNvdXJjZT4oKVxuICBjYWNoZUFjdGl2ZSQgPSB0aGlzLm1kVmlld0ZhY2FkZS5pc0hpZ2hVcGRhdGVGcmVxdWVuY3kkLnBpcGUoXG4gICAgbWFwKChoaWdoRikgPT4gIWhpZ2hGKVxuICApXG4gIGV4Y2x1ZGVXZnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSlcbiAgY29tcGF0aWJsZURhdGFMaW5rcyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm1kVmlld0ZhY2FkZS5kYXRhTGlua3MkLFxuICAgIHRoaXMubWRWaWV3RmFjYWRlLmdlb0RhdGFMaW5rcyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbZGF0YUxpbmtzLCBnZW9EYXRhTGlua3NdKSA9PiB7XG4gICAgICBjb25zdCBhID0gWy4uLmRhdGFMaW5rcywgLi4uZ2VvRGF0YUxpbmtzXVxuICAgICAgYS5zb3J0KChhLCBiKSA9PiBnZXRMaW5rUHJpb3JpdHkoYikgLSBnZXRMaW5rUHJpb3JpdHkoYSkpXG4gICAgICByZXR1cm4gYVxuICAgIH0pXG4gIClcbiAgZHJvcGRvd25DaG9pY2VzJCA9IHRoaXMuY29tcGF0aWJsZURhdGFMaW5rcyQucGlwZShcbiAgICB0YXAoKGxpbmtzOiBEYXRhc2V0T25saW5lUmVzb3VyY2VbXSkgPT4ge1xuICAgICAgdGhpcy5saW5rTWFwLmNsZWFyKClcbiAgICAgIGxpbmtzLmZvckVhY2goKGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSkgPT5cbiAgICAgICAgdGhpcy5saW5rTWFwLnNldChnZXRMaW5rSWQobGluayksIGxpbmspXG4gICAgICApXG4gICAgICBpZiAoIWxpbmtzLnNvbWUoKGwpID0+IGwudXJsID09PSB0aGlzLnNlbGVjdGVkTGluayQudmFsdWU/LnVybCkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RMaW5rKGdldExpbmtJZChsaW5rc1swXSkpXG4gICAgICB9XG4gICAgfSksXG4gICAgbWFwKChsaW5rcykgPT5cbiAgICAgIGxpbmtzLm1hcCgobGluazogRGF0YXNldE9ubGluZVJlc291cmNlKSA9PiAoe1xuICAgICAgICBsYWJlbDogZ2V0TGlua0xhYmVsKGxpbmspLFxuICAgICAgICB2YWx1ZTogZ2V0TGlua0lkKGxpbmspLFxuICAgICAgfSkpXG4gICAgKVxuICApXG4gIHNlbGVjdGVkTGluayQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGFzZXRPbmxpbmVSZXNvdXJjZT4obnVsbClcblxuICBoaWRlUHJldmlldyQgPSB0aGlzLmV4Y2x1ZGVXZnMkLnBpcGUoXG4gICAgbWFwKChleGNsdWRlV2ZzKSA9PiB0aGlzLm1vZGUgPT09ICdjaGFydCcgJiYgZXhjbHVkZVdmcylcbiAgKVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbWRWaWV3RmFjYWRlOiBNZFZpZXdGYWNhZGUpIHt9XG5cbiAgc2V0Q2hhcnRDb25maWcoZXZlbnQ6IERhdGF2aXpDaGFydENvbmZpZ01vZGVsKSB7XG4gICAgdGhpcy5tZFZpZXdGYWNhZGUuc2V0Q2hhcnRDb25maWcoZXZlbnQpXG4gIH1cblxuICBzZWxlY3RMaW5rKGxpbmtJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgbGluayA9IHRoaXMubGlua01hcC5nZXQobGlua0lkKVxuICAgIGlmICh0aGlzLl9zZWxlY3RlZFZpZXcgJiYgdGhpcy5fc2VsZWN0ZWRWaWV3ID09PSB0aGlzLm1vZGUpIHtcbiAgICAgIHRoaXMubGlua1NlbGVjdGVkLmVtaXQobGluaylcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZExpbmskLm5leHQobGluaylcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCBnYXAtWzEzcHhdXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInctZnVsbCBweS00IHB4LTUgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1jb2xvci1ib3JkZXIgcm91bmRlZC1sZyBtdC02XCJcbiAgPlxuICAgIDxnbi11aS1kcm9wZG93bi1zZWxlY3RvclxuICAgICAgKm5nSWY9XCJkcm9wZG93bkNob2ljZXMkIHwgYXN5bmMgYXMgY2hvaWNlc1wiXG4gICAgICBbbmdDbGFzc109XCJ7IGhpZGRlbjogIWRpc3BsYXlTb3VyY2UgfVwiXG4gICAgICBbdGl0bGVdPVwiJ3RhYmxlLnNlbGVjdC5kYXRhJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBjbGFzcz1cImgtWzQ0cHhdIHctZnVsbFwiXG4gICAgICBleHRyYUJ0bkNsYXNzPVwiZm9udC1zYW5zIGZvbnQtYm9sZFwiXG4gICAgICBbY2hvaWNlc109XCJjaG9pY2VzXCJcbiAgICAgIFtzZWxlY3RlZF09XCJfc2VsZWN0ZWRDaG9pY2VcIlxuICAgICAgKHNlbGVjdFZhbHVlKT1cInNlbGVjdExpbmsoJGV2ZW50KVwiXG4gICAgPjwvZ24tdWktZHJvcGRvd24tc2VsZWN0b3I+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGlkZVByZXZpZXckIHwgYXN5bmM7IGVsc2UgZGF0YVZpZXdcIj5cbiAgICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAgIHR5cGU9XCJ3YXJuaW5nXCJcbiAgICAgIGljb249XCJtYXRFcnJvck91dGxpbmVPdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwiYmxvY2sgaC0xMiBwLTFcIlxuICAgID5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5yZWNvcmQuZmVhdHVyZS5saW1pdDwvc3Bhbj5cbiAgICA8L2duLXVpLXBvcHVwLWFsZXJ0PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNkYXRhVmlldz5cbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgaC1bNDYwcHhdXCI+XG4gICAgICA8Z24tdWktdGFibGUtdmlld1xuICAgICAgICAqbmdJZj1cIm1vZGUgPT09ICd0YWJsZSdcIlxuICAgICAgICBbY2FjaGVBY3RpdmVdPVwiY2FjaGVBY3RpdmUkIHwgYXN5bmNcIlxuICAgICAgICBbbGlua109XCJzZWxlY3RlZExpbmskIHwgYXN5bmNcIlxuICAgICAgICBbZmVhdHVyZUNhdGFsb2ddPVwibWRWaWV3RmFjYWRlLmZlYXR1cmVDYXRhbG9nJCB8IGFzeW5jXCJcbiAgICAgID48L2duLXVpLXRhYmxlLXZpZXc+XG4gICAgICA8Z24tdWktY2hhcnQtdmlld1xuICAgICAgICAqbmdJZj1cIm1vZGUgPT09ICdjaGFydCdcIlxuICAgICAgICAoY2hhcnRDb25maWckKT1cInNldENoYXJ0Q29uZmlnKCRldmVudClcIlxuICAgICAgICBbY2FjaGVBY3RpdmVdPVwiY2FjaGVBY3RpdmUkIHwgYXN5bmNcIlxuICAgICAgICBbbGlua109XCJzZWxlY3RlZExpbmskIHwgYXN5bmNcIlxuICAgICAgICBbZmVhdHVyZUNhdGFsb2ddPVwibWRWaWV3RmFjYWRlLmZlYXR1cmVDYXRhbG9nJCB8IGFzeW5jXCJcbiAgICAgICAgW3VzZXJDaGFydENvbmZpZ109XCJfY2hhcnRDb25maWdcIlxuICAgICAgPjwvZ24tdWktY2hhcnQtdmlldz5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|