@taiga-ui/kit 3.15.0 → 3.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +3 -3
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-avatar.umd.js +2 -2
  4. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-badge.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +1 -1
  8. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-carousel.umd.js +4 -4
  10. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-combo-box.umd.js +2 -1
  12. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-files.umd.js +29 -15
  14. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-copy.umd.js +1 -1
  16. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
  18. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-date.umd.js +8 -0
  20. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +4 -2
  22. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  24. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-tag.umd.js +3 -3
  26. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-items-with-more.umd.js +3 -3
  28. package/bundles/taiga-ui-kit-components-items-with-more.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +18 -21
  30. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +2 -2
  32. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-multi-select.umd.js +20 -16
  34. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
  36. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-push.umd.js +2 -2
  38. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-select-option.umd.js +29 -10
  40. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-slider.umd.js +2 -2
  42. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-stepper.umd.js +2 -2
  44. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-tabs.umd.js +15 -5
  46. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-tree.umd.js +3 -3
  48. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js +7 -7
  50. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +1 -1
  52. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  53. package/components/files/file/file-options.d.ts +6 -0
  54. package/components/files/file/file.component.d.ts +7 -5
  55. package/components/files/index.d.ts +1 -0
  56. package/components/input-date/input-date.component.d.ts +5 -0
  57. package/components/items-with-more/items-with-more.service.d.ts +1 -1
  58. package/components/line-clamp/line-clamp.component.d.ts +3 -2
  59. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +1 -1
  60. package/components/multi-select/multi-select.component.d.ts +2 -1
  61. package/components/multi-select-option/multi-select-option.component.d.ts +1 -1
  62. package/components/select-option/select-option.component.d.ts +9 -5
  63. package/components/tabs/tabs.directive.d.ts +1 -1
  64. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +2 -2
  65. package/esm2015/components/accordion/accordion.component.js +5 -5
  66. package/esm2015/components/avatar/avatar.component.js +4 -4
  67. package/esm2015/components/badge/badge.component.js +2 -2
  68. package/esm2015/components/calendar-month/calendar-month.component.js +2 -2
  69. package/esm2015/components/carousel/carousel.component.js +4 -4
  70. package/esm2015/components/carousel/carousel.directive.js +4 -4
  71. package/esm2015/components/combo-box/combo-box.component.js +3 -2
  72. package/esm2015/components/files/file/file-options.js +9 -0
  73. package/esm2015/components/files/file/file.component.js +13 -10
  74. package/esm2015/components/files/files.component.js +2 -2
  75. package/esm2015/components/files/index.js +2 -1
  76. package/esm2015/components/input-copy/input-copy.component.js +3 -3
  77. package/esm2015/components/input-date/input-date.component.js +9 -1
  78. package/esm2015/components/input-date-time/input-date-time.component.js +3 -3
  79. package/esm2015/components/input-phone-international/input-phone-international.component.js +3 -2
  80. package/esm2015/components/input-phone-international/tokens/countries-masks.js +3 -2
  81. package/esm2015/components/input-slider/input-slider.component.js +1 -1
  82. package/esm2015/components/input-tag/input-tag.component.js +5 -5
  83. package/esm2015/components/items-with-more/items-with-more.service.js +4 -4
  84. package/esm2015/components/line-clamp/line-clamp.component.js +20 -15
  85. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +6 -6
  86. package/esm2015/components/multi-select/multi-select.component.js +10 -6
  87. package/esm2015/components/multi-select-option/multi-select-option.component.js +3 -3
  88. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  89. package/esm2015/components/push/push-alert.component.js +2 -2
  90. package/esm2015/components/push/push.component.js +2 -2
  91. package/esm2015/components/select-option/select-option.component.js +23 -8
  92. package/esm2015/components/slider/helpers/slider-readonly.directive.js +4 -4
  93. package/esm2015/components/slider/slider.component.js +1 -1
  94. package/esm2015/components/stepper/stepper.component.js +4 -4
  95. package/esm2015/components/tabs/tab/tab.component.js +11 -2
  96. package/esm2015/components/tabs/tabs.directive.js +5 -4
  97. package/esm2015/components/tabs/underline/underline.component.js +3 -3
  98. package/esm2015/components/tree/components/tree-item/tree-item.component.js +2 -2
  99. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +2 -2
  100. package/esm2015/components/tree/misc/tree.service.js +3 -3
  101. package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.js +7 -7
  102. package/esm2015/directives/lazy-loading/lazy-loading.service.js +3 -3
  103. package/fesm2015/taiga-ui-kit-components-accordion.js +5 -5
  104. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  105. package/fesm2015/taiga-ui-kit-components-avatar.js +3 -3
  106. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  107. package/fesm2015/taiga-ui-kit-components-badge.js +1 -1
  108. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  109. package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
  110. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  111. package/fesm2015/taiga-ui-kit-components-carousel.js +6 -6
  112. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  113. package/fesm2015/taiga-ui-kit-components-combo-box.js +2 -1
  114. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  115. package/fesm2015/taiga-ui-kit-components-files.js +24 -13
  116. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  117. package/fesm2015/taiga-ui-kit-components-input-copy.js +2 -2
  118. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  119. package/fesm2015/taiga-ui-kit-components-input-date-time.js +2 -2
  120. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  121. package/fesm2015/taiga-ui-kit-components-input-date.js +8 -0
  122. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  123. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +4 -2
  124. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  125. package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
  126. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  127. package/fesm2015/taiga-ui-kit-components-input-tag.js +4 -4
  128. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  129. package/fesm2015/taiga-ui-kit-components-items-with-more.js +3 -3
  130. package/fesm2015/taiga-ui-kit-components-items-with-more.js.map +1 -1
  131. package/fesm2015/taiga-ui-kit-components-line-clamp.js +19 -14
  132. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  133. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +2 -2
  134. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  135. package/fesm2015/taiga-ui-kit-components-multi-select.js +14 -10
  136. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  137. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
  138. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  139. package/fesm2015/taiga-ui-kit-components-push.js +2 -2
  140. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  141. package/fesm2015/taiga-ui-kit-components-select-option.js +22 -7
  142. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  143. package/fesm2015/taiga-ui-kit-components-slider.js +4 -4
  144. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  145. package/fesm2015/taiga-ui-kit-components-stepper.js +3 -3
  146. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  147. package/fesm2015/taiga-ui-kit-components-tabs.js +16 -6
  148. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  149. package/fesm2015/taiga-ui-kit-components-tree.js +4 -4
  150. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  151. package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js +6 -6
  152. package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js.map +1 -1
  153. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +2 -2
  154. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  155. package/package.json +5 -5
@@ -1,23 +1,23 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, Input, Output, } from '@angular/core';
3
3
  import { DomSanitizer } from '@angular/platform-browser';
4
- import { TUI_IS_MOBILE, tuiDefaultProp, tuiIsObserved, tuiPure } from '@taiga-ui/cdk';
4
+ import { TUI_IS_MOBILE, tuiDefaultProp, tuiIsObserved, tuiPure, } from '@taiga-ui/cdk';
5
5
  import { TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS } from '@taiga-ui/kit/tokens';
6
- import { tuiFormatSize } from '@taiga-ui/kit/utils/files';
7
6
  import { of } from 'rxjs';
8
7
  import { map } from 'rxjs/operators';
8
+ import { TUI_FILE_OPTIONS } from './file-options';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@taiga-ui/core";
11
11
  import * as i2 from "@angular/common";
12
12
  import * as i3 from "@taiga-ui/cdk";
13
13
  import * as i4 from "@tinkoff/ng-polymorpheus";
14
14
  import * as i5 from "@angular/platform-browser";
15
- import * as i6 from "rxjs";
16
15
  export class TuiFileComponent {
17
- constructor(isMobile, sanitizer, fileTexts$, units$) {
16
+ constructor(isMobile, sanitizer, fileTexts$, options, units$) {
18
17
  this.isMobile = isMobile;
19
18
  this.sanitizer = sanitizer;
20
19
  this.fileTexts$ = fileTexts$;
20
+ this.options = options;
21
21
  this.units$ = units$;
22
22
  this.file = { name: '' };
23
23
  this.state = 'normal';
@@ -86,7 +86,7 @@ export class TuiFileComponent {
86
86
  : of(this.file.content || '');
87
87
  }
88
88
  calculateFileSize$(file, units$) {
89
- return units$.pipe(map(units => tuiFormatSize(units, file.size)));
89
+ return units$.pipe(map(units => this.options.formatSize(units, file.size)));
90
90
  }
91
91
  createPreview(file, sanitizer) {
92
92
  if (file.src) {
@@ -105,8 +105,8 @@ export class TuiFileComponent {
105
105
  return `.${file.name.split('.').pop()}` || '';
106
106
  }
107
107
  }
108
- TuiFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFileComponent, deps: [{ token: TUI_IS_MOBILE }, { token: DomSanitizer }, { token: TUI_FILE_TEXTS }, { token: TUI_DIGITAL_INFORMATION_UNITS }], target: i0.ɵɵFactoryTarget.Component });
109
- TuiFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFileComponent, selector: "tui-file", inputs: { file: "file", state: "state", size: "size", showDelete: "showDelete", showSize: "showSize", leftContent: "leftContent" }, outputs: { removed: "removed" }, host: { properties: { "class._focused": "this.focused", "class._link": "this.src" } }, ngImport: i0, template: "<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n", styles: [":host{position:relative;display:flex;align-items:center;font:var(--tui-font-text-m);background:var(--tui-base-01);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .t-remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.t-link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:none;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.t-link:hover{background-color:var(--tui-base-02)}.t-preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:var(--tui-base-06)}.t-preview_big{width:4rem;height:4rem;margin-right:1rem}.t-preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-base-08);opacity:.08}.t-image{max-width:100%;max-height:100%}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.t-icon_error{color:var(--tui-error-fill)}.t-icon_deleted{color:var(--tui-base-06)}.t-remove{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.t-remove:focus,.t-remove_mobile{opacity:1}.t-wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.t-text{display:flex}.t-size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.t-type{flex-shrink:0}.t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
108
+ TuiFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFileComponent, deps: [{ token: TUI_IS_MOBILE }, { token: DomSanitizer }, { token: TUI_FILE_TEXTS }, { token: TUI_FILE_OPTIONS }, { token: TUI_DIGITAL_INFORMATION_UNITS }], target: i0.ɵɵFactoryTarget.Component });
109
+ TuiFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFileComponent, selector: "tui-file", inputs: { file: "file", state: "state", size: "size", showDelete: "showDelete", showSize: "showSize", leftContent: "leftContent" }, outputs: { removed: "removed" }, host: { properties: { "class._focused": "this.focused", "class._link": "this.src" } }, ngImport: i0, template: "<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n alt=\"file preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n", styles: [":host{position:relative;display:flex;align-items:center;font:var(--tui-font-text-m);background:var(--tui-base-01);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .t-remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.t-link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:none;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.t-link:hover{background-color:var(--tui-base-02)}.t-preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:var(--tui-base-06)}.t-preview_big{width:4rem;height:4rem;margin-right:1rem}.t-preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-base-08);opacity:.08}.t-image{max-width:100%;max-height:100%}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.t-icon_error{color:var(--tui-error-fill)}.t-icon_deleted{color:var(--tui-base-06)}.t-remove{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.t-remove:focus,.t-remove_mobile{opacity:1}.t-wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.t-text{display:flex}.t-size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.t-type{flex-shrink:0}.t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
110
  __decorate([
111
111
  tuiDefaultProp()
112
112
  ], TuiFileComponent.prototype, "file", void 0);
@@ -154,10 +154,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
154
154
  }] }, { type: i5.DomSanitizer, decorators: [{
155
155
  type: Inject,
156
156
  args: [DomSanitizer]
157
- }] }, { type: i6.Observable, decorators: [{
157
+ }] }, { type: undefined, decorators: [{
158
158
  type: Inject,
159
159
  args: [TUI_FILE_TEXTS]
160
- }] }, { type: i6.Observable, decorators: [{
160
+ }] }, { type: undefined, decorators: [{
161
+ type: Inject,
162
+ args: [TUI_FILE_OPTIONS]
163
+ }] }, { type: undefined, decorators: [{
161
164
  type: Inject,
162
165
  args: [TUI_DIGITAL_INFORMATION_UNITS]
163
166
  }] }]; }, propDecorators: { file: [{
@@ -181,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
181
184
  type: HostBinding,
182
185
  args: ['class._link']
183
186
  }], calculateContent$: [], calculateFileSize$: [], createPreview: [], getName: [], getType: [] } });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9maWxlcy9maWxlL2ZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZmlsZXMvZmlsZS9maWxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxhQUFhLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHcEYsT0FBTyxFQUFDLDZCQUE2QixFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5GLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEVBQWEsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFVbkMsTUFBTSxPQUFPLGdCQUFnQjtJQStCekIsWUFDb0MsUUFBaUIsRUFDVixTQUF1QixFQUVyRCxVQUFpRCxFQUV6QyxNQUE0QztRQUw3QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ1YsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUVyRCxlQUFVLEdBQVYsVUFBVSxDQUF1QztRQUV6QyxXQUFNLEdBQU4sTUFBTSxDQUFzQztRQWxDakUsU0FBSSxHQUFnQixFQUFDLElBQUksRUFBRSxFQUFFLEVBQUMsQ0FBQztRQUkvQixVQUFLLEdBQWlCLFFBQVEsQ0FBQztRQUkvQixTQUFJLEdBQWEsR0FBRyxDQUFDO1FBSXJCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFJbEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUloQixnQkFBVyxHQUF3QixFQUFFLENBQUM7UUFHN0IsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHNUMsWUFBTyxHQUFHLEtBQUssQ0FBQztJQVNiLENBQUM7SUFFSixJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN2QyxPQUFPLHdCQUF3QixDQUFDO1NBQ25DO1FBRUQsUUFBUSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2hCLEtBQUssU0FBUztnQkFDVixPQUFPLG1CQUFtQixDQUFDO1lBQy9CLEtBQUssT0FBTztnQkFDUixPQUFPLHlCQUF5QixDQUFDO1lBQ3JDO2dCQUNJLE9BQU8seUJBQXlCLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRUQsSUFDSSxHQUFHO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsY0FBYyxDQUFDLFlBQXFCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDO0lBQ2hDLENBQUM7SUFHTyxpQkFBaUIsQ0FDckIsS0FBbUIsRUFDbkIsSUFBaUIsRUFDakIsVUFBNkU7UUFFN0UsT0FBTyxLQUFLLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDckMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUdPLGtCQUFrQixDQUN0QixJQUFpQixFQUNqQixNQUE0QztRQUU1QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFHTyxhQUFhLENBQUMsSUFBaUIsRUFBRSxTQUF1QjtRQUM1RCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDbkI7UUFFRCx1QkFBdUI7UUFDdkIsSUFBSSxJQUFJLFlBQVksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDckUsT0FBTyxTQUFTLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3RFO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBR08sT0FBTyxDQUFDLElBQWlCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBR08sT0FBTyxDQUFDLElBQWlCO1FBQzdCLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsRCxDQUFDOzs4R0FySlEsZ0JBQWdCLGtCQWdDYixhQUFhLGFBQ2IsWUFBWSxhQUNaLGNBQWMsYUFFZCw2QkFBNkI7a0dBcENoQyxnQkFBZ0IsNFNDNUI3Qiw0NkZBcUdBO0FEdEVJO0lBREMsY0FBYyxFQUFFOzhDQUNjO0FBSS9CO0lBREMsY0FBYyxFQUFFOytDQUNjO0FBSS9CO0lBREMsY0FBYyxFQUFFOzhDQUNJO0FBSXJCO0lBREMsY0FBYyxFQUFFO29EQUNDO0FBSWxCO0lBREMsY0FBYyxFQUFFO2tEQUNEO0FBSWhCO0lBREMsY0FBYyxFQUFFO3FEQUNxQjtBQXNGdEM7SUFEQyxPQUFPO3lEQVNQO0FBR0Q7SUFEQyxPQUFPOzBEQU1QO0FBR0Q7SUFEQyxPQUFPO3FEQVlQO0FBR0Q7SUFEQyxPQUFPOytDQUdQO0FBR0Q7SUFEQyxPQUFPOytDQUdQOzRGQXJKUSxnQkFBZ0I7a0JBTjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFdBQVcsRUFBRSxzQkFBc0I7b0JBQ25DLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQWlDUSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLGNBQWM7OzBCQUVyQixNQUFNOzJCQUFDLDZCQUE2Qjs0Q0FqQ3pDLElBQUk7c0JBRkgsS0FBSztnQkFNTixLQUFLO3NCQUZKLEtBQUs7Z0JBTU4sSUFBSTtzQkFGSCxLQUFLO2dCQU1OLFVBQVU7c0JBRlQsS0FBSztnQkFNTixRQUFRO3NCQUZQLEtBQUs7Z0JBTU4sV0FBVztzQkFGVixLQUFLO2dCQUtHLE9BQU87c0JBRGYsTUFBTTtnQkFJUCxPQUFPO3NCQUROLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQW9EekIsR0FBRztzQkFETixXQUFXO3VCQUFDLGFBQWE7Z0JBOEJsQixpQkFBaUIsTUFXakIsa0JBQWtCLE1BUWxCLGFBQWEsTUFjYixPQUFPLE1BS1AsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlVmFsdWV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFLCB0dWlEZWZhdWx0UHJvcCwgdHVpSXNPYnNlcnZlZCwgdHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVNpemVMfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aUZpbGVMaWtlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfRElHSVRBTF9JTkZPUk1BVElPTl9VTklUUywgVFVJX0ZJTEVfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpRmlsZVN0YXRlfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7dHVpRm9ybWF0U2l6ZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9maWxlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgRmlsZVRleHRzID0gJ2xvYWRpbmdFcnJvcicgfCAncHJldmlldycgfCAncmVtb3ZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZmlsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmlsZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUZpbGVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBmaWxlOiBUdWlGaWxlTGlrZSA9IHtuYW1lOiAnJ307XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RhdGU6IFR1aUZpbGVTdGF0ZSA9ICdub3JtYWwnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVMID0gJ20nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNob3dEZWxldGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNob3dTaXplID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsZWZ0Q29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgcmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2ZvY3VzZWQnKVxuICAgIGZvY3VzZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KERvbVNhbml0aXplcikgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQEluamVjdChUVUlfRklMRV9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgZmlsZVRleHRzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8RmlsZVRleHRzLCBzdHJpbmc+PixcbiAgICAgICAgQEluamVjdChUVUlfRElHSVRBTF9JTkZPUk1BVElPTl9VTklUUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB1bml0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nLCBzdHJpbmddPixcbiAgICApIHt9XG5cbiAgICBnZXQgcHJldmlldygpOiBTYWZlVmFsdWUge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0JpZyA/IHRoaXMuY3JlYXRlUHJldmlldyh0aGlzLmZpbGUsIHRoaXMuc2FuaXRpemVyKSA6ICcnO1xuICAgIH1cblxuICAgIGdldCBpc0JpZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2wnO1xuICAgIH1cblxuICAgIGdldCBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnbG9hZGluZyc7XG4gICAgfVxuXG4gICAgZ2V0IGlzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnZXJyb3InO1xuICAgIH1cblxuICAgIGdldCBpc0RlbGV0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnZGVsZXRlZCc7XG4gICAgfVxuXG4gICAgZ2V0IGFsbG93RGVsZXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93RGVsZXRlICYmIHR1aUlzT2JzZXJ2ZWQodGhpcy5yZW1vdmVkKTtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ25vcm1hbCcgJiYgdGhpcy5pc0JpZykge1xuICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uRGVmYXVsdERvY0xhcmdlJztcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAodGhpcy5zdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAnZGVsZXRlZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uVHJhc2hMYXJnZSc7XG4gICAgICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uQWxlcnRDaXJjbGVMYXJnZSc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAndHVpSWNvbkNoZWNrQ2lyY2xlTGFyZ2UnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbGluaycpXG4gICAgZ2V0IHNyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLnNyYyB8fCAnJztcbiAgICB9XG5cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXROYW1lKHRoaXMuZmlsZSk7XG4gICAgfVxuXG4gICAgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHlwZSh0aGlzLmZpbGUpO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50JCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlQ29udGVudCQodGhpcy5zdGF0ZSwgdGhpcy5maWxlLCB0aGlzLmZpbGVUZXh0cyQpO1xuICAgIH1cblxuICAgIGdldCBmaWxlU2l6ZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZUZpbGVTaXplJCh0aGlzLmZpbGUsIHRoaXMudW5pdHMkKTtcbiAgICB9XG5cbiAgICBvblJlbW92ZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uRm9jdXNWaXNpYmxlKGZvY3VzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSBmb2N1c1Zpc2libGU7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZUNvbnRlbnQkKFxuICAgICAgICBzdGF0ZTogVHVpRmlsZVN0YXRlLFxuICAgICAgICBmaWxlOiBUdWlGaWxlTGlrZSxcbiAgICAgICAgZmlsZVRleHRzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8J2xvYWRpbmdFcnJvcicgfCAncHJldmlldycgfCAncmVtb3ZlJywgc3RyaW5nPj4sXG4gICAgKTogT2JzZXJ2YWJsZTxQb2x5bW9ycGhldXNDb250ZW50PiB7XG4gICAgICAgIHJldHVybiBzdGF0ZSA9PT0gJ2Vycm9yJyAmJiAhZmlsZS5jb250ZW50XG4gICAgICAgICAgICA/IGZpbGVUZXh0cyQucGlwZShtYXAodGV4dHMgPT4gdGV4dHMubG9hZGluZ0Vycm9yKSlcbiAgICAgICAgICAgIDogb2YodGhpcy5maWxlLmNvbnRlbnQgfHwgJycpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVGaWxlU2l6ZSQoXG4gICAgICAgIGZpbGU6IFR1aUZpbGVMaWtlLFxuICAgICAgICB1bml0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nLCBzdHJpbmddPixcbiAgICApOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIHVuaXRzJC5waXBlKG1hcCh1bml0cyA9PiB0dWlGb3JtYXRTaXplKHVuaXRzLCBmaWxlLnNpemUpKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNyZWF0ZVByZXZpZXcoZmlsZTogVHVpRmlsZUxpa2UsIHNhbml0aXplcjogRG9tU2FuaXRpemVyKTogU2FmZVZhbHVlIHtcbiAgICAgICAgaWYgKGZpbGUuc3JjKSB7XG4gICAgICAgICAgICByZXR1cm4gZmlsZS5zcmM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIEZpbGUgJiYgZmlsZS50eXBlICYmIGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkge1xuICAgICAgICAgICAgcmV0dXJuIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXROYW1lKGZpbGU6IFR1aUZpbGVMaWtlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGZpbGUubmFtZS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKS5qb2luKCcuJyk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldFR5cGUoZmlsZTogVHVpRmlsZUxpa2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYC4ke2ZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpfWAgfHwgJyc7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiIXNyYzsgZWxzZSB3aXRoTGlua1wiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmlsZUluZm9UZW1wbGF0ZVwiXG4+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjd2l0aExpbms+XG4gICAgPGFcbiAgICAgICAgcmVsPVwibm9yZWZlcnJlciBub29wZW5lclwiXG4gICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgIGNsYXNzPVwidC1saW5rXCJcbiAgICAgICAgW2hyZWZdPVwic3JjXCJcbiAgICAgICAgKHR1aUZvY3VzVmlzaWJsZUNoYW5nZSk9XCJvbkZvY3VzVmlzaWJsZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmlsZUluZm9UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZmlsZUluZm9UZW1wbGF0ZT5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidC1wcmV2aWV3XCJcbiAgICAgICAgW2NsYXNzLnQtcHJldmlld19iaWddPVwiaXNCaWdcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwibGVmdENvbnRlbnQgfHwgZGVmYXVsdExlZnRDb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC10ZXh0XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1maWxlX19uYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtbmFtZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbmFtZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1maWxlX190eXBlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdHlwZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdHlwZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93U2l6ZSAmJiAoZmlsZVNpemUkIHwgYXN5bmMpIGFzIGZpbGVTaXplXCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX3NpemVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zaXplXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBmaWxlU2l6ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImNvbnRlbnQkIHwgYXN5bmMgYXMgY29udGVudFwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX2NvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWxsb3dEZWxldGVcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJmaWxlVGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1maWxlX19yZW1vdmVcIlxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgaWNvbj1cInR1aUljb25DbG9zZUxhcmdlXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1yZW1vdmVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInRleHRzLnJlbW92ZVwiXG4gICAgICAgICAgICBbY2xhc3MudC1yZW1vdmVfbW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICAgICAgICAgIChjbGljay5wcmV2ZW50KT1cIm9uUmVtb3ZlQ2xpY2soKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExlZnRDb250ZW50PlxuICAgIDxpbWdcbiAgICAgICAgKm5nSWY9XCJwcmV2aWV3OyBlbHNlIGxvYWRlclwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZmlsZV9fcHJldmlld1wiXG4gICAgICAgIGNsYXNzPVwidC1pbWFnZVwiXG4gICAgICAgIFtzcmNdPVwicHJldmlld1wiXG4gICAgLz5cbiAgICA8bmctdGVtcGxhdGUgI2xvYWRlcj5cbiAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNMb2FkaW5nOyBlbHNlIHN2Z1wiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX2xvYWRlclwiXG4gICAgICAgICAgICBjbGFzcz1cInQtbG9hZGVyXCJcbiAgICAgICAgICAgIFtpbmhlcml0Q29sb3JdPVwiaXNCaWdcIlxuICAgICAgICA+PC90dWktbG9hZGVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNzdmc+XG4gICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX2ljb25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl9kZWxldGVkXT1cImlzRGVsZXRlZFwiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uX2Vycm9yXT1cImlzRXJyb3JcIlxuICAgICAgICAgICAgW3NyY109XCJpY29uXCJcbiAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9maWxlcy9maWxlL2ZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZmlsZXMvZmlsZS9maWxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFDSCxhQUFhLEVBQ2IsY0FBYyxFQUVkLGFBQWEsRUFDYixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFDLDZCQUE2QixFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR25GLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBUWhELE1BQU0sT0FBTyxnQkFBZ0I7SUErQnpCLFlBRWEsUUFBcUQsRUFDdkIsU0FBdUIsRUFFckQsVUFBd0QsRUFFaEQsT0FBdUQsRUFFdkQsTUFFaEI7UUFUUSxhQUFRLEdBQVIsUUFBUSxDQUE2QztRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBRXJELGVBQVUsR0FBVixVQUFVLENBQThDO1FBRWhELFlBQU8sR0FBUCxPQUFPLENBQWdEO1FBRXZELFdBQU0sR0FBTixNQUFNLENBRXRCO1FBdkNMLFNBQUksR0FBZ0IsRUFBQyxJQUFJLEVBQUUs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ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlVmFsdWV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtcbiAgICBUVUlfSVNfTU9CSUxFLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUluamVjdGlvblRva2VuVHlwZSxcbiAgICB0dWlJc09ic2VydmVkLFxuICAgIHR1aVB1cmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlTaXplTH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlMYW5ndWFnZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4nO1xuaW1wb3J0IHtUdWlGaWxlTGlrZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0RJR0lUQUxfSU5GT1JNQVRJT05fVU5JVFMsIFRVSV9GSUxFX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1R1aUZpbGVTdGF0ZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0ZJTEVfT1BUSU9OU30gZnJvbSAnLi9maWxlLW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1maWxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRmlsZUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGZpbGU6IFR1aUZpbGVMaWtlID0ge25hbWU6ICcnfTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGF0ZTogVHVpRmlsZVN0YXRlID0gJ25vcm1hbCc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZUwgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd0RlbGV0ZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2hvd1NpemUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGxlZnRDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50ID0gJyc7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSByZW1vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZm9jdXNlZCcpXG4gICAgZm9jdXNlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSlcbiAgICAgICAgcmVhZG9ubHkgaXNNb2JpbGU6IFR1aUluamVjdGlvblRva2VuVHlwZTx0eXBlb2YgVFVJX0lTX01PQklMRT4sXG4gICAgICAgIEBJbmplY3QoRG9tU2FuaXRpemVyKSBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBASW5qZWN0KFRVSV9GSUxFX1RFWFRTKVxuICAgICAgICByZWFkb25seSBmaWxlVGV4dHMkOiBUdWlJbmplY3Rpb25Ub2tlblR5cGU8dHlwZW9mIFRVSV9GSUxFX1RFWFRTPixcbiAgICAgICAgQEluamVjdChUVUlfRklMRV9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUluamVjdGlvblRva2VuVHlwZTx0eXBlb2YgVFVJX0ZJTEVfT1BUSU9OUz4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RJR0lUQUxfSU5GT1JNQVRJT05fVU5JVFMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdW5pdHMkOiBUdWlJbmplY3Rpb25Ub2tlblR5cGU8XG4gICAgICAgICAgICB0eXBlb2YgVFVJX0RJR0lUQUxfSU5GT1JNQVRJT05fVU5JVFNcbiAgICAgICAgPixcbiAgICApIHt9XG5cbiAgICBnZXQgcHJldmlldygpOiBTYWZlVmFsdWUge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0JpZyA/IHRoaXMuY3JlYXRlUHJldmlldyh0aGlzLmZpbGUsIHRoaXMuc2FuaXRpemVyKSA6ICcnO1xuICAgIH1cblxuICAgIGdldCBpc0JpZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2wnO1xuICAgIH1cblxuICAgIGdldCBpc0xvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnbG9hZGluZyc7XG4gICAgfVxuXG4gICAgZ2V0IGlzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnZXJyb3InO1xuICAgIH1cblxuICAgIGdldCBpc0RlbGV0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlID09PSAnZGVsZXRlZCc7XG4gICAgfVxuXG4gICAgZ2V0IGFsbG93RGVsZXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93RGVsZXRlICYmIHR1aUlzT2JzZXJ2ZWQodGhpcy5yZW1vdmVkKTtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ25vcm1hbCcgJiYgdGhpcy5pc0JpZykge1xuICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uRGVmYXVsdERvY0xhcmdlJztcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAodGhpcy5zdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAnZGVsZXRlZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uVHJhc2hMYXJnZSc7XG4gICAgICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0dWlJY29uQWxlcnRDaXJjbGVMYXJnZSc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAndHVpSWNvbkNoZWNrQ2lyY2xlTGFyZ2UnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbGluaycpXG4gICAgZ2V0IHNyYygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlLnNyYyB8fCAnJztcbiAgICB9XG5cbiAgICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXROYW1lKHRoaXMuZmlsZSk7XG4gICAgfVxuXG4gICAgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHlwZSh0aGlzLmZpbGUpO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50JCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlQ29udGVudCQodGhpcy5zdGF0ZSwgdGhpcy5maWxlLCB0aGlzLmZpbGVUZXh0cyQpO1xuICAgIH1cblxuICAgIGdldCBmaWxlU2l6ZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZUZpbGVTaXplJCh0aGlzLmZpbGUsIHRoaXMudW5pdHMkKTtcbiAgICB9XG5cbiAgICBvblJlbW92ZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZWQuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uRm9jdXNWaXNpYmxlKGZvY3VzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzZWQgPSBmb2N1c1Zpc2libGU7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZUNvbnRlbnQkKFxuICAgICAgICBzdGF0ZTogVHVpRmlsZVN0YXRlLFxuICAgICAgICBmaWxlOiBUdWlGaWxlTGlrZSxcbiAgICAgICAgZmlsZVRleHRzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8a2V5b2YgVHVpTGFuZ3VhZ2VbJ2ZpbGVUZXh0cyddLCBzdHJpbmc+PixcbiAgICApOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHN0YXRlID09PSAnZXJyb3InICYmICFmaWxlLmNvbnRlbnRcbiAgICAgICAgICAgID8gZmlsZVRleHRzJC5waXBlKG1hcCh0ZXh0cyA9PiB0ZXh0cy5sb2FkaW5nRXJyb3IpKVxuICAgICAgICAgICAgOiBvZih0aGlzLmZpbGUuY29udGVudCB8fCAnJyk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZUZpbGVTaXplJChcbiAgICAgICAgZmlsZTogVHVpRmlsZUxpa2UsXG4gICAgICAgIHVuaXRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10+LFxuICAgICk6IE9ic2VydmFibGU8c3RyaW5nIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gdW5pdHMkLnBpcGUobWFwKHVuaXRzID0+IHRoaXMub3B0aW9ucy5mb3JtYXRTaXplKHVuaXRzLCBmaWxlLnNpemUpKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNyZWF0ZVByZXZpZXcoZmlsZTogVHVpRmlsZUxpa2UsIHNhbml0aXplcjogRG9tU2FuaXRpemVyKTogU2FmZVZhbHVlIHtcbiAgICAgICAgaWYgKGZpbGUuc3JjKSB7XG4gICAgICAgICAgICByZXR1cm4gZmlsZS5zcmM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIEZpbGUgJiYgZmlsZS50eXBlICYmIGZpbGUudHlwZS5zdGFydHNXaXRoKCdpbWFnZS8nKSkge1xuICAgICAgICAgICAgcmV0dXJuIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXROYW1lKGZpbGU6IFR1aUZpbGVMaWtlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGZpbGUubmFtZS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKS5qb2luKCcuJyk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldFR5cGUoZmlsZTogVHVpRmlsZUxpa2UpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYC4ke2ZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpfWAgfHwgJyc7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwiIXNyYzsgZWxzZSB3aXRoTGlua1wiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmlsZUluZm9UZW1wbGF0ZVwiXG4+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjd2l0aExpbms+XG4gICAgPGFcbiAgICAgICAgcmVsPVwibm9yZWZlcnJlciBub29wZW5lclwiXG4gICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgIGNsYXNzPVwidC1saW5rXCJcbiAgICAgICAgW2hyZWZdPVwic3JjXCJcbiAgICAgICAgKHR1aUZvY3VzVmlzaWJsZUNoYW5nZSk9XCJvbkZvY3VzVmlzaWJsZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmlsZUluZm9UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZmlsZUluZm9UZW1wbGF0ZT5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidC1wcmV2aWV3XCJcbiAgICAgICAgW2NsYXNzLnQtcHJldmlld19iaWddPVwiaXNCaWdcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwibGVmdENvbnRlbnQgfHwgZGVmYXVsdExlZnRDb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInQtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC10ZXh0XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1maWxlX19uYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtbmFtZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbmFtZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1maWxlX190eXBlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdHlwZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdHlwZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93U2l6ZSAmJiAoZmlsZVNpemUkIHwgYXN5bmMpIGFzIGZpbGVTaXplXCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX3NpemVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zaXplXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBmaWxlU2l6ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImNvbnRlbnQkIHwgYXN5bmMgYXMgY29udGVudFwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX2NvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWxsb3dEZWxldGVcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJmaWxlVGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1maWxlX19yZW1vdmVcIlxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgaWNvbj1cInR1aUljb25DbG9zZUxhcmdlXCJcbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1yZW1vdmVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInRleHRzLnJlbW92ZVwiXG4gICAgICAgICAgICBbY2xhc3MudC1yZW1vdmVfbW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICAgICAgICAgIChjbGljay5wcmV2ZW50KT1cIm9uUmVtb3ZlQ2xpY2soKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdExlZnRDb250ZW50PlxuICAgIDxpbWdcbiAgICAgICAgKm5nSWY9XCJwcmV2aWV3OyBlbHNlIGxvYWRlclwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZmlsZV9fcHJldmlld1wiXG4gICAgICAgIGFsdD1cImZpbGUgcHJldmlld1wiXG4gICAgICAgIGNsYXNzPVwidC1pbWFnZVwiXG4gICAgICAgIFtzcmNdPVwicHJldmlld1wiXG4gICAgLz5cbiAgICA8bmctdGVtcGxhdGUgI2xvYWRlcj5cbiAgICAgICAgPHR1aS1sb2FkZXJcbiAgICAgICAgICAgICpuZ0lmPVwiaXNMb2FkaW5nOyBlbHNlIHN2Z1wiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX2xvYWRlclwiXG4gICAgICAgICAgICBjbGFzcz1cInQtbG9hZGVyXCJcbiAgICAgICAgICAgIFtpbmhlcml0Q29sb3JdPVwiaXNCaWdcIlxuICAgICAgICA+PC90dWktbG9hZGVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNzdmc+XG4gICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWZpbGVfX2ljb25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl9kZWxldGVkXT1cImlzRGVsZXRlZFwiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uX2Vycm9yXT1cImlzRXJyb3JcIlxuICAgICAgICAgICAgW3NyY109XCJpY29uXCJcbiAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -23,7 +23,7 @@ export class TuiFilesComponent {
23
23
  }
24
24
  }
25
25
  TuiFilesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilesComponent, deps: [{ token: TUI_HIDE_TEXT }, { token: TUI_SHOW_ALL_TEXT }], target: i0.ɵɵFactoryTarget.Component });
26
- TuiFilesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFilesComponent, selector: "tui-files", inputs: { max: "max" }, queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"items?.changes | async\"></ng-container>\n\n<section\n tuiGroup\n orientation=\"vertical\"\n class=\"t-files\"\n [collapsed]=\"true\"\n>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"!max || index < max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n <tui-expand\n *ngIf=\"hasExtraItems\"\n [expanded]=\"!hidden\"\n >\n <div class=\"t-extra-items\">\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"max && index >= max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n </div>\n </tui-expand>\n <button\n *ngIf=\"hasExtraItems\"\n tuiButton\n appearance=\"outline\"\n size=\"m\"\n class=\"t-button\"\n [class.t-button_collapsed]=\"hidden\"\n (click)=\"toggle()\"\n >\n {{ (hidden ? showAllText$ : hideText$) | async }}\n </button>\n</section>\n", styles: ["tui-files{display:block}tui-files .t-files{position:relative;display:block;width:100%;height:100%;border-radius:var(--tui-radius-m);overflow:hidden}tui-files .t-button{z-index:3;width:100%;background:var(--tui-base-01)}tui-files .t-button_collapsed{box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);margin-top:-1.5rem}tui-files .t-extra-items tui-file{border-radius:0;margin-top:0;margin-bottom:-.0625rem}\n"], components: [{ type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
26
+ TuiFilesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFilesComponent, selector: "tui-files", inputs: { max: "max" }, queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"items?.changes | async\"></ng-container>\n\n<section\n tuiGroup\n orientation=\"vertical\"\n class=\"t-files\"\n [collapsed]=\"true\"\n>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"!max || index < max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n <tui-expand\n *ngIf=\"hasExtraItems\"\n [expanded]=\"!hidden\"\n >\n <div class=\"t-extra-items\">\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"max && index >= max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n </div>\n </tui-expand>\n <button\n *ngIf=\"hasExtraItems\"\n tuiButton\n appearance=\"outline\"\n size=\"m\"\n type=\"button\"\n class=\"t-button\"\n [class.t-button_collapsed]=\"hidden\"\n (click)=\"toggle()\"\n >\n {{ (hidden ? showAllText$ : hideText$) | async }}\n </button>\n</section>\n", styles: ["tui-files{display:block}tui-files .t-files{position:relative;display:block;width:100%;height:100%;border-radius:var(--tui-radius-m);overflow:hidden}tui-files .t-button{z-index:3;width:100%;background:var(--tui-base-01)}tui-files .t-button_collapsed{box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);margin-top:-1.5rem}tui-files .t-extra-items tui-file{border-radius:0;margin-top:0;margin-bottom:-.0625rem}\n"], components: [{ type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
27
27
  __decorate([
28
28
  tuiDefaultProp()
29
29
  ], TuiFilesComponent.prototype, "max", void 0);
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
48
48
  }], max: [{
49
49
  type: Input
50
50
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZmlsZXMvZmlsZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZmlsZXMvZmlsZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBVXRFLE1BQU0sT0FBTyxpQkFBaUI7SUFVMUIsWUFDb0MsU0FBNkIsRUFDekIsWUFBZ0M7UUFEcEMsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFDekIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBVi9ELFVBQUssR0FBMkQsSUFBSSxDQUFDO1FBSTlFLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFFUixXQUFNLEdBQUcsSUFBSSxDQUFDO0lBS1gsQ0FBQztJQUVKLElBQUksYUFBYTs7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQzlELENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQzs7K0dBckJRLGlCQUFpQixrQkFXZCxhQUFhLGFBQ2IsaUJBQWlCO21HQVpwQixpQkFBaUIsK0ZBQ1QsZ0JBQWdCLFFBQVMsV0FBVyw2QkN0QnpELHVwQ0F3Q0E7QURiSTtJQURDLGNBQWMsRUFBRTs4Q0FDVDs0RkFOQyxpQkFBaUI7a0JBUDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3hDOzswQkFZUSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLGlCQUFpQjs0Q0FWcEIsS0FBSztzQkFEYixlQUFlO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQztnQkFLdEQsR0FBRztzQkFGRixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcCwgVHVpSXRlbURpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9ISURFX1RFWFQsIFRVSV9TSE9XX0FMTF9URVhUfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1maWxlcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbGVzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlcy5jb21wb25lbnQubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUZpbGVzQ29tcG9uZW50IHtcbiAgICBAQ29udGVudENoaWxkcmVuKFR1aUl0ZW1EaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgaXRlbXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gMDtcblxuICAgIGhpZGRlbiA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfSElERV9URVhUKSByZWFkb25seSBoaWRlVGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICAgICAgQEluamVjdChUVUlfU0hPV19BTExfVEVYVCkgcmVhZG9ubHkgc2hvd0FsbFRleHQkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgKSB7fVxuXG4gICAgZ2V0IGhhc0V4dHJhSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMubWF4ICYmICh0aGlzLml0ZW1zPy5sZW5ndGggfHwgMCkgPiB0aGlzLm1heDtcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZGVuID0gIXRoaXMuaGlkZGVuO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtcz8uY2hhbmdlcyB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG5cbjxzZWN0aW9uXG4gICAgdHVpR3JvdXBcbiAgICBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICBjbGFzcz1cInQtZmlsZXNcIlxuICAgIFtjb2xsYXBzZWRdPVwidHJ1ZVwiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiIW1heCB8fCBpbmRleCA8IG1heFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDx0dWktZXhwYW5kXG4gICAgICAgICpuZ0lmPVwiaGFzRXh0cmFJdGVtc1wiXG4gICAgICAgIFtleHBhbmRlZF09XCIhaGlkZGVuXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0LWV4dHJhLWl0ZW1zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtYXggJiYgaW5kZXggPj0gbWF4XCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvdHVpLWV4cGFuZD5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiaGFzRXh0cmFJdGVtc1wiXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgIFtjbGFzcy50LWJ1dHRvbl9jb2xsYXBzZWRdPVwiaGlkZGVuXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgICA+XG4gICAgICAgIHt7IChoaWRkZW4gPyBzaG93QWxsVGV4dCQgOiBoaWRlVGV4dCQpIHwgYXN5bmMgfX1cbiAgICA8L2J1dHRvbj5cbjwvc2VjdGlvbj5cbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZmlsZXMvZmlsZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvZmlsZXMvZmlsZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUVMLFdBQVcsRUFDWCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUMsYUFBYSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBVXRFLE1BQU0sT0FBTyxpQkFBaUI7SUFVMUIsWUFDb0MsU0FBNkIsRUFDekIsWUFBZ0M7UUFEcEMsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFDekIsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBVi9ELFVBQUssR0FBMkQsSUFBSSxDQUFDO1FBSTlFLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFFUixXQUFNLEdBQUcsSUFBSSxDQUFDO0lBS1gsQ0FBQztJQUVKLElBQUksYUFBYTs7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQzlELENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQzs7K0dBckJRLGlCQUFpQixrQkFXZCxhQUFhLGFBQ2IsaUJBQWlCO21HQVpwQixpQkFBaUIsK0ZBQ1QsZ0JBQWdCLFFBQVMsV0FBVyw2QkN0QnpELGdyQ0F5Q0E7QURkSTtJQURDLGNBQWMsRUFBRTs4Q0FDVDs0RkFOQyxpQkFBaUI7a0JBUDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3hDOzswQkFZUSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLGlCQUFpQjs0Q0FWcEIsS0FBSztzQkFEYixlQUFlO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQztnQkFLdEQsR0FBRztzQkFGRixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcCwgVHVpSXRlbURpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9ISURFX1RFWFQsIFRVSV9TSE9XX0FMTF9URVhUfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1maWxlcycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbGVzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlcy5jb21wb25lbnQubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUZpbGVzQ29tcG9uZW50IHtcbiAgICBAQ29udGVudENoaWxkcmVuKFR1aUl0ZW1EaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgaXRlbXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gMDtcblxuICAgIGhpZGRlbiA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfSElERV9URVhUKSByZWFkb25seSBoaWRlVGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPixcbiAgICAgICAgQEluamVjdChUVUlfU0hPV19BTExfVEVYVCkgcmVhZG9ubHkgc2hvd0FsbFRleHQkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgKSB7fVxuXG4gICAgZ2V0IGhhc0V4dHJhSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMubWF4ICYmICh0aGlzLml0ZW1zPy5sZW5ndGggfHwgMCkgPiB0aGlzLm1heDtcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZGVuID0gIXRoaXMuaGlkZGVuO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtcz8uY2hhbmdlcyB8IGFzeW5jXCI+PC9uZy1jb250YWluZXI+XG5cbjxzZWN0aW9uXG4gICAgdHVpR3JvdXBcbiAgICBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICBjbGFzcz1cInQtZmlsZXNcIlxuICAgIFtjb2xsYXBzZWRdPVwidHJ1ZVwiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiIW1heCB8fCBpbmRleCA8IG1heFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDx0dWktZXhwYW5kXG4gICAgICAgICpuZ0lmPVwiaGFzRXh0cmFJdGVtc1wiXG4gICAgICAgIFtleHBhbmRlZF09XCIhaGlkZGVuXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0LWV4dHJhLWl0ZW1zXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtYXggJiYgaW5kZXggPj0gbWF4XCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvdHVpLWV4cGFuZD5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiaGFzRXh0cmFJdGVtc1wiXG4gICAgICAgIHR1aUJ1dHRvblxuICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICBbY2xhc3MudC1idXR0b25fY29sbGFwc2VkXT1cImhpZGRlblwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGUoKVwiXG4gICAgPlxuICAgICAgICB7eyAoaGlkZGVuID8gc2hvd0FsbFRleHQkIDogaGlkZVRleHQkKSB8IGFzeW5jIH19XG4gICAgPC9idXR0b24+XG48L3NlY3Rpb24+XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  export * from './file/file.component';
2
+ export * from './file/file-options';
2
3
  export * from './files.component';
3
4
  export * from './files.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9maWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsZS9maWxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVzLm1vZHVsZSc7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9maWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWxlL2ZpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS9maWxlLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlcy5tb2R1bGUnO1xuIl19
@@ -7,7 +7,7 @@ import { TUI_TEXTFIELD_SIZE, TuiPrimitiveTextfieldComponent, } from '@taiga-ui/c
7
7
  import { TUI_VALUE_ACCESSOR_PROVIDER } from '@taiga-ui/kit/providers';
8
8
  import { TUI_COPY_TEXTS } from '@taiga-ui/kit/tokens';
9
9
  import { merge, of, Subject, timer } from 'rxjs';
10
- import { mapTo, startWith, switchMap } from 'rxjs/operators';
10
+ import { map, startWith, switchMap } from 'rxjs/operators';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "@taiga-ui/core";
13
13
  import * as i2 from "@tinkoff/ng-polymorpheus";
@@ -29,7 +29,7 @@ export class TuiInputCopyComponent extends AbstractTuiControl {
29
29
  return !!this.value;
30
30
  }
31
31
  get hintText$() {
32
- return this.copyTexts$.pipe(switchMap(texts => this.copy$.pipe(switchMap(() => merge(of(this.successMessage || texts[1]), timer(3000).pipe(mapTo(texts[0])))), startWith(texts[0]))));
32
+ return this.copyTexts$.pipe(switchMap(texts => this.copy$.pipe(switchMap(() => merge(of(this.successMessage || texts[1]), timer(3000).pipe(map(() => texts[0])))), startWith(texts[0]))));
33
33
  }
34
34
  get nativeFocusableElement() {
35
35
  return this.computedDisabled || !this.textfield
@@ -124,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
124
124
  type: HostBinding,
125
125
  args: ['class._has-value']
126
126
  }], hintText$: [] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29weS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jb3B5L2lucHV0LWNvcHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY29weS9pbnB1dC1jb3B5LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLDBCQUEwQixFQUMxQixjQUFjLEVBR2QsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxrQkFBa0IsRUFFbEIsOEJBQThCLEdBRWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXBELE9BQU8sRUFBQyxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0QsT0FBTyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFhM0QsTUFBTSxPQUFPLHFCQUNULFNBQVEsa0JBQTBCO0lBb0JsQyxZQUlJLE9BQXlCLEVBQ0UsaUJBQW9D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QUFFO2dFQUNNO0FBc0J2QjtJQURDLE9BQU87c0RBZVA7NEZBdkRRLHFCQUFxQjtrQkFYakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsNEJBQTRCO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUCwyQkFBMkI7d0JBQzNCLDBCQUEwQix1QkFBdUI7d0JBQ2pELFlBQVksdUJBQXVCO3FCQUN0QztpQkFDSjs7MEJBdUJRLFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsU0FBUzs7MEJBRWhCLE1BQU07MkJBQUMsaUJBQWlCOzhCQUN1QixRQUFROzBCQUF2RCxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsa0JBQWtCOzswQkFFekIsTUFBTTsyQkFBQyxjQUFjOzRDQXpCVCxTQUFTO3NCQUR6QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFPekMsY0FBYztzQkFGYixLQUFLO2dCQU1OLGdCQUFnQjtzQkFGZixLQUFLO2dCQU1OLGlCQUFpQjtzQkFGaEIsS0FBSztnQkFtQkYsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLGtCQUFrQjtnQkFNM0IsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aUhpbnREaXJlY3Rpb24sXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX1ZBTFVFX0FDQ0VTU09SX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9DT1BZX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXBUbywgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtY29weScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWNvcHkudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtY29weS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFRVSV9WQUxVRV9BQ0NFU1NPUl9QUk9WSURFUixcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXRDb3B5Q29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0Q29weUNvbXBvbmVudCksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDb3B5Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8c3RyaW5nPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvcHkkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdWNjZXNzTWVzc2FnZTogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1lc3NhZ2VEaXJlY3Rpb246IFR1aUhpbnREaXJlY3Rpb24gPSAnYm90dG9tLWxlZnQnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1lc3NhZ2VBcHBlYXJhbmNlID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50UmVmOiBEb2N1bWVudCxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1NJWkUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkU2l6ZTogVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUVUlfQ09QWV9URVhUUykgcHJpdmF0ZSByZWFkb25seSBjb3B5VGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faGFzLXZhbHVlJylcbiAgICBnZXQgaGFzVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgaGludFRleHQkKCk6IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3B5VGV4dHMkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAodGV4dHMgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmNvcHkkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YodGhpcy5zdWNjZXNzTWVzc2FnZSB8fCB0ZXh0c1sxXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXIoMzAwMCkucGlwZShtYXBUbyh0ZXh0c1swXSkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRleHRzWzBdKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkRGlzYWJsZWQgfHwgIXRoaXMudGV4dGZpZWxkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50ZXh0ZmllbGQgJiYgdGhpcy50ZXh0ZmllbGQuZm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGRTaXplLnNpemUgPT09ICdzJyA/ICd0dWlJY29uQ29weScgOiAndHVpSWNvbkNvcHlMYXJnZSc7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBjb3B5KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudGV4dGZpZWxkPy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnNlbGVjdCgpO1xuICAgICAgICB0aGlzLmRvY3VtZW50UmVmLmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG4gICAgICAgIHRoaXMuY29weSQubmV4dCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG4iLCI8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICBbdHVpVGV4dGZpZWxkSWNvbl09XCIhZGlzYWJsZWQgPyBpY29uQ29udGVudCA6ICcnXCJcbiAgICBbcHNldWRvRm9jdXNdPVwicHNldWRvRm9jdXNcIlxuICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgW3BzZXVkb0FjdGl2ZV09XCJwc2V1ZG9BY3RpdmVcIlxuICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgW2Rpc2FibGVkXT1cImNvbXB1dGVkRGlzYWJsZWRcIlxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAoZm9jdXNlZENoYW5nZSk9XCJvbkZvY3VzZWQoJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50XG4gICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgPjwvbmctY29udGVudD5cbjwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbjxuZy10ZW1wbGF0ZSAjaWNvbkNvbnRlbnQ+XG4gICAgPHR1aS1zdmdcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jb3B5X19pY29uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICBbdHVpSGludF09XCJoaW50XCJcbiAgICAgICAgW3R1aUhpbnREaXJlY3Rpb25dPVwibWVzc2FnZURpcmVjdGlvblwiXG4gICAgICAgIFt0dWlIaW50QXBwZWFyYW5jZV09XCJtZXNzYWdlQXBwZWFyYW5jZVwiXG4gICAgICAgIFtzcmNdPVwiaWNvblwiXG4gICAgICAgIChjbGljayk9XCJjb3B5KClcIlxuICAgID48L3R1aS1zdmc+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2hpbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaGludFRleHQkIHwgYXN5bmMgYXMgdGV4dFwiPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29weS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1jb3B5L2lucHV0LWNvcHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY29weS9pbnB1dC1jb3B5LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLDBCQUEwQixFQUMxQixjQUFjLEVBR2QsT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxrQkFBa0IsRUFFbEIsOEJBQThCLEdBRWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXBELE9BQU8sRUFBQyxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0QsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFhekQsTUFBTSxPQUFPLHFCQUNULFNBQVEsa0JBQTBCO0lBb0JsQyxZQUlJLE9BQXlCLEVBQ0UsaUJBQW9D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SW5EO0lBREMsY0FBYyxFQUFFO2dFQUNNO0FBc0J2QjtJQURDLE9BQU87c0RBZVA7NEZBdkRRLHFCQUFxQjtrQkFYakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsNEJBQTRCO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUCwyQkFBMkI7d0JBQzNCLDBCQUEwQix1QkFBdUI7d0JBQ2pELFlBQVksdUJBQXVCO3FCQUN0QztpQkFDSjs7MEJBdUJRLFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsU0FBUzs7MEJBRWhCLE1BQU07MkJBQUMsaUJBQWlCOzhCQUN1QixRQUFROzBCQUF2RCxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsa0JBQWtCOzswQkFFekIsTUFBTTsyQkFBQyxjQUFjOzRDQXpCVCxTQUFTO3NCQUR6QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFPekMsY0FBYztzQkFGYixLQUFLO2dCQU1OLGdCQUFnQjtzQkFGZixLQUFLO2dCQU1OLGlCQUFpQjtzQkFGaEIsS0FBSztnQkFtQkYsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLGtCQUFrQjtnQkFNM0IsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aUhpbnREaXJlY3Rpb24sXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX1ZBTFVFX0FDQ0VTU09SX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9DT1BZX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LWNvcHknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1jb3B5LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWNvcHkuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUVUlfVkFMVUVfQUNDRVNTT1JfUFJPVklERVIsXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0Q29weUNvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dENvcHlDb21wb25lbnQpLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q29weUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPHN0cmluZz5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3B5JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3VjY2Vzc01lc3NhZ2U6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtZXNzYWdlRGlyZWN0aW9uOiBUdWlIaW50RGlyZWN0aW9uID0gJ2JvdHRvbS1sZWZ0JztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtZXNzYWdlQXBwZWFyYW5jZSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFJlZjogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX0NPUFlfVEVYVFMpIHByaXZhdGUgcmVhZG9ubHkgY29weVRleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hhcy12YWx1ZScpXG4gICAgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IGhpbnRUZXh0JCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29weVRleHRzJC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKHRleHRzID0+XG4gICAgICAgICAgICAgICAgdGhpcy5jb3B5JC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mKHRoaXMuc3VjY2Vzc01lc3NhZ2UgfHwgdGV4dHNbMV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyKDMwMDApLnBpcGUobWFwKCgpID0+IHRleHRzWzBdKSksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICBzdGFydFdpdGgodGV4dHNbMF0pLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWREaXNhYmxlZCB8fCAhdGhpcy50ZXh0ZmllbGRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZCAmJiB0aGlzLnRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZFNpemUuc2l6ZSA9PT0gJ3MnID8gJ3R1aUljb25Db3B5JyA6ICd0dWlJY29uQ29weUxhcmdlJztcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIGNvcHkoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50ZXh0ZmllbGQ/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRSZWYuZXhlY0NvbW1hbmQoJ2NvcHknKTtcbiAgICAgICAgdGhpcy5jb3B5JC5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbn1cbiIsIjx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgIFt0dWlUZXh0ZmllbGRJY29uXT1cIiFkaXNhYmxlZCA/IGljb25Db250ZW50IDogJydcIlxuICAgIFtwc2V1ZG9Gb2N1c109XCJwc2V1ZG9Gb2N1c1wiXG4gICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICBbcHNldWRvQWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIChmb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnRcbiAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgICAgICBuZ1Byb2plY3RBcz1cImlucHV0XCJcbiAgICA+PC9uZy1jb250ZW50PlxuPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cblxuPG5nLXRlbXBsYXRlICNpY29uQ29udGVudD5cbiAgICA8dHVpLXN2Z1xuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNvcHlfX2ljb25cIlxuICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgIFt0dWlIaW50XT1cImhpbnRcIlxuICAgICAgICBbdHVpSGludERpcmVjdGlvbl09XCJtZXNzYWdlRGlyZWN0aW9uXCJcbiAgICAgICAgW3R1aUhpbnRBcHBlYXJhbmNlXT1cIm1lc3NhZ2VBcHBlYXJhbmNlXCJcbiAgICAgICAgW3NyY109XCJpY29uXCJcbiAgICAgICAgKGNsaWNrKT1cImNvcHkoKVwiXG4gICAgPjwvdHVpLXN2Zz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaGludD5cbiAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJoaW50VGV4dCQgfCBhc3luYyBhcyB0ZXh0XCI+XG4gICAgICAgIHt7IHRleHQgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -101,6 +101,14 @@ export class TuiInputDateComponent extends AbstractTuiNullableControl {
101
101
  getComputedFiller(filler) {
102
102
  return this.activeItem ? '' : filler;
103
103
  }
104
+ // noinspection JSUnusedGlobalSymbols
105
+ /**
106
+ * TODO: Remove in 4.0
107
+ * @deprecated: use {@link onIconClick} instead
108
+ */
109
+ onMobileClick() {
110
+ this.onIconClick();
111
+ }
104
112
  onIconClick() {
105
113
  if (!this.computedMobile || !this.mobileCalendar) {
106
114
  return;
@@ -257,4 +265,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
257
265
  type: HostListener,
258
266
  args: ['click']
259
267
  }] } });
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS9pbnB1dC1kYXRlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFFSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixhQUFhLEVBRWIsWUFBWSxFQUNaLDBCQUEwQixFQUkxQixZQUFZLEVBRVosTUFBTSxFQUNOLGNBQWMsRUFFZCxRQUFRLEVBQ1IsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFFaEIsOEJBQThCLEdBTWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFDSCxjQUFjLEVBQ2QsMEJBQTBCLEVBQzFCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsNEJBQTRCLEdBRS9CLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNILDhCQUE4QixFQUM5QixpQkFBaUIsR0FDcEIsTUFBTSwwQkFBMEIsQ0FB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QyxTQUFTLEVBQUU7d0JBQ1AsMEJBQTBCLHVCQUF1Qjt3QkFDakQsWUFBWSx1QkFBdUI7d0JBQ25DLDRCQUE0QixDQUFDLDBCQUEwQixDQUFDO3FCQUMzRDtpQkFDSjs7MEJBbURRLFFBQVE7OzBCQUNSLElBQUk7OzBCQUNKLE1BQU07MkJBQUMsU0FBUzs7MEJBRWhCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQ3ZCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsbUJBQW1COzswQkFFMUIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUV6QixNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLE1BQU07MkJBQUMsY0FBYzs7MEJBRXJCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsMEJBQTBCOzswQkFFakMsTUFBTTsyQkFBQyxzQkFBc0I7NENBakVqQixTQUFTO3NCQUR6QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFhekMsR0FBRztzQkFGRixLQUFLO2dCQU1OLEdBQUc7c0JBRkYsS0FBSztnQkFNTixtQkFBbUI7c0JBRmxCLEtBQUs7Z0JBTU4sYUFBYTtzQkFGWixLQUFLO2dCQU1OLEtBQUs7c0JBRkosS0FBSztnQkFNTixzQkFBc0I7c0JBRnJCLEtBQUs7Z0JBOEdOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFR5cGUsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIGNoYW5nZURhdGVTZXBhcmF0b3IsXG4gICAgREFURV9GSUxMRVJfTEVOR1RILFxuICAgIFRVSV9EQVRFX0ZPUk1BVCxcbiAgICBUVUlfREFURV9TRVBBUkFUT1IsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIFR1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyLFxuICAgIHR1aURhdGVDbGFtcCxcbiAgICBUdWlEYXRlTW9kZSxcbiAgICBUdWlEYXksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU1vbnRoLFxuICAgIHR1aU51bGxhYmxlU2FtZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSLFxuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUdWlEaWFsb2dTZXJ2aWNlLFxuICAgIFR1aU1hcmtlckhhbmRsZXIsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVNpemVTLFxuICAgIFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlOYW1lZERheX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jbGFzc2VzJztcbmltcG9ydCB7RU1QVFlfTUFTS30gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFURV9URVhUUyxcbiAgICBUVUlfREFURV9WQUxVRV9UUkFOU0ZPUk1FUixcbiAgICBUVUlfSU5QVVRfREFURV9PUFRJT05TLFxuICAgIFRVSV9NT0JJTEVfQ0FMRU5EQVIsXG4gICAgdHVpRGF0ZVN0cmVhbVdpdGhUcmFuc2Zvcm1lcixcbiAgICBUdWlJbnB1dERhdGVPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1xuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSxcbiAgICB0dWlDcmVhdGVEYXRlTWFzayxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscy9tYXNrJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29tcG9uZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtZGF0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWRhdGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZGF0ZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0RGF0ZUNvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dERhdGVDb21wb25lbnQpLFxuICAgICAgICB0dWlEYXRlU3RyZWFtV2l0aFRyYW5zZm9ybWVyKFRVSV9EQVRFX1ZBTFVFX1RSQU5TRk9STUVSKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dERhdGVDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aURheT5cbiAgICBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlEYXk+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgbW9udGg6IFR1aU1vbnRoIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRNYXNrT3B0aW9uczogVHVpVGV4dE1hc2tPcHRpb25zID0ge1xuICAgICAgICBtYXNrOiB0dWlDcmVhdGVEYXRlTWFzayh0aGlzLmRhdGVGb3JtYXQsIHRoaXMuZGF0ZVNlcGFyYXRvciksXG4gICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSh0aGlzKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gdGhpcy5vcHRpb25zLm1pbjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSB0aGlzLm9wdGlvbnMubWF4O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXJrZXJIYW5kbGVyOiBUdWlNYXJrZXJIYW5kbGVyID0gVFVJX0RFRkFVTFRfTUFSS0VSX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbXM6IHJlYWRvbmx5IFR1aU5hbWVkRGF5W10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZWZhdWx0QWN0aXZlWWVhck1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICByZWFkb25seSB0eXBlITogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPjtcblxuICAgIHJlYWRvbmx5IGZpbGxlciQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuZGF0ZVRleHRzJC5waXBlKFxuICAgICAgICBtYXAoZGF0ZVRleHRzID0+XG4gICAgICAgICAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yKGRhdGVUZXh0c1t0aGlzLmRhdGVGb3JtYXRdLCB0aGlzLmRhdGVTZXBhcmF0b3IpLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KEluamVjdG9yKSBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFR1aURpYWxvZ1NlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogVHVpRGlhbG9nU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfTU9CSUxFX0NBTEVOREFSKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vYmlsZUNhbGVuZGFyOiBUeXBlPFJlY29yZDxzdHJpbmcsIGFueT4+IHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1NJWkUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkU2l6ZTogVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUVUlfREFURV9GT1JNQVQpIHJlYWRvbmx5IGRhdGVGb3JtYXQ6IFR1aURhdGVNb2RlLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX1NFUEFSQVRPUikgcmVhZG9ubHkgZGF0ZVNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX1RFWFRTKVxuICAgICAgICByZWFkb25seSBkYXRlVGV4dHMkOiBPYnNlcnZhYmxlPFJlY29yZDxUdWlEYXRlTW9kZSwgc3RyaW5nPj4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfVkFMVUVfVFJBTlNGT1JNRVIpXG4gICAgICAgIG92ZXJyaWRlIHJlYWRvbmx5IHZhbHVlVHJhbnNmb3JtZXI6IFR1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyPFR1aURheSB8IG51bGw+IHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfREFURV9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0RGF0ZU9wdGlvbnMsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmLCB2YWx1ZVRyYW5zZm9ybWVyKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZCA/IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZCAmJiB0aGlzLnRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgJiYgISF0aGlzLm1vYmlsZUNhbGVuZGFyO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhckljb24oKTogVHVpSW5wdXREYXRlT3B0aW9uc1snaWNvbiddIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5pY29uO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgbmF0aXZlVmFsdWUsIGFjdGl2ZUl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAoYWN0aXZlSXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhhY3RpdmVJdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnRvU3RyaW5nKHRoaXMuZGF0ZUZvcm1hdCwgdGhpcy5kYXRlU2VwYXJhdG9yKSA6IG5hdGl2ZVZhbHVlO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEFjdGl2ZVllYXJNb250aCgpOiBUdWlNb250aCB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zWzBdICYmIHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5kYXlTYW1lKHRoaXMuaXRlbXNbMF0uZGF5KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXNbMF0uZGlzcGxheURheTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLm1vbnRoIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlIHx8XG4gICAgICAgICAgICB0dWlEYXRlQ2xhbXAodGhpcy5kZWZhdWx0QWN0aXZlWWVhck1vbnRoLCB0aGlzLm1pbiwgdGhpcy5tYXgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGNhbk9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlICYmICF0aGlzLmNvbXB1dGVkTW9iaWxlO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1hc2soKTogVHVpVGV4dE1hc2tPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlSXRlbSA/IEVNUFRZX01BU0sgOiB0aGlzLnRleHRNYXNrT3B0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgYWN0aXZlSXRlbSgpOiBUdWlOYW1lZERheSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gKHZhbHVlICYmIHRoaXMuaXRlbXMuZmluZChpdGVtID0+IGl0ZW0uZGF5LmRheVNhbWUodmFsdWUpKSkgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkU2l6ZS5zaXplO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRDb21wdXRlZEZpbGxlcihmaWxsZXI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZUl0ZW0gPyAnJyA6IGZpbGxlcjtcbiAgICB9XG5cbiAgICBvbkljb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXB1dGVkTW9iaWxlIHx8ICF0aGlzLm1vYmlsZUNhbGVuZGFyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2VcbiAgICAgICAgICAgIC5vcGVuPFR1aURheT4obmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudCh0aGlzLm1vYmlsZUNhbGVuZGFyLCB0aGlzLmluamVjdG9yKSwge1xuICAgICAgICAgICAgICAgIHNpemU6ICdmdWxsc2NyZWVuJyxcbiAgICAgICAgICAgICAgICBjbG9zZWFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgc2luZ2xlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBtaW46IHRoaXMubWluLFxuICAgICAgICAgICAgICAgICAgICBtYXg6IHRoaXMubWF4LFxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiB0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5vbk9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdmFsdWUubGVuZ3RoICE9PSBEQVRFX0ZJTExFUl9MRU5HVEhcbiAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICA6IFR1aURheS5ub3JtYWxpemVQYXJzZSh2YWx1ZSwgdGhpcy5kYXRlRm9ybWF0KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkRheUNsaWNrKHZhbHVlOiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uTW9udGhDaGFuZ2UobW9udGg6IFR1aU1vbnRoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9udGggPSBtb250aDtcbiAgICB9XG5cbiAgICBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFR1aURheSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB2YWx1ZSA/IHRoaXMuY29tcHV0ZWRWYWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZUlkZW50aWNhbENvbXBhcmF0b3IoXG4gICAgICAgIG9sZFZhbHVlOiBUdWlEYXkgfCBudWxsLFxuICAgICAgICBuZXdWYWx1ZTogVHVpRGF5IHwgbnVsbCxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aU51bGxhYmxlU2FtZShvbGRWYWx1ZSwgbmV3VmFsdWUsIChhLCBiKSA9PiBhLmRheVNhbWUoYikpO1xuICAgIH1cbn1cbiIsIjx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgY2xhc3M9XCJ0LWhvc3RlZFwiXG4gICAgW2Nhbk9wZW5dPVwiY2FuT3BlblwiXG4gICAgW29wZW5dPVwib3BlbiAmJiBjYW5PcGVuXCJcbiAgICBbY29udGVudF09XCJkcm9wZG93blwiXG4gICAgKG9wZW5DaGFuZ2UpPVwib25PcGVuQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICAqdHVpTGV0PVwiZmlsbGVyJCB8IGFzeW5jIGFzIGZpbGxlclwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZGF0ZS1yYW5nZV9fdGV4dGZpZWxkXCJcbiAgICAgICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEljb25dPVwiY2FsZW5kYXJJY29uICYmIGljb25Db250ZW50XCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEZpbGxlcl09XCJnZXRDb21wdXRlZEZpbGxlcihmaWxsZXIgfHwgJycpXCJcbiAgICAgICAgW3BzZXVkb0ZvY3VzXT1cInBzZXVkb0ZvY3VzXCJcbiAgICAgICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICAgICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICAgW2ZvY3VzYWJsZV09XCJjb21wdXRlZEZvY3VzYWJsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgW3RleHRNYXNrXT1cImNvbXB1dGVkTWFza1wiXG4gICAgICAgIFt2YWx1ZV09XCJjb21wdXRlZFZhbHVlXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnRcbiAgICAgICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgICAgIG5nUHJvamVjdEFzPVwiaW5wdXRcIlxuICAgICAgICA+PC9uZy1jb250ZW50PlxuICAgIDwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbiAgICA8bmctdGVtcGxhdGUgI2ljb25Db250ZW50PlxuICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNhbGVuZGFySWNvbiBhcyBzcmM7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHNpemV9XCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZGF0ZS1yYW5nZV9faWNvblwiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uXT1cIiFjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkljb25DbGljaygpXCJcbiAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICNkcm9wZG93bj1cInBvbHltb3JwaGV1c1wiXG4gICAgICAgIFtwb2x5bW9ycGhldXNdPVwidHlwZVwiXG4gICAgPlxuICAgICAgICA8dHVpLWNhbGVuZGFyXG4gICAgICAgICAgICB0dWlQcmV2ZW50RGVmYXVsdD1cIm1vdXNlZG93blwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LWRhdGVfX2NhbGVuZGFyXCJcbiAgICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgICAgIFttYXJrZXJIYW5kbGVyXT1cIm1hcmtlckhhbmRsZXJcIlxuICAgICAgICAgICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiZGlzYWJsZWRJdGVtSGFuZGxlclwiXG4gICAgICAgICAgICBbbW9udGhdPVwiY29tcHV0ZWRBY3RpdmVZZWFyTW9udGhcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgIChkYXlDbGljayk9XCJvbkRheUNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgKG1vbnRoQ2hhbmdlKT1cIm9uTW9udGhDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L3R1aS1jYWxlbmRhcj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtcy5sZW5ndGggPT09IDFcIlxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGF5Q2xpY2soaXRlbXNbMF0uZGF5KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbXNbMF0gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktaG9zdGVkLWRyb3Bkb3duPlxuIl19
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlL2lucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS9pbnB1dC1kYXRlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFFSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixhQUFhLEVBRWIsWUFBWSxFQUNaLDBCQUEwQixFQUkxQixZQUFZLEVBRVosTUFBTSxFQUNOLGNBQWMsRUFFZCxRQUFRLEVBQ1IsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFFaEIsOEJBQThCLEdBTWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFDSCxjQUFjLEVBQ2QsMEJBQTBCLEVBQzFCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsNEJBQTRCLEdBRS9CLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNILDhCQUE4QixFQUM5QixpQkFBaUIsR0FDcEIsTUFBTSwwQkFBMEIsQ0FB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NEI7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN0QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNQLDBCQUEwQix1QkFBdUI7d0JBQ2pELFlBQVksdUJBQXVCO3dCQUNuQyw0QkFBNEIsQ0FBQywwQkFBMEIsQ0FBQztxQkFDM0Q7aUJBQ0o7OzBCQW1EUSxRQUFROzswQkFDUixJQUFJOzswQkFDSixNQUFNOzJCQUFDLFNBQVM7OzBCQUVoQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixRQUFROzswQkFDUixNQUFNOzJCQUFDLG1CQUFtQjs7MEJBRTFCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFFekIsTUFBTTsyQkFBQyxlQUFlOzswQkFDdEIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixNQUFNOzJCQUFDLGNBQWM7OzBCQUVyQixRQUFROzswQkFDUixNQUFNOzJCQUFDLDBCQUEwQjs7MEJBRWpDLE1BQU07MkJBQUMsc0JBQXNCOzRDQWpFakIsU0FBUztzQkFEekIsU0FBUzt1QkFBQyw4QkFBOEI7Z0JBYXpDLEdBQUc7c0JBRkYsS0FBSztnQkFNTixHQUFHO3NCQUZGLEtBQUs7Z0JBTU4sbUJBQW1CO3NCQUZsQixLQUFLO2dCQU1OLGFBQWE7c0JBRlosS0FBSztnQkFNTixLQUFLO3NCQUZKLEtBQUs7Z0JBTU4sc0JBQXNCO3NCQUZyQixLQUFLO2dCQThHTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBUeXBlLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yLFxuICAgIERBVEVfRklMTEVSX0xFTkdUSCxcbiAgICBUVUlfREFURV9GT1JNQVQsXG4gICAgVFVJX0RBVEVfU0VQQVJBVE9SLFxuICAgIFRVSV9JU19NT0JJTEUsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICBUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcixcbiAgICB0dWlEYXRlQ2xhbXAsXG4gICAgVHVpRGF0ZU1vZGUsXG4gICAgVHVpRGF5LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlNb250aCxcbiAgICB0dWlOdWxsYWJsZVNhbWUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUixcbiAgICBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgVHVpRGlhbG9nU2VydmljZSxcbiAgICBUdWlNYXJrZXJIYW5kbGVyLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpTmFtZWREYXl9IGZyb20gJ0B0YWlnYS11aS9raXQvY2xhc3Nlcyc7XG5pbXBvcnQge0VNUFRZX01BU0t9IGZyb20gJ0B0YWlnYS11aS9raXQvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gICAgVFVJX0RBVEVfVEVYVFMsXG4gICAgVFVJX0RBVEVfVkFMVUVfVFJBTlNGT1JNRVIsXG4gICAgVFVJX0lOUFVUX0RBVEVfT1BUSU9OUyxcbiAgICBUVUlfTU9CSUxFX0NBTEVOREFSLFxuICAgIHR1aURhdGVTdHJlYW1XaXRoVHJhbnNmb3JtZXIsXG4gICAgVHVpSW5wdXREYXRlT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtcbiAgICB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRGF0ZVBpcGUsXG4gICAgdHVpQ3JlYXRlRGF0ZU1hc2ssXG59IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvbWFzayc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbXBvbmVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LWRhdGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1kYXRlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWRhdGUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dERhdGVDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXREYXRlQ29tcG9uZW50KSxcbiAgICAgICAgdHVpRGF0ZVN0cmVhbVdpdGhUcmFuc2Zvcm1lcihUVUlfREFURV9WQUxVRV9UUkFOU0ZPUk1FUiksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlEYXk+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpRGF5PiwgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBwcml2YXRlIG1vbnRoOiBUdWlNb250aCB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0TWFza09wdGlvbnM6IFR1aVRleHRNYXNrT3B0aW9ucyA9IHtcbiAgICAgICAgbWFzazogdHVpQ3JlYXRlRGF0ZU1hc2sodGhpcy5kYXRlRm9ybWF0LCB0aGlzLmRhdGVTZXBhcmF0b3IpLFxuICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRGF0ZVBpcGUodGhpcyksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gdGhpcy5vcHRpb25zLm1heDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciA9IFRVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGl0ZW1zOiByZWFkb25seSBUdWlOYW1lZERheVtdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGVmYXVsdEFjdGl2ZVllYXJNb250aCA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgdHlwZSE6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpQWN0aXZlWm9uZURpcmVjdGl2ZT47XG5cbiAgICByZWFkb25seSBmaWxsZXIkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmRhdGVUZXh0cyQucGlwZShcbiAgICAgICAgbWFwKGRhdGVUZXh0cyA9PlxuICAgICAgICAgICAgY2hhbmdlRGF0ZVNlcGFyYXRvcihkYXRlVGV4dHNbdGhpcy5kYXRlRm9ybWF0XSwgdGhpcy5kYXRlU2VwYXJhdG9yKSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChJbmplY3RvcikgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSkgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUdWlEaWFsb2dTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2U6IFR1aURpYWxvZ1NlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX01PQklMRV9DQUxFTkRBUilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2JpbGVDYWxlbmRhcjogVHlwZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfRk9STUFUKSByZWFkb25seSBkYXRlRm9ybWF0OiBUdWlEYXRlTW9kZSxcbiAgICAgICAgQEluamVjdChUVUlfREFURV9TRVBBUkFUT1IpIHJlYWRvbmx5IGRhdGVTZXBhcmF0b3I6IHN0cmluZyxcbiAgICAgICAgQEluamVjdChUVUlfREFURV9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgZGF0ZVRleHRzJDogT2JzZXJ2YWJsZTxSZWNvcmQ8VHVpRGF0ZU1vZGUsIHN0cmluZz4+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX1ZBTFVFX1RSQU5TRk9STUVSKVxuICAgICAgICBvdmVycmlkZSByZWFkb25seSB2YWx1ZVRyYW5zZm9ybWVyOiBUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcjxUdWlEYXkgfCBudWxsPiB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0RBVEVfT1BUSU9OUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlJbnB1dERhdGVPcHRpb25zLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZiwgdmFsdWVUcmFuc2Zvcm1lcik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGQgPyB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50ZXh0ZmllbGQgJiYgdGhpcy50ZXh0ZmllbGQuZm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTW9iaWxlICYmICEhdGhpcy5tb2JpbGVDYWxlbmRhcjtcbiAgICB9XG5cbiAgICBnZXQgY2FsZW5kYXJJY29uKCk6IFR1aUlucHV0RGF0ZU9wdGlvbnNbJ2ljb24nXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaWNvbjtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7dmFsdWUsIG5hdGl2ZVZhbHVlLCBhY3RpdmVJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcoYWN0aXZlSXRlbSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUgPyB2YWx1ZS50b1N0cmluZyh0aGlzLmRhdGVGb3JtYXQsIHRoaXMuZGF0ZVNlcGFyYXRvcikgOiBuYXRpdmVWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRBY3RpdmVZZWFyTW9udGgoKTogVHVpTW9udGgge1xuICAgICAgICBpZiAodGhpcy5pdGVtc1swXSAmJiB0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUuZGF5U2FtZSh0aGlzLml0ZW1zWzBdLmRheSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1zWzBdLmRpc3BsYXlEYXk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5tb250aCB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZSB8fFxuICAgICAgICAgICAgdHVpRGF0ZUNsYW1wKHRoaXMuZGVmYXVsdEFjdGl2ZVllYXJNb250aCwgdGhpcy5taW4sIHRoaXMubWF4KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAhdGhpcy5jb21wdXRlZE1vYmlsZTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNYXNrKCk6IFR1aVRleHRNYXNrT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZUl0ZW0gPyBFTVBUWV9NQVNLIDogdGhpcy50ZXh0TWFza09wdGlvbnM7XG4gICAgfVxuXG4gICAgZ2V0IGFjdGl2ZUl0ZW0oKTogVHVpTmFtZWREYXkgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlfSA9IHRoaXM7XG5cbiAgICAgICAgcmV0dXJuICh2YWx1ZSAmJiB0aGlzLml0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLmRheS5kYXlTYW1lKHZhbHVlKSkpIHx8IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZFNpemUuc2l6ZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q29tcHV0ZWRGaWxsZXIoZmlsbGVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVJdGVtID8gJycgOiBmaWxsZXI7XG4gICAgfVxuXG4gICAgLy8gbm9pbnNwZWN0aW9uIEpTVW51c2VkR2xvYmFsU3ltYm9sc1xuICAgIC8qKlxuICAgICAqIFRPRE86IFJlbW92ZSBpbiA0LjBcbiAgICAgKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayBvbkljb25DbGlja30gaW5zdGVhZFxuICAgICAqL1xuICAgIG9uTW9iaWxlQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25JY29uQ2xpY2soKTtcbiAgICB9XG5cbiAgICBvbkljb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXB1dGVkTW9iaWxlIHx8ICF0aGlzLm1vYmlsZUNhbGVuZGFyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2VcbiAgICAgICAgICAgIC5vcGVuPFR1aURheT4obmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudCh0aGlzLm1vYmlsZUNhbGVuZGFyLCB0aGlzLmluamVjdG9yKSwge1xuICAgICAgICAgICAgICAgIHNpemU6ICdmdWxsc2NyZWVuJyxcbiAgICAgICAgICAgICAgICBjbG9zZWFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgc2luZ2xlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBtaW46IHRoaXMubWluLFxuICAgICAgICAgICAgICAgICAgICBtYXg6IHRoaXMubWF4LFxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiB0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5vbk9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdmFsdWUubGVuZ3RoICE9PSBEQVRFX0ZJTExFUl9MRU5HVEhcbiAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICA6IFR1aURheS5ub3JtYWxpemVQYXJzZSh2YWx1ZSwgdGhpcy5kYXRlRm9ybWF0KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvbkRheUNsaWNrKHZhbHVlOiBUdWlEYXkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uTW9udGhDaGFuZ2UobW9udGg6IFR1aU1vbnRoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9udGggPSBtb250aDtcbiAgICB9XG5cbiAgICBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFR1aURheSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB2YWx1ZSA/IHRoaXMuY29tcHV0ZWRWYWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZUlkZW50aWNhbENvbXBhcmF0b3IoXG4gICAgICAgIG9sZFZhbHVlOiBUdWlEYXkgfCBudWxsLFxuICAgICAgICBuZXdWYWx1ZTogVHVpRGF5IHwgbnVsbCxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aU51bGxhYmxlU2FtZShvbGRWYWx1ZSwgbmV3VmFsdWUsIChhLCBiKSA9PiBhLmRheVNhbWUoYikpO1xuICAgIH1cbn1cbiIsIjx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgY2xhc3M9XCJ0LWhvc3RlZFwiXG4gICAgW2Nhbk9wZW5dPVwiY2FuT3BlblwiXG4gICAgW29wZW5dPVwib3BlbiAmJiBjYW5PcGVuXCJcbiAgICBbY29udGVudF09XCJkcm9wZG93blwiXG4gICAgKG9wZW5DaGFuZ2UpPVwib25PcGVuQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICAqdHVpTGV0PVwiZmlsbGVyJCB8IGFzeW5jIGFzIGZpbGxlclwiXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZGF0ZS1yYW5nZV9fdGV4dGZpZWxkXCJcbiAgICAgICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgICAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEljb25dPVwiY2FsZW5kYXJJY29uICYmIGljb25Db250ZW50XCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEZpbGxlcl09XCJnZXRDb21wdXRlZEZpbGxlcihmaWxsZXIgfHwgJycpXCJcbiAgICAgICAgW3BzZXVkb0ZvY3VzXT1cInBzZXVkb0ZvY3VzXCJcbiAgICAgICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICAgICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICAgW2ZvY3VzYWJsZV09XCJjb21wdXRlZEZvY3VzYWJsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgW3RleHRNYXNrXT1cImNvbXB1dGVkTWFza1wiXG4gICAgICAgIFt2YWx1ZV09XCJjb21wdXRlZFZhbHVlXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnRcbiAgICAgICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgICAgIG5nUHJvamVjdEFzPVwiaW5wdXRcIlxuICAgICAgICA+PC9uZy1jb250ZW50PlxuICAgIDwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbiAgICA8bmctdGVtcGxhdGUgI2ljb25Db250ZW50PlxuICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNhbGVuZGFySWNvbiBhcyBzcmM7IGNvbnRleHQ6IHskaW1wbGljaXQ6IHNpemV9XCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtZGF0ZS1yYW5nZV9faWNvblwiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uXT1cIiFjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgICAgIFtzcmNdPVwic3JjXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkljb25DbGljaygpXCJcbiAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICNkcm9wZG93bj1cInBvbHltb3JwaGV1c1wiXG4gICAgICAgIFtwb2x5bW9ycGhldXNdPVwidHlwZVwiXG4gICAgPlxuICAgICAgICA8dHVpLWNhbGVuZGFyXG4gICAgICAgICAgICB0dWlQcmV2ZW50RGVmYXVsdD1cIm1vdXNlZG93blwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LWRhdGVfX2NhbGVuZGFyXCJcbiAgICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgICAgIFttYXJrZXJIYW5kbGVyXT1cIm1hcmtlckhhbmRsZXJcIlxuICAgICAgICAgICAgW2Rpc2FibGVkSXRlbUhhbmRsZXJdPVwiZGlzYWJsZWRJdGVtSGFuZGxlclwiXG4gICAgICAgICAgICBbbW9udGhdPVwiY29tcHV0ZWRBY3RpdmVZZWFyTW9udGhcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgIChkYXlDbGljayk9XCJvbkRheUNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgKG1vbnRoQ2hhbmdlKT1cIm9uTW9udGhDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L3R1aS1jYWxlbmRhcj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtcy5sZW5ndGggPT09IDFcIlxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGF5Q2xpY2soaXRlbXNbMF0uZGF5KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbXNbMF0gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktaG9zdGVkLWRyb3Bkb3duPlxuIl19