@veloceapps/sdk 7.0.0-2 → 7.0.0-3
Sign up to get free protection for your applications and to get access to all the features.
- package/bundles/veloceapps-sdk-cms.umd.js +98 -14
- package/bundles/veloceapps-sdk-cms.umd.js.map +1 -1
- package/bundles/veloceapps-sdk.umd.js.map +1 -1
- package/cms/cms.elements.d.ts +1 -1
- package/cms/cms.layouts.d.ts +4 -0
- package/cms/plugins/region.plugin.d.ts +17 -0
- package/cms/types/common.types.d.ts +8 -1
- package/cms/types/index.d.ts +0 -1
- package/cms/types/layouts.types.d.ts +74 -0
- package/cms/utils/element.utils.d.ts +1 -1
- package/esm2015/cms/cms.elements.js +12 -1
- package/esm2015/cms/cms.layouts.js +179 -0
- package/esm2015/cms/plugins/region.plugin.js +58 -0
- package/esm2015/cms/types/common.types.js +1 -1
- package/esm2015/cms/types/index.js +1 -2
- package/esm2015/cms/types/layouts.types.js +2 -0
- package/esm2015/cms/utils/element.utils.js +10 -14
- package/esm2015/cms/utils/elements-resolver.js +8 -2
- package/esm2015/src/components/header/metrics/metrics.component.js +2 -2
- package/esm2015/src/types/index.js +2 -1
- package/esm2015/{cms → src}/types/metrics.types.js +1 -1
- package/fesm2015/veloceapps-sdk-cms.js +255 -15
- package/fesm2015/veloceapps-sdk-cms.js.map +1 -1
- package/fesm2015/veloceapps-sdk.js.map +1 -1
- package/package.json +1 -1
- package/src/components/header/metrics/metrics.component.d.ts +1 -1
- package/src/types/index.d.ts +1 -0
- /package/{cms → src}/types/metrics.types.d.ts +0 -0
@@ -4,6 +4,7 @@ import { isDefined } from '@veloceapps/core';
|
|
4
4
|
import { flatten, kebabCase, set } from 'lodash';
|
5
5
|
import { DEFAULT_PLUGINS } from '../cms.default';
|
6
6
|
import { CONFIG } from '../cms.elements';
|
7
|
+
import { LAYOUT } from '../cms.layouts';
|
7
8
|
import { DEFAULT_PLUGINS_TOKEN, ELEMENT_CONFIG, ELEMENT_METADATA, SHARED_ELEMENT_METADATA, UI_DEFINITION_METADATA, VENDOR_MAP, } from '../injection-tokens';
|
8
9
|
import { vendorMap } from '../vendor-map';
|
9
10
|
export class ElementsResolver {
|
@@ -76,7 +77,12 @@ export class ElementsResolver {
|
|
76
77
|
resolveElementStyles(element) {
|
77
78
|
var _a;
|
78
79
|
const config = CONFIG[element.type];
|
79
|
-
|
80
|
+
let styles = !config.suppressStyles ? (_a = element.styles) !== null && _a !== void 0 ? _a : '' : '';
|
81
|
+
const layout = element.layout && LAYOUT[element.layout];
|
82
|
+
if (layout === null || layout === void 0 ? void 0 : layout.styles) {
|
83
|
+
styles += layout.styles;
|
84
|
+
}
|
85
|
+
return styles;
|
80
86
|
}
|
81
87
|
processElementMetadata(sourceElement) {
|
82
88
|
var _a, _b;
|
@@ -154,4 +160,4 @@ export class ElementsResolver {
|
|
154
160
|
return result;
|
155
161
|
}
|
156
162
|
}
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZWxlbWVudHMtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsY0FBYyxFQUNkLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixZQUNVLEtBQTJCLEVBQ25DLFFBQTJCLEVBQzNCLGlCQUFvQyxFQUFFO1FBRjlCLFVBQUssR0FBTCxLQUFLLENBQXNCO1FBSjdCLHVCQUFrQixHQUFzQixFQUFFLENBQUM7UUFDM0MsbUJBQWMsR0FBc0IsRUFBRSxDQUFDO1FBTzdDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNELE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0Is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QztTQUMxQjtRQUVELE9BQU8sTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRU8sd0JBQXdCLENBQUMsTUFBZ0M7UUFDL0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUV6QixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksS0FBSyxDQUFDO1FBRWhCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnQGJhYmVsL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBVSURlZmluaXRpb25NZXRhZGF0YSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4sIGtlYmFiQ2FzZSwgc2V0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERFRkFVTFRfUExVR0lOUyB9IGZyb20gJy4uL2Ntcy5kZWZhdWx0JztcbmltcG9ydCB7IENPTkZJRyB9IGZyb20gJy4uL2Ntcy5lbGVtZW50cyc7XG5pbXBvcnQge1xuICBERUZBVUxUX1BMVUdJTlNfVE9LRU4sXG4gIEVMRU1FTlRfQ09ORklHLFxuICBFTEVNRU5UX01FVEFEQVRBLFxuICBTSEFSRURfRUxFTUVOVF9NRVRBREFUQSxcbiAgVUlfREVGSU5JVElPTl9NRVRBREFUQSxcbiAgVkVORE9SX01BUCxcbn0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgdmVuZG9yTWFwIH0gZnJvbSAnLi4vdmVuZG9yLW1hcCc7XG5cbmV4cG9ydCBjbGFzcyBFbGVtZW50c1Jlc29sdmVyIHtcbiAgcHVibGljIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXTtcblxuICBwcml2YXRlIHJlbmRlcmFibGVFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSBzaGFyZWRFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVpRGVmOiBVSURlZmluaXRpb25NZXRhZGF0YSxcbiAgICBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10sXG4gICAgc2hhcmVkRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW10sXG4gICkge1xuICAgIGNvbnN0IHRyYW5zcGlsZWRFbGVtZW50cyA9IHRoaXMudHJhbnNwaWxlU2NyaXB0cyhlbGVtZW50cyk7XG4gICAgY29uc3QgdHJhbnNwaWxlZFNoYXJlZEVsZW1lbnRzID0gdGhpcy50cmFuc3BpbGVTY3JpcHRzKHNoYXJlZEVsZW1lbnRzKTtcblxuICAgIHRoaXMuc2hhcmVkRWxlbWVudHMgPSB0aGlzLmZsYXR0ZW5FbGVtZW50cyh0cmFuc3BpbGVkRWxlbWVudHMpXG4gICAgICAuZmlsdGVyKGVsID0+IHRoaXMuaXNTaGFyZWRFbGVtZW50KGVsKSlcbiAgICAgIC5jb25jYXQodHJhbnNwaWxlZFNoYXJlZEVsZW1lbnRzKTtcblxuICAgIHRoaXMuZWxlbWVudHMgPSB0cmFuc3BpbGVkRWxlbWVudHMubWFwKGVsID0+IHRoaXMucHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShlbCkpLmZpbHRlcihpc0RlZmluZWQpO1xuXG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHZvaWQge1xuICAgIGlmIChlbGVtZW50LmlzU2hhcmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdHJhbnNwaWxlZEVsZW1lbnRzID0gdGhpcy50cmFuc3BpbGVTY3JpcHRzKFtlbGVtZW50XSk7XG4gICAgdGhpcy5lbGVtZW50cyA9IHRyYW5zcGlsZWRFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGVsKSkuZmlsdGVyKGlzRGVmaW5lZCk7XG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZ0NvbXBvbmVudHMoKTogVHlwZTxhbnk+W10ge1xuICAgIHJldHVybiB0aGlzLnJlbmRlcmFibGVFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5yZXNvbHZlRWxlbWVudChlbCkpLmZpbHRlcihpc0RlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc3BpbGUoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFlbC5zY3JpcHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybShlbC5zY3JpcHQsIHtcbiAgICAgIGZpbGVuYW1lOiBlbC5uYW1lICsgJy50cycsXG4gICAgICBwcmVzZXRzOiBbJ3R5cGVzY3JpcHQnXSxcbiAgICAgIHNvdXJjZU1hcHM6ICdpbmxpbmUnLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkLmNvZGUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc3BpbGVTY3JpcHRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICByZXR1cm4gZWxlbWVudHMubWFwKGVsID0+ICh7XG4gICAgICAuLi5lbCxcbiAgICAgIHNjcmlwdDogdGhpcy50cmFuc3BpbGUoZWwpLFxuICAgICAgY2hpbGRyZW46IHRoaXMudHJhbnNwaWxlU2NyaXB0cyhlbC5jaGlsZHJlbiksXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBmbGF0dGVuRWxlbWVudHMoZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICAgIHJldHVybiBmbGF0dGVuKGVsZW1lbnRzLm1hcChlbCA9PiBbZWwsIC4uLnRoaXMuZmxhdHRlbkVsZW1lbnRzKGVsLmNoaWxkcmVuKV0pKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTaGFyZWRFbGVtZW50KGVsOiBFbGVtZW50TWV0YWRhdGEpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbihlbC5pc1NoYXJlZCkgJiYgZWwudHlwZSAhPT0gJ1JFRkVSRU5DRSc7XG4gIH1cblxuICBwcml2YXRlIGdldFJlbmRlcmFibGVFbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgY29uc3QgcmVuZGVyYWJsZTogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgZWwgb2YgZWxlbWVudHMpIHtcbiAgICAgIGlmICghdGhpcy5pc1NoYXJlZEVsZW1lbnQoZWwpKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZWwuY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+ICF0aGlzLmlzU2hhcmVkRWxlbWVudChjaGlsZCkpO1xuICAgICAgICBjb25zdCByZW5kZXJhYmxlQ2hpbGRyZW4gPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyhjaGlsZHJlbik7XG4gICAgICAgIHJlbmRlcmFibGUucHVzaCh7IC4uLmVsLCBjaGlsZHJlbiB9LCAuLi5yZW5kZXJhYmxlQ2hpbGRyZW4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZW5kZXJhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaGFyZWRFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFlbGVtZW50LnJlZmVyZW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNoYXJlZEVsZW1lbnRzLmZpbmQoZWwgPT4gZWxlbWVudC5yZWZlcmVuY2UgPT09IGVsLm5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudFRlbXBsYXRlKGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0gQ09ORklHW2VsZW1lbnQudHlwZV07XG4gICAgY29uc3QgdGVtcGxhdGUgPSAhY29uZmlnLnN1cHByZXNzVGVtcGxhdGUgPyBlbGVtZW50LnRlbXBsYXRlIDogJyc7XG5cbiAgICByZXR1cm4gdGVtcGxhdGUgfHwgY29uZmlnLmRlZmF1bHRUZW1wbGF0ZSB8fCAnJztcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVsZW1lbnRTdHlsZXMoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICByZXR1cm4gIWNvbmZpZy5zdXBwcmVzc1N0eWxlcyA/IGVsZW1lbnQuc3R5bGVzID8/ICcnIDogJyc7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NFbGVtZW50TWV0YWRhdGEoc291cmNlRWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogRWxlbWVudE1ldGFkYXRhIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgZmluYWxFbGVtZW50OiBFbGVtZW50TWV0YWRhdGE7XG5cbiAgICBpZiAoc291cmNlRWxlbWVudC50eXBlID09PSAnUkVGRVJFTkNFJykge1xuICAgICAgY29uc3Qgc2hhcmVkRWxlbWVudCA9IHRoaXMuZ2V0U2hhcmVkRWxlbWVudChzb3VyY2VFbGVtZW50KTtcblxuICAgICAgaWYgKCFzaGFyZWRFbGVtZW50KSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgU2hhcmVkIGVsZW1lbnQgXCIke3NvdXJjZUVsZW1lbnQucmVmZXJlbmNlfVwiIG5vdCBmb3VuZGApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGZpbmFsRWxlbWVudCA9IHtcbiAgICAgICAgLi4uc291cmNlRWxlbWVudCxcbiAgICAgICAgY2hpbGRyZW46IHRoaXMuZ2V0U2hhcmVkQ2hpbGRyZW4oc2hhcmVkRWxlbWVudC5jaGlsZHJlbiwgc291cmNlRWxlbWVudC5wYXRoKSxcbiAgICAgICAgdHlwZTogc2hhcmVkRWxlbWVudC50eXBlLFxuICAgICAgICB0ZW1wbGF0ZTogc2hhcmVkRWxlbWVudC50ZW1wbGF0ZSxcbiAgICAgICAgc3R5bGVzOiAoc2hhcmVkRWxlbWVudC5zdHlsZXMgPz8gJycpICsgJ1xcbicgKyAoc291cmNlRWxlbWVudC5zdHlsZXMgPz8gJycpLFxuICAgICAgICBpbnB1dHM6IHtcbiAgICAgICAgICAuLi5zaGFyZWRFbGVtZW50LmlucHV0cyxcbiAgICAgICAgICAuLi5zb3VyY2VFbGVtZW50LmlucHV0cyxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0czoge1xuICAgICAgICAgIC4uLnNoYXJlZEVsZW1lbnQub3V0cHV0cyxcbiAgICAgICAgICAuLi5zb3VyY2VFbGVtZW50Lm91dHB1dHMsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBmaW5hbEVsZW1lbnQgPSBzb3VyY2VFbGVtZW50O1xuICAgICAgZGVsZXRlIHNvdXJjZUVsZW1lbnQucmVmZXJlbmNlO1xuICAgIH1cblxuICAgIGZpbmFsRWxlbWVudC50ZW1wbGF0ZSA9IHRoaXMucmVzb2x2ZUVsZW1lbnRUZW1wbGF0ZShmaW5hbEVsZW1lbnQpO1xuICAgIGZpbmFsRWxlbWVudC5zdHlsZXMgPSB0aGlzLnJlc29sdmVFbGVtZW50U3R5bGVzKGZpbmFsRWxlbWVudCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZmluYWxFbGVtZW50LFxuICAgICAgY2hpbGRyZW46IGZpbmFsRWxlbWVudC5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGNoaWxkKSkuZmlsdGVyKGlzRGVmaW5lZCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2hhcmVkQ2hpbGRyZW4oY2hpbGRyZW46IEVsZW1lbnRNZXRhZGF0YVtdLCBwYXJlbnRQYXRoPzogc3RyaW5nKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICAgIHJldHVybiBjaGlsZHJlbi5tYXAoYyA9PiB7XG4gICAgICBpZiAoIWMucGF0aCkge1xuICAgICAgICByZXR1cm4gYztcbiAgICAgIH1cblxuICAgICAgY29uc3QgW2VsTmFtZV0gPSBjLnBhdGguc3BsaXQoJy8nKS5yZXZlcnNlKCk7XG4gICAgICBjb25zdCBwYXRoID0gcGFyZW50UGF0aCArICcvJyArIGVsTmFtZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uYyxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgY2hpbGRyZW46IHRoaXMuZ2V0U2hhcmVkQ2hpbGRyZW4oYy5jaGlsZHJlbiwgcGF0aCksXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudChlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBUeXBlPGFueT4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IENPTkZJR1tlbGVtZW50LnR5cGVdO1xuICAgIGNvbnN0IGRlZmF1bHRQbHVnaW5zID0gREVGQVVMVF9QTFVHSU5TW3RoaXMudWlEZWYudHlwZV0gPz8gW107XG5cbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgY29uc29sZS53YXJuKGBVbmtub3duIGVsZW1lbnQgdHlwZSBcIiR7ZWxlbWVudC50eXBlfVwiYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3R5bGVzID0gdGhpcy5nZXRFbGVtZW50U3R5bGVzKGVsZW1lbnQpO1xuXG4gICAgY29uc3QgY29tcG9uZW50OiBDb21wb25lbnQgPSB7XG4gICAgICBzZWxlY3RvcjogJ3ZsLWVsZW1lbnQnLFxuICAgICAgdGVtcGxhdGU6IGVsZW1lbnQudGVtcGxhdGUsXG4gICAgICAuLi4oc3R5bGVzID8geyBzdHlsZXM6IFtzdHlsZXNdIH0gOiB7fSksXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBERUZBVUxUX1BMVUdJTlNfVE9LRU4sIHVzZVZhbHVlOiBkZWZhdWx0UGx1Z2lucyB9LFxuICAgICAgICB7IHByb3ZpZGU6IFVJX0RFRklOSVRJT05fTUVUQURBVEEsIHVzZVZhbHVlOiB0aGlzLnVpRGVmIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRUxFTUVOVF9NRVRBREFUQSwgdXNlVmFsdWU6IGVsZW1lbnQgfSxcbiAgICAgICAgeyBwcm92aWRlOiBTSEFSRURfRUxFTUVOVF9NRVRBREFUQSwgdXNlVmFsdWU6IHRoaXMuZ2V0U2hhcmVkRWxlbWVudChlbGVtZW50KSB9LFxuICAgICAgICB7IHByb3ZpZGU6IEVMRU1FTlRfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgIHsgcHJvdmlkZTogVkVORE9SX01BUCwgdXNlVmFsdWU6IHZlbmRvck1hcCB9LFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgY29uc3QgY21wID0gQ29tcG9uZW50KGNvbXBvbmVudCkoY2xhc3MgQyBleHRlbmRzIGNvbmZpZy5jb21wb25lbnQge30pO1xuXG4gICAgc2V0KGNtcCwgJ3BhdGgnLCBlbGVtZW50LnBhdGgpO1xuXG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxlbWVudFN0eWxlcyhlbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCByZXN1bHQgPSAnJztcblxuICAgIGNvbnN0IGNvbmZpZ3VyZWRTdHlsZXMgPSB0aGlzLmNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhlbGVtZW50LmNvbmZpZ3VyZWRTdHlsZXMpO1xuICAgIGlmIChjb25maWd1cmVkU3R5bGVzKSB7XG4gICAgICAvLyBvcmRlciBpcyBpbXBvcnRhbnQ6IHN0eWxlcyB3cml0dGVuIGJ5IHVzZXIgaW4gQ1NTIGNvZGUgc2hvdWxkIGhhcyBoaWdoZXIgcHJpb3JpdHlcbiAgICAgIHJlc3VsdCArPSBjb25maWd1cmVkU3R5bGVzO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnN0eWxlcykge1xuICAgICAgcmVzdWx0ICs9IGVsZW1lbnQuc3R5bGVzO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQgfHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0SW5saW5lU3R5bGVzVG9DU1Moc3R5bGVzPzogRWxlbWVudFN0eWxlRGVjbGFyYXRpb24pOiBzdHJpbmcge1xuICAgIGlmICghc3R5bGVzKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHN0eWxlcyk7XG4gICAgbGV0IHJlc3VsdCA9ICc6aG9zdCB7XFxuJztcblxuICAgIGVudHJpZXMuZm9yRWFjaCgoW3N0eWxlLCB2YWx1ZV0pID0+IHtcbiAgICAgIHJlc3VsdCArPSBgICAke2tlYmFiQ2FzZShzdHlsZSl9OiR7dmFsdWV9O1xcbmA7XG4gICAgfSk7XG5cbiAgICByZXN1bHQgKz0gJ31cXG4nO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvdXRpbHMvZWxlbWVudHMtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixVQUFVLEdBQ1gsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0IsWUFDVSxLQUEyQixFQUNuQyxRQUEyQixFQUMzQixpQkFBb0MsRUFBRTtRQUY5QixVQUFLLEdBQUwsS0FBSyxDQUFzQjtRQUo3Qix1QkFBa0IsR0FBc0IsRUFBRSxDQUFDO1FBQzNDLG1CQUFjLEdBQXNCLEVBQUUsQ0FBQztRQU83QyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRCxNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV2RSxJQUFJ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T0FBd0I7UUFDL0MsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWhCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2pGLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsb0ZBQW9GO1lBQ3BGLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQztTQUM1QjtRQUVELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUMxQjtRQUVELE9BQU8sTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRU8sd0JBQXdCLENBQUMsTUFBZ0M7UUFDL0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUV6QixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksS0FBSyxDQUFDO1FBRWhCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnQGJhYmVsL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBVSURlZmluaXRpb25NZXRhZGF0YSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4sIGtlYmFiQ2FzZSwgc2V0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERFRkFVTFRfUExVR0lOUyB9IGZyb20gJy4uL2Ntcy5kZWZhdWx0JztcbmltcG9ydCB7IENPTkZJRyB9IGZyb20gJy4uL2Ntcy5lbGVtZW50cyc7XG5pbXBvcnQgeyBMQVlPVVQgfSBmcm9tICcuLi9jbXMubGF5b3V0cyc7XG5pbXBvcnQge1xuICBERUZBVUxUX1BMVUdJTlNfVE9LRU4sXG4gIEVMRU1FTlRfQ09ORklHLFxuICBFTEVNRU5UX01FVEFEQVRBLFxuICBTSEFSRURfRUxFTUVOVF9NRVRBREFUQSxcbiAgVUlfREVGSU5JVElPTl9NRVRBREFUQSxcbiAgVkVORE9SX01BUCxcbn0gZnJvbSAnLi4vaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBFbGVtZW50TWV0YWRhdGEsIEVsZW1lbnRTdHlsZURlY2xhcmF0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgdmVuZG9yTWFwIH0gZnJvbSAnLi4vdmVuZG9yLW1hcCc7XG5cbmV4cG9ydCBjbGFzcyBFbGVtZW50c1Jlc29sdmVyIHtcbiAgcHVibGljIGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXTtcblxuICBwcml2YXRlIHJlbmRlcmFibGVFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcbiAgcHJpdmF0ZSBzaGFyZWRFbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVpRGVmOiBVSURlZmluaXRpb25NZXRhZGF0YSxcbiAgICBlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10sXG4gICAgc2hhcmVkRWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdID0gW10sXG4gICkge1xuICAgIGNvbnN0IHRyYW5zcGlsZWRFbGVtZW50cyA9IHRoaXMudHJhbnNwaWxlU2NyaXB0cyhlbGVtZW50cyk7XG4gICAgY29uc3QgdHJhbnNwaWxlZFNoYXJlZEVsZW1lbnRzID0gdGhpcy50cmFuc3BpbGVTY3JpcHRzKHNoYXJlZEVsZW1lbnRzKTtcblxuICAgIHRoaXMuc2hhcmVkRWxlbWVudHMgPSB0aGlzLmZsYXR0ZW5FbGVtZW50cyh0cmFuc3BpbGVkRWxlbWVudHMpXG4gICAgICAuZmlsdGVyKGVsID0+IHRoaXMuaXNTaGFyZWRFbGVtZW50KGVsKSlcbiAgICAgIC5jb25jYXQodHJhbnNwaWxlZFNoYXJlZEVsZW1lbnRzKTtcblxuICAgIHRoaXMuZWxlbWVudHMgPSB0cmFuc3BpbGVkRWxlbWVudHMubWFwKGVsID0+IHRoaXMucHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShlbCkpLmZpbHRlcihpc0RlZmluZWQpO1xuXG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHZvaWQge1xuICAgIGlmIChlbGVtZW50LmlzU2hhcmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdHJhbnNwaWxlZEVsZW1lbnRzID0gdGhpcy50cmFuc3BpbGVTY3JpcHRzKFtlbGVtZW50XSk7XG4gICAgdGhpcy5lbGVtZW50cyA9IHRyYW5zcGlsZWRFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5wcm9jZXNzRWxlbWVudE1ldGFkYXRhKGVsKSkuZmlsdGVyKGlzRGVmaW5lZCk7XG4gICAgdGhpcy5yZW5kZXJhYmxlRWxlbWVudHMgPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyh0aGlzLmVsZW1lbnRzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZ0NvbXBvbmVudHMoKTogVHlwZTxhbnk+W10ge1xuICAgIHJldHVybiB0aGlzLnJlbmRlcmFibGVFbGVtZW50cy5tYXAoZWwgPT4gdGhpcy5yZXNvbHZlRWxlbWVudChlbCkpLmZpbHRlcihpc0RlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc3BpbGUoZWw6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFlbC5zY3JpcHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybShlbC5zY3JpcHQsIHtcbiAgICAgIGZpbGVuYW1lOiBlbC5uYW1lICsgJy50cycsXG4gICAgICBwcmVzZXRzOiBbJ3R5cGVzY3JpcHQnXSxcbiAgICAgIHNvdXJjZU1hcHM6ICdpbmxpbmUnLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkLmNvZGUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc3BpbGVTY3JpcHRzKGVsZW1lbnRzOiBFbGVtZW50TWV0YWRhdGFbXSk6IEVsZW1lbnRNZXRhZGF0YVtdIHtcbiAgICByZXR1cm4gZWxlbWVudHMubWFwKGVsID0+ICh7XG4gICAgICAuLi5lbCxcbiAgICAgIHNjcmlwdDogdGhpcy50cmFuc3BpbGUoZWwpLFxuICAgICAgY2hpbGRyZW46IHRoaXMudHJhbnNwaWxlU2NyaXB0cyhlbC5jaGlsZHJlbiksXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBmbGF0dGVuRWxlbWVudHMoZWxlbWVudHM6IEVsZW1lbnRNZXRhZGF0YVtdKTogRWxlbWVudE1ldGFkYXRhW10ge1xuICAgIHJldHVybiBmbGF0dGVuKGVsZW1lbnRzLm1hcChlbCA9PiBbZWwsIC4uLnRoaXMuZmxhdHRlbkVsZW1lbnRzKGVsLmNoaWxkcmVuKV0pKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTaGFyZWRFbGVtZW50KGVsOiBFbGVtZW50TWV0YWRhdGEpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhbihlbC5pc1NoYXJlZCkgJiYgZWwudHlwZSAhPT0gJ1JFRkVSRU5DRSc7XG4gIH1cblxuICBwcml2YXRlIGdldFJlbmRlcmFibGVFbGVtZW50cyhlbGVtZW50czogRWxlbWVudE1ldGFkYXRhW10pOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgY29uc3QgcmVuZGVyYWJsZTogRWxlbWVudE1ldGFkYXRhW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgZWwgb2YgZWxlbWVudHMpIHtcbiAgICAgIGlmICghdGhpcy5pc1NoYXJlZEVsZW1lbnQoZWwpKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZWwuY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+ICF0aGlzLmlzU2hhcmVkRWxlbWVudChjaGlsZCkpO1xuICAgICAgICBjb25zdCByZW5kZXJhYmxlQ2hpbGRyZW4gPSB0aGlzLmdldFJlbmRlcmFibGVFbGVtZW50cyhjaGlsZHJlbik7XG4gICAgICAgIHJlbmRlcmFibGUucHVzaCh7IC4uLmVsLCBjaGlsZHJlbiB9LCAuLi5yZW5kZXJhYmxlQ2hpbGRyZW4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZW5kZXJhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaGFyZWRFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IEVsZW1lbnRNZXRhZGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFlbGVtZW50LnJlZmVyZW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNoYXJlZEVsZW1lbnRzLmZpbmQoZWwgPT4gZWxlbWVudC5yZWZlcmVuY2UgPT09IGVsLm5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRWxlbWVudFRlbXBsYXRlKGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB7XG4gICAgY29uc3QgY29uZmlnID0gQ09ORklHW2VsZW1lbnQudHlwZV07XG4gICAgY29uc3QgdGVtcGxhdGUgPSAhY29uZmlnLnN1cHByZXNzVGVtcGxhdGUgPyBlbGVtZW50LnRlbXBsYXRlIDogJyc7XG5cbiAgICByZXR1cm4gdGVtcGxhdGUgfHwgY29uZmlnLmRlZmF1bHRUZW1wbGF0ZSB8fCAnJztcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVsZW1lbnRTdHlsZXMoZWxlbWVudDogRWxlbWVudE1ldGFkYXRhKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSBDT05GSUdbZWxlbWVudC50eXBlXTtcbiAgICBsZXQgc3R5bGVzID0gIWNvbmZpZy5zdXBwcmVzc1N0eWxlcyA/IGVsZW1lbnQuc3R5bGVzID8/ICcnIDogJyc7XG5cbiAgICBjb25zdCBsYXlvdXQgPSBlbGVtZW50LmxheW91dCAmJiBMQVlPVVRbZWxlbWVudC5sYXlvdXRdO1xuICAgIGlmIChsYXlvdXQ/LnN0eWxlcykge1xuICAgICAgc3R5bGVzICs9IGxheW91dC5zdHlsZXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0eWxlcztcbiAgfVxuXG4gIHByaXZhdGUgcHJvY2Vzc0VsZW1lbnRNZXRhZGF0YShzb3VyY2VFbGVtZW50OiBFbGVtZW50TWV0YWRhdGEpOiBFbGVtZW50TWV0YWRhdGEgfCB1bmRlZmluZWQge1xuICAgIGxldCBmaW5hbEVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YTtcblxuICAgIGlmIChzb3VyY2VFbGVtZW50LnR5cGUgPT09ICdSRUZFUkVOQ0UnKSB7XG4gICAgICBjb25zdCBzaGFyZWRFbGVtZW50ID0gdGhpcy5nZXRTaGFyZWRFbGVtZW50KHNvdXJjZUVsZW1lbnQpO1xuXG4gICAgICBpZiAoIXNoYXJlZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBTaGFyZWQgZWxlbWVudCBcIiR7c291cmNlRWxlbWVudC5yZWZlcmVuY2V9XCIgbm90IGZvdW5kYCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZmluYWxFbGVtZW50ID0ge1xuICAgICAgICAuLi5zb3VyY2VFbGVtZW50LFxuICAgICAgICBjaGlsZHJlbjogdGhpcy5nZXRTaGFyZWRDaGlsZHJlbihzaGFyZWRFbGVtZW50LmNoaWxkcmVuLCBzb3VyY2VFbGVtZW50LnBhdGgpLFxuICAgICAgICB0eXBlOiBzaGFyZWRFbGVtZW50LnR5cGUsXG4gICAgICAgIHRlbXBsYXRlOiBzaGFyZWRFbGVtZW50LnRlbXBsYXRlLFxuICAgICAgICBzdHlsZXM6IChzaGFyZWRFbGVtZW50LnN0eWxlcyA/PyAnJykgKyAnXFxuJyArIChzb3VyY2VFbGVtZW50LnN0eWxlcyA/PyAnJyksXG4gICAgICAgIGlucHV0czoge1xuICAgICAgICAgIC4uLnNoYXJlZEVsZW1lbnQuaW5wdXRzLFxuICAgICAgICAgIC4uLnNvdXJjZUVsZW1lbnQuaW5wdXRzLFxuICAgICAgICB9LFxuICAgICAgICBvdXRwdXRzOiB7XG4gICAgICAgICAgLi4uc2hhcmVkRWxlbWVudC5vdXRwdXRzLFxuICAgICAgICAgIC4uLnNvdXJjZUVsZW1lbnQub3V0cHV0cyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbmFsRWxlbWVudCA9IHNvdXJjZUVsZW1lbnQ7XG4gICAgICBkZWxldGUgc291cmNlRWxlbWVudC5yZWZlcmVuY2U7XG4gICAgfVxuXG4gICAgZmluYWxFbGVtZW50LnRlbXBsYXRlID0gdGhpcy5yZXNvbHZlRWxlbWVudFRlbXBsYXRlKGZpbmFsRWxlbWVudCk7XG4gICAgZmluYWxFbGVtZW50LnN0eWxlcyA9IHRoaXMucmVzb2x2ZUVsZW1lbnRTdHlsZXMoZmluYWxFbGVtZW50KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5maW5hbEVsZW1lbnQsXG4gICAgICBjaGlsZHJlbjogZmluYWxFbGVtZW50LmNoaWxkcmVuLm1hcChjaGlsZCA9PiB0aGlzLnByb2Nlc3NFbGVtZW50TWV0YWRhdGEoY2hpbGQpKS5maWx0ZXIoaXNEZWZpbmVkKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaGFyZWRDaGlsZHJlbihjaGlsZHJlbjogRWxlbWVudE1ldGFkYXRhW10sIHBhcmVudFBhdGg/OiBzdHJpbmcpOiBFbGVtZW50TWV0YWRhdGFbXSB7XG4gICAgcmV0dXJuIGNoaWxkcmVuLm1hcChjID0+IHtcbiAgICAgIGlmICghYy5wYXRoKSB7XG4gICAgICAgIHJldHVybiBjO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBbZWxOYW1lXSA9IGMucGF0aC5zcGxpdCgnLycpLnJldmVyc2UoKTtcbiAgICAgIGNvbnN0IHBhdGggPSBwYXJlbnRQYXRoICsgJy8nICsgZWxOYW1lO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5jLFxuICAgICAgICBwYXRoLFxuICAgICAgICBjaGlsZHJlbjogdGhpcy5nZXRTaGFyZWRDaGlsZHJlbihjLmNoaWxkcmVuLCBwYXRoKSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IFR5cGU8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgY29uZmlnID0gQ09ORklHW2VsZW1lbnQudHlwZV07XG4gICAgY29uc3QgZGVmYXVsdFBsdWdpbnMgPSBERUZBVUxUX1BMVUdJTlNbdGhpcy51aURlZi50eXBlXSA/PyBbXTtcblxuICAgIGlmICghY29uZmlnKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFVua25vd24gZWxlbWVudCB0eXBlIFwiJHtlbGVtZW50LnR5cGV9XCJgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdHlsZXMgPSB0aGlzLmdldEVsZW1lbnRTdHlsZXMoZWxlbWVudCk7XG5cbiAgICBjb25zdCBjb21wb25lbnQ6IENvbXBvbmVudCA9IHtcbiAgICAgIHNlbGVjdG9yOiAndmwtZWxlbWVudCcsXG4gICAgICB0ZW1wbGF0ZTogZWxlbWVudC50ZW1wbGF0ZSxcbiAgICAgIC4uLihzdHlsZXMgPyB7IHN0eWxlczogW3N0eWxlc10gfSA6IHt9KSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IERFRkFVTFRfUExVR0lOU19UT0tFTiwgdXNlVmFsdWU6IGRlZmF1bHRQbHVnaW5zIH0sXG4gICAgICAgIHsgcHJvdmlkZTogVUlfREVGSU5JVElPTl9NRVRBREFUQSwgdXNlVmFsdWU6IHRoaXMudWlEZWYgfSxcbiAgICAgICAgeyBwcm92aWRlOiBFTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogZWxlbWVudCB9LFxuICAgICAgICB7IHByb3ZpZGU6IFNIQVJFRF9FTEVNRU5UX01FVEFEQVRBLCB1c2VWYWx1ZTogdGhpcy5nZXRTaGFyZWRFbGVtZW50KGVsZW1lbnQpIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRUxFTUVOVF9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfSxcbiAgICAgICAgeyBwcm92aWRlOiBWRU5ET1JfTUFQLCB1c2VWYWx1ZTogdmVuZG9yTWFwIH0sXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBjb25zdCBjbXAgPSBDb21wb25lbnQoY29tcG9uZW50KShjbGFzcyBDIGV4dGVuZHMgY29uZmlnLmNvbXBvbmVudCB7fSk7XG5cbiAgICBzZXQoY21wLCAncGF0aCcsIGVsZW1lbnQucGF0aCk7XG5cbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFbGVtZW50U3R5bGVzKGVsZW1lbnQ6IEVsZW1lbnRNZXRhZGF0YSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuXG4gICAgY29uc3QgY29uZmlndXJlZFN0eWxlcyA9IHRoaXMuY29udmVydElubGluZVN0eWxlc1RvQ1NTKGVsZW1lbnQuY29uZmlndXJlZFN0eWxlcyk7XG4gICAgaWYgKGNvbmZpZ3VyZWRTdHlsZXMpIHtcbiAgICAgIC8vIG9yZGVyIGlzIGltcG9ydGFudDogc3R5bGVzIHdyaXR0ZW4gYnkgdXNlciBpbiBDU1MgY29kZSBzaG91bGQgaGFzIGhpZ2hlciBwcmlvcml0eVxuICAgICAgcmVzdWx0ICs9IGNvbmZpZ3VyZWRTdHlsZXM7XG4gICAgfVxuXG4gICAgaWYgKGVsZW1lbnQuc3R5bGVzKSB7XG4gICAgICByZXN1bHQgKz0gZWxlbWVudC5zdHlsZXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRJbmxpbmVTdHlsZXNUb0NTUyhzdHlsZXM/OiBFbGVtZW50U3R5bGVEZWNsYXJhdGlvbik6IHN0cmluZyB7XG4gICAgaWYgKCFzdHlsZXMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoc3R5bGVzKTtcbiAgICBsZXQgcmVzdWx0ID0gJzpob3N0IHtcXG4nO1xuXG4gICAgZW50cmllcy5mb3JFYWNoKChbc3R5bGUsIHZhbHVlXSkgPT4ge1xuICAgICAgcmVzdWx0ICs9IGAgICR7a2ViYWJDYXNlKHN0eWxlKX06JHt2YWx1ZX07XFxuYDtcbiAgICB9KTtcblxuICAgIHJlc3VsdCArPSAnfVxcbic7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
@@ -4,7 +4,7 @@ import { FormControl, Validators } from '@angular/forms';
|
|
4
4
|
import { invalidCharactersValidator, requiredValidator, reservedIdentifierValidator, standardCharSetWithSpaceRegExp, } from '@veloceapps/core/forms';
|
5
5
|
import { cloneDeep, uniq } from 'lodash';
|
6
6
|
import { OverlayPanel } from 'primeng/overlaypanel';
|
7
|
-
import {
|
7
|
+
import { Subject, startWith } from 'rxjs';
|
8
8
|
import { takeUntil, tap, withLatestFrom } from 'rxjs/operators';
|
9
9
|
import { METRICS_STORAGE_KEY } from './metrics.definitions';
|
10
10
|
import * as i0 from "@angular/core";
|
@@ -229,4 +229,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
229
229
|
type: ViewChild,
|
230
230
|
args: [OverlayPanel]
|
231
231
|
}] } });
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvY29tcG9uZW50cy9oZWFkZXIvbWV0cmljcy9tZXRyaWNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2hlYWRlci9tZXRyaWNzL21ldHJpY3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RCxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLGlCQUFpQixFQUNqQiwyQkFBMkIsRUFDM0IsOEJBQThCLEdBQy9CLE1BQU0sd0JBQXdCLENBQUM7QUFRaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7OztBQVE1RCxNQUFNLE9BQU8sZ0JBQWdCO0lBK0IzQixZQUNVLGNBQThCLEVBQzlCLGlCQUFvQyxFQUNwQyxHQUFzQixFQUN0Qix5QkFBb0QsRUFDcEQsaUJBQTJDLEVBQzNDLDhCQUE4RDtRQUw5RCxtQkFBYyxHQUFk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RTtnQkFDakIsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUNYO1lBRUQsT0FBTyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OEdBbFBVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGdHQUNoQixZQUFZLGdEQy9CekIsMm9LQXNKQTs0RkR4SGEsZ0JBQWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUsMEJBQTBCO29CQUN2QyxTQUFTLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO2lTQUdRLFlBQVk7c0JBRGxCLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNob3BwaW5nQ2FydFNldHRpbmdzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBMaW5lSXRlbSwgTWV0cmljUnVsZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHtcbiAgaW52YWxpZENoYXJhY3RlcnNWYWxpZGF0b3IsXG4gIHJlcXVpcmVkVmFsaWRhdG9yLFxuICByZXNlcnZlZElkZW50aWZpZXJWYWxpZGF0b3IsXG4gIHN0YW5kYXJkQ2hhclNldFdpdGhTcGFjZVJlZ0V4cCxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZS9mb3Jtcyc7XG5pbXBvcnQgeyBNZXRyaWMgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY21zJztcbmltcG9ydCB7XG4gIENvbnRleHRTZXJ2aWNlLFxuICBGbG93Q29uZmlndXJhdGlvblNlcnZpY2UsXG4gIE1ldHJpY3NDYWxjdWxhdGlvblNlcnZpY2UsXG4gIFF1b3RlRHJhZnRTZXJ2aWNlLFxufSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIHVuaXEgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgT3ZlcmxheVBhbmVsIH0gZnJvbSAncHJpbWVuZy9vdmVybGF5cGFuZWwnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwsIHRhcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNRVRSSUNTX1NUT1JBR0VfS0VZIH0gZnJvbSAnLi9tZXRyaWNzLmRlZmluaXRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtbWV0cmljcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZXRyaWNzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWV0cmljcy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWV0cmljc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZChPdmVybGF5UGFuZWwpXG4gIHB1YmxpYyBvdmVybGF5UGFuZWwhOiBPdmVybGF5UGFuZWw7XG5cbiAgcHVibGljIGVtcHR5U3RhdGVNZXRyaWNzID0gW1xuICAgIHsgbmFtZTogJ01SUicsIHZhbHVlOiAwIH0sXG4gICAgeyBuYW1lOiAnRS5NUlInLCB2YWx1ZTogMCB9LFxuICAgIHsgbmFtZTogJ05SUicsIHZhbHVlOiAwIH0sXG4gICAgeyBuYW1lOiAnRS5OUlInLCB2YWx1ZTogMCB9LFxuICBdO1xuICBwdWJsaWMgdmlzaWJsZVNlbGVjdGVkTWV0cmljczogTWV0cmljW10gPSBbXTtcbiAgcHVibGljIHJlc3RTZWxlY3RlZE1ldHJpY3M6IE1ldHJpY1tdID0gW107XG4gIHB1YmxpYyBtZXRyaWNzOiBNZXRyaWNbXSA9IFtdO1xuICBwdWJsaWMgZmlsdGVyZWRNZXRyaWNzOiBNZXRyaWNbXSA9IFtdO1xuICBwdWJsaWMgZWRpdGluZ01ldHJpYzogTWV0cmljIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgc2lkZWJhclZpc2libGUgPSBmYWxzZTtcbiAgcHVibGljIHNlYXJjaENvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcbiAgcHVibGljIG5hbWVDb250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJywgW1xuICAgIHJlcXVpcmVkVmFsaWRhdG9yLFxuICAgIGludmFsaWRDaGFyYWN0ZXJzVmFsaWRhdG9yKHN0YW5kYXJkQ2hhclNldFdpdGhTcGFjZVJlZ0V4cCksXG4gICAgcmVzZXJ2ZWRJZGVudGlmaWVyVmFsaWRhdG9yLFxuICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDgwKSxcbiAgXSk7XG5cbiAgcHJpdmF0ZSBhY3RpdmVNZXRyaWNSdWxlczogTWV0cmljUnVsZVtdID0gW107XG4gIHByaXZhdGUgYWN0aXZlTWV0cmljUnVsZU5hbWVzOiBNZXRyaWNbXSA9IFtdO1xuICBwcml2YXRlIGRlZmF1bHRNZXRyaWNSdWxlTmFtZXM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgbWV0cmljS2V5czogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBsYXN0U2F2ZWRNZXRyaWNzOiBNZXRyaWNbXSA9IFtdO1xuICBwcml2YXRlIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcXVvdGVEcmFmdFNlcnZpY2U6IFF1b3RlRHJhZnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIG1ldHJpY3NDYWxjdWxhdGlvblNlcnZpY2U6IE1ldHJpY3NDYWxjdWxhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93Q29uZmlndXJhdGlvbjogRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgc2hvcHBpbmdDYXJ0U2V0dGluZ3NBcGlTZXJ2aWNlOiBTaG9wcGluZ0NhcnRTZXR0aW5nc0FwaVNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVNZXRyaWNSdWxlcyA9IHRoaXMuZmxvd0NvbmZpZ3VyYXRpb24uYWN0aXZlTWV0cmljc1NuYXBzaG90LmZpbHRlcihtZXRyaWNSdWxlID0+XG4gICAgICBtZXRyaWNSdWxlLm1ldHJpY3Muc29tZShtZXRyaWMgPT4gISFtZXRyaWMudG90YWxOYW1lKSxcbiAgICApO1xuICAgIGNvbnN0IGFjdGl2ZU1ldHJpY1J1bGVOYW1lcyA9IHRoaXMuYWN0aXZlTWV0cmljUnVsZXMubWFwKG1ldHJpY1J1bGUgPT4gbWV0cmljUnVsZS50aXRsZSk7XG5cbiAgICB0aGlzLnNob3BwaW5nQ2FydFNldHRpbmdzQXBpU2VydmljZVxuICAgICAgLmdldFNldHRpbmdzTWFwKClcbiAgICAgIC5waXBlKFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLmN1cnJlbnRTdGF0ZSQpLFxuICAgICAgICB0YXAoKFtzZXR0aW5ncywgbGluZUl0ZW1zXSkgPT4ge1xuICAgICAgICAgIHRoaXMuZGVmYXVsdE1ldHJpY1J1bGVOYW1lcyA9IChzZXR0aW5ncz8uREVGQVVMVF9IRUFERVJfTUVUUklDUyB8fCBbXSkuZmlsdGVyKHJ1bGVOYW1lID0+XG4gICAgICAgICAgICBhY3RpdmVNZXRyaWNSdWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpLFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5tZXRyaWNLZXlzID0gdGhpcy5jb2xsZWN0TWV0cmljS2V5cyhsaW5lSXRlbXMpO1xuICAgICAgICAgIHRoaXMuYWN0aXZlTWV0cmljUnVsZU5hbWVzID0gdGhpcy5nZXRBY3RpdmVNZXRyaWNSdWxlTmFtZXMoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY29sbGVjdEF2YWlsYWJsZU1ldHJpY3MoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLCBzdGFydFdpdGgoJycpKS5zdWJzY3JpYmUocXVlcnkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJlZE1ldHJpY3MgPSB0aGlzLm1ldHJpY3MuZmlsdGVyKCh7IG5hbWUgfSkgPT4ge1xuICAgICAgICByZXR1cm4gKG5hbWUgfHwgJycpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocXVlcnk/LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm1ldHJpY3NDYWxjdWxhdGlvblNlcnZpY2Uub25NZXRyaWNzVXBkYXRlJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuU2lkZWJhcigpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlQYW5lbC5oaWRlKCk7XG4gICAgdGhpcy5zaWRlYmFyVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VTaWRlYmFyKCk6IHZvaWQge1xuICAgIHRoaXMuc2lkZWJhclZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLm1ldHJpY3MgPSBjbG9uZURlZXAodGhpcy5sYXN0U2F2ZWRNZXRyaWNzKTtcbiAgICB0aGlzLmVkaXRpbmdNZXRyaWMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zZWFyY2hDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNZXRyaWNWYWx1ZShrZXk6IHN0cmluZyk6IG51bWJlciB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICAgIGlmIChrZXkuc3RhcnRzV2l0aCgnRWZmZWN0aXZlXycpKSB7XG4gICAgICBjb25zdCBjb3JyZWN0S2V5ID0ga2V5LnJlcGxhY2UoJ0VmZmVjdGl2ZV8nLCAnJyk7XG4gICAgICByZXR1cm4gdGhpcy50b051bWJlcihjb250ZXh0LnByb3BlcnRpZXNbY29ycmVjdEtleV0pIC0gdGhpcy50b051bWJlcihjb250ZXh0LnByb3BlcnRpZXNbYFByZXZpb3VzJHtjb3JyZWN0S2V5fWBdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMubWV0cmljc0NhbGN1bGF0aW9uU2VydmljZS5nZXRNZXRyaWNWYWx1ZShrZXkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKE1FVFJJQ1NfU1RPUkFHRV9LRVksIEpTT04uc3RyaW5naWZ5KHRoaXMubWV0cmljcykpO1xuICAgIHRoaXMuc2V0TWV0cmljcygpO1xuICAgIHRoaXMubGFzdFNhdmVkTWV0cmljcyA9IGNsb25lRGVlcCh0aGlzLm1ldHJpY3MpO1xuICAgIHRoaXMuY2xvc2VTaWRlYmFyKCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlTWV0cmljT3JkZXIoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPik6IHZvaWQge1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLm1ldHJpY3MsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5maWx0ZXJlZE1ldHJpY3MgPSB0aGlzLm1ldHJpY3M7XG4gIH1cblxuICBwdWJsaWMgZWRpdE1ldHJpYyhtZXRyaWM6IE1ldHJpYyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVkaXRpbmdNZXRyaWMgJiYgdGhpcy5uYW1lQ29udHJvbC5pbnZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZWRpdGluZ01ldHJpYyA9IG1ldHJpYztcbiAgICB0aGlzLm5hbWVDb250cm9sLnNldFZhbHVlKG1ldHJpYy5uYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlTWV0cmljKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5hbWVDb250cm9sLmludmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZWRpdGluZ01ldHJpYykge1xuICAgICAgdGhpcy5lZGl0aW5nTWV0cmljLm5hbWUgPSB0aGlzLm5hbWVDb250cm9sLnZhbHVlPy50cmltKCk7XG4gICAgfVxuICAgIHRoaXMuZWRpdGluZ01ldHJpYyA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFRvRGVmYXVsdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbGxlY3RBdmFpbGFibGVNZXRyaWNzKHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb2xsZWN0TWV0cmljS2V5cyhsaW5lSXRlbXM6IExpbmVJdGVtW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBbXTtcbiAgICBsaW5lSXRlbXMuZm9yRWFjaChsaW5lSXRlbSA9PiB7XG4gICAgICBrZXlzLnB1c2goLi4uT2JqZWN0LmtleXMobGluZUl0ZW0udG90YWxNZXRyaWNzIHx8IHt9KSk7XG4gICAgICBrZXlzLnB1c2goLi4udGhpcy5jb2xsZWN0TWV0cmljS2V5cyhsaW5lSXRlbS5saW5lSXRlbXMpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdW5pcShrZXlzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TWV0cmljcygpOiB2b2lkIHtcbiAgICBjb25zdCBtZXRyaWNzID0gY2xvbmVEZWVwKHRoaXMubWV0cmljcy5maWx0ZXIoKHsgdmlzaWJsZSB9KSA9PiB2aXNpYmxlKSk7XG5cbiAgICB0aGlzLnZpc2libGVTZWxlY3RlZE1ldHJpY3MgPSBtZXRyaWNzLnNsaWNlKDAsIDQpO1xuICAgIHRoaXMucmVzdFNlbGVjdGVkTWV0cmljcyA9IG1ldHJpY3Muc2xpY2UoNCk7XG4gIH1cblxuICBwcml2YXRlIGNvbGxlY3RBdmFpbGFibGVNZXRyaWNzKHJlc2V0VG9EZWZhdWx0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICBjb25zdCBzdG9yZWRNZXRyaWNzOiBNZXRyaWNbXSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oTUVUUklDU19TVE9SQUdFX0tFWSkgfHwgJ1tdJyk7XG4gICAgY29uc3QgbWV0cmljS2V5cyA9IHRoaXMubWV0cmljS2V5cy5zbGljZSgpO1xuICAgIGNvbnN0IGlzRGVmYXVsdENvbmZpZ3VyYXRpb24gPSAhc3RvcmVkTWV0cmljcy5sZW5ndGggfHwgcmVzZXRUb0RlZmF1bHQ7XG5cbiAgICB0aGlzLm1ldHJpY3MgPSAoaXNEZWZhdWx0Q29uZmlndXJhdGlvbiA/IHRoaXMuYWN0aXZlTWV0cmljUnVsZU5hbWVzIDogc3RvcmVkTWV0cmljcykucmVkdWNlKChyZXN1bHQsIG1ldHJpYykgPT4ge1xuICAgICAgY29uc3QgbWV0cmljS2V5SW5kZXggPSBtZXRyaWNLZXlzLmZpbmRJbmRleChrZXkgPT4ga2V5ID09PSBtZXRyaWMua2V5KTtcblxuICAgICAgaWYgKG1ldHJpY0tleUluZGV4ID49IDApIHtcbiAgICAgICAgbWV0cmljS2V5cy5zcGxpY2UobWV0cmljS2V5SW5kZXgsIDEpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNEZWZhdWx0Q29uZmlndXJhdGlvbiAmJiB0aGlzLmRlZmF1bHRNZXRyaWNSdWxlTmFtZXMuaW5jbHVkZXMobWV0cmljLm5hbWUpKSB7XG4gICAgICAgIG1ldHJpYy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFsuLi5yZXN1bHQsIG1ldHJpY107XG4gICAgfSwgW10gYXMgTWV0cmljW10pO1xuXG4gICAgdGhpcy5tZXRyaWNzID0gW1xuICAgICAgLi4udGhpcy5tZXRyaWNzLFxuICAgICAgLi4ubWV0cmljS2V5cy5tYXAobWV0cmljS2V5ID0+IHtcbiAgICAgICAgcmV0dXJuIHsga2V5OiBtZXRyaWNLZXksIG5hbWU6IHRoaXMuZ2V0TWV0cmljTmFtZShtZXRyaWNLZXkpLCB2aXNpYmxlOiBmYWxzZSB9O1xuICAgICAgfSksXG4gICAgXTtcblxuICAgIC8vIHNvcnQgdGhlIG1ldHJpY3MgYnkgdGhlIG9yZGVyIG9mIGRlZmF1bHQgbWV0cmljIHJ1bGUgbmFtZXMgZnJvbSB0aGUgc2hvcHBpbmcgY2FydCBzZXR0aW5nc1xuICAgIHRoaXMubWV0cmljcyA9IHRoaXMuc29ydE1ldHJpY3MoKTtcblxuICAgIHRoaXMubWV0cmljcyA9IGNsb25lRGVlcCh0aGlzLm1ldHJpY3MpO1xuICAgIHRoaXMuc2VhcmNoQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG5cbiAgICBpZiAoIXJlc2V0VG9EZWZhdWx0KSB7XG4gICAgICB0aGlzLmxhc3RTYXZlZE1ldHJpY3MgPSBjbG9uZURlZXAodGhpcy5tZXRyaWNzKTtcbiAgICAgIHRoaXMuc2V0TWV0cmljcygpO1xuICAgIH1cblxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNZXRyaWNOYW1lKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5hY3RpdmVNZXRyaWNSdWxlcy5maW5kKG1ldHJpY1J1bGUgPT4gbWV0cmljUnVsZS5tZXRyaWNzLmZpbmQobWV0cmljID0+IG1ldHJpYy50b3RhbE5hbWUgPT09IGtleSkpPy50aXRsZSB8fFxuICAgICAga2V5XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9OdW1iZXIodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IG51bWJlciB7XG4gICAgcmV0dXJuICsodmFsdWUgfHwgMCk7XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2ZU1ldHJpY1J1bGVOYW1lcygpOiBNZXRyaWNbXSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlTWV0cmljUnVsZXMucmVkdWNlKChyZXN1bHQsIG1ldHJpY1J1bGUpID0+IHtcbiAgICAgIGNvbnN0IG5hbWUgPSBtZXRyaWNSdWxlLnRpdGxlO1xuICAgICAgY29uc3QgdmlzaWJsZSA9IHRoaXMuZGVmYXVsdE1ldHJpY1J1bGVOYW1lcy5pbmNsdWRlcyhuYW1lKTtcblxuICAgICAgbWV0cmljUnVsZS5tZXRyaWNzLmZvckVhY2gobWV0cmljID0+IHtcbiAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgIGtleTogbWV0cmljLnRvdGFsTmFtZSB8fCBtZXRyaWMubmFtZSxcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHZpc2libGUsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwgW10gYXMgTWV0cmljW10pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNvcnRzIHRoZSBNZXRyaWNzIGFycmF5IGJ5IHRoZSBvcmRlciBvZiB0aGUgZGVmYXVsdCBtZXRyaWMgcnVsZSBuYW1lcyBmcm9tIHRoZSBzaG9wcGluZyBjYXJ0IHNldHRpbmdzLlxuICAgKiBJZiBhIG1ldHJpYyBpcyBpbmNsdWRlZCBpbiB0aGUgbGlzdCBvZiBkZWZhdWx0IG1ldHJpY3MsIGl0IHJhaXNlcyB0aGUgbWV0cmljIHRvIHRoZSB0b3Agb2YgdGhlIG1ldHJpY3MgYXJyYXkuXG4gICAqL1xuICBwcml2YXRlIHNvcnRNZXRyaWNzKCk6IE1ldHJpY1tdIHtcbiAgICByZXR1cm4gdGhpcy5tZXRyaWNzLnNsaWNlKCkuc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgaW5kZXhBID0gdGhpcy5kZWZhdWx0TWV0cmljUnVsZU5hbWVzLmluZGV4T2YoYS5uYW1lKTtcbiAgICAgIGNvbnN0IGluZGV4QiA9IHRoaXMuZGVmYXVsdE1ldHJpY1J1bGVOYW1lcy5pbmRleE9mKGIubmFtZSk7XG5cbiAgICAgIGlmIChpbmRleEEgPT09IC0xICYmIGluZGV4QiA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG5cbiAgICAgIGlmIChpbmRleEEgPT09IC0xKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW5kZXhCID09PSAtMSkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmRleEEgLSBpbmRleEI7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXItbWV0cmljc1wiIChjbGljayk9XCJvdmVybGF5UGFuZWwudG9nZ2xlKCRldmVudClcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgbWV0cmljIG9mIHZpc2libGVTZWxlY3RlZE1ldHJpY3NcIiBjbGFzcz1cIm1ldHJpY1wiPlxuICAgIDxzcGFuIGNsYXNzPVwibmFtZVwiIFt2bEhpZGRlblRleHRUb29sdGlwXT1cIm1ldHJpYy5uYW1lXCIgdG9vbHRpcFN0eWxlQ2xhc3M9XCJtZXRyaWMtdG9vbHRpcFwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiPlxuICAgICAge3sgbWV0cmljLm5hbWUgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJmaWxsZXJcIj48L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgdmxIaWRkZW5UZXh0VG9vbHRpcD1cIiR7eyBnZXRNZXRyaWNWYWx1ZShtZXRyaWMua2V5KSB8IG51bWJlcjogJzEuMi0yJyB9fVwiXG4gICAgICB0b29sdGlwU3R5bGVDbGFzcz1cIm1ldHJpYy10b29sdGlwXCJcbiAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgPlxuICAgICAgJHt7IGdldE1ldHJpY1ZhbHVlKG1ldHJpYy5rZXkpIHwgbnVtYmVyOiAnMS4yLTInIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXZpc2libGVTZWxlY3RlZE1ldHJpY3MubGVuZ3RoXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgbWV0cmljIG9mIGVtcHR5U3RhdGVNZXRyaWNzXCIgY2xhc3M9XCJtZXRyaWMgZW1wdHktc3RhdGUtbWV0cmljXCI+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cIm5hbWVcIlxuICAgICAgICBbdmxIaWRkZW5UZXh0VG9vbHRpcF09XCJtZXRyaWMubmFtZVwiXG4gICAgICAgIHRvb2x0aXBTdHlsZUNsYXNzPVwibWV0cmljLXRvb2x0aXBcIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgPlxuICAgICAgICB7eyBtZXRyaWMubmFtZSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmaWxsZXJcIj48L3NwYW4+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgICAgdmxIaWRkZW5UZXh0VG9vbHRpcD1cIiR7eyBtZXRyaWMudmFsdWUgfCBudW1iZXI6ICcxLjItMicgfX1cIlxuICAgICAgICB0b29sdGlwU3R5bGVDbGFzcz1cIm1ldHJpYy10b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgID5cbiAgICAgICAgJHt7IG1ldHJpYy52YWx1ZSB8IG51bWJlcjogJzEuMi0yJyB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48cC1vdmVybGF5UGFuZWxcbiAgc3R5bGVDbGFzcz1cIm1ldHJpY3Mtb3ZlcmxheS1jb250YWluZXIgY2VudGVyIG5vLXBhZGRpbmdcIlxuICBzaG93VHJhbnNpdGlvbk9wdGlvbnM9XCIwbXNcIlxuICBoaWRlVHJhbnNpdGlvbk9wdGlvbnM9XCIwbXNcIlxuPlxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5LW1ldHJpY3NcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG1ldHJpYyBvZiByZXN0U2VsZWN0ZWRNZXRyaWNzXCIgY2xhc3M9XCJtZXRyaWNcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cIm5hbWVcIlxuICAgICAgICAgIFt2bEhpZGRlblRleHRUb29sdGlwXT1cIm1ldHJpYy5uYW1lXCJcbiAgICAgICAgICB0b29sdGlwU3R5bGVDbGFzcz1cIm1ldHJpYy10b29sdGlwXCJcbiAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgbWV0cmljLm5hbWUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGxlclwiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgICAgICB2bEhpZGRlblRleHRUb29sdGlwPVwiJHt7IGdldE1ldHJpY1ZhbHVlKG1ldHJpYy5rZXkpIHwgbnVtYmVyOiAnMS4yLTInIH19XCJcbiAgICAgICAgICB0b29sdGlwU3R5bGVDbGFzcz1cIm1ldHJpYy10b29sdGlwXCJcbiAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICA+XG4gICAgICAgICAgJHt7IGdldE1ldHJpY1ZhbHVlKG1ldHJpYy5rZXkpIHwgbnVtYmVyOiAnMS4yLTInIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gY2xhc3M9XCJjb25maWdcIiAoY2xpY2spPVwib3BlblNpZGViYXIoKVwiPlxuICAgICAgTWV0cmljcyBDb25maWdcbiAgICAgIDxpIGNsYXNzPVwidmwtaWNvbiB2bC1pY29uLWNoZXZyb24tZG93blwiPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvcC1vdmVybGF5UGFuZWw+XG5cbjxwLXNpZGViYXJcbiAgW3Zpc2libGVdPVwic2lkZWJhclZpc2libGVcIlxuICAodmlzaWJsZUNoYW5nZSk9XCJjbG9zZVNpZGViYXIoKVwiXG4gIHBvc2l0aW9uPVwicmlnaHRcIlxuICBbYmFzZVpJbmRleF09XCIxMDAwXCJcbiAgW3N0eWxlXT1cInsgd2lkdGg6ICczNjBweCcgfVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICBRdW90ZSBNZXRyaWNzIENvbmZpZ1xuICAgICAgPGkgY2xhc3M9XCJ2bC1pY29uIHZsLWljb24tY2xvc2VcIiAoY2xpY2spPVwiY2xvc2VTaWRlYmFyKClcIj48L2k+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWNvbnRhaW5lclwiPlxuICAgICAgPGlucHV0XG4gICAgICAgIGRhdGEtdGVzdC1pZD1cInNlYXJjaFwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hDb250cm9sXCJcbiAgICAgICAgcElucHV0VGV4dFxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBmb3IgbWV0cmlj4oCmXCJcbiAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1tZXRyaWNzXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJjaGFuZ2VNZXRyaWNPcmRlcigkZXZlbnQpXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgbWV0cmljIG9mIGZpbHRlcmVkTWV0cmljc1wiXG4gICAgICAgICAgY2xhc3M9XCJzaWRlYmFyLW1ldHJpY1wiXG4gICAgICAgICAgW2NsYXNzLmVkaXRdPVwibWV0cmljLmtleSA9PT0gZWRpdGluZ01ldHJpYz8ua2V5XCJcbiAgICAgICAgICBjZGtEcmFnXG4gICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhIXNlYXJjaENvbnRyb2wudmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRyYWctaWNvblwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJ2bC1pY29uIHZsLWljb24tcmVvcmRlclwiIGNka0RyYWdIYW5kbGU+PC9pPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1ldHJpY1RlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG1ldHJpYzogbWV0cmljIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCIgKm5nSWY9XCIhZmlsdGVyZWRNZXRyaWNzLmxlbmd0aFwiPlRoZXJlIGFyZSBubyBpdGVtcyBtYXRjaGluZyB5b3VyIHNlYXJjaCBjcml0ZXJpYTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmb290ZXJcIj5cbiAgICAgIDxwLWJ1dHRvblxuICAgICAgICBsYWJlbD1cIlJlc2V0IHRvIGRlZmF1bHRcIlxuICAgICAgICBzdHlsZUNsYXNzPVwicC1idXR0b24tb3V0bGluZWQgcC1idXR0b24tc21cIlxuICAgICAgICAob25DbGljayk9XCJyZXNldFRvRGVmYXVsdCgpXCJcbiAgICAgID48L3AtYnV0dG9uPlxuICAgICAgPHAtYnV0dG9uIGxhYmVsPVwiU2F2ZVwiIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbiBwLWJ1dHRvbi1maWxsZWQgcC1idXR0b24tc21cIiAob25DbGljayk9XCJzYXZlKClcIj48L3AtYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvcC1zaWRlYmFyPlxuXG48bmctdGVtcGxhdGUgI21ldHJpY1RlbXBsYXRlIGxldC1tZXRyaWM9XCJtZXRyaWNcIj5cbiAgPGRpdiAqbmdJZj1cImVkaXRpbmdNZXRyaWM/LmtleSAhPT0gbWV0cmljLmtleVwiIGNsYXNzPVwicHJldmlldy1zdGF0ZVwiPlxuICAgIDxwLWNoZWNrYm94XG4gICAgICBbbmdNb2RlbF09XCJtZXRyaWMudmlzaWJsZVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJtZXRyaWMudmlzaWJsZSA9ICFtZXRyaWMudmlzaWJsZVwiXG4gICAgICBbYmluYXJ5XT1cInRydWVcIlxuICAgICAgY2hlY2tib3hJY29uPVwidmwtaWNvbiB2bC1pY29uLWNoZWNrbWFya1wiXG4gICAgPjwvcC1jaGVja2JveD5cbiAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj57eyBtZXRyaWMubmFtZSB9fTwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiZWRpdGluZ01ldHJpYz8ua2V5ID09PSBtZXRyaWMua2V5XCIgY2xhc3M9XCJlZGl0LXN0YXRlXCI+XG4gICAgPGlucHV0IGRhdGEtdGVzdC1pZD1cIm5hbWVcIiBbZm9ybUNvbnRyb2xdPVwibmFtZUNvbnRyb2xcIiBwSW5wdXRUZXh0IHBsYWNlaG9sZGVyPVwiTWV0cmljIG5hbWVcIiBjbGFzcz1cInctZnVsbFwiIC8+XG4gICAgPHZsLWVycm9yLXRvb2x0aXAgW3Rvb2x0aXBdPVwibmFtZUNvbnRyb2wgfCBlcnJvcjogJ25hbWUnXCIgW3Zpc2libGVdPVwiISFuYW1lQ29udHJvbC5lcnJvcnNcIj48L3ZsLWVycm9yLXRvb2x0aXA+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiZWRpdGluZ01ldHJpYz8ua2V5ICE9PSBtZXRyaWMua2V5XCIgKGNsaWNrKT1cImVkaXRNZXRyaWMobWV0cmljKVwiIGNsYXNzPVwiYWN0aW9uIGVkaXRcIj5cbiAgICA8aSBjbGFzcz1cInZsLWljb24gdmwtaWNvbi1lZGl0LXNtXCI+PC9pPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImVkaXRpbmdNZXRyaWM/LmtleSA9PT0gbWV0cmljLmtleVwiIChjbGljayk9XCJzYXZlTWV0cmljKClcIiBjbGFzcz1cImFjdGlvbiBzYXZlXCI+XG4gICAgPGkgY2xhc3M9XCJ2bC1pY29uIHZsLWljb24tY2hlY2ttYXJrXCI+PC9pPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvY29tcG9uZW50cy9oZWFkZXIvbWV0cmljcy9tZXRyaWNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9jb21wb25lbnRzL2hlYWRlci9tZXRyaWNzL21ldHJpY3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RCxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLGlCQUFpQixFQUNqQiwyQkFBMkIsRUFDM0IsOEJBQThCLEdBQy9CLE1BQU0sd0JBQXdCLENBQUM7QUFPaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7OztBQVE1RCxNQUFNLE9BQU8sZ0JBQWdCO0lBK0IzQixZQUNVLGNBQThCLEVBQzlCLGlCQUFvQyxFQUNwQyxHQUFzQixFQUN0Qix5QkFBb0QsRUFDcEQsaUJBQTJDLEVBQzNDLDhCQUE4RDtRQUw5RCxtQkFBYyxHQUFk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RTtnQkFDakIsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUNYO1lBRUQsT0FBTyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OEdBbFBVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGdHQUNoQixZQUFZLGdEQy9CekIsMm9LQXNKQTs0RkR4SGEsZ0JBQWdCO2tCQU41QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUsMEJBQTBCO29CQUN2QyxTQUFTLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO2lTQUdRLFlBQVk7c0JBRGxCLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNob3BwaW5nQ2FydFNldHRpbmdzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBMaW5lSXRlbSwgTWV0cmljUnVsZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHtcbiAgaW52YWxpZENoYXJhY3RlcnNWYWxpZGF0b3IsXG4gIHJlcXVpcmVkVmFsaWRhdG9yLFxuICByZXNlcnZlZElkZW50aWZpZXJWYWxpZGF0b3IsXG4gIHN0YW5kYXJkQ2hhclNldFdpdGhTcGFjZVJlZ0V4cCxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZS9mb3Jtcyc7XG5pbXBvcnQge1xuICBDb250ZXh0U2VydmljZSxcbiAgRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICBNZXRyaWNzQ2FsY3VsYXRpb25TZXJ2aWNlLFxuICBRdW90ZURyYWZ0U2VydmljZSxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCB1bmlxIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE92ZXJsYXlQYW5lbCB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcbmltcG9ydCB7IFN1YmplY3QsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCB0YXAsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWV0cmljIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgTUVUUklDU19TVE9SQUdFX0tFWSB9IGZyb20gJy4vbWV0cmljcy5kZWZpbml0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZsLW1ldHJpY3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWV0cmljcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21ldHJpY3MuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1ldHJpY3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoT3ZlcmxheVBhbmVsKVxuICBwdWJsaWMgb3ZlcmxheVBhbmVsITogT3ZlcmxheVBhbmVsO1xuXG4gIHB1YmxpYyBlbXB0eVN0YXRlTWV0cmljcyA9IFtcbiAgICB7IG5hbWU6ICdNUlInLCB2YWx1ZTogMCB9LFxuICAgIHsgbmFtZTogJ0UuTVJSJywgdmFsdWU6IDAgfSxcbiAgICB7IG5hbWU6ICdOUlInLCB2YWx1ZTogMCB9LFxuICAgIHsgbmFtZTogJ0UuTlJSJywgdmFsdWU6IDAgfSxcbiAgXTtcbiAgcHVibGljIHZpc2libGVTZWxlY3RlZE1ldHJpY3M6IE1ldHJpY1tdID0gW107XG4gIHB1YmxpYyByZXN0U2VsZWN0ZWRNZXRyaWNzOiBNZXRyaWNbXSA9IFtdO1xuICBwdWJsaWMgbWV0cmljczogTWV0cmljW10gPSBbXTtcbiAgcHVibGljIGZpbHRlcmVkTWV0cmljczogTWV0cmljW10gPSBbXTtcbiAgcHVibGljIGVkaXRpbmdNZXRyaWM6IE1ldHJpYyB8IHVuZGVmaW5lZDtcbiAgcHVibGljIHNpZGViYXJWaXNpYmxlID0gZmFsc2U7XG4gIHB1YmxpYyBzZWFyY2hDb250cm9sOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gIHB1YmxpYyBuYW1lQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFtcbiAgICByZXF1aXJlZFZhbGlkYXRvcixcbiAgICBpbnZhbGlkQ2hhcmFjdGVyc1ZhbGlkYXRvcihzdGFuZGFyZENoYXJTZXRXaXRoU3BhY2VSZWdFeHApLFxuICAgIHJlc2VydmVkSWRlbnRpZmllclZhbGlkYXRvcixcbiAgICBWYWxpZGF0b3JzLm1heExlbmd0aCg4MCksXG4gIF0pO1xuXG4gIHByaXZhdGUgYWN0aXZlTWV0cmljUnVsZXM6IE1ldHJpY1J1bGVbXSA9IFtdO1xuICBwcml2YXRlIGFjdGl2ZU1ldHJpY1J1bGVOYW1lczogTWV0cmljW10gPSBbXTtcbiAgcHJpdmF0ZSBkZWZhdWx0TWV0cmljUnVsZU5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIG1ldHJpY0tleXM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgbGFzdFNhdmVkTWV0cmljczogTWV0cmljW10gPSBbXTtcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHF1b3RlRHJhZnRTZXJ2aWNlOiBRdW90ZURyYWZ0U2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBtZXRyaWNzQ2FsY3VsYXRpb25TZXJ2aWNlOiBNZXRyaWNzQ2FsY3VsYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0NvbmZpZ3VyYXRpb246IEZsb3dDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNob3BwaW5nQ2FydFNldHRpbmdzQXBpU2VydmljZTogU2hvcHBpbmdDYXJ0U2V0dGluZ3NBcGlTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlTWV0cmljUnVsZXMgPSB0aGlzLmZsb3dDb25maWd1cmF0aW9uLmFjdGl2ZU1ldHJpY3NTbmFwc2hvdC5maWx0ZXIobWV0cmljUnVsZSA9PlxuICAgICAgbWV0cmljUnVsZS5tZXRyaWNzLnNvbWUobWV0cmljID0+ICEhbWV0cmljLnRvdGFsTmFtZSksXG4gICAgKTtcbiAgICBjb25zdCBhY3RpdmVNZXRyaWNSdWxlTmFtZXMgPSB0aGlzLmFjdGl2ZU1ldHJpY1J1bGVzLm1hcChtZXRyaWNSdWxlID0+IG1ldHJpY1J1bGUudGl0bGUpO1xuXG4gICAgdGhpcy5zaG9wcGluZ0NhcnRTZXR0aW5nc0FwaVNlcnZpY2VcbiAgICAgIC5nZXRTZXR0aW5nc01hcCgpXG4gICAgICAucGlwZShcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5xdW90ZURyYWZ0U2VydmljZS5jdXJyZW50U3RhdGUkKSxcbiAgICAgICAgdGFwKChbc2V0dGluZ3MsIGxpbmVJdGVtc10pID0+IHtcbiAgICAgICAgICB0aGlzLmRlZmF1bHRNZXRyaWNSdWxlTmFtZXMgPSAoc2V0dGluZ3M/LkRFRkFVTFRfSEVBREVSX01FVFJJQ1MgfHwgW10pLmZpbHRlcihydWxlTmFtZSA9PlxuICAgICAgICAgICAgYWN0aXZlTWV0cmljUnVsZU5hbWVzLmluY2x1ZGVzKHJ1bGVOYW1lKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMubWV0cmljS2V5cyA9IHRoaXMuY29sbGVjdE1ldHJpY0tleXMobGluZUl0ZW1zKTtcbiAgICAgICAgICB0aGlzLmFjdGl2ZU1ldHJpY1J1bGVOYW1lcyA9IHRoaXMuZ2V0QWN0aXZlTWV0cmljUnVsZU5hbWVzKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbGxlY3RBdmFpbGFibGVNZXRyaWNzKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSwgc3RhcnRXaXRoKCcnKSkuc3Vic2NyaWJlKHF1ZXJ5ID0+IHtcbiAgICAgIHRoaXMuZmlsdGVyZWRNZXRyaWNzID0gdGhpcy5tZXRyaWNzLmZpbHRlcigoeyBuYW1lIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIChuYW1lIHx8ICcnKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHF1ZXJ5Py50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5tZXRyaWNzQ2FsY3VsYXRpb25TZXJ2aWNlLm9uTWV0cmljc1VwZGF0ZSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb3BlblNpZGViYXIoKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5UGFuZWwuaGlkZSgpO1xuICAgIHRoaXMuc2lkZWJhclZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGNsb3NlU2lkZWJhcigpOiB2b2lkIHtcbiAgICB0aGlzLnNpZGViYXJWaXNpYmxlID0gZmFsc2U7XG4gICAgdGhpcy5tZXRyaWNzID0gY2xvbmVEZWVwKHRoaXMubGFzdFNhdmVkTWV0cmljcyk7XG4gICAgdGhpcy5lZGl0aW5nTWV0cmljID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuc2VhcmNoQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWV0cmljVmFsdWUoa2V5OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcbiAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoJ0VmZmVjdGl2ZV8nKSkge1xuICAgICAgY29uc3QgY29ycmVjdEtleSA9IGtleS5yZXBsYWNlKCdFZmZlY3RpdmVfJywgJycpO1xuICAgICAgcmV0dXJuIHRoaXMudG9OdW1iZXIoY29udGV4dC5wcm9wZXJ0aWVzW2NvcnJlY3RLZXldKSAtIHRoaXMudG9OdW1iZXIoY29udGV4dC5wcm9wZXJ0aWVzW2BQcmV2aW91cyR7Y29ycmVjdEtleX1gXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLm1ldHJpY3NDYWxjdWxhdGlvblNlcnZpY2UuZ2V0TWV0cmljVmFsdWUoa2V5KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2F2ZSgpOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShNRVRSSUNTX1NUT1JBR0VfS0VZLCBKU09OLnN0cmluZ2lmeSh0aGlzLm1ldHJpY3MpKTtcbiAgICB0aGlzLnNldE1ldHJpY3MoKTtcbiAgICB0aGlzLmxhc3RTYXZlZE1ldHJpY3MgPSBjbG9uZURlZXAodGhpcy5tZXRyaWNzKTtcbiAgICB0aGlzLmNsb3NlU2lkZWJhcigpO1xuICB9XG5cbiAgcHVibGljIGNoYW5nZU1ldHJpY09yZGVyKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pOiB2b2lkIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5tZXRyaWNzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMuZmlsdGVyZWRNZXRyaWNzID0gdGhpcy5tZXRyaWNzO1xuICB9XG5cbiAgcHVibGljIGVkaXRNZXRyaWMobWV0cmljOiBNZXRyaWMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lZGl0aW5nTWV0cmljICYmIHRoaXMubmFtZUNvbnRyb2wuaW52YWxpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmVkaXRpbmdNZXRyaWMgPSBtZXRyaWM7XG4gICAgdGhpcy5uYW1lQ29udHJvbC5zZXRWYWx1ZShtZXRyaWMubmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZU1ldHJpYygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5uYW1lQ29udHJvbC5pbnZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmVkaXRpbmdNZXRyaWMpIHtcbiAgICAgIHRoaXMuZWRpdGluZ01ldHJpYy5uYW1lID0gdGhpcy5uYW1lQ29udHJvbC52YWx1ZT8udHJpbSgpO1xuICAgIH1cbiAgICB0aGlzLmVkaXRpbmdNZXRyaWMgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRUb0RlZmF1bHQoKTogdm9pZCB7XG4gICAgdGhpcy5jb2xsZWN0QXZhaWxhYmxlTWV0cmljcyh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY29sbGVjdE1ldHJpY0tleXMobGluZUl0ZW1zOiBMaW5lSXRlbVtdKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gW107XG4gICAgbGluZUl0ZW1zLmZvckVhY2gobGluZUl0ZW0gPT4ge1xuICAgICAga2V5cy5wdXNoKC4uLk9iamVjdC5rZXlzKGxpbmVJdGVtLnRvdGFsTWV0cmljcyB8fCB7fSkpO1xuICAgICAga2V5cy5wdXNoKC4uLnRoaXMuY29sbGVjdE1ldHJpY0tleXMobGluZUl0ZW0ubGluZUl0ZW1zKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHVuaXEoa2V5cyk7XG4gIH1cblxuICBwcml2YXRlIHNldE1ldHJpY3MoKTogdm9pZCB7XG4gICAgY29uc3QgbWV0cmljcyA9IGNsb25lRGVlcCh0aGlzLm1ldHJpY3MuZmlsdGVyKCh7IHZpc2libGUgfSkgPT4gdmlzaWJsZSkpO1xuXG4gICAgdGhpcy52aXNpYmxlU2VsZWN0ZWRNZXRyaWNzID0gbWV0cmljcy5zbGljZSgwLCA0KTtcbiAgICB0aGlzLnJlc3RTZWxlY3RlZE1ldHJpY3MgPSBtZXRyaWNzLnNsaWNlKDQpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb2xsZWN0QXZhaWxhYmxlTWV0cmljcyhyZXNldFRvRGVmYXVsdCA9IGZhbHNlKTogdm9pZCB7XG4gICAgY29uc3Qgc3RvcmVkTWV0cmljczogTWV0cmljW10gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKE1FVFJJQ1NfU1RPUkFHRV9LRVkpIHx8ICdbXScpO1xuICAgIGNvbnN0IG1ldHJpY0tleXMgPSB0aGlzLm1ldHJpY0tleXMuc2xpY2UoKTtcbiAgICBjb25zdCBpc0RlZmF1bHRDb25maWd1cmF0aW9uID0gIXN0b3JlZE1ldHJpY3MubGVuZ3RoIHx8IHJlc2V0VG9EZWZhdWx0O1xuXG4gICAgdGhpcy5tZXRyaWNzID0gKGlzRGVmYXVsdENvbmZpZ3VyYXRpb24gPyB0aGlzLmFjdGl2ZU1ldHJpY1J1bGVOYW1lcyA6IHN0b3JlZE1ldHJpY3MpLnJlZHVjZSgocmVzdWx0LCBtZXRyaWMpID0+IHtcbiAgICAgIGNvbnN0IG1ldHJpY0tleUluZGV4ID0gbWV0cmljS2V5cy5maW5kSW5kZXgoa2V5ID0+IGtleSA9PT0gbWV0cmljLmtleSk7XG5cbiAgICAgIGlmIChtZXRyaWNLZXlJbmRleCA+PSAwKSB7XG4gICAgICAgIG1ldHJpY0tleXMuc3BsaWNlKG1ldHJpY0tleUluZGV4LCAxKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzRGVmYXVsdENvbmZpZ3VyYXRpb24gJiYgdGhpcy5kZWZhdWx0TWV0cmljUnVsZU5hbWVzLmluY2x1ZGVzKG1ldHJpYy5uYW1lKSkge1xuICAgICAgICBtZXRyaWMudmlzaWJsZSA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbLi4ucmVzdWx0LCBtZXRyaWNdO1xuICAgIH0sIFtdIGFzIE1ldHJpY1tdKTtcblxuICAgIHRoaXMubWV0cmljcyA9IFtcbiAgICAgIC4uLnRoaXMubWV0cmljcyxcbiAgICAgIC4uLm1ldHJpY0tleXMubWFwKG1ldHJpY0tleSA9PiB7XG4gICAgICAgIHJldHVybiB7IGtleTogbWV0cmljS2V5LCBuYW1lOiB0aGlzLmdldE1ldHJpY05hbWUobWV0cmljS2V5KSwgdmlzaWJsZTogZmFsc2UgfTtcbiAgICAgIH0pLFxuICAgIF07XG5cbiAgICAvLyBzb3J0IHRoZSBtZXRyaWNzIGJ5IHRoZSBvcmRlciBvZiBkZWZhdWx0IG1ldHJpYyBydWxlIG5hbWVzIGZyb20gdGhlIHNob3BwaW5nIGNhcnQgc2V0dGluZ3NcbiAgICB0aGlzLm1ldHJpY3MgPSB0aGlzLnNvcnRNZXRyaWNzKCk7XG5cbiAgICB0aGlzLm1ldHJpY3MgPSBjbG9uZURlZXAodGhpcy5tZXRyaWNzKTtcbiAgICB0aGlzLnNlYXJjaENvbnRyb2wuc2V0VmFsdWUoJycpO1xuXG4gICAgaWYgKCFyZXNldFRvRGVmYXVsdCkge1xuICAgICAgdGhpcy5sYXN0U2F2ZWRNZXRyaWNzID0gY2xvbmVEZWVwKHRoaXMubWV0cmljcyk7XG4gICAgICB0aGlzLnNldE1ldHJpY3MoKTtcbiAgICB9XG5cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWV0cmljTmFtZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuYWN0aXZlTWV0cmljUnVsZXMuZmluZChtZXRyaWNSdWxlID0+IG1ldHJpY1J1bGUubWV0cmljcy5maW5kKG1ldHJpYyA9PiBtZXRyaWMudG90YWxOYW1lID09PSBrZXkpKT8udGl0bGUgfHxcbiAgICAgIGtleVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHRvTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBudW1iZXIge1xuICAgIHJldHVybiArKHZhbHVlIHx8IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3RpdmVNZXRyaWNSdWxlTmFtZXMoKTogTWV0cmljW10ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZU1ldHJpY1J1bGVzLnJlZHVjZSgocmVzdWx0LCBtZXRyaWNSdWxlKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gbWV0cmljUnVsZS50aXRsZTtcbiAgICAgIGNvbnN0IHZpc2libGUgPSB0aGlzLmRlZmF1bHRNZXRyaWNSdWxlTmFtZXMuaW5jbHVkZXMobmFtZSk7XG5cbiAgICAgIG1ldHJpY1J1bGUubWV0cmljcy5mb3JFYWNoKG1ldHJpYyA9PiB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICBrZXk6IG1ldHJpYy50b3RhbE5hbWUgfHwgbWV0cmljLm5hbWUsXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICB2aXNpYmxlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sIFtdIGFzIE1ldHJpY1tdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTb3J0cyB0aGUgTWV0cmljcyBhcnJheSBieSB0aGUgb3JkZXIgb2YgdGhlIGRlZmF1bHQgbWV0cmljIHJ1bGUgbmFtZXMgZnJvbSB0aGUgc2hvcHBpbmcgY2FydCBzZXR0aW5ncy5cbiAgICogSWYgYSBtZXRyaWMgaXMgaW5jbHVkZWQgaW4gdGhlIGxpc3Qgb2YgZGVmYXVsdCBtZXRyaWNzLCBpdCByYWlzZXMgdGhlIG1ldHJpYyB0byB0aGUgdG9wIG9mIHRoZSBtZXRyaWNzIGFycmF5LlxuICAgKi9cbiAgcHJpdmF0ZSBzb3J0TWV0cmljcygpOiBNZXRyaWNbXSB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljcy5zbGljZSgpLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4QSA9IHRoaXMuZGVmYXVsdE1ldHJpY1J1bGVOYW1lcy5pbmRleE9mKGEubmFtZSk7XG4gICAgICBjb25zdCBpbmRleEIgPSB0aGlzLmRlZmF1bHRNZXRyaWNSdWxlTmFtZXMuaW5kZXhPZihiLm5hbWUpO1xuXG4gICAgICBpZiAoaW5kZXhBID09PSAtMSAmJiBpbmRleEIgPT09IC0xKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW5kZXhBID09PSAtMSkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cblxuICAgICAgaWYgKGluZGV4QiA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5kZXhBIC0gaW5kZXhCO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaGVhZGVyLW1ldHJpY3NcIiAoY2xpY2spPVwib3ZlcmxheVBhbmVsLnRvZ2dsZSgkZXZlbnQpXCI+XG4gIDxkaXYgKm5nRm9yPVwibGV0IG1ldHJpYyBvZiB2aXNpYmxlU2VsZWN0ZWRNZXRyaWNzXCIgY2xhc3M9XCJtZXRyaWNcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm5hbWVcIiBbdmxIaWRkZW5UZXh0VG9vbHRpcF09XCJtZXRyaWMubmFtZVwiIHRvb2x0aXBTdHlsZUNsYXNzPVwibWV0cmljLXRvb2x0aXBcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIj5cbiAgICAgIHt7IG1ldHJpYy5uYW1lIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiZmlsbGVyXCI+PC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInZhbHVlXCJcbiAgICAgIHZsSGlkZGVuVGV4dFRvb2x0aXA9XCIke3sgZ2V0TWV0cmljVmFsdWUobWV0cmljLmtleSkgfCBudW1iZXI6ICcxLjItMicgfX1cIlxuICAgICAgdG9vbHRpcFN0eWxlQ2xhc3M9XCJtZXRyaWMtdG9vbHRpcFwiXG4gICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxuICAgID5cbiAgICAgICR7eyBnZXRNZXRyaWNWYWx1ZShtZXRyaWMua2V5KSB8IG51bWJlcjogJzEuMi0yJyB9fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF2aXNpYmxlU2VsZWN0ZWRNZXRyaWNzLmxlbmd0aFwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IG1ldHJpYyBvZiBlbXB0eVN0YXRlTWV0cmljc1wiIGNsYXNzPVwibWV0cmljIGVtcHR5LXN0YXRlLW1ldHJpY1wiPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJuYW1lXCJcbiAgICAgICAgW3ZsSGlkZGVuVGV4dFRvb2x0aXBdPVwibWV0cmljLm5hbWVcIlxuICAgICAgICB0b29sdGlwU3R5bGVDbGFzcz1cIm1ldHJpYy10b29sdGlwXCJcbiAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgID5cbiAgICAgICAge3sgbWV0cmljLm5hbWUgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZmlsbGVyXCI+PC9zcGFuPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgIHZsSGlkZGVuVGV4dFRvb2x0aXA9XCIke3sgbWV0cmljLnZhbHVlIHwgbnVtYmVyOiAnMS4yLTInIH19XCJcbiAgICAgICAgdG9vbHRpcFN0eWxlQ2xhc3M9XCJtZXRyaWMtdG9vbHRpcFwiXG4gICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICA+XG4gICAgICAgICR7eyBtZXRyaWMudmFsdWUgfCBudW1iZXI6ICcxLjItMicgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPHAtb3ZlcmxheVBhbmVsXG4gIHN0eWxlQ2xhc3M9XCJtZXRyaWNzLW92ZXJsYXktY29udGFpbmVyIGNlbnRlciBuby1wYWRkaW5nXCJcbiAgc2hvd1RyYW5zaXRpb25PcHRpb25zPVwiMG1zXCJcbiAgaGlkZVRyYW5zaXRpb25PcHRpb25zPVwiMG1zXCJcbj5cbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheS1tZXRyaWNzXCI+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBtZXRyaWMgb2YgcmVzdFNlbGVjdGVkTWV0cmljc1wiIGNsYXNzPVwibWV0cmljXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJuYW1lXCJcbiAgICAgICAgICBbdmxIaWRkZW5UZXh0VG9vbHRpcF09XCJtZXRyaWMubmFtZVwiXG4gICAgICAgICAgdG9vbHRpcFN0eWxlQ2xhc3M9XCJtZXRyaWMtdG9vbHRpcFwiXG4gICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IG1ldHJpYy5uYW1lIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxsZXJcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXG4gICAgICAgICAgdmxIaWRkZW5UZXh0VG9vbHRpcD1cIiR7eyBnZXRNZXRyaWNWYWx1ZShtZXRyaWMua2V5KSB8IG51bWJlcjogJzEuMi0yJyB9fVwiXG4gICAgICAgICAgdG9vbHRpcFN0eWxlQ2xhc3M9XCJtZXRyaWMtdG9vbHRpcFwiXG4gICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgPlxuICAgICAgICAgICR7eyBnZXRNZXRyaWNWYWx1ZShtZXRyaWMua2V5KSB8IG51bWJlcjogJzEuMi0yJyB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiY29uZmlnXCIgKGNsaWNrKT1cIm9wZW5TaWRlYmFyKClcIj5cbiAgICAgIE1ldHJpY3MgQ29uZmlnXG4gICAgICA8aSBjbGFzcz1cInZsLWljb24gdmwtaWNvbi1jaGV2cm9uLWRvd25cIj48L2k+XG4gICAgPC9idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG48L3Atb3ZlcmxheVBhbmVsPlxuXG48cC1zaWRlYmFyXG4gIFt2aXNpYmxlXT1cInNpZGViYXJWaXNpYmxlXCJcbiAgKHZpc2libGVDaGFuZ2UpPVwiY2xvc2VTaWRlYmFyKClcIlxuICBwb3NpdGlvbj1cInJpZ2h0XCJcbiAgW2Jhc2VaSW5kZXhdPVwiMTAwMFwiXG4gIFtzdHlsZV09XCJ7IHdpZHRoOiAnMzYwcHgnIH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICAgICAgUXVvdGUgTWV0cmljcyBDb25maWdcbiAgICAgIDxpIGNsYXNzPVwidmwtaWNvbiB2bC1pY29uLWNsb3NlXCIgKGNsaWNrKT1cImNsb3NlU2lkZWJhcigpXCI+PC9pPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBkYXRhLXRlc3QtaWQ9XCJzZWFyY2hcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoQ29udHJvbFwiXG4gICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggZm9yIG1ldHJpY+KAplwiXG4gICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNpZGViYXItbWV0cmljc1wiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiY2hhbmdlTWV0cmljT3JkZXIoJGV2ZW50KVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IG1ldHJpYyBvZiBmaWx0ZXJlZE1ldHJpY3NcIlxuICAgICAgICAgIGNsYXNzPVwic2lkZWJhci1tZXRyaWNcIlxuICAgICAgICAgIFtjbGFzcy5lZGl0XT1cIm1ldHJpYy5rZXkgPT09IGVkaXRpbmdNZXRyaWM/LmtleVwiXG4gICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiISFzZWFyY2hDb250cm9sLnZhbHVlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcmFnLWljb25cIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwidmwtaWNvbiB2bC1pY29uLXJlb3JkZXJcIiBjZGtEcmFnSGFuZGxlPjwvaT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJtZXRyaWNUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBtZXRyaWM6IG1ldHJpYyB9XCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwiIWZpbHRlcmVkTWV0cmljcy5sZW5ndGhcIj5UaGVyZSBhcmUgbm8gaXRlbXMgbWF0Y2hpbmcgeW91ciBzZWFyY2ggY3JpdGVyaWE8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyXCI+XG4gICAgICA8cC1idXR0b25cbiAgICAgICAgbGFiZWw9XCJSZXNldCB0byBkZWZhdWx0XCJcbiAgICAgICAgc3R5bGVDbGFzcz1cInAtYnV0dG9uLW91dGxpbmVkIHAtYnV0dG9uLXNtXCJcbiAgICAgICAgKG9uQ2xpY2spPVwicmVzZXRUb0RlZmF1bHQoKVwiXG4gICAgICA+PC9wLWJ1dHRvbj5cbiAgICAgIDxwLWJ1dHRvbiBsYWJlbD1cIlNhdmVcIiBzdHlsZUNsYXNzPVwicC1idXR0b24gcC1idXR0b24tZmlsbGVkIHAtYnV0dG9uLXNtXCIgKG9uQ2xpY2spPVwic2F2ZSgpXCI+PC9wLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3Atc2lkZWJhcj5cblxuPG5nLXRlbXBsYXRlICNtZXRyaWNUZW1wbGF0ZSBsZXQtbWV0cmljPVwibWV0cmljXCI+XG4gIDxkaXYgKm5nSWY9XCJlZGl0aW5nTWV0cmljPy5rZXkgIT09IG1ldHJpYy5rZXlcIiBjbGFzcz1cInByZXZpZXctc3RhdGVcIj5cbiAgICA8cC1jaGVja2JveFxuICAgICAgW25nTW9kZWxdPVwibWV0cmljLnZpc2libGVcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwibWV0cmljLnZpc2libGUgPSAhbWV0cmljLnZpc2libGVcIlxuICAgICAgW2JpbmFyeV09XCJ0cnVlXCJcbiAgICAgIGNoZWNrYm94SWNvbj1cInZsLWljb24gdmwtaWNvbi1jaGVja21hcmtcIlxuICAgID48L3AtY2hlY2tib3g+XG4gICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgbWV0cmljLm5hbWUgfX08L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImVkaXRpbmdNZXRyaWM/LmtleSA9PT0gbWV0cmljLmtleVwiIGNsYXNzPVwiZWRpdC1zdGF0ZVwiPlxuICAgIDxpbnB1dCBkYXRhLXRlc3QtaWQ9XCJuYW1lXCIgW2Zvcm1Db250cm9sXT1cIm5hbWVDb250cm9sXCIgcElucHV0VGV4dCBwbGFjZWhvbGRlcj1cIk1ldHJpYyBuYW1lXCIgY2xhc3M9XCJ3LWZ1bGxcIiAvPlxuICAgIDx2bC1lcnJvci10b29sdGlwIFt0b29sdGlwXT1cIm5hbWVDb250cm9sIHwgZXJyb3I6ICduYW1lJ1wiIFt2aXNpYmxlXT1cIiEhbmFtZUNvbnRyb2wuZXJyb3JzXCI+PC92bC1lcnJvci10b29sdGlwPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImVkaXRpbmdNZXRyaWM/LmtleSAhPT0gbWV0cmljLmtleVwiIChjbGljayk9XCJlZGl0TWV0cmljKG1ldHJpYylcIiBjbGFzcz1cImFjdGlvbiBlZGl0XCI+XG4gICAgPGkgY2xhc3M9XCJ2bC1pY29uIHZsLWljb24tZWRpdC1zbVwiPjwvaT5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJlZGl0aW5nTWV0cmljPy5rZXkgPT09IG1ldHJpYy5rZXlcIiAoY2xpY2spPVwic2F2ZU1ldHJpYygpXCIgY2xhc3M9XCJhY3Rpb24gc2F2ZVwiPlxuICAgIDxpIGNsYXNzPVwidmwtaWNvbiB2bC1pY29uLWNoZWNrbWFya1wiPjwvaT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
@@ -1,3 +1,4 @@
|
|
1
1
|
export * from './context-route.types';
|
2
2
|
export * from './flow-customization.types';
|
3
|
-
|
3
|
+
export * from './metrics.types';
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRleHQtcm91dGUudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9mbG93LWN1c3RvbWl6YXRpb24udHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXRyaWNzLnR5cGVzJztcbiJdfQ==
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy90eXBlcy9tZXRyaWNzLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE1ldHJpYyB7XG4gIGtleTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHZpc2libGU6IGJvb2xlYW47XG59XG4iXX0=
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { __decorate, __param, __awaiter, __rest } from 'tslib';
|
2
2
|
import * as i0 from '@angular/core';
|
3
|
-
import { InjectionToken, Component, ChangeDetectionStrategy, Inject, Injector, Injectable, ViewContainerRef, SkipSelf, ViewChild, Input, ViewEncapsulation, NgModule, Directive } from '@angular/core';
|
3
|
+
import { InjectionToken, Component, ChangeDetectionStrategy, Inject, Injector, Injectable, ViewContainerRef, SkipSelf, ViewChild, Input, ViewEncapsulation, NgModule, Directive, ElementRef } from '@angular/core';
|
4
4
|
import * as rxjs from 'rxjs';
|
5
5
|
import { BehaviorSubject, Subject, of, map, tap, switchMap, startWith, distinctUntilChanged, filter, ReplaySubject, noop, take, Observable, takeUntil, forkJoin, catchError, combineLatest, from } from 'rxjs';
|
6
6
|
import * as lodash from 'lodash';
|
7
|
-
import { compact, isArray, pull, flatten, set, kebabCase, cloneDeep } from 'lodash';
|
7
|
+
import { compact, isArray, pull, merge, omit, flatten, set, kebabCase, cloneDeep } from 'lodash';
|
8
8
|
import { applyPatch } from 'rfc6902';
|
9
9
|
import * as i2 from '@veloceapps/sdk/core';
|
10
10
|
import { ConfigurationService, LineItemWorker, generateLineItem, getAttributeValue, QuoteDraftService, FlowConfigurationService, ProductImagesService, ContextService, lineItemUtils, SdkCoreModule, UI_DEFINITION_VERSION } from '@veloceapps/sdk/core';
|
@@ -962,6 +962,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
962
962
|
type: Directive
|
963
963
|
}], ctorParameters: function () { return [{ type: ElementComponent }]; } });
|
964
964
|
|
965
|
+
class RegionPlugin {
|
966
|
+
constructor(host) {
|
967
|
+
this.host = host;
|
968
|
+
this.destroy$ = new Subject();
|
969
|
+
this.metadata = this.host.injector.get(ELEMENT_METADATA);
|
970
|
+
this.document = this.host.injector.get(DOCUMENT);
|
971
|
+
this.el = this.host.injector.get(ElementRef);
|
972
|
+
const runtimeEditorService = this.host.injector.get(RuntimeEditorService);
|
973
|
+
runtimeEditorService.editorMode$
|
974
|
+
.pipe(tap(editMode => {
|
975
|
+
var _a;
|
976
|
+
this.el.nativeElement.style.outline = editMode ? 'solid 1px #dce5ef' : '';
|
977
|
+
if (editMode && !this.metadata.children.length) {
|
978
|
+
this.addRegionName();
|
979
|
+
}
|
980
|
+
else {
|
981
|
+
(_a = this.regionNameEl) === null || _a === void 0 ? void 0 : _a.remove();
|
982
|
+
}
|
983
|
+
}), takeUntil(this.destroy$))
|
984
|
+
.subscribe();
|
985
|
+
}
|
986
|
+
ngOnDestroy() {
|
987
|
+
this.destroy$.next();
|
988
|
+
this.destroy$.complete();
|
989
|
+
}
|
990
|
+
addRegionName() {
|
991
|
+
if (this.regionNameEl) {
|
992
|
+
this.regionNameEl.remove();
|
993
|
+
}
|
994
|
+
this.regionNameEl = this.document.createElement('div');
|
995
|
+
this.regionNameEl.innerHTML = this.metadata.name;
|
996
|
+
merge(this.regionNameEl.style, {
|
997
|
+
width: '100%',
|
998
|
+
height: '100%',
|
999
|
+
display: 'flex',
|
1000
|
+
justifyContent: 'center',
|
1001
|
+
alignItems: 'center',
|
1002
|
+
color: '#AEB5BD',
|
1003
|
+
pointerEvents: 'none',
|
1004
|
+
userSelect: 'none',
|
1005
|
+
});
|
1006
|
+
this.el.nativeElement.append(this.regionNameEl);
|
1007
|
+
}
|
1008
|
+
}
|
1009
|
+
RegionPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RegionPlugin, deps: [{ token: ElementComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
1010
|
+
RegionPlugin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: RegionPlugin, ngImport: i0 });
|
1011
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RegionPlugin, decorators: [{
|
1012
|
+
type: Directive
|
1013
|
+
}], ctorParameters: function () { return [{ type: ElementComponent }]; } });
|
1014
|
+
|
965
1015
|
class ScriptPlugin {
|
966
1016
|
constructor(host) {
|
967
1017
|
this.host = host;
|
@@ -1046,6 +1096,16 @@ const CONFIG = {
|
|
1046
1096
|
plugins: [IOPlugin, ScriptPlugin],
|
1047
1097
|
suppressTemplate: true,
|
1048
1098
|
},
|
1099
|
+
PAGE: {
|
1100
|
+
component: ElementComponent,
|
1101
|
+
defaultTemplate: '<element-children></element-children>',
|
1102
|
+
plugins: [IOPlugin, ScriptPlugin],
|
1103
|
+
},
|
1104
|
+
REGION: {
|
1105
|
+
component: ElementComponent,
|
1106
|
+
defaultTemplate: '<element-children></element-children>',
|
1107
|
+
plugins: [IOPlugin, ScriptPlugin, RegionPlugin],
|
1108
|
+
},
|
1049
1109
|
};
|
1050
1110
|
|
1051
1111
|
const EXPORTED_CLASS_REGEX = /export class (\S+)/;
|
@@ -1072,18 +1132,14 @@ const elementToMetadata = (el, parentPath) => {
|
|
1072
1132
|
styles, children: el.children.map(child => elementToMetadata(child, path)) });
|
1073
1133
|
};
|
1074
1134
|
const metadataToElement = (metadata, recursive = true) => {
|
1075
|
-
const
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
1079
|
-
|
1080
|
-
|
1081
|
-
|
1082
|
-
|
1083
|
-
outputs: metadata.outputs,
|
1084
|
-
children: metadata.children.map(({ name }) => name),
|
1085
|
-
configuredStyles: metadata.configuredStyles,
|
1086
|
-
};
|
1135
|
+
const cleanMetadata = omit(metadata, [
|
1136
|
+
'path',
|
1137
|
+
'template',
|
1138
|
+
'styles',
|
1139
|
+
'script',
|
1140
|
+
'metadata',
|
1141
|
+
]);
|
1142
|
+
const elMetadata = Object.assign(Object.assign({}, cleanMetadata), { children: metadata.children.map(({ name }) => name) });
|
1087
1143
|
const normalizedElMetadata = normalizeElementMetadata(elMetadata);
|
1088
1144
|
if (!metadata.script || !EXPORTED_CLASS_REGEX.test(metadata.script)) {
|
1089
1145
|
throw new UiBuildError(`'${metadata.name}' component script is missing an exported class`, metadata);
|
@@ -1311,6 +1367,185 @@ const DEFAULT_PLUGINS = {
|
|
1311
1367
|
DEFAULT: [],
|
1312
1368
|
};
|
1313
1369
|
|
1370
|
+
const LAYOUT = {
|
1371
|
+
LAYOUT_1: {
|
1372
|
+
styles: `
|
1373
|
+
/* start of LAYOUT_1 styles */
|
1374
|
+
:host {
|
1375
|
+
height: 100%;
|
1376
|
+
display: grid;
|
1377
|
+
grid:
|
1378
|
+
"header" auto
|
1379
|
+
"main" 1fr
|
1380
|
+
"footer" auto
|
1381
|
+
/ 1fr;
|
1382
|
+
gap: 10px;
|
1383
|
+
padding: 10px;
|
1384
|
+
}
|
1385
|
+
|
1386
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
1387
|
+
&:nth-child(1) > vl-element {
|
1388
|
+
min-height: 80px;
|
1389
|
+
grid-area: header;
|
1390
|
+
}
|
1391
|
+
|
1392
|
+
&:nth-child(2) > vl-element {
|
1393
|
+
grid-area: main;
|
1394
|
+
}
|
1395
|
+
|
1396
|
+
&:nth-child(3) > vl-element {
|
1397
|
+
min-height: 80px;
|
1398
|
+
grid-area: footer;
|
1399
|
+
}
|
1400
|
+
}
|
1401
|
+
/* end of LAYOUT_1 styles */
|
1402
|
+
`,
|
1403
|
+
},
|
1404
|
+
LAYOUT_2: {
|
1405
|
+
styles: `
|
1406
|
+
/* start of LAYOUT_2 styles */
|
1407
|
+
:host {
|
1408
|
+
height: 100%;
|
1409
|
+
display: grid;
|
1410
|
+
grid:
|
1411
|
+
"header header" auto
|
1412
|
+
"left right" 1fr
|
1413
|
+
"footer footer" auto
|
1414
|
+
/ 1fr 1fr;
|
1415
|
+
gap: 10px;
|
1416
|
+
padding: 10px;
|
1417
|
+
}
|
1418
|
+
|
1419
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
1420
|
+
&:nth-child(1) > vl-element {
|
1421
|
+
min-height: 80px;
|
1422
|
+
grid-area: header;
|
1423
|
+
}
|
1424
|
+
|
1425
|
+
&:nth-child(2) > vl-element {
|
1426
|
+
grid-area: left;
|
1427
|
+
}
|
1428
|
+
|
1429
|
+
&:nth-child(3) > vl-element {
|
1430
|
+
grid-area: right;
|
1431
|
+
}
|
1432
|
+
|
1433
|
+
&:nth-child(4) > vl-element {
|
1434
|
+
min-height: 80px;
|
1435
|
+
grid-area: footer;
|
1436
|
+
}
|
1437
|
+
}
|
1438
|
+
/* end of LAYOUT_2 styles */
|
1439
|
+
`,
|
1440
|
+
},
|
1441
|
+
LAYOUT_3: {
|
1442
|
+
styles: `
|
1443
|
+
/* start of LAYOUT_3 styles */
|
1444
|
+
:host {
|
1445
|
+
height: 100%;
|
1446
|
+
display: grid;
|
1447
|
+
grid:
|
1448
|
+
"main" 1fr
|
1449
|
+
"footer" auto
|
1450
|
+
/ 1fr;
|
1451
|
+
gap: 10px;
|
1452
|
+
padding: 10px;
|
1453
|
+
}
|
1454
|
+
|
1455
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
1456
|
+
&:nth-child(1) > vl-element {
|
1457
|
+
grid-area: main;
|
1458
|
+
}
|
1459
|
+
|
1460
|
+
&:nth-child(2) > vl-element {
|
1461
|
+
min-height: 80px;
|
1462
|
+
grid-area: footer;
|
1463
|
+
}
|
1464
|
+
}
|
1465
|
+
/* end of LAYOUT_3 styles */
|
1466
|
+
`,
|
1467
|
+
},
|
1468
|
+
LAYOUT_4: {
|
1469
|
+
styles: `
|
1470
|
+
/* start of LAYOUT_4 styles */
|
1471
|
+
:host {
|
1472
|
+
height: 100%;
|
1473
|
+
display: grid;
|
1474
|
+
grid:
|
1475
|
+
"left right" 1fr
|
1476
|
+
"footer footer" auto
|
1477
|
+
/ auto auto;
|
1478
|
+
gap: 10px;
|
1479
|
+
padding: 10px;
|
1480
|
+
}
|
1481
|
+
|
1482
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
1483
|
+
&:nth-child(1) > vl-element {
|
1484
|
+
grid-area: left;
|
1485
|
+
}
|
1486
|
+
|
1487
|
+
&:nth-child(2) > vl-element {
|
1488
|
+
grid-area: right;
|
1489
|
+
}
|
1490
|
+
|
1491
|
+
&:nth-child(3) > vl-element {
|
1492
|
+
min-height: 80px;
|
1493
|
+
grid-area: footer;
|
1494
|
+
}
|
1495
|
+
}
|
1496
|
+
/* end of LAYOUT_4 styles */
|
1497
|
+
`,
|
1498
|
+
},
|
1499
|
+
LAYOUT_5: {
|
1500
|
+
styles: `
|
1501
|
+
/* start of LAYOUT_5 styles */
|
1502
|
+
:host {
|
1503
|
+
height: 100%;
|
1504
|
+
display: grid;
|
1505
|
+
grid:
|
1506
|
+
"header" auto
|
1507
|
+
"main" 1fr
|
1508
|
+
/ 1fr;
|
1509
|
+
gap: 10px;
|
1510
|
+
padding: 10px;
|
1511
|
+
}
|
1512
|
+
|
1513
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
1514
|
+
&:nth-child(1) > vl-element {
|
1515
|
+
min-height: 80px;
|
1516
|
+
grid-area: header;
|
1517
|
+
}
|
1518
|
+
|
1519
|
+
&:nth-child(2) > vl-element {
|
1520
|
+
grid-area: main;
|
1521
|
+
}
|
1522
|
+
}
|
1523
|
+
/* end of LAYOUT_5 styles */
|
1524
|
+
`,
|
1525
|
+
},
|
1526
|
+
LAYOUT_6: {
|
1527
|
+
styles: `
|
1528
|
+
/* start of LAYOUT_6 styles */
|
1529
|
+
:host {
|
1530
|
+
height: 100%;
|
1531
|
+
display: grid;
|
1532
|
+
grid:
|
1533
|
+
"main" 1fr
|
1534
|
+
/ 1fr;
|
1535
|
+
gap: 10px;
|
1536
|
+
padding: 10px;
|
1537
|
+
}
|
1538
|
+
|
1539
|
+
:host ::ng-deep element-children > vl-cms-element-renderer {
|
1540
|
+
&:nth-child(1) > vl-element {
|
1541
|
+
grid-area: main;
|
1542
|
+
}
|
1543
|
+
}
|
1544
|
+
/* end of LAYOUT_6 styles */
|
1545
|
+
`,
|
1546
|
+
},
|
1547
|
+
};
|
1548
|
+
|
1314
1549
|
const VELOCE_LIBS = {
|
1315
1550
|
'@veloceapps/core': {
|
1316
1551
|
isDefined,
|
@@ -1418,7 +1653,12 @@ class ElementsResolver {
|
|
1418
1653
|
resolveElementStyles(element) {
|
1419
1654
|
var _a;
|
1420
1655
|
const config = CONFIG[element.type];
|
1421
|
-
|
1656
|
+
let styles = !config.suppressStyles ? (_a = element.styles) !== null && _a !== void 0 ? _a : '' : '';
|
1657
|
+
const layout = element.layout && LAYOUT[element.layout];
|
1658
|
+
if (layout === null || layout === void 0 ? void 0 : layout.styles) {
|
1659
|
+
styles += layout.styles;
|
1660
|
+
}
|
1661
|
+
return styles;
|
1422
1662
|
}
|
1423
1663
|
processElementMetadata(sourceElement) {
|
1424
1664
|
var _a, _b;
|