@alauda-fe/dynamic-plugin-shared 0.0.1-alpha.14 → 0.0.1-alpha.15
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/components/index.d.ts +0 -2
- package/components/resource-multi-select/component.d.ts +2 -2
- package/esm2022/array-form-table/form/component.mjs +2 -2
- package/esm2022/array-form-table/key-value-form/component.mjs +2 -2
- package/esm2022/array-form-table/key-value-table/component.mjs +2 -2
- package/esm2022/async-data/async-data-loader.mjs +2 -2
- package/esm2022/async-data/page-state/component.mjs +2 -3
- package/esm2022/code-editor/resource-yaml-display/component.mjs +2 -2
- package/esm2022/components/current-time/component.mjs +2 -2
- package/esm2022/components/date-range-picker/component.mjs +2 -2
- package/esm2022/components/disabled-container/disabled-container.component.mjs +2 -2
- package/esm2022/components/foldable-item-in-table/component.mjs +2 -2
- package/esm2022/components/help-document/component.mjs +2 -2
- package/esm2022/components/index.mjs +1 -3
- package/esm2022/components/list-display/component.mjs +2 -2
- package/esm2022/components/multi-search/action-input/component.mjs +3 -3
- package/esm2022/components/multi-search/form/component.mjs +2 -2
- package/esm2022/components/multi-search/multi-search-tags/component.mjs +2 -2
- package/esm2022/components/mutable/mosaic/component.mjs +2 -2
- package/esm2022/components/page-guard/component/component.mjs +2 -3
- package/esm2022/components/password-input/component.mjs +2 -2
- package/esm2022/components/pod-status/component.mjs +2 -2
- package/esm2022/components/relative-time/component.mjs +2 -2
- package/esm2022/components/resource-label/component.mjs +2 -2
- package/esm2022/components/resource-multi-select/component.mjs +3 -3
- package/esm2022/components/select-prefix-label/directive.mjs +2 -2
- package/esm2022/components/status-icon/status-icon.component.mjs +2 -2
- package/esm2022/components/table/component.mjs +4 -3
- package/esm2022/components/tags-label/component.mjs +3 -3
- package/esm2022/components/text-with-url/component.mjs +2 -2
- package/esm2022/components/workload-status/component.mjs +2 -2
- package/esm2022/components/zero-state/zero-state.component.mjs +2 -3
- package/esm2022/directives/disabled.directive.mjs +2 -2
- package/esm2022/directives/effect-directive/event.directive.mjs +2 -2
- package/esm2022/directives/readonly-field.directive.mjs +3 -3
- package/esm2022/directives/value-trace.directive.mjs +2 -2
- package/esm2022/form/base-form-container.mjs +2 -3
- package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +2 -2
- package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +2 -2
- package/esm2022/form/validators/async-function-validator.directive.mjs +2 -2
- package/esm2022/form/validators/function-validator.directive.mjs +2 -2
- package/esm2022/form/validators/not-be-validator.directive.mjs +2 -2
- package/esm2022/form/validators/one-of-validator.directive.mjs +2 -2
- package/esm2022/form/validators/utils.mjs +3 -2
- package/esm2022/k8s-resource-list/footer/component.mjs +2 -2
- package/esm2022/k8s-resource-list/k8s-resource-list.mjs +2 -2
- package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +2 -2
- package/esm2022/page-deactivate/deactivate.directive.mjs +2 -2
- package/esm2022/page-deactivate/deactivate.service.mjs +2 -2
- package/esm2022/pipes/index.mjs +1 -10
- package/esm2022/services/form-row-duplicate/form-row-duplicate.service.mjs +2 -2
- package/esm2022/services/yaml-util.service.mjs +3 -2
- package/esm2022/types/common.mjs +1 -1
- package/esm2022/utils/common.mjs +3 -60
- package/esm2022/utils/disabled-state.mjs +2 -2
- package/esm2022/utils/index.mjs +1 -7
- package/esm2022/utils/unit.mjs +3 -2
- package/esm2022/utils/workspace.mjs +1 -1
- package/esm2022/utils/yaml.mjs +1 -16
- package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs +66 -1080
- package/fesm2022/alauda-fe-dynamic-plugin-shared.mjs.map +1 -1
- package/package.json +1 -1
- package/pipes/index.d.ts +0 -9
- package/styles/lib.scss +1 -1
- package/styles/mixins.scss +2 -2
- package/styles/var.scss +1 -1
- package/types/common.d.ts +1 -5
- package/utils/common.d.ts +1 -13
- package/utils/index.d.ts +0 -6
- package/utils/workspace.d.ts +1 -1
- package/utils/yaml.d.ts +0 -5
- package/components/loading-mask/loading-mask.component.d.ts +0 -13
- package/components/namespace-selector/component.d.ts +0 -28
- package/components/namespace-selector/constants.d.ts +0 -2
- package/components/namespace-selector/index.d.ts +0 -3
- package/components/namespace-selector/namespace-list/component.d.ts +0 -46
- package/components/namespace-selector/types.d.ts +0 -5
- package/esm2022/components/loading-mask/loading-mask.component.mjs +0 -35
- package/esm2022/components/namespace-selector/component.mjs +0 -126
- package/esm2022/components/namespace-selector/constants.mjs +0 -3
- package/esm2022/components/namespace-selector/index.mjs +0 -4
- package/esm2022/components/namespace-selector/namespace-list/component.mjs +0 -191
- package/esm2022/components/namespace-selector/types.mjs +0 -2
- package/esm2022/pipes/field-not-available.pipe.mjs +0 -25
- package/esm2022/pipes/img-header.pipe.mjs +0 -18
- package/esm2022/pipes/img-theme.pipe.mjs +0 -38
- package/esm2022/pipes/keyvalue.pipe.mjs +0 -20
- package/esm2022/pipes/parse-json.pipe.mjs +0 -22
- package/esm2022/pipes/pure.pipe.mjs +0 -26
- package/esm2022/pipes/safe.pipe.mjs +0 -49
- package/esm2022/pipes/sanitize.pipe.mjs +0 -31
- package/esm2022/pipes/time.pipe.mjs +0 -113
- package/esm2022/utils/browser.mjs +0 -21
- package/esm2022/utils/cache-store.mjs +0 -83
- package/esm2022/utils/decorators.mjs +0 -137
- package/esm2022/utils/observable.mjs +0 -32
- package/esm2022/utils/operators.mjs +0 -38
- package/esm2022/utils/router.mjs +0 -20
- package/pipes/field-not-available.pipe.d.ts +0 -13
- package/pipes/img-header.pipe.d.ts +0 -7
- package/pipes/img-theme.pipe.d.ts +0 -13
- package/pipes/keyvalue.pipe.d.ts +0 -9
- package/pipes/parse-json.pipe.d.ts +0 -7
- package/pipes/pure.pipe.d.ts +0 -17
- package/pipes/safe.pipe.d.ts +0 -10
- package/pipes/sanitize.pipe.d.ts +0 -10
- package/pipes/time.pipe.d.ts +0 -40
- package/utils/browser.d.ts +0 -4
- package/utils/cache-store.d.ts +0 -35
- package/utils/decorators.d.ts +0 -14
- package/utils/observable.d.ts +0 -5
- package/utils/operators.d.ts +0 -22
- package/utils/router.d.ts +0 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable, IterableDiffers, } from '@angular/core';
|
|
2
2
|
import { cloneDeep, set, unset } from 'lodash-es';
|
|
3
|
-
import { isEqual } from '
|
|
3
|
+
import { isEqual } from '@alauda-fe/dynamic-plugin-sdk';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export const DUPLICATE_ERROR_KEY = 'duplicateError';
|
|
6
6
|
// IDENTICAL: 检测具有互反性,传递性。a与b重复,b与c重复,a必然与c重复,此程度上可进行优化
|
|
@@ -277,4 +277,4 @@ function fullStrategyCheck(keys, controls, _, mapFn, matchesFn, initData) {
|
|
|
277
277
|
});
|
|
278
278
|
return toRemoveError;
|
|
279
279
|
}
|
|
280
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yb3ctZHVwbGljYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvc2VydmljZXMvZm9ybS1yb3ctZHVwbGljYXRlL2Zvcm0tcm93LWR1cGxpY2F0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBRVYsZUFBZSxHQUVoQixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFdEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUM7QUFxQnBELHVEQUF1RDtBQUN2RCxpREFBaUQ7QUFDakQscUNBQXFDO0FBQ3JDLE1BQU0sQ0FBTixJQUFZLDRCQUdYO0FBSEQsV0FBWSw0QkFBNEI7SUFDdEMsdURBQXVCLENBQUE7SUFDdkIsNkNBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyw0QkFBNEIsS0FBNUIsNEJBQTRCLFFBR3ZDO0FBRUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBRzlCO0lBQ0YsQ0FBQyw0QkFBNEIsQ0FBQyxTQUFTLENBQUMsRUFBRSxzQkFBc0I7SUFDaEUsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsRUFBRSxpQkFBaUI7Q0FDdkQsQ0FBQztBQUVGLDZCQUE2QjtBQUU3QixNQUFNLE9BQU8sMkJBQTJCO0lBSXRDOztPQUVHO0lBQ0gsWUFBNkIsWUFBNkI7UUFBN0IsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBRTFELCtEQUErRDtRQUM5QyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUczQyxDQUFDO1FBRUosa0lBQWtJO1FBQ2pILGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBcUMsQ0FBQztJQVRo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QUUsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILFFBQVE7aUJBQ0wsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQztpQkFDN0MsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUN0QixNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ25FLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDekQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQzlDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdkQsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE1BQU0sYUFBYSxHQUFxRCxFQUFFLENBQUM7SUFDM0UsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQy9DLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hCLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZSxcbiAgSXRlcmFibGVEaWZmZXIsXG4gIEl0ZXJhYmxlRGlmZmVycyxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUFycmF5LFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIHNldCwgdW5zZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBEVVBMSUNBVEVfRVJST1JfS0VZID0gJ2R1cGxpY2F0ZUVycm9yJztcblxudHlwZSBSb3dLZXlzID0gQXJyYXk8c3RyaW5nIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PjtcbnR5cGUgRm9ybWF0S2V5cyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcbmV4cG9ydCB0eXBlIEZvcm1hdFZhbHVlID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuZXhwb3J0IHR5cGUgTWF0Y2hWYWx1ZUZuID0gKFxuICBwcm9wczogc3RyaW5nW10sXG4gIHZhbHVlMTogRm9ybWF0VmFsdWUsXG4gIHZhbHVlMjogRm9ybWF0VmFsdWUsXG4pID0+IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIFN0cmF0ZWd5Rm4gPSAoXG4gIGtleXM6IEZvcm1hdEtleXMsXG4gIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSxcbiAgc3RhbGVWYWx1ZTogRm9ybWF0VmFsdWUsXG4gIG1hcEZuOiBWYWx1ZU1hcEZuLFxuICBtYXRjaGVzRm46IE1hdGNoVmFsdWVGbixcbiAgaW5pdERhdGE6IGFueVtdLFxuKSA9PiBBcnJheTx7IGtleTogc3RyaW5nOyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfT47XG5cbi8vIElERU5USUNBTDog5qOA5rWL5YW35pyJ5LqS5Y+N5oCn77yM5Lyg6YCS5oCn44CCYeS4jmLph43lpI3vvIxi5LiOY+mHjeWkje+8jGHlv4XnhLbkuI5j6YeN5aSN77yM5q2k56iL5bqm5LiK5Y+v6L+b6KGM5LyY5YyWXG4vLyBGVUxMOiDkuI3opoHmsYLmo4DmtYvlhbfmnInkupLlj43mgKfvvIzkvKDpgJLmgKfjgIJh5LiOYuWIpOWIq+mHjeWkje+8jGLkuI5j5Yik5Yir6YeN5aSN77yMYeacquW/heS4jmPliKTliKvph43lpI1cbi8vIOS4u+imgeaYr+mSiOWvueS4gOS6m+WkjeadgueahOiHquWumuS5ieWMuemFjemHjeWkjeeahOS9v+eUqOWcuuaZr++8jEZVTEzmqKHlvI/ph4fnlKjlhajmo4Dmn6VcbmV4cG9ydCBlbnVtIERVUExJQ0FUSU9OX0pVU1RJRllfU1RSQVRFR1kge1xuICBJREVOVElDQUwgPSAnaWRlbnRpY2FsJyxcbiAgRlVMTCA9ICdmdWxsJyxcbn1cblxuZXhwb3J0IGNvbnN0IFNUUkFURUdZX0pVREdFX01BUFBFUjogUmVjb3JkPFxuICBEVVBMSUNBVElPTl9KVVNUSUZZX1NUUkFURUdZLFxuICBTdHJhdGVneUZuXG4+ID0ge1xuICBbRFVQTElDQVRJT05fSlVTVElGWV9TVFJBVEVHWS5JREVOVElDQUxdOiBpZGVudGljYWxTdHJhdGVneUNoZWNrLFxuICBbRFVQTElDQVRJT05fSlVTVElGWV9TVFJBVEVHWS5GVUxMXTogZnVsbFN0cmF0ZWd5Q2hlY2ssXG59O1xuXG4vLyB1c2UgaW4gY29tcG9uZW50IGxpZmVjeWNsZVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRlUm93RHVwbGljYXRlU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8vIHVzZWQgdG8gZGV0ZWN0IGFsbCBjb250cm9scyBkYXRhIGNoYW5nZVxuICBwcml2YXRlIHJvd3NEaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPEFic3RyYWN0Q29udHJvbD47XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBkaWZmZXJGYWN0b3J5OiB1c2VkIHRvIGNyZWF0ZSBzdXBwb3J0IGRpZmZlciwgd2hpY2ggY2FuIGJlIHByb3ZpZGVkIGJ5IHVzZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXJyYXlEaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMpIHt9XG5cbiAgLy8gdXNlZCB0byBzYXZlIGxhc3QgdmFsdWUsIHRvIGNoZWNrIHdoZXRoZXIgaWYgY29udHJvbCBjaGFuZ2VkXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbFZhbHVlTWFwID0gbmV3IFdlYWtNYXA8XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIEZvcm1hdFZhbHVlXG4gID4oKTtcblxuICAvLyB1c2VkIHRvIHNhdmUgZXJyb3Jz77yMdG8gc29sdmUgdmFsaWRhdG9ycyBjb25jdXJyZW50bHkgd29yayhzZWNvbmQgdmFsaWRhdG9yIGNhbid0IGdldCBlcnJvciBmcm9tIHByZXZpb3VzIHZhbGlkYXRvciBpbiBvbmUgdHVybilcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvck1hcCA9IG5ldyBXZWFrTWFwPEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycz4oKTtcblxuICBwcml2YXRlIGZvcm1BcnJheVNpemVTdWI6IFN1YnNjcmlwdGlvbjtcblxuICBjcmVhdGVGb3JtQXJyYXlWYWxpZGF0b3Ioe1xuICAgIHJvd0tleXMsXG4gICAgZm9ybUFycmF5LFxuICAgIHZhbHVlTWFwRm4gPSBkZWZhdWx0VmFsdWVNYXBGbixcbiAgICBpbml0RGF0YSA9IFtdLFxuICAgIG1hdGNoZXNGbiA9IG1hdGNoVmFsdWUsXG4gICAgc3RyYXRlZ3kgPSBEVVBMSUNBVElPTl9KVVNUSUZZX1NUUkFURUdZLklERU5USUNBTCxcbiAgfToge1xuICAgIHJvd0tleXM6IFJvd0tleXM7XG4gICAgZm9ybUFycmF5OiBGb3JtQXJyYXk7XG4gICAgdmFsdWVNYXBGbj86IGFueTtcbiAgICBpbml0RGF0YT86IGFueVtdO1xuICAgIG1hdGNoZXNGbj86IE1hdGNoVmFsdWVGbjtcbiAgICBzdHJhdGVneT86IERVUExJQ0FUSU9OX0pVU1RJRllfU1RSQVRFR1k7XG4gIH0pOiBWYWxpZGF0b3JGbiB7XG4gICAgY29uc3Qga2V5cyA9IGZvcm1hdEtleXMocm93S2V5cyk7XG4gICAgaWYgKCF0aGlzLnJvd3NEaWZmZXIpIHtcbiAgICAgIHRoaXMucm93c0RpZmZlciA9IHRoaXMuYXJyYXlEaWZmZXJzLmZpbmQoW10pLmNyZWF0ZSgpO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdEZvcm1BcnJheVNpemVDaGFuZ2UoXG4gICAgICBmb3JtQXJyYXksXG4gICAgICB0aGlzLnJvd3NEaWZmZXIsXG4gICAgICBrZXlzLFxuICAgICAgdmFsdWVNYXBGbixcbiAgICAgIG1hdGNoZXNGbixcbiAgICAgIHN0cmF0ZWd5LFxuICAgICAgaW5pdERhdGEsXG4gICAgKTtcblxuICAgIHJldHVybiAoY29udHJvbDogRm9ybUdyb3VwKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRyb2xzIH0gPSBmb3JtQXJyYXk7XG4gICAgICBjb25zdCBsYXN0VmFsdWUgPSB0aGlzLmNvbnRyb2xWYWx1ZU1hcC5nZXQoY29udHJvbCk7XG4gICAgICBpZiAoY29udHJvbC5wcmlzdGluZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIC8vIG5vdGhpbmcgY2hhbmdlXG4gICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBnZXRWYWx1ZUluS2V5cyhjb250cm9sLnZhbHVlLCBrZXlzLCB2YWx1ZU1hcEZuKTtcbiAgICAgIHRoaXMuY29udHJvbFZhbHVlTWFwLnNldChjb250cm9sLCBjdXJyZW50VmFsdWUpO1xuICAgICAgaWYgKGxhc3RWYWx1ZSkge1xuICAgICAgICBsZXQgaWRlbnRpY2FsID0gdHJ1ZTtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoa2V5cykuZm9yRWFjaCgoW2tleSwgcHJvcHNdKSA9PiB7XG4gICAgICAgICAgaWYgKCFlcXVhbHNWYWx1ZShwcm9wcywgY3VycmVudFZhbHVlW2tleV0sIGxhc3RWYWx1ZVtrZXldKSkge1xuICAgICAgICAgICAgaWRlbnRpY2FsID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGlkZW50aWNhbCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmVycm9yTWFwLmdldChjb250cm9sKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgZGlmZktleXMgPSBsYXN0VmFsdWVcbiAgICAgICAgPyBkaWZmS2V5c0J5VmFsdWUoa2V5cywgY3VycmVudFZhbHVlLCBsYXN0VmFsdWUpXG4gICAgICAgIDoga2V5cztcbiAgICAgIC8vIOWSjOS4iuasoeWAvOWtmOWcqOW3ruW8gu+8jOWPr+WwhuiAgeaVsOaNruS9nOS4uuWIoOmZpOihjOWkhOeQhlxuICAgICAgaWYgKGxhc3RWYWx1ZSkge1xuICAgICAgICB0aGlzLmhhbmRsZVJlbW92ZVJvd1ZhbHVlKFxuICAgICAgICAgIGRpZmZLZXlzLFxuICAgICAgICAgIGNvbnRyb2xzLFxuICAgICAgICAgIGxhc3RWYWx1ZSxcbiAgICAgICAgICB2YWx1ZU1hcEZuLFxuICAgICAgICAgIGNvbnRyb2wsXG4gICAgICAgICAgbWF0Y2hlc0ZuLFxuICAgICAgICAgIHN0cmF0ZWd5LFxuICAgICAgICAgIGluaXREYXRhLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgLy8g5pu05paw5ZCO55qE54q25oCB77yM5Y+v6IO95a+86Ie05YW25LuW6KGM5Ye6546w5paw55qE6YeN5aSNXG4gICAgICBjb25zdCBvdGhlckNvbnRyb2xzID0gY29udHJvbHMuZmlsdGVyKGN0cmwgPT4gY3RybCAhPT0gY29udHJvbCk7XG4gICAgICBjb25zdCBjdHJsRXJyb3I6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICAgIG90aGVyQ29udHJvbHMuZm9yRWFjaChjdHJsID0+IHtcbiAgICAgICAgY29uc3Qgb3RoZXJWYWx1ZSA9IGdldFZhbHVlSW5LZXlzKGN0cmwudmFsdWUsIGRpZmZLZXlzLCB2YWx1ZU1hcEZuKTtcbiAgICAgICAgY29uc3Qgb3RoZXJzRXJyb3I6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICAgICAgLy8ga2V5cyDkuK3liIbliKvmr5TovoMg5aaC5p6cIG90aGVyVmFsdWUg5LiOIGN1cnJlbnRWYWx1ZSDlnKjmn5DkuKprZXnkuIvvvIzmlbDmja7nm7jlkIzvvIzliJnor7TmmI7mraQga2V5IOWtmOWcqOmHjeWkjemUmeivr1xuICAgICAgICBPYmplY3QuZW50cmllcyhkaWZmS2V5cykuZm9yRWFjaCgoW2tleSwgcHJvcHNdKSA9PiB7XG4gICAgICAgICAgaWYgKG1hdGNoZXNGbihwcm9wcywgb3RoZXJWYWx1ZVtrZXldLCBjdXJyZW50VmFsdWVba2V5XSkpIHtcbiAgICAgICAgICAgIHNldChvdGhlcnNFcnJvciwgW2tleV0sIGN1cnJlbnRWYWx1ZVtrZXldKTtcbiAgICAgICAgICAgIHNldChjdHJsRXJyb3IsIGtleSwgY3VycmVudFZhbHVlW2tleV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWRkRHVwbGljYXRlRXJyb3Iob3RoZXJzRXJyb3IsIGN0cmwsIHRydWUpO1xuICAgICAgfSk7XG4gICAgICAoaW5pdERhdGEgfHwgW10pLmZvckVhY2goaW5pdFJvdyA9PiB7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGRpZmZLZXlzKS5mb3JFYWNoKChba2V5LCBwcm9wc10pID0+IHtcbiAgICAgICAgICBpZiAobWF0Y2hlc0ZuKHByb3BzLCBpbml0Um93W2tleV0sIGN1cnJlbnRWYWx1ZVtrZXldKSkge1xuICAgICAgICAgICAgc2V0KGN0cmxFcnJvciwga2V5LCBjdXJyZW50VmFsdWVba2V5XSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hZGREdXBsaWNhdGVFcnJvcihjdHJsRXJyb3IsIGNvbnRyb2wpO1xuICAgICAgcmV0dXJuIHRoaXMuZXJyb3JNYXAuZ2V0KGNvbnRyb2wpO1xuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVJlbW92ZVJvd1ZhbHVlKFxuICAgIGtleXM6IEZvcm1hdEtleXMsXG4gICAgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdLFxuICAgIHN0YWxlVmFsdWU6IEZvcm1hdFZhbHVlLFxuICAgIG1hcEZuOiBWYWx1ZU1hcEZuLFxuICAgIHNlbGZDb250cm9sPzogQWJzdHJhY3RDb250cm9sLFxuICAgIG1hdGNoZXNGbj86IE1hdGNoVmFsdWVGbixcbiAgICBzdHJhdGVneT86IERVUExJQ0FUSU9OX0pVU1RJRllfU1RSQVRFR1ksXG4gICAgaW5pdERhdGE/OiBhbnlbXSxcbiAgKSB7XG4gICAgaWYgKHNlbGZDb250cm9sKSB7XG4gICAgICB0aGlzLnJlbW92ZUR1cGxpY2F0ZUVycm9yKE9iamVjdC5rZXlzKGtleXMpLCBzZWxmQ29udHJvbCk7XG4gICAgfVxuICAgIGNvbnN0IHRvUmVtb3ZlRXJyb3IgPSBTVFJBVEVHWV9KVURHRV9NQVBQRVJbc3RyYXRlZ3ldKFxuICAgICAga2V5cyxcbiAgICAgIGNvbnRyb2xzLFxuICAgICAgc3RhbGVWYWx1ZSxcbiAgICAgIG1hcEZuLFxuICAgICAgbWF0Y2hlc0ZuLFxuICAgICAgaW5pdERhdGEsXG4gICAgKTtcbiAgICAodG9SZW1vdmVFcnJvciB8fCBbXSkuZm9yRWFjaCgoeyBrZXksIGNvbnRyb2wgfSkgPT5cbiAgICAgIHRoaXMucmVtb3ZlRHVwbGljYXRlRXJyb3IoW2tleV0sIGNvbnRyb2wsIHRydWUpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRGb3JtQXJyYXlTaXplQ2hhbmdlKFxuICAgIGZvcm1BcnJheTogRm9ybUFycmF5LFxuICAgIHJvd3NEaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPEFic3RyYWN0Q29udHJvbD4sXG4gICAga2V5czogRm9ybWF0S2V5cyxcbiAgICBtYXBGbjogVmFsdWVNYXBGbixcbiAgICBtYXRjaGVzRm46IE1hdGNoVmFsdWVGbixcbiAgICBzdHJhdGVneTogRFVQTElDQVRJT05fSlVTVElGWV9TVFJBVEVHWSxcbiAgICBpbml0RGF0YT86IGFueVtdLFxuICApIHtcbiAgICBpZiAoIXRoaXMuZm9ybUFycmF5U2l6ZVN1Yikge1xuICAgICAgdGhpcy5mb3JtQXJyYXlTaXplU3ViID0gZm9ybUFycmF5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29udHJvbHMgfSA9IGZvcm1BcnJheTtcbiAgICAgICAgY29uc3Qgcm93c0RpZmYgPSByb3dzRGlmZmVyLmRpZmYoY29udHJvbHMpO1xuICAgICAgICBpZiAocm93c0RpZmYpIHtcbiAgICAgICAgICAvLyBvbiBkZWxldGluZyByb3dcbiAgICAgICAgICByb3dzRGlmZi5mb3JFYWNoUmVtb3ZlZEl0ZW0ocmVjb3JkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJhd1ZhbHVlID0gZ2V0VmFsdWVJbktleXMocmVjb3JkLml0ZW0udmFsdWUsIGtleXMsIG1hcEZuKTtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlUmVtb3ZlUm93VmFsdWUoXG4gICAgICAgICAgICAgIGtleXMsXG4gICAgICAgICAgICAgIGNvbnRyb2xzLFxuICAgICAgICAgICAgICByYXdWYWx1ZSxcbiAgICAgICAgICAgICAgbWFwRm4sXG4gICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgbWF0Y2hlc0ZuLFxuICAgICAgICAgICAgICBzdHJhdGVneSxcbiAgICAgICAgICAgICAgaW5pdERhdGEsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZER1cGxpY2F0ZUVycm9yKFxuICAgIGVycm9ySW5mbzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gICAgc2V0Q29udHJvbCA9IGZhbHNlLFxuICApIHtcbiAgICBjb25zdCBlcnJvcnMgPSBjbG9uZURlZXAodGhpcy5lcnJvck1hcC5nZXQoY29udHJvbCkpIHx8IHt9O1xuICAgIC8vIGFscmVhZHkgaGFzIGVycm9yLG5vIG5lZWQgdG8gYWRkXG4gICAgaWYgKFxuICAgICAgIU9iamVjdC5rZXlzKGVycm9ySW5mbykuc29tZShcbiAgICAgICAga2V5ID0+IGVycm9ycz8uW0RVUExJQ0FURV9FUlJPUl9LRVldPy5ba2V5XSA9PSBudWxsLFxuICAgICAgKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIE9iamVjdC5rZXlzKGVycm9ySW5mbykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgc2V0KGVycm9ycywgW0RVUExJQ0FURV9FUlJPUl9LRVksIGtleV0sIGVycm9ySW5mb1trZXldKTtcbiAgICB9KTtcbiAgICB0aGlzLmVycm9yTWFwLnNldChjb250cm9sLCBlcnJvcnMpO1xuICAgIGlmIChzZXRDb250cm9sKSB7XG4gICAgICAvLyDlvZPorr7nva7ph43lpI3miqXplJnml7Ys6ZyA6KaB5rOo5oSP5L+d55WZ5Y6f5p2l55qE5oql6ZSZXG4gICAgICBjb25zdCBjb250cm9sRXJyb3IgPSBjbG9uZURlZXAoY29udHJvbC5lcnJvcnMpO1xuICAgICAgdW5zZXQoY29udHJvbEVycm9yLCBbRFVQTElDQVRFX0VSUk9SX0tFWV0pO1xuICAgICAgY29uc3QgZXJyb3IgPSB7IC4uLmNvbnRyb2xFcnJvciwgLi4udGhpcy5lcnJvck1hcC5nZXQoY29udHJvbCkgfTtcbiAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKE9iamVjdC5rZXlzKGVycm9yKS5sZW5ndGggPT09IDAgPyBudWxsIDogZXJyb3IsIHtcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBjb250cm9sJ3MgZXJyb3Igc2hvdWxkIGJlIHNob3duLGl0J3Mgbm90IHByaXN0aW5lIGFueSBtb3JlXG4gICAgICBjb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVEdXBsaWNhdGVFcnJvcihcbiAgICBlcnJvckluZm86IHN0cmluZ1tdLFxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcbiAgICBzZXRDb250cm9sID0gZmFsc2UsXG4gICkge1xuICAgIGNvbnN0IGVycm9ycyA9IGNsb25lRGVlcCh0aGlzLmVycm9yTWFwLmdldChjb250cm9sKSk7XG4gICAgLy8gbm8gbmVlZCB0byByZW1vdmUgZXJyb3JcbiAgICBpZiAoIWVycm9ySW5mby5zb21lKGtleSA9PiBlcnJvcnM/LltEVVBMSUNBVEVfRVJST1JfS0VZXT8uW2tleV0gIT0gbnVsbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXJyb3JJbmZvLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIHVuc2V0KGVycm9ycywgW0RVUExJQ0FURV9FUlJPUl9LRVksIGtleV0pO1xuICAgIH0pO1xuICAgIHRoaXMuZXJyb3JNYXAuc2V0KFxuICAgICAgY29udHJvbCxcbiAgICAgIE9iamVjdC5rZXlzKGVycm9ycz8uW0RVUExJQ0FURV9FUlJPUl9LRVldIHx8IHt9KS5sZW5ndGggPyBlcnJvcnMgOiBudWxsLFxuICAgICk7XG4gICAgaWYgKHNldENvbnRyb2wpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2xFcnJvcjogUmVjb3JkPHN0cmluZywgYW55PiA9IGNsb25lRGVlcChjb250cm9sLmVycm9ycykgfHwge307XG4gICAgICB1bnNldChjb250cm9sRXJyb3IsIFtEVVBMSUNBVEVfRVJST1JfS0VZXSk7XG5cbiAgICAgIGNvbnN0IGVycm9yID0geyAuLi5jb250cm9sRXJyb3IsIC4uLnRoaXMuZXJyb3JNYXAuZ2V0KGNvbnRyb2wpIH07XG4gICAgICBjb250cm9sLnNldEVycm9ycyhPYmplY3Qua2V5cyhlcnJvcikubGVuZ3RoID09PSAwID8gbnVsbCA6IGVycm9yLCB7XG4gICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5mb3JtQXJyYXlTaXplU3ViKSB7XG4gICAgICB0aGlzLmZvcm1BcnJheVNpemVTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cblxuLy8g5LuF6L+U5Zuea2V5c+inhOWImeS4i++8jGN1cnJlbnRWYWx1ZeS4jmxhc3RWYWx1ZeWtmOWcqOS4jeWQjOeahOmDqOWIhmtleVxuZnVuY3Rpb24gZGlmZktleXNCeVZhbHVlKFxuICBrZXlzOiBGb3JtYXRLZXlzLFxuICBjdXJyZW50VmFsdWU6IEZvcm1hdFZhbHVlLFxuICBsYXN0VmFsdWU6IEZvcm1hdFZhbHVlLFxuKSB7XG4gIGNvbnN0IG9iajogRm9ybWF0S2V5cyA9IHt9O1xuICBPYmplY3QuZW50cmllcyhrZXlzKS5mb3JFYWNoKChba2V5LCBwcm9wc10pID0+IHtcbiAgICBpZiAoIWVxdWFsc1ZhbHVlKHByb3BzLCBjdXJyZW50VmFsdWVba2V5XSwgbGFzdFZhbHVlW2tleV0pKSB7XG4gICAgICBvYmpba2V5XSA9IHByb3BzO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBvYmo7XG59XG5cbi8vIOaMh+WumuWxnuaAp+S4i++8jHZhbHVlMSDlkowgdmFsdWUyIOWvueS6juaJgOacieeahOWxnuaAp+WtmOWcqOacieaViOWAvO+8jOW5tuS4lOebuOWQjO+8jOatpOaXtuWPr+WIpOWumumHjeWkjVxuZnVuY3Rpb24gbWF0Y2hWYWx1ZShwcm9wczogc3RyaW5nW10sIHZhbHVlMTogRm9ybWF0VmFsdWUsIHZhbHVlMjogRm9ybWF0VmFsdWUpIHtcbiAgcmV0dXJuICFwcm9wcy5zb21lKFxuICAgIHByb3AgPT4gdW5DaGVja2VkVmFsdWUodmFsdWUxLCBwcm9wKSB8fCB2YWx1ZTFbcHJvcF0gIT09IHZhbHVlMltwcm9wXSxcbiAgKTtcbn1cblxuLy8g5oyH5a6a5bGe5oCn5LiL77yMdmFsdWUxIOWSjCB2YWx1ZTIg5a+55LqO5omA5pyJ55qE5bGe5oCn55u45ZCM77yM5q2k5pe25Y+v5Yik5a6aIHZhbHVlMSAsIHZhbHVlMiDnm7jnrYlcbmZ1bmN0aW9uIGVxdWFsc1ZhbHVlKFxuICBwcm9wczogc3RyaW5nW10sXG4gIHZhbHVlMTogRm9ybWF0VmFsdWUsXG4gIHZhbHVlMjogRm9ybWF0VmFsdWUsXG4pIHtcbiAgcmV0dXJuICFwcm9wcy5zb21lKHByb3AgPT4gIWlzRXF1YWwodmFsdWUxW3Byb3BdLCB2YWx1ZTJbcHJvcF0pKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ga2V5cyBbJ3Byb3RvY29sJyx7Y29tcGxleDogWydjb250YWluZXJQb3J0JywnaG9zdFBvcnQnXX1dXG4gKiBAcmV0dXJucyBbe3Byb3RvY29sOiBbJ3Byb3RvY29sJ119LCB7Y29tcGxleDogWydjb250YWluZXJQb3J0JywnaG9zdFBvcnQnXX1dXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdEtleXMoa2V5czogUm93S2V5cyA9IFtdKTogRm9ybWF0S2V5cyB7XG4gIGNvbnN0IG9iajogRm9ybWF0S2V5cyA9IHt9O1xuICBrZXlzLmZvckVhY2goa2V5T2JqID0+IHtcbiAgICBpZiAodHlwZW9mIGtleU9iaiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG9ialtrZXlPYmpdID0gW2tleU9ial07XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIE9iamVjdC5rZXlzKGtleU9iaikuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgb2JqW2tleV0gPSBrZXlPYmpba2V5XTtcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBvYmo7XG59XG5cbmZ1bmN0aW9uIHVuQ2hlY2tlZFZhbHVlKHZhbHVlOiBGb3JtYXRWYWx1ZSwga2V5OiBzdHJpbmcpIHtcbiAgcmV0dXJuIHZhbHVlPy5ba2V5XSA9PSBudWxsIHx8IHZhbHVlW2tleV0gPT09ICcnO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0VmFsdWVNYXBGbihkYXRhOiBhbnksIHByb3A6IHN0cmluZykge1xuICByZXR1cm4gZGF0YT8uW3Byb3BdO1xufVxuXG50eXBlIFZhbHVlTWFwRm4gPSAoZGF0YTogYW55LCBwcm9wPzogc3RyaW5nKSA9PiBhbnk7XG5cbi8qKlxuICogQHBhcmFtIHZhbHVlIGlucHV0IHZhbHVlLHdoaWNoIHNob3VsZCBpbmNsdWRlIGFsbCBrZXkgYmVoaW5kIGtleXNcbiAqIEBwYXJhbSBrZXlzIGZvcm1hdHRlZCBrZXlzLCBrZXkgaXMgZXJyb3Iga2V5LCBsaWtlIFt7J2NvbnRhaW5lclBvcnQnOlsnY29udGFpbmVyUG9ydCddfSx7J2NvbXBsZXhFcnJvcic6Wydjb250YWluZXJQb3J0JywnaG9zdFBvcnQnXX1dXG4gKiBAcmV0dXJuc1xuICovXG5mdW5jdGlvbiBnZXRWYWx1ZUluS2V5cyhcbiAgdmFsdWU6IGFueSxcbiAga2V5czogRm9ybWF0S2V5cyxcbiAgbWFwRm46IFZhbHVlTWFwRm4sXG4pOiBGb3JtYXRWYWx1ZSB7XG4gIGNvbnN0IG9iaiA9IHt9O1xuICBPYmplY3QuZW50cmllcyhrZXlzKS5mb3JFYWNoKChba2V5LCBwcm9wc10pID0+IHtcbiAgICBwcm9wcy5mb3JFYWNoKHByb3AgPT4ge1xuICAgICAgc2V0KG9iaiwgW2tleSwgcHJvcF0sIG1hcEZuKHZhbHVlLCBwcm9wKSk7XG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gb2JqO1xufVxuXG4vLyDkupLlj43mgKfmo4Dmn6VcbmZ1bmN0aW9uIGlkZW50aWNhbFN0cmF0ZWd5Q2hlY2soXG4gIGtleXM6IEZvcm1hdEtleXMsXG4gIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSxcbiAgc3RhbGVWYWx1ZTogRm9ybWF0VmFsdWUsXG4gIG1hcEZuOiBWYWx1ZU1hcEZuLFxuICBtYXRjaGVzRm46IE1hdGNoVmFsdWVGbixcbiAgaW5pdERhdGE6IGFueVtdLFxuKSB7XG4gIGNvbnN0IGVycm9yc0NvdW50ZXI6IFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgeyBjb250cm9sczogU2V0PEFic3RyYWN0Q29udHJvbD47IGNvdW50OiBudW1iZXIgfVxuICA+ID0ge307XG5cbiAgT2JqZWN0LmVudHJpZXMoa2V5cykuZm9yRWFjaCgoW2tleSwgcHJvcHNdKSA9PiB7XG4gICAgZXJyb3JzQ291bnRlcltrZXldID0geyBjb250cm9sczogbmV3IFNldCgpLCBjb3VudDogMCB9O1xuICAgIGluaXREYXRhLmZvckVhY2goaW5pdFJvdyA9PiB7XG4gICAgICBpZiAobWF0Y2hWYWx1ZShwcm9wcywgaW5pdFJvd1trZXldLCBzdGFsZVZhbHVlW2tleV0pKSB7XG4gICAgICAgIGVycm9yc0NvdW50ZXJba2V5XS5jb3VudCsrO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnRyb2xzLmZvckVhY2goY3RybCA9PiB7XG4gICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBnZXRWYWx1ZUluS2V5cyhjdHJsLnZhbHVlLCBrZXlzLCBtYXBGbik7XG4gICAgICAvLyDkupLlj43mgKfnrZbnlaXvvIzopoHmsYLlkozogIHmlbDmja7nm7jmr5TvvIzlm6DmraTlj6rmnInlkozogIHmlbDmja7nm7jlkIzvvIzkvYblkozku7vmhI/lvZPliY3lhbbku5bmlbDmja7kuI3lkIznmoTvvIzmiY3pnIDopoHljrvmjonkuYvliY3nmoTplJnor69cbiAgICAgIGlmIChtYXRjaGVzRm4ocHJvcHMsIGNvbnRyb2xWYWx1ZVtrZXldLCBzdGFsZVZhbHVlW2tleV0pKSB7XG4gICAgICAgIGVycm9yc0NvdW50ZXJba2V5XS5jb3VudCsrO1xuICAgICAgICBlcnJvcnNDb3VudGVyW2tleV0uY29udHJvbHMuYWRkKGN0cmwpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgY29uc3QgdG9SZW1vdmVFcnJvcjogQXJyYXk8eyBrZXk6IHN0cmluZzsgY29udHJvbDogQWJzdHJhY3RDb250cm9sIH0+ID0gW107XG4gIE9iamVjdC5lbnRyaWVzKGVycm9yc0NvdW50ZXIpLmZvckVhY2goKFtrZXksIGl0ZW1dKSA9PiB7XG4gICAgaWYgKGl0ZW0uY291bnQgPT09IDEpIHtcbiAgICAgIGl0ZW0uY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgICAgdG9SZW1vdmVFcnJvci5wdXNoKHsga2V5LCBjb250cm9sIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHRvUmVtb3ZlRXJyb3I7XG59XG5cbi8vIOWFqOajgOafpVxuZnVuY3Rpb24gZnVsbFN0cmF0ZWd5Q2hlY2soXG4gIGtleXM6IEZvcm1hdEtleXMsXG4gIGNvbnRyb2xzOiBBYnN0cmFjdENvbnRyb2xbXSxcbiAgXzogRm9ybWF0VmFsdWUsXG4gIG1hcEZuOiBWYWx1ZU1hcEZuLFxuICBtYXRjaGVzRm46IE1hdGNoVmFsdWVGbixcbiAgaW5pdERhdGE6IGFueVtdLFxuKSB7XG4gIGNvbnN0IGNvbnRyb2xFcnJvcjogTWFwPEFic3RyYWN0Q29udHJvbCwgeyBrZXk6IHN0cmluZzsgY291bnQ6IG51bWJlciB9PiA9XG4gICAgbmV3IE1hcCgpO1xuXG4gIE9iamVjdC5lbnRyaWVzKGtleXMpLmZvckVhY2goKFtrZXksIHByb3BzXSkgPT4ge1xuICAgIGNvbnRyb2xzLmZvckVhY2goY3RybCA9PiB7XG4gICAgICBjb25zdCBjb250cm9sVmFsdWUgPSBnZXRWYWx1ZUluS2V5cyhjdHJsLnZhbHVlLCBrZXlzLCBtYXBGbik7XG4gICAgICAvLyDlhajmo4Dmn6XnrZbnlaXvvIzmnIDnu4jplJnor68ga2V5IOWvueW6lCBjb3VudCDkuLogMCDnmoRjdHJs5Lya5Y675o6J55u45bqU6ZSZ6K+vXG4gICAgICBjb250cm9sRXJyb3Iuc2V0KGN0cmwsIHsga2V5LCBjb3VudDogMCB9KTtcbiAgICAgIGluaXREYXRhLmZvckVhY2goaW5pdFJvdyA9PiB7XG4gICAgICAgIGlmIChtYXRjaFZhbHVlKHByb3BzLCBpbml0Um93W2tleV0sIGNvbnRyb2xWYWx1ZSkpIHtcbiAgICAgICAgICBjb25zdCByYXdDb3VudCA9IGNvbnRyb2xFcnJvci5nZXQoY3RybCkuY291bnQ7XG4gICAgICAgICAgY29udHJvbEVycm9yLnNldChjdHJsLCB7IGtleSwgY291bnQ6IHJhd0NvdW50ICsgMSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjb250cm9sc1xuICAgICAgICAuZmlsdGVyKG90aGVyQ29udHJvbCA9PiBvdGhlckNvbnRyb2wgIT09IGN0cmwpXG4gICAgICAgIC5mb3JFYWNoKG90aGVyQ29udHJvbCA9PiB7XG4gICAgICAgICAgY29uc3Qgb3RoZXJWYWx1ZSA9IGdldFZhbHVlSW5LZXlzKG90aGVyQ29udHJvbC52YWx1ZSwga2V5cywgbWFwRm4pO1xuICAgICAgICAgIGlmIChtYXRjaGVzRm4ocHJvcHMsIGNvbnRyb2xWYWx1ZVtrZXldLCBvdGhlclZhbHVlW2tleV0pKSB7XG4gICAgICAgICAgICBjb25zdCByYXdDb3VudCA9IGNvbnRyb2xFcnJvci5nZXQoY3RybCkuY291bnQ7XG4gICAgICAgICAgICBjb250cm9sRXJyb3Iuc2V0KGN0cmwsIHsga2V5LCBjb3VudDogcmF3Q291bnQgKyAxIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuICBjb25zdCB0b1JlbW92ZUVycm9yOiBBcnJheTx7IGtleTogc3RyaW5nOyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfT4gPSBbXTtcbiAgY29udHJvbEVycm9yLmZvckVhY2goKHsgY291bnQsIGtleSB9LCBjb250cm9sKSA9PiB7XG4gICAgaWYgKGNvdW50ID09PSAwKSB7XG4gICAgICB0b1JlbW92ZUVycm9yLnB1c2goeyBrZXksIGNvbnRyb2wgfSk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHRvUmVtb3ZlRXJyb3I7XG59XG4iXX0=
|
|
280
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yb3ctZHVwbGljYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvc2VydmljZXMvZm9ybS1yb3ctZHVwbGljYXRlL2Zvcm0tcm93LWR1cGxpY2F0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBRVYsZUFBZSxHQUVoQixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUV4RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztBQXFCcEQsdURBQXVEO0FBQ3ZELGlEQUFpRDtBQUNqRCxxQ0FBcUM7QUFDckMsTUFBTSxDQUFOLElBQVksNEJBR1g7QUFIRCxXQUFZLDRCQUE0QjtJQUN0Qyx1REFBdUIsQ0FBQTtJQUN2Qiw2Q0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLDRCQUE0QixLQUE1Qiw0QkFBNEIsUUFHdkM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FHOUI7SUFDRixDQUFDLDRCQUE0QixDQUFDLFNBQVMsQ0FBQyxFQUFFLHNCQUFzQjtJQUNoRSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxFQUFFLGlCQUFpQjtDQUN2RCxDQUFDO0FBRUYsNkJBQTZCO0FBRTdCLE1BQU0sT0FBTywyQkFBMkI7SUFJdEM7O09BRUc7SUFDSCxZQUE2QixZQUE2QjtRQUE3QixpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFFMUQsK0RBQStEO1FBQzlDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBRzNDLENBQUM7UUFFSixrSUFBa0k7UUFDakgsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFxQyxDQUFDO0lB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cmFibGVEaWZmZXJzLFxuICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQXJyYXksXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgVmFsaWRhdG9yRm4sXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNsb25lRGVlcCwgc2V0LCB1bnNldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ0BhbGF1ZGEtZmUvZHluYW1pYy1wbHVnaW4tc2RrJztcblxuZXhwb3J0IGNvbnN0IERVUExJQ0FURV9FUlJPUl9LRVkgPSAnZHVwbGljYXRlRXJyb3InO1xuXG50eXBlIFJvd0tleXMgPSBBcnJheTxzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+O1xudHlwZSBGb3JtYXRLZXlzID0gUmVjb3JkPHN0cmluZywgc3RyaW5nW10+O1xuZXhwb3J0IHR5cGUgRm9ybWF0VmFsdWUgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5leHBvcnQgdHlwZSBNYXRjaFZhbHVlRm4gPSAoXG4gIHByb3BzOiBzdHJpbmdbXSxcbiAgdmFsdWUxOiBGb3JtYXRWYWx1ZSxcbiAgdmFsdWUyOiBGb3JtYXRWYWx1ZSxcbikgPT4gYm9vbGVhbjtcblxuZXhwb3J0IHR5cGUgU3RyYXRlZ3lGbiA9IChcbiAga2V5czogRm9ybWF0S2V5cyxcbiAgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdLFxuICBzdGFsZVZhbHVlOiBGb3JtYXRWYWx1ZSxcbiAgbWFwRm46IFZhbHVlTWFwRm4sXG4gIG1hdGNoZXNGbjogTWF0Y2hWYWx1ZUZuLFxuICBpbml0RGF0YTogYW55W10sXG4pID0+IEFycmF5PHsga2V5OiBzdHJpbmc7IGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB9PjtcblxuLy8gSURFTlRJQ0FMOiDmo4DmtYvlhbfmnInkupLlj43mgKfvvIzkvKDpgJLmgKfjgIJh5LiOYumHjeWkje+8jGLkuI5j6YeN5aSN77yMYeW/heeEtuS4jmPph43lpI3vvIzmraTnqIvluqbkuIrlj6/ov5vooYzkvJjljJZcbi8vIEZVTEw6IOS4jeimgeaxguajgOa1i+WFt+acieS6kuWPjeaAp++8jOS8oOmAkuaAp+OAgmHkuI5i5Yik5Yir6YeN5aSN77yMYuS4jmPliKTliKvph43lpI3vvIxh5pyq5b+F5LiOY+WIpOWIq+mHjeWkjVxuLy8g5Li76KaB5piv6ZKI5a+55LiA5Lqb5aSN5p2C55qE6Ieq5a6a5LmJ5Yy56YWN6YeN5aSN55qE5L2/55So5Zy65pmv77yMRlVMTOaooeW8j+mHh+eUqOWFqOajgOafpVxuZXhwb3J0IGVudW0gRFVQTElDQVRJT05fSlVTVElGWV9TVFJBVEVHWSB7XG4gIElERU5USUNBTCA9ICdpZGVudGljYWwnLFxuICBGVUxMID0gJ2Z1bGwnLFxufVxuXG5leHBvcnQgY29uc3QgU1RSQVRFR1lfSlVER0VfTUFQUEVSOiBSZWNvcmQ8XG4gIERVUExJQ0FUSU9OX0pVU1RJRllfU1RSQVRFR1ksXG4gIFN0cmF0ZWd5Rm5cbj4gPSB7XG4gIFtEVVBMSUNBVElPTl9KVVNUSUZZX1NUUkFURUdZLklERU5USUNBTF06IGlkZW50aWNhbFN0cmF0ZWd5Q2hlY2ssXG4gIFtEVVBMSUNBVElPTl9KVVNUSUZZX1NUUkFURUdZLkZVTExdOiBmdWxsU3RyYXRlZ3lDaGVjayxcbn07XG5cbi8vIHVzZSBpbiBjb21wb25lbnQgbGlmZWN5Y2xlXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVmFsaWRhdGVSb3dEdXBsaWNhdGVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLy8gdXNlZCB0byBkZXRlY3QgYWxsIGNvbnRyb2xzIGRhdGEgY2hhbmdlXG4gIHByaXZhdGUgcm93c0RpZmZlcjogSXRlcmFibGVEaWZmZXI8QWJzdHJhY3RDb250cm9sPjtcblxuICAvKipcbiAgICogQHBhcmFtIGRpZmZlckZhY3Rvcnk6IHVzZWQgdG8gY3JlYXRlIHN1cHBvcnQgZGlmZmVyLCB3aGljaCBjYW4gYmUgcHJvdmlkZWQgYnkgdXNlclxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhcnJheURpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycykge31cblxuICAvLyB1c2VkIHRvIHNhdmUgbGFzdCB2YWx1ZSwgdG8gY2hlY2sgd2hldGhlciBpZiBjb250cm9sIGNoYW5nZWRcbiAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sVmFsdWVNYXAgPSBuZXcgV2Vha01hcDxcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgRm9ybWF0VmFsdWVcbiAgPigpO1xuXG4gIC8vIHVzZWQgdG8gc2F2ZSBlcnJvcnPvvIx0byBzb2x2ZSB2YWxpZGF0b3JzIGNvbmN1cnJlbnRseSB3b3JrKHNlY29uZCB2YWxpZGF0b3IgY2FuJ3QgZ2V0IGVycm9yIGZyb20gcHJldmlvdXMgdmFsaWRhdG9yIGluIG9uZSB0dXJuKVxuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yTWFwID0gbmV3IFdlYWtNYXA8QWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzPigpO1xuXG4gIHByaXZhdGUgZm9ybUFycmF5U2l6ZVN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNyZWF0ZUZvcm1BcnJheVZhbGlkYXRvcih7XG4gICAgcm93S2V5cyxcbiAgICBmb3JtQXJyYXksXG4gICAgdmFsdWVNYXBGbiA9IGRlZmF1bHRWYWx1ZU1hcEZuLFxuICAgIGluaXREYXRhID0gW10sXG4gICAgbWF0Y2hlc0ZuID0gbWF0Y2hWYWx1ZSxcbiAgICBzdHJhdGVneSA9IERVUExJQ0FUSU9OX0pVU1RJRllfU1RSQVRFR1kuSURFTlRJQ0FMLFxuICB9OiB7XG4gICAgcm93S2V5czogUm93S2V5cztcbiAgICBmb3JtQXJyYXk6IEZvcm1BcnJheTtcbiAgICB2YWx1ZU1hcEZuPzogYW55O1xuICAgIGluaXREYXRhPzogYW55W107XG4gICAgbWF0Y2hlc0ZuPzogTWF0Y2hWYWx1ZUZuO1xuICAgIHN0cmF0ZWd5PzogRFVQTElDQVRJT05fSlVTVElGWV9TVFJBVEVHWTtcbiAgfSk6IFZhbGlkYXRvckZuIHtcbiAgICBjb25zdCBrZXlzID0gZm9ybWF0S2V5cyhyb3dLZXlzKTtcbiAgICBpZiAoIXRoaXMucm93c0RpZmZlcikge1xuICAgICAgdGhpcy5yb3dzRGlmZmVyID0gdGhpcy5hcnJheURpZmZlcnMuZmluZChbXSkuY3JlYXRlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0Rm9ybUFycmF5U2l6ZUNoYW5nZShcbiAgICAgIGZvcm1BcnJheSxcbiAgICAgIHRoaXMucm93c0RpZmZlcixcbiAgICAgIGtleXMsXG4gICAgICB2YWx1ZU1hcEZuLFxuICAgICAgbWF0Y2hlc0ZuLFxuICAgICAgc3RyYXRlZ3ksXG4gICAgICBpbml0RGF0YSxcbiAgICApO1xuXG4gICAgcmV0dXJuIChjb250cm9sOiBGb3JtR3JvdXApID0+IHtcbiAgICAgIGNvbnN0IHsgY29udHJvbHMgfSA9IGZvcm1BcnJheTtcbiAgICAgIGNvbnN0IGxhc3RWYWx1ZSA9IHRoaXMuY29udHJvbFZhbHVlTWFwLmdldChjb250cm9sKTtcbiAgICAgIGlmIChjb250cm9sLnByaXN0aW5lKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgLy8gbm90aGluZyBjaGFuZ2VcbiAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldFZhbHVlSW5LZXlzKGNvbnRyb2wudmFsdWUsIGtleXMsIHZhbHVlTWFwRm4pO1xuICAgICAgdGhpcy5jb250cm9sVmFsdWVNYXAuc2V0KGNvbnRyb2wsIGN1cnJlbnRWYWx1ZSk7XG4gICAgICBpZiAobGFzdFZhbHVlKSB7XG4gICAgICAgIGxldCBpZGVudGljYWwgPSB0cnVlO1xuICAgICAgICBPYmplY3QuZW50cmllcyhrZXlzKS5mb3JFYWNoKChba2V5LCBwcm9wc10pID0+IHtcbiAgICAgICAgICBpZiAoIWVxdWFsc1ZhbHVlKHByb3BzLCBjdXJyZW50VmFsdWVba2V5XSwgbGFzdFZhbHVlW2tleV0pKSB7XG4gICAgICAgICAgICBpZGVudGljYWwgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoaWRlbnRpY2FsKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JNYXAuZ2V0KGNvbnRyb2wpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBkaWZmS2V5cyA9IGxhc3RWYWx1ZVxuICAgICAgICA/IGRpZmZLZXlzQnlWYWx1ZShrZXlzLCBjdXJyZW50VmFsdWUsIGxhc3RWYWx1ZSlcbiAgICAgICAgOiBrZXlzO1xuICAgICAgLy8g5ZKM5LiK5qyh5YC85a2Y5Zyo5beu5byC77yM5Y+v5bCG6ICB5pWw5o2u5L2c5Li65Yig6Zmk6KGM5aSE55CGXG4gICAgICBpZiAobGFzdFZhbHVlKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlUmVtb3ZlUm93VmFsdWUoXG4gICAgICAgICAgZGlmZktleXMsXG4gICAgICAgICAgY29udHJvbHMsXG4gICAgICAgICAgbGFzdFZhbHVlLFxuICAgICAgICAgIHZhbHVlTWFwRm4sXG4gICAgICAgICAgY29udHJvbCxcbiAgICAgICAgICBtYXRjaGVzRm4sXG4gICAgICAgICAgc3RyYXRlZ3ksXG4gICAgICAgICAgaW5pdERhdGEsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAvLyDmm7TmlrDlkI7nmoTnirbmgIHvvIzlj6/og73lr7zoh7Tlhbbku5booYzlh7rnjrDmlrDnmoTph43lpI1cbiAgICAgIGNvbnN0IG90aGVyQ29udHJvbHMgPSBjb250cm9scy5maWx0ZXIoY3RybCA9PiBjdHJsICE9PSBjb250cm9sKTtcbiAgICAgIGNvbnN0IGN0cmxFcnJvcjogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgb3RoZXJDb250cm9scy5mb3JFYWNoKGN0cmwgPT4ge1xuICAgICAgICBjb25zdCBvdGhlclZhbHVlID0gZ2V0VmFsdWVJbktleXMoY3RybC52YWx1ZSwgZGlmZktleXMsIHZhbHVlTWFwRm4pO1xuICAgICAgICBjb25zdCBvdGhlcnNFcnJvcjogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgICAgICAvLyBrZXlzIOS4reWIhuWIq+avlOi+gyDlpoLmnpwgb3RoZXJWYWx1ZSDkuI4gY3VycmVudFZhbHVlIOWcqOafkOS4qmtleeS4i++8jOaVsOaNruebuOWQjO+8jOWImeivtOaYjuatpCBrZXkg5a2Y5Zyo6YeN5aSN6ZSZ6K+vXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGRpZmZLZXlzKS5mb3JFYWNoKChba2V5LCBwcm9wc10pID0+IHtcbiAgICAgICAgICBpZiAobWF0Y2hlc0ZuKHByb3BzLCBvdGhlclZhbHVlW2tleV0sIGN1cnJlbnRWYWx1ZVtrZXldKSkge1xuICAgICAgICAgICAgc2V0KG90aGVyc0Vycm9yLCBba2V5XSwgY3VycmVudFZhbHVlW2tleV0pO1xuICAgICAgICAgICAgc2V0KGN0cmxFcnJvciwga2V5LCBjdXJyZW50VmFsdWVba2V5XSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5hZGREdXBsaWNhdGVFcnJvcihvdGhlcnNFcnJvciwgY3RybCwgdHJ1ZSk7XG4gICAgICB9KTtcbiAgICAgIChpbml0RGF0YSB8fCBbXSkuZm9yRWFjaChpbml0Um93ID0+IHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoZGlmZktleXMpLmZvckVhY2goKFtrZXksIHByb3BzXSkgPT4ge1xuICAgICAgICAgIGlmIChtYXRjaGVzRm4ocHJvcHMsIGluaXRSb3dba2V5XSwgY3VycmVudFZhbHVlW2tleV0pKSB7XG4gICAgICAgICAgICBzZXQoY3RybEVycm9yLCBrZXksIGN1cnJlbnRWYWx1ZVtrZXldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmFkZER1cGxpY2F0ZUVycm9yKGN0cmxFcnJvciwgY29udHJvbCk7XG4gICAgICByZXR1cm4gdGhpcy5lcnJvck1hcC5nZXQoY29udHJvbCk7XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUmVtb3ZlUm93VmFsdWUoXG4gICAga2V5czogRm9ybWF0S2V5cyxcbiAgICBjb250cm9sczogQWJzdHJhY3RDb250cm9sW10sXG4gICAgc3RhbGVWYWx1ZTogRm9ybWF0VmFsdWUsXG4gICAgbWFwRm46IFZhbHVlTWFwRm4sXG4gICAgc2VsZkNvbnRyb2w/OiBBYnN0cmFjdENvbnRyb2wsXG4gICAgbWF0Y2hlc0ZuPzogTWF0Y2hWYWx1ZUZuLFxuICAgIHN0cmF0ZWd5PzogRFVQTElDQVRJT05fSlVTVElGWV9TVFJBVEVHWSxcbiAgICBpbml0RGF0YT86IGFueVtdLFxuICApIHtcbiAgICBpZiAoc2VsZkNvbnRyb2wpIHtcbiAgICAgIHRoaXMucmVtb3ZlRHVwbGljYXRlRXJyb3IoT2JqZWN0LmtleXMoa2V5cyksIHNlbGZDb250cm9sKTtcbiAgICB9XG4gICAgY29uc3QgdG9SZW1vdmVFcnJvciA9IFNUUkFURUdZX0pVREdFX01BUFBFUltzdHJhdGVneV0oXG4gICAgICBrZXlzLFxuICAgICAgY29udHJvbHMsXG4gICAgICBzdGFsZVZhbHVlLFxuICAgICAgbWFwRm4sXG4gICAgICBtYXRjaGVzRm4sXG4gICAgICBpbml0RGF0YSxcbiAgICApO1xuICAgICh0b1JlbW92ZUVycm9yIHx8IFtdKS5mb3JFYWNoKCh7IGtleSwgY29udHJvbCB9KSA9PlxuICAgICAgdGhpcy5yZW1vdmVEdXBsaWNhdGVFcnJvcihba2V5XSwgY29udHJvbCwgdHJ1ZSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZvcm1BcnJheVNpemVDaGFuZ2UoXG4gICAgZm9ybUFycmF5OiBGb3JtQXJyYXksXG4gICAgcm93c0RpZmZlcjogSXRlcmFibGVEaWZmZXI8QWJzdHJhY3RDb250cm9sPixcbiAgICBrZXlzOiBGb3JtYXRLZXlzLFxuICAgIG1hcEZuOiBWYWx1ZU1hcEZuLFxuICAgIG1hdGNoZXNGbjogTWF0Y2hWYWx1ZUZuLFxuICAgIHN0cmF0ZWd5OiBEVVBMSUNBVElPTl9KVVNUSUZZX1NUUkFURUdZLFxuICAgIGluaXREYXRhPzogYW55W10sXG4gICkge1xuICAgIGlmICghdGhpcy5mb3JtQXJyYXlTaXplU3ViKSB7XG4gICAgICB0aGlzLmZvcm1BcnJheVNpemVTdWIgPSBmb3JtQXJyYXkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgY29uc3QgeyBjb250cm9scyB9ID0gZm9ybUFycmF5O1xuICAgICAgICBjb25zdCByb3dzRGlmZiA9IHJvd3NEaWZmZXIuZGlmZihjb250cm9scyk7XG4gICAgICAgIGlmIChyb3dzRGlmZikge1xuICAgICAgICAgIC8vIG9uIGRlbGV0aW5nIHJvd1xuICAgICAgICAgIHJvd3NEaWZmLmZvckVhY2hSZW1vdmVkSXRlbShyZWNvcmQgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmF3VmFsdWUgPSBnZXRWYWx1ZUluS2V5cyhyZWNvcmQuaXRlbS52YWx1ZSwga2V5cywgbWFwRm4pO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVSZW1vdmVSb3dWYWx1ZShcbiAgICAgICAgICAgICAga2V5cyxcbiAgICAgICAgICAgICAgY29udHJvbHMsXG4gICAgICAgICAgICAgIHJhd1ZhbHVlLFxuICAgICAgICAgICAgICBtYXBGbixcbiAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBtYXRjaGVzRm4sXG4gICAgICAgICAgICAgIHN0cmF0ZWd5LFxuICAgICAgICAgICAgICBpbml0RGF0YSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkRHVwbGljYXRlRXJyb3IoXG4gICAgZXJyb3JJbmZvOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcbiAgICBzZXRDb250cm9sID0gZmFsc2UsXG4gICkge1xuICAgIGNvbnN0IGVycm9ycyA9IGNsb25lRGVlcCh0aGlzLmVycm9yTWFwLmdldChjb250cm9sKSkgfHwge307XG4gICAgLy8gYWxyZWFkeSBoYXMgZXJyb3Isbm8gbmVlZCB0byBhZGRcbiAgICBpZiAoXG4gICAgICAhT2JqZWN0LmtleXMoZXJyb3JJbmZvKS5zb21lKFxuICAgICAgICBrZXkgPT4gZXJyb3JzPy5bRFVQTElDQVRFX0VSUk9SX0tFWV0/LltrZXldID09IG51bGwsXG4gICAgICApXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgT2JqZWN0LmtleXMoZXJyb3JJbmZvKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBzZXQoZXJyb3JzLCBbRFVQTElDQVRFX0VSUk9SX0tFWSwga2V5XSwgZXJyb3JJbmZvW2tleV0pO1xuICAgIH0pO1xuICAgIHRoaXMuZXJyb3JNYXAuc2V0KGNvbnRyb2wsIGVycm9ycyk7XG4gICAgaWYgKHNldENvbnRyb2wpIHtcbiAgICAgIC8vIOW9k+iuvue9rumHjeWkjeaKpemUmeaXtizpnIDopoHms6jmhI/kv53nlZnljp/mnaXnmoTmiqXplJlcbiAgICAgIGNvbnN0IGNvbnRyb2xFcnJvciA9IGNsb25lRGVlcChjb250cm9sLmVycm9ycyk7XG4gICAgICB1bnNldChjb250cm9sRXJyb3IsIFtEVVBMSUNBVEVfRVJST1JfS0VZXSk7XG4gICAgICBjb25zdCBlcnJvciA9IHsgLi4uY29udHJvbEVycm9yLCAuLi50aGlzLmVycm9yTWFwLmdldChjb250cm9sKSB9O1xuICAgICAgY29udHJvbC5zZXRFcnJvcnMoT2JqZWN0LmtleXMoZXJyb3IpLmxlbmd0aCA9PT0gMCA/IG51bGwgOiBlcnJvciwge1xuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIGNvbnRyb2wncyBlcnJvciBzaG91bGQgYmUgc2hvd24saXQncyBub3QgcHJpc3RpbmUgYW55IG1vcmVcbiAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUR1cGxpY2F0ZUVycm9yKFxuICAgIGVycm9ySW5mbzogc3RyaW5nW10sXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICAgIHNldENvbnRyb2wgPSBmYWxzZSxcbiAgKSB7XG4gICAgY29uc3QgZXJyb3JzID0gY2xvbmVEZWVwKHRoaXMuZXJyb3JNYXAuZ2V0KGNvbnRyb2wpKTtcbiAgICAvLyBubyBuZWVkIHRvIHJlbW92ZSBlcnJvclxuICAgIGlmICghZXJyb3JJbmZvLnNvbWUoa2V5ID0+IGVycm9ycz8uW0RVUExJQ0FURV9FUlJPUl9LRVldPy5ba2V5XSAhPSBudWxsKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBlcnJvckluZm8uZm9yRWFjaChrZXkgPT4ge1xuICAgICAgdW5zZXQoZXJyb3JzLCBbRFVQTElDQVRFX0VSUk9SX0tFWSwga2V5XSk7XG4gICAgfSk7XG4gICAgdGhpcy5lcnJvck1hcC5zZXQoXG4gICAgICBjb250cm9sLFxuICAgICAgT2JqZWN0LmtleXMoZXJyb3JzPy5bRFVQTElDQVRFX0VSUk9SX0tFWV0gfHwge30pLmxlbmd0aCA/IGVycm9ycyA6IG51bGwsXG4gICAgKTtcbiAgICBpZiAoc2V0Q29udHJvbCkge1xuICAgICAgY29uc3QgY29udHJvbEVycm9yOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gY2xvbmVEZWVwKGNvbnRyb2wuZXJyb3JzKSB8fCB7fTtcbiAgICAgIHVuc2V0KGNvbnRyb2xFcnJvciwgW0RVUExJQ0FURV9FUlJPUl9LRVldKTtcblxuICAgICAgY29uc3QgZXJyb3IgPSB7IC4uLmNvbnRyb2xFcnJvciwgLi4udGhpcy5lcnJvck1hcC5nZXQoY29udHJvbCkgfTtcbiAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKE9iamVjdC5rZXlzKGVycm9yKS5sZW5ndGggPT09IDAgPyBudWxsIDogZXJyb3IsIHtcbiAgICAgICAgZW1pdEV2ZW50OiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmZvcm1BcnJheVNpemVTdWIpIHtcbiAgICAgIHRoaXMuZm9ybUFycmF5U2l6ZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyDku4Xov5Tlm55rZXlz6KeE5YiZ5LiL77yMY3VycmVudFZhbHVl5LiObGFzdFZhbHVl5a2Y5Zyo5LiN5ZCM55qE6YOo5YiGa2V5XG5mdW5jdGlvbiBkaWZmS2V5c0J5VmFsdWUoXG4gIGtleXM6IEZvcm1hdEtleXMsXG4gIGN1cnJlbnRWYWx1ZTogRm9ybWF0VmFsdWUsXG4gIGxhc3RWYWx1ZTogRm9ybWF0VmFsdWUsXG4pIHtcbiAgY29uc3Qgb2JqOiBGb3JtYXRLZXlzID0ge307XG4gIE9iamVjdC5lbnRyaWVzKGtleXMpLmZvckVhY2goKFtrZXksIHByb3BzXSkgPT4ge1xuICAgIGlmICghZXF1YWxzVmFsdWUocHJvcHMsIGN1cnJlbnRWYWx1ZVtrZXldLCBsYXN0VmFsdWVba2V5XSkpIHtcbiAgICAgIG9ialtrZXldID0gcHJvcHM7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIG9iajtcbn1cblxuLy8g5oyH5a6a5bGe5oCn5LiL77yMdmFsdWUxIOWSjCB2YWx1ZTIg5a+55LqO5omA5pyJ55qE5bGe5oCn5a2Y5Zyo5pyJ5pWI5YC877yM5bm25LiU55u45ZCM77yM5q2k5pe25Y+v5Yik5a6a6YeN5aSNXG5mdW5jdGlvbiBtYXRjaFZhbHVlKHByb3BzOiBzdHJpbmdbXSwgdmFsdWUxOiBGb3JtYXRWYWx1ZSwgdmFsdWUyOiBGb3JtYXRWYWx1ZSkge1xuICByZXR1cm4gIXByb3BzLnNvbWUoXG4gICAgcHJvcCA9PiB1bkNoZWNrZWRWYWx1ZSh2YWx1ZTEsIHByb3ApIHx8IHZhbHVlMVtwcm9wXSAhPT0gdmFsdWUyW3Byb3BdLFxuICApO1xufVxuXG4vLyDmjIflrprlsZ7mgKfkuIvvvIx2YWx1ZTEg5ZKMIHZhbHVlMiDlr7nkuo7miYDmnInnmoTlsZ7mgKfnm7jlkIzvvIzmraTml7blj6/liKTlrpogdmFsdWUxICwgdmFsdWUyIOebuOetiVxuZnVuY3Rpb24gZXF1YWxzVmFsdWUoXG4gIHByb3BzOiBzdHJpbmdbXSxcbiAgdmFsdWUxOiBGb3JtYXRWYWx1ZSxcbiAgdmFsdWUyOiBGb3JtYXRWYWx1ZSxcbikge1xuICByZXR1cm4gIXByb3BzLnNvbWUocHJvcCA9PiAhaXNFcXVhbCh2YWx1ZTFbcHJvcF0sIHZhbHVlMltwcm9wXSkpO1xufVxuXG4vKipcbiAqIEBwYXJhbSBrZXlzIFsncHJvdG9jb2wnLHtjb21wbGV4OiBbJ2NvbnRhaW5lclBvcnQnLCdob3N0UG9ydCddfV1cbiAqIEByZXR1cm5zIFt7cHJvdG9jb2w6IFsncHJvdG9jb2wnXX0sIHtjb21wbGV4OiBbJ2NvbnRhaW5lclBvcnQnLCdob3N0UG9ydCddfV1cbiAqL1xuZnVuY3Rpb24gZm9ybWF0S2V5cyhrZXlzOiBSb3dLZXlzID0gW10pOiBGb3JtYXRLZXlzIHtcbiAgY29uc3Qgb2JqOiBGb3JtYXRLZXlzID0ge307XG4gIGtleXMuZm9yRWFjaChrZXlPYmogPT4ge1xuICAgIGlmICh0eXBlb2Yga2V5T2JqID09PSAnc3RyaW5nJykge1xuICAgICAgb2JqW2tleU9ial0gPSBba2V5T2JqXTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgT2JqZWN0LmtleXMoa2V5T2JqKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBvYmpba2V5XSA9IGtleU9ialtrZXldO1xuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gdW5DaGVja2VkVmFsdWUodmFsdWU6IEZvcm1hdFZhbHVlLCBrZXk6IHN0cmluZykge1xuICByZXR1cm4gdmFsdWU/LltrZXldID09IG51bGwgfHwgdmFsdWVba2V5XSA9PT0gJyc7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRWYWx1ZU1hcEZuKGRhdGE6IGFueSwgcHJvcDogc3RyaW5nKSB7XG4gIHJldHVybiBkYXRhPy5bcHJvcF07XG59XG5cbnR5cGUgVmFsdWVNYXBGbiA9IChkYXRhOiBhbnksIHByb3A/OiBzdHJpbmcpID0+IGFueTtcblxuLyoqXG4gKiBAcGFyYW0gdmFsdWUgaW5wdXQgdmFsdWUsd2hpY2ggc2hvdWxkIGluY2x1ZGUgYWxsIGtleSBiZWhpbmQga2V5c1xuICogQHBhcmFtIGtleXMgZm9ybWF0dGVkIGtleXMsIGtleSBpcyBlcnJvciBrZXksIGxpa2UgW3snY29udGFpbmVyUG9ydCc6Wydjb250YWluZXJQb3J0J119LHsnY29tcGxleEVycm9yJzpbJ2NvbnRhaW5lclBvcnQnLCdob3N0UG9ydCddfV1cbiAqIEByZXR1cm5zXG4gKi9cbmZ1bmN0aW9uIGdldFZhbHVlSW5LZXlzKFxuICB2YWx1ZTogYW55LFxuICBrZXlzOiBGb3JtYXRLZXlzLFxuICBtYXBGbjogVmFsdWVNYXBGbixcbik6IEZvcm1hdFZhbHVlIHtcbiAgY29uc3Qgb2JqID0ge307XG4gIE9iamVjdC5lbnRyaWVzKGtleXMpLmZvckVhY2goKFtrZXksIHByb3BzXSkgPT4ge1xuICAgIHByb3BzLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICBzZXQob2JqLCBba2V5LCBwcm9wXSwgbWFwRm4odmFsdWUsIHByb3ApKTtcbiAgICB9KTtcbiAgfSk7XG4gIHJldHVybiBvYmo7XG59XG5cbi8vIOS6kuWPjeaAp+ajgOafpVxuZnVuY3Rpb24gaWRlbnRpY2FsU3RyYXRlZ3lDaGVjayhcbiAga2V5czogRm9ybWF0S2V5cyxcbiAgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdLFxuICBzdGFsZVZhbHVlOiBGb3JtYXRWYWx1ZSxcbiAgbWFwRm46IFZhbHVlTWFwRm4sXG4gIG1hdGNoZXNGbjogTWF0Y2hWYWx1ZUZuLFxuICBpbml0RGF0YTogYW55W10sXG4pIHtcbiAgY29uc3QgZXJyb3JzQ291bnRlcjogUmVjb3JkPFxuICAgIHN0cmluZyxcbiAgICB7IGNvbnRyb2xzOiBTZXQ8QWJzdHJhY3RDb250cm9sPjsgY291bnQ6IG51bWJlciB9XG4gID4gPSB7fTtcblxuICBPYmplY3QuZW50cmllcyhrZXlzKS5mb3JFYWNoKChba2V5LCBwcm9wc10pID0+IHtcbiAgICBlcnJvcnNDb3VudGVyW2tleV0gPSB7IGNvbnRyb2xzOiBuZXcgU2V0KCksIGNvdW50OiAwIH07XG4gICAgaW5pdERhdGEuZm9yRWFjaChpbml0Um93ID0+IHtcbiAgICAgIGlmIChtYXRjaFZhbHVlKHByb3BzLCBpbml0Um93W2tleV0sIHN0YWxlVmFsdWVba2V5XSkpIHtcbiAgICAgICAgZXJyb3JzQ291bnRlcltrZXldLmNvdW50Kys7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29udHJvbHMuZm9yRWFjaChjdHJsID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGdldFZhbHVlSW5LZXlzKGN0cmwudmFsdWUsIGtleXMsIG1hcEZuKTtcbiAgICAgIC8vIOS6kuWPjeaAp+etlueVpe+8jOimgeaxguWSjOiAgeaVsOaNruebuOavlO+8jOWboOatpOWPquacieWSjOiAgeaVsOaNruebuOWQjO+8jOS9huWSjOS7u+aEj+W9k+WJjeWFtuS7luaVsOaNruS4jeWQjOeahO+8jOaJjemcgOimgeWOu+aOieS5i+WJjeeahOmUmeivr1xuICAgICAgaWYgKG1hdGNoZXNGbihwcm9wcywgY29udHJvbFZhbHVlW2tleV0sIHN0YWxlVmFsdWVba2V5XSkpIHtcbiAgICAgICAgZXJyb3JzQ291bnRlcltrZXldLmNvdW50Kys7XG4gICAgICAgIGVycm9yc0NvdW50ZXJba2V5XS5jb250cm9scy5hZGQoY3RybCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBjb25zdCB0b1JlbW92ZUVycm9yOiBBcnJheTx7IGtleTogc3RyaW5nOyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfT4gPSBbXTtcbiAgT2JqZWN0LmVudHJpZXMoZXJyb3JzQ291bnRlcikuZm9yRWFjaCgoW2tleSwgaXRlbV0pID0+IHtcbiAgICBpZiAoaXRlbS5jb3VudCA9PT0gMSkge1xuICAgICAgaXRlbS5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgICB0b1JlbW92ZUVycm9yLnB1c2goeyBrZXksIGNvbnRyb2wgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gdG9SZW1vdmVFcnJvcjtcbn1cblxuLy8g5YWo5qOA5p+lXG5mdW5jdGlvbiBmdWxsU3RyYXRlZ3lDaGVjayhcbiAga2V5czogRm9ybWF0S2V5cyxcbiAgY29udHJvbHM6IEFic3RyYWN0Q29udHJvbFtdLFxuICBfOiBGb3JtYXRWYWx1ZSxcbiAgbWFwRm46IFZhbHVlTWFwRm4sXG4gIG1hdGNoZXNGbjogTWF0Y2hWYWx1ZUZuLFxuICBpbml0RGF0YTogYW55W10sXG4pIHtcbiAgY29uc3QgY29udHJvbEVycm9yOiBNYXA8QWJzdHJhY3RDb250cm9sLCB7IGtleTogc3RyaW5nOyBjb3VudDogbnVtYmVyIH0+ID1cbiAgICBuZXcgTWFwKCk7XG5cbiAgT2JqZWN0LmVudHJpZXMoa2V5cykuZm9yRWFjaCgoW2tleSwgcHJvcHNdKSA9PiB7XG4gICAgY29udHJvbHMuZm9yRWFjaChjdHJsID0+IHtcbiAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9IGdldFZhbHVlSW5LZXlzKGN0cmwudmFsdWUsIGtleXMsIG1hcEZuKTtcbiAgICAgIC8vIOWFqOajgOafpeetlueVpe+8jOacgOe7iOmUmeivryBrZXkg5a+55bqUIGNvdW50IOS4uiAwIOeahGN0cmzkvJrljrvmjonnm7jlupTplJnor69cbiAgICAgIGNvbnRyb2xFcnJvci5zZXQoY3RybCwgeyBrZXksIGNvdW50OiAwIH0pO1xuICAgICAgaW5pdERhdGEuZm9yRWFjaChpbml0Um93ID0+IHtcbiAgICAgICAgaWYgKG1hdGNoVmFsdWUocHJvcHMsIGluaXRSb3dba2V5XSwgY29udHJvbFZhbHVlKSkge1xuICAgICAgICAgIGNvbnN0IHJhd0NvdW50ID0gY29udHJvbEVycm9yLmdldChjdHJsKS5jb3VudDtcbiAgICAgICAgICBjb250cm9sRXJyb3Iuc2V0KGN0cmwsIHsga2V5LCBjb3VudDogcmF3Q291bnQgKyAxIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNvbnRyb2xzXG4gICAgICAgIC5maWx0ZXIob3RoZXJDb250cm9sID0+IG90aGVyQ29udHJvbCAhPT0gY3RybClcbiAgICAgICAgLmZvckVhY2gob3RoZXJDb250cm9sID0+IHtcbiAgICAgICAgICBjb25zdCBvdGhlclZhbHVlID0gZ2V0VmFsdWVJbktleXMob3RoZXJDb250cm9sLnZhbHVlLCBrZXlzLCBtYXBGbik7XG4gICAgICAgICAgaWYgKG1hdGNoZXNGbihwcm9wcywgY29udHJvbFZhbHVlW2tleV0sIG90aGVyVmFsdWVba2V5XSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJhd0NvdW50ID0gY29udHJvbEVycm9yLmdldChjdHJsKS5jb3VudDtcbiAgICAgICAgICAgIGNvbnRyb2xFcnJvci5zZXQoY3RybCwgeyBrZXksIGNvdW50OiByYXdDb3VudCArIDEgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG4gIGNvbnN0IHRvUmVtb3ZlRXJyb3I6IEFycmF5PHsga2V5OiBzdHJpbmc7IGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB9PiA9IFtdO1xuICBjb250cm9sRXJyb3IuZm9yRWFjaCgoeyBjb3VudCwga2V5IH0sIGNvbnRyb2wpID0+IHtcbiAgICBpZiAoY291bnQgPT09IDApIHtcbiAgICAgIHRvUmVtb3ZlRXJyb3IucHVzaCh7IGtleSwgY29udHJvbCB9KTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gdG9SZW1vdmVFcnJvcjtcbn1cbiJdfQ==
|
|
@@ -2,7 +2,8 @@ import { TOKEN_BASE_DOMAIN } from '@alauda-fe/dynamic-plugin-sdk';
|
|
|
2
2
|
import { Inject, Injectable } from '@angular/core';
|
|
3
3
|
import { get, sortBy } from 'lodash-es';
|
|
4
4
|
import { ANNOTATIONS, LABELS, METADATA } from '../constants';
|
|
5
|
-
import {
|
|
5
|
+
import { stringify } from '@alauda-fe/dynamic-plugin-sdk';
|
|
6
|
+
import { emptyObjectRemoveRuleFactory, prefixFilterRuleFactory, yamlFilterField, } from '../utils';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class YamlUtilService {
|
|
8
9
|
constructor(baseDomain) {
|
|
@@ -96,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
96
97
|
type: Inject,
|
|
97
98
|
args: [TOKEN_BASE_DOMAIN]
|
|
98
99
|
}] }] });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC11dGlsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvc2VydmljZXMveWFtbC11dGlsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHVCQUF1QixFQUN2QixlQUFlLEdBRWhCLE1BQU0sVUFBVSxDQUFDOztBQUtsQixNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUF3RCxVQUFrQjtRQUFsQixlQUFVLEdBQVYsVUFBVSxDQUFRO0lBQUcsQ0FBQztJQUU5RSxzRUFBc0U7SUFDdEUsY0FBYztJQUNkLGtCQUFrQixDQUFDLENBQXFCO1FBQ3RDLE1BQU0sYUFBYSxHQUFxQjtZQUN0QyxvQkFBb0I7WUFDcEIsd0JBQXdCO1lBQ3hCLDRCQUE0QjtZQUM1QixxQkFBcUI7WUFDckIsMEJBQTBCO1lBQzFCLGNBQWM7WUFDZCwwQkFBMEI7WUFDMUIscUJBQXFCO1lBQ3JCLG1CQUFtQjtZQUNuQix5QkFBeUIsSUFBSSxDQUFDLFVBQVUsU0FBUztZQUNqRCx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ2pFLHVCQUF1QixDQUNyQixlQUFlLEVBQ2YsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEVBQ3ZCLFVBQVUsQ0FDWDtZQUNELFFBQVE7U0FDVCxDQUFDO1FBQ0YsTUFBTSxlQUFlLEdBQXFCLEVBQUUsQ0FBQztRQUM3QyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNmLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDbkIsZUFBZSxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO2dCQUM5RCxNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssWUFBWSxDQUFDO1lBQ2xCLEtBQUssYUFBYSxDQUFDO1lBQ25CLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDakIsZUFBZSxDQUFDLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO2dCQUNsRSxNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDWCxlQUFlLENBQUMsSUFBSSxDQUNsQiwyQkFBMkIsRUFDM0IsOENBQThDLEVBQzlDLEdBQUcsUUFBUSxJQUFJLE1BQU0saUJBQWlCLEVBQ3RDLHVCQUF1QixDQUNyQixvQ0FBb0MsRUFDcEMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFDdEMsVUFBVSxDQUNYLENBQ0YsQ0FBQztnQkFDRixNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssdUJBQXVCLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixlQUFlLENBQUMsSUFBSSxDQUNsQix1QkFBdUIsQ0FDckIsa0JBQWtCLEVBQ2xCLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxFQUN2QixZQUFZLENBQ2IsRUFDRCx1QkFBdUIsQ0FDckIsMkJBQTJCLEVBQzNCLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxFQUN2QixZQUFZLENBQ2IsRUFDRCxpQkFBaUIsQ0FDbEIsQ0FBQztnQkFDRixNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDZixlQUFlLENBQUMsSUFBSSxDQUNsQixRQUFRLENBQUMsRUFBRTtvQkFDVCxvQ0FBb0M7b0JBQ3BDLE1BQU0sS0FBSyxHQUNSLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQW1CLElBQUksRUFBRSxDQUFDO29CQUM1RCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDeEIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUNsRCxDQUFDO2dCQUNKLENBQUMsRUFDRCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixxQkFBcUIsQ0FDdEIsQ0FBQztnQkFDRixNQUFNO1lBQ1IsQ0FBQztZQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ1IsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO1FBQ0QsZUFBZSxDQUFDLElBQUksQ0FDbEIsNEJBQTRCLENBQUMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUMsRUFDckQsNEJBQTRCLENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FDakQsQ0FBQztRQUNGLE9BQU8sZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxFQUFFLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsNEJBQTRCLENBQzFCLFFBQXNCLEVBQ3RCLE9BQU8sR0FBRyxLQUFLLEVBQ2YsTUFBTSxHQUFHLEtBQUs7UUFFZCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDO2FBQ25FLEdBQUcsQ0FBQyxDQUFDLFFBQVcsRUFBRSxFQUFFLENBQ25CLE9BQU87WUFDTCxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztZQUNuQyxDQUFDLENBQUMsTUFBTTtnQkFDTixDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7Z0JBQ3ZELENBQUMsQ0FBQyxRQUFRLENBQ2Y7YUFDQSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDVCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2IsTUFBTSxFQUFFLEtBQUs7WUFDYixjQUFjLEVBQUUsSUFBSTtTQUNyQixDQUFDLENBQ0g7YUFDQSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekIsQ0FBQzs4R0E1SFUsZUFBZSxrQkFDTixpQkFBaUI7a0hBRDFCLGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBRWMsTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUT0tFTl9CQVNFX0RPTUFJTiB9IGZyb20gJ0BhbGF1ZGEtZmUvZHluYW1pYy1wbHVnaW4tc2RrJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0LCBzb3J0QnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBBTk5PVEFUSU9OUywgTEFCRUxTLCBNRVRBREFUQSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBcnJheWFibGUsIEt1YmVybmV0ZXNSZXNvdXJjZSwgU2VydmljZVBvcnQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBzdHJpbmdpZnkgfSBmcm9tICdAYWxhdWRhLWZlL2R5bmFtaWMtcGx1Z2luLXNkayc7XG5pbXBvcnQge1xuICBlbXB0eU9iamVjdFJlbW92ZVJ1bGVGYWN0b3J5LFxuICBwcmVmaXhGaWx0ZXJSdWxlRmFjdG9yeSxcbiAgeWFtbEZpbHRlckZpZWxkLFxuICBZYW1sRmlsdGVySXRlbSxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgWWFtbFV0aWxTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoQEluamVjdChUT0tFTl9CQVNFX0RPTUFJTikgcHJpdmF0ZSByZWFkb25seSBiYXNlRG9tYWluOiBzdHJpbmcpIHt9XG5cbiAgLy8gaHR0cHM6Ly9jb25mbHVlbmNlLmFsYXVkYS5jbi9wYWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkPTExMjA2MDIxMVxuICAvLyDmiYDmnInotYTmupDop4TliJnlhajlubPlj7DpgJrnlKhcbiAgZ2V0Q29uY2lzZVJlc291cmNlKHI6IEt1YmVybmV0ZXNSZXNvdXJjZSkge1xuICAgIGNvbnN0IGNvbW1vbkZpbHRlcnM6IFlhbWxGaWx0ZXJJdGVtW10gPSBbXG4gICAgICAnbWV0YWRhdGEubmFtZXNwYWNlJyxcbiAgICAgICdtZXRhZGF0YS5tYW5hZ2VkRmllbGRzJyxcbiAgICAgICdtZXRhZGF0YS5jcmVhdGlvblRpbWVzdGFtcCcsXG4gICAgICAnbWV0YWRhdGEuZ2VuZXJhdGlvbicsXG4gICAgICAnbWV0YWRhdGEucmVzb3VyY2VWZXJzaW9uJyxcbiAgICAgICdtZXRhZGF0YS51aWQnLFxuICAgICAgJ21ldGFkYXRhLm93bmVyUmVmZXJlbmNlcycsXG4gICAgICAnbWV0YWRhdGEuZmluYWxpemVycycsXG4gICAgICAnbWV0YWRhdGEuc2VsZkxpbmsnLFxuICAgICAgYG1ldGFkYXRhLmxhYmVscy5bJ2FwcC4ke3RoaXMuYmFzZURvbWFpbn0vdXVpZCddYCxcbiAgICAgIHByZWZpeEZpbHRlclJ1bGVGYWN0b3J5KHRoaXMuYmFzZURvbWFpbiwgW01FVEFEQVRBLCBBTk5PVEFUSU9OU10pLFxuICAgICAgcHJlZml4RmlsdGVyUnVsZUZhY3RvcnkoXG4gICAgICAgICdrdWJlcm5ldGVzLmlvJyxcbiAgICAgICAgW01FVEFEQVRBLCBBTk5PVEFUSU9OU10sXG4gICAgICAgICdpbmNsdWRlcycsXG4gICAgICApLFxuICAgICAgJ3N0YXR1cycsXG4gICAgXTtcbiAgICBjb25zdCBzcGVjaWZpY0ZpbHRlcnM6IFlhbWxGaWx0ZXJJdGVtW10gPSBbXTtcbiAgICBzd2l0Y2ggKHIua2luZCkge1xuICAgICAgY2FzZSAnQXBwbGljYXRpb24nOiB7XG4gICAgICAgIHNwZWNpZmljRmlsdGVycy5wdXNoKCdtZXRhZGF0YS5sYWJlbHMuc3luYy1mcm9tLWhlbG1yZXF1ZXN0Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnRGVwbG95bWVudCc6XG4gICAgICBjYXNlICdTdGF0ZWZ1bFNldCc6XG4gICAgICBjYXNlICdEYWVtb25TZXQnOiB7XG4gICAgICAgIHNwZWNpZmljRmlsdGVycy5wdXNoKCdzcGVjLnRlbXBsYXRlLmFubm90YXRpb25zLnVwZGF0ZVRpbWVzdGFtcCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0pvYic6IHtcbiAgICAgICAgc3BlY2lmaWNGaWx0ZXJzLnB1c2goXG4gICAgICAgICAgJ3NwZWMuc2VsZWN0b3IubWF0Y2hMYWJlbHMnLFxuICAgICAgICAgICdzcGVjLnRlbXBsYXRlLm1ldGFkYXRhLmxhYmVscy5jb250cm9sbGVyLXVpZCcsXG4gICAgICAgICAgYCR7TUVUQURBVEF9LiR7TEFCRUxTfS5jb250cm9sbGVyLXVpZGAsXG4gICAgICAgICAgcHJlZml4RmlsdGVyUnVsZUZhY3RvcnkoXG4gICAgICAgICAgICAnYmF0Y2gua3ViZXJuZXRlcy5pby9jb250cm9sbGVyLXVpZCcsXG4gICAgICAgICAgICBbJ3NwZWMnLCAndGVtcGxhdGUnLCBNRVRBREFUQSwgTEFCRUxTXSxcbiAgICAgICAgICAgICdpbmNsdWRlcycsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdQZXJzaXN0ZW50Vm9sdW1lQ2xhaW0nOiB7XG4gICAgICAgIHNwZWNpZmljRmlsdGVycy5wdXNoKFxuICAgICAgICAgIHByZWZpeEZpbHRlclJ1bGVGYWN0b3J5KFxuICAgICAgICAgICAgJ3B2Lmt1YmVybmV0ZXMuaW8nLFxuICAgICAgICAgICAgW01FVEFEQVRBLCBBTk5PVEFUSU9OU10sXG4gICAgICAgICAgICAnc3RhcnRzV2l0aCcsXG4gICAgICAgICAgKSxcbiAgICAgICAgICBwcmVmaXhGaWx0ZXJSdWxlRmFjdG9yeShcbiAgICAgICAgICAgICd2b2x1bWUuYmV0YS5rdWJlcm5ldGVzLmlvJyxcbiAgICAgICAgICAgIFtNRVRBREFUQSwgQU5OT1RBVElPTlNdLFxuICAgICAgICAgICAgJ3N0YXJ0c1dpdGgnLFxuICAgICAgICAgICksXG4gICAgICAgICAgJ3NwZWMudm9sdW1lTmFtZScsXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnU2VydmljZSc6IHtcbiAgICAgICAgc3BlY2lmaWNGaWx0ZXJzLnB1c2goXG4gICAgICAgICAgcmVzb3VyY2UgPT4ge1xuICAgICAgICAgICAgLy8gRXh0ZXJuYWxOYW1lIOexu+Wei+eahCBTZXJ2aWNlIOayoeaciSBwb3J0c1xuICAgICAgICAgICAgY29uc3QgcG9ydHMgPVxuICAgICAgICAgICAgICAoZ2V0KHJlc291cmNlLCBbJ3NwZWMnLCAncG9ydHMnXSkgYXMgU2VydmljZVBvcnRbXSkgPz8gW107XG4gICAgICAgICAgICByZXR1cm4gcG9ydHMubWFwKChfLCBpKSA9PlxuICAgICAgICAgICAgICBbJ3NwZWMnLCAncG9ydHMnLCBgWyR7aX1dYCwgJ25vZGVQb3J0J10uam9pbignLicpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgICdzcGVjLmNsdXN0ZXJJUHMnLFxuICAgICAgICAgICdzcGVjLmNsdXN0ZXJJUCcsXG4gICAgICAgICAgJ3NwZWMuaXBGYW1pbGllcycsXG4gICAgICAgICAgJ3NwZWMuaXBGYW1pbHlQb2xpY3knLFxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHNwZWNpZmljRmlsdGVycy5wdXNoKFxuICAgICAgZW1wdHlPYmplY3RSZW1vdmVSdWxlRmFjdG9yeShbTUVUQURBVEEsIEFOTk9UQVRJT05TXSksXG4gICAgICBlbXB0eU9iamVjdFJlbW92ZVJ1bGVGYWN0b3J5KFtNRVRBREFUQSwgTEFCRUxTXSksXG4gICAgKTtcbiAgICByZXR1cm4geWFtbEZpbHRlckZpZWxkKHIsIFsuLi5jb21tb25GaWx0ZXJzLCAuLi5zcGVjaWZpY0ZpbHRlcnNdKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKlxuICAgKiBAdGVtcGxhdGUgVFxuICAgKiBAcGFyYW0ge1R9IHJlc291cmNlXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2NvbmNpc2U9ZmFsc2VdIOeyvueugCBZYW1sXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3JlZHVjZT1mYWxzZV0g6ZqQ6JePIG1hbmFnZWRGaWVsZHNcbiAgICogQHJldHVybnNcbiAgICogQG1lbWJlcm9mIFlhbWxVdGlsU2VydmljZVxuICAgKi9cbiAgZ2VuZXJhdGVGaWx0ZXJlZFlhbWxSZXNvdXJjZTxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgICByZXNvdXJjZTogQXJyYXlhYmxlPFQ+LFxuICAgIGNvbmNpc2UgPSBmYWxzZSxcbiAgICByZWR1Y2UgPSBmYWxzZSxcbiAgKSB7XG4gICAgcmV0dXJuIHNvcnRCeShBcnJheS5pc0FycmF5KHJlc291cmNlKSA/IHJlc291cmNlIDogW3Jlc291cmNlXSwgJ2tpbmQnKVxuICAgICAgLm1hcCgocmVzb3VyY2U6IFQpID0+XG4gICAgICAgIGNvbmNpc2VcbiAgICAgICAgICA/IHRoaXMuZ2V0Q29uY2lzZVJlc291cmNlKHJlc291cmNlKVxuICAgICAgICAgIDogcmVkdWNlXG4gICAgICAgICAgICA/IHlhbWxGaWx0ZXJGaWVsZChyZXNvdXJjZSwgWydtZXRhZGF0YS5tYW5hZ2VkRmllbGRzJ10pXG4gICAgICAgICAgICA6IHJlc291cmNlLFxuICAgICAgKVxuICAgICAgLm1hcChyZXMgPT5cbiAgICAgICAgc3RyaW5naWZ5KHJlcywge1xuICAgICAgICAgIHN0cmljdDogZmFsc2UsXG4gICAgICAgICAgc29ydE1hcEVudHJpZXM6IHRydWUsXG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLmpvaW4oJ1xcbi0tLVxcclxcblxcbicpO1xuICB9XG59XG4iXX0=
|
package/esm2022/types/common.mjs
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* @module types
|
|
4
4
|
*/
|
|
5
5
|
export {};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3R5cGVzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0ciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB0eXBlc1xuICovXG5cbmltcG9ydCB7IFdvcmtzcGFjZVBhcmFtcyB9IGZyb20gXCJAYWxhdWRhLWZlL2R5bmFtaWMtcGx1Z2luLXNka1wiO1xuXG5leHBvcnQgdHlwZSBTdHJpbmdNYXAgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50cyB7XG4gIEdMT0JBTF9OQU1FU1BBQ0U/OiBzdHJpbmc7XG4gIExBQkVMX0JBU0VfRE9NQUlOPzogc3RyaW5nO1xuICBMT0dPX1VSTD86IHN0cmluZztcbiAgSU5ORVJfUFJPSkVDVF9OU19QUkVGSVg/OiBzdHJpbmc7XG4gIENQQUFTX1NFU1NJT05fU1dJVENIPzogJ29uJyB8ICdvZmYnO1xuICBDTE9TRV9CUk9XU0VSX0VORF9TRVNTSU9OPzogc3RyaW5nO1xuICBDVVJSRU5UX1NUQVRFPzogJ0FjdGl2ZScgfCAnU3RhbmRieSc7XG59XG5cbmV4cG9ydCB0eXBlIEtleVZhbHVlPFYgPSBzdHJpbmcsIFQgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+ID0gVCAmIHtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlOiBWO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZUxpc3RQYXJhbXMgZXh0ZW5kcyBTdHJpbmdNYXAge1xuICBsaW1pdD86IHN0cmluZztcbiAgY29udGludWU/OiBzdHJpbmc7XG4gIGxhYmVsU2VsZWN0b3I/OiBzdHJpbmc7XG4gIGZpZWxkU2VsZWN0b3I/OiBzdHJpbmc7XG4gIGZpZWxkPzogc3RyaW5nO1xuICBrZXl3b3JkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZUxpc3RQYXJhbXNcbiAgZXh0ZW5kcyBXb3Jrc3BhY2VQYXJhbXMsXG4gICAgUmVzb3VyY2VMaXN0UGFyYW1zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlRGV0YWlsUGFyYW1zIGV4dGVuZHMgV29ya3NwYWNlTGlzdFBhcmFtcyB7XG4gIG5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFBhZ2luYXRpb248VCwgTyA9IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9PiA9IHtcbiAgdG90YWw6IG51bWJlcjtcbiAgaXRlbXM6IFRbXTtcbn0gJiBPO1xuIl19
|
package/esm2022/utils/common.mjs
CHANGED
|
@@ -2,10 +2,8 @@
|
|
|
2
2
|
* @packageDocumentation
|
|
3
3
|
* @module utils
|
|
4
4
|
*/
|
|
5
|
-
import { last
|
|
6
|
-
|
|
7
|
-
isEqual as _isEqual, } from 'lodash-es';
|
|
8
|
-
import { Bracket } from '../constants/common';
|
|
5
|
+
import { last } from 'lodash-es';
|
|
6
|
+
import { parseBase64Type } from '@alauda-fe/dynamic-plugin-sdk';
|
|
9
7
|
/**
|
|
10
8
|
* 保证任何语言环境下将数字转换为非科学计数法且不带千位分隔符并保留三位有效小数的数字字符串
|
|
11
9
|
*
|
|
@@ -39,36 +37,13 @@ export const shortNum = (num, digits = 2) => {
|
|
|
39
37
|
}
|
|
40
38
|
return numToStr(+(+num).toFixed(digits) || Math.pow(10, -digits));
|
|
41
39
|
};
|
|
42
|
-
export const isBlank = (str) => str == null || Number.isNaN(str) || !str.toString().trim();
|
|
43
40
|
export const getBaseHref = () => {
|
|
44
41
|
// The last base element has highest privilege
|
|
45
42
|
const base = last(document.querySelectorAll('base'));
|
|
46
43
|
// use `getAttribute` instead of `base.href` because the attribute could be void but results current whole location url
|
|
47
44
|
return base?.getAttribute('href') || '/';
|
|
48
45
|
};
|
|
49
|
-
export const ifExist = (toCheck, truthyValue, fallback) => (toCheck ? truthyValue : (fallback || ''));
|
|
50
46
|
export const isAbsoluteUrl = (url) => /^(https?:\/)?\//.test(url);
|
|
51
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
52
|
-
export const noop = () => { };
|
|
53
|
-
export const toKeys = (source) => Object.keys(source).reduce((acc, k) => {
|
|
54
|
-
const key = k;
|
|
55
|
-
acc[key] = key;
|
|
56
|
-
return acc;
|
|
57
|
-
}, {});
|
|
58
|
-
export const wrapText = (text, wrapper = Bracket.PARENTHESES, fallback) => (text ? wrapper.join(text) : fallback || '');
|
|
59
|
-
export function parseJSONStream(text) {
|
|
60
|
-
return text
|
|
61
|
-
.split('\n')
|
|
62
|
-
.map(v => {
|
|
63
|
-
try {
|
|
64
|
-
return JSON.parse(v);
|
|
65
|
-
}
|
|
66
|
-
catch {
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
69
|
-
})
|
|
70
|
-
.filter(v => !!v);
|
|
71
|
-
}
|
|
72
47
|
export const trackByUid = (_, resource) => resource.metadata.uid;
|
|
73
48
|
export const isK8sResource = (value) => value &&
|
|
74
49
|
typeof value === 'object' &&
|
|
@@ -79,16 +54,6 @@ export const isK8sResource = (value) => value &&
|
|
|
79
54
|
'metadata' in value &&
|
|
80
55
|
value.metadata &&
|
|
81
56
|
typeof value.metadata === 'object';
|
|
82
|
-
export const arrayify = (...args) => args.reduce((arr, curr) => {
|
|
83
|
-
arr.push(...(Array.isArray(curr) ? curr : curr == null ? [] : [curr]));
|
|
84
|
-
return arr;
|
|
85
|
-
}, []);
|
|
86
|
-
export function sleep(ms = 0) {
|
|
87
|
-
return new Promise(resolve => {
|
|
88
|
-
setTimeout(resolve, ms);
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
export const delay = sleep;
|
|
92
57
|
export function scrollIntoView(container, selected) {
|
|
93
58
|
if (!selected) {
|
|
94
59
|
container.scrollTop = 0;
|
|
@@ -105,18 +70,6 @@ export function scrollIntoView(container, selected) {
|
|
|
105
70
|
container.scrollTop = bottom - container.clientHeight;
|
|
106
71
|
}
|
|
107
72
|
}
|
|
108
|
-
export const isEqual = _isEqual;
|
|
109
|
-
export const parseJson = (str, defaultValue = null) => {
|
|
110
|
-
if (str === undefined) {
|
|
111
|
-
return defaultValue;
|
|
112
|
-
}
|
|
113
|
-
try {
|
|
114
|
-
return JSON.parse(str);
|
|
115
|
-
}
|
|
116
|
-
catch {
|
|
117
|
-
return defaultValue;
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
73
|
export function isJsonObjectString(str) {
|
|
121
74
|
try {
|
|
122
75
|
const parsed = JSON.parse(str);
|
|
@@ -204,16 +157,6 @@ export function filterEmptyValue(obj) {
|
|
|
204
157
|
return acc;
|
|
205
158
|
}, {});
|
|
206
159
|
}
|
|
207
|
-
const IMAGE_TYPE_MAPPER = {
|
|
208
|
-
'/': 'jpg',
|
|
209
|
-
i: 'png',
|
|
210
|
-
P: 'svg+xml',
|
|
211
|
-
R: 'gif',
|
|
212
|
-
};
|
|
213
|
-
export function parseBase64Type(base64Str) {
|
|
214
|
-
const firstChar = base64Str.charAt(0);
|
|
215
|
-
return IMAGE_TYPE_MAPPER[firstChar];
|
|
216
|
-
}
|
|
217
160
|
export function appendImageHeader(value, prefix) {
|
|
218
161
|
if (!value || value.startsWith('data:image/')) {
|
|
219
162
|
return value;
|
|
@@ -312,4 +255,4 @@ export const buildUrl = (baseUri, params) => {
|
|
|
312
255
|
const queryString = searchParams.toString();
|
|
313
256
|
return queryString ? `${baseUri}?${queryString}` : baseUri;
|
|
314
257
|
};
|
|
315
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3V0aWxzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFHSCxPQUFPLEVBQ0wsSUFBSTtBQUNKLGlEQUFpRDtBQUNqRCxPQUFPLElBQUksUUFBUSxHQUNwQixNQUFNLFdBQVcsQ0FBQztBQUduQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFVOUM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBWSxFQUFFLEVBQUU7SUFDdkMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDZCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDVCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPLEdBQUc7U0FDUCxjQUFjLENBQUMsT0FBTyxFQUFFO1FBQ3ZCLHFCQUFxQixFQUFFLENBQUM7UUFDeEIsV0FBVyxFQUFFLEtBQUs7S0FDbkIsQ0FBQztTQUNELE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBcUIsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUU7SUFDNUQsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM1QixHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQzdCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztR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WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB1dGlsc1xuICovXG5cbmltcG9ydCB7IFNvcnQgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIGxhc3QsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWltcG9ydHNcbiAgaXNFcXVhbCBhcyBfaXNFcXVhbCxcbn0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFVuaW9uVG9JbnRlcnNlY3Rpb24gfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcblxuaW1wb3J0IHsgQnJhY2tldCB9IGZyb20gJy4uL2NvbnN0YW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2FsbGJhY2ssXG4gIEtleXMsXG4gIEt1YmVybmV0ZXNSZXNvdXJjZSxcbiAgTnVsbGFibGUsXG4gIFJlYWRvbmx5YWJsZSxcbiAgU3RyaW5nTWFwLFxufSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICog5L+d6K+B5Lu75L2V6K+t6KiA546v5aKD5LiL5bCG5pWw5a2X6L2s5o2i5Li66Z2e56eR5a2m6K6h5pWw5rOV5LiU5LiN5bim5Y2D5L2N5YiG6ZqU56ym5bm25L+d55WZ5LiJ5L2N5pyJ5pWI5bCP5pWw55qE5pWw5a2X5a2X56ym5LiyXG4gKlxuICogQGV4YW1wbGVcbiAqIG51bVRvU3RyKDEyMzEyMy4zNDU2KSAvLyBcIjEyMzEyMy4zNDZcIlxuICogbnVtVG9TdHIoMTIzLjEyKSAvLyBcIjEyMy4xMlwiXG4gKi9cbmV4cG9ydCBjb25zdCBudW1Ub1N0ciA9IChudW0/OiBudW1iZXIpID0+IHtcbiAgaWYgKG51bSA9PT0gMCkge1xuICAgIHJldHVybiAnMCc7XG4gIH1cblxuICBpZiAoIW51bSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHJldHVybiBudW1cbiAgICAudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xuICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAzLFxuICAgICAgdXNlR3JvdXBpbmc6IGZhbHNlLFxuICAgIH0pXG4gICAgLnJlcGxhY2UoLyhbXi5dKVxcLj8wKyQvLCAnJDEnKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG9ydE51bSA9IChudW0/OiBudW1iZXIgfCBzdHJpbmcsIGRpZ2l0cyA9IDIpID0+IHtcbiAgaWYgKHR5cGVvZiBudW0gPT09ICdzdHJpbmcnKSB7XG4gICAgbnVtID0gbnVtLnRyaW0oKTtcbiAgfVxuICBpZiAobnVtID09PSAwIHx8IG51bSA9PT0gJzAnKSB7XG4gICAgcmV0dXJuICcwJztcbiAgfVxuICBpZiAoIW51bSkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICByZXR1cm4gbnVtVG9TdHIoKygrbnVtKS50b0ZpeGVkKGRpZ2l0cykgfHwgTWF0aC5wb3coMTAsIC1kaWdpdHMpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0JsYW5rID0gKHN0cj86IHVua25vd24pID0+XG4gIHN0ciA9PSBudWxsIHx8IE51bWJlci5pc05hTihzdHIgYXMgbnVtYmVyKSB8fCAhc3RyLnRvU3RyaW5nKCkudHJpbSgpO1xuXG5leHBvcnQgY29uc3QgZ2V0QmFzZUhyZWYgPSAoKSA9PiB7XG4gIC8vIFRoZSBsYXN0IGJhc2UgZWxlbWVudCBoYXMgaGlnaGVzdCBwcml2aWxlZ2VcbiAgY29uc3QgYmFzZSA9IGxhc3QoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYmFzZScpKTtcbiAgLy8gdXNlIGBnZXRBdHRyaWJ1dGVgIGluc3RlYWQgb2YgYGJhc2UuaHJlZmAgYmVjYXVzZSB0aGUgYXR0cmlidXRlIGNvdWxkIGJlIHZvaWQgYnV0IHJlc3VsdHMgY3VycmVudCB3aG9sZSBsb2NhdGlvbiB1cmxcbiAgcmV0dXJuIGJhc2U/LmdldEF0dHJpYnV0ZSgnaHJlZicpIHx8ICcvJztcbn07XG5cbmV4cG9ydCBjb25zdCBpZkV4aXN0ID0gPFQ+KFxuICB0b0NoZWNrOiBib29sZWFuIHwgTnVsbGFibGU8VD4sXG4gIHRydXRoeVZhbHVlOiBULFxuICBmYWxsYmFjaz86IFQsXG4pID0+ICh0b0NoZWNrID8gdHJ1dGh5VmFsdWUgOiAoKGZhbGxiYWNrIHx8ICcnKSBhcyBUKSk7XG5cbmV4cG9ydCBjb25zdCBpc0Fic29sdXRlVXJsID0gKHVybDogc3RyaW5nKSA9PiAvXihodHRwcz86XFwvKT9cXC8vLnRlc3QodXJsKTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuZXhwb3J0IGNvbnN0IG5vb3A6IENhbGxiYWNrID0gKCkgPT4ge307XG5cbmV4cG9ydCBjb25zdCB0b0tleXMgPSA8VCBleHRlbmRzIG9iamVjdD4oc291cmNlOiBUKTogS2V5czxUPiA9PlxuICBPYmplY3Qua2V5cyhzb3VyY2UpLnJlZHVjZSgoYWNjLCBrKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gayBhcyBrZXlvZiBUO1xuICAgIGFjY1trZXldID0ga2V5O1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9IGFzIEtleXM8VD4pO1xuXG5leHBvcnQgY29uc3Qgd3JhcFRleHQgPSAoXG4gIHRleHQ/OiBzdHJpbmcsXG4gIHdyYXBwZXI6IFJlYWRvbmx5YWJsZTxbc3RyaW5nLCBzdHJpbmddPiA9IEJyYWNrZXQuUEFSRU5USEVTRVMsXG4gIGZhbGxiYWNrPzogc3RyaW5nLFxuKSA9PiAodGV4dCA/IHdyYXBwZXIuam9pbih0ZXh0KSA6IGZhbGxiYWNrIHx8ICcnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSlNPTlN0cmVhbTxUPih0ZXh0OiBzdHJpbmcpOiBUW10ge1xuICByZXR1cm4gdGV4dFxuICAgIC5zcGxpdCgnXFxuJylcbiAgICAubWFwKHYgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2Uodik7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfSlcbiAgICAuZmlsdGVyKHYgPT4gISF2KTtcbn1cblxuZXhwb3J0IGNvbnN0IHRyYWNrQnlVaWQgPSA8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gIF86IG51bWJlcixcbiAgcmVzb3VyY2U6IFQsXG4pID0+IHJlc291cmNlLm1ldGFkYXRhLnVpZDtcblxuZXhwb3J0IGNvbnN0IGlzSzhzUmVzb3VyY2UgPSA8XG4gIFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2UgPSBLdWJlcm5ldGVzUmVzb3VyY2UsXG4+KFxuICB2YWx1ZTogb2JqZWN0LFxuKTogdmFsdWUgaXMgVCA9PlxuICB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICdhcGlWZXJzaW9uJyBpbiB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUuYXBpVmVyc2lvbiA9PT0gJ3N0cmluZycgJiZcbiAgJ2tpbmQnIGluIHZhbHVlICYmXG4gIHR5cGVvZiB2YWx1ZS5raW5kID09PSAnc3RyaW5nJyAmJlxuICAnbWV0YWRhdGEnIGluIHZhbHVlICYmXG4gIHZhbHVlLm1ldGFkYXRhICYmXG4gIHR5cGVvZiB2YWx1ZS5tZXRhZGF0YSA9PT0gJ29iamVjdCc7XG5cbmV4cG9ydCBjb25zdCBhcnJheWlmeSA9IDxcbiAgVCxcbiAgUiA9IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBTPiA/IE5vbk51bGxhYmxlPFM+IDogTm9uTnVsbGFibGU8VD4sXG4+KFxuICAuLi5hcmdzOiBBcnJheTxSIHwgUltdPlxuKSA9PlxuICBhcmdzLnJlZHVjZTxSW10+KChhcnIsIGN1cnIpID0+IHtcbiAgICBhcnIucHVzaCguLi4oQXJyYXkuaXNBcnJheShjdXJyKSA/IGN1cnIgOiBjdXJyID09IG51bGwgPyBbXSA6IFtjdXJyXSkpO1xuICAgIHJldHVybiBhcnI7XG4gIH0sIFtdKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHNsZWVwKG1zID0gMCkge1xuICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgc2V0VGltZW91dChyZXNvbHZlLCBtcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgZGVsYXkgPSBzbGVlcDtcblxuZXhwb3J0IGZ1bmN0aW9uIHNjcm9sbEludG9WaWV3KGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsIHNlbGVjdGVkOiBIVE1MRWxlbWVudCkge1xuICBpZiAoIXNlbGVjdGVkKSB7XG4gICAgY29udGFpbmVyLnNjcm9sbFRvcCA9IDA7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgdG9wID0gc2VsZWN0ZWQub2Zmc2V0VG9wO1xuICBjb25zdCBib3R0b20gPSBzZWxlY3RlZC5vZmZzZXRUb3AgKyBzZWxlY3RlZC5vZmZzZXRIZWlnaHQ7XG4gIGNvbnN0IHZpZXdSZWN0VG9wID0gY29udGFpbmVyLnNjcm9sbFRvcDtcbiAgY29uc3Qgdmlld1JlY3RCb3R0b20gPSB2aWV3UmVjdFRvcCArIGNvbnRhaW5lci5jbGllbnRIZWlnaHQ7XG5cbiAgaWYgKHZpZXdSZWN0VG9wID4gdG9wKSB7XG4gICAgY29udGFpbmVyLnNjcm9sbFRvcCA9IHRvcDtcbiAgfSBlbHNlIGlmICh2aWV3UmVjdEJvdHRvbSA8IGJvdHRvbSkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSBib3R0b20gLSBjb250YWluZXIuY2xpZW50SGVpZ2h0O1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBpc0VxdWFsOiA8VCwgViA9IFQ+KGE6IFQsIGI6IFYpID0+IGJvb2xlYW4gPSBfaXNFcXVhbDtcblxuZXhwb3J0IGNvbnN0IHBhcnNlSnNvbiA9IDxUPihzdHI6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBUID0gbnVsbCkgPT4ge1xuICBpZiAoc3RyID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICB9XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2Uoc3RyKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSnNvbk9iamVjdFN0cmluZyhzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2Uoc3RyKTtcbiAgICByZXR1cm4gdHlwZW9mIHBhcnNlZCA9PT0gJ29iamVjdCcgJiYgcGFyc2VkICE9PSBudWxsO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHBhcnNlVmFsaWRJbWFnZU5hbWUgPSAoaW1hZ2U6IHN0cmluZykgPT5cbiAgaW1hZ2U/LnJlcGxhY2UoLyhbXjpdKVxcL1xcLy9nLCAnJDEvJykgfHwgaW1hZ2U7XG5cbmV4cG9ydCBjb25zdCBhdG9iV2l0aEZhbGxiYWNrID0gKHN0cjogc3RyaW5nLCBmYWxsYmFja1ZhbHVlOiBzdHJpbmcgPSBudWxsKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHdpbmRvdy5hdG9iKHN0cik7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxsYmFja1ZhbHVlO1xuICB9XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNhZmVBc3NpZ25PcHRpb25zIHtcbiAgbm90aWNlOiAoZHVwbGljYXRlczogc3RyaW5nW10pID0+IGFueTtcbn1cbi8qKlxuICog5bim6YeN5aSN5qOA5p+l55qEYXNzaWdu77yM5Y+q5YGa5LiA57qna2V555qE6YeN5aSN5qOA5p+lXG4gKiDlpoLmnpzmnInph43lpI3pobnpu5jorqTkvJp0aHJvdyBlcnJvcu+8jOWmguaenOS9oOaYjuehrui/meS4jeaYr+S4gOS4quWFs+mUruaAp+mUmeivr++8jOWImeWPr+S7pemAmui/h+aMh+Wumm5vdGljZeWHveaVsOS/ruaUueivpem7mOiupOihjOS4ulxuICogQHBhcmFtIHNvdXJjZXNcbiAqIEBwYXJhbSBvcHRpb25zT3JOb3RpY2VcbiAqIEByZXR1cm4gb2JqZWN0IOS4gOS4quWFqOaWsOeahOWvueixoVxuICovXG5leHBvcnQgY29uc3Qgc2FmZUFzc2lnbiA9IDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4oXG4gIHNvdXJjZXM6IFRbXSxcbiAgb3B0aW9uc09yTm90aWNlPzogU2FmZUFzc2lnbk9wdGlvbnNbJ25vdGljZSddIHwgU2FmZUFzc2lnbk9wdGlvbnMsXG4pOiBVbmlvblRvSW50ZXJzZWN0aW9uPFQ+ID0+IHtcbiAgaWYgKHNvdXJjZXMubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIHNvdXJjZXNbMF0gYXMgVW5pb25Ub0ludGVyc2VjdGlvbjxUPjtcbiAgfVxuXG4gIGNvbnN0IG9wdGlvbjogU2FmZUFzc2lnbk9wdGlvbnMgPSB7XG4gICAgbm90aWNlOiAoZHVwbGljYXRlczogc3RyaW5nW10pID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZXJlIGFyZSBkdXBsaWNhdGUgZGVmaW5pdGlvbnM6ICR7ZHVwbGljYXRlcy5qb2luKCcsJyl9YCxcbiAgICAgICk7XG4gICAgfSxcbiAgfTtcbiAgaWYgKHR5cGVvZiBvcHRpb25zT3JOb3RpY2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICBvcHRpb24ubm90aWNlID0gb3B0aW9uc09yTm90aWNlO1xuICB9XG4gIGlmICh0eXBlb2Ygb3B0aW9uc09yTm90aWNlID09PSAnb2JqZWN0Jykge1xuICAgIE9iamVjdC5hc3NpZ24ob3B0aW9uLCBvcHRpb25zT3JOb3RpY2UpO1xuICB9XG5cbiAgY29uc3QgZHVwbGljYXRlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCBhbGxLZXkgPSBuZXcgU2V0KE9iamVjdC5rZXlzKHNvdXJjZXNbMF0pKTtcbiAgc291cmNlcy5zbGljZSgxKS5mb3JFYWNoKG9iaiA9PiB7XG4gICAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAoYWxsS2V5LmhhcyhrZXkpKSB7XG4gICAgICAgIGR1cGxpY2F0ZXMuYWRkKGtleSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbGxLZXkuYWRkKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBpZiAoZHVwbGljYXRlcy5zaXplKSB7XG4gICAgb3B0aW9uLm5vdGljZShbLi4uZHVwbGljYXRlc10pO1xuICB9XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCAuLi5zb3VyY2VzKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0b0xvd2VyRmlyc3RMZXR0ZXIgPSAodGV4dDogc3RyaW5nKSA9PlxuICB0eXBlb2YgdGV4dCA9PT0gJ3N0cmluZycgJiYgdGV4dC5sZW5ndGggPiAwXG4gICAgPyB0ZXh0LnJlcGxhY2UodGV4dFswXSwgdGV4dFswXS50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgIDogdGV4dDtcblxuZXhwb3J0IGNvbnN0IGxvYWRFbnYgPSAoZW52VGV4dDogc3RyaW5nKTogQXJyYXk8W3N0cmluZywgc3RyaW5nXT4gPT4ge1xuICBpZiAoIWVudlRleHQpIHJldHVybiBbXTtcbiAgcmV0dXJuIGVudlRleHRcbiAgICAuc3BsaXQoJ1xcbicpXG4gICAgLmZpbHRlcihzID0+ICEhcy50cmltKCkpXG4gICAgLm1hcChzID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gcy50cmltKCkuaW5jbHVkZXMoJz0nKVxuICAgICAgICA/IHMudHJpbSgpLmluZGV4T2YoJz0nKVxuICAgICAgICA6IHMudHJpbSgpLmxlbmd0aDtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHMudHJpbSgpLnNsaWNlKDAsIGluZGV4KS50cmltKCksXG4gICAgICAgIHNcbiAgICAgICAgICAudHJpbSgpXG4gICAgICAgICAgLnNsaWNlKGluZGV4ICsgMSlcbiAgICAgICAgICAudHJpbSgpLFxuICAgICAgXTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJFbXB0eVZhbHVlPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gIG9iajogVCxcbik6IFBhcnRpYWw8VD4ge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGFjY1trZXkgYXMga2V5b2YgVF0gPSB2YWx1ZSBhcyBUW2tleW9mIFRdO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBQYXJ0aWFsPFQ+KTtcbn1cblxuY29uc3QgSU1BR0VfVFlQRV9NQVBQRVI6IFN0cmluZ01hcCA9IHtcbiAgJy8nOiAnanBnJyxcbiAgaTogJ3BuZycsXG4gIFA6ICdzdmcreG1sJyxcbiAgUjogJ2dpZicsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VCYXNlNjRUeXBlKGJhc2U2NFN0cjogc3RyaW5nKSB7XG4gIGNvbnN0IGZpcnN0Q2hhciA9IGJhc2U2NFN0ci5jaGFyQXQoMCk7XG4gIHJldHVybiBJTUFHRV9UWVBFX01BUFBFUltmaXJzdENoYXJdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kSW1hZ2VIZWFkZXIodmFsdWU6IHN0cmluZywgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5zdGFydHNXaXRoKCdkYXRhOmltYWdlLycpKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIGNvbnN0IGhlYWRlciA9XG4gICAgcHJlZml4IHx8IGBkYXRhOmltYWdlLyR7cGFyc2VCYXNlNjRUeXBlKHZhbHVlKSB8fCAnanBnJ307YmFzZTY0LGA7XG4gIHJldHVybiBgJHtoZWFkZXJ9JHt2YWx1ZX1gO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0UmVsYXRpdmVQYXRoID0gKGZyb206IHN0cmluZywgdG86IHN0cmluZykgPT4ge1xuICBpZiAodG8gPT09IG51bGwgfHwgdG8gPT09IHVuZGVmaW5lZCB8fCAhZnJvbSkge1xuICAgIHJldHVybiB0bztcbiAgfVxuICBjb25zdCBmcm9tUGFydHMgPSAoZnJvbSA/PyAnJykuc3BsaXQoJy8nKS5maWx0ZXIocCA9PiBwICE9PSAnJyk7XG4gIGNvbnN0IHRvUGFydHMgPSAodG8gPz8gJycpLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuXG4gIGxldCByZWxhdGl2ZVBhdGggPSAnJztcbiAgd2hpbGUgKFxuICAgIGZyb21QYXJ0cy5sZW5ndGggPiAwICYmXG4gICAgdG9QYXJ0cy5sZW5ndGggPiAwICYmXG4gICAgZnJvbVBhcnRzWzBdID09PSB0b1BhcnRzWzBdXG4gICkge1xuICAgIGZyb21QYXJ0cy5zaGlmdCgpO1xuICAgIHRvUGFydHMuc2hpZnQoKTtcbiAgfVxuXG4gIHJlbGF0aXZlUGF0aCA9ICcuLi8nLnJlcGVhdChmcm9tUGFydHMubGVuZ3RoKTtcblxuICByZWxhdGl2ZVBhdGggKz0gdG9QYXJ0cy5qb2luKCcvJyk7XG5cbiAgcmV0dXJuIHJlbGF0aXZlUGF0aDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUb1BhdGggPSAoZnJvbTogc3RyaW5nLCByZWxhdGl2ZTogc3RyaW5nKSA9PiB7XG4gIGlmIChyZWxhdGl2ZSA9PT0gbnVsbCB8fCByZWxhdGl2ZSA9PT0gdW5kZWZpbmVkIHx8ICFmcm9tKSB7XG4gICAgcmV0dXJuIHJlbGF0aXZlO1xuICB9XG5cbiAgY29uc3QgZnJvbVBhcnRzID0gZnJvbS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcbiAgY29uc3QgcmVsYXRpdmVQYXJ0cyA9IHJlbGF0aXZlLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuXG4gIGNvbnN0IGRvdERvdENvdW50ID0gK3JlbGF0aXZlUGFydHMuZmlsdGVyKHAgPT4gcCA9PT0gJy4uJyk/Lmxlbmd0aDtcblxuICBjb25zdCBzID0gZnJvbVBhcnRzLnNwbGljZSgwLCBmcm9tUGFydHMubGVuZ3RoIC0gZG90RG90Q291bnQpO1xuXG4gIHJldHVybiBzLmNvbmNhdChyZWxhdGl2ZVBhcnRzLnNwbGljZShkb3REb3RDb3VudCkpLmpvaW4oJy8nKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0cmFja0J5TmFtZSA9IDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgXzogbnVtYmVyLFxuICByZXNvdXJjZTogVCxcbikgPT4gcmVzb3VyY2UubWV0YWRhdGEubmFtZTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRhYmxlU29ydDxUPihcbiAgbGlzdDogVFtdLFxuICBzb3J0OiBTb3J0LFxuICBzb3J0QWN0aXZlVmFsdWVGbjogKGl0ZW06IFQsIG5hbWU6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVtYmVyLFxuKTogVFtdIHtcbiAgcmV0dXJuIGxpc3Quc2xpY2UoKS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gc29ydC5hY3RpdmU7XG4gICAgY29uc3Qga2V5QSA9IHNvcnRBY3RpdmVWYWx1ZUZuKGEsIGtleSk7XG4gICAgY29uc3Qga2V5QiA9IHNvcnRBY3RpdmVWYWx1ZUZuKGIsIGtleSk7XG4gICAgaWYgKGtleUEgPT09IGtleUIpIHJldHVybiAwO1xuICAgIHJldHVybiBzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYydcbiAgICAgID8ga2V5QSA+IGtleUJcbiAgICAgICAgPyAxXG4gICAgICAgIDogLTFcbiAgICAgIDoga2V5QiA+IGtleUFcbiAgICAgICAgPyAxXG4gICAgICAgIDogLTE7XG4gIH0pO1xufVxuXG4vLyDmlK/mjIHkuK3mlofmjpLluo/vvIzmjqjojZDkvb/nlKhcbmV4cG9ydCBmdW5jdGlvbiB0YWJsZVNvcnRBZHZhbmNlPFQ+KFxuICBsaXN0OiBUW10sXG4gIHNvcnQ6IFNvcnQsXG4gIHNvcnRBY3RpdmVWYWx1ZUZuOiAoaXRlbTogVCwgbmFtZTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudW1iZXIsXG4pOiBUW10ge1xuICByZXR1cm4gbGlzdC5zbGljZSgpLnNvcnQoKGEsIGIpID0+IHtcbiAgICBjb25zdCBrZXkgPSBzb3J0LmFjdGl2ZTtcbiAgICBjb25zdCBrZXlBID0gc29ydEFjdGl2ZVZhbHVlRm4oYSwga2V5KS50b1N0cmluZygpO1xuICAgIGNvbnN0IGtleUIgPSBzb3J0QWN0aXZlVmFsdWVGbihiLCBrZXkpLnRvU3RyaW5nKCk7XG4gICAgaWYgKGtleUEgPT09IGtleUIpIHJldHVybiAwO1xuICAgIHJldHVybiBzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYydcbiAgICAgID8ga2V5QS5sb2NhbGVDb21wYXJlKGtleUIpXG4gICAgICA6IGtleUIubG9jYWxlQ29tcGFyZShrZXlBKTtcbiAgfSk7XG59XG5cbi8vIOagueaNriB0YWdPckRpZ2VzdCDnlJ/miJDplZzlg4/lnLDlnYBcbmV4cG9ydCBjb25zdCBidWlsZEltYWdlQWRkcmVzcyA9ICh1cmw6IHN0cmluZywgdGFnT3JEaWdlc3Q6IHN0cmluZykgPT4ge1xuICByZXR1cm4gYCR7dXJsfSR7dGFnT3JEaWdlc3Q/LnN0YXJ0c1dpdGgoJ3NoYTI1NjonKSA/ICdAJyA6ICc6J30ke3RhZ09yRGlnZXN0fWA7XG59O1xuXG4vLyDop6PmnpDplZzlg4/lnLDlnYBcbmV4cG9ydCBjb25zdCBwYXJzZUltYWdlQWRkcmVzcyA9IChhZGRyOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcmVzdWx0OiB7XG4gICAgZGlnZXN0Pzogc3RyaW5nO1xuICAgIHRhZz86IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgfSA9IHtcbiAgICB1cmw6ICcnLFxuICB9O1xuXG4gIGNvbnN0IFt1cmxQYXJ0LCBkaWdlc3RQYXJ0XSA9IGFkZHIuc3BsaXQoJ0BzaGEyNTYnKTtcbiAgaWYgKGRpZ2VzdFBhcnQpIHtcbiAgICByZXN1bHQuZGlnZXN0ID0gYHNoYTI1NiR7ZGlnZXN0UGFydH1gO1xuICB9XG5cbiAgY29uc3QgdGFnSW5kZXggPSB1cmxQYXJ0Lmxhc3RJbmRleE9mKCc6Jyk7XG4gIGlmICh0YWdJbmRleCA+IDAgJiYgdGFnSW5kZXggPiB1cmxQYXJ0Lmxhc3RJbmRleE9mKCcvJykpIHtcbiAgICByZXN1bHQudGFnID0gdXJsUGFydC5zbGljZSh0YWdJbmRleCArIDEpO1xuICAgIHJlc3VsdC51cmwgPSB1cmxQYXJ0LnNsaWNlKDAsIHRhZ0luZGV4KTtcbiAgfSBlbHNlIHtcbiAgICByZXN1bHQudXJsID0gdXJsUGFydDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJXaW5kb3dzWHRlcm1Ub29scyA9ICgpID0+IHtcbiAgZGVsZXRlICh3aW5kb3cgYXMgYW55KS5fX1hURVJNX1RPT0xTX187XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRVcmwgPSAoXG4gIGJhc2VVcmk6IHN0cmluZyxcbiAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgYm9vbGVhbj4sXG4pID0+IHtcbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtcykpIHtcbiAgICBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUudG9TdHJpbmcoKSk7XG4gIH1cblxuICBjb25zdCBxdWVyeVN0cmluZyA9IHNlYXJjaFBhcmFtcy50b1N0cmluZygpO1xuICByZXR1cm4gcXVlcnlTdHJpbmcgPyBgJHtiYXNlVXJpfT8ke3F1ZXJ5U3RyaW5nfWAgOiBiYXNlVXJpO1xufTtcbiJdfQ==
|
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9keW5hbWljLXBsdWdpbi1zaGFyZWQvc3JjL3V0aWxzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFHSCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSWpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFZLEVBQUUsRUFBRTtJQUN2QyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNkLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sR0FBRztTQUNQLGNBQWMsQ0FBQyxPQUFPLEVBQUU7UUFDdkIscUJBQXFCLEVBQUUsQ0FBQztRQUN4QixXQUFXLEVBQUUsS0FBSztLQUNuQixDQUFDO1NBQ0QsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFxQixFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRTtJQUM1RCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLEdBQUcsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDN0IsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0Qs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Q0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQ3RCLE9BQWUsRUFDZixNQUF5QyxFQUN6QyxFQUFFO0lBQ0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztJQUUzQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2xELFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUMsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDN0QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBsYXN0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFVuaW9uVG9JbnRlcnNlY3Rpb24gfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcblxuaW1wb3J0IHsgS3ViZXJuZXRlc1Jlc291cmNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgcGFyc2VCYXNlNjRUeXBlIH0gZnJvbSAnQGFsYXVkYS1mZS9keW5hbWljLXBsdWdpbi1zZGsnO1xuXG4vKipcbiAqIOS/neivgeS7u+S9leivreiogOeOr+Wig+S4i+WwhuaVsOWtl+i9rOaNouS4uumdnuenkeWtpuiuoeaVsOazleS4lOS4jeW4puWNg+S9jeWIhumalOespuW5tuS/neeVmeS4ieS9jeacieaViOWwj+aVsOeahOaVsOWtl+Wtl+espuS4slxuICpcbiAqIEBleGFtcGxlXG4gKiBudW1Ub1N0cigxMjMxMjMuMzQ1NikgLy8gXCIxMjMxMjMuMzQ2XCJcbiAqIG51bVRvU3RyKDEyMy4xMikgLy8gXCIxMjMuMTJcIlxuICovXG5leHBvcnQgY29uc3QgbnVtVG9TdHIgPSAobnVtPzogbnVtYmVyKSA9PiB7XG4gIGlmIChudW0gPT09IDApIHtcbiAgICByZXR1cm4gJzAnO1xuICB9XG5cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gbnVtXG4gICAgLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMyxcbiAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZSxcbiAgICB9KVxuICAgIC5yZXBsYWNlKC8oW14uXSlcXC4/MCskLywgJyQxJyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvcnROdW0gPSAobnVtPzogbnVtYmVyIHwgc3RyaW5nLCBkaWdpdHMgPSAyKSA9PiB7XG4gIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgIG51bSA9IG51bS50cmltKCk7XG4gIH1cbiAgaWYgKG51bSA9PT0gMCB8fCBudW0gPT09ICcwJykge1xuICAgIHJldHVybiAnMCc7XG4gIH1cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIG51bVRvU3RyKCsoK251bSkudG9GaXhlZChkaWdpdHMpIHx8IE1hdGgucG93KDEwLCAtZGlnaXRzKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QmFzZUhyZWYgPSAoKSA9PiB7XG4gIC8vIFRoZSBsYXN0IGJhc2UgZWxlbWVudCBoYXMgaGlnaGVzdCBwcml2aWxlZ2VcbiAgY29uc3QgYmFzZSA9IGxhc3QoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYmFzZScpKTtcbiAgLy8gdXNlIGBnZXRBdHRyaWJ1dGVgIGluc3RlYWQgb2YgYGJhc2UuaHJlZmAgYmVjYXVzZSB0aGUgYXR0cmlidXRlIGNvdWxkIGJlIHZvaWQgYnV0IHJlc3VsdHMgY3VycmVudCB3aG9sZSBsb2NhdGlvbiB1cmxcbiAgcmV0dXJuIGJhc2U/LmdldEF0dHJpYnV0ZSgnaHJlZicpIHx8ICcvJztcbn07XG5cbmV4cG9ydCBjb25zdCBpc0Fic29sdXRlVXJsID0gKHVybDogc3RyaW5nKSA9PiAvXihodHRwcz86XFwvKT9cXC8vLnRlc3QodXJsKTtcblxuZXhwb3J0IGNvbnN0IHRyYWNrQnlVaWQgPSA8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gIF86IG51bWJlcixcbiAgcmVzb3VyY2U6IFQsXG4pID0+IHJlc291cmNlLm1ldGFkYXRhLnVpZDtcblxuZXhwb3J0IGNvbnN0IGlzSzhzUmVzb3VyY2UgPSA8XG4gIFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2UgPSBLdWJlcm5ldGVzUmVzb3VyY2UsXG4+KFxuICB2YWx1ZTogb2JqZWN0LFxuKTogdmFsdWUgaXMgVCA9PlxuICB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICdhcGlWZXJzaW9uJyBpbiB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUuYXBpVmVyc2lvbiA9PT0gJ3N0cmluZycgJiZcbiAgJ2tpbmQnIGluIHZhbHVlICYmXG4gIHR5cGVvZiB2YWx1ZS5raW5kID09PSAnc3RyaW5nJyAmJlxuICAnbWV0YWRhdGEnIGluIHZhbHVlICYmXG4gIHZhbHVlLm1ldGFkYXRhICYmXG4gIHR5cGVvZiB2YWx1ZS5tZXRhZGF0YSA9PT0gJ29iamVjdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxJbnRvVmlldyhjb250YWluZXI6IEhUTUxFbGVtZW50LCBzZWxlY3RlZDogSFRNTEVsZW1lbnQpIHtcbiAgaWYgKCFzZWxlY3RlZCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHRvcCA9IHNlbGVjdGVkLm9mZnNldFRvcDtcbiAgY29uc3QgYm90dG9tID0gc2VsZWN0ZWQub2Zmc2V0VG9wICsgc2VsZWN0ZWQub2Zmc2V0SGVpZ2h0O1xuICBjb25zdCB2aWV3UmVjdFRvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gIGNvbnN0IHZpZXdSZWN0Qm90dG9tID0gdmlld1JlY3RUb3AgKyBjb250YWluZXIuY2xpZW50SGVpZ2h0O1xuXG4gIGlmICh2aWV3UmVjdFRvcCA+IHRvcCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSB0b3A7XG4gIH0gZWxzZSBpZiAodmlld1JlY3RCb3R0b20gPCBib3R0b20pIHtcbiAgICBjb250YWluZXIuc2Nyb2xsVG9wID0gYm90dG9tIC0gY29udGFpbmVyLmNsaWVudEhlaWdodDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNKc29uT2JqZWN0U3RyaW5nKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShzdHIpO1xuICAgIHJldHVybiB0eXBlb2YgcGFyc2VkID09PSAnb2JqZWN0JyAmJiBwYXJzZWQgIT09IG51bGw7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgcGFyc2VWYWxpZEltYWdlTmFtZSA9IChpbWFnZTogc3RyaW5nKSA9PlxuICBpbWFnZT8ucmVwbGFjZSgvKFteOl0pXFwvXFwvL2csICckMS8nKSB8fCBpbWFnZTtcblxuZXhwb3J0IGNvbnN0IGF0b2JXaXRoRmFsbGJhY2sgPSAoc3RyOiBzdHJpbmcsIGZhbGxiYWNrVmFsdWU6IHN0cmluZyA9IG51bGwpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gd2luZG93LmF0b2Ioc3RyKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbGxiYWNrVmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZUFzc2lnbk9wdGlvbnMge1xuICBub3RpY2U6IChkdXBsaWNhdGVzOiBzdHJpbmdbXSkgPT4gYW55O1xufVxuLyoqXG4gKiDluKbph43lpI3mo4Dmn6XnmoRhc3NpZ27vvIzlj6rlgZrkuIDnuqdrZXnnmoTph43lpI3mo4Dmn6VcbiAqIOWmguaenOaciemHjeWkjemhuem7mOiupOS8mnRocm93IGVycm9y77yM5aaC5p6c5L2g5piO56Gu6L+Z5LiN5piv5LiA5Liq5YWz6ZSu5oCn6ZSZ6K+v77yM5YiZ5Y+v5Lul6YCa6L+H5oyH5a6abm90aWNl5Ye95pWw5L+u5pS56K+l6buY6K6k6KGM5Li6XG4gKiBAcGFyYW0gc291cmNlc1xuICogQHBhcmFtIG9wdGlvbnNPck5vdGljZVxuICogQHJldHVybiBvYmplY3Qg5LiA5Liq5YWo5paw55qE5a+56LGhXG4gKi9cbmV4cG9ydCBjb25zdCBzYWZlQXNzaWduID0gPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PihcbiAgc291cmNlczogVFtdLFxuICBvcHRpb25zT3JOb3RpY2U/OiBTYWZlQXNzaWduT3B0aW9uc1snbm90aWNlJ10gfCBTYWZlQXNzaWduT3B0aW9ucyxcbik6IFVuaW9uVG9JbnRlcnNlY3Rpb248VD4gPT4ge1xuICBpZiAoc291cmNlcy5sZW5ndGggPT09IDEpIHtcbiAgICByZXR1cm4gc291cmNlc1swXSBhcyBVbmlvblRvSW50ZXJzZWN0aW9uPFQ+O1xuICB9XG5cbiAgY29uc3Qgb3B0aW9uOiBTYWZlQXNzaWduT3B0aW9ucyA9IHtcbiAgICBub3RpY2U6IChkdXBsaWNhdGVzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlcmUgYXJlIGR1cGxpY2F0ZSBkZWZpbml0aW9uczogJHtkdXBsaWNhdGVzLmpvaW4oJywnKX1gLFxuICAgICAgKTtcbiAgICB9LFxuICB9O1xuICBpZiAodHlwZW9mIG9wdGlvbnNPck5vdGljZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIG9wdGlvbi5ub3RpY2UgPSBvcHRpb25zT3JOb3RpY2U7XG4gIH1cbiAgaWYgKHR5cGVvZiBvcHRpb25zT3JOb3RpY2UgPT09ICdvYmplY3QnKSB7XG4gICAgT2JqZWN0LmFzc2lnbihvcHRpb24sIG9wdGlvbnNPck5vdGljZSk7XG4gIH1cblxuICBjb25zdCBkdXBsaWNhdGVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGNvbnN0IGFsbEtleSA9IG5ldyBTZXQoT2JqZWN0LmtleXMoc291cmNlc1swXSkpO1xuICBzb3VyY2VzLnNsaWNlKDEpLmZvckVhY2gob2JqID0+IHtcbiAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmIChhbGxLZXkuaGFzKGtleSkpIHtcbiAgICAgICAgZHVwbGljYXRlcy5hZGQoa2V5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFsbEtleS5hZGQoa2V5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIGlmIChkdXBsaWNhdGVzLnNpemUpIHtcbiAgICBvcHRpb24ubm90aWNlKFsuLi5kdXBsaWNhdGVzXSk7XG4gIH1cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIC4uLnNvdXJjZXMpO1xufTtcblxuZXhwb3J0IGNvbnN0IHRvTG93ZXJGaXJzdExldHRlciA9ICh0ZXh0OiBzdHJpbmcpID0+XG4gIHR5cGVvZiB0ZXh0ID09PSAnc3RyaW5nJyAmJiB0ZXh0Lmxlbmd0aCA+IDBcbiAgICA/IHRleHQucmVwbGFjZSh0ZXh0WzBdLCB0ZXh0WzBdLnRvTG9jYWxlTG93ZXJDYXNlKCkpXG4gICAgOiB0ZXh0O1xuXG5leHBvcnQgY29uc3QgbG9hZEVudiA9IChlbnZUZXh0OiBzdHJpbmcpOiBBcnJheTxbc3RyaW5nLCBzdHJpbmddPiA9PiB7XG4gIGlmICghZW52VGV4dCkgcmV0dXJuIFtdO1xuICByZXR1cm4gZW52VGV4dFxuICAgIC5zcGxpdCgnXFxuJylcbiAgICAuZmlsdGVyKHMgPT4gISFzLnRyaW0oKSlcbiAgICAubWFwKHMgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBzLnRyaW0oKS5pbmNsdWRlcygnPScpXG4gICAgICAgID8gcy50cmltKCkuaW5kZXhPZignPScpXG4gICAgICAgIDogcy50cmltKCkubGVuZ3RoO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgcy50cmltKCkuc2xpY2UoMCwgaW5kZXgpLnRyaW0oKSxcbiAgICAgICAgc1xuICAgICAgICAgIC50cmltKClcbiAgICAgICAgICAuc2xpY2UoaW5kZXggKyAxKVxuICAgICAgICAgIC50cmltKCksXG4gICAgICBdO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlckVtcHR5VmFsdWU8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgb2JqOiBULFxuKTogUGFydGlhbDxUPiB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhvYmopLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgYWNjW2tleSBhcyBrZXlvZiBUXSA9IHZhbHVlIGFzIFRba2V5b2YgVF07XG4gICAgfVxuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9IGFzIFBhcnRpYWw8VD4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kSW1hZ2VIZWFkZXIodmFsdWU6IHN0cmluZywgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5zdGFydHNXaXRoKCdkYXRhOmltYWdlLycpKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIGNvbnN0IGhlYWRlciA9XG4gICAgcHJlZml4IHx8IGBkYXRhOmltYWdlLyR7cGFyc2VCYXNlNjRUeXBlKHZhbHVlKSB8fCAnanBnJ307YmFzZTY0LGA7XG4gIHJldHVybiBgJHtoZWFkZXJ9JHt2YWx1ZX1gO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0UmVsYXRpdmVQYXRoID0gKGZyb206IHN0cmluZywgdG86IHN0cmluZykgPT4ge1xuICBpZiAodG8gPT09IG51bGwgfHwgdG8gPT09IHVuZGVmaW5lZCB8fCAhZnJvbSkge1xuICAgIHJldHVybiB0bztcbiAgfVxuICBjb25zdCBmcm9tUGFydHMgPSAoZnJvbSA/PyAnJykuc3BsaXQoJy8nKS5maWx0ZXIocCA9PiBwICE9PSAnJyk7XG4gIGNvbnN0IHRvUGFydHMgPSAodG8gPz8gJycpLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuXG4gIGxldCByZWxhdGl2ZVBhdGggPSAnJztcbiAgd2hpbGUgKFxuICAgIGZyb21QYXJ0cy5sZW5ndGggPiAwICYmXG4gICAgdG9QYXJ0cy5sZW5ndGggPiAwICYmXG4gICAgZnJvbVBhcnRzWzBdID09PSB0b1BhcnRzWzBdXG4gICkge1xuICAgIGZyb21QYXJ0cy5zaGlmdCgpO1xuICAgIHRvUGFydHMuc2hpZnQoKTtcbiAgfVxuXG4gIHJlbGF0aXZlUGF0aCA9ICcuLi8nLnJlcGVhdChmcm9tUGFydHMubGVuZ3RoKTtcblxuICByZWxhdGl2ZVBhdGggKz0gdG9QYXJ0cy5qb2luKCcvJyk7XG5cbiAgcmV0dXJuIHJlbGF0aXZlUGF0aDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUb1BhdGggPSAoZnJvbTogc3RyaW5nLCByZWxhdGl2ZTogc3RyaW5nKSA9PiB7XG4gIGlmIChyZWxhdGl2ZSA9PT0gbnVsbCB8fCByZWxhdGl2ZSA9PT0gdW5kZWZpbmVkIHx8ICFmcm9tKSB7XG4gICAgcmV0dXJuIHJlbGF0aXZlO1xuICB9XG5cbiAgY29uc3QgZnJvbVBhcnRzID0gZnJvbS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcbiAgY29uc3QgcmVsYXRpdmVQYXJ0cyA9IHJlbGF0aXZlLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuXG4gIGNvbnN0IGRvdERvdENvdW50ID0gK3JlbGF0aXZlUGFydHMuZmlsdGVyKHAgPT4gcCA9PT0gJy4uJyk/Lmxlbmd0aDtcblxuICBjb25zdCBzID0gZnJvbVBhcnRzLnNwbGljZSgwLCBmcm9tUGFydHMubGVuZ3RoIC0gZG90RG90Q291bnQpO1xuXG4gIHJldHVybiBzLmNvbmNhdChyZWxhdGl2ZVBhcnRzLnNwbGljZShkb3REb3RDb3VudCkpLmpvaW4oJy8nKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0cmFja0J5TmFtZSA9IDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgXzogbnVtYmVyLFxuICByZXNvdXJjZTogVCxcbikgPT4gcmVzb3VyY2UubWV0YWRhdGEubmFtZTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRhYmxlU29ydDxUPihcbiAgbGlzdDogVFtdLFxuICBzb3J0OiBTb3J0LFxuICBzb3J0QWN0aXZlVmFsdWVGbjogKGl0ZW06IFQsIG5hbWU6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVtYmVyLFxuKTogVFtdIHtcbiAgcmV0dXJuIGxpc3Quc2xpY2UoKS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gc29ydC5hY3RpdmU7XG4gICAgY29uc3Qga2V5QSA9IHNvcnRBY3RpdmVWYWx1ZUZuKGEsIGtleSk7XG4gICAgY29uc3Qga2V5QiA9IHNvcnRBY3RpdmVWYWx1ZUZuKGIsIGtleSk7XG4gICAgaWYgKGtleUEgPT09IGtleUIpIHJldHVybiAwO1xuICAgIHJldHVybiBzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYydcbiAgICAgID8ga2V5QSA+IGtleUJcbiAgICAgICAgPyAxXG4gICAgICAgIDogLTFcbiAgICAgIDoga2V5QiA+IGtleUFcbiAgICAgICAgPyAxXG4gICAgICAgIDogLTE7XG4gIH0pO1xufVxuXG4vLyDmlK/mjIHkuK3mlofmjpLluo/vvIzmjqjojZDkvb/nlKhcbmV4cG9ydCBmdW5jdGlvbiB0YWJsZVNvcnRBZHZhbmNlPFQ+KFxuICBsaXN0OiBUW10sXG4gIHNvcnQ6IFNvcnQsXG4gIHNvcnRBY3RpdmVWYWx1ZUZuOiAoaXRlbTogVCwgbmFtZTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudW1iZXIsXG4pOiBUW10ge1xuICByZXR1cm4gbGlzdC5zbGljZSgpLnNvcnQoKGEsIGIpID0+IHtcbiAgICBjb25zdCBrZXkgPSBzb3J0LmFjdGl2ZTtcbiAgICBjb25zdCBrZXlBID0gc29ydEFjdGl2ZVZhbHVlRm4oYSwga2V5KS50b1N0cmluZygpO1xuICAgIGNvbnN0IGtleUIgPSBzb3J0QWN0aXZlVmFsdWVGbihiLCBrZXkpLnRvU3RyaW5nKCk7XG4gICAgaWYgKGtleUEgPT09IGtleUIpIHJldHVybiAwO1xuICAgIHJldHVybiBzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYydcbiAgICAgID8ga2V5QS5sb2NhbGVDb21wYXJlKGtleUIpXG4gICAgICA6IGtleUIubG9jYWxlQ29tcGFyZShrZXlBKTtcbiAgfSk7XG59XG5cbi8vIOagueaNriB0YWdPckRpZ2VzdCDnlJ/miJDplZzlg4/lnLDlnYBcbmV4cG9ydCBjb25zdCBidWlsZEltYWdlQWRkcmVzcyA9ICh1cmw6IHN0cmluZywgdGFnT3JEaWdlc3Q6IHN0cmluZykgPT4ge1xuICByZXR1cm4gYCR7dXJsfSR7dGFnT3JEaWdlc3Q/LnN0YXJ0c1dpdGgoJ3NoYTI1NjonKSA/ICdAJyA6ICc6J30ke3RhZ09yRGlnZXN0fWA7XG59O1xuXG4vLyDop6PmnpDplZzlg4/lnLDlnYBcbmV4cG9ydCBjb25zdCBwYXJzZUltYWdlQWRkcmVzcyA9IChhZGRyOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcmVzdWx0OiB7XG4gICAgZGlnZXN0Pzogc3RyaW5nO1xuICAgIHRhZz86IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgfSA9IHtcbiAgICB1cmw6ICcnLFxuICB9O1xuXG4gIGNvbnN0IFt1cmxQYXJ0LCBkaWdlc3RQYXJ0XSA9IGFkZHIuc3BsaXQoJ0BzaGEyNTYnKTtcbiAgaWYgKGRpZ2VzdFBhcnQpIHtcbiAgICByZXN1bHQuZGlnZXN0ID0gYHNoYTI1NiR7ZGlnZXN0UGFydH1gO1xuICB9XG5cbiAgY29uc3QgdGFnSW5kZXggPSB1cmxQYXJ0Lmxhc3RJbmRleE9mKCc6Jyk7XG4gIGlmICh0YWdJbmRleCA+IDAgJiYgdGFnSW5kZXggPiB1cmxQYXJ0Lmxhc3RJbmRleE9mKCcvJykpIHtcbiAgICByZXN1bHQudGFnID0gdXJsUGFydC5zbGljZSh0YWdJbmRleCArIDEpO1xuICAgIHJlc3VsdC51cmwgPSB1cmxQYXJ0LnNsaWNlKDAsIHRhZ0luZGV4KTtcbiAgfSBlbHNlIHtcbiAgICByZXN1bHQudXJsID0gdXJsUGFydDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJXaW5kb3dzWHRlcm1Ub29scyA9ICgpID0+IHtcbiAgZGVsZXRlICh3aW5kb3cgYXMgYW55KS5fX1hURVJNX1RPT0xTX187XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRVcmwgPSAoXG4gIGJhc2VVcmk6IHN0cmluZyxcbiAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgYm9vbGVhbj4sXG4pID0+IHtcbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtcykpIHtcbiAgICBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUudG9TdHJpbmcoKSk7XG4gIH1cblxuICBjb25zdCBxdWVyeVN0cmluZyA9IHNlYXJjaFBhcmFtcy50b1N0cmluZygpO1xuICByZXR1cm4gcXVlcnlTdHJpbmcgPyBgJHtiYXNlVXJpfT8ke3F1ZXJ5U3RyaW5nfWAgOiBiYXNlVXJpO1xufTtcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isBoolean } from 'lodash-es';
|
|
2
2
|
import { isObservable, of, switchMap } from 'rxjs';
|
|
3
|
-
import { publishRef } from '
|
|
3
|
+
import { publishRef } from '@alauda-fe/dynamic-plugin-sdk';
|
|
4
4
|
// 同步 Chain
|
|
5
5
|
function buildDisabledQueryChain(judgeFns, index) {
|
|
6
6
|
if (!judgeFns[index]) {
|
|
@@ -44,4 +44,4 @@ export function getDisabledState(...judgeFns) {
|
|
|
44
44
|
export function getDisabledState$(...judgeFns) {
|
|
45
45
|
return buildDisabledQueryChain$(judgeFns, 0).pipe(publishRef());
|
|
46
46
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQtc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvdXRpbHMvZGlzYWJsZWQtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQWMsWUFBWSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBYTNELFdBQVc7QUFDWCxTQUFTLHVCQUF1QixDQUM5QixRQUE2QixFQUM3QixLQUFhO0lBRWIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBb0IsQ0FBQztJQUVqRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDckIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sdUJBQXVCLENBQUMsUUFBUSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQsV0FBVztBQUNYLFNBQVMsd0JBQXdCLENBQy9CLFFBQTZCLEVBQzdCLEtBQWE7SUFFYixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNELElBQUksT0FBTyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ2hDLE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDakIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ2pCLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDdEIsTUFBTSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLENBQUM7UUFDRCxJQUFJLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUNyQixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBRyxRQUE2QjtJQUMvRCxPQUFPLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsR0FBRyxRQUE2QjtJQUNoRSxPQUFPLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNCb29sZWFuIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGlzT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBwdWJsaXNoUmVmIH0gZnJvbSAnQGFsYXVkYS1mZS9keW5hbWljLXBsdWdpbi1zZGsnO1xuXG5leHBvcnQgdHlwZSBEaXNhYmxlZFJlc3VsdCA9XG4gIHwge1xuICAgICAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgICB0b29sdGlwPzogc3RyaW5nO1xuICAgIH1cbiAgfCBib29sZWFuO1xuXG5leHBvcnQgdHlwZSBRdWVyeURpc2FibGVkRnVuYyA9ICgpID0+XG4gIHwgRGlzYWJsZWRSZXN1bHRcbiAgfCBPYnNlcnZhYmxlPERpc2FibGVkUmVzdWx0PjtcblxuLy8g5ZCM5q2lIENoYWluXG5mdW5jdGlvbiBidWlsZERpc2FibGVkUXVlcnlDaGFpbihcbiAganVkZ2VGbnM6IFF1ZXJ5RGlzYWJsZWRGdW5jW10sXG4gIGluZGV4OiBudW1iZXIsXG4pOiBFeGNsdWRlPERpc2FibGVkUmVzdWx0LCBib29sZWFuPiB7XG4gIGlmICghanVkZ2VGbnNbaW5kZXhdKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgbGV0IHJlc3VsdCA9IGp1ZGdlRm5zW2luZGV4XSgpIGFzIERpc2FibGVkUmVzdWx0O1xuXG4gIGlmIChpc0Jvb2xlYW4ocmVzdWx0KSkge1xuICAgIHJlc3VsdCA9IHsgZGlzYWJsZWQ6IHJlc3VsdCB9O1xuICB9XG5cbiAgaWYgKHJlc3VsdD8uZGlzYWJsZWQpIHtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkRGlzYWJsZWRRdWVyeUNoYWluKGp1ZGdlRm5zLCBpbmRleCArIDEpO1xufVxuXG4vLyDlvILmraUgQ2hhaW5cbmZ1bmN0aW9uIGJ1aWxkRGlzYWJsZWRRdWVyeUNoYWluJChcbiAganVkZ2VGbnM6IFF1ZXJ5RGlzYWJsZWRGdW5jW10sXG4gIGluZGV4OiBudW1iZXIsXG4pOiBPYnNlcnZhYmxlPEV4Y2x1ZGU8RGlzYWJsZWRSZXN1bHQsIGJvb2xlYW4+PiB7XG4gIGlmICghanVkZ2VGbnNbaW5kZXhdKSB7XG4gICAgcmV0dXJuIG9mKG51bGwpO1xuICB9XG4gIGxldCByZXN1bHQkID0ganVkZ2VGbnNbaW5kZXhdKCk7XG4gIHJlc3VsdCQgPSBpc09ic2VydmFibGUocmVzdWx0JCkgPyByZXN1bHQkIDogb2YocmVzdWx0JCk7XG4gIHJldHVybiByZXN1bHQkLnBpcGUoXG4gICAgc3dpdGNoTWFwKHJlc3VsdCA9PiB7XG4gICAgICBpZiAoaXNCb29sZWFuKHJlc3VsdCkpIHtcbiAgICAgICAgcmVzdWx0ID0geyBkaXNhYmxlZDogcmVzdWx0IH07XG4gICAgICB9XG4gICAgICBpZiAocmVzdWx0Py5kaXNhYmxlZCkge1xuICAgICAgICByZXR1cm4gb2YocmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBidWlsZERpc2FibGVkUXVlcnlDaGFpbiQoanVkZ2VGbnMsIGluZGV4ICsgMSk7XG4gICAgfSksXG4gICk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIOiOt+WPluWQjOatpeeKtuaAgVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGlzYWJsZWRTdGF0ZSguLi5qdWRnZUZuczogUXVlcnlEaXNhYmxlZEZ1bmNbXSkge1xuICByZXR1cm4gYnVpbGREaXNhYmxlZFF1ZXJ5Q2hhaW4oanVkZ2VGbnMsIDApO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiDojrflj5blvILmraXnirbmgIFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERpc2FibGVkU3RhdGUkKC4uLmp1ZGdlRm5zOiBRdWVyeURpc2FibGVkRnVuY1tdKSB7XG4gIHJldHVybiBidWlsZERpc2FibGVkUXVlcnlDaGFpbiQoanVkZ2VGbnMsIDApLnBpcGUocHVibGlzaFJlZigpKTtcbn1cbiJdfQ==
|
package/esm2022/utils/index.mjs
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
export * from './observable';
|
|
2
|
-
export * from './operators';
|
|
3
|
-
export * from './decorators';
|
|
4
|
-
export * from './browser';
|
|
5
|
-
export * from './cache-store';
|
|
6
1
|
export * from './color-helpers';
|
|
7
2
|
export * from './common';
|
|
8
3
|
export * from './cron-util';
|
|
@@ -19,6 +14,5 @@ export * from './format-number';
|
|
|
19
14
|
export * from './node';
|
|
20
15
|
export * from './sort-fn';
|
|
21
16
|
export * from './workload';
|
|
22
|
-
export * from './router';
|
|
23
17
|
export * from './disabled-state';
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2R5bmFtaWMtcGx1Z2luLXNoYXJlZC9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbG9yLWhlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jcm9uLXV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LXBvb2wnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlJztcbmV4cG9ydCAqIGZyb20gJy4vd2l0aC1sb2FkLXN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vd29ya3NwYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdW5pdCc7XG5leHBvcnQgKiBmcm9tICcuL3lhbWwnO1xuZXhwb3J0ICogZnJvbSAnLi92ZXJzaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWwtc3RvcmFnZS1jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXQtbnVtYmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5leHBvcnQgKiBmcm9tICcuL3NvcnQtZm4nO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrbG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL2Rpc2FibGVkLXN0YXRlJztcbiJdfQ==
|