@taiga-ui/kit 2.51.1 → 2.54.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.
- package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.js +1 -0
- package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +8 -2
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +7 -0
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.js +1 -0
- package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js +32 -4
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +2 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js +3 -2
- package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +2 -0
- package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js +13 -2
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +7 -5
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +2 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js +2 -12
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +1 -9
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-providers.umd.js +6 -0
- package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-dom.umd.js +14 -0
- package/bundles/taiga-ui-kit-utils-dom.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-dom.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-dom.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.js +12 -0
- package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-format.umd.js +4 -0
- package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-format.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-format.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.js +6 -0
- package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-math.umd.js +2 -2
- package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-math.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-math.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +10 -0
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
- package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
- package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
- package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
- package/components/files/taiga-ui-kit-components-files.metadata.json +1 -1
- package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
- package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
- package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
- package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
- package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
- package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
- package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
- package/components/input-phone-international/utils/extract-value-from-event.d.ts +4 -0
- package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
- package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
- package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
- package/components/line-clamp/index.d.ts +1 -0
- package/components/line-clamp/line-clamp-options.d.ts +7 -0
- package/components/line-clamp/line-clamp.component.d.ts +8 -3
- package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
- package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
- package/components/multi-select-option/taiga-ui-kit-components-multi-select-option.metadata.json +1 -1
- package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
- package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
- package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
- package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
- package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
- package/components/slider/slider.component.d.ts +1 -0
- package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
- package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
- package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
- package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
- package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
- package/directives/dropdown-context/dropdown-context.directive.d.ts +0 -1
- package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.metadata.json +1 -1
- package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.metadata.json +1 -1
- package/esm2015/abstract/input-slider.js +2 -1
- package/esm2015/components/accordion/accordion-item/accordion-item.component.js +3 -3
- package/esm2015/components/action/action.component.js +2 -2
- package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
- package/esm2015/components/files/file/file.component.js +2 -2
- package/esm2015/components/files/files.component.js +2 -2
- package/esm2015/components/input-file/file/file.component.js +2 -2
- package/esm2015/components/input-files/input-files.component.js +2 -2
- package/esm2015/components/input-month/input-month.component.js +2 -2
- package/esm2015/components/input-month-range/input-month-range.component.js +2 -2
- package/esm2015/components/input-number/input-number.component.js +9 -3
- package/esm2015/components/input-phone/input-phone.providers.js +2 -1
- package/esm2015/components/input-phone-international/const/countries.js +2 -1
- package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +6 -1
- package/esm2015/components/input-range/input-range.component.js +2 -2
- package/esm2015/components/input-slider/input-slider.component.js +2 -2
- package/esm2015/components/input-tag/input-tag.component.js +2 -2
- package/esm2015/components/line-clamp/index.js +2 -1
- package/esm2015/components/line-clamp/line-clamp-options.js +12 -0
- package/esm2015/components/line-clamp/line-clamp.component.js +23 -8
- package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -1
- package/esm2015/components/multi-select/multi-select.component.js +1 -1
- package/esm2015/components/multi-select-option/multi-select-option.component.js +2 -2
- package/esm2015/components/pagination/pagination.component.js +5 -4
- package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
- package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +3 -1
- package/esm2015/components/range/range.component.js +2 -2
- package/esm2015/components/select-option/select-option.component.js +2 -2
- package/esm2015/components/slider/slider-key-steps.directive.js +2 -1
- package/esm2015/components/slider/slider-old.component.js +2 -2
- package/esm2015/components/slider/slider.component.js +12 -2
- package/esm2015/components/tabs/tab/tab.component.js +1 -1
- package/esm2015/components/tabs/tab/tab.providers.js +2 -1
- package/esm2015/components/tabs/tabs/tabs.component.js +3 -3
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -1
- package/esm2015/components/tag/tag.component.js +1 -1
- package/esm2015/components/text-area/text-area.component.js +2 -2
- package/esm2015/components/tree/components/tree-item/tree-item.providers.js +2 -1
- package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +2 -2
- package/esm2015/directives/dropdown-context/dropdown-context.directive.js +4 -14
- package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +3 -11
- package/esm2015/providers/month-formatter.provider.js +5 -1
- package/esm2015/providers/specific-dropdown-controllers.js +3 -1
- package/esm2015/utils/dom/get-word-range.js +4 -1
- package/esm2015/utils/dom/scroll-to-element.js +6 -1
- package/esm2015/utils/dom/set-range-offset.js +4 -1
- package/esm2015/utils/files/format-size.js +6 -1
- package/esm2015/utils/files/get-accept-array.js +6 -1
- package/esm2015/utils/format/string-hash-to-hsl.js +4 -1
- package/esm2015/utils/mask/create-auto-corrected-date-pipe.js +6 -1
- package/esm2015/utils/math/horizontal-direction-to-number.js +2 -2
- package/esm2015/utils/miscellaneous/get-precision.js +4 -1
- package/esm2015/utils/miscellaneous/is-flat.js +6 -1
- package/esm5/abstract/input-slider.js +2 -1
- package/esm5/components/accordion/accordion-item/accordion-item.component.js +3 -3
- package/esm5/components/action/action.component.js +2 -2
- package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
- package/esm5/components/files/file/file.component.js +2 -2
- package/esm5/components/files/files.component.js +2 -2
- package/esm5/components/input-file/file/file.component.js +2 -2
- package/esm5/components/input-files/input-files.component.js +2 -2
- package/esm5/components/input-month/input-month.component.js +2 -2
- package/esm5/components/input-month-range/input-month-range.component.js +2 -2
- package/esm5/components/input-number/input-number.component.js +9 -3
- package/esm5/components/input-phone/input-phone.providers.js +2 -1
- package/esm5/components/input-phone-international/const/countries.js +2 -1
- package/esm5/components/input-phone-international/utils/extract-value-from-event.js +6 -1
- package/esm5/components/input-range/input-range.component.js +2 -2
- package/esm5/components/input-slider/input-slider.component.js +2 -2
- package/esm5/components/input-tag/input-tag.component.js +2 -2
- package/esm5/components/line-clamp/index.js +2 -1
- package/esm5/components/line-clamp/line-clamp-options.js +13 -0
- package/esm5/components/line-clamp/line-clamp.component.js +23 -8
- package/esm5/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -1
- package/esm5/components/multi-select/multi-select.component.js +1 -1
- package/esm5/components/multi-select-option/multi-select-option.component.js +2 -2
- package/esm5/components/pagination/pagination.component.js +5 -4
- package/esm5/components/pdf-viewer/pdf-viewer.component.js +2 -2
- package/esm5/components/progress/progress-segmented/progress-segmented.component.js +3 -1
- package/esm5/components/range/range.component.js +2 -2
- package/esm5/components/select-option/select-option.component.js +2 -2
- package/esm5/components/slider/slider-key-steps.directive.js +2 -1
- package/esm5/components/slider/slider-old.component.js +2 -2
- package/esm5/components/slider/slider.component.js +12 -2
- package/esm5/components/tabs/tab/tab.component.js +1 -1
- package/esm5/components/tabs/tab/tab.providers.js +2 -1
- package/esm5/components/tabs/tabs/tabs.component.js +3 -3
- package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
- package/esm5/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -1
- package/esm5/components/tag/tag.component.js +1 -1
- package/esm5/components/text-area/text-area.component.js +2 -2
- package/esm5/components/tree/components/tree-item/tree-item.providers.js +2 -1
- package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +2 -2
- package/esm5/directives/dropdown-context/dropdown-context.directive.js +4 -14
- package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +3 -11
- package/esm5/providers/month-formatter.provider.js +5 -1
- package/esm5/providers/specific-dropdown-controllers.js +3 -1
- package/esm5/utils/dom/get-word-range.js +4 -1
- package/esm5/utils/dom/scroll-to-element.js +6 -1
- package/esm5/utils/dom/set-range-offset.js +4 -1
- package/esm5/utils/files/format-size.js +6 -1
- package/esm5/utils/files/get-accept-array.js +6 -1
- package/esm5/utils/format/string-hash-to-hsl.js +4 -1
- package/esm5/utils/mask/create-auto-corrected-date-pipe.js +6 -1
- package/esm5/utils/math/horizontal-direction-to-number.js +2 -2
- package/esm5/utils/miscellaneous/get-precision.js +4 -1
- package/esm5/utils/miscellaneous/is-flat.js +6 -1
- package/fesm2015/taiga-ui-kit-abstract.js +1 -0
- package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-accordion.js +2 -2
- package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-action.js +1 -1
- package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js +2 -2
- package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-file.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +8 -2
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +7 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone.js +1 -0
- package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js +33 -8
- package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select-option.js +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +2 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js +4 -3
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js +2 -0
- package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-range.js +1 -1
- package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js +13 -2
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +7 -5
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js +2 -1
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +3 -13
- package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +2 -10
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
- package/fesm2015/taiga-ui-kit-providers.js +6 -0
- package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-dom.js +12 -1
- package/fesm2015/taiga-ui-kit-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-files.js +11 -1
- package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-format.js +4 -1
- package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-mask.js +6 -1
- package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-math.js +2 -2
- package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +9 -1
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-kit-abstract.js +1 -0
- package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-accordion.js +2 -2
- package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-action.js +1 -1
- package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-breadcrumbs.js +1 -1
- package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-files.js +2 -2
- package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-file.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-files.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-number.js +8 -2
- package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone-international.js +7 -1
- package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone.js +1 -0
- package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-range.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-slider.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-line-clamp.js +34 -9
- package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select-option.js +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js +2 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-pagination.js +4 -3
- package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-pdf-viewer.js +1 -1
- package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-progress.js +2 -0
- package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-range.js +1 -1
- package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-select-option.js +1 -1
- package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-slider.js +13 -2
- package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tabs.js +7 -5
- package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tag.js +1 -1
- package/fesm5/taiga-ui-kit-components-text-area.js +1 -1
- package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tree.js +2 -1
- package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-dropdown-context.js +3 -13
- package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +2 -10
- package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
- package/fesm5/taiga-ui-kit-providers.js +6 -0
- package/fesm5/taiga-ui-kit-providers.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-dom.js +12 -1
- package/fesm5/taiga-ui-kit-utils-dom.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-files.js +11 -1
- package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-format.js +4 -1
- package/fesm5/taiga-ui-kit-utils-format.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-mask.js +6 -1
- package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-math.js +2 -2
- package/fesm5/taiga-ui-kit-utils-math.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js +9 -1
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/package.json +5 -5
- package/providers/month-formatter.provider.d.ts +3 -0
- package/providers/taiga-ui-kit-providers.metadata.json +1 -1
- package/utils/dom/get-word-range.d.ts +2 -0
- package/utils/dom/scroll-to-element.d.ts +4 -0
- package/utils/dom/set-range-offset.d.ts +2 -0
- package/utils/dom/taiga-ui-kit-utils-dom.metadata.json +1 -1
- package/utils/files/format-size.d.ts +4 -0
- package/utils/files/get-accept-array.d.ts +4 -0
- package/utils/files/taiga-ui-kit-utils-files.metadata.json +1 -1
- package/utils/format/string-hash-to-hsl.d.ts +2 -0
- package/utils/format/taiga-ui-kit-utils-format.metadata.json +1 -1
- package/utils/mask/create-auto-corrected-date-pipe.d.ts +4 -0
- package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
- package/utils/math/horizontal-direction-to-number.d.ts +1 -1
- package/utils/math/taiga-ui-kit-utils-math.metadata.json +1 -1
- package/utils/miscellaneous/get-precision.d.ts +2 -0
- package/utils/miscellaneous/is-flat.d.ts +4 -0
- package/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.metadata.json +1 -1
|
@@ -481,7 +481,7 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
|
|
|
481
481
|
Component({
|
|
482
482
|
selector: 'tui-input-tag',
|
|
483
483
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
484
|
-
template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n <div\n *ngIf=\"iconAlignLeft\"\n class=\"t-icons t-icons_left\"\n >\n <tui-svg\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n <div\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n <tui-scrollbar\n *ngIf=\"!expandable; else items\"\n class=\"t-scrollbar\"\n [hidden]=\"true\"\n >\n <ng-container
|
|
484
|
+
template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n <div\n *ngIf=\"iconAlignLeft\"\n class=\"t-icons t-icons_left\"\n >\n <tui-svg\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n <div\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n <tui-scrollbar\n *ngIf=\"!expandable; else items\"\n class=\"t-scrollbar\"\n [hidden]=\"true\"\n >\n <ng-container [ngTemplateOutlet]=\"items\"></ng-container>\n </tui-scrollbar>\n <ng-template #items>\n <div\n #tagsContainer\n class=\"t-tags\"\n >\n <ng-container *ngIf=\"labelOutside; else text\">\n <tui-tag\n *ngFor=\"let item of value; index as index; trackBy: trackByFn\"\n #tag\n automation-id=\"tui-input-tag__tag\"\n class=\"t-tag\"\n [status]=\"(status$ | async)!\"\n [leftContent]=\"getLeftContent(item)\"\n [allowSpaces]=\"allowSpaces\"\n [tuiFocusable]=\"false\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [removable]=\"!readOnly\"\n [separator]=\"separator\"\n [maxLength]=\"controller.maxLength\"\n [size]=\"controller.size\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft(index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight(index)\"\n ></tui-tag>\n </ng-container>\n <ng-template #text>\n <span\n *ngFor=\"let item of value\"\n class=\"t-text\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [innerText]=\"item\"\n ></span>\n </ng-template>\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n type=\"text\"\n automation-id=\"tui-input-tag__native\"\n class=\"t-native\"\n [placeholder]=\"controller.exampleText\"\n [class.t-native_hidden]=\"inputHidden\"\n [attr.maxLength]=\"controller.maxLength\"\n [id]=\"id\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || inputHidden\"\n [tuiFocusable]=\"computedFocusable\"\n [ngModel]=\"search\"\n (ngModelChange)=\"onInput($event)\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n />\n </div>\n </div>\n </ng-template>\n </div>\n <div\n *ngIf=\"hasRightIcons\"\n class=\"t-icons t-icons_right\"\n >\n <tui-svg\n *ngIf=\"hasCleaner\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-cleaner\"\n (click.stop)=\"onCleanerClick()\"\n ></tui-svg>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-input-tag__tooltip\"\n describeId=\"placeholer_until_accesibility_is_added\"\n class=\"t-tooltip\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [content]=\"hintController.content || ''\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n ></tui-tooltip>\n <tui-svg\n *ngIf=\"iconAlignRight\"\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </div>\n </div>\n <ng-template #errorIcon>\n <tui-svg\n src=\"tuiIconAttention\"\n class=\"t-error-icon\"\n ></tui-svg>\n </ng-template>\n </tui-wrapper>\n</tui-hosted-dropdown>\n",
|
|
485
485
|
providers: [
|
|
486
486
|
{
|
|
487
487
|
provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
|
|
@@ -518,4 +518,4 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
|
|
|
518
518
|
return TuiInputTagComponent;
|
|
519
519
|
}(AbstractTuiMultipleControl));
|
|
520
520
|
export { TuiInputTagComponent };
|
|
521
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC10YWcvIiwic291cmNlcyI6WyJpbnB1dC10YWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHdCQUF3QixFQUN4QixhQUFhLEVBQ2IsNkJBQTZCLEVBQzdCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0IsUUFBUSxFQUNSLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsMEJBQTBCLEVBQzFCLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDMUIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixRQUFRLEVBQ1IsUUFBUSxFQUNSLHNCQUFzQixHQUN6QixNQUFNLGdCQUFnQixDQUFDO0FB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LENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQ3hCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDaEMsV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFFeEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFaEIsV0FBQSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDdEIsV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtRQUVuQyxXQUFBLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO1FBRXhDLFlBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7UUFFN0IsWUFBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFlBQUEsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7T0F6SDlCLG9CQUFvQixDQW1jaEM7SUFBRCwyQkFBQztDQUFBLEFBbmNELENBQ1ksMEJBQTBCLEdBa2NyQztTQW5jWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlNdWx0aXBsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgQUxXQVlTX1RSVUVfSEFORExFUixcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBnZXRBY3R1YWxUYXJnZXQsXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgcHJldmVudERlZmF1bHQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlTY3JvbGxTZXJ2aWNlLFxuICAgIHR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIE1PREVfUFJPVklERVIsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ISU5UX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUVUlfTU9ERSxcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgVHVpSG9yaXpvbnRhbERpcmVjdGlvbixcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlNb2RlRGlyZWN0aXZlLFxuICAgIFR1aVNjcm9sbGJhckNvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVN0cmluZ2lmaWFibGVJdGVtfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtBTExPV0VEX1NQQUNFX1JFR0VYUH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhZyc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX1RBR19TVEFUVVN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpU3RhdHVzVH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1hcFRvLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9UQUdfT1BUSU9OUywgVHVpSW5wdXRUYWdPcHRpb25zfSBmcm9tICcuL2lucHV0LXRhZy1vcHRpb25zJztcblxuY29uc3QgRVZFTlRfWV9UT19YX0NPRUZGSUNJRU5UID0gMztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtdGFnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGFnLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXRhZy5zdHlsZS5sZXNzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0VGFnQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RBVEFfTElTVF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRUYWdDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICAgICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0VGFnQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbDxzdHJpbmc+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxzdHJpbmc+XG57XG4gICAgQFZpZXdDaGlsZChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RlZERyb3Bkb3duPzogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdmb2N1c2FibGVFbGVtZW50JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzYWJsZUVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgndGFnc0NvbnRhaW5lcicpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWdzQ29udGFpbmVyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkcmVuKCd0YWcnLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWdzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBAVmlld0NoaWxkKCdjbGVhbmVyJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xlYW5lclN2Zz86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbEJhcj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxUb1N0YXJ0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxUb0VuZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLy8gVE9ETzogMy4wIFJlbW92ZVxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhbGxvd1NwYWNlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VwYXJhdG9yOiBzdHJpbmcgfCBSZWdFeHAgPSB0aGlzLm9wdGlvbnMuc2VwYXJhdG9yO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb24gPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uQWxpZ246IFR1aUhvcml6b250YWxEaXJlY3Rpb24gPSAncmlnaHQnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlYXJjaCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGVkaXRhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0YWdWYWxpZGF0b3I6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZz4gPSBBTFdBWVNfVFJVRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9leHBhbmRhYmxlJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4cGFuZGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlucHV0SGlkZGVuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdW5pcXVlVGFncyA9IHRoaXMub3B0aW9ucy51bmlxdWVUYWdzO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZyB8IFR1aVN0cmluZ2lmaWFibGVJdGVtPGFueT4+ID1cbiAgICAgICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoJ3BzZXVkb0ZvY3VzZWQnKVxuICAgIHNldCBwc2V1ZG9Gb2N1c2VkU2V0dGVyKHZhbHVlOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlICYmICF0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wc2V1ZG9Gb2N1c2VkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0PzogVGVtcGxhdGVSZWY8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPj47XG5cbiAgICBAVmlld0NoaWxkKCdlcnJvckljb24nKVxuICAgIHJlYWRvbmx5IGVycm9ySWNvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQpXG4gICAgc2V0IHNjcm9sbGVyU2V0dGVyKHNjcm9sbGVyOiBUdWlTY3JvbGxiYXJDb21wb25lbnQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuaW5pdFNjcm9sbGVyU3Vic2NyaXB0aW9uKHNjcm9sbGVyKTtcbiAgICB9XG5cbiAgICBzdGF0dXMkOiBPYnNlcnZhYmxlPFR1aVN0YXR1c1Q+ID0gdGhpcy5tb2RlJC5waXBlKG1hcCgoKSA9PiB0aGlzLnN0YXR1cykpO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUdWlTY3JvbGxTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHR1aVNjcm9sbFNlcnZpY2U6IFR1aVNjcm9sbFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGVEaXJlY3RpdmU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfVEFHX1NUQVRVUykgcHJpdmF0ZSByZWFkb25seSB0YWdTdGF0dXM6IFR1aVN0YXR1c1QsXG4gICAgICAgIEBJbmplY3QoVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBoaW50Q29udHJvbGxlcjogVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX1RBR19PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0VGFnT3B0aW9ucyxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwYXJlbnRIb3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMuZm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgISF0aGlzLmhvc3RlZERyb3Bkb3duPy5mb2N1c2VkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuc2l6ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sYWJlbC1vdXRzaWRlJylcbiAgICBnZXQgbGFiZWxPdXRzaWRlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7c2l6ZSwgbGFiZWxPdXRzaWRlfSA9IHRoaXMuY29udHJvbGxlcjtcblxuICAgICAgICByZXR1cm4gc2l6ZSA9PT0gJ3MnIHx8IGxhYmVsT3V0c2lkZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2xlYW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5jbGVhbmVyICYmIHRoaXMuaGFzVmFsdWUgJiYgdGhpcy5pbnRlcmFjdGl2ZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzTmF0aXZlVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2VhcmNoO1xuICAgIH1cblxuICAgIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZS5sZW5ndGggfHwgdGhpcy5oYXNOYXRpdmVWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5sYWJlbE91dHNpZGUgfHxcbiAgICAgICAgICAgICghdGhpcy5oYXNWYWx1ZSAmJiAoIXRoaXMuaGFzRXhhbXBsZVRleHQgfHwgdGhpcy5pbnB1dEhpZGRlbikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMubGFiZWxPdXRzaWRlICYmXG4gICAgICAgICAgICAoKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCB0aGlzLmhhc1ZhbHVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBoYXNFeGFtcGxlVGV4dCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy5jb250cm9sbGVyLmV4YW1wbGVUZXh0ICYmXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJlxuICAgICAgICAgICAgIXRoaXMuaGFzVmFsdWUgJiZcbiAgICAgICAgICAgICF0aGlzLnJlYWRPbmx5XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludENvbnRyb2xsZXIuY29udGVudCAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkFsaWduTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5pY29uICYmIHRoaXMuaWNvbkFsaWduID09PSAnbGVmdCc7XG4gICAgfVxuXG4gICAgZ2V0IGljb25BbGlnblJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmljb24gJiYgdGhpcy5pY29uQWxpZ24gPT09ICdyaWdodCc7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1JpZ2h0SWNvbnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NsZWFuZXIgfHwgdGhpcy5oYXNUb29sdGlwIHx8IHRoaXMuaWNvbkFsaWduUmlnaHQ7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXR1cygpOiBUdWlTdGF0dXNUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZURpcmVjdGl2ZT8ubW9kZSA/ICdkZWZhdWx0JyA6IHRoaXMudGFnU3RhdHVzO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAhIXRoaXMuZGF0YWxpc3Q7XG4gICAgfVxuXG4gICAgZ2V0TGVmdENvbnRlbnQodGFnOiBzdHJpbmcpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRhZ1ZhbGlkYXRvcih0YWcpICYmIHRoaXMuZXJyb3JJY29uVGVtcGxhdGVcbiAgICAgICAgICAgID8gdGhpcy5lcnJvckljb25UZW1wbGF0ZVxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG5cbiAgICBvbkNsZWFuZXJDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLnBhcmVudEhvc3RlZERyb3Bkb3duPy51cGRhdGVPcGVuKHRydWUpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWRkVGFnKCk7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuXG4gICAgICAgIGlmICghdGhpcy5jb21wdXRlZEZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0dWFsVGFyZ2V0ID0gZ2V0QWN0dWFsVGFyZ2V0KGV2ZW50KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5mb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICBhY3R1YWxUYXJnZXQgPT09IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50IHx8XG4gICAgICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICAgICAgIShldmVudC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50KSB8fFxuICAgICAgICAgICAgdGhpcy5jbGVhbmVyU3ZnPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgfHxcbiAgICAgICAgICAgICh0aGlzLnRhZ3NDb250YWluZXIgJiZcbiAgICAgICAgICAgICAgICBhY3R1YWxUYXJnZXQgIT09IHRoaXMudGFnc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50ICYmXG4gICAgICAgICAgICAgICAgdGhpcy50YWdzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoYWN0dWFsVGFyZ2V0KSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkJhY2tzcGFjZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmxhYmVsT3V0c2lkZSAmJiAhdGhpcy5oYXNOYXRpdmVWYWx1ZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5kZWxldGVMYXN0RW5hYmxlZEl0ZW0oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25GaWVsZEtleURvd25BcnJvd0xlZnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25GaWVsZEtleURvd25BcnJvd0xlZnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5sYWJlbE91dHNpZGUgfHwgdGhpcy5oYXNOYXRpdmVWYWx1ZSB8fCAhdGhpcy52YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy50YWdzLmxhc3QubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgb25GaWVsZEtleURvd25FbnRlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRUYWcoKTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0VuZCQubmV4dCgpO1xuICAgIH1cblxuICAgIG9uVGFnS2V5RG93bkFycm93TGVmdChjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID4gMCkge1xuICAgICAgICAgICAgdGhpcy5vblNjcm9sbEtleURvd24oY3VycmVudEluZGV4LCAtMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhZ0tleURvd25BcnJvd1JpZ2h0KGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPT09IHRoaXMudmFsdWUubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uU2Nyb2xsS2V5RG93bihjdXJyZW50SW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWdFZGl0ZWQodmFsdWU6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgIHRoaXMudmFsdWVcbiAgICAgICAgICAgICAgICAubWFwKCh0YWcsIHRhZ0luZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICB0YWdJbmRleCAhPT0gaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3BsaXQodGhpcy5zZXBhcmF0b3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKHRhZyA9PiB0YWcudHJpbSgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnJlZHVjZTxzdHJpbmdbXT4oXG4gICAgICAgICAgICAgICAgICAgIChyZXN1bHQsIGl0ZW06IHN0cmluZyB8IHN0cmluZ1tdKSA9PiByZXN1bHQuY29uY2F0KGl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihpdGVtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKCcnKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlLmNvbmNhdChpdGVtKSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNjcm9sbFRvRW5kJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgb25JbnB1dCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFycmF5ID0gdGhpcy5hbGxvd1NwYWNlc1xuICAgICAgICAgICAgPyB2YWx1ZS5zcGxpdCh0aGlzLnNlcGFyYXRvcilcbiAgICAgICAgICAgIDogdmFsdWUuc3BsaXQoQUxMT1dFRF9TUEFDRV9SRUdFWFApO1xuICAgICAgICBjb25zdCB0YWdzID0gYXJyYXlcbiAgICAgICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0sIGluZGV4LCB7bGVuZ3RofSkgPT4gaXRlbS5sZW5ndGggPiAwICYmIGluZGV4ICE9PSBsZW5ndGggLSAxKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkID0gdGFncy5maWx0ZXIodGFnID0+ICF0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIodGFnKSk7XG5cbiAgICAgICAgaWYgKGFycmF5Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKGFycmF5W2FycmF5Lmxlbmd0aCAtIDFdLnRyaW0oKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFsuLi50aGlzLnZhbHVlLCAuLi52YWxpZGF0ZWRdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzTmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkQ2hhbmdlKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKF86IG51bWJlciwgdGFnOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAvLyBBY3R1YWxseSB0YWcgaGFzIFR1aVN0cmluZ2lmaWFibGVJdGVtIHR5cGUgbm90IHN0cmluZ1xuICAgICAgICByZXR1cm4gdGFnLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWVuID0gbmV3IFNldCgpO1xuXG4gICAgICAgIHN1cGVyLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMudW5pcXVlVGFncyB8fCAoISFpdGVtICYmICFzZWVuLmhhcyhpdGVtKSAmJiBzZWVuLmFkZChpdGVtKSksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5yZXZlcnNlKCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblNjcm9sbEtleURvd24oY3VycmVudEluZGV4OiBudW1iZXIsIGZsYWc6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWcgPSB0aGlzLnRhZ3MuZmluZCgoX2l0ZW0sIGluZGV4KSA9PiBpbmRleCA9PT0gY3VycmVudEluZGV4ICsgZmxhZyk7XG5cbiAgICAgICAgaWYgKCF0YWcgfHwgIXRoaXMuc2Nyb2xsQmFyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRhZy5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBmbGFnICogdGhpcy5zY3JvbGxCYXIubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAtXG4gICAgICAgICAgICAgICAgZmxhZyAqIHRhZy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLVxuICAgICAgICAgICAgICAgIHRhZy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIDxcbiAgICAgICAgICAgIDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEJhci5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKz1cbiAgICAgICAgICAgICAgICBmbGFnICogdGFnLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTY3JvbGxlclN1YnNjcmlwdGlvbihzY3JvbGxlcjogVHVpU2Nyb2xsYmFyQ29tcG9uZW50IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXNjcm9sbGVyPy5icm93c2VyU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSBzY3JvbGxlci5icm93c2VyU2Nyb2xsUmVmO1xuXG4gICAgICAgIGNvbnN0IHdoZWVsJCA9IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd3aGVlbCcsIHtwYXNzaXZlOiBmYWxzZX0pLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQuZGVsdGFYID09PSAwICYmIHRoaXMuc2hvdWxkU2Nyb2xsKG5hdGl2ZUVsZW1lbnQpKSxcbiAgICAgICAgICAgIHByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICBtYXAoKHtkZWx0YVl9KSA9PlxuICAgICAgICAgICAgICAgIE1hdGgubWF4KG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIGRlbHRhWSAqIEVWRU5UX1lfVE9fWF9DT0VGRklDSUVOVCwgMCksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBzdGFydCQgPSB0aGlzLnNjcm9sbFRvU3RhcnQkLnBpcGUobWFwVG8oMCkpO1xuICAgICAgICBjb25zdCBlbmQkID0gdGhpcy5zY3JvbGxUb0VuZCQucGlwZShtYXAoKCkgPT4gbmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCkpO1xuXG4gICAgICAgIG1lcmdlKHdoZWVsJCwgc3RhcnQkLCBlbmQkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGxlZnQgPT4gdGhpcy50dWlTY3JvbGxTZXJ2aWNlLnNjcm9sbCQobmF0aXZlRWxlbWVudCwgMCwgbGVmdCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlYXJjaCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3VsZFNjcm9sbCh7c2Nyb2xsV2lkdGgsIG9mZnNldFdpZHRofTogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHNjcm9sbFdpZHRoID4gb2Zmc2V0V2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUYWcoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSB0aGlzLnNlYXJjaC50cmltKCk7XG5cbiAgICAgICAgaWYgKCFpbnB1dFZhbHVlIHx8IHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcihpbnB1dFZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUuY29uY2F0KGlucHV0VmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZUxhc3RFbmFibGVkSXRlbSgpOiB2b2lkIHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSB0aGlzLnZhbHVlLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyKHRoaXMudmFsdWVbaW5kZXhdKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnZhbHVlLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy52YWx1ZS5zbGljZShpbmRleCArIDEsIHRoaXMudmFsdWUubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
521
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC10YWcvIiwic291cmNlcyI6WyJpbnB1dC10YWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHdCQUF3QixFQUN4QixhQUFhLEVBQ2IsNkJBQTZCLEVBQzdCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0IsUUFBUSxFQUNSLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsMEJBQTBCLEVBQzFCLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDMUIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixRQUFRLEVBQ1IsUUFBUSxFQUNSLHNCQUFzQixHQUN6QixNQUFNLGdCQUFnQixDQUFDO0FB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LENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQ3hCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDaEMsV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFFeEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFaEIsV0FBQSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDdEIsV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtRQUVuQyxXQUFBLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO1FBRXhDLFlBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7UUFFN0IsWUFBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFlBQUEsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7T0F6SDlCLG9CQUFvQixDQW1jaEM7SUFBRCwyQkFBQztDQUFBLEFBbmNELENBQ1ksMEJBQTBCLEdBa2NyQztTQW5jWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlNdWx0aXBsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgQUxXQVlTX1RSVUVfSEFORExFUixcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBnZXRBY3R1YWxUYXJnZXQsXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgcHJldmVudERlZmF1bHQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlTY3JvbGxTZXJ2aWNlLFxuICAgIHR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIE1PREVfUFJPVklERVIsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ISU5UX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUVUlfTU9ERSxcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgVHVpSG9yaXpvbnRhbERpcmVjdGlvbixcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlNb2RlRGlyZWN0aXZlLFxuICAgIFR1aVNjcm9sbGJhckNvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVN0cmluZ2lmaWFibGVJdGVtfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtBTExPV0VEX1NQQUNFX1JFR0VYUH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhZyc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX1RBR19TVEFUVVN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpU3RhdHVzVH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1hcFRvLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9UQUdfT1BUSU9OUywgVHVpSW5wdXRUYWdPcHRpb25zfSBmcm9tICcuL2lucHV0LXRhZy1vcHRpb25zJztcblxuY29uc3QgRVZFTlRfWV9UT19YX0NPRUZGSUNJRU5UID0gMztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtdGFnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGFnLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXRhZy5zdHlsZS5sZXNzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0VGFnQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RBVEFfTElTVF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRUYWdDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICAgICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0VGFnQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbDxzdHJpbmc+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxzdHJpbmc+XG57XG4gICAgQFZpZXdDaGlsZChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RlZERyb3Bkb3duPzogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdmb2N1c2FibGVFbGVtZW50JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzYWJsZUVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgndGFnc0NvbnRhaW5lcicpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWdzQ29udGFpbmVyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkcmVuKCd0YWcnLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWdzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBAVmlld0NoaWxkKCdjbGVhbmVyJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xlYW5lclN2Zz86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbEJhcj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxUb1N0YXJ0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxUb0VuZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLy8gVE9ETzogMy4wIFJlbW92ZVxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhbGxvd1NwYWNlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VwYXJhdG9yOiBzdHJpbmcgfCBSZWdFeHAgPSB0aGlzLm9wdGlvbnMuc2VwYXJhdG9yO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb24gPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uQWxpZ246IFR1aUhvcml6b250YWxEaXJlY3Rpb24gPSAncmlnaHQnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlYXJjaCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGVkaXRhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0YWdWYWxpZGF0b3I6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZz4gPSBBTFdBWVNfVFJVRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9leHBhbmRhYmxlJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4cGFuZGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlucHV0SGlkZGVuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdW5pcXVlVGFncyA9IHRoaXMub3B0aW9ucy51bmlxdWVUYWdzO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZyB8IFR1aVN0cmluZ2lmaWFibGVJdGVtPGFueT4+ID1cbiAgICAgICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoJ3BzZXVkb0ZvY3VzZWQnKVxuICAgIHNldCBwc2V1ZG9Gb2N1c2VkU2V0dGVyKHZhbHVlOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlICYmICF0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wc2V1ZG9Gb2N1c2VkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0PzogVGVtcGxhdGVSZWY8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPj47XG5cbiAgICBAVmlld0NoaWxkKCdlcnJvckljb24nKVxuICAgIHJlYWRvbmx5IGVycm9ySWNvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQpXG4gICAgc2V0IHNjcm9sbGVyU2V0dGVyKHNjcm9sbGVyOiBUdWlTY3JvbGxiYXJDb21wb25lbnQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuaW5pdFNjcm9sbGVyU3Vic2NyaXB0aW9uKHNjcm9sbGVyKTtcbiAgICB9XG5cbiAgICBzdGF0dXMkOiBPYnNlcnZhYmxlPFR1aVN0YXR1c1Q+ID0gdGhpcy5tb2RlJC5waXBlKG1hcCgoKSA9PiB0aGlzLnN0YXR1cykpO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUdWlTY3JvbGxTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHR1aVNjcm9sbFNlcnZpY2U6IFR1aVNjcm9sbFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGVEaXJlY3RpdmU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfVEFHX1NUQVRVUykgcHJpdmF0ZSByZWFkb25seSB0YWdTdGF0dXM6IFR1aVN0YXR1c1QsXG4gICAgICAgIEBJbmplY3QoVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBoaW50Q29udHJvbGxlcjogVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX1RBR19PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0VGFnT3B0aW9ucyxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwYXJlbnRIb3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMuZm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgISF0aGlzLmhvc3RlZERyb3Bkb3duPy5mb2N1c2VkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuc2l6ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sYWJlbC1vdXRzaWRlJylcbiAgICBnZXQgbGFiZWxPdXRzaWRlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7c2l6ZSwgbGFiZWxPdXRzaWRlfSA9IHRoaXMuY29udHJvbGxlcjtcblxuICAgICAgICByZXR1cm4gc2l6ZSA9PT0gJ3MnIHx8IGxhYmVsT3V0c2lkZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2xlYW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5jbGVhbmVyICYmIHRoaXMuaGFzVmFsdWUgJiYgdGhpcy5pbnRlcmFjdGl2ZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzTmF0aXZlVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2VhcmNoO1xuICAgIH1cblxuICAgIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZS5sZW5ndGggfHwgdGhpcy5oYXNOYXRpdmVWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5sYWJlbE91dHNpZGUgfHxcbiAgICAgICAgICAgICghdGhpcy5oYXNWYWx1ZSAmJiAoIXRoaXMuaGFzRXhhbXBsZVRleHQgfHwgdGhpcy5pbnB1dEhpZGRlbikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMubGFiZWxPdXRzaWRlICYmXG4gICAgICAgICAgICAoKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCB0aGlzLmhhc1ZhbHVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBoYXNFeGFtcGxlVGV4dCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy5jb250cm9sbGVyLmV4YW1wbGVUZXh0ICYmXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJlxuICAgICAgICAgICAgIXRoaXMuaGFzVmFsdWUgJiZcbiAgICAgICAgICAgICF0aGlzLnJlYWRPbmx5XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludENvbnRyb2xsZXIuY29udGVudCAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkFsaWduTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5pY29uICYmIHRoaXMuaWNvbkFsaWduID09PSAnbGVmdCc7XG4gICAgfVxuXG4gICAgZ2V0IGljb25BbGlnblJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmljb24gJiYgdGhpcy5pY29uQWxpZ24gPT09ICdyaWdodCc7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1JpZ2h0SWNvbnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NsZWFuZXIgfHwgdGhpcy5oYXNUb29sdGlwIHx8IHRoaXMuaWNvbkFsaWduUmlnaHQ7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXR1cygpOiBUdWlTdGF0dXNUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZURpcmVjdGl2ZT8ubW9kZSA/ICdkZWZhdWx0JyA6IHRoaXMudGFnU3RhdHVzO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAhIXRoaXMuZGF0YWxpc3Q7XG4gICAgfVxuXG4gICAgZ2V0TGVmdENvbnRlbnQodGFnOiBzdHJpbmcpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRhZ1ZhbGlkYXRvcih0YWcpICYmIHRoaXMuZXJyb3JJY29uVGVtcGxhdGVcbiAgICAgICAgICAgID8gdGhpcy5lcnJvckljb25UZW1wbGF0ZVxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG5cbiAgICBvbkNsZWFuZXJDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLnBhcmVudEhvc3RlZERyb3Bkb3duPy51cGRhdGVPcGVuKHRydWUpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWRkVGFnKCk7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuXG4gICAgICAgIGlmICghdGhpcy5jb21wdXRlZEZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0dWFsVGFyZ2V0ID0gZ2V0QWN0dWFsVGFyZ2V0KGV2ZW50KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5mb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICBhY3R1YWxUYXJnZXQgPT09IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50IHx8XG4gICAgICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICAgICAgIShldmVudC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50KSB8fFxuICAgICAgICAgICAgdGhpcy5jbGVhbmVyU3ZnPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgfHxcbiAgICAgICAgICAgICh0aGlzLnRhZ3NDb250YWluZXIgJiZcbiAgICAgICAgICAgICAgICBhY3R1YWxUYXJnZXQgIT09IHRoaXMudGFnc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50ICYmXG4gICAgICAgICAgICAgICAgdGhpcy50YWdzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoYWN0dWFsVGFyZ2V0KSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkJhY2tzcGFjZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmxhYmVsT3V0c2lkZSAmJiAhdGhpcy5oYXNOYXRpdmVWYWx1ZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5kZWxldGVMYXN0RW5hYmxlZEl0ZW0oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25GaWVsZEtleURvd25BcnJvd0xlZnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25GaWVsZEtleURvd25BcnJvd0xlZnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5sYWJlbE91dHNpZGUgfHwgdGhpcy5oYXNOYXRpdmVWYWx1ZSB8fCAhdGhpcy52YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy50YWdzLmxhc3QubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgb25GaWVsZEtleURvd25FbnRlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRUYWcoKTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0VuZCQubmV4dCgpO1xuICAgIH1cblxuICAgIG9uVGFnS2V5RG93bkFycm93TGVmdChjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID4gMCkge1xuICAgICAgICAgICAgdGhpcy5vblNjcm9sbEtleURvd24oY3VycmVudEluZGV4LCAtMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhZ0tleURvd25BcnJvd1JpZ2h0KGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPT09IHRoaXMudmFsdWUubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uU2Nyb2xsS2V5RG93bihjdXJyZW50SW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWdFZGl0ZWQodmFsdWU6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgIHRoaXMudmFsdWVcbiAgICAgICAgICAgICAgICAubWFwKCh0YWcsIHRhZ0luZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICB0YWdJbmRleCAhPT0gaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3BsaXQodGhpcy5zZXBhcmF0b3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKHRhZyA9PiB0YWcudHJpbSgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnJlZHVjZTxzdHJpbmdbXT4oXG4gICAgICAgICAgICAgICAgICAgIChyZXN1bHQsIGl0ZW06IHN0cmluZyB8IHN0cmluZ1tdKSA9PiByZXN1bHQuY29uY2F0KGl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihpdGVtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKCcnKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlLmNvbmNhdChpdGVtKSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNjcm9sbFRvRW5kJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgb25JbnB1dCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFycmF5ID0gdGhpcy5hbGxvd1NwYWNlc1xuICAgICAgICAgICAgPyB2YWx1ZS5zcGxpdCh0aGlzLnNlcGFyYXRvcilcbiAgICAgICAgICAgIDogdmFsdWUuc3BsaXQoQUxMT1dFRF9TUEFDRV9SRUdFWFApO1xuICAgICAgICBjb25zdCB0YWdzID0gYXJyYXlcbiAgICAgICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0sIGluZGV4LCB7bGVuZ3RofSkgPT4gaXRlbS5sZW5ndGggPiAwICYmIGluZGV4ICE9PSBsZW5ndGggLSAxKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkID0gdGFncy5maWx0ZXIodGFnID0+ICF0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIodGFnKSk7XG5cbiAgICAgICAgaWYgKGFycmF5Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKGFycmF5W2FycmF5Lmxlbmd0aCAtIDFdLnRyaW0oKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFsuLi50aGlzLnZhbHVlLCAuLi52YWxpZGF0ZWRdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzTmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkQ2hhbmdlKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKF86IG51bWJlciwgdGFnOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAvLyBBY3R1YWxseSB0YWcgaGFzIFR1aVN0cmluZ2lmaWFibGVJdGVtIHR5cGUgbm90IHN0cmluZ1xuICAgICAgICByZXR1cm4gdGFnLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWVuID0gbmV3IFNldCgpO1xuXG4gICAgICAgIHN1cGVyLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMudW5pcXVlVGFncyB8fCAoISFpdGVtICYmICFzZWVuLmhhcyhpdGVtKSAmJiBzZWVuLmFkZChpdGVtKSksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5yZXZlcnNlKCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblNjcm9sbEtleURvd24oY3VycmVudEluZGV4OiBudW1iZXIsIGZsYWc6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWcgPSB0aGlzLnRhZ3MuZmluZCgoX2l0ZW0sIGluZGV4KSA9PiBpbmRleCA9PT0gY3VycmVudEluZGV4ICsgZmxhZyk7XG5cbiAgICAgICAgaWYgKCF0YWcgfHwgIXRoaXMuc2Nyb2xsQmFyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRhZy5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBmbGFnICogdGhpcy5zY3JvbGxCYXIubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAtXG4gICAgICAgICAgICAgICAgZmxhZyAqIHRhZy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLVxuICAgICAgICAgICAgICAgIHRhZy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIDxcbiAgICAgICAgICAgIDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEJhci5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKz1cbiAgICAgICAgICAgICAgICBmbGFnICogdGFnLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTY3JvbGxlclN1YnNjcmlwdGlvbihzY3JvbGxlcjogVHVpU2Nyb2xsYmFyQ29tcG9uZW50IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXNjcm9sbGVyPy5icm93c2VyU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSBzY3JvbGxlci5icm93c2VyU2Nyb2xsUmVmO1xuXG4gICAgICAgIGNvbnN0IHdoZWVsJCA9IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd3aGVlbCcsIHtwYXNzaXZlOiBmYWxzZX0pLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQuZGVsdGFYID09PSAwICYmIHRoaXMuc2hvdWxkU2Nyb2xsKG5hdGl2ZUVsZW1lbnQpKSxcbiAgICAgICAgICAgIHByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICBtYXAoKHtkZWx0YVl9KSA9PlxuICAgICAgICAgICAgICAgIE1hdGgubWF4KG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIGRlbHRhWSAqIEVWRU5UX1lfVE9fWF9DT0VGRklDSUVOVCwgMCksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBzdGFydCQgPSB0aGlzLnNjcm9sbFRvU3RhcnQkLnBpcGUobWFwVG8oMCkpO1xuICAgICAgICBjb25zdCBlbmQkID0gdGhpcy5zY3JvbGxUb0VuZCQucGlwZShtYXAoKCkgPT4gbmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCkpO1xuXG4gICAgICAgIG1lcmdlKHdoZWVsJCwgc3RhcnQkLCBlbmQkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGxlZnQgPT4gdGhpcy50dWlTY3JvbGxTZXJ2aWNlLnNjcm9sbCQobmF0aXZlRWxlbWVudCwgMCwgbGVmdCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlYXJjaCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3VsZFNjcm9sbCh7c2Nyb2xsV2lkdGgsIG9mZnNldFdpZHRofTogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHNjcm9sbFdpZHRoID4gb2Zmc2V0V2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUYWcoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSB0aGlzLnNlYXJjaC50cmltKCk7XG5cbiAgICAgICAgaWYgKCFpbnB1dFZhbHVlIHx8IHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcihpbnB1dFZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUuY29uY2F0KGlucHV0VmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZUxhc3RFbmFibGVkSXRlbSgpOiB2b2lkIHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSB0aGlzLnZhbHVlLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyKHRoaXMudmFsdWVbaW5kZXhdKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnZhbHVlLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy52YWx1ZS5zbGljZShpbmRleCArIDEsIHRoaXMudmFsdWUubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './line-clamp.component';
|
|
2
2
|
export * from './line-clamp.module';
|
|
3
|
-
|
|
3
|
+
export * from './line-clamp-options';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbGluZS1jbGFtcC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saW5lLWNsYW1wLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmUtY2xhbXAubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGluZS1jbGFtcC1vcHRpb25zJztcbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
import { InjectionToken } from '@angular/core';
|
|
3
|
+
export var TUI_LINE_CLAMP_DEFAULT_OPTIONS = {
|
|
4
|
+
showHint: true,
|
|
5
|
+
};
|
|
6
|
+
export var TUI_LINE_CLAMP_OPTIONS = new InjectionToken('Default parameters for line-clamp component', {
|
|
7
|
+
factory: function () { return TUI_LINE_CLAMP_DEFAULT_OPTIONS; },
|
|
8
|
+
});
|
|
9
|
+
export var tuiLineClampOptionsProvider = function (options) { return ({
|
|
10
|
+
provide: TUI_LINE_CLAMP_OPTIONS,
|
|
11
|
+
useValue: __assign(__assign({}, TUI_LINE_CLAMP_DEFAULT_OPTIONS), options),
|
|
12
|
+
}); };
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jbGFtcC1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2xpbmUtY2xhbXAvIiwic291cmNlcyI6WyJsaW5lLWNsYW1wLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBTTVELE1BQU0sQ0FBQyxJQUFNLDhCQUE4QixHQUF3QjtJQUMvRCxRQUFRLEVBQUUsSUFBSTtDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3BELDZDQUE2QyxFQUM3QztJQUNJLE9BQU8sRUFBRSxjQUFNLE9BQUEsOEJBQThCLEVBQTlCLENBQThCO0NBQ2hELENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLDJCQUEyQixHQUVuQixVQUFDLE9BQXFDLElBQUssT0FBQSxDQUFDO0lBQzdELE9BQU8sRUFBRSxzQkFBc0I7SUFDL0IsUUFBUSx3QkFBTSw4QkFBOEIsR0FBSyxPQUFPLENBQUM7Q0FDNUQsQ0FBQyxFQUg4RCxDQUc5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpTGluZUNsYW1wT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgc2hvd0hpbnQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfTElORV9DTEFNUF9ERUZBVUxUX09QVElPTlM6IFR1aUxpbmVDbGFtcE9wdGlvbnMgPSB7XG4gICAgc2hvd0hpbnQ6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgVFVJX0xJTkVfQ0xBTVBfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlMaW5lQ2xhbXBPcHRpb25zPihcbiAgICAnRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBsaW5lLWNsYW1wIGNvbXBvbmVudCcsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfTElORV9DTEFNUF9ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCB0dWlMaW5lQ2xhbXBPcHRpb25zUHJvdmlkZXI6IChcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aUxpbmVDbGFtcE9wdGlvbnM+LFxuKSA9PiBWYWx1ZVByb3ZpZGVyID0gKG9wdGlvbnM6IFBhcnRpYWw8VHVpTGluZUNsYW1wT3B0aW9ucz4pID0+ICh7XG4gICAgcHJvdmlkZTogVFVJX0xJTkVfQ0xBTVBfT1BUSU9OUyxcbiAgICB1c2VWYWx1ZTogey4uLlRVSV9MSU5FX0NMQU1QX0RFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9uc30sXG59KTtcbiJdfQ==
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import { __decorate, __param, __read } from "tslib";
|
|
2
|
-
import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, Inject, Input, NgZone, Renderer2, ViewChild, } from '@angular/core';
|
|
2
|
+
import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, DoCheck, ElementRef, HostBinding, HostListener, Inject, Input, NgZone, Output, Renderer2, ViewChild, } from '@angular/core';
|
|
3
3
|
import { isCurrentTarget, tuiDefaultProp, tuiPure, typedFromEvent } from '@taiga-ui/cdk';
|
|
4
4
|
import { PolymorpheusOutletComponent } from '@tinkoff/ng-polymorpheus';
|
|
5
|
-
import { BehaviorSubject, of } from 'rxjs';
|
|
6
|
-
import { filter, mapTo, pairwise, startWith, switchMap } from 'rxjs/operators';
|
|
5
|
+
import { BehaviorSubject, of, Subject } from 'rxjs';
|
|
6
|
+
import { distinctUntilChanged, filter, mapTo, pairwise, startWith, switchMap, } from 'rxjs/operators';
|
|
7
|
+
import { TUI_LINE_CLAMP_OPTIONS } from './line-clamp-options';
|
|
7
8
|
var TuiLineClampComponent = /** @class */ (function () {
|
|
8
|
-
function TuiLineClampComponent(elementRef, renderer, cd, ngZone) {
|
|
9
|
+
function TuiLineClampComponent(elementRef, renderer, cd, ngZone, options) {
|
|
9
10
|
this.elementRef = elementRef;
|
|
10
11
|
this.renderer = renderer;
|
|
11
12
|
this.cd = cd;
|
|
12
13
|
this.ngZone = ngZone;
|
|
14
|
+
this.options = options;
|
|
13
15
|
this.linesLimit$ = new BehaviorSubject(1);
|
|
16
|
+
this.isOverflown$ = new Subject();
|
|
14
17
|
this.initialized = false;
|
|
15
18
|
this.lineHeight = 24;
|
|
16
19
|
this.content = '';
|
|
20
|
+
this.overflownChange = this.isOverflown$.pipe(distinctUntilChanged());
|
|
17
21
|
this.skipInitialTransition();
|
|
18
22
|
}
|
|
19
23
|
Object.defineProperty(TuiLineClampComponent.prototype, "linesLimit", {
|
|
@@ -51,7 +55,7 @@ var TuiLineClampComponent = /** @class */ (function () {
|
|
|
51
55
|
});
|
|
52
56
|
Object.defineProperty(TuiLineClampComponent.prototype, "computedContent", {
|
|
53
57
|
get: function () {
|
|
54
|
-
return this.overflown ? this.content : '';
|
|
58
|
+
return this.options.showHint && this.overflown ? this.content : '';
|
|
55
59
|
},
|
|
56
60
|
enumerable: true,
|
|
57
61
|
configurable: true
|
|
@@ -76,6 +80,9 @@ var TuiLineClampComponent = /** @class */ (function () {
|
|
|
76
80
|
TuiLineClampComponent.prototype.ngAfterViewInit = function () {
|
|
77
81
|
this.initialized = true;
|
|
78
82
|
};
|
|
83
|
+
TuiLineClampComponent.prototype.ngDoCheck = function () {
|
|
84
|
+
this.isOverflown$.next(this.overflown);
|
|
85
|
+
};
|
|
79
86
|
TuiLineClampComponent.prototype.skipInitialTransition = function () {
|
|
80
87
|
var _this = this;
|
|
81
88
|
this.ngZone.runOutsideAngular(function () {
|
|
@@ -89,7 +96,8 @@ var TuiLineClampComponent = /** @class */ (function () {
|
|
|
89
96
|
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
90
97
|
{ type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] },
|
|
91
98
|
{ type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
|
|
92
|
-
{ type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] }
|
|
99
|
+
{ type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
|
|
100
|
+
{ type: undefined, decorators: [{ type: Inject, args: [TUI_LINE_CLAMP_OPTIONS,] }] }
|
|
93
101
|
]; };
|
|
94
102
|
__decorate([
|
|
95
103
|
ViewChild(PolymorpheusOutletComponent, { read: ElementRef })
|
|
@@ -106,6 +114,9 @@ var TuiLineClampComponent = /** @class */ (function () {
|
|
|
106
114
|
Input(),
|
|
107
115
|
tuiDefaultProp()
|
|
108
116
|
], TuiLineClampComponent.prototype, "content", void 0);
|
|
117
|
+
__decorate([
|
|
118
|
+
Output()
|
|
119
|
+
], TuiLineClampComponent.prototype, "overflownChange", void 0);
|
|
109
120
|
__decorate([
|
|
110
121
|
tuiPure
|
|
111
122
|
], TuiLineClampComponent.prototype, "lineClamp$", null);
|
|
@@ -115,6 +126,9 @@ var TuiLineClampComponent = /** @class */ (function () {
|
|
|
115
126
|
__decorate([
|
|
116
127
|
HostBinding('style.height.px')
|
|
117
128
|
], TuiLineClampComponent.prototype, "height", null);
|
|
129
|
+
__decorate([
|
|
130
|
+
HostListener('transitionend')
|
|
131
|
+
], TuiLineClampComponent.prototype, "updateView", null);
|
|
118
132
|
TuiLineClampComponent = __decorate([
|
|
119
133
|
Component({
|
|
120
134
|
selector: 'tui-line-clamp',
|
|
@@ -125,9 +139,10 @@ var TuiLineClampComponent = /** @class */ (function () {
|
|
|
125
139
|
__param(0, Inject(ElementRef)),
|
|
126
140
|
__param(1, Inject(Renderer2)),
|
|
127
141
|
__param(2, Inject(ChangeDetectorRef)),
|
|
128
|
-
__param(3, Inject(NgZone))
|
|
142
|
+
__param(3, Inject(NgZone)),
|
|
143
|
+
__param(4, Inject(TUI_LINE_CLAMP_OPTIONS))
|
|
129
144
|
], TuiLineClampComponent);
|
|
130
145
|
return TuiLineClampComponent;
|
|
131
146
|
}());
|
|
132
147
|
export { TuiLineClampComponent };
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jbGFtcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbGluZS1jbGFtcC8iLCJzb3VyY2VzIjpbImxpbmUtY2xhbXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsYUFBYSxFQUNiLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBc0IsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUMsZUFBZSxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBUTdFO0lBcUJJLCtCQUN5QyxVQUFtQyxFQUNwQyxRQUFtQixFQUNYLEVBQXFCLEVBQ2hDLE1BQWM7UUFIVixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ1gsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXJCbEMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQVU1QixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBSWhCLFlBQU8sR0FBd0IsRUFBRSxDQUFDO1FBUTlCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFu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VSxFQUFDLENBQUM7eURBQ1Q7SUFPbEQ7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7MkRBR2hCO0lBSUQ7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7NkRBQ0Q7SUFJaEI7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7MERBQ2lCO0lBWWxDO1FBREMsT0FBTzsyREFjUDtJQW1CRDtRQURDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQzswREFHakM7SUFHRDtRQURDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQzt1REFHOUI7SUF0RVEscUJBQXFCO1FBTmpDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsK1JBQXlDO1lBRXpDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztTQUNsRCxDQUFDO1FBdUJPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7T0F6QlYscUJBQXFCLENBd0ZqQztJQUFELDRCQUFDO0NBQUEsQUF4RkQsSUF3RkM7U0F4RlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzQ3VycmVudFRhcmdldCwgdHVpRGVmYXVsdFByb3AsIHR1aVB1cmUsIHR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudCwgUG9seW1vcnBoZXVzT3V0bGV0Q29tcG9uZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXBUbywgcGFpcndpc2UsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWxpbmUtY2xhbXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saW5lLWNsYW1wLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpbmUtY2xhbXAuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMaW5lQ2xhbXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKFBvbHltb3JwaGV1c091dGxldENvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3V0bGV0PzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmVzTGltaXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgxKTtcbiAgICBwcml2YXRlIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IGxpbmVzTGltaXQobGluZXNMaW1pdDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubGluZXNMaW1pdCQubmV4dChsaW5lc0xpbWl0KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGluZUhlaWdodCA9IDI0O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoUmVuZGVyZXIyKSBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KE5nWm9uZSkgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5za2lwSW5pdGlhbFRyYW5zaXRpb24oKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCBsaW5lQ2xhbXAkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxpbmVzTGltaXQkLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgoMSksXG4gICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbcHJldiwgbmV4dF0pID0+XG4gICAgICAgICAgICAgICAgbmV4dCA+PSBwcmV2XG4gICAgICAgICAgICAgICAgICAgID8gb2YobmV4dClcbiAgICAgICAgICAgICAgICAgICAgOiB0eXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RyYW5zaXRpb25lbmQnKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoaXNDdXJyZW50VGFyZ2V0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwVG8obmV4dCksXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IG92ZXJmbG93bigpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLm91dGxldCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge3Njcm9sbEhlaWdodCwgc2Nyb2xsV2lkdGh9ID0gdGhpcy5vdXRsZXQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge2NsaWVudEhlaWdodCwgY2xpZW50V2lkdGh9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgLy8gNHB4IGJ1ZmZlciBmb3IgSUUvRWRnZSBpbmNvcnJlY3RseSByb3VuZGluZyBzY3JvbGxIZWlnaHRcbiAgICAgICAgcmV0dXJuIHNjcm9sbEhlaWdodCAtIGNsaWVudEhlaWdodCA+IDQgfHwgc2Nyb2xsV2lkdGggLSBjbGllbnRXaWR0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQ29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmZsb3duID8gdGhpcy5jb250ZW50IDogJyc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXhIZWlnaHQucHgnKVxuICAgIGdldCBtYXhIZWlnaHQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmluaXRpYWxpemVkID8gdGhpcy5saW5lSGVpZ2h0ICogdGhpcy5saW5lc0xpbWl0JC52YWx1ZSA6IG51bGw7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKVxuICAgIGdldCBoZWlnaHQoKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5vdXRsZXQgPyAwIDogdGhpcy5vdXRsZXQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgKyA0IHx8IG51bGw7XG4gICAgfVxuXG4gICAgdXBkYXRlVmlldygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNraXBJbml0aWFsVHJhbnNpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ19pbml0aWFsaXplZCcpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jbGFtcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbGluZS1jbGFtcC8iLCJzb3VyY2VzIjpbImxpbmUtY2xhbXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsYUFBYSxFQUNiLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULE9BQU8sRUFDUCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBc0IsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUMsZUFBZSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUNILG9CQUFvQixFQUNwQixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsU0FBUyxHQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLHNCQUFzQixFQUFzQixNQUFNLHNCQUFzQixDQUFDO0FBUWpGO0lBMkJJLCtCQUN5QyxVQUFtQyxFQUNwQyxRQUFtQixFQUNYLEVBQXFCLEVBQ2hDLE1BQWMsRUFDRSxPQUE0QjtRQUp4QyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ1gsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNFLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBNUJoRSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMs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aUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2QsV0FBQSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtPQWhDMUIscUJBQXFCLENBb0dqQztJQUFELDRCQUFDO0NBQUEsQUFwR0QsSUFvR0M7U0FwR1kscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpc0N1cnJlbnRUYXJnZXQsIHR1aURlZmF1bHRQcm9wLCB0dWlQdXJlLCB0eXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnQsIFBvbHltb3JwaGV1c091dGxldENvbXBvbmVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBtYXBUbyxcbiAgICBwYWlyd2lzZSxcbiAgICBzdGFydFdpdGgsXG4gICAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0xJTkVfQ0xBTVBfT1BUSU9OUywgVHVpTGluZUNsYW1wT3B0aW9uc30gZnJvbSAnLi9saW5lLWNsYW1wLW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1saW5lLWNsYW1wJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGluZS1jbGFtcC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saW5lLWNsYW1wLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTGluZUNsYW1wQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjayB7XG4gICAgQFZpZXdDaGlsZChQb2x5bW9ycGhldXNPdXRsZXRDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IG91dGxldD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaW5lc0xpbWl0JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc092ZXJmbG93biQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZXQgbGluZXNMaW1pdChsaW5lc0xpbWl0OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5saW5lc0xpbWl0JC5uZXh0KGxpbmVzTGltaXQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsaW5lSGVpZ2h0ID0gMjQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgb3ZlcmZsb3duQ2hhbmdlOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5pc092ZXJmbG93biQucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KFRVSV9MSU5FX0NMQU1QX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpTGluZUNsYW1wT3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgdGhpcy5za2lwSW5pdGlhbFRyYW5zaXRpb24oKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCBsaW5lQ2xhbXAkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxpbmVzTGltaXQkLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgoMSksXG4gICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbcHJldiwgbmV4dF0pID0+XG4gICAgICAgICAgICAgICAgbmV4dCA+PSBwcmV2XG4gICAgICAgICAgICAgICAgICAgID8gb2YobmV4dClcbiAgICAgICAgICAgICAgICAgICAgOiB0eXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RyYW5zaXRpb25lbmQnKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoaXNDdXJyZW50VGFyZ2V0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwVG8obmV4dCksXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IG92ZXJmbG93bigpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLm91dGxldCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge3Njcm9sbEhlaWdodCwgc2Nyb2xsV2lkdGh9ID0gdGhpcy5vdXRsZXQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge2NsaWVudEhlaWdodCwgY2xpZW50V2lkdGh9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgLy8gNHB4IGJ1ZmZlciBmb3IgSUUvRWRnZSBpbmNvcnJlY3RseSByb3VuZGluZyBzY3JvbGxIZWlnaHRcbiAgICAgICAgcmV0dXJuIHNjcm9sbEhlaWdodCAtIGNsaWVudEhlaWdodCA+IDQgfHwgc2Nyb2xsV2lkdGggLSBjbGllbnRXaWR0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkQ29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5zaG93SGludCAmJiB0aGlzLm92ZXJmbG93biA/IHRoaXMuY29udGVudCA6ICcnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUubWF4SGVpZ2h0LnB4JylcbiAgICBnZXQgbWF4SGVpZ2h0KCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbml0aWFsaXplZCA/IHRoaXMubGluZUhlaWdodCAqIHRoaXMubGluZXNMaW1pdCQudmFsdWUgOiBudWxsO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JylcbiAgICBnZXQgaGVpZ2h0KCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMub3V0bGV0ID8gMCA6IHRoaXMub3V0bGV0Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0ICsgNCB8fCBudWxsO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnKVxuICAgIHVwZGF0ZVZpZXcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzT3ZlcmZsb3duJC5uZXh0KHRoaXMub3ZlcmZsb3duKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNraXBJbml0aWFsVHJhbnNpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ19pbml0aWFsaXplZCcpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -6,6 +6,7 @@ import { TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT } from '@taiga-ui/core';
|
|
|
6
6
|
import { TuiMultiSelectOptionComponent } from '@taiga-ui/kit/components/multi-select-option';
|
|
7
7
|
import { PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
|
|
8
8
|
import { TuiMultiSelectComponent } from '../multi-select.component';
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
9
10
|
export function hostFallbackFactory(control, host) {
|
|
10
11
|
return (host || {
|
|
11
12
|
handleOption: function (option) {
|
|
@@ -56,4 +57,4 @@ var TuiMultiSelectGroupDirective = /** @class */ (function () {
|
|
|
56
57
|
return TuiMultiSelectGroupDirective;
|
|
57
58
|
}());
|
|
58
59
|
export { TuiMultiSelectGroupDirective };
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvIiwic291cmNlcyI6WyJtdWx0aS1zZWxlY3QtZ3JvdXAvbXVsdGktc2VsZWN0LWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBa0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRSxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLG1CQUFtQixDQUMvQixPQUFrQixFQUNsQixJQUErQjtJQUUvQixPQUFPLENBQ0gsSUFBSSxJQUFJO1FBQ0osWUFBWSxFQUFFLFVBQUEsTUFBTTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDbEIsT0FBTzthQUNWO1lBRUQsSUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbEMsSUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVwQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDcEIsS0FBSyxLQUFLLENBQUMsQ0FBQztnQkFDUixDQUFDLFVBQUssS0FBSyxHQUFFLE1BQU0sR0FDbkIsQ0FBQyxVQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQzlELENBQUM7UUFDTixDQUFDO0tBQ0osQ0FDSixDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sQ0FBQyxJQUFNLHVCQUF1QixHQUFHLElBQUkscUJBQXFCLENBQzVELDZCQUE2QixDQUNoQyxDQUFDO0FBRUYsc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxJQUFNLHFCQUFxQixHQUFHO0lBQ2pDLFVBQVUsRUFBRSxjQUFjO0lBQzFCLGdCQUFnQixFQUFFLGNBQWM7SUFDaEMsaUJBQWlCLEVBQUUsY0FBYztDQUNwQyxDQUFDO0FBd0JGO0lBQUE7SUFBMkMsQ0FBQztJQUEvQiw0QkFBNEI7UUF0QnhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx1QkFBdUI7WUFDakMsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLFFBQVEsRUFBRSx1QkFBdUI7aUJBQ3BDO2dCQUNEO29CQUNJLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLElBQUksRUFBRTt3QkFDRixTQUFTO3dCQUNULENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLHVCQUF1QixFQUF2QixDQUF1QixDQUFDLENBQUM7cUJBQzlEO29CQUNELFVBQVUsRUFBRSxtQkFBbUI7aUJBQ2xDO2dCQUNEO29CQUNJLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLEtBQUssRUFBRSxJQUFJO29CQUNYLFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2xDO2FBQ0o7U0FDSixDQUFDO09BQ1csNEJBQTRCLENBQUc7SUFBRCxtQ0FBQztDQUFBLEFBQTVDLElBQTRDO1NBQS9CLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RU1QVFlfRlVOQ1RJT059IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfREFUQV9MSVNUX0hPU1QsIFRVSV9PUFRJT05fQ09OVEVOVCwgVHVpRGF0YUxpc3RIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aU11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LW9wdGlvbic7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbXBvbmVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlNdWx0aVNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi4vbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiBob3N0RmFsbGJhY2tGYWN0b3J5PFQ+KFxuICAgIGNvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBob3N0OiBUdWlEYXRhTGlzdEhvc3Q8VD4gfCBudWxsLFxuKTogVHVpRGF0YUxpc3RIb3N0PFQ+IHtcbiAgICByZXR1cm4gKFxuICAgICAgICBob3N0IHx8IHtcbiAgICAgICAgICAgIGhhbmRsZU9wdGlvbjogb3B0aW9uID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWNvbnRyb2wuY29udHJvbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlIHx8IFtdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdmFsdWUuaW5kZXhPZihvcHRpb24pO1xuXG4gICAgICAgICAgICAgICAgY29udHJvbC5jb250cm9sLnNldFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICBpbmRleCA9PT0gLTFcbiAgICAgICAgICAgICAgICAgICAgICAgID8gWy4uLnZhbHVlLCBvcHRpb25dXG4gICAgICAgICAgICAgICAgICAgICAgICA6IFsuLi52YWx1ZS5zbGljZSgwLCBpbmRleCksIC4uLnZhbHVlLnNsaWNlKGluZGV4ICsgMSldLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgKTtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9NVUxUSV9TRUxFQ1RfT1BUSU9OID0gbmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudChcbiAgICBUdWlNdWx0aVNlbGVjdE9wdGlvbkNvbXBvbmVudCxcbik7XG5cbi8vIFRPRE86IDMuMCByZW1vdmUgaW4gaXZ5IGNvbXBpbGF0aW9uXG5leHBvcnQgY29uc3QgTVVMVElfU0VMRUNUX0FDQ0VTU09SID0ge1xuICAgIHdyaXRlVmFsdWU6IEVNUFRZX0ZVTkNUSU9OLFxuICAgIHJlZ2lzdGVyT25DaGFuZ2U6IEVNUFRZX0ZVTkNUSU9OLFxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkOiBFTVBUWV9GVU5DVElPTixcbn07XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aU11bHRpU2VsZWN0R3JvdXBdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX09QVElPTl9DT05URU5ULFxuICAgICAgICAgICAgdXNlVmFsdWU6IFRVSV9NVUxUSV9TRUxFQ1RfT1BUSU9OLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgICAgICAgICBkZXBzOiBbXG4gICAgICAgICAgICAgICAgTmdDb250cm9sLFxuICAgICAgICAgICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgZm9yd2FyZFJlZigoKSA9PiBUdWlNdWx0aVNlbGVjdENvbXBvbmVudCldLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGhvc3RGYWxsYmFja0ZhY3RvcnksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VWYWx1ZTogTVVMVElfU0VMRUNUX0FDQ0VTU09SLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU11bHRpU2VsZWN0R3JvdXBEaXJlY3RpdmUge31cbiJdfQ==
|
|
@@ -288,7 +288,7 @@ var TuiMultiSelectComponent = /** @class */ (function (_super) {
|
|
|
288
288
|
FIXED_DROPDOWN_CONTROLLER_PROVIDER,
|
|
289
289
|
TEXTFIELD_CONTROLLER_PROVIDER,
|
|
290
290
|
],
|
|
291
|
-
styles: [":host{position:relative;display:block}:host._disabled{pointer-events:none}.t-hosted{display:block}:host:not(._editable):not(._readonly) .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 1rem .5625rem}.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 .75rem 0;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)}"]
|
|
291
|
+
styles: [":host{position:relative;display:block;border-radius:var(--tui-radius-m)}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.input{border-radius:inherit}:host:not(._editable):not(._readonly) .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 1rem .5625rem}.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 .75rem 0;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)}"]
|
|
292
292
|
}),
|
|
293
293
|
__param(0, Optional()),
|
|
294
294
|
__param(0, Self()),
|
|
@@ -28,7 +28,7 @@ var TuiMultiSelectOptionComponent = /** @class */ (function (_super) {
|
|
|
28
28
|
TuiMultiSelectOptionComponent = __decorate([
|
|
29
29
|
Component({
|
|
30
30
|
selector: 'tui-multi-select-option',
|
|
31
|
-
template: "<tui-primitive-checkbox\n class=\"t-checkbox\"\n [size]=\"size\"\n [value]=\"selected$ | async\"\n></tui-primitive-checkbox>\n<ng-container
|
|
31
|
+
template: "<tui-primitive-checkbox\n class=\"t-checkbox\"\n [size]=\"size\"\n [value]=\"selected$ | async\"\n></tui-primitive-checkbox>\n<ng-container [ngTemplateOutlet]=\"context.$implicit\"></ng-container>\n",
|
|
32
32
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
33
33
|
styles: ["@-webkit-keyframes retrigger{from{left:1px}to{left:2px}}@keyframes retrigger{from{left:1px}to{left:2px}}:host{display:flex;flex:1;align-items:center;overflow:hidden;-webkit-animation:1s retrigger;animation:1s retrigger}.t-checkbox{margin-right:.75rem}"]
|
|
34
34
|
})
|
|
@@ -36,4 +36,4 @@ var TuiMultiSelectOptionComponent = /** @class */ (function (_super) {
|
|
|
36
36
|
return TuiMultiSelectOptionComponent;
|
|
37
37
|
}(TuiSelectOptionComponent));
|
|
38
38
|
export { TuiMultiSelectOptionComponent };
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LW9wdGlvbi8iLCJzb3VyY2VzIjpbIm11bHRpLXNlbGVjdC1vcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBUWhGO0lBQXNELGlEQUEyQjtJQUFqRjs7SUFZQSxDQUFDO0lBWEcsc0JBQUksK0NBQUk7YUFBUjtZQUNJLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3BELENBQUM7OztPQUFBO0lBRUQsc0JBQWMsbURBQVE7YUFBdEI7WUFBQSxpQkFNQztZQUxHLE9BQU8sQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFDLElBQU8sSUFBSyxPQUFBLEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUksQ0FBQyxNQUFNLENBQUMsS0FBTSxDQUFDLEVBQXRDLENBQXNDLENBQUMsQ0FDakYsQ0FBQztRQUNOLENBQUM7OztPQUFBO0lBWFEsNkJBQTZCO1FBTnpDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx5QkFBeUI7WUFDbkMsMk5BQWtEO1lBRWxELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztTQUNsRCxDQUFDO09BQ1csNkJBQTZCLENBWXpDO0lBQUQsb0NBQUM7Q0FBQSxBQVpELENBQXNELHdCQUF3QixHQVk3RTtTQVpZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzUHJlc2VudH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge3NpemVCaWdnZXIsIFR1aVNpemVMfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVNlbGVjdE9wdGlvbkNvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NlbGVjdC1vcHRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1tdWx0aS1zZWxlY3Qtb3B0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LW9wdGlvbi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tdWx0aS1zZWxlY3Qtb3B0aW9uLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTXVsdGlTZWxlY3RPcHRpb25Db21wb25lbnQ8VD4gZXh0ZW5kcyBUdWlTZWxlY3RPcHRpb25Db21wb25lbnQ8VD4ge1xuICAgIGdldCBzaXplKCk6IFR1aVNpemVMIHtcbiAgICAgICAgcmV0dXJuIHNpemVCaWdnZXIodGhpcy5vcHRpb24uc2l6ZSkgPyAnbCcgOiAnbSc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzUHJlc2VudCh0aGlzLm9wdGlvbi52YWx1ZSkgJiZcbiAgICAgICAgICAgIGlzUHJlc2VudCh0aGlzLmNvbnRyb2wudmFsdWUpICYmXG4gICAgICAgICAgICAhIXRoaXMuY29udHJvbC52YWx1ZS5maW5kKChpdGVtOiBUKSA9PiB0aGlzLm1hdGNoZXIoaXRlbSwgdGhpcy5vcHRpb24udmFsdWUhKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|