@veloceapps/sdk 5.0.9 → 5.0.11
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/bundles/veloce-sdk-cms.umd.js +102 -51
- package/bundles/veloce-sdk-cms.umd.js.map +1 -1
- package/bundles/veloce-sdk-core.umd.js.map +1 -1
- package/bundles/veloce-sdk-runtime.umd.js.map +1 -1
- package/bundles/veloce-sdk.umd.js +4 -2
- package/bundles/veloce-sdk.umd.js.map +1 -1
- package/cms/components/element-renderer/element-renderer.component.d.ts +1 -0
- package/cms/services/launcher.service.d.ts +3 -3
- package/cms/types/compilation.types.d.ts +6 -0
- package/cms/types/index.d.ts +1 -0
- package/cms/utils/elements-resolver.d.ts +3 -0
- package/cms/vendor-map.d.ts +124 -116
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +1 -1
- package/esm2015/cms/components/element-renderer/element-renderer.component.js +23 -2
- package/esm2015/cms/components/element.component.js +1 -1
- package/esm2015/cms/components/preview/preview.component.js +7 -4
- package/esm2015/cms/decorators/element.decorator.js +1 -1
- package/esm2015/cms/directives/custom-template.directive.js +1 -1
- package/esm2015/cms/engine/models/entity.js +1 -1
- package/esm2015/cms/modules/federated/federated.component.js +1 -1
- package/esm2015/cms/modules/federated/federated.utils.js +1 -1
- package/esm2015/cms/plugins/configuration.plugin.js +1 -1
- package/esm2015/cms/plugins/script.plugin.js +1 -1
- package/esm2015/cms/services/dynamic-module.service.js +1 -1
- package/esm2015/cms/services/element-context.service.js +1 -1
- package/esm2015/cms/services/integration.state.js +1 -1
- package/esm2015/cms/services/launcher.service.js +10 -10
- package/esm2015/cms/services/templates.service.js +1 -1
- package/esm2015/cms/types/compilation.types.js +2 -0
- package/esm2015/cms/types/index.js +2 -1
- package/esm2015/cms/utils/element.utils.js +1 -1
- package/esm2015/cms/utils/elements-resolver.js +52 -30
- package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +1 -1
- package/esm2015/core/modules/configuration/services/configuration.service.js +1 -1
- package/esm2015/core/modules/configuration/services/runtime-context.service.js +1 -1
- package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +1 -1
- package/esm2015/core/services/context.service.js +1 -1
- package/esm2015/core/services/quote-draft.service.js +1 -1
- package/esm2015/core/utils/line-item.utils.js +1 -1
- package/esm2015/runtime/components/component-preview/component-preview.component.js +1 -1
- package/esm2015/runtime/components/section-renderer/section-renderer.component.js +1 -1
- package/esm2015/runtime/components/ui-runtime/runtime.component.js +1 -1
- package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +1 -1
- package/esm2015/runtime/execution/components/children-placeholder/children-placeholder.component.js +1 -1
- package/esm2015/runtime/execution/components/context-provider/context-provider.component.js +1 -1
- package/esm2015/runtime/execution/components/execution-section-renderer/execution-section-renderer.component.js +1 -1
- package/esm2015/runtime/execution/components/federated/federated.component.js +1 -1
- package/esm2015/runtime/execution/components/velo-attribute/velo-attribute.component.js +1 -1
- package/esm2015/runtime/execution/components/velo-multiselect/velo-multiselect.component.js +1 -1
- package/esm2015/runtime/execution/components/velo-port-checkbox/velo-port-checkbox.component.js +1 -1
- package/esm2015/runtime/execution/components/velo-port-dropdown/velo-port-dropdown.component.js +1 -1
- package/esm2015/runtime/execution/components/velo-port-radio/velo-port-radio.component.js +1 -1
- package/esm2015/runtime/execution/components/velo-type/velo-type.component.js +1 -1
- package/esm2015/runtime/execution/directives/section-script.directive.js +1 -1
- package/esm2015/runtime/execution/directives/sf-query.directive.js +1 -1
- package/esm2015/runtime/execution/directives/velo-attribute.directive.js +1 -1
- package/esm2015/runtime/execution/directives/velo-port.directive.js +1 -1
- package/esm2015/runtime/execution/directives/vl-approval.directive.js +1 -1
- package/esm2015/runtime/execution/directives/vl-document-attachments.directive.js +1 -1
- package/esm2015/runtime/execution/directives/vl-document-templates.directive.js +1 -1
- package/esm2015/runtime/execution/directives/vl-quote.directive.js +1 -1
- package/esm2015/runtime/execution/directives/vl-ramp.directive.js +1 -1
- package/esm2015/runtime/execution/utils/federated.util.js +1 -1
- package/esm2015/runtime/services/cart.service.js +1 -1
- package/esm2015/runtime/services/collapsible-state.service.js +1 -1
- package/esm2015/runtime/services/configuration.service.js +1 -1
- package/esm2015/runtime/services/current-state.service.js +1 -1
- package/esm2015/runtime/services/form-scope.service.js +1 -1
- package/esm2015/runtime/services/product-model-cache.service.js +1 -1
- package/esm2015/runtime/services/runtime-context.service.js +1 -1
- package/esm2015/runtime/services/runtime-form.service.js +2 -2
- package/esm2015/runtime/services/runtime.service.js +1 -1
- package/esm2015/runtime/services/section-helper.service.js +1 -1
- package/esm2015/runtime/services/section-scope.service.js +1 -1
- package/esm2015/runtime/services/section-store.service.js +1 -1
- package/esm2015/runtime/services/section.service.js +1 -1
- package/esm2015/runtime/types/script-registry.types.js +1 -1
- package/esm2015/runtime/utils/line-item.util.js +1 -1
- package/esm2015/runtime/utils/sections-binder.helper.js +1 -1
- package/esm2015/src/components/dialog/dialog.component.js +1 -1
- package/esm2015/src/components/doc-gen/doc-gen.component.js +2 -2
- package/esm2015/src/components/header/cart-overlay/cart-preview.component.js +2 -2
- package/esm2015/src/components/header/header.component.js +4 -2
- package/esm2015/src/components/header/metrics/metrics.component.js +1 -1
- package/esm2015/src/flow-routing.module.js +1 -1
- package/esm2015/src/flow.component.js +1 -1
- package/esm2015/src/guards/product-unload.guard.js +1 -1
- package/esm2015/src/guards/root.guard.js +1 -1
- package/esm2015/src/pages/catalog/catalog.component.js +1 -1
- package/esm2015/src/pages/debug/debug.component.js +1 -1
- package/esm2015/src/pages/legacy-product/legacy-product.component.js +1 -1
- package/esm2015/src/pages/product/product.component.js +1 -1
- package/esm2015/src/pages/record-not-found/record-not-found.component.js +1 -1
- package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +1 -1
- package/esm2015/src/resolvers/flow.resolver.js +1 -1
- package/esm2015/src/resolvers/quote.resolver.js +1 -1
- package/esm2015/src/services/flow-router.service.js +1 -1
- package/fesm2015/veloce-sdk-cms.js +86 -40
- package/fesm2015/veloce-sdk-cms.js.map +1 -1
- package/fesm2015/veloce-sdk-core.js.map +1 -1
- package/fesm2015/veloce-sdk-runtime.js +1 -1
- package/fesm2015/veloce-sdk-runtime.js.map +1 -1
- package/fesm2015/veloce-sdk.js +4 -2
- package/fesm2015/veloce-sdk.js.map +1 -1
- package/package.json +1 -1
- package/runtime/services/runtime-form.service.d.ts +3 -3
- package/runtime/utils/line-item.util.d.ts +1 -1
- package/src/guards/product-unload.guard.d.ts +2 -1
- package/src/resolvers/flow.resolver.d.ts +1 -1
@@ -204,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
204
204
|
type: Injectable,
|
205
205
|
args: [{ providedIn: 'root' }]
|
206
206
|
}], ctorParameters: function () { return [{ type: i1.ContextService }, { type: i2.QuoteApiService }, { type: i2.PriceApiService }]; } });
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtZHJhZnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvc2VydmljZXMvcXVvdGUtZHJhZnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBaUQsTUFBTSxjQUFjLENBQUM7QUFFdkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFJdEYsTUFBTSxPQUFPLGlCQUFpQjtJQTZCNUIsWUFDVSxPQUF1QixFQUN2QixlQUFnQyxFQUNoQyxlQUFnQztRQUZoQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBL0JsQyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBQzFELGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN6RCx3QkFBbUIsR0FBZSxFQUFFLENBQUM7UUFtQnRDLGtCQUFhLEdBQWdCLEVBQUUsQ0FBQztRQUNoQyxvQkFBZSxHQUFnQixFQUFFLENBQUM7UUFDbEMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLFdBQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBUTdDLElBQUksQ0FBQyxnQkFBZ0Is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QUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxNQUFLLHdCQUF3QixDQUFDLE9BQU8sRUFBRTtZQUN2RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsS0FBSyxPQUFPLENBQUMsQ0FBQztTQUNoRzthQUFNO1lBQ0wsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztTQUMvQjtJQUNILENBQUM7OytHQW5SVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQURKLE1BQU07NEZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcmljZUFwaVNlcnZpY2UsIFF1b3RlQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2UvYXBpJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZSwgTGluZUl0ZW0sIFByaWNlTGlzdCwgUHJpY2VTdW1tYXJ5LCBRdW90ZURyYWZ0IH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBub29wLCBPYnNlcnZhYmxlLCB6aXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgc2tpcCwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4vY29udGV4dC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBRdW90ZURyYWZ0U2VydmljZSB7XG4gIHByaXZhdGUgcXVvdGVTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UXVvdGVEcmFmdCB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlc2V0U3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwcml2YXRlIGlzSW5pdGlhbGl6ZWRTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIGluaXRpYWxDdXJyZW50U3RhdGU6IExpbmVJdGVtW10gPSBbXTtcblxuICBwdWJsaWMgZ2V0IGlzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbml0aWFsaXplZFN1YmokLmdldFZhbHVlKCk7XG4gIH1cbiAgcHVibGljIHNldCBpc0luaXRpYWxpemVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuaXNJbml0aWFsaXplZFN1YmokLm5leHQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzQXNzZXRzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZVN1YmokLnBpcGUobWFwKCgpID0+IHRoaXMuaGFzQXNzZXRzKSk7XG4gIH1cbiAgcHVibGljIGdldCBoYXNBc3NldHMoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcbiAgICByZXR1cm4gQm9vbGVhbihxdW90ZURyYWZ0ICYmIHF1b3RlRHJhZnQuY3VycmVudFN0YXRlLmxlbmd0aCA+IDApO1xuICB9XG5cbiAgcHVibGljIGFsbFByaWNlTGlzdHM6IFByaWNlTGlzdFtdID0gW107XG4gIHB1YmxpYyBhc3NldFByaWNlTGlzdHM6IFByaWNlTGlzdFtdID0gW107XG4gIHB1YmxpYyBoYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuICBwdWJsaWMgcmVzZXQkID0gdGhpcy5yZXNldFN1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgYWN0aXZlUHJpY2VMaXN0JDogT2JzZXJ2YWJsZTxQcmljZUxpc3QgfCBudWxsPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRleHQ6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVvdGVBcGlTZXJ2aWNlOiBRdW90ZUFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmljZUFwaVNlcnZpY2U6IFByaWNlQXBpU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5hY3RpdmVQcmljZUxpc3QkID0gdGhpcy5jb250ZXh0LnJlc29sdmUkKCkucGlwZShcbiAgICAgIG1hcChjdHggPT4gdGhpcy5hbGxQcmljZUxpc3RzLmZpbmQocHJpY2VMaXN0ID0+IHByaWNlTGlzdC5pZCA9PT0gY3R4LnByb3BlcnRpZXMuUHJpY2VMaXN0SWQpKSxcbiAgICAgIG1hcChwcmljZUxpc3QgPT4gcHJpY2VMaXN0ID8/IG51bGwpLFxuICAgICk7XG5cbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihpc0luaXRpYWxpemVkID0+IGlzSW5pdGlhbGl6ZWQpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5xdW90ZVN1YmokLmFzT2JzZXJ2YWJsZSgpKSxcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgdGFwKHF1b3RlID0+IHRoaXMubWFya0FzVXBkYXRlZChxdW90ZSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCkge1xuICAgIHRoaXMucmVzZXRTdWJqJC5uZXh0KHRydWUpO1xuICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KG51bGwpO1xuICAgIHRoaXMuaW5pdGlhbEN1cnJlbnRTdGF0ZSA9IFtdO1xuICB9XG5cbiAgcHVibGljIGluaXQocXVvdGVJZDogc3RyaW5nLCBwYXJhbXM6IERpY3Rpb25hcnk8c3RyaW5nPik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB6aXAodGhpcy5xdW90ZUFwaVNlcnZpY2UuZ2V0UXVvdGVEcmFmdChxdW90ZUlkLCBwYXJhbXMpLCB0aGlzLnByaWNlQXBpU2VydmljZS5nZXRQcmljZUxpc3RzKCkpLnBpcGUoXG4gICAgICB0YXAoKFtxdW90ZSwgYWxsUHJpY2VMaXN0c10pID0+IHtcbiAgICAgICAgdGhpcy5hbGxQcmljZUxpc3RzID0gYWxsUHJpY2VMaXN0cztcbiAgICAgICAgdGhpcy5xdW90ZVN1YmokLm5leHQocXVvdGUpO1xuICAgICAgICB0aGlzLmluaXRpYWxDdXJyZW50U3RhdGUgPSBxdW90ZS5jdXJyZW50U3RhdGU7XG5cbiAgICAgICAgdGhpcy5jb250ZXh0LnVwZGF0ZShxdW90ZS5jb250ZXh0KTtcblxuICAgICAgICB0aGlzLnBvcHVsYXRlQWN0aXZlUHJpY2VMaXN0cyQoKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+IG5vb3AoKSksXG4gICAgICB0YWtlKDEpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q3VycmVudExpbmVJdGVtU3RhdGUobGluZUl0ZW1zOiBMaW5lSXRlbVtdKTogdm9pZCB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KHtcbiAgICAgIC4uLnF1b3RlRHJhZnQsXG4gICAgICBjdXJyZW50U3RhdGU6IGxpbmVJdGVtcyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVRdW90ZURyYWZ0KHVwZGF0ZTogUGFydGlhbDxRdW90ZURyYWZ0Pik6IHZvaWQge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodXBkYXRlLmNvbnRleHQpIHtcbiAgICAgIHRoaXMuY29udGV4dC5zZXQodXBkYXRlLmNvbnRleHQpO1xuICAgIH1cblxuICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KHtcbiAgICAgIC4uLnF1b3RlRHJhZnQsXG4gICAgICAuLi51cGRhdGUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQnlQcmljZVN1bW1hcnkocHJpY2VTdW1tYXJ5OiBQcmljZVN1bW1hcnkpOiB2b2lkIHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZVN1YmokLnZhbHVlO1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlZEN1cnJlbnRTdGF0ZSA9IHRoaXMuY3VycmVudFN0YXRlLm1hcChsaW5lSXRlbSA9PiB7XG4gICAgICBjb25zdCB1cGRhdGVkID0gcHJpY2VTdW1tYXJ5LmxpbmVJdGVtcy5maW5kKGxpID0+IGxpLmlkID09PSBsaW5lSXRlbS5pZCk7XG4gICAgICByZXR1cm4gdXBkYXRlZCA/PyBsaW5lSXRlbTtcbiAgICB9KTtcblxuICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KHtcbiAgICAgIC4uLnF1b3RlRHJhZnQsXG4gICAgICBjdXJyZW50U3RhdGU6IHVwZGF0ZWRDdXJyZW50U3RhdGUsXG4gICAgICB0b3RhbFByaWNlczogcHJpY2VTdW1tYXJ5LnRvdGFsUHJpY2VzLFxuICAgICAgYXBwcm92YWxJdGVtczogcHJpY2VTdW1tYXJ5LmFwcHJvdmFsSXRlbXMsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgcXVvdGVEcmFmdCQoKTogT2JzZXJ2YWJsZTxRdW90ZURyYWZ0PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMucXVvdGVTdWJqJCwgdGhpcy5jb250ZXh0LnJlc29sdmUkKCldKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHRoaXMucXVvdGVEcmFmdCksXG4gICAgICBmaWx0ZXIoKHF1b3RlKTogcXVvdGUgaXMgUXVvdGVEcmFmdCA9PiBCb29sZWFuKHF1b3RlKSksXG4gICAgICBzaGFyZVJlcGxheSgpLFxuICAgICk7XG4gIH1cblxuICBnZXQgcXVvdGVEcmFmdCgpOiBRdW90ZURyYWZ0IHwgbnVsbCB7XG4gICAgY29uc3QgcXVvdGUgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucXVvdGUsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHQucmVzb2x2ZSgpLFxuICAgIH07XG4gIH1cblxuICBnZXQgcXVvdGVEcmFmdEZvckFjdGl2ZVByaWNlTGlzdCgpOiBRdW90ZURyYWZ0IHwgbnVsbCB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdDtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnF1b3RlRHJhZnQsXG4gICAgICBpbml0aWFsU3RhdGU6IHRoaXMuZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QocXVvdGVEcmFmdC5pbml0aWFsU3RhdGUpLFxuICAgICAgY3VycmVudFN0YXRlOiB0aGlzLmZpbHRlckJ5QWN0aXZlUHJpY2VMaXN0KHF1b3RlRHJhZnQuY3VycmVudFN0YXRlKSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRTdGF0ZSQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdCQucGlwZShtYXAocXVvdGUgPT4gcXVvdGUuY3VycmVudFN0YXRlKSk7XG4gIH1cblxuICBnZXQgY3VycmVudFN0YXRlKCk6IExpbmVJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnQ/LmN1cnJlbnRTdGF0ZSA/PyBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJlYW0gb2YgYWN0aXZlQ3VycmVudFN0YXRlXG4gICAqL1xuICBnZXQgYWN0aXZlQ3VycmVudFN0YXRlJCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0JC5waXBlKG1hcCgoKSA9PiB0aGlzLmFjdGl2ZUN1cnJlbnRTdGF0ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFjdGl2ZUN1cnJlbnRTdGF0ZSBpcyBjdXJyZW50U3RhdGUgcGFzc2VkIHRocm91Z2ggYWRkaXRpb25hbCBmaWx0ZXJzXG4gICAqL1xuICBnZXQgYWN0aXZlQ3VycmVudFN0YXRlKCk6IExpbmVJdGVtW10ge1xuICAgIGxldCBjdXJyZW50U3RhdGUgPSB0aGlzLnF1b3RlRHJhZnQ/LmN1cnJlbnRTdGF0ZSA/PyBbXTtcblxuICAgIGN1cnJlbnRTdGF0ZSA9IHRoaXMuZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QoY3VycmVudFN0YXRlKTtcblxuICAgIHJldHVybiBjdXJyZW50U3RhdGU7XG4gIH1cblxuICAvKipcbiAgICogU3RyZWFtIG9mIGFjdGl2ZUluaXRpYWxTdGF0ZVxuICAgKi9cbiAgZ2V0IGFjdGl2ZUluaXRpYWxTdGF0ZSQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdCQucGlwZShtYXAoKCkgPT4gdGhpcy5hY3RpdmVJbml0aWFsU3RhdGUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhY3RpdmVJbml0aWFsU3RhdGUgaXMgaW5pdGlhbFN0YXRlIHBhc3NlZCB0aHJvdWdoIGFkZGl0aW9uYWwgZmlsdGVyc1xuICAgKi9cbiAgZ2V0IGFjdGl2ZUluaXRpYWxTdGF0ZSgpOiBMaW5lSXRlbVtdIHtcbiAgICBjb25zdCBjdHggPSB0aGlzLmNvbnRleHQucmVzb2x2ZSgpO1xuICAgIGxldCBpbml0aWFsU3RhdGUgPSB0aGlzLnF1b3RlRHJhZnQ/LmluaXRpYWxTdGF0ZSA/PyBbXTtcblxuICAgIGlmIChjdHgubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIGluaXRpYWxTdGF0ZSA9IHRoaXMuZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QoaW5pdGlhbFN0YXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5pdGlhbFN0YXRlO1xuICB9XG5cbiAgZ2V0IGlzU3RhbmRhbG9uZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnJlc29sdmUoKS5wcm9wZXJ0aWVzLnN0YW5kYWxvbmUgPT09ICd0cnVlJztcbiAgfVxuXG4gIGdldCBpc1N0YW5kYWxvbmUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKS5waXBlKG1hcCgoKSA9PiB0aGlzLmlzU3RhbmRhbG9uZSkpO1xuICB9XG5cbiAgcHVibGljIGdldEluaXRpYWxDdXJyZW50U3RhdGUoKTogTGluZUl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMuaW5pdGlhbEN1cnJlbnRTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0VkaXRNb2RlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnJlc29sdmUkKCkucGlwZShtYXAoKCkgPT4gdGhpcy5pc0VkaXRNb2RlKCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0VkaXRNb2RlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHQucmVzb2x2ZSgpO1xuXG4gICAgaWYgKGNvbnRleHQubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjb250ZXh0Lm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5RVU9URSkge1xuICAgICAgcmV0dXJuIGNvbnRleHQucHJvcGVydGllcy5TdGF0dXMgPT09ICdEcmFmdCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUFjdGl2ZVByaWNlTGlzdChwcmljZUxpc3RJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0LnVwZGF0ZSh7IHByb3BlcnRpZXM6IHsgUHJpY2VMaXN0SWQ6IHByaWNlTGlzdElkIH0gfSk7XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlQWN0aXZlUHJpY2VMaXN0cyQoKTogdm9pZCB7XG4gICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0LnJlc29sdmUoKTtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZURyYWZ0O1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gSW4gQUNDT1VOVCBtb2RlIHBvcHVsYXRlIHByaWNlIGxpc3RzIGZyb20gcmVsYXRlZCBhc3NldHNcbiAgICBpZiAoY3R4Lm1vZGUgPT09IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5BQ0NPVU5UKSB7XG4gICAgICAvLyBQb3B1bGF0ZSBsaXN0IG9mIHByaWNlIGxpc3RzXG4gICAgICB0aGlzLmFzc2V0UHJpY2VMaXN0cyA9IHF1b3RlRHJhZnQuY3VycmVudFN0YXRlXG4gICAgICAgIC5tYXAoKHsgcHJpY2VMaXN0SWQgfSkgPT4gcHJpY2VMaXN0SWQpXG4gICAgICAgIC5yZWR1Y2U8UHJpY2VMaXN0W10+KCh0cnVuaywgcHJpY2VMaXN0SWQpID0+IHtcbiAgICAgICAgICBpZiAoIXByaWNlTGlzdElkIHx8IHRydW5rLnNvbWUoaXRlbSA9PiBpdGVtLmlkID09PSBwcmljZUxpc3RJZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVuaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4udHJ1bmssXG4gICAgICAgICAgICB7IGlkOiBwcmljZUxpc3RJZCwgbmFtZTogdGhpcy5hbGxQcmljZUxpc3RzLmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBwcmljZUxpc3RJZCk/Lm5hbWUgPz8gJycgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9LCBbXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJCeUFjdGl2ZVByaWNlTGlzdChsaW5lSXRlbXM6IExpbmVJdGVtW10pOiBMaW5lSXRlbVtdIHtcbiAgICBjb25zdCBjdHggPSB0aGlzLmNvbnRleHQucmVzb2x2ZSgpO1xuXG4gICAgcmV0dXJuIGxpbmVJdGVtcy5maWx0ZXIobGkgPT4gIWxpLnByaWNlTGlzdElkIHx8IGxpLnByaWNlTGlzdElkID09PSBjdHgucHJvcGVydGllcy5QcmljZUxpc3RJZCk7XG4gIH1cblxuICBwcml2YXRlIG1hcmtBc1VwZGF0ZWQocXVvdGU6IFF1b3RlRHJhZnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHF1b3RlPy5jb250ZXh0LnByb3BlcnRpZXMubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSAhIXF1b3RlICYmICFxdW90ZS5jdXJyZW50U3RhdGUuZXZlcnkobGkgPT4gbGkuYWN0aW9uQ29kZSA9PT0gJ0VYSVNUJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFzVW5zYXZlZENoYW5nZXMgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVvdGUtZHJhZnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvc2VydmljZXMvcXVvdGUtZHJhZnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBaUQsTUFBTSxjQUFjLENBQUM7QUFFdkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFJdEYsTUFBTSxPQUFPLGlCQUFpQjtJQTZCNUIsWUFDVSxPQUF1QixFQUN2QixlQUFnQyxFQUNoQyxlQUFnQztRQUZoQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBL0JsQyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQW9CLElBQUksQ0FBQyxDQUFDO1FBQzFELGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNoRCx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN6RCx3QkFBbUIsR0FBZSxFQUFFLENBQUM7UUFtQnRDLGtCQUFhLEdBQWdCLEVBQUUsQ0FBQztRQUNoQyxvQkFBZSxHQUFnQixFQUFFLENBQUM7UUFDbEMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLFdBQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBUTdDLElBQUksQ0FBQyxnQkFBZ0Is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S0FBSyxDQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxNQUFLLHdCQUF3QixDQUFDLE9BQU8sRUFBRTtZQUN2RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsS0FBSyxPQUFPLENBQUMsQ0FBQztTQUNoRzthQUFNO1lBQ0wsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztTQUMvQjtJQUNILENBQUM7OytHQW5SVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQURKLE1BQU07NEZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcmljZUFwaVNlcnZpY2UsIFF1b3RlQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2UvYXBpJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZSwgTGluZUl0ZW0sIFByaWNlTGlzdCwgUHJpY2VTdW1tYXJ5LCBRdW90ZURyYWZ0IH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBub29wLCBPYnNlcnZhYmxlLCB6aXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgc2tpcCwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4vY29udGV4dC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBRdW90ZURyYWZ0U2VydmljZSB7XG4gIHByaXZhdGUgcXVvdGVTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UXVvdGVEcmFmdCB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlc2V0U3ViaiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwcml2YXRlIGlzSW5pdGlhbGl6ZWRTdWJqJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIGluaXRpYWxDdXJyZW50U3RhdGU6IExpbmVJdGVtW10gPSBbXTtcblxuICBwdWJsaWMgZ2V0IGlzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNJbml0aWFsaXplZFN1YmokLmdldFZhbHVlKCk7XG4gIH1cbiAgcHVibGljIHNldCBpc0luaXRpYWxpemVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuaXNJbml0aWFsaXplZFN1YmokLm5leHQodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzQXNzZXRzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZVN1YmokLnBpcGUobWFwKCgpID0+IHRoaXMuaGFzQXNzZXRzKSk7XG4gIH1cbiAgcHVibGljIGdldCBoYXNBc3NldHMoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcbiAgICByZXR1cm4gQm9vbGVhbihxdW90ZURyYWZ0ICYmIHF1b3RlRHJhZnQuY3VycmVudFN0YXRlLmxlbmd0aCA+IDApO1xuICB9XG5cbiAgcHVibGljIGFsbFByaWNlTGlzdHM6IFByaWNlTGlzdFtdID0gW107XG4gIHB1YmxpYyBhc3NldFByaWNlTGlzdHM6IFByaWNlTGlzdFtdID0gW107XG4gIHB1YmxpYyBoYXNVbnNhdmVkQ2hhbmdlcyA9IGZhbHNlO1xuICBwdWJsaWMgcmVzZXQkID0gdGhpcy5yZXNldFN1YmokLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgYWN0aXZlUHJpY2VMaXN0JDogT2JzZXJ2YWJsZTxQcmljZUxpc3QgfCBudWxsPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRleHQ6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVvdGVBcGlTZXJ2aWNlOiBRdW90ZUFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcmljZUFwaVNlcnZpY2U6IFByaWNlQXBpU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5hY3RpdmVQcmljZUxpc3QkID0gdGhpcy5jb250ZXh0LnJlc29sdmUkKCkucGlwZShcbiAgICAgIG1hcChjdHggPT4gdGhpcy5hbGxQcmljZUxpc3RzLmZpbmQocHJpY2VMaXN0ID0+IHByaWNlTGlzdC5pZCA9PT0gY3R4LnByb3BlcnRpZXMuUHJpY2VMaXN0SWQpKSxcbiAgICAgIG1hcChwcmljZUxpc3QgPT4gcHJpY2VMaXN0ID8/IG51bGwpLFxuICAgICk7XG5cbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihpc0luaXRpYWxpemVkID0+IGlzSW5pdGlhbGl6ZWQpLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5xdW90ZVN1YmokLmFzT2JzZXJ2YWJsZSgpKSxcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgdGFwKHF1b3RlID0+IHRoaXMubWFya0FzVXBkYXRlZChxdW90ZSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRTdWJqJC5uZXh0KHRydWUpO1xuICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KG51bGwpO1xuICAgIHRoaXMuaW5pdGlhbEN1cnJlbnRTdGF0ZSA9IFtdO1xuICB9XG5cbiAgcHVibGljIGluaXQocXVvdGVJZDogc3RyaW5nLCBwYXJhbXM6IERpY3Rpb25hcnk8c3RyaW5nPik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB6aXAodGhpcy5xdW90ZUFwaVNlcnZpY2UuZ2V0UXVvdGVEcmFmdChxdW90ZUlkLCBwYXJhbXMpLCB0aGlzLnByaWNlQXBpU2VydmljZS5nZXRQcmljZUxpc3RzKCkpLnBpcGUoXG4gICAgICB0YXAoKFtxdW90ZSwgYWxsUHJpY2VMaXN0c10pID0+IHtcbiAgICAgICAgdGhpcy5hbGxQcmljZUxpc3RzID0gYWxsUHJpY2VMaXN0cztcbiAgICAgICAgdGhpcy5xdW90ZVN1YmokLm5leHQocXVvdGUpO1xuICAgICAgICB0aGlzLmluaXRpYWxDdXJyZW50U3RhdGUgPSBxdW90ZS5jdXJyZW50U3RhdGU7XG5cbiAgICAgICAgdGhpcy5jb250ZXh0LnVwZGF0ZShxdW90ZS5jb250ZXh0KTtcblxuICAgICAgICB0aGlzLnBvcHVsYXRlQWN0aXZlUHJpY2VMaXN0cyQoKTtcbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+IG5vb3AoKSksXG4gICAgICB0YWtlKDEpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q3VycmVudExpbmVJdGVtU3RhdGUobGluZUl0ZW1zOiBMaW5lSXRlbVtdKTogdm9pZCB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KHtcbiAgICAgIC4uLnF1b3RlRHJhZnQsXG4gICAgICBjdXJyZW50U3RhdGU6IGxpbmVJdGVtcyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVRdW90ZURyYWZ0KHVwZGF0ZTogUGFydGlhbDxRdW90ZURyYWZ0Pik6IHZvaWQge1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlU3ViaiQudmFsdWU7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodXBkYXRlLmNvbnRleHQpIHtcbiAgICAgIHRoaXMuY29udGV4dC5zZXQodXBkYXRlLmNvbnRleHQpO1xuICAgIH1cblxuICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KHtcbiAgICAgIC4uLnF1b3RlRHJhZnQsXG4gICAgICAuLi51cGRhdGUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQnlQcmljZVN1bW1hcnkocHJpY2VTdW1tYXJ5OiBQcmljZVN1bW1hcnkpOiB2b2lkIHtcbiAgICBjb25zdCBxdW90ZURyYWZ0ID0gdGhpcy5xdW90ZVN1YmokLnZhbHVlO1xuXG4gICAgaWYgKCFxdW90ZURyYWZ0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlZEN1cnJlbnRTdGF0ZSA9IHRoaXMuY3VycmVudFN0YXRlLm1hcChsaW5lSXRlbSA9PiB7XG4gICAgICBjb25zdCB1cGRhdGVkID0gcHJpY2VTdW1tYXJ5LmxpbmVJdGVtcy5maW5kKGxpID0+IGxpLmlkID09PSBsaW5lSXRlbS5pZCk7XG4gICAgICByZXR1cm4gdXBkYXRlZCA/PyBsaW5lSXRlbTtcbiAgICB9KTtcblxuICAgIHRoaXMucXVvdGVTdWJqJC5uZXh0KHtcbiAgICAgIC4uLnF1b3RlRHJhZnQsXG4gICAgICBjdXJyZW50U3RhdGU6IHVwZGF0ZWRDdXJyZW50U3RhdGUsXG4gICAgICB0b3RhbFByaWNlczogcHJpY2VTdW1tYXJ5LnRvdGFsUHJpY2VzLFxuICAgICAgYXBwcm92YWxJdGVtczogcHJpY2VTdW1tYXJ5LmFwcHJvdmFsSXRlbXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1b3RlRHJhZnQkKCk6IE9ic2VydmFibGU8UXVvdGVEcmFmdD4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLnF1b3RlU3ViaiQsIHRoaXMuY29udGV4dC5yZXNvbHZlJCgpXSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnF1b3RlRHJhZnQpLFxuICAgICAgZmlsdGVyKChxdW90ZSk6IHF1b3RlIGlzIFF1b3RlRHJhZnQgPT4gQm9vbGVhbihxdW90ZSkpLFxuICAgICAgc2hhcmVSZXBsYXkoKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBxdW90ZURyYWZ0KCk6IFF1b3RlRHJhZnQgfCBudWxsIHtcbiAgICBjb25zdCBxdW90ZSA9IHRoaXMucXVvdGVTdWJqJC52YWx1ZTtcblxuICAgIGlmICghcXVvdGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5xdW90ZSxcbiAgICAgIGNvbnRleHQ6IHRoaXMuY29udGV4dC5yZXNvbHZlKCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVvdGVEcmFmdEZvckFjdGl2ZVByaWNlTGlzdCgpOiBRdW90ZURyYWZ0IHwgbnVsbCB7XG4gICAgY29uc3QgcXVvdGVEcmFmdCA9IHRoaXMucXVvdGVEcmFmdDtcblxuICAgIGlmICghcXVvdGVEcmFmdCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnF1b3RlRHJhZnQsXG4gICAgICBpbml0aWFsU3RhdGU6IHRoaXMuZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QocXVvdGVEcmFmdC5pbml0aWFsU3RhdGUpLFxuICAgICAgY3VycmVudFN0YXRlOiB0aGlzLmZpbHRlckJ5QWN0aXZlUHJpY2VMaXN0KHF1b3RlRHJhZnQuY3VycmVudFN0YXRlKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldCBjdXJyZW50U3RhdGUkKCk6IE9ic2VydmFibGU8TGluZUl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLnF1b3RlRHJhZnQkLnBpcGUobWFwKHF1b3RlID0+IHF1b3RlLmN1cnJlbnRTdGF0ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBjdXJyZW50U3RhdGUoKTogTGluZUl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVEcmFmdD8uY3VycmVudFN0YXRlID8/IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0cmVhbSBvZiBhY3RpdmVDdXJyZW50U3RhdGVcbiAgICovXG4gIHB1YmxpYyBnZXQgYWN0aXZlQ3VycmVudFN0YXRlJCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0JC5waXBlKG1hcCgoKSA9PiB0aGlzLmFjdGl2ZUN1cnJlbnRTdGF0ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFjdGl2ZUN1cnJlbnRTdGF0ZSBpcyBjdXJyZW50U3RhdGUgcGFzc2VkIHRocm91Z2ggYWRkaXRpb25hbCBmaWx0ZXJzXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZUN1cnJlbnRTdGF0ZSgpOiBMaW5lSXRlbVtdIHtcbiAgICBsZXQgY3VycmVudFN0YXRlID0gdGhpcy5xdW90ZURyYWZ0Py5jdXJyZW50U3RhdGUgPz8gW107XG5cbiAgICBjdXJyZW50U3RhdGUgPSB0aGlzLmZpbHRlckJ5QWN0aXZlUHJpY2VMaXN0KGN1cnJlbnRTdGF0ZSk7XG5cbiAgICByZXR1cm4gY3VycmVudFN0YXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0cmVhbSBvZiBhY3RpdmVJbml0aWFsU3RhdGVcbiAgICovXG4gIHB1YmxpYyBnZXQgYWN0aXZlSW5pdGlhbFN0YXRlJCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0JC5waXBlKG1hcCgoKSA9PiB0aGlzLmFjdGl2ZUluaXRpYWxTdGF0ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGFjdGl2ZUluaXRpYWxTdGF0ZSBpcyBpbml0aWFsU3RhdGUgcGFzc2VkIHRocm91Z2ggYWRkaXRpb25hbCBmaWx0ZXJzXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZUluaXRpYWxTdGF0ZSgpOiBMaW5lSXRlbVtdIHtcbiAgICBjb25zdCBjdHggPSB0aGlzLmNvbnRleHQucmVzb2x2ZSgpO1xuICAgIGxldCBpbml0aWFsU3RhdGUgPSB0aGlzLnF1b3RlRHJhZnQ/LmluaXRpYWxTdGF0ZSA/PyBbXTtcblxuICAgIGlmIChjdHgubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIGluaXRpYWxTdGF0ZSA9IHRoaXMuZmlsdGVyQnlBY3RpdmVQcmljZUxpc3QoaW5pdGlhbFN0YXRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5pdGlhbFN0YXRlO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1N0YW5kYWxvbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5yZXNvbHZlKCkucHJvcGVydGllcy5zdGFuZGFsb25lID09PSAndHJ1ZSc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzU3RhbmRhbG9uZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5yZXNvbHZlJCgpLnBpcGUobWFwKCgpID0+IHRoaXMuaXNTdGFuZGFsb25lKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5pdGlhbEN1cnJlbnRTdGF0ZSgpOiBMaW5lSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsQ3VycmVudFN0YXRlO1xuICB9XG5cbiAgcHVibGljIGlzRWRpdE1vZGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQucmVzb2x2ZSQoKS5waXBlKG1hcCgoKSA9PiB0aGlzLmlzRWRpdE1vZGUoKSkpO1xuICB9XG5cbiAgcHVibGljIGlzRWRpdE1vZGUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dC5yZXNvbHZlKCk7XG5cbiAgICBpZiAoY29udGV4dC5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuQUNDT1VOVCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGNvbnRleHQubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLlFVT1RFKSB7XG4gICAgICByZXR1cm4gY29udGV4dC5wcm9wZXJ0aWVzLlN0YXR1cyA9PT0gJ0RyYWZ0JztcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQWN0aXZlUHJpY2VMaXN0KHByaWNlTGlzdElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHQudXBkYXRlKHsgcHJvcGVydGllczogeyBQcmljZUxpc3RJZDogcHJpY2VMaXN0SWQgfSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcG9wdWxhdGVBY3RpdmVQcmljZUxpc3RzJCgpOiB2b2lkIHtcbiAgICBjb25zdCBjdHggPSB0aGlzLmNvbnRleHQucmVzb2x2ZSgpO1xuICAgIGNvbnN0IHF1b3RlRHJhZnQgPSB0aGlzLnF1b3RlRHJhZnQ7XG5cbiAgICBpZiAoIXF1b3RlRHJhZnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBJbiBBQ0NPVU5UIG1vZGUgcG9wdWxhdGUgcHJpY2UgbGlzdHMgZnJvbSByZWxhdGVkIGFzc2V0c1xuICAgIGlmIChjdHgubW9kZSA9PT0gQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLkFDQ09VTlQpIHtcbiAgICAgIC8vIFBvcHVsYXRlIGxpc3Qgb2YgcHJpY2UgbGlzdHNcbiAgICAgIHRoaXMuYXNzZXRQcmljZUxpc3RzID0gcXVvdGVEcmFmdC5jdXJyZW50U3RhdGVcbiAgICAgICAgLm1hcCgoeyBwcmljZUxpc3RJZCB9KSA9PiBwcmljZUxpc3RJZClcbiAgICAgICAgLnJlZHVjZTxQcmljZUxpc3RbXT4oKHRydW5rLCBwcmljZUxpc3RJZCkgPT4ge1xuICAgICAgICAgIGlmICghcHJpY2VMaXN0SWQgfHwgdHJ1bmsuc29tZShpdGVtID0+IGl0ZW0uaWQgPT09IHByaWNlTGlzdElkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydW5rO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi50cnVuayxcbiAgICAgICAgICAgIHsgaWQ6IHByaWNlTGlzdElkLCBuYW1lOiB0aGlzLmFsbFByaWNlTGlzdHMuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHByaWNlTGlzdElkKT8ubmFtZSA/PyAnJyB9LFxuICAgICAgICAgIF07XG4gICAgICAgIH0sIFtdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbHRlckJ5QWN0aXZlUHJpY2VMaXN0KGxpbmVJdGVtczogTGluZUl0ZW1bXSk6IExpbmVJdGVtW10ge1xuICAgIGNvbnN0IGN0eCA9IHRoaXMuY29udGV4dC5yZXNvbHZlKCk7XG5cbiAgICByZXR1cm4gbGluZUl0ZW1zLmZpbHRlcihsaSA9PiAhbGkucHJpY2VMaXN0SWQgfHwgbGkucHJpY2VMaXN0SWQgPT09IGN0eC5wcm9wZXJ0aWVzLlByaWNlTGlzdElkKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFya0FzVXBkYXRlZChxdW90ZTogUXVvdGVEcmFmdCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAocXVvdGU/LmNvbnRleHQucHJvcGVydGllcy5tb2RlID09PSBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuQUNDT1VOVCkge1xuICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9ICEhcXVvdGUgJiYgIXF1b3RlLmN1cnJlbnRTdGF0ZS5ldmVyeShsaSA9PiBsaS5hY3Rpb25Db2RlID09PSAnRVhJU1QnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYXNVbnNhdmVkQ2hhbmdlcyA9IHRydWU7XG4gICAgfVxuICB9XG59XG4iXX0=
|
@@ -97,4 +97,4 @@ export const getRecommendedPrices = (portDomain, type) => {
|
|
97
97
|
}, [0, 0])) !== null && _b !== void 0 ? _b : [0, 0];
|
98
98
|
return { net, list };
|
99
99
|
};
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1pdGVtLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS91dGlscy9saW5lLWl0ZW0udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QyxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEYsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsRUFBVSxFQUFFLFNBQXFCLEVBQXdCLEVBQUU7SUFDdEYsT0FBTywwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFZLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDL0UsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FDeEMsU0FBcUIsRUFDckIsVUFBcUMsRUFDZixFQUFFO0lBQ3hCLElBQUksWUFBWSxHQUFHLFNBQVMsQ0FBQztJQUU3QixPQUFPLFlBQVksQ0FBQyxNQUFNLEVBQUU7UUFDMUIsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1QyxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUN0RTtJQUVELE9BQU87QUFDVCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFrQixFQUFFLFFBQWdCLEVBQUUsUUFBa0IsRUFBWSxFQUFFO0lBQ25HLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUMs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RSxDQUFDLENBQUMsQ0FBQztJQUVkLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDdkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0cmlidXRlLCBDZmdTdGF0dXMsIExpbmVJdGVtLCBQb3J0RG9tYWluLCBVVUlEIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnksIGZsYXR0ZW4sIHNvcnRCeSB9IGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBjb25zdCBmaW5kTGluZUl0ZW0gPSAoaWQ6IHN0cmluZywgbGluZUl0ZW1zOiBMaW5lSXRlbVtdKTogTGluZUl0ZW0gfCB1bmRlZmluZWQgPT4ge1xuICByZXR1cm4gZmluZExpbmVJdGVtV2l0aENvbXBhcmF0b3IobGluZUl0ZW1zLCAobGk6IExpbmVJdGVtKSA9PiBsaS5pZCA9PT0gaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRMaW5lSXRlbVdpdGhDb21wYXJhdG9yID0gKFxuICBsaW5lSXRlbXM6IExpbmVJdGVtW10sXG4gIGNvbXBhcmF0b3I6IChsaTogTGluZUl0ZW0pID0+IGJvb2xlYW4sXG4pOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCA9PiB7XG4gIGxldCBjdXJyZW50TGV2ZWwgPSBsaW5lSXRlbXM7XG5cbiAgd2hpbGUgKGN1cnJlbnRMZXZlbC5sZW5ndGgpIHtcbiAgICBjb25zdCBmb3VuZCA9IGN1cnJlbnRMZXZlbC5maW5kKGNvbXBhcmF0b3IpO1xuXG4gICAgaWYgKGZvdW5kKSB7XG4gICAgICByZXR1cm4gZm91bmQ7XG4gICAgfVxuXG4gICAgY3VycmVudExldmVsID0gZmxhdHRlbihjdXJyZW50TGV2ZWwubWFwKHBhcmVudCA9PiBwYXJlbnQubGluZUl0ZW1zKSk7XG4gIH1cblxuICByZXR1cm47XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0TGluZUl0ZW0gPSAobGluZUl0ZW06IExpbmVJdGVtLCBwYXJlbnRJZDogc3RyaW5nLCB0b0luc2VydDogTGluZUl0ZW0pOiBMaW5lSXRlbSA9PiB7XG4gIGNvbnN0IGluc2VydERhdGEgPSBsaW5lSXRlbS5pZCA9PT0gcGFyZW50SWQgPyBbdG9JbnNlcnRdIDogW107XG4gIHJldHVybiB7XG4gICAgLi4ubGluZUl0ZW0sXG4gICAgbGluZUl0ZW1zOiBbXG4gICAgICAuLi5pbnNlcnREYXRhLFxuICAgICAgLi4ubGluZUl0ZW0ubGluZUl0ZW1zLm1hcChsaSA9PiB7XG4gICAgICAgIHJldHVybiBpbnNlcnRMaW5lSXRlbShsaSwgcGFyZW50SWQsIHRvSW5zZXJ0KTtcbiAgICAgIH0pLFxuICAgIF0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTGluZUl0ZW0gPSAobGluZUl0ZW06IExpbmVJdGVtLCBpZFRvUmVtb3ZlOiBzdHJpbmcpOiBMaW5lSXRlbSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4ubGluZUl0ZW0sXG4gICAgbGluZUl0ZW1zOiBsaW5lSXRlbS5saW5lSXRlbXNcbiAgICAgIC5tYXAobGkgPT4ge1xuICAgICAgICBpZiAobGkuaWQgPT09IGlkVG9SZW1vdmUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAobGkubGluZUl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiByZW1vdmVMaW5lSXRlbShsaSwgaWRUb1JlbW92ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxpO1xuICAgICAgfSlcbiAgICAgIC5maWx0ZXIociA9PiAhIXIpIGFzIExpbmVJdGVtW10sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcmVwbGFjZUxpbmVJdGVtID0gKGxpbmVJdGVtOiBMaW5lSXRlbSwgcmVwbGFjZVRvOiBMaW5lSXRlbSk6IExpbmVJdGVtID0+IHtcbiAgaWYgKGxpbmVJdGVtLmlkID09PSByZXBsYWNlVG8uaWQpIHtcbiAgICByZXR1cm4geyAuLi5yZXBsYWNlVG8gfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4ubGluZUl0ZW0sXG4gICAgbGluZUl0ZW1zOiBsaW5lSXRlbS5saW5lSXRlbXMubWFwKGxpID0+IHtcbiAgICAgIGlmIChsaS5pZCA9PT0gcmVwbGFjZVRvLmlkKSB7XG4gICAgICAgIHJldHVybiByZXBsYWNlVG87XG4gICAgICB9IGVsc2UgaWYgKGxpLmxpbmVJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHJlcGxhY2VMaW5lSXRlbShsaSwgcmVwbGFjZVRvKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsaTtcbiAgICB9KSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXBBdHRyaWJ1dGVzID0gKGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZVtdKTogRGljdGlvbmFyeTxhbnk+ID0+IHtcbiAgcmV0dXJuIGF0dHJpYnV0ZXMucmVkdWNlKChhY2MsIHsgbmFtZSwgdmFsdWUgfSkgPT4gKHsgLi4uYWNjLCBbbmFtZV06IHZhbHVlIH0pLCB7fSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXR0cmlidXRlcyA9IChhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVbXSwgbmFtZXM6IHN0cmluZ1tdID0gW10pID0+IHtcbiAgY29uc3QgZmlsdGVyZWQgPSBhdHRyaWJ1dGVzLmZpbHRlcigoeyBuYW1lIH0pID0+IG5hbWVzLmluY2x1ZGVzKG5hbWUpKTtcbiAgcmV0dXJuIHNvcnRCeShmaWx0ZXJlZCwgWyh7IG5hbWUgfSkgPT4gbmFtZXMuaW5kZXhPZihuYW1lKV0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwc2VydEF0dHJpYnV0ZXMgPSAoXG4gIG9yaWdpbmFsQXR0cmlidXRlczogQXR0cmlidXRlW10sXG4gIGF0dHJpYnV0ZXNUb1Vwc2VydDogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdLFxuKSA9PiB7XG4gIHJldHVybiBhdHRyaWJ1dGVzVG9VcHNlcnQucmVkdWNlKChhY2MsIHsgbmFtZSwgdmFsdWUgfSkgPT4ge1xuICAgIGNvbnN0IFtvcmlnQXR0cl0gPSBnZXRBdHRyaWJ1dGVzKGFjYywgW25hbWVdKTtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uYWNjLmZpbHRlcihhdHRyID0+IGF0dHIubmFtZSAhPT0gbmFtZSksXG4gICAgICB7IC4uLihvcmlnQXR0ciA/PyB7IG5hbWUgfSksIGNmZ1N0YXR1czogJ1VzZXInIGFzIENmZ1N0YXR1cywgdmFsdWUgfSxcbiAgICBdO1xuICB9LCBvcmlnaW5hbEF0dHJpYnV0ZXMpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhdGNoQXR0cmlidXRlcyA9IChyb290TGluZUl0ZW06IExpbmVJdGVtLCBpZDogc3RyaW5nLCBhdHRyczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdKSA9PiB7XG4gIGNvbnN0IGxpbmVJdGVtID0gZmluZExpbmVJdGVtKGlkLCBbcm9vdExpbmVJdGVtXSk7XG5cbiAgaWYgKCFsaW5lSXRlbSkge1xuICAgIHJldHVybiByb290TGluZUl0ZW07XG4gIH1cblxuICBjb25zdCBhdHRyaWJ1dGVzID0gdXBzZXJ0QXR0cmlidXRlcyhsaW5lSXRlbS5hdHRyaWJ1dGVzLCBhdHRycyk7XG4gIHJldHVybiByZXBsYWNlTGluZUl0ZW0ocm9vdExpbmVJdGVtLCB7IC4uLmxpbmVJdGVtLCBhdHRyaWJ1dGVzIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEF0dHJpYnV0ZVZhbHVlID0gKGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZVtdLCBuYW1lOiBzdHJpbmcpOiBhbnkgPT5cbiAgYXR0cmlidXRlcy5maW5kKGF0dHIgPT4gYXR0ci5uYW1lID09PSBuYW1lKT8udmFsdWU7XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUxpbmVJdGVtID0gKFxuICBwb3J0OiBzdHJpbmcsXG4gIHR5cGU6IHN0cmluZyxcbiAgcGFyZW50SWQ6IHN0cmluZyxcbiAgYXR0cmlidXRlczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBhbnkgfVtdID0gW10sXG4gIGxpbmVJdGVtczogTGluZUl0ZW1bXSA9IFtdLFxuKTogTGluZUl0ZW0gPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiBVVUlELlVVSUQoKSxcbiAgICBwb3J0LFxuICAgIHR5cGUsXG4gICAgYWN0aW9uQ29kZTogJ0FERCcsXG4gICAgY2ZnU3RhdHVzOiAnTmV3JyxcbiAgICBhdHRyaWJ1dGVzOiBhdHRyaWJ1dGVzLm1hcCgoeyBuYW1lLCB2YWx1ZSB9KSA9PiAoeyBjZmdTdGF0dXM6ICdVc2VyJywgbmFtZSwgdmFsdWUgfSkpLFxuICAgIGxpbmVJdGVtcyxcbiAgICBwYXJlbnRJZCxcbiAgICBxdHk6IDEsXG4gIH0gYXMgTGluZUl0ZW07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmVjb21tZW5kZWRQcmljZXMgPSAocG9ydERvbWFpbjogUG9ydERvbWFpbiwgdHlwZTogc3RyaW5nKTogeyBuZXQ6IG51bWJlcjsgbGlzdDogbnVtYmVyIH0gPT4ge1xuICBjb25zdCBkb21haW5UeXBlID0gcG9ydERvbWFpbi5kb21haW5UeXBlcy5maW5kKCh7IG5hbWUgfSkgPT4gbmFtZSA9PT0gdHlwZSk7XG5cbiAgY29uc3QgW25ldCwgbGlzdF0gPSBkb21haW5UeXBlPy5yZWNvbW1lbmRlZFByaWNlc1xuICAgID8uZmlsdGVyKCh7IGNoYXJnZU1ldGhvZCB9KSA9PiBjaGFyZ2VNZXRob2QgPT09ICdPTkVfVElNRScpXG4gICAgLnJlZHVjZShcbiAgICAgIChhY2MsIHJwKSA9PiB7XG4gICAgICAgIGNvbnN0IFtuZXRQcmljZSwgbGlzdFByaWNlXSA9IGFjYztcbiAgICAgICAgcmV0dXJuIFtuZXRQcmljZSArIHJwLm5ldFByaWNlLCBsaXN0UHJpY2UgKyBycC5saXN0UHJpY2VdO1xuICAgICAgfSxcbiAgICAgIFswLCAwXSxcbiAgICApID8/IFswLCAwXTtcblxuICByZXR1cm4geyBuZXQsIGxpc3QgfTtcbn07XG4iXX0=
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1pdGVtLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS91dGlscy9saW5lLWl0ZW0udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QyxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEYsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsRUFBVSxFQUFFLFNBQXFCLEVBQXdCLEVBQUU7SUFDdEYsT0FBTywwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFZLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDL0UsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FDeEMsU0FBcUIsRUFDckIsVUFBcUMsRUFDZixFQUFFO0lBQ3hCLElBQUksWUFBWSxHQUFHLFNBQVMsQ0FBQztJQUU3QixPQUFPLFlBQVksQ0FBQyxNQUFNLEVBQUU7UUFDMUIsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1QyxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUN0RTtJQUVELE9BQU87QUFDVCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFrQixFQUFFLFFBQWdCLEVBQUUsUUFBa0IsRUFBWSxFQUFFO0lBQ25HLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLENBQUMs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QUFFLENBQUMsQ0FBQyxDQUFDO0lBRWQsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUN2QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGUsIENmZ1N0YXR1cywgTGluZUl0ZW0sIFBvcnREb21haW4sIFVVSUQgfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSwgZmxhdHRlbiwgc29ydEJ5IH0gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGNvbnN0IGZpbmRMaW5lSXRlbSA9IChpZDogc3RyaW5nLCBsaW5lSXRlbXM6IExpbmVJdGVtW10pOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCA9PiB7XG4gIHJldHVybiBmaW5kTGluZUl0ZW1XaXRoQ29tcGFyYXRvcihsaW5lSXRlbXMsIChsaTogTGluZUl0ZW0pID0+IGxpLmlkID09PSBpZCk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZExpbmVJdGVtV2l0aENvbXBhcmF0b3IgPSAoXG4gIGxpbmVJdGVtczogTGluZUl0ZW1bXSxcbiAgY29tcGFyYXRvcjogKGxpOiBMaW5lSXRlbSkgPT4gYm9vbGVhbixcbik6IExpbmVJdGVtIHwgdW5kZWZpbmVkID0+IHtcbiAgbGV0IGN1cnJlbnRMZXZlbCA9IGxpbmVJdGVtcztcblxuICB3aGlsZSAoY3VycmVudExldmVsLmxlbmd0aCkge1xuICAgIGNvbnN0IGZvdW5kID0gY3VycmVudExldmVsLmZpbmQoY29tcGFyYXRvcik7XG5cbiAgICBpZiAoZm91bmQpIHtcbiAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9XG5cbiAgICBjdXJyZW50TGV2ZWwgPSBmbGF0dGVuKGN1cnJlbnRMZXZlbC5tYXAocGFyZW50ID0+IHBhcmVudC5saW5lSXRlbXMpKTtcbiAgfVxuXG4gIHJldHVybjtcbn07XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRMaW5lSXRlbSA9IChsaW5lSXRlbTogTGluZUl0ZW0sIHBhcmVudElkOiBzdHJpbmcsIHRvSW5zZXJ0OiBMaW5lSXRlbSk6IExpbmVJdGVtID0+IHtcbiAgY29uc3QgaW5zZXJ0RGF0YSA9IGxpbmVJdGVtLmlkID09PSBwYXJlbnRJZCA/IFt0b0luc2VydF0gOiBbXTtcbiAgcmV0dXJuIHtcbiAgICAuLi5saW5lSXRlbSxcbiAgICBsaW5lSXRlbXM6IFtcbiAgICAgIC4uLmluc2VydERhdGEsXG4gICAgICAuLi5saW5lSXRlbS5saW5lSXRlbXMubWFwKGxpID0+IHtcbiAgICAgICAgcmV0dXJuIGluc2VydExpbmVJdGVtKGxpLCBwYXJlbnRJZCwgdG9JbnNlcnQpO1xuICAgICAgfSksXG4gICAgXSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVMaW5lSXRlbSA9IChsaW5lSXRlbTogTGluZUl0ZW0sIGlkVG9SZW1vdmU6IHN0cmluZyk6IExpbmVJdGVtID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5saW5lSXRlbSxcbiAgICBsaW5lSXRlbXM6IGxpbmVJdGVtLmxpbmVJdGVtc1xuICAgICAgLm1hcChsaSA9PiB7XG4gICAgICAgIGlmIChsaS5pZCA9PT0gaWRUb1JlbW92ZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChsaS5saW5lSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIHJlbW92ZUxpbmVJdGVtKGxpLCBpZFRvUmVtb3ZlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGk7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihyID0+ICEhcikgYXMgTGluZUl0ZW1bXSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCByZXBsYWNlTGluZUl0ZW0gPSAobGluZUl0ZW06IExpbmVJdGVtLCByZXBsYWNlVG86IExpbmVJdGVtKTogTGluZUl0ZW0gPT4ge1xuICBpZiAobGluZUl0ZW0uaWQgPT09IHJlcGxhY2VUby5pZCkge1xuICAgIHJldHVybiB7IC4uLnJlcGxhY2VUbyB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5saW5lSXRlbSxcbiAgICBsaW5lSXRlbXM6IGxpbmVJdGVtLmxpbmVJdGVtcy5tYXAobGkgPT4ge1xuICAgICAgaWYgKGxpLmlkID09PSByZXBsYWNlVG8uaWQpIHtcbiAgICAgICAgcmV0dXJuIHJlcGxhY2VUbztcbiAgICAgIH0gZWxzZSBpZiAobGkubGluZUl0ZW1zLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gcmVwbGFjZUxpbmVJdGVtKGxpLCByZXBsYWNlVG8pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxpO1xuICAgIH0pLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcEF0dHJpYnV0ZXMgPSAoYXR0cmlidXRlczogQXR0cmlidXRlW10pOiBEaWN0aW9uYXJ5PGFueT4gPT4ge1xuICByZXR1cm4gYXR0cmlidXRlcy5yZWR1Y2UoKGFjYywgeyBuYW1lLCB2YWx1ZSB9KSA9PiAoeyAuLi5hY2MsIFtuYW1lXTogdmFsdWUgfSksIHt9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBdHRyaWJ1dGVzID0gKGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZVtdLCBuYW1lczogc3RyaW5nW10gPSBbXSk6IEF0dHJpYnV0ZVtdID0+IHtcbiAgY29uc3QgZmlsdGVyZWQgPSBhdHRyaWJ1dGVzLmZpbHRlcigoeyBuYW1lIH0pID0+IG5hbWVzLmluY2x1ZGVzKG5hbWUpKTtcbiAgcmV0dXJuIHNvcnRCeShmaWx0ZXJlZCwgWyh7IG5hbWUgfSk6IG51bWJlciA9PiBuYW1lcy5pbmRleE9mKG5hbWUpXSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBzZXJ0QXR0cmlidXRlcyA9IChcbiAgb3JpZ2luYWxBdHRyaWJ1dGVzOiBBdHRyaWJ1dGVbXSxcbiAgYXR0cmlidXRlc1RvVXBzZXJ0OiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IGFueSB9W10sXG4pOiBBdHRyaWJ1dGVbXSA9PiB7XG4gIHJldHVybiBhdHRyaWJ1dGVzVG9VcHNlcnQucmVkdWNlKChhY2MsIHsgbmFtZSwgdmFsdWUgfSkgPT4ge1xuICAgIGNvbnN0IFtvcmlnQXR0cl0gPSBnZXRBdHRyaWJ1dGVzKGFjYywgW25hbWVdKTtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uYWNjLmZpbHRlcihhdHRyID0+IGF0dHIubmFtZSAhPT0gbmFtZSksXG4gICAgICB7IC4uLihvcmlnQXR0ciA/PyB7IG5hbWUgfSksIGNmZ1N0YXR1czogJ1VzZXInIGFzIENmZ1N0YXR1cywgdmFsdWUgfSxcbiAgICBdO1xuICB9LCBvcmlnaW5hbEF0dHJpYnV0ZXMpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhdGNoQXR0cmlidXRlcyA9IChcbiAgcm9vdExpbmVJdGVtOiBMaW5lSXRlbSxcbiAgaWQ6IHN0cmluZyxcbiAgYXR0cnM6IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogYW55IH1bXSxcbik6IExpbmVJdGVtID0+IHtcbiAgY29uc3QgbGluZUl0ZW0gPSBmaW5kTGluZUl0ZW0oaWQsIFtyb290TGluZUl0ZW1dKTtcblxuICBpZiAoIWxpbmVJdGVtKSB7XG4gICAgcmV0dXJuIHJvb3RMaW5lSXRlbTtcbiAgfVxuXG4gIGNvbnN0IGF0dHJpYnV0ZXMgPSB1cHNlcnRBdHRyaWJ1dGVzKGxpbmVJdGVtLmF0dHJpYnV0ZXMsIGF0dHJzKTtcbiAgcmV0dXJuIHJlcGxhY2VMaW5lSXRlbShyb290TGluZUl0ZW0sIHsgLi4ubGluZUl0ZW0sIGF0dHJpYnV0ZXMgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXR0cmlidXRlVmFsdWUgPSAoYXR0cmlidXRlczogQXR0cmlidXRlW10sIG5hbWU6IHN0cmluZyk6IGFueSA9PlxuICBhdHRyaWJ1dGVzLmZpbmQoYXR0ciA9PiBhdHRyLm5hbWUgPT09IG5hbWUpPy52YWx1ZTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlTGluZUl0ZW0gPSAoXG4gIHBvcnQ6IHN0cmluZyxcbiAgdHlwZTogc3RyaW5nLFxuICBwYXJlbnRJZDogc3RyaW5nLFxuICBhdHRyaWJ1dGVzOiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IGFueSB9W10gPSBbXSxcbiAgbGluZUl0ZW1zOiBMaW5lSXRlbVtdID0gW10sXG4pOiBMaW5lSXRlbSA9PiB7XG4gIHJldHVybiB7XG4gICAgaWQ6IFVVSUQuVVVJRCgpLFxuICAgIHBvcnQsXG4gICAgdHlwZSxcbiAgICBhY3Rpb25Db2RlOiAnQUREJyxcbiAgICBjZmdTdGF0dXM6ICdOZXcnLFxuICAgIGF0dHJpYnV0ZXM6IGF0dHJpYnV0ZXMubWFwKCh7IG5hbWUsIHZhbHVlIH0pID0+ICh7IGNmZ1N0YXR1czogJ1VzZXInLCBuYW1lLCB2YWx1ZSB9KSksXG4gICAgbGluZUl0ZW1zLFxuICAgIHBhcmVudElkLFxuICAgIHF0eTogMSxcbiAgfSBhcyBMaW5lSXRlbTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSZWNvbW1lbmRlZFByaWNlcyA9IChwb3J0RG9tYWluOiBQb3J0RG9tYWluLCB0eXBlOiBzdHJpbmcpOiB7IG5ldDogbnVtYmVyOyBsaXN0OiBudW1iZXIgfSA9PiB7XG4gIGNvbnN0IGRvbWFpblR5cGUgPSBwb3J0RG9tYWluLmRvbWFpblR5cGVzLmZpbmQoKHsgbmFtZSB9KSA9PiBuYW1lID09PSB0eXBlKTtcblxuICBjb25zdCBbbmV0LCBsaXN0XSA9IGRvbWFpblR5cGU/LnJlY29tbWVuZGVkUHJpY2VzXG4gICAgPy5maWx0ZXIoKHsgY2hhcmdlTWV0aG9kIH0pID0+IGNoYXJnZU1ldGhvZCA9PT0gJ09ORV9USU1FJylcbiAgICAucmVkdWNlKFxuICAgICAgKGFjYywgcnApID0+IHtcbiAgICAgICAgY29uc3QgW25ldFByaWNlLCBsaXN0UHJpY2VdID0gYWNjO1xuICAgICAgICByZXR1cm4gW25ldFByaWNlICsgcnAubmV0UHJpY2UsIGxpc3RQcmljZSArIHJwLmxpc3RQcmljZV07XG4gICAgICB9LFxuICAgICAgWzAsIDBdLFxuICAgICkgPz8gWzAsIDBdO1xuXG4gIHJldHVybiB7IG5ldCwgbGlzdCB9O1xufTtcbiJdfQ==
|
@@ -122,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
122
122
|
}], ctorParameters: function () { return [{ type: i1.SectionsService }, { type: i2.RuntimeFormService }, { type: i3.FormScopeService }, { type: i4.RuntimeService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
123
123
|
type: Input
|
124
124
|
}] } });
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXByZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9jb21wb25lbnRzL2NvbXBvbmVudC1wcmV2aWV3L2NvbXBvbmVudC1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy9jb21wb25lbnQtcHJldmlldy9jb21wb25lbnQtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQXlCLFVBQVUsRUFBWSxZQUFZLEVBQVcsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7OztBQUdqRSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsMkNBQTJDLENBQUMsQ0FBQztBQWdCMUUsTUFBTSxPQUFPLHlCQUF5QjtJQVVwQyxZQUNVLGVBQWdDLEVBQ2hDLGtCQUFzQyxFQUN0QyxTQUEyQixFQUMzQixjQUE4QixFQUM5QixHQUFzQjtRQUp0QixvQkFBZSxHQUFm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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcnlQcmV2aWV3LCBFbnRpdHlVdGlsLCBMaW5lSXRlbSwgUnVudGltZU1vZGVsLCBTZWN0aW9uLCBVVUlEIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IFJ1bnRpbWVNb2RlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBDb2xsYXBzaWJsZVN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbGxhcHNpYmxlLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybVNjb3BlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0tc2NvcGUuc2VydmljZSc7XG5pbXBvcnQgeyBSdW50aW1lRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ydW50aW1lLWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3J1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBTZWN0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWN5UnVudGltZUNvbnRleHQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmNvbnN0IGRlZmF1bHRUZW1wbGF0ZSA9IGJ0b2EoJzx0ZW1wbGF0ZS1jb21wb25lbnQ+PC90ZW1wbGF0ZS1jb21wb25lbnQ+Jyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLWNvbXBvbmVudC1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbXBvbmVudC1wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4uL3VpLXJ1bnRpbWUvcnVudGltZS1sZWdhY3ktc3R5bGVzLnNjc3MnLCAnLi9jb21wb25lbnQtcHJldmlldy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2VjdGlvbnNTZXJ2aWNlLFxuICAgIEZvcm1TY29wZVNlcnZpY2UsXG4gICAgQ29sbGFwc2libGVTdGF0ZVNlcnZpY2UsXG4gICAgUnVudGltZUZvcm1TZXJ2aWNlLFxuICAgIEZvcm1TY29wZVNlcnZpY2UsXG4gICAgUnVudGltZVNlcnZpY2UsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbXBvbmVudFByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhPzogQ29tcG9uZW50U3RvcnlQcmV2aWV3O1xuXG4gIHB1YmxpYyBmb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gIHB1YmxpYyBzZWN0aW9uPzogU2VjdGlvbjtcblxuICBwdWJsaWMgc2hvd1ByZXZpZXcgPSBmYWxzZTtcbiAgcHVibGljIGlzTm9QcmV2aWV3QXZhaWxhYmxlID0gZmFsc2U7XG4gIHB1YmxpYyBpc1ByZXZpZXdGYWlsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlY3Rpb25zU2VydmljZTogU2VjdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZUZvcm1TZXJ2aWNlOiBSdW50aW1lRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtU2NvcGU6IEZvcm1TY29wZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcbiAgICAgIHRoaXMuc2VjdGlvbnNTZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuc2hvd1ByZXZpZXcgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNOb1ByZXZpZXdBdmFpbGFibGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQcmV2aWV3RmFpbGVkID0gZmFsc2U7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoaXMucnVuUHJldmlldyh0aGlzLmRhdGEgYXMgQ29tcG9uZW50U3RvcnlQcmV2aWV3KTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZT8uc3RhY2sgPz8gZT8uZXJyb3IgPz8gJ0Vycm9yIG9jY3VyZWQnKTtcbiAgICAgICAgICB0aGlzLnNob3dQcmV2aWV3ID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pc1ByZXZpZXdGYWlsZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcnVuUHJldmlldyhkYXRhOiBDb21wb25lbnRTdG9yeVByZXZpZXcpOiB2b2lkIHtcbiAgICBjb25zdCBzZWN0aW9uID0gZGF0YS5zZWN0aW9uICYmIChKU09OLnBhcnNlKGRhdGEuc2VjdGlvbikgYXMgU2VjdGlvbik7XG5cbiAgICBpZiAoIXNlY3Rpb24pIHtcbiAgICAgIHRoaXMuaXNOb1ByZXZpZXdBdmFpbGFibGUgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZGVsOiBMaW5lSXRlbSA9IHtcbiAgICAgIC4uLihzZWN0aW9uPy5tb2RlbCA/PyB7XG4gICAgICAgIGF0dHJpYnV0ZXM6IFtdLFxuICAgICAgICBsaW5lSXRlbXM6IFtdLFxuICAgICAgfSksXG4gICAgICBpZDogVVVJRC5VVUlEKCksXG4gICAgfSBhcyBMaW5lSXRlbTtcblxuICAgIGNvbnN0IGNvbXBvbmVudFNlY3Rpb246IFNlY3Rpb24gPSB7XG4gICAgICAuLi5zZWN0aW9uLFxuICAgICAgc2NyaXB0OiBkYXRhLmNvbXBvbmVudFNjcmlwdCA/IGJ0b2EoZGF0YS5jb21wb25lbnRTY3JpcHQpIDogJycsXG4gICAgICBzdHlsZXM6IGRhdGEuY29tcG9uZW50U3R5bGVzID8gYnRvYShkYXRhLmNvbXBvbmVudFN0eWxlcykgOiAnJyxcbiAgICAgIHRlbXBsYXRlOiBkYXRhLmNvbXBvbmVudFRlbXBsYXRlID8gYnRvYShkYXRhLmNvbXBvbmVudFRlbXBsYXRlKSA6ICcnLFxuICAgICAgcHJvcGVydGllczogZGF0YS5jb21wb25lbnRQcm9wZXJ0aWVzID8gSlNPTi5zdHJpbmdpZnkoZGF0YS5jb21wb25lbnRQcm9wZXJ0aWVzKSA6IHt9LFxuICAgICAgaWQ6IFVVSUQuVVVJRCgpLFxuICAgICAgbW9kZWwsXG4gICAgfSBhcyBTZWN0aW9uO1xuXG4gICAgY29uc3Qgc3RvcnlTZWN0aW9uOiBTZWN0aW9uID0ge1xuICAgICAgaWQ6IFVVSUQuVVVJRCgpLFxuICAgICAgdGVtcGxhdGU6IGRhdGEudGVtcGxhdGUgPyBidG9hKGRhdGEudGVtcGxhdGUpIDogZGVmYXVsdFRlbXBsYXRlLFxuICAgICAgc3R5bGVzOiBkYXRhLnN0eWxlcyA/IGJ0b2EoZGF0YS5zdHlsZXMpIDogJycsXG4gICAgICBzY3JpcHQ6IGRhdGEuc2NyaXB0ID8gYnRvYShkYXRhLnNjcmlwdCkgOiAnJyxcbiAgICAgIGNoaWxkcmVuOiBbY29tcG9uZW50U2VjdGlvbl0sXG4gICAgICBtb2RlbCxcbiAgICB9IGFzIFNlY3Rpb247XG5cbiAgICBjb25zdCBzZWN0aW9ucyA9IFtzdG9yeVNlY3Rpb24sIGNvbXBvbmVudFNlY3Rpb25dO1xuXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtU2NvcGUuZm9ybSA9IHRoaXMucnVudGltZUZvcm1TZXJ2aWNlLmluaXRGb3JtKHNlY3Rpb25zLCBtb2RlbCk7XG5cbiAgICB0aGlzLmNyZWF0ZVJ1bnRpbWVDb250ZXh0KGNvbXBvbmVudFNlY3Rpb24pO1xuICAgIHRoaXMuc2VjdGlvbnNTZXJ2aWNlLmNvbXBpbGVNb2R1bGUoc2VjdGlvbnMpO1xuXG4gICAgdGhpcy5zZWN0aW9uID0gc3RvcnlTZWN0aW9uO1xuICAgIHRoaXMuc2hvd1ByZXZpZXcgPSB0cnVlO1xuICB9XG5cbiAgY3JlYXRlUnVudGltZUNvbnRleHQoc2VjdGlvbjogU2VjdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IHJ1bnRpbWVNb2RlbCA9IFJ1bnRpbWVNb2RlbC5jcmVhdGUoW10sIHt9KTtcbiAgICBjb25zdCByb290VHlwZSA9IEFycmF5LmZyb20ocnVudGltZU1vZGVsLmNvbXBvbmVudHMudmFsdWVzKCkpLmZpbmQoXG4gICAgICBjID0+XG4gICAgICAgIHNlY3Rpb24ubW9kZWw/LnR5cGUgJiZcbiAgICAgICAgcnVudGltZU1vZGVsLmlzRXF1YWxzKGMudHlwZU5hbWUsIHNlY3Rpb24ubW9kZWwudHlwZSkgJiZcbiAgICAgICAgRW50aXR5VXRpbC5pc1ByZXNlbnQoYy5wcm9kdWN0SWQpLFxuICAgICk7XG5cbiAgICBjb25zdCBjb250ZXh0UHJvZHVjdElkID0gcm9vdFR5cGUgPyByb290VHlwZS5wcm9kdWN0SWQgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBjb250ZXh0OiBMZWdhY3lSdW50aW1lQ29udGV4dCA9IHtcbiAgICAgIG1vZGVsSWQ6ICcnLFxuICAgICAgcnVudGltZU1vZGVsLFxuICAgICAgcnVudGltZU1vZGU6IFJ1bnRpbWVNb2RlLlRFU1QsXG4gICAgICBwcm9kdWN0SWQ6IGNvbnRleHRQcm9kdWN0SWQsXG4gICAgICBwcm9wZXJ0aWVzOiB7fSxcbiAgICB9IGFzIExlZ2FjeVJ1bnRpbWVDb250ZXh0O1xuXG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5zZXRSdW50aW1lQ29udGV4dChjb250ZXh0KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dQcmV2aWV3XCI+XG4gIDx2bC1zZWN0aW9uLXJlbmRlcmVyIFtzZWN0aW9uXT1cInNlY3Rpb24hXCIgW2Zvcm1dPVwiZm9ybVwiPjwvdmwtc2VjdGlvbi1yZW5kZXJlcj5cbjwvbmctY29udGFpbmVyPlxuXG48c3BhbiBjbGFzcz1cImluZm9cIiAqbmdJZj1cImlzTm9QcmV2aWV3QXZhaWxhYmxlXCI+Tm8gcHJldmlldyBhdmFpbGFibGU8L3NwYW4+XG48c3BhbiBjbGFzcz1cImluZm8gZXJyb3JcIiAqbmdJZj1cImlzUHJldmlld0ZhaWxlZFwiPlByZXZpZXcgaGFzIGZhaWxlZDwvc3Bhbj5cbiJdfQ==
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXByZXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvcnVudGltZS9jb21wb25lbnRzL2NvbXBvbmVudC1wcmV2aWV3L2NvbXBvbmVudC1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy9jb21wb25lbnQtcHJldmlldy9jb21wb25lbnQtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQXlCLFVBQVUsRUFBWSxZQUFZLEVBQVcsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7OztBQUdqRSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsMkNBQTJDLENBQUMsQ0FBQztBQWdCMUUsTUFBTSxPQUFPLHlCQUF5QjtJQVVwQyxZQUNVLGVBQWdDLEVBQ2hDLGtCQUFzQyxFQUN0QyxTQUEyQixFQUMzQixjQUE4QixFQUM5QixHQUFzQjtRQUp0QixvQkFBZSxHQUFm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SyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21wb25lbnRTdG9yeVByZXZpZXcsIEVudGl0eVV0aWwsIExpbmVJdGVtLCBSdW50aW1lTW9kZWwsIFNlY3Rpb24sIFVVSUQgfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgUnVudGltZU1vZGUgfSBmcm9tICdAdmVsb2NlL3Nkay9jb3JlJztcbmltcG9ydCB7IENvbGxhcHNpYmxlU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29sbGFwc2libGUtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtU2NvcGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS1zY29wZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJ1bnRpbWVGb3JtU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3J1bnRpbWUtZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IFJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcnVudGltZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNlY3Rpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBMZWdhY3lSdW50aW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuY29uc3QgZGVmYXVsdFRlbXBsYXRlID0gYnRvYSgnPHRlbXBsYXRlLWNvbXBvbmVudD48L3RlbXBsYXRlLWNvbXBvbmVudD4nKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtY29tcG9uZW50LXByZXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tcG9uZW50LXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vdWktcnVudGltZS9ydW50aW1lLWxlZ2FjeS1zdHlsZXMuc2NzcycsICcuL2NvbXBvbmVudC1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICBTZWN0aW9uc1NlcnZpY2UsXG4gICAgRm9ybVNjb3BlU2VydmljZSxcbiAgICBDb2xsYXBzaWJsZVN0YXRlU2VydmljZSxcbiAgICBSdW50aW1lRm9ybVNlcnZpY2UsXG4gICAgRm9ybVNjb3BlU2VydmljZSxcbiAgICBSdW50aW1lU2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50UHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBkYXRhPzogQ29tcG9uZW50U3RvcnlQcmV2aWV3O1xuXG4gIHB1YmxpYyBmb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gIHB1YmxpYyBzZWN0aW9uPzogU2VjdGlvbjtcblxuICBwdWJsaWMgc2hvd1ByZXZpZXcgPSBmYWxzZTtcbiAgcHVibGljIGlzTm9QcmV2aWV3QXZhaWxhYmxlID0gZmFsc2U7XG4gIHB1YmxpYyBpc1ByZXZpZXdGYWlsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlY3Rpb25zU2VydmljZTogU2VjdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZUZvcm1TZXJ2aWNlOiBSdW50aW1lRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtU2NvcGU6IEZvcm1TY29wZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7XG4gICAgICB0aGlzLnNlY3Rpb25zU2VydmljZS5kZXN0cm95KCk7XG4gICAgICB0aGlzLnNob3dQcmV2aWV3ID0gZmFsc2U7XG4gICAgICB0aGlzLmlzTm9QcmV2aWV3QXZhaWxhYmxlID0gZmFsc2U7XG4gICAgICB0aGlzLmlzUHJldmlld0ZhaWxlZCA9IGZhbHNlO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB0aGlzLnJ1blByZXZpZXcodGhpcy5kYXRhIGFzIENvbXBvbmVudFN0b3J5UHJldmlldyk7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGU/LnN0YWNrID8/IGU/LmVycm9yID8/ICdFcnJvciBvY2N1cmVkJyk7XG4gICAgICAgICAgdGhpcy5zaG93UHJldmlldyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNQcmV2aWV3RmFpbGVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBydW5QcmV2aWV3KGRhdGE6IENvbXBvbmVudFN0b3J5UHJldmlldyk6IHZvaWQge1xuICAgIGNvbnN0IHNlY3Rpb24gPSBkYXRhLnNlY3Rpb24gJiYgKEpTT04ucGFyc2UoZGF0YS5zZWN0aW9uKSBhcyBTZWN0aW9uKTtcblxuICAgIGlmICghc2VjdGlvbikge1xuICAgICAgdGhpcy5pc05vUHJldmlld0F2YWlsYWJsZSA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbW9kZWw6IExpbmVJdGVtID0ge1xuICAgICAgLi4uKHNlY3Rpb24/Lm1vZGVsID8/IHtcbiAgICAgICAgYXR0cmlidXRlczogW10sXG4gICAgICAgIGxpbmVJdGVtczogW10sXG4gICAgICB9KSxcbiAgICAgIGlkOiBVVUlELlVVSUQoKSxcbiAgICB9IGFzIExpbmVJdGVtO1xuXG4gICAgY29uc3QgY29tcG9uZW50U2VjdGlvbjogU2VjdGlvbiA9IHtcbiAgICAgIC4uLnNlY3Rpb24sXG4gICAgICBzY3JpcHQ6IGRhdGEuY29tcG9uZW50U2NyaXB0ID8gYnRvYShkYXRhLmNvbXBvbmVudFNjcmlwdCkgOiAnJyxcbiAgICAgIHN0eWxlczogZGF0YS5jb21wb25lbnRTdHlsZXMgPyBidG9hKGRhdGEuY29tcG9uZW50U3R5bGVzKSA6ICcnLFxuICAgICAgdGVtcGxhdGU6IGRhdGEuY29tcG9uZW50VGVtcGxhdGUgPyBidG9hKGRhdGEuY29tcG9uZW50VGVtcGxhdGUpIDogJycsXG4gICAgICBwcm9wZXJ0aWVzOiBkYXRhLmNvbXBvbmVudFByb3BlcnRpZXMgPyBKU09OLnN0cmluZ2lmeShkYXRhLmNvbXBvbmVudFByb3BlcnRpZXMpIDoge30sXG4gICAgICBpZDogVVVJRC5VVUlEKCksXG4gICAgICBtb2RlbCxcbiAgICB9IGFzIFNlY3Rpb247XG5cbiAgICBjb25zdCBzdG9yeVNlY3Rpb246IFNlY3Rpb24gPSB7XG4gICAgICBpZDogVVVJRC5VVUlEKCksXG4gICAgICB0ZW1wbGF0ZTogZGF0YS50ZW1wbGF0ZSA/IGJ0b2EoZGF0YS50ZW1wbGF0ZSkgOiBkZWZhdWx0VGVtcGxhdGUsXG4gICAgICBzdHlsZXM6IGRhdGEuc3R5bGVzID8gYnRvYShkYXRhLnN0eWxlcykgOiAnJyxcbiAgICAgIHNjcmlwdDogZGF0YS5zY3JpcHQgPyBidG9hKGRhdGEuc2NyaXB0KSA6ICcnLFxuICAgICAgY2hpbGRyZW46IFtjb21wb25lbnRTZWN0aW9uXSxcbiAgICAgIG1vZGVsLFxuICAgIH0gYXMgU2VjdGlvbjtcblxuICAgIGNvbnN0IHNlY3Rpb25zID0gW3N0b3J5U2VjdGlvbiwgY29tcG9uZW50U2VjdGlvbl07XG5cbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TY29wZS5mb3JtID0gdGhpcy5ydW50aW1lRm9ybVNlcnZpY2UuaW5pdEZvcm0oc2VjdGlvbnMsIG1vZGVsKTtcblxuICAgIHRoaXMuY3JlYXRlUnVudGltZUNvbnRleHQoY29tcG9uZW50U2VjdGlvbik7XG4gICAgdGhpcy5zZWN0aW9uc1NlcnZpY2UuY29tcGlsZU1vZHVsZShzZWN0aW9ucyk7XG5cbiAgICB0aGlzLnNlY3Rpb24gPSBzdG9yeVNlY3Rpb247XG4gICAgdGhpcy5zaG93UHJldmlldyA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlUnVudGltZUNvbnRleHQoc2VjdGlvbjogU2VjdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IHJ1bnRpbWVNb2RlbCA9IFJ1bnRpbWVNb2RlbC5jcmVhdGUoW10sIHt9KTtcbiAgICBjb25zdCByb290VHlwZSA9IEFycmF5LmZyb20ocnVudGltZU1vZGVsLmNvbXBvbmVudHMudmFsdWVzKCkpLmZpbmQoXG4gICAgICBjID0+XG4gICAgICAgIHNlY3Rpb24ubW9kZWw/LnR5cGUgJiZcbiAgICAgICAgcnVudGltZU1vZGVsLmlzRXF1YWxzKGMudHlwZU5hbWUsIHNlY3Rpb24ubW9kZWwudHlwZSkgJiZcbiAgICAgICAgRW50aXR5VXRpbC5pc1ByZXNlbnQoYy5wcm9kdWN0SWQpLFxuICAgICk7XG5cbiAgICBjb25zdCBjb250ZXh0UHJvZHVjdElkID0gcm9vdFR5cGUgPyByb290VHlwZS5wcm9kdWN0SWQgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBjb250ZXh0OiBMZWdhY3lSdW50aW1lQ29udGV4dCA9IHtcbiAgICAgIG1vZGVsSWQ6ICcnLFxuICAgICAgcnVudGltZU1vZGVsLFxuICAgICAgcnVudGltZU1vZGU6IFJ1bnRpbWVNb2RlLlRFU1QsXG4gICAgICBwcm9kdWN0SWQ6IGNvbnRleHRQcm9kdWN0SWQsXG4gICAgICBwcm9wZXJ0aWVzOiB7fSxcbiAgICB9IGFzIExlZ2FjeVJ1bnRpbWVDb250ZXh0O1xuXG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5zZXRSdW50aW1lQ29udGV4dChjb250ZXh0KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dQcmV2aWV3XCI+XG4gIDx2bC1zZWN0aW9uLXJlbmRlcmVyIFtzZWN0aW9uXT1cInNlY3Rpb24hXCIgW2Zvcm1dPVwiZm9ybVwiPjwvdmwtc2VjdGlvbi1yZW5kZXJlcj5cbjwvbmctY29udGFpbmVyPlxuXG48c3BhbiBjbGFzcz1cImluZm9cIiAqbmdJZj1cImlzTm9QcmV2aWV3QXZhaWxhYmxlXCI+Tm8gcHJldmlldyBhdmFpbGFibGU8L3NwYW4+XG48c3BhbiBjbGFzcz1cImluZm8gZXJyb3JcIiAqbmdJZj1cImlzUHJldmlld0ZhaWxlZFwiPlByZXZpZXcgaGFzIGZhaWxlZDwvc3Bhbj5cbiJdfQ==
|
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
68
68
|
type: ViewChild,
|
69
69
|
args: ['container', { read: ViewContainerRef, static: true }]
|
70
70
|
}] } });
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2NvbXBvbmVudHMvc2VjdGlvbi1yZW5kZXJlci9zZWN0aW9uLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy9zZWN0aW9uLXJlbmRlcmVyL3NlY3Rpb24tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFHVCxLQUFLLEVBSUwsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQVMzRSxNQUFNLE9BQU8sd0JBQXdCO0lBZ0JuQyxZQUNVLFNBQW1CLEVBQ25CLEVBQW9CLEVBQ3BCLFlBQWlDLEVBQ2pDLFlBQWlDO1FBSGpDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDcEIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQU1uQyxpQkFBWSxHQUE2QixJQUFJLENBQUM7SUFMbkQsQ0FBQztJQWxCSixJQUNXLE9BQU8sQ0FBQyxLQUFjO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBaUJNLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLGVBQWU7O1FBQ3BCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBQSxNQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQywwQ0FBRSxPQUFPLEVBQUUsbUNBQUksRUFBRSxDQUFDLENBQUM7U0FDNUY7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTSxhQUFhOztRQUNsQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUMxQjtRQUVELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3JCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDbkQsV0FBVyxFQUNYLEdBQUcsTUFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssMENBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQ25ELENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDOztzSEFqRVUsd0JBQXdCOzBHQUF4Qix3QkFBd0IsNEZBRnhCLENBQUMsbUJBQW1CLENBQUMsNkdBeUJBLGdCQUFnQiwyQ0M5Q2xELHdDQUFzQzs0RkR1QnpCLHdCQUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ2pDOzZMQUtZLE9BQU87c0JBRGpCLEtBQUs7Z0JBV0MsSUFBSTtzQkFEVixLQUFLO2dCQVdDLFNBQVM7c0JBRGYsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE5nTW9kdWxlUmVmLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgU2VjdGlvblNjb3BlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NlY3Rpb24tc2NvcGUuc2VydmljZSc7XG5pbXBvcnQgeyBTZWN0aW9uU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VjdGlvbi1zdG9yZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtc2VjdGlvbi1yZW5kZXJlcicsXG4gIHRlbXBsYXRlVXJsOiAnc2VjdGlvbi1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzZWN0aW9uLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NlY3Rpb25TY29wZVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWN0aW9uUmVuZGVyZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX3NlY3Rpb24hOiBTZWN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VjdGlvbih2YWx1ZTogU2VjdGlvbikge1xuICAgIHRoaXMuX3NlY3Rpb24gPSB2YWx1ZTtcbiAgICB0aGlzLnNlY3Rpb25TY29wZS5zZWN0aW9uID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlY3Rpb24oKTogU2VjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlY3Rpb247XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybSE6IEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBfbTogTmdNb2R1bGVSZWY8YW55PixcbiAgICBwcml2YXRlIHNlY3Rpb25TY29wZTogU2VjdGlvblNjb3BlU2VydmljZSxcbiAgICBwcml2YXRlIHNlY3Rpb25TdG9yZTogU2VjdGlvblN0b3JlU2VydmljZSxcbiAgKSB7fVxuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBjb250YWluZXIhOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIHByaXZhdGUgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbmRlclNlY3Rpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLnNlY3Rpb25TY29wZS50ZW1wbGF0ZXMubmV4dCh0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZVsndGVtcGxhdGVzJ10/LnRvQXJyYXkoKSA/PyBbXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW5kZXJTZWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLnNlY3Rpb25TdG9yZS5nZXRDb21wb25lbnRGYWN0b3J5KHRoaXMuX3NlY3Rpb24pO1xuICAgIGlmICghY29tcG9uZW50RmFjdG9yeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5faW5qZWN0b3IsIFtdLCBudWxsLCB0aGlzLl9tKTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICdzZWN0aW9uSWQnLFxuICAgICAgYCR7dGhpcy5fc2VjdGlvbi5tb2RlbD8uaWR9JHt0aGlzLl9zZWN0aW9uLmxhYmVsfWAsXG4gICAgKTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZVsnZm9ybSddID0gdGhpcy5mb3JtO1xuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlWydzZWN0aW9uJ10gPSB0aGlzLnNlY3Rpb247XG5cbiAgICB0aGlzLmNvbnRhaW5lci5pbnNlcnQodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRhaW5lcj48L25nLXRlbXBsYXRlPiJdfQ==
|
@@ -424,4 +424,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
424
424
|
}] }, { type: i6.ContextService }, { type: i7.OrderByPipe }, { type: i7.SearchFilterPipe }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { solutionUpdated: [{
|
425
425
|
type: Output
|
426
426
|
}] } });
|
427
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2NvbXBvbmVudHMvdWktcnVudGltZS9ydW50aW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy91aS1ydW50aW1lL3J1bnRpbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBR0wsVUFBVSxFQUVWLFdBQVcsRUFFWCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBSWhCLElBQUksR0FDTCxNQUFNLGNBQWMsQ0FBQztBQUd0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FB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LGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQywwQkN2Q3ZGLG1nRUFtREE7NEZEVmEsZ0JBQWdCO2tCQVA1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUU7b0JBQ25CLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixFQUFFLHdCQUF3QixDQUFDO29CQUNyRSxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUM7aUJBQ3RGOzswQkF5QkksTUFBTTsyQkFBQyxjQUFjO2tLQVJHLGVBQWU7c0JBQXpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBBdHRyaWJ1dGUsXG4gIENoYXJnZUl0ZW0sXG4gIEVudGl0eVV0aWwsXG4gIExpbmVJdGVtLFxuICBPcmRlckJ5UGlwZSxcbiAgUHJpY2VBZGp1c3RtZW50LFxuICBTYWxlc2ZvcmNlSWRVdGlscyxcbiAgU2VhcmNoRmlsdGVyUGlwZSxcbiAgU2VjdGlvbixcbiAgU2VjdGlvblBhdGgsXG4gIFVJVGFiLFxuICBVVUlELFxufSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL3Nkay9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb2xsYXBzaWJsZVN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbGxhcHNpYmxlLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybVNjb3BlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0tc2NvcGUuc2VydmljZSc7XG5pbXBvcnQgeyBSdW50aW1lRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ydW50aW1lLWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3J1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBTZWN0aW9uSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NlY3Rpb24taGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IExlZ2FjeVJ1bnRpbWVDb250ZXh0LCBTb2x1dGlvblJlYWR5QXdhcmUsIFVwZGF0ZURhdGEgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCb3VuZERhdGFUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMvYm91bmQtZGF0YS50eXBlcyc7XG5pbXBvcnQgeyBMaW5lSXRlbVV0aWwgfSBmcm9tICcuLi8uLi91dGlscy9saW5lLWl0ZW0udXRpbCc7XG5pbXBvcnQgeyBnZXRTZWN0aW9uVHJlZSB9IGZyb20gJy4uLy4uL3V0aWxzL3NlY3Rpb24udXRpbHMnO1xuaW1wb3J0IHsgU2VjdGlvbnNCaW5kZXJIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlscy9zZWN0aW9ucy1iaW5kZXIuaGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtcnVudGltZScsXG4gIG1vZHVsZUlkOiBtb2R1bGUuaWQsXG4gIHRlbXBsYXRlVXJsOiAncnVudGltZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3J1bnRpbWUtbGVnYWN5LXN0eWxlcy5zY3NzJywgJ3J1bnRpbWUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbRm9ybVNjb3BlU2VydmljZSwgQ29sbGFwc2libGVTdGF0ZVNlcnZpY2UsIE9yZGVyQnlQaXBlLCBTZWFyY2hGaWx0ZXJQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgUnVudGltZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBTb2x1dGlvblJlYWR5QXdhcmUge1xuICByZWFkb25seSBtZXNzYWdlQnVja2V0SWQgPSAndWkucnVudGltZSc7XG5cbiAgcHVibGljIHNvcnRlZFNlY3Rpb25zOiBTZWN0aW9uW10gPSBbXTtcbiAgcHVibGljIHN0YXRpY1NlY3Rpb25zOiBTZWN0aW9uW10gPSBbXTtcblxuICBydW50aW1lQ29udGV4dCE6IExlZ2FjeVJ1bnRpbWVDb250ZXh0O1xuICBzb2x1dGlvbkxpbmVJdGVtITogTGluZUl0ZW07XG4gIGZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuXG4gIGFjdGl2ZVVJVGFiPzogVUlUYWI7XG5cbiAgc29sdXRpb25Jc1JlYWR5ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpIHByaXZhdGUgcmVhZG9ubHkgc29sdXRpb25VcGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWN0aW9uc1NlcnZpY2U6IFNlY3Rpb25zU2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1TY29wZTogRm9ybVNjb3BlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbGxhcHNpYmxlU3RhdGU6IENvbGxhcHNpYmxlU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybVNlcnZpY2U6IFJ1bnRpbWVGb3JtU2VydmljZSxcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBSdW50aW1lU2VydmljZSxcbiAgICBASW5qZWN0KE1lc3NhZ2VTZXJ2aWNlKSBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIG9yZGVyQnlQaXBlOiBPcmRlckJ5UGlwZSxcbiAgICBwcml2YXRlIHNlYXJjaEZpbHRlclBpcGU6IFNlYXJjaEZpbHRlclBpcGUsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgcHJpdmF0ZSBhZGp1c3RQcmljZShcbiAgICB2YWx1ZU9wdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHNlY3Rpb246IFNlY3Rpb24sXG4gICAgc29sdXRpb25MaW5lSXRlbTogTGluZUl0ZW0sXG4gICAgcGF0Y2g6IERpY3Rpb25hcnk8UHJpY2VBZGp1c3RtZW50PixcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgcGFyZW50TGluZUl0ZW0gPSBzZWN0aW9uLm1vZGVsICYmIExpbmVJdGVtVXRpbC5maW5kQnlJZChzZWN0aW9uLm1vZGVsLmlkLCBbc29sdXRpb25MaW5lSXRlbV0pO1xuXG4gICAgaWYgKCFwYXJlbnRMaW5lSXRlbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcyA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5tYXAobGluZUl0ZW0gPT4ge1xuICAgICAgY29uc3QgeyBwcm9kdWN0SWQsIGNoYXJnZUl0ZW1zIH0gPSBsaW5lSXRlbTtcblxuICAgICAgaWYgKHByb2R1Y3RJZCAhPT0gdmFsdWVPcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIGxpbmVJdGVtO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjaGFyZ2VJdGVtID0gY2hhcmdlSXRlbXMuc2hpZnQoKTtcbiAgICAgIGNvbnN0IHVwZGF0ZWRDaGFyZ2VJdGVtID0ge1xuICAgICAgICAuLi5jaGFyZ2VJdGVtLFxuICAgICAgICAuLi5wYXRjaCxcbiAgICAgIH0gYXMgQ2hhcmdlSXRlbTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubGluZUl0ZW0sXG4gICAgICAgIGNoYXJnZUl0ZW1zOiBbdXBkYXRlZENoYXJnZUl0ZW0sIC4uLmNoYXJnZUl0ZW1zXSxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1TY29wZS5mb3JtU3VibWl0RXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZTogVXBkYXRlRGF0YSkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5mb3JtLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgY29uc3Qgc29sdXRpb25MaW5lSXRlbSA9IEVudGl0eVV0aWwuY2xvbmUodGhpcy5zb2x1dGlvbkxpbmVJdGVtKTtcblxuICAgICAgICBjb25zdCBzZWN0aW9uID0gdGhpcy5maW5kU2VjdGlvbihlLmlkKTtcblxuICAgICAgICBpZiAoIXNlY3Rpb24pIHtcbiAgICAgICAgICB0aHJvdyAnU2VjdGlvbiBub3QgZm91bmQnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVudGl0eVR5cGUgPSBzZWN0aW9uLmJvdW5kRGF0YS5lbnRpdHlUeXBlO1xuXG4gICAgICAgIGlmIChlbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuUE9SVF0gfHwgZW50aXR5VHlwZSA9PT0gQm91bmREYXRhVHlwZVtCb3VuZERhdGFUeXBlLlRZUEVdKSB7XG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAncGF0Y2gnICYmIEVudGl0eVV0aWwuaXNQcmVzZW50KGUudmFsdWVPcHRpb24pKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZU9wdGlvbjogYW55ID0gZVsndmFsdWVPcHRpb24nXTtcblxuICAgICAgICAgICAgaWYgKCFzZWN0aW9uLm1vZGVsPy5wYXJlbnRJZCkge1xuICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNpYmxlU3RhdGUuY2xlYXJTdGF0ZShzZWN0aW9uLmlkKTtcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHZhbHVlT3B0aW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwucGFyZW50SWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgICAgaWYgKHBhcmVudExpbmVJdGVtKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5keCA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBzZWN0aW9uLm1vZGVsPy5pZCk7XG5cbiAgICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMuc3BsaWNlKGluZHgsIDEsIHZhbHVlT3B0aW9uKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuY29sbGFwc2libGVTdGF0ZS5jbGVhclN0YXRlKHNlY3Rpb24uaWQpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuUE9SVF0pIHtcbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICd1cHNlcnQnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9IHNlY3Rpb24ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwuaWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnRMaW5lSXRlbSkge1xuICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMuZm9yRWFjaChpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICBlLnNlbGVjdGVkVmFsdWVPcHRpb25zICYmXG4gICAgICAgICAgICAgICAgICBlLnNlbGVjdGVkVmFsdWVPcHRpb25zLmZpbmRJbmRleCh2ID0+IHYudG9Mb3dlckNhc2UoKSA9PT0gaS50eXBlLnRvTG93ZXJDYXNlKCkpIDwgMFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudExpbmVJdGVtLCBpLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBjb25zdCBsaW5lSXRlbXMgPSBwYXJlbnRMaW5lSXRlbT8ubGluZUl0ZW1zLmZpbHRlcihcbiAgICAgICAgICAgICAgICBpID0+XG4gICAgICAgICAgICAgICAgICBlLnNlbGVjdGVkVmFsdWVPcHRpb25zICYmXG4gICAgICAgICAgICAgICAgICBlLnNlbGVjdGVkVmFsdWVPcHRpb25zLmZpbmRJbmRleCh2ID0+IHYudG9Mb3dlckNhc2UoKSA9PT0gaS50eXBlLnRvTG93ZXJDYXNlKCkpID4gLTEsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGUuc2VsZWN0ZWRWYWx1ZU9wdGlvbnM/LmZvckVhY2godiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGxpbmVJdGVtcz8uZmluZEluZGV4KGl0ZW0gPT4gaXRlbS50eXBlLnRvTG93ZXJDYXNlKCkgPT09IHYudG9Mb3dlckNhc2UoKSkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBsaW5lSXRlbSA9IHRoaXMuY3JlYXRlTGluZUl0ZW0oc2VjdGlvbiwgdiwgcGFyZW50TGluZUl0ZW0pO1xuICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudExpbmVJdGVtLCBsaW5lSXRlbSk7XG4gICAgICAgICAgICAgICAgICBsaW5lSXRlbXMucHVzaChsaW5lSXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAnY3JlYXRlJykge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50TGluZUl0ZW0gPSBzZWN0aW9uLm1vZGVsICYmIExpbmVJdGVtVXRpbC5maW5kQnlJZChzZWN0aW9uLm1vZGVsLmlkLCBbc29sdXRpb25MaW5lSXRlbV0pO1xuXG4gICAgICAgICAgICBpZiAocGFyZW50TGluZUl0ZW0pIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWVPcHRpb24gPSBlLnZhbHVlT3B0aW9uO1xuICAgICAgICAgICAgICBjb25zdCBsaW5lSXRlbSA9IHRoaXMuY3JlYXRlTGluZUl0ZW0oc2VjdGlvbiwgdmFsdWVPcHRpb24sIHBhcmVudExpbmVJdGVtKTtcbiAgICAgICAgICAgICAgcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zLnB1c2gobGluZUl0ZW0pO1xuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIGxpbmVJdGVtKTtcblxuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAnY29weScpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgaWYgKHBhcmVudExpbmVJdGVtKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlT3B0aW9uID0gZS52YWx1ZU9wdGlvbjtcbiAgICAgICAgICAgICAgY29uc3QgbGluZUl0ZW1Ub0NvcHkgPSBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMuZmluZChsaSA9PiBsaS5pZCA9PT0gdmFsdWVPcHRpb24pO1xuICAgICAgICAgICAgICBpZiAobGluZUl0ZW1Ub0NvcHkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsaW5lSXRlbTogTGluZUl0ZW0gPSB7IC4uLmxpbmVJdGVtVG9Db3B5LCBpZDogJycgfTtcbiAgICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMucHVzaChsaW5lSXRlbSk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudExpbmVJdGVtLCBsaW5lSXRlbSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9IHNlY3Rpb24ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwuaWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnRMaW5lSXRlbSkge1xuICAgICAgICAgICAgICAvL0Fzc3VtaW5nIHRoYXQgcmFkaW8gY29udHJvbCBpcyB0aGUgb25seSBjb250cm9sLCB0aGF0ICd1cGRhdGVzJyB2YWx1ZXNcbiAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXMgPSBzZWN0aW9uLm1vZGVsPy5saW5lSXRlbXMuZmlsdGVyKGxpID0+IGxpLnBvcnQgJiYgbGkucG9ydCA9PT0gc2VjdGlvbi5ib3VuZERhdGEubmFtZSlbMF07XG5cbiAgICAgICAgICAgICAgaWYgKHByZXZpb3VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudExpbmVJdGVtLCBwcmV2aW91cywgMCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5maW5kSW5kZXgobGkgPT4gbGkuaWQgPT09IHByZXZpb3VzPy5pZCk7XG5cbiAgICAgICAgICAgICAgY29uc3QgbGluZUl0ZW06IExpbmVJdGVtID0ge1xuICAgICAgICAgICAgICAgIGlkOiBVVUlELlVVSUQoKSxcbiAgICAgICAgICAgICAgICBxdHk6IHByZXZpb3VzPy5xdHksXG4gICAgICAgICAgICAgICAgcG9ydDogcHJldmlvdXM/LnBvcnQsXG4gICAgICAgICAgICAgICAgdHlwZTogRW50aXR5VXRpbC5pc1ByZXNlbnQoZS52YWx1ZU9wdGlvbikgPyBlLnZhbHVlT3B0aW9uIDogdGhpcy5mb3JtLmNvbnRyb2xzW2UuaWRdLnZhbHVlLFxuICAgICAgICAgICAgICAgIGNmZ1N0YXR1czogJ05ldycsXG4gICAgICAgICAgICAgICAgcGFyZW50SWQ6IHByZXZpb3VzPy5wYXJlbnRJZCxcbiAgICAgICAgICAgICAgfSBhcyBMaW5lSXRlbTtcblxuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIGxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zW2luZGV4XSA9IGxpbmVJdGVtO1xuXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdyZW1vdmUnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9IHNlY3Rpb24ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwuaWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgcGFyZW50TGluZUl0ZW0gJiZcbiAgICAgICAgICAgICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuaXNSZW1vdmVBbGxvd2VkKHBhcmVudExpbmVJdGVtLCBzZWN0aW9uLmJvdW5kRGF0YS5uYW1lLCBzZWN0aW9uLm1vZGVsPy5xdHkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMuZmluZEluZGV4KFxuICAgICAgICAgICAgICAgIGl0ZW0gPT4gaXRlbS50eXBlLnRvTG93ZXJDYXNlKCkgPT09IGUudmFsdWVPcHRpb24/LnRvTG93ZXJDYXNlKCksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlZCA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5zcGxpY2UoaW5kZXgsIDEpWzBdO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnRMaW5lSXRlbSwgcmVtb3ZlZCwgMCk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAncXR5VXBkYXRlJykge1xuICAgICAgICAgICAgY29uc3QgdHlwZVNlY3Rpb24gPSBlLnZhbHVlT3B0aW9uXG4gICAgICAgICAgICAgID8gU2VjdGlvbkhlbHBlclNlcnZpY2UuZmluZFNlY3Rpb25Gb3JWYWx1ZShzZWN0aW9uLCBlLnZhbHVlT3B0aW9uKVxuICAgICAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgY29uc3QgdHlwZUxpbmVJdGVtID0gdHlwZVNlY3Rpb24/Lm1vZGVsICYmIExpbmVJdGVtVXRpbC5maW5kQnlJZCh0eXBlU2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcbiAgICAgICAgICAgIGlmICh0eXBlU2VjdGlvbiAmJiB0eXBlTGluZUl0ZW0pIHtcbiAgICAgICAgICAgICAgdHlwZUxpbmVJdGVtLnF0eSA9ICt0aGlzLmZvcm0uY29udHJvbHNbdHlwZVNlY3Rpb24uaWQgKyAncXR5J10udmFsdWU7XG4gICAgICAgICAgICAgIHR5cGVMaW5lSXRlbS5jZmdTdGF0dXMgPSAnVXNlcic7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdhZGp1c3ROZXRQcmljZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgdmFsdWVPcHRpb24sIG9wdGlvbnMgfSA9IGU7XG4gICAgICAgICAgICBjb25zdCB7IGFtb3VudCB9ID0gb3B0aW9ucyA/PyB7fTtcblxuICAgICAgICAgICAgY29uc3QgcHJpY2VBZGp1c3RtZW50OiBQcmljZUFkanVzdG1lbnQgPSB7XG4gICAgICAgICAgICAgIHR5cGU6ICdPVkVSUklERV9BTU9VTlQnLFxuICAgICAgICAgICAgICBleHBsYW5hdGlvbjogJ01hbnVhbCBuZXQgcHJpY2UgYWRqdXN0bWVudCcsXG4gICAgICAgICAgICAgIGFtb3VudCxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMuYWRqdXN0UHJpY2UodmFsdWVPcHRpb24sIHNlY3Rpb24sIHNvbHV0aW9uTGluZUl0ZW0sIHsgcHJpY2VBZGp1c3RtZW50IH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ2FkanVzdExpc3RQcmljZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgdmFsdWVPcHRpb24sIG9wdGlvbnMgfSA9IGU7XG4gICAgICAgICAgICBjb25zdCB7IGFtb3VudCB9ID0gb3B0aW9ucyA/PyB7fTtcblxuICAgICAgICAgICAgY29uc3QgbGlzdFByaWNlQWRqdXN0bWVudDogUHJpY2VBZGp1c3RtZW50ID0ge1xuICAgICAgICAgICAgICB0eXBlOiAnT1ZFUlJJREVfQU1PVU5UJyxcbiAgICAgICAgICAgICAgZXhwbGFuYXRpb246ICdNYW51YWwgbGlzdCBwcmljZSBhZGp1c3RtZW50JyxcbiAgICAgICAgICAgICAgYW1vdW50LFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy5hZGp1c3RQcmljZSh2YWx1ZU9wdGlvbiwgc2VjdGlvbiwgc29sdXRpb25MaW5lSXRlbSwgeyBsaXN0UHJpY2VBZGp1c3RtZW50IH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuVFlQRV0pIHtcbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdyZW1vdmUnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9XG4gICAgICAgICAgICAgIHNlY3Rpb24ubW9kZWw/LnBhcmVudElkICYmIExpbmVJdGVtVXRpbC5maW5kQnlJZChzZWN0aW9uLm1vZGVsLnBhcmVudElkLCBbc29sdXRpb25MaW5lSXRlbV0pO1xuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHBhcmVudExpbmVJdGVtICYmXG4gICAgICAgICAgICAgIHNlY3Rpb24ubW9kZWwgJiZcbiAgICAgICAgICAgICAgc2VjdGlvbi5tb2RlbC5wb3J0ICYmXG4gICAgICAgICAgICAgIFNlY3Rpb25zQmluZGVySGVscGVyLmlzUmVtb3ZlQWxsb3dlZChwYXJlbnRMaW5lSXRlbSwgc2VjdGlvbi5tb2RlbC5wb3J0LCBzZWN0aW9uLm1vZGVsPy5xdHkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gc2VjdGlvbi5tb2RlbD8uaWQpO1xuICAgICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlbW92ZWQgPSBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMuc3BsaWNlKGluZGV4LCAxKVswXTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIHJlbW92ZWQsIDApO1xuICAgICAgICAgICAgICAgIHRoaXMuY29sbGFwc2libGVTdGF0ZS5jbGVhclN0YXRlKHNlY3Rpb24uaWQpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ3F0eVVwZGF0ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cGVMaW5lSXRlbSA9IHNlY3Rpb24ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwuaWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgIGlmICh0eXBlTGluZUl0ZW0pIHtcbiAgICAgICAgICAgICAgY29uc3QgcXR5ID0gK3RoaXMuZm9ybS5jb250cm9sc1tlLmlkICsgJ3F0eSddLnZhbHVlO1xuICAgICAgICAgICAgICBpZiAodHlwZUxpbmVJdGVtLnBhcmVudElkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50TGluZUl0ZW0gPSBMaW5lSXRlbVV0aWwuZmluZEJ5SWQodHlwZUxpbmVJdGVtLnBhcmVudElkLCBbc29sdXRpb25MaW5lSXRlbV0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudExpbmVJdGVtKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIHR5cGVMaW5lSXRlbSwgcXR5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdHlwZUxpbmVJdGVtLnF0eSA9IHF0eTtcbiAgICAgICAgICAgICAgdHlwZUxpbmVJdGVtLmNmZ1N0YXR1cyA9ICdVc2VyJztcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuQVRUUklCVVRFXSkge1xuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcbiAgICAgICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHBhcmVudExpbmVJdGVtPy5hdHRyaWJ1dGVzLmZpbmQoXG4gICAgICAgICAgICAgIGF0dHIgPT4gYXR0ci5uYW1lLnRvTG93ZXJDYXNlKCkgPT09IHNlY3Rpb24uYm91bmREYXRhLm5hbWUudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgICAgLy9FeHBsaWNpdGx5IHNldCB2YWx1ZSBhbHdheXMgd2luXG4gICAgICAgICAgICAgIGxldCB2YWx1ZSA9IHR5cGVvZiBlLnZhbHVlT3B0aW9uICE9PSAndW5kZWZpbmVkJyA/IGUudmFsdWVPcHRpb24gOiB0aGlzLmZvcm0uY29udHJvbHNbZS5pZF0udmFsdWU7XG5cbiAgICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZS50eXBlID09PSAnQk9PTEVBTicpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlID8gMSA6IDA7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBhdHRyaWJ1dGUudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgYXR0cmlidXRlLmNmZ1N0YXR1cyA9ICdVc2VyJztcblxuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IGtleTogdGhpcy5tZXNzYWdlQnVja2V0SWQsIHN1bW1hcnk6IGBDb25maWd1cmF0aW9uIGZhaWxlZCAkeyhlIGFzIGFueSk/Lm1lc3NhZ2V9YCB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMucnVudGltZVNlcnZpY2Uub25Tb2x1dGlvblJlYWR5RXZlbnRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUobGluZUl0ZW0gPT4gdGhpcy5vblNvbHV0aW9uUmVhZHkobGluZUl0ZW0pKTtcblxuICAgIHRoaXMucnVudGltZVNlcnZpY2Uub25Tb2x1dGlvblVwZGF0ZWRFdmVudFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZGF0YTogTGluZUl0ZW0gfCBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAoIShkYXRhIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlU29sdXRpb25VcGRhdGUoZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhbmRsZVNvbHV0aW9uRmFpbGVkVXBkYXRlKGRhdGEpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLm9uVUlSZWZyZXNoRXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCB7IHVpRGVmaW5pdGlvbiB9ID0gdGhpcy5ydW50aW1lU2VydmljZS5nZXRSdW50aW1lQ29udGV4dCgpID8/IHt9O1xuICAgICAgdGhpcy5ydW50aW1lQ29udGV4dC51aURlZmluaXRpb24gPSB1aURlZmluaXRpb24gYXMgYW55O1xuICAgICAgdGhpcy5mb3JtU2NvcGUuc2NyaXB0U2Vzc2lvblNjb3BlID0ge307XG4gICAgICB0aGlzLnN0YXJ0UnVudGltZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgb25Tb2x1dGlvblJlYWR5KGxpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmdldFJ1bnRpbWVDb250ZXh0KCkgYXMgTGVnYWN5UnVudGltZUNvbnRleHQ7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbkNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcblxuICAgIGNvbnN0IG1lcmdlQ29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQgPSB7XG4gICAgICAuLi5jb250ZXh0LFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAuLi5jb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgIC4uLmNvbmZpZ3VyYXRpb25Db250ZXh0LnByb3BlcnRpZXMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCBhY2NvdW50SWQgPSBtZXJnZUNvbnRleHQucHJvcGVydGllcz8uQWNjb3VudElkO1xuICAgIGlmIChhY2NvdW50SWQgJiYgYWNjb3VudElkLmxlbmd0aCA9PT0gMTUpIHtcbiAgICAgIHRoaXMucnVudGltZUNvbnRleHQgPSB7XG4gICAgICAgIC4uLm1lcmdlQ29udGV4dCxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIC4uLm1lcmdlQ29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgIEFjY291bnRJZDogU2FsZXNmb3JjZUlkVXRpbHMuZ2VuZXJhdGVJZDE4RnJvbUlkMTUoYWNjb3VudElkKSxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgYW55O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJ1bnRpbWVDb250ZXh0ID0gbWVyZ2VDb250ZXh0IGFzIGFueTtcbiAgICB9XG5cbiAgICB0aGlzLnNvbHV0aW9uTGluZUl0ZW0gPSBsaW5lSXRlbTtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnNldFJ1bnRpbWVDb250ZXh0KHRoaXMucnVudGltZUNvbnRleHQpO1xuXG4gICAgdGhpcy5zdGFydFJ1bnRpbWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU29sdXRpb25VcGRhdGUodXBkYXRlZExpbmVJdGVtOiBMaW5lSXRlbSkge1xuICAgIHRoaXMuc29sdXRpb25MaW5lSXRlbSA9IHVwZGF0ZWRMaW5lSXRlbTtcbiAgICB0aGlzLnByb2Nlc3NTb2x1dGlvbih0cnVlKTtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnNvbHV0aW9uUHJvY2Vzc2VkKHRoaXMuc29sdXRpb25MaW5lSXRlbSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTb2x1dGlvbkZhaWxlZFVwZGF0ZShlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNFcnJvck1lc3NhZ2UgPSBFbnRpdHlVdGlsLmlzUHJlc2VudChlcnJvci5lcnJvcikgJiYgRW50aXR5VXRpbC5pc1ByZXNlbnQoZXJyb3IuZXJyb3IubWVzc2FnZSk7XG4gICAgY29uc3QgbWVzc2FnZSA9IGhhc0Vycm9yTWVzc2FnZSA/IGVycm9yLmVycm9yLm1lc3NhZ2UgOiAnQ29uZmlndXJhdGlvbiBmYWlsZWQnO1xuICAgIGNvbnN0IHsgaXNIYW5kbGluZ0NvbmZpZ3VyYXRpb25FcnJvcnMgfSA9IHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uID8/IHt9O1xuXG4gICAgaWYgKGlzSGFuZGxpbmdDb25maWd1cmF0aW9uRXJyb3JzKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IGtleTogdGhpcy5tZXNzYWdlQnVja2V0SWQsIHN1bW1hcnk6IG1lc3NhZ2UgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zb2x1dGlvbkxpbmVJdGVtID0ge1xuICAgICAgLi4udGhpcy5zb2x1dGlvbkxpbmVJdGVtLFxuICAgICAgbWVzc2FnZXM6IFsuLi50aGlzLnNvbHV0aW9uTGluZUl0ZW0ubWVzc2FnZXMsIGBFOiR7bWVzc2FnZX1gXSxcbiAgICB9O1xuICAgIHRoaXMucHJvY2Vzc1NvbHV0aW9uKHRydWUsIHRydWUpO1xuICAgIHRoaXMucnVudGltZVNlcnZpY2Uuc29sdXRpb25Qcm9jZXNzZWQodGhpcy5zb2x1dGlvbkxpbmVJdGVtKTtcblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnQ6IExpbmVJdGVtLCB1cGRhdGVkOiBMaW5lSXRlbSwgbmV3UXVhbnRpdHk/OiBudW1iZXIpIHtcbiAgICBjb25zdCBwb3J0RG9tYWluID0gdXBkYXRlZC5wb3J0ID8gcGFyZW50LnBvcnREb21haW5zW3VwZGF0ZWQucG9ydF0gOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZG9tYWluVHlwZSA9IHBvcnREb21haW4/LmRvbWFpblR5cGVzLmZpbmQodCA9PiB0Lm5hbWUgPT09IHVwZGF0ZWQudHlwZSk7XG4gICAgY29uc3QgY2FyZGluYWxpdHkgPSBkb21haW5UeXBlPy5jYXJkaW5hbGl0eSA/PyAwO1xuXG4gICAgbGV0IHF0eTtcbiAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShkb21haW5UeXBlPy5jYXJkaW5hbGl0eSkpIHtcbiAgICAgIHF0eSA9IE51bWJlci5pc0Zpbml0ZShuZXdRdWFudGl0eSkgPyBuZXdRdWFudGl0eSA6IHVwZGF0ZWQucXR5O1xuICAgIH0gZWxzZSB7XG4gICAgICBxdHkgPSBFbnRpdHlVdGlsLmlzUHJlc2VudChuZXdRdWFudGl0eSlcbiAgICAgICAgPyBjYXJkaW5hbGl0eSAtIHVwZGF0ZWQucXR5ICsgKG5ld1F1YW50aXR5IGFzIG51bWJlcilcbiAgICAgICAgOiBjYXJkaW5hbGl0eSArIHVwZGF0ZWQucXR5O1xuICAgIH1cblxuICAgIGNvbnN0IGNhcmRpbmFsaXR5TmFtZSA9ICcjQ1YtJyArIHVwZGF0ZWQudHlwZSArICdAJyArIHVwZGF0ZWQucG9ydDtcblxuICAgIGxldCBjYXJkaW5hbGl0eVZhcmlhYmxlID0gcGFyZW50LmF0dHJpYnV0ZXMuZmluZChhID0+IGEubmFtZSA9PT0gY2FyZGluYWxpdHlOYW1lKTtcbiAgICBpZiAoIWNhcmRpbmFsaXR5VmFyaWFibGUpIHtcbiAgICAgIGNhcmRpbmFsaXR5VmFyaWFibGUgPSB7XG4gICAgICAgIGlkOiBVVUlELlVVSUQoKSxcbiAgICAgICAgbmFtZTogY2FyZGluYWxpdHlOYW1lLFxuICAgICAgfSBhcyBBdHRyaWJ1dGU7XG4gICAgICBwYXJlbnQuYXR0cmlidXRlcy5wdXNoKGNhcmRpbmFsaXR5VmFyaWFibGUpO1xuICAgIH1cbiAgICBjYXJkaW5hbGl0eVZhcmlhYmxlLnZhbHVlID0gcXR5O1xuICAgIGNhcmRpbmFsaXR5VmFyaWFibGUuY2ZnU3RhdHVzID0gJ1VzZXInO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMaW5lSXRlbShzZWN0aW9uOiBTZWN0aW9uLCB2YWx1ZU9wdGlvbj86IHN0cmluZywgcGFyZW50TGluZUl0ZW0/OiBMaW5lSXRlbSk6IExpbmVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgcXR5OiArdGhpcy5mb3JtLmNvbnRyb2xzW3NlY3Rpb24uaWQgKyAncXR5J10udmFsdWUsXG4gICAgICBwb3J0OiBzZWN0aW9uLmJvdW5kRGF0YS5uYW1lLFxuICAgICAgdHlwZTogRW50aXR5VXRpbC5pc1ByZXNlbnQodmFsdWVPcHRpb24pID8gdmFsdWVPcHRpb24gOiB0aGlzLmZvcm0uY29udHJvbHNbc2VjdGlvbi5pZF0udmFsdWUsXG4gICAgICBjZmdTdGF0dXM6ICdOZXcnLFxuICAgICAgcGFyZW50SWQ6IHBhcmVudExpbmVJdGVtPy5pZCxcbiAgICB9IGFzIExpbmVJdGVtO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZS5uZXh0KCk7XG5cbiAgICB0aGlzLnNlY3Rpb25zU2VydmljZS5kZXN0cm95KCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UnVudGltZSgpIHtcbiAgICBjb25zdCB1aURlZmluaXRpb24gPSB0aGlzLnJ1bnRpbWVDb250ZXh0LnVpRGVmaW5pdGlvbjtcblxuICAgIGNvbnN0IGRlZmF1bHRUYWIgPSB1aURlZmluaXRpb24/LnRhYnM/LmZpbmQodGFiID0+IHRhYi5pc0RlZmF1bHQpO1xuICAgIHRoaXMuYWN0aXZlVUlUYWIgPSBFbnRpdHlVdGlsLmlzUHJlc2VudChkZWZhdWx0VGFiKSA/IGRlZmF1bHRUYWIgOiB1aURlZmluaXRpb24/LnRhYnM/LlswXTtcblxuICAgIHRoaXMuc2VjdGlvbnNTZXJ2aWNlLmNvbXBpbGVNb2R1bGUodWlEZWZpbml0aW9uPy5zZWN0aW9ucyA/PyBbXSwgdWlEZWZpbml0aW9uPy5pc1ZpZXdFbmNhcHN1bGF0ZWQpO1xuXG4gICAgdGhpcy5wcm9jZXNzU29sdXRpb24oKTtcblxuICAgIHRoaXMuc29sdXRpb25Jc1JlYWR5ID0gdHJ1ZTtcblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUnVudGltZShsaW5lSXRlbTogTGluZUl0ZW0pIHtcbiAgICB0aGlzLnNvbHV0aW9uVXBkYXRlZC5lbWl0KGxpbmVJdGVtKTtcbiAgfVxuXG4gIGFkZFRvQ2FydCgpIHtcbiAgICBjb25zdCBsaW5lSXRlbSA9IEVudGl0eVV0aWwuY2xvbmUodGhpcy5zb2x1dGlvbkxpbmVJdGVtKTtcblxuICAgIHRoaXMucnVudGltZVNlcnZpY2Uuc3RvcFJ1bnRpbWUobGluZUl0ZW0pO1xuICB9XG5cbiAgcHJvY2Vzc1NvbHV0aW9uKGlzVXBkYXRlPzogYm9vbGVhbiwgaXNFcnJvcj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLzEuIEJpbmQgc2VjdGlvbnMgdG8gc29sdXRpb25cbiAgICBsZXQgc2VjdGlvbnMgPSBFbnRpdHlVdGlsLmNsb25lKHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5zZWN0aW9ucykgPz8gW107XG4gICAgY29uc3Qgc291cmNlU2VjdGlvbnMgPSBFbnRpdHlVdGlsLmNsb25lKHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5zZWN0aW9ucykgPz8gW107XG4gICAgdGhpcy51cGRhdGVMaW5lSXRlbXNTZWN0aW9uUGF0aCh0aGlzLnNvbHV0aW9uTGluZUl0ZW0pO1xuICAgIFNlY3Rpb25zQmluZGVySGVscGVyLnNldExpbmVJdGVtc1BhdGgoXG4gICAgICB0aGlzLnJ1bnRpbWVDb250ZXh0LnJ1bnRpbWVNb2RlbCxcbiAgICAgIHRoaXMuc29sdXRpb25MaW5lSXRlbSxcbiAgICAgIHNlY3Rpb25zLFxuICAgICAgc291cmNlU2VjdGlvbnMsXG4gICAgICAoc2VjOiBhbnkpID0+ICFzZWMucGFyZW50SWQgJiYgc2VjLmJvdW5kRGF0YSxcbiAgICAgIHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcmljaW5nRW5hYmxlZCA/PyBmYWxzZSxcbiAgICApO1xuXG4gICAgc2VjdGlvbnMgPSBzZWN0aW9ucy5maWx0ZXIocyA9PiBzLm1vZGVsICYmIHMudGVtcGxhdGUpO1xuXG4gICAgLy8yLiBJbml0IGZvcm1cbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TZXJ2aWNlLmluaXRGb3JtKHNlY3Rpb25zLCB0aGlzLnNvbHV0aW9uTGluZUl0ZW0pO1xuICAgIHRoaXMuZm9ybVNjb3BlLmZvcm0gPSB0aGlzLmZvcm07XG5cbiAgICB0aGlzLnNvcnRlZFNlY3Rpb25zID0gdGhpcy5maWx0ZXJBbmRTb3J0KGdldFNlY3Rpb25UcmVlKHNlY3Rpb25zLmZpbHRlcihzID0+ICFzLmlzU3RhdGljKSkpO1xuXG4gICAgaWYgKCFpc1VwZGF0ZSkge1xuICAgICAgdGhpcy5zdGF0aWNTZWN0aW9ucyA9IHRoaXMuZmlsdGVyQW5kU29ydChnZXRTZWN0aW9uVHJlZShzZWN0aW9ucy5maWx0ZXIocyA9PiBzLmlzU3RhdGljKSkpO1xuICAgIH1cblxuICAgIGlmICghaXNFcnJvcikge1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5jbGVhcih0aGlzLm1lc3NhZ2VCdWNrZXRJZCk7XG4gICAgfVxuICB9XG5cbiAgaGlkZU1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMucnVudGltZVNlcnZpY2UuY2FuY2VsUnVudGltZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVMaW5lSXRlbXNTZWN0aW9uUGF0aChsaW5lSXRlbTogTGluZUl0ZW0sIHBhcmVudD86IFNlY3Rpb25QYXRoKSB7XG4gICAgY29uc3QgcGF0aDogU2VjdGlvblBhdGggPSB7XG4gICAgICB0eXBlczogcGFyZW50ID8gcGFyZW50LnR5cGVzLmNvbmNhdChbbGluZUl0ZW0udHlwZV0pIDogW2xpbmVJdGVtLnR5cGVdLFxuICAgICAgcG9ydHM6IHBhcmVudCA/IHBhcmVudC5wb3J0cy5jb25jYXQobGluZUl0ZW0ucG9ydCA/IFtsaW5lSXRlbS5wb3J0XSA6IFtdKSA6IFtdLFxuICAgIH0gYXMgU2VjdGlvblBhdGg7XG5cbiAgICBsaW5lSXRlbS5wYXRoID0gcGF0aDtcblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgbGluZUl0ZW0ubGluZUl0ZW1zKSB7XG4gICAgICB0aGlzLnVwZGF0ZUxpbmVJdGVtc1NlY3Rpb25QYXRoKGNoaWxkLCBsaW5lSXRlbS5wYXRoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZpbHRlckFuZFNvcnQoc2VjdGlvbnM6IFNlY3Rpb25bXSk6IFNlY3Rpb25bXSB7XG4gICAgY29uc3QgZmlsdGVyZWQgPSB0aGlzLnNlYXJjaEZpbHRlclBpcGUudHJhbnNmb3JtKHNlY3Rpb25zLCB0aGlzLmFjdGl2ZVVJVGFiPy5pZCwgJ3BhZ2UnKTtcbiAgICBjb25zdCBvcmRlcmVkID0gdGhpcy5vcmRlckJ5UGlwZS50cmFuc2Zvcm0oZmlsdGVyZWQsICdvcmRlcicsICdhc2MnKTtcblxuICAgIHJldHVybiBvcmRlcmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kU2VjdGlvbihpZDogc3RyaW5nKTogU2VjdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIEVudGl0eVV0aWwuZmluZEJ5RmllbGRIaWVyYXJjaGljYWxseSgnaWQnLCBpZCwgWy4uLnRoaXMuc29ydGVkU2VjdGlvbnMsIC4uLnRoaXMuc3RhdGljU2VjdGlvbnNdLCAnY2hpbGRyZW4nKTtcbiAgfVxufVxuIiwiPHZsLWxvYWRlciBsYWJlbD1cIkxvYWRpbmcgVUlcIiAqbmdJZj1cIiFzb2x1dGlvbklzUmVhZHk7IGVsc2UgY29udGVudFwiPjwvdmwtbG9hZGVyPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNpZGViYXItdGFic1wiXG4gICAgW25nQ2xhc3NdPVwieyBoaWRkZW46ICFydW50aW1lQ29udGV4dD8udWlEZWZpbml0aW9uPy5kZWZhdWx0UGFuZWxzIH1cIlxuICAgICN1aVRhYnM9XCJzaWRlYmFyVGFic1wiXG4gICAgc2lkZWJhclRhYnM9XCJ7eyBhY3RpdmVVSVRhYj8uaWQgfX1cIlxuICAgIGlkPVwidmwtZGVmYXVsdC1zaWRlYmFyLXRhYnNcIlxuICA+XG4gICAgPHVsPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgcnVudGltZUNvbnRleHQ/LnVpRGVmaW5pdGlvbj8udGFicyB8IG9yZGVyQnk6ICdvcmRlcic6J2FzYydcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogdWlUYWJzLmFjdGl2ZVRhYiA9PT0gdGFiLmlkIH1cIlxuICAgICAgICAoY2xpY2spPVwidWlUYWJzLnN3aXRjaFRhYih0YWIuaWQpXCJcbiAgICAgID5cbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIj57eyB0YWIubmFtZSB9fTwvYT5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInNlY3Rpb25zLXdyYXBwZXJcIj5cbiAgICA8Zm9ybSByb2xlPVwiZm9ybVwiIG5hbWU9XCJmb3JtXCIgY2xhc3M9XCJmb3JtLWhvcml6b250YWxcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBub3ZhbGlkYXRlIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBzdGF0aWNTZWN0aW9uczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VjdGlvbi5tb2RlbCAmJiBzZWN0aW9uLnRlbXBsYXRlICYmICFzZWN0aW9uLmhpZGRlblwiPlxuICAgICAgICAgIDx2bC1zZWN0aW9uLXJlbmRlcmVyIFtzZWN0aW9uXT1cInNlY3Rpb25cIiBbZm9ybV09XCJmb3JtXCI+PC92bC1zZWN0aW9uLXJlbmRlcmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHNvcnRlZFNlY3Rpb25zOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWN0aW9uLm1vZGVsICYmIHNlY3Rpb24udGVtcGxhdGUgJiYgIXNlY3Rpb24uaGlkZGVuXCI+XG4gICAgICAgICAgPHZsLXNlY3Rpb24tcmVuZGVyZXIgW3NlY3Rpb25dPVwic2VjdGlvblwiIFtmb3JtXT1cImZvcm1cIj48L3ZsLXNlY3Rpb24tcmVuZGVyZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9mb3JtPlxuXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJtb2RhbC1mb290ZXJcIlxuICAgICAgKm5nSWY9XCJydW50aW1lQ29udGV4dD8ucnVudGltZU1vZGUgPT09IDFcIlxuICAgICAgaWQ9XCJ2bC1ydW50aW1lLWRlZmF1bHQtZm9vdGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhcnVudGltZUNvbnRleHQ/LnVpRGVmaW5pdGlvbj8uZGVmYXVsdFBhbmVscyB9XCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyIGlucHV0LWZvcm0taW5wdXRcIj5cbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiIChjbGljayk9XCJmb3JtLnZhbGlkICYmIGFkZFRvQ2FydCgpXCIgaWQ9XCJhZGQtdG8tY2FydC1idG5cIlxuICAgICAgICAgID5BZGQgdG8gY2FydDwvYVxuICAgICAgICA+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCIgY2xhc3M9XCJidG4gYnRuLWxpbmtcIiAoY2xpY2spPVwiaGlkZU1vZGFsKClcIiBpZD1cImNhbmNlbC1idG5cIj5DYW5jZWw8L2E+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
427
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9ydW50aW1lL2NvbXBvbmVudHMvdWktcnVudGltZS9ydW50aW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy91aS1ydW50aW1lL3J1bnRpbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBR0wsVUFBVSxFQUVWLFdBQVcsRUFFWCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBSWhCLElBQUksR0FDTCxNQUFNLGNBQWMsQ0FBQztBQUd0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FB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QyxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsMEJDdkN2RixtZ0VBbURBOzRGRFZhLGdCQUFnQjtrQkFQNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFO29CQUNuQixXQUFXLEVBQUUsd0JBQXdCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSx3QkFBd0IsQ0FBQztvQkFDckUsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDO2lCQUN0Rjs7MEJBeUJJLE1BQU07MkJBQUMsY0FBYztrS0FSRyxlQUFlO3NCQUF6QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQXR0cmlidXRlLFxuICBDaGFyZ2VJdGVtLFxuICBFbnRpdHlVdGlsLFxuICBMaW5lSXRlbSxcbiAgT3JkZXJCeVBpcGUsXG4gIFByaWNlQWRqdXN0bWVudCxcbiAgU2FsZXNmb3JjZUlkVXRpbHMsXG4gIFNlYXJjaEZpbHRlclBpcGUsXG4gIFNlY3Rpb24sXG4gIFNlY3Rpb25QYXRoLFxuICBVSVRhYixcbiAgVVVJRCxcbn0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29sbGFwc2libGVTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb2xsYXBzaWJsZS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1TY29wZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLXNjb3BlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUnVudGltZUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcnVudGltZS1mb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgUnVudGltZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ydW50aW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VjdGlvbkhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWN0aW9uLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlY3Rpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NlY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBMZWdhY3lSdW50aW1lQ29udGV4dCwgU29sdXRpb25SZWFkeUF3YXJlLCBVcGRhdGVEYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQm91bmREYXRhVHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzL2JvdW5kLWRhdGEudHlwZXMnO1xuaW1wb3J0IHsgTGluZUl0ZW1VdGlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvbGluZS1pdGVtLnV0aWwnO1xuaW1wb3J0IHsgZ2V0U2VjdGlvblRyZWUgfSBmcm9tICcuLi8uLi91dGlscy9zZWN0aW9uLnV0aWxzJztcbmltcG9ydCB7IFNlY3Rpb25zQmluZGVySGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMvc2VjdGlvbnMtYmluZGVyLmhlbHBlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLXJ1bnRpbWUnLFxuICBtb2R1bGVJZDogbW9kdWxlLmlkLFxuICB0ZW1wbGF0ZVVybDogJ3J1bnRpbWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ydW50aW1lLWxlZ2FjeS1zdHlsZXMuc2NzcycsICdydW50aW1lLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0Zvcm1TY29wZVNlcnZpY2UsIENvbGxhcHNpYmxlU3RhdGVTZXJ2aWNlLCBPcmRlckJ5UGlwZSwgU2VhcmNoRmlsdGVyUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgU29sdXRpb25SZWFkeUF3YXJlIHtcbiAgcHVibGljIHJlYWRvbmx5IG1lc3NhZ2VCdWNrZXRJZCA9ICd1aS5ydW50aW1lJztcblxuICBwdWJsaWMgc29ydGVkU2VjdGlvbnM6IFNlY3Rpb25bXSA9IFtdO1xuICBwdWJsaWMgc3RhdGljU2VjdGlvbnM6IFNlY3Rpb25bXSA9IFtdO1xuXG4gIHB1YmxpYyBydW50aW1lQ29udGV4dCE6IExlZ2FjeVJ1bnRpbWVDb250ZXh0O1xuICBwdWJsaWMgc29sdXRpb25MaW5lSXRlbSE6IExpbmVJdGVtO1xuICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgcHVibGljIGFjdGl2ZVVJVGFiPzogVUlUYWI7XG5cbiAgcHVibGljIHNvbHV0aW9uSXNSZWFkeSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKSBwcml2YXRlIHJlYWRvbmx5IHNvbHV0aW9uVXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VjdGlvbnNTZXJ2aWNlOiBTZWN0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb3JtU2NvcGU6IEZvcm1TY29wZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb2xsYXBzaWJsZVN0YXRlOiBDb2xsYXBzaWJsZVN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1TZXJ2aWNlOiBSdW50aW1lRm9ybVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBydW50aW1lU2VydmljZTogUnVudGltZVNlcnZpY2UsXG4gICAgQEluamVjdChNZXNzYWdlU2VydmljZSkgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcmRlckJ5UGlwZTogT3JkZXJCeVBpcGUsXG4gICAgcHJpdmF0ZSBzZWFyY2hGaWx0ZXJQaXBlOiBTZWFyY2hGaWx0ZXJQaXBlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIHByaXZhdGUgYWRqdXN0UHJpY2UoXG4gICAgdmFsdWVPcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBzZWN0aW9uOiBTZWN0aW9uLFxuICAgIHNvbHV0aW9uTGluZUl0ZW06IExpbmVJdGVtLFxuICAgIHBhdGNoOiBEaWN0aW9uYXJ5PFByaWNlQWRqdXN0bWVudD4sXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgIGlmICghcGFyZW50TGluZUl0ZW0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMgPSBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMubWFwKGxpbmVJdGVtID0+IHtcbiAgICAgIGNvbnN0IHsgcHJvZHVjdElkLCBjaGFyZ2VJdGVtcyB9ID0gbGluZUl0ZW07XG5cbiAgICAgIGlmIChwcm9kdWN0SWQgIT09IHZhbHVlT3B0aW9uKSB7XG4gICAgICAgIHJldHVybiBsaW5lSXRlbTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2hhcmdlSXRlbSA9IGNoYXJnZUl0ZW1zLnNoaWZ0KCk7XG4gICAgICBjb25zdCB1cGRhdGVkQ2hhcmdlSXRlbSA9IHtcbiAgICAgICAgLi4uY2hhcmdlSXRlbSxcbiAgICAgICAgLi4ucGF0Y2gsXG4gICAgICB9IGFzIENoYXJnZUl0ZW07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmxpbmVJdGVtLFxuICAgICAgICBjaGFyZ2VJdGVtczogW3VwZGF0ZWRDaGFyZ2VJdGVtLCAuLi5jaGFyZ2VJdGVtc10sXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVNjb3BlLmZvcm1TdWJtaXRFdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChlOiBVcGRhdGVEYXRhKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLmZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICBjb25zdCBzb2x1dGlvbkxpbmVJdGVtID0gRW50aXR5VXRpbC5jbG9uZSh0aGlzLnNvbHV0aW9uTGluZUl0ZW0pO1xuXG4gICAgICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLmZpbmRTZWN0aW9uKGUuaWQpO1xuXG4gICAgICAgIGlmICghc2VjdGlvbikge1xuICAgICAgICAgIHRocm93ICdTZWN0aW9uIG5vdCBmb3VuZCc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZW50aXR5VHlwZSA9IHNlY3Rpb24uYm91bmREYXRhLmVudGl0eVR5cGU7XG5cbiAgICAgICAgaWYgKGVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5QT1JUXSB8fCBlbnRpdHlUeXBlID09PSBCb3VuZERhdGFUeXBlW0JvdW5kRGF0YVR5cGUuVFlQRV0pIHtcbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdwYXRjaCcgJiYgRW50aXR5VXRpbC5pc1ByZXNlbnQoZS52YWx1ZU9wdGlvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlT3B0aW9uOiBhbnkgPSBlWyd2YWx1ZU9wdGlvbiddO1xuXG4gICAgICAgICAgICBpZiAoIXNlY3Rpb24ubW9kZWw/LnBhcmVudElkKSB7XG4gICAgICAgICAgICAgIHRoaXMuY29sbGFwc2libGVTdGF0ZS5jbGVhclN0YXRlKHNlY3Rpb24uaWQpO1xuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUodmFsdWVPcHRpb24pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgcGFyZW50TGluZUl0ZW0gPSBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5wYXJlbnRJZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgICBpZiAocGFyZW50TGluZUl0ZW0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmR4ID0gcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IHNlY3Rpb24ubW9kZWw/LmlkKTtcblxuICAgICAgICAgICAgICAgIHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5zcGxpY2UoaW5keCwgMSwgdmFsdWVPcHRpb24pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzaWJsZVN0YXRlLmNsZWFyU3RhdGUoc2VjdGlvbi5pZCk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5QT1JUXSkge1xuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ3Vwc2VydCcpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgaWYgKHBhcmVudExpbmVJdGVtKSB7XG4gICAgICAgICAgICAgIHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5mb3JFYWNoKGkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgIGUuc2VsZWN0ZWRWYWx1ZU9wdGlvbnMgJiZcbiAgICAgICAgICAgICAgICAgIGUuc2VsZWN0ZWRWYWx1ZU9wdGlvbnMuZmluZEluZGV4KHYgPT4gdi50b0xvd2VyQ2FzZSgpID09PSBpLnR5cGUudG9Mb3dlckNhc2UoKSkgPCAwXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIGksIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGNvbnN0IGxpbmVJdGVtcyA9IHBhcmVudExpbmVJdGVtPy5saW5lSXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgICAgIGkgPT5cbiAgICAgICAgICAgICAgICAgIGUuc2VsZWN0ZWRWYWx1ZU9wdGlvbnMgJiZcbiAgICAgICAgICAgICAgICAgIGUuc2VsZWN0ZWRWYWx1ZU9wdGlvbnMuZmluZEluZGV4KHYgPT4gdi50b0xvd2VyQ2FzZSgpID09PSBpLnR5cGUudG9Mb3dlckNhc2UoKSkgPiAtMSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgZS5zZWxlY3RlZFZhbHVlT3B0aW9ucz8uZm9yRWFjaCh2ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGluZUl0ZW1zPy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gdi50b0xvd2VyQ2FzZSgpKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5jcmVhdGVMaW5lSXRlbShzZWN0aW9uLCB2LCBwYXJlbnRMaW5lSXRlbSk7XG4gICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIGxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgICAgIGxpbmVJdGVtcy5wdXNoKGxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdjcmVhdGUnKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9IHNlY3Rpb24ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwuaWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgIGlmIChwYXJlbnRMaW5lSXRlbSkge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZU9wdGlvbiA9IGUudmFsdWVPcHRpb247XG4gICAgICAgICAgICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5jcmVhdGVMaW5lSXRlbShzZWN0aW9uLCB2YWx1ZU9wdGlvbiwgcGFyZW50TGluZUl0ZW0pO1xuICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXMucHVzaChsaW5lSXRlbSk7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnRMaW5lSXRlbSwgbGluZUl0ZW0pO1xuXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdjb3B5Jykge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50TGluZUl0ZW0gPSBzZWN0aW9uLm1vZGVsICYmIExpbmVJdGVtVXRpbC5maW5kQnlJZChzZWN0aW9uLm1vZGVsLmlkLCBbc29sdXRpb25MaW5lSXRlbV0pO1xuXG4gICAgICAgICAgICBpZiAocGFyZW50TGluZUl0ZW0pIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWVPcHRpb24gPSBlLnZhbHVlT3B0aW9uO1xuICAgICAgICAgICAgICBjb25zdCBsaW5lSXRlbVRvQ29weSA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5maW5kKGxpID0+IGxpLmlkID09PSB2YWx1ZU9wdGlvbik7XG4gICAgICAgICAgICAgIGlmIChsaW5lSXRlbVRvQ29weSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmVJdGVtOiBMaW5lSXRlbSA9IHsgLi4ubGluZUl0ZW1Ub0NvcHksIGlkOiAnJyB9O1xuICAgICAgICAgICAgICAgIHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5wdXNoKGxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIGxpbmVJdGVtKTtcblxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgaWYgKHBhcmVudExpbmVJdGVtKSB7XG4gICAgICAgICAgICAgIC8vQXNzdW1pbmcgdGhhdCByYWRpbyBjb250cm9sIGlzIHRoZSBvbmx5IGNvbnRyb2wsIHRoYXQgJ3VwZGF0ZXMnIHZhbHVlc1xuICAgICAgICAgICAgICBjb25zdCBwcmV2aW91cyA9IHNlY3Rpb24ubW9kZWw/LmxpbmVJdGVtcy5maWx0ZXIobGkgPT4gbGkucG9ydCAmJiBsaS5wb3J0ID09PSBzZWN0aW9uLmJvdW5kRGF0YS5uYW1lKVswXTtcblxuICAgICAgICAgICAgICBpZiAocHJldmlvdXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNhcmRpbmFsaXR5VmFyaWFibGUocGFyZW50TGluZUl0ZW0sIHByZXZpb3VzLCAwKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zLmZpbmRJbmRleChsaSA9PiBsaS5pZCA9PT0gcHJldmlvdXM/LmlkKTtcblxuICAgICAgICAgICAgICBjb25zdCBsaW5lSXRlbTogTGluZUl0ZW0gPSB7XG4gICAgICAgICAgICAgICAgaWQ6IFVVSUQuVVVJRCgpLFxuICAgICAgICAgICAgICAgIHF0eTogcHJldmlvdXM/LnF0eSxcbiAgICAgICAgICAgICAgICBwb3J0OiBwcmV2aW91cz8ucG9ydCxcbiAgICAgICAgICAgICAgICB0eXBlOiBFbnRpdHlVdGlsLmlzUHJlc2VudChlLnZhbHVlT3B0aW9uKSA/IGUudmFsdWVPcHRpb24gOiB0aGlzLmZvcm0uY29udHJvbHNbZS5pZF0udmFsdWUsXG4gICAgICAgICAgICAgICAgY2ZnU3RhdHVzOiAnTmV3JyxcbiAgICAgICAgICAgICAgICBwYXJlbnRJZDogcHJldmlvdXM/LnBhcmVudElkLFxuICAgICAgICAgICAgICB9IGFzIExpbmVJdGVtO1xuXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnRMaW5lSXRlbSwgbGluZUl0ZW0pO1xuICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbS5saW5lSXRlbXNbaW5kZXhdID0gbGluZUl0ZW07XG5cbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ3JlbW92ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBwYXJlbnRMaW5lSXRlbSAmJlxuICAgICAgICAgICAgICBTZWN0aW9uc0JpbmRlckhlbHBlci5pc1JlbW92ZUFsbG93ZWQocGFyZW50TGluZUl0ZW0sIHNlY3Rpb24uYm91bmREYXRhLm5hbWUsIHNlY3Rpb24ubW9kZWw/LnF0eSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgICAgICAgICAgaXRlbSA9PiBpdGVtLnR5cGUudG9Mb3dlckNhc2UoKSA9PT0gZS52YWx1ZU9wdGlvbj8udG9Mb3dlckNhc2UoKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZW1vdmVkID0gcGFyZW50TGluZUl0ZW0ubGluZUl0ZW1zLnNwbGljZShpbmRleCwgMSlbMF07XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYXJkaW5hbGl0eVZhcmlhYmxlKHBhcmVudExpbmVJdGVtLCByZW1vdmVkLCAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZS5hY3Rpb24gPT09ICdxdHlVcGRhdGUnKSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlU2VjdGlvbiA9IGUudmFsdWVPcHRpb25cbiAgICAgICAgICAgICAgPyBTZWN0aW9uSGVscGVyU2VydmljZS5maW5kU2VjdGlvbkZvclZhbHVlKHNlY3Rpb24sIGUudmFsdWVPcHRpb24pXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICBjb25zdCB0eXBlTGluZUl0ZW0gPSB0eXBlU2VjdGlvbj8ubW9kZWwgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHR5cGVTZWN0aW9uLm1vZGVsLmlkLCBbc29sdXRpb25MaW5lSXRlbV0pO1xuICAgICAgICAgICAgaWYgKHR5cGVTZWN0aW9uICYmIHR5cGVMaW5lSXRlbSkge1xuICAgICAgICAgICAgICB0eXBlTGluZUl0ZW0ucXR5ID0gK3RoaXMuZm9ybS5jb250cm9sc1t0eXBlU2VjdGlvbi5pZCArICdxdHknXS52YWx1ZTtcbiAgICAgICAgICAgICAgdHlwZUxpbmVJdGVtLmNmZ1N0YXR1cyA9ICdVc2VyJztcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ2FkanVzdE5ldFByaWNlJykge1xuICAgICAgICAgICAgY29uc3QgeyB2YWx1ZU9wdGlvbiwgb3B0aW9ucyB9ID0gZTtcbiAgICAgICAgICAgIGNvbnN0IHsgYW1vdW50IH0gPSBvcHRpb25zID8/IHt9O1xuXG4gICAgICAgICAgICBjb25zdCBwcmljZUFkanVzdG1lbnQ6IFByaWNlQWRqdXN0bWVudCA9IHtcbiAgICAgICAgICAgICAgdHlwZTogJ09WRVJSSURFX0FNT1VOVCcsXG4gICAgICAgICAgICAgIGV4cGxhbmF0aW9uOiAnTWFudWFsIG5ldCBwcmljZSBhZGp1c3RtZW50JyxcbiAgICAgICAgICAgICAgYW1vdW50LFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy5hZGp1c3RQcmljZSh2YWx1ZU9wdGlvbiwgc2VjdGlvbiwgc29sdXRpb25MaW5lSXRlbSwgeyBwcmljZUFkanVzdG1lbnQgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAnYWRqdXN0TGlzdFByaWNlJykge1xuICAgICAgICAgICAgY29uc3QgeyB2YWx1ZU9wdGlvbiwgb3B0aW9ucyB9ID0gZTtcbiAgICAgICAgICAgIGNvbnN0IHsgYW1vdW50IH0gPSBvcHRpb25zID8/IHt9O1xuXG4gICAgICAgICAgICBjb25zdCBsaXN0UHJpY2VBZGp1c3RtZW50OiBQcmljZUFkanVzdG1lbnQgPSB7XG4gICAgICAgICAgICAgIHR5cGU6ICdPVkVSUklERV9BTU9VTlQnLFxuICAgICAgICAgICAgICBleHBsYW5hdGlvbjogJ01hbnVhbCBsaXN0IHByaWNlIGFkanVzdG1lbnQnLFxuICAgICAgICAgICAgICBhbW91bnQsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLmFkanVzdFByaWNlKHZhbHVlT3B0aW9uLCBzZWN0aW9uLCBzb2x1dGlvbkxpbmVJdGVtLCB7IGxpc3RQcmljZUFkanVzdG1lbnQgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5UWVBFXSkge1xuICAgICAgICAgIGlmIChlLmFjdGlvbiA9PT0gJ3JlbW92ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudExpbmVJdGVtID1cbiAgICAgICAgICAgICAgc2VjdGlvbi5tb2RlbD8ucGFyZW50SWQgJiYgTGluZUl0ZW1VdGlsLmZpbmRCeUlkKHNlY3Rpb24ubW9kZWwucGFyZW50SWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgcGFyZW50TGluZUl0ZW0gJiZcbiAgICAgICAgICAgICAgc2VjdGlvbi5tb2RlbCAmJlxuICAgICAgICAgICAgICBzZWN0aW9uLm1vZGVsLnBvcnQgJiZcbiAgICAgICAgICAgICAgU2VjdGlvbnNCaW5kZXJIZWxwZXIuaXNSZW1vdmVBbGxvd2VkKHBhcmVudExpbmVJdGVtLCBzZWN0aW9uLm1vZGVsLnBvcnQsIHNlY3Rpb24ubW9kZWw/LnF0eSlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBzZWN0aW9uLm1vZGVsPy5pZCk7XG4gICAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlZCA9IHBhcmVudExpbmVJdGVtLmxpbmVJdGVtcy5zcGxpY2UoaW5kZXgsIDEpWzBdO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnRMaW5lSXRlbSwgcmVtb3ZlZCwgMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzaWJsZVN0YXRlLmNsZWFyU3RhdGUoc2VjdGlvbi5pZCk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVSdW50aW1lKHNvbHV0aW9uTGluZUl0ZW0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAncXR5VXBkYXRlJykge1xuICAgICAgICAgICAgY29uc3QgdHlwZUxpbmVJdGVtID0gc2VjdGlvbi5tb2RlbCAmJiBMaW5lSXRlbVV0aWwuZmluZEJ5SWQoc2VjdGlvbi5tb2RlbC5pZCwgW3NvbHV0aW9uTGluZUl0ZW1dKTtcblxuICAgICAgICAgICAgaWYgKHR5cGVMaW5lSXRlbSkge1xuICAgICAgICAgICAgICBjb25zdCBxdHkgPSArdGhpcy5mb3JtLmNvbnRyb2xzW2UuaWQgKyAncXR5J10udmFsdWU7XG4gICAgICAgICAgICAgIGlmICh0eXBlTGluZUl0ZW0ucGFyZW50SWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRMaW5lSXRlbSA9IExpbmVJdGVtVXRpbC5maW5kQnlJZCh0eXBlTGluZUl0ZW0ucGFyZW50SWQsIFtzb2x1dGlvbkxpbmVJdGVtXSk7XG5cbiAgICAgICAgICAgICAgICBpZiAocGFyZW50TGluZUl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnRMaW5lSXRlbSwgdHlwZUxpbmVJdGVtLCBxdHkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0eXBlTGluZUl0ZW0ucXR5ID0gcXR5O1xuICAgICAgICAgICAgICB0eXBlTGluZUl0ZW0uY2ZnU3RhdHVzID0gJ1VzZXInO1xuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJ1bnRpbWUoc29sdXRpb25MaW5lSXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVudGl0eVR5cGUgPT09IEJvdW5kRGF0YVR5cGVbQm91bmREYXRhVHlwZS5BVFRSSUJVVEVdKSB7XG4gICAgICAgICAgaWYgKGUuYWN0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgICAgICAgY29uc3QgcGFyZW50TGluZUl0ZW0gPSBzZWN0aW9uLm1vZGVsICYmIExpbmVJdGVtVXRpbC5maW5kQnlJZChzZWN0aW9uLm1vZGVsLmlkLCBbc29sdXRpb25MaW5lSXRlbV0pO1xuICAgICAgICAgICAgY29uc3QgYXR0cmlidXRlID0gcGFyZW50TGluZUl0ZW0/LmF0dHJpYnV0ZXMuZmluZChcbiAgICAgICAgICAgICAgYXR0ciA9PiBhdHRyLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gc2VjdGlvbi5ib3VuZERhdGEubmFtZS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgICAvL0V4cGxpY2l0bHkgc2V0IHZhbHVlIGFsd2F5cyB3aW5cbiAgICAgICAgICAgICAgbGV0IHZhbHVlID0gdHlwZW9mIGUudmFsdWVPcHRpb24gIT09ICd1bmRlZmluZWQnID8gZS52YWx1ZU9wdGlvbiA6IHRoaXMuZm9ybS5jb250cm9sc1tlLmlkXS52YWx1ZTtcblxuICAgICAgICAgICAgICBpZiAoYXR0cmlidXRlLnR5cGUgPT09ICdCT09MRUFOJykge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgPyAxIDogMDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGF0dHJpYnV0ZS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgICBhdHRyaWJ1dGUuY2ZnU3RhdHVzID0gJ1VzZXInO1xuXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlUnVudGltZShzb2x1dGlvbkxpbmVJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5sb2coZSk7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsga2V5OiB0aGlzLm1lc3NhZ2VCdWNrZXRJZCwgc3VtbWFyeTogYENvbmZpZ3VyYXRpb24gZmFpbGVkICR7KGUgYXMgYW55KT8ubWVzc2FnZX1gIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5vblNvbHV0aW9uUmVhZHlFdmVudFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZShsaW5lSXRlbSA9PiB0aGlzLm9uU29sdXRpb25SZWFkeShsaW5lSXRlbSkpO1xuXG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5vblNvbHV0aW9uVXBkYXRlZEV2ZW50XG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBMaW5lSXRlbSB8IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmICghKGRhdGEgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVTb2x1dGlvblVwZGF0ZShkYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGFuZGxlU29sdXRpb25GYWlsZWRVcGRhdGUoZGF0YSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMucnVudGltZVNlcnZpY2Uub25VSVJlZnJlc2hFdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IHsgdWlEZWZpbml0aW9uIH0gPSB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmdldFJ1bnRpbWVDb250ZXh0KCkgPz8ge307XG4gICAgICB0aGlzLnJ1bnRpbWVDb250ZXh0LnVpRGVmaW5pdGlvbiA9IHVpRGVmaW5pdGlvbiBhcyBhbnk7XG4gICAgICB0aGlzLmZvcm1TY29wZS5zY3JpcHRTZXNzaW9uU2NvcGUgPSB7fTtcbiAgICAgIHRoaXMuc3RhcnRSdW50aW1lKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25Tb2x1dGlvblJlYWR5KGxpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmdldFJ1bnRpbWVDb250ZXh0KCkgYXMgTGVnYWN5UnVudGltZUNvbnRleHQ7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbkNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcblxuICAgIGNvbnN0IG1lcmdlQ29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQgPSB7XG4gICAgICAuLi5jb250ZXh0LFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAuLi5jb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgIC4uLmNvbmZpZ3VyYXRpb25Db250ZXh0LnByb3BlcnRpZXMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCBhY2NvdW50SWQgPSBtZXJnZUNvbnRleHQucHJvcGVydGllcz8uQWNjb3VudElkO1xuICAgIGlmIChhY2NvdW50SWQgJiYgYWNjb3VudElkLmxlbmd0aCA9PT0gMTUpIHtcbiAgICAgIHRoaXMucnVudGltZUNvbnRleHQgPSB7XG4gICAgICAgIC4uLm1lcmdlQ29udGV4dCxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIC4uLm1lcmdlQ29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgIEFjY291bnRJZDogU2FsZXNmb3JjZUlkVXRpbHMuZ2VuZXJhdGVJZDE4RnJvbUlkMTUoYWNjb3VudElkKSxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgYW55O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJ1bnRpbWVDb250ZXh0ID0gbWVyZ2VDb250ZXh0IGFzIGFueTtcbiAgICB9XG5cbiAgICB0aGlzLnNvbHV0aW9uTGluZUl0ZW0gPSBsaW5lSXRlbTtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnNldFJ1bnRpbWVDb250ZXh0KHRoaXMucnVudGltZUNvbnRleHQpO1xuXG4gICAgdGhpcy5zdGFydFJ1bnRpbWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU29sdXRpb25VcGRhdGUodXBkYXRlZExpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuc29sdXRpb25MaW5lSXRlbSA9IHVwZGF0ZWRMaW5lSXRlbTtcbiAgICB0aGlzLnByb2Nlc3NTb2x1dGlvbih0cnVlKTtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnNvbHV0aW9uUHJvY2Vzc2VkKHRoaXMuc29sdXRpb25MaW5lSXRlbSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTb2x1dGlvbkZhaWxlZFVwZGF0ZShlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiB2b2lkIHtcbiAgICBjb25zdCBoYXNFcnJvck1lc3NhZ2UgPSBFbnRpdHlVdGlsLmlzUHJlc2VudChlcnJvci5lcnJvcikgJiYgRW50aXR5VXRpbC5pc1ByZXNlbnQoZXJyb3IuZXJyb3IubWVzc2FnZSk7XG4gICAgY29uc3QgbWVzc2FnZSA9IGhhc0Vycm9yTWVzc2FnZSA/IGVycm9yLmVycm9yLm1lc3NhZ2UgOiAnQ29uZmlndXJhdGlvbiBmYWlsZWQnO1xuICAgIGNvbnN0IHsgaXNIYW5kbGluZ0NvbmZpZ3VyYXRpb25FcnJvcnMgfSA9IHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uID8/IHt9O1xuXG4gICAgaWYgKGlzSGFuZGxpbmdDb25maWd1cmF0aW9uRXJyb3JzKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IGtleTogdGhpcy5tZXNzYWdlQnVja2V0SWQsIHN1bW1hcnk6IG1lc3NhZ2UgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zb2x1dGlvbkxpbmVJdGVtID0ge1xuICAgICAgLi4udGhpcy5zb2x1dGlvbkxpbmVJdGVtLFxuICAgICAgbWVzc2FnZXM6IFsuLi50aGlzLnNvbHV0aW9uTGluZUl0ZW0ubWVzc2FnZXMsIGBFOiR7bWVzc2FnZX1gXSxcbiAgICB9O1xuICAgIHRoaXMucHJvY2Vzc1NvbHV0aW9uKHRydWUsIHRydWUpO1xuICAgIHRoaXMucnVudGltZVNlcnZpY2Uuc29sdXRpb25Qcm9jZXNzZWQodGhpcy5zb2x1dGlvbkxpbmVJdGVtKTtcblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ2FyZGluYWxpdHlWYXJpYWJsZShwYXJlbnQ6IExpbmVJdGVtLCB1cGRhdGVkOiBMaW5lSXRlbSwgbmV3UXVhbnRpdHk/OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwb3J0RG9tYWluID0gdXBkYXRlZC5wb3J0ID8gcGFyZW50LnBvcnREb21haW5zW3VwZGF0ZWQucG9ydF0gOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZG9tYWluVHlwZSA9IHBvcnREb21haW4/LmRvbWFpblR5cGVzLmZpbmQodCA9PiB0Lm5hbWUgPT09IHVwZGF0ZWQudHlwZSk7XG4gICAgY29uc3QgY2FyZGluYWxpdHkgPSBkb21haW5UeXBlPy5jYXJkaW5hbGl0eSA/PyAwO1xuXG4gICAgbGV0IHF0eTtcbiAgICBpZiAoIU51bWJlci5pc0Zpbml0ZShkb21haW5UeXBlPy5jYXJkaW5hbGl0eSkpIHtcbiAgICAgIHF0eSA9IE51bWJlci5pc0Zpbml0ZShuZXdRdWFudGl0eSkgPyBuZXdRdWFudGl0eSA6IHVwZGF0ZWQucXR5O1xuICAgIH0gZWxzZSB7XG4gICAgICBxdHkgPSBFbnRpdHlVdGlsLmlzUHJlc2VudChuZXdRdWFudGl0eSlcbiAgICAgICAgPyBjYXJkaW5hbGl0eSAtIHVwZGF0ZWQucXR5ICsgKG5ld1F1YW50aXR5IGFzIG51bWJlcilcbiAgICAgICAgOiBjYXJkaW5hbGl0eSArIHVwZGF0ZWQucXR5O1xuICAgIH1cblxuICAgIGNvbnN0IGNhcmRpbmFsaXR5TmFtZSA9ICcjQ1YtJyArIHVwZGF0ZWQudHlwZSArICdAJyArIHVwZGF0ZWQucG9ydDtcblxuICAgIGxldCBjYXJkaW5hbGl0eVZhcmlhYmxlID0gcGFyZW50LmF0dHJpYnV0ZXMuZmluZChhID0+IGEubmFtZSA9PT0gY2FyZGluYWxpdHlOYW1lKTtcbiAgICBpZiAoIWNhcmRpbmFsaXR5VmFyaWFibGUpIHtcbiAgICAgIGNhcmRpbmFsaXR5VmFyaWFibGUgPSB7XG4gICAgICAgIGlkOiBVVUlELlVVSUQoKSxcbiAgICAgICAgbmFtZTogY2FyZGluYWxpdHlOYW1lLFxuICAgICAgfSBhcyBBdHRyaWJ1dGU7XG4gICAgICBwYXJlbnQuYXR0cmlidXRlcy5wdXNoKGNhcmRpbmFsaXR5VmFyaWFibGUpO1xuICAgIH1cbiAgICBjYXJkaW5hbGl0eVZhcmlhYmxlLnZhbHVlID0gcXR5O1xuICAgIGNhcmRpbmFsaXR5VmFyaWFibGUuY2ZnU3RhdHVzID0gJ1VzZXInO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMaW5lSXRlbShzZWN0aW9uOiBTZWN0aW9uLCB2YWx1ZU9wdGlvbj86IHN0cmluZywgcGFyZW50TGluZUl0ZW0/OiBMaW5lSXRlbSk6IExpbmVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgcXR5OiArdGhpcy5mb3JtLmNvbnRyb2xzW3NlY3Rpb24uaWQgKyAncXR5J10udmFsdWUsXG4gICAgICBwb3J0OiBzZWN0aW9uLmJvdW5kRGF0YS5uYW1lLFxuICAgICAgdHlwZTogRW50aXR5VXRpbC5pc1ByZXNlbnQodmFsdWVPcHRpb24pID8gdmFsdWVPcHRpb24gOiB0aGlzLmZvcm0uY29udHJvbHNbc2VjdGlvbi5pZF0udmFsdWUsXG4gICAgICBjZmdTdGF0dXM6ICdOZXcnLFxuICAgICAgcGFyZW50SWQ6IHBhcmVudExpbmVJdGVtPy5pZCxcbiAgICB9IGFzIExpbmVJdGVtO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUubmV4dCgpO1xuXG4gICAgdGhpcy5zZWN0aW9uc1NlcnZpY2UuZGVzdHJveSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFJ1bnRpbWUoKTogdm9pZCB7XG4gICAgY29uc3QgdWlEZWZpbml0aW9uID0gdGhpcy5ydW50aW1lQ29udGV4dC51aURlZmluaXRpb247XG5cbiAgICBjb25zdCBkZWZhdWx0VGFiID0gdWlEZWZpbml0aW9uPy50YWJzPy5maW5kKHRhYiA9PiB0YWIuaXNEZWZhdWx0KTtcbiAgICB0aGlzLmFjdGl2ZVVJVGFiID0gRW50aXR5VXRpbC5pc1ByZXNlbnQoZGVmYXVsdFRhYikgPyBkZWZhdWx0VGFiIDogdWlEZWZpbml0aW9uPy50YWJzPy5bMF07XG5cbiAgICB0aGlzLnNlY3Rpb25zU2VydmljZS5jb21waWxlTW9kdWxlKHVpRGVmaW5pdGlvbj8uc2VjdGlvbnMgPz8gW10sIHVpRGVmaW5pdGlvbj8uaXNWaWV3RW5jYXBzdWxhdGVkKTtcblxuICAgIHRoaXMucHJvY2Vzc1NvbHV0aW9uKCk7XG5cbiAgICB0aGlzLnNvbHV0aW9uSXNSZWFkeSA9IHRydWU7XG5cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVJ1bnRpbWUobGluZUl0ZW06IExpbmVJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5zb2x1dGlvblVwZGF0ZWQuZW1pdChsaW5lSXRlbSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9DYXJ0KCk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmVJdGVtID0gRW50aXR5VXRpbC5jbG9uZSh0aGlzLnNvbHV0aW9uTGluZUl0ZW0pO1xuXG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5zdG9wUnVudGltZShsaW5lSXRlbSk7XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc1NvbHV0aW9uKGlzVXBkYXRlPzogYm9vbGVhbiwgaXNFcnJvcj86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLzEuIEJpbmQgc2VjdGlvbnMgdG8gc29sdXRpb25cbiAgICBsZXQgc2VjdGlvbnMgPSBFbnRpdHlVdGlsLmNsb25lKHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5zZWN0aW9ucykgPz8gW107XG4gICAgY29uc3Qgc291cmNlU2VjdGlvbnMgPSBFbnRpdHlVdGlsLmNsb25lKHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5zZWN0aW9ucykgPz8gW107XG4gICAgdGhpcy51cGRhdGVMaW5lSXRlbXNTZWN0aW9uUGF0aCh0aGlzLnNvbHV0aW9uTGluZUl0ZW0pO1xuICAgIFNlY3Rpb25zQmluZGVySGVscGVyLnNldExpbmVJdGVtc1BhdGgoXG4gICAgICB0aGlzLnJ1bnRpbWVDb250ZXh0LnJ1bnRpbWVNb2RlbCxcbiAgICAgIHRoaXMuc29sdXRpb25MaW5lSXRlbSxcbiAgICAgIHNlY3Rpb25zLFxuICAgICAgc291cmNlU2VjdGlvbnMsXG4gICAgICAoc2VjOiBhbnkpID0+ICFzZWMucGFyZW50SWQgJiYgc2VjLmJvdW5kRGF0YSxcbiAgICAgIHRoaXMucnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcmljaW5nRW5hYmxlZCA/PyBmYWxzZSxcbiAgICApO1xuXG4gICAgc2VjdGlvbnMgPSBzZWN0aW9ucy5maWx0ZXIocyA9PiBzLm1vZGVsICYmIHMudGVtcGxhdGUpO1xuXG4gICAgLy8yLiBJbml0IGZvcm1cbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1TZXJ2aWNlLmluaXRGb3JtKHNlY3Rpb25zLCB0aGlzLnNvbHV0aW9uTGluZUl0ZW0pO1xuICAgIHRoaXMuZm9ybVNjb3BlLmZvcm0gPSB0aGlzLmZvcm07XG5cbiAgICB0aGlzLnNvcnRlZFNlY3Rpb25zID0gdGhpcy5maWx0ZXJBbmRTb3J0KGdldFNlY3Rpb25UcmVlKHNlY3Rpb25zLmZpbHRlcihzID0+ICFzLmlzU3RhdGljKSkpO1xuXG4gICAgaWYgKCFpc1VwZGF0ZSkge1xuICAgICAgdGhpcy5zdGF0aWNTZWN0aW9ucyA9IHRoaXMuZmlsdGVyQW5kU29ydChnZXRTZWN0aW9uVHJlZShzZWN0aW9ucy5maWx0ZXIocyA9PiBzLmlzU3RhdGljKSkpO1xuICAgIH1cblxuICAgIGlmICghaXNFcnJvcikge1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5jbGVhcih0aGlzLm1lc3NhZ2VCdWNrZXRJZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhpZGVNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmNhbmNlbFJ1bnRpbWUoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTGluZUl0ZW1zU2VjdGlvblBhdGgobGluZUl0ZW06IExpbmVJdGVtLCBwYXJlbnQ/OiBTZWN0aW9uUGF0aCk6IHZvaWQge1xuICAgIGNvbnN0IHBhdGg6IFNlY3Rpb25QYXRoID0ge1xuICAgICAgdHlwZXM6IHBhcmVudCA/IHBhcmVudC50eXBlcy5jb25jYXQoW2xpbmVJdGVtLnR5cGVdKSA6IFtsaW5lSXRlbS50eXBlXSxcbiAgICAgIHBvcnRzOiBwYXJlbnQgPyBwYXJlbnQucG9ydHMuY29uY2F0KGxpbmVJdGVtLnBvcnQgPyBbbGluZUl0ZW0ucG9ydF0gOiBbXSkgOiBbXSxcbiAgICB9IGFzIFNlY3Rpb25QYXRoO1xuXG4gICAgbGluZUl0ZW0ucGF0aCA9IHBhdGg7XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGxpbmVJdGVtLmxpbmVJdGVtcykge1xuICAgICAgdGhpcy51cGRhdGVMaW5lSXRlbXNTZWN0aW9uUGF0aChjaGlsZCwgbGluZUl0ZW0ucGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJBbmRTb3J0KHNlY3Rpb25zOiBTZWN0aW9uW10pOiBTZWN0aW9uW10ge1xuICAgIGNvbnN0IGZpbHRlcmVkID0gdGhpcy5zZWFyY2hGaWx0ZXJQaXBlLnRyYW5zZm9ybShzZWN0aW9ucywgdGhpcy5hY3RpdmVVSVRhYj8uaWQsICdwYWdlJyk7XG4gICAgY29uc3Qgb3JkZXJlZCA9IHRoaXMub3JkZXJCeVBpcGUudHJhbnNmb3JtKGZpbHRlcmVkLCAnb3JkZXInLCAnYXNjJyk7XG5cbiAgICByZXR1cm4gb3JkZXJlZDtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFNlY3Rpb24oaWQ6IHN0cmluZyk6IFNlY3Rpb24gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBFbnRpdHlVdGlsLmZpbmRCeUZpZWxkSGllcmFyY2hpY2FsbHkoJ2lkJywgaWQsIFsuLi50aGlzLnNvcnRlZFNlY3Rpb25zLCAuLi50aGlzLnN0YXRpY1NlY3Rpb25zXSwgJ2NoaWxkcmVuJyk7XG4gIH1cbn1cbiIsIjx2bC1sb2FkZXIgbGFiZWw9XCJMb2FkaW5nIFVJXCIgKm5nSWY9XCIhc29sdXRpb25Jc1JlYWR5OyBlbHNlIGNvbnRlbnRcIj48L3ZsLWxvYWRlcj5cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJzaWRlYmFyLXRhYnNcIlxuICAgIFtuZ0NsYXNzXT1cInsgaGlkZGVuOiAhcnVudGltZUNvbnRleHQ/LnVpRGVmaW5pdGlvbj8uZGVmYXVsdFBhbmVscyB9XCJcbiAgICAjdWlUYWJzPVwic2lkZWJhclRhYnNcIlxuICAgIHNpZGViYXJUYWJzPVwie3sgYWN0aXZlVUlUYWI/LmlkIH19XCJcbiAgICBpZD1cInZsLWRlZmF1bHQtc2lkZWJhci10YWJzXCJcbiAgPlxuICAgIDx1bD5cbiAgICAgIDxsaVxuICAgICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHJ1bnRpbWVDb250ZXh0Py51aURlZmluaXRpb24/LnRhYnMgfCBvcmRlckJ5OiAnb3JkZXInOidhc2MnXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IHVpVGFicy5hY3RpdmVUYWIgPT09IHRhYi5pZCB9XCJcbiAgICAgICAgKGNsaWNrKT1cInVpVGFicy5zd2l0Y2hUYWIodGFiLmlkKVwiXG4gICAgICA+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCI+e3sgdGFiLm5hbWUgfX08L2E+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzZWN0aW9ucy13cmFwcGVyXCI+XG4gICAgPGZvcm0gcm9sZT1cImZvcm1cIiBuYW1lPVwiZm9ybVwiIGNsYXNzPVwiZm9ybS1ob3Jpem9udGFsXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgbm92YWxpZGF0ZSBhdXRvY29tcGxldGU9XCJvZmZcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2Ygc3RhdGljU2VjdGlvbnM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlY3Rpb24ubW9kZWwgJiYgc2VjdGlvbi50ZW1wbGF0ZSAmJiAhc2VjdGlvbi5oaWRkZW5cIj5cbiAgICAgICAgICA8dmwtc2VjdGlvbi1yZW5kZXJlciBbc2VjdGlvbl09XCJzZWN0aW9uXCIgW2Zvcm1dPVwiZm9ybVwiPjwvdmwtc2VjdGlvbi1yZW5kZXJlcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBzb3J0ZWRTZWN0aW9uczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VjdGlvbi5tb2RlbCAmJiBzZWN0aW9uLnRlbXBsYXRlICYmICFzZWN0aW9uLmhpZGRlblwiPlxuICAgICAgICAgIDx2bC1zZWN0aW9uLXJlbmRlcmVyIFtzZWN0aW9uXT1cInNlY3Rpb25cIiBbZm9ybV09XCJmb3JtXCI+PC92bC1zZWN0aW9uLXJlbmRlcmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZm9ybT5cblxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibW9kYWwtZm9vdGVyXCJcbiAgICAgICpuZ0lmPVwicnVudGltZUNvbnRleHQ/LnJ1bnRpbWVNb2RlID09PSAxXCJcbiAgICAgIGlkPVwidmwtcnVudGltZS1kZWZhdWx0LWZvb3RlclwiXG4gICAgICBbbmdDbGFzc109XCJ7IGhpZGRlbjogIXJ1bnRpbWVDb250ZXh0Py51aURlZmluaXRpb24/LmRlZmF1bHRQYW5lbHMgfVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBpbnB1dC1mb3JtLWlucHV0XCI+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCIgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIiAoY2xpY2spPVwiZm9ybS52YWxpZCAmJiBhZGRUb0NhcnQoKVwiIGlkPVwiYWRkLXRvLWNhcnQtYnRuXCJcbiAgICAgICAgICA+QWRkIHRvIGNhcnQ8L2FcbiAgICAgICAgPlxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCIgKGNsaWNrKT1cImhpZGVNb2RhbCgpXCIgaWQ9XCJjYW5jZWwtYnRuXCI+Q2FuY2VsPC9hPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
@@ -106,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
106
106
|
}], uiDefinition: [{
|
107
107
|
type: Input
|
108
108
|
}] } });
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy91aS1ydW50aW1lLXByZXZpZXcvcnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy91aS1ydW50aW1lLXByZXZpZXcvcnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLFVBQVUsRUFJVixZQUFZLEVBQ1osZUFBZSxHQUVoQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVczQyxNQUFNLE9BQU8sdUJBQXVCO0lBYWxDLFlBQ1UsY0FBOEIsRUFDOUIsaUJBQTJDLEVBQzNDLHVCQUFnRCxFQUNoRCxjQUE4QjtRQUg5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQU5oQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU9wQyxDQUFDO0lBaEJKLElBQWEsWUFBWSxDQUFDLEtBQW1CO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElB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aGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLFxuICBFbnRpdHlVdGlsLFxuICBMaW5lSXRlbSxcbiAgUHJvZHVjdE1vZGVsQXR0cmlidXRlLFxuICBQcm9kdWN0TW9kZWxzQ29udGFpbmVyLFxuICBSdW50aW1lTW9kZWwsXG4gIFNlY3Rpb25QYXRoVXRpbCxcbiAgVUlEZWZpbml0aW9uLFxufSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIFJ1bnRpbWVNb2RlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFByb2R1Y3RNb2RlbENhY2hlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3QtbW9kZWwtY2FjaGUuc2VydmljZSc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3J1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBMZWdhY3lSdW50aW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtcnVudGltZS1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICdydW50aW1lLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsncnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSdW50aW1lUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgbW9kZWxJZD86IHN0cmluZztcbiAgQElucHV0KCkgc2V0IHVpRGVmaW5pdGlvbih2YWx1ZTogVUlEZWZpbml0aW9uKSB7XG4gICAgdGhpcy5fdWlEZWZpbml0aW9uID0gdmFsdWU7XG4gICAgdGhpcy5pbml0RGVmaW5pdGlvbih2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF91aURlZmluaXRpb24/OiBVSURlZmluaXRpb247XG4gIHByaXZhdGUgaW5pdGlhbGlzZWRVaURlZmluaXRpb24/OiBVSURlZmluaXRpb247XG4gIHByaXZhdGUgcHJvZHVjdE1vZGVsQ29udGFpbmVyPzogUHJvZHVjdE1vZGVsc0NvbnRhaW5lcjtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBSdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIG1vZGVsQ2FjaGVTZXJ2aWNlOiBQcm9kdWN0TW9kZWxDYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uQXBpU2VydmljZTogQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1vZGVsSWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm1vZGVsQ2FjaGVTZXJ2aWNlXG4gICAgICAuZ2V0UHJvZHVjdE1vZGVsKHRoaXMubW9kZWxJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoY29udGFpbmVyID0+IHtcbiAgICAgICAgdGhpcy5wcm9kdWN0TW9kZWxDb250YWluZXIgPSBjb250YWluZXI7XG5cbiAgICAgICAgaWYgKHRoaXMuX3VpRGVmaW5pdGlvbikge1xuICAgICAgICAgIHRoaXMuaW5pdERlZmluaXRpb24odGhpcy5fdWlEZWZpbml0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXREZWZpbml0aW9uKHVpRGVmaW5pdGlvbjogVUlEZWZpbml0aW9uKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnByb2R1Y3RNb2RlbENvbnRhaW5lcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGluaXRpYWxpc2VkVWlEZWZpbml0aW9uID0gRW50aXR5VXRpbC5jbG9uZSh1aURlZmluaXRpb24pO1xuXG4gICAgY29uc3QgZXh0ZXJuYWxzOiBQcm9kdWN0TW9kZWxBdHRyaWJ1dGVbXSA9IHRoaXMucHJvZHVjdE1vZGVsQ29udGFpbmVyLm1haW4uZXh0ZXJuYWxzO1xuICAgIGlmIChleHRlcm5hbHMpIHtcbiAgICAgIGluaXRpYWxpc2VkVWlEZWZpbml0aW9uLmV4dGVybmFscyA9IGV4dGVybmFscy5yZWR1Y2U8RGljdGlvbmFyeTxzdHJpbmc+PigodHJ1bmssIHZhcmlhYmxlKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4udHJ1bmssXG4gICAgICAgICAgW3ZhcmlhYmxlLm5hbWVdOiBpbml0aWFsaXNlZFVpRGVmaW5pdGlvbi5leHRlcm5hbHM/Llt2YXJpYWJsZS5uYW1lXSA/PyAnJyxcbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIGluaXRpYWxpc2VkVWlEZWZpbml0aW9uLmV4dGVybmFscztcbiAgICB9XG5cbiAgICB0aGlzLmluaXRpYWxpc2VkVWlEZWZpbml0aW9uID0gaW5pdGlhbGlzZWRVaURlZmluaXRpb247XG5cbiAgICB0aGlzLmxhdW5jaFJ1bnRpbWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNvbHV0aW9uVXBkYXRlZChsaW5lSXRlbTogTGluZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnVwZGF0ZVJ1bnRpbWUoeyBjb25maWd1cmFibGVSYW1wOiBsaW5lSXRlbSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGF1bmNoUnVudGltZSgpIHtcbiAgICBpZiAoIXRoaXMubW9kZWxJZCB8fCAhdGhpcy5pbml0aWFsaXNlZFVpRGVmaW5pdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIFNlY3Rpb25QYXRoVXRpbC51cGRhdGVTZWN0aW9uc1BhdGgodGhpcy5pbml0aWFsaXNlZFVpRGVmaW5pdGlvbi5zZWN0aW9ucyk7XG5cbiAgICBjb25zdCB1aURlZmluaXRpb24gPSBFbnRpdHlVdGlsLmNsb25lKHRoaXMuaW5pdGlhbGlzZWRVaURlZmluaXRpb24pO1xuXG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlLmdldFJ1bnRpbWVEYXRhQnlNb2RlbElkKHRoaXMubW9kZWxJZCksXG4gICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmNyZWF0ZSgnVGVzdElkJywgQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLlRFU1QpLFxuICAgIF0pLnN1YnNjcmliZSgoW3J1bnRpbWVEYXRhXSkgPT4ge1xuICAgICAgY29uc3QgcnVudGltZU1vZGVsID0gUnVudGltZU1vZGVsLmNyZWF0ZShydW50aW1lRGF0YS50eXBlcywgcnVudGltZURhdGEucHJvZHVjdHMpO1xuICAgICAgY29uc3Qgcm9vdFR5cGUgPSBBcnJheS5mcm9tKHJ1bnRpbWVNb2RlbC5jb21wb25lbnRzLnZhbHVlcygpKS5maW5kKFxuICAgICAgICBjID0+XG4gICAgICAgICAgdWlEZWZpbml0aW9uLnJvb3RUeXBlICYmXG4gICAgICAgICAgcnVudGltZU1vZGVsLmlzRXF1YWxzKGMudHlwZU5hbWUsIHVpRGVmaW5pdGlvbi5yb290VHlwZSkgJiZcbiAgICAgICAgICBFbnRpdHlVdGlsLmlzUHJlc2VudChjLnByb2R1Y3RJZCksXG4gICAgICApO1xuXG4gICAgICBpZiAocm9vdFR5cGU/LnR5cGVOYW1lKSB7XG4gICAgICAgIHVpRGVmaW5pdGlvbi5yb290VHlwZSA9IHJvb3RUeXBlLnR5cGVOYW1lO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb250ZXh0UHJvZHVjdElkID0gcm9vdFR5cGUgPyByb290VHlwZS5wcm9kdWN0SWQgOiB1bmRlZmluZWQ7XG5cbiAgICAgIGNvbnN0IGNvbnRleHQ6IExlZ2FjeVJ1bnRpbWVDb250ZXh0ID0ge1xuICAgICAgICBtb2RlbElkOiB0aGlzLm1vZGVsSWQgPz8gJycsXG4gICAgICAgIHVpRGVmaW5pdGlvbjogdWlEZWZpbml0aW9uLFxuICAgICAgICBydW50aW1lTW9kZWwsXG4gICAgICAgIHJ1bnRpbWVNb2RlOiBSdW50aW1lTW9kZS5URVNULFxuICAgICAgICBwcm9kdWN0SWQ6IGNvbnRleHRQcm9kdWN0SWQsXG4gICAgICAgIHByb3BlcnRpZXM6IHVpRGVmaW5pdGlvbi5leHRlcm5hbHMsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnN0YXJ0UnVudGltZShjb250ZXh0LCB7fSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjx2bC1ydW50aW1lIChzb2x1dGlvblVwZGF0ZWQpPVwib25Tb2x1dGlvblVwZGF0ZWQoJGV2ZW50KVwiPjwvdmwtcnVudGltZT5cbiJdfQ==
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy91aS1ydW50aW1lLXByZXZpZXcvcnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3J1bnRpbWUvY29tcG9uZW50cy91aS1ydW50aW1lLXByZXZpZXcvcnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLFVBQVUsRUFJVixZQUFZLEVBQ1osZUFBZSxHQUVoQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVczQyxNQUFNLE9BQU8sdUJBQXVCO0lBYWxDLFlBQ1UsY0FBOEIsRUFDOUIsaUJBQTJDLEVBQzNDLHVCQUFnRCxFQUNoRCxjQUE4QjtRQUg5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQUMzQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQU5oQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU9wQyxDQUFDO0lBaEJKLElBQW9CLFlBQVksQ0FBQyxLQUFtQjtRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJ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eyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLFxuICBFbnRpdHlVdGlsLFxuICBMaW5lSXRlbSxcbiAgUHJvZHVjdE1vZGVsQXR0cmlidXRlLFxuICBQcm9kdWN0TW9kZWxzQ29udGFpbmVyLFxuICBSdW50aW1lTW9kZWwsXG4gIFNlY3Rpb25QYXRoVXRpbCxcbiAgVUlEZWZpbml0aW9uLFxufSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UsIFJ1bnRpbWVNb2RlIH0gZnJvbSAnQHZlbG9jZS9zZGsvY29yZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFByb2R1Y3RNb2RlbENhY2hlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3QtbW9kZWwtY2FjaGUuc2VydmljZSc7XG5pbXBvcnQgeyBSdW50aW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3J1bnRpbWUuc2VydmljZSc7XG5pbXBvcnQgeyBMZWdhY3lSdW50aW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtcnVudGltZS1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICdydW50aW1lLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsncnVudGltZS1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSdW50aW1lUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcHVibGljIG1vZGVsSWQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdWlEZWZpbml0aW9uKHZhbHVlOiBVSURlZmluaXRpb24pIHtcbiAgICB0aGlzLl91aURlZmluaXRpb24gPSB2YWx1ZTtcbiAgICB0aGlzLmluaXREZWZpbml0aW9uKHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbjtcbiAgcHJpdmF0ZSBpbml0aWFsaXNlZFVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbjtcbiAgcHJpdmF0ZSBwcm9kdWN0TW9kZWxDb250YWluZXI/OiBQcm9kdWN0TW9kZWxzQ29udGFpbmVyO1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IFJ1bnRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kZWxDYWNoZVNlcnZpY2U6IFByb2R1Y3RNb2RlbENhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlOiBDb25maWd1cmF0aW9uQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubW9kZWxJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubW9kZWxDYWNoZVNlcnZpY2VcbiAgICAgIC5nZXRQcm9kdWN0TW9kZWwodGhpcy5tb2RlbElkKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShjb250YWluZXIgPT4ge1xuICAgICAgICB0aGlzLnByb2R1Y3RNb2RlbENvbnRhaW5lciA9IGNvbnRhaW5lcjtcblxuICAgICAgICBpZiAodGhpcy5fdWlEZWZpbml0aW9uKSB7XG4gICAgICAgICAgdGhpcy5pbml0RGVmaW5pdGlvbih0aGlzLl91aURlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdERlZmluaXRpb24odWlEZWZpbml0aW9uOiBVSURlZmluaXRpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucHJvZHVjdE1vZGVsQ29udGFpbmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5pdGlhbGlzZWRVaURlZmluaXRpb24gPSBFbnRpdHlVdGlsLmNsb25lKHVpRGVmaW5pdGlvbik7XG5cbiAgICBjb25zdCBleHRlcm5hbHM6IFByb2R1Y3RNb2RlbEF0dHJpYnV0ZVtdID0gdGhpcy5wcm9kdWN0TW9kZWxDb250YWluZXIubWFpbi5leHRlcm5hbHM7XG4gICAgaWYgKGV4dGVybmFscykge1xuICAgICAgaW5pdGlhbGlzZWRVaURlZmluaXRpb24uZXh0ZXJuYWxzID0gZXh0ZXJuYWxzLnJlZHVjZTxEaWN0aW9uYXJ5PHN0cmluZz4+KCh0cnVuaywgdmFyaWFibGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50cnVuayxcbiAgICAgICAgICBbdmFyaWFibGUubmFtZV06IGluaXRpYWxpc2VkVWlEZWZpbml0aW9uLmV4dGVybmFscz8uW3ZhcmlhYmxlLm5hbWVdID8/ICcnLFxuICAgICAgICB9O1xuICAgICAgfSwge30pO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgaW5pdGlhbGlzZWRVaURlZmluaXRpb24uZXh0ZXJuYWxzO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdGlhbGlzZWRVaURlZmluaXRpb24gPSBpbml0aWFsaXNlZFVpRGVmaW5pdGlvbjtcblxuICAgIHRoaXMubGF1bmNoUnVudGltZSgpO1xuICB9XG5cbiAgcHVibGljIG9uU29sdXRpb25VcGRhdGVkKGxpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIHRoaXMucnVudGltZVNlcnZpY2UudXBkYXRlUnVudGltZSh7IGNvbmZpZ3VyYWJsZVJhbXA6IGxpbmVJdGVtIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsYXVuY2hSdW50aW1lKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tb2RlbElkIHx8ICF0aGlzLmluaXRpYWxpc2VkVWlEZWZpbml0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgU2VjdGlvblBhdGhVdGlsLnVwZGF0ZVNlY3Rpb25zUGF0aCh0aGlzLmluaXRpYWxpc2VkVWlEZWZpbml0aW9uLnNlY3Rpb25zKTtcblxuICAgIGNvbnN0IHVpRGVmaW5pdGlvbiA9IEVudGl0eVV0aWwuY2xvbmUodGhpcy5pbml0aWFsaXNlZFVpRGVmaW5pdGlvbik7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbkFwaVNlcnZpY2UuZ2V0UnVudGltZURhdGFCeU1vZGVsSWQodGhpcy5tb2RlbElkKSxcbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UuY3JlYXRlKCdUZXN0SWQnLCBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuVEVTVCksXG4gICAgXSkuc3Vic2NyaWJlKChbcnVudGltZURhdGFdKSA9PiB7XG4gICAgICBjb25zdCBydW50aW1lTW9kZWwgPSBSdW50aW1lTW9kZWwuY3JlYXRlKHJ1bnRpbWVEYXRhLnR5cGVzLCBydW50aW1lRGF0YS5wcm9kdWN0cyk7XG4gICAgICBjb25zdCByb290VHlwZSA9IEFycmF5LmZyb20ocnVudGltZU1vZGVsLmNvbXBvbmVudHMudmFsdWVzKCkpLmZpbmQoXG4gICAgICAgIGMgPT5cbiAgICAgICAgICB1aURlZmluaXRpb24ucm9vdFR5cGUgJiZcbiAgICAgICAgICBydW50aW1lTW9kZWwuaXNFcXVhbHMoYy50eXBlTmFtZSwgdWlEZWZpbml0aW9uLnJvb3RUeXBlKSAmJlxuICAgICAgICAgIEVudGl0eVV0aWwuaXNQcmVzZW50KGMucHJvZHVjdElkKSxcbiAgICAgICk7XG5cbiAgICAgIGlmIChyb290VHlwZT8udHlwZU5hbWUpIHtcbiAgICAgICAgdWlEZWZpbml0aW9uLnJvb3RUeXBlID0gcm9vdFR5cGUudHlwZU5hbWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbnRleHRQcm9kdWN0SWQgPSByb290VHlwZSA/IHJvb3RUeXBlLnByb2R1Y3RJZCA6IHVuZGVmaW5lZDtcblxuICAgICAgY29uc3QgY29udGV4dDogTGVnYWN5UnVudGltZUNvbnRleHQgPSB7XG4gICAgICAgIG1vZGVsSWQ6IHRoaXMubW9kZWxJZCA/PyAnJyxcbiAgICAgICAgdWlEZWZpbml0aW9uOiB1aURlZmluaXRpb24sXG4gICAgICAgIHJ1bnRpbWVNb2RlbCxcbiAgICAgICAgcnVudGltZU1vZGU6IFJ1bnRpbWVNb2RlLlRFU1QsXG4gICAgICAgIHByb2R1Y3RJZDogY29udGV4dFByb2R1Y3RJZCxcbiAgICAgICAgcHJvcGVydGllczogdWlEZWZpbml0aW9uLmV4dGVybmFscyxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMucnVudGltZVNlcnZpY2Uuc3RhcnRSdW50aW1lKGNvbnRleHQsIHt9KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHZsLXJ1bnRpbWUgKHNvbHV0aW9uVXBkYXRlZCk9XCJvblNvbHV0aW9uVXBkYXRlZCgkZXZlbnQpXCI+PC92bC1ydW50aW1lPlxuIl19
|