@seniorsistemas/angular-components 17.12.1 → 17.12.3

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 (24) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +20 -8
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/calendar-mask/calendar-mask.directive.d.ts +1 -0
  6. package/components/dynamic-form/configurations/fields/select-field.d.ts +2 -0
  7. package/esm2015/components/calendar-mask/calendar-mask.directive.js +17 -6
  8. package/esm2015/components/dynamic-form/components/fields/calendar/calendar-field.component.js +2 -2
  9. package/esm2015/components/dynamic-form/components/fields/editor/editor-field.component.js +2 -2
  10. package/esm2015/components/dynamic-form/components/fields/editor/editor-field.module.js +4 -3
  11. package/esm2015/components/dynamic-form/components/fields/select/select-field.component.js +2 -2
  12. package/esm2015/components/dynamic-form/configurations/fields/select-field.js +2 -1
  13. package/esm5/components/calendar-mask/calendar-mask.directive.js +16 -5
  14. package/esm5/components/dynamic-form/components/fields/calendar/calendar-field.component.js +2 -2
  15. package/esm5/components/dynamic-form/components/fields/editor/editor-field.component.js +2 -2
  16. package/esm5/components/dynamic-form/components/fields/editor/editor-field.module.js +4 -3
  17. package/esm5/components/dynamic-form/components/fields/select/select-field.component.js +2 -2
  18. package/esm5/components/dynamic-form/configurations/fields/select-field.js +2 -1
  19. package/fesm2015/seniorsistemas-angular-components.js +21 -9
  20. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  21. package/fesm5/seniorsistemas-angular-components.js +20 -8
  22. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  23. package/package.json +1 -1
  24. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -38,6 +38,7 @@ export declare class CalendarMaskDirective implements OnInit, OnDestroy, AfterVi
38
38
  onInputBlur(e: any): void;
39
39
  onKeyDown(e: any): void;
40
40
  onKeyPress(e: any): void;
41
+ private createCompleteMask;
41
42
  checkVal(allow?: boolean): any;
42
43
  onInputFocus(): void;
43
44
  onInputChange(event: any): void;
@@ -10,6 +10,7 @@ export interface SelectFieldConfig extends FieldConfig {
10
10
  onClick?: (event: any) => void;
11
11
  onChange?: (event: any) => void;
12
12
  emptyMessage?: string;
13
+ editable?: boolean;
13
14
  }
14
15
  export declare class SelectField extends Field {
15
16
  appendTo?: string;
@@ -22,6 +23,7 @@ export declare class SelectField extends Field {
22
23
  onClick?: (event: any) => void;
23
24
  onChange?: (event: any) => void;
24
25
  emptyMessage?: string;
26
+ editable?: boolean;
25
27
  constructor(config: SelectFieldConfig);
26
28
  }
27
29
  export declare class SelectOption {
@@ -155,6 +155,15 @@ let CalendarMaskDirective = class CalendarMaskDirective {
155
155
  this.updateModel(e);
156
156
  this.updateFilledState();
157
157
  }
158
+ createCompleteMask() {
159
+ switch (this.host.selectionMode) {
160
+ case "range":
161
+ return this.mask + ` ${this.host.rangeSeparator} ` + this.mask;
162
+ case "single":
163
+ case "multiple":
164
+ return this.mask;
165
+ }
166
+ }
158
167
  checkVal(allow) {
159
168
  // Try to place characters where they belong
160
169
  const test = this.input.value;
@@ -260,14 +269,15 @@ let CalendarMaskDirective = class CalendarMaskDirective {
260
269
  this.input.focus();
261
270
  }
262
271
  initMask() {
272
+ const completeMask = this.createCompleteMask();
263
273
  this.tests = [];
264
- this.partialPosition = this.mask.length;
265
- this.len = this.mask.length;
274
+ this.partialPosition = completeMask.length;
275
+ this.len = completeMask.length;
266
276
  this.firstNonMaskPos = null;
267
277
  this.defs = {
268
278
  "9": "[0-9]",
269
279
  };
270
- const maskTokens = this.mask.split("");
280
+ const maskTokens = completeMask.split("");
271
281
  for (let i = 0; i < maskTokens.length; i++) {
272
282
  const c = maskTokens[i];
273
283
  if (c == "?") {
@@ -504,7 +514,7 @@ let CalendarMaskDirective = class CalendarMaskDirective {
504
514
  let nextIsFocusable = false;
505
515
  let previousFocusable;
506
516
  let forceCloseModal = true;
507
- allFocusableElements.forEach(element => {
517
+ allFocusableElements.forEach((element) => {
508
518
  if (!e.shiftKey) {
509
519
  if (nextIsFocusable && element.id) {
510
520
  this.focusableElement(element.id, forceCloseModal);
@@ -536,8 +546,9 @@ let CalendarMaskDirective = class CalendarMaskDirective {
536
546
  focusableElement(id, hide) {
537
547
  const htmlElement = window.document.getElementById(id);
538
548
  htmlElement.focus();
539
- if (hide)
549
+ if (hide) {
540
550
  this.host.hideOverlay();
551
+ }
541
552
  }
542
553
  };
543
554
  CalendarMaskDirective.ctorParameters = () => [
@@ -559,4 +570,4 @@ CalendarMaskDirective = __decorate([
559
570
  })
560
571
  ], CalendarMaskDirective);
561
572
  export { CalendarMaskDirective };
562
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jYWxlbmRhci1tYXNrL2NhbGVuZGFyLW1hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSzVDLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBb0M5QixZQUFtQixJQUFjLEVBQVMsUUFBbUI7UUFBMUMsU0FBSSxHQUFKLElBQUksQ0FBVTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQVc7UUFsQzdELGNBQVMsR0FBRywwRUFBMEUsQ0FBQztRQUdoRixhQUFRLEdBQUcsR0FBRyxDQUFDO1FBR2YsY0FBUyxHQUFHLEtBQUssQ0FBQztRQW1CakIsY0FBUyxHQUFHLElBQUksQ0FBQztJQVN1QyxDQUFDO0lBRXpELFlBQVk7UUFDaEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBRTlCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQ2hFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FB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Q25DO0FBMW1CUSxxQkFBcUI7SUFIakMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLDJCQUEyQjtLQUN4QyxDQUFDO0dBQ1cscUJBQXFCLENBa25CakM7U0FsbkJZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gXCJwcmltZW5nL2NhbGVuZGFyXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcInAtY2FsZW5kYXJbc0NhbGVuZGFyTWFza11cIixcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJNYXNrRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gICAgU0VMRUNUT1JTID0gJ2J1dHRvbiwgW2hyZWZdLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNsb3RDaGFyID0gXCJfXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhdXRvQ2xlYXIgPSBmYWxzZTtcblxuICAgIHB1YmxpYyB2YWx1ZTogYW55O1xuICAgIHB1YmxpYyBpbnB1dDogSFRNTElucHV0RWxlbWVudDtcbiAgICBwdWJsaWMgZmlsbGVkOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBfbWFzazogc3RyaW5nO1xuICAgIHByaXZhdGUgZGVmczogYW55O1xuICAgIHByaXZhdGUgdGVzdHM6IGFueVtdO1xuICAgIHByaXZhdGUgcGFydGlhbFBvc2l0aW9uOiBhbnk7XG4gICAgcHJpdmF0ZSBmaXJzdE5vbk1hc2tQb3M6IG51bWJlcjtcbiAgICBwcml2YXRlIGxhc3RSZXF1aXJlZE5vbk1hc2tQb3M6IGFueTtcbiAgICBwcml2YXRlIGxlbjogbnVtYmVyO1xuICAgIHByaXZhdGUgb2xkVmFsOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBidWZmZXI6IGFueTtcbiAgICBwcml2YXRlIGRlZmF1bHRCdWZmZXI6IHN0cmluZztcbiAgICBwcml2YXRlIGZvY3VzVGV4dDogc3RyaW5nO1xuICAgIHByaXZhdGUgY2FyZXRUaW1lb3V0SWQ6IGFueTtcbiAgICBwcml2YXRlIGFuZHJvaWRDaHJvbWU6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBmaXJzdFRpbWUgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBmb2N1c0xpc3RlbmVyOiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgYmx1ckxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUga2V5ZG93bkxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUga2V5cHJlc3NMaXN0ZW5lcjogKCkgPT4gdm9pZDtcbiAgICBwcml2YXRlIGlucHV0TGlzdGVuZXI6ICgpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBwYXN0ZUxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGhvc3Q6IENhbGVuZGFyLCBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICAgIHByaXZhdGUgc2V0TGlzdGVuZXJzKCkge1xuICAgICAgICB0aGlzLmlucHV0ID0gdGhpcy5ob3N0LmlucHV0ZmllbGRWaWV3Q2hpbGQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5wdXQudmFsdWU7XG5cbiAgICAgICAgdGhpcy5mb2N1c0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5pbnB1dCwgXCJmb2N1c1wiLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uSW5wdXRGb2N1cygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmJsdXJMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXQsIFwiYmx1clwiLCAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbklucHV0Qmx1cihldmVudCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMua2V5ZG93bkxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5pbnB1dCwgXCJrZXlkb3duXCIsIChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uS2V5RG93bihldmVudCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMua2V5cHJlc3NMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXQsIFwia2V5cHJlc3NcIiwgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25LZXlQcmVzcyhldmVudCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaW5wdXRMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXQsIFwiaW5wdXRcIiwgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25JbnB1dENoYW5nZShldmVudCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucGFzdGVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuaW5wdXQsIFwicGFzdGVcIiwgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlSW5wdXRDaGFuZ2UoZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IHVhID0gbmF2aWdhdG9yLnVzZXJBZ2VudDtcbiAgICAgICAgdGhpcy5hbmRyb2lkQ2hyb21lID0gL2Nocm9tZS9pLnRlc3QodWEpICYmIC9hbmRyb2lkL2kudGVzdCh1YSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVNYXNrRnJvbURhdGVGb3JtYXQoKTtcbiAgICAgICAgdGhpcy5pbml0TWFzaygpO1xuICAgIH1cblxuICAgIGdldCBtYXNrKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXNrO1xuICAgIH1cblxuICAgIHNldCBtYXNrKHZhbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX21hc2sgPSB2YWw7XG5cbiAgICAgICAgdGhpcy5pbml0TWFzaygpO1xuICAgICAgICB0aGlzLndyaXRlVmFsdWUoXCJcIik7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQudmFsdWUgPSBcIlwiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0LnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jaGVja1ZhbCgpO1xuICAgICAgICAgICAgdGhpcy5mb2N1c1RleHQgPSB0aGlzLmlucHV0LnZhbHVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uSW5wdXRCbHVyKGU6IGFueSkge1xuICAgICAgICB0aGlzLmNoZWNrVmFsKCk7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcblxuICAgICAgICBpZiAodGhpcy52YWx1ZSAhPSB0aGlzLmZvY3VzVGV4dCkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmlucHV0LmRpc2FibGVkICYmXG4gICAgICAgICAgICAgICAgKHRoaXMudmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlID09PSBudWxsIHx8ICh0aGlzLnZhbHVlIGFzIHN0cmluZykuaW5kZXhPZih0aGlzLnNsb3RDaGFyKSA+PSAwKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICAgICAgZS50YXJnZXQudmFsdWUgPSBcIlwiO1xuICAgICAgICAgICAgICAgIHRoaXMuaG9zdC51cGRhdGVNb2RlbChudWxsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy51cGRhdGVNb2RlbChlKTtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJIVE1MRXZlbnRzXCIpO1xuICAgICAgICAgICAgZXZlbnQuaW5pdEV2ZW50KFwiY2hhbmdlXCIsIHRydWUsIGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25LZXlEb3duKGU6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5ob3N0LnJlYWRvbmx5SW5wdXQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGsgPSBlLndoaWNoIHx8IGUua2V5Q29kZTtcbiAgICAgICAgY29uc3QgaVBob25lID0gL2lwaG9uZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG4gICAgICAgIGxldCBwb3M7XG4gICAgICAgIGxldCBiZWdpbjtcbiAgICAgICAgbGV0IGVuZDtcbiAgICAgICAgdGhpcy5vbGRWYWwgPSB0aGlzLmlucHV0LnZhbHVlO1xuXG4gICAgICAgIC8vIEJhY2tzcGFjZSwgZGVsZXRlLCBhbmQgZXNjYXBlIGdldCBzcGVjaWFsIHRyZWF0bWVudFxuICAgICAgICBpZiAoayA9PT0gOCB8fCBrID09PSA0NiB8fCAoaVBob25lICYmIGsgPT09IDEyNykpIHtcbiAgICAgICAgICAgIHBvcyA9IHRoaXMuY2FyZXQoKTtcbiAgICAgICAgICAgIGJlZ2luID0gcG9zLmJlZ2luO1xuICAgICAgICAgICAgZW5kID0gcG9zLmVuZDtcblxuICAgICAgICAgICAgaWYgKGVuZCAtIGJlZ2luID09PSAwKSB7XG4gICAgICAgICAgICAgICAgYmVnaW4gPSBrICE9PSA0NiA/IHRoaXMuc2Vla1ByZXYoYmVnaW4pIDogKGVuZCA9IHRoaXMuc2Vla05leHQoYmVnaW4gLSAxKSk7XG4gICAgICAgICAgICAgICAgZW5kID0gayA9PT0gNDYgPyB0aGlzLnNlZWtOZXh0KGVuZCkgOiBlbmQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY2xlYXJCdWZmZXIoYmVnaW4sIGVuZCk7XG4gICAgICAgICAgICB0aGlzLnNoaWZ0TChiZWdpbiwgZW5kIC0gMSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGUpO1xuXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoayA9PT0gMTMpIHtcbiAgICAgICAgICAgIC8vIEVudGVyXG4gICAgICAgICAgICB0aGlzLm9uSW5wdXRCbHVyKGUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVNb2RlbChlKTtcbiAgICAgICAgfSBlbHNlIGlmIChrID09PSAyNykge1xuICAgICAgICAgICAgLy8gRXNjYXBlXG4gICAgICAgICAgICB0aGlzLmlucHV0LnZhbHVlID0gdGhpcy5mb2N1c1RleHQ7XG4gICAgICAgICAgICB0aGlzLmNhcmV0KDAsIHRoaXMuY2hlY2tWYWwoKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGUpO1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uS2V5UHJlc3MoZTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmhvc3QucmVhZG9ubHlJbnB1dCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGsgPSBlLndoaWNoIHx8IGUua2V5Q29kZTtcbiAgICAgICAgY29uc3QgcG9zID0gdGhpcy5jYXJldCgpO1xuICAgICAgICBsZXQgcDtcbiAgICAgICAgbGV0IGM7XG4gICAgICAgIGxldCBuZXh0OiBhbnk7XG5cbiAgICAgICAgaWYgKGUuY3RybEtleSB8fCBlLmFsdEtleSB8fCBlLm1ldGFLZXkgfHwgayA8IDMyIHx8IChrID4gMzQgJiYgayA8IDQxKSkge1xuICAgICAgICAgICAgLy8gSWdub3JlXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoayAmJiBrICE9PSAxMykge1xuICAgICAgICAgICAgaWYgKHBvcy5lbmQgLSBwb3MuYmVnaW4gIT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyQnVmZmVyKHBvcy5iZWdpbiwgcG9zLmVuZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaGlmdEwocG9zLmJlZ2luLCBwb3MuZW5kIC0gMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAgPSB0aGlzLnNlZWtOZXh0KHBvcy5iZWdpbiAtIDEpO1xuICAgICAgICAgICAgaWYgKHAgPCB0aGlzLmxlbikge1xuICAgICAgICAgICAgICAgIGMgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGspO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRlc3RzW3BdLnRlc3QoYykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGlmdFIocCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idWZmZXJbcF0gPSBjO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlQnVmZmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIG5leHQgPSB0aGlzLnNlZWtOZXh0KHApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICgvYW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBhdGggZm9yIENTUCBWaW9sYXRpb24gb24gRmlyZUZveCBPUyAxLjFcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb3h5ID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FyZXQobmV4dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KHByb3h5LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FyZXQobmV4dCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrVmFsKGFsbG93PzogYm9vbGVhbikge1xuICAgICAgICAvLyBUcnkgdG8gcGxhY2UgY2hhcmFjdGVycyB3aGVyZSB0aGV5IGJlbG9uZ1xuICAgICAgICBjb25zdCB0ZXN0ID0gdGhpcy5pbnB1dC52YWx1ZTtcbiAgICAgICAgbGV0IGxhc3RNYXRjaCA9IC0xO1xuICAgICAgICBsZXQgaTogYW55O1xuICAgICAgICBsZXQgYzogYW55O1xuICAgICAgICBsZXQgcG9zID0gMDtcblxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW47IGkrKykge1xuICAgICAgICAgICAgaWYgKHRoaXMudGVzdHNbaV0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlcltpXSA9IHRoaXMuZ2V0UGxhY2Vob2xkZXIoaSk7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHBvcysrIDwgdGVzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgYyA9IHRlc3QuY2hhckF0KHBvcyAtIDEpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50ZXN0c1tpXS50ZXN0KGMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlcltpXSA9IGM7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0TWF0Y2ggPSBpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHBvcyA+IHRlc3QubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJCdWZmZXIoaSArIDEsIHRoaXMubGVuKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5idWZmZXJbaV0gPT09IHRlc3QuY2hhckF0KHBvcykpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zKys7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpIDwgdGhpcy5wYXJ0aWFsUG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgbGFzdE1hdGNoID0gaTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFsbG93KSB7XG4gICAgICAgICAgICB0aGlzLndyaXRlQnVmZmVyKCk7XG4gICAgICAgIH0gZWxzZSBpZiAobGFzdE1hdGNoICsgMSA8IHRoaXMucGFydGlhbFBvc2l0aW9uKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hdXRvQ2xlYXIgfHwgdGhpcy5idWZmZXIuam9pbihcIlwiKSA9PT0gdGhpcy5kZWZhdWx0QnVmZmVyKSB7XG4gICAgICAgICAgICAgICAgLy8gSW52YWxpZCB2YWx1ZS4gUmVtb3ZlIGl0IGFuZCByZXBsYWNlIGl0IHdpdGggdGhlXG4gICAgICAgICAgICAgICAgLy8gbWFzaywgd2hpY2ggaXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJCdWZmZXIoMCwgdGhpcy5sZW4pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBJbnZhbGlkIHZhbHVlLCBidXQgd2Ugb3B0IHRvIHNob3cgdGhlIHZhbHVlIHRvIHRoZVxuICAgICAgICAgICAgICAgIC8vIHVzZXIgYW5kIGFsbG93IHRoZW0gdG8gY29ycmVjdCB0aGVpciBtaXN0YWtlLlxuICAgICAgICAgICAgICAgIHRoaXMud3JpdGVCdWZmZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVCdWZmZXIoKTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXQudmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlLnN1YnN0cmluZygwLCBsYXN0TWF0Y2ggKyAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnBhcnRpYWxQb3NpdGlvbiA/IGkgOiB0aGlzLmZpcnN0Tm9uTWFza1BvcztcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JbnB1dEZvY3VzKCkge1xuICAgICAgICBpZiAodGhpcy5ob3N0LnJlYWRvbmx5SW5wdXQpIHJldHVybjtcblxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5jYXJldFRpbWVvdXRJZCk7XG4gICAgICAgIGxldCBwb3M6IGFueTtcblxuICAgICAgICB0aGlzLmZvY3VzVGV4dCA9IHRoaXMuaW5wdXQudmFsdWU7XG5cbiAgICAgICAgcG9zID0gdGhpcy5jaGVja1ZhbCgpO1xuXG4gICAgICAgIHRoaXMuY2FyZXRUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0ICE9PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy53cml0ZUJ1ZmZlcigpO1xuICAgICAgICAgICAgaWYgKHBvcyA9PSB0aGlzLm1hc2sucmVwbGFjZShcIj9cIiwgXCJcIikubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJldCgwLCBwb3MpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcmV0KHBvcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDEwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JbnB1dENoYW5nZShldmVudDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmFuZHJvaWRDaHJvbWUpIHRoaXMuaGFuZGxlQW5kcm9pZElucHV0KGV2ZW50KTtcbiAgICAgICAgZWxzZSB0aGlzLmhhbmRsZUlucHV0Q2hhbmdlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5ob3N0LnJlYWRvbmx5SW5wdXQpIHJldHVybjtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBvcyA9IHRoaXMuY2hlY2tWYWwodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLmNhcmV0KHBvcyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGV2ZW50KTtcbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZU1vZGVsKGU6IGFueSkge1xuICAgICAgICBjb25zdCB1cGRhdGVkVmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcbiAgICAgICAgaWYgKHVwZGF0ZWRWYWx1ZSAhPT0gbnVsbCB8fCB1cGRhdGVkVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHVwZGF0ZWRWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuaG9zdC5vblVzZXJJbnB1dChlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVGaWxsZWRTdGF0ZSgpIHtcbiAgICAgICAgdGhpcy5maWxsZWQgPSB0aGlzLmlucHV0ICYmIHRoaXMuaW5wdXQudmFsdWUgIT0gXCJcIjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZm9jdXMoKSB7XG4gICAgICAgIHRoaXMuaW5wdXQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRNYXNrKCkge1xuICAgICAgICB0aGlzLnRlc3RzID0gW107XG4gICAgICAgIHRoaXMucGFydGlhbFBvc2l0aW9uID0gdGhpcy5tYXNrLmxlbmd0aDtcbiAgICAgICAgdGhpcy5sZW4gPSB0aGlzLm1hc2subGVuZ3RoO1xuICAgICAgICB0aGlzLmZpcnN0Tm9uTWFza1BvcyA9IG51bGw7XG4gICAgICAgIHRoaXMuZGVmcyA9IHtcbiAgICAgICAgICAgIFwiOVwiOiBcIlswLTldXCIsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgbWFza1Rva2VucyA9IHRoaXMubWFzay5zcGxpdChcIlwiKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrVG9rZW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBjID0gbWFza1Rva2Vuc1tpXTtcblxuICAgICAgICAgICAgaWYgKGMgPT0gXCI/XCIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxlbi0tO1xuICAgICAgICAgICAgICAgIHRoaXMucGFydGlhbFBvc2l0aW9uID0gaTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5kZWZzW2NdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50ZXN0cy5wdXNoKG5ldyBSZWdFeHAodGhpcy5kZWZzW2NdKSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maXJzdE5vbk1hc2tQb3MgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maXJzdE5vbk1hc2tQb3MgPSB0aGlzLnRlc3RzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGkgPCB0aGlzLnBhcnRpYWxQb3NpdGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RSZXF1aXJlZE5vbk1hc2tQb3MgPSB0aGlzLnRlc3RzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRlc3RzLnB1c2gobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJ1ZmZlciA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFza1Rva2Vucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgYyA9IG1hc2tUb2tlbnNbaV07XG5cbiAgICAgICAgICAgIGlmIChjICE9IFwiP1wiKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmc1tjXSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlci5wdXNoKHRoaXMuZ2V0UGxhY2Vob2xkZXIoaSkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyLnB1c2goYyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kZWZhdWx0QnVmZmVyID0gdGhpcy5idWZmZXIuam9pbihcIlwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhcmV0KGZpcnN0PzogbnVtYmVyLCBsYXN0PzogbnVtYmVyKSB7XG4gICAgICAgIGxldCByYW5nZSwgYmVnaW4sIGVuZDtcblxuICAgICAgICBpZiAoIXRoaXMuaW5wdXQub2Zmc2V0UGFyZW50IHx8IHRoaXMuaW5wdXQgIT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgZmlyc3QgPT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgYmVnaW4gPSBmaXJzdDtcbiAgICAgICAgICAgIGVuZCA9IHR5cGVvZiBsYXN0ID09PSBcIm51bWJlclwiID8gbGFzdCA6IGJlZ2luO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pbnB1dC5zZXRTZWxlY3Rpb25SYW5nZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UoYmVnaW4sIGVuZCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaW5wdXRbXCJjcmVhdGVUZXh0UmFuZ2VcIl0pIHtcbiAgICAgICAgICAgICAgICByYW5nZSA9IHRoaXMuaW5wdXRbXCJjcmVhdGVUZXh0UmFuZ2VcIl0oKTtcbiAgICAgICAgICAgICAgICByYW5nZS5jb2xsYXBzZSh0cnVlKTtcbiAgICAgICAgICAgICAgICByYW5nZS5tb3ZlRW5kKFwiY2hhcmFjdGVyXCIsIGVuZCk7XG4gICAgICAgICAgICAgICAgcmFuZ2UubW92ZVN0YXJ0KFwiY2hhcmFjdGVyXCIsIGJlZ2luKTtcbiAgICAgICAgICAgICAgICByYW5nZS5zZWxlY3QoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0LnNldFNlbGVjdGlvblJhbmdlKSB7XG4gICAgICAgICAgICAgICAgYmVnaW4gPSB0aGlzLmlucHV0LnNlbGVjdGlvblN0YXJ0O1xuICAgICAgICAgICAgICAgIGVuZCA9IHRoaXMuaW5wdXQuc2VsZWN0aW9uRW5kO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChkb2N1bWVudFtcInNlbGVjdGlvblwiXSAmJiBkb2N1bWVudFtcInNlbGVjdGlvblwiXS5jcmVhdGVSYW5nZSkge1xuICAgICAgICAgICAgICAgIHJhbmdlID0gZG9jdW1lbnRbXCJzZWxlY3Rpb25cIl0uY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgICAgICAgICBiZWdpbiA9IDAgLSByYW5nZS5kdXBsaWNhdGUoKS5tb3ZlU3RhcnQoXCJjaGFyYWN0ZXJcIiwgLTEwMDAwMCk7XG4gICAgICAgICAgICAgICAgZW5kID0gYmVnaW4gKyByYW5nZS50ZXh0Lmxlbmd0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHsgYmVnaW46IGJlZ2luLCBlbmQ6IGVuZCB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQbGFjZWhvbGRlcihpOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGkgPCB0aGlzLnNsb3RDaGFyLmxlbmd0aCkgcmV0dXJuIHRoaXMuc2xvdENoYXIuY2hhckF0KGkpO1xuICAgICAgICByZXR1cm4gdGhpcy5zbG90Q2hhci5jaGFyQXQoMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWVrTmV4dChwb3M6IGFueSkge1xuICAgICAgICB3aGlsZSAoKytwb3MgPCB0aGlzLmxlbikge1xuICAgICAgICAgICAgaWYgKHRoaXMudGVzdHNbcG9zXSkgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlZWtQcmV2KHBvczogYW55KSB7XG4gICAgICAgIHdoaWxlICgtLXBvcyA+PSAwICYmICF0aGlzLnRlc3RzW3Bvc10pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRlc3RzW3Bvc10pIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaGlmdEwoYmVnaW46IG51bWJlciwgZW5kOiBudW1iZXIpIHtcbiAgICAgICAgbGV0IGk6IGFueTtcbiAgICAgICAgbGV0IGo6IGFueTtcblxuICAgICAgICBpZiAoYmVnaW4gPCAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBqID0gdGhpcy5zZWVrTmV4dChlbmQpO1xuXG4gICAgICAgIGZvciAoaSA9IGJlZ2luOyBpIDwgdGhpcy5sZW47IGkrKykge1xuICAgICAgICAgICAgaWYgKHRoaXMudGVzdHNbaV0pIHtcbiAgICAgICAgICAgICAgICBpZiAoaiA8IHRoaXMubGVuICYmIHRoaXMudGVzdHNbaV0udGVzdCh0aGlzLmJ1ZmZlcltqXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idWZmZXJbaV0gPSB0aGlzLmJ1ZmZlcltqXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idWZmZXJbal0gPSB0aGlzLmdldFBsYWNlaG9sZGVyKGopO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBicmVhaztcblxuICAgICAgICAgICAgICAgIGogPSB0aGlzLnNlZWtOZXh0KGopO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMud3JpdGVCdWZmZXIoKTtcbiAgICAgICAgdGhpcy5jYXJldChNYXRoLm1heCh0aGlzLmZpcnN0Tm9uTWFza1BvcywgYmVnaW4pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNoaWZ0Uihwb3M6IGFueSkge1xuICAgICAgICBsZXQgaTogYW55O1xuICAgICAgICBsZXQgYyA9IHRoaXMuZ2V0UGxhY2Vob2xkZXIocG9zKTtcbiAgICAgICAgbGV0IGo6IGFueTtcbiAgICAgICAgbGV0IHQ6IGFueTtcblxuICAgICAgICBmb3IgKGkgPSBwb3M7IGkgPCB0aGlzLmxlbjsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50ZXN0c1tpXSkge1xuICAgICAgICAgICAgICAgIGogPSB0aGlzLnNlZWtOZXh0KGkpO1xuICAgICAgICAgICAgICAgIHQgPSB0aGlzLmJ1ZmZlcltpXTtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlcltpXSA9IGM7XG5cbiAgICAgICAgICAgICAgICBpZiAoaiA8IHRoaXMubGVuICYmIHRoaXMudGVzdHNbal0udGVzdCh0KSkge1xuICAgICAgICAgICAgICAgICAgICBjID0gdDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUFuZHJvaWRJbnB1dChlOiBhbnkpIHtcbiAgICAgICAgY29uc3QgY3VyVmFsID0gdGhpcy5pbnB1dC52YWx1ZTtcbiAgICAgICAgY29uc3QgcG9zID0gdGhpcy5jYXJldCgpO1xuXG4gICAgICAgIGlmICh0aGlzLm9sZFZhbCAmJiB0aGlzLm9sZFZhbC5sZW5ndGggJiYgdGhpcy5vbGRWYWwubGVuZ3RoID4gY3VyVmFsLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gQSBkZWxldGlvbiBvciBiYWNrc3BhY2UgaGFwcGVuZWRcbiAgICAgICAgICAgIHRoaXMuY2hlY2tWYWwodHJ1ZSk7XG4gICAgICAgICAgICB3aGlsZSAocG9zLmJlZ2luID4gMCAmJiAhdGhpcy50ZXN0c1twb3MuYmVnaW4gLSAxXSkge1xuICAgICAgICAgICAgICAgIHBvcy5iZWdpbi0tO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHBvcy5iZWdpbiA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHdoaWxlIChwb3MuYmVnaW4gPCB0aGlzLmZpcnN0Tm9uTWFza1BvcyAmJiAhdGhpcy50ZXN0c1twb3MuYmVnaW5dKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvcy5iZWdpbisrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJldChwb3MuYmVnaW4sIHBvcy5iZWdpbik7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDb21wbGV0ZWQoKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZW50VmFsID0gY3VyVmFsLnJlcGxhY2UodGhpcy5zbG90Q2hhciwgXCJcIik7IC8vIExpbXBhIG9zIGNhcmFjdGVyZXMgcGxhY2Vob2xkZXJzIGV4dHJhcyBjYXNvIGVsZSBlc3RlamEgY29tcGxldG9cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYWxlbmRhclZhbHVlKHNlbnRWYWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jaGVja1ZhbCh0cnVlKTtcblxuICAgICAgICAgICAgd2hpbGUgKHBvcy5iZWdpbiA8IHRoaXMubGVuICYmICF0aGlzLnRlc3RzW3Bvcy5iZWdpbl0pIHtcbiAgICAgICAgICAgICAgICBwb3MuYmVnaW4rKztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJldChwb3MuYmVnaW4sIHBvcy5iZWdpbik7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDb21wbGV0ZWQoKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZW50VmFsID0gY3VyVmFsLnJlcGxhY2UodGhpcy5zbG90Q2hhciwgXCJcIik7IC8vIExpbXBhIG9zIGNhcmFjdGVyZXMgcGxhY2Vob2xkZXJzIGV4dHJhcyBjYXNvIGVsZSBlc3RlamEgY29tcGxldG9cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDYWxlbmRhclZhbHVlKHNlbnRWYWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDYWxlbmRhclZhbHVlKHNlbnRWYWw6IHN0cmluZykge1xuICAgICAgICAvLyBUT0RPIHZlcmlmaWNhclxuICAgICAgICBjb25zdCBkYXRlVmFsID0gPERhdGU+dGhpcy5ob3N0LnBhcnNlVmFsdWVGcm9tU3RyaW5nKHNlbnRWYWwpO1xuICAgICAgICBpZiAodGhpcy5ob3N0LmlzU2VsZWN0YWJsZShkYXRlVmFsLmdldERhdGUoKSwgZGF0ZVZhbC5nZXRNb250aCgpLCBkYXRlVmFsLmdldEZ1bGxZZWFyKCksIGZhbHNlKSkge1xuICAgICAgICAgICAgdGhpcy5ob3N0LnVwZGF0ZU1vZGVsKHNlbnRWYWwpO1xuICAgICAgICAgICAgdGhpcy5ob3N0LnVwZGF0ZVVJKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyQnVmZmVyKHN0YXJ0OiBhbnksIGVuZDogYW55KSB7XG4gICAgICAgIGxldCBpO1xuXG4gICAgICAgIGZvciAoaSA9IHN0YXJ0OyBpIDwgZW5kICYmIGkgPCB0aGlzLmxlbjsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50ZXN0c1tpXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW2ldID0gdGhpcy5nZXRQbGFjZWhvbGRlcihpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgd3JpdGVCdWZmZXIoKSB7XG4gICAgICAgIHRoaXMuaW5wdXQudmFsdWUgPSB0aGlzLmJ1ZmZlci5qb2luKFwiXCIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlTWFza0Zyb21EYXRlRm9ybWF0KCkge1xuICAgICAgICBjb25zdCBjYWxlbmRhciA9IHRoaXMuaG9zdDtcbiAgICAgICAgbGV0IG1hc2sgPSB0aGlzLmF1dG9DbGVhciA/IFwiP1wiIDogXCJcIjtcblxuICAgICAgICBpZiAoIWNhbGVuZGFyLnRpbWVPbmx5KSB7XG4gICAgICAgICAgICBsZXQgZGF0ZUZvcm1hdCA9IGNhbGVuZGFyLmRhdGVGb3JtYXQ7XG4gICAgICAgICAgICBkYXRlRm9ybWF0ID0gZGF0ZUZvcm1hdC5yZXBsYWNlKC95L2csIFwieXlcIik7XG4gICAgICAgICAgICBtYXNrICs9IGRhdGVGb3JtYXQucmVwbGFjZSgvW14vKiwuXFwtK1xcW1xcXVxcXFxdL2csIFwiOVwiKTtcbiAgICAgICAgICAgIGlmIChjYWxlbmRhci5zaG93VGltZSkge1xuICAgICAgICAgICAgICAgIG1hc2sgKz0gXCIgXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2FsZW5kYXIuc2hvd1RpbWUgfHwgY2FsZW5kYXIudGltZU9ubHkpIHtcbiAgICAgICAgICAgIG1hc2sgKz0gXCI5OTo5OVwiO1xuICAgICAgICAgICAgaWYgKGNhbGVuZGFyLnNob3dTZWNvbmRzKSB7XG4gICAgICAgICAgICAgICAgbWFzayArPSBcIjo5OVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fbWFzayA9IG1hc2s7XG5cbiAgICAgICAgdGhpcy5pbml0TWFzaygpO1xuICAgIH1cblxuICAgIGlzQ29tcGxldGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5maXJzdE5vbk1hc2tQb3M7IGkgPD0gdGhpcy5sYXN0UmVxdWlyZWROb25NYXNrUG9zOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRlc3RzW2ldICYmIHRoaXMuYnVmZmVyW2ldID09PSB0aGlzLmdldFBsYWNlaG9sZGVyKGkpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ob3N0LmlucHV0ZmllbGRWaWV3Q2hpbGQgJiYgdGhpcy5maXJzdFRpbWUpIHtcbiAgICAgICAgICAgIHRoaXMuZmlyc3RUaW1lID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNldExpc3RlbmVycygpO1xuICAgICAgICAgICAgdGhpcy5pbnB1dC50eXBlID0gXCJ0ZWxcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb2N1c0xpc3RlbmVyKSB0aGlzLmZvY3VzTGlzdGVuZXIoKTtcbiAgICAgICAgaWYgKHRoaXMuYmx1ckxpc3RlbmVyKSB0aGlzLmJsdXJMaXN0ZW5lcigpO1xuICAgICAgICBpZiAodGhpcy5rZXlkb3duTGlzdGVuZXIpIHRoaXMua2V5ZG93bkxpc3RlbmVyKCk7XG4gICAgICAgIGlmICh0aGlzLmtleXByZXNzTGlzdGVuZXIpIHRoaXMua2V5cHJlc3NMaXN0ZW5lcigpO1xuICAgICAgICBpZiAodGhpcy5pbnB1dExpc3RlbmVyKSB0aGlzLmlucHV0TGlzdGVuZXIoKTtcbiAgICAgICAgaWYgKHRoaXMucGFzdGVMaXN0ZW5lcikgdGhpcy5wYXN0ZUxpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcImtleWRvd25cIiwgW1wiJGV2ZW50XCJdKVxuICAgIG9uS2V5ZG93bkV2ZW50VGVzdChlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHsga2V5IH0gPSBlO1xuICAgICAgICBpZiAoa2V5ID09IFwiVGFiXCIpIHtcbiAgICAgICAgICAgIC8vIEVzdGUgY8OzZGlnbyBmb2kgaW1wbGVtZW50YWRvIHBhcmEgY29ycmlnaXIgdW0gcHJvYmxlbWEgbm8gY29tcG9uZW50ZSBuYSB2OVxuICAgICAgICAgICAgLy8gRGV2ZSBzZXIgcmVtb3ZpZG8gYXNzaW0gcXVlIGF0dWFsaXphcm1vcyBvIFByaW1lTkcgcGFyYSBhIHYxMFxuICAgICAgICAgICAgY29uc3QgYWxsRm9jdXNhYmxlRWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHRoaXMuU0VMRUNUT1JTKTtcbiAgICAgICAgICAgIGxldCBuZXh0SXNGb2N1c2FibGUgPSBmYWxzZTtcbiAgICAgICAgICAgIGxldCBwcmV2aW91c0ZvY3VzYWJsZTogc3RyaW5nO1xuICAgICAgICAgICAgbGV0IGZvcmNlQ2xvc2VNb2RhbCA9IHRydWU7XG4gICAgICAgICAgICBhbGxGb2N1c2FibGVFbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZS5zaGlmdEtleSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV4dElzRm9jdXNhYmxlICYmIGVsZW1lbnQuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNhYmxlRWxlbWVudChlbGVtZW50LmlkLCBmb3JjZUNsb3NlTW9kYWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dElzRm9jdXNhYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsZXQgYWN0aXZlVGFnTmFtZSA9IHdpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50LnRhZ05hbWU7XG4gICAgICAgICAgICAgICAgaWYgKGUuc2hpZnRLZXkgJiYgZWxlbWVudC5pZCAmJiBlbGVtZW50LnRhZ05hbWUgPT09IFwiSU5QVVRcIiAmJiBhY3RpdmVUYWdOYW1lID09IFwiQlVUVE9OXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNGb2N1c2FibGUgPSBlbGVtZW50LmlkO1xuICAgICAgICAgICAgICAgICAgICBmb3JjZUNsb3NlTW9kYWwgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuaWQgPT09IHRoaXMuaG9zdC5pbnB1dElkKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c0ZvY3VzYWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1c2FibGVFbGVtZW50KHByZXZpb3VzRm9jdXNhYmxlLCBmb3JjZUNsb3NlTW9kYWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2VDbG9zZU1vZGFsID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBuZXh0SXNGb2N1c2FibGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5zaGlmdEtleSAmJiBlbGVtZW50LmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRm9jdXNhYmxlID0gZWxlbWVudC5pZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1c2FibGVFbGVtZW50KGlkOiBzdHJpbmcsIGhpZGU6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgaHRtbEVsZW1lbnQgPSB3aW5kb3cuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xuICAgICAgICBodG1sRWxlbWVudC5mb2N1cygpO1xuICAgICAgICBpZihoaWRlKVxuICAgICAgICAgICAgdGhpcy5ob3N0LmhpZGVPdmVybGF5KCk7XG4gICAgfVxufVxuIl19
573
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbWFzay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jYWxlbmRhci1tYXNrL2NhbGVuZGFyLW1hc2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSzVDLElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBbUM5QixZQUNXLElBQWMsRUFDZCxRQUFtQjtRQURuQixTQUFJLEdBQUosSUFBSSxDQUFVO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXBDOUIsY0FBUyxHQUFHLDBFQUEwRSxDQUFDO1FBR2hGLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFHZixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBbUJqQixjQUFTLEdBQUcsSUFBSSxDQUFDO0lBWXRCLENBQUM7SUFFSSxZQUFZO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUM7UUFDekQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUU5QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNoRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMs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QyxFQUFFLENBQUMsQ0FBQztRQUN2RCxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztDQUNKLENBQUE7O1lBN2xCb0IsUUFBUTtZQUNKLFNBQVM7O0FBakM5QjtJQURDLEtBQUssRUFBRTt1REFDYztBQUd0QjtJQURDLEtBQUssRUFBRTt3REFDaUI7QUEya0J6QjtJQURDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzsrREF1Q25DO0FBeG5CUSxxQkFBcUI7SUFIakMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLDJCQUEyQjtLQUN4QyxDQUFDO0dBQ1cscUJBQXFCLENBaW9CakM7U0Fqb0JZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gXCJwcmltZW5nL2NhbGVuZGFyXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcInAtY2FsZW5kYXJbc0NhbGVuZGFyTWFza11cIixcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJNYXNrRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWQge1xuICAgIFNFTEVDVE9SUyA9ICdidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD1cIi0xXCJdKSc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzbG90Q2hhciA9IFwiX1wiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYXV0b0NsZWFyID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgdmFsdWU6IGFueTtcbiAgICBwdWJsaWMgaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgcHVibGljIGZpbGxlZDogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgX21hc2s6IHN0cmluZztcbiAgICBwcml2YXRlIGRlZnM6IGFueTtcbiAgICBwcml2YXRlIHRlc3RzOiBhbnlbXTtcbiAgICBwcml2YXRlIHBhcnRpYWxQb3NpdGlvbjogYW55O1xuICAgIHByaXZhdGUgZmlyc3ROb25NYXNrUG9zOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBsYXN0UmVxdWlyZWROb25NYXNrUG9zOiBhbnk7XG4gICAgcHJpdmF0ZSBsZW46IG51bWJlcjtcbiAgICBwcml2YXRlIG9sZFZhbDogc3RyaW5nO1xuICAgIHByaXZhdGUgYnVmZmVyOiBhbnk7XG4gICAgcHJpdmF0ZSBkZWZhdWx0QnVmZmVyOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBmb2N1c1RleHQ6IHN0cmluZztcbiAgICBwcml2YXRlIGNhcmV0VGltZW91dElkOiBhbnk7XG4gICAgcHJpdmF0ZSBhbmRyb2lkQ2hyb21lOiBib29sZWFuO1xuICAgIHByaXZhdGUgZmlyc3RUaW1lID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgZm9jdXNMaXN0ZW5lcjogKCkgPT4gdm9pZDtcbiAgICBwcml2YXRlIGJsdXJMaXN0ZW5lcjogKCkgPT4gdm9pZDtcbiAgICBwcml2YXRlIGtleWRvd25MaXN0ZW5lcjogKCkgPT4gdm9pZDtcbiAgICBwcml2YXRlIGtleXByZXNzTGlzdGVuZXI6ICgpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSBpbnB1dExpc3RlbmVyOiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgcGFzdGVMaXN0ZW5lcjogKCkgPT4gdm9pZDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgaG9zdDogQ2FsZW5kYXIsXG4gICAgICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBzZXRMaXN0ZW5lcnMoKSB7XG4gICAgICAgIHRoaXMuaW5wdXQgPSB0aGlzLmhvc3QuaW5wdXRmaWVsZFZpZXdDaGlsZC5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pbnB1dC52YWx1ZTtcblxuICAgICAgICB0aGlzLmZvY3VzTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmlucHV0LCBcImZvY3VzXCIsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25JbnB1dEZvY3VzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYmx1ckxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5pbnB1dCwgXCJibHVyXCIsIChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uSW5wdXRCbHVyKGV2ZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5rZXlkb3duTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmlucHV0LCBcImtleWRvd25cIiwgKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5rZXlwcmVzc0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5pbnB1dCwgXCJrZXlwcmVzc1wiLCAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbktleVByZXNzKGV2ZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5pbnB1dExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5pbnB1dCwgXCJpbnB1dFwiLCAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbklucHV0Q2hhbmdlKGV2ZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5wYXN0ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5pbnB1dCwgXCJwYXN0ZVwiLCAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVJbnB1dENoYW5nZShldmVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgdWEgPSBuYXZpZ2F0b3IudXNlckFnZW50O1xuICAgICAgICB0aGlzLmFuZHJvaWRDaHJvbWUgPSAvY2hyb21lL2kudGVzdCh1YSkgJiYgL2FuZHJvaWQvaS50ZXN0KHVhKTtcblxuICAgICAgICB0aGlzLmNyZWF0ZU1hc2tGcm9tRGF0ZUZvcm1hdCgpO1xuICAgICAgICB0aGlzLmluaXRNYXNrKCk7XG4gICAgfVxuXG4gICAgZ2V0IG1hc2soKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21hc2s7XG4gICAgfVxuXG4gICAgc2V0IG1hc2sodmFsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbWFzayA9IHZhbDtcblxuICAgICAgICB0aGlzLmluaXRNYXNrKCk7XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZShcIlwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICBpZiAodGhpcy5pbnB1dCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQudmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNoZWNrVmFsKCk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzVGV4dCA9IHRoaXMuaW5wdXQudmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25JbnB1dEJsdXIoZTogYW55KSB7XG4gICAgICAgIHRoaXMuY2hlY2tWYWwoKTtcbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlICE9IHRoaXMuZm9jdXNUZXh0KSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIXRoaXMuaW5wdXQuZGlzYWJsZWQgJiZcbiAgICAgICAgICAgICAgICAodGhpcy52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWUgPT09IG51bGwgfHwgKHRoaXMudmFsdWUgYXMgc3RyaW5nKS5pbmRleE9mKHRoaXMuc2xvdENoYXIpID49IDApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gXCJcIjtcbiAgICAgICAgICAgICAgICBlLnRhcmdldC52YWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICAgICAgdGhpcy5ob3N0LnVwZGF0ZU1vZGVsKG51bGwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGUpO1xuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudChcIkhUTUxFdmVudHNcIik7XG4gICAgICAgICAgICBldmVudC5pbml0RXZlbnQoXCJjaGFuZ2VcIiwgdHJ1ZSwgZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5pbnB1dC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbktleURvd24oZTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmhvc3QucmVhZG9ubHlJbnB1dCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgayA9IGUud2hpY2ggfHwgZS5rZXlDb2RlO1xuICAgICAgICBjb25zdCBpUGhvbmUgPSAvaXBob25lL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbiAgICAgICAgbGV0IHBvcztcbiAgICAgICAgbGV0IGJlZ2luO1xuICAgICAgICBsZXQgZW5kO1xuICAgICAgICB0aGlzLm9sZFZhbCA9IHRoaXMuaW5wdXQudmFsdWU7XG5cbiAgICAgICAgLy8gQmFja3NwYWNlLCBkZWxldGUsIGFuZCBlc2NhcGUgZ2V0IHNwZWNpYWwgdHJlYXRtZW50XG4gICAgICAgIGlmIChrID09PSA4IHx8IGsgPT09IDQ2IHx8IChpUGhvbmUgJiYgayA9PT0gMTI3KSkge1xuICAgICAgICAgICAgcG9zID0gdGhpcy5jYXJldCgpO1xuICAgICAgICAgICAgYmVnaW4gPSBwb3MuYmVnaW47XG4gICAgICAgICAgICBlbmQgPSBwb3MuZW5kO1xuXG4gICAgICAgICAgICBpZiAoZW5kIC0gYmVnaW4gPT09IDApIHtcbiAgICAgICAgICAgICAgICBiZWdpbiA9IGsgIT09IDQ2ID8gdGhpcy5zZWVrUHJldihiZWdpbikgOiAoZW5kID0gdGhpcy5zZWVrTmV4dChiZWdpbiAtIDEpKTtcbiAgICAgICAgICAgICAgICBlbmQgPSBrID09PSA0NiA/IHRoaXMuc2Vla05leHQoZW5kKSA6IGVuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jbGVhckJ1ZmZlcihiZWdpbiwgZW5kKTtcbiAgICAgICAgICAgIHRoaXMuc2hpZnRMKGJlZ2luLCBlbmQgLSAxKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kZWwoZSk7XG5cbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfSBlbHNlIGlmIChrID09PSAxMykge1xuICAgICAgICAgICAgLy8gRW50ZXJcbiAgICAgICAgICAgIHRoaXMub25JbnB1dEJsdXIoZSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU1vZGVsKGUpO1xuICAgICAgICB9IGVsc2UgaWYgKGsgPT09IDI3KSB7XG4gICAgICAgICAgICAvLyBFc2NhcGVcbiAgICAgICAgICAgIHRoaXMuaW5wdXQudmFsdWUgPSB0aGlzLmZvY3VzVGV4dDtcbiAgICAgICAgICAgIHRoaXMuY2FyZXQoMCwgdGhpcy5jaGVja1ZhbCgpKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kZWwoZSk7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25LZXlQcmVzcyhlOiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuaG9zdC5yZWFkb25seUlucHV0KSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgayA9IGUud2hpY2ggfHwgZS5rZXlDb2RlO1xuICAgICAgICBjb25zdCBwb3MgPSB0aGlzLmNhcmV0KCk7XG4gICAgICAgIGxldCBwO1xuICAgICAgICBsZXQgYztcbiAgICAgICAgbGV0IG5leHQ6IGFueTtcblxuICAgICAgICBpZiAoZS5jdHJsS2V5IHx8IGUuYWx0S2V5IHx8IGUubWV0YUtleSB8fCBrIDwgMzIgfHwgKGsgPiAzNCAmJiBrIDwgNDEpKSB7XG4gICAgICAgICAgICAvLyBJZ25vcmVcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChrICYmIGsgIT09IDEzKSB7XG4gICAgICAgICAgICBpZiAocG9zLmVuZCAtIHBvcy5iZWdpbiAhPT0gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJCdWZmZXIocG9zLmJlZ2luLCBwb3MuZW5kKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNoaWZ0TChwb3MuYmVnaW4sIHBvcy5lbmQgLSAxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCA9IHRoaXMuc2Vla05leHQocG9zLmJlZ2luIC0gMSk7XG4gICAgICAgICAgICBpZiAocCA8IHRoaXMubGVuKSB7XG4gICAgICAgICAgICAgICAgYyA9IFN0cmluZy5mcm9tQ2hhckNvZGUoayk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGVzdHNbcF0udGVzdChjKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNoaWZ0UihwKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlcltwXSA9IGM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMud3JpdGVCdWZmZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgbmV4dCA9IHRoaXMuc2Vla05leHQocCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKC9hbmRyb2lkL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGF0aCBmb3IgQ1NQIFZpb2xhdGlvbiBvbiBGaXJlRm94IE9TIDEuMVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJveHkgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXJldChuZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQocHJveHksIDApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXJldChuZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlTW9kZWwoZSk7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUNvbXBsZXRlTWFzaygpOiBzdHJpbmcge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuaG9zdC5zZWxlY3Rpb25Nb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwicmFuZ2VcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tYXNrICsgYCAke3RoaXMuaG9zdC5yYW5nZVNlcGFyYXRvcn0gYCArIHRoaXMubWFzaztcbiAgICAgICAgICAgIGNhc2UgXCJzaW5nbGVcIjpcbiAgICAgICAgICAgIGNhc2UgXCJtdWx0aXBsZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm1hc2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2hlY2tWYWwoYWxsb3c/OiBib29sZWFuKSB7XG4gICAgICAgIC8vIFRyeSB0byBwbGFjZSBjaGFyYWN0ZXJzIHdoZXJlIHRoZXkgYmVsb25nXG4gICAgICAgIGNvbnN0IHRlc3QgPSB0aGlzLmlucHV0LnZhbHVlO1xuICAgICAgICBsZXQgbGFzdE1hdGNoID0gLTE7XG4gICAgICAgIGxldCBpOiBhbnk7XG4gICAgICAgIGxldCBjOiBhbnk7XG4gICAgICAgIGxldCBwb3MgPSAwO1xuXG4gICAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbjsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50ZXN0c1tpXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW2ldID0gdGhpcy5nZXRQbGFjZWhvbGRlcihpKTtcbiAgICAgICAgICAgICAgICB3aGlsZSAocG9zKysgPCB0ZXN0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBjID0gdGVzdC5jaGFyQXQocG9zIC0gMSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRlc3RzW2ldLnRlc3QoYykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW2ldID0gYztcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RNYXRjaCA9IGk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocG9zID4gdGVzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhckJ1ZmZlcihpICsgMSwgdGhpcy5sZW4pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmJ1ZmZlcltpXSA9PT0gdGVzdC5jaGFyQXQocG9zKSkge1xuICAgICAgICAgICAgICAgICAgICBwb3MrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGkgPCB0aGlzLnBhcnRpYWxQb3NpdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBsYXN0TWF0Y2ggPSBpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoYWxsb3cpIHtcbiAgICAgICAgICAgIHRoaXMud3JpdGVCdWZmZXIoKTtcbiAgICAgICAgfSBlbHNlIGlmIChsYXN0TWF0Y2ggKyAxIDwgdGhpcy5wYXJ0aWFsUG9zaXRpb24pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmF1dG9DbGVhciB8fCB0aGlzLmJ1ZmZlci5qb2luKFwiXCIpID09PSB0aGlzLmRlZmF1bHRCdWZmZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBJbnZhbGlkIHZhbHVlLiBSZW1vdmUgaXQgYW5kIHJlcGxhY2UgaXQgd2l0aCB0aGVcbiAgICAgICAgICAgICAgICAvLyBtYXNrLCB3aGljaCBpcyB0aGUgZGVmYXVsdCBiZWhhdmlvci5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0LnZhbHVlID0gXCJcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhckJ1ZmZlcigwLCB0aGlzLmxlbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEludmFsaWQgdmFsdWUsIGJ1dCB3ZSBvcHQgdG8gc2hvdyB0aGUgdmFsdWUgdG8gdGhlXG4gICAgICAgICAgICAgICAgLy8gdXNlciBhbmQgYWxsb3cgdGhlbSB0byBjb3JyZWN0IHRoZWlyIG1pc3Rha2UuXG4gICAgICAgICAgICAgICAgdGhpcy53cml0ZUJ1ZmZlcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy53cml0ZUJ1ZmZlcigpO1xuICAgICAgICAgICAgdGhpcy5pbnB1dC52YWx1ZSA9IHRoaXMuaW5wdXQudmFsdWUuc3Vic3RyaW5nKDAsIGxhc3RNYXRjaCArIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucGFydGlhbFBvc2l0aW9uID8gaSA6IHRoaXMuZmlyc3ROb25NYXNrUG9zO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbklucHV0Rm9jdXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmhvc3QucmVhZG9ubHlJbnB1dCkgcmV0dXJuO1xuXG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNhcmV0VGltZW91dElkKTtcbiAgICAgICAgbGV0IHBvczogYW55O1xuXG4gICAgICAgIHRoaXMuZm9jdXNUZXh0ID0gdGhpcy5pbnB1dC52YWx1ZTtcblxuICAgICAgICBwb3MgPSB0aGlzLmNoZWNrVmFsKCk7XG5cbiAgICAgICAgdGhpcy5jYXJldFRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXQgIT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLndyaXRlQnVmZmVyKCk7XG4gICAgICAgICAgICBpZiAocG9zID09IHRoaXMubWFzay5yZXBsYWNlKFwiP1wiLCBcIlwiKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcmV0KDAsIHBvcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FyZXQocG9zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbklucHV0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMuYW5kcm9pZENocm9tZSkgdGhpcy5oYW5kbGVBbmRyb2lkSW5wdXQoZXZlbnQpO1xuICAgICAgICBlbHNlIHRoaXMuaGFuZGxlSW5wdXRDaGFuZ2UoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVJbnB1dENoYW5nZShldmVudDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmhvc3QucmVhZG9ubHlJbnB1dCkgcmV0dXJuO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcG9zID0gdGhpcy5jaGVja1ZhbCh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuY2FyZXQocG9zKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kZWwoZXZlbnQpO1xuICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlTW9kZWwoZTogYW55KSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWRWYWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xuICAgICAgICBpZiAodXBkYXRlZFZhbHVlICE9PSBudWxsIHx8IHVwZGF0ZWRWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdXBkYXRlZFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5ob3N0Lm9uVXNlcklucHV0KGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUZpbGxlZFN0YXRlKCkge1xuICAgICAgICB0aGlzLmZpbGxlZCA9IHRoaXMuaW5wdXQgJiYgdGhpcy5pbnB1dC52YWx1ZSAhPSBcIlwiO1xuICAgIH1cblxuICAgIHB1YmxpYyBmb2N1cygpIHtcbiAgICAgICAgdGhpcy5pbnB1dC5mb2N1cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdE1hc2soKSB7XG4gICAgICAgIGNvbnN0IGNvbXBsZXRlTWFzayA9IHRoaXMuY3JlYXRlQ29tcGxldGVNYXNrKCk7XG5cbiAgICAgICAgdGhpcy50ZXN0cyA9IFtdO1xuICAgICAgICB0aGlzLnBhcnRpYWxQb3NpdGlvbiA9IGNvbXBsZXRlTWFzay5sZW5ndGg7XG4gICAgICAgIHRoaXMubGVuID0gY29tcGxldGVNYXNrLmxlbmd0aDtcbiAgICAgICAgdGhpcy5maXJzdE5vbk1hc2tQb3MgPSBudWxsO1xuICAgICAgICB0aGlzLmRlZnMgPSB7XG4gICAgICAgICAgICBcIjlcIjogXCJbMC05XVwiLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IG1hc2tUb2tlbnMgPSBjb21wbGV0ZU1hc2suc3BsaXQoXCJcIik7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFza1Rva2Vucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgYyA9IG1hc2tUb2tlbnNbaV07XG5cbiAgICAgICAgICAgIGlmIChjID09IFwiP1wiKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sZW4tLTtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcnRpYWxQb3NpdGlvbiA9IGk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZGVmc1tjXSkge1xuICAgICAgICAgICAgICAgIHRoaXMudGVzdHMucHVzaChuZXcgUmVnRXhwKHRoaXMuZGVmc1tjXSkpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlyc3ROb25NYXNrUG9zID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlyc3ROb25NYXNrUG9zID0gdGhpcy50ZXN0cy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpIDwgdGhpcy5wYXJ0aWFsUG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0UmVxdWlyZWROb25NYXNrUG9zID0gdGhpcy50ZXN0cy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50ZXN0cy5wdXNoKG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5idWZmZXIgPSBbXTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hc2tUb2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGMgPSBtYXNrVG9rZW5zW2ldO1xuXG4gICAgICAgICAgICBpZiAoYyAhPSBcIj9cIikge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlZnNbY10pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5idWZmZXIucHVzaCh0aGlzLmdldFBsYWNlaG9sZGVyKGkpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlci5wdXNoKGMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGVmYXVsdEJ1ZmZlciA9IHRoaXMuYnVmZmVyLmpvaW4oXCJcIik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYXJldChmaXJzdD86IG51bWJlciwgbGFzdD86IG51bWJlcikge1xuICAgICAgICBsZXQgcmFuZ2UsIGJlZ2luLCBlbmQ7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlucHV0Lm9mZnNldFBhcmVudCB8fCB0aGlzLmlucHV0ICE9PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGZpcnN0ID09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgIGJlZ2luID0gZmlyc3Q7XG4gICAgICAgICAgICBlbmQgPSB0eXBlb2YgbGFzdCA9PT0gXCJudW1iZXJcIiA/IGxhc3QgOiBiZWdpbjtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0LnNldFNlbGVjdGlvblJhbmdlKGJlZ2luLCBlbmQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlucHV0W1wiY3JlYXRlVGV4dFJhbmdlXCJdKSB7XG4gICAgICAgICAgICAgICAgcmFuZ2UgPSB0aGlzLmlucHV0W1wiY3JlYXRlVGV4dFJhbmdlXCJdKCk7XG4gICAgICAgICAgICAgICAgcmFuZ2UuY29sbGFwc2UodHJ1ZSk7XG4gICAgICAgICAgICAgICAgcmFuZ2UubW92ZUVuZChcImNoYXJhY3RlclwiLCBlbmQpO1xuICAgICAgICAgICAgICAgIHJhbmdlLm1vdmVTdGFydChcImNoYXJhY3RlclwiLCBiZWdpbik7XG4gICAgICAgICAgICAgICAgcmFuZ2Uuc2VsZWN0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pbnB1dC5zZXRTZWxlY3Rpb25SYW5nZSkge1xuICAgICAgICAgICAgICAgIGJlZ2luID0gdGhpcy5pbnB1dC5zZWxlY3Rpb25TdGFydDtcbiAgICAgICAgICAgICAgICBlbmQgPSB0aGlzLmlucHV0LnNlbGVjdGlvbkVuZDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnRbXCJzZWxlY3Rpb25cIl0gJiYgZG9jdW1lbnRbXCJzZWxlY3Rpb25cIl0uY3JlYXRlUmFuZ2UpIHtcbiAgICAgICAgICAgICAgICByYW5nZSA9IGRvY3VtZW50W1wic2VsZWN0aW9uXCJdLmNyZWF0ZVJhbmdlKCk7XG4gICAgICAgICAgICAgICAgYmVnaW4gPSAwIC0gcmFuZ2UuZHVwbGljYXRlKCkubW92ZVN0YXJ0KFwiY2hhcmFjdGVyXCIsIC0xMDAwMDApO1xuICAgICAgICAgICAgICAgIGVuZCA9IGJlZ2luICsgcmFuZ2UudGV4dC5sZW5ndGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7IGJlZ2luOiBiZWdpbiwgZW5kOiBlbmQgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UGxhY2Vob2xkZXIoaTogbnVtYmVyKSB7XG4gICAgICAgIGlmIChpIDwgdGhpcy5zbG90Q2hhci5sZW5ndGgpIHJldHVybiB0aGlzLnNsb3RDaGFyLmNoYXJBdChpKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2xvdENoYXIuY2hhckF0KDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2Vla05leHQocG9zOiBhbnkpIHtcbiAgICAgICAgd2hpbGUgKCsrcG9zIDwgdGhpcy5sZW4pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRlc3RzW3Bvc10pIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWVrUHJldihwb3M6IGFueSkge1xuICAgICAgICB3aGlsZSAoLS1wb3MgPj0gMCAmJiAhdGhpcy50ZXN0c1twb3NdKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50ZXN0c1twb3NdKSBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9zO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hpZnRMKGJlZ2luOiBudW1iZXIsIGVuZDogbnVtYmVyKSB7XG4gICAgICAgIGxldCBpOiBhbnk7XG4gICAgICAgIGxldCBqOiBhbnk7XG5cbiAgICAgICAgaWYgKGJlZ2luIDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaiA9IHRoaXMuc2Vla05leHQoZW5kKTtcblxuICAgICAgICBmb3IgKGkgPSBiZWdpbjsgaSA8IHRoaXMubGVuOyBpKyspIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRlc3RzW2ldKSB7XG4gICAgICAgICAgICAgICAgaWYgKGogPCB0aGlzLmxlbiAmJiB0aGlzLnRlc3RzW2ldLnRlc3QodGhpcy5idWZmZXJbal0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW2ldID0gdGhpcy5idWZmZXJbal07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnVmZmVyW2pdID0gdGhpcy5nZXRQbGFjZWhvbGRlcihqKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBqID0gdGhpcy5zZWVrTmV4dChqKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLndyaXRlQnVmZmVyKCk7XG4gICAgICAgIHRoaXMuY2FyZXQoTWF0aC5tYXgodGhpcy5maXJzdE5vbk1hc2tQb3MsIGJlZ2luKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaGlmdFIocG9zOiBhbnkpIHtcbiAgICAgICAgbGV0IGk6IGFueTtcbiAgICAgICAgbGV0IGMgPSB0aGlzLmdldFBsYWNlaG9sZGVyKHBvcyk7XG4gICAgICAgIGxldCBqOiBhbnk7XG4gICAgICAgIGxldCB0OiBhbnk7XG5cbiAgICAgICAgZm9yIChpID0gcG9zOyBpIDwgdGhpcy5sZW47IGkrKykge1xuICAgICAgICAgICAgaWYgKHRoaXMudGVzdHNbaV0pIHtcbiAgICAgICAgICAgICAgICBqID0gdGhpcy5zZWVrTmV4dChpKTtcbiAgICAgICAgICAgICAgICB0ID0gdGhpcy5idWZmZXJbaV07XG4gICAgICAgICAgICAgICAgdGhpcy5idWZmZXJbaV0gPSBjO1xuXG4gICAgICAgICAgICAgICAgaWYgKGogPCB0aGlzLmxlbiAmJiB0aGlzLnRlc3RzW2pdLnRlc3QodCkpIHtcbiAgICAgICAgICAgICAgICAgICAgYyA9IHQ7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVBbmRyb2lkSW5wdXQoZTogYW55KSB7XG4gICAgICAgIGNvbnN0IGN1clZhbCA9IHRoaXMuaW5wdXQudmFsdWU7XG4gICAgICAgIGNvbnN0IHBvcyA9IHRoaXMuY2FyZXQoKTtcblxuICAgICAgICBpZiAodGhpcy5vbGRWYWwgJiYgdGhpcy5vbGRWYWwubGVuZ3RoICYmIHRoaXMub2xkVmFsLmxlbmd0aCA+IGN1clZhbC5sZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIEEgZGVsZXRpb24gb3IgYmFja3NwYWNlIGhhcHBlbmVkXG4gICAgICAgICAgICB0aGlzLmNoZWNrVmFsKHRydWUpO1xuICAgICAgICAgICAgd2hpbGUgKHBvcy5iZWdpbiA+IDAgJiYgIXRoaXMudGVzdHNbcG9zLmJlZ2luIC0gMV0pIHtcbiAgICAgICAgICAgICAgICBwb3MuYmVnaW4tLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwb3MuYmVnaW4gPT09IDApIHtcbiAgICAgICAgICAgICAgICB3aGlsZSAocG9zLmJlZ2luIDwgdGhpcy5maXJzdE5vbk1hc2tQb3MgJiYgIXRoaXMudGVzdHNbcG9zLmJlZ2luXSkge1xuICAgICAgICAgICAgICAgICAgICBwb3MuYmVnaW4rKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FyZXQocG9zLmJlZ2luLCBwb3MuYmVnaW4pO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQ29tcGxldGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VudFZhbCA9IGN1clZhbC5yZXBsYWNlKHRoaXMuc2xvdENoYXIsIFwiXCIpOyAvLyBMaW1wYSBvcyBjYXJhY3RlcmVzIHBsYWNlaG9sZGVycyBleHRyYXMgY2FzbyBlbGUgZXN0ZWphIGNvbXBsZXRvXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FsZW5kYXJWYWx1ZShzZW50VmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tWYWwodHJ1ZSk7XG5cbiAgICAgICAgICAgIHdoaWxlIChwb3MuYmVnaW4gPCB0aGlzLmxlbiAmJiAhdGhpcy50ZXN0c1twb3MuYmVnaW5dKSB7XG4gICAgICAgICAgICAgICAgcG9zLmJlZ2luKys7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FyZXQocG9zLmJlZ2luLCBwb3MuYmVnaW4pO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQ29tcGxldGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VudFZhbCA9IGN1clZhbC5yZXBsYWNlKHRoaXMuc2xvdENoYXIsIFwiXCIpOyAvLyBMaW1wYSBvcyBjYXJhY3RlcmVzIHBsYWNlaG9sZGVycyBleHRyYXMgY2FzbyBlbGUgZXN0ZWphIGNvbXBsZXRvXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FsZW5kYXJWYWx1ZShzZW50VmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ2FsZW5kYXJWYWx1ZShzZW50VmFsOiBzdHJpbmcpIHtcbiAgICAgICAgLy8gVE9ETyB2ZXJpZmljYXJcbiAgICAgICAgY29uc3QgZGF0ZVZhbCA9IDxEYXRlPnRoaXMuaG9zdC5wYXJzZVZhbHVlRnJvbVN0cmluZyhzZW50VmFsKTtcbiAgICAgICAgaWYgKHRoaXMuaG9zdC5pc1NlbGVjdGFibGUoZGF0ZVZhbC5nZXREYXRlKCksIGRhdGVWYWwuZ2V0TW9udGgoKSwgZGF0ZVZhbC5nZXRGdWxsWWVhcigpLCBmYWxzZSkpIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdC51cGRhdGVNb2RlbChzZW50VmFsKTtcbiAgICAgICAgICAgIHRoaXMuaG9zdC51cGRhdGVVSSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckJ1ZmZlcihzdGFydDogYW55LCBlbmQ6IGFueSkge1xuICAgICAgICBsZXQgaTtcblxuICAgICAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZCAmJiBpIDwgdGhpcy5sZW47IGkrKykge1xuICAgICAgICAgICAgaWYgKHRoaXMudGVzdHNbaV0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlcltpXSA9IHRoaXMuZ2V0UGxhY2Vob2xkZXIoaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlQnVmZmVyKCkge1xuICAgICAgICB0aGlzLmlucHV0LnZhbHVlID0gdGhpcy5idWZmZXIuam9pbihcIlwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZU1hc2tGcm9tRGF0ZUZvcm1hdCgpIHtcbiAgICAgICAgY29uc3QgY2FsZW5kYXIgPSB0aGlzLmhvc3Q7XG4gICAgICAgIGxldCBtYXNrID0gdGhpcy5hdXRvQ2xlYXIgPyBcIj9cIiA6IFwiXCI7XG5cbiAgICAgICAgaWYgKCFjYWxlbmRhci50aW1lT25seSkge1xuICAgICAgICAgICAgbGV0IGRhdGVGb3JtYXQgPSBjYWxlbmRhci5kYXRlRm9ybWF0O1xuICAgICAgICAgICAgZGF0ZUZvcm1hdCA9IGRhdGVGb3JtYXQucmVwbGFjZSgveS9nLCBcInl5XCIpO1xuICAgICAgICAgICAgbWFzayArPSBkYXRlRm9ybWF0LnJlcGxhY2UoL1teLyosLlxcLStcXFtcXF1cXFxcXS9nLCBcIjlcIik7XG4gICAgICAgICAgICBpZiAoY2FsZW5kYXIuc2hvd1RpbWUpIHtcbiAgICAgICAgICAgICAgICBtYXNrICs9IFwiIFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNhbGVuZGFyLnNob3dUaW1lIHx8IGNhbGVuZGFyLnRpbWVPbmx5KSB7XG4gICAgICAgICAgICBtYXNrICs9IFwiOTk6OTlcIjtcbiAgICAgICAgICAgIGlmIChjYWxlbmRhci5zaG93U2Vjb25kcykge1xuICAgICAgICAgICAgICAgIG1hc2sgKz0gXCI6OTlcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX21hc2sgPSBtYXNrO1xuXG4gICAgICAgIHRoaXMuaW5pdE1hc2soKTtcbiAgICB9XG5cbiAgICBpc0NvbXBsZXRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMuZmlyc3ROb25NYXNrUG9zOyBpIDw9IHRoaXMubGFzdFJlcXVpcmVkTm9uTWFza1BvczsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50ZXN0c1tpXSAmJiB0aGlzLmJ1ZmZlcltpXSA9PT0gdGhpcy5nZXRQbGFjZWhvbGRlcihpKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaG9zdC5pbnB1dGZpZWxkVmlld0NoaWxkICYmIHRoaXMuZmlyc3RUaW1lKSB7XG4gICAgICAgICAgICB0aGlzLmZpcnN0VGltZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zZXRMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXQudHlwZSA9IFwidGVsXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNMaXN0ZW5lcikgdGhpcy5mb2N1c0xpc3RlbmVyKCk7XG4gICAgICAgIGlmICh0aGlzLmJsdXJMaXN0ZW5lcikgdGhpcy5ibHVyTGlzdGVuZXIoKTtcbiAgICAgICAgaWYgKHRoaXMua2V5ZG93bkxpc3RlbmVyKSB0aGlzLmtleWRvd25MaXN0ZW5lcigpO1xuICAgICAgICBpZiAodGhpcy5rZXlwcmVzc0xpc3RlbmVyKSB0aGlzLmtleXByZXNzTGlzdGVuZXIoKTtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRMaXN0ZW5lcikgdGhpcy5pbnB1dExpc3RlbmVyKCk7XG4gICAgICAgIGlmICh0aGlzLnBhc3RlTGlzdGVuZXIpIHRoaXMucGFzdGVMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duXCIsIFtcIiRldmVudFwiXSlcbiAgICBvbktleWRvd25FdmVudFRlc3QoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCB7IGtleSB9ID0gZTtcbiAgICAgICAgaWYgKGtleSA9PSBcIlRhYlwiKSB7XG4gICAgICAgICAgICAvLyBFc3RlIGPDs2RpZ28gZm9pIGltcGxlbWVudGFkbyBwYXJhIGNvcnJpZ2lyIHVtIHByb2JsZW1hIG5vIGNvbXBvbmVudGUgbmEgdjlcbiAgICAgICAgICAgIC8vIERldmUgc2VyIHJlbW92aWRvIGFzc2ltIHF1ZSBhdHVhbGl6YXJtb3MgbyBQcmltZU5HIHBhcmEgYSB2MTBcbiAgICAgICAgICAgIGNvbnN0IGFsbEZvY3VzYWJsZUVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLlNFTEVDVE9SUyk7XG4gICAgICAgICAgICBsZXQgbmV4dElzRm9jdXNhYmxlID0gZmFsc2U7XG4gICAgICAgICAgICBsZXQgcHJldmlvdXNGb2N1c2FibGU6IHN0cmluZztcbiAgICAgICAgICAgIGxldCBmb3JjZUNsb3NlTW9kYWwgPSB0cnVlO1xuICAgICAgICAgICAgYWxsRm9jdXNhYmxlRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZS5zaGlmdEtleSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV4dElzRm9jdXNhYmxlICYmIGVsZW1lbnQuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNhYmxlRWxlbWVudChlbGVtZW50LmlkLCBmb3JjZUNsb3NlTW9kYWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dElzRm9jdXNhYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsZXQgYWN0aXZlVGFnTmFtZSA9IHdpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50LnRhZ05hbWU7XG4gICAgICAgICAgICAgICAgaWYgKGUuc2hpZnRLZXkgJiYgZWxlbWVudC5pZCAmJiBlbGVtZW50LnRhZ05hbWUgPT09IFwiSU5QVVRcIiAmJiBhY3RpdmVUYWdOYW1lID09IFwiQlVUVE9OXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNGb2N1c2FibGUgPSBlbGVtZW50LmlkO1xuICAgICAgICAgICAgICAgICAgICBmb3JjZUNsb3NlTW9kYWwgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5pZCA9PT0gdGhpcy5ob3N0LmlucHV0SWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzRm9jdXNhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzYWJsZUVsZW1lbnQocHJldmlvdXNGb2N1c2FibGUsIGZvcmNlQ2xvc2VNb2RhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JjZUNsb3NlTW9kYWwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5leHRJc0ZvY3VzYWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlLnNoaWZ0S2V5ICYmIGVsZW1lbnQuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNGb2N1c2FibGUgPSBlbGVtZW50LmlkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGZvY3VzYWJsZUVsZW1lbnQoaWQ6IHN0cmluZywgaGlkZTogYm9vbGVhbikge1xuICAgICAgICBjb25zdCBodG1sRWxlbWVudCA9IHdpbmRvdy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XG4gICAgICAgIGh0bWxFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGlmIChoaWRlKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3QuaGlkZU92ZXJsYXkoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -99,8 +99,8 @@ __decorate([
99
99
  ], CalendarFieldComponent.prototype, "calendar", void 0);
100
100
  CalendarFieldComponent = __decorate([
101
101
  Component({
102
- template: "<s-field-label *ngIf=\"inputRef\" [field]=\"field\"\n [fieldContainerRef]=\"inputRef\"></s-field-label>\n\n<div\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\">\n <!-- Remover as propriedades [showTransitionOptions] e [hideTransitionOptions] quando atualizar para o PrimeNG v10, esses atributos foram\n usados para remover um bug ocasionado pela anima\u00E7\u00E3o do componente p-calendar, bug explicado nas issues: #ERPROM-5534, #ERPROM-8248 e #DSN-1045. -->\n <p-calendar\n #calendar\n sCalendarMask\n [inputId]=\"(field.id || field.name)\"\n [name]=\"field.name\"\n [showIcon]=\"true\"\n [timeOnly]=\"timeOnly\"\n [selectionMode]=\"field.selectionMode\"\n [rangeSeparator]=\"field.rangeSeparator\"\n [showTime]=\"showTime\"\n [showSeconds]=\"field.showSeconds\"\n [showOnFocus]=\"field.showOnFocus\"\n [formControl]=\"formControl\"\n [icon]=\"timeOnly ? 'fa fa-clock' : 'fa fa-calendar'\"\n [minDate]=\"field.minDate\"\n [maxDate]=\"field.maxDate\"\n [defaultDate]=\"field.defaultDate\"\n [locale]=\"field.calendarLocaleOptions || locale\"\n [dateFormat]=\"field.calendarLocaleOptions?.dateFormat || 'platform.angular_components.date_format' | translate\"\n [hourFormat]=\"field.calendarLocaleOptions?.hourFormat || 'platform.angular_components.hour_format' | translate\"\n [view]=\"field.view\"\n [placeholder]=\"field.placeholder\"\n inputStyleClass=\"mousetrap\"\n [appendTo]=\"field.appendTo\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event): null\"\n (onSelect)=\"field.onSelect ? field.onSelect($event) : null\"\n (onClose)=\"field.onClose ? field.onClose($event) : null\"\n (onTodayClick)=\"field.onTodayClick ? field.onTodayClick($event) : null\"\n (onClearClick)=\"field.onClearClick ? field.onClearClick($event) : null\"\n (onMonthChange)=\"field.onMonthChange ? field.onMonthChange($event) : null\"\n (onYearChange)=\"field.onYearChange ? field.onYearChange($event) : null\"\n [showTransitionOptions]=\"'0ms'\"\n [hideTransitionOptions]=\"'0ms'\">\n </p-calendar>\n</div>\n"
102
+ template: "<s-field-label\n *ngIf=\"inputRef\"\n [field]=\"field\"\n [fieldContainerRef]=\"inputRef\">\n</s-field-label>\n\n<div [sTooltip]=\"field.tooltip\" tooltipPosition=\"top\" [showDelay]=\"500\">\n <!-- Remover as propriedades [showTransitionOptions] e [hideTransitionOptions] quando atualizar para o PrimeNG v10, esses atributos foram\n usados para remover um bug ocasionado pela anima\u00E7\u00E3o do componente p-calendar, bug explicado nas issues: #ERPROM-5534, #ERPROM-8248 e #DSN-1045. -->\n\n <!-- A diretiva sCalendarMask n\u00E3o est\u00E1 suportando sele\u00E7\u00E3o m\u00FAltipla. A forma como ela foi escrita n\u00E3o permite identificar a quantidade de datas\n que est\u00E3o sendo selecionadas. Removi o uso dela quando est\u00E1 com selectionMode=multiple. Analisar a remove\u00E7\u00E3o completa desta diretiva. -->\n <p-calendar\n *ngIf=\"field.selectionMode !== 'multiple'; else multiple\"\n #calendar\n sCalendarMask\n [inputId]=\"field.id || field.name\"\n [name]=\"field.name\"\n [showIcon]=\"true\"\n [timeOnly]=\"timeOnly\"\n [selectionMode]=\"field.selectionMode\"\n [rangeSeparator]=\"field.rangeSeparator\"\n [showTime]=\"showTime\"\n [showSeconds]=\"field.showSeconds\"\n [showOnFocus]=\"field.showOnFocus\"\n [formControl]=\"formControl\"\n [icon]=\"timeOnly ? 'fa fa-clock' : 'fa fa-calendar'\"\n [minDate]=\"field.minDate\"\n [maxDate]=\"field.maxDate\"\n [defaultDate]=\"field.defaultDate\"\n [locale]=\"field.calendarLocaleOptions || locale\"\n [dateFormat]=\"field.calendarLocaleOptions?.dateFormat || 'platform.angular_components.date_format' | translate\"\n [hourFormat]=\"field.calendarLocaleOptions?.hourFormat || 'platform.angular_components.hour_format' | translate\"\n [view]=\"field.view\"\n [placeholder]=\"field.placeholder\"\n inputStyleClass=\"mousetrap\"\n [appendTo]=\"field.appendTo\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onSelect)=\"field.onSelect ? field.onSelect($event) : null\"\n (onClose)=\"field.onClose ? field.onClose($event) : null\"\n (onTodayClick)=\"field.onTodayClick ? field.onTodayClick($event) : null\"\n (onClearClick)=\"field.onClearClick ? field.onClearClick($event) : null\"\n (onMonthChange)=\"field.onMonthChange ? field.onMonthChange($event) : null\"\n (onYearChange)=\"field.onYearChange ? field.onYearChange($event) : null\"\n [showTransitionOptions]=\"'0ms'\"\n [hideTransitionOptions]=\"'0ms'\">\n </p-calendar>\n\n <!-- A \u00FAnica diferen\u00E7a deste bloco \u00E9 a remo\u00E7\u00E3o da diretiva sCalendarMask. -->\n <ng-template #multiple>\n <p-calendar\n #calendar\n [inputId]=\"field.id || field.name\"\n [name]=\"field.name\"\n [showIcon]=\"true\"\n [timeOnly]=\"timeOnly\"\n [selectionMode]=\"field.selectionMode\"\n [rangeSeparator]=\"field.rangeSeparator\"\n [showTime]=\"showTime\"\n [showSeconds]=\"field.showSeconds\"\n [showOnFocus]=\"field.showOnFocus\"\n [formControl]=\"formControl\"\n [icon]=\"timeOnly ? 'fa fa-clock' : 'fa fa-calendar'\"\n [minDate]=\"field.minDate\"\n [maxDate]=\"field.maxDate\"\n [defaultDate]=\"field.defaultDate\"\n [locale]=\"field.calendarLocaleOptions || locale\"\n [dateFormat]=\"field.calendarLocaleOptions?.dateFormat || 'platform.angular_components.date_format' | translate\"\n [hourFormat]=\"field.calendarLocaleOptions?.hourFormat || 'platform.angular_components.hour_format' | translate\"\n [view]=\"field.view\"\n [placeholder]=\"field.placeholder\"\n inputStyleClass=\"mousetrap\"\n [appendTo]=\"field.appendTo\"\n (onBlur)=\"field.onBlur ? field.onBlur($event) : null\"\n (onFocus)=\"field.onFocus ? field.onFocus($event) : null\"\n (onSelect)=\"field.onSelect ? field.onSelect($event) : null\"\n (onClose)=\"field.onClose ? field.onClose($event) : null\"\n (onTodayClick)=\"field.onTodayClick ? field.onTodayClick($event) : null\"\n (onClearClick)=\"field.onClearClick ? field.onClearClick($event) : null\"\n (onMonthChange)=\"field.onMonthChange ? field.onMonthChange($event) : null\"\n (onYearChange)=\"field.onYearChange ? field.onYearChange($event) : null\"\n [showTransitionOptions]=\"'0ms'\"\n [hideTransitionOptions]=\"'0ms'\">\n </p-calendar>\n </ng-template>\n</div>\n"
103
103
  })
104
104
  ], CalendarFieldComponent);
105
105
  export { CalendarFieldComponent };
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL2NhbGVuZGFyL2NhbGVuZGFyLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVF2RCxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQUUvQixZQUNxQixnQkFBa0MsRUFDbEMsaUJBQW9DLEVBQ3BDLFVBQXNCO1FBRnRCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbUJwQyxXQUFNLEdBQUc7WUFDWixjQUFjLEVBQUUsQ0FBQztZQUNqQixRQUFRLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQztnQkFDcEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyx1Q0FBdUMsQ0FBQztnQkFDdEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQztnQkFDckUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGdCQUFn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QUM7d0RBQXNCO0FBcEJuQyxzQkFBc0I7SUFIbEMsU0FBUyxDQUFDO1FBQ1AsNHlFQUE0QztLQUMvQyxDQUFDO0dBQ1csc0JBQXNCLENBK0ZsQztTQS9GWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuXG5pbXBvcnQgeyBDYWxlbmRhckZpZWxkIH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9jYWxlbmRhci1maWVsZFwiO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSBcIi4uL2Jhc2UtZmllbGQtY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcImNhbGVuZGFyLWZpZWxkLmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICAgICkge31cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpZWxkOiBDYWxlbmRhckZpZWxkO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd1RpbWU6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0aW1lT25seTogYm9vbGVhbjtcblxuICAgIEBWaWV3Q2hpbGQoJ2NhbGVuZGFyJykgY2FsZW5kYXI6IEVsZW1lbnRSZWY7XG4gICAgXG4gICAgcHVibGljIGlucHV0UmVmOiBFbGVtZW50UmVmO1xuXG4gICAgcHVibGljIGxvY2FsZSA9IHtcbiAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsXG4gICAgICAgIGRheU5hbWVzOiBbXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zdW5kYXlcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5tb25kYXlcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50dWVzZGF5XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMud2VkbmVzZGF5XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMudGh1cnNkYXlcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5mcmlkYXlcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zYXR1cmRheVwiKSxcbiAgICAgICAgXSxcbiAgICAgICAgZGF5TmFtZXNTaG9ydDogW1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuc3VuZGF5X3Nob3J0XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMubW9uZGF5X3Nob3J0XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMudHVlc2RheV9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLndlZG5lc2RheV9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRodXJzZGF5X3Nob3J0XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuZnJpZGF5X3Nob3J0XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuc2F0dXJkYXlfc2hvcnRcIiksXG4gICAgICAgIF0sXG4gICAgICAgIGRheU5hbWVzTWluOiBbXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zdW5kYXlfbWluXCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMubW9uZGF5X21pblwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnR1ZXNkYXlfbWluXCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMud2VkbmVzZGF5X21pblwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRodXJzZGF5X21pblwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmZyaWRheV9taW5cIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zYXR1cmRheV9taW5cIiksXG4gICAgICAgIF0sXG4gICAgICAgIG1vbnRoTmFtZXM6IFtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmphbnVhcnlcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5mZWJydWFyeVwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm1hcmNoXCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuYXByaWxcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5tYXlcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5qdW5lXCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuanVseVwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmF1Z3VzdFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnNlcHRlbWJlclwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm9jdG9iZXJcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5ub3ZlbWJlclwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmRlY2VtYmVyXCIpLFxuICAgICAgICBdLFxuICAgICAgICBtb250aE5hbWVzU2hvcnQ6IFtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmphbnVhcnlfc2hvcnRcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5mZWJydWFyeV9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm1hcmNoX3Nob3J0XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuYXByaWxfc2hvcnRcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5tYXlfc2hvcnRcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5qdW5lX3Nob3J0XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuanVseV9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmF1Z3VzdF9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnNlcHRlbWJlcl9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm9jdG9iZXJfc2hvcnRcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5ub3ZlbWJlcl9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmRlY2VtYmVyX3Nob3J0XCIpLFxuICAgICAgICBdLFxuICAgICAgICB0b2RheTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMudG9kYXlcIiksXG4gICAgICAgIGNsZWFyOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jbGVhclwiKSxcbiAgICAgICAgZGF0ZUZvcm1hdDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuZGF0ZV9mb3JtYXRcIiksXG4gICAgICAgIGhvdXJGb3JtYXQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmhvdXJfZm9ybWF0XCIpLFxuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0SW5wdXRSZWYoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbnB1dFJlZigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dFJlZiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XG4gICAgfVxufVxuIl19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZmllbGRzL2NhbGVuZGFyL2NhbGVuZGFyLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVF2RCxJQUFhLHNCQUFzQixHQUFuQyxNQUFhLHNCQUFzQjtJQUUvQixZQUNxQixnQkFBa0MsRUFDbEMsaUJBQW9DLEVBQ3BDLFVBQXNCO1FBRnRCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbUJwQyxXQUFNLEdBQUc7WUFDWixjQUFjLEVBQUUsQ0FBQztZQUNqQixRQUFRLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQztnQkFDcEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyx1Q0FBdUMsQ0FBQztnQkFDdEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQztnQkFDckUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQzthQUN4RTtZQUNELGFBQWEsRUFBRTtnQkFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDO2dCQUN6RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDO2dCQUN6RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDJDQUEyQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDZDQUE2QyxDQUFDO2dCQUM1RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxDQUFDO2dCQUMzRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDO2dCQUN6RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxDQUFDO2FBQzlFO1lBQ0QsV0FBVyxFQUFFO2dCQUNULElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsd0NBQXdDLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsd0NBQXdDLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMseUNBQXlDLENBQUM7Z0JBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsMkNBQTJDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsd0NBQXdDLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUM7YUFDNUU7WUFDRCxVQUFVLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQztnQkFDcEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQztnQkFDckUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxpQ0FBaUMsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQztnQkFDakUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxrQ0FBa0MsQ0FBQztnQkFDakUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyx1Q0FBdUMsQ0FBQztnQkFDdEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQztnQkFDcEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQztnQkFDckUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQzthQUN4RTtZQUNELGVBQWUsRUFBRTtnQkFDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDJDQUEyQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxDQUFDO2dCQUMzRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxDQUFDO2dCQUN4RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxDQUFDO2dCQUN4RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLHVDQUF1QyxDQUFDO2dCQUN0RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO2dCQUN2RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxDQUFDO2dCQUN2RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDO2dCQUN6RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDZDQUE2QyxDQUFDO2dCQUM1RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDJDQUEyQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxDQUFDO2dCQUMzRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxDQUFDO2FBQzlFO1lBQ0QsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUM7WUFDekUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUM7WUFDekUsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMseUNBQXlDLENBQUM7WUFDcEYsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMseUNBQXlDLENBQUM7U0FDdkYsQ0FBQTtJQS9FRSxDQUFDO0lBaUZHLGVBQWU7UUFDbEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU8sV0FBVztRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDSixDQUFBOztZQTVGMEMsZ0JBQWdCO1lBQ2YsaUJBQWlCO1lBQ3hCLFVBQVU7O0FBSTNDO0lBREMsS0FBSyxFQUFFO3FEQUNvQjtBQUc1QjtJQURDLEtBQUssRUFBRTsyREFDd0I7QUFHaEM7SUFEQyxLQUFLLEVBQUU7d0RBQ2lCO0FBR3pCO0lBREMsS0FBSyxFQUFFO3dEQUNpQjtBQUVGO0lBQXRCLFNBQVMsQ0FBQyxVQUFVLENBQUM7d0RBQXNCO0FBcEJuQyxzQkFBc0I7SUFIbEMsU0FBUyxDQUFDO1FBQ1AsNHVKQUE0QztLQUMvQyxDQUFDO0dBQ1csc0JBQXNCLENBK0ZsQztTQS9GWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuXG5pbXBvcnQgeyBDYWxlbmRhckZpZWxkIH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9jYWxlbmRhci1maWVsZFwiO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSBcIi4uL2Jhc2UtZmllbGQtY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcImNhbGVuZGFyLWZpZWxkLmNvbXBvbmVudC5odG1sXCIsXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICAgICkge31cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpZWxkOiBDYWxlbmRhckZpZWxkO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd1RpbWU6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0aW1lT25seTogYm9vbGVhbjtcblxuICAgIEBWaWV3Q2hpbGQoJ2NhbGVuZGFyJykgY2FsZW5kYXI6IEVsZW1lbnRSZWY7XG4gICAgXG4gICAgcHVibGljIGlucHV0UmVmOiBFbGVtZW50UmVmO1xuXG4gICAgcHVibGljIGxvY2FsZSA9IHtcbiAgICAgICAgZmlyc3REYXlPZldlZWs6IDAsXG4gICAgICAgIGRheU5hbWVzOiBbXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zdW5kYXlcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5tb25kYXlcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50dWVzZGF5XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMud2VkbmVzZGF5XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMudGh1cnNkYXlcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5mcmlkYXlcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zYXR1cmRheVwiKSxcbiAgICAgICAgXSxcbiAgICAgICAgZGF5TmFtZXNTaG9ydDogW1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuc3VuZGF5X3Nob3J0XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMubW9uZGF5X3Nob3J0XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMudHVlc2RheV9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLndlZG5lc2RheV9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRodXJzZGF5X3Nob3J0XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuZnJpZGF5X3Nob3J0XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuc2F0dXJkYXlfc2hvcnRcIiksXG4gICAgICAgIF0sXG4gICAgICAgIGRheU5hbWVzTWluOiBbXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zdW5kYXlfbWluXCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMubW9uZGF5X21pblwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnR1ZXNkYXlfbWluXCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMud2VkbmVzZGF5X21pblwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRodXJzZGF5X21pblwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmZyaWRheV9taW5cIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zYXR1cmRheV9taW5cIiksXG4gICAgICAgIF0sXG4gICAgICAgIG1vbnRoTmFtZXM6IFtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmphbnVhcnlcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5mZWJydWFyeVwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm1hcmNoXCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuYXByaWxcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5tYXlcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5qdW5lXCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuanVseVwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmF1Z3VzdFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnNlcHRlbWJlclwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm9jdG9iZXJcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5ub3ZlbWJlclwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmRlY2VtYmVyXCIpLFxuICAgICAgICBdLFxuICAgICAgICBtb250aE5hbWVzU2hvcnQ6IFtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmphbnVhcnlfc2hvcnRcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5mZWJydWFyeV9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm1hcmNoX3Nob3J0XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuYXByaWxfc2hvcnRcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5tYXlfc2hvcnRcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5qdW5lX3Nob3J0XCIpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuanVseV9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmF1Z3VzdF9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnNlcHRlbWJlcl9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm9jdG9iZXJfc2hvcnRcIiksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5ub3ZlbWJlcl9zaG9ydFwiKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmRlY2VtYmVyX3Nob3J0XCIpLFxuICAgICAgICBdLFxuICAgICAgICB0b2RheTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMudG9kYXlcIiksXG4gICAgICAgIGNsZWFyOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jbGVhclwiKSxcbiAgICAgICAgZGF0ZUZvcm1hdDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuZGF0ZV9mb3JtYXRcIiksXG4gICAgICAgIGhvdXJGb3JtYXQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmhvdXJfZm9ybWF0XCIpLFxuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0SW5wdXRSZWYoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbnB1dFJlZigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dFJlZiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XG4gICAgfVxufVxuIl19
@@ -11,8 +11,8 @@ __decorate([
11
11
  ], EditorFieldComponent.prototype, "formControl", void 0);
12
12
  EditorFieldComponent = __decorate([
13
13
  Component({
14
- template: "<p-editor\n [formControl]=\"formControl\"\n [formats]=\"field.formats\"\n [readonly]=\"field.readonly\"\n [modules]=\"field.modules\"\n [style]=\"field.style\">\n</p-editor>"
14
+ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<p-editor\n [formControl]=\"formControl\"\n [formats]=\"field.formats\"\n [readonly]=\"field.readonly\"\n [modules]=\"field.modules\"\n [style]=\"field.style\">\n</p-editor>"
15
15
  })
16
16
  ], EditorFieldComponent);
17
17
  export { EditorFieldComponent };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9lZGl0b3IvZWRpdG9yLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJakQsT0FBTyxFQUFFLGtCQUFrQixFQUE0QixNQUFNLHlCQUF5QixDQUFDO0FBS3ZGLElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQXFCLFNBQVEsa0JBQWtCO0NBTTNELENBQUE7QUFKRztJQURDLEtBQUssRUFBRTttREFDa0I7QUFHMUI7SUFEQyxLQUFLLEVBQUU7eURBQ3dCO0FBTHZCLG9CQUFvQjtJQUhoQyxTQUFTLENBQUM7UUFDUCx3TUFBNEM7S0FDL0MsQ0FBQztHQUNXLG9CQUFvQixDQU1oQztTQU5ZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgRWRpdG9yRmllbGQgfSBmcm9tIFwiLi4vLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2VkaXRvci1maWVsZFwiO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50LCBCYXNlRmllbGRDb21wb25lbnRDb25maWcgfSBmcm9tIFwiLi4vYmFzZS1maWVsZC1jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6IFwiLi9lZGl0b3ItZmllbGQuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgRWRpdG9yRmllbGRDb21wb25lbnQgZXh0ZW5kcyBCYXNlRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpZWxkOiBFZGl0b3JGaWVsZDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9lZGl0b3IvZWRpdG9yLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFJeEUsT0FBTyxFQUFFLGtCQUFrQixFQUE0QixNQUFNLHlCQUF5QixDQUFDO0FBS3ZGLElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQXFCLFNBQVEsa0JBQWtCO0NBTTNELENBQUE7QUFKRztJQURDLEtBQUssRUFBRTttREFDa0I7QUFHMUI7SUFEQyxLQUFLLEVBQUU7eURBQ3dCO0FBTHZCLG9CQUFvQjtJQUhoQyxTQUFTLENBQUM7UUFDUCw2UEFBNEM7S0FDL0MsQ0FBQztHQUNXLG9CQUFvQixDQU1oQztTQU5ZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBFZGl0b3JGaWVsZCB9IGZyb20gXCIuLi8uLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvZWRpdG9yLWZpZWxkXCI7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnQsIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gXCIuLi9iYXNlLWZpZWxkLWNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2VkaXRvci1maWVsZC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0b3JGaWVsZENvbXBvbmVudCBleHRlbmRzIEJhc2VGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmllbGQ6IEVkaXRvckZpZWxkO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xufVxuIl19
@@ -1,17 +1,18 @@
1
1
  import { __decorate } from "tslib";
2
- import { NgModule } from "@angular/core";
3
2
  import { CommonModule } from "@angular/common";
3
+ import { NgModule } from "@angular/core";
4
4
  import { FormsModule, ReactiveFormsModule } from "@angular/forms";
5
5
  import { EditorModule } from "primeng/editor";
6
+ import { FieldLabelModule } from "../../field-label/field-label.module";
6
7
  import { EditorFieldComponent } from "./editor-field.component";
7
8
  let EditorFieldModule = class EditorFieldModule {
8
9
  };
9
10
  EditorFieldModule = __decorate([
10
11
  NgModule({
11
- imports: [CommonModule, FormsModule, ReactiveFormsModule, EditorModule],
12
+ imports: [CommonModule, FormsModule, ReactiveFormsModule, EditorModule, FieldLabelModule],
12
13
  declarations: [EditorFieldComponent],
13
14
  exports: [EditorFieldComponent],
14
15
  })
15
16
  ], EditorFieldModule);
16
17
  export { EditorFieldModule };
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZpZWxkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9lZGl0b3IvZWRpdG9yLWZpZWxkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU9oRSxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtDQUFHLENBQUE7QUFBcEIsaUJBQWlCO0lBTDdCLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxDQUFDO1FBQ3ZFLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO1FBQ3BDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO0tBQ2xDLENBQUM7R0FDVyxpQkFBaUIsQ0FBRztTQUFwQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBFZGl0b3JNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9lZGl0b3JcIjtcblxuaW1wb3J0IHsgRWRpdG9yRmllbGRDb21wb25lbnQgfSBmcm9tIFwiLi9lZGl0b3ItZmllbGQuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEVkaXRvck1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbRWRpdG9yRmllbGRDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtFZGl0b3JGaWVsZENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRvckZpZWxkTW9kdWxlIHt9XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZpZWxkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9lZGl0b3IvZWRpdG9yLWZpZWxkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU9oRSxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtDQUFHLENBQUE7QUFBcEIsaUJBQWlCO0lBTDdCLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixDQUFDO1FBQ3pGLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO1FBQ3BDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO0tBQ2xDLENBQUM7R0FDVyxpQkFBaUIsQ0FBRztTQUFwQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBFZGl0b3JNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9lZGl0b3JcIjtcblxuaW1wb3J0IHsgRmllbGRMYWJlbE1vZHVsZSB9IGZyb20gXCIuLi8uLi9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5tb2R1bGVcIjtcbmltcG9ydCB7IEVkaXRvckZpZWxkQ29tcG9uZW50IH0gZnJvbSBcIi4vZWRpdG9yLWZpZWxkLmNvbXBvbmVudFwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBFZGl0b3JNb2R1bGUsIEZpZWxkTGFiZWxNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW0VkaXRvckZpZWxkQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbRWRpdG9yRmllbGRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0b3JGaWVsZE1vZHVsZSB7fVxuIl19
@@ -11,8 +11,8 @@ __decorate([
11
11
  ], SelectFieldComponent.prototype, "formControl", void 0);
12
12
  SelectFieldComponent = __decorate([
13
13
  Component({
14
- template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<p-dropdown\n *ngIf=\"!field.multiple\"\n [inputId]=\"(field.id || field.name)\"\n [name]=\"field.name\"\n [options]=\"isFunction(field.options) ? field.options() : field.options\"\n [placeholder]=\"field.placeholder || ' '\"\n [formControl]=\"formControl\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [showClear]=\"field.showClear\"\n dataKey=\"{{field.dataKey}}\"\n optionLabel=\"{{field.optionLabel}}\"\n [autoDisplayFirst]=\"field.autoDisplayFirst\"\n [appendTo]=\"field.appendTo || 'body'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\">\n</p-dropdown>\n<p-multiSelect\n *ngIf=\"field.multiple\"\n [formControl]=\"formControl\"\n [name]=\"field.name\"\n [inputId]=\"(field.id || field.name)\"\n [options]=\"isFunction(field.options) ? field.options() : field.options\"\n [defaultLabel]=\"field.placeholder\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [emptyFilterMessage]=\"field.emptyMessage || 'platform.angular_components.no_records_found' | translate\"\n [showDelay]=\"500\"\n [selectedItemsLabel]=\"field.multipleSelectedLabel || 'platform.angular_components.total_records_selected' | translate\"\n [appendTo]=\"field.appendTo || 'body'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\">\n</p-multiSelect>\n\n"
14
+ template: "<s-field-label [field]=\"field\"></s-field-label>\n\n<p-dropdown\n *ngIf=\"!field.multiple\"\n [inputId]=\"(field.id || field.name)\"\n [name]=\"field.name\"\n [options]=\"isFunction(field.options) ? field.options() : field.options\"\n [placeholder]=\"field.placeholder || ' '\"\n [formControl]=\"formControl\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [showClear]=\"field.showClear\"\n dataKey=\"{{field.dataKey}}\"\n optionLabel=\"{{field.optionLabel}}\"\n [autoDisplayFirst]=\"field.autoDisplayFirst\"\n [appendTo]=\"field.appendTo || 'body'\"\n [editable]=\"field.editable\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\">\n</p-dropdown>\n<p-multiSelect\n *ngIf=\"field.multiple\"\n [formControl]=\"formControl\"\n [name]=\"field.name\"\n [inputId]=\"(field.id || field.name)\"\n [options]=\"isFunction(field.options) ? field.options() : field.options\"\n [defaultLabel]=\"field.placeholder\"\n [sTooltip]=\"field.tooltip\"\n tooltipPosition=\"top\"\n [emptyFilterMessage]=\"field.emptyMessage || 'platform.angular_components.no_records_found' | translate\"\n [showDelay]=\"500\"\n [selectedItemsLabel]=\"field.multipleSelectedLabel || 'platform.angular_components.total_records_selected' | translate\"\n [appendTo]=\"field.appendTo || 'body'\"\n (onClick)=\"field.onClick ? field.onClick($event) : null\"\n (onChange)=\"field.onChange ? field.onChange($event) : null\">\n</p-multiSelect>\n\n"
15
15
  })
16
16
  ], SelectFieldComponent);
17
17
  export { SelectFieldComponent };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9zZWxlY3Qvc2VsZWN0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLGtCQUFrQixFQUE0QixNQUFNLHlCQUF5QixDQUFDO0FBS3ZGLElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQXFCLFNBQVEsa0JBQWtCO0NBSzNELENBQUE7QUFIRztJQURDLEtBQUssRUFBRTttREFDa0I7QUFFMUI7SUFEQyxLQUFLLEVBQUU7eURBQ3dCO0FBSnZCLG9CQUFvQjtJQUhoQyxTQUFTLENBQUM7UUFDUCwraURBQTBDO0tBQzdDLENBQUM7R0FDVyxvQkFBb0IsQ0FLaEM7U0FMWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBTZWxlY3RGaWVsZCB9IGZyb20gXCIuLi8uLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvc2VsZWN0LWZpZWxkXCI7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnQsIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gXCIuLi9iYXNlLWZpZWxkLWNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCJzZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RmllbGRDb21wb25lbnQgZXh0ZW5kcyBCYXNlRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpZWxkOiBTZWxlY3RGaWVsZDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy9zZWxlY3Qvc2VsZWN0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLGtCQUFrQixFQUE0QixNQUFNLHlCQUF5QixDQUFDO0FBS3ZGLElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQXFCLFNBQVEsa0JBQWtCO0NBSzNELENBQUE7QUFIRztJQURDLEtBQUssRUFBRTttREFDa0I7QUFFMUI7SUFEQyxLQUFLLEVBQUU7eURBQ3dCO0FBSnZCLG9CQUFvQjtJQUhoQyxTQUFTLENBQUM7UUFDUCxrbERBQTBDO0tBQzdDLENBQUM7R0FDVyxvQkFBb0IsQ0FLaEM7U0FMWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBTZWxlY3RGaWVsZCB9IGZyb20gXCIuLi8uLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvc2VsZWN0LWZpZWxkXCI7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnQsIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gXCIuLi9iYXNlLWZpZWxkLWNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCJzZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RmllbGRDb21wb25lbnQgZXh0ZW5kcyBCYXNlRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpZWxkOiBTZWxlY3RGaWVsZDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG59XG4iXX0=
@@ -12,6 +12,7 @@ export class SelectField extends Field {
12
12
  this.onClick = config.onClick;
13
13
  this.onChange = config.onChange;
14
14
  this.emptyMessage = config.emptyMessage;
15
+ this.editable = config.editable;
15
16
  }
16
17
  }
17
18
  export class SelectOption {
@@ -20,4 +21,4 @@ export class SelectOption {
20
21
  this.value = config.value;
21
22
  }
22
23
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpZWxkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9zZWxlY3QtZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBZSxNQUFNLFNBQVMsQ0FBQztBQWU3QyxNQUFNLE9BQU8sV0FBWSxTQUFRLEtBQUs7SUFZbEMsWUFBWSxNQUF5QjtRQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztRQUMxRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUM1QyxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQUlyQixZQUFZLE1BQW9CO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDOUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGQsIEZpZWxkQ29uZmlnIH0gZnJvbSBcIi4vZmllbGRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RGaWVsZENvbmZpZyBleHRlbmRzIEZpZWxkQ29uZmlnIHtcbiAgICBhcHBlbmRUbz86IHN0cmluZztcbiAgICBvcHRpb25MYWJlbD86IHN0cmluZztcbiAgICBkYXRhS2V5Pzogc3RyaW5nO1xuICAgIGF1dG9EaXNwbGF5Rmlyc3Q/OiBib29sZWFuO1xuICAgIG9wdGlvbnM6ICgpID0+IFNlbGVjdE9wdGlvbltdIHwgYW55W107XG4gICAgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIG11bHRpcGxlU2VsZWN0ZWRMYWJlbD86IHN0cmluZztcbiAgICBvbkNsaWNrPzogKGV2ZW50OiBhbnkpID0+IHZvaWQ7XG4gICAgb25DaGFuZ2U/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBlbXB0eU1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3RGaWVsZCBleHRlbmRzIEZpZWxkIHtcbiAgICBwdWJsaWMgYXBwZW5kVG8/OiBzdHJpbmc7XG4gICAgcHVibGljIG9wdGlvbkxhYmVsPzogc3RyaW5nO1xuICAgIHB1YmxpYyBkYXRhS2V5Pzogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvRGlzcGxheUZpcnN0PzogYm9vbGVhbjtcbiAgICBwdWJsaWMgb3B0aW9uczogKCkgPT4gU2VsZWN0T3B0aW9uW10gfCBhbnlbXTtcbiAgICBwdWJsaWMgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIHB1YmxpYyBtdWx0aXBsZVNlbGVjdGVkTGFiZWw/OiBzdHJpbmc7XG4gICAgcHVibGljIG9uQ2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25DaGFuZ2U/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgZW1wdHlNZXNzYWdlPzogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBTZWxlY3RGaWVsZENvbmZpZykge1xuICAgICAgICBzdXBlcihjb25maWcpO1xuICAgICAgICB0aGlzLmFwcGVuZFRvID0gY29uZmlnLmFwcGVuZFRvO1xuICAgICAgICB0aGlzLmRhdGFLZXkgPSBjb25maWcuZGF0YUtleTtcbiAgICAgICAgdGhpcy5vcHRpb25MYWJlbCA9IGNvbmZpZy5vcHRpb25MYWJlbDtcbiAgICAgICAgdGhpcy5hdXRvRGlzcGxheUZpcnN0ID0gY29uZmlnLmF1dG9EaXNwbGF5Rmlyc3Q7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IGNvbmZpZy5vcHRpb25zO1xuICAgICAgICB0aGlzLm11bHRpcGxlID0gY29uZmlnLm11bHRpcGxlO1xuICAgICAgICB0aGlzLm11bHRpcGxlU2VsZWN0ZWRMYWJlbCA9IGNvbmZpZy5tdWx0aXBsZVNlbGVjdGVkTGFiZWw7XG4gICAgICAgIHRoaXMub25DbGljayA9IGNvbmZpZy5vbkNsaWNrO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gY29uZmlnLm9uQ2hhbmdlO1xuICAgICAgICB0aGlzLmVtcHR5TWVzc2FnZSA9IGNvbmZpZy5lbXB0eU1lc3NhZ2U7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2VsZWN0T3B0aW9uIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHZhbHVlPzogYW55O1xuXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBTZWxlY3RPcHRpb24pIHtcbiAgICAgICAgdGhpcy5sYWJlbCA9IGNvbmZpZy5sYWJlbDtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGNvbmZpZy52YWx1ZTtcbiAgICB9XG59XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpZWxkLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9zZWxlY3QtZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBZSxNQUFNLFNBQVMsQ0FBQztBQWdCN0MsTUFBTSxPQUFPLFdBQVksU0FBUSxLQUFLO0lBYWxDLFlBQVksTUFBeUI7UUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUM7UUFDMUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBSXJCLFlBQVksTUFBb0I7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZCwgRmllbGRDb25maWcgfSBmcm9tIFwiLi9maWVsZFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEZpZWxkQ29uZmlnIGV4dGVuZHMgRmllbGRDb25maWcge1xuICAgIGFwcGVuZFRvPzogc3RyaW5nO1xuICAgIG9wdGlvbkxhYmVsPzogc3RyaW5nO1xuICAgIGRhdGFLZXk/OiBzdHJpbmc7XG4gICAgYXV0b0Rpc3BsYXlGaXJzdD86IGJvb2xlYW47XG4gICAgb3B0aW9uczogKCkgPT4gU2VsZWN0T3B0aW9uW10gfCBhbnlbXTtcbiAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gICAgbXVsdGlwbGVTZWxlY3RlZExhYmVsPzogc3RyaW5nO1xuICAgIG9uQ2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBvbkNoYW5nZT86IChldmVudDogYW55KSA9PiB2b2lkO1xuICAgIGVtcHR5TWVzc2FnZT86IHN0cmluZztcbiAgICBlZGl0YWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3RGaWVsZCBleHRlbmRzIEZpZWxkIHtcbiAgICBwdWJsaWMgYXBwZW5kVG8/OiBzdHJpbmc7XG4gICAgcHVibGljIG9wdGlvbkxhYmVsPzogc3RyaW5nO1xuICAgIHB1YmxpYyBkYXRhS2V5Pzogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvRGlzcGxheUZpcnN0PzogYm9vbGVhbjtcbiAgICBwdWJsaWMgb3B0aW9uczogKCkgPT4gU2VsZWN0T3B0aW9uW10gfCBhbnlbXTtcbiAgICBwdWJsaWMgbXVsdGlwbGU/OiBib29sZWFuO1xuICAgIHB1YmxpYyBtdWx0aXBsZVNlbGVjdGVkTGFiZWw/OiBzdHJpbmc7XG4gICAgcHVibGljIG9uQ2xpY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgb25DaGFuZ2U/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgZW1wdHlNZXNzYWdlPzogc3RyaW5nO1xuICAgIHB1YmxpYyBlZGl0YWJsZT86IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihjb25maWc6IFNlbGVjdEZpZWxkQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKGNvbmZpZyk7XG4gICAgICAgIHRoaXMuYXBwZW5kVG8gPSBjb25maWcuYXBwZW5kVG87XG4gICAgICAgIHRoaXMuZGF0YUtleSA9IGNvbmZpZy5kYXRhS2V5O1xuICAgICAgICB0aGlzLm9wdGlvbkxhYmVsID0gY29uZmlnLm9wdGlvbkxhYmVsO1xuICAgICAgICB0aGlzLmF1dG9EaXNwbGF5Rmlyc3QgPSBjb25maWcuYXV0b0Rpc3BsYXlGaXJzdDtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gY29uZmlnLm9wdGlvbnM7XG4gICAgICAgIHRoaXMubXVsdGlwbGUgPSBjb25maWcubXVsdGlwbGU7XG4gICAgICAgIHRoaXMubXVsdGlwbGVTZWxlY3RlZExhYmVsID0gY29uZmlnLm11bHRpcGxlU2VsZWN0ZWRMYWJlbDtcbiAgICAgICAgdGhpcy5vbkNsaWNrID0gY29uZmlnLm9uQ2xpY2s7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBjb25maWcub25DaGFuZ2U7XG4gICAgICAgIHRoaXMuZW1wdHlNZXNzYWdlID0gY29uZmlnLmVtcHR5TWVzc2FnZTtcbiAgICAgICAgdGhpcy5lZGl0YWJsZSA9IGNvbmZpZy5lZGl0YWJsZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3RPcHRpb24ge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgdmFsdWU/OiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihjb25maWc6IFNlbGVjdE9wdGlvbikge1xuICAgICAgICB0aGlzLmxhYmVsID0gY29uZmlnLmxhYmVsO1xuICAgICAgICB0aGlzLnZhbHVlID0gY29uZmlnLnZhbHVlO1xuICAgIH1cbn1cbiJdfQ==