@taiga-ui/kit 4.45.0 → 4.46.0-canary.3415f27

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 (84) hide show
  1. package/components/badged-content/badged-content.component.d.ts +5 -1
  2. package/components/combo-box/combo-box.directive.d.ts +0 -1
  3. package/components/index.d.ts +2 -0
  4. package/components/input-chip/input-chip.component.d.ts +1 -0
  5. package/components/input-chip/input-chip.directive.d.ts +5 -3
  6. package/components/input-date/date-filler.d.ts +2 -0
  7. package/components/input-date/index.d.ts +1 -0
  8. package/components/input-date/input-date.directive.d.ts +14 -10
  9. package/components/input-date-multi/index.d.ts +2 -0
  10. package/components/input-date-multi/input-date-multi.d.ts +4 -0
  11. package/components/input-date-multi/input-date-multi.directive.d.ts +30 -0
  12. package/components/input-date-range/input-date-range.directive.d.ts +1 -1
  13. package/components/input-date-time/index.d.ts +4 -0
  14. package/components/input-date-time/input-date-time.component.d.ts +13 -0
  15. package/components/input-date-time/input-date-time.d.ts +4 -0
  16. package/components/input-date-time/input-date-time.directive.d.ts +37 -0
  17. package/components/input-date-time/input-date-time.options.d.ts +18 -0
  18. package/components/input-time/input-time.component.d.ts +12 -3
  19. package/components/preview/preview.component.d.ts +2 -1
  20. package/esm2022/components/avatar/avatar.component.mjs +3 -3
  21. package/esm2022/components/badged-content/badged-content.component.mjs +14 -3
  22. package/esm2022/components/button-loading/button-loading.component.mjs +2 -1
  23. package/esm2022/components/combo-box/combo-box.directive.mjs +4 -10
  24. package/esm2022/components/index.mjs +3 -1
  25. package/esm2022/components/input-chip/input-chip.component.mjs +5 -3
  26. package/esm2022/components/input-chip/input-chip.directive.mjs +3 -3
  27. package/esm2022/components/input-date/date-filler.mjs +20 -0
  28. package/esm2022/components/input-date/index.mjs +2 -1
  29. package/esm2022/components/input-date/input-date.directive.mjs +32 -32
  30. package/esm2022/components/input-date-multi/index.mjs +3 -0
  31. package/esm2022/components/input-date-multi/input-date-multi.directive.mjs +129 -0
  32. package/esm2022/components/input-date-multi/input-date-multi.mjs +9 -0
  33. package/esm2022/components/input-date-multi/taiga-ui-kit-components-input-date-multi.mjs +5 -0
  34. package/esm2022/components/input-date-range/input-date-range.directive.mjs +5 -5
  35. package/esm2022/components/input-date-time/index.mjs +5 -0
  36. package/esm2022/components/input-date-time/input-date-time.component.mjs +34 -0
  37. package/esm2022/components/input-date-time/input-date-time.directive.mjs +174 -0
  38. package/esm2022/components/input-date-time/input-date-time.mjs +9 -0
  39. package/esm2022/components/input-date-time/input-date-time.options.mjs +20 -0
  40. package/esm2022/components/input-date-time/taiga-ui-kit-components-input-date-time.mjs +5 -0
  41. package/esm2022/components/input-time/input-time.component.mjs +44 -26
  42. package/esm2022/components/input-time/input-time.directive.mjs +7 -2
  43. package/esm2022/components/pager/pager.component.mjs +3 -3
  44. package/esm2022/components/preview/dialog/preview-dialog.component.mjs +3 -3
  45. package/esm2022/components/preview/preview.component.mjs +8 -6
  46. package/esm2022/components/status/status.directive.mjs +2 -2
  47. package/esm2022/components/textarea/textarea.component.mjs +3 -2
  48. package/esm2022/directives/lazy-loading/lazy-loading.directive.mjs +2 -1
  49. package/fesm2022/taiga-ui-kit-components-avatar.mjs +2 -2
  50. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +13 -2
  52. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +1 -0
  54. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +3 -9
  56. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +7 -5
  58. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +141 -0
  60. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -0
  61. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +4 -4
  62. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +230 -0
  64. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -0
  65. package/fesm2022/taiga-ui-kit-components-input-date.mjs +52 -37
  66. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-kit-components-input-time.mjs +48 -26
  68. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-kit-components-pager.mjs +2 -2
  70. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs +2 -2
  72. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-kit-components-preview.mjs +9 -7
  74. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-kit-components-status.mjs +2 -2
  76. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-kit-components-textarea.mjs +2 -1
  78. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-kit-components.mjs +2 -0
  80. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs +1 -0
  82. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +1 -1
  83. package/package.json +26 -14
  84. package/styles/components/status.less +1 -4
@@ -1,7 +1,6 @@
1
1
  import { computed, Directive, effect, inject, Input, isSignal, signal, untracked, } from '@angular/core';
2
2
  import { tuiAsControl, TuiControl } from '@taiga-ui/cdk/classes';
3
3
  import { TUI_ALLOW_SIGNAL_WRITES, TUI_STRICT_MATCHER } from '@taiga-ui/cdk/constants';
4
- import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
5
4
  import { tuiAsOptionContent } from '@taiga-ui/core/components/data-list';
6
5
  import { tuiAsTextfieldAccessor, tuiInjectAuxiliary, TuiTextfieldComponent, TuiTextfieldDirective, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
7
6
  import { TuiDropdownDirective, tuiDropdownEnabled, tuiDropdownOpen, } from '@taiga-ui/core/directives/dropdown';
@@ -12,7 +11,6 @@ import * as i1 from "@taiga-ui/core/components/textfield";
12
11
  class TuiComboBox extends TuiControl {
13
12
  constructor() {
14
13
  super(...arguments);
15
- this.el = tuiInjectElement();
16
14
  this.host = inject(TuiTextfieldComponent);
17
15
  this.textfield = inject(TuiTextfieldDirective);
18
16
  this.open = tuiDropdownOpen();
@@ -48,7 +46,7 @@ class TuiComboBox extends TuiControl {
48
46
  }
49
47
  }, TUI_ALLOW_SIGNAL_WRITES);
50
48
  this.blurEffect = effect(() => {
51
- const incomplete = untracked(() => this.strict() && !this.value());
49
+ const incomplete = untracked(() => this.strict() && this.value() === null);
52
50
  if (!this.host.focused() && incomplete) {
53
51
  this.textfield.value.set('');
54
52
  }
@@ -63,11 +61,7 @@ class TuiComboBox extends TuiControl {
63
61
  this.matcher.set(x);
64
62
  }
65
63
  setValue(value) {
66
- const stringified = this.stringify(value);
67
- if (stringified !== this.textfield.value()) {
68
- this.textfield.value.set(stringified);
69
- setTimeout((end = stringified.length) => this.el.setSelectionRange(end, end));
70
- }
64
+ this.textfield.setValue(value);
71
65
  this.onChange(value);
72
66
  if (!value) {
73
67
  this.toggleDropdown(true);
@@ -94,7 +88,7 @@ class TuiComboBox extends TuiControl {
94
88
  }
95
89
  }
96
90
  stringify(value) {
97
- return value ? this.itemsHandlers.stringify()(value) : '';
91
+ return value != null ? this.itemsHandlers.stringify()(value) : '';
98
92
  }
99
93
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiComboBox, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
100
94
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiComboBox, isStandalone: true, selector: "input[tuiComboBox]", inputs: { strictSetter: ["strict", "strictSetter"], matcherSetter: ["matcher", "matcherSetter"] }, host: { listeners: { "click": "toggleDropdown()", "input": "toggleDropdown(true)", "keydown.enter": "keydownEnter($event)" }, properties: { "disabled": "disabled()" } }, providers: [
@@ -129,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
129
123
  type: Input,
130
124
  args: ['matcher']
131
125
  }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm8tYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2NvbWJvLWJveC9jb21iby1ib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFcEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxFQUNILHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixnQkFBZ0IsR0FDbkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixlQUFlLEdBQ2xCLE1BQU0sb0NBQW9DLENBQUM7QUFFNUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFaEUsTUFnQmEsV0FDVCxTQUFRLFVBQTZCO0lBakJ6Qzs7UUFvQnFCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBb0IsQ0FBQztRQUMxQyxTQUFJLEdBQTZCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQy9ELGNBQVMsR0FBNkIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDcEUsU0FBSSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLG9CQUFlLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELGFBQVEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUMxQixNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVkLFlBQU8sR0FBRyxNQUFNLENBQTZCLGtCQUFrQixDQUFDLENBQUM7UUFDakUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixhQUFRLEdBQUcsa0JBQWtCLENBQzFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDN0QsQ0FBQztRQUVlLFlBQU8sR0FBRyxRQUFRLENBQy9CLEdBQUcsRUFBRSxDQUNELElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDWCxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsd0NBQXdDO2FBQ3JELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQzdFLENBQUM7UUFFaUIseUJBQW9CLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNsRCxJQUNJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU07Z0JBQ3RCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQ3pEO2dCQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQzthQUNqRDtRQUNMLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBRVQsbUJBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMvQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQzdCLE9BQU87YUFDVjtZQUVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUMsTUFBTSxjQUFjLEdBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNmLE9BQU8sQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FDN0QsSUFBSSxJQUFJLENBQUM7WUFDZCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7WUFFMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLElBQUksUUFBUSxDQUFDLENBQUM7WUFFMUMsSUFBSSxXQUFXLElBQUksV0FBVyxLQUFLLGNBQWMsRUFBRTtnQkFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3pDO1FBQ0wsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFFVCxlQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFFbkUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksVUFBVSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDaEM7UUFDTCxDQUFDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztLQTBEL0I7SUF4REcsNkJBQTZCO0lBQzdCLElBQ1csWUFBWSxDQUFDLENBQVU7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELDZCQUE2QjtJQUM3QixJQUNXLGFBQWEsQ0FBQyxDQUE2QjtRQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWU7UUFDM0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQyxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN0QyxVQUFVLENBQUMsQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNqRjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBRWUsVUFBVSxDQUFDLEtBQXdCO1FBQy9DLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRVMsY0FBYyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDeEMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjtJQUNMLENBQUM7SUFFUyxZQUFZLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNkLE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFL0IsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUF3QjtRQUN0QyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzlELENBQUM7K0dBMUhRLFdBQVc7bUdBQVgsV0FBVyw4VUFiVDtZQUNQLGtCQUFrQixDQUFDLGVBQWUsQ0FBQztZQUNuQyxzQkFBc0IsQ0FBQyxXQUFXLENBQUM7WUFDbkMsWUFBWSxDQUFDLFdBQVcsQ0FBQztTQUM1Qjs7U0FTUSxXQUFXOzRGQUFYLFdBQVc7a0JBaEJ2QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixTQUFTLEVBQUU7d0JBQ1Asa0JBQWtCLENBQUMsZUFBZSxDQUFDO3dCQUNuQyxzQkFBc0IsYUFBYTt3QkFDbkMsWUFBWSxhQUFhO3FCQUM1QjtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDbEMsSUFBSSxFQUFFO3dCQUNGLFlBQVksRUFBRSxZQUFZO3dCQUMxQixTQUFTLEVBQUUsa0JBQWtCO3dCQUM3QixTQUFTLEVBQUUsc0JBQXNCO3dCQUNqQyxpQkFBaUIsRUFBRSxzQkFBc0I7cUJBQzVDO2lCQUNKOzhCQXNFYyxZQUFZO3NCQUR0QixLQUFLO3VCQUFDLFFBQVE7Z0JBT0osYUFBYTtzQkFEdkIsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBjb21wdXRlZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgZWZmZWN0LFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBpc1NpZ25hbCxcbiAgICBzaWduYWwsXG4gICAgdW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUywgVFVJX1NUUklDVF9NQVRDSEVSfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7VHVpU3RyaW5nTWF0Y2hlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB0eXBlIHtUdWlEYXRhTGlzdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge3R1aUFzT3B0aW9uQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHR5cGUge1R1aVRleHRmaWVsZEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IsXG4gICAgdHVpSW5qZWN0QXV4aWxpYXJ5LFxuICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGREaXJlY3RpdmUsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICB0dWlEcm9wZG93bkVuYWJsZWQsXG4gICAgdHVpRHJvcGRvd25PcGVuLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB0eXBlIHtUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0lURU1TX0hBTkRMRVJTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VHVpU2VsZWN0T3B0aW9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUNvbWJvQm94XScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzT3B0aW9uQ29udGVudChUdWlTZWxlY3RPcHRpb24pLFxuICAgICAgICB0dWlBc1RleHRmaWVsZEFjY2Vzc29yKFR1aUNvbWJvQm94KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUNvbWJvQm94KSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aFRleHRmaWVsZF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhjbGljayknOiAndG9nZ2xlRHJvcGRvd24oKScsXG4gICAgICAgICcoaW5wdXQpJzogJ3RvZ2dsZURyb3Bkb3duKHRydWUpJyxcbiAgICAgICAgJyhrZXlkb3duLmVudGVyKSc6ICdrZXlkb3duRW50ZXIoJGV2ZW50KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ29tYm9Cb3g8VD5cbiAgICBleHRlbmRzIFR1aUNvbnRyb2w8VCB8IHN0cmluZyB8IG51bGw+XG4gICAgaW1wbGVtZW50cyBUdWlUZXh0ZmllbGRBY2Nlc3NvcjxUPlxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0OiBUdWlUZXh0ZmllbGRDb21wb25lbnQ8VD4gPSBpbmplY3QoVHVpVGV4dGZpZWxkQ29tcG9uZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZDogVHVpVGV4dGZpZWxkRGlyZWN0aXZlPFQ+ID0gaW5qZWN0KFR1aVRleHRmaWVsZERpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bkVuYWJsZWQgPSB0dWlEcm9wZG93bkVuYWJsZWQodGhpcy5pbnRlcmFjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93biA9IGluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpdGVtc0hhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQgfCBzdHJpbmc+ID1cbiAgICAgICAgaW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUyk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdGNoZXIgPSBzaWduYWw8VHVpU3RyaW5nTWF0Y2hlcjxUPiB8IG51bGw+KFRVSV9TVFJJQ1RfTUFUQ0hFUik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdHJpY3QgPSBzaWduYWwodHJ1ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkYXRhbGlzdCA9IHR1aUluamVjdEF1eGlsaWFyeTxUdWlEYXRhTGlzdEFjY2Vzc29yPFQ+PihcbiAgICAgICAgKHgpID0+IHggIT09IHRoaXMgJiYgJ29wdGlvbnMnIGluIHggJiYgaXNTaWduYWwoeC5vcHRpb25zKSxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gY29tcHV0ZWQoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgICB0aGlzLmRhdGFsaXN0KClcbiAgICAgICAgICAgICAgICA/Lm9wdGlvbnM/LigpIC8vIFRPRE8odjUpOiByZW1vdmUgb3B0aW9uYWwgY2FsbCBgPy4oKWBcbiAgICAgICAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAhdGhpcy5pdGVtc0hhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKSh4KSkgPz8gW10sXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBub25TdHJpY3RWYWx1ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLm9wdGlvbnMoKS5sZW5ndGggJiZcbiAgICAgICAgICAgICF0aGlzLnN0cmljdCgpICYmXG4gICAgICAgICAgICB0aGlzLnN0cmluZ2lmeSh0aGlzLnZhbHVlKCkpICE9PSB0aGlzLnRleHRmaWVsZC52YWx1ZSgpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnRleHRmaWVsZC52YWx1ZSgpIHx8IG51bGwpO1xuICAgICAgICB9XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hdGNoaW5nRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucygpO1xuICAgICAgICBjb25zdCBtYXRjaGVyID0gdGhpcy5tYXRjaGVyKCk7XG5cbiAgICAgICAgaWYgKCFvcHRpb25zLmxlbmd0aCB8fCAhbWF0Y2hlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGV4dGZpZWxkVmFsdWUgPSB0aGlzLnRleHRmaWVsZC52YWx1ZSgpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9XG4gICAgICAgICAgICBvcHRpb25zLmZpbmQoKHgpID0+XG4gICAgICAgICAgICAgICAgbWF0Y2hlcih4LCB0ZXh0ZmllbGRWYWx1ZSwgdGhpcy5pdGVtc0hhbmRsZXJzLnN0cmluZ2lmeSgpKSxcbiAgICAgICAgICAgICkgPz8gbnVsbDtcbiAgICAgICAgY29uc3Qgc3RyaW5naWZpZWQgPSB0aGlzLnN0cmluZ2lmeShzZWxlY3RlZE9wdGlvbik7XG4gICAgICAgIGNvbnN0IGZhbGxiYWNrID0gdGhpcy5zdHJpY3QoKSB8fCAhdGV4dGZpZWxkVmFsdWUgPyBudWxsIDogdGV4dGZpZWxkVmFsdWU7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZShzZWxlY3RlZE9wdGlvbiA/PyBmYWxsYmFjayk7XG5cbiAgICAgICAgaWYgKHN0cmluZ2lmaWVkICYmIHN0cmluZ2lmaWVkICE9PSB0ZXh0ZmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHN0cmluZ2lmaWVkKTtcbiAgICAgICAgfVxuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBibHVyRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaW5jb21wbGV0ZSA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLnN0cmljdCgpICYmICF0aGlzLnZhbHVlKCkpO1xuXG4gICAgICAgIGlmICghdGhpcy5ob3N0LmZvY3VzZWQoKSAmJiBpbmNvbXBsZXRlKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQoJycpO1xuICAgICAgICB9XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ3N0cmljdCcpXG4gICAgcHVibGljIHNldCBzdHJpY3RTZXR0ZXIoeDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnN0cmljdC5zZXQoeCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IHVzZSBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ21hdGNoZXInKVxuICAgIHB1YmxpYyBzZXQgbWF0Y2hlclNldHRlcih4OiBUdWlTdHJpbmdNYXRjaGVyPFQ+IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1hdGNoZXIuc2V0KHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc3RyaW5naWZpZWQgPSB0aGlzLnN0cmluZ2lmeSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHN0cmluZ2lmaWVkICE9PSB0aGlzLnRleHRmaWVsZC52YWx1ZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQoc3RyaW5naWZpZWQpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoZW5kID0gc3RyaW5naWZpZWQubGVuZ3RoKSA9PiB0aGlzLmVsLnNldFNlbGVjdGlvblJhbmdlKGVuZCwgZW5kKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcblxuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFQgfCBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodGhpcy5zdHJpbmdpZnkodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9nZ2xlRHJvcGRvd24ob3BlbiA9ICF0aGlzLm9wZW4oKSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kcm9wZG93bkVuYWJsZWQoKSAmJiB0aGlzLmRyb3Bkb3duLl9jb250ZW50KCkpIHtcbiAgICAgICAgICAgIHRoaXMub3Blbi5zZXQob3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQga2V5ZG93bkVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5vcGVuKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucygpO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMSAmJiBvcHRpb25zWzBdKSB7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlKG9wdGlvbnNbMF0pO1xuICAgICAgICAgICAgdGhpcy50b2dnbGVEcm9wZG93bihmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0cmluZ2lmeSh2YWx1ZTogVCB8IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWUgPyB0aGlzLml0ZW1zSGFuZGxlcnMuc3RyaW5naWZ5KCkodmFsdWUpIDogJyc7XG4gICAgfVxufVxuIl19
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm8tYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2NvbWJvLWJveC9jb21iby1ib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFHcEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFdkUsT0FBTyxFQUNILHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixnQkFBZ0IsR0FDbkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixlQUFlLEdBQ2xCLE1BQU0sb0NBQW9DLENBQUM7QUFFNUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFaEUsTUFnQmEsV0FDVCxTQUFRLFVBQTZCO0lBakJ6Qzs7UUFvQnFCLFNBQUksR0FBNkIsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDL0QsY0FBUyxHQUE2QixNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNwRSxTQUFJLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFDekIsb0JBQWUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkQsYUFBUSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQzFCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRWQsWUFBTyxHQUFHLE1BQU0sQ0FBNkIsa0JBQWtCLENBQUMsQ0FBQztRQUNqRSxXQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBRyxrQkFBa0IsQ0FDMUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUM3RCxDQUFDO1FBRWUsWUFBTyxHQUFHLFFBQVEsQ0FDL0IsR0FBRyxFQUFFLENBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNYLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyx3Q0FBd0M7YUFDckQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FDN0UsQ0FBQztRQUVpQix5QkFBb0IsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2xELElBQ0ksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTTtnQkFDdEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFDekQ7Z0JBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO2FBQ2pEO1FBQ0wsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFFVCxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUUvQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDN0IsT0FBTzthQUNWO1lBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QyxNQUFNLGNBQWMsR0FDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2YsT0FBTyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUM3RCxJQUFJLElBQUksQ0FBQztZQUNkLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztZQUUxRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsSUFBSSxRQUFRLENBQUMsQ0FBQztZQUUxQyxJQUFJLFdBQVcsSUFBSSxXQUFXLEtBQUssY0FBYyxFQUFFO2dCQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDekM7UUFDTCxDQUFDLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUVULGVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ3hDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDO1lBRTNFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLFVBQVUsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2hDO1FBQ0wsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUM7S0FvRC9CO0lBbERHLDZCQUE2QjtJQUM3QixJQUNXLFlBQVksQ0FBQyxDQUFVO1FBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsSUFDVyxhQUFhLENBQUMsQ0FBNkI7UUFDbEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFlO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBRWUsVUFBVSxDQUFDLEtBQXdCO1FBQy9DLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRVMsY0FBYyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDeEMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjtJQUNMLENBQUM7SUFFUyxZQUFZLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNkLE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFL0IsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUF3QjtRQUN0QyxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN0RSxDQUFDOytHQW5IUSxXQUFXO21HQUFYLFdBQVcsOFVBYlQ7WUFDUCxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7WUFDbkMsc0JBQXNCLENBQUMsV0FBVyxDQUFDO1lBQ25DLFlBQVksQ0FBQyxXQUFXLENBQUM7U0FDNUI7O1NBU1EsV0FBVzs0RkFBWCxXQUFXO2tCQWhCdkIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFO3dCQUNQLGtCQUFrQixDQUFDLGVBQWUsQ0FBQzt3QkFDbkMsc0JBQXNCLGFBQWE7d0JBQ25DLFlBQVksYUFBYTtxQkFDNUI7b0JBQ0QsY0FBYyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2xDLElBQUksRUFBRTt3QkFDRixZQUFZLEVBQUUsWUFBWTt3QkFDMUIsU0FBUyxFQUFFLGtCQUFrQjt3QkFDN0IsU0FBUyxFQUFFLHNCQUFzQjt3QkFDakMsaUJBQWlCLEVBQUUsc0JBQXNCO3FCQUM1QztpQkFDSjs4QkFxRWMsWUFBWTtzQkFEdEIsS0FBSzt1QkFBQyxRQUFRO2dCQU9KLGFBQWE7c0JBRHZCLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgY29tcHV0ZWQsXG4gICAgRGlyZWN0aXZlLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgaXNTaWduYWwsXG4gICAgc2lnbmFsLFxuICAgIHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VFVJX0FMTE9XX1NJR05BTF9XUklURVMsIFRVSV9TVFJJQ1RfTUFUQ0hFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1R1aVN0cmluZ01hdGNoZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHR5cGUge1R1aURhdGFMaXN0QWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7dHVpQXNPcHRpb25Db250ZW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQgdHlwZSB7VHVpVGV4dGZpZWxkQWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgdHVpQXNUZXh0ZmllbGRBY2Nlc3NvcixcbiAgICB0dWlJbmplY3RBdXhpbGlhcnksXG4gICAgVHVpVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVRleHRmaWVsZERpcmVjdGl2ZSxcbiAgICBUdWlXaXRoVGV4dGZpZWxkLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIHR1aURyb3Bkb3duRW5hYmxlZCxcbiAgICB0dWlEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHR5cGUge1R1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtUVUlfSVRFTVNfSEFORExFUlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtUdWlTZWxlY3RPcHRpb259IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWxlY3QnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpQ29tYm9Cb3hdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNPcHRpb25Db250ZW50KFR1aVNlbGVjdE9wdGlvbiksXG4gICAgICAgIHR1aUFzVGV4dGZpZWxkQWNjZXNzb3IoVHVpQ29tYm9Cb3gpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpQ29tYm9Cb3gpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlXaXRoVGV4dGZpZWxkXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGNsaWNrKSc6ICd0b2dnbGVEcm9wZG93bigpJyxcbiAgICAgICAgJyhpbnB1dCknOiAndG9nZ2xlRHJvcGRvd24odHJ1ZSknLFxuICAgICAgICAnKGtleWRvd24uZW50ZXIpJzogJ2tleWRvd25FbnRlcigkZXZlbnQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDb21ib0JveDxUPlxuICAgIGV4dGVuZHMgVHVpQ29udHJvbDxUIHwgc3RyaW5nIHwgbnVsbD5cbiAgICBpbXBsZW1lbnRzIFR1aVRleHRmaWVsZEFjY2Vzc29yPFQ+XG57XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0OiBUdWlUZXh0ZmllbGRDb21wb25lbnQ8VD4gPSBpbmplY3QoVHVpVGV4dGZpZWxkQ29tcG9uZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZDogVHVpVGV4dGZpZWxkRGlyZWN0aXZlPFQ+ID0gaW5qZWN0KFR1aVRleHRmaWVsZERpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bkVuYWJsZWQgPSB0dWlEcm9wZG93bkVuYWJsZWQodGhpcy5pbnRlcmFjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93biA9IGluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpdGVtc0hhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQgfCBzdHJpbmc+ID1cbiAgICAgICAgaW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUyk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdGNoZXIgPSBzaWduYWw8VHVpU3RyaW5nTWF0Y2hlcjxUPiB8IG51bGw+KFRVSV9TVFJJQ1RfTUFUQ0hFUik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdHJpY3QgPSBzaWduYWwodHJ1ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkYXRhbGlzdCA9IHR1aUluamVjdEF1eGlsaWFyeTxUdWlEYXRhTGlzdEFjY2Vzc29yPFQ+PihcbiAgICAgICAgKHgpID0+IHggIT09IHRoaXMgJiYgJ29wdGlvbnMnIGluIHggJiYgaXNTaWduYWwoeC5vcHRpb25zKSxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gY29tcHV0ZWQoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgICB0aGlzLmRhdGFsaXN0KClcbiAgICAgICAgICAgICAgICA/Lm9wdGlvbnM/LigpIC8vIFRPRE8odjUpOiByZW1vdmUgb3B0aW9uYWwgY2FsbCBgPy4oKWBcbiAgICAgICAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAhdGhpcy5pdGVtc0hhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKSh4KSkgPz8gW10sXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBub25TdHJpY3RWYWx1ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLm9wdGlvbnMoKS5sZW5ndGggJiZcbiAgICAgICAgICAgICF0aGlzLnN0cmljdCgpICYmXG4gICAgICAgICAgICB0aGlzLnN0cmluZ2lmeSh0aGlzLnZhbHVlKCkpICE9PSB0aGlzLnRleHRmaWVsZC52YWx1ZSgpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnRleHRmaWVsZC52YWx1ZSgpIHx8IG51bGwpO1xuICAgICAgICB9XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hdGNoaW5nRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucygpO1xuICAgICAgICBjb25zdCBtYXRjaGVyID0gdGhpcy5tYXRjaGVyKCk7XG5cbiAgICAgICAgaWYgKCFvcHRpb25zLmxlbmd0aCB8fCAhbWF0Y2hlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGV4dGZpZWxkVmFsdWUgPSB0aGlzLnRleHRmaWVsZC52YWx1ZSgpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9XG4gICAgICAgICAgICBvcHRpb25zLmZpbmQoKHgpID0+XG4gICAgICAgICAgICAgICAgbWF0Y2hlcih4LCB0ZXh0ZmllbGRWYWx1ZSwgdGhpcy5pdGVtc0hhbmRsZXJzLnN0cmluZ2lmeSgpKSxcbiAgICAgICAgICAgICkgPz8gbnVsbDtcbiAgICAgICAgY29uc3Qgc3RyaW5naWZpZWQgPSB0aGlzLnN0cmluZ2lmeShzZWxlY3RlZE9wdGlvbik7XG4gICAgICAgIGNvbnN0IGZhbGxiYWNrID0gdGhpcy5zdHJpY3QoKSB8fCAhdGV4dGZpZWxkVmFsdWUgPyBudWxsIDogdGV4dGZpZWxkVmFsdWU7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZShzZWxlY3RlZE9wdGlvbiA/PyBmYWxsYmFjayk7XG5cbiAgICAgICAgaWYgKHN0cmluZ2lmaWVkICYmIHN0cmluZ2lmaWVkICE9PSB0ZXh0ZmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHN0cmluZ2lmaWVkKTtcbiAgICAgICAgfVxuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBibHVyRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaW5jb21wbGV0ZSA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLnN0cmljdCgpICYmIHRoaXMudmFsdWUoKSA9PT0gbnVsbCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmhvc3QuZm9jdXNlZCgpICYmIGluY29tcGxldGUpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCgnJyk7XG4gICAgICAgIH1cbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICAvLyBUT0RPKHY1KTogdXNlIHNpZ25hbCBpbnB1dFxuICAgIEBJbnB1dCgnc3RyaWN0JylcbiAgICBwdWJsaWMgc2V0IHN0cmljdFNldHRlcih4OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc3RyaWN0LnNldCh4KTtcbiAgICB9XG5cbiAgICAvLyBUT0RPKHY1KTogdXNlIHNpZ25hbCBpbnB1dFxuICAgIEBJbnB1dCgnbWF0Y2hlcicpXG4gICAgcHVibGljIHNldCBtYXRjaGVyU2V0dGVyKHg6IFR1aVN0cmluZ01hdGNoZXI8VD4gfCBudWxsKSB7XG4gICAgICAgIHRoaXMubWF0Y2hlci5zZXQoeCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBUIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuXG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlRHJvcGRvd24odHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogVCB8IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh0aGlzLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0b2dnbGVEcm9wZG93bihvcGVuID0gIXRoaXMub3BlbigpKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duRW5hYmxlZCgpICYmIHRoaXMuZHJvcGRvd24uX2NvbnRlbnQoKSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuLnNldChvcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBrZXlkb3duRW50ZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wZW4oKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zKCk7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMubGVuZ3RoID09PSAxICYmIG9wdGlvbnNbMF0pIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUob3B0aW9uc1swXSk7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZURyb3Bkb3duKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3RyaW5naWZ5KHZhbHVlOiBUIHwgc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZSAhPSBudWxsID8gdGhpcy5pdGVtc0hhbmRsZXJzLnN0cmluZ2lmeSgpKHZhbHVlKSA6ICcnO1xuICAgIH1cbn1cbiJdfQ==
@@ -25,7 +25,9 @@ export * from '@taiga-ui/kit/components/floating-container';
25
25
  export * from '@taiga-ui/kit/components/input-chip';
26
26
  export * from '@taiga-ui/kit/components/input-color';
27
27
  export * from '@taiga-ui/kit/components/input-date';
28
+ export * from '@taiga-ui/kit/components/input-date-multi';
28
29
  export * from '@taiga-ui/kit/components/input-date-range';
30
+ export * from '@taiga-ui/kit/components/input-date-time';
29
31
  export * from '@taiga-ui/kit/components/input-inline';
30
32
  export * from '@taiga-ui/kit/components/input-month';
31
33
  export * from '@taiga-ui/kit/components/input-month-range';
@@ -63,4 +65,4 @@ export * from '@taiga-ui/kit/components/tabs';
63
65
  export * from '@taiga-ui/kit/components/textarea';
64
66
  export * from '@taiga-ui/kit/components/tiles';
65
67
  export * from '@taiga-ui/kit/components/tree';
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hY3Rpb24tYmFyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hdmF0YXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2JhZGdlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9iYWRnZS1ub3RpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2JhZGdlZC1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9ibG9jayc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2J1dHRvbi1sb2FkaW5nJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYWxlbmRhci1tb250aCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2Nhcm91c2VsJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jaGVja2JveCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2hpcCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY29tYm8tYm94JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jb21tZW50JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jb21wYXNzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jb25maXJtJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9kYXRhLWxpc3Qtd3JhcHBlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvZHJhd2VyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9lbGFzdGljLWNvbnRhaW5lcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvZmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2ZpbHRlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvZmxvYXRpbmctY29udGFpbmVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1jb2xvcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS1yYW5nZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtaW5saW5lJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1tb250aCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgtcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtcGFzc3dvcmQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBpbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtc2xpZGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC10aW1lJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pdGVtcy13aXRoLW1vcmUnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2xpa2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2xpbmUtY2xhbXAnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL21lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL211bHRpLXNlbGVjdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcGFnZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3BhZ2luYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3BkZi12aWV3ZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3Bpbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHJldmlldyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHJvZ3Jlc3MnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3B1bHNlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9wdXNoJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9yYWRpbyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tbGlzdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhdGluZyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcm91dGFibGUtZGlhbG9nJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWdtZW50ZWQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NlbGVjdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3N0ZXBwZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3N3aXRjaCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFicyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGV4dGFyZWEnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RpbGVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90cmVlJztcbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2FjY29yZGlvbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYWN0aW9uLWJhcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXZhdGFyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9iYWRnZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYmFkZ2Utbm90aWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9iYWRnZWQtY29udGVudCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYmxvY2snO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9idXR0b24tbG9hZGluZyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2FsZW5kYXItbW9udGgnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLXJhbmdlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYXJvdXNlbCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2hlY2tib3gnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NoaXAnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NvbWJvLWJveCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY29tbWVudCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY29tcGFzcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY29uZmlybSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvZGF0YS1saXN0LXdyYXBwZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2RyYXdlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvZWxhc3RpYy1jb250YWluZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2ZpbGVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2Zsb2F0aW5nLWNvbnRhaW5lcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtY2hpcCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtY29sb3InO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtbXVsdGknO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LWRhdGUtdGltZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtaW5saW5lJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1tb250aCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgtcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtcGFzc3dvcmQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBpbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtc2xpZGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC10aW1lJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pdGVtcy13aXRoLW1vcmUnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2xpa2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2xpbmUtY2xhbXAnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL21lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL211bHRpLXNlbGVjdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcGFnZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3BhZ2luYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3BkZi12aWV3ZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3Bpbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHJldmlldyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHJvZ3Jlc3MnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3B1bHNlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9wdXNoJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9yYWRpbyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tbGlzdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhdGluZyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcm91dGFibGUtZGlhbG9nJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWdtZW50ZWQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NlbGVjdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3N0ZXBwZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3N3aXRjaCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFicyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGV4dGFyZWEnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RpbGVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90cmVlJztcbiJdfQ==
@@ -8,6 +8,7 @@ import { TUI_TEXTFIELD_OPTIONS, TuiTextfieldComponent, } from '@taiga-ui/core/co
8
8
  import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
9
9
  import { TuiHintDirective, TuiHintOverflow } from '@taiga-ui/core/directives/hint';
10
10
  import { TUI_ITEMS_HANDLERS } from '@taiga-ui/core/directives/items-handlers';
11
+ import { TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
11
12
  import { TuiChip } from '@taiga-ui/kit/components/chip';
12
13
  import { TuiFade } from '@taiga-ui/kit/directives/fade';
13
14
  import { tuiInjectValue } from '@taiga-ui/kit/utils';
@@ -20,6 +21,7 @@ class TuiInputChipComponent {
20
21
  this.options = inject(TUI_TEXTFIELD_OPTIONS);
21
22
  this.context = injectContext();
22
23
  this.value = tuiInjectValue();
24
+ this.icons = inject(TUI_COMMON_ICONS);
23
25
  this.mobile = inject(TUI_IS_MOBILE);
24
26
  this.internal = signal(this.context.$implicit.item);
25
27
  this.editing = signal(false);
@@ -67,7 +69,7 @@ class TuiInputChipComponent {
67
69
  setTimeout(() => this.input?.nativeElement.focus());
68
70
  }
69
71
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputChipComponent, isStandalone: true, selector: "tui-input-chip", inputs: { editable: "editable" }, host: { attributes: { "tuiChip": "" }, listeners: { "click": "editing() && $event.stopPropagation()", "keydown.backspace.prevent": "delete()", "keydown.enter.prevent": "edit()", "dblclick": "edit()" }, properties: { "class._edit": "editing()", "attr.tabIndex": "disabled() ? null : -1" }, classAttribute: "tui-interactive" }, viewQueries: [{ propertyName: "input", first: true, predicate: TuiChip, descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.TuiChip }], ngImport: i0, template: "<input\n appearance=\"\"\n enterkeyhint=\"enter\"\n tuiChip\n class=\"t-input\"\n [disabled]=\"!editing()\"\n [ngModel]=\"internal()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"cancel()\"\n (keydown.enter)=\"save()\"\n (keydown.esc)=\"cancel()\"\n (keydown.stop)=\"(0)\"\n (ngModelChange)=\"internal.set($event)\"\n/>\n<div\n tuiFade\n tuiFadeOffset=\"0.5rem\"\n class=\"t-text\"\n [tuiHintOverflow]=\"hint?.content() ? null : handlers.stringify()(internal())\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ handlers.stringify()(internal()) }}\n</div>\n<button\n *ngIf=\"textfield.cva?.interactive() && !editing() && !disabled()\"\n iconStart=\"@tui.x\"\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n (click.stop)=\"delete()\"\n (pointerdown.prevent.stop.zoneless)=\"(0)\"\n>\n Remove\n</button>\n", styles: [":host{cursor:pointer;margin:.125rem 0;margin-inline-end:.25rem}:host[data-state=disabled]{pointer-events:none}:host .t-input{padding:0;text-indent:.375rem;transition:none;color:var(--tui-text-primary);cursor:text;outline:none}:host .t-input:disabled{visibility:hidden}:host._edit{background:transparent}:host._edit .t-text{pointer-events:none;visibility:hidden}:host._edit:before{color:transparent;transition:none}:host-context(tui-textfield[data-size=\"s\"]){left:-.375rem;inset-inline-start:-.375rem;margin:.0625rem 0;margin-inline-end:.125rem}:host-context(tui-textfield[data-size=\"m\"]){left:-.125rem;inset-inline-start:-.125rem}:host-context(tui-textfield[data-size=\"l\"]){left:-.25rem;inset-inline-start:-.25rem}:host-context(tui-textfield[data-size=\"l\"]) .t-input{text-indent:.625rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiChip, selector: "tui-chip,[tuiChip]", inputs: ["size"] }, { kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }, { kind: "directive", type: TuiHintOverflow, selector: "[tuiHintOverflow]", inputs: ["tuiHintOverflow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputChipComponent, isStandalone: true, selector: "tui-input-chip", inputs: { editable: "editable" }, host: { attributes: { "tuiChip": "" }, listeners: { "click": "editing() && $event.stopPropagation()", "keydown.backspace.prevent": "delete()", "keydown.enter.prevent": "edit()", "dblclick": "edit()" }, properties: { "class._edit": "editing()", "attr.tabIndex": "disabled() ? null : -1" }, classAttribute: "tui-interactive" }, viewQueries: [{ propertyName: "input", first: true, predicate: TuiChip, descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.TuiChip }], ngImport: i0, template: "<input\n appearance=\"\"\n enterkeyhint=\"enter\"\n tuiChip\n class=\"t-input\"\n [disabled]=\"!editing()\"\n [ngModel]=\"internal()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"cancel()\"\n (keydown.enter)=\"save()\"\n (keydown.esc)=\"cancel()\"\n (keydown.stop)=\"(0)\"\n (ngModelChange)=\"internal.set($event)\"\n/>\n<div\n tuiFade\n tuiFadeOffset=\"0.5rem\"\n class=\"t-text\"\n [tuiHintOverflow]=\"hint?.content() ? null : handlers.stringify()(internal())\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ handlers.stringify()(internal()) }}\n</div>\n<button\n *ngIf=\"textfield.cva?.interactive() && !editing() && !disabled()\"\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click.stop)=\"delete()\"\n (pointerdown.prevent.stop.zoneless)=\"(0)\"\n>\n Remove\n</button>\n", styles: [":host{cursor:pointer;margin:.125rem 0;margin-inline-end:.25rem}:host[data-state=disabled]{pointer-events:none}:host .t-input{padding:0;text-indent:.375rem;transition:none;color:var(--tui-text-primary);cursor:text;outline:none}:host .t-input:disabled{visibility:hidden}:host._edit{background:transparent}:host._edit .t-text{pointer-events:none;visibility:hidden}:host._edit:before{color:transparent;transition:none}:host-context(tui-textfield[data-size=\"s\"]){left:-.375rem;inset-inline-start:-.375rem;margin:.0625rem 0;margin-inline-end:.125rem}:host-context(tui-textfield[data-size=\"m\"]){left:-.125rem;inset-inline-start:-.125rem}:host-context(tui-textfield[data-size=\"l\"]){left:-.25rem;inset-inline-start:-.25rem}:host-context(tui-textfield[data-size=\"l\"]) .t-input{text-indent:.625rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiChip, selector: "tui-chip,[tuiChip]", inputs: ["size"] }, { kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }, { kind: "directive", type: TuiHintOverflow, selector: "[tuiHintOverflow]", inputs: ["tuiHintOverflow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
73
  }
72
74
  export { TuiInputChipComponent };
73
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputChipComponent, decorators: [{
@@ -89,11 +91,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
89
91
  '(keydown.backspace.prevent)': 'delete()',
90
92
  '(keydown.enter.prevent)': 'edit()',
91
93
  '(dblclick)': 'edit()',
92
- }, template: "<input\n appearance=\"\"\n enterkeyhint=\"enter\"\n tuiChip\n class=\"t-input\"\n [disabled]=\"!editing()\"\n [ngModel]=\"internal()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"cancel()\"\n (keydown.enter)=\"save()\"\n (keydown.esc)=\"cancel()\"\n (keydown.stop)=\"(0)\"\n (ngModelChange)=\"internal.set($event)\"\n/>\n<div\n tuiFade\n tuiFadeOffset=\"0.5rem\"\n class=\"t-text\"\n [tuiHintOverflow]=\"hint?.content() ? null : handlers.stringify()(internal())\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ handlers.stringify()(internal()) }}\n</div>\n<button\n *ngIf=\"textfield.cva?.interactive() && !editing() && !disabled()\"\n iconStart=\"@tui.x\"\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n (click.stop)=\"delete()\"\n (pointerdown.prevent.stop.zoneless)=\"(0)\"\n>\n Remove\n</button>\n", styles: [":host{cursor:pointer;margin:.125rem 0;margin-inline-end:.25rem}:host[data-state=disabled]{pointer-events:none}:host .t-input{padding:0;text-indent:.375rem;transition:none;color:var(--tui-text-primary);cursor:text;outline:none}:host .t-input:disabled{visibility:hidden}:host._edit{background:transparent}:host._edit .t-text{pointer-events:none;visibility:hidden}:host._edit:before{color:transparent;transition:none}:host-context(tui-textfield[data-size=\"s\"]){left:-.375rem;inset-inline-start:-.375rem;margin:.0625rem 0;margin-inline-end:.125rem}:host-context(tui-textfield[data-size=\"m\"]){left:-.125rem;inset-inline-start:-.125rem}:host-context(tui-textfield[data-size=\"l\"]){left:-.25rem;inset-inline-start:-.25rem}:host-context(tui-textfield[data-size=\"l\"]) .t-input{text-indent:.625rem}\n"] }]
94
+ }, template: "<input\n appearance=\"\"\n enterkeyhint=\"enter\"\n tuiChip\n class=\"t-input\"\n [disabled]=\"!editing()\"\n [ngModel]=\"internal()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"cancel()\"\n (keydown.enter)=\"save()\"\n (keydown.esc)=\"cancel()\"\n (keydown.stop)=\"(0)\"\n (ngModelChange)=\"internal.set($event)\"\n/>\n<div\n tuiFade\n tuiFadeOffset=\"0.5rem\"\n class=\"t-text\"\n [tuiHintOverflow]=\"hint?.content() ? null : handlers.stringify()(internal())\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ handlers.stringify()(internal()) }}\n</div>\n<button\n *ngIf=\"textfield.cva?.interactive() && !editing() && !disabled()\"\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click.stop)=\"delete()\"\n (pointerdown.prevent.stop.zoneless)=\"(0)\"\n>\n Remove\n</button>\n", styles: [":host{cursor:pointer;margin:.125rem 0;margin-inline-end:.25rem}:host[data-state=disabled]{pointer-events:none}:host .t-input{padding:0;text-indent:.375rem;transition:none;color:var(--tui-text-primary);cursor:text;outline:none}:host .t-input:disabled{visibility:hidden}:host._edit{background:transparent}:host._edit .t-text{pointer-events:none;visibility:hidden}:host._edit:before{color:transparent;transition:none}:host-context(tui-textfield[data-size=\"s\"]){left:-.375rem;inset-inline-start:-.375rem;margin:.0625rem 0;margin-inline-end:.125rem}:host-context(tui-textfield[data-size=\"m\"]){left:-.125rem;inset-inline-start:-.125rem}:host-context(tui-textfield[data-size=\"l\"]){left:-.25rem;inset-inline-start:-.25rem}:host-context(tui-textfield[data-size=\"l\"]) .t-input{text-indent:.625rem}\n"] }]
93
95
  }], propDecorators: { input: [{
94
96
  type: ViewChild,
95
97
  args: [TuiChip, { read: ElementRef }]
96
98
  }], editable: [{
97
99
  type: Input
98
100
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwL2lucHV0LWNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY2hpcC9pbnB1dC1jaGlwLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUUzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN4QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFFakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDNUUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxPQUFP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QUMsTUFBTSxrQkFDL0IsQ0FBQyxPQUFPLENBQUMsUUFDbkI7d0JBQ0YsT0FBTyxFQUFFLEVBQUU7d0JBQ1gsS0FBSyxFQUFFLGlCQUFpQjt3QkFDeEIsZUFBZSxFQUFFLFdBQVc7d0JBQzVCLGlCQUFpQixFQUFFLHdCQUF3Qjt3QkFDM0MsU0FBUyxFQUFFLHVDQUF1Qzt3QkFDbEQsNkJBQTZCLEVBQUUsVUFBVTt3QkFDekMseUJBQXlCLEVBQUUsUUFBUTt3QkFDbkMsWUFBWSxFQUFFLFFBQVE7cUJBQ3pCOzhCQUlnQixLQUFLO3NCQURyQixTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBK0IvQixRQUFRO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VFVJX0lTX01PQklMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aUNvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlEaXJlY3RpdmVCaW5kaW5nLCB0dWlJc1N0cmluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgdHlwZSB7VHVpVGV4dGZpZWxkSXRlbX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX09QVElPTlMsXG4gICAgVHVpVGV4dGZpZWxkQ29tcG9uZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aUFwcGVhcmFuY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5pbXBvcnQge1R1aUhpbnREaXJlY3RpdmUsIFR1aUhpbnRPdmVyZmxvd30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9oaW50JztcbmltcG9ydCB0eXBlIHtUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0lURU1TX0hBTkRMRVJTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VHVpQ2hpcH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NoaXAnO1xuaW1wb3J0IHtUdWlGYWRlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMvZmFkZSc7XG5pbXBvcnQge3R1aUluamVjdFZhbHVlfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcbmltcG9ydCB7aW5qZWN0Q29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtY2hpcCcsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTmdJZixcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlDaGlwLFxuICAgICAgICBUdWlGYWRlLFxuICAgICAgICBUdWlIaW50T3ZlcmZsb3csXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtY2hpcC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1jaGlwLnN0eWxlcy5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlDaGlwXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR1aUNoaXA6ICcnLFxuICAgICAgICBjbGFzczogJ3R1aS1pbnRlcmFjdGl2ZScsXG4gICAgICAgICdbY2xhc3MuX2VkaXRdJzogJ2VkaXRpbmcoKScsXG4gICAgICAgICdbYXR0ci50YWJJbmRleF0nOiAnZGlzYWJsZWQoKSA/IG51bGwgOiAtMScsXG4gICAgICAgICcoY2xpY2spJzogJ2VkaXRpbmcoKSAmJiAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCknLFxuICAgICAgICAnKGtleWRvd24uYmFja3NwYWNlLnByZXZlbnQpJzogJ2RlbGV0ZSgpJyxcbiAgICAgICAgJyhrZXlkb3duLmVudGVyLnByZXZlbnQpJzogJ2VkaXQoKScsXG4gICAgICAgICcoZGJsY2xpY2spJzogJ2VkaXQoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDaGlwQ29tcG9uZW50PFQ+IHtcbiAgICBAVmlld0NoaWxkKFR1aUNoaXAsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfVEVYVEZJRUxEX09QVElPTlMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dCA9IGluamVjdENvbnRleHQ8VHVpQ29udGV4dDxUdWlUZXh0ZmllbGRJdGVtPFQ+Pj4oKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZhbHVlID0gdHVpSW5qZWN0VmFsdWU8cmVhZG9ubHkgVFtdPigpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW50ZXJuYWwgPSBzaWduYWwodGhpcy5jb250ZXh0LiRpbXBsaWNpdC5pdGVtKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdGluZyA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhpbnQgPSBpbmplY3QoVHVpSGludERpcmVjdGl2ZSwge3NlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+ID0gaW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRmaWVsZCA9IGluamVjdChUdWlUZXh0ZmllbGRDb21wb25lbnQpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkID0gdHVpRGlyZWN0aXZlQmluZGluZyhcbiAgICAgICAgVHVpQXBwZWFyYW5jZSxcbiAgICAgICAgJ3R1aUFwcGVhcmFuY2VTdGF0ZScsXG4gICAgICAgIGNvbXB1dGVkKCgpID0+XG4gICAgICAgICAgICB0aGlzLmhhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKSh0aGlzLmNvbnRleHQuJGltcGxpY2l0Lml0ZW0pXG4gICAgICAgICAgICAgICAgPyAnZGlzYWJsZWQnXG4gICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2l6ZSA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aUNoaXAsXG4gICAgICAgICdzaXplJyxcbiAgICAgICAgY29tcHV0ZWQoKCkgPT4gKHRoaXMub3B0aW9ucy5zaXplKCkgPT09ICdsJyA/ICdzJyA6ICd4cycpKSxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZWRpdGFibGUgPSB0cnVlO1xuXG4gICAgcHJvdGVjdGVkIGdldCBpbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LiRpbXBsaWNpdC5pbmRleDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZGVsZXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZC5jdmE/Lm9uQ2hhbmdlKHRoaXMudmFsdWUoKS5maWx0ZXIoKF8sIGkpID0+IGkgIT09IHRoaXMuaW5kZXgpKTtcblxuICAgICAgICBpZiAoIXRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNhdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pbnRlcm5hbCgpKSB7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaGFuZGxlcnMuZGlzYWJsZWRJdGVtSGFuZGxlcigpKHRoaXMuaW50ZXJuYWwoKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSgpLm1hcCgoaXRlbSwgaW5kZXgpID0+XG4gICAgICAgICAgICBpbmRleCA9PT0gdGhpcy5pbmRleCA/IHRoaXMuaW50ZXJuYWwoKSA6IGl0ZW0sXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy50ZXh0ZmllbGQuY3ZhPy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuZWRpdGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLnRleHRmaWVsZC5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdGluZy5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmludGVybmFsLnNldCh0aGlzLmNvbnRleHQuJGltcGxpY2l0Lml0ZW0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlZGl0KCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5lZGl0YWJsZSB8fFxuICAgICAgICAgICAgIXRoaXMudGV4dGZpZWxkLmN2YT8uaW50ZXJhY3RpdmUoKSB8fFxuICAgICAgICAgICAgIXR1aUlzU3RyaW5nKHRoaXMuaW50ZXJuYWwoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVkaXRpbmcuc2V0KHRydWUpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSk7XG4gICAgfVxufVxuIiwiPGlucHV0XG4gICAgYXBwZWFyYW5jZT1cIlwiXG4gICAgZW50ZXJrZXloaW50PVwiZW50ZXJcIlxuICAgIHR1aUNoaXBcbiAgICBjbGFzcz1cInQtaW5wdXRcIlxuICAgIFtkaXNhYmxlZF09XCIhZWRpdGluZygpXCJcbiAgICBbbmdNb2RlbF09XCJpbnRlcm5hbCgpXCJcbiAgICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICAoYmx1cik9XCJjYW5jZWwoKVwiXG4gICAgKGtleWRvd24uZW50ZXIpPVwic2F2ZSgpXCJcbiAgICAoa2V5ZG93bi5lc2MpPVwiY2FuY2VsKClcIlxuICAgIChrZXlkb3duLnN0b3ApPVwiKDApXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJpbnRlcm5hbC5zZXQoJGV2ZW50KVwiXG4vPlxuPGRpdlxuICAgIHR1aUZhZGVcbiAgICB0dWlGYWRlT2Zmc2V0PVwiMC41cmVtXCJcbiAgICBjbGFzcz1cInQtdGV4dFwiXG4gICAgW3R1aUhpbnRPdmVyZmxvd109XCJoaW50Py5jb250ZW50KCkgPyBudWxsIDogaGFuZGxlcnMuc3RyaW5naWZ5KCkoaW50ZXJuYWwoKSlcIlxuICAgIChtb3VzZWRvd24ucHJldmVudC56b25lbGVzcyk9XCIoMClcIlxuPlxuICAgIHt7IGhhbmRsZXJzLnN0cmluZ2lmeSgpKGludGVybmFsKCkpIH19XG48L2Rpdj5cbjxidXR0b25cbiAgICAqbmdJZj1cInRleHRmaWVsZC5jdmE/LmludGVyYWN0aXZlKCkgJiYgIWVkaXRpbmcoKSAmJiAhZGlzYWJsZWQoKVwiXG4gICAgaWNvblN0YXJ0PVwiQHR1aS54XCJcbiAgICB0YWJJbmRleD1cIi0xXCJcbiAgICB0dWlJY29uQnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrLnN0b3ApPVwiZGVsZXRlKClcIlxuICAgIChwb2ludGVyZG93bi5wcmV2ZW50LnN0b3Auem9uZWxlc3MpPVwiKDApXCJcbj5cbiAgICBSZW1vdmVcbjwvYnV0dG9uPlxuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwL2lucHV0LWNoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY2hpcC9pbnB1dC1jaGlwLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUUzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN4QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFFakYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3RELE9B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WCxJQUFJO3dCQUNKLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxPQUFPO3dCQUNQLE9BQU87d0JBQ1AsZUFBZTtxQkFDbEIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsT0FBTyxDQUFDLFFBQ25CO3dCQUNGLE9BQU8sRUFBRSxFQUFFO3dCQUNYLEtBQUssRUFBRSxpQkFBaUI7d0JBQ3hCLGVBQWUsRUFBRSxXQUFXO3dCQUM1QixpQkFBaUIsRUFBRSx3QkFBd0I7d0JBQzNDLFNBQVMsRUFBRSx1Q0FBdUM7d0JBQ2xELDZCQUE2QixFQUFFLFVBQVU7d0JBQ3pDLHlCQUF5QixFQUFFLFFBQVE7d0JBQ25DLFlBQVksRUFBRSxRQUFRO3FCQUN6Qjs4QkFJZ0IsS0FBSztzQkFEckIsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQWdDL0IsUUFBUTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZywgdHVpSXNTdHJpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHR5cGUge1R1aVRleHRmaWVsZEl0ZW19IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9PUFRJT05TLFxuICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUdWlBcHBlYXJhbmNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UnO1xuaW1wb3J0IHtUdWlIaW50RGlyZWN0aXZlLCBUdWlIaW50T3ZlcmZsb3d9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaGludCc7XG5pbXBvcnQgdHlwZSB7VHVpSXRlbXNIYW5kbGVyc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge1RVSV9JVEVNU19IQU5ETEVSU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pdGVtcy1oYW5kbGVycyc7XG5pbXBvcnQge1RVSV9DT01NT05fSUNPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUNoaXB9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jaGlwJztcbmltcG9ydCB7VHVpRmFkZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9kaXJlY3RpdmVzL2ZhZGUnO1xuaW1wb3J0IHt0dWlJbmplY3RWYWx1ZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5pbXBvcnQge2luamVjdENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LWNoaXAnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpQ2hpcCxcbiAgICAgICAgVHVpRmFkZSxcbiAgICAgICAgVHVpSGludE92ZXJmbG93LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWNoaXAudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtY2hpcC5zdHlsZXMubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpQ2hpcF0sXG4gICAgaG9zdDoge1xuICAgICAgICB0dWlDaGlwOiAnJyxcbiAgICAgICAgY2xhc3M6ICd0dWktaW50ZXJhY3RpdmUnLFxuICAgICAgICAnW2NsYXNzLl9lZGl0XSc6ICdlZGl0aW5nKCknLFxuICAgICAgICAnW2F0dHIudGFiSW5kZXhdJzogJ2Rpc2FibGVkKCkgPyBudWxsIDogLTEnLFxuICAgICAgICAnKGNsaWNrKSc6ICdlZGl0aW5nKCkgJiYgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpJyxcbiAgICAgICAgJyhrZXlkb3duLmJhY2tzcGFjZS5wcmV2ZW50KSc6ICdkZWxldGUoKScsXG4gICAgICAgICcoa2V5ZG93bi5lbnRlci5wcmV2ZW50KSc6ICdlZGl0KCknLFxuICAgICAgICAnKGRibGNsaWNrKSc6ICdlZGl0KCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2hpcENvbXBvbmVudDxUPiB7XG4gICAgQFZpZXdDaGlsZChUdWlDaGlwLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHQgPSBpbmplY3RDb250ZXh0PFR1aUNvbnRleHQ8VHVpVGV4dGZpZWxkSXRlbTxUPj4+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZSA9IHR1aUluamVjdFZhbHVlPHJlYWRvbmx5IFRbXT4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfQ09NTU9OX0lDT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpbnRlcm5hbCA9IHNpZ25hbCh0aGlzLmNvbnRleHQuJGltcGxpY2l0Lml0ZW0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBlZGl0aW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGludCA9IGluamVjdChUdWlIaW50RGlyZWN0aXZlLCB7c2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGFuZGxlcnM6IFR1aUl0ZW1zSGFuZGxlcnM8VD4gPSBpbmplY3QoVFVJX0lURU1TX0hBTkRMRVJTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGV4dGZpZWxkID0gaW5qZWN0KFR1aVRleHRmaWVsZENvbXBvbmVudCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlzYWJsZWQgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlBcHBlYXJhbmNlLFxuICAgICAgICAndHVpQXBwZWFyYW5jZVN0YXRlJyxcbiAgICAgICAgY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuaGFuZGxlcnMuZGlzYWJsZWRJdGVtSGFuZGxlcigpKHRoaXMuY29udGV4dC4kaW1wbGljaXQuaXRlbSlcbiAgICAgICAgICAgICAgICA/ICdkaXNhYmxlZCdcbiAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzaXplID0gdHVpRGlyZWN0aXZlQmluZGluZyhcbiAgICAgICAgVHVpQ2hpcCxcbiAgICAgICAgJ3NpemUnLFxuICAgICAgICBjb21wdXRlZCgoKSA9PiAodGhpcy5vcHRpb25zLnNpemUoKSA9PT0gJ2wnID8gJ3MnIDogJ3hzJykpLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlZGl0YWJsZSA9IHRydWU7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQuJGltcGxpY2l0LmluZGV4O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZWxldGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGV4dGZpZWxkLmN2YT8ub25DaGFuZ2UodGhpcy52YWx1ZSgpLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gdGhpcy5pbmRleCkpO1xuXG4gICAgICAgIGlmICghdGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLmlucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2F2ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmludGVybmFsKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkodGhpcy5pbnRlcm5hbCgpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlKCkubWFwKChpdGVtLCBpbmRleCkgPT5cbiAgICAgICAgICAgIGluZGV4ID09PSB0aGlzLmluZGV4ID8gdGhpcy5pbnRlcm5hbCgpIDogaXRlbSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnRleHRmaWVsZC5jdmE/Lm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5lZGl0aW5nLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMudGV4dGZpZWxkLmlucHV0Py5uYXRpdmVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNhbmNlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0aW5nLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuaW50ZXJuYWwuc2V0KHRoaXMuY29udGV4dC4kaW1wbGljaXQuaXRlbSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVkaXQoKTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLmVkaXRhYmxlIHx8XG4gICAgICAgICAgICAhdGhpcy50ZXh0ZmllbGQuY3ZhPy5pbnRlcmFjdGl2ZSgpIHx8XG4gICAgICAgICAgICAhdHVpSXNTdHJpbmcodGhpcy5pbnRlcm5hbCgpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWRpdGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcbiAgICB9XG59XG4iLCI8aW5wdXRcbiAgICBhcHBlYXJhbmNlPVwiXCJcbiAgICBlbnRlcmtleWhpbnQ9XCJlbnRlclwiXG4gICAgdHVpQ2hpcFxuICAgIGNsYXNzPVwidC1pbnB1dFwiXG4gICAgW2Rpc2FibGVkXT1cIiFlZGl0aW5nKClcIlxuICAgIFtuZ01vZGVsXT1cImludGVybmFsKClcIlxuICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgIChibHVyKT1cImNhbmNlbCgpXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJzYXZlKClcIlxuICAgIChrZXlkb3duLmVzYyk9XCJjYW5jZWwoKVwiXG4gICAgKGtleWRvd24uc3RvcCk9XCIoMClcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cImludGVybmFsLnNldCgkZXZlbnQpXCJcbi8+XG48ZGl2XG4gICAgdHVpRmFkZVxuICAgIHR1aUZhZGVPZmZzZXQ9XCIwLjVyZW1cIlxuICAgIGNsYXNzPVwidC10ZXh0XCJcbiAgICBbdHVpSGludE92ZXJmbG93XT1cImhpbnQ/LmNvbnRlbnQoKSA/IG51bGwgOiBoYW5kbGVycy5zdHJpbmdpZnkoKShpbnRlcm5hbCgpKVwiXG4gICAgKG1vdXNlZG93bi5wcmV2ZW50LnpvbmVsZXNzKT1cIigwKVwiXG4+XG4gICAge3sgaGFuZGxlcnMuc3RyaW5naWZ5KCkoaW50ZXJuYWwoKSkgfX1cbjwvZGl2PlxuPGJ1dHRvblxuICAgICpuZ0lmPVwidGV4dGZpZWxkLmN2YT8uaW50ZXJhY3RpdmUoKSAmJiAhZWRpdGluZygpICYmICFkaXNhYmxlZCgpXCJcbiAgICB0YWJJbmRleD1cIi0xXCJcbiAgICB0dWlJY29uQnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgW2ljb25TdGFydF09XCJpY29ucy5jbG9zZVwiXG4gICAgKGNsaWNrLnN0b3ApPVwiZGVsZXRlKClcIlxuICAgIChwb2ludGVyZG93bi5wcmV2ZW50LnN0b3Auem9uZWxlc3MpPVwiKDApXCJcbj5cbiAgICBSZW1vdmVcbjwvYnV0dG9uPlxuIl19
@@ -17,12 +17,12 @@ import * as i2 from "@taiga-ui/core/components/textfield";
17
17
  class TuiInputChipDirective extends TuiControl {
18
18
  constructor() {
19
19
  super(...arguments);
20
- this.handlers = inject(TUI_ITEMS_HANDLERS);
21
20
  this.options = inject(TUI_INPUT_CHIP_OPTIONS);
22
21
  this.mobile = inject(TUI_IS_MOBILE);
22
+ this.dropdown = inject(TuiDropdownDirective);
23
23
  this.textfield = inject(TuiTextfieldMultiComponent);
24
24
  this.open = tuiDropdownOpen();
25
- this.dropdown = inject(TuiDropdownDirective);
25
+ this.handlers = inject(TUI_ITEMS_HANDLERS);
26
26
  this.enabled = tuiDirectiveBinding(TuiDropdownOpen, 'tuiDropdownEnabled', this.interactive, {});
27
27
  this.sub = inject(TuiActiveZone)
28
28
  .tuiActiveZoneChange.pipe(filter((active) => !active && !this.el.matches('select')), takeUntilDestroyed())
@@ -123,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
123
123
  }], unique: [{
124
124
  type: Input
125
125
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwL2lucHV0LWNoaXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsYUFBYSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFdEUsT0FBTyxFQUNILHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsMEJBQTBCLEdBQzdCLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUNILG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsZUFBZSxHQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFNUIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFFNUQsTUF5QmEscUJBQ1QsU0FBUSxVQUFlO0lBMUIzQjs7UUE2QnFCLGFBQVEsR0FB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QUcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO2FBQy9CLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FwR1EscUJBQXFCO21HQUFyQixxQkFBcUIsc1pBdEJuQjtZQUNQLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztZQUNuQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7WUFDNUIsc0JBQXNCLENBQUMscUJBQXFCLENBQUM7U0FDaEQ7O1NBa0JRLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQXpCakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsU0FBUyxFQUFFO3dCQUNQLFlBQVksdUJBQXVCO3dCQUNuQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7d0JBQzVCLHNCQUFzQix1QkFBdUI7cUJBQ2hEO29CQUNELGNBQWMsRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCOzRCQUNJLFNBQVMsRUFBRSxnQkFBZ0I7NEJBQzNCLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQzt5QkFDdEQ7cUJBQ0o7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLFlBQVksRUFBRSxPQUFPO3dCQUNyQixZQUFZLEVBQUUsWUFBWTt3QkFDMUIseUJBQXlCLEVBQUUsV0FBVzt3QkFDdEMsb0JBQW9CLEVBQUUseUJBQXlCO3dCQUMvQyxTQUFTLEVBQUUsV0FBVzt3QkFDdEIsaUJBQWlCLEVBQUUsaUJBQWlCO3dCQUNwQyxnQkFBZ0IsRUFBRSxpQkFBaUI7cUJBQ3RDO2lCQUNKOzhCQThCVSxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYWN0aXZlLXpvbmUnO1xuaW1wb3J0IHtUdWlOYXRpdmVWYWxpZGF0b3J9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9uYXRpdmUtdmFsaWRhdG9yJztcbmltcG9ydCB7VFVJX0lTX01PQklMRSwgdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUdldENsaXBib2FyZERhdGFUZXh0LCB0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aURpcmVjdGl2ZUJpbmRpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpVGV4dGZpZWxkQWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgdHVpQXNUZXh0ZmllbGRBY2Nlc3NvcixcbiAgICBUdWlUZXh0ZmllbGRCYXNlLFxuICAgIFR1aVRleHRmaWVsZE11bHRpQ29tcG9uZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICB0dWlEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHR5cGUge1R1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtUVUlfSVRFTVNfSEFORExFUlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9DSElQX09QVElPTlN9IGZyb20gJy4vaW5wdXQtY2hpcC5vcHRpb25zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0Q2hpcF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRDaGlwRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyKFtdKSxcbiAgICAgICAgdHVpQXNUZXh0ZmllbGRBY2Nlc3NvcihUdWlJbnB1dENoaXBEaXJlY3RpdmUpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpTmF0aXZlVmFsaWRhdG9yLFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFR1aVRleHRmaWVsZEJhc2UsXG4gICAgICAgICAgICBpbnB1dHM6IFsnaW52YWxpZCcsICdmb2N1c2VkJywgJ3JlYWRPbmx5JywgJ3N0YXRlJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGVudGVya2V5aGludDogJ2VudGVyJyxcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgICAgICcoa2V5ZG93bi5lbnRlci5wcmV2ZW50KSc6ICdvbkVudGVyKCknLFxuICAgICAgICAnKGtleWRvd24uem9uZWxlc3MpJzogJ29uQmFja3NwYWNlKCRldmVudC5rZXkpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnb25JbnB1dCgpJyxcbiAgICAgICAgJyhwYXN0ZS5wcmV2ZW50KSc6ICdvblBhc3RlKCRldmVudCknLFxuICAgICAgICAnKGRyb3AucHJldmVudCknOiAnb25QYXN0ZSgkZXZlbnQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENoaXBEaXJlY3RpdmU8VD5cbiAgICBleHRlbmRzIFR1aUNvbnRyb2w8VFtdPlxuICAgIGltcGxlbWVudHMgVHVpVGV4dGZpZWxkQWNjZXNzb3I8VFtdPlxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlcnM6IFR1aUl0ZW1zSGFuZGxlcnM8VD4gPSBpbmplY3QoVFVJX0lURU1TX0hBTkRMRVJTKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX0NISVBfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkTXVsdGlDb21wb25lbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlbiA9IHR1aURyb3Bkb3duT3BlbigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd24gPSBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVuYWJsZWQgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlEcm9wZG93bk9wZW4sXG4gICAgICAgICd0dWlEcm9wZG93bkVuYWJsZWQnLFxuICAgICAgICB0aGlzLmludGVyYWN0aXZlLFxuICAgICAgICB7fSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1YiA9IGluamVjdChUdWlBY3RpdmVab25lKVxuICAgICAgICAudHVpQWN0aXZlWm9uZUNoYW5nZS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChhY3RpdmUpID0+ICFhY3RpdmUgJiYgIXRoaXMuZWwubWF0Y2hlcygnc2VsZWN0JykpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCgnJyk7XG4gICAgICAgIH0pO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VwYXJhdG9yID0gdGhpcy5vcHRpb25zLnNlcGFyYXRvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHVuaXF1ZSA9IHRoaXMub3B0aW9ucy51bmlxdWU7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG5cbiAgICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IFRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQoJycpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKFxuICAgICAgICAgICAgdGhpcy51bmlxdWUgPyBBcnJheS5mcm9tKG5ldyBTZXQodmFsdWUucmV2ZXJzZSgpKSkucmV2ZXJzZSgpIDogdmFsdWUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRW50ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy50ZXh0ZmllbGQudmFsdWUoKS50cmltKCk7XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBhbnlbXSA9IHRoaXMuc2VwYXJhdG9yID8gdmFsdWUuc3BsaXQodGhpcy5zZXBhcmF0b3IpIDogW3ZhbHVlXTtcbiAgICAgICAgY29uc3QgdmFsaWQgPSBpdGVtcy5maWx0ZXIoXG4gICAgICAgICAgICAoaXRlbSkgPT4gaXRlbSAmJiAhdGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkoaXRlbSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSB8fCAhdmFsaWQubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFZhbHVlKFsuLi50aGlzLnZhbHVlKCksIC4uLnZhbGlkXSk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG8oKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25JbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuLnNldCghIXRoaXMuZHJvcGRvd24uY29udGVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VwYXJhdG9yICYmIHRoaXMudGV4dGZpZWxkLnZhbHVlKCkubWF0Y2godGhpcy5zZXBhcmF0b3IpKSB7XG4gICAgICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG8oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCB8IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgICAnZGF0YVRyYW5zZmVyJyBpbiBldmVudFxuICAgICAgICAgICAgICAgID8gZXZlbnQuZGF0YVRyYW5zZmVyPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgfHwgJydcbiAgICAgICAgICAgICAgICA6IHR1aUdldENsaXBib2FyZERhdGFUZXh0KGV2ZW50KTtcblxuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodmFsdWUpO1xuICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25CYWNrc3BhY2Uoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gKGtleWRvd24uYmFja3NwYWNlKSBkb2Vzbid0IGVtaXQgZXZlbnQgb24gZW1wdHkgaW5wdXQgaW4gaW9zIHNhZmFyaVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBrZXkgPT09ICdCYWNrc3BhY2UnICYmXG4gICAgICAgICAgICAhdGhpcy50ZXh0ZmllbGQudmFsdWUoKSAmJlxuICAgICAgICAgICAgdGhpcy5pbnRlcmFjdGl2ZSgpICYmXG4gICAgICAgICAgICAodGhpcy5tb2JpbGUgfHwgIXRoaXMudGV4dGZpZWxkLml0ZW0pXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKCkuc2xpY2UoMCwgLTEpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzY3JvbGxUbygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2lnbiA9IHRoaXMudGV4dGZpZWxkLmVsLm1hdGNoZXMoJ1tkaXI9XCJydGxcIl0gOnNjb3BlJykgPyAtMSA6IDE7XG5cbiAgICAgICAgLy8gQWxsb3cgY2hhbmdlIGRldGVjdGlvbiB0byBydW4gYW5kIGFkZCBuZXcgdGFnIHRvIERPTVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLmVsLnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBzaWduICogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICAgICAgdG9wOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2hpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jaGlwL2lucHV0LWNoaXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsYUFBYSxFQUFFLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFdEUsT0FBTyxFQUNILHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsMEJBQTBCLEdBQzdCLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUNILG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsZUFBZSxHQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFNUIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFFNUQsTUF5QmEscUJBQ1QsU0FBUSxVQUFlO0lBMUIzQjs7UUE2QnFCLFlBQU8sR0FB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QUcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO2FBQy9CLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FwR1EscUJBQXFCO21HQUFyQixxQkFBcUIsc1pBdEJuQjtZQUNQLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztZQUNuQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7WUFDNUIsc0JBQXNCLENBQUMscUJBQXFCLENBQUM7U0FDaEQ7O1NBa0JRLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQXpCakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsU0FBUyxFQUFFO3dCQUNQLFlBQVksdUJBQXVCO3dCQUNuQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7d0JBQzVCLHNCQUFzQix1QkFBdUI7cUJBQ2hEO29CQUNELGNBQWMsRUFBRTt3QkFDWixrQkFBa0I7d0JBQ2xCOzRCQUNJLFNBQVMsRUFBRSxnQkFBZ0I7NEJBQzNCLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQzt5QkFDdEQ7cUJBQ0o7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLFlBQVksRUFBRSxPQUFPO3dCQUNyQixZQUFZLEVBQUUsWUFBWTt3QkFDMUIseUJBQXlCLEVBQUUsV0FBVzt3QkFDdEMsb0JBQW9CLEVBQUUseUJBQXlCO3dCQUMvQyxTQUFTLEVBQUUsV0FBVzt3QkFDdEIsaUJBQWlCLEVBQUUsaUJBQWlCO3dCQUNwQyxnQkFBZ0IsRUFBRSxpQkFBaUI7cUJBQ3RDO2lCQUNKOzhCQThCVSxTQUFTO3NCQURmLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYWN0aXZlLXpvbmUnO1xuaW1wb3J0IHtUdWlOYXRpdmVWYWxpZGF0b3J9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9uYXRpdmUtdmFsaWRhdG9yJztcbmltcG9ydCB7VFVJX0lTX01PQklMRSwgdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUdldENsaXBib2FyZERhdGFUZXh0LCB0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aURpcmVjdGl2ZUJpbmRpbmd9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpVGV4dGZpZWxkQWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgdHVpQXNUZXh0ZmllbGRBY2Nlc3NvcixcbiAgICBUdWlUZXh0ZmllbGRCYXNlLFxuICAgIFR1aVRleHRmaWVsZE11bHRpQ29tcG9uZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1xuICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICB0dWlEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHR5cGUge1R1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtUVUlfSVRFTVNfSEFORExFUlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9DSElQX09QVElPTlN9IGZyb20gJy4vaW5wdXQtY2hpcC5vcHRpb25zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0Q2hpcF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRDaGlwRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyKFtdKSxcbiAgICAgICAgdHVpQXNUZXh0ZmllbGRBY2Nlc3NvcihUdWlJbnB1dENoaXBEaXJlY3RpdmUpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpTmF0aXZlVmFsaWRhdG9yLFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFR1aVRleHRmaWVsZEJhc2UsXG4gICAgICAgICAgICBpbnB1dHM6IFsnaW52YWxpZCcsICdmb2N1c2VkJywgJ3JlYWRPbmx5JywgJ3N0YXRlJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGVudGVya2V5aGludDogJ2VudGVyJyxcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgICAgICcoa2V5ZG93bi5lbnRlci5wcmV2ZW50KSc6ICdvbkVudGVyKCknLFxuICAgICAgICAnKGtleWRvd24uem9uZWxlc3MpJzogJ29uQmFja3NwYWNlKCRldmVudC5rZXkpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnb25JbnB1dCgpJyxcbiAgICAgICAgJyhwYXN0ZS5wcmV2ZW50KSc6ICdvblBhc3RlKCRldmVudCknLFxuICAgICAgICAnKGRyb3AucHJldmVudCknOiAnb25QYXN0ZSgkZXZlbnQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENoaXBEaXJlY3RpdmU8VD5cbiAgICBleHRlbmRzIFR1aUNvbnRyb2w8VFtdPlxuICAgIGltcGxlbWVudHMgVHVpVGV4dGZpZWxkQWNjZXNzb3I8VFtdPlxue1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfQ0hJUF9PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkTXVsdGlDb21wb25lbnQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+ID0gaW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVuYWJsZWQgPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlEcm9wZG93bk9wZW4sXG4gICAgICAgICd0dWlEcm9wZG93bkVuYWJsZWQnLFxuICAgICAgICB0aGlzLmludGVyYWN0aXZlLFxuICAgICAgICB7fSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1YiA9IGluamVjdChUdWlBY3RpdmVab25lKVxuICAgICAgICAudHVpQWN0aXZlWm9uZUNoYW5nZS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChhY3RpdmUpID0+ICFhY3RpdmUgJiYgIXRoaXMuZWwubWF0Y2hlcygnc2VsZWN0JykpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCgnJyk7XG4gICAgICAgIH0pO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VwYXJhdG9yID0gdGhpcy5vcHRpb25zLnNlcGFyYXRvcjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHVuaXF1ZSA9IHRoaXMub3B0aW9ucy51bmlxdWU7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG5cbiAgICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IFRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQoJycpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKFxuICAgICAgICAgICAgdGhpcy51bmlxdWUgPyBBcnJheS5mcm9tKG5ldyBTZXQodmFsdWUucmV2ZXJzZSgpKSkucmV2ZXJzZSgpIDogdmFsdWUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRW50ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy50ZXh0ZmllbGQudmFsdWUoKS50cmltKCk7XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBhbnlbXSA9IHRoaXMuc2VwYXJhdG9yID8gdmFsdWUuc3BsaXQodGhpcy5zZXBhcmF0b3IpIDogW3ZhbHVlXTtcbiAgICAgICAgY29uc3QgdmFsaWQgPSBpdGVtcy5maWx0ZXIoXG4gICAgICAgICAgICAoaXRlbSkgPT4gaXRlbSAmJiAhdGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkoaXRlbSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSB8fCAhdmFsaWQubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldFZhbHVlKFsuLi50aGlzLnZhbHVlKCksIC4uLnZhbGlkXSk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG8oKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25JbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuLnNldCghIXRoaXMuZHJvcGRvd24uY29udGVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VwYXJhdG9yICYmIHRoaXMudGV4dGZpZWxkLnZhbHVlKCkubWF0Y2godGhpcy5zZXBhcmF0b3IpKSB7XG4gICAgICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG8oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCB8IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgICAnZGF0YVRyYW5zZmVyJyBpbiBldmVudFxuICAgICAgICAgICAgICAgID8gZXZlbnQuZGF0YVRyYW5zZmVyPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgfHwgJydcbiAgICAgICAgICAgICAgICA6IHR1aUdldENsaXBib2FyZERhdGFUZXh0KGV2ZW50KTtcblxuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodmFsdWUpO1xuICAgICAgICB0aGlzLm9uRW50ZXIoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25CYWNrc3BhY2Uoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gKGtleWRvd24uYmFja3NwYWNlKSBkb2Vzbid0IGVtaXQgZXZlbnQgb24gZW1wdHkgaW5wdXQgaW4gaW9zIHNhZmFyaVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBrZXkgPT09ICdCYWNrc3BhY2UnICYmXG4gICAgICAgICAgICAhdGhpcy50ZXh0ZmllbGQudmFsdWUoKSAmJlxuICAgICAgICAgICAgdGhpcy5pbnRlcmFjdGl2ZSgpICYmXG4gICAgICAgICAgICAodGhpcy5tb2JpbGUgfHwgIXRoaXMudGV4dGZpZWxkLml0ZW0pXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKCkuc2xpY2UoMCwgLTEpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzY3JvbGxUbygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2lnbiA9IHRoaXMudGV4dGZpZWxkLmVsLm1hdGNoZXMoJ1tkaXI9XCJydGxcIl0gOnNjb3BlJykgPyAtMSA6IDE7XG5cbiAgICAgICAgLy8gQWxsb3cgY2hhbmdlIGRldGVjdGlvbiB0byBydW4gYW5kIGFkZCBuZXcgdGFnIHRvIERPTVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLmVsLnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBzaWduICogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICAgICAgdG9wOiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { computed, inject } from '@angular/core';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { changeDateSeparator, tuiDirectiveBinding, } from '@taiga-ui/cdk/utils/miscellaneous';
4
+ import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield';
5
+ import { TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT } from '@taiga-ui/core/tokens';
6
+ import { TUI_DATE_TEXTS } from '@taiga-ui/kit/tokens';
7
+ import { identity } from 'rxjs';
8
+ export function tuiWithDateFiller(fn = identity) {
9
+ const texts = toSignal(inject(TUI_DATE_TEXTS));
10
+ const format = toSignal(inject(TUI_DATE_FORMAT), {
11
+ initialValue: TUI_DEFAULT_DATE_FORMAT,
12
+ });
13
+ return tuiDirectiveBinding(TuiTextfieldComponent, 'fillerSetter', computed(() => {
14
+ const { mode, separator } = format();
15
+ const fillersMap = texts() ?? '';
16
+ const filler = fillersMap && changeDateSeparator(fillersMap[mode], separator);
17
+ return fn(filler);
18
+ }), {});
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWxsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2RhdGUtZmlsbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUN0QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxlQUFlLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5QixNQUFNLFVBQVUsaUJBQWlCLENBQzdCLEtBQXFDLFFBQVE7SUFFN0MsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQUU7UUFDN0MsWUFBWSxFQUFFLHVCQUF1QjtLQUN4QyxDQUFDLENBQUM7SUFFSCxPQUFPLG1CQUFtQixDQUN0QixxQkFBcUIsRUFDckIsY0FBYyxFQUNkLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDVixNQUFNLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ25DLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxVQUFVLElBQUksbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTlFLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxFQUNGLEVBQUUsQ0FDTCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtTaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtjb21wdXRlZCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gICAgY2hhbmdlRGF0ZVNlcGFyYXRvcixcbiAgICB0dWlEaXJlY3RpdmVCaW5kaW5nLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7VFVJX0RBVEVfRk9STUFULCBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VFVJX0RBVEVfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7aWRlbnRpdHl9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpV2l0aERhdGVGaWxsZXIoXG4gICAgZm46IChkYXRlRmlsbGVyOiBzdHJpbmcpID0+IHN0cmluZyA9IGlkZW50aXR5LFxuKTogU2lnbmFsPHN0cmluZz4ge1xuICAgIGNvbnN0IHRleHRzID0gdG9TaWduYWwoaW5qZWN0KFRVSV9EQVRFX1RFWFRTKSk7XG4gICAgY29uc3QgZm9ybWF0ID0gdG9TaWduYWwoaW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0dWlEaXJlY3RpdmVCaW5kaW5nKFxuICAgICAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgICAgICdmaWxsZXJTZXR0ZXInLFxuICAgICAgICBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7bW9kZSwgc2VwYXJhdG9yfSA9IGZvcm1hdCgpO1xuICAgICAgICAgICAgY29uc3QgZmlsbGVyc01hcCA9IHRleHRzKCkgPz8gJyc7XG4gICAgICAgICAgICBjb25zdCBmaWxsZXIgPSBmaWxsZXJzTWFwICYmIGNoYW5nZURhdGVTZXBhcmF0b3IoZmlsbGVyc01hcFttb2RlXSwgc2VwYXJhdG9yKTtcblxuICAgICAgICAgICAgcmV0dXJuIGZuKGZpbGxlcik7XG4gICAgICAgIH0pLFxuICAgICAgICB7fSxcbiAgICApO1xufVxuIl19
@@ -1,5 +1,6 @@
1
+ export * from './date-filler';
1
2
  export * from './input-date';
2
3
  export * from './input-date.component';
3
4
  export * from './input-date.directive';
4
5
  export * from './input-date.options';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtZGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1kYXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LWRhdGUub3B0aW9ucyc7XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRlLWZpbGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LWRhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1kYXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LWRhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtZGF0ZS5vcHRpb25zJztcbiJdfQ==
@@ -7,17 +7,16 @@ import { TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
7
7
  import { DATE_FILLER_LENGTH, TuiDay } from '@taiga-ui/cdk/date-time';
8
8
  import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
9
9
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
10
- import { changeDateSeparator, tuiDirectiveBinding, } from '@taiga-ui/cdk/utils/miscellaneous';
11
10
  import { TuiCalendar } from '@taiga-ui/core/components/calendar';
12
11
  import { tuiAsOptionContent } from '@taiga-ui/core/components/data-list';
13
- import { tuiInjectAuxiliary, TuiTextfieldComponent, TuiTextfieldDirective, tuiTextfieldIconBinding, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
12
+ import { tuiInjectAuxiliary, TuiTextfieldDirective, tuiTextfieldIconBinding, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
14
13
  import { TuiDropdownAuto, tuiDropdownEnabled, tuiDropdownOpen, } from '@taiga-ui/core/directives/dropdown';
15
14
  import { TUI_ITEMS_HANDLERS, TuiItemsHandlersDirective, TuiItemsHandlersValidator, } from '@taiga-ui/core/directives/items-handlers';
16
15
  import { TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT } from '@taiga-ui/core/tokens';
17
16
  import { TuiCalendarRange } from '@taiga-ui/kit/components/calendar-range';
18
17
  import { TuiSelectOption } from '@taiga-ui/kit/components/select';
19
- import { TUI_DATE_TEXTS } from '@taiga-ui/kit/tokens';
20
18
  import { tuiMaskito } from '@taiga-ui/kit/utils';
19
+ import { tuiWithDateFiller } from './date-filler';
21
20
  import { TUI_INPUT_DATE_OPTIONS_NEW } from './input-date.options';
22
21
  import * as i0 from "@angular/core";
23
22
  import * as i1 from "@taiga-ui/core/components/textfield";
@@ -32,32 +31,21 @@ export const TUI_DATE_ADAPTER = {
32
31
  class TuiInputDateBase extends TuiControl {
33
32
  constructor() {
34
33
  super(...arguments);
34
+ this.calendar = tuiInjectAuxiliary((x) => x instanceof TuiCalendar || x instanceof TuiCalendarRange);
35
35
  this.el = tuiInjectElement();
36
- this.options = inject(TUI_INPUT_DATE_OPTIONS_NEW);
37
- this.handlers = inject(TuiItemsHandlersDirective);
38
36
  this.textfield = inject(TuiTextfieldDirective);
39
- this.texts = toSignal(inject(TUI_DATE_TEXTS));
40
- this.calendar = tuiInjectAuxiliary((x) => x instanceof TuiCalendar || x instanceof TuiCalendarRange);
41
- this.filler = tuiDirectiveBinding(TuiTextfieldComponent, 'fillerSetter', computed(() => {
42
- const { mode, separator } = this.format();
43
- const texts = this.texts() || '';
44
- return texts && changeDateSeparator(texts[mode], separator);
45
- }), {});
37
+ this.filler = tuiWithDateFiller();
46
38
  this.mobile = inject(TUI_IS_MOBILE);
47
39
  this.open = tuiDropdownOpen();
48
40
  this.icon = tuiTextfieldIconBinding(TUI_INPUT_DATE_OPTIONS_NEW);
41
+ this.handlers = inject(TuiItemsHandlersDirective);
49
42
  this.dropdownEnabled = tuiDropdownEnabled(computed(() => !this.native && this.interactive()));
43
+ this.options = inject(TUI_INPUT_DATE_OPTIONS_NEW);
50
44
  this.format = toSignal(inject(TUI_DATE_FORMAT), {
51
45
  initialValue: TUI_DEFAULT_DATE_FORMAT,
52
46
  });
53
- this.mask = tuiMaskito(computed(() => maskitoDateOptionsGenerator({
54
- separator: this.format().separator,
55
- mode: TUI_DATE_ADAPTER[this.format().mode],
56
- min: this.min().toLocalNativeDate(),
57
- max: this.max().toLocalNativeDate(),
58
- })));
59
47
  this.valueEffect = effect(() => {
60
- const value = this.value()?.toString(this.format().mode, this.format().separator) ??
48
+ const value = this.stringify(this.value()) ||
61
49
  (this.filler().length === this.el.value.length ? '' : this.el.value);
62
50
  this.textfield.value.set(value);
63
51
  }, TUI_ALLOW_SIGNAL_WRITES);
@@ -67,28 +55,31 @@ class TuiInputDateBase extends TuiControl {
67
55
  }
68
56
  }, TUI_ALLOW_SIGNAL_WRITES);
69
57
  this.calendarOut = effect((onCleanup) => {
70
- const subscription = this.calendar()?.valueChange.subscribe((value) => {
71
- this.onChange(value);
72
- this.open.set(false);
73
- if (!this.el.closest('tui-dropdown')) {
74
- this.el.blur();
75
- }
76
- });
58
+ const subscription = this.calendar()?.valueChange.subscribe((value) => this.setDate(value));
77
59
  onCleanup(() => subscription?.unsubscribe());
78
60
  });
79
- this.native = this.el.type === 'date' && this.mobile;
61
+ this.native = this.el.type.includes('date') && this.mobile;
80
62
  this.min = signal(this.options.min);
81
63
  this.max = signal(this.options.max);
82
64
  }
83
65
  set minSetter(min) {
84
- this.min.set(min || this.options.min);
66
+ this.min.set(min instanceof TuiDay ? min : this.options.min);
85
67
  }
86
68
  set maxSetter(max) {
87
- this.max.set(max || this.options.max);
69
+ this.max.set(max instanceof TuiDay ? max : this.options.max);
70
+ }
71
+ setDate(value) {
72
+ this.onChange(value);
73
+ this.open.set(false);
74
+ if (!this.el.closest('tui-dropdown')) {
75
+ this.el.blur();
76
+ }
88
77
  }
89
78
  processCalendar(calendar) {
90
- calendar.value = this.value();
91
- calendar.disabledItemHandler = this.handlers.disabledItemHandler();
79
+ const value = this.value();
80
+ calendar.value = Array.isArray(value) ? value[0] : value;
81
+ calendar.disabledItemHandler =
82
+ this.handlers.disabledItemHandler();
92
83
  calendar.min = this.min();
93
84
  calendar.max = this.max();
94
85
  }
@@ -97,6 +88,9 @@ class TuiInputDateBase extends TuiControl {
97
88
  this.open.update((open) => !open);
98
89
  }
99
90
  }
91
+ stringify(value) {
92
+ return value?.toString(this.format().mode, this.format().separator) ?? '';
93
+ }
100
94
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputDateBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
101
95
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputDateBase, isStandalone: true, inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"] }, host: { listeners: { "input": "onValueChange($event.target.value)", "click.capture.stop": "onClick()" }, properties: { "attr.inputmode": "mobile && open() ? \"none\" : \"numeric\"", "disabled": "disabled()" } }, usesInheritance: true, ngImport: i0 }); }
102
96
  }
@@ -123,6 +117,12 @@ class TuiInputDateDirective extends TuiInputDateBase {
123
117
  constructor() {
124
118
  super(...arguments);
125
119
  this.identity = inject(TUI_ITEMS_HANDLERS).identityMatcher.set((a, b) => a.daySame(b));
120
+ this.mask = tuiMaskito(computed(() => maskitoDateOptionsGenerator({
121
+ separator: this.format().separator,
122
+ mode: TUI_DATE_ADAPTER[this.format().mode],
123
+ min: this.min().toLocalNativeDate(),
124
+ max: this.max().toLocalNativeDate(),
125
+ })));
126
126
  }
127
127
  onValueChange(value) {
128
128
  this.control?.control?.updateValueAndValidity({ emitEvent: false });
@@ -156,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
156
156
  ],
157
157
  }]
158
158
  }] });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUN0QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9B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dUJBQXVCLENBQUMsMEJBQTBCLENBQUM7U0FDdEQ7O1NBUVEscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBZmpDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRTt3QkFDUCxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7d0JBQ25DLFlBQVksdUJBQXVCO3dCQUNuQyx1QkFBdUIsQ0FBQywwQkFBMEIsQ0FBQztxQkFDdEQ7b0JBQ0QsY0FBYyxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZix5QkFBeUI7d0JBQ3pCLGdCQUFnQjtxQkFDbkI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7TWFza2l0b0RhdGVNb2RlfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHttYXNraXRvRGF0ZU9wdGlvbnNHZW5lcmF0b3J9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbCwgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb219IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9BTExPV19TSUdOQUxfV1JJVEVTfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7VHVpRGF0ZU1vZGUsIFR1aURheVJhbmdlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge0RBVEVfRklMTEVSX0xFTkdUSCwgVHVpRGF5fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtcbiAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yLFxuICAgIHR1aURpcmVjdGl2ZUJpbmRpbmcsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aUNhbGVuZGFyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyJztcbmltcG9ydCB7dHVpQXNPcHRpb25Db250ZW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1xuICAgIHR1aUluamVjdEF1eGlsaWFyeSxcbiAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dGZpZWxkRGlyZWN0aXZlLFxuICAgIHR1aVRleHRmaWVsZEljb25CaW5kaW5nLFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd25BdXRvLFxuICAgIHR1aURyb3Bkb3duRW5hYmxlZCxcbiAgICB0dWlEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHR5cGUge1R1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtcbiAgICBUVUlfSVRFTVNfSEFORExFUlMsXG4gICAgVHVpSXRlbXNIYW5kbGVyc0RpcmVjdGl2ZSxcbiAgICBUdWlJdGVtc0hhbmRsZXJzVmFsaWRhdG9yLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0RBVEVfRk9STUFULCBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpQ2FsZW5kYXJSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLXJhbmdlJztcbmltcG9ydCB7VHVpU2VsZWN0T3B0aW9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0JztcbmltcG9ydCB7VFVJX0RBVEVfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7dHVpTWFza2l0b30gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVd9IGZyb20gJy4vaW5wdXQtZGF0ZS5vcHRpb25zJztcblxuZXhwb3J0IGNvbnN0IFRVSV9EQVRFX0FEQVBURVI6IFJlY29yZDxUdWlEYXRlTW9kZSwgTWFza2l0b0RhdGVNb2RlPiA9IHtcbiAgICBETVk6ICdkZC9tbS95eXl5JyxcbiAgICBNRFk6ICdtbS9kZC95eXl5JyxcbiAgICBZTUQ6ICd5eXl5L21tL2RkJyxcbn07XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuaW5wdXRtb2RlXSc6ICdtb2JpbGUgJiYgb3BlbigpID8gXCJub25lXCIgOiBcIm51bWVyaWNcIicsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGlucHV0KSc6ICdvblZhbHVlQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpJyxcbiAgICAgICAgJyhjbGljay5jYXB0dXJlLnN0b3ApJzogJ29uQ2xpY2soKScsXG4gICAgfSxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHVpSW5wdXREYXRlQmFzZTxcbiAgICBUIGV4dGVuZHMgVHVpRGF5IHwgVHVpRGF5UmFuZ2UsXG4+IGV4dGVuZHMgVHVpQ29udHJvbDxUIHwgbnVsbD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZXJzID0gaW5qZWN0KFR1aUl0ZW1zSGFuZGxlcnNEaXJlY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkID0gaW5qZWN0KFR1aVRleHRmaWVsZERpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0cyA9IHRvU2lnbmFsKGluamVjdChUVUlfREFURV9URVhUUykpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FsZW5kYXIgPSB0dWlJbmplY3RBdXhpbGlhcnk8VHVpQ2FsZW5kYXIgfCBUdWlDYWxlbmRhclJhbmdlPihcbiAgICAgICAgKHgpID0+IHggaW5zdGFuY2VvZiBUdWlDYWxlbmRhciB8fCB4IGluc3RhbmNlb2YgVHVpQ2FsZW5kYXJSYW5nZSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbGxlciA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICAgICAgJ2ZpbGxlclNldHRlcicsXG4gICAgICAgIGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHttb2RlLCBzZXBhcmF0b3J9ID0gdGhpcy5mb3JtYXQoKTtcbiAgICAgICAgICAgIGNvbnN0IHRleHRzID0gdGhpcy50ZXh0cygpIHx8ICcnO1xuXG4gICAgICAgICAgICByZXR1cm4gdGV4dHMgJiYgY2hhbmdlRGF0ZVNlcGFyYXRvcih0ZXh0c1ttb2RlXSwgc2VwYXJhdG9yKTtcbiAgICAgICAgfSksXG4gICAgICAgIHt9LFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb24gPSB0dWlUZXh0ZmllbGRJY29uQmluZGluZyhUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duRW5hYmxlZCA9IHR1aURyb3Bkb3duRW5hYmxlZChcbiAgICAgICAgY29tcHV0ZWQoKCkgPT4gIXRoaXMubmF0aXZlICYmIHRoaXMuaW50ZXJhY3RpdmUoKSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBmb3JtYXQgPSB0b1NpZ25hbChpbmplY3QoVFVJX0RBVEVfRk9STUFUKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IFRVSV9ERUZBVUxUX0RBVEVfRk9STUFULFxuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2sgPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZCgoKSA9PlxuICAgICAgICAgICAgbWFza2l0b0RhdGVPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3I6IHRoaXMuZm9ybWF0KCkuc2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIG1vZGU6IFRVSV9EQVRFX0FEQVBURVJbdGhpcy5mb3JtYXQoKS5tb2RlXSxcbiAgICAgICAgICAgICAgICBtaW46IHRoaXMubWluKCkudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgICAgICBtYXg6IHRoaXMubWF4KCkudG9Mb2NhbE5hdGl2ZURhdGUoKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWVFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9XG4gICAgICAgICAgICB0aGlzLnZhbHVlKCk/LnRvU3RyaW5nKHRoaXMuZm9ybWF0KCkubW9kZSwgdGhpcy5mb3JtYXQoKS5zZXBhcmF0b3IpID8/XG4gICAgICAgICAgICAodGhpcy5maWxsZXIoKS5sZW5ndGggPT09IHRoaXMuZWwudmFsdWUubGVuZ3RoID8gJycgOiB0aGlzLmVsLnZhbHVlKTtcblxuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodmFsdWUpO1xuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhckluID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY2FsZW5kYXIoKSkge1xuICAgICAgICAgICAgdGhpcy5wcm9jZXNzQ2FsZW5kYXIodGhpcy5jYWxlbmRhcigpISk7XG4gICAgICAgIH1cbiAgICB9LCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJPdXQgPSBlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmNhbGVuZGFyKCk/LnZhbHVlQ2hhbmdlLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmVsLmNsb3Nlc3QoJ3R1aS1kcm9wZG93bicpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbC5ibHVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG9uQ2xlYW51cCgoKSA9PiBzdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCkpO1xuICAgIH0pO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG5hdGl2ZSA9IHRoaXMuZWwudHlwZSA9PT0gJ2RhdGUnICYmIHRoaXMubW9iaWxlO1xuICAgIHB1YmxpYyByZWFkb25seSBtaW4gPSBzaWduYWwodGhpcy5vcHRpb25zLm1pbik7XG4gICAgcHVibGljIHJlYWRvbmx5IG1heCA9IHNpZ25hbCh0aGlzLm9wdGlvbnMubWF4KTtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xuXG4gICAgQElucHV0KCdtaW4nKVxuICAgIHB1YmxpYyBzZXQgbWluU2V0dGVyKG1pbjogVHVpRGF5IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1pbi5zZXQobWluIHx8IHRoaXMub3B0aW9ucy5taW4pO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbWF4JylcbiAgICBwdWJsaWMgc2V0IG1heFNldHRlcihtYXg6IFR1aURheSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5tYXguc2V0KG1heCB8fCB0aGlzLm9wdGlvbnMubWF4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcHJvY2Vzc0NhbGVuZGFyKGNhbGVuZGFyOiBUdWlDYWxlbmRhciB8IFR1aUNhbGVuZGFyUmFuZ2UpOiB2b2lkIHtcbiAgICAgICAgY2FsZW5kYXIudmFsdWUgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgIGNhbGVuZGFyLmRpc2FibGVkSXRlbUhhbmRsZXIgPSB0aGlzLmhhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXIoKTtcbiAgICAgICAgY2FsZW5kYXIubWluID0gdGhpcy5taW4oKTtcbiAgICAgICAgY2FsZW5kYXIubWF4ID0gdGhpcy5tYXgoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuLnVwZGF0ZSgob3BlbikgPT4gIW9wZW4pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXREYXRlXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzT3B0aW9uQ29udGVudChUdWlTZWxlY3RPcHRpb24pLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXREYXRlRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb20oVFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVcpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpV2l0aFRleHRmaWVsZCxcbiAgICAgICAgVHVpRHJvcGRvd25BdXRvLFxuICAgICAgICBUdWlJdGVtc0hhbmRsZXJzVmFsaWRhdG9yLFxuICAgICAgICBNYXNraXRvRGlyZWN0aXZlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZURpcmVjdGl2ZSBleHRlbmRzIFR1aUlucHV0RGF0ZUJhc2U8VHVpRGF5PiB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlkZW50aXR5ID0gaW5qZWN0PFR1aUl0ZW1zSGFuZGxlcnM8VHVpRGF5Pj4oXG4gICAgICAgIFRVSV9JVEVNU19IQU5ETEVSUyxcbiAgICApLmlkZW50aXR5TWF0Y2hlci5zZXQoKGEsIGIpID0+IGEuZGF5U2FtZShiKSk7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udHJvbD8uY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKFxuICAgICAgICAgICAgdmFsdWUubGVuZ3RoID09PSBEQVRFX0ZJTExFUl9MRU5HVEhcbiAgICAgICAgICAgICAgICA/IFR1aURheS5ub3JtYWxpemVQYXJzZSh2YWx1ZSwgdGhpcy5mb3JtYXQoKS5tb2RlKVxuICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUNILGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDSCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGVBQWUsR0FDbEIsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1QyxPQUFPLEVB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QXJCLHFCQUFxQjtrQkFmakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsU0FBUyxFQUFFO3dCQUNQLGtCQUFrQixDQUFDLGVBQWUsQ0FBQzt3QkFDbkMsWUFBWSx1QkFBdUI7d0JBQ25DLHVCQUF1QixDQUFDLDBCQUEwQixDQUFDO3FCQUN0RDtvQkFDRCxjQUFjLEVBQUU7d0JBQ1osZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLHlCQUF5Qjt3QkFDekIsZ0JBQWdCO3FCQUNuQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29tcHV0ZWQsIERpcmVjdGl2ZSwgZWZmZWN0LCBpbmplY3QsIElucHV0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtNYXNraXRvRGlyZWN0aXZlfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB0eXBlIHtNYXNraXRvRGF0ZU1vZGV9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge21hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvcn0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7dHVpQXNDb250cm9sLCBUdWlDb250cm9sLCB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VFVJX0FMTE9XX1NJR05BTF9XUklURVN9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtUdWlEYXRlTW9kZSwgVHVpRGF5UmFuZ2UsIFR1aVRpbWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7REFURV9GSUxMRVJfTEVOR1RILCBUdWlEYXl9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7VFVJX0lTX01PQklMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aUJvb2xlYW5IYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtUdWlDYWxlbmRhcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhcic7XG5pbXBvcnQge3R1aUFzT3B0aW9uQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHtcbiAgICB0dWlJbmplY3RBdXhpbGlhcnksXG4gICAgVHVpVGV4dGZpZWxkRGlyZWN0aXZlLFxuICAgIHR1aVRleHRmaWVsZEljb25CaW5kaW5nLFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd25BdXRvLFxuICAgIHR1aURyb3Bkb3duRW5hYmxlZCxcbiAgICB0dWlEcm9wZG93bk9wZW4sXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHR5cGUge1R1aUl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtcbiAgICBUVUlfSVRFTVNfSEFORExFUlMsXG4gICAgVHVpSXRlbXNIYW5kbGVyc0RpcmVjdGl2ZSxcbiAgICBUdWlJdGVtc0hhbmRsZXJzVmFsaWRhdG9yLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0RBVEVfRk9STUFULCBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpQ2FsZW5kYXJSYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLXJhbmdlJztcbmltcG9ydCB7VHVpU2VsZWN0T3B0aW9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0JztcbmltcG9ydCB7dHVpTWFza2l0b30gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbmltcG9ydCB7dHVpV2l0aERhdGVGaWxsZXJ9IGZyb20gJy4vZGF0ZS1maWxsZXInO1xuaW1wb3J0IHR5cGUge1R1aUlucHV0RGF0ZU9wdGlvbnNOZXd9IGZyb20gJy4vaW5wdXQtZGF0ZS5vcHRpb25zJztcbmltcG9ydCB7VFVJX0lOUFVUX0RBVEVfT1BUSU9OU19ORVd9IGZyb20gJy4vaW5wdXQtZGF0ZS5vcHRpb25zJztcblxuZXhwb3J0IGNvbnN0IFRVSV9EQVRFX0FEQVBURVI6IFJlY29yZDxUdWlEYXRlTW9kZSwgTWFza2l0b0RhdGVNb2RlPiA9IHtcbiAgICBETVk6ICdkZC9tbS95eXl5JyxcbiAgICBNRFk6ICdtbS9kZC95eXl5JyxcbiAgICBZTUQ6ICd5eXl5L21tL2RkJyxcbn07XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuaW5wdXRtb2RlXSc6ICdtb2JpbGUgJiYgb3BlbigpID8gXCJub25lXCIgOiBcIm51bWVyaWNcIicsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGlucHV0KSc6ICdvblZhbHVlQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpJyxcbiAgICAgICAgJyhjbGljay5jYXB0dXJlLnN0b3ApJzogJ29uQ2xpY2soKScsXG4gICAgfSxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHVpSW5wdXREYXRlQmFzZTxcbiAgICBUIGV4dGVuZHMgVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCByZWFkb25seSBbVHVpRGF5LCBUdWlUaW1lIHwgbnVsbF0sXG4+IGV4dGVuZHMgVHVpQ29udHJvbDxUIHwgbnVsbD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FsZW5kYXIgPSB0dWlJbmplY3RBdXhpbGlhcnk8VHVpQ2FsZW5kYXIgfCBUdWlDYWxlbmRhclJhbmdlPihcbiAgICAgICAgKHgpID0+IHggaW5zdGFuY2VvZiBUdWlDYWxlbmRhciB8fCB4IGluc3RhbmNlb2YgVHVpQ2FsZW5kYXJSYW5nZSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsbGVyID0gdHVpV2l0aERhdGVGaWxsZXIoKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb24gPSB0dWlUZXh0ZmllbGRJY29uQmluZGluZyhUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhbmRsZXJzID0gaW5qZWN0PFR1aUl0ZW1zSGFuZGxlcnM8VD4+KFR1aUl0ZW1zSGFuZGxlcnNEaXJlY3RpdmUpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duRW5hYmxlZCA9IHR1aURyb3Bkb3duRW5hYmxlZChcbiAgICAgICAgY29tcHV0ZWQoKCkgPT4gIXRoaXMubmF0aXZlICYmIHRoaXMuaW50ZXJhY3RpdmUoKSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zOiBPbWl0PFR1aUlucHV0RGF0ZU9wdGlvbnNOZXcsICd2YWx1ZVRyYW5zZm9ybWVyJz4gPSBpbmplY3QoXG4gICAgICAgIFRVSV9JTlBVVF9EQVRFX09QVElPTlNfTkVXLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybWF0ID0gdG9TaWduYWwoaW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBUVUlfREVGQVVMVF9EQVRFX0ZPUk1BVCxcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID1cbiAgICAgICAgICAgIHRoaXMuc3RyaW5naWZ5KHRoaXMudmFsdWUoKSkgfHxcbiAgICAgICAgICAgICh0aGlzLmZpbGxlcigpLmxlbmd0aCA9PT0gdGhpcy5lbC52YWx1ZS5sZW5ndGggPyAnJyA6IHRoaXMuZWwudmFsdWUpO1xuXG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh2YWx1ZSk7XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFySW4gPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jYWxlbmRhcigpKSB7XG4gICAgICAgICAgICB0aGlzLnByb2Nlc3NDYWxlbmRhcih0aGlzLmNhbGVuZGFyKCkhKTtcbiAgICAgICAgfVxuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhck91dCA9IGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuY2FsZW5kYXIoKT8udmFsdWVDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIHRoaXMuc2V0RGF0ZSh2YWx1ZSksXG4gICAgICAgICk7XG5cbiAgICAgICAgb25DbGVhbnVwKCgpID0+IHN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKSk7XG4gICAgfSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbmF0aXZlID0gdGhpcy5lbC50eXBlLmluY2x1ZGVzKCdkYXRlJykgJiYgdGhpcy5tb2JpbGU7XG4gICAgcHVibGljIHJlYWRvbmx5IG1pbiA9IHNpZ25hbCh0aGlzLm9wdGlvbnMubWluKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWF4ID0gc2lnbmFsKHRoaXMub3B0aW9ucy5tYXgpO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQ7XG5cbiAgICBASW5wdXQoJ21pbicpXG4gICAgcHVibGljIHNldCBtaW5TZXR0ZXIobWluOiBFeGNsdWRlPFQsIFR1aURheVJhbmdlPiB8IFR1aURheSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5taW4uc2V0KG1pbiBpbnN0YW5jZW9mIFR1aURheSA/IG1pbiA6IHRoaXMub3B0aW9ucy5taW4pO1xuICAgIH1cblxuICAgIEBJbnB1dCgnbWF4JylcbiAgICBwdWJsaWMgc2V0IG1heFNldHRlcihtYXg6IEV4Y2x1ZGU8VCwgVHVpRGF5UmFuZ2U+IHwgVHVpRGF5IHwgbnVsbCkge1xuICAgICAgICB0aGlzLm1heC5zZXQobWF4IGluc3RhbmNlb2YgVHVpRGF5ID8gbWF4IDogdGhpcy5vcHRpb25zLm1heCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERhdGUodmFsdWU6IFR1aURheSB8IFR1aURheVJhbmdlKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUgYXMgVCk7XG4gICAgICAgIHRoaXMub3Blbi5zZXQoZmFsc2UpO1xuXG4gICAgICAgIGlmICghdGhpcy5lbC5jbG9zZXN0KCd0dWktZHJvcGRvd24nKSkge1xuICAgICAgICAgICAgdGhpcy5lbC5ibHVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcHJvY2Vzc0NhbGVuZGFyKGNhbGVuZGFyOiBUdWlDYWxlbmRhciB8IFR1aUNhbGVuZGFyUmFuZ2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XG5cbiAgICAgICAgY2FsZW5kYXIudmFsdWUgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogdmFsdWU7XG4gICAgICAgIGNhbGVuZGFyLmRpc2FibGVkSXRlbUhhbmRsZXIgPVxuICAgICAgICAgICAgdGhpcy5oYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyKCkgYXMgVHVpQm9vbGVhbkhhbmRsZXI8XG4gICAgICAgICAgICAgICAgVHVpRGF5IHwgVHVpRGF5UmFuZ2VcbiAgICAgICAgICAgID47XG4gICAgICAgIGNhbGVuZGFyLm1pbiA9IHRoaXMubWluKCk7XG4gICAgICAgIGNhbGVuZGFyLm1heCA9IHRoaXMubWF4KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMub3Blbi51cGRhdGUoKG9wZW4pID0+ICFvcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBzdHJpbmdpZnkodmFsdWU6IFQgfCBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlPy50b1N0cmluZyh0aGlzLmZvcm1hdCgpLm1vZGUsIHRoaXMuZm9ybWF0KCkuc2VwYXJhdG9yKSA/PyAnJztcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dERhdGVdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNPcHRpb25Db250ZW50KFR1aVNlbGVjdE9wdGlvbiksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dERhdGVEaXJlY3RpdmUpLFxuICAgICAgICB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbShUVUlfSU5QVVRfREFURV9PUFRJT05TX05FVyksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICBUdWlXaXRoVGV4dGZpZWxkLFxuICAgICAgICBUdWlEcm9wZG93bkF1dG8sXG4gICAgICAgIFR1aUl0ZW1zSGFuZGxlcnNWYWxpZGF0b3IsXG4gICAgICAgIE1hc2tpdG9EaXJlY3RpdmUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlRGlyZWN0aXZlIGV4dGVuZHMgVHVpSW5wdXREYXRlQmFzZTxUdWlEYXk+IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWRlbnRpdHkgPSBpbmplY3Q8VHVpSXRlbXNIYW5kbGVyczxUdWlEYXk+PihcbiAgICAgICAgVFVJX0lURU1TX0hBTkRMRVJTLFxuICAgICkuaWRlbnRpdHlNYXRjaGVyLnNldCgoYSwgYikgPT4gYS5kYXlTYW1lKGIpKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBtYXNrID0gdHVpTWFza2l0byhcbiAgICAgICAgY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgICAgIG1hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICAgICAgc2VwYXJhdG9yOiB0aGlzLmZvcm1hdCgpLnNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICBtb2RlOiBUVUlfREFURV9BREFQVEVSW3RoaXMuZm9ybWF0KCkubW9kZV0sXG4gICAgICAgICAgICAgICAgbWluOiB0aGlzLm1pbigpLnRvTG9jYWxOYXRpdmVEYXRlKCksXG4gICAgICAgICAgICAgICAgbWF4OiB0aGlzLm1heCgpLnRvTG9jYWxOYXRpdmVEYXRlKCksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShcbiAgICAgICAgICAgIHZhbHVlLmxlbmd0aCA9PT0gREFURV9GSUxMRVJfTEVOR1RIXG4gICAgICAgICAgICAgICAgPyBUdWlEYXkubm9ybWFsaXplUGFyc2UodmFsdWUsIHRoaXMuZm9ybWF0KCkubW9kZSlcbiAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19