@taiga-ui/kit 2.81.0 → 2.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  4. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-multi-select.umd.js +6 -1
  8. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  10. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-stepper.umd.js +8 -2
  12. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  14. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  15. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  16. package/components/input-tag/input-tag.component.d.ts +1 -1
  17. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  18. package/components/multi-select/multi-select.component.d.ts +1 -0
  19. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  20. package/components/stepper/stepper.component.d.ts +3 -1
  21. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  22. package/esm2015/components/input-slider/input-slider.component.js +2 -2
  23. package/esm2015/components/input-tag/input-tag.component.js +1 -1
  24. package/esm2015/components/multi-select/multi-select.component.js +8 -3
  25. package/esm2015/components/stepper/stepper.component.js +11 -5
  26. package/esm5/components/input-slider/input-slider.component.js +2 -2
  27. package/esm5/components/input-tag/input-tag.component.js +1 -1
  28. package/esm5/components/multi-select/multi-select.component.js +8 -3
  29. package/esm5/components/stepper/stepper.component.js +11 -5
  30. package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
  31. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  32. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  33. package/fesm2015/taiga-ui-kit-components-multi-select.js +7 -2
  34. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  35. package/fesm2015/taiga-ui-kit-components-stepper.js +9 -3
  36. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  37. package/fesm5/taiga-ui-kit-components-input-slider.js +1 -1
  38. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  39. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  40. package/fesm5/taiga-ui-kit-components-multi-select.js +7 -2
  41. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  42. package/fesm5/taiga-ui-kit-components-stepper.js +9 -3
  43. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  44. package/package.json +4 -4
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiHideSelectedPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":6,"character":1},"arguments":[{"name":"tuiHideSelected","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":12,"character":9},"arguments":[{"__symbolic":"reference","name":"TuiMultiSelectComponent"}]}]],"parameters":[{"__symbolic":"reference","name":"TuiMultiSelectComponent"}]}],"transform":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"filter2d":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":39,"character":5}]}],"filter":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":48,"character":5}]}]}},"TuiMultiSelectComponent":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"AbstractTuiMultipleControl","line":76,"character":12},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":57,"character":1},"arguments":[{"selector":"tui-multi-select","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":61,"character":21},"member":"OnPush"},"providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_FOCUSABLE_ITEM_ACCESSOR","line":64,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiMultiSelectComponent"}},{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_DATA_LIST_HOST","line":68,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiMultiSelectComponent"}},{"__symbolic":"reference","module":"@taiga-ui/kit/providers","name":"FIXED_DROPDOWN_CONTROLLER_PROVIDER","line":71,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TEXTFIELD_CONTROLLER_PROVIDER","line":72,"character":8}],"template":"<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-tag\n #inputTag\n tuiHostedDropdownHost\n automation-id=\"tui-multi-select__input\"\n class=\"t-input\"\n [nativeId]=\"nativeId\"\n [icon]=\"tagIcon\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [readOnly]=\"readOnly\"\n [inputHidden]=\"!editable\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoInvalid]=\"computedInvalid\"\n [editable]=\"false\"\n [expandable]=\"expandable\"\n [search]=\"searchOrSpace\"\n [ngModel]=\"computedValue | tuiMapper: valueMapper:stringify\"\n (ngModelChange)=\"onInput($event)\"\n (searchChange)=\"onSearch($event)\"\n (keydown.space)=\"onSpace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (click.prevent)=\"onClick(inputTag)\"\n >\n <ng-content></ng-content>\n </tui-input-tag>\n <div\n class=\"t-wrapper\"\n [class.t-wrapper_disabled]=\"disabled\"\n >\n <div\n *ngIf=\"computedGroup\"\n polymorpheus-outlet\n class=\"t-group\"\n [class.t-group_fullsize]=\"inputTag.labelOutside\"\n [context]=\"context\"\n [content]=\"valueContent\"\n ></div>\n\n <div\n *ngIf=\"arrow\"\n polymorpheus-outlet\n automation-id=\"tui-multi-select__arrow\"\n tuiPreventDefault=\"mousedown\"\n class=\"t-arrow\"\n [content]=\"arrow\"\n (click.prevent)=\"onArrowClick()\"\n ></div>\n </div>\n</tui-hosted-dropdown>\n","styles":[":host{position:relative;display:block;border-radius:var(--tui-radius-m)}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-input{border-radius:inherit}:host:not(._editable):not(._readonly) .t-input{cursor:pointer}.t-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;justify-content:flex-end}.t-wrapper_disabled{opacity:var(--tui-disabled-opacity)}:host[data-size='s'] .t-wrapper{height:var(--tui-height-s)}:host[data-size='m'] .t-wrapper{height:var(--tui-height-m)}:host[data-size='l'] .t-wrapper{height:var(--tui-height-l)}.t-group{display:flex;flex:1;align-items:center;padding:1.6875rem 0 .5625rem 1rem;overflow:hidden}.t-group_fullsize{padding-top:.0625rem;padding-bottom:0}:host[data-size='m'] .t-group_fullsize.t-group_fullsize{padding-top:0}:host[data-size='m'] .t-group{padding:1.1875rem 0 0 .75rem;font-size:.8125rem}.t-arrow{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;transition-property:color,transform;width:1.5rem;height:auto;margin:0 .75rem;pointer-events:auto;cursor:pointer}.t-arrow:hover{color:var(--tui-text-02)}:host._disabled .t-arrow,:host._readonly .t-arrow{pointer-events:none}:host[data-mode=onDark] .t-arrow{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-arrow:hover{color:var(--tui-text-01-night)}"]}]}],"members":{"accessor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":79,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_DATA_LIST_ACCESSOR","line":79,"character":18}]}]}],"hostedDropdown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":82,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHostedDropdownComponent","line":82,"character":15}]}]}],"input":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":85,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/components/input-tag","name":"TuiInputTagComponent","line":85,"character":15}]}]}],"stringify":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":88,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":89,"character":5}}]}],"identityMatcher":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":93,"character":5}}]}],"expandable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":97,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":98,"character":5}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":101,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":102,"character":5}}]}],"editable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":106,"character":5},"arguments":["class._editable"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":107,"character":5}}]}],"disabledItemHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":110,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":111,"character":5}}]}],"valueContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":115,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":116,"character":5}}]}],"searchChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":119,"character":5}}]}],"datalist":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":122,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListDirective","line":122,"character":18},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":122,"character":47}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":130,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":131,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":132,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":132,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":134,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":134,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":135,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgService","line":135,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":136,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/components/arrow","name":"TUI_ARROW_MODE","line":136,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":138,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_ITEMS_HANDLERS","line":138,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":140,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_MULTI_SELECT_OPTIONS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":142,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_TEXTFIELD_WATCHED_CONTROLLER","line":142,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":133,"character":17},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":134,"character":54},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgService","line":135,"character":43},{"__symbolic":"reference","module":"@taiga-ui/kit/components/arrow","name":"TuiArrowMode","line":137,"character":36},{"__symbolic":"reference","name":"TuiItemsHandlers","module":"@taiga-ui/kit/tokens","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":139,"character":57,"context":{"typeName":"T"},"module":"./multi-select.component"}]},{"__symbolic":"reference","name":"TuiMultiSelectOptions"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiTextfieldController","line":143,"character":29}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":150,"character":5},"arguments":["attr.data-size"]}]}],"getStringifier":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":209,"character":5}]}],"onHoveredChange":[{"__symbolic":"method"}],"onSpace":[{"__symbolic":"method"}],"handleOption":[{"__symbolic":"method"}],"onEnter":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method"}],"onArrowClick":[{"__symbolic":"method"}],"onInput":[{"__symbolic":"method"}],"onSearch":[{"__symbolic":"method"}],"onActiveZone":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"getContext":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":307,"character":5}]}],"updateSearch":[{"__symbolic":"method"}],"focusInput":[{"__symbolic":"method"}]}},"TuiMultiSelectModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":26,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":28,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":29,"character":8},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":30,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiPreventDefaultModule","line":31,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneModule","line":32,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit/components/arrow","name":"TuiArrowModule","line":33,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiLetModule","line":34,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiMapperPipeModule","line":35,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredModule","line":36,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgModule","line":37,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHostedDropdownModule","line":38,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit/components/input-tag","name":"TuiInputTagModule","line":39,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit/components/multi-select-option","name":"TuiMultiSelectOptionModule","line":40,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiPrimitiveCheckboxModule","line":41,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListModule","line":42,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiMultiSelectComponent"},{"__symbolic":"reference","name":"TuiMultiSelectGroupComponent"},{"__symbolic":"reference","name":"TuiMultiSelectGroupDirective"},{"__symbolic":"reference","name":"TuiHideSelectedPipe"}],"exports":[{"__symbolic":"reference","name":"TuiMultiSelectComponent"},{"__symbolic":"reference","name":"TuiMultiSelectGroupComponent"},{"__symbolic":"reference","name":"TuiMultiSelectGroupDirective"},{"__symbolic":"reference","name":"TuiHideSelectedPipe"}]}]}],"members":{}},"TuiMultiSelectGroupComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"tui-opt-group[tuiMultiSelectGroup]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":36,"character":21},"member":"OnPush"},"viewProviders":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_OPTION_CONTENT","line":39,"character":21},"useValue":null}],"template":"<ng-container *tuiLet=\"value$ | async as value\">\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiOption\n [size]=\"size\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n <tui-primitive-checkbox\n class=\"t-checkbox\"\n [size]=\"checkboxSize\"\n [value]=\"value\"\n ></tui-primitive-checkbox>\n <span class=\"t-label\">{{ label }}</span>\n </button>\n</ng-container>\n<ng-content></ng-content>\n","styles":[":host{display:flex;flex-direction:column}:host:before{content:''}.t-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:var(--tui-font-text-xs);flex:1;color:var(--tui-text-02)}.t-checkbox{margin-right:.75rem}"]}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":45,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiOptionComponent","line":45,"character":21}]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":49,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":53,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_DATA_LIST_HOST","line":53,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":54,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"TuiDataListHost","module":"@taiga-ui/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":53,"character":75,"context":{"typeName":"T"},"module":"./multi-select-group/multi-select-group.component"}]},{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":54,"character":53}]}],"empty$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":65,"character":5}]}],"disabled$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":70,"character":5}]}],"value$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":77,"character":5}]}],"onClick":[{"__symbolic":"method"}],"items$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":122,"character":5}]}],"valueChanges$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":129,"character":5}]}],"filter":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":136,"character":5}]}]}},"hostFallbackFactory":{"__symbolic":"function","parameters":["control","host"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"host"},"right":{"__symbolic":"error","message":"Lambda not supported","line":16,"character":26,"module":"./multi-select-group/multi-select-group.directive"}}},"TUI_MULTI_SELECT_OPTION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusComponent","line":34,"character":43},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/components/multi-select-option","name":"TuiMultiSelectOptionComponent","line":35,"character":4}]},"MULTI_SELECT_ACCESSOR":{"writeValue":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"EMPTY_FUNCTION","line":40,"character":16},"registerOnChange":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"EMPTY_FUNCTION","line":41,"character":22},"registerOnTouched":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"EMPTY_FUNCTION","line":42,"character":23}},"TuiMultiSelectGroupDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":45,"character":1},"arguments":[{"selector":"[tuiMultiSelectGroup]","providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_OPTION_CONTENT","line":49,"character":21},"useValue":{"__symbolic":"reference","name":"TUI_MULTI_SELECT_OPTION"}},{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_DATA_LIST_HOST","line":53,"character":21},"deps":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":55,"character":16},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":56,"character":21}},{"__symbolic":"reference","name":"TuiMultiSelectComponent"}]],"useFactory":{"__symbolic":"reference","name":"hostFallbackFactory"}},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":61,"character":21},"multi":true,"useValue":{"__symbolic":"reference","name":"MULTI_SELECT_ACCESSOR"}}]}]}],"members":{}},"TuiMultiSelectOptions":{"__symbolic":"interface"},"TUI_MULTI_SELECT_DEFAULT_OPTIONS":{"expandable":true,"valueContent":""},"TUI_MULTI_SELECT_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":14,"character":44},"arguments":["Default parameters for multi select component",{"__symbolic":"error","message":"Lambda not supported","line":17,"character":13,"module":"./multi-select-options"}]},"tuiMultiSelectOptionsProvider":{"__symbolic":"error","message":"Lambda not supported","line":22,"character":21,"module":"./multi-select-options"}},"origins":{"TuiHideSelectedPipe":"./hide-selected.pipe","TuiMultiSelectComponent":"./multi-select.component","TuiMultiSelectModule":"./multi-select.module","TuiMultiSelectGroupComponent":"./multi-select-group/multi-select-group.component","hostFallbackFactory":"./multi-select-group/multi-select-group.directive","TUI_MULTI_SELECT_OPTION":"./multi-select-group/multi-select-group.directive","MULTI_SELECT_ACCESSOR":"./multi-select-group/multi-select-group.directive","TuiMultiSelectGroupDirective":"./multi-select-group/multi-select-group.directive","TuiMultiSelectOptions":"./multi-select-options","TUI_MULTI_SELECT_DEFAULT_OPTIONS":"./multi-select-options","TUI_MULTI_SELECT_OPTIONS":"./multi-select-options","tuiMultiSelectOptionsProvider":"./multi-select-options"},"importAs":"@taiga-ui/kit/components/multi-select"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiHideSelectedPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":6,"character":1},"arguments":[{"name":"tuiHideSelected","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":12,"character":9},"arguments":[{"__symbolic":"reference","name":"TuiMultiSelectComponent"}]}]],"parameters":[{"__symbolic":"reference","name":"TuiMultiSelectComponent"}]}],"transform":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"filter2d":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":39,"character":5}]}],"filter":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":48,"character":5}]}]}},"TuiMultiSelectComponent":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"AbstractTuiMultipleControl","line":77,"character":12},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":58,"character":1},"arguments":[{"selector":"tui-multi-select","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":62,"character":21},"member":"OnPush"},"providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_FOCUSABLE_ITEM_ACCESSOR","line":65,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiMultiSelectComponent"}},{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_DATA_LIST_HOST","line":69,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiMultiSelectComponent"}},{"__symbolic":"reference","module":"@taiga-ui/kit/providers","name":"FIXED_DROPDOWN_CONTROLLER_PROVIDER","line":72,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TEXTFIELD_CONTROLLER_PROVIDER","line":73,"character":8}],"template":"<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-tag\n #inputTag\n tuiHostedDropdownHost\n automation-id=\"tui-multi-select__input\"\n class=\"t-input\"\n [nativeId]=\"nativeId\"\n [icon]=\"tagIcon\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [tagValidator]=\"tagValidator | tuiMapper: disabledItemHandlerWrapper\"\n [readOnly]=\"readOnly\"\n [inputHidden]=\"!editable\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoInvalid]=\"computedInvalid\"\n [editable]=\"false\"\n [expandable]=\"expandable\"\n [search]=\"searchOrSpace\"\n [ngModel]=\"computedValue | tuiMapper: valueMapper:stringify\"\n (ngModelChange)=\"onInput($event)\"\n (searchChange)=\"onSearch($event)\"\n (keydown.space)=\"onSpace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (click.prevent)=\"onClick(inputTag)\"\n >\n <ng-content></ng-content>\n </tui-input-tag>\n <div\n class=\"t-wrapper\"\n [class.t-wrapper_disabled]=\"disabled\"\n >\n <div\n *ngIf=\"computedGroup\"\n polymorpheus-outlet\n class=\"t-group\"\n [class.t-group_fullsize]=\"inputTag.labelOutside\"\n [context]=\"context\"\n [content]=\"valueContent\"\n ></div>\n\n <div\n *ngIf=\"arrow\"\n polymorpheus-outlet\n automation-id=\"tui-multi-select__arrow\"\n tuiPreventDefault=\"mousedown\"\n class=\"t-arrow\"\n [content]=\"arrow\"\n (click.prevent)=\"onArrowClick()\"\n ></div>\n </div>\n</tui-hosted-dropdown>\n","styles":[":host{position:relative;display:block;border-radius:var(--tui-radius-m)}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-input{border-radius:inherit}:host:not(._editable):not(._readonly) .t-input{cursor:pointer}.t-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;justify-content:flex-end}.t-wrapper_disabled{opacity:var(--tui-disabled-opacity)}:host[data-size='s'] .t-wrapper{height:var(--tui-height-s)}:host[data-size='m'] .t-wrapper{height:var(--tui-height-m)}:host[data-size='l'] .t-wrapper{height:var(--tui-height-l)}.t-group{display:flex;flex:1;align-items:center;padding:1.6875rem 0 .5625rem 1rem;overflow:hidden}.t-group_fullsize{padding-top:.0625rem;padding-bottom:0}:host[data-size='m'] .t-group_fullsize.t-group_fullsize{padding-top:0}:host[data-size='m'] .t-group{padding:1.1875rem 0 0 .75rem;font-size:.8125rem}.t-arrow{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;transition-property:color,transform;width:1.5rem;height:auto;margin:0 .75rem;pointer-events:auto;cursor:pointer}.t-arrow:hover{color:var(--tui-text-02)}:host._disabled .t-arrow,:host._readonly .t-arrow{pointer-events:none}:host[data-mode=onDark] .t-arrow{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-arrow:hover{color:var(--tui-text-01-night)}"]}]}],"members":{"accessor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":80,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_DATA_LIST_ACCESSOR","line":80,"character":18}]}]}],"hostedDropdown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":83,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHostedDropdownComponent","line":83,"character":15}]}]}],"input":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":86,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/components/input-tag","name":"TuiInputTagComponent","line":86,"character":15}]}]}],"stringify":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":89,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":90,"character":5}}]}],"identityMatcher":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":93,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":94,"character":5}}]}],"expandable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":98,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":99,"character":5}}]}],"search":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":102,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":103,"character":5}}]}],"editable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":106,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":107,"character":5},"arguments":["class._editable"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":108,"character":5}}]}],"disabledItemHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":111,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":112,"character":5}}]}],"valueContent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":116,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":117,"character":5}}]}],"tagValidator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":120,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":121,"character":5}}]}],"searchChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":124,"character":5}}]}],"datalist":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":127,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListDirective","line":127,"character":18},{"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":127,"character":47}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":135,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":136,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":137,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":137,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":139,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":139,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":140,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgService","line":140,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":141,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/components/arrow","name":"TUI_ARROW_MODE","line":141,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":143,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_ITEMS_HANDLERS","line":143,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":145,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_MULTI_SELECT_OPTIONS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":147,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_TEXTFIELD_WATCHED_CONTROLLER","line":147,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":138,"character":17},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":139,"character":54},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgService","line":140,"character":43},{"__symbolic":"reference","module":"@taiga-ui/kit/components/arrow","name":"TuiArrowMode","line":142,"character":36},{"__symbolic":"reference","name":"TuiItemsHandlers","module":"@taiga-ui/kit/tokens","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":144,"character":57,"context":{"typeName":"T"},"module":"./multi-select.component"}]},{"__symbolic":"reference","name":"TuiMultiSelectOptions"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiTextfieldController","line":148,"character":29}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":155,"character":5},"arguments":["attr.data-size"]}]}],"getStringifier":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":214,"character":5}]}],"onHoveredChange":[{"__symbolic":"method"}],"onSpace":[{"__symbolic":"method"}],"handleOption":[{"__symbolic":"method"}],"onEnter":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method"}],"onArrowClick":[{"__symbolic":"method"}],"onInput":[{"__symbolic":"method"}],"onSearch":[{"__symbolic":"method"}],"onActiveZone":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"getContext":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":312,"character":5}]}],"updateSearch":[{"__symbolic":"method"}],"focusInput":[{"__symbolic":"method"}]}},"TuiMultiSelectModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":26,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":28,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":29,"character":8},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":30,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiPreventDefaultModule","line":31,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneModule","line":32,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit/components/arrow","name":"TuiArrowModule","line":33,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiLetModule","line":34,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiMapperPipeModule","line":35,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiHoveredModule","line":36,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgModule","line":37,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHostedDropdownModule","line":38,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit/components/input-tag","name":"TuiInputTagModule","line":39,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit/components/multi-select-option","name":"TuiMultiSelectOptionModule","line":40,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiPrimitiveCheckboxModule","line":41,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListModule","line":42,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiMultiSelectComponent"},{"__symbolic":"reference","name":"TuiMultiSelectGroupComponent"},{"__symbolic":"reference","name":"TuiMultiSelectGroupDirective"},{"__symbolic":"reference","name":"TuiHideSelectedPipe"}],"exports":[{"__symbolic":"reference","name":"TuiMultiSelectComponent"},{"__symbolic":"reference","name":"TuiMultiSelectGroupComponent"},{"__symbolic":"reference","name":"TuiMultiSelectGroupDirective"},{"__symbolic":"reference","name":"TuiHideSelectedPipe"}]}]}],"members":{}},"TuiMultiSelectGroupComponent":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":32,"character":1},"arguments":[{"selector":"tui-opt-group[tuiMultiSelectGroup]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":36,"character":21},"member":"OnPush"},"viewProviders":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_OPTION_CONTENT","line":39,"character":21},"useValue":null}],"template":"<ng-container *tuiLet=\"value$ | async as value\">\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiOption\n [size]=\"size\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n <tui-primitive-checkbox\n class=\"t-checkbox\"\n [size]=\"checkboxSize\"\n [value]=\"value\"\n ></tui-primitive-checkbox>\n <span class=\"t-label\">{{ label }}</span>\n </button>\n</ng-container>\n<ng-content></ng-content>\n","styles":[":host{display:flex;flex-direction:column}:host:before{content:''}.t-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:var(--tui-font-text-xs);flex:1;color:var(--tui-text-02)}.t-checkbox{margin-right:.75rem}"]}]}],"members":{"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":45,"character":5},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiOptionComponent","line":45,"character":21}]}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":49,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":53,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_DATA_LIST_HOST","line":53,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":54,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"TuiDataListHost","module":"@taiga-ui/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":53,"character":75,"context":{"typeName":"T"},"module":"./multi-select-group/multi-select-group.component"}]},{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":54,"character":53}]}],"empty$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":65,"character":5}]}],"disabled$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":70,"character":5}]}],"value$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":77,"character":5}]}],"onClick":[{"__symbolic":"method"}],"items$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":122,"character":5}]}],"valueChanges$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":129,"character":5}]}],"filter":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":136,"character":5}]}]}},"hostFallbackFactory":{"__symbolic":"function","parameters":["control","host"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"host"},"right":{"__symbolic":"error","message":"Lambda not supported","line":16,"character":26,"module":"./multi-select-group/multi-select-group.directive"}}},"TUI_MULTI_SELECT_OPTION":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusComponent","line":34,"character":43},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/components/multi-select-option","name":"TuiMultiSelectOptionComponent","line":35,"character":4}]},"MULTI_SELECT_ACCESSOR":{"writeValue":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"EMPTY_FUNCTION","line":40,"character":16},"registerOnChange":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"EMPTY_FUNCTION","line":41,"character":22},"registerOnTouched":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"EMPTY_FUNCTION","line":42,"character":23}},"TuiMultiSelectGroupDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":45,"character":1},"arguments":[{"selector":"[tuiMultiSelectGroup]","providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_OPTION_CONTENT","line":49,"character":21},"useValue":{"__symbolic":"reference","name":"TUI_MULTI_SELECT_OPTION"}},{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TUI_DATA_LIST_HOST","line":53,"character":21},"deps":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":55,"character":16},[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":56,"character":21}},{"__symbolic":"reference","name":"TuiMultiSelectComponent"}]],"useFactory":{"__symbolic":"reference","name":"hostFallbackFactory"}},{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":61,"character":21},"multi":true,"useValue":{"__symbolic":"reference","name":"MULTI_SELECT_ACCESSOR"}}]}]}],"members":{}},"TuiMultiSelectOptions":{"__symbolic":"interface"},"TUI_MULTI_SELECT_DEFAULT_OPTIONS":{"expandable":true,"valueContent":""},"TUI_MULTI_SELECT_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":14,"character":44},"arguments":["Default parameters for multi select component",{"__symbolic":"error","message":"Lambda not supported","line":17,"character":13,"module":"./multi-select-options"}]},"tuiMultiSelectOptionsProvider":{"__symbolic":"error","message":"Lambda not supported","line":22,"character":21,"module":"./multi-select-options"}},"origins":{"TuiHideSelectedPipe":"./hide-selected.pipe","TuiMultiSelectComponent":"./multi-select.component","TuiMultiSelectModule":"./multi-select.module","TuiMultiSelectGroupComponent":"./multi-select-group/multi-select-group.component","hostFallbackFactory":"./multi-select-group/multi-select-group.directive","TUI_MULTI_SELECT_OPTION":"./multi-select-group/multi-select-group.directive","MULTI_SELECT_ACCESSOR":"./multi-select-group/multi-select-group.directive","TuiMultiSelectGroupDirective":"./multi-select-group/multi-select-group.directive","TuiMultiSelectOptions":"./multi-select-options","TUI_MULTI_SELECT_DEFAULT_OPTIONS":"./multi-select-options","TUI_MULTI_SELECT_OPTIONS":"./multi-select-options","tuiMultiSelectOptionsProvider":"./multi-select-options"},"importAs":"@taiga-ui/kit/components/multi-select"}
@@ -1,12 +1,14 @@
1
- import { EventEmitter } from '@angular/core';
1
+ import { ChangeDetectorRef, EventEmitter } from '@angular/core';
2
2
  import { TuiOrientationT } from '@taiga-ui/core';
3
3
  import { Observable } from 'rxjs';
4
4
  export declare class TuiStepperComponent {
5
+ private readonly changeDetector;
5
6
  private readonly steps;
6
7
  orientation: TuiOrientationT;
7
8
  set activeIndex(index: number);
8
9
  readonly activeItemIndexChange: EventEmitter<number>;
9
10
  activeItemIndex: number;
11
+ constructor(changeDetector: ChangeDetectorRef);
10
12
  get changes$(): Observable<unknown>;
11
13
  onHorizontal(event: Event, step: number): void;
12
14
  onVertical(event: Event, step: number): void;
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiStepComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":21,"character":21},"member":"OnPush"},"providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":22,"character":16},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiRouterLinkActiveService","line":22,"character":35},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusVisibleService","line":22,"character":63}],"host":{"type":"button"},"template":"<tui-svg\n *ngIf=\"icon\"\n class=\"t-marker t-marker_custom\"\n [src]=\"icon\"\n></tui-svg>\n<tui-svg\n src=\"tuiIconWarningLarge\"\n class=\"t-marker t-marker_error\"\n></tui-svg>\n<tui-svg\n src=\"tuiIconCheckLarge\"\n class=\"t-marker t-marker_pass\"\n></tui-svg>\n<div class=\"t-marker t-marker_index\"></div>\n<ng-content></ng-content>\n","styles":[":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;position:relative;display:flex;align-items:center;flex-shrink:0;color:var(--tui-link);margin-right:2rem;outline:0;cursor:pointer;text-decoration:none;counter-increment:steps}:host:disabled{pointer-events:none;color:var(--tui-base-07)}:host:hover{color:var(--tui-link-hover)}:host:not(:last-of-type)._vertical{margin-bottom:1.25rem}:host._active,:host._active:hover{color:var(--tui-text-01);cursor:default}:host._focus-visible:before{content:'';position:absolute;left:2.75rem;right:0;top:50%;height:1.5rem;margin-top:-.75rem;background:var(--tui-selection)}.t-marker{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:2rem;height:2rem;border-radius:100%;margin-right:.75rem;flex-shrink:0;align-items:center;justify-content:center;background:var(--tui-secondary);color:var(--tui-link)}:host:disabled .t-marker{background:var(--tui-base-03);color:var(--tui-base-07)}.t-marker_index:before{content:counter(steps)}:host:hover .t-marker_index{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}:host._active .t-marker_index{color:var(--tui-primary-text);background:var(--tui-primary)}:host:not(._active) .t-marker_custom~.t-marker_index,:host:not([data-state=normal]):not(._active) .t-marker_index{display:none}.t-marker_error{background:var(--tui-error-bg);color:var(--tui-error-fill)}:host:hover .t-marker_error{background:var(--tui-error-bg-hover);color:var(--tui-error-fill)}:host._active .t-marker_error,:host:not([data-state=error]) .t-marker_error{display:none}:host._active .t-marker_pass,:host:not([data-state=pass]) .t-marker_pass{display:none}:host._active .t-marker_custom,:host:not([data-state=normal]) .t-marker_custom{display:none}:host:hover .t-marker_custom{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}"]}]}],"members":{"state":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":29,"character":5},"arguments":["attr.data-state"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":30,"character":5}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":34,"character":5}}]}],"focusVisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":37,"character":5},"arguments":["class._focus-visible"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":41,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusVisibleService","line":41,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":42,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiRouterLinkActiveService","line":42,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":43,"character":9},"arguments":[{"__symbolic":"reference","name":"TuiStepperComponent"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":44,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":44,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusVisibleService","line":41,"character":55},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"boolean"}]},{"__symbolic":"reference","name":"TuiStepperComponent"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":44,"character":68,"context":{"typeName":"HTMLElement"},"module":"./step/step.component"}]}]}],"isActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":55,"character":5},"arguments":["class._active"]}]}],"isVertical":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":60,"character":5},"arguments":["class._vertical"]}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":65,"character":5},"arguments":["tabIndex"]}]}],"activate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":74,"character":5},"arguments":["click"]}]}]}},"TuiStepperComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":38,"character":1},"arguments":[{"selector":"tui-stepper, nav[tuiStepper]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":42,"character":21},"member":"OnPush"},"template":"<ng-container *ngIf=\"changes$ | async\"></ng-container>\n<ng-content></ng-content>\n","styles":[":host{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;counter-reset:steps;scroll-behavior:smooth}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host[data-orientation=vertical]{flex-direction:column}"]}]}],"members":{"steps":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":45,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiStepComponent"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":45,"character":64}}]}]}],"orientation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":49,"character":5},"arguments":["attr.data-orientation"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":50,"character":5}}]}],"activeIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":5},"arguments":["activeItemIndex"]}]}],"activeItemIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":5}}]}],"changes$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":64,"character":5}]}],"onHorizontal":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":71,"character":5},"arguments":["keydown.arrowRight",["$event","1"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":72,"character":5},"arguments":["keydown.arrowLeft",["$event","-1"]]}]}],"onVertical":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":82,"character":5},"arguments":["keydown.arrowDown",["$event","1"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":83,"character":5},"arguments":["keydown.arrowUp",["$event","-1"]]}]}],"indexOf":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}],"activate":[{"__symbolic":"method"}],"getNativeElements":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":113,"character":5}]}],"moveFocus":[{"__symbolic":"method"}],"scrollIntoView":[{"__symbolic":"method"}]}},"TuiStepperModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":14},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgModule","line":8,"character":28}],"declarations":[{"__symbolic":"reference","name":"TuiStepperComponent"},{"__symbolic":"reference","name":"TuiStepComponent"}],"exports":[{"__symbolic":"reference","name":"TuiStepperComponent"},{"__symbolic":"reference","name":"TuiStepComponent"}]}]}],"members":{}}},"origins":{"TuiStepComponent":"./step/step.component","TuiStepperComponent":"./stepper.component","TuiStepperModule":"./stepper.module"},"importAs":"@taiga-ui/kit/components/stepper"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiStepComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":21,"character":21},"member":"OnPush"},"providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":22,"character":16},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiRouterLinkActiveService","line":22,"character":35},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusVisibleService","line":22,"character":63}],"host":{"type":"button"},"template":"<tui-svg\n *ngIf=\"icon\"\n class=\"t-marker t-marker_custom\"\n [src]=\"icon\"\n></tui-svg>\n<tui-svg\n src=\"tuiIconWarningLarge\"\n class=\"t-marker t-marker_error\"\n></tui-svg>\n<tui-svg\n src=\"tuiIconCheckLarge\"\n class=\"t-marker t-marker_pass\"\n></tui-svg>\n<div class=\"t-marker t-marker_index\"></div>\n<ng-content></ng-content>\n","styles":[":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;position:relative;display:flex;align-items:center;flex-shrink:0;color:var(--tui-link);margin-right:2rem;outline:0;cursor:pointer;text-decoration:none;counter-increment:steps}:host:disabled{pointer-events:none;color:var(--tui-base-07)}:host:hover{color:var(--tui-link-hover)}:host:not(:last-of-type)._vertical{margin-bottom:1.25rem}:host._active,:host._active:hover{color:var(--tui-text-01);cursor:default}:host._focus-visible:before{content:'';position:absolute;left:2.75rem;right:0;top:50%;height:1.5rem;margin-top:-.75rem;background:var(--tui-selection)}.t-marker{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:2rem;height:2rem;border-radius:100%;margin-right:.75rem;flex-shrink:0;align-items:center;justify-content:center;background:var(--tui-secondary);color:var(--tui-link)}:host:disabled .t-marker{background:var(--tui-base-03);color:var(--tui-base-07)}.t-marker_index:before{content:counter(steps)}:host:hover .t-marker_index{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}:host._active .t-marker_index{color:var(--tui-primary-text);background:var(--tui-primary)}:host:not(._active) .t-marker_custom~.t-marker_index,:host:not([data-state=normal]):not(._active) .t-marker_index{display:none}.t-marker_error{background:var(--tui-error-bg);color:var(--tui-error-fill)}:host:hover .t-marker_error{background:var(--tui-error-bg-hover);color:var(--tui-error-fill)}:host._active .t-marker_error,:host:not([data-state=error]) .t-marker_error{display:none}:host._active .t-marker_pass,:host:not([data-state=pass]) .t-marker_pass{display:none}:host._active .t-marker_custom,:host:not([data-state=normal]) .t-marker_custom{display:none}:host:hover .t-marker_custom{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}"]}]}],"members":{"state":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":29,"character":5},"arguments":["attr.data-state"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":30,"character":5}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":34,"character":5}}]}],"focusVisible":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":37,"character":5},"arguments":["class._focus-visible"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":41,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusVisibleService","line":41,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":42,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiRouterLinkActiveService","line":42,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":43,"character":9},"arguments":[{"__symbolic":"reference","name":"TuiStepperComponent"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":44,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":44,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusVisibleService","line":41,"character":55},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"boolean"}]},{"__symbolic":"reference","name":"TuiStepperComponent"},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":44,"character":68,"context":{"typeName":"HTMLElement"},"module":"./step/step.component"}]}]}],"isActive":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":55,"character":5},"arguments":["class._active"]}]}],"isVertical":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":60,"character":5},"arguments":["class._vertical"]}]}],"tabIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":65,"character":5},"arguments":["tabIndex"]}]}],"activate":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":74,"character":5},"arguments":["click"]}]}]}},"TuiStepperComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":40,"character":1},"arguments":[{"selector":"tui-stepper, nav[tuiStepper]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":44,"character":21},"member":"OnPush"},"template":"<ng-container *ngIf=\"changes$ | async\"></ng-container>\n<ng-content></ng-content>\n","styles":[":host{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;counter-reset:steps;scroll-behavior:smooth}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host[data-orientation=vertical]{flex-direction:column}"]}]}],"members":{"steps":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":47,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiStepComponent"},{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":47,"character":64}}]}]}],"orientation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":51,"character":5},"arguments":["attr.data-orientation"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":52,"character":5}}]}],"activeIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":5},"arguments":["activeItemIndex"]}]}],"activeItemIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":61,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":67,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":67,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":67,"character":68}]}],"changes$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":70,"character":5}]}],"onHorizontal":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":77,"character":5},"arguments":["keydown.arrowRight",["$event","1"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":78,"character":5},"arguments":["keydown.arrowLeft",["$event","-1"]]}]}],"onVertical":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":88,"character":5},"arguments":["keydown.arrowDown",["$event","1"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":89,"character":5},"arguments":["keydown.arrowUp",["$event","-1"]]}]}],"indexOf":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}],"activate":[{"__symbolic":"method"}],"getNativeElements":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":121,"character":5}]}],"moveFocus":[{"__symbolic":"method"}],"scrollIntoView":[{"__symbolic":"method"}]}},"TuiStepperModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":14},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgModule","line":8,"character":28}],"declarations":[{"__symbolic":"reference","name":"TuiStepperComponent"},{"__symbolic":"reference","name":"TuiStepComponent"}],"exports":[{"__symbolic":"reference","name":"TuiStepperComponent"},{"__symbolic":"reference","name":"TuiStepComponent"}]}]}],"members":{}}},"origins":{"TuiStepComponent":"./step/step.component","TuiStepperComponent":"./stepper.component","TuiStepperModule":"./stepper.module"},"importAs":"@taiga-ui/kit/components/stepper"}
@@ -208,7 +208,7 @@ __decorate([
208
208
  TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
209
209
  Component({
210
210
  selector: 'tui-input-slider',
211
- template: "<tui-input-number\n [min]=\"min\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [prefix]=\"showValueContent ? '' : prefix\"\n [postfix]=\"showValueContent ? '' : postfix || (value | i18nPlural: pluralizeMap || pluralizeMapFallback)\"\n [tuiTextfieldCustomContent]=\"controller.customContent || deprecatedSecondary\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"computedSize !== 'l'\"\n [readOnly]=\"readOnly\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoPressed]=\"computedPressed\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [ngModel]=\"value\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showValueContent\"\n polymorpheus-outlet\n automation-id=\"tui-input-slider__value-content\"\n [content]=\"computedValueContent\"\n [context]=\"{$implicit: value}\"\n ></div>\n</tui-input-number>\n\n<!--TODO: remove in v3.0-->\n<ng-template #deprecatedSecondary>{{ secondary }}</ng-template>\n\n<!--TODO: remove wrapper + ticks labels (leave only slider) in v3.0-->\n<div class=\"t-slider-wrapper\">\n <input\n tuiSlider\n type=\"range\"\n [tuiFocusable]=\"false\"\n [max]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"computedKeySteps\"\n [attr.disabled]=\"readOnly || disabled || null\"\n [ngModel]=\"value\"\n (keyStepsInput)=\"onSliderChange($event)\"\n (click)=\"focusTextInput()\"\n />\n\n <!--TODO delete ticks labels in v3.0-->\n <div\n *ngIf=\"segments && !isNew\"\n class=\"t-ticks-labels\"\n >\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\">\n {{ getTickPrefix(tickIndex, segments, fromToText) }}\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | tuiFormatNumber }}\n <span *ngIf=\"segmentsPluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | i18nPlural: segmentsPluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n</div>\n",
211
+ template: "<tui-input-number\n [min]=\"min\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [prefix]=\"showValueContent ? '' : prefix\"\n [postfix]=\"showValueContent ? '' : postfix || (value | i18nPlural: pluralizeMap || pluralizeMapFallback)\"\n [tuiTextfieldCustomContent]=\"controller.customContent || deprecatedSecondary\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"computedSize !== 'l'\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoPressed]=\"computedPressed\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [ngModel]=\"value\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showValueContent\"\n polymorpheus-outlet\n automation-id=\"tui-input-slider__value-content\"\n [content]=\"computedValueContent\"\n [context]=\"{$implicit: value}\"\n ></div>\n</tui-input-number>\n\n<!--TODO: remove in v3.0-->\n<ng-template #deprecatedSecondary>{{ secondary }}</ng-template>\n\n<!--TODO: remove wrapper + ticks labels (leave only slider) in v3.0-->\n<div class=\"t-slider-wrapper\">\n <input\n tuiSlider\n type=\"range\"\n [tuiFocusable]=\"false\"\n [max]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"computedKeySteps\"\n [attr.disabled]=\"readOnly || computedDisabled || null\"\n [ngModel]=\"value\"\n (keyStepsInput)=\"onSliderChange($event)\"\n (click)=\"focusTextInput()\"\n />\n\n <!--TODO delete ticks labels in v3.0-->\n <div\n *ngIf=\"segments && !isNew\"\n class=\"t-ticks-labels\"\n >\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\">\n {{ getTickPrefix(tickIndex, segments, fromToText) }}\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | tuiFormatNumber }}\n <span *ngIf=\"segmentsPluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | i18nPlural: segmentsPluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n</div>\n",
212
212
  host: {
213
213
  /**
214
214
  * TODO delete it in v3.0
@@ -265,4 +265,4 @@ function legacyMinMaxLabel({ min, max, minLabel, maxLabel, i18nPlural, pluralize
265
265
  }
266
266
  };
267
267
  }
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsS0FBSyxFQUNMLGVBQWUsRUFDZixLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLDJCQUEyQixFQUMzQixTQUFTLEVBRVQsY0FBYyxHQUdqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4Qiw2QkFBNkIsRUFDN0IsZ0NBQWdDLEVBQ2hDLFdBQVcsRUFDWCxRQUFRLEVBQ1Isc0JBQXNCLEdBQ3pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUNILGtCQUFrQixFQUNsQix3QkFBd0IsR0FDM0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUd2RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0s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LENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMvRCxFQUFFLENBQUM7UUFFSCxRQUFRLEtBQUssRUFBRTtZQUNYLEtBQUssR0FBRztnQkFDSixPQUFPLFFBQVEsSUFBSSxlQUFlLENBQUM7WUFDdkMsS0FBSyxHQUFHO2dCQUNKLE9BQU8sUUFBUSxJQUFJLGVBQWUsQ0FBQztZQUN2QztnQkFDSSxPQUFPLGVBQWUsQ0FBQztTQUM5QjtJQUNMLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0kxOG5QbHVyYWxQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgY2xhbXAsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHJvdW5kLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aUFzc2VydCxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgZ2V0RnJhY3Rpb25QYXJ0UGFkZGVkLFxuICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlEZWNpbWFsVCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW5wdXRTbGlkZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlJbnB1dE51bWJlckNvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlcic7XG5pbXBvcnQge1xuICAgIFR1aVNsaWRlckNvbXBvbmVudCxcbiAgICB0dWlTbGlkZXJPcHRpb25zUHJvdmlkZXIsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXInO1xuaW1wb3J0IHtUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9GUk9NX1RPX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1R1aUtleVN0ZXBzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVHVybiBvbiBuZXcgYElucHV0U2xpZGVyYCdzIHZlcnNpb24uXG4gKiBUaGUgbmV3IHZlcnNpb24gd2lsbCBiZWhhdmUgYWxtb3N0IHRoZSBzYW1lIGFzIGBJbnB1dFNsaWRlcmAgZnJvbSB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuICogQGRlcHJlY2F0ZWQgVE9ETyByZW1vdmUgbWUgaW4gdjMuMCBhbmQgbWFrZSBgSW5wdXRTbGlkZXJgIGFsd2F5cyBcIm5ld1wiLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXJbbmV3XScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aU5ld0lucHV0U2xpZGVyRGlyZWN0aXZlIHt9XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zbGlkZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtc2xpZGVyLnN0eWxlLmxlc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUT0RPIGRlbGV0ZSBpdCBpbiB2My4wXG4gICAgICAgICAqIERvbnQgZm9yZ2V0IHRvIGNsZWFyIGh0bWwtdGFnc1xuICAgICAgICAgKi9cbiAgICAgICAgJ1tjbGFzcy5fc2hvdy10aWNrcy1sYWJlbHNdJzogJyFpc05ldycsXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgSTE4blBsdXJhbFBpcGUsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0U2xpZGVyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgdHVpU2xpZGVyT3B0aW9uc1Byb3ZpZGVyKHt0cmFja0NvbG9yOiAndHJhbnNwYXJlbnQnfSksXG4gICAgICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbn0pXG4vKipcbiAqIFRPRE8gcmVwbGFjZSBgZXh0ZW5kcyBBYnN0cmFjdFR1aUlucHV0U2xpZGVyPG51bWJlcj5gIGJ5IGBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxudW1iZXI+IGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PG51bWJlcj5gXG4gKiBpbiB2My4wXG4gKi9cbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFNsaWRlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXROdW1iZXJSZWY/OiBUdWlJbnB1dE51bWJlckNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoVHVpU2xpZGVyQ29tcG9uZW50LCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBzbGlkZXJSZWY/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcChxdWFudHVtQXNzZXJ0aW9uLCAnUXVhbnR1bSBtdXN0IGJlIHBvc2l0aXZlJylcbiAgICBxdWFudHVtID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGVwcyA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VnbWVudHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4+ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHJlZml4ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcG9zdGZpeCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGB0dWlUZXh0ZmllbGRDdXN0b21Db250ZW50YCBpbnN0ZWFkXG4gICAgICogVE9ETyBkZWxldGUgaW4gdjMuMFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZWNvbmRhcnkgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0ZST01fVE9fVEVYVFMpIHJlYWRvbmx5IGZyb21Ub1RleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgaXNOZXc6IFR1aU5ld0lucHV0U2xpZGVyRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChJMThuUGx1cmFsUGlwZSkgcmVhZG9ubHkgaTE4blBsdXJhbDogSTE4blBsdXJhbFBpcGUsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnB1dE51bWJlclJlZj8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmlucHV0TnVtYmVyUmVmLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB8fFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMuc2xpZGVyUmVmPy5uYXRpdmVFbGVtZW50IHx8IG51bGwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkU3RlcHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcHMgfHwgKHRoaXMubWF4IC0gdGhpcy5taW4pIC8gdGhpcy5xdWFudHVtO1xuICAgIH1cblxuICAgIGdldCBwcmVjaXNpb24oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldEZyYWN0aW9uUGFydFBhZGRlZCh0aGlzLnF1YW50dW0pLmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXQgZGVjaW1hbCgpOiBUdWlEZWNpbWFsVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWNpc2lvbiA/ICdub3QtemVybycgOiAnbmV2ZXInO1xuICAgIH1cblxuICAgIGdldCBzaG93VmFsdWVDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLmNvbXB1dGVkVmFsdWVDb250ZW50ICYmICF0aGlzLmZvY3VzZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRPRE8gcmVtb3ZlIG9sZCBwcm9wZXJ0eSBgc2l6ZWAgaW4gdjMuMFxuICAgICAqL1xuICAgIGdldCBjb21wdXRlZFNpemUoKTogVHVpU2l6ZUwge1xuICAgICAgICBpZiAodGhpcy5pc05ldykge1xuICAgICAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2l6ZSAhPT0gJ3MnLFxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcXVvdGVzXG4gICAgICAgICAgICAgICAgXCJTaXplICdzJyBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgaW5wdXQuXCIsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLnNpemUgPT09ICdsJyA/ICdsJyA6ICdtJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnNpemU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICAgKiBUT0RPIHJlcGxhY2UgYnkganVzdCBgdGhpcy52YWx1ZUNvbnRlbnRgIGluIHYzLjBcbiAgICAgKi9cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZUNvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluTGFiZWwgfHwgdGhpcy5tYXhMYWJlbFxuICAgICAgICAgICAgPyBsZWdhY3lNaW5NYXhMYWJlbCh0aGlzKVxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlQ29udGVudDtcbiAgICB9XG5cbiAgICBmb2N1c1RleHRJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudCA9IHRoaXMuaW5wdXROdW1iZXJSZWY/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoZm9jdXNhYmxlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzYWZlbHlVcGRhdGVWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWVHdWFyZCh2YWx1ZSA/PyB0aGlzLnNhZmVDdXJyZW50VmFsdWUpKTtcbiAgICB9XG5cbiAgICBvblZlcnRpY2FsQXJyb3dLZXlEb3duKGNvZWZmaWNpZW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkgfHwgIXRoaXMuc3RlcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlICsgY29lZmZpY2llbnQgKiB0aGlzLnN0ZXA7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNhZmVseVVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodGhpcy52YWx1ZUd1YXJkKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgb25TbGlkZXJDaGFuZ2UobmV3VmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNhZmVseVVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVUZXh0SW5wdXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCB7dmFsdWUsIHRleHRJbnB1dFZhbHVlLCBzYWZlQ3VycmVudFZhbHVlLCBpbnB1dE51bWJlclJlZn0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghZm9jdXNlZCAmJiB0ZXh0SW5wdXRWYWx1ZSAhPT0gaW5wdXROdW1iZXJSZWY/LmdldEZvcm1hdHRlZFZhbHVlKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0SW5wdXRWYWx1ZSh2YWx1ZSA/PyBzYWZlQ3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvblByZXNzZWQocHJlc3NlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVByZXNzZWQocHJlc3NlZCk7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRleHRJbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0TnVtYmVyUmVmPy5uYXRpdmVWYWx1ZSB8fCAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmFsdWVHdWFyZCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qgcm91bmRlZFZhbHVlID0gcm91bmQoXG4gICAgICAgICAgICBNYXRoLnJvdW5kKHZhbHVlIC8gdGhpcy5xdWFudHVtKSAqIHRoaXMucXVhbnR1bSxcbiAgICAgICAgICAgIFRVSV9GTE9BVElOR19QUkVDSVNJT04sXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGNsYW1wKHJvdW5kZWRWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRleHRJbnB1dFZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXROdW1iZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXROdW1iZXJSZWYubmF0aXZlVmFsdWUgPVxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXROdW1iZXJSZWYuZ2V0Rm9ybWF0dGVkVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBxdWFudHVtQXNzZXJ0aW9uKHF1YW50dW06IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBxdWFudHVtID4gMDtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBoZWxwZXIgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKiBUT0RPIHJlbW92ZSBpbiB2My4wXG4gKi9cbmZ1bmN0aW9uIGxlZ2FjeU1pbk1heExhYmVsKHtcbiAgICBtaW4sXG4gICAgbWF4LFxuICAgIG1pbkxhYmVsLFxuICAgIG1heExhYmVsLFxuICAgIGkxOG5QbHVyYWwsXG4gICAgcGx1cmFsaXplTWFwLFxufTogVHVpSW5wdXRTbGlkZXJDb21wb25lbnQpOiAoXG4gICAgY29udGV4dDogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+LFxuKSA9PiBudW1iZXIgfCBzdHJpbmcge1xuICAgIHJldHVybiAoeyRpbXBsaWNpdDogdmFsdWV9OiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4pID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVXaXRoUGx1cmFsID0gYCR7dmFsdWV9ICR7XG4gICAgICAgICAgICBwbHVyYWxpemVNYXAgPyBpMThuUGx1cmFsLnRyYW5zZm9ybSh2YWx1ZSwgcGx1cmFsaXplTWFwKSA6ICcnXG4gICAgICAgIH1gO1xuXG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgbWluOlxuICAgICAgICAgICAgICAgIHJldHVybiBtaW5MYWJlbCB8fCB2YWx1ZVdpdGhQbHVyYWw7XG4gICAgICAgICAgICBjYXNlIG1heDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF4TGFiZWwgfHwgdmFsdWVXaXRoUGx1cmFsO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVXaXRoUGx1cmFsO1xuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsS0FBSyxFQUNMLGVBQWUsRUFDZixLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLDJCQUEyQixFQUMzQixTQUFTLEVBRVQsY0FBYyxHQUdqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4Qiw2QkFBNkIsRUFDN0IsZ0NBQWdDLEVBQ2hDLFdBQVcsRUFDWCxRQUFRLEVBQ1Isc0JBQXNCLEdBQ3pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUNILGtCQUFrQixFQUNsQix3QkFBd0IsR0FDM0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUd2RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0s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LENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMvRCxFQUFFLENBQUM7UUFFSCxRQUFRLEtBQUssRUFBRTtZQUNYLEtBQUssR0FBRztnQkFDSixPQUFPLFFBQVEsSUFBSSxlQUFlLENBQUM7WUFDdkMsS0FBSyxHQUFHO2dCQUNKLE9BQU8sUUFBUSxJQUFJLGVBQWUsQ0FBQztZQUN2QztnQkFDSSxPQUFPLGVBQWUsQ0FBQztTQUM5QjtJQUNMLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0kxOG5QbHVyYWxQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgY2xhbXAsXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIHJvdW5kLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aUFzc2VydCxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgZ2V0RnJhY3Rpb25QYXJ0UGFkZGVkLFxuICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlEZWNpbWFsVCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW5wdXRTbGlkZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlJbnB1dE51bWJlckNvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlcic7XG5pbXBvcnQge1xuICAgIFR1aVNsaWRlckNvbXBvbmVudCxcbiAgICB0dWlTbGlkZXJPcHRpb25zUHJvdmlkZXIsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXInO1xuaW1wb3J0IHtUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9GUk9NX1RPX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1R1aUtleVN0ZXBzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogVHVybiBvbiBuZXcgYElucHV0U2xpZGVyYCdzIHZlcnNpb24uXG4gKiBUaGUgbmV3IHZlcnNpb24gd2lsbCBiZWhhdmUgYWxtb3N0IHRoZSBzYW1lIGFzIGBJbnB1dFNsaWRlcmAgZnJvbSB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuICogQGRlcHJlY2F0ZWQgVE9ETyByZW1vdmUgbWUgaW4gdjMuMCBhbmQgbWFrZSBgSW5wdXRTbGlkZXJgIGFsd2F5cyBcIm5ld1wiLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXJbbmV3XScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aU5ld0lucHV0U2xpZGVyRGlyZWN0aXZlIHt9XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1zbGlkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zbGlkZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtc2xpZGVyLnN0eWxlLmxlc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUT0RPIGRlbGV0ZSBpdCBpbiB2My4wXG4gICAgICAgICAqIERvbnQgZm9yZ2V0IHRvIGNsZWFyIGh0bWwtdGFnc1xuICAgICAgICAgKi9cbiAgICAgICAgJ1tjbGFzcy5fc2hvdy10aWNrcy1sYWJlbHNdJzogJyFpc05ldycsXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgSTE4blBsdXJhbFBpcGUsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0U2xpZGVyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgdHVpU2xpZGVyT3B0aW9uc1Byb3ZpZGVyKHt0cmFja0NvbG9yOiAndHJhbnNwYXJlbnQnfSksXG4gICAgICAgIEhJTlRfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbn0pXG4vKipcbiAqIFRPRE8gcmVwbGFjZSBgZXh0ZW5kcyBBYnN0cmFjdFR1aUlucHV0U2xpZGVyPG51bWJlcj5gIGJ5IGBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxudW1iZXI+IGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PG51bWJlcj5gXG4gKiBpbiB2My4wXG4gKi9cbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFNsaWRlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXROdW1iZXJSZWY/OiBUdWlJbnB1dE51bWJlckNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoVHVpU2xpZGVyQ29tcG9uZW50LCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBzbGlkZXJSZWY/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcChxdWFudHVtQXNzZXJ0aW9uLCAnUXVhbnR1bSBtdXN0IGJlIHBvc2l0aXZlJylcbiAgICBxdWFudHVtID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGVwcyA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VnbWVudHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4+ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHJlZml4ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcG9zdGZpeCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIGB0dWlUZXh0ZmllbGRDdXN0b21Db250ZW50YCBpbnN0ZWFkXG4gICAgICogVE9ETyBkZWxldGUgaW4gdjMuMFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZWNvbmRhcnkgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0ZST01fVE9fVEVYVFMpIHJlYWRvbmx5IGZyb21Ub1RleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgaXNOZXc6IFR1aU5ld0lucHV0U2xpZGVyRGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChJMThuUGx1cmFsUGlwZSkgcmVhZG9ubHkgaTE4blBsdXJhbDogSTE4blBsdXJhbFBpcGUsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnB1dE51bWJlclJlZj8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmlucHV0TnVtYmVyUmVmLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB8fFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMuc2xpZGVyUmVmPy5uYXRpdmVFbGVtZW50IHx8IG51bGwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkU3RlcHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcHMgfHwgKHRoaXMubWF4IC0gdGhpcy5taW4pIC8gdGhpcy5xdWFudHVtO1xuICAgIH1cblxuICAgIGdldCBwcmVjaXNpb24oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldEZyYWN0aW9uUGFydFBhZGRlZCh0aGlzLnF1YW50dW0pLmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXQgZGVjaW1hbCgpOiBUdWlEZWNpbWFsVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWNpc2lvbiA/ICdub3QtemVybycgOiAnbmV2ZXInO1xuICAgIH1cblxuICAgIGdldCBzaG93VmFsdWVDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLmNvbXB1dGVkVmFsdWVDb250ZW50ICYmICF0aGlzLmZvY3VzZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRPRE8gcmVtb3ZlIG9sZCBwcm9wZXJ0eSBgc2l6ZWAgaW4gdjMuMFxuICAgICAqL1xuICAgIGdldCBjb21wdXRlZFNpemUoKTogVHVpU2l6ZUwge1xuICAgICAgICBpZiAodGhpcy5pc05ldykge1xuICAgICAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2l6ZSAhPT0gJ3MnLFxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcXVvdGVzXG4gICAgICAgICAgICAgICAgXCJTaXplICdzJyBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgaW5wdXQuXCIsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLnNpemUgPT09ICdsJyA/ICdsJyA6ICdtJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnNpemU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICAgKiBUT0RPIHJlcGxhY2UgYnkganVzdCBgdGhpcy52YWx1ZUNvbnRlbnRgIGluIHYzLjBcbiAgICAgKi9cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZUNvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluTGFiZWwgfHwgdGhpcy5tYXhMYWJlbFxuICAgICAgICAgICAgPyBsZWdhY3lNaW5NYXhMYWJlbCh0aGlzKVxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlQ29udGVudDtcbiAgICB9XG5cbiAgICBmb2N1c1RleHRJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudCA9IHRoaXMuaW5wdXROdW1iZXJSZWY/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoZm9jdXNhYmxlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzYWZlbHlVcGRhdGVWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWVHdWFyZCh2YWx1ZSA/PyB0aGlzLnNhZmVDdXJyZW50VmFsdWUpKTtcbiAgICB9XG5cbiAgICBvblZlcnRpY2FsQXJyb3dLZXlEb3duKGNvZWZmaWNpZW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkgfHwgIXRoaXMuc3RlcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlICsgY29lZmZpY2llbnQgKiB0aGlzLnN0ZXA7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNhZmVseVVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodGhpcy52YWx1ZUd1YXJkKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgb25TbGlkZXJDaGFuZ2UobmV3VmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNhZmVseVVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVUZXh0SW5wdXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCB7dmFsdWUsIHRleHRJbnB1dFZhbHVlLCBzYWZlQ3VycmVudFZhbHVlLCBpbnB1dE51bWJlclJlZn0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghZm9jdXNlZCAmJiB0ZXh0SW5wdXRWYWx1ZSAhPT0gaW5wdXROdW1iZXJSZWY/LmdldEZvcm1hdHRlZFZhbHVlKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0SW5wdXRWYWx1ZSh2YWx1ZSA/PyBzYWZlQ3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvblByZXNzZWQocHJlc3NlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVByZXNzZWQocHJlc3NlZCk7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRleHRJbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0TnVtYmVyUmVmPy5uYXRpdmVWYWx1ZSB8fCAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmFsdWVHdWFyZCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qgcm91bmRlZFZhbHVlID0gcm91bmQoXG4gICAgICAgICAgICBNYXRoLnJvdW5kKHZhbHVlIC8gdGhpcy5xdWFudHVtKSAqIHRoaXMucXVhbnR1bSxcbiAgICAgICAgICAgIFRVSV9GTE9BVElOR19QUkVDSVNJT04sXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGNsYW1wKHJvdW5kZWRWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRleHRJbnB1dFZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXROdW1iZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXROdW1iZXJSZWYubmF0aXZlVmFsdWUgPVxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXROdW1iZXJSZWYuZ2V0Rm9ybWF0dGVkVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBxdWFudHVtQXNzZXJ0aW9uKHF1YW50dW06IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBxdWFudHVtID4gMDtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBoZWxwZXIgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKiBUT0RPIHJlbW92ZSBpbiB2My4wXG4gKi9cbmZ1bmN0aW9uIGxlZ2FjeU1pbk1heExhYmVsKHtcbiAgICBtaW4sXG4gICAgbWF4LFxuICAgIG1pbkxhYmVsLFxuICAgIG1heExhYmVsLFxuICAgIGkxOG5QbHVyYWwsXG4gICAgcGx1cmFsaXplTWFwLFxufTogVHVpSW5wdXRTbGlkZXJDb21wb25lbnQpOiAoXG4gICAgY29udGV4dDogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+LFxuKSA9PiBudW1iZXIgfCBzdHJpbmcge1xuICAgIHJldHVybiAoeyRpbXBsaWNpdDogdmFsdWV9OiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4pID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVXaXRoUGx1cmFsID0gYCR7dmFsdWV9ICR7XG4gICAgICAgICAgICBwbHVyYWxpemVNYXAgPyBpMThuUGx1cmFsLnRyYW5zZm9ybSh2YWx1ZSwgcGx1cmFsaXplTWFwKSA6ICcnXG4gICAgICAgIH1gO1xuXG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgbWluOlxuICAgICAgICAgICAgICAgIHJldHVybiBtaW5MYWJlbCB8fCB2YWx1ZVdpdGhQbHVyYWw7XG4gICAgICAgICAgICBjYXNlIG1heDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF4TGFiZWwgfHwgdmFsdWVXaXRoUGx1cmFsO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVXaXRoUGx1cmFsO1xuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==