@sd-angular/core 1.0.34 → 1.0.38

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.
Files changed (32) hide show
  1. package/bundles/sd-angular-core-common.umd.js +20 -2
  2. package/bundles/sd-angular-core-common.umd.js.map +1 -1
  3. package/bundles/sd-angular-core-common.umd.min.js +1 -1
  4. package/bundles/sd-angular-core-common.umd.min.js.map +1 -1
  5. package/bundles/sd-angular-core-input-currency.umd.js +45 -44
  6. package/bundles/sd-angular-core-input-currency.umd.js.map +1 -1
  7. package/bundles/sd-angular-core-input-currency.umd.min.js +2 -2
  8. package/bundles/sd-angular-core-input-currency.umd.min.js.map +1 -1
  9. package/bundles/sd-angular-core-notify.umd.js +10 -9
  10. package/bundles/sd-angular-core-notify.umd.js.map +1 -1
  11. package/bundles/sd-angular-core-notify.umd.min.js +2 -2
  12. package/bundles/sd-angular-core-notify.umd.min.js.map +1 -1
  13. package/common/sd-angular-core-common.metadata.json +1 -1
  14. package/common/src/lib/directives/sd-suffix.directive.d.ts +5 -0
  15. package/common/src/public-api.d.ts +1 -0
  16. package/esm2015/common/src/lib/common.module.js +6 -3
  17. package/esm2015/common/src/lib/directives/sd-suffix.directive.js +15 -0
  18. package/esm2015/common/src/public-api.js +2 -1
  19. package/esm2015/input-currency/src/lib/input-currency.component.js +44 -42
  20. package/esm2015/input-currency/src/lib/input-currency.module.js +3 -1
  21. package/esm2015/notify/src/lib/notify.service.js +10 -8
  22. package/fesm2015/sd-angular-core-common.js +19 -3
  23. package/fesm2015/sd-angular-core-common.js.map +1 -1
  24. package/fesm2015/sd-angular-core-input-currency.js +44 -43
  25. package/fesm2015/sd-angular-core-input-currency.js.map +1 -1
  26. package/fesm2015/sd-angular-core-notify.js +9 -7
  27. package/fesm2015/sd-angular-core-notify.js.map +1 -1
  28. package/input-currency/sd-angular-core-input-currency.metadata.json +1 -1
  29. package/input-currency/src/lib/input-currency.component.d.ts +6 -6
  30. package/notify/sd-angular-core-notify.metadata.json +1 -1
  31. package/package.json +1 -1
  32. package/{sd-angular-core-1.0.34.tgz → sd-angular-core-1.0.38.tgz} +0 -0
@@ -0,0 +1,15 @@
1
+ import { Directive, TemplateRef } from '@angular/core';
2
+ export class SdSuffixDirective {
3
+ constructor(templateRef) {
4
+ this.templateRef = templateRef;
5
+ }
6
+ }
7
+ SdSuffixDirective.decorators = [
8
+ { type: Directive, args: [{
9
+ selector: '[sdSuffix]'
10
+ },] }
11
+ ];
12
+ SdSuffixDirective.ctorParameters = () => [
13
+ { type: TemplateRef }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Qtc3VmZml4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2NvbW1vbi8iLCJzb3VyY2VzIjpbInNyYy9saWIvZGlyZWN0aXZlcy9zZC1zdWZmaXguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3ZELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBbUIsV0FBNkI7UUFBN0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBQUksQ0FBQzs7O1lBSnRELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTthQUN2Qjs7O1lBSm1CLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzZFN1ZmZpeF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFN1ZmZpeERpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+KSB7IH1cclxufVxyXG4iXX0=
@@ -7,5 +7,6 @@ export * from './lib/services/browser.service';
7
7
  export * from './lib/directives/view-def.directive';
8
8
  export * from './lib/directives/sd-let.directive';
9
9
  export * from './lib/directives/sd-scroll.directive';
10
+ export * from './lib/directives/sd-suffix.directive';
10
11
  export * from './lib/common.module';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2NvbW1vbi8iLCJzb3VyY2VzIjpbInNyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sK0JBQStCLENBQUM7QUFDdkMsT0FBTyw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sZ0NBQWdDLENBQUM7QUFFeEMsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4vbGliL3R5cGluZ3MvYXJyYXkuZXh0ZW5zaW9uJztcclxuaW1wb3J0ICcuL2xpYi90eXBpbmdzL2RhdGUuZXh0ZW5zaW9uJztcclxuaW1wb3J0ICcuL2xpYi90eXBpbmdzL251bWJlci5leHRlbnNpb24nO1xyXG5pbXBvcnQgJy4vbGliL3R5cGluZ3Mvc3RyaW5nLmV4dGVuc2lvbic7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2QtZm9ybS1jb250cm9sJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Jyb3dzZXIuc2VydmljZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3ZpZXctZGVmLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvc2QtbGV0LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvc2Qtc2Nyb2xsLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24ubW9kdWxlJztcclxuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2NvbW1vbi8iLCJzb3VyY2VzIjpbInNyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sK0JBQStCLENBQUM7QUFDdkMsT0FBTyw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sZ0NBQWdDLENBQUM7QUFFeEMsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsc0NBQXNDLENBQUM7QUFFckQsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9saWIvdHlwaW5ncy9hcnJheS5leHRlbnNpb24nO1xyXG5pbXBvcnQgJy4vbGliL3R5cGluZ3MvZGF0ZS5leHRlbnNpb24nO1xyXG5pbXBvcnQgJy4vbGliL3R5cGluZ3MvbnVtYmVyLmV4dGVuc2lvbic7XHJcbmltcG9ydCAnLi9saWIvdHlwaW5ncy9zdHJpbmcuZXh0ZW5zaW9uJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZC1mb3JtLWNvbnRyb2wnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvYnJvd3Nlci5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdmlldy1kZWYuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zZC1sZXQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zZC1zY3JvbGwuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zZC1zdWZmaXguZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi5tb2R1bGUnO1xyXG4iXX0=
@@ -1,27 +1,28 @@
1
- var _name, _form, _model, _align, _allowNegative, _decimal, _precision, _prefix, _suffix, _thousands, _nullable, _min, _max, _pattern, _validator, _subscription, _updateValidator, _onChange, _customValidator;
1
+ var _name, _form, _model, _align, _allowNegative, _decimal, _precision, _prefix, _suffix, _thousands, _nullable, _min, _max, _pattern, _validator, _subscription, _generateOption, _updateValidator, _onChange, _customValidator;
2
2
  import { __awaiter, __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Component, Input, ViewChild, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';
3
+ import { Component, Input, ViewChild, Output, EventEmitter, ChangeDetectorRef, ContentChild } from '@angular/core';
4
4
  import { NgForm, Validators } from '@angular/forms';
5
5
  import * as uuid from 'uuid';
6
6
  import { debounceTime } from 'rxjs/operators';
7
7
  import { Subscription } from 'rxjs';
8
+ import { CurrencyMaskInputMode } from 'ngx-currency';
8
9
  import { SdFormControl } from '@sd-angular/core/common';
10
+ import { SdSuffixDirective } from '@sd-angular/core/common';
9
11
  export class SdInputCurrency {
10
12
  constructor(ref) {
11
13
  this.ref = ref;
12
14
  _name.set(this, uuid.v4());
13
15
  this.disableErrorMessage = false;
14
16
  _form.set(this, void 0);
15
- this.step = 0.01;
16
17
  _model.set(this, void 0);
17
18
  this.modelChange = new EventEmitter();
18
- _align.set(this, void 0);
19
- _allowNegative.set(this, void 0);
20
- _decimal.set(this, void 0);
21
- _precision.set(this, void 0);
19
+ _align.set(this, 'right');
20
+ _allowNegative.set(this, true);
21
+ _decimal.set(this, ',');
22
+ _precision.set(this, 0);
22
23
  _prefix.set(this, void 0);
23
24
  _suffix.set(this, void 0);
24
- _thousands.set(this, void 0);
25
+ _thousands.set(this, '.');
25
26
  _nullable.set(this, void 0);
26
27
  _min.set(this, void 0);
27
28
  _max.set(this, void 0);
@@ -35,6 +36,21 @@ export class SdInputCurrency {
35
36
  this.formControl = new SdFormControl();
36
37
  _subscription.set(this, new Subscription());
37
38
  this.options = {};
39
+ _generateOption.set(this, () => {
40
+ this.options = {
41
+ align: __classPrivateFieldGet(this, _align) || '',
42
+ allowNegative: __classPrivateFieldGet(this, _allowNegative),
43
+ decimal: __classPrivateFieldGet(this, _decimal),
44
+ precision: __classPrivateFieldGet(this, _precision),
45
+ prefix: __classPrivateFieldGet(this, _prefix) || '',
46
+ suffix: __classPrivateFieldGet(this, _suffix) || '',
47
+ thousands: __classPrivateFieldGet(this, _thousands),
48
+ nullable: __classPrivateFieldGet(this, _nullable),
49
+ min: __classPrivateFieldGet(this, _min),
50
+ max: __classPrivateFieldGet(this, _max),
51
+ inputMode: CurrencyMaskInputMode.NATURAL
52
+ };
53
+ });
38
54
  this.reValidate = () => {
39
55
  this.formControl.updateValueAndValidity();
40
56
  };
@@ -125,44 +141,44 @@ export class SdInputCurrency {
125
141
  }
126
142
  }
127
143
  set align(val) {
128
- __classPrivateFieldSet(this, _align, val);
129
- this.getOptions();
144
+ __classPrivateFieldSet(this, _align, val || 'right');
145
+ __classPrivateFieldGet(this, _generateOption).call(this);
130
146
  }
131
147
  set allowNegative(val) {
132
- __classPrivateFieldSet(this, _allowNegative, val);
133
- this.getOptions();
148
+ __classPrivateFieldSet(this, _allowNegative, (val === '') || val);
149
+ __classPrivateFieldGet(this, _generateOption).call(this);
134
150
  }
135
151
  set decimal(val) {
136
- __classPrivateFieldSet(this, _decimal, val);
137
- this.getOptions();
152
+ __classPrivateFieldSet(this, _decimal, val || ',');
153
+ __classPrivateFieldGet(this, _generateOption).call(this);
138
154
  }
139
155
  set precision(val) {
140
- __classPrivateFieldSet(this, _precision, val);
141
- this.getOptions();
156
+ __classPrivateFieldSet(this, _precision, val || 0);
157
+ __classPrivateFieldGet(this, _generateOption).call(this);
142
158
  }
143
159
  set prefix(val) {
144
160
  __classPrivateFieldSet(this, _prefix, val);
145
- this.getOptions();
161
+ __classPrivateFieldGet(this, _generateOption).call(this);
146
162
  }
147
163
  set suffix(val) {
148
164
  __classPrivateFieldSet(this, _suffix, val);
149
- this.getOptions();
165
+ __classPrivateFieldGet(this, _generateOption).call(this);
150
166
  }
151
167
  set thousands(val) {
152
- __classPrivateFieldSet(this, _thousands, val);
153
- this.getOptions();
168
+ __classPrivateFieldSet(this, _thousands, val || '.');
169
+ __classPrivateFieldGet(this, _generateOption).call(this);
154
170
  }
155
171
  set nullable(val) {
156
172
  __classPrivateFieldSet(this, _nullable, val);
157
- this.getOptions();
173
+ __classPrivateFieldGet(this, _generateOption).call(this);
158
174
  }
159
175
  set min(val) {
160
176
  __classPrivateFieldSet(this, _min, val);
161
- this.getOptions();
177
+ __classPrivateFieldGet(this, _generateOption).call(this);
162
178
  }
163
179
  set max(val) {
164
180
  __classPrivateFieldSet(this, _max, val);
165
- this.getOptions();
181
+ __classPrivateFieldGet(this, _generateOption).call(this);
166
182
  }
167
183
  set required(val) {
168
184
  this.isRequired = (val === '') || val;
@@ -190,21 +206,7 @@ export class SdInputCurrency {
190
206
  __classPrivateFieldGet(this, _subscription).add(this.formControl.touchedChanges.subscribe(() => {
191
207
  this.ref.markForCheck();
192
208
  }));
193
- this.getOptions();
194
- }
195
- getOptions() {
196
- this.options = {
197
- align: __classPrivateFieldGet(this, _align) || '',
198
- allowNegative: __classPrivateFieldGet(this, _allowNegative),
199
- decimal: __classPrivateFieldGet(this, _decimal) || '.',
200
- precision: __classPrivateFieldGet(this, _precision) || 0,
201
- prefix: __classPrivateFieldGet(this, _prefix) || '',
202
- suffix: __classPrivateFieldGet(this, _suffix) || '',
203
- thousands: __classPrivateFieldGet(this, _thousands) || ',',
204
- nullable: __classPrivateFieldGet(this, _nullable),
205
- min: __classPrivateFieldGet(this, _min),
206
- max: __classPrivateFieldGet(this, _max)
207
- };
209
+ __classPrivateFieldGet(this, _generateOption).call(this);
208
210
  }
209
211
  ngAfterViewInit() {
210
212
  var _a;
@@ -218,11 +220,11 @@ export class SdInputCurrency {
218
220
  __classPrivateFieldGet(this, _subscription).unsubscribe();
219
221
  }
220
222
  }
221
- _name = new WeakMap(), _form = new WeakMap(), _model = new WeakMap(), _align = new WeakMap(), _allowNegative = new WeakMap(), _decimal = new WeakMap(), _precision = new WeakMap(), _prefix = new WeakMap(), _suffix = new WeakMap(), _thousands = new WeakMap(), _nullable = new WeakMap(), _min = new WeakMap(), _max = new WeakMap(), _pattern = new WeakMap(), _validator = new WeakMap(), _subscription = new WeakMap(), _updateValidator = new WeakMap(), _onChange = new WeakMap(), _customValidator = new WeakMap();
223
+ _name = new WeakMap(), _form = new WeakMap(), _model = new WeakMap(), _align = new WeakMap(), _allowNegative = new WeakMap(), _decimal = new WeakMap(), _precision = new WeakMap(), _prefix = new WeakMap(), _suffix = new WeakMap(), _thousands = new WeakMap(), _nullable = new WeakMap(), _min = new WeakMap(), _max = new WeakMap(), _pattern = new WeakMap(), _validator = new WeakMap(), _subscription = new WeakMap(), _generateOption = new WeakMap(), _updateValidator = new WeakMap(), _onChange = new WeakMap(), _customValidator = new WeakMap();
222
224
  SdInputCurrency.decorators = [
223
225
  { type: Component, args: [{
224
226
  selector: 'sd-input-currency',
225
- template: "<div class=\"d-flex align-items-center\">\r\n <mat-form-field class=\"sd-md\" [ngClass]=\"{'sd-form-tooltip':tooltip, 'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage}\" appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\r\n <input currencyMask [options]=\"options\" [formControl]=\"formControl\" #control matInput\r\n [placeholder]=\"placeholder || label\" (keyup.enter)=\"onKeyupEnter()\" (focus)=\"onFocus()\" [required]=\"isRequired\"\r\n autocomplete=\"off\">\r\n <mat-error *ngIf=\"formControl.errors?.required && !disableErrorMessage\">\r\n {{'This field is required' | sdTranslate}}\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl.errors?.pattern && !disableErrorMessage\">\r\n {{'Pattern error' | sdTranslate}}\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl.errors?.customValidator && !disableErrorMessage\">\r\n <strong>{{formControl.errors?.customValidator}}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n <div *ngIf=\"tooltip\" class=\"sd-tooltip\">\r\n <mat-icon (click)=\"sdTooltip.toggle()\" [matTooltip]=\"formControl.value | sdInputCurrencyTooltipPipe:tooltip\"\r\n matSuffix #sdTooltip=\"matTooltip\">info</mat-icon>\r\n </div>\r\n</div>",
227
+ template: "<div class=\"d-flex align-items-center\">\r\n <mat-form-field class=\"sd-md\"\r\n [ngClass]=\"{'sd-form-tooltip':tooltip, 'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage}\"\r\n appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\r\n <input currencyMask [options]=\"options\" [formControl]=\"formControl\" #control matInput\r\n [placeholder]=\"placeholder || label\" (keyup.enter)=\"onKeyupEnter()\" (focus)=\"onFocus()\" [required]=\"isRequired\"\r\n autocomplete=\"off\">\r\n <ng-container *ngIf=\"sdSuffix?.templateRef\" matSuffix>\r\n <ng-container *ngTemplateOutlet=\"sdSuffix.templateRef\">\r\n </ng-container>\r\n </ng-container>\r\n <mat-error *ngIf=\"formControl.errors?.required && !disableErrorMessage\">\r\n {{'This field is required' | sdTranslate}}\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl.errors?.pattern && !disableErrorMessage\">\r\n {{'Pattern error' | sdTranslate}}\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl.errors?.customValidator && !disableErrorMessage\">\r\n <strong>{{formControl.errors?.customValidator}}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n <div *ngIf=\"tooltip\" class=\"sd-tooltip\">\r\n <mat-icon (click)=\"sdTooltip.toggle()\" [matTooltip]=\"formControl.value | sdInputCurrencyTooltipPipe:tooltip\"\r\n matSuffix #sdTooltip=\"matTooltip\">info</mat-icon>\r\n </div>\r\n</div>",
226
228
  styles: [":host ::ng-deep .mat-form-field.sd-form-tooltip{width:calc(100% - 30px)}.sd-tooltip{display:inline-block;margin:auto;text-align:center;width:30px}:host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}"]
227
229
  },] }
228
230
  ];
@@ -236,7 +238,6 @@ SdInputCurrency.propDecorators = {
236
238
  form: [{ type: Input }],
237
239
  label: [{ type: Input }],
238
240
  placeholder: [{ type: Input }],
239
- step: [{ type: Input }],
240
241
  model: [{ type: Input }],
241
242
  modelChange: [{ type: Output }],
242
243
  align: [{ type: Input }],
@@ -253,10 +254,11 @@ SdInputCurrency.propDecorators = {
253
254
  pattern: [{ type: Input }],
254
255
  validator: [{ type: Input }],
255
256
  disabled: [{ type: Input }],
257
+ sdSuffix: [{ type: ContentChild, args: [SdSuffixDirective,] }],
256
258
  tooltip: [{ type: Input }],
257
259
  sdChange: [{ type: Output }],
258
260
  sdFocus: [{ type: Output }],
259
261
  keyupEnter: [{ type: Output }],
260
262
  control: [{ type: ViewChild, args: ['control',] }]
261
263
  };
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNS9EZXNrdG9wL1dvcmtpbmcvMU1HL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvaW5wdXQtY3VycmVuY3kvIiwic291cmNlcyI6WyJzcmMvbGliL2lucHV0LWN1cnJlbmN5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixFQUtsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdDLE1BQU0sRUFBZSxVQUFVLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUgsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBT3hELE1BQU0sT0FBTyxlQUFlO0lBc0kxQixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXJJMUMsZ0JBQVEsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFDO1FBTWxCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQU01Qix3QkFBaUI7UUFZUixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBRXJCLHlCQUFZO1FBU0YsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTNDLHlCQUFlO1FBTWYsaUNBQXdCO1FBTXhCLDJCQUFpQjtRQU1qQiw2QkFBbUI7UUFNbkIsMEJBQWdCO1FBTWhCLDBCQUFnQjtRQU1oQiw2QkFBbUI7UUFNbkIsNEJBQW1CO1FBTW5CLHVCQUFhO1FBTWIsdUJBQWE7UUFNYixZQUFZO1FBQ1osZUFBVSxH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eUJBQ04sTUFBTTtzQkFFTixTQUFTLFNBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uRGVzdHJveSxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgT25Jbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIE5nRm9ybSwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMsIEFzeW5jVmFsaWRhdG9yRm4sIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZEZvcm1Db250cm9sIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC1pbnB1dC1jdXJyZW5jeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWN1cnJlbmN5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZElucHV0Q3VycmVuY3kgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgI25hbWUgPSB1dWlkLnY0KCk7XHJcbiAgQElucHV0KCkgc2V0IG5hbWUodmFsOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy4jbmFtZSA9IHZhbDtcclxuICAgIH1cclxuICB9XHJcbiAgZGlzYWJsZUVycm9yTWVzc2FnZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnZGlzYWJsZUVycm9yTWVzc2FnZScpIHNldCBfZGlzYWJsZUVycm9yTWVzc2FnZSh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5kaXNhYmxlRXJyb3JNZXNzYWdlID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIHZhbCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHNpemU6ICdzbScgfCAnbGcnO1xyXG4gICNmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgc2V0IGZvcm0odmFsOiBOZ0Zvcm0gfCBGb3JtR3JvdXApIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIE5nRm9ybSkge1xyXG4gICAgICAgIHRoaXMuI2Zvcm0gPSB2YWwuZm9ybTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLiNmb3JtID0gdmFsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBzdGVwID0gMC4wMTtcclxuXHJcbiAgI21vZGVsOiBhbnk7XHJcbiAgQElucHV0KCkgc2V0IG1vZGVsKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLiNtb2RlbCAhPT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy4jbW9kZWwgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgI2FsaWduOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IGFsaWduKHZhbDogc3RyaW5nIHwgJycpIHtcclxuICAgIHRoaXMuI2FsaWduID0gdmFsO1xyXG4gICAgdGhpcy5nZXRPcHRpb25zKCk7XHJcbiAgfVxyXG5cclxuICAjYWxsb3dOZWdhdGl2ZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzZXQgYWxsb3dOZWdhdGl2ZSh2YWw6IGJvb2xlYW4gfCBmYWxzZSkge1xyXG4gICAgdGhpcy4jYWxsb3dOZWdhdGl2ZSA9IHZhbDtcclxuICAgIHRoaXMuZ2V0T3B0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgI2RlY2ltYWw6IHN0cmluZztcclxuICBASW5wdXQoKSBzZXQgZGVjaW1hbCh2YWw6IHN0cmluZyB8ICcnKSB7XHJcbiAgICB0aGlzLiNkZWNpbWFsID0gdmFsO1xyXG4gICAgdGhpcy5nZXRPcHRpb25zKCk7XHJcbiAgfVxyXG5cclxuICAjcHJlY2lzaW9uOiBudW1iZXI7XHJcbiAgQElucHV0KCkgc2V0IHByZWNpc2lvbih2YWw6IG51bWJlcikge1xyXG4gICAgdGhpcy4jcHJlY2lzaW9uID0gdmFsO1xyXG4gICAgdGhpcy5nZXRPcHRpb25zKCk7XHJcbiAgfVxyXG5cclxuICAjcHJlZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IHByZWZpeCh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy4jcHJlZml4ID0gdmFsO1xyXG4gICAgdGhpcy5nZXRPcHRpb25zKCk7XHJcbiAgfVxyXG5cclxuICAjc3VmZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IHN1ZmZpeCh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy4jc3VmZml4ID0gdmFsO1xyXG4gICAgdGhpcy5nZXRPcHRpb25zKCk7XHJcbiAgfVxyXG5cclxuICAjdGhvdXNhbmRzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IHRob3VzYW5kcyh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy4jdGhvdXNhbmRzID0gdmFsO1xyXG4gICAgdGhpcy5nZXRPcHRpb25zKCk7XHJcbiAgfVxyXG5cclxuICAjbnVsbGFibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2V0IG51bGxhYmxlKHZhbDogYm9vbGVhbiB8IGZhbHNlKSB7XHJcbiAgICB0aGlzLiNudWxsYWJsZSA9IHZhbDtcclxuICAgIHRoaXMuZ2V0T3B0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgI21pbjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHNldCBtaW4odmFsOiBudW1iZXIpIHtcclxuICAgIHRoaXMuI21pbiA9IHZhbDtcclxuICAgIHRoaXMuZ2V0T3B0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgI21heDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHNldCBtYXgodmFsOiBudW1iZXIpIHtcclxuICAgIHRoaXMuI21heCA9IHZhbDtcclxuICAgIHRoaXMuZ2V0T3B0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgLy8gVmFsaWRhdG9yXHJcbiAgaXNSZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCByZXF1aXJlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5pc1JlcXVpcmVkID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIHRoaXMuI3VwZGF0ZVZhbGlkYXRvcigpO1xyXG4gIH1cclxuXHJcbiAgI3BhdHRlcm46IHN0cmluZztcclxuICBASW5wdXQoKSBzZXQgcGF0dGVybih2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy4jcGF0dGVybiA9IHZhbDtcclxuICAgIHRoaXMuI3VwZGF0ZVZhbGlkYXRvcigpO1xyXG4gIH1cclxuICAjdmFsaWRhdG9yOiAodmFsdWU6IGFueSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+O1xyXG4gIEBJbnB1dCgpIHNldCB2YWxpZGF0b3IodmFsaWRhdG9yOiAodmFsdWU6IGFueSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+KSB7XHJcbiAgICB0aGlzLiN2YWxpZGF0b3IgPSB2YWxpZGF0b3I7XHJcbiAgICB0aGlzLiN1cGRhdGVWYWxpZGF0b3IoKTtcclxuICB9XHJcblxyXG4gIC8vIE9wdGlvbmFsXHJcbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB2YWwgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHRvb2x0aXA6IHN0cmluZyB8ICgoaW5wdXRWYWx1ZTogc3RyaW5nKSA9PiBzdHJpbmcpO1xyXG4gIEBPdXRwdXQoKSBzZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBzZEZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGtleXVwRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRyb2wnKSBjb250cm9sOiBFbGVtZW50UmVmO1xyXG4gIGZvcm1Db250cm9sID0gbmV3IFNkRm9ybUNvbnRyb2woKTtcclxuICAjc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIG9wdGlvbnMgPSB7fTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmZvcm1Db250cm9sLnRvdWNoZWRDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSkpO1xyXG4gICAgdGhpcy5nZXRPcHRpb25zKCk7XHJcbiAgfVxyXG5cclxuICBnZXRPcHRpb25zKCkge1xyXG4gICAgdGhpcy5vcHRpb25zID0ge1xyXG4gICAgICBhbGlnbjogdGhpcy4jYWxpZ24gfHwgJycsXHJcbiAgICAgIGFsbG93TmVnYXRpdmU6IHRoaXMuI2FsbG93TmVnYXRpdmUsXHJcbiAgICAgIGRlY2ltYWw6IHRoaXMuI2RlY2ltYWwgfHwgJy4nLFxyXG4gICAgICBwcmVjaXNpb246IHRoaXMuI3ByZWNpc2lvbiB8fCAwLFxyXG4gICAgICBwcmVmaXg6IHRoaXMuI3ByZWZpeCB8fCAnJyxcclxuICAgICAgc3VmZml4OiB0aGlzLiNzdWZmaXggfHwgJycsXHJcbiAgICAgIHRob3VzYW5kczogdGhpcy4jdGhvdXNhbmRzIHx8ICcsJyxcclxuICAgICAgbnVsbGFibGU6IHRoaXMuI251bGxhYmxlLFxyXG4gICAgICBtaW46IHRoaXMuI21pbixcclxuICAgICAgbWF4OiB0aGlzLiNtYXhcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQodGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKHRoaXMuI29uQ2hhbmdlKSk7XHJcbiAgICB0aGlzLiNmb3JtPy5hZGRDb250cm9sKHRoaXMuI25hbWUsIHRoaXMuZm9ybUNvbnRyb2wpO1xyXG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNmb3JtPy5yZW1vdmVDb250cm9sKHRoaXMuI25hbWUpO1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICByZVZhbGlkYXRlID0gKCkgPT4ge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICAjdXBkYXRlVmFsaWRhdG9yID0gKCkgPT4ge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuY2xlYXJBc3luY1ZhbGlkYXRvcnMoKTtcclxuICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuICAgIGNvbnN0IGFzeW5jVmFsaWRhdG9yczogQXN5bmNWYWxpZGF0b3JGbltdID0gW107XHJcbiAgICBpZiAodGhpcy5pc1JlcXVpcmVkKSB7XHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLiNwYXR0ZXJuKSB7XHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4odGhpcy4jcGF0dGVybikpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuI3ZhbGlkYXRvcikge1xyXG4gICAgICBhc3luY1ZhbGlkYXRvcnMucHVzaCh0aGlzLiNjdXN0b21WYWxpZGF0b3IodGhpcy4jdmFsaWRhdG9yKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldEFzeW5jVmFsaWRhdG9ycyhhc3luY1ZhbGlkYXRvcnMpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICAjb25DaGFuZ2UgPSBhc3luYyAodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgIHRoaXMuc2RDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvbktleXVwRW50ZXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmtleXVwRW50ZXIuZW1pdCh0aGlzLmZvcm1Db250cm9sLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMgPSAoKSA9PiB7XHJcbiAgICB0aGlzLnNkRm9jdXMuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyID0gKCkgPT4ge1xyXG4gICAgY29uc3QgdmFsOiBzdHJpbmcgPSAodGhpcy5mb3JtQ29udHJvbC52YWx1ZSA/PyAnJykudG9TdHJpbmcoKTtcclxuICAgIGlmICh2YWwubGVuZ3RoID4gdmFsLnRyaW0oKS5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh2YWwudHJpbSgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICNjdXN0b21WYWxpZGF0b3IgPSAoZnVuYzogKHZhbHVlOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPik6IEFzeW5jVmFsaWRhdG9yRm4gPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jIChjOiBBYnN0cmFjdENvbnRyb2wpOiBQcm9taXNlPHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsPiA9PiB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gYy52YWx1ZSB8fCBudWxsO1xyXG4gICAgICBpZiAoZnVuYyAmJiB0eXBlb2YgKGZ1bmMpID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gZnVuYyh2YWx1ZSk7XHJcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCByZXN1bHQ7XHJcbiAgICAgICAgICBpZiAobWVzc2FnZSkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIGN1c3RvbVZhbGlkYXRvcjogbWVzc2FnZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGN1c3RvbVZhbGlkYXRvcjogcmVzdWx0XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY3VycmVuY3kuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNS9EZXNrdG9wL1dvcmtpbmcvMU1HL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvaW5wdXQtY3VycmVuY3kvIiwic291cmNlcyI6WyJzcmMvbGliL2lucHV0LWN1cnJlbmN5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixFQUtqQixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQyxNQUFNLEVBQWUsVUFBVSxFQUErQixNQUFNLGdCQUFnQixDQUFDO0FBQzVILE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFPNUQsTUFBTSxPQUFPLGVBQWU7SUFzSTFCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBckkxQyxnQkFBUSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUM7UUFNbEIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBTTVCLHdCQUFpQjtRQWFqQix5QkFBWTtRQVNGLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzQyxpQkFBMkIsT0FBTyxFQUFDO1FBTW5DLHlCQUFpQixJQUFJLEVBQUM7UUFNdEIsbUJBQXNCLEdBQUcsRUFBQztRQU0x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TixLQUFLOzRCQU1MLEtBQUs7c0JBTUwsS0FBSzt3QkFNTCxLQUFLO3FCQU1MLEtBQUs7cUJBTUwsS0FBSzt3QkFNTCxLQUFLO3VCQU1MLEtBQUs7a0JBTUwsS0FBSztrQkFNTCxLQUFLO3VCQU9MLEtBQUs7c0JBTUwsS0FBSzt3QkFLTCxLQUFLO3VCQU1MLEtBQUs7dUJBUUwsWUFBWSxTQUFDLGlCQUFpQjtzQkFDOUIsS0FBSzt1QkFDTCxNQUFNO3NCQUNOLE1BQU07eUJBQ04sTUFBTTtzQkFFTixTQUFTLFNBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIE9uRGVzdHJveSxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgT25Jbml0LFxyXG4gIENvbnRlbnRDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBOZ0Zvcm0sIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzLCBBc3luY1ZhbGlkYXRvckZuLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ3VycmVuY3lNYXNrSW5wdXRNb2RlIH0gZnJvbSAnbmd4LWN1cnJlbmN5JztcclxuaW1wb3J0IHsgU2RGb3JtQ29udHJvbCB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuaW1wb3J0IHsgU2RTdWZmaXhEaXJlY3RpdmUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NkLWlucHV0LWN1cnJlbmN5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtY3VycmVuY3kuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LWN1cnJlbmN5LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkSW5wdXRDdXJyZW5jeSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICAjbmFtZSA9IHV1aWQudjQoKTtcclxuICBASW5wdXQoKSBzZXQgbmFtZSh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLiNuYW1lID0gdmFsO1xyXG4gICAgfVxyXG4gIH1cclxuICBkaXNhYmxlRXJyb3JNZXNzYWdlID0gZmFsc2U7XHJcbiAgQElucHV0KCdkaXNhYmxlRXJyb3JNZXNzYWdlJykgc2V0IF9kaXNhYmxlRXJyb3JNZXNzYWdlKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLmRpc2FibGVFcnJvck1lc3NhZ2UgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICB9XHJcbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdsZyc7XHJcbiAgI2Zvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBzZXQgZm9ybSh2YWw6IE5nRm9ybSB8IEZvcm1Hcm91cCkge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICBpZiAodmFsIGluc3RhbmNlb2YgTmdGb3JtKSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbC5mb3JtO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuI2Zvcm0gPSB2YWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICAjbW9kZWw6IGFueTtcclxuICBASW5wdXQoKSBzZXQgbW9kZWwodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuI21vZGVsICE9PSB2YWx1ZSkge1xyXG4gICAgICB0aGlzLiNtb2RlbCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAjYWxpZ246ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnO1xyXG4gIEBJbnB1dCgpIHNldCBhbGlnbih2YWw6ICdsZWZ0JyB8ICdyaWdodCcgfCAnJykge1xyXG4gICAgdGhpcy4jYWxpZ24gPSB2YWwgfHwgJ3JpZ2h0JztcclxuICAgIHRoaXMuI2dlbmVyYXRlT3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAjYWxsb3dOZWdhdGl2ZSA9IHRydWU7XHJcbiAgQElucHV0KCkgc2V0IGFsbG93TmVnYXRpdmUodmFsOiBib29sZWFuIHwgJycpIHtcclxuICAgIHRoaXMuI2FsbG93TmVnYXRpdmUgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgdGhpcy4jZ2VuZXJhdGVPcHRpb24oKTtcclxuICB9XHJcblxyXG4gICNkZWNpbWFsOiAnLicgfCAnLCcgPSAnLCc7XHJcbiAgQElucHV0KCkgc2V0IGRlY2ltYWwodmFsOiAnLicgfCAnLCcgfCAnJykge1xyXG4gICAgdGhpcy4jZGVjaW1hbCA9IHZhbCB8fCAnLCc7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgI3ByZWNpc2lvbjogbnVtYmVyID0gMDtcclxuICBASW5wdXQoKSBzZXQgcHJlY2lzaW9uKHZhbDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLiNwcmVjaXNpb24gPSB2YWwgfHwgMDtcclxuICAgIHRoaXMuI2dlbmVyYXRlT3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAjcHJlZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2V0IHByZWZpeCh2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy4jcHJlZml4ID0gdmFsO1xyXG4gICAgdGhpcy4jZ2VuZXJhdGVPcHRpb24oKTtcclxuICB9XHJcblxyXG4gICNzdWZmaXg6IHN0cmluZztcclxuICBASW5wdXQoKSBzZXQgc3VmZml4KHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLiNzdWZmaXggPSB2YWw7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgI3Rob3VzYW5kczogJy4nIHwgJywnID0gJy4nO1xyXG4gIEBJbnB1dCgpIHNldCB0aG91c2FuZHModmFsOiAnLicgfCAnLCcgfCAnJykge1xyXG4gICAgdGhpcy4jdGhvdXNhbmRzID0gdmFsIHx8ICcuJztcclxuICAgIHRoaXMuI2dlbmVyYXRlT3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAjbnVsbGFibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2V0IG51bGxhYmxlKHZhbDogYm9vbGVhbiB8IGZhbHNlKSB7XHJcbiAgICB0aGlzLiNudWxsYWJsZSA9IHZhbDtcclxuICAgIHRoaXMuI2dlbmVyYXRlT3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAjbWluOiBudW1iZXI7XHJcbiAgQElucHV0KCkgc2V0IG1pbih2YWw6IG51bWJlcikge1xyXG4gICAgdGhpcy4jbWluID0gdmFsO1xyXG4gICAgdGhpcy4jZ2VuZXJhdGVPcHRpb24oKTtcclxuICB9XHJcblxyXG4gICNtYXg6IG51bWJlcjtcclxuICBASW5wdXQoKSBzZXQgbWF4KHZhbDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLiNtYXggPSB2YWw7XHJcbiAgICB0aGlzLiNnZW5lcmF0ZU9wdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgLy8gVmFsaWRhdG9yXHJcbiAgaXNSZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNldCByZXF1aXJlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5pc1JlcXVpcmVkID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIHRoaXMuI3VwZGF0ZVZhbGlkYXRvcigpO1xyXG4gIH1cclxuXHJcbiAgI3BhdHRlcm46IHN0cmluZztcclxuICBASW5wdXQoKSBzZXQgcGF0dGVybih2YWw6IHN0cmluZykge1xyXG4gICAgdGhpcy4jcGF0dGVybiA9IHZhbDtcclxuICAgIHRoaXMuI3VwZGF0ZVZhbGlkYXRvcigpO1xyXG4gIH1cclxuICAjdmFsaWRhdG9yOiAodmFsdWU6IGFueSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+O1xyXG4gIEBJbnB1dCgpIHNldCB2YWxpZGF0b3IodmFsaWRhdG9yOiAodmFsdWU6IGFueSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+KSB7XHJcbiAgICB0aGlzLiN2YWxpZGF0b3IgPSB2YWxpZGF0b3I7XHJcbiAgICB0aGlzLiN1cGRhdGVWYWxpZGF0b3IoKTtcclxuICB9XHJcblxyXG4gIC8vIE9wdGlvbmFsXHJcbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB2YWwgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBDb250ZW50Q2hpbGQoU2RTdWZmaXhEaXJlY3RpdmUpIHNkU3VmZml4OiBTZFN1ZmZpeERpcmVjdGl2ZTtcclxuICBASW5wdXQoKSB0b29sdGlwOiBzdHJpbmcgfCAoKGlucHV0VmFsdWU6IHN0cmluZykgPT4gc3RyaW5nKTtcclxuICBAT3V0cHV0KCkgc2RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgc2RGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBrZXl1cEVudGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb250cm9sJykgY29udHJvbDogRWxlbWVudFJlZjtcclxuICBmb3JtQ29udHJvbCA9IG5ldyBTZEZvcm1Db250cm9sKCk7XHJcbiAgI3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBvcHRpb25zID0ge307XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQodGhpcy5mb3JtQ29udHJvbC50b3VjaGVkQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH0pKTtcclxuICAgIHRoaXMuI2dlbmVyYXRlT3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAjZ2VuZXJhdGVPcHRpb24gPSAoKSA9PiB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB7XHJcbiAgICAgIGFsaWduOiB0aGlzLiNhbGlnbiB8fCAnJyxcclxuICAgICAgYWxsb3dOZWdhdGl2ZTogdGhpcy4jYWxsb3dOZWdhdGl2ZSxcclxuICAgICAgZGVjaW1hbDogdGhpcy4jZGVjaW1hbCxcclxuICAgICAgcHJlY2lzaW9uOiB0aGlzLiNwcmVjaXNpb24sXHJcbiAgICAgIHByZWZpeDogdGhpcy4jcHJlZml4IHx8ICcnLFxyXG4gICAgICBzdWZmaXg6IHRoaXMuI3N1ZmZpeCB8fCAnJyxcclxuICAgICAgdGhvdXNhbmRzOiB0aGlzLiN0aG91c2FuZHMsXHJcbiAgICAgIG51bGxhYmxlOiB0aGlzLiNudWxsYWJsZSxcclxuICAgICAgbWluOiB0aGlzLiNtaW4sXHJcbiAgICAgIG1heDogdGhpcy4jbWF4LFxyXG4gICAgICBpbnB1dE1vZGU6IEN1cnJlbmN5TWFza0lucHV0TW9kZS5OQVRVUkFMXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24uYWRkKHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDIwMCkpLnN1YnNjcmliZSh0aGlzLiNvbkNoYW5nZSkpO1xyXG4gICAgdGhpcy4jZm9ybT8uYWRkQ29udHJvbCh0aGlzLiNuYW1lLCB0aGlzLmZvcm1Db250cm9sKTtcclxuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy4jZm9ybT8ucmVtb3ZlQ29udHJvbCh0aGlzLiNuYW1lKTtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcmVWYWxpZGF0ZSA9ICgpID0+IHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgI3VwZGF0ZVZhbGlkYXRvciA9ICgpID0+IHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sLmNsZWFyQXN5bmNWYWxpZGF0b3JzKCk7XHJcbiAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XHJcbiAgICBjb25zdCBhc3luY1ZhbGlkYXRvcnM6IEFzeW5jVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuaXNSZXF1aXJlZCkge1xyXG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy4jcGF0dGVybikge1xyXG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKHRoaXMuI3BhdHRlcm4pKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLiN2YWxpZGF0b3IpIHtcclxuICAgICAgYXN5bmNWYWxpZGF0b3JzLnB1c2godGhpcy4jY3VzdG9tVmFsaWRhdG9yKHRoaXMuI3ZhbGlkYXRvcikpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnMoYXN5bmNWYWxpZGF0b3JzKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgI29uQ2hhbmdlID0gYXN5bmMgKHZhbHVlOiBhbnkpID0+IHtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICB0aGlzLnNkQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25LZXl1cEVudGVyID0gKCkgPT4ge1xyXG4gICAgdGhpcy5rZXl1cEVudGVyLmVtaXQodGhpcy5mb3JtQ29udHJvbC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzID0gKCkgPT4ge1xyXG4gICAgdGhpcy5zZEZvY3VzLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQmx1ciA9ICgpID0+IHtcclxuICAgIGNvbnN0IHZhbDogc3RyaW5nID0gKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUgPz8gJycpLnRvU3RyaW5nKCk7XHJcbiAgICBpZiAodmFsLmxlbmd0aCA+IHZhbC50cmltKCkubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsLnRyaW0oKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjY3VzdG9tVmFsaWRhdG9yID0gKGZ1bmM6ICh2YWx1ZTogYW55KSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4pOiBBc3luY1ZhbGlkYXRvckZuID0+IHtcclxuICAgIHJldHVybiBhc3luYyAoYzogQWJzdHJhY3RDb250cm9sKTogUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbD4gPT4ge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IGMudmFsdWUgfHwgbnVsbDtcclxuICAgICAgaWYgKGZ1bmMgJiYgdHlwZW9mIChmdW5jKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGZ1bmModmFsdWUpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgcmVzdWx0O1xyXG4gICAgICAgICAgaWYgKG1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBjdXN0b21WYWxpZGF0b3I6IG1lc3NhZ2VcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjdXN0b21WYWxpZGF0b3I6IHJlc3VsdFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -9,6 +9,7 @@ import { SdTranslateModule } from '@sd-angular/core/translate';
9
9
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
10
10
  import { SdInputCurrencyTooltipPipe } from './input-currency-tooltip.pipe';
11
11
  import { NgxCurrencyModule } from "ngx-currency";
12
+ import { SdCommonModule } from '@sd-angular/core/common';
12
13
  export class SdInputCurrencyModule {
13
14
  }
14
15
  SdInputCurrencyModule.decorators = [
@@ -21,6 +22,7 @@ SdInputCurrencyModule.decorators = [
21
22
  MatInputModule,
22
23
  MatIconModule,
23
24
  MatTooltipModule,
25
+ SdCommonModule,
24
26
  SdTranslateModule,
25
27
  NgxCurrencyModule
26
28
  ],
@@ -34,4 +36,4 @@ SdInputCurrencyModule.decorators = [
34
36
  ]
35
37
  },] }
36
38
  ];
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY3VycmVuY3kubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNS9EZXNrdG9wL1dvcmtpbmcvMU1HL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvaW5wdXQtY3VycmVuY3kvIiwic291cmNlcyI6WyJzcmMvbGliL2lucHV0LWN1cnJlbmN5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBdUJqRCxNQUFNLE9BQU8scUJBQXFCOzs7WUFyQmpDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGVBQWU7b0JBQ2YsMEJBQTBCO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsZUFBZTtvQkFDZiwwQkFBMEI7aUJBQzNCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgU2RJbnB1dEN1cnJlbmN5IH0gZnJvbSAnLi9pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IFNkVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS90cmFuc2xhdGUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2RJbnB1dEN1cnJlbmN5VG9vbHRpcFBpcGUgfSBmcm9tICcuL2lucHV0LWN1cnJlbmN5LXRvb2x0aXAucGlwZSc7XHJcbmltcG9ydCB7IE5neEN1cnJlbmN5TW9kdWxlIH0gZnJvbSBcIm5neC1jdXJyZW5jeVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgU2RUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBOZ3hDdXJyZW5jeU1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZElucHV0Q3VycmVuY3ksXHJcbiAgICBTZElucHV0Q3VycmVuY3lUb29sdGlwUGlwZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2RJbnB1dEN1cnJlbmN5LFxyXG4gICAgU2RJbnB1dEN1cnJlbmN5VG9vbHRpcFBpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZElucHV0Q3VycmVuY3lNb2R1bGUgeyB9XHJcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY3VycmVuY3kubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNS9EZXNrdG9wL1dvcmtpbmcvMU1HL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvaW5wdXQtY3VycmVuY3kvIiwic291cmNlcyI6WyJzcmMvbGliL2lucHV0LWN1cnJlbmN5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQXdCekQsTUFBTSxPQUFPLHFCQUFxQjs7O1lBdEJqQyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGtCQUFrQjtvQkFDbEIsY0FBYztvQkFDZCxhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGVBQWU7b0JBQ2YsMEJBQTBCO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsZUFBZTtvQkFDZiwwQkFBMEI7aUJBQzNCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgU2RJbnB1dEN1cnJlbmN5IH0gZnJvbSAnLi9pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IFNkVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS90cmFuc2xhdGUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2RJbnB1dEN1cnJlbmN5VG9vbHRpcFBpcGUgfSBmcm9tICcuL2lucHV0LWN1cnJlbmN5LXRvb2x0aXAucGlwZSc7XHJcbmltcG9ydCB7IE5neEN1cnJlbmN5TW9kdWxlIH0gZnJvbSBcIm5neC1jdXJyZW5jeVwiO1xyXG5pbXBvcnQgeyBTZENvbW1vbk1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIFNkQ29tbW9uTW9kdWxlLFxyXG4gICAgU2RUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBOZ3hDdXJyZW5jeU1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZElucHV0Q3VycmVuY3ksXHJcbiAgICBTZElucHV0Q3VycmVuY3lUb29sdGlwUGlwZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2RJbnB1dEN1cnJlbmN5LFxyXG4gICAgU2RJbnB1dEN1cnJlbmN5VG9vbHRpcFBpcGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZElucHV0Q3VycmVuY3lNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- var _cacheDuration, _buildToastMultiMesssage;
1
+ var _delayDuration, _cache, _buildToastMultiMesssage;
2
2
  import { __classPrivateFieldGet } from "tslib";
3
3
  import "@sd-angular/core/common";
4
4
  import { Injectable } from "@angular/core";
@@ -7,13 +7,15 @@ import { DialogConfirmComponent } from "./components/dialog-confirm/dialog-confi
7
7
  import { ToastrService } from "ngx-toastr";
8
8
  import { SdTranslateService } from "@sd-angular/core/translate";
9
9
  import { takeUntil } from "rxjs/operators";
10
+ import * as uuid from 'uuid';
10
11
  let notifyId = 0;
11
12
  export class SdNotifyService {
12
13
  constructor(dialog, toastr, translateService) {
13
14
  this.dialog = dialog;
14
15
  this.toastr = toastr;
15
16
  this.translateService = translateService;
16
- _cacheDuration.set(this, 2000); // 2s
17
+ _delayDuration.set(this, 500); // Các error/warning message sẽ tự động gộp sau khoảng thời gian trên
18
+ _cache.set(this, {});
17
19
  this.alert = {
18
20
  info: (message, title, yesTitle, icon) => {
19
21
  this.dialog.open(DialogConfirmComponent, {
@@ -114,19 +116,19 @@ export class SdNotifyService {
114
116
  _buildToastMultiMesssage.set(this, (type, messages, delay, title) => {
115
117
  /** số lượng item hiển thị mặc định */
116
118
  const showNum = 2;
117
- const id = notifyId++;
119
+ const id = `sd-notify-ckb-${uuid.v4()}`;
118
120
  const messageLength = messages.length;
119
121
  const messageRests = messages.splice(showNum);
120
122
  const messageContainer = `<ul class="sd-notify__list">{0}{1}</ul>`;
121
123
  const messageTemp = `<li class="sd-notify__item">- {0}</li>`;
122
124
  let contentRest = '';
123
125
  if (messageRests === null || messageRests === void 0 ? void 0 : messageRests.length) {
124
- contentRest = `<input id="sd-notify-ckb-${id}" class="cdk-visually-hidden sd-notify__checkbox" type="checkbox" />
125
- <label class="sd-notify__text sd-notify__text--show text-secondary" for="sd-notify-ckb-${id}">${this.translate('Show more')}</label>
126
+ contentRest = `<input id="${id}" class="cdk-visually-hidden sd-notify__checkbox" type="checkbox" />
127
+ <label class="sd-notify__text sd-notify__text--show text-secondary" for="${id}">${this.translate('Show more')}</label>
126
128
  <div class="sd-notify__item--rest">
127
129
  ${messageRests.map(m => String.format(messageTemp, m)).join('')}
128
130
  </div>
129
- <label class="sd-notify__text sd-notify__text--less text-secondary" for="sd-notify-ckb-${id}">${this.translate('Show less')}</label>`;
131
+ <label class="sd-notify__text sd-notify__text--less text-secondary" for="${id}">${this.translate('Show less')}</label>`;
130
132
  }
131
133
  const content = String.format(messageContainer, messages.map(m => String.format(messageTemp, m)).join(''), contentRest);
132
134
  let toast;
@@ -252,7 +254,7 @@ export class SdNotifyService {
252
254
  };
253
255
  }
254
256
  }
255
- _cacheDuration = new WeakMap(), _buildToastMultiMesssage = new WeakMap();
257
+ _delayDuration = new WeakMap(), _cache = new WeakMap(), _buildToastMultiMesssage = new WeakMap();
256
258
  SdNotifyService.decorators = [
257
259
  { type: Injectable }
258
260
  ];
@@ -261,4 +263,4 @@ SdNotifyService.ctorParameters = () => [
261
263
  { type: ToastrService },
262
264
  { type: SdTranslateService }
263
265
  ];
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ub3RpZnkvIiwic291cmNlcyI6WyJzcmMvbGliL25vdGlmeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQWUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFHakIsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFDVSxNQUFpQixFQUNqQixNQUFxQixFQUNyQixnQkFBb0M7UUFGcEMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFKOUMseUJBQWlCLElBQUksRUFBQyxDQUFDLEtBQUs7UUFPNUIsVUFBSyxHQUFHO1lBQ04sSUFBSSxFQUFFLENBQ0osT0FBZ0IsRUFDaEIsS0FBYyxFQUNkLFFBQWlCLEVBQ2pCLElBQWEsRUFDYixFQUFFO2dCQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO29CQUN2QyxLQUFLLEVBQUUsT0FBTztvQkFDZCxJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLElBQUksSUFBSSxNQUFNO3dCQUNwQixLQUFL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TUFBTSx1QkFBTixNQUFNLENBQUUsWUFBWSxLQUFJLEVBQUU7cUJBQ3pDO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDckMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUMzQyxJQUFJLE1BQU0sRUFBRTt3QkFDVixJQUFJLE1BQU0sS0FBSyxRQUFRLEVBQUU7NEJBQ3ZCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzt5QkFDakI7NkJBQU0sSUFBSSxNQUFNLEtBQUssUUFBUSxFQUFFOzRCQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7eUJBQ2hCOzZCQUFNOzRCQUNMLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzt5QkFDakI7cUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVNLGNBQVMsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUM7SUFsU0MsQ0FBQzs7OztZQVBMLFVBQVU7OztZQVJGLFNBQVM7WUFFSSxhQUFhO1lBQzFCLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIkBzZC1hbmd1bGFyL2NvcmUvY29tbW9uXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IERpYWxvZ0NvbmZpcm1Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2RpYWxvZy1jb25maXJtL2RpYWxvZy1jb25maXJtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBY3RpdmVUb2FzdCwgVG9hc3RyU2VydmljZSB9IGZyb20gXCJuZ3gtdG9hc3RyXCI7XHJcbmltcG9ydCB7IFNkVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAc2QtYW5ndWxhci9jb3JlL3RyYW5zbGF0ZVwiO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcbmxldCBub3RpZnlJZCA9IDA7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTZE5vdGlmeVNlcnZpY2Uge1xyXG4gICNjYWNoZUR1cmF0aW9uID0gMjAwMDsgLy8gMnNcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogU2RUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBhbGVydCA9IHtcclxuICAgIGluZm86IChcclxuICAgICAgbWVzc2FnZT86IHN0cmluZyxcclxuICAgICAgdGl0bGU/OiBzdHJpbmcsXHJcbiAgICAgIHllc1RpdGxlPzogc3RyaW5nLFxyXG4gICAgICBpY29uPzogc3RyaW5nXHJcbiAgICApID0+IHtcclxuICAgICAgdGhpcy5kaWFsb2cub3BlbihEaWFsb2dDb25maXJtQ29tcG9uZW50LCB7XHJcbiAgICAgICAgd2lkdGg6IFwiNDAwcHhcIixcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBpY29uOiBpY29uIHx8IFwiaW5mb1wiLFxyXG4gICAgICAgICAgdGl0bGU6IHRpdGxlIHx8IHRoaXMudHJhbnNsYXRlKFwiTm90aWNlXCIpLFxyXG4gICAgICAgICAgbWVzc2FnZTogbWVzc2FnZSB8fCBcIkRvbmUhXCIsXHJcbiAgICAgICAgICB5ZXNUaXRsZTogeWVzVGl0bGUgfHwgdGhpcy50cmFuc2xhdGUoXCJPa1wiKSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0sXHJcbiAgICBzdWNjZXNzOiAoXHJcbiAgICAgIG1lc3NhZ2U/OiBzdHJpbmcsXHJcbiAgICAgIHRpdGxlPzogc3RyaW5nLFxyXG4gICAgICB5ZXNUaXRsZT86IHN0cmluZyxcclxuICAgICAgaWNvbj86IHN0cmluZ1xyXG4gICAgKSA9PiB7XHJcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nQ29uZmlybUNvbXBvbmVudCwge1xyXG4gICAgICAgIHdpZHRoOiBcIjQwMHB4XCIsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgaWNvbjogaWNvbiB8fCBcImRvbmVcIixcclxuICAgICAgICAgIHRpdGxlOiB0aXRsZSB8fCB0aGlzLnRyYW5zbGF0ZShcIlN1Y2Nlc3NcIiksXHJcbiAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlIHx8IFwiRG9uZSFcIixcclxuICAgICAgICAgIHllc1RpdGxlOiB5ZXNUaXRsZSB8fCB0aGlzLnRyYW5zbGF0ZShcIk9rXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIHdhcm5pbmc6IChcclxuICAgICAgbWVzc2FnZT86IHN0cmluZyxcclxuICAgICAgdGl0bGU/OiBzdHJpbmcsXHJcbiAgICAgIHllc1RpdGxlPzogc3RyaW5nLFxyXG4gICAgICBpY29uPzogc3RyaW5nXHJcbiAgICApID0+IHtcclxuICAgICAgdGhpcy5kaWFsb2cub3BlbihEaWFsb2dDb25maXJtQ29tcG9uZW50LCB7XHJcbiAgICAgICAgd2lkdGg6IFwiNDAwcHhcIixcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBpY29uOiBpY29uIHx8IFwid2FybmluZ1wiLFxyXG4gICAgICAgICAgdGl0bGU6IHRpdGxlIHx8IHRoaXMudHJhbnNsYXRlKFwiV2FybmluZ1wiKSxcclxuICAgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UgfHwgXCJTb21ldGhpbmcgd2VudCB3cm9uZyFcIixcclxuICAgICAgICAgIHllc1RpdGxlOiB5ZXNUaXRsZSB8fCB0aGlzLnRyYW5zbGF0ZShcIk9rXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIGVycm9yOiAoXHJcbiAgICAgIG1lc3NhZ2U/OiBzdHJpbmcsXHJcbiAgICAgIHRpdGxlPzogc3RyaW5nLFxyXG4gICAgICB5ZXNUaXRsZT86IHN0cmluZyxcclxuICAgICAgaWNvbj86IHN0cmluZ1xyXG4gICAgKSA9PiB7XHJcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nQ29uZmlybUNvbXBvbmVudCwge1xyXG4gICAgICAgIHdpZHRoOiBcIjQwMHB4XCIsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgaWNvbjogaWNvbiB8fCBcImVycm9yXCIsXHJcbiAgICAgICAgICB0aXRsZTogdGl0bGUgfHwgdGhpcy50cmFuc2xhdGUoXCJFcnJvclwiKSxcclxuICAgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UgfHwgXCJTb21ldGhpbmcgd2VudCB3cm9uZyFcIixcclxuICAgICAgICAgIHllc1RpdGxlOiB5ZXNUaXRsZSB8fCB0aGlzLnRyYW5zbGF0ZShcIk9rXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICB9O1xyXG5cclxuICBub3RpZnkgPSB7XHJcbiAgICBzdWNjZXNzOiAobWVzc2FnZT86IHN0cmluZywgZGVsYXk/OiBudW1iZXIsIHRpdGxlPzogc3RyaW5nKSA9PiB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICAgIC8vIGNvbnN0IHN0eWxlID0gYGJvcmRlci1yYWRpdXM6IDVweDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAxMnB4OyB6LWluZGV4OiA5OTk5OTsgdG9wOiA1cHg7IHJpZ2h0OiA1cHg7IGRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiBmaXhlZDtjb2xvcjogIzRGOEExMDsgYmFja2dyb3VuZC1jb2xvcjogI0RGRjJCRmA7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICAgIC8vIGNvbnN0IGh0bWwgPSBgPGRpdiBpZD1cIiR7dGhpcy5ub3RpZnlJZH1cIiBzdHlsZT1cIiR7c3R5bGV9XCI+PGkgY2xhc3M9XCJmYSBmYS1jaGVja1wiPjwvaT4gJHttZXNzYWdlIHx8IHRoaXMudHJhbnNsYXRlKCdTdWNjZXNzJyl9PC9kaXY+YDtcclxuICAgICAgLy8gdGhpcy5zaG93Tm90aWZ5KGh0bWwsIGRlbGF5KTtcclxuICAgICAgY29uc3QgY29udGVudCA9IG1lc3NhZ2UgfHwgdGhpcy50cmFuc2xhdGUoXCJTdWNjZXNzXCIpO1xyXG4gICAgICB0aGlzLnRvYXN0ci5zdWNjZXNzKGNvbnRlbnQsIHRpdGxlLCB7XHJcbiAgICAgICAgZW5hYmxlSHRtbDogdHJ1ZSxcclxuICAgICAgICB0aW1lT3V0OiBkZWxheSB8fCAzMDAwLFxyXG4gICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgIH0sXHJcbiAgICB3YXJuaW5nOiAobWVzc2FnZT86IHN0cmluZyB8IHN0cmluZ1tdLCBkZWxheT86IG51bWJlciwgdGl0bGU/OiBzdHJpbmcpID0+IHtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuICAgICAgLy8gY29uc3Qgc3R5bGUgPSBgYm9yZGVyLXJhZGl1czogNXB4OyBtYXJnaW46IDA7IHBhZGRpbmc6IDEycHg7IHotaW5kZXg6IDk5OTk5OyB0b3A6IDVweDsgcmlnaHQ6IDVweDsgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IGZpeGVkO2NvbG9yOiAjOUY2MDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVFRkIzYDtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuICAgICAgLy8gY29uc3QgaHRtbCA9IGA8ZGl2IGlkPVwiJHt0aGlzLm5vdGlmeUlkfVwiIHN0eWxlPVwiJHtzdHlsZX1cIj48aSBjbGFzcz1cImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI+PC9pPiAke21lc3NhZ2UgfHwgdGhpcy50cmFuc2xhdGUoJ1dhcm5pbmcnKX08L2Rpdj5gO1xyXG4gICAgICAvLyB0aGlzLnNob3dOb3RpZnkoaHRtbCwgZGVsYXkpO1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShtZXNzYWdlKSl7XHJcbiAgICAgICAgdGhpcy4jYnVpbGRUb2FzdE11bHRpTWVzc3NhZ2UoJ3dhcm5pbmcnLCBtZXNzYWdlLCBkZWxheSwgdGl0bGUpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBtZXNzYWdlIHx8IHRoaXMudHJhbnNsYXRlKFwiV2FybmluZ1wiKTtcclxuICAgICAgICB0aGlzLnRvYXN0ci53YXJuaW5nKGNvbnRlbnQsIHRpdGxlLCB7XHJcbiAgICAgICAgICBlbmFibGVIdG1sOiB0cnVlLFxyXG4gICAgICAgICAgdGltZU91dDogZGVsYXkgfHwgMzAwMCxcclxuICAgICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6IChtZXNzYWdlPzogc3RyaW5nIHwgc3RyaW5nW10sIGRlbGF5PzogbnVtYmVyLCB0aXRsZT86IHN0cmluZykgPT4ge1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG4gICAgICAvLyBjb25zdCBzdHlsZSA9IGBib3JkZXItcmFkaXVzOiA1cHg7IG1hcmdpbjogMDsgcGFkZGluZzogMTJweDsgei1pbmRleDogOTk5OTk7IHRvcDogNXB4OyByaWdodDogNXB4OyBkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogZml4ZWQ7Y29sb3I6ICNEODAwMEM7IGJhY2tncm91bmQtY29sb3I6ICNGRkQyRDJgO1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG4gICAgICAvLyBjb25zdCBodG1sID0gYDxkaXYgaWQ9XCIke3RoaXMubm90aWZ5SWR9XCIgc3R5bGU9XCIke3N0eWxlfVwiPjxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIj48L2k+ICR7bWVzc2FnZSB8fCB0aGlzLnRyYW5zbGF0ZSgnRXJyb3InKX08L2Rpdj5gO1xyXG4gICAgICAvLyB0aGlzLnNob3dOb3RpZnkoaHRtbCwgZGVsYXkpO1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShtZXNzYWdlKSl7XHJcbiAgICAgICAgdGhpcy4jYnVpbGRUb2FzdE11bHRpTWVzc3NhZ2UoJ2Vycm9yJywgbWVzc2FnZSwgZGVsYXksIHRpdGxlKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gbWVzc2FnZSB8fCB0aGlzLnRyYW5zbGF0ZShcIkVycm9yXCIpO1xyXG4gICAgICAgIHRoaXMudG9hc3RyLmVycm9yKGNvbnRlbnQsIHRpdGxlLCB7XHJcbiAgICAgICAgICBlbmFibGVIdG1sOiB0cnVlLFxyXG4gICAgICAgICAgdGltZU91dDogZGVsYXkgfHwgMzAwMCxcclxuICAgICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gIH07XHJcblxyXG4gICNidWlsZFRvYXN0TXVsdGlNZXNzc2FnZSA9ICh0eXBlOiAnd2FybmluZycgfCAnZXJyb3InLCBtZXNzYWdlczogc3RyaW5nW10sIGRlbGF5PzogbnVtYmVyLCB0aXRsZT86IHN0cmluZykgPT4ge1xyXG4gICAgLyoqIHPhu5EgbMaw4bujbmcgaXRlbSBoaeG7g24gdGjhu4sgbeG6t2MgxJHhu4tuaCAqL1xyXG4gICAgY29uc3Qgc2hvd051bSA9IDI7XHJcbiAgICBjb25zdCBpZCA9IG5vdGlmeUlkKys7XHJcbiAgICBjb25zdCBtZXNzYWdlTGVuZ3RoID0gbWVzc2FnZXMubGVuZ3RoO1xyXG4gICAgY29uc3QgbWVzc2FnZVJlc3RzID0gbWVzc2FnZXMuc3BsaWNlKHNob3dOdW0pO1xyXG4gICAgY29uc3QgbWVzc2FnZUNvbnRhaW5lciA9IGA8dWwgY2xhc3M9XCJzZC1ub3RpZnlfX2xpc3RcIj57MH17MX08L3VsPmA7XHJcbiAgICBjb25zdCBtZXNzYWdlVGVtcCA9IGA8bGkgY2xhc3M9XCJzZC1ub3RpZnlfX2l0ZW1cIj4tIHswfTwvbGk+YDtcclxuICAgIGxldCBjb250ZW50UmVzdCA9ICcnO1xyXG4gICAgaWYgKG1lc3NhZ2VSZXN0cz8ubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnRlbnRSZXN0ID0gYDxpbnB1dCBpZD1cInNkLW5vdGlmeS1ja2ItJHtpZH1cIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW4gc2Qtbm90aWZ5X19jaGVja2JveFwiIHR5cGU9XCJjaGVja2JveFwiIC8+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cInNkLW5vdGlmeV9fdGV4dCBzZC1ub3RpZnlfX3RleHQtLXNob3cgdGV4dC1zZWNvbmRhcnlcIiBmb3I9XCJzZC1ub3RpZnktY2tiLSR7aWR9XCI+JHt0aGlzLnRyYW5zbGF0ZSgnU2hvdyBtb3JlJyl9PC9sYWJlbD5cclxuICAgICAgPGRpdiBjbGFzcz1cInNkLW5vdGlmeV9faXRlbS0tcmVzdFwiPlxyXG4gICAgICAgICR7bWVzc2FnZVJlc3RzLm1hcChtID0+IFN0cmluZy5mb3JtYXQobWVzc2FnZVRlbXAsIG0pKS5qb2luKCcnKX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cInNkLW5vdGlmeV9fdGV4dCBzZC1ub3RpZnlfX3RleHQtLWxlc3MgdGV4dC1zZWNvbmRhcnlcIiBmb3I9XCJzZC1ub3RpZnktY2tiLSR7aWR9XCI+JHt0aGlzLnRyYW5zbGF0ZSgnU2hvdyBsZXNzJyl9PC9sYWJlbD5gO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY29udGVudCA9IFN0cmluZy5mb3JtYXQobWVzc2FnZUNvbnRhaW5lciwgbWVzc2FnZXMubWFwKG0gPT4gU3RyaW5nLmZvcm1hdChtZXNzYWdlVGVtcCwgbSkpLmpvaW4oJycpLCBjb250ZW50UmVzdCk7XHJcbiAgICBsZXQgdG9hc3Q6IEFjdGl2ZVRvYXN0PGFueT47XHJcbiAgICAvLyBraGkgdHJ1eeG7gW4gbWVzc2FnZSBodG1sIHPhur0gYuG7iyBzYW5pdGl6ZSBuw6puIHBo4bqjaSB0cnV54buBbiBpbm5lckhUTUwga2hpIHRvYXN0IGhp4buHbiBsw6puXHJcbiAgICAvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zY3R0Y3Blci9uZ3gtdG9hc3RyL2Jsb2IvdjEyLjEuMC9zcmMvbGliL3RvYXN0ci90b2FzdHIuc2VydmljZS50cyNMMjcxXHJcbiAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgY2FzZSAnZXJyb3InOlxyXG4gICAgICAgIHRvYXN0ID0gdGhpcy50b2FzdHIuZXJyb3IoY29udGVudCwgYCR7dGl0bGUgfHwgdGhpcy50cmFuc2xhdGUoJ0Vycm9yJyl9ICgke21lc3NhZ2VMZW5ndGh9KWAsIHtcclxuICAgICAgICAgIGVuYWJsZUh0bWw6IHRydWUsXHJcbiAgICAgICAgICB0aW1lT3V0OiBkZWxheSB8fCAzMDAwLFxyXG4gICAgICAgICAgbWVzc2FnZUNsYXNzOiBgdG9hc3QtbWVzc2FnZSB0b2FzdC1tZXNzYWdlLSR7aWR9YCxcclxuICAgICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgICAgdGFwVG9EaXNtaXNzOiBmYWxzZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd3YXJuaW5nJzpcclxuICAgICAgICB0b2FzdCA9IHRoaXMudG9hc3RyLndhcm5pbmcoY29udGVudCwgYCR7dGl0bGUgfHwgdGhpcy50cmFuc2xhdGUoJ1dhcm5pbmcnKX0gKCR7bWVzc2FnZUxlbmd0aH0pYCwge1xyXG4gICAgICAgICAgZW5hYmxlSHRtbDogdHJ1ZSxcclxuICAgICAgICAgIHRpbWVPdXQ6IGRlbGF5IHx8IDMwMDAsXHJcbiAgICAgICAgICBtZXNzYWdlQ2xhc3M6IGB0b2FzdC1tZXNzYWdlIHRvYXN0LW1lc3NhZ2UtJHtpZH1gLFxyXG4gICAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgICAgICB0YXBUb0Rpc21pc3M6IGZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmICh0b2FzdCkge1xyXG4gICAgICB0b2FzdC5vblNob3duXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICB0YWtlVW50aWwodG9hc3Qub25IaWRkZW4pXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgbWVzc2FnZUVsZTogSFRNTERpdkVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAudG9hc3QtbWVzc2FnZS0ke2lkfWApO1xyXG4gICAgICAgICAgbWVzc2FnZUVsZS5pbm5lckhUTUwgPSBjb250ZW50O1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGUgPSB7XHJcbiAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgIGlmICh0eXBlb2YgZXJyID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZnkud2FybmluZyhlcnIpO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlcnIgPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICBsZXQgbWVzc2FnZSA9XHJcbiAgICAgICAgICBlcnI/LmVycm9yIHx8XHJcbiAgICAgICAgICBlcnI/Lm1lc3NhZ2UgfHxcclxuICAgICAgICAgIGVycj8uRXhjZXB0aW9uTWVzc2FnZSB8fFxyXG4gICAgICAgICAgZXJyPy5NZXNzYWdlIHx8XHJcbiAgICAgICAgICBcIlVua25vd24gZXJyb3JcIjtcclxuICAgICAgICBpZiAodHlwZW9mIGVyci5qc29uID09PSBcImZ1bmN0aW9uXCIpIHtcclxuICAgICAgICAgIGVyciA9IGVyci5qc29uKCk7XHJcbiAgICAgICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UgPVxyXG4gICAgICAgICAgICAgIGVycj8uZXJyb3IgfHxcclxuICAgICAgICAgICAgICBlcnI/Lm1lc3NhZ2UgfHxcclxuICAgICAgICAgICAgICBlcnI/LkV4Y2VwdGlvbk1lc3NhZ2UgfHxcclxuICAgICAgICAgICAgICBlcnI/Lk1lc3NhZ2UgfHxcclxuICAgICAgICAgICAgICBcIlVua25vd24gZXJyb3JcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ub3RpZnkud2FybmluZyhtZXNzYWdlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm5vdGlmeS53YXJuaW5nKFwiVW5rbm93biBlcnJvclwiKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICB9O1xyXG5cclxuICBjb25maXJtID0gKFxyXG4gICAgbWVzc2FnZTogc3RyaW5nLFxyXG4gICAgb3B0aW9uOiB7XHJcbiAgICAgIHRpdGxlPzogc3RyaW5nO1xyXG4gICAgICB5ZXNUaXRsZT86IHN0cmluZztcclxuICAgICAgbm9UaXRsZT86IHN0cmluZztcclxuICAgICAgeWVzQnV0dG9uQ29sb3I/OiBzdHJpbmc7XHJcbiAgICAgIG5vQnV0dG9uQ29sb3I/OiBzdHJpbmc7XHJcbiAgICB9ID0ge31cclxuICApID0+IHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nQ29uZmlybUNvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogXCI0MDBweFwiLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgdGl0bGU6IG9wdGlvbj8udGl0bGUgfHwgdGhpcy50cmFuc2xhdGUoXCJDb25maXJtXCIpLFxyXG4gICAgICAgIG1lc3NhZ2UsXHJcbiAgICAgICAgeWVzVGl0bGU6IG9wdGlvbj8ueWVzVGl0bGUgfHwgdGhpcy50cmFuc2xhdGUoXCJZZXNcIiksXHJcbiAgICAgICAgbm9UaXRsZTogb3B0aW9uPy5ub1RpdGxlIHx8IHRoaXMudHJhbnNsYXRlKFwiTm9cIiksXHJcbiAgICAgICAgbm9CdXR0b25Db2xvcjogb3B0aW9uPy5ub0J1dHRvbkNvbG9yIHx8IFwic2Vjb25kYXJ5XCIsXHJcbiAgICAgICAgeWVzQnV0dG9uQ29sb3I6IG9wdGlvbj8ueWVzQnV0dG9uQ29sb3IgfHwgXCJwcmltYXJ5XCIsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdCA9PT0gXCJBQ0NFUFRcIikge1xyXG4gICAgICAgICAgICByZXNvbHZlKG51bGwpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgPT09IFwiQ0FOQ0VMXCIpIHtcclxuICAgICAgICAgICAgcmVqZWN0KHJlc3VsdCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXNvbHZlKG51bGwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBjb25maXJtRGVsZXRlID0gKCkgPT4gdGhpcy5jb25maXJtKHRoaXMudHJhbnNsYXRlKFwiRGVsZXRlIHJlY29yZChzKVwiKSk7XHJcblxyXG4gIGNvbmZpcm1BcHByb3ZlID0gKCkgPT4gdGhpcy5jb25maXJtKHRoaXMudHJhbnNsYXRlKFwiQXBwcm92ZSByZWNvcmQocylcIikpO1xyXG5cclxuICBjb25maXJtV2l0aElucHV0ID0gKFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIG9wdGlvbjoge1xyXG4gICAgICBtZXNzYWdlPzogc3RyaW5nO1xyXG4gICAgICB5ZXNUaXRsZT86IHN0cmluZztcclxuICAgICAgbm9UaXRsZT86IHN0cmluZztcclxuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gICAgICBtYXhsZW5ndGg/OiBudW1iZXI7XHJcbiAgICAgIHllc0J1dHRvbkNvbG9yPzogc3RyaW5nO1xyXG4gICAgICBub0J1dHRvbkNvbG9yPzogc3RyaW5nO1xyXG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XHJcbiAgICB9ID0ge31cclxuICApOiBQcm9taXNlPHN0cmluZz4gPT4ge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEaWFsb2dDb25maXJtQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiBcIjQwMHB4XCIsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICB0aXRsZTogdGl0bGUgfHwgdGhpcy50cmFuc2xhdGUoXCJDb25maXJtXCIpLFxyXG4gICAgICAgIG1lc3NhZ2U6IG9wdGlvbj8ubWVzc2FnZSxcclxuICAgICAgICB5ZXNUaXRsZTogb3B0aW9uPy55ZXNUaXRsZSB8fCB0aGlzLnRyYW5zbGF0ZShcIlllc1wiKSxcclxuICAgICAgICBub1RpdGxlOiBvcHRpb24/Lm5vVGl0bGUgfHwgdGhpcy50cmFuc2xhdGUoXCJOb1wiKSxcclxuICAgICAgICBub0J1dHRvbkNvbG9yOiBvcHRpb24/Lm5vQnV0dG9uQ29sb3IgfHwgXCJzZWNvbmRhcnlcIixcclxuICAgICAgICB5ZXNCdXR0b25Db2xvcjogb3B0aW9uPy55ZXNCdXR0b25Db2xvciB8fCBcInByaW1hcnlcIixcclxuICAgICAgICBpbnB1dDoge1xyXG4gICAgICAgICAgbWF4bGVuZ3RoOiBvcHRpb24/Lm1heGxlbmd0aCB8fCAyNTUsXHJcbiAgICAgICAgICByZXF1aXJlZDogb3B0aW9uPy5yZXF1aXJlZCxcclxuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogb3B0aW9uPy5kZWZhdWx0VmFsdWUgfHwgJydcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQgPT09IFwiQUNDRVBUXCIpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQgPT09IFwiQ0FOQ0VMXCIpIHtcclxuICAgICAgICAgICAgcmVqZWN0KHJlc3VsdCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgdHJhbnNsYXRlID0gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGUodmFsdWUpO1xyXG4gIH07XHJcbn1cclxuIl19
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ub3RpZnkvIiwic291cmNlcyI6WyJzcmMvbGliL25vdGlmeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQWUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFHakIsTUFBTSxPQUFPLGVBQWU7SUFZMUIsWUFDVSxNQUFpQixFQUNqQixNQUFxQixFQUNyQixnQkFBb0M7UUFGcEMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFkOUMseUJBQWlCLEdBQUcsRUFBQyxDQUFDLHFFQUFxRTtRQUMzRixpQkFTSSxFQUFFLEVBQUM7UUFPUCxVQUFLLEdBQUc7WUFDTixJQUFJLEVBQUUsQ0FDSixPQUFnQixFQUNoQixLQUFjLEVBQ2QsUUFBaUIsRUFDakIsSUFBYSxFQUNiLEVBQUU7Z0JBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7b0JBQ3ZDLEtBQUssRUFBRSxPQUFP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UUFBUSxFQUFFLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxRQUFRO3dCQUMxQixZQUFZLEVBQUUsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsWUFBWSxLQUFJLEVBQUU7cUJBQ3pDO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDckMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUMzQyxJQUFJLE1BQU0sRUFBRTt3QkFDVixJQUFJLE1BQU0sS0FBSyxRQUFRLEVBQUU7NEJBQ3ZCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzt5QkFDakI7NkJBQU0sSUFBSSxNQUFNLEtBQUssUUFBUSxFQUFFOzRCQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7eUJBQ2hCOzZCQUFNOzRCQUNMLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzt5QkFDakI7cUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVNLGNBQVMsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUM7SUFsU0MsQ0FBQzs7OztZQWpCTCxVQUFVOzs7WUFWRixTQUFTO1lBRUksYUFBYTtZQUMxQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJAc2QtYW5ndWxhci9jb3JlL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBEaWFsb2dDb25maXJtQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9kaWFsb2ctY29uZmlybS9kaWFsb2ctY29uZmlybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQWN0aXZlVG9hc3QsIFRvYXN0clNlcnZpY2UgfSBmcm9tIFwibmd4LXRvYXN0clwiO1xyXG5pbXBvcnQgeyBTZFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQHNkLWFuZ3VsYXIvY29yZS90cmFuc2xhdGVcIjtcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xyXG5cclxubGV0IG5vdGlmeUlkID0gMDtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNkTm90aWZ5U2VydmljZSB7XHJcbiAgI2RlbGF5RHVyYXRpb24gPSA1MDA7IC8vIEPDoWMgZXJyb3Ivd2FybmluZyBtZXNzYWdlIHPhur0gdOG7sSDEkeG7mW5nIGfhu5lwIHNhdSBraG/huqNuZyB0aOG7nWkgZ2lhbiB0csOqblxyXG4gICNjYWNoZToge1xyXG4gICAgW2tleTogc3RyaW5nXToge1xyXG4gICAgICBjcmVhdGVkRGF0ZTogRGF0ZTtcclxuICAgICAgc3ViamVjdDogU3ViamVjdDxhbnk+O1xyXG4gICAgICByZXNwb25zZT86IHtcclxuICAgICAgICBzdGF0dXM/OiAnc3VjY2VzcycgfCAnZXJyb3InO1xyXG4gICAgICAgIHJlc3VsdDogYW55LFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSA9IHt9O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBTZFRyYW5zbGF0ZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGFsZXJ0ID0ge1xyXG4gICAgaW5mbzogKFxyXG4gICAgICBtZXNzYWdlPzogc3RyaW5nLFxyXG4gICAgICB0aXRsZT86IHN0cmluZyxcclxuICAgICAgeWVzVGl0bGU/OiBzdHJpbmcsXHJcbiAgICAgIGljb24/OiBzdHJpbmdcclxuICAgICkgPT4ge1xyXG4gICAgICB0aGlzLmRpYWxvZy5vcGVuKERpYWxvZ0NvbmZpcm1Db21wb25lbnQsIHtcclxuICAgICAgICB3aWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIGljb246IGljb24gfHwgXCJpbmZvXCIsXHJcbiAgICAgICAgICB0aXRsZTogdGl0bGUgfHwgdGhpcy50cmFuc2xhdGUoXCJOb3RpY2VcIiksXHJcbiAgICAgICAgICBtZXNzYWdlOiBtZXNzYWdlIHx8IFwiRG9uZSFcIixcclxuICAgICAgICAgIHllc1RpdGxlOiB5ZXNUaXRsZSB8fCB0aGlzLnRyYW5zbGF0ZShcIk9rXCIpLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIHN1Y2Nlc3M6IChcclxuICAgICAgbWVzc2FnZT86IHN0cmluZyxcclxuICAgICAgdGl0bGU/OiBzdHJpbmcsXHJcbiAgICAgIHllc1RpdGxlPzogc3RyaW5nLFxyXG4gICAgICBpY29uPzogc3RyaW5nXHJcbiAgICApID0+IHtcclxuICAgICAgdGhpcy5kaWFsb2cub3BlbihEaWFsb2dDb25maXJtQ29tcG9uZW50LCB7XHJcbiAgICAgICAgd2lkdGg6IFwiNDAwcHhcIixcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBpY29uOiBpY29uIHx8IFwiZG9uZVwiLFxyXG4gICAgICAgICAgdGl0bGU6IHRpdGxlIHx8IHRoaXMudHJhbnNsYXRlKFwiU3VjY2Vzc1wiKSxcclxuICAgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UgfHwgXCJEb25lIVwiLFxyXG4gICAgICAgICAgeWVzVGl0bGU6IHllc1RpdGxlIHx8IHRoaXMudHJhbnNsYXRlKFwiT2tcIiksXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgd2FybmluZzogKFxyXG4gICAgICBtZXNzYWdlPzogc3RyaW5nLFxyXG4gICAgICB0aXRsZT86IHN0cmluZyxcclxuICAgICAgeWVzVGl0bGU/OiBzdHJpbmcsXHJcbiAgICAgIGljb24/OiBzdHJpbmdcclxuICAgICkgPT4ge1xyXG4gICAgICB0aGlzLmRpYWxvZy5vcGVuKERpYWxvZ0NvbmZpcm1Db21wb25lbnQsIHtcclxuICAgICAgICB3aWR0aDogXCI0MDBweFwiLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIGljb246IGljb24gfHwgXCJ3YXJuaW5nXCIsXHJcbiAgICAgICAgICB0aXRsZTogdGl0bGUgfHwgdGhpcy50cmFuc2xhdGUoXCJXYXJuaW5nXCIpLFxyXG4gICAgICAgICAgbWVzc2FnZTogbWVzc2FnZSB8fCBcIlNvbWV0aGluZyB3ZW50IHdyb25nIVwiLFxyXG4gICAgICAgICAgeWVzVGl0bGU6IHllc1RpdGxlIHx8IHRoaXMudHJhbnNsYXRlKFwiT2tcIiksXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgZXJyb3I6IChcclxuICAgICAgbWVzc2FnZT86IHN0cmluZyxcclxuICAgICAgdGl0bGU/OiBzdHJpbmcsXHJcbiAgICAgIHllc1RpdGxlPzogc3RyaW5nLFxyXG4gICAgICBpY29uPzogc3RyaW5nXHJcbiAgICApID0+IHtcclxuICAgICAgdGhpcy5kaWFsb2cub3BlbihEaWFsb2dDb25maXJtQ29tcG9uZW50LCB7XHJcbiAgICAgICAgd2lkdGg6IFwiNDAwcHhcIixcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBpY29uOiBpY29uIHx8IFwiZXJyb3JcIixcclxuICAgICAgICAgIHRpdGxlOiB0aXRsZSB8fCB0aGlzLnRyYW5zbGF0ZShcIkVycm9yXCIpLFxyXG4gICAgICAgICAgbWVzc2FnZTogbWVzc2FnZSB8fCBcIlNvbWV0aGluZyB3ZW50IHdyb25nIVwiLFxyXG4gICAgICAgICAgeWVzVGl0bGU6IHllc1RpdGxlIHx8IHRoaXMudHJhbnNsYXRlKFwiT2tcIiksXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gIH07XHJcblxyXG4gIG5vdGlmeSA9IHtcclxuICAgIHN1Y2Nlc3M6IChtZXNzYWdlPzogc3RyaW5nLCBkZWxheT86IG51bWJlciwgdGl0bGU/OiBzdHJpbmcpID0+IHtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuICAgICAgLy8gY29uc3Qgc3R5bGUgPSBgYm9yZGVyLXJhZGl1czogNXB4OyBtYXJnaW46IDA7IHBhZGRpbmc6IDEycHg7IHotaW5kZXg6IDk5OTk5OyB0b3A6IDVweDsgcmlnaHQ6IDVweDsgZGlzcGxheTogbm9uZTsgcG9zaXRpb246IGZpeGVkO2NvbG9yOiAjNEY4QTEwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjREZGMkJGYDtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuICAgICAgLy8gY29uc3QgaHRtbCA9IGA8ZGl2IGlkPVwiJHt0aGlzLm5vdGlmeUlkfVwiIHN0eWxlPVwiJHtzdHlsZX1cIj48aSBjbGFzcz1cImZhIGZhLWNoZWNrXCI+PC9pPiAke21lc3NhZ2UgfHwgdGhpcy50cmFuc2xhdGUoJ1N1Y2Nlc3MnKX08L2Rpdj5gO1xyXG4gICAgICAvLyB0aGlzLnNob3dOb3RpZnkoaHRtbCwgZGVsYXkpO1xyXG4gICAgICBjb25zdCBjb250ZW50ID0gbWVzc2FnZSB8fCB0aGlzLnRyYW5zbGF0ZShcIlN1Y2Nlc3NcIik7XHJcbiAgICAgIHRoaXMudG9hc3RyLnN1Y2Nlc3MoY29udGVudCwgdGl0bGUsIHtcclxuICAgICAgICBlbmFibGVIdG1sOiB0cnVlLFxyXG4gICAgICAgIHRpbWVPdXQ6IGRlbGF5IHx8IDMwMDAsXHJcbiAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIHdhcm5pbmc6IChtZXNzYWdlPzogc3RyaW5nIHwgc3RyaW5nW10sIGRlbGF5PzogbnVtYmVyLCB0aXRsZT86IHN0cmluZykgPT4ge1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG4gICAgICAvLyBjb25zdCBzdHlsZSA9IGBib3JkZXItcmFkaXVzOiA1cHg7IG1hcmdpbjogMDsgcGFkZGluZzogMTJweDsgei1pbmRleDogOTk5OTk7IHRvcDogNXB4OyByaWdodDogNXB4OyBkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogZml4ZWQ7Y29sb3I6ICM5RjYwMDA7IGJhY2tncm91bmQtY29sb3I6ICNGRUVGQjNgO1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxyXG4gICAgICAvLyBjb25zdCBodG1sID0gYDxkaXYgaWQ9XCIke3RoaXMubm90aWZ5SWR9XCIgc3R5bGU9XCIke3N0eWxlfVwiPjxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+ICR7bWVzc2FnZSB8fCB0aGlzLnRyYW5zbGF0ZSgnV2FybmluZycpfTwvZGl2PmA7XHJcbiAgICAgIC8vIHRoaXMuc2hvd05vdGlmeShodG1sLCBkZWxheSk7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG1lc3NhZ2UpKXtcclxuICAgICAgICB0aGlzLiNidWlsZFRvYXN0TXVsdGlNZXNzc2FnZSgnd2FybmluZycsIG1lc3NhZ2UsIGRlbGF5LCB0aXRsZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IG1lc3NhZ2UgfHwgdGhpcy50cmFuc2xhdGUoXCJXYXJuaW5nXCIpO1xyXG4gICAgICAgIHRoaXMudG9hc3RyLndhcm5pbmcoY29udGVudCwgdGl0bGUsIHtcclxuICAgICAgICAgIGVuYWJsZUh0bWw6IHRydWUsXHJcbiAgICAgICAgICB0aW1lT3V0OiBkZWxheSB8fCAzMDAwLFxyXG4gICAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBlcnJvcjogKG1lc3NhZ2U/OiBzdHJpbmcgfCBzdHJpbmdbXSwgZGVsYXk/OiBudW1iZXIsIHRpdGxlPzogc3RyaW5nKSA9PiB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICAgIC8vIGNvbnN0IHN0eWxlID0gYGJvcmRlci1yYWRpdXM6IDVweDsgbWFyZ2luOiAwOyBwYWRkaW5nOiAxMnB4OyB6LWluZGV4OiA5OTk5OTsgdG9wOiA1cHg7IHJpZ2h0OiA1cHg7IGRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiBmaXhlZDtjb2xvcjogI0Q4MDAwQzsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRDJEMmA7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICAgIC8vIGNvbnN0IGh0bWwgPSBgPGRpdiBpZD1cIiR7dGhpcy5ub3RpZnlJZH1cIiBzdHlsZT1cIiR7c3R5bGV9XCI+PGkgY2xhc3M9XCJmYSBmYS10aW1lc1wiPjwvaT4gJHttZXNzYWdlIHx8IHRoaXMudHJhbnNsYXRlKCdFcnJvcicpfTwvZGl2PmA7XHJcbiAgICAgIC8vIHRoaXMuc2hvd05vdGlmeShodG1sLCBkZWxheSk7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG1lc3NhZ2UpKXtcclxuICAgICAgICB0aGlzLiNidWlsZFRvYXN0TXVsdGlNZXNzc2FnZSgnZXJyb3InLCBtZXNzYWdlLCBkZWxheSwgdGl0bGUpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBtZXNzYWdlIHx8IHRoaXMudHJhbnNsYXRlKFwiRXJyb3JcIik7XHJcbiAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoY29udGVudCwgdGl0bGUsIHtcclxuICAgICAgICAgIGVuYWJsZUh0bWw6IHRydWUsXHJcbiAgICAgICAgICB0aW1lT3V0OiBkZWxheSB8fCAzMDAwLFxyXG4gICAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgfTtcclxuXHJcbiAgI2J1aWxkVG9hc3RNdWx0aU1lc3NzYWdlID0gKHR5cGU6ICd3YXJuaW5nJyB8ICdlcnJvcicsIG1lc3NhZ2VzOiBzdHJpbmdbXSwgZGVsYXk/OiBudW1iZXIsIHRpdGxlPzogc3RyaW5nKSA9PiB7XHJcbiAgICAvKiogc+G7kSBsxrDhu6NuZyBpdGVtIGhp4buDbiB0aOG7iyBt4bq3YyDEkeG7i25oICovXHJcbiAgICBjb25zdCBzaG93TnVtID0gMjtcclxuICAgIGNvbnN0IGlkID0gYHNkLW5vdGlmeS1ja2ItJHt1dWlkLnY0KCl9YDtcclxuICAgIGNvbnN0IG1lc3NhZ2VMZW5ndGggPSBtZXNzYWdlcy5sZW5ndGg7XHJcbiAgICBjb25zdCBtZXNzYWdlUmVzdHMgPSBtZXNzYWdlcy5zcGxpY2Uoc2hvd051bSk7XHJcbiAgICBjb25zdCBtZXNzYWdlQ29udGFpbmVyID0gYDx1bCBjbGFzcz1cInNkLW5vdGlmeV9fbGlzdFwiPnswfXsxfTwvdWw+YDtcclxuICAgIGNvbnN0IG1lc3NhZ2VUZW1wID0gYDxsaSBjbGFzcz1cInNkLW5vdGlmeV9faXRlbVwiPi0gezB9PC9saT5gO1xyXG4gICAgbGV0IGNvbnRlbnRSZXN0ID0gJyc7XHJcbiAgICBpZiAobWVzc2FnZVJlc3RzPy5sZW5ndGgpIHtcclxuICAgICAgY29udGVudFJlc3QgPSBgPGlucHV0IGlkPVwiJHtpZH1cIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW4gc2Qtbm90aWZ5X19jaGVja2JveFwiIHR5cGU9XCJjaGVja2JveFwiIC8+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cInNkLW5vdGlmeV9fdGV4dCBzZC1ub3RpZnlfX3RleHQtLXNob3cgdGV4dC1zZWNvbmRhcnlcIiBmb3I9XCIke2lkfVwiPiR7dGhpcy50cmFuc2xhdGUoJ1Nob3cgbW9yZScpfTwvbGFiZWw+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzZC1ub3RpZnlfX2l0ZW0tLXJlc3RcIj5cclxuICAgICAgICAke21lc3NhZ2VSZXN0cy5tYXAobSA9PiBTdHJpbmcuZm9ybWF0KG1lc3NhZ2VUZW1wLCBtKSkuam9pbignJyl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJzZC1ub3RpZnlfX3RleHQgc2Qtbm90aWZ5X190ZXh0LS1sZXNzIHRleHQtc2Vjb25kYXJ5XCIgZm9yPVwiJHtpZH1cIj4ke3RoaXMudHJhbnNsYXRlKCdTaG93IGxlc3MnKX08L2xhYmVsPmA7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb250ZW50ID0gU3RyaW5nLmZvcm1hdChtZXNzYWdlQ29udGFpbmVyLCBtZXNzYWdlcy5tYXAobSA9PiBTdHJpbmcuZm9ybWF0KG1lc3NhZ2VUZW1wLCBtKSkuam9pbignJyksIGNvbnRlbnRSZXN0KTtcclxuICAgIGxldCB0b2FzdDogQWN0aXZlVG9hc3Q8YW55PjtcclxuICAgIC8vIGtoaSB0cnV54buBbiBtZXNzYWdlIGh0bWwgc+G6vSBi4buLIHNhbml0aXplIG7Dqm4gcGjhuqNpIHRydXnhu4FuIGlubmVySFRNTCBraGkgdG9hc3QgaGnhu4duIGzDqm5cclxuICAgIC8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3NjdHRjcGVyL25neC10b2FzdHIvYmxvYi92MTIuMS4wL3NyYy9saWIvdG9hc3RyL3RvYXN0ci5zZXJ2aWNlLnRzI0wyNzFcclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlICdlcnJvcic6XHJcbiAgICAgICAgdG9hc3QgPSB0aGlzLnRvYXN0ci5lcnJvcihjb250ZW50LCBgJHt0aXRsZSB8fCB0aGlzLnRyYW5zbGF0ZSgnRXJyb3InKX0gKCR7bWVzc2FnZUxlbmd0aH0pYCwge1xyXG4gICAgICAgICAgZW5hYmxlSHRtbDogdHJ1ZSxcclxuICAgICAgICAgIHRpbWVPdXQ6IGRlbGF5IHx8IDMwMDAsXHJcbiAgICAgICAgICBtZXNzYWdlQ2xhc3M6IGB0b2FzdC1tZXNzYWdlIHRvYXN0LW1lc3NhZ2UtJHtpZH1gLFxyXG4gICAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgICAgICB0YXBUb0Rpc21pc3M6IGZhbHNlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3dhcm5pbmcnOlxyXG4gICAgICAgIHRvYXN0ID0gdGhpcy50b2FzdHIud2FybmluZyhjb250ZW50LCBgJHt0aXRsZSB8fCB0aGlzLnRyYW5zbGF0ZSgnV2FybmluZycpfSAoJHttZXNzYWdlTGVuZ3RofSlgLCB7XHJcbiAgICAgICAgICBlbmFibGVIdG1sOiB0cnVlLFxyXG4gICAgICAgICAgdGltZU91dDogZGVsYXkgfHwgMzAwMCxcclxuICAgICAgICAgIG1lc3NhZ2VDbGFzczogYHRvYXN0LW1lc3NhZ2UgdG9hc3QtbWVzc2FnZS0ke2lkfWAsXHJcbiAgICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgIHRhcFRvRGlzbWlzczogZmFsc2VcclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYgKHRvYXN0KSB7XHJcbiAgICAgIHRvYXN0Lm9uU2hvd25cclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRha2VVbnRpbCh0b2FzdC5vbkhpZGRlbilcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBtZXNzYWdlRWxlOiBIVE1MRGl2RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYC50b2FzdC1tZXNzYWdlLSR7aWR9YCk7XHJcbiAgICAgICAgICBtZXNzYWdlRWxlLmlubmVySFRNTCA9IGNvbnRlbnQ7XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZSA9IHtcclxuICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHR5cGVvZiBlcnIgPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICB0aGlzLm5vdGlmeS53YXJuaW5nKGVycik7XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGVyciA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgIGxldCBtZXNzYWdlID1cclxuICAgICAgICAgIGVycj8uZXJyb3IgfHxcclxuICAgICAgICAgIGVycj8ubWVzc2FnZSB8fFxyXG4gICAgICAgICAgZXJyPy5FeGNlcHRpb25NZXNzYWdlIHx8XHJcbiAgICAgICAgICBlcnI/Lk1lc3NhZ2UgfHxcclxuICAgICAgICAgIFwiVW5rbm93biBlcnJvclwiO1xyXG4gICAgICAgIGlmICh0eXBlb2YgZXJyLmpzb24gPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgICAgZXJyID0gZXJyLmpzb24oKTtcclxuICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgbWVzc2FnZSA9XHJcbiAgICAgICAgICAgICAgZXJyPy5lcnJvciB8fFxyXG4gICAgICAgICAgICAgIGVycj8ubWVzc2FnZSB8fFxyXG4gICAgICAgICAgICAgIGVycj8uRXhjZXB0aW9uTWVzc2FnZSB8fFxyXG4gICAgICAgICAgICAgIGVycj8uTWVzc2FnZSB8fFxyXG4gICAgICAgICAgICAgIFwiVW5rbm93biBlcnJvclwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm5vdGlmeS53YXJuaW5nKG1lc3NhZ2UpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubm90aWZ5Lndhcm5pbmcoXCJVbmtub3duIGVycm9yXCIpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gIH07XHJcblxyXG4gIGNvbmZpcm0gPSAoXHJcbiAgICBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICBvcHRpb246IHtcclxuICAgICAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgICAgIHllc1RpdGxlPzogc3RyaW5nO1xyXG4gICAgICBub1RpdGxlPzogc3RyaW5nO1xyXG4gICAgICB5ZXNCdXR0b25Db2xvcj86IHN0cmluZztcclxuICAgICAgbm9CdXR0b25Db2xvcj86IHN0cmluZztcclxuICAgIH0gPSB7fVxyXG4gICkgPT4ge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihEaWFsb2dDb25maXJtQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiBcIjQwMHB4XCIsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICB0aXRsZTogb3B0aW9uPy50aXRsZSB8fCB0aGlzLnRyYW5zbGF0ZShcIkNvbmZpcm1cIiksXHJcbiAgICAgICAgbWVzc2FnZSxcclxuICAgICAgICB5ZXNUaXRsZTogb3B0aW9uPy55ZXNUaXRsZSB8fCB0aGlzLnRyYW5zbGF0ZShcIlllc1wiKSxcclxuICAgICAgICBub1RpdGxlOiBvcHRpb24/Lm5vVGl0bGUgfHwgdGhpcy50cmFuc2xhdGUoXCJOb1wiKSxcclxuICAgICAgICBub0J1dHRvbkNvbG9yOiBvcHRpb24/Lm5vQnV0dG9uQ29sb3IgfHwgXCJzZWNvbmRhcnlcIixcclxuICAgICAgICB5ZXNCdXR0b25Db2xvcjogb3B0aW9uPy55ZXNCdXR0b25Db2xvciB8fCBcInByaW1hcnlcIixcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0ID09PSBcIkFDQ0VQVFwiKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUobnVsbCk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdCA9PT0gXCJDQU5DRUxcIikge1xyXG4gICAgICAgICAgICByZWplY3QocmVzdWx0KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUobnVsbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIGNvbmZpcm1EZWxldGUgPSAoKSA9PiB0aGlzLmNvbmZpcm0odGhpcy50cmFuc2xhdGUoXCJEZWxldGUgcmVjb3JkKHMpXCIpKTtcclxuXHJcbiAgY29uZmlybUFwcHJvdmUgPSAoKSA9PiB0aGlzLmNvbmZpcm0odGhpcy50cmFuc2xhdGUoXCJBcHByb3ZlIHJlY29yZChzKVwiKSk7XHJcblxyXG4gIGNvbmZpcm1XaXRoSW5wdXQgPSAoXHJcbiAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgb3B0aW9uOiB7XHJcbiAgICAgIG1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgICAgIHllc1RpdGxlPzogc3RyaW5nO1xyXG4gICAgICBub1RpdGxlPzogc3RyaW5nO1xyXG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgICAgIG1heGxlbmd0aD86IG51bWJlcjtcclxuICAgICAgeWVzQnV0dG9uQ29sb3I/OiBzdHJpbmc7XHJcbiAgICAgIG5vQnV0dG9uQ29sb3I/OiBzdHJpbmc7XHJcbiAgICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcclxuICAgIH0gPSB7fVxyXG4gICk6IFByb21pc2U8c3RyaW5nPiA9PiB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKERpYWxvZ0NvbmZpcm1Db21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IFwiNDAwcHhcIixcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHRpdGxlOiB0aXRsZSB8fCB0aGlzLnRyYW5zbGF0ZShcIkNvbmZpcm1cIiksXHJcbiAgICAgICAgbWVzc2FnZTogb3B0aW9uPy5tZXNzYWdlLFxyXG4gICAgICAgIHllc1RpdGxlOiBvcHRpb24/Lnllc1RpdGxlIHx8IHRoaXMudHJhbnNsYXRlKFwiWWVzXCIpLFxyXG4gICAgICAgIG5vVGl0bGU6IG9wdGlvbj8ubm9UaXRsZSB8fCB0aGlzLnRyYW5zbGF0ZShcIk5vXCIpLFxyXG4gICAgICAgIG5vQnV0dG9uQ29sb3I6IG9wdGlvbj8ubm9CdXR0b25Db2xvciB8fCBcInNlY29uZGFyeVwiLFxyXG4gICAgICAgIHllc0J1dHRvbkNvbG9yOiBvcHRpb24/Lnllc0J1dHRvbkNvbG9yIHx8IFwicHJpbWFyeVwiLFxyXG4gICAgICAgIGlucHV0OiB7XHJcbiAgICAgICAgICBtYXhsZW5ndGg6IG9wdGlvbj8ubWF4bGVuZ3RoIHx8IDI1NSxcclxuICAgICAgICAgIHJlcXVpcmVkOiBvcHRpb24/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBvcHRpb24/LmRlZmF1bHRWYWx1ZSB8fCAnJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdCA9PT0gXCJBQ0NFUFRcIikge1xyXG4gICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdCA9PT0gXCJDQU5DRUxcIikge1xyXG4gICAgICAgICAgICByZWplY3QocmVzdWx0KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSB0cmFuc2xhdGUgPSAodmFsdWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZSh2YWx1ZSk7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -431,6 +431,20 @@ SdScrollDirective.propDecorators = {
431
431
  onMouseOut: [{ type: HostListener, args: ['mouseout',] }]
432
432
  };
433
433
 
434
+ class SdSuffixDirective {
435
+ constructor(templateRef) {
436
+ this.templateRef = templateRef;
437
+ }
438
+ }
439
+ SdSuffixDirective.decorators = [
440
+ { type: Directive, args: [{
441
+ selector: '[sdSuffix]'
442
+ },] }
443
+ ];
444
+ SdSuffixDirective.ctorParameters = () => [
445
+ { type: TemplateRef }
446
+ ];
447
+
434
448
  // import './typings';
435
449
  class SdCommonModule {
436
450
  }
@@ -442,12 +456,14 @@ SdCommonModule.decorators = [
442
456
  declarations: [
443
457
  SdViewDefDirective,
444
458
  SdLetDirective,
445
- SdScrollDirective
459
+ SdScrollDirective,
460
+ SdSuffixDirective
446
461
  ],
447
462
  exports: [
448
463
  SdViewDefDirective,
449
464
  SdLetDirective,
450
- SdScrollDirective
465
+ SdScrollDirective,
466
+ SdSuffixDirective
451
467
  ],
452
468
  providers: []
453
469
  },] }
@@ -457,5 +473,5 @@ SdCommonModule.decorators = [
457
473
  * Generated bundle index. Do not edit.
458
474
  */
459
475
 
460
- export { SdBrowserService, SdCommonModule, SdFormControl, SdLetDirective, SdScrollDirective, SdViewDefDirective };
476
+ export { SdBrowserService, SdCommonModule, SdFormControl, SdLetDirective, SdScrollDirective, SdSuffixDirective, SdViewDefDirective };
461
477
  //# sourceMappingURL=sd-angular-core-common.js.map