@taiga-ui/core 3.47.0 → 3.48.0-canary.0e61adf

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 (92) hide show
  1. package/bundles/taiga-ui-core-components-button.umd.js +1 -1
  2. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  4. package/bundles/taiga-ui-core-components-data-list.umd.js +1 -2
  5. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  6. package/bundles/taiga-ui-core-components-group.umd.js +1 -1
  7. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-loader.umd.js +1 -1
  9. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +17 -5
  11. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +1 -1
  13. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +5 -4
  14. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  16. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +2 -2
  18. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-scrollbar.umd.js +1 -1
  20. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-svg.umd.js +1 -1
  22. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-directives-dropdown.umd.js +13 -6
  24. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-directives-hint.umd.js +5 -3
  26. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  28. package/components/calendar/calendar.component.d.ts +10 -6
  29. package/components/data-list/opt-group.directive.d.ts +1 -1
  30. package/components/primitive-calendar/primitive-calendar.component.d.ts +5 -1
  31. package/components/primitive-year-picker/primitive-year-picker.component.d.ts +3 -3
  32. package/constants/cache-basting-payload.d.ts +1 -1
  33. package/directives/dropdown/dropdown-hover.directive.d.ts +3 -2
  34. package/directives/dropdown/dropdown.component.d.ts +2 -3
  35. package/esm2015/components/button/button.component.js +1 -1
  36. package/esm2015/components/calendar/calendar.component.js +1 -1
  37. package/esm2015/components/data-list/data-list.component.js +1 -1
  38. package/esm2015/components/data-list/opt-group.directive.js +1 -4
  39. package/esm2015/components/group/group-styles.component.js +1 -1
  40. package/esm2015/components/loader/loader.component.js +2 -2
  41. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +14 -6
  42. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +1 -1
  43. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +6 -5
  44. package/esm2015/components/root/root.component.js +1 -1
  45. package/esm2015/components/scroll-controls/scroll-controls.component.js +2 -2
  46. package/esm2015/components/scroll-controls/scrollbar.directive.js +3 -3
  47. package/esm2015/components/scrollbar/scrollbar.component.js +1 -1
  48. package/esm2015/components/svg/svg.component.js +1 -1
  49. package/esm2015/directives/dropdown/dropdown-hover.directive.js +14 -4
  50. package/esm2015/directives/dropdown/dropdown.component.js +2 -5
  51. package/esm2015/directives/hint/hint-hover.directive.js +4 -4
  52. package/esm2015/directives/hint/hint.component.js +6 -4
  53. package/esm2015/tokens/ordered-short-week-days.js +1 -1
  54. package/fesm2015/taiga-ui-core-components-button.js +1 -1
  55. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  56. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  57. package/fesm2015/taiga-ui-core-components-data-list.js +1 -4
  58. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  59. package/fesm2015/taiga-ui-core-components-group.js +1 -1
  60. package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
  61. package/fesm2015/taiga-ui-core-components-loader.js +1 -1
  62. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  63. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +13 -5
  64. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  65. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +1 -1
  66. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +5 -4
  67. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  68. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  69. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  70. package/fesm2015/taiga-ui-core-components-scroll-controls.js +3 -3
  71. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  72. package/fesm2015/taiga-ui-core-components-scrollbar.js +1 -1
  73. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  74. package/fesm2015/taiga-ui-core-components-svg.js +1 -1
  75. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  76. package/fesm2015/taiga-ui-core-directives-dropdown.js +13 -6
  77. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  78. package/fesm2015/taiga-ui-core-directives-hint.js +7 -5
  79. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  80. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  81. package/package.json +4 -4
  82. package/styles/mixins/browsers.less +23 -0
  83. package/styles/mixins/browsers.scss +23 -0
  84. package/styles/mixins/mixins.less +2 -1
  85. package/styles/mixins/mixins.scss +1 -0
  86. package/styles/mixins/picker.less +2 -1
  87. package/styles/mixins/picker.scss +2 -1
  88. package/styles/mixins/textfield.less +6 -7
  89. package/styles/mixins/textfield.scss +1 -1
  90. package/styles/taiga-ui-local.less +4 -0
  91. package/styles/taiga-ui-local.scss +5 -1
  92. package/styles/theme/wrapper/base.less +2 -2
@@ -39,7 +39,7 @@ export class TuiLoaderComponent {
39
39
  }
40
40
  }
41
41
  TuiLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiLoaderComponent, deps: [{ token: DOCUMENT }, { token: ElementRef }, { token: TUI_IS_IOS }, { token: TUI_LOADER_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
42
- TuiLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiLoaderComponent, selector: "tui-loader", inputs: { size: "size", inheritColor: "inheritColor", overlay: "overlay", textContent: "textContent", showLoader: "showLoader" }, host: { properties: { "class._loading": "this.loading" } }, ngImport: i0, template: "<fieldset\n class=\"t-content\"\n [class.t-content_has-overlay]=\"hasOverlay\"\n [class.t-content_loading]=\"loading\"\n [disabled]=\"loading && !isApple\"\n>\n <ng-content></ng-content>\n</fieldset>\n\n<div\n *ngIf=\"loading\"\n class=\"t-loader\"\n [attr.data-size]=\"size\"\n [class.t-loader_horizontal]=\"isHorizontal\"\n [class.t-loader_inherit-color]=\"inheritColor\"\n>\n <svg\n automation-id=\"tui-loader__loader\"\n focusable=\"false\"\n viewBox=\"0 0 100 100\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-icon\"\n >\n <circle\n cx=\"50\"\n cy=\"50\"\n r=\"50\"\n stroke-dasharray=\"314\"\n class=\"t-circle\"\n ></circle>\n </svg>\n\n <div\n *ngIf=\"hasText\"\n automation-id=\"tui-loader__text\"\n class=\"t-text\"\n [class.t-text_horizontal]=\"isHorizontal\"\n >\n <ng-container *polymorpheusOutlet=\"textContent as text\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: ["@keyframes tuiLoaderDashOffset{0%{stroke-dashoffset:-66}50%{stroke-dashoffset:-314}to{stroke-dashoffset:-66}}@keyframes tuiLoaderRotate{0%{transform:rotate(0)}50%{transform:rotate(1turn)}to{transform:rotate(3turn)}}:host{position:relative;display:flex}:host._loading{overflow:hidden}.t-content{z-index:0;min-width:100%;height:100%;padding:0;margin:0;border:none}.t-content_has-overlay{opacity:.3}.t-content_loading{pointer-events:none}.t-loader{position:relative;left:-100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100%;flex-shrink:0;align-self:center;color:var(--tui-text-01);stroke:var(--tui-primary);animation:tuiFadeIn var(--tui-duration)}.t-loader.t-loader_horizontal{flex-direction:row}.t-loader.t-loader_inherit-color{color:inherit;stroke:currentColor}.t-loader[data-size=xs]{font-size:.75rem;stroke-width:38}.t-loader[data-size=s]{font-size:1rem;stroke-width:25}.t-loader[data-size=m]{font-size:1.5rem;stroke-width:17}.t-loader[data-size=l]{font-size:2.5rem;stroke-width:15}.t-loader[data-size=xl]{font-size:3.5rem;stroke-width:14}.t-loader[data-size=xxl]{font-size:5rem;stroke-width:10}.t-text{font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1rem;color:inherit;max-width:100%;text-align:center;stroke-width:0}.t-text_horizontal{margin:0 0 0 1rem}.t-icon{display:block;min-width:1em;max-width:1em;min-height:1em;max-height:1em;margin:.25rem -.5em;border-radius:100%;overflow:hidden;transform:scaleY(-1);animation:tuiLoaderRotate 3s linear infinite}@supports (-webkit-hyphens: none){.t-icon{overflow:visible}}.t-circle{fill:none;stroke:inherit;stroke-width:inherit;animation:tuiLoaderDashOffset 3s linear infinite}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
+ TuiLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiLoaderComponent, selector: "tui-loader", inputs: { size: "size", inheritColor: "inheritColor", overlay: "overlay", textContent: "textContent", showLoader: "showLoader" }, host: { properties: { "class._loading": "this.loading" } }, ngImport: i0, template: "<fieldset\n class=\"t-content\"\n [attr.inert]=\"loading || null\"\n [class.t-content_has-overlay]=\"hasOverlay\"\n [class.t-content_loading]=\"loading\"\n [disabled]=\"loading && !isApple\"\n>\n <ng-content></ng-content>\n</fieldset>\n\n<div\n *ngIf=\"loading\"\n class=\"t-loader\"\n [attr.data-size]=\"size\"\n [class.t-loader_horizontal]=\"isHorizontal\"\n [class.t-loader_inherit-color]=\"inheritColor\"\n>\n <svg\n automation-id=\"tui-loader__loader\"\n focusable=\"false\"\n viewBox=\"0 0 100 100\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-icon\"\n >\n <circle\n cx=\"50\"\n cy=\"50\"\n r=\"50\"\n stroke-dasharray=\"314\"\n class=\"t-circle\"\n ></circle>\n </svg>\n\n <div\n *ngIf=\"hasText\"\n automation-id=\"tui-loader__text\"\n class=\"t-text\"\n [class.t-text_horizontal]=\"isHorizontal\"\n >\n <ng-container *polymorpheusOutlet=\"textContent as text\">\n {{ text }}\n </ng-container>\n </div>\n</div>\n", styles: ["@keyframes tuiLoaderDashOffset{0%{stroke-dashoffset:-66}50%{stroke-dashoffset:-314}to{stroke-dashoffset:-66}}@keyframes tuiLoaderRotate{0%{transform:rotate(0)}50%{transform:rotate(1turn)}to{transform:rotate(3turn)}}:host{position:relative;display:flex}:host._loading{overflow:hidden}.t-content{z-index:0;min-width:100%;height:100%;padding:0;margin:0;border:none}.t-content_has-overlay{opacity:.3}.t-content_loading{pointer-events:none}.t-loader{position:relative;left:-100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:100%;flex-shrink:0;align-self:center;color:var(--tui-text-01);stroke:var(--tui-primary);animation:tuiFadeIn var(--tui-duration)}.t-loader.t-loader_horizontal{flex-direction:row}.t-loader.t-loader_inherit-color{color:inherit;stroke:currentColor}.t-loader[data-size=xs]{font-size:.75rem;stroke-width:38}.t-loader[data-size=s]{font-size:1rem;stroke-width:25}.t-loader[data-size=m]{font-size:1.5rem;stroke-width:17}.t-loader[data-size=l]{font-size:2.5rem;stroke-width:15}.t-loader[data-size=xl]{font-size:3.5rem;stroke-width:14}.t-loader[data-size=xxl]{font-size:5rem;stroke-width:10}.t-text{font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1rem;color:inherit;max-width:100%;text-align:center;stroke-width:0}.t-text_horizontal{margin:0 0 0 1rem}.t-icon{display:block;min-width:1em;max-width:1em;min-height:1em;max-height:1em;margin:.25rem -.5em;border-radius:100%;overflow:hidden;transform:scaleY(-1);animation:tuiLoaderRotate 3s linear infinite}@supports (-webkit-hyphens: none){.t-icon{overflow:visible}}.t-circle{fill:none;stroke:inherit;stroke-width:inherit;animation:tuiLoaderDashOffset 3s linear infinite}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiLoaderComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
74
74
  type: HostBinding,
75
75
  args: ['class._loading']
76
76
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUdqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFRdEUsTUFBTSxPQUFPLGtCQUFrQjtJQTRCM0IsWUFDdUMsR0FBYSxFQUNYLEVBQTJCLEVBQzNCLEtBQWMsRUFDTixPQUF5QjtRQUhuQyxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQ1gsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFDM0IsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUNOLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBOUIxRSxTQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFHekIsaUJBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUd6QyxZQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFnQi9CLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFTixZQUFPLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztJQU9qRSxDQUFDO0lBcEJKLElBQ0ksVUFBVSxDQUFDLEtBQWM7UUFDekIsbUZBQW1GO1FBQ25GLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQWNELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O2dIQWpEUSxrQkFBa0Isa0JBNkJmLFFBQVEsYUFDUixVQUFVLGFBQ1YsVUFBVSxhQUNWLGtCQUFrQjtvR0FoQ3JCLGtCQUFrQixnUEMxQi9CLDJrQ0EyQ0E7NEZEakJhLGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsV0FBVyxFQUFFLHdCQUF3QjtvQkFDckMsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2xDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDswREE4QitDLFFBQVE7MEJBQS9DLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxrQkFBa0I7NENBOUI5QixJQUFJO3NCQURILEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSUYsVUFBVTtzQkFEYixLQUFLO2dCQVdOLE9BQU87c0JBRE4sV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUVUlfSVNfSU9TLFxuICAgIHR1aUJsdXJOYXRpdmVGb2N1c2VkLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHR1aUlzU2FmYXJpLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpU2l6ZUJpZ2dlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VFVJX0xPQURFUl9PUFRJT05TLCBUdWlMb2FkZXJPcHRpb25zfSBmcm9tICcuL2xvYWRlci5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9hZGVyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xvYWRlci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUxvYWRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBzaXplID0gdGhpcy5vcHRpb25zLnNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIGluaGVyaXRDb2xvciA9IHRoaXMub3B0aW9ucy5pbmhlcml0Q29sb3I7XG5cbiAgICBASW5wdXQoKVxuICAgIG92ZXJsYXkgPSB0aGlzLm9wdGlvbnMub3ZlcmxheTtcblxuICAgIEBJbnB1dCgpXG4gICAgdGV4dENvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzaG93TG9hZGVyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIC8vIEBiYWQgVE9ETzogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzIwODMgdGhpbmsgb2YgYSBiZXR0ZXIgd2F5XG4gICAgICAgIGlmICh2YWx1ZSAmJiB0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHR1aUJsdXJOYXRpdmVGb2N1c2VkKHRoaXMuZG9jKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2xvYWRpbmcnKVxuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgcmVhZG9ubHkgaXNBcHBsZSA9IHR1aUlzU2FmYXJpKHRoaXMuZWwubmF0aXZlRWxlbWVudCkgfHwgdGhpcy5pc0lvcztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvYzogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0lPUykgcHJpdmF0ZSByZWFkb25seSBpc0lvczogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfTE9BREVSX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpTG9hZGVyT3B0aW9ucyxcbiAgICApIHt9XG5cbiAgICBnZXQgaGFzT3ZlcmxheSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheSAmJiB0aGlzLmxvYWRpbmc7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1RleHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dENvbnRlbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGlzSG9yaXpvbnRhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0dWlTaXplQmlnZ2VyKHRoaXMuc2l6ZSk7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbn1cbiIsIjxmaWVsZHNldFxuICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICBbY2xhc3MudC1jb250ZW50X2hhcy1vdmVybGF5XT1cImhhc092ZXJsYXlcIlxuICAgIFtjbGFzcy50LWNvbnRlbnRfbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICBbZGlzYWJsZWRdPVwibG9hZGluZyAmJiAhaXNBcHBsZVwiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9maWVsZHNldD5cblxuPGRpdlxuICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgY2xhc3M9XCJ0LWxvYWRlclwiXG4gICAgW2F0dHIuZGF0YS1zaXplXT1cInNpemVcIlxuICAgIFtjbGFzcy50LWxvYWRlcl9ob3Jpem9udGFsXT1cImlzSG9yaXpvbnRhbFwiXG4gICAgW2NsYXNzLnQtbG9hZGVyX2luaGVyaXQtY29sb3JdPVwiaW5oZXJpdENvbG9yXCJcbj5cbiAgICA8c3ZnXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktbG9hZGVyX19sb2FkZXJcIlxuICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgPlxuICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgICBjeD1cIjUwXCJcbiAgICAgICAgICAgIGN5PVwiNTBcIlxuICAgICAgICAgICAgcj1cIjUwXCJcbiAgICAgICAgICAgIHN0cm9rZS1kYXNoYXJyYXk9XCIzMTRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNpcmNsZVwiXG4gICAgICAgID48L2NpcmNsZT5cbiAgICA8L3N2Zz5cblxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJoYXNUZXh0XCJcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1sb2FkZXJfX3RleHRcIlxuICAgICAgICBjbGFzcz1cInQtdGV4dFwiXG4gICAgICAgIFtjbGFzcy50LXRleHRfaG9yaXpvbnRhbF09XCJpc0hvcml6b250YWxcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwidGV4dENvbnRlbnQgYXMgdGV4dFwiPlxuICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsVUFBVSxFQUNWLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUdqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFRdEUsTUFBTSxPQUFPLGtCQUFrQjtJQTRCM0IsWUFDdUMsR0FBYSxFQUNYLEVBQTJCLEVBQzNCLEtBQWMsRUFDTixPQUF5QjtRQUhuQyxRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQ1gsT0FBRSxHQUFGLEVBQUUsQ0FBeUI7UUFDM0IsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUNOLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBOUIxRSxTQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFHekIsaUJBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUd6QyxZQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFnQi9CLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFTixZQUFPLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztJQU9qRSxDQUFDO0lBcEJKLElBQ0ksVUFBVSxDQUFDLEtBQWM7UUFDekIsbUZBQW1GO1FBQ25GLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQWNELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O2dIQWpEUSxrQkFBa0Isa0JBNkJmLFFBQVEsYUFDUixVQUFVLGFBQ1YsVUFBVSxhQUNWLGtCQUFrQjtvR0FoQ3JCLGtCQUFrQixnUEMxQi9CLGluQ0E0Q0E7NEZEbEJhLGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsV0FBVyxFQUFFLHdCQUF3QjtvQkFDckMsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2xDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDswREE4QitDLFFBQVE7MEJBQS9DLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxrQkFBa0I7NENBOUI5QixJQUFJO3NCQURILEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSUYsVUFBVTtzQkFEYixLQUFLO2dCQVdOLE9BQU87c0JBRE4sV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUVUlfSVNfSU9TLFxuICAgIHR1aUJsdXJOYXRpdmVGb2N1c2VkLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHR1aUlzU2FmYXJpLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpU2l6ZUJpZ2dlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VFVJX0xPQURFUl9PUFRJT05TLCBUdWlMb2FkZXJPcHRpb25zfSBmcm9tICcuL2xvYWRlci5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9hZGVyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xvYWRlci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUxvYWRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBzaXplID0gdGhpcy5vcHRpb25zLnNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIGluaGVyaXRDb2xvciA9IHRoaXMub3B0aW9ucy5pbmhlcml0Q29sb3I7XG5cbiAgICBASW5wdXQoKVxuICAgIG92ZXJsYXkgPSB0aGlzLm9wdGlvbnMub3ZlcmxheTtcblxuICAgIEBJbnB1dCgpXG4gICAgdGV4dENvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBzaG93TG9hZGVyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIC8vIEBiYWQgVE9ETzogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMzIwODMgdGhpbmsgb2YgYSBiZXR0ZXIgd2F5XG4gICAgICAgIGlmICh2YWx1ZSAmJiB0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHR1aUJsdXJOYXRpdmVGb2N1c2VkKHRoaXMuZG9jKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2xvYWRpbmcnKVxuICAgIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgcmVhZG9ubHkgaXNBcHBsZSA9IHR1aUlzU2FmYXJpKHRoaXMuZWwubmF0aXZlRWxlbWVudCkgfHwgdGhpcy5pc0lvcztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvYzogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0lPUykgcHJpdmF0ZSByZWFkb25seSBpc0lvczogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfTE9BREVSX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpTG9hZGVyT3B0aW9ucyxcbiAgICApIHt9XG5cbiAgICBnZXQgaGFzT3ZlcmxheSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheSAmJiB0aGlzLmxvYWRpbmc7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1RleHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dENvbnRlbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGlzSG9yaXpvbnRhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0dWlTaXplQmlnZ2VyKHRoaXMuc2l6ZSk7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbn1cbiIsIjxmaWVsZHNldFxuICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICBbYXR0ci5pbmVydF09XCJsb2FkaW5nIHx8IG51bGxcIlxuICAgIFtjbGFzcy50LWNvbnRlbnRfaGFzLW92ZXJsYXldPVwiaGFzT3ZlcmxheVwiXG4gICAgW2NsYXNzLnQtY29udGVudF9sb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nICYmICFpc0FwcGxlXCJcbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2ZpZWxkc2V0PlxuXG48ZGl2XG4gICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICBjbGFzcz1cInQtbG9hZGVyXCJcbiAgICBbYXR0ci5kYXRhLXNpemVdPVwic2l6ZVwiXG4gICAgW2NsYXNzLnQtbG9hZGVyX2hvcml6b250YWxdPVwiaXNIb3Jpem9udGFsXCJcbiAgICBbY2xhc3MudC1sb2FkZXJfaW5oZXJpdC1jb2xvcl09XCJpbmhlcml0Q29sb3JcIlxuPlxuICAgIDxzdmdcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1sb2FkZXJfX2xvYWRlclwiXG4gICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgdmlld0JveD1cIjAgMCAxMDAgMTAwXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICA+XG4gICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgIGN4PVwiNTBcIlxuICAgICAgICAgICAgY3k9XCI1MFwiXG4gICAgICAgICAgICByPVwiNTBcIlxuICAgICAgICAgICAgc3Ryb2tlLWRhc2hhcnJheT1cIjMxNFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY2lyY2xlXCJcbiAgICAgICAgPjwvY2lyY2xlPlxuICAgIDwvc3ZnPlxuXG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImhhc1RleHRcIlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWxvYWRlcl9fdGV4dFwiXG4gICAgICAgIGNsYXNzPVwidC10ZXh0XCJcbiAgICAgICAgW2NsYXNzLnQtdGV4dF9ob3Jpem9udGFsXT1cImlzSG9yaXpvbnRhbFwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJ0ZXh0Q29udGVudCBhcyB0ZXh0XCI+XG4gICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -29,9 +29,14 @@ export class TuiPrimitiveCalendarComponent {
29
29
  return markers.length === 0 ? null : markers;
30
30
  };
31
31
  }
32
+ get isSingleDayRange() {
33
+ return this.value instanceof TuiDayRange && this.value.isSingleDay;
34
+ }
35
+ /**
36
+ * @deprecated: use {@link this.isSingleDayRange}
37
+ */
32
38
  get isSingle() {
33
- return (this.value !== null &&
34
- (this.value instanceof TuiDay || this.value.isSingleDay));
39
+ return this.isSingleDayRange;
35
40
  }
36
41
  getItemState(item) {
37
42
  const { disabledItemHandler, pressedItem, hoveredItem } = this;
@@ -54,6 +59,9 @@ export class TuiPrimitiveCalendarComponent {
54
59
  if (value instanceof TuiDay) {
55
60
  return value.daySame(item) ? TuiRangeState.Single : null;
56
61
  }
62
+ if (!(value instanceof TuiDayRange)) {
63
+ return value.find(day => day.daySame(item)) ? TuiRangeState.Single : null;
64
+ }
57
65
  if ((value.from.daySame(item) && !value.isSingleDay) ||
58
66
  ((hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.dayAfter(value.from)) &&
59
67
  value.from.daySame(item) &&
@@ -84,7 +92,7 @@ export class TuiPrimitiveCalendarComponent {
84
92
  }
85
93
  itemIsInterval(day) {
86
94
  const { value, hoveredItem } = this;
87
- if (value === null || value instanceof TuiDay) {
95
+ if (!(value instanceof TuiDayRange)) {
88
96
  return false;
89
97
  }
90
98
  if (!value.isSingleDay) {
@@ -114,7 +122,7 @@ export class TuiPrimitiveCalendarComponent {
114
122
  }
115
123
  }
116
124
  TuiPrimitiveCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveCalendarComponent, deps: [{ token: TUI_SHORT_WEEK_DAYS }, { token: TUI_DAY_TYPE_HANDLER }], target: i0.ɵɵFactoryTarget.Component });
117
- TuiPrimitiveCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPrimitiveCalendarComponent, selector: "tui-primitive-calendar", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", value: "value", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent" }, outputs: { hoveredItemChange: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._single": "this.isSingle" } }, ngImport: i0, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div\n *tuiLet=\"month | tuiCalendarSheet: true as sheet\"\n id=\"date-rows\"\n>\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-primitive-calendar__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\">\n <ng-container *tuiLet=\"sheet[rowIndex][colIndex] as item\">\n <div\n *ngIf=\"!itemIsUnavailable(item) || showAdjacent\"\n automation-id=\"tui-primitive-calendar__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n (tuiPressedChange)=\"onItemPressed($event && item)\"\n >\n <div\n automation-id=\"tui-primitive-calendar__item\"\n class=\"t-item\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"item | tuiMapper: toMarkers : itemIsToday(item) : !!getItemRange(item) as markers\"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.backgroundColor]=\"markers[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.backgroundColor]=\"markers[1] || ''\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-01)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-.25rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell_interval:not([data-range=\"start\"]):not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background-color:var(--tui-primary)}.t-cell[data-range][data-state=hover]>.t-item:before,.t-cell[data-range][data-state=hover]>.t-item:after{background-color:var(--tui-primary-hover)}.t-cell[data-range][data-state=active]>.t-item:before,.t-cell[data-range][data-state=active]>.t-item:after{background-color:var(--tui-primary-active)}.t-cell[data-range=end]:before{background:var(--tui-base-02)}:host._single .t-cell[data-range=end]:before{background:var(--tui-secondary-hover)}.t-cell[data-range=end]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell[data-state=disabled]{pointer-events:none}.t-cell[data-state=disabled]>.t-item{opacity:.36}.t-cell[data-state=hover]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-state=active]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-active)}:host{width:15.75rem}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-02);pointer-events:none}.t-item{display:flex;flex-direction:column}.t-item_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;width:.25rem;height:.25rem;border-radius:100%;margin:0 .0625rem}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiHoveredDirective, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { type: i2.TuiPressedDirective, selector: "[tuiPressedChange]", outputs: ["tuiPressedChange"] }], pipes: { "async": i1.AsyncPipe, "tuiOrderWeekDays": i3.TuiOrderWeekDaysPipe, "tuiCalendarSheet": i3.TuiCalendarSheetPipe, "tuiMapper": i2.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
125
+ TuiPrimitiveCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPrimitiveCalendarComponent, selector: "tui-primitive-calendar", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", value: "value", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent" }, outputs: { hoveredItemChange: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._single": "this.isSingleDayRange" } }, ngImport: i0, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div\n *tuiLet=\"month | tuiCalendarSheet: true as sheet\"\n id=\"date-rows\"\n>\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-primitive-calendar__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\">\n <ng-container *tuiLet=\"sheet[rowIndex][colIndex] as item\">\n <div\n *ngIf=\"!itemIsUnavailable(item) || showAdjacent\"\n automation-id=\"tui-primitive-calendar__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n (tuiPressedChange)=\"onItemPressed($event && item)\"\n >\n <div\n automation-id=\"tui-primitive-calendar__item\"\n class=\"t-item\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"item | tuiMapper: toMarkers : itemIsToday(item) : !!getItemRange(item) as markers\"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.backgroundColor]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.backgroundColor]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;display:flex;justify-content:space-between;height:2.25rem;isolation:isolate}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:2.25rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-01)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-.25rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell_interval:not([data-range=\"start\"]):not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background-color:var(--tui-primary)}.t-cell[data-range][data-state=hover]>.t-item:before,.t-cell[data-range][data-state=hover]>.t-item:after{background-color:var(--tui-primary-hover)}.t-cell[data-range][data-state=active]>.t-item:before,.t-cell[data-range][data-state=active]>.t-item:after{background-color:var(--tui-primary-active)}.t-cell[data-range=end]:before{background:var(--tui-base-02)}:host._single .t-cell[data-range=end]:before{background:var(--tui-secondary-hover)}.t-cell[data-range=end]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell[data-state=disabled]{pointer-events:none}.t-cell[data-state=disabled]>.t-item{opacity:.36}.t-cell[data-state=hover]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-state=active]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-active)}:host{width:15.75rem}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-02);pointer-events:none}.t-item{display:flex;flex-direction:column}.t-item_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;width:.25rem;height:.25rem;border-radius:100%;margin:0 .0625rem}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiHoveredDirective, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { type: i2.TuiPressedDirective, selector: "[tuiPressedChange]", outputs: ["tuiPressedChange"] }], pipes: { "async": i1.AsyncPipe, "tuiOrderWeekDays": i3.TuiOrderWeekDaysPipe, "tuiCalendarSheet": i3.TuiCalendarSheetPipe, "tuiMapper": i2.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
118
126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveCalendarComponent, decorators: [{
119
127
  type: Component,
120
128
  args: [{
@@ -145,8 +153,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
145
153
  type: Output
146
154
  }], dayClick: [{
147
155
  type: Output
148
- }], isSingle: [{
156
+ }], isSingleDayRange: [{
149
157
  type: HostBinding,
150
158
  args: ['class._single']
151
159
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtY2FsZW5kYXIvcHJpbWl0aXZlLWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtY2FsZW5kYXIvcHJpbWl0aXZlLWNhbGVuZGFyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBRXBCLE1BQU0sRUFDTixXQUFXLEVBR1gsUUFBUSxFQUNSLGVBQWUsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVNoRixNQUFNLE9BQU8sNkJBQTZCO0lBNEJ0QyxZQUVhLGtCQUFxRSxFQUVyRSxjQUEwQztRQUYxQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1EO1FBRXJFLG1CQUFjLEdBQWQsY0FBYyxDQUE0QjtRQS9CL0MsZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3pCLFVBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFHL0MsVUFBSyxHQUFhLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUcxQyx3QkFBbUIsR0FBOEIsb0JBQW9CLENBQUM7UUFH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bEMsV0FBVyxFQUFFLG9DQUFvQztvQkFDakQsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7b0JBQzlDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBOEJRLE1BQU07MkJBQUMsbUJBQW1COzswQkFFMUIsTUFBTTsyQkFBQyxvQkFBb0I7NENBMUJoQyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJRyxpQkFBaUI7c0JBRHpCLE1BQU07Z0JBSUUsUUFBUTtzQkFEaEIsTUFBTTtnQkFXSCxRQUFRO3NCQURYLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGF5LFxuICAgIFR1aURheVJhbmdlLFxuICAgIFR1aUhhbmRsZXIsXG4gICAgVHVpSW5qZWN0aW9uVG9rZW5UeXBlLFxuICAgIFR1aU1vbnRoLFxuICAgIHR1aU51bGxhYmxlU2FtZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlJbnRlcmFjdGl2ZVN0YXRlLCBUdWlSYW5nZVN0YXRlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9lbnVtcyc7XG5pbXBvcnQge1RVSV9EQVlfVFlQRV9IQU5ETEVSLCBUVUlfU0hPUlRfV0VFS19EQVlTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlNYXJrZXJIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXByaW1pdGl2ZS1jYWxlbmRhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ByaW1pdGl2ZS1jYWxlbmRhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcmltaXRpdmUtY2FsZW5kYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcmltaXRpdmVDYWxlbmRhckNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSBwcmVzc2VkSXRlbTogVHVpRGF5IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2RheSA9IFR1aURheS5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgbW9udGg6IFR1aU1vbnRoID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciA9IFRVSV9ERUZBVUxUX01BUktFUl9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICB2YWx1ZTogVHVpRGF5IHwgVHVpRGF5UmFuZ2UgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgaG92ZXJlZEl0ZW06IFR1aURheSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93QWRqYWNlbnQgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaG92ZXJlZEl0ZW1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheSB8IG51bGw+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBkYXlDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpRGF5PigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX1NIT1JUX1dFRUtfREFZUylcbiAgICAgICAgcmVhZG9ubHkgdW5vcmRlcmVkV2Vla0RheXMkOiBUdWlJbmplY3Rpb25Ub2tlblR5cGU8dHlwZW9mIFRVSV9TSE9SVF9XRUVLX0RBWVM+LFxuICAgICAgICBASW5qZWN0KFRVSV9EQVlfVFlQRV9IQU5ETEVSKVxuICAgICAgICByZWFkb25seSBkYXlUeXBlSGFuZGxlcjogVHVpSGFuZGxlcjxUdWlEYXksIHN0cmluZz4sXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fc2luZ2xlJylcbiAgICBnZXQgaXNTaW5nbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnZhbHVlICE9PSBudWxsICYmXG4gICAgICAgICAgICAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheSB8fCB0aGlzLnZhbHVlLmlzU2luZ2xlRGF5KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IHRvTWFya2VycyA9IChcbiAgICAgICAgZGF5OiBUdWlEYXksXG4gICAgICAgIHRvZGF5OiBib29sZWFuLFxuICAgICAgICBpblJhbmdlOiBib29sZWFuLFxuICAgICk6IFtzdHJpbmcsIHN0cmluZ10gfCBbc3RyaW5nXSB8IG51bGwgPT4ge1xuICAgICAgICBpZiAodG9kYXkgfHwgaW5SYW5nZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtYXJrZXJzID0gdGhpcy5tYXJrZXJIYW5kbGVyKGRheSk7XG5cbiAgICAgICAgcmV0dXJuIG1hcmtlcnMubGVuZ3RoID09PSAwID8gbnVsbCA6IG1hcmtlcnM7XG4gICAgfTtcblxuICAgIGdldEl0ZW1TdGF0ZShpdGVtOiBUdWlEYXkpOiBUdWlJbnRlcmFjdGl2ZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtkaXNhYmxlZEl0ZW1IYW5kbGVyLCBwcmVzc2VkSXRlbSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAoZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuRGlzYWJsZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJlc3NlZEl0ZW0/LmRheVNhbWUoaXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLkFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbT8uZGF5U2FtZShpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuSG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXRJdGVtUmFuZ2UoaXRlbTogVHVpRGF5KTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5kYXlTYW1lKGl0ZW0pID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGUgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVEYXkpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0/LmRheUFmdGVyKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVEYXkpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0/LmRheVNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbS5kYXlCZWZvcmUodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5TdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh2YWx1ZS50by5kYXlTYW1lKGl0ZW0pICYmICF2YWx1ZS5pc1NpbmdsZURheSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbT8uZGF5QmVmb3JlKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVEYXkpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0/LmRheVNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbS5kYXlBZnRlcih2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlSYW5nZVN0YXRlLkVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZS5pc1NpbmdsZURheSAmJiB2YWx1ZS5mcm9tLmRheVNhbWUoaXRlbSlcbiAgICAgICAgICAgID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGVcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBpdGVtSXNUb2RheShpdGVtOiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9kYXkuZGF5U2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBpdGVtSXNVbmF2YWlsYWJsZShpdGVtOiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm1vbnRoLm1vbnRoU2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBpdGVtSXNJbnRlcnZhbChkYXk6IFR1aURheSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmlzU2luZ2xlRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS5kYXlTYW1lT3JCZWZvcmUoZGF5KSAmJiB2YWx1ZS50by5kYXlBZnRlcihkYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByYW5nZSA9IFR1aURheVJhbmdlLnNvcnQodmFsdWUuZnJvbSwgaG92ZXJlZEl0ZW0pO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5mcm9tLmRheVNhbWVPckJlZm9yZShkYXkpICYmIHJhbmdlLnRvLmRheUFmdGVyKGRheSk7XG4gICAgfVxuXG4gICAgb25JdGVtSG92ZXJlZChpdGVtOiBUdWlEYXkgfCBmYWxzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWRJdGVtKGl0ZW0gfHwgbnVsbCk7XG4gICAgfVxuXG4gICAgb25JdGVtUHJlc3NlZChpdGVtOiBUdWlEYXkgfCBmYWxzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZXNzZWRJdGVtID0gaXRlbSB8fCBudWxsO1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGl0ZW06IFR1aURheSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRheUNsaWNrLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkSXRlbShkYXk6IFR1aURheSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aU51bGxhYmxlU2FtZSh0aGlzLmhvdmVyZWRJdGVtLCBkYXksIChhLCBiKSA9PiBhLmRheVNhbWUoYikpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gZGF5O1xuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtQ2hhbmdlLmVtaXQoZGF5KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC1yb3cgdC1yb3dfd2Vla2RheVwiPlxuICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiB1bm9yZGVyZWRXZWVrRGF5cyQgfCB0dWlPcmRlcldlZWtEYXlzIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cInQtY2VsbFwiXG4gICAgICAgIFt0ZXh0Q29udGVudF09XCJkYXlcIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuPGRpdlxuICAgICp0dWlMZXQ9XCJtb250aCB8IHR1aUNhbGVuZGFyU2hlZXQ6IHRydWUgYXMgc2hlZXRcIlxuICAgIGlkPVwiZGF0ZS1yb3dzXCJcbj5cbiAgICA8ZGl2XG4gICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCByb3dJbmRleCBvZiBzaGVldC5sZW5ndGhcIlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS1jYWxlbmRhcl9fcm93XCJcbiAgICAgICAgY2xhc3M9XCJ0LXJvd1wiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICp0dWlSZXBlYXRUaW1lcz1cImxldCBjb2xJbmRleCBvZiBzaGVldFtyb3dJbmRleF0ubGVuZ3RoXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICp0dWlMZXQ9XCJzaGVldFtyb3dJbmRleF1bY29sSW5kZXhdIGFzIGl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW1Jc1VuYXZhaWxhYmxlKGl0ZW0pIHx8IHNob3dBZGphY2VudFwiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLWNhbGVuZGFyX19jZWxsXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNlbGxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXJhbmdlXT1cImdldEl0ZW1SYW5nZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtc3RhdGVdPVwiZ2V0SXRlbVN0YXRlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF9pbnRlcnZhbF09XCJpdGVtSXNJbnRlcnZhbChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LWNlbGxfdG9kYXldPVwiaXRlbUlzVG9kYXkoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1jZWxsX3VuYXZhaWxhYmxlXT1cIml0ZW1Jc1VuYXZhaWxhYmxlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKHR1aUhvdmVyZWRDaGFuZ2UpPVwib25JdGVtSG92ZXJlZCgkZXZlbnQgJiYgaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAodHVpUHJlc3NlZENoYW5nZSk9XCJvbkl0ZW1QcmVzc2VkKCRldmVudCAmJiBpdGVtKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS1jYWxlbmRhcl9faXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXR5cGVdPVwiaXRlbSB8IHR1aU1hcHBlcjogZGF5VHlwZUhhbmRsZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtaXRlbV91bmF2YWlsYWJsZV09XCJpdGVtSXNVbmF2YWlsYWJsZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZGF5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtIHwgdHVpTWFwcGVyOiB0b01hcmtlcnMgOiBpdGVtSXNUb2RheShpdGVtKSA6ICEhZ2V0SXRlbVJhbmdlKGl0ZW0pIGFzIG1hcmtlcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cIm1hcmtlcnNbMF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibWFya2Vycy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWRvdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwibWFya2Vyc1sxXSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtY2FsZW5kYXIvcHJpbWl0aXZlLWNhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUtY2FsZW5kYXIvcHJpbWl0aXZlLWNhbGVuZGFyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBRXBCLE1BQU0sRUFDTixXQUFXLEVBR1gsUUFBUSxFQUNSLGVBQWUsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVNoRixNQUFNLE9BQU8sNkJBQTZCO0lBNEJ0QyxZQUVhLGtCQUFxRSxFQUVyRSxjQUEwQztRQUYxQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1EO1FBRXJFLG1CQUFjLEdBQWQsY0FBYyxDQUE0QjtRQS9CL0MsZ0JBQVcsR0FBa0IsSUFBSSxDQUFDO1FBQ3pCLFVBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFHL0MsVUFBSyxHQUFhLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUcxQyx3QkFBbUIsR0FBOEIsb0JBQW9CLENBQUM7UUFH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LEdBQUcsQ0FBQztRQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OzJIQTFLUSw2QkFBNkIsa0JBNkIxQixtQkFBbUIsYUFFbkIsb0JBQW9COytHQS9CdkIsNkJBQTZCLCtYQzlCMUMsNC9FQTBEQTs0RkQ1QmEsNkJBQTZCO2tCQU56QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO29CQUM5QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQThCUSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBRTFCLE1BQU07MkJBQUMsb0JBQW9COzRDQTFCaEMsS0FBSztzQkFESixLQUFLO2dCQUlOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSUcsaUJBQWlCO3NCQUR6QixNQUFNO2dCQUlFLFFBQVE7c0JBRGhCLE1BQU07Z0JBV0gsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aURheSxcbiAgICBUdWlEYXlSYW5nZSxcbiAgICBUdWlIYW5kbGVyLFxuICAgIFR1aUluamVjdGlvblRva2VuVHlwZSxcbiAgICBUdWlNb250aCxcbiAgICB0dWlOdWxsYWJsZVNhbWUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpSW50ZXJhY3RpdmVTdGF0ZSwgVHVpUmFuZ2VTdGF0ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZW51bXMnO1xuaW1wb3J0IHtUVUlfREFZX1RZUEVfSEFORExFUiwgVFVJX1NIT1JUX1dFRUtfREFZU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpTWFya2VySGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1wcmltaXRpdmUtY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcmltaXRpdmUtY2FsZW5kYXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJpbWl0aXZlLWNhbGVuZGFyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHJpbWl0aXZlQ2FsZW5kYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcHJlc3NlZEl0ZW06IFR1aURheSB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9kYXkgPSBUdWlEYXkuY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIG1vbnRoOiBUdWlNb250aCA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIG1hcmtlckhhbmRsZXI6IFR1aU1hcmtlckhhbmRsZXIgPSBUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IFR1aURheSB8IFR1aURheVJhbmdlIHwgcmVhZG9ubHkgVHVpRGF5W10gfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgaG92ZXJlZEl0ZW06IFR1aURheSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBzaG93QWRqYWNlbnQgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaG92ZXJlZEl0ZW1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheSB8IG51bGw+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBkYXlDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpRGF5PigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX1NIT1JUX1dFRUtfREFZUylcbiAgICAgICAgcmVhZG9ubHkgdW5vcmRlcmVkV2Vla0RheXMkOiBUdWlJbmplY3Rpb25Ub2tlblR5cGU8dHlwZW9mIFRVSV9TSE9SVF9XRUVLX0RBWVM+LFxuICAgICAgICBASW5qZWN0KFRVSV9EQVlfVFlQRV9IQU5ETEVSKVxuICAgICAgICByZWFkb25seSBkYXlUeXBlSGFuZGxlcjogVHVpSGFuZGxlcjxUdWlEYXksIHN0cmluZz4sXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fc2luZ2xlJylcbiAgICBnZXQgaXNTaW5nbGVEYXlSYW5nZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlEYXlSYW5nZSAmJiB0aGlzLnZhbHVlLmlzU2luZ2xlRGF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkOiB1c2Uge0BsaW5rIHRoaXMuaXNTaW5nbGVEYXlSYW5nZX1cbiAgICAgKi9cbiAgICBnZXQgaXNTaW5nbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2luZ2xlRGF5UmFuZ2U7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgdG9NYXJrZXJzID0gKFxuICAgICAgICBkYXk6IFR1aURheSxcbiAgICAgICAgdG9kYXk6IGJvb2xlYW4sXG4gICAgICAgIGluUmFuZ2U6IGJvb2xlYW4sXG4gICAgKTogW3N0cmluZywgc3RyaW5nXSB8IFtzdHJpbmddIHwgbnVsbCA9PiB7XG4gICAgICAgIGlmICh0b2RheSB8fCBpblJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hcmtlcnMgPSB0aGlzLm1hcmtlckhhbmRsZXIoZGF5KTtcblxuICAgICAgICByZXR1cm4gbWFya2Vycy5sZW5ndGggPT09IDAgPyBudWxsIDogbWFya2VycztcbiAgICB9O1xuXG4gICAgZ2V0SXRlbVN0YXRlKGl0ZW06IFR1aURheSk6IFR1aUludGVyYWN0aXZlU3RhdGUgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge2Rpc2FibGVkSXRlbUhhbmRsZXIsIHByZXNzZWRJdGVtLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5EaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVzc2VkSXRlbT8uZGF5U2FtZShpdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuQWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtPy5kYXlTYW1lKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5Ib3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGdldEl0ZW1SYW5nZShpdGVtOiBUdWlEYXkpOiBUdWlSYW5nZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFR1aURheSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmRheVNhbWUoaXRlbSkgPyBUdWlSYW5nZVN0YXRlLlNpbmdsZSA6IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISh2YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmZpbmQoZGF5ID0+IGRheS5kYXlTYW1lKGl0ZW0pKSA/IFR1aVJhbmdlU3RhdGUuU2luZ2xlIDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh2YWx1ZS5mcm9tLmRheVNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlBZnRlcih2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QmVmb3JlKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVEYXkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuU3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodmFsdWUudG8uZGF5U2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVEYXkpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0/LmRheUJlZm9yZSh2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5FbmQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUuaXNTaW5nbGVEYXkgJiYgdmFsdWUuZnJvbS5kYXlTYW1lKGl0ZW0pXG4gICAgICAgICAgICA/IFR1aVJhbmdlU3RhdGUuU2luZ2xlXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuXG4gICAgaXRlbUlzVG9kYXkoaXRlbTogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvZGF5LmRheVNhbWUoaXRlbSk7XG4gICAgfVxuXG4gICAgaXRlbUlzVW5hdmFpbGFibGUoaXRlbTogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5tb250aC5tb250aFNhbWUoaXRlbSk7XG4gICAgfVxuXG4gICAgaXRlbUlzSW50ZXJ2YWwoZGF5OiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghKHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmlzU2luZ2xlRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS5kYXlTYW1lT3JCZWZvcmUoZGF5KSAmJiB2YWx1ZS50by5kYXlBZnRlcihkYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByYW5nZSA9IFR1aURheVJhbmdlLnNvcnQodmFsdWUuZnJvbSwgaG92ZXJlZEl0ZW0pO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5mcm9tLmRheVNhbWVPckJlZm9yZShkYXkpICYmIHJhbmdlLnRvLmRheUFmdGVyKGRheSk7XG4gICAgfVxuXG4gICAgb25JdGVtSG92ZXJlZChpdGVtOiBUdWlEYXkgfCBmYWxzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWRJdGVtKGl0ZW0gfHwgbnVsbCk7XG4gICAgfVxuXG4gICAgb25JdGVtUHJlc3NlZChpdGVtOiBUdWlEYXkgfCBmYWxzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZXNzZWRJdGVtID0gaXRlbSB8fCBudWxsO1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGl0ZW06IFR1aURheSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRheUNsaWNrLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkSXRlbShkYXk6IFR1aURheSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aU51bGxhYmxlU2FtZSh0aGlzLmhvdmVyZWRJdGVtLCBkYXksIChhLCBiKSA9PiBhLmRheVNhbWUoYikpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gZGF5O1xuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtQ2hhbmdlLmVtaXQoZGF5KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC1yb3cgdC1yb3dfd2Vla2RheVwiPlxuICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiB1bm9yZGVyZWRXZWVrRGF5cyQgfCB0dWlPcmRlcldlZWtEYXlzIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cInQtY2VsbFwiXG4gICAgICAgIFt0ZXh0Q29udGVudF09XCJkYXlcIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuPGRpdlxuICAgICp0dWlMZXQ9XCJtb250aCB8IHR1aUNhbGVuZGFyU2hlZXQ6IHRydWUgYXMgc2hlZXRcIlxuICAgIGlkPVwiZGF0ZS1yb3dzXCJcbj5cbiAgICA8ZGl2XG4gICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCByb3dJbmRleCBvZiBzaGVldC5sZW5ndGhcIlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS1jYWxlbmRhcl9fcm93XCJcbiAgICAgICAgY2xhc3M9XCJ0LXJvd1wiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICp0dWlSZXBlYXRUaW1lcz1cImxldCBjb2xJbmRleCBvZiBzaGVldFtyb3dJbmRleF0ubGVuZ3RoXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICp0dWlMZXQ9XCJzaGVldFtyb3dJbmRleF1bY29sSW5kZXhdIGFzIGl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW1Jc1VuYXZhaWxhYmxlKGl0ZW0pIHx8IHNob3dBZGphY2VudFwiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLWNhbGVuZGFyX19jZWxsXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNlbGxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXJhbmdlXT1cImdldEl0ZW1SYW5nZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtc3RhdGVdPVwiZ2V0SXRlbVN0YXRlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF9pbnRlcnZhbF09XCJpdGVtSXNJbnRlcnZhbChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LWNlbGxfdG9kYXldPVwiaXRlbUlzVG9kYXkoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1jZWxsX3VuYXZhaWxhYmxlXT1cIml0ZW1Jc1VuYXZhaWxhYmxlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKHR1aUhvdmVyZWRDaGFuZ2UpPVwib25JdGVtSG92ZXJlZCgkZXZlbnQgJiYgaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAodHVpUHJlc3NlZENoYW5nZSk9XCJvbkl0ZW1QcmVzc2VkKCRldmVudCAmJiBpdGVtKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS1jYWxlbmRhcl9faXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXR5cGVdPVwiaXRlbSB8IHR1aU1hcHBlcjogZGF5VHlwZUhhbmRsZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtaXRlbV91bmF2YWlsYWJsZV09XCJpdGVtSXNVbmF2YWlsYWJsZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZGF5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtIHwgdHVpTWFwcGVyOiB0b01hcmtlcnMgOiBpdGVtSXNUb2RheShpdGVtKSA6ICEhZ2V0SXRlbVJhbmdlKGl0ZW0pIGFzIG1hcmtlcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cIm1hcmtlcnM/LlswXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtYXJrZXJzLmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtZG90XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJtYXJrZXJzPy5bMV0gfHwgJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -195,7 +195,7 @@ TuiPrimitiveTextfieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12
195
195
  TuiPrimitiveTextfieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: { editable: "editable", textfieldFiller: ["filler", "textfieldFiller"], iconCleaner: "iconCleaner", readOnly: "readOnly", invalid: "invalid", disabled: "disabled", textfieldPrefix: ["prefix", "textfieldPrefix"], textfieldPostfix: ["postfix", "textfieldPostfix"], value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "class._autofilled": "autofilled", "class._label-outside": "controller.labelOutside", "class._readonly": "this.readOnly", "attr.data-size": "this.size", "class._invalid": "this.computedInvalid", "class._hidden": "this.inputHidden", "style.--border-start.rem": "this.borderStart", "style.--border-end.rem": "this.borderEnd" } }, providers: [
196
196
  tuiAsFocusableItemAccessor(TuiPrimitiveTextfieldComponent),
197
197
  TEXTFIELD_CONTROLLER_PROVIDER,
198
- ], queries: [{ propertyName: "content", predicate: PolymorpheusOutletDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<ng-container *ngIf=\"hintOptions?.change$ | async\"></ng-container>\n<div\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiWrapper\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (click.prevent.silent)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n>\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"select\"></ng-content>\n <input\n #focusableElement\n automation-id=\"tui-primitive-textfield__native-input\"\n tuiMaskAccessor\n class=\"t-input\"\n [attr.aria-invalid]=\"computedInvalid\"\n [attr.name]=\"name\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"value\"\n [readOnly]=\"readOnly || !editable\"\n [tuiFocusable]=\"computedFocusable\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n >\n <ng-content select=\"tuiContent\"></ng-content>\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n appearance=\"icon\"\n tuiWrapper\n [src]=\"src\"\n ></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content></ng-content>\n </label>\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n aria-hidden=\"true\"\n automation-id=\"tui-primitive-textfield__value-decoration\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"hasCustomContent\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-svg\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <span\n *ngIf=\"hasCleaner\"\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n tuiWrapper\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-svg\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"computedId\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n appearance=\"icon\"\n tuiWrapper\n [src]=\"src\"\n ></tui-svg>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;text-align:left;border-radius:var(--tui-radius-m);height:var(--tui-height);min-height:var(--tui-height);max-height:var(--tui-height)}:host[data-size=s]{--tui-height: var(--tui-height-s)}:host[data-size=m]{--tui-height: var(--tui-height-m)}:host[data-size=l]{--tui-height: var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input::placeholder{color:var(--tui-text-03);opacity:0}:host._focused:not(._readonly) .t-input::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-textarea._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) .t-input::placeholder{opacity:1}[tuiWrapper][data-mode=onDark] .t-input:-webkit-autofill,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill,[tuiWrapper][data-mode=onDark] .t-input:-webkit-autofill:hover,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill:hover,[tuiWrapper][data-mode=onDark] .t-input:-webkit-autofill:focus,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}[tuiWrapper][data-mode=onDark] .t-input::placeholder,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"])::placeholder{color:var(--tui-text-03-night)}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-textarea._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=m] .t-content{padding:0 var(--tui-padding-m)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-wrapper{flex:1;min-width:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0)}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host._invalid:not(._focused) [tuiWrapper][data-mode=onDark] .t-placeholder_raised,:host._invalid:not(._focused):hover [tuiWrapper][data-mode=onDark] .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}[tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m]._focused:not(._label-outside) [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=l]._focused:not(._label-outside) [tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-01-night)}:host._focused [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=m]._focused._label-outside [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=l]._focused._label-outside [tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-cleaner{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}:host[data-size=s] .t-icon_left{-webkit-margin-start:-.375rem;margin-inline-start:-.375rem}:host[data-size=m] .t-icon_left{-webkit-margin-start:-.125rem;margin-inline-start:-.125rem;-webkit-margin-end:.375rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.t-icons{display:flex;align-items:center}:host[data-size=m] .t-icons{-webkit-margin-end:-.125rem;margin-inline-end:-.125rem}:host[data-size=s] .t-icons{-webkit-margin-end:-.375rem;margin-inline-end:-.375rem}:host:not([data-size=\"s\"]) .t-icons>:not(:first-child){-webkit-margin-start:.25rem;margin-inline-start:.25rem}:host._autofilled[data-size=s] .t-placeholder,:host._autofilled._label-outside .t-placeholder,:host._autofilled .t-value-decoration:not(.t-has-value){visibility:hidden}.t-custom-content{position:relative;display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;pointer-events:none}.t-custom-icon{width:2rem;height:100%}.t-input:not(:first-child){display:none}:host[data-size] .t-input_template{display:flex;width:calc(100% - 1rem);max-width:calc(100% - 1rem);align-items:center;pointer-events:none;-webkit-padding-end:0;padding-inline-end:0}.t-text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-wrapper-value-decoration{position:relative;pointer-events:none}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiValueDecorationComponent, selector: "tui-value-decoration" }, { type: i3.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId", "context"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i6.TuiAutofilledDirective, selector: "[tuiAutofilledChange]", outputs: ["tuiAutofilledChange"] }, { type: i7.TuiMaskAccessorDirective, selector: "input[tuiMaskAccessor]" }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i9.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
198
+ ], queries: [{ propertyName: "content", predicate: PolymorpheusOutletDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<ng-container *ngIf=\"hintOptions?.change$ | async\"></ng-container>\n<div\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiWrapper\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (click.prevent.silent)=\"detectRetargetFromLabel($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n>\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"select\"></ng-content>\n <input\n #focusableElement\n automation-id=\"tui-primitive-textfield__native-input\"\n tuiMaskAccessor\n class=\"t-input\"\n [attr.aria-invalid]=\"computedInvalid\"\n [attr.name]=\"name\"\n [disabled]=\"computedDisabled\"\n [id]=\"id\"\n [ngModel]=\"value\"\n [readOnly]=\"readOnly || !editable\"\n [tuiFocusable]=\"computedFocusable\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n >\n <ng-content select=\"tuiContent\"></ng-content>\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n appearance=\"icon\"\n tuiWrapper\n [src]=\"src\"\n ></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content></ng-content>\n </label>\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n aria-hidden=\"true\"\n automation-id=\"tui-primitive-textfield__value-decoration\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"hasCustomContent\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-svg\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <span\n *ngIf=\"hasCleaner\"\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n tuiWrapper\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-svg\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [content]=\"hintOptions?.content\"\n [describeId]=\"computedId\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n appearance=\"icon\"\n tuiWrapper\n [src]=\"src\"\n ></tui-svg>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;text-align:left;border-radius:var(--tui-radius-m);height:var(--tui-height);min-height:var(--tui-height);max-height:var(--tui-height)}:host[data-size=s]{--tui-height: var(--tui-height-s)}:host[data-size=m]{--tui-height: var(--tui-height-m)}:host[data-size=l]{--tui-height: var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border-width:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;border-style:solid;border-color:transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input::placeholder{color:var(--tui-text-03);opacity:0}:host._focused:not(._readonly) .t-input::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-textarea._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) .t-input::placeholder{opacity:1}[tuiWrapper][data-mode=onDark] .t-input:-webkit-autofill,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill,[tuiWrapper][data-mode=onDark] .t-input:-webkit-autofill:hover,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill:hover,[tuiWrapper][data-mode=onDark] .t-input:-webkit-autofill:focus,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}[tuiWrapper][data-mode=onDark] .t-input::placeholder,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"])::placeholder{color:var(--tui-text-03-night)}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-textarea._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=m] .t-content{padding:0 var(--tui-padding-m)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-wrapper{flex:1;min-width:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host._invalid:not(._focused) [tuiWrapper][data-mode=onDark] .t-placeholder_raised,:host._invalid:not(._focused):hover [tuiWrapper][data-mode=onDark] .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}[tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m]._focused:not(._label-outside) [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=l]._focused:not(._label-outside) [tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-01-night)}:host._focused [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=m]._focused._label-outside [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=l]._focused._label-outside [tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}.t-cleaner{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}:host[data-size=s] .t-icon_left{-webkit-margin-start:-.375rem;margin-inline-start:-.375rem}:host[data-size=m] .t-icon_left{-webkit-margin-start:-.125rem;margin-inline-start:-.125rem;-webkit-margin-end:.375rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.t-icons{display:flex;align-items:center}:host[data-size=m] .t-icons{-webkit-margin-end:-.125rem;margin-inline-end:-.125rem}:host[data-size=s] .t-icons{-webkit-margin-end:-.375rem;margin-inline-end:-.375rem}:host:not([data-size=\"s\"]) .t-icons>:not(:first-child){-webkit-margin-start:.25rem;margin-inline-start:.25rem}:host._autofilled[data-size=s] .t-placeholder,:host._autofilled._label-outside .t-placeholder,:host._autofilled .t-value-decoration:not(.t-has-value){visibility:hidden}.t-custom-content{position:relative;display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;pointer-events:none}.t-custom-icon{width:2rem;height:100%}.t-input:not(:first-child){display:none}:host[data-size] .t-input_template{display:flex;width:calc(100% - 1rem);max-width:calc(100% - 1rem);align-items:center;pointer-events:none;-webkit-padding-end:0;padding-inline-end:0}.t-text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-wrapper-value-decoration{position:relative;pointer-events:none}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiValueDecorationComponent, selector: "tui-value-decoration" }, { type: i3.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId", "context"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i6.TuiAutofilledDirective, selector: "[tuiAutofilledChange]", outputs: ["tuiAutofilledChange"] }, { type: i7.TuiMaskAccessorDirective, selector: "input[tuiMaskAccessor]" }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i9.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
199
199
  __decorate([
200
200
  tuiPure
201
201
  ], TuiPrimitiveTextfieldComponent.prototype, "getIndent$", null);
@@ -27,8 +27,7 @@ export class TuiPrimitiveYearPickerComponent {
27
27
  return (_a = this.max) !== null && _a !== void 0 ? _a : TUI_LAST_DAY;
28
28
  }
29
29
  get isSingle() {
30
- const { value } = this;
31
- return !!value && this.isRange(value) && value.from.yearSame(value.to);
30
+ return this.isRange(this.value) && this.value.from.yearSame(this.value.to);
32
31
  }
33
32
  get rows() {
34
33
  return Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW);
@@ -67,7 +66,6 @@ export class TuiPrimitiveYearPickerComponent {
67
66
  }
68
67
  return null;
69
68
  }
70
- // eslint-disable-next-line complexity
71
69
  getItemRange(item) {
72
70
  const { value, hoveredItem } = this;
73
71
  if (value === null) {
@@ -76,6 +74,9 @@ export class TuiPrimitiveYearPickerComponent {
76
74
  if (value instanceof TuiYear) {
77
75
  return value.year === item ? TuiRangeState.Single : null;
78
76
  }
77
+ if (!(value instanceof TuiMonthRange)) {
78
+ return value.find(day => day.year === item) ? TuiRangeState.Single : null;
79
+ }
79
80
  if ((value.from.year === item && !value.from.yearSame(value.to)) ||
80
81
  (hoveredItem !== null &&
81
82
  hoveredItem > value.from.year &&
@@ -135,7 +136,7 @@ export class TuiPrimitiveYearPickerComponent {
135
136
  }
136
137
  }
137
138
  TuiPrimitiveYearPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveYearPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
138
- TuiPrimitiveYearPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPrimitiveYearPickerComponent, selector: "tui-primitive-year-picker", inputs: { value: "value", initialItem: "initialItem", min: "min", max: "max", disabledItemHandler: "disabledItemHandler" }, outputs: { yearClick: "yearClick" }, host: { properties: { "class._single": "this.isSingle" } }, ngImport: i0, template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-primitive-year-picker__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-primitive-year-picker__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemPressed($event, item)\"\n >\n <div class=\"t-item\">{{ item }}</div>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;z-index:0;display:flex;justify-content:space-between;height:2.25rem}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:3.9375rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-01)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-.25rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell_interval:not([data-range=\"start\"]):not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background-color:var(--tui-primary)}.t-cell[data-range][data-state=hover]>.t-item:before,.t-cell[data-range][data-state=hover]>.t-item:after{background-color:var(--tui-primary-hover)}.t-cell[data-range][data-state=active]>.t-item:before,.t-cell[data-range][data-state=active]>.t-item:after{background-color:var(--tui-primary-active)}.t-cell[data-range=end]:before{background:var(--tui-base-02)}:host._single .t-cell[data-range=end]:before{background:var(--tui-secondary-hover)}.t-cell[data-range=end]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell[data-state=disabled]{pointer-events:none}.t-cell[data-state=disabled]>.t-item{opacity:.36}.t-cell[data-state=hover]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-state=active]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-active)}:host{width:15.75rem}.t-row{margin:.875rem 0}.t-row:first-child{margin-top:0}.t-row:last-child{margin-bottom:0}\n"], directives: [{ type: i1.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.TuiScrollIntoViewDirective, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }, { type: i1.TuiHoveredDirective, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { type: i1.TuiPressedDirective, selector: "[tuiPressedChange]", outputs: ["tuiPressedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
139
+ TuiPrimitiveYearPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPrimitiveYearPickerComponent, selector: "tui-primitive-year-picker", inputs: { value: "value", initialItem: "initialItem", min: "min", max: "max", disabledItemHandler: "disabledItemHandler" }, outputs: { yearClick: "yearClick" }, host: { properties: { "class._single": "this.isSingle" } }, ngImport: i0, template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-primitive-year-picker__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-primitive-year-picker__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemPressed($event, item)\"\n >\n <div class=\"t-item\">{{ item }}</div>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;display:flex;justify-content:space-between;height:2.25rem;isolation:isolate}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;width:3.9375rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;height:.125rem;width:.75rem;border-radius:.375rem;background-color:var(--tui-text-01)}.t-cell_interval:before{background:var(--tui-base-02)}:host._single .t-cell_interval:before{background:var(--tui-secondary-hover)}.t-cell_interval:not(:last-child):before{right:-.25rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell_interval:not([data-range=\"start\"]):not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-top-left-radius:var(--tui-radius-m);border-bottom-left-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-top-right-radius:var(--tui-radius-m);border-bottom-right-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background-color:var(--tui-primary-text)}.t-cell[data-range]>.t-item{color:var(--tui-primary-text)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background-color:var(--tui-primary)}.t-cell[data-range][data-state=hover]>.t-item:before,.t-cell[data-range][data-state=hover]>.t-item:after{background-color:var(--tui-primary-hover)}.t-cell[data-range][data-state=active]>.t-item:before,.t-cell[data-range][data-state=active]>.t-item:after{background-color:var(--tui-primary-active)}.t-cell[data-range=end]:before{background:var(--tui-base-02)}:host._single .t-cell[data-range=end]:before{background:var(--tui-secondary-hover)}.t-cell[data-range=end]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell[data-state=disabled]{pointer-events:none}.t-cell[data-state=disabled]>.t-item{opacity:.36}.t-cell[data-state=hover]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-hover)}.t-cell[data-state=active]:hover:not([data-range])>.t-item{background-color:var(--tui-secondary-active)}:host{width:15.75rem}.t-row{margin:.875rem 0}.t-row:first-child{margin-top:0}.t-row:last-child{margin-bottom:0}\n"], directives: [{ type: i1.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2.TuiScrollIntoViewDirective, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }, { type: i1.TuiHoveredDirective, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { type: i1.TuiPressedDirective, selector: "[tuiPressedChange]", outputs: ["tuiPressedChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
139
140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveYearPickerComponent, decorators: [{
140
141
  type: Component,
141
142
  args: [{
@@ -160,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
160
161
  type: HostBinding,
161
162
  args: ['class._single']
162
163
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXllYXItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUteWVhci1waWNrZXIvcHJpbWl0aXZlLXllYXItcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUteWVhci1waWNrZXIvcHJpbWl0aXZlLXllYXItcGlja2VyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLFlBQVksRUFHWixVQUFVLEVBQ1YsUUFBUSxFQUNSLGFBQWEsRUFDYixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBRXhFLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUNsQixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFRdkIsTUFBTSxPQUFPLCtCQUErQjtJQU41QztRQU9ZLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNsQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDekIsZ0JBQVcsR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBRzVELFVBQUssR0FBaUQsSUFBSSxDQUFDO1FBRzNELGdCQUFXLEdBQVksUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRy9DLFFBQUcsR0FBbUIsYUFBYSxDQUFDO1FBR3BDLFFBQUcsR0FBbUIsWUFBWSxDQUFDO1FBR25DLHdCQUFtQixHQUE4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TixHQUFHO3NCQURGLEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFJRyxTQUFTO3NCQURqQixNQUFNO2dCQVlILFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0xBU1RfREFZLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aURheVJhbmdlLFxuICAgIHR1aUluUmFuZ2UsXG4gICAgVHVpTW9udGgsXG4gICAgVHVpTW9udGhSYW5nZSxcbiAgICBUdWlZZWFyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpSW50ZXJhY3RpdmVTdGF0ZSwgVHVpUmFuZ2VTdGF0ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZW51bXMnO1xuXG5jb25zdCBMSU1JVCA9IDEwMDtcbmNvbnN0IElURU1TX0lOX1JPVyA9IDQ7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXByaW1pdGl2ZS15ZWFyLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ByaW1pdGl2ZS15ZWFyLXBpY2tlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcmltaXRpdmUteWVhci1waWNrZXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcmltaXRpdmVZZWFyUGlja2VyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGhvdmVyZWRJdGVtOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHByZXNzZWRJdGVtOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1cnJlbnRZZWFyID0gVHVpTW9udGguY3VycmVudExvY2FsKCkueWVhcjtcblxuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IFR1aURheVJhbmdlIHwgVHVpTW9udGhSYW5nZSB8IFR1aVllYXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgaW5pdGlhbEl0ZW06IFR1aVllYXIgPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgbWluOiBUdWlZZWFyIHwgbnVsbCA9IFRVSV9GSVJTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIG1heDogVHVpWWVhciB8IG51bGwgPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPG51bWJlcj4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHllYXJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpWWVhcj4oKTtcblxuICAgIGdldCBjb21wdXRlZE1pbigpOiBUdWlZZWFyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluID8/IFRVSV9GSVJTVF9EQVk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTWF4KCk6IFR1aVllYXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXggPz8gVFVJX0xBU1RfREFZO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3NpbmdsZScpXG4gICAgZ2V0IGlzU2luZ2xlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gISF2YWx1ZSAmJiB0aGlzLmlzUmFuZ2UodmFsdWUpICYmIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pO1xuICAgIH1cblxuICAgIGdldCByb3dzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoKHRoaXMuY2FsY3VsYXRlZE1heCAtIHRoaXMuY2FsY3VsYXRlZE1pbikgLyBJVEVNU19JTl9ST1cpO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWluKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmluaXRpYWxJdGVtLnllYXIgLSBMSU1JVDtcbiAgICAgICAgY29uc3QgbWluID0gdGhpcy5jb21wdXRlZE1pbjtcblxuICAgICAgICByZXR1cm4gbWluLnllYXIgPiBpbml0aWFsID8gbWluLnllYXIgOiBpbml0aWFsO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWF4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmluaXRpYWxJdGVtLnllYXIgKyBMSU1JVDtcbiAgICAgICAgY29uc3QgbWF4ID0gdGhpcy5jb21wdXRlZE1heDtcblxuICAgICAgICByZXR1cm4gbWF4LnllYXIgPCBpbml0aWFsID8gbWF4LnllYXIgKyAxIDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICBpc1JhbmdlKGl0ZW06IFR1aU1vbnRoUmFuZ2UgfCBUdWlZZWFyKTogaXRlbSBpcyBUdWlNb250aFJhbmdlIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0gaW5zdGFuY2VvZiBUdWlNb250aFJhbmdlO1xuICAgIH1cblxuICAgIHNjcm9sbEl0ZW1JbnRvVmlldyhpdGVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5pdGlhbEl0ZW0ueWVhciA9PT0gaXRlbTtcbiAgICB9XG5cbiAgICBnZXRJdGVtKHJvd0luZGV4OiBudW1iZXIsIGNvbEluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gcm93SW5kZXggKiBJVEVNU19JTl9ST1cgKyBjb2xJbmRleCArIHRoaXMuY2FsY3VsYXRlZE1pbjtcbiAgICB9XG5cbiAgICBnZXRJdGVtU3RhdGUoaXRlbTogbnVtYmVyKTogVHVpSW50ZXJhY3RpdmVTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7ZGlzYWJsZWRJdGVtSGFuZGxlciwgcHJlc3NlZEl0ZW0sIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IG1heCA9IHRoaXMuY29tcHV0ZWRNYXg7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbWF4LnllYXIgPCBpdGVtIHx8XG4gICAgICAgICAgICAoZGlzYWJsZWRJdGVtSGFuZGxlciAhPT0gQUxXQVlTX0ZBTFNFX0hBTkRMRVIgJiYgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5EaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVzc2VkSXRlbSA9PT0gaXRlbSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aUludGVyYWN0aXZlU3RhdGUuQWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtID09PSBpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5Ib3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb21wbGV4aXR5XG4gICAgZ2V0SXRlbVJhbmdlKGl0ZW06IG51bWJlcik6IFR1aVJhbmdlU3RhdGUgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlZZWFyKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUueWVhciA9PT0gaXRlbSA/IFR1aVJhbmdlU3RhdGUuU2luZ2xlIDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh2YWx1ZS5mcm9tLnllYXIgPT09IGl0ZW0gJiYgIXZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0gPiB2YWx1ZS5mcm9tLnllYXIgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLnllYXIgPT09IGl0ZW0gJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtID09PSBpdGVtICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0gPCB2YWx1ZS5mcm9tLnllYXIgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5TdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh2YWx1ZS50by55ZWFyID09PSBpdGVtICYmICF2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtIDwgdmFsdWUuZnJvbS55ZWFyICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS55ZWFyID09PSBpdGVtICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA9PT0gaXRlbSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtID4gdmFsdWUuZnJvbS55ZWFyICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuRW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pICYmIHZhbHVlLmZyb20ueWVhciA9PT0gaXRlbVxuICAgICAgICAgICAgPyBUdWlSYW5nZVN0YXRlLlNpbmdsZVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGl0ZW1Jc1RvZGF5KGl0ZW06IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhciA9PT0gaXRlbTtcbiAgICB9XG5cbiAgICBpdGVtSXNJbnRlcnZhbChpdGVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCAhdGhpcy5pc1JhbmdlKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmZyb20ueWVhciA8PSBpdGVtICYmIHZhbHVlLnRvLnllYXIgPiBpdGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtID09PSBudWxsIHx8IHZhbHVlLmZyb20ueWVhciA9PT0gaG92ZXJlZEl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0dWlJblJhbmdlKFxuICAgICAgICAgICAgaXRlbSxcbiAgICAgICAgICAgIE1hdGgubWluKHZhbHVlLmZyb20ueWVhciwgaG92ZXJlZEl0ZW0pLFxuICAgICAgICAgICAgTWF0aC5tYXgodmFsdWUuZnJvbS55ZWFyLCBob3ZlcmVkSXRlbSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25JdGVtSG92ZXJlZChob3ZlcmVkOiBib29sZWFuLCBpdGVtOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkSXRlbShob3ZlcmVkLCBpdGVtKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4sIGl0ZW06IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVByZXNzZWRJdGVtKHByZXNzZWQsIGl0ZW0pO1xuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGl0ZW06IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnllYXJDbGljay5lbWl0KG5ldyBUdWlZZWFyKGl0ZW0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUhvdmVyZWRJdGVtKGhvdmVyZWQ6IGJvb2xlYW4sIGl0ZW06IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gaG92ZXJlZCA/IGl0ZW0gOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJlc3NlZEl0ZW0ocHJlc3NlZDogYm9vbGVhbiwgaXRlbTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJlc3NlZEl0ZW0gPSBwcmVzc2VkID8gaXRlbSA6IG51bGw7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCByb3dJbmRleCBvZiByb3dzXCJcbiAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS15ZWFyLXBpY2tlcl9fcm93XCJcbiAgICBjbGFzcz1cInQtcm93XCJcbj5cbiAgICA8bmctY29udGFpbmVyICp0dWlSZXBlYXRUaW1lcz1cImxldCBjb2xJbmRleCBvZiA0XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICp0dWlMZXQ9XCJnZXRJdGVtKHJvd0luZGV4LCBjb2xJbmRleCkgYXMgaXRlbVwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXByaW1pdGl2ZS15ZWFyLXBpY2tlcl9fY2VsbFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY2VsbFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXJhbmdlXT1cImdldEl0ZW1SYW5nZShpdGVtKVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXN0YXRlXT1cImdldEl0ZW1TdGF0ZShpdGVtKVwiXG4gICAgICAgICAgICBbY2xhc3MudC1jZWxsX2ludGVydmFsXT1cIml0ZW1Jc0ludGVydmFsKGl0ZW0pXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWNlbGxfdG9kYXldPVwiaXRlbUlzVG9kYXkoaXRlbSlcIlxuICAgICAgICAgICAgW3R1aVNjcm9sbEludG9WaWV3XT1cInNjcm9sbEl0ZW1JbnRvVmlldyhpdGVtKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgKHR1aUhvdmVyZWRDaGFuZ2UpPVwib25JdGVtSG92ZXJlZCgkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgICh0dWlQcmVzc2VkQ2hhbmdlKT1cIm9uSXRlbVByZXNzZWQoJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0LWl0ZW1cIj57eyBpdGVtIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXllYXItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUteWVhci1waWNrZXIvcHJpbWl0aXZlLXllYXItcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9wcmltaXRpdmUteWVhci1waWNrZXIvcHJpbWl0aXZlLXllYXItcGlja2VyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLFlBQVksRUFJWixVQUFVLEVBQ1YsUUFBUSxFQUNSLGFBQWEsRUFDYixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBRXhFLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUNsQixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFRdkIsTUFBTSxPQUFPLCtCQUErQjtJQU41QztRQU9ZLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNsQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDekIsZ0JBQVcsR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBRzVELFVBQUssR0FBcUUsSUFBSSxDQUFDO1FBRy9FLGdCQUFXLEdBQVksUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRy9DLFFBQUcsR0FBbUIsYUFBYSxDQUFDO1FBR3BDLFFBQUcsR0FBbUIsWUFBWSxDQUFDO1FBR25DLHdCQUFtQixHQUE4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ckMsV0FBVyxFQUFFLHVDQUF1QztvQkFDcEQsU0FBUyxFQUFFLENBQUMsb0NBQW9DLENBQUM7b0JBQ2pELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs4QkFPRyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFJTixHQUFHO3NCQURGLEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLO2dCQUlHLFNBQVM7c0JBRGpCLE1BQU07Z0JBWUgsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgVFVJX0ZJUlNUX0RBWSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGF5LFxuICAgIFR1aURheVJhbmdlLFxuICAgIHR1aUluUmFuZ2UsXG4gICAgVHVpTW9udGgsXG4gICAgVHVpTW9udGhSYW5nZSxcbiAgICBUdWlZZWFyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpSW50ZXJhY3RpdmVTdGF0ZSwgVHVpUmFuZ2VTdGF0ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZW51bXMnO1xuXG5jb25zdCBMSU1JVCA9IDEwMDtcbmNvbnN0IElURU1TX0lOX1JPVyA9IDQ7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXByaW1pdGl2ZS15ZWFyLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ByaW1pdGl2ZS15ZWFyLXBpY2tlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcmltaXRpdmUteWVhci1waWNrZXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcmltaXRpdmVZZWFyUGlja2VyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGhvdmVyZWRJdGVtOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHByZXNzZWRJdGVtOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1cnJlbnRZZWFyID0gVHVpTW9udGguY3VycmVudExvY2FsKCkueWVhcjtcblxuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IFR1aURheVJhbmdlIHwgVHVpTW9udGhSYW5nZSB8IFR1aVllYXIgfCByZWFkb25seSBUdWlEYXlbXSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBpbml0aWFsSXRlbTogVHVpWWVhciA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgQElucHV0KClcbiAgICBtaW46IFR1aVllYXIgfCBudWxsID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgbWF4OiBUdWlZZWFyIHwgbnVsbCA9IFRVSV9MQVNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8bnVtYmVyPiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgeWVhckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlZZWFyPigpO1xuXG4gICAgZ2V0IGNvbXB1dGVkTWluKCk6IFR1aVllYXIge1xuICAgICAgICByZXR1cm4gdGhpcy5taW4gPz8gVFVJX0ZJUlNUX0RBWTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNYXgoKTogVHVpWWVhciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heCA/PyBUVUlfTEFTVF9EQVk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fc2luZ2xlJylcbiAgICBnZXQgaXNTaW5nbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUmFuZ2UodGhpcy52YWx1ZSkgJiYgdGhpcy52YWx1ZS5mcm9tLnllYXJTYW1lKHRoaXMudmFsdWUudG8pO1xuICAgIH1cblxuICAgIGdldCByb3dzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoKHRoaXMuY2FsY3VsYXRlZE1heCAtIHRoaXMuY2FsY3VsYXRlZE1pbikgLyBJVEVNU19JTl9ST1cpO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWluKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmluaXRpYWxJdGVtLnllYXIgLSBMSU1JVDtcbiAgICAgICAgY29uc3QgbWluID0gdGhpcy5jb21wdXRlZE1pbjtcblxuICAgICAgICByZXR1cm4gbWluLnllYXIgPiBpbml0aWFsID8gbWluLnllYXIgOiBpbml0aWFsO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWF4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmluaXRpYWxJdGVtLnllYXIgKyBMSU1JVDtcbiAgICAgICAgY29uc3QgbWF4ID0gdGhpcy5jb21wdXRlZE1heDtcblxuICAgICAgICByZXR1cm4gbWF4LnllYXIgPCBpbml0aWFsID8gbWF4LnllYXIgKyAxIDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICBpc1JhbmdlKFxuICAgICAgICBpdGVtOiBUdWlNb250aFJhbmdlIHwgVHVpWWVhciB8IHJlYWRvbmx5IFR1aURheVtdIHwgbnVsbCxcbiAgICApOiBpdGVtIGlzIFR1aU1vbnRoUmFuZ2Uge1xuICAgICAgICByZXR1cm4gaXRlbSBpbnN0YW5jZW9mIFR1aU1vbnRoUmFuZ2U7XG4gICAgfVxuXG4gICAgc2Nyb2xsSXRlbUludG9WaWV3KGl0ZW06IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbml0aWFsSXRlbS55ZWFyID09PSBpdGVtO1xuICAgIH1cblxuICAgIGdldEl0ZW0ocm93SW5kZXg6IG51bWJlciwgY29sSW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiByb3dJbmRleCAqIElURU1TX0lOX1JPVyArIGNvbEluZGV4ICsgdGhpcy5jYWxjdWxhdGVkTWluO1xuICAgIH1cblxuICAgIGdldEl0ZW1TdGF0ZShpdGVtOiBudW1iZXIpOiBUdWlJbnRlcmFjdGl2ZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtkaXNhYmxlZEl0ZW1IYW5kbGVyLCBwcmVzc2VkSXRlbSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcbiAgICAgICAgY29uc3QgbWF4ID0gdGhpcy5jb21wdXRlZE1heDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBtYXgueWVhciA8IGl0ZW0gfHxcbiAgICAgICAgICAgIChkaXNhYmxlZEl0ZW1IYW5kbGVyICE9PSBBTFdBWVNfRkFMU0VfSEFORExFUiAmJiBkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLkRpc2FibGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByZXNzZWRJdGVtID09PSBpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5BY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG92ZXJlZEl0ZW0gPT09IGl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLkhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SXRlbVJhbmdlKGl0ZW06IG51bWJlcik6IFR1aVJhbmdlU3RhdGUgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlZZWFyKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUueWVhciA9PT0gaXRlbSA/IFR1aVJhbmdlU3RhdGUuU2luZ2xlIDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghKHZhbHVlIGluc3RhbmNlb2YgVHVpTW9udGhSYW5nZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5maW5kKGRheSA9PiBkYXkueWVhciA9PT0gaXRlbSkgPyBUdWlSYW5nZVN0YXRlLlNpbmdsZSA6IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodmFsdWUuZnJvbS55ZWFyID09PSBpdGVtICYmICF2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtID4gdmFsdWUuZnJvbS55ZWFyICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS55ZWFyID09PSBpdGVtICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA9PT0gaXRlbSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtIDwgdmFsdWUuZnJvbS55ZWFyICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuU3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodmFsdWUudG8ueWVhciA9PT0gaXRlbSAmJiAhdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA8IHZhbHVlLmZyb20ueWVhciAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhciA9PT0gaXRlbSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0gPT09IGl0ZW0gJiZcbiAgICAgICAgICAgICAgICBob3ZlcmVkSXRlbSA+IHZhbHVlLmZyb20ueWVhciAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20ueWVhclNhbWUodmFsdWUudG8pKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlSYW5nZVN0YXRlLkVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZS5mcm9tLnllYXJTYW1lKHZhbHVlLnRvKSAmJiB2YWx1ZS5mcm9tLnllYXIgPT09IGl0ZW1cbiAgICAgICAgICAgID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGVcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBpdGVtSXNUb2RheShpdGVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXIgPT09IGl0ZW07XG4gICAgfVxuXG4gICAgaXRlbUlzSW50ZXJ2YWwoaXRlbTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgIXRoaXMuaXNSYW5nZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmFsdWUuZnJvbS55ZWFyU2FtZSh2YWx1ZS50bykpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5mcm9tLnllYXIgPD0gaXRlbSAmJiB2YWx1ZS50by55ZWFyID4gaXRlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSA9PT0gbnVsbCB8fCB2YWx1ZS5mcm9tLnllYXIgPT09IGhvdmVyZWRJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHVpSW5SYW5nZShcbiAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICBNYXRoLm1pbih2YWx1ZS5mcm9tLnllYXIsIGhvdmVyZWRJdGVtKSxcbiAgICAgICAgICAgIE1hdGgubWF4KHZhbHVlLmZyb20ueWVhciwgaG92ZXJlZEl0ZW0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uSXRlbUhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbiwgaXRlbTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZEl0ZW0oaG92ZXJlZCwgaXRlbSk7XG4gICAgfVxuXG4gICAgb25JdGVtUHJlc3NlZChwcmVzc2VkOiBib29sZWFuLCBpdGVtOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkSXRlbShwcmVzc2VkLCBpdGVtKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhpdGVtOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy55ZWFyQ2xpY2suZW1pdChuZXcgVHVpWWVhcihpdGVtKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkSXRlbShob3ZlcmVkOiBib29sZWFuLCBpdGVtOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbSA9IGhvdmVyZWQgPyBpdGVtIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVByZXNzZWRJdGVtKHByZXNzZWQ6IGJvb2xlYW4sIGl0ZW06IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnByZXNzZWRJdGVtID0gcHJlc3NlZCA/IGl0ZW0gOiBudWxsO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICAqdHVpUmVwZWF0VGltZXM9XCJsZXQgcm93SW5kZXggb2Ygcm93c1wiXG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUteWVhci1waWNrZXJfX3Jvd1wiXG4gICAgY2xhc3M9XCJ0LXJvd1wiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqdHVpUmVwZWF0VGltZXM9XCJsZXQgY29sSW5kZXggb2YgNFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqdHVpTGV0PVwiZ2V0SXRlbShyb3dJbmRleCwgY29sSW5kZXgpIGFzIGl0ZW1cIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUteWVhci1waWNrZXJfX2NlbGxcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNlbGxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1yYW5nZV09XCJnZXRJdGVtUmFuZ2UoaXRlbSlcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1zdGF0ZV09XCJnZXRJdGVtU3RhdGUoaXRlbSlcIlxuICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF9pbnRlcnZhbF09XCJpdGVtSXNJbnRlcnZhbChpdGVtKVwiXG4gICAgICAgICAgICBbY2xhc3MudC1jZWxsX3RvZGF5XT1cIml0ZW1Jc1RvZGF5KGl0ZW0pXCJcbiAgICAgICAgICAgIFt0dWlTY3JvbGxJbnRvVmlld109XCJzY3JvbGxJdGVtSW50b1ZpZXcoaXRlbSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICh0dWlIb3ZlcmVkQ2hhbmdlKT1cIm9uSXRlbUhvdmVyZWQoJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgICAodHVpUHJlc3NlZENoYW5nZSk9XCJvbkl0ZW1QcmVzc2VkKCRldmVudCwgaXRlbSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidC1pdGVtXCI+e3sgaXRlbSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -26,7 +26,7 @@ export class TuiRootComponent {
26
26
  }
27
27
  }
28
28
  TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TUI_IS_MOBILE_RES }, { token: TUI_IS_IOS }, { token: TUI_IS_ANDROID }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
29
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.47.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{position:relative;z-index:0;height:100%}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
29
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.48.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{height:100%;isolation:isolate}.t-overscroll-none{overscroll-behavior:none;overflow:hidden}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{
@@ -28,7 +28,7 @@ export class TuiScrollControlsComponent {
28
28
  }
29
29
  }
30
30
  TuiScrollControlsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiScrollControlsComponent, deps: [{ token: TUI_ANIMATION_OPTIONS }, { token: NgZone }, { token: TUI_SCROLL_REF }, { token: ANIMATION_FRAME }, { token: TUI_MODE }], target: i0.ɵɵFactoryTarget.Component });
31
- TuiScrollControlsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiScrollControlsComponent, selector: "tui-scroll-controls", host: { listeners: { "$.data-mode.attr": "mode$" } }, providers: [MODE_PROVIDER], ngImport: i0, template: "<ng-container *ngIf=\"refresh$ | async as bars\">\n <div\n *ngIf=\"bars[0]\"\n tuiScrollbarWrapper\n class=\"t-bar t-bar_vertical\"\n [@tuiFadeIn]=\"animation\"\n [class.t-bar_has-horizontal]=\"bars[1]\"\n >\n <div\n tuiScrollbar=\"vertical\"\n class=\"t-thumb\"\n ></div>\n </div>\n <div\n *ngIf=\"bars[1]\"\n tuiScrollbarWrapper\n class=\"t-bar t-bar_horizontal\"\n [@tuiFadeIn]=\"animation\"\n [class.t-bar_has-vertical]=\"bars[0]\"\n >\n <div\n tuiScrollbar=\"horizontal\"\n class=\"t-thumb\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1;min-width:calc(100% - 1px);min-height:calc(100% - 1px);max-width:calc(100% - 1px);max-height:calc(100% - 1px);float:left;-webkit-margin-end:calc(-100% + 1px);margin-inline-end:calc(-100% + 1px);pointer-events:none}.t-bar{position:absolute;right:0;bottom:0;pointer-events:auto}.t-bar_vertical{top:0;width:.875rem}.t-bar_horizontal{left:0;height:.875rem}.t-bar_has-horizontal{bottom:.5rem}.t-bar_has-vertical{right:.5rem}.t-thumb{transition-property:all;transition-duration:.15s;transition-timing-function:ease-in-out;position:absolute;border-radius:6.25rem;border:.25rem solid transparent;cursor:pointer;pointer-events:auto;background:var(--tui-text-01);background-clip:content-box;box-sizing:border-box;transition-property:width,height;opacity:.2}.t-thumb:hover{opacity:.24}.t-thumb:active{opacity:.48}:host[data-mode=onDark] .t-thumb{background-color:var(--tui-text-01-night)}.t-bar_vertical .t-thumb{right:0;width:.75rem;min-height:1.25rem}.t-bar_vertical:hover .t-thumb,.t-bar_vertical .t-thumb:active{width:.875rem}.t-bar_horizontal .t-thumb{bottom:0;height:.75rem;min-width:1.25rem}.t-bar_horizontal:hover .t-thumb,.t-bar_horizontal .t-thumb:active{height:.875rem}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiScrollbarWrapperDirective, selector: "[tuiScrollbarWrapper]" }, { type: i3.TuiScrollbarDirective, selector: "[tuiScrollbar]", inputs: ["tuiScrollbar"] }], pipes: { "async": i1.AsyncPipe }, animations: [tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
+ TuiScrollControlsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiScrollControlsComponent, selector: "tui-scroll-controls", host: { listeners: { "$.data-mode.attr": "mode$" } }, providers: [MODE_PROVIDER], ngImport: i0, template: "<ng-container *ngIf=\"refresh$ | async as bars\">\n <div\n *ngIf=\"bars[0]\"\n tuiScrollbarWrapper\n class=\"t-bar t-bar_vertical\"\n [@tuiFadeIn]=\"animation\"\n [class.t-bar_has-horizontal]=\"bars[1]\"\n >\n <div\n tuiScrollbar=\"vertical\"\n class=\"t-thumb\"\n ></div>\n </div>\n <div\n *ngIf=\"bars[1]\"\n tuiScrollbarWrapper\n class=\"t-bar t-bar_horizontal\"\n [@tuiFadeIn]=\"animation\"\n [class.t-bar_has-vertical]=\"bars[0]\"\n >\n <div\n tuiScrollbar=\"horizontal\"\n class=\"t-thumb\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1;min-width:calc(100% - 1px);min-height:calc(100% - 1px);max-width:calc(100% - 1px);max-height:calc(100% - 1px);float:left;-webkit-margin-end:calc(-100% + 1px);margin-inline-end:calc(-100% + 1px);pointer-events:none}.t-bar{position:absolute;right:0;bottom:0;pointer-events:auto}.t-bar_vertical{top:0;width:.875rem}.t-bar_horizontal{left:0;height:.875rem}.t-bar_has-horizontal{bottom:.5rem}.t-bar_has-vertical{right:.5rem}.t-thumb{transition-property:all;transition-duration:.15s;transition-timing-function:ease-in-out;position:absolute;border-radius:6.25rem;border:.25rem solid transparent;cursor:pointer;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--tui-text-01);background-clip:content-box;box-sizing:border-box;transition-property:width,height;opacity:.2}.t-thumb:hover{opacity:.24}.t-thumb:active{opacity:.48}:host[data-mode=onDark] .t-thumb{background-color:var(--tui-text-01-night)}.t-bar_vertical .t-thumb{right:0;width:.75rem;min-height:1.25rem}.t-bar_vertical:hover .t-thumb,.t-bar_vertical .t-thumb:active{width:.875rem}.t-bar_horizontal .t-thumb{bottom:0;height:.75rem;min-width:1.25rem}.t-bar_horizontal:hover .t-thumb,.t-bar_horizontal .t-thumb:active{height:.875rem}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiScrollbarWrapperDirective, selector: "[tuiScrollbarWrapper]" }, { type: i3.TuiScrollbarDirective, selector: "[tuiScrollbar]", inputs: ["tuiScrollbar"] }], pipes: { "async": i1.AsyncPipe }, animations: [tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiScrollControlsComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
58
58
  type: Inject,
59
59
  args: [TUI_MODE]
60
60
  }] }]; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWNvbnRyb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGwtY29udHJvbHMvc2Nyb2xsLWNvbnRyb2xzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGwtY29udHJvbHMvc2Nyb2xsLWNvbnRyb2xzLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsTUFBTSxFQUNOLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxRQUFRLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUd0RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBYWxGLE1BQU0sT0FBTywwQkFBMEI7SUFTbkMsWUFDNEMsU0FBMkIsRUFDbEMsSUFBWSxFQUNKLFNBQWtDLEVBQ2pDLGVBQW1DLEVBQ2xELEtBQXVDO1FBSjFCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2xDLFNBQUksR0FBSixJQUFJLENBQVE7UUFDSixjQUFTLEdBQVQsU0FBUyxDQUF5QjtRQUNqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFDbEQsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFiN0QsYUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUN6QyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQzFCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUN6QixvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM5RCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQzlCLENBQUM7SUFRQyxDQUFDO0lBRUosSUFBWSxVQUFVO1FBQ2xCLE1BQU0sRUFBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUMsR0FDeEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFFakMsT0FBTztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRztZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUc7U0FDckQsQ0FBQztJQUNOLENBQUM7O3dIQXpCUSwwQkFBMEIsa0JBVXZCLHFCQUFxQixhQUNyQixNQUFNLGFBQ04sY0FBYyxhQUNkLGVBQWUsYUFDZixRQUFROzRHQWRYLDBCQUEwQixvR0FMeEIsQ0FBQyxhQUFhLENBQUMsMEJDdkI5Qix3ckJBMEJBLDZoRERKZ0IsQ0FBQyxTQUFTLENBQUM7NEZBTWQsMEJBQTBCO2tCQVh0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUMzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQzFCLElBQUksRUFBRTt3QkFDRixvQkFBb0IsRUFBRSxPQUFPO3FCQUNoQztpQkFDSjs7MEJBV1EsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixNQUFNOzJCQUFDLE1BQU07OzBCQUNiLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBOZ1pvbmUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUV9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUVUlfU0NST0xMX1JFRiwgdHVpWm9uZU9wdGltaXplZH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge3R1aUZhZGVJbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05fT1BUSU9OUywgVFVJX01PREV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXNjcm9sbC1jb250cm9scycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Njcm9sbC1jb250cm9scy50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zY3JvbGwtY29udHJvbHMuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlGYWRlSW5dLFxuICAgIHByb3ZpZGVyczogW01PREVfUFJPVklERVJdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6ICdtb2RlJCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2Nyb2xsQ29udHJvbHNDb21wb25lbnQge1xuICAgIHJlYWRvbmx5IHJlZnJlc2gkID0gdGhpcy5hbmltYXRpb25GcmFtZSQucGlwZShcbiAgICAgICAgdGhyb3R0bGVUaW1lKDMwMCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLnNjcm9sbGJhcnMpLFxuICAgICAgICBzdGFydFdpdGgoW2ZhbHNlLCBmYWxzZV0pLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYVswXSA9PT0gYlswXSAmJiBhWzFdID09PSBiWzFdKSxcbiAgICAgICAgdHVpWm9uZU9wdGltaXplZCh0aGlzLnpvbmUpLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHJlYWRvbmx5IGFuaW1hdGlvbjogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFRVSV9TQ1JPTExfUkVGKSBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoQU5JTUFUSU9OX0ZSQU1FKSBwcml2YXRlIHJlYWRvbmx5IGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBnZXQgc2Nyb2xsYmFycygpOiBbYm9vbGVhbiwgYm9vbGVhbl0ge1xuICAgICAgICBjb25zdCB7Y2xpZW50SGVpZ2h0LCBzY3JvbGxIZWlnaHQsIGNsaWVudFdpZHRoLCBzY3JvbGxXaWR0aH0gPVxuICAgICAgICAgICAgdGhpcy5zY3JvbGxSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgTWF0aC5jZWlsKChjbGllbnRIZWlnaHQgLyBzY3JvbGxIZWlnaHQpICogMTAwKSA8IDEwMCxcbiAgICAgICAgICAgIE1hdGguY2VpbCgoY2xpZW50V2lkdGggLyBzY3JvbGxXaWR0aCkgKiAxMDApIDwgMTAwLFxuICAgICAgICBdO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJyZWZyZXNoJCB8IGFzeW5jIGFzIGJhcnNcIj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiYmFyc1swXVwiXG4gICAgICAgIHR1aVNjcm9sbGJhcldyYXBwZXJcbiAgICAgICAgY2xhc3M9XCJ0LWJhciB0LWJhcl92ZXJ0aWNhbFwiXG4gICAgICAgIFtAdHVpRmFkZUluXT1cImFuaW1hdGlvblwiXG4gICAgICAgIFtjbGFzcy50LWJhcl9oYXMtaG9yaXpvbnRhbF09XCJiYXJzWzFdXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIHR1aVNjcm9sbGJhcj1cInZlcnRpY2FsXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10aHVtYlwiXG4gICAgICAgID48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiYmFyc1sxXVwiXG4gICAgICAgIHR1aVNjcm9sbGJhcldyYXBwZXJcbiAgICAgICAgY2xhc3M9XCJ0LWJhciB0LWJhcl9ob3Jpem9udGFsXCJcbiAgICAgICAgW0B0dWlGYWRlSW5dPVwiYW5pbWF0aW9uXCJcbiAgICAgICAgW2NsYXNzLnQtYmFyX2hhcy12ZXJ0aWNhbF09XCJiYXJzWzBdXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIHR1aVNjcm9sbGJhcj1cImhvcml6b250YWxcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRodW1iXCJcbiAgICAgICAgPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWNvbnRyb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGwtY29udHJvbHMvc2Nyb2xsLWNvbnRyb2xzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGwtY29udHJvbHMvc2Nyb2xsLWNvbnRyb2xzLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsTUFBTSxFQUNOLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxRQUFRLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUd0RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBYWxGLE1BQU0sT0FBTywwQkFBMEI7SUFTbkMsWUFDNEMsU0FBMkIsRUFDbEMsSUFBWSxFQUNKLFNBQWtDLEVBQ2pDLGVBQW1DLEVBQ2xELEtBQXVDO1FBSjFCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2xDLFNBQUksR0FBSixJQUFJLENBQVE7UUFDSixjQUFTLEdBQVQsU0FBUyxDQUF5QjtRQUNqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFDbEQsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFiN0QsYUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUN6QyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQzFCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUN6QixvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM5RCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQzlCLENBQUM7SUFRQyxDQUFDO0lBRUosSUFBWSxVQUFVO1FBQ2xCLE1BQU0sRUFBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUMsR0FDeEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFFakMsT0FBTztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRztZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUc7U0FDckQsQ0FBQztJQUNOLENBQUM7O3dIQXpCUSwwQkFBMEIsa0JBVXZCLHFCQUFxQixhQUNyQixNQUFNLGFBQ04sY0FBYyxhQUNkLGVBQWUsYUFDZixRQUFROzRHQWRYLDBCQUEwQixvR0FMeEIsQ0FBQyxhQUFhLENBQUMsMEJDdkI5Qix3ckJBMEJBLDZsRERKZ0IsQ0FBQyxTQUFTLENBQUM7NEZBTWQsMEJBQTBCO2tCQVh0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUMzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUN2QixTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQzFCLElBQUksRUFBRTt3QkFDRixvQkFBb0IsRUFBRSxPQUFPO3FCQUNoQztpQkFDSjs7MEJBV1EsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixNQUFNOzJCQUFDLE1BQU07OzBCQUNiLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBOZ1pvbmUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUV9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUVUlfU0NST0xMX1JFRiwgdHVpWm9uZU9wdGltaXplZH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge3R1aUZhZGVJbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge01PREVfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05fT1BUSU9OUywgVFVJX01PREV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aUJyaWdodG5lc3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXNjcm9sbC1jb250cm9scycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Njcm9sbC1jb250cm9scy50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zY3JvbGwtY29udHJvbHMuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlGYWRlSW5dLFxuICAgIHByb3ZpZGVyczogW01PREVfUFJPVklERVJdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6ICdtb2RlJCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2Nyb2xsQ29udHJvbHNDb21wb25lbnQge1xuICAgIHJlYWRvbmx5IHJlZnJlc2gkID0gdGhpcy5hbmltYXRpb25GcmFtZSQucGlwZShcbiAgICAgICAgdGhyb3R0bGVUaW1lKDMwMCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLnNjcm9sbGJhcnMpLFxuICAgICAgICBzdGFydFdpdGgoW2ZhbHNlLCBmYWxzZV0pLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYVswXSA9PT0gYlswXSAmJiBhWzFdID09PSBiWzFdKSxcbiAgICAgICAgdHVpWm9uZU9wdGltaXplZCh0aGlzLnpvbmUpLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHJlYWRvbmx5IGFuaW1hdGlvbjogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFRVSV9TQ1JPTExfUkVGKSBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoQU5JTUFUSU9OX0ZSQU1FKSBwcml2YXRlIHJlYWRvbmx5IGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBnZXQgc2Nyb2xsYmFycygpOiBbYm9vbGVhbiwgYm9vbGVhbl0ge1xuICAgICAgICBjb25zdCB7Y2xpZW50SGVpZ2h0LCBzY3JvbGxIZWlnaHQsIGNsaWVudFdpZHRoLCBzY3JvbGxXaWR0aH0gPVxuICAgICAgICAgICAgdGhpcy5zY3JvbGxSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgTWF0aC5jZWlsKChjbGllbnRIZWlnaHQgLyBzY3JvbGxIZWlnaHQpICogMTAwKSA8IDEwMCxcbiAgICAgICAgICAgIE1hdGguY2VpbCgoY2xpZW50V2lkdGggLyBzY3JvbGxXaWR0aCkgKiAxMDApIDwgMTAwLFxuICAgICAgICBdO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJyZWZyZXNoJCB8IGFzeW5jIGFzIGJhcnNcIj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiYmFyc1swXVwiXG4gICAgICAgIHR1aVNjcm9sbGJhcldyYXBwZXJcbiAgICAgICAgY2xhc3M9XCJ0LWJhciB0LWJhcl92ZXJ0aWNhbFwiXG4gICAgICAgIFtAdHVpRmFkZUluXT1cImFuaW1hdGlvblwiXG4gICAgICAgIFtjbGFzcy50LWJhcl9oYXMtaG9yaXpvbnRhbF09XCJiYXJzWzFdXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIHR1aVNjcm9sbGJhcj1cInZlcnRpY2FsXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10aHVtYlwiXG4gICAgICAgID48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiYmFyc1sxXVwiXG4gICAgICAgIHR1aVNjcm9sbGJhcldyYXBwZXJcbiAgICAgICAgY2xhc3M9XCJ0LWJhciB0LWJhcl9ob3Jpem9udGFsXCJcbiAgICAgICAgW0B0dWlGYWRlSW5dPVwiYW5pbWF0aW9uXCJcbiAgICAgICAgW2NsYXNzLnQtYmFyX2hhcy12ZXJ0aWNhbF09XCJiYXJzWzBdXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIHR1aVNjcm9sbGJhcj1cImhvcml6b250YWxcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRodW1iXCJcbiAgICAgICAgPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=