@microsoft/windows-admin-center-sdk 2.186.0 → 2.297.0
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/angular/assets/strings/cs-CZ/strings.json +1 -1
- package/angular/assets/strings/de-DE/strings.json +1 -1
- package/angular/assets/strings/es-ES/strings.json +1 -1
- package/angular/assets/strings/fr-FR/strings.json +1 -1
- package/angular/assets/strings/hu-HU/strings.json +1 -1
- package/angular/assets/strings/it-IT/strings.json +1 -1
- package/angular/assets/strings/ja-JP/strings.json +1 -1
- package/angular/assets/strings/ko-KR/strings.json +1 -1
- package/angular/assets/strings/nl-NL/strings.json +1 -1
- package/angular/assets/strings/pl-PL/strings.json +1 -1
- package/angular/assets/strings/pt-BR/strings.json +1 -1
- package/angular/assets/strings/pt-PT/strings.json +1 -1
- package/angular/assets/strings/ru-RU/strings.json +1 -1
- package/angular/assets/strings/strings.json +1 -1
- package/angular/assets/strings/sv-SE/strings.json +1 -1
- package/angular/assets/strings/tr-TR/strings.json +1 -1
- package/angular/assets/strings/zh-CN/strings.json +1 -1
- package/angular/assets/strings/zh-TW/strings.json +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js +1103 -1209
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js.map +1 -1
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js +2 -2
- package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js.map +1 -1
- package/angular/esm2015/src/controls/actions/actions.module.js +2 -2
- package/angular/esm2015/src/controls/actions/containers/action-bar/action-bar.component.js +2 -2
- package/angular/esm2015/src/controls/actions/items/action-button/action-button-renderer.component.js +5 -5
- package/angular/esm2015/src/controls/actions/items/action-dropdown/action-dropdown.component.js +31 -13
- package/angular/esm2015/src/controls/actions/items/action-item.component.js +7 -3
- package/angular/esm2015/src/controls/badge/badge-base.component.js +2 -13
- package/angular/esm2015/src/controls/badge/bugfixes-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/coming-soon-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/credssp-enabled-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/critical-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/custom-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/feedback-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/improvement-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/new-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/new-feature-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/preview-badge.component.js +42 -70
- package/angular/esm2015/src/controls/badge/warning-badge.component.js +42 -70
- package/angular/esm2015/src/controls/breadcrumb/breadcrumb.component.js +6 -6
- package/angular/esm2015/src/controls/breadcrumb-header/breadcrumb-header.component.js +2 -2
- package/angular/esm2015/src/controls/data-table/data-table-column.component.js +5 -3
- package/angular/esm2015/src/controls/data-table/data-table.component.js +20 -26
- package/angular/esm2015/src/controls/data-table/extensions/data-table-column-picker-extension.js +2 -1
- package/angular/esm2015/src/controls/details/details.component.js +2 -2
- package/angular/esm2015/src/controls/dialog/base-dialog.component.js +1 -1
- package/angular/esm2015/src/controls/dialog/confirmation-dialog/confirmation-dialog.component.js +20 -30
- package/angular/esm2015/src/controls/dialog/dialog.service.js +7 -3
- package/angular/esm2015/src/controls/dropdown/dropdown.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/array/array-form-field.component.js +50 -40
- package/angular/esm2015/src/controls/form/form-field/checklist/checklist-form-field.component.js +3 -3
- package/angular/esm2015/src/controls/form/form-field/combobox/combobox-form-field.component.js +14 -13
- package/angular/esm2015/src/controls/form/form-field/datetime/datetime-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/form-field.component.js +16 -4
- package/angular/esm2015/src/controls/form/form-field/options-form-field/form-field-option.component.js +5 -3
- package/angular/esm2015/src/controls/form/form-field/ordered-list/ordered-list-form-field.component.js +25 -21
- package/angular/esm2015/src/controls/form/form-field/radio-group/classic/radio-group-form-field.component.js +5 -5
- package/angular/esm2015/src/controls/form/form-field/search/search-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/form-field/tags/tags-form-field.component.js +2 -2
- package/angular/esm2015/src/controls/form/validation-alert/validation-alert.component.js +4 -10
- package/angular/esm2015/src/controls/form/validation-alert/validation-alert.js +1 -1
- package/angular/esm2015/src/controls/horizontal-bar-chart/stacked-horizontal-bar-chart.component.js +17 -1
- package/angular/esm2015/src/controls/icon/layered-icon/layered-icon.component.js +12 -1
- package/angular/esm2015/src/controls/icon/layered-icon/status/status-icon.component.js +53 -9
- package/angular/esm2015/src/controls/loading-wheel/loading-wheel.component.js +17 -1
- package/angular/esm2015/src/controls/master-view/master-view.component.js +34 -30
- package/angular/esm2015/src/controls/pivot/pivot-tab.component.js +1 -1
- package/angular/esm2015/src/controls/pivot/pivot.component.js +21 -9
- package/angular/esm2015/src/controls/property-grid/property-grid.component.js +13 -29
- package/angular/esm2015/src/controls/schema-form/schema-form-content.component.js +7 -4
- package/angular/esm2015/src/controls/settings/common-settings/common-settings.component.js +23 -35
- package/angular/esm2015/src/controls/settings/settings.component.js +28 -1
- package/angular/esm2015/src/controls/settings/settings.module.js +8 -3
- package/angular/esm2015/src/controls/tooltip/tooltip-host.component.js +16 -5
- package/angular/esm2015/src/controls/wizard/wizard.component.js +38 -6
- package/angular/esm2015/src/directives/clamp/clamp.directive.js +26 -7
- package/angular/esm2015/src/directives/discard/discard.directive.js +2 -2
- package/angular/esm2015/src/directives/markdown/markdown.directive.js +5 -18
- package/angular/esm2015/src/generated/strings.js +1 -1
- package/angular/esm2015/src/guards/experiment.guard.service.js +14 -1
- package/angular/esm2015/src/pipes/boolean-converter-pipe.js +11 -1
- package/angular/esm2015/src/pipes/byte-unit-converter-pipe.js +11 -1
- package/angular/esm2015/src/pipes/enum-converter-pipe.js +16 -1
- package/angular/esm2015/src/pipes/format-pipe.js +11 -1
- package/angular/esm2015/src/pipes/highlight-pipe.js +11 -1
- package/angular/esm2015/src/pipes/yesno-converter-pipe.js +11 -1
- package/angular/esm2015/src/service/gateway.service.js +8 -5
- package/angular/esm2015/src/service/notification.service.js +23 -1
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js +1042 -1069
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js.map +1 -1
- package/angular/package.json +0 -1
- package/angular/src/controls/actions/items/action-dropdown/action-dropdown.component.d.ts +2 -0
- package/angular/src/controls/actions/items/action-item.component.d.ts +11 -1
- package/angular/src/controls/badge/badge-base.component.d.ts +0 -4
- package/angular/src/controls/data-table/data-table-column.component.d.ts +2 -1
- package/angular/src/controls/data-table/data-table.component.d.ts +4 -0
- package/angular/src/controls/dialog/base-dialog.component.d.ts +1 -1
- package/angular/src/controls/form/form-field/form-field.component.d.ts +10 -1
- package/angular/src/controls/form/form-field/options-form-field/form-field-option.component.d.ts +5 -1
- package/angular/src/controls/form/validation-alert/validation-alert.component.d.ts +0 -4
- package/angular/src/controls/form/validation-alert/validation-alert.d.ts +0 -1
- package/angular/src/controls/horizontal-bar-chart/stacked-horizontal-bar-chart.component.d.ts +16 -0
- package/angular/src/controls/icon/layered-icon/layered-icon.component.d.ts +11 -0
- package/angular/src/controls/icon/layered-icon/status/status-icon.component.d.ts +13 -2
- package/angular/src/controls/loading-wheel/loading-wheel.component.d.ts +16 -0
- package/angular/src/controls/master-view/master-view.component.d.ts +1 -0
- package/angular/src/controls/pivot/pivot-tab.component.d.ts +0 -1
- package/angular/src/controls/pivot/pivot.component.d.ts +4 -0
- package/angular/src/controls/settings/common-settings/common-settings.component.d.ts +6 -5
- package/angular/src/controls/settings/settings.component.d.ts +27 -0
- package/angular/src/controls/settings/settings.module.d.ts +7 -6
- package/angular/src/controls/tooltip/tooltip-host.component.d.ts +1 -1
- package/angular/src/controls/wizard/wizard.component.d.ts +23 -0
- package/angular/src/directives/clamp/clamp.directive.d.ts +5 -0
- package/angular/src/directives/markdown/markdown.directive.d.ts +2 -3
- package/angular/src/generated/strings.d.ts +9 -0
- package/angular/src/guards/experiment.guard.service.d.ts +13 -0
- package/angular/src/pipes/boolean-converter-pipe.d.ts +10 -0
- package/angular/src/pipes/byte-unit-converter-pipe.d.ts +10 -0
- package/angular/src/pipes/enum-converter-pipe.d.ts +15 -0
- package/angular/src/pipes/format-pipe.d.ts +10 -0
- package/angular/src/pipes/highlight-pipe.d.ts +10 -0
- package/angular/src/pipes/yesno-converter-pipe.d.ts +10 -0
- package/angular/src/service/gateway.service.d.ts +3 -1
- package/angular/src/service/notification.service.d.ts +22 -0
- package/core/base/environment.d.ts +7 -0
- package/core/base/environment.js.map +1 -1
- package/core/base/versioned-object.js +2 -2
- package/core/base/versioned-object.js.map +1 -1
- package/core/data/cim-stream.js +8 -1
- package/core/data/cim-stream.js.map +1 -1
- package/core/data/core-environment.d.ts +4 -0
- package/core/data/core-environment.js +1 -0
- package/core/data/core-environment.js.map +1 -1
- package/core/data/crypto.js +10 -9
- package/core/data/crypto.js.map +1 -1
- package/core/data/file-transfer.js +5 -1
- package/core/data/file-transfer.js.map +1 -1
- package/core/data/gateway-connection.d.ts +11 -1
- package/core/data/gateway-connection.js +51 -9
- package/core/data/gateway-connection.js.map +1 -1
- package/core/data/http-constants.d.ts +5 -1
- package/core/data/http-constants.js +5 -1
- package/core/data/http-constants.js.map +1 -1
- package/core/data/net.d.ts +15 -11
- package/core/data/net.js +44 -41
- package/core/data/net.js.map +1 -1
- package/core/data/node-connection.d.ts +2 -2
- package/core/data/node-connection.js.map +1 -1
- package/core/data/powershell-stream.js +11 -3
- package/core/data/powershell-stream.js.map +1 -1
- package/core/data/powershell.d.ts +17 -1
- package/core/data/powershell.js +35 -9
- package/core/data/powershell.js.map +1 -1
- package/core/data/settings-manager.d.ts +9 -0
- package/core/data/settings-manager.js +18 -1
- package/core/data/settings-manager.js.map +1 -1
- package/core/generated/powershell-scripts.d.ts +5 -4
- package/core/generated/powershell-scripts.js +5 -4
- package/core/generated/powershell-scripts.js.map +1 -1
- package/core/host/host-core-manager.d.ts +36 -0
- package/core/host/host-core-manager.js +134 -0
- package/core/host/host-core-manager.js.map +1 -0
- package/core/host/host-core-message-type.d.ts +12 -0
- package/core/host/host-core-message-type.js +17 -0
- package/core/host/host-core-message-type.js.map +1 -0
- package/core/host/host-core-messages.d.ts +14 -0
- package/core/host/host-core-messages.js +3 -0
- package/core/host/host-core-messages.js.map +1 -0
- package/core/manifest/manifest-loader.d.ts +2 -1
- package/core/manifest/manifest-loader.js +27 -18
- package/core/manifest/manifest-loader.js.map +1 -1
- package/core/notification/notification.js +4 -0
- package/core/notification/notification.js.map +1 -1
- package/core/security/authorization-manager.d.ts +44 -0
- package/core/security/authorization-manager.js +111 -5
- package/core/security/authorization-manager.js.map +1 -1
- package/core/security/sign-on-manager.d.ts +109 -0
- package/core/security/sign-on-manager.js +119 -0
- package/core/security/sign-on-manager.js.map +1 -0
- package/core/security/tag-manager.js.map +1 -1
- package/core/shared/cluster-inventory/cluster-inventory-cache.js +3 -2
- package/core/shared/cluster-inventory/cluster-inventory-cache.js.map +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.d.ts +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.js +1 -1
- package/core/shared/gateway-inventory/gateway-inventory-cache.js.map +1 -1
- package/core/shared/server-inventory/server-inventory-cache.js +2 -1
- package/core/shared/server-inventory/server-inventory-cache.js.map +1 -1
- package/core/shared/tool-inventory/tool-inventory-cache.js +1 -1
- package/core/shared/tool-inventory/tool-inventory-cache.js.map +1 -1
- package/e2e/assets/strings/cs-CZ/strings.json +1 -1
- package/e2e/assets/strings/de-DE/strings.json +1 -1
- package/e2e/assets/strings/es-ES/strings.json +1 -1
- package/e2e/assets/strings/fr-FR/strings.json +1 -1
- package/e2e/assets/strings/hu-HU/strings.json +1 -1
- package/e2e/assets/strings/it-IT/strings.json +1 -1
- package/e2e/assets/strings/ja-JP/strings.json +1 -1
- package/e2e/assets/strings/ko-KR/strings.json +1 -1
- package/e2e/assets/strings/nl-NL/strings.json +1 -1
- package/e2e/assets/strings/pl-PL/strings.json +1 -1
- package/e2e/assets/strings/pt-BR/strings.json +1 -1
- package/e2e/assets/strings/pt-PT/strings.json +1 -1
- package/e2e/assets/strings/ru-RU/strings.json +1 -1
- package/e2e/assets/strings/strings.json +1 -1
- package/e2e/assets/strings/sv-SE/strings.json +1 -1
- package/e2e/assets/strings/tr-TR/strings.json +1 -1
- package/e2e/assets/strings/zh-CN/strings.json +1 -1
- package/e2e/assets/strings/zh-TW/strings.json +1 -1
- package/package.json +5 -5
- package/styles/css/fonts.css +2 -2
- package/styles/css/main.css +1 -1
- package/styles/fonts/ServMDL2/ServMDL2-4.62.woff +0 -0
- package/styles/fonts/ServMDL2/ServMDL2.json +238 -2039
- package/styles/fonts/ServMDL2/ServMDL2.scss +238 -2039
- package/tools/gulp-manifest-resource/index.js +3 -1
- package/tools/gulp-manifest-resource/index.js.map +1 -1
- package/tools/gulp-ps-cim/index.js +1 -1
- package/tools/gulp-ps-cim/index.js.map +1 -1
- package/tools/gulp-ps-cim/powershell-cim-config-schema.json +1 -1
- package/tools/gulp-ps-code/index.js +36 -2
- package/tools/gulp-ps-code/index.js.map +1 -1
- package/tools/gulp-ps-code/ps-code-convert.js +4 -8
- package/tools/gulp-ps-code/ps-code-convert.js.map +1 -1
- package/tools/gulp-ps-resjson/index.js +79 -74
- package/tools/gulp-ps-resjson/index.js.map +1 -1
- package/tools/module-template/build/pipelines/codeinspector.yml +27 -0
- package/tools/module-template/gulpfile.ts/common/lint.ts +3 -3
- package/tools/module-template/gulpfile.ts/common/pack.ts +14 -14
- package/tools/module-template/gulpfile.ts/common/ui-test-automation.ts +40 -0
- package/tools/module-template/gulpfile.ts/common/utilities.ts +10 -10
- package/tools/module-template/gulpfile.ts/common/validate.ts +14 -4
- package/tools/module-template/gulpfile.ts/index.ts +20 -8
- package/tools/wac-cli/src/upgrade/file-updater.d.ts +1 -0
- package/tools/wac-cli/src/upgrade/file-updater.js +7 -1
- package/tools/wac-cli/src/upgrade/file-updater.js.map +1 -1
- package/styles/fonts/ServMDL2/ServMDL2-4.33.woff +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Directive, EventEmitter, Injector, Input, Output } from '@angular/core';
|
|
1
|
+
import { Directive, EventEmitter, HostListener, Injector, Input, Output } from '@angular/core';
|
|
2
2
|
import { CoreBaseComponent } from '../../controls/common/base.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export var Unicode;
|
|
@@ -77,6 +77,16 @@ export class ClampDirective extends CoreBaseComponent {
|
|
|
77
77
|
get breakWords() {
|
|
78
78
|
return this.hostElement.nativeElement.classList.contains(breakAllClass);
|
|
79
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Host listener for page resize event.
|
|
82
|
+
*/
|
|
83
|
+
onResize() {
|
|
84
|
+
// reset initial content state
|
|
85
|
+
this.resetClampContent();
|
|
86
|
+
if (this.needsClamping) {
|
|
87
|
+
this.clamp(this.hostElement.nativeElement);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
80
90
|
/**
|
|
81
91
|
* Implementation of angular OnChanges interface
|
|
82
92
|
* On every input change, we recalculate the clamp.
|
|
@@ -85,10 +95,7 @@ export class ClampDirective extends CoreBaseComponent {
|
|
|
85
95
|
super.ngOnChanges(changes);
|
|
86
96
|
if (changes.smeClamp) {
|
|
87
97
|
// reset initial content state
|
|
88
|
-
this.
|
|
89
|
-
this.hostElement.nativeElement.innerHTML = this.smeClamp || '';
|
|
90
|
-
// whenever this changes, we need to measure and output whether the content will be clamped.
|
|
91
|
-
this.clamped.emit({ clamped: this.needsClamping });
|
|
98
|
+
this.resetClampContent();
|
|
92
99
|
}
|
|
93
100
|
// if the input changes require clamping again, then re-clamp
|
|
94
101
|
if (this.needsClamping) {
|
|
@@ -107,6 +114,13 @@ export class ClampDirective extends CoreBaseComponent {
|
|
|
107
114
|
element.classList.remove(breakAllClass);
|
|
108
115
|
}
|
|
109
116
|
}
|
|
117
|
+
resetClampContent() {
|
|
118
|
+
// reset initial content state
|
|
119
|
+
this.removeBreakWords();
|
|
120
|
+
this.hostElement.nativeElement.innerHTML = this.smeClamp || '';
|
|
121
|
+
// whenever this changes, we need to measure and output whether the content will be clamped.
|
|
122
|
+
this.clamped.emit({ clamped: this.needsClamping });
|
|
123
|
+
}
|
|
110
124
|
/**
|
|
111
125
|
* Gets the initial host classes to be applied to this element
|
|
112
126
|
*/
|
|
@@ -197,7 +211,9 @@ export class ClampDirective extends CoreBaseComponent {
|
|
|
197
211
|
}
|
|
198
212
|
}
|
|
199
213
|
/** @nocollapse */ ClampDirective.ɵfac = function ClampDirective_Factory(t) { return new (t || ClampDirective)(i0.ɵɵdirectiveInject(i0.Injector)); };
|
|
200
|
-
/** @nocollapse */ ClampDirective.ɵdir = i0.ɵɵdefineDirective({ type: ClampDirective, selectors: [["", "smeClamp", ""]],
|
|
214
|
+
/** @nocollapse */ ClampDirective.ɵdir = i0.ɵɵdefineDirective({ type: ClampDirective, selectors: [["", "smeClamp", ""]], hostBindings: function ClampDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
215
|
+
i0.ɵɵlistener("resize", function ClampDirective_resize_HostBindingHandler() { return ctx.onResize(); }, false, i0.ɵɵresolveWindow);
|
|
216
|
+
} }, inputs: { smeClamp: "smeClamp", smeClampLines: "smeClampLines" }, outputs: { clamped: "clamped" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature] });
|
|
201
217
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ClampDirective, [{
|
|
202
218
|
type: Directive,
|
|
203
219
|
args: [{
|
|
@@ -209,5 +225,8 @@ export class ClampDirective extends CoreBaseComponent {
|
|
|
209
225
|
type: Input
|
|
210
226
|
}], clamped: [{
|
|
211
227
|
type: Output
|
|
228
|
+
}], onResize: [{
|
|
229
|
+
type: HostListener,
|
|
230
|
+
args: ['window:resize']
|
|
212
231
|
}] }); })();
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhbXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvZGlyZWN0aXZlcy9jbGFtcC9jbGFtcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUV6RSxNQUFNLENBQU4sSUFBWSxPQUVYO0FBRkQsV0FBWSxPQUFPO0lBQ2Ysd0NBQTZCLENBQUE7QUFDakMsQ0FBQyxFQUZXLE9BQU8sS0FBUCxPQUFPLFFBRWxCO0FBU0QsTUFBTSxhQUFhLEdBQUcsNEJBQTRCLENBQUM7QUFFbkQ7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBS0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxpQkFBaUI7SUFxRWpEOzs7T0FHRztJQUNILFlBQVksUUFBa0I7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBeERwQjs7V0FFRztRQUVJLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztJQXFEbEQsQ0FBQztJQXpFRDs7T0FFRztJQUNILElBQWMsYUFBYTtRQUN2QixPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFpQkQ7O09BRUc7SUFDSCxJQUFZLFNBQVM7UUFDakIsb0JBQW9CO1FBQ3BCLElBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFbkYsZ0NBQWdDO1FBQ2hDLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRTtZQUN0QixTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFh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eyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb3JlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NvbW1vbi9iYXNlLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgZW51bSBVbmljb2RlIHtcclxuICAgIEhvcml6b250YWxFbGxpcHNpcyA9ICdcXHUyMDI2J1xyXG59XHJcblxyXG4vKipcclxuICogRGVzY3JpYmVzIHRoZSBjbGFtcGVkIGV2ZW50IG9mIHRoZSBDbGFtcERpcmVjdGl2ZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDbGFtcGVkRXZlbnQge1xyXG4gICAgY2xhbXBlZDogYm9vbGVhbjtcclxufVxyXG5cclxuY29uc3QgYnJlYWtBbGxDbGFzcyA9ICdzbWUtYXJyYW5nZS13b3JkLWJyZWFrLWFsbCc7XHJcblxyXG4vKipcclxuICpcclxuICogQHNtZURvYyB7QGxhYmVsIENsYW1wIEBpZCBzbWUtY2xhbXAtZGlyZWN0aXZlfVxyXG4gKlxyXG4gKiBAb3ZlcnZpZXdcclxuICogQGZpbGUge0BmaWxlcGF0aCAuL2V4YW1wbGVzL2NsYW1wLW92ZXJ2aWV3Lm1kfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIEJhc2ljIFVzYWdlIEBpZCBiYXNpYy11c2FnZX1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9iYXNpYy11c2FnZS5jb21wb25lbnQuaHRtbH1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQudHMgQGZpbGVwYXRoIC4vZXhhbXBsZXMvYmFzaWMtdXNhZ2UuY29tcG9uZW50LnRzfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIENsYW1wIHdpdGggYXV0byBsaW5lcyBAaWQgYXV0by1saW5lc31cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9hdXRvLWxpbmVzLWNsYW1wLmNvbXBvbmVudC5odG1sfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9hdXRvLWxpbmVzLWNsYW1wLmNvbXBvbmVudC50c31cclxuICpcclxuICovXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3NtZUNsYW1wXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIENsYW1wRGlyZWN0aXZlIGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNvdXJjZSBuYW1lIHRvIHVzZSBmb3IgbG9nZ2luZ1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdDbGFtcERpcmVjdGl2ZSc7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBjb250ZW50IHRvIGNsYW1wLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgc21lQ2xhbXA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbnVtYmVyIG9mIGxpbmVzIHRvIGNsYW1wLCBvciBhdXRvIHRvIGNsYW1wIHdoYXRldmVyIHdpbGwgZml0IGluIHRoZSBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBzbWVDbGFtcExpbmVzOiBudW1iZXIgfCAnYXV0byc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCB0aGF0IG91dHB1dHMgYSB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGNvbnRlbnQgaXMgY2xhbXBlZCBvciBub3RcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgY2xhbXBlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2xhbXBlZEV2ZW50PigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG51bWJlciBvZiBsaW5lcyB0byBjbGFtcCB0b1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldCBsaW5lQ291bnQoKTogbnVtYmVyIHtcclxuICAgICAgICAvLyBnZXQgdGhlIGxpbmVDb3VudFxyXG4gICAgICAgIGxldCBsaW5lQ291bnQgPSBNc2Z0U21lLmlzTnVtYmVyKHRoaXMuc21lQ2xhbXBMaW5lcykgPyB0aGlzLnNtZUNsYW1wTGluZXMgOiAnYXV0byc7XHJcblxyXG4gICAgICAgIC8vIGNhbGMgbGluZSBjb3VudCBpZiBpdCBpcyBhdXRvXHJcbiAgICAgICAgaWYgKGxpbmVDb3VudCA9PT0gJ2F1dG8nKSB7XHJcbiAgICAgICAgICAgIGxpbmVDb3VudCA9IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgLyB0aGlzLmxpbmVIZWlnaHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBtYWtlIHN1cmUgbGluZSBjb3VudCBpcyBhdCBsZWFzdCAxIGxpbmVcclxuICAgICAgICByZXR1cm4gTWF0aC5tYXgobGluZUNvdW50LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBoZWlnaHQgdGhhdCB0aGUgY2xhbXAgc2hvdWxkIGJlIGNvbnRhaW5lZCB3aXRoaW5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZXQgY2xhbXBIZWlnaHQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5saW5lQ291bnQgKiB0aGlzLmxpbmVIZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbGluZSBoZWlnaHQgb2YgdGhpcyBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0IGxpbmVIZWlnaHQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50KS5saW5lSGVpZ2h0LCAxMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCBjb250ZW50IG92ZXJmbG93cyB0aGUgZGVzaXJlZCBoZWlnaHQgb2YgdGhlIGNsYW1wXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0IG5lZWRzQ2xhbXBpbmcoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgPiB0aGlzLmNsYW1wSGVpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IHJlbmRlcmVkTGluZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgLyB0aGlzLmxpbmVIZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXQgYnJlYWtXb3JkcygpIHtcclxuICAgICAgICByZXR1cm4gKDxIVE1MRWxlbWVudD50aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpLmNsYXNzTGlzdC5jb250YWlucyhicmVha0FsbENsYXNzKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIENsYW1wRGlyZWN0aXZlXHJcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgVGhlIGluamVjdG9yIGZvciB0aGUgc21lIGJhc2UgY29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcGxlbWVudGF0aW9uIG9mIGFuZ3VsYXIgT25DaGFuZ2VzIGludGVyZmFjZVxyXG4gICAgICogT24gZXZlcnkgaW5wdXQgY2hhbmdlLCB3ZSByZWNhbGN1bGF0ZSB0aGUgY2xhbXAuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuc21lQ2xhbXApIHtcclxuICAgICAgICAgICAgLy8gcmVzZXQgaW5pdGlhbCBjb250ZW50IHN0YXRlXHJcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlQnJlYWtXb3JkcygpO1xyXG4gICAgICAgICAgICB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5zbWVDbGFtcCB8fCAnJztcclxuXHJcbiAgICAgICAgICAgIC8vIHdoZW5ldmVyIHRoaXMgY2hhbmdlcywgd2UgbmVlZCB0byBtZWFzdXJlIGFuZCBvdXRwdXQgd2hldGhlciB0aGUgY29udGVudCB3aWxsIGJlIGNsYW1wZWQuXHJcbiAgICAgICAgICAgIHRoaXMuY2xhbXBlZC5lbWl0KHsgY2xhbXBlZDogdGhpcy5uZWVkc0NsYW1waW5nIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gaWYgdGhlIGlucHV0IGNoYW5nZXMgcmVxdWlyZSBjbGFtcGluZyBhZ2FpbiwgdGhlbiByZS1jbGFtcFxyXG4gICAgICAgIGlmICh0aGlzLm5lZWRzQ2xhbXBpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5jbGFtcCh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldEJyZWFrV29yZHMoKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudCA9ICg8SFRNTEVsZW1lbnQ+dGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICBpZiAoIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGJyZWFrQWxsQ2xhc3MpKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChicmVha0FsbENsYXNzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZW1vdmVCcmVha1dvcmRzKCkge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSAoPEhUTUxFbGVtZW50PnRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGJyZWFrQWxsQ2xhc3MpKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShicmVha0FsbENsYXNzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBpbml0aWFsIGhvc3QgY2xhc3NlcyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgZWxlbWVudFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkge1xyXG4gICAgICAgIHJldHVybiBzdXBlci5nZXRJbml0aWFsSG9zdENsYXNzZXMoKS5jb25jYXQoW1xyXG4gICAgICAgICAgICAnc21lLWFycmFuZ2UtbGluZS1jbGFtcCdcclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENsYW1wcyB0aGUgdGV4dCBvZiBhIG5vZGUgYnkgZG9pbmcgYSBsYXN0IGNoaWxkIGZpcnN0IHByb2Nlc3Mgb2ZcclxuICAgICAqIGVsaW1pbmF0aW5nIHRleHQgdW50aWwgdGhlIGhvc3QgZWxlbWVudCBmaXRzIGluIHRoZSBjbGFtcCBoZWlnaHQuXHJcbiAgICAgKiB3aGlsZSB0aGlzIG1ldGhvZCBzaG91bGQgc3VwcG9ydCBIVE1MIGNvbnRlbnQsIG91ciBpbnB1dCB0byB0aGlzIGRpcmVjdGl2ZSBpcyBhIHN0cmluZyBmb3Igbm93LlxyXG4gICAgICogQHBhcmFtIG5vZGUgVGhlIG5vZGUgdG8gY2xhbXBcclxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIG5vZGUgd2FzIHN1Y2Nlc3NmdWxseSBjbGFtcGVkXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgY2xhbXAobm9kZTogTm9kZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vIFByb2Nlc3MgdGhlIGNoaWxkcmVuIG9mIHRoZSBub2RlIHdlIHdhbnQgdG8gY2xhbXAsIHN0YXJ0aW5nIHdpdGggdGhlIGxhc3Qgbm9kZVxyXG4gICAgICAgIGZvciAobGV0IGkgPSBub2RlLmNoaWxkTm9kZXMubGVuZ3RoIC0gMTsgaSA+IC0xOyBpLS0pIHtcclxuICAgICAgICAgICAgY29uc3QgY2hpbGQgPSBub2RlLmNoaWxkTm9kZXNbaV07XHJcblxyXG4gICAgICAgICAgICAvLyBXZSBvbmx5IGNhcmUgYWJvdXQgdGV4dCBhbmQgZWxlbWVudCBub2Rlcy5cclxuICAgICAgICAgICAgbGV0IGlzQ2xhbXBlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICBpZiAoY2hpbGQubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBkaXZlIGludG8gZWxlbWVudCBub2RlcyByZWN1cnNpdmVseVxyXG4gICAgICAgICAgICAgICAgaXNDbGFtcGVkID0gdGhpcy5jbGFtcChjaGlsZCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hpbGQubm9kZVR5cGUgPT09IE5vZGUuVEVYVF9OT0RFKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgV2hlbiB3ZSBmaW5kIGEgdGV4dCBub2RlLCB0cnkgY2xhbXBpbmcgaXQuXHJcbiAgICAgICAgICAgICAgICBsZXQgdGV4dCA9IG5vZGUudGV4dENvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5hbFRleHQgPSB0ZXh0O1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIGZpcnN0IHRyaW0gd29yZHMgdW50aWwgdGhlIGNvbnRlbnQgZml0c1xyXG4gICAgICAgICAgICAgICAgd2hpbGUgKHRleHQubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSB0aGUgbGFzdCB3b3JkIGZyb20gdGhlIHRleHRcclxuICAgICAgICAgICAgICAgICAgICBub2RlLnRleHRDb250ZW50ID0gdGhpcy50cmltTGFzdFdvcmQodGV4dCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlbmRlcmVkTGluZXMgPCB0aGlzLmxpbmVDb3VudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSB3ZW50IHRvbyBmYXIgdGhlcmUgbXVzdCBiZSBhIGJpZyB3b3JkIGhlcmUsIGFkZCBiYWNrIHRoZSBsYXN0IHdvcmQgYW5kIGJyZWFrXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUudGV4dENvbnRlbnQgPSB0ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuYnJlYWtXb3Jkcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRCcmVha1dvcmRzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gb3JpZ2luYWxUZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyBTdG9wIGlmIHdlIGFyZSBkb3duIHRvIG9uZSB3b3JkICh0cmltIGRpZG4ndCBjaGFuZ2UgdGV4dCkgb3Igd2UgYXJlIHNob3J0IGVub3VnaCB0byBub3QgbmVlZCBjbGFtcGluZ1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChub2RlLnRleHRDb250ZW50ID09PSB0ZXh0IHx8ICF0aGlzLm5lZWRzQ2xhbXBpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRleHQgYW5kIG5vZGUgY29udGVudCBhcmUgdGhlIHNhbWUgKGluIHRoZSBjYXNlIGNsYW1waW5nIGlzIG5vIGxvbmdlciBuZWVkZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgPSBub2RlLnRleHRDb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdlIHN0aWxsIGhhdmUgbW9yZSB3b3JkcyB0byB0cmltXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dCA9IG5vZGUudGV4dENvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gbm93IHRoYXQgd2UgYXJlIHRyaW1tZWQgZG93biBvbiB3b3JkcywgcmVtb3ZlIGNoYXJhY3RlcnMgdW50aWwgdGhlIHRleHQgZml0cyB3aXRoIHRoZSBlbGxpcHNpc1xyXG4gICAgICAgICAgICAgICAgd2hpbGUgKHRleHQubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFRyaW0gb2ZmIG9uZSB0cmFpbGluZyBjaGFyYWN0ZXIgYW5kIGFueSB0cmFpbGluZyB3aGl0ZXNwYWNlLlxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQgPSA8c3RyaW5nPig8YW55PnRleHQuc3Vic3RyaW5nKDAsIHRleHQubGVuZ3RoIC0gMSkpLnRyaW1SaWdodCgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyBzZXQgdGhlIG5vZGUgY29udGVudCB0byBvdXIgdGV4dCwgcGx1cyBhIHVuaWNvZGUgZWxsaXBzZXNcclxuICAgICAgICAgICAgICAgICAgICBub2RlLnRleHRDb250ZW50ID0gYCR7dGV4dH0ke1VuaWNvZGUuSG9yaXpvbnRhbEVsbGlwc2lzfWA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFN0b3AgaWYgbm8gbW9yZSBjbGFtcGluZyBpcyBuZWVkZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLm5lZWRzQ2xhbXBpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2Ugc3VjY2Vzc2Z1bGx5IGNsYW1wZWQgdGhlIHRleHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNDbGFtcGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBXZSBhcmUgZG9uZSBpZiB0aGUgY2xhbXAgaXMgc2F0aXNmaWVkXHJcbiAgICAgICAgICAgIGlmIChpc0NsYW1wZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWYgdGhlIGN1cnJlbnQgbm9kZSBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBjbGFtcCwgcmVtb3ZlIGl0IGFzIGl0IGlzIHRvIGJpZyB0byBmaXQuXHJcbiAgICAgICAgICAgICAgICBub2RlLnJlbW92ZUNoaWxkKGNoaWxkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUcmltcyB0aGUgbGFzdCB3b3JkIGZyb20gdGhlIHN0cmluZywgb3IgcmV0dXJucyB0aGUgb3JpaW5hbCBzdHJpbmcgaWYgdGhlcmUgaXMgb25seSBvbmUgd29yZFxyXG4gICAgICogQHBhcmFtIHRleHQgdGhlIHRleHQgdG8gdHJpbVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHRyaW1MYXN0V29yZCh0ZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBsYXN0U3BhY2UgPSB0ZXh0Lmxhc3RJbmRleE9mKCcgJyk7XHJcbiAgICAgICAgaWYgKGxhc3RTcGFjZSA9PT0gLTEpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRleHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0ZXh0LnN1YnN0cmluZygwLCBsYXN0U3BhY2UpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhbXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvZGlyZWN0aXZlcy9jbGFtcC9jbGFtcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFFekUsTUFBTSxDQUFOLElBQVksT0FFWDtBQUZELFdBQVksT0FBTztJQUNmLHdDQUE2QixDQUFBO0FBQ2pDLENBQUMsRUFGVyxPQUFPLEtBQVAsT0FBTyxRQUVsQjtBQVNELE1BQU0sYUFBYSxHQUFHLDRCQUE0QixDQUFDO0FBRW5EOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUtILE1BQU0sT0FBTyxjQUFlLFNBQVEsaUJBQWlCO0lBcUVqRDs7O09BR0c7SUFDSCxZQUFZLFFBQWtCO1FBQzFCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQXhEcEI7O1dBRUc7UUFFSSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7SUFxRGxELENBQUM7SUF6RUQ7O09BRUc7SUFDSCxJQUFjLGFBQWE7UUFDdkIsT0FBTyxnQkFBZ0IsQ0FBQztJQUM1QixDQUFDO0lBaUJEOztPQUVHO0lBQ0gsSUFBWSxTQUFTO1FBQ2pCLG9CQUFvQjtRQUNwQixJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRW5GLGdDQUFnQztRQUNoQyxJQUFJLFNBQVMsS0FBSyxNQUFNLEVBQUU7WUFDdEIsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQzdFO1FBRUQsMENBQTBDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBWSxXQUFXO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVksVUFBVTtRQUNsQixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBWSxhQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQVksYUFBYTtRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFZLFVBQVU7UUFDbEIsT0FBcUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFjLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBVUQ7O09BRUc7SUFFSSxRQUFRO1FBQ1gsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDOUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ2xCLDhCQUE4QjtZQUM5QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUM1QjtRQUVELDZEQUE2RDtRQUM3RCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzlDO0lBQ0wsQ0FBQztJQUVPLGFBQWE7UUFDakIsTUFBTSxPQUFPLEdBQWlCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYyxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM1QyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsTUFBTSxPQUFPLEdBQWlCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYyxDQUFDO1FBQzlELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDM0MsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDM0M7SUFDTCxDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDL0QsNEZBQTRGO1FBQzVGLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNPLHFCQUFxQjtRQUMzQixPQUFPLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUN4Qyx3QkFBd0I7U0FDM0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLEtBQUssQ0FBQyxJQUFVO1FBQ3BCLGlGQUFpRjtRQUNqRixLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVqQyw2Q0FBNkM7WUFDN0MsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN0QyxzQ0FBc0M7Z0JBQ3RDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2pDO2lCQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUMxQyw4Q0FBOEM7Z0JBQzlDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQzVCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQztnQkFFMUIsMENBQTBDO2dCQUMxQyxPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNwQixxQ0FBcUM7b0JBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFM0MsSUFBSSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUU7d0JBQ3JDLGtGQUFrRjt3QkFDbEYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7d0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFOzRCQUNsQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7NEJBQ3JCLElBQUksR0FBRyxZQUFZLENBQUM7NEJBQ3BCLFNBQVM7eUJBQ1o7d0JBQ0QsTUFBTTtxQkFDVDtvQkFFRCx3R0FBd0c7b0JBQ3hHLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO3dCQUNsRCwwRkFBMEY7d0JBQzFGLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO3dCQUN4QixNQUFNO3FCQUNUO29CQUVELG1DQUFtQztvQkFDbkMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7aUJBQzNCO2dCQUVELGlHQUFpRztnQkFDakcsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDcEIsK0RBQStEO29CQUMvRCxJQUFJLEdBQWlCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBRXJFLDREQUE0RDtvQkFDNUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksR0FBRyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFFMUQsc0NBQXNDO29CQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTt3QkFDckIsbUNBQW1DO3dCQUNuQyxTQUFTLEdBQUcsSUFBSSxDQUFDO3dCQUNqQixNQUFNO3FCQUNUO2lCQUNKO2FBQ0o7WUFFRCx3Q0FBd0M7WUFDeEMsSUFBSSxTQUFTLEVBQUU7Z0JBQ1gsT0FBTyxJQUFJLENBQUM7YUFDZjtpQkFBTTtnQkFDSCxvRkFBb0Y7Z0JBQ3BGLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0I7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7O09BR0c7SUFDSyxZQUFZLENBQUMsSUFBWTtRQUM3QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OytGQWhPUSxjQUFjO3NFQUFkLGNBQWM7NkZBQWQsY0FBVTs7dUZBQVYsY0FBYztjQUgxQixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLFlBQVk7YUFDekI7MkRBWW1CLFFBQVE7a0JBQXZCLEtBQUs7WUFLVSxhQUFhO2tCQUE1QixLQUFLO1lBTUMsT0FBTztrQkFEYixNQUFNO1lBNERBLFFBQVE7a0JBRGQsWUFBWTttQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb3JlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL2NvbW1vbi9iYXNlLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgZW51bSBVbmljb2RlIHtcclxuICAgIEhvcml6b250YWxFbGxpcHNpcyA9ICdcXHUyMDI2J1xyXG59XHJcblxyXG4vKipcclxuICogRGVzY3JpYmVzIHRoZSBjbGFtcGVkIGV2ZW50IG9mIHRoZSBDbGFtcERpcmVjdGl2ZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDbGFtcGVkRXZlbnQge1xyXG4gICAgY2xhbXBlZDogYm9vbGVhbjtcclxufVxyXG5cclxuY29uc3QgYnJlYWtBbGxDbGFzcyA9ICdzbWUtYXJyYW5nZS13b3JkLWJyZWFrLWFsbCc7XHJcblxyXG4vKipcclxuICpcclxuICogQHNtZURvYyB7QGxhYmVsIENsYW1wIEBpZCBzbWUtY2xhbXAtZGlyZWN0aXZlfVxyXG4gKlxyXG4gKiBAb3ZlcnZpZXdcclxuICogQGZpbGUge0BmaWxlcGF0aCAuL2V4YW1wbGVzL2NsYW1wLW92ZXJ2aWV3Lm1kfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIEJhc2ljIFVzYWdlIEBpZCBiYXNpYy11c2FnZX1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9iYXNpYy11c2FnZS5jb21wb25lbnQuaHRtbH1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQudHMgQGZpbGVwYXRoIC4vZXhhbXBsZXMvYmFzaWMtdXNhZ2UuY29tcG9uZW50LnRzfVxyXG4gKlxyXG4gKiBAZXhhbXBsZSB7QGxhYmVsIENsYW1wIHdpdGggYXV0byBsaW5lcyBAaWQgYXV0by1saW5lc31cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9hdXRvLWxpbmVzLWNsYW1wLmNvbXBvbmVudC5odG1sfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9hdXRvLWxpbmVzLWNsYW1wLmNvbXBvbmVudC50c31cclxuICpcclxuICovXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3NtZUNsYW1wXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIENsYW1wRGlyZWN0aXZlIGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNvdXJjZSBuYW1lIHRvIHVzZSBmb3IgbG9nZ2luZ1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdDbGFtcERpcmVjdGl2ZSc7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBjb250ZW50IHRvIGNsYW1wLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgc21lQ2xhbXA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbnVtYmVyIG9mIGxpbmVzIHRvIGNsYW1wLCBvciBhdXRvIHRvIGNsYW1wIHdoYXRldmVyIHdpbGwgZml0IGluIHRoZSBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBzbWVDbGFtcExpbmVzOiBudW1iZXIgfCAnYXV0byc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudCB0aGF0IG91dHB1dHMgYSB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGNvbnRlbnQgaXMgY2xhbXBlZCBvciBub3RcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgY2xhbXBlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q2xhbXBlZEV2ZW50PigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG51bWJlciBvZiBsaW5lcyB0byBjbGFtcCB0b1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldCBsaW5lQ291bnQoKTogbnVtYmVyIHtcclxuICAgICAgICAvLyBnZXQgdGhlIGxpbmVDb3VudFxyXG4gICAgICAgIGxldCBsaW5lQ291bnQgPSBNc2Z0U21lLmlzTnVtYmVyKHRoaXMuc21lQ2xhbXBMaW5lcykgPyB0aGlzLnNtZUNsYW1wTGluZXMgOiAnYXV0byc7XHJcblxyXG4gICAgICAgIC8vIGNhbGMgbGluZSBjb3VudCBpZiBpdCBpcyBhdXRvXHJcbiAgICAgICAgaWYgKGxpbmVDb3VudCA9PT0gJ2F1dG8nKSB7XHJcbiAgICAgICAgICAgIGxpbmVDb3VudCA9IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgLyB0aGlzLmxpbmVIZWlnaHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBtYWtlIHN1cmUgbGluZSBjb3VudCBpcyBhdCBsZWFzdCAxIGxpbmVcclxuICAgICAgICByZXR1cm4gTWF0aC5tYXgobGluZUNvdW50LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBoZWlnaHQgdGhhdCB0aGUgY2xhbXAgc2hvdWxkIGJlIGNvbnRhaW5lZCB3aXRoaW5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZXQgY2xhbXBIZWlnaHQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5saW5lQ291bnQgKiB0aGlzLmxpbmVIZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbGluZSBoZWlnaHQgb2YgdGhpcyBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0IGxpbmVIZWlnaHQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50KS5saW5lSGVpZ2h0LCAxMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgdGhhdCBjb250ZW50IG92ZXJmbG93cyB0aGUgZGVzaXJlZCBoZWlnaHQgb2YgdGhlIGNsYW1wXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0IG5lZWRzQ2xhbXBpbmcoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgPiB0aGlzLmNsYW1wSGVpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IHJlbmRlcmVkTGluZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgLyB0aGlzLmxpbmVIZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXQgYnJlYWtXb3JkcygpIHtcclxuICAgICAgICByZXR1cm4gKDxIVE1MRWxlbWVudD50aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpLmNsYXNzTGlzdC5jb250YWlucyhicmVha0FsbENsYXNzKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIENsYW1wRGlyZWN0aXZlXHJcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgVGhlIGluamVjdG9yIGZvciB0aGUgc21lIGJhc2UgY29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEhvc3QgbGlzdGVuZXIgZm9yIHBhZ2UgcmVzaXplIGV2ZW50LlxyXG4gICAgICovXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcclxuICAgIHB1YmxpYyBvblJlc2l6ZSgpIHtcclxuICAgICAgICAvLyByZXNldCBpbml0aWFsIGNvbnRlbnQgc3RhdGVcclxuICAgICAgICB0aGlzLnJlc2V0Q2xhbXBDb250ZW50KCk7XHJcbiAgICAgICAgaWYgKHRoaXMubmVlZHNDbGFtcGluZykge1xyXG4gICAgICAgICAgICB0aGlzLmNsYW1wKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wbGVtZW50YXRpb24gb2YgYW5ndWxhciBPbkNoYW5nZXMgaW50ZXJmYWNlXHJcbiAgICAgKiBPbiBldmVyeSBpbnB1dCBjaGFuZ2UsIHdlIHJlY2FsY3VsYXRlIHRoZSBjbGFtcC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBpZiAoY2hhbmdlcy5zbWVDbGFtcCkge1xyXG4gICAgICAgICAgICAvLyByZXNldCBpbml0aWFsIGNvbnRlbnQgc3RhdGVcclxuICAgICAgICAgICAgdGhpcy5yZXNldENsYW1wQ29udGVudCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gaWYgdGhlIGlucHV0IGNoYW5nZXMgcmVxdWlyZSBjbGFtcGluZyBhZ2FpbiwgdGhlbiByZS1jbGFtcFxyXG4gICAgICAgIGlmICh0aGlzLm5lZWRzQ2xhbXBpbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5jbGFtcCh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldEJyZWFrV29yZHMoKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudCA9ICg8SFRNTEVsZW1lbnQ+dGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgICBpZiAoIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGJyZWFrQWxsQ2xhc3MpKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChicmVha0FsbENsYXNzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZW1vdmVCcmVha1dvcmRzKCkge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSAoPEhUTUxFbGVtZW50PnRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGJyZWFrQWxsQ2xhc3MpKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShicmVha0FsbENsYXNzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZXNldENsYW1wQ29udGVudCgpIHtcclxuICAgICAgICAvLyByZXNldCBpbml0aWFsIGNvbnRlbnQgc3RhdGVcclxuICAgICAgICB0aGlzLnJlbW92ZUJyZWFrV29yZHMoKTtcclxuICAgICAgICB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5zbWVDbGFtcCB8fCAnJztcclxuICAgICAgICAvLyB3aGVuZXZlciB0aGlzIGNoYW5nZXMsIHdlIG5lZWQgdG8gbWVhc3VyZSBhbmQgb3V0cHV0IHdoZXRoZXIgdGhlIGNvbnRlbnQgd2lsbCBiZSBjbGFtcGVkLlxyXG4gICAgICAgIHRoaXMuY2xhbXBlZC5lbWl0KHsgY2xhbXBlZDogdGhpcy5uZWVkc0NsYW1waW5nIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgaW5pdGlhbCBob3N0IGNsYXNzZXMgdG8gYmUgYXBwbGllZCB0byB0aGlzIGVsZW1lbnRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1hcnJhbmdlLWxpbmUtY2xhbXAnXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDbGFtcHMgdGhlIHRleHQgb2YgYSBub2RlIGJ5IGRvaW5nIGEgbGFzdCBjaGlsZCBmaXJzdCBwcm9jZXNzIG9mXHJcbiAgICAgKiBlbGltaW5hdGluZyB0ZXh0IHVudGlsIHRoZSBob3N0IGVsZW1lbnQgZml0cyBpbiB0aGUgY2xhbXAgaGVpZ2h0LlxyXG4gICAgICogd2hpbGUgdGhpcyBtZXRob2Qgc2hvdWxkIHN1cHBvcnQgSFRNTCBjb250ZW50LCBvdXIgaW5wdXQgdG8gdGhpcyBkaXJlY3RpdmUgaXMgYSBzdHJpbmcgZm9yIG5vdy5cclxuICAgICAqIEBwYXJhbSBub2RlIFRoZSBub2RlIHRvIGNsYW1wXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBub2RlIHdhcyBzdWNjZXNzZnVsbHkgY2xhbXBlZFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNsYW1wKG5vZGU6IE5vZGUpOiBib29sZWFuIHtcclxuICAgICAgICAvLyBQcm9jZXNzIHRoZSBjaGlsZHJlbiBvZiB0aGUgbm9kZSB3ZSB3YW50IHRvIGNsYW1wLCBzdGFydGluZyB3aXRoIHRoZSBsYXN0IG5vZGVcclxuICAgICAgICBmb3IgKGxldCBpID0gbm9kZS5jaGlsZE5vZGVzLmxlbmd0aCAtIDE7IGkgPiAtMTsgaS0tKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkID0gbm9kZS5jaGlsZE5vZGVzW2ldO1xyXG5cclxuICAgICAgICAgICAgLy8gV2Ugb25seSBjYXJlIGFib3V0IHRleHQgYW5kIGVsZW1lbnQgbm9kZXMuXHJcbiAgICAgICAgICAgIGxldCBpc0NsYW1wZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKGNoaWxkLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSkge1xyXG4gICAgICAgICAgICAgICAgLy8gZGl2ZSBpbnRvIGVsZW1lbnQgbm9kZXMgcmVjdXJzaXZlbHlcclxuICAgICAgICAgICAgICAgIGlzQ2xhbXBlZCA9IHRoaXMuY2xhbXAoY2hpbGQpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxkLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkge1xyXG4gICAgICAgICAgICAgICAgLy8gIFdoZW4gd2UgZmluZCBhIHRleHQgbm9kZSwgdHJ5IGNsYW1waW5nIGl0LlxyXG4gICAgICAgICAgICAgICAgbGV0IHRleHQgPSBub2RlLnRleHRDb250ZW50O1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luYWxUZXh0ID0gdGV4dDtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBmaXJzdCB0cmltIHdvcmRzIHVudGlsIHRoZSBjb250ZW50IGZpdHNcclxuICAgICAgICAgICAgICAgIHdoaWxlICh0ZXh0Lmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgdGhlIGxhc3Qgd29yZCBmcm9tIHRoZSB0ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IHRoaXMudHJpbUxhc3RXb3JkKHRleHQpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5yZW5kZXJlZExpbmVzIDwgdGhpcy5saW5lQ291bnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2Ugd2VudCB0b28gZmFyIHRoZXJlIG11c3QgYmUgYSBiaWcgd29yZCBoZXJlLCBhZGQgYmFjayB0aGUgbGFzdCB3b3JkIGFuZCBicmVha1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlLnRleHRDb250ZW50ID0gdGV4dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmJyZWFrV29yZHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QnJlYWtXb3JkcygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA9IG9yaWdpbmFsVGV4dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU3RvcCBpZiB3ZSBhcmUgZG93biB0byBvbmUgd29yZCAodHJpbSBkaWRuJ3QgY2hhbmdlIHRleHQpIG9yIHdlIGFyZSBzaG9ydCBlbm91Z2ggdG8gbm90IG5lZWQgY2xhbXBpbmdcclxuICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS50ZXh0Q29udGVudCA9PT0gdGV4dCB8fCAhdGhpcy5uZWVkc0NsYW1waW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB0ZXh0IGFuZCBub2RlIGNvbnRlbnQgYXJlIHRoZSBzYW1lIChpbiB0aGUgY2FzZSBjbGFtcGluZyBpcyBubyBsb25nZXIgbmVlZGVkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gbm9kZS50ZXh0Q29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyB3ZSBzdGlsbCBoYXZlIG1vcmUgd29yZHMgdG8gdHJpbVxyXG4gICAgICAgICAgICAgICAgICAgIHRleHQgPSBub2RlLnRleHRDb250ZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8vIG5vdyB0aGF0IHdlIGFyZSB0cmltbWVkIGRvd24gb24gd29yZHMsIHJlbW92ZSBjaGFyYWN0ZXJzIHVudGlsIHRoZSB0ZXh0IGZpdHMgd2l0aCB0aGUgZWxsaXBzaXNcclxuICAgICAgICAgICAgICAgIHdoaWxlICh0ZXh0Lmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBUcmltIG9mZiBvbmUgdHJhaWxpbmcgY2hhcmFjdGVyIGFuZCBhbnkgdHJhaWxpbmcgd2hpdGVzcGFjZS5cclxuICAgICAgICAgICAgICAgICAgICB0ZXh0ID0gPHN0cmluZz4oPGFueT50ZXh0LnN1YnN0cmluZygwLCB0ZXh0Lmxlbmd0aCAtIDEpKS50cmltUmlnaHQoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gc2V0IHRoZSBub2RlIGNvbnRlbnQgdG8gb3VyIHRleHQsIHBsdXMgYSB1bmljb2RlIGVsbGlwc2VzXHJcbiAgICAgICAgICAgICAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IGAke3RleHR9JHtVbmljb2RlLkhvcml6b250YWxFbGxpcHNpc31gO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyBTdG9wIGlmIG5vIG1vcmUgY2xhbXBpbmcgaXMgbmVlZGVkLlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5uZWVkc0NsYW1waW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIHN1Y2Nlc3NmdWxseSBjbGFtcGVkIHRoZSB0ZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQ2xhbXBlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gV2UgYXJlIGRvbmUgaWYgdGhlIGNsYW1wIGlzIHNhdGlzZmllZFxyXG4gICAgICAgICAgICBpZiAoaXNDbGFtcGVkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGlmIHRoZSBjdXJyZW50IG5vZGUgZG9lcyBub3Qgc2F0aXNmeSB0aGUgY2xhbXAsIHJlbW92ZSBpdCBhcyBpdCBpcyB0byBiaWcgdG8gZml0LlxyXG4gICAgICAgICAgICAgICAgbm9kZS5yZW1vdmVDaGlsZChjaGlsZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVHJpbXMgdGhlIGxhc3Qgd29yZCBmcm9tIHRoZSBzdHJpbmcsIG9yIHJldHVybnMgdGhlIG9yaWluYWwgc3RyaW5nIGlmIHRoZXJlIGlzIG9ubHkgb25lIHdvcmRcclxuICAgICAqIEBwYXJhbSB0ZXh0IHRoZSB0ZXh0IHRvIHRyaW1cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB0cmltTGFzdFdvcmQodGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgbGFzdFNwYWNlID0gdGV4dC5sYXN0SW5kZXhPZignICcpO1xyXG4gICAgICAgIGlmIChsYXN0U3BhY2UgPT09IC0xKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0ZXh0O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGV4dC5zdWJzdHJpbmcoMCwgbGFzdFNwYWNlKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -6,7 +6,7 @@ export class DiscardDirective {
|
|
|
6
6
|
this.strings = MsftSme.getStrings();
|
|
7
7
|
this.smeDiscardId = `sme-discard-id-${MsftSme.newGuid()}`;
|
|
8
8
|
this.isAlerting = false;
|
|
9
|
-
this.alertElement = this.createAlertElement(this.strings.MsftSmeShell.Angular.Common.
|
|
9
|
+
this.alertElement = this.createAlertElement(this.strings.MsftSmeShell.Angular.Common.discarded);
|
|
10
10
|
}
|
|
11
11
|
ngOnInit() {
|
|
12
12
|
if (this.host && this.host.nativeElement) {
|
|
@@ -67,4 +67,4 @@ export class DiscardDirective {
|
|
|
67
67
|
selector: '[smeDiscard]'
|
|
68
68
|
}]
|
|
69
69
|
}], function () { return [{ type: i0.ElementRef }]; }, null); })();
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY2FyZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9kaXJlY3RpdmVzL2Rpc2NhcmQvZGlzY2FyZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQXFCLE1BQU0sZUFBZSxDQUFDOztBQU16RSxNQUFNLE9BQU8sZ0JBQWdCO0lBT3pCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFONUIsWUFBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLEVBQVcsQ0FBQztRQUV4QyxpQkFBWSxHQUFHLGtCQUFrQixPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUVyRCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBR3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUM3QyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUN6QixJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxTQUFTLEVBQUU7d0JBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFOzRCQUM5QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzt5QkFDN0I7NkJBQU07NEJBQ0g7Ozs7OEJBSUU7NEJBQ0YsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dDQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7NkJBQ3pCOzRCQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO3lCQUMxQjtxQkFDSjtnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxNQUFNLEdBQUcsRUFBRSxlQUFlLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN2RixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxRDtJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDaEQ7SUFDTCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBYTtRQUNwQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELFlBQVksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNwQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMzQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hELFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckQsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzRCxJQUFJLE9BQU8sRUFBRTtZQUNULFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQzs7bUdBL0RRLGdCQUFnQjt3RUFBaEIsZ0JBQWdCO3VGQUFoQixnQkFBZ0I7Y0FINUIsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxjQUFjO2FBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdHJpbmdzIH0gZnJvbSAnLi4vLi4vZ2VuZXJhdGVkL3N0cmluZ3MnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tzbWVEaXNjYXJkXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIERpc2NhcmREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIHN0cmluZ3MgPSBNc2Z0U21lLmdldFN0cmluZ3M8U3RyaW5ncz4oKTtcclxuICAgIHByaXZhdGUgYWxlcnRFbGVtZW50OiBIVE1MUGFyYWdyYXBoRWxlbWVudDtcclxuICAgIHByaXZhdGUgc21lRGlzY2FyZElkID0gYHNtZS1kaXNjYXJkLWlkLSR7TXNmdFNtZS5uZXdHdWlkKCl9YDtcclxuICAgIHByaXZhdGUgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XHJcbiAgICBwcml2YXRlIGlzQWxlcnRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhvc3Q6IEVsZW1lbnRSZWYpIHtcclxuICAgICAgICB0aGlzLmFsZXJ0RWxlbWVudCA9IHRoaXMuY3JlYXRlQWxlcnRFbGVtZW50KHRoaXMuc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Db21tb24uZGlzY2FyZGVkKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaG9zdCAmJiB0aGlzLmhvc3QubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIobXV0YXRpb25zID0+IHtcclxuICAgICAgICAgICAgICAgIG11dGF0aW9ucy5mb3JFYWNoKG11dGF0aW9uID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAobXV0YXRpb24udGFyZ2V0ICYmIG11dGF0aW9uLnRhcmdldFsnZGlzYWJsZWQnXSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbXV0YXRpb24udGFyZ2V0WydkaXNhYmxlZCddKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUFsZXJ0RWxlbWVudCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBpbml0aWFsbHkgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZSBpcyB0cmlnZ2VyZWQgd2hlbiBjb21wb25lbnQgaW5pdGlhbGl6ZXMsIHNraXAgYWxlcnRpbmcgdGhlIHVzZXIgdW50aWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHRoZSBuZXh0IHRpbWUgdGhlIHVzZXIgcHJlc3NlcyB0aGUgYnV0dG9uLiBHb2luZyBmb3J3YXJkLCBUaGUgZGlzYWJsZWQgYXR0cmlidXRlIHdpbGwgb25seVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICogYmUgdHJpZ2dlcmVkIGlmIHRoZSBidXR0b24gc3RhdGUgY2hhbmdlcy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0FsZXJ0aW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydERpc2NhcmRlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0FsZXJ0aW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgY29uc3QgY29uZmlnID0geyBhdHRyaWJ1dGVGaWx0ZXI6IFsnZGlzYWJsZWQnXSwgY2hpbGRMaXN0OiB0cnVlLCBjaGFyYWN0ZXJEYXRhOiB0cnVlIH07XHJcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmhvc3QubmF0aXZlRWxlbWVudCwgY29uZmlnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm9ic2VydmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFsZXJ0RGlzY2FyZGVkKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmFsZXJ0RWxlbWVudCkge1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuYWxlcnRFbGVtZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVBbGVydEVsZW1lbnQodmFsdWU6IHN0cmluZyk6IEhUTUxQYXJhZ3JhcGhFbGVtZW50IHtcclxuICAgICAgICBjb25zdCBhbGVydEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7XHJcbiAgICAgICAgYWxlcnRFbGVtZW50LmlkID0gdGhpcy5zbWVEaXNjYXJkSWQ7XHJcbiAgICAgICAgYWxlcnRFbGVtZW50LnNldEF0dHJpYnV0ZSgncm9sZScsICdhbGVydCcpO1xyXG4gICAgICAgIGFsZXJ0RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdzbWUtc2NyZWVuLXJlYWRlcicpO1xyXG4gICAgICAgIGFsZXJ0RWxlbWVudC5pbnNlcnRBZGphY2VudFRleHQoJ2FmdGVyYmVnaW4nLCB2YWx1ZSk7XHJcbiAgICAgICAgcmV0dXJuIGFsZXJ0RWxlbWVudDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbW92ZUFsZXJ0RWxlbWVudCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5zbWVEaXNjYXJkSWQpO1xyXG4gICAgICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';
|
|
2
|
-
|
|
3
|
-
* **HACK** @see https://github.com/jvandemo/generator-angular2-library/issues/221
|
|
4
|
-
*/
|
|
5
|
-
import * as marked_ from 'marked';
|
|
2
|
+
import { marked } from 'marked';
|
|
6
3
|
import * as i0 from "@angular/core";
|
|
7
|
-
const marked = marked_;
|
|
8
4
|
/**
|
|
9
5
|
*
|
|
10
6
|
* @smeDoc {@label Markdown @id sme-markdown-directive}
|
|
@@ -21,7 +17,6 @@ export class MarkdownDirective {
|
|
|
21
17
|
constructor(host, renderer) {
|
|
22
18
|
this.host = host;
|
|
23
19
|
this.renderer = renderer;
|
|
24
|
-
this.smeMarkdownUseInlineLexer = false;
|
|
25
20
|
}
|
|
26
21
|
get content() {
|
|
27
22
|
return this.renderedContent;
|
|
@@ -35,22 +30,16 @@ export class MarkdownDirective {
|
|
|
35
30
|
}
|
|
36
31
|
}
|
|
37
32
|
render() {
|
|
38
|
-
|
|
33
|
+
this.renderedContent = '';
|
|
39
34
|
if (marked && !MsftSme.isNullOrWhiteSpace(this.smeMarkdown)) {
|
|
40
|
-
|
|
41
|
-
content = marked.inlineLexer(this.smeMarkdown, []);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
content = marked(this.smeMarkdown);
|
|
45
|
-
}
|
|
35
|
+
this.renderedContent = marked.parse(this.smeMarkdown);
|
|
46
36
|
}
|
|
47
|
-
this.renderedContent = content;
|
|
48
37
|
}
|
|
49
38
|
}
|
|
50
39
|
/** @nocollapse */ MarkdownDirective.ɵfac = function MarkdownDirective_Factory(t) { return new (t || MarkdownDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); };
|
|
51
40
|
/** @nocollapse */ MarkdownDirective.ɵdir = i0.ɵɵdefineDirective({ type: MarkdownDirective, selectors: [["", "smeMarkdown", ""]], hostVars: 1, hostBindings: function MarkdownDirective_HostBindings(rf, ctx) { if (rf & 2) {
|
|
52
41
|
i0.ɵɵhostProperty("innerHtml", ctx.content, i0.ɵɵsanitizeHtml);
|
|
53
|
-
} }, inputs: { smeMarkdown: "smeMarkdown"
|
|
42
|
+
} }, inputs: { smeMarkdown: "smeMarkdown" }, features: [i0.ɵɵNgOnChangesFeature] });
|
|
54
43
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MarkdownDirective, [{
|
|
55
44
|
type: Directive,
|
|
56
45
|
args: [{
|
|
@@ -59,10 +48,8 @@ export class MarkdownDirective {
|
|
|
59
48
|
}]
|
|
60
49
|
}], function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, { smeMarkdown: [{
|
|
61
50
|
type: Input
|
|
62
|
-
}], smeMarkdownUseInlineLexer: [{
|
|
63
|
-
type: Input
|
|
64
51
|
}], content: [{
|
|
65
52
|
type: HostBinding,
|
|
66
53
|
args: ['innerHtml']
|
|
67
54
|
}] }); })();
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvZGlyZWN0aXZlcy9tYXJrZG93bi9tYXJrZG93bi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQUVoQzs7Ozs7Ozs7Ozs7R0FXRztBQU1ILE1BQU0sT0FBTyxpQkFBaUI7SUFXMUIsWUFBb0IsSUFBZ0IsRUFBVSxRQUFtQjtRQUE3QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUNqRSxDQUFDO0lBUkQsSUFDVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFPTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUNyQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakI7SUFDTCxDQUFDO0lBRU0sTUFBTTtRQUNULElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0wsQ0FBQzs7cUdBN0JRLGlCQUFpQjt5RUFBakIsaUJBQWlCOzs7dUZBQWpCLGlCQUFpQjtjQUo3QixTQUFTO2VBQUM7Z0JBQ1AsMEZBQTBGO2dCQUMxRixRQUFRLEVBQUUsZUFBZTthQUM1QjtxRkFHVSxXQUFXO2tCQURqQixLQUFLO1lBSUssT0FBTztrQkFEakIsV0FBVzttQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbWFya2VkIH0gZnJvbSAnbWFya2VkJztcclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAc21lRG9jIHtAbGFiZWwgTWFya2Rvd24gQGlkIHNtZS1tYXJrZG93bi1kaXJlY3RpdmV9XHJcbiAqXHJcbiAqIEBvdmVydmlld1xyXG4gKiBAZmlsZSB7QGZpbGVwYXRoIC4vZXhhbXBsZXMvbWFya2Rvd24tb3ZlcnZpZXcubWR9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgQmFzaWMgVXNhZ2UgQGlkIGJhc2ljLXVzYWdlfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2Jhc2ljLXVzYWdlLmNvbXBvbmVudC5odG1sfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9iYXNpYy11c2FnZS5jb21wb25lbnQudHN9XHJcbiAqXHJcbiAqL1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yID4gUmVhc29uOiB0aGlzIGlzIGZvciBhbGwgZGlzYWJsZWQgZWxlbWVudHNcclxuICAgIHNlbGVjdG9yOiAnW3NtZU1hcmtkb3duXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hcmtkb3duRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzbWVNYXJrZG93bjogc3RyaW5nO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnaW5uZXJIdG1sJylcclxuICAgIHB1YmxpYyBnZXQgY29udGVudCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlbmRlcmVkQ29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbmRlcmVkQ29udGVudDogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaG9zdDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQsICdzbWUtZG9jdW1lbnRhdGlvbicpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuc21lTWFya2Rvd24pIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHJlbmRlcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJlbmRlcmVkQ29udGVudCA9ICcnO1xyXG4gICAgICAgIGlmIChtYXJrZWQgJiYgIU1zZnRTbWUuaXNOdWxsT3JXaGl0ZVNwYWNlKHRoaXMuc21lTWFya2Rvd24pKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZWRDb250ZW50ID0gbWFya2VkLnBhcnNlKHRoaXMuc21lTWFya2Rvd24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|