@taiga-ui/kit 2.27.1 → 2.31.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/README.md +4 -5
- package/abstract/slider/slider.d.ts +1 -1
- package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.js +6 -5
- package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-arrow.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-arrow.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +4 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js +4 -3
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.js +3 -10
- package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-field-error.umd.js +20 -8
- package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-field-error.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.js +2 -6
- package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js +28 -13
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js +40 -23
- package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js +27 -12
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -8
- 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-inline.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -8
- 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 -8
- 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 +12 -12
- 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-password.umd.js +2 -9
- package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +46 -25
- 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 +3 -3
- package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +3 -3
- 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-input-time.umd.js +0 -7
- package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -8
- 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-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-rating.umd.js +368 -0
- package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -0
- package/bundles/taiga-ui-kit-components-rating.umd.min.js +16 -0
- package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -0
- package/bundles/taiga-ui-kit-components-select.umd.js +3 -10
- package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js.map +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 +2 -2
- 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-toggle.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +23 -13
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components.umd.js +12 -4
- package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-constants.umd.js +8 -0
- package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-stringify.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-stringify.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.js +7 -0
- package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.js +44 -13
- package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js +2 -2
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +241 -6
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +15 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
- package/components/arrow/taiga-ui-kit-components-arrow.metadata.json +1 -1
- package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
- package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +1 -1
- package/components/checkbox-block/checkbox-block.component.d.ts +1 -1
- package/components/checkbox-labeled/checkbox-labeled.component.d.ts +1 -1
- package/components/combo-box/combo-box.component.d.ts +0 -1
- package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
- package/components/field-error/field-error.component.d.ts +3 -2
- package/components/field-error/taiga-ui-kit-components-field-error.metadata.json +1 -1
- package/components/index.d.ts +1 -0
- package/components/input-date/input-date.component.d.ts +5 -4
- package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
- package/components/input-date-range/input-date-range.component.d.ts +5 -4
- package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
- package/components/input-date-time/input-date-time.component.d.ts +5 -5
- package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
- package/components/input-file/input-file.component.d.ts +0 -1
- package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
- package/components/input-inline/taiga-ui-kit-components-input-inline.metadata.json +1 -1
- package/components/input-month/input-month.component.d.ts +0 -1
- package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
- package/components/input-month-range/input-month-range.component.d.ts +0 -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-password/input-password.component.d.ts +0 -1
- package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
- package/components/input-phone-international/const/countries.d.ts +15 -7
- package/components/input-phone-international/country-iso-code.d.ts +1 -1
- package/components/input-phone-international/index.d.ts +2 -0
- package/components/input-phone-international/input-phone-international.component.d.ts +2 -2
- package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
- package/components/input-phone-international/tokens/countries-masks.d.ts +3 -0
- package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -0
- package/components/input-tag/input-tag.component.d.ts +1 -1
- package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
- package/components/input-time/input-time.component.d.ts +0 -1
- package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
- package/components/multi-select/multi-select.component.d.ts +0 -1
- package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
- package/components/rating/index.d.ts +3 -0
- package/components/rating/package.json +13 -0
- package/components/rating/rating-options.d.ts +9 -0
- package/components/rating/rating.component.d.ts +21 -0
- package/components/rating/rating.module.d.ts +2 -0
- package/components/rating/taiga-ui-kit-components-rating.d.ts +4 -0
- package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -0
- package/components/select/select.component.d.ts +0 -1
- package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
- package/components/taiga-ui-kit-components.metadata.json +1 -1
- package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
- package/components/tree/components/tree/tree.component.d.ts +3 -1
- package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
- package/constants/masks.d.ts +8 -0
- package/constants/taiga-ui-kit-constants.metadata.json +1 -1
- package/directives/lazy-loading/lazy-loading.service.d.ts +1 -1
- package/esm2015/abstract/input-slider.js +4 -2
- package/esm2015/abstract/slider/slider.js +1 -1
- package/esm2015/components/arrow/arrow.component.js +1 -1
- package/esm2015/components/calendar-month/calendar-month.component.js +5 -2
- package/esm2015/components/carousel/carousel-scroll.directive.js +5 -4
- package/esm2015/components/checkbox/checkbox.component.js +2 -2
- package/esm2015/components/checkbox-block/checkbox-block.component.js +1 -1
- package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +1 -1
- package/esm2015/components/combo-box/combo-box.component.js +4 -7
- package/esm2015/components/field-error/field-error.component.js +15 -6
- package/esm2015/components/index.js +2 -1
- package/esm2015/components/input/input.component.js +2 -2
- package/esm2015/components/input-count/input-count.component.js +3 -7
- package/esm2015/components/input-date/input-date.component.js +31 -18
- package/esm2015/components/input-date-range/input-date-range.component.js +32 -19
- package/esm2015/components/input-date-time/input-date-time.component.js +45 -24
- package/esm2015/components/input-file/input-file.component.js +2 -5
- package/esm2015/components/input-inline/input-inline.component.js +3 -3
- package/esm2015/components/input-month/input-month.component.js +2 -5
- package/esm2015/components/input-month-range/input-month-range.component.js +2 -5
- package/esm2015/components/input-number/input-number.component.js +15 -15
- package/esm2015/components/input-password/input-password.component.js +3 -6
- package/esm2015/components/input-phone/input-phone.component.js +4 -4
- package/esm2015/components/input-phone-international/const/countries.js +21 -10
- package/esm2015/components/input-phone-international/country-iso-code.js +2 -2
- package/esm2015/components/input-phone-international/index.js +3 -1
- package/esm2015/components/input-phone-international/input-phone-international.component.js +15 -18
- package/esm2015/components/input-phone-international/tokens/countries-masks.js +6 -0
- package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +9 -0
- package/esm2015/components/input-tag/input-tag.component.js +4 -4
- package/esm2015/components/input-time/input-time.component.js +1 -4
- package/esm2015/components/multi-select/multi-select.component.js +2 -5
- package/esm2015/components/progress/pipes/abstract-color-segments.js +1 -1
- package/esm2015/components/rating/index.js +4 -0
- package/esm2015/components/rating/rating-options.js +11 -0
- package/esm2015/components/rating/rating.component.js +91 -0
- package/esm2015/components/rating/rating.module.js +23 -0
- package/esm2015/components/rating/taiga-ui-kit-components-rating.js +5 -0
- package/esm2015/components/select/select.component.js +4 -7
- package/esm2015/components/tag/tag.component.js +2 -2
- package/esm2015/components/text-area/text-area.component.js +3 -3
- package/esm2015/components/toggle/toggle.component.js +1 -1
- package/esm2015/components/tree/components/tree/tree.component.js +11 -6
- package/esm2015/components/tree/tree.module.js +9 -2
- package/esm2015/constants/masks.js +9 -1
- package/esm2015/directives/lazy-loading/lazy-loading.service.js +1 -1
- package/esm2015/pipes/stringify/stringify.pipe.js +1 -1
- package/esm2015/tokens/date-inputs-value-transformers.js +5 -0
- package/esm2015/tokens/index.js +2 -1
- package/esm2015/tokens/validation-errors.js +1 -1
- package/esm2015/utils/mask/create-auto-corrected-date-pipe.js +6 -4
- package/esm2015/utils/mask/create-auto-corrected-date-range-pipe.js +9 -6
- package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +6 -6
- package/esm2015/utils/mask/create-auto-corrected-time-pipe.js +2 -2
- package/esm2015/utils/mask/create-date-mask.js +16 -0
- package/esm2015/utils/mask/create-date-range-mask.js +14 -0
- package/esm2015/utils/mask/index.js +3 -1
- package/esm2015/utils/miscellaneous/get-precision.js +8 -0
- package/esm2015/utils/miscellaneous/index.js +2 -1
- package/esm2015/utils/miscellaneous/replay-control-value-changes-factory.js +10 -4
- package/esm5/abstract/input-slider.js +4 -2
- package/esm5/abstract/slider/slider.js +1 -1
- package/esm5/components/arrow/arrow.component.js +1 -1
- package/esm5/components/calendar-month/calendar-month.component.js +5 -2
- package/esm5/components/carousel/carousel-scroll.directive.js +5 -4
- package/esm5/components/checkbox/checkbox.component.js +2 -2
- package/esm5/components/checkbox-block/checkbox-block.component.js +1 -1
- package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +1 -1
- package/esm5/components/combo-box/combo-box.component.js +4 -11
- package/esm5/components/field-error/field-error.component.js +19 -6
- package/esm5/components/index.js +2 -1
- package/esm5/components/input/input.component.js +2 -2
- package/esm5/components/input-count/input-count.component.js +3 -7
- package/esm5/components/input-date/input-date.component.js +33 -18
- package/esm5/components/input-date-range/input-date-range.component.js +34 -19
- package/esm5/components/input-date-time/input-date-time.component.js +45 -28
- package/esm5/components/input-file/input-file.component.js +2 -9
- package/esm5/components/input-inline/input-inline.component.js +3 -3
- package/esm5/components/input-month/input-month.component.js +2 -9
- package/esm5/components/input-month-range/input-month-range.component.js +2 -9
- package/esm5/components/input-number/input-number.component.js +14 -14
- package/esm5/components/input-password/input-password.component.js +3 -10
- package/esm5/components/input-phone/input-phone.component.js +4 -4
- package/esm5/components/input-phone-international/const/countries.js +21 -10
- package/esm5/components/input-phone-international/country-iso-code.js +2 -2
- package/esm5/components/input-phone-international/index.js +3 -1
- package/esm5/components/input-phone-international/input-phone-international.component.js +15 -18
- package/esm5/components/input-phone-international/tokens/countries-masks.js +6 -0
- package/esm5/components/input-phone-international/utils/extract-value-from-event.js +9 -0
- package/esm5/components/input-tag/input-tag.component.js +4 -4
- package/esm5/components/input-time/input-time.component.js +1 -8
- package/esm5/components/multi-select/multi-select.component.js +2 -9
- package/esm5/components/progress/pipes/abstract-color-segments.js +1 -1
- package/esm5/components/rating/index.js +4 -0
- package/esm5/components/rating/rating-options.js +11 -0
- package/esm5/components/rating/rating.component.js +111 -0
- package/esm5/components/rating/rating.module.js +26 -0
- package/esm5/components/rating/taiga-ui-kit-components-rating.js +5 -0
- package/esm5/components/select/select.component.js +4 -11
- package/esm5/components/tag/tag.component.js +1 -1
- package/esm5/components/text-area/text-area.component.js +3 -3
- package/esm5/components/toggle/toggle.component.js +1 -1
- package/esm5/components/tree/components/tree/tree.component.js +15 -9
- package/esm5/components/tree/tree.module.js +9 -2
- package/esm5/constants/masks.js +9 -1
- package/esm5/directives/lazy-loading/lazy-loading.service.js +1 -1
- package/esm5/pipes/stringify/stringify.pipe.js +1 -1
- package/esm5/tokens/date-inputs-value-transformers.js +5 -0
- package/esm5/tokens/index.js +2 -1
- package/esm5/tokens/validation-errors.js +1 -1
- package/esm5/utils/mask/create-auto-corrected-date-pipe.js +6 -4
- package/esm5/utils/mask/create-auto-corrected-date-range-pipe.js +9 -6
- package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +6 -6
- package/esm5/utils/mask/create-auto-corrected-time-pipe.js +2 -2
- package/esm5/utils/mask/create-date-mask.js +17 -0
- package/esm5/utils/mask/create-date-range-mask.js +13 -0
- package/esm5/utils/mask/index.js +3 -1
- package/esm5/utils/miscellaneous/get-precision.js +9 -0
- package/esm5/utils/miscellaneous/index.js +2 -1
- package/esm5/utils/miscellaneous/replay-control-value-changes-factory.js +12 -4
- package/fesm2015/taiga-ui-kit-abstract.js +3 -1
- package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-arrow.js +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +4 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js +4 -3
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox.js +1 -1
- package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-combo-box.js +3 -6
- package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-field-error.js +14 -5
- package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js +2 -6
- package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js +31 -18
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-time.js +45 -24
- package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js +30 -17
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-file.js +1 -4
- package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-inline.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -4
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js +1 -4
- package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +14 -14
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-password.js +2 -5
- package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +46 -28
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone.js +3 -3
- package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +3 -3
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js +0 -3
- package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -4
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-rating.js +123 -0
- package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -0
- package/fesm2015/taiga-ui-kit-components-select.js +3 -6
- package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js +17 -8
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components.js +1 -0
- package/fesm2015/taiga-ui-kit-components.js.map +1 -1
- package/fesm2015/taiga-ui-kit-constants.js +8 -0
- package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-stringify.js.map +1 -1
- package/fesm2015/taiga-ui-kit-tokens.js +5 -1
- package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-mask.js +46 -15
- package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +17 -3
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-kit-abstract.js +3 -1
- package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-arrow.js +1 -1
- package/fesm5/taiga-ui-kit-components-calendar-month.js +4 -1
- package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-carousel.js +4 -3
- package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox.js +1 -1
- package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-combo-box.js +3 -10
- package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-field-error.js +18 -5
- package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-count.js +2 -6
- package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-range.js +33 -18
- package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-time.js +45 -28
- package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date.js +32 -17
- package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-file.js +1 -8
- package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-inline.js +2 -2
- package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -8
- package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month.js +1 -8
- package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-number.js +13 -13
- package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-password.js +2 -9
- package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone-international.js +46 -28
- package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone.js +3 -3
- package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js +3 -3
- package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-time.js +0 -7
- package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input.js +1 -1
- package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js +1 -8
- package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-rating.js +146 -0
- package/fesm5/taiga-ui-kit-components-rating.js.map +1 -0
- package/fesm5/taiga-ui-kit-components-select.js +3 -10
- package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
- package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tree.js +21 -11
- package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm5/taiga-ui-kit-components.js +1 -0
- package/fesm5/taiga-ui-kit-components.js.map +1 -1
- package/fesm5/taiga-ui-kit-constants.js +8 -0
- package/fesm5/taiga-ui-kit-constants.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
- package/fesm5/taiga-ui-kit-pipes-stringify.js.map +1 -1
- package/fesm5/taiga-ui-kit-tokens.js +5 -1
- package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-mask.js +44 -15
- package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js +20 -3
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/package.json +6 -6
- package/tokens/date-inputs-value-transformers.d.ts +5 -0
- package/tokens/index.d.ts +1 -0
- package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
- package/tokens/validation-errors.d.ts +2 -1
- package/utils/mask/create-auto-corrected-date-pipe.d.ts +7 -3
- package/utils/mask/create-auto-corrected-date-range-pipe.d.ts +7 -2
- package/utils/mask/create-auto-corrected-date-time-pipe.d.ts +8 -3
- package/utils/mask/create-auto-corrected-time-pipe.d.ts +1 -1
- package/utils/mask/create-date-mask.d.ts +3 -0
- package/utils/mask/create-date-range-mask.d.ts +3 -0
- package/utils/mask/index.d.ts +2 -0
- package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
- package/utils/miscellaneous/get-precision.d.ts +4 -0
- package/utils/miscellaneous/index.d.ts +1 -0
- package/utils/miscellaneous/replay-control-value-changes-factory.d.ts +3 -2
- package/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.metadata.json +1 -1
|
@@ -45,13 +45,6 @@ var TuiInputFileComponent = /** @class */ (function (_super) {
|
|
|
45
45
|
enumerable: true,
|
|
46
46
|
configurable: true
|
|
47
47
|
});
|
|
48
|
-
Object.defineProperty(TuiInputFileComponent.prototype, "allowDelete", {
|
|
49
|
-
get: function () {
|
|
50
|
-
return !this.computedDisabled && !this.readOnly;
|
|
51
|
-
},
|
|
52
|
-
enumerable: true,
|
|
53
|
-
configurable: true
|
|
54
|
-
});
|
|
55
48
|
Object.defineProperty(TuiInputFileComponent.prototype, "computedLink$", {
|
|
56
49
|
get: function () {
|
|
57
50
|
return this.computeLink$(this.fileDragged, this.multiple, this.link);
|
|
@@ -294,7 +287,7 @@ var TuiInputFileComponent = /** @class */ (function (_super) {
|
|
|
294
287
|
TuiInputFileComponent = TuiInputFileComponent_1 = __decorate([
|
|
295
288
|
Component({
|
|
296
289
|
selector: 'tui-input-file',
|
|
297
|
-
template: "<tui-wrapper\n *ngIf=\"multiple || !value\"\n class=\"wrapper\"\n [class.wrapper_mobile]=\"isMobile\"\n [class.wrapper_has-files]=\"hasFiles\"\n [appearance]=\"getAppearance(mode$ | async)\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered || fileDragged\"\n [pressed]=\"computedPressed\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n>\n <label\n *ngIf=\"units$ | async as units\"\n automation-id=\"tui-input-file__label\"\n >\n <a tuiLink>\n <span\n polymorpheus-outlet\n class=\"inline\"\n [content]=\"computedLink$ | async\"\n ></span>\n </a>\n <ng-container *ngIf=\"computedLabel$ | async as computedLabel\">\n <span> </span>\n <span\n polymorpheus-outlet\n class=\"inline\"\n [content]=\"computedLabel\"\n ></span>\n </ng-container>\n <input\n *ngIf=\"!readOnly && !computedDisabled && (inputFileTexts$ | async) as texts\"\n #input\n type=\"file\"\n tuiPreventDefault=\"mousedown\"\n class=\"native\"\n [id]=\"id\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [tuiFocusable]=\"focusable\"\n (change)=\"onFilesSelected(input, texts, units)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiPressedChange)=\"onPressed($event)\"\n (tuiDroppableDropped)=\"onDropped($event, texts, units)\"\n (tuiDroppableDragOverChange)=\"onDragOver($event)\"\n />\n </label>\n</tui-wrapper>\n\n<section\n *tuiLet=\"mode$ | async as mode\"\n tuiGroup\n orientation=\"vertical\"\n class=\"files\"\n [collapsed]=\"true\"\n>\n <tui-file\n *ngFor=\"let file of rejectedFiles\"\n automation-id=\"tui-input-file__error\"\n state=\"error\"\n [attr.data-mode]=\"mode\"\n [showSize]=\"showSize\"\n [allowDelete]=\"
|
|
290
|
+
template: "<tui-wrapper\n *ngIf=\"multiple || !value\"\n class=\"wrapper\"\n [class.wrapper_mobile]=\"isMobile\"\n [class.wrapper_has-files]=\"hasFiles\"\n [appearance]=\"getAppearance(mode$ | async)\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered || fileDragged\"\n [pressed]=\"computedPressed\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n>\n <label\n *ngIf=\"units$ | async as units\"\n automation-id=\"tui-input-file__label\"\n >\n <a tuiLink>\n <span\n polymorpheus-outlet\n class=\"inline\"\n [content]=\"computedLink$ | async\"\n ></span>\n </a>\n <ng-container *ngIf=\"computedLabel$ | async as computedLabel\">\n <span> </span>\n <span\n polymorpheus-outlet\n class=\"inline\"\n [content]=\"computedLabel\"\n ></span>\n </ng-container>\n <input\n *ngIf=\"!readOnly && !computedDisabled && (inputFileTexts$ | async) as texts\"\n #input\n type=\"file\"\n tuiPreventDefault=\"mousedown\"\n class=\"native\"\n [id]=\"id\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [tuiFocusable]=\"focusable\"\n (change)=\"onFilesSelected(input, texts, units)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiPressedChange)=\"onPressed($event)\"\n (tuiDroppableDropped)=\"onDropped($event, texts, units)\"\n (tuiDroppableDragOverChange)=\"onDragOver($event)\"\n />\n </label>\n</tui-wrapper>\n\n<section\n *tuiLet=\"mode$ | async as mode\"\n tuiGroup\n orientation=\"vertical\"\n class=\"files\"\n [collapsed]=\"true\"\n>\n <tui-file\n *ngFor=\"let file of rejectedFiles\"\n automation-id=\"tui-input-file__error\"\n state=\"error\"\n [attr.data-mode]=\"mode\"\n [showSize]=\"showSize\"\n [allowDelete]=\"interactive\"\n [size]=\"size\"\n [file]=\"file\"\n (fileRemoved)=\"removeRejectedFile(file)\"\n ></tui-file>\n <tui-file\n *ngFor=\"let file of computedLoading\"\n automation-id=\"tui-input-file__loading\"\n state=\"loading\"\n [attr.data-mode]=\"mode\"\n [showSize]=\"showSize\"\n [allowDelete]=\"interactive\"\n [size]=\"size\"\n [file]=\"file\"\n (fileRemoved)=\"removeFile(file)\"\n ></tui-file>\n <tui-file\n *ngFor=\"let file of readyFiles\"\n automation-id=\"tui-input-file__file\"\n [attr.data-mode]=\"mode\"\n [showSize]=\"showSize\"\n [allowDelete]=\"interactive\"\n [size]=\"size\"\n [file]=\"file\"\n (fileRemoved)=\"removeFile(file)\"\n ></tui-file>\n</section>\n",
|
|
298
291
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
299
292
|
providers: [
|
|
300
293
|
MODE_PROVIDER,
|
|
@@ -317,4 +310,4 @@ var TuiInputFileComponent = /** @class */ (function (_super) {
|
|
|
317
310
|
return TuiInputFileComponent;
|
|
318
311
|
}(AbstractTuiNullableControl));
|
|
319
312
|
export { TuiInputFileComponent };
|
|
320
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZS8iLCJzb3VyY2VzIjpbImlucHV0LWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsV0FBVyxFQUNYLGVBQWUsRUFDZiwyQkFBMkIsRUFDM0IsYUFBYSxFQUNiLGNBQWMsRUFHZCxPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGFBQWEsRUFDYixRQUFRLEdBSVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsNkJBQTZCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFckQsT0FBTyxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLElBQU0sZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRO0FBRW5ELFdBQVc7QUFjWDtJQUNZLHlDQUFvRTtJQStDNUUsK0JBSUksT0FBeUIsRUFFekIsaUJBQW9DLEVBRTNCLFFBQWlCLEVBRWpCLGVBWVIsRUFDMEIsS0FBdUMsRUFFekQsTUFBNEM7UUF6QnpELFlBMkJJ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QUFDLE9BQU8sQ0FBQzt3REFDMkI7SUFzSTlDO1FBREMsT0FBTzs2REFpQlA7SUFHRDtRQURDLE9BQU87OERBd0JQO0lBR0Q7UUFEQyxPQUFPOzhEQVNQO0lBR0Q7UUFEQyxPQUFPOzhEQU1QO0lBR0Q7UUFEQyxPQUFPO2dFQU1QO0lBR0Q7UUFEQyxPQUFPOytEQU1QO0lBalFRLHFCQUFxQjtRQWJqQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLHM2RkFBeUM7WUFFekMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07WUFDL0MsU0FBUyxFQUFFO2dCQUNQLGFBQWE7Z0JBQ2I7b0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtvQkFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsdUJBQXFCLEVBQXJCLENBQXFCLENBQUM7aUJBQ3ZEO2FBQ0o7O1NBQ0osQ0FBQztRQWtETyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtRQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFckIsV0FBQSxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtRQWM1QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO09BeEVqQyxxQkFBcUIsQ0FpVWpDO0lBQUQsNEJBQUM7Q0FBQSxBQWpVRCxDQUNZLDBCQUEwQixHQWdVckM7U0FqVVkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEVNUFRZX0FSUkFZLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBUVUlfTU9ERSxcbiAgICBUdWlBcHBlYXJhbmNlLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpU2l6ZUwsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpRmlsZUxpa2V9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTLCBUVUlfSU5QVVRfRklMRV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtmb3JtYXRTaXplfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL2ZpbGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgREVGQVVMVF9NQVhfU0laRSA9IDMwICogMTAwMCAqIDEwMDA7IC8vIDMwIE1CXG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1maWxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZmlsZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1maWxlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTU9ERV9QUk9WSURFUixcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRGaWxlQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dEZpbGVDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aUZpbGVMaWtlIHwgUmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBwcml2YXRlIGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGluazogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGxhYmVsOiBQb2x5bW9ycGhldXNDb250ZW50ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWNjZXB0ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplTCA9ICdtJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaG93U2l6ZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4RmlsZVNpemUgPSBERUZBVUxUX01BWF9TSVpFO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGxvYWRpbmdGaWxlczogUmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICByZWplY3RlZEZpbGVzOiBSZWFkb25seUFycmF5PFR1aUZpbGVMaWtlPiA9IFtdO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVqZWN0ZWRGaWxlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gICAgcmVhZG9ubHkgaW5wdXQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpXG4gICAgICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKVxuICAgICAgICByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfRklMRV9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgaW5wdXRGaWxlVGV4dHMkOiBPYnNlcnZhYmxlPFxuICAgICAgICAgICAgUmVjb3JkPFxuICAgICAgICAgICAgICAgIHwgJ2RlZmF1bHRMYWJlbFNpbmdsZSdcbiAgICAgICAgICAgICAgICB8ICdkZWZhdWx0TGFiZWxNdWx0aXBsZSdcbiAgICAgICAgICAgICAgICB8ICdkZWZhdWx0TGlua1NpbmdsZSdcbiAgICAgICAgICAgICAgICB8ICdkZWZhdWx0TGlua011bHRpcGxlJ1xuICAgICAgICAgICAgICAgIHwgJ21heFNpemVSZWplY3Rpb25SZWFzb24nXG4gICAgICAgICAgICAgICAgfCAnZm9ybWF0UmVqZWN0aW9uUmVhc29uJ1xuICAgICAgICAgICAgICAgIHwgJ2Ryb3AnXG4gICAgICAgICAgICAgICAgfCAnZHJvcE11bHRpcGxlJyxcbiAgICAgICAgICAgICAgICBzdHJpbmdcbiAgICAgICAgICAgID5cbiAgICAgICAgPixcbiAgICAgICAgQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTKVxuICAgICAgICByZWFkb25seSB1bml0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nLCBzdHJpbmddPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXQgPyB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGFsbG93RGVsZXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuY29tcHV0ZWREaXNhYmxlZCAmJiAhdGhpcy5yZWFkT25seTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRMaW5rJCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZUxpbmskKHRoaXMuZmlsZURyYWdnZWQsIHRoaXMubXVsdGlwbGUsIHRoaXMubGluayk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTGFiZWwkKCk6IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlTGFiZWwkKFxuICAgICAgICAgICAgdGhpcy5pc01vYmlsZSxcbiAgICAgICAgICAgIHRoaXMuZmlsZURyYWdnZWQsXG4gICAgICAgICAgICB0aGlzLm11bHRpcGxlLFxuICAgICAgICAgICAgdGhpcy5sYWJlbCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBAYmFkIFRPRE86IHJlZmFjdG9yIGFmdGVyIElFIGlzIGRyb3BwZWRcbiAgICBnZXQgZmlsZURyYWdnZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMuZGF0YVRyYW5zZmVyICYmXG4gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHRoaXMuZGF0YVRyYW5zZmVyLnR5cGVzLCAnRmlsZXMnKSAhPT0gLTFcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgYWNjZXB0QXJyYXkoKTogcmVhZG9ubHkgc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBY2NlcHRBcnJheSh0aGlzLmFjY2VwdCk7XG4gICAgfVxuXG4gICAgZ2V0IGFycmF5VmFsdWUoKTogUmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZUFycmF5KHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIGdldCByZWFkeUZpbGVzKCk6IFJlYWRvbmx5QXJyYXk8VHVpRmlsZUxpa2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmVhZHlGaWxlcyh0aGlzLmFycmF5VmFsdWUsIHRoaXMubG9hZGluZ0ZpbGVzKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRMb2FkaW5nKCk6IFJlYWRvbmx5QXJyYXk8VHVpRmlsZUxpa2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TG9hZGluZ0ZpbGVzKHRoaXMuYXJyYXlWYWx1ZSwgdGhpcy5sb2FkaW5nRmlsZXMpO1xuICAgIH1cblxuICAgIGdldCBoYXNGaWxlcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5yZWplY3RlZEZpbGVzLmxlbmd0aCB8fCAhIXRoaXMuYXJyYXlWYWx1ZS5sZW5ndGg7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvblByZXNzZWQocHJlc3NlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZVByZXNzZWQocHJlc3NlZCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogcmVmYWN0b3IgaTE4biBtZXNzYWdlc1xuICAgIG9uRmlsZXNTZWxlY3RlZChcbiAgICAgICAgaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQsXG4gICAgICAgIHRleHRzOiBSZWNvcmQ8J21heFNpemVSZWplY3Rpb25SZWFzb24nIHwgJ2Zvcm1hdFJlamVjdGlvblJlYXNvbicsIHN0cmluZz4sXG4gICAgICAgIHVuaXRzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10sXG4gICAgKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc1NlbGVjdGVkRmlsZXMoaW5wdXQuZmlsZXMsIHRleHRzLCB1bml0cyk7XG4gICAgICAgIGlucHV0LnZhbHVlID0gJyc7XG4gICAgfVxuXG4gICAgb25Ecm9wcGVkKFxuICAgICAgICBldmVudDogRGF0YVRyYW5zZmVyLFxuICAgICAgICB0ZXh0czogUmVjb3JkPCdtYXhTaXplUmVqZWN0aW9uUmVhc29uJyB8ICdmb3JtYXRSZWplY3Rpb25SZWFzb24nLCBzdHJpbmc+LFxuICAgICAgICB1bml0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICkge1xuICAgICAgICB0aGlzLnByb2Nlc3NTZWxlY3RlZEZpbGVzKGV2ZW50LmZpbGVzLCB0ZXh0cywgdW5pdHMpO1xuICAgIH1cblxuICAgIG9uRHJhZ092ZXIoZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuZGF0YVRyYW5zZmVyID0gZGF0YVRyYW5zZmVyO1xuICAgIH1cblxuICAgIHJlbW92ZUZpbGUocmVtb3ZlZEZpbGU6IFR1aUZpbGVMaWtlKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICB0aGlzLm11bHRpcGxlID8gdGhpcy5hcnJheVZhbHVlLmZpbHRlcihmaWxlID0+IGZpbGUgIT09IHJlbW92ZWRGaWxlKSA6IG51bGwsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmVtb3ZlUmVqZWN0ZWRGaWxlKHJlbW92ZWRGaWxlOiBUdWlGaWxlTGlrZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZVJlamVjdGVkRmlsZXModGhpcy5yZWplY3RlZEZpbGVzLmZpbHRlcihmaWxlID0+IGZpbGUgIT09IHJlbW92ZWRGaWxlKSk7XG4gICAgfVxuXG4gICAgZ2V0QXBwZWFyYW5jZShtb2RlOiBudWxsIHwgdW5rbm93bik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBtb2RlID09PSBudWxsID8gJycgOiBUdWlBcHBlYXJhbmNlLk91dGxpbmU7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVMaW5rJChcbiAgICAgICAgZmlsZURyYWdnZWQ6IGJvb2xlYW4sXG4gICAgICAgIG11bHRpcGxlOiBib29sZWFuLFxuICAgICAgICBsaW5rOiBQb2x5bW9ycGhldXNDb250ZW50LFxuICAgICk6IE9ic2VydmFibGU8UG9seW1vcnBoZXVzQ29udGVudD4ge1xuICAgICAgICBpZiAoZmlsZURyYWdnZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBvZignJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dEZpbGVUZXh0cyQucGlwZShcbiAgICAgICAgICAgIG1hcCh0ZXh0cyA9PlxuICAgICAgICAgICAgICAgIG11bHRpcGxlICYmIGxpbmsgPT09ICcnXG4gICAgICAgICAgICAgICAgICAgID8gdGV4dHMuZGVmYXVsdExpbmtNdWx0aXBsZVxuICAgICAgICAgICAgICAgICAgICA6IGxpbmsgfHwgdGV4dHMuZGVmYXVsdExpbmtTaW5nbGUsXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjb21wdXRlTGFiZWwkKFxuICAgICAgICBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgZmlsZURyYWdnZWQ6IGJvb2xlYW4sXG4gICAgICAgIG11bHRpcGxlOiBib29sZWFuLFxuICAgICAgICBsYWJlbDogUG9seW1vcnBoZXVzQ29udGVudCxcbiAgICApOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgaWYgKGlzTW9iaWxlKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVEcmFnZ2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnB1dEZpbGVUZXh0cyQucGlwZShcbiAgICAgICAgICAgICAgICBtYXAodGV4dHMgPT4gKG11bHRpcGxlID8gdGV4dHMuZHJvcE11bHRpcGxlIDogdGV4dHMuZHJvcCkpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0RmlsZVRleHRzJC5waXBlKFxuICAgICAgICAgICAgbWFwKHRleHRzID0+XG4gICAgICAgICAgICAgICAgbXVsdGlwbGUgJiYgbGFiZWwgPT09ICcnXG4gICAgICAgICAgICAgICAgICAgID8gdGV4dHMuZGVmYXVsdExhYmVsTXVsdGlwbGVcbiAgICAgICAgICAgICAgICAgICAgOiBsYWJlbCB8fCB0ZXh0cy5kZWZhdWx0TGFiZWxTaW5nbGUsXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRWYWx1ZUFycmF5KFxuICAgICAgICB2YWx1ZTogVHVpRmlsZUxpa2UgfCBSZWFkb25seUFycmF5PFR1aUZpbGVMaWtlPiB8IG51bGwsXG4gICAgKTogUmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4ge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gRU1QVFlfQVJSQVk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBBcnJheSA/IHZhbHVlIDogW3ZhbHVlXTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0UmVhZHlGaWxlcyhcbiAgICAgICAgdmFsdWU6IFJlYWRvbmx5QXJyYXk8VHVpRmlsZUxpa2U+LFxuICAgICAgICBsb2FkaW5nOiBSZWFkb25seUFycmF5PFR1aUZpbGVMaWtlPixcbiAgICApOiBSZWFkb25seUFycmF5PFR1aUZpbGVMaWtlPiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5maWx0ZXIoZmlsZSA9PiBsb2FkaW5nLmluZGV4T2YoZmlsZSkgPT09IC0xKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0TG9hZGluZ0ZpbGVzKFxuICAgICAgICB2YWx1ZTogUmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4sXG4gICAgICAgIGxvYWRpbmc6IFJlYWRvbmx5QXJyYXk8VHVpRmlsZUxpa2U+LFxuICAgICk6IFJlYWRvbmx5QXJyYXk8VHVpRmlsZUxpa2U+IHtcbiAgICAgICAgcmV0dXJuIGxvYWRpbmcuZmlsdGVyKGZpbGUgPT4gdmFsdWUuaW5kZXhPZihmaWxlKSAhPT0gLTEpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRBY2NlcHRBcnJheShhY2NlcHQ6IHN0cmluZyk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIGFjY2VwdFxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKGZvcm1hdCA9PiBmb3JtYXQudHJpbSgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NTZWxlY3RlZEZpbGVzKFxuICAgICAgICBmaWxlczogRmlsZUxpc3QgfCBudWxsLFxuICAgICAgICB0ZXh0czogUmVjb3JkPCdtYXhTaXplUmVqZWN0aW9uUmVhc29uJyB8ICdmb3JtYXRSZWplY3Rpb25SZWFzb24nLCBzdHJpbmc+LFxuICAgICAgICB1bml0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICkge1xuICAgICAgICAvLyBJRTExIGFmdGVyIHNlbGVjdGluZyBhIGZpbGUgdGhyb3VnaCB0aGUgb3BlbiBkaWFsb2cgZ2VuZXJhdGVzIGEgc2Vjb25kIGV2ZW50IHBhc3NpbmcgYW4gZW1wdHkgRmlsZUxpc3QuXG4gICAgICAgIGlmIChmaWxlcyA9PT0gbnVsbCB8fCBmaWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld0ZpbGVzID0gdGhpcy5tdWx0aXBsZSA/IEFycmF5LmZyb20oZmlsZXMpIDogW2ZpbGVzWzBdXTtcbiAgICAgICAgY29uc3QgdG9vQmlnRmlsZXMgPSBuZXdGaWxlcy5maWx0ZXIoZmlsZSA9PiBmaWxlLnNpemUgPiB0aGlzLm1heEZpbGVTaXplKTtcbiAgICAgICAgY29uc3Qgd3JvbmdGb3JtYXRGaWxlcyA9IG5ld0ZpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIGZpbGUgPT4gIXRoaXMuaXNGb3JtYXRBY2NlcHRhYmxlKGZpbGUpICYmIHRvb0JpZ0ZpbGVzLmluZGV4T2YoZmlsZSkgPT09IC0xLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBhY2NlcHRlZEZpbGVzID0gbmV3RmlsZXMuZmlsdGVyKFxuICAgICAgICAgICAgZmlsZSA9PlxuICAgICAgICAgICAgICAgIHRvb0JpZ0ZpbGVzLmluZGV4T2YoZmlsZSkgPT09IC0xICYmIHdyb25nRm9ybWF0RmlsZXMuaW5kZXhPZihmaWxlKSA9PT0gLTEsXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVSZWplY3RlZEZpbGVzKFtcbiAgICAgICAgICAgIC4uLnRvb0JpZ0ZpbGVzLm1hcChmaWxlID0+ICh7XG4gICAgICAgICAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgIHR5cGU6IGZpbGUudHlwZSxcbiAgICAgICAgICAgICAgICBzaXplOiBmaWxlLnNpemUsXG4gICAgICAgICAgICAgICAgY29udGVudDpcbiAgICAgICAgICAgICAgICAgICAgdGV4dHMubWF4U2l6ZVJlamVjdGlvblJlYXNvbiArIGZvcm1hdFNpemUodW5pdHMsIHRoaXMubWF4RmlsZVNpemUpLFxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgLi4ud3JvbmdGb3JtYXRGaWxlcy5tYXAoZmlsZSA9PiAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHRleHRzLmZvcm1hdFJlamVjdGlvblJlYXNvbixcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgXSk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICB0aGlzLm11bHRpcGxlXG4gICAgICAgICAgICAgICAgPyBbLi4udGhpcy5hcnJheVZhbHVlLCAuLi5hY2NlcHRlZEZpbGVzXVxuICAgICAgICAgICAgICAgIDogYWNjZXB0ZWRGaWxlc1swXSB8fCBudWxsLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNGb3JtYXRBY2NlcHRhYmxlKGZpbGU6IEZpbGUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLmFjY2VwdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBleHRlbnNpb24gPSAnLicgKyAoZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKCkgfHwgJycpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjZXB0QXJyYXkuc29tZShcbiAgICAgICAgICAgIGZvcm1hdCA9PlxuICAgICAgICAgICAgICAgIGZvcm1hdCA9PT0gZXh0ZW5zaW9uIHx8XG4gICAgICAgICAgICAgICAgZm9ybWF0ID09PSBmaWxlLnR5cGUgfHxcbiAgICAgICAgICAgICAgICAoZm9ybWF0LnNwbGl0KCcvJylbMV0gPT09ICcqJyAmJlxuICAgICAgICAgICAgICAgICAgICBmaWxlLnR5cGUuc3BsaXQoJy8nKVswXSA9PT0gZm9ybWF0LnNwbGl0KCcvJylbMF0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUmVqZWN0ZWRGaWxlcyhyZWplY3RlZEZpbGVzOiBSZWFkb25seUFycmF5PFR1aUZpbGVMaWtlPikge1xuICAgICAgICB0aGlzLnJlamVjdGVkRmlsZXMgPSByZWplY3RlZEZpbGVzO1xuICAgICAgICB0aGlzLnJlamVjdGVkRmlsZXNDaGFuZ2UuZW1pdChyZWplY3RlZEZpbGVzKTtcbiAgICB9XG59XG4iXX0=
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZmlsZS8iLCJzb3VyY2VzIjpbImlucHV0LWZpbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsV0FBVyxFQUNYLGVBQWUsRUFDZiwyQkFBMkIsRUFDM0IsYUFBYSxFQUNiLGNBQWMsRUFHZCxPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGFBQWEsRUFDYixRQUFRLEdBSVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsNkJBQTZCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFckQsT0FBTyxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLElBQU0sZ0JBQWdCLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxRQUFRO0FBRW5ELFdBQVc7QUFjWDtJQUNZLHlDQUFvRTtJQStDNUUsK0JBSUksT0FBeUIsRUFFekIsaUJBQW9DLEVBRTNCLFFBQWlCLEVBRWpCLGVBWVIsRUFDMEIsS0FBdUMsRUFFekQsTUFBNEM7UUF6QnpELFlBMkJJ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OzhEQU1QO0lBR0Q7UUFEQyxPQUFPO2dFQU1QO0lBR0Q7UUFEQyxPQUFPOytEQU1QO0lBN1BRLHFCQUFxQjtRQWJqQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLHM2RkFBeUM7WUFFekMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07WUFDL0MsU0FBUyxFQUFFO2dCQUNQLGFBQWE7Z0JBQ2I7b0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtvQkFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsdUJBQXFCLEVBQXJCLENBQXFCLENBQUM7aUJBQ3ZEO2FBQ0o7O1NBQ0osQ0FBQztRQWtETyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtRQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFckIsV0FBQSxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtRQWM1QixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQixXQUFBLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO09BeEVqQyxxQkFBcUIsQ0E2VGpDO0lBQUQsNEJBQUM7Q0FBQSxBQTdURCxDQUNZLDBCQUEwQixHQTRUckM7U0E3VFkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEVNUFRZX0FSUkFZLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBUVUlfTU9ERSxcbiAgICBUdWlBcHBlYXJhbmNlLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpU2l6ZUwsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpRmlsZUxpa2V9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTLCBUVUlfSU5QVVRfRklMRV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtmb3JtYXRTaXplfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL2ZpbGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgREVGQVVMVF9NQVhfU0laRSA9IDMwICogMTAwMCAqIDEwMDA7IC8vIDMwIE1CXG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1maWxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZmlsZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1maWxlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTU9ERV9QUk9WSURFUixcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRGaWxlQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dEZpbGVDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aUZpbGVMaWtlIHwgUmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBwcml2YXRlIGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbGluazogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGxhYmVsOiBQb2x5bW9ycGhldXNDb250ZW50ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWNjZXB0ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplTCA9ICdtJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaG93U2l6ZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4RmlsZVNpemUgPSBERUZBVUxUX01BWF9TSVpFO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGxvYWRpbmdGaWxlczogUmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICByZWplY3RlZEZpbGVzOiBSZWFkb25seUFycmF5PFR1aUZpbGVMaWtlPiA9IFtdO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVqZWN0ZWRGaWxlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gICAgcmVhZG9ubHkgaW5wdXQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpXG4gICAgICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKVxuICAgICAgICByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfRklMRV9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgaW5wdXRGaWxlVGV4dHMkOiBPYnNlcnZhYmxlPFxuICAgICAgICAgICAgUmVjb3JkPFxuICAgICAgICAgICAgICAgIHwgJ2RlZmF1bHRMYWJlbFNpbmdsZSdcbiAgICAgICAgICAgICAgICB8ICdkZWZhdWx0TGFiZWxNdWx0aXBsZSdcbiAgICAgICAgICAgICAgICB8ICdkZWZhdWx0TGlua1NpbmdsZSdcbiAgICAgICAgICAgICAgICB8ICdkZWZhdWx0TGlua011bHRpcGxlJ1xuICAgICAgICAgICAgICAgIHwgJ21heFNpemVSZWplY3Rpb25SZWFzb24nXG4gICAgICAgICAgICAgICAgfCAnZm9ybWF0UmVqZWN0aW9uUmVhc29uJ1xuICAgICAgICAgICAgICAgIHwgJ2Ryb3AnXG4gICAgICAgICAgICAgICAgfCAnZHJvcE11bHRpcGxlJyxcbiAgICAgICAgICAgICAgICBzdHJpbmdcbiAgICAgICAgICAgID5cbiAgICAgICAgPixcbiAgICAgICAgQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTKVxuICAgICAgICByZWFkb25seSB1bml0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nLCBzdHJpbmddPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXQgPyB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTGluayQoKTogT2JzZXJ2YWJsZTxQb2x5bW9ycGhldXNDb250ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVMaW5rJCh0aGlzLmZpbGVEcmFnZ2VkLCB0aGlzLm11bHRpcGxlLCB0aGlzLmxpbmspO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZExhYmVsJCgpOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZUxhYmVsJChcbiAgICAgICAgICAgIHRoaXMuaXNNb2JpbGUsXG4gICAgICAgICAgICB0aGlzLmZpbGVEcmFnZ2VkLFxuICAgICAgICAgICAgdGhpcy5tdWx0aXBsZSxcbiAgICAgICAgICAgIHRoaXMubGFiZWwsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQGJhZCBUT0RPOiByZWZhY3RvciBhZnRlciBJRSBpcyBkcm9wcGVkXG4gICAgZ2V0IGZpbGVEcmFnZ2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLmRhdGFUcmFuc2ZlciAmJlxuICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh0aGlzLmRhdGFUcmFuc2Zlci50eXBlcywgJ0ZpbGVzJykgIT09IC0xXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGFjY2VwdEFycmF5KCk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWNjZXB0QXJyYXkodGhpcy5hY2NlcHQpO1xuICAgIH1cblxuICAgIGdldCBhcnJheVZhbHVlKCk6IFJlYWRvbmx5QXJyYXk8VHVpRmlsZUxpa2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWVBcnJheSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgcmVhZHlGaWxlcygpOiBSZWFkb25seUFycmF5PFR1aUZpbGVMaWtlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFJlYWR5RmlsZXModGhpcy5hcnJheVZhbHVlLCB0aGlzLmxvYWRpbmdGaWxlcyk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkTG9hZGluZygpOiBSZWFkb25seUFycmF5PFR1aUZpbGVMaWtlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldExvYWRpbmdGaWxlcyh0aGlzLmFycmF5VmFsdWUsIHRoaXMubG9hZGluZ0ZpbGVzKTtcbiAgICB9XG5cbiAgICBnZXQgaGFzRmlsZXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucmVqZWN0ZWRGaWxlcy5sZW5ndGggfHwgISF0aGlzLmFycmF5VmFsdWUubGVuZ3RoO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkKHByZXNzZWQpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IHJlZmFjdG9yIGkxOG4gbWVzc2FnZXNcbiAgICBvbkZpbGVzU2VsZWN0ZWQoXG4gICAgICAgIGlucHV0OiBIVE1MSW5wdXRFbGVtZW50LFxuICAgICAgICB0ZXh0czogUmVjb3JkPCdtYXhTaXplUmVqZWN0aW9uUmVhc29uJyB8ICdmb3JtYXRSZWplY3Rpb25SZWFzb24nLCBzdHJpbmc+LFxuICAgICAgICB1bml0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICkge1xuICAgICAgICB0aGlzLnByb2Nlc3NTZWxlY3RlZEZpbGVzKGlucHV0LmZpbGVzLCB0ZXh0cywgdW5pdHMpO1xuICAgICAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgIH1cblxuICAgIG9uRHJvcHBlZChcbiAgICAgICAgZXZlbnQ6IERhdGFUcmFuc2ZlcixcbiAgICAgICAgdGV4dHM6IFJlY29yZDwnbWF4U2l6ZVJlamVjdGlvblJlYXNvbicgfCAnZm9ybWF0UmVqZWN0aW9uUmVhc29uJywgc3RyaW5nPixcbiAgICAgICAgdW5pdHM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzU2VsZWN0ZWRGaWxlcyhldmVudC5maWxlcywgdGV4dHMsIHVuaXRzKTtcbiAgICB9XG5cbiAgICBvbkRyYWdPdmVyKGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyIHwgbnVsbCkge1xuICAgICAgICB0aGlzLmRhdGFUcmFuc2ZlciA9IGRhdGFUcmFuc2ZlcjtcbiAgICB9XG5cbiAgICByZW1vdmVGaWxlKHJlbW92ZWRGaWxlOiBUdWlGaWxlTGlrZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdGhpcy5tdWx0aXBsZSA/IHRoaXMuYXJyYXlWYWx1ZS5maWx0ZXIoZmlsZSA9PiBmaWxlICE9PSByZW1vdmVkRmlsZSkgOiBudWxsLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJlbW92ZVJlamVjdGVkRmlsZShyZW1vdmVkRmlsZTogVHVpRmlsZUxpa2UpIHtcbiAgICAgICAgdGhpcy51cGRhdGVSZWplY3RlZEZpbGVzKHRoaXMucmVqZWN0ZWRGaWxlcy5maWx0ZXIoZmlsZSA9PiBmaWxlICE9PSByZW1vdmVkRmlsZSkpO1xuICAgIH1cblxuICAgIGdldEFwcGVhcmFuY2UobW9kZTogbnVsbCB8IHVua25vd24pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbW9kZSA9PT0gbnVsbCA/ICcnIDogVHVpQXBwZWFyYW5jZS5PdXRsaW5lO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjb21wdXRlTGluayQoXG4gICAgICAgIGZpbGVEcmFnZ2VkOiBib29sZWFuLFxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgbGluazogUG9seW1vcnBoZXVzQ29udGVudCxcbiAgICApOiBPYnNlcnZhYmxlPFBvbHltb3JwaGV1c0NvbnRlbnQ+IHtcbiAgICAgICAgaWYgKGZpbGVEcmFnZ2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRGaWxlVGV4dHMkLnBpcGUoXG4gICAgICAgICAgICBtYXAodGV4dHMgPT5cbiAgICAgICAgICAgICAgICBtdWx0aXBsZSAmJiBsaW5rID09PSAnJ1xuICAgICAgICAgICAgICAgICAgICA/IHRleHRzLmRlZmF1bHRMaW5rTXVsdGlwbGVcbiAgICAgICAgICAgICAgICAgICAgOiBsaW5rIHx8IHRleHRzLmRlZmF1bHRMaW5rU2luZ2xlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY29tcHV0ZUxhYmVsJChcbiAgICAgICAgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIGZpbGVEcmFnZ2VkOiBib29sZWFuLFxuICAgICAgICBtdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgbGFiZWw6IFBvbHltb3JwaGV1c0NvbnRlbnQsXG4gICAgKTogT2JzZXJ2YWJsZTxQb2x5bW9ycGhldXNDb250ZW50PiB7XG4gICAgICAgIGlmIChpc01vYmlsZSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWxlRHJhZ2dlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRGaWxlVGV4dHMkLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHRleHRzID0+IChtdWx0aXBsZSA/IHRleHRzLmRyb3BNdWx0aXBsZSA6IHRleHRzLmRyb3ApKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dEZpbGVUZXh0cyQucGlwZShcbiAgICAgICAgICAgIG1hcCh0ZXh0cyA9PlxuICAgICAgICAgICAgICAgIG11bHRpcGxlICYmIGxhYmVsID09PSAnJ1xuICAgICAgICAgICAgICAgICAgICA/IHRleHRzLmRlZmF1bHRMYWJlbE11bHRpcGxlXG4gICAgICAgICAgICAgICAgICAgIDogbGFiZWwgfHwgdGV4dHMuZGVmYXVsdExhYmVsU2luZ2xlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0VmFsdWVBcnJheShcbiAgICAgICAgdmFsdWU6IFR1aUZpbGVMaWtlIHwgUmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4gfCBudWxsLFxuICAgICk6IFJlYWRvbmx5QXJyYXk8VHVpRmlsZUxpa2U+IHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIEVNUFRZX0FSUkFZO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgQXJyYXkgPyB2YWx1ZSA6IFt2YWx1ZV07XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldFJlYWR5RmlsZXMoXG4gICAgICAgIHZhbHVlOiBSZWFkb25seUFycmF5PFR1aUZpbGVMaWtlPixcbiAgICAgICAgbG9hZGluZzogUmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4sXG4gICAgKTogUmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUuZmlsdGVyKGZpbGUgPT4gbG9hZGluZy5pbmRleE9mKGZpbGUpID09PSAtMSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldExvYWRpbmdGaWxlcyhcbiAgICAgICAgdmFsdWU6IFJlYWRvbmx5QXJyYXk8VHVpRmlsZUxpa2U+LFxuICAgICAgICBsb2FkaW5nOiBSZWFkb25seUFycmF5PFR1aUZpbGVMaWtlPixcbiAgICApOiBSZWFkb25seUFycmF5PFR1aUZpbGVMaWtlPiB7XG4gICAgICAgIHJldHVybiBsb2FkaW5nLmZpbHRlcihmaWxlID0+IHZhbHVlLmluZGV4T2YoZmlsZSkgIT09IC0xKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0QWNjZXB0QXJyYXkoYWNjZXB0OiBzdHJpbmcpOiByZWFkb25seSBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBhY2NlcHRcbiAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgLm1hcChmb3JtYXQgPT4gZm9ybWF0LnRyaW0oKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzU2VsZWN0ZWRGaWxlcyhcbiAgICAgICAgZmlsZXM6IEZpbGVMaXN0IHwgbnVsbCxcbiAgICAgICAgdGV4dHM6IFJlY29yZDwnbWF4U2l6ZVJlamVjdGlvblJlYXNvbicgfCAnZm9ybWF0UmVqZWN0aW9uUmVhc29uJywgc3RyaW5nPixcbiAgICAgICAgdW5pdHM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSxcbiAgICApIHtcbiAgICAgICAgLy8gSUUxMSBhZnRlciBzZWxlY3RpbmcgYSBmaWxlIHRocm91Z2ggdGhlIG9wZW4gZGlhbG9nIGdlbmVyYXRlcyBhIHNlY29uZCBldmVudCBwYXNzaW5nIGFuIGVtcHR5IEZpbGVMaXN0LlxuICAgICAgICBpZiAoZmlsZXMgPT09IG51bGwgfHwgZmlsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdGaWxlcyA9IHRoaXMubXVsdGlwbGUgPyBBcnJheS5mcm9tKGZpbGVzKSA6IFtmaWxlc1swXV07XG4gICAgICAgIGNvbnN0IHRvb0JpZ0ZpbGVzID0gbmV3RmlsZXMuZmlsdGVyKGZpbGUgPT4gZmlsZS5zaXplID4gdGhpcy5tYXhGaWxlU2l6ZSk7XG4gICAgICAgIGNvbnN0IHdyb25nRm9ybWF0RmlsZXMgPSBuZXdGaWxlcy5maWx0ZXIoXG4gICAgICAgICAgICBmaWxlID0+ICF0aGlzLmlzRm9ybWF0QWNjZXB0YWJsZShmaWxlKSAmJiB0b29CaWdGaWxlcy5pbmRleE9mKGZpbGUpID09PSAtMSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYWNjZXB0ZWRGaWxlcyA9IG5ld0ZpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIGZpbGUgPT5cbiAgICAgICAgICAgICAgICB0b29CaWdGaWxlcy5pbmRleE9mKGZpbGUpID09PSAtMSAmJiB3cm9uZ0Zvcm1hdEZpbGVzLmluZGV4T2YoZmlsZSkgPT09IC0xLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMudXBkYXRlUmVqZWN0ZWRGaWxlcyhbXG4gICAgICAgICAgICAuLi50b29CaWdGaWxlcy5tYXAoZmlsZSA9PiAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICAgICAgICAgICAgc2l6ZTogZmlsZS5zaXplLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6XG4gICAgICAgICAgICAgICAgICAgIHRleHRzLm1heFNpemVSZWplY3Rpb25SZWFzb24gKyBmb3JtYXRTaXplKHVuaXRzLCB0aGlzLm1heEZpbGVTaXplKSxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIC4uLndyb25nRm9ybWF0RmlsZXMubWFwKGZpbGUgPT4gKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogZmlsZS50eXBlLFxuICAgICAgICAgICAgICAgIHNpemU6IGZpbGUuc2l6ZSxcbiAgICAgICAgICAgICAgICBjb250ZW50OiB0ZXh0cy5mb3JtYXRSZWplY3Rpb25SZWFzb24sXG4gICAgICAgICAgICB9KSksXG4gICAgICAgIF0pO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdGhpcy5tdWx0aXBsZVxuICAgICAgICAgICAgICAgID8gWy4uLnRoaXMuYXJyYXlWYWx1ZSwgLi4uYWNjZXB0ZWRGaWxlc11cbiAgICAgICAgICAgICAgICA6IGFjY2VwdGVkRmlsZXNbMF0gfHwgbnVsbCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRm9ybWF0QWNjZXB0YWJsZShmaWxlOiBGaWxlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5hY2NlcHQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gJy4nICsgKGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFjY2VwdEFycmF5LnNvbWUoXG4gICAgICAgICAgICBmb3JtYXQgPT5cbiAgICAgICAgICAgICAgICBmb3JtYXQgPT09IGV4dGVuc2lvbiB8fFxuICAgICAgICAgICAgICAgIGZvcm1hdCA9PT0gZmlsZS50eXBlIHx8XG4gICAgICAgICAgICAgICAgKGZvcm1hdC5zcGxpdCgnLycpWzFdID09PSAnKicgJiZcbiAgICAgICAgICAgICAgICAgICAgZmlsZS50eXBlLnNwbGl0KCcvJylbMF0gPT09IGZvcm1hdC5zcGxpdCgnLycpWzBdKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVJlamVjdGVkRmlsZXMocmVqZWN0ZWRGaWxlczogUmVhZG9ubHlBcnJheTxUdWlGaWxlTGlrZT4pIHtcbiAgICAgICAgdGhpcy5yZWplY3RlZEZpbGVzID0gcmVqZWN0ZWRGaWxlcztcbiAgICAgICAgdGhpcy5yZWplY3RlZEZpbGVzQ2hhbmdlLmVtaXQocmVqZWN0ZWRGaWxlcyk7XG4gICAgfVxufVxuIl19
|
|
@@ -69,7 +69,7 @@ var TuiInputInlineComponent = /** @class */ (function (_super) {
|
|
|
69
69
|
TuiInputInlineComponent = TuiInputInlineComponent_1 = __decorate([
|
|
70
70
|
Component({
|
|
71
71
|
selector: 'tui-input-inline',
|
|
72
|
-
template: "<span
|
|
72
|
+
template: "<span\n *ngIf=\"!hasValue\"\n automation-id=\"tui-input-inline__placeholder\"\n class=\"t-placeholder\"\n>\n <ng-content></ng-content>\n</span>\n\n<input\n #native\n automation-id=\"tui-input-inline__native\"\n type=\"text\"\n tuiMaskAccessor\n class=\"t-native\"\n [attr.maxLength]=\"maxLength\"\n [id]=\"id\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"focusable\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n/>\n",
|
|
73
73
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
74
74
|
providers: [
|
|
75
75
|
TUI_VALUE_ACCESSOR_PROVIDER,
|
|
@@ -78,7 +78,7 @@ var TuiInputInlineComponent = /** @class */ (function (_super) {
|
|
|
78
78
|
useExisting: forwardRef(function () { return TuiInputInlineComponent_1; }),
|
|
79
79
|
},
|
|
80
80
|
],
|
|
81
|
-
styles: [":host{position:relative;display:inline-block;overflow:hidden;white-space:nowrap;box-sizing:border-box}:host:before{content:attr(data-value);padding-right:.02em;visibility:hidden;white-space:pre}.native{position:absolute;top:0;left:0;background-color:transparent;padding:inherit;font:inherit;color:inherit;box-sizing:border-box;width:100%;height:100%;border-width:0;text-align:inherit;letter-spacing:inherit;text-indent:inherit;text-transform:inherit;outline:0}"]
|
|
81
|
+
styles: [":host{position:relative;display:inline-block;overflow:hidden;white-space:nowrap;box-sizing:border-box}:host:before{content:attr(data-value);padding-right:.02em;margin-left:1px;visibility:hidden;white-space:pre}.t-placeholder{margin-left:-1px}.t-native{position:absolute;top:0;left:0;background-color:transparent;padding:inherit;font:inherit;color:inherit;box-sizing:border-box;width:100%;height:100%;border-width:0;text-align:inherit;letter-spacing:inherit;text-indent:inherit;text-transform:inherit;outline:0}"]
|
|
82
82
|
}),
|
|
83
83
|
__param(0, Optional()),
|
|
84
84
|
__param(0, Self()),
|
|
@@ -88,4 +88,4 @@ var TuiInputInlineComponent = /** @class */ (function (_super) {
|
|
|
88
88
|
return TuiInputInlineComponent;
|
|
89
89
|
}(AbstractTuiControl));
|
|
90
90
|
export { TuiInputInlineComponent };
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtaW5saW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1pbmxpbmUvIiwic291cmNlcyI6WyJpbnB1dC1pbmxpbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsMkJBQTJCLEVBQzNCLGNBQWMsR0FHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFlcEU7SUFDWSwyQ0FBbUM7SUFVM0MsaUNBSUksT0FBeUIsRUFDRSxpQkFBb0M7UUFMbkUsWUFPSSxrQkFBTSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsU0FDcEM7UUFWRCxlQUFTLEdBQWtCLElBQUksQ0FBQzs7SUFVaEMsQ0FBQztnQ0FuQlEsdUJBQXVCO0lBcUJoQyxzQkFBSSwyREFBc0I7YUFBMUI7WUFDSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUMzRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDRDQUFPO2FBQVg7WUFDSSxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN4RCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDZDQUFRO2FBQVo7WUFDSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQzdCLENBQUM7OztPQUFBO0lBR0Qsc0JBQUksZ0RBQVc7YUFBZjs7WUFDSSxPQUFPLE9BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsYUFBYSxDQUFDLEtBQUssS0FBSSxJQUFJLENBQUMsS0FBSztnQkFDakQsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUs7Z0JBQ2pDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7OztPQUFBO0lBRUQsK0NBQWEsR0FBYixVQUFjLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsMkNBQVMsR0FBVCxVQUFVLE9BQWdCO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVTLGtEQUFnQixHQUExQjtRQUNJLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQzs7O2dCQW5DWSxTQUFTLHVCQUhqQixRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQyxTQUFTO2dCQUU2QixpQkFBaUIsdUJBQTlELE1BQU0sU0FBQyxpQkFBaUI7O0lBWDdCO1FBREMsU0FBUyxDQUFDLFFBQVEsQ0FBQzsyREFDbUM7SUFJdkQ7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7OERBQ2U7SUF5QmhDO1FBREMsV0FBVyxDQUFDLGlCQUFpQixDQUFDOzhEQUs5QjtJQXRDUSx1QkFBdUI7UUFibkMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGtCQUFrQjtZQUM1Qixta0JBQTJDO1lBRTNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLFNBQVMsRUFBRTtnQkFDUCwyQkFBMkI7Z0JBQzNCO29CQUNJLE9BQU8sRUFBRSwyQkFBMkI7b0JBQ3BDLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLHlCQUF1QixFQUF2QixDQUF1QixDQUFDO2lCQUN6RDthQUNKOztTQUNKLENBQUM7UUFhTyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtRQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7T0FoQnJCLHVCQUF1QixDQW1EbkM7SUFBRCw4QkFBQztDQUFBLEFBbkRELENBQ1ksa0JBQWtCLEdBa0Q3QjtTQW5EWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX1ZBTFVFX0FDQ0VTU09SX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LWlubGluZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWlubGluZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1pbmxpbmUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUVUlfVkFMVUVfQUNDRVNTT1JfUFJPVklERVIsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0SW5saW5lQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dElubGluZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPHN0cmluZyB8IG51bWJlcj5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoJ25hdGl2ZScpXG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmU/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heExlbmd0aDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMubmF0aXZlID8gbnVsbCA6IHRoaXMubmF0aXZlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgaGFzVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICE9PSAnJztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS12YWx1ZScpXG4gICAgZ2V0IG1hc2tlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZT8ubmF0aXZlRWxlbWVudC52YWx1ZSAmJiB0aGlzLnZhbHVlXG4gICAgICAgICAgICA/IHRoaXMubmF0aXZlLm5hdGl2ZUVsZW1lbnQudmFsdWVcbiAgICAgICAgICAgIDogU3RyaW5nKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -40,13 +40,6 @@ var TuiInputMonthComponent = /** @class */ (function (_super) {
|
|
|
40
40
|
enumerable: true,
|
|
41
41
|
configurable: true
|
|
42
42
|
});
|
|
43
|
-
Object.defineProperty(TuiInputMonthComponent.prototype, "canOpen", {
|
|
44
|
-
get: function () {
|
|
45
|
-
return !this.computedDisabled && !this.readOnly;
|
|
46
|
-
},
|
|
47
|
-
enumerable: true,
|
|
48
|
-
configurable: true
|
|
49
|
-
});
|
|
50
43
|
TuiInputMonthComponent.prototype.onValueChange = function (value) {
|
|
51
44
|
if (value === '') {
|
|
52
45
|
this.updateValue(null);
|
|
@@ -100,7 +93,7 @@ var TuiInputMonthComponent = /** @class */ (function (_super) {
|
|
|
100
93
|
TuiInputMonthComponent = TuiInputMonthComponent_1 = __decorate([
|
|
101
94
|
Component({
|
|
102
95
|
selector: 'tui-input-month',
|
|
103
|
-
template: "<tui-hosted-dropdown\n class=\"hosted\"\n [canOpen]=\"
|
|
96
|
+
template: "<tui-hosted-dropdown\n class=\"hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n class=\"textfield\"\n [editable]=\"false\"\n [disabled]=\"disabled\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"calendarIcon\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [invalid]=\"computedInvalid\"\n [value]=\"value === null ? '' : (value | tuiMonth | async) + ' ' + value.formattedYear\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #dropdown>\n <tui-calendar-month\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [min]=\"min\"\n [max]=\"max\"\n [value]=\"value\"\n (monthClick)=\"onMonthClick($event)\"\n ></tui-calendar-month>\n </ng-template>\n</tui-hosted-dropdown>\n",
|
|
104
97
|
providers: [
|
|
105
98
|
{
|
|
106
99
|
provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
|
|
@@ -120,4 +113,4 @@ var TuiInputMonthComponent = /** @class */ (function (_super) {
|
|
|
120
113
|
return TuiInputMonthComponent;
|
|
121
114
|
}(AbstractTuiNullableControl));
|
|
122
115
|
export { TuiInputMonthComponent };
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW1vbnRoLyIsInNvdXJjZXMiOlsiaW5wdXQtbW9udGguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0IsWUFBWSxFQUVaLGNBQWMsR0FHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsOEJBQThCLEVBQzlCLHlCQUF5QixFQUN6QixxQkFBcUIsR0FDeEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMseUNBQXlDLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVsRixXQUFXO0FBY1g7SUFDWSwwQ0FBb0M7SUFvQjVDLGdDQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRTlDLGFBQXdDO1FBUDdELFlBU0ksa0JBQU0sT0FBTyxFQUFFLGlCQUFpQixDQUFDLFNBQ3BDO1FBSG9CLG1CQUFhLEdBQWIsYUFBYSxDQUEyQjtRQW5CN0QsU0FBRyxHQUFhLGFBQWEsQ0FBQztRQUk5QixTQUFHLEdBQWEsWUFBWSxDQUFDO1FBSTdCLHlCQUFtQixHQUFnQyxvQkFBb0IsQ0FBQztRQUV4RSxVQUFJLEdBQUcsS0FBSyxDQUFDOztJQVliLENBQUM7K0JBL0JRLHNCQUFzQjtJQWlDL0Isc0JBQUksMERBQXNCO2FBQTFCO1lBQ0ksT0FBTyxJQUFJLENB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QUFDO0NBQUEsQUFuRkQsQ0FDWSwwQkFBMEIsR0FrRnJDO1NBbkZZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFRVSV9MQVNUX0RBWSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTW9udGgsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBzaXplQmlnZ2VyLFxuICAgIFRVSV9URVhURklFTERfU0laRSxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7TEVGVF9BTElHTkVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LW1vbnRoJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtbW9udGgudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtbW9udGguc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dE1vbnRoQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgTEVGVF9BTElHTkVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRNb250aENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VHVpTW9udGg+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpTW9udGg+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW46IFR1aU1vbnRoID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXg6IFR1aU1vbnRoID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aU1vbnRoPiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1NJWkUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkU2l6ZTogVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkID8gdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkICYmIHRoaXMudGV4dGZpZWxkLmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFySWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc2l6ZUJpZ2dlcih0aGlzLnRleHRmaWVsZFNpemUuc2l6ZSlcbiAgICAgICAgICAgID8gJ3R1aUljb25DYWxlbmRhckxhcmdlJ1xuICAgICAgICAgICAgOiAndHVpSWNvbkNhbGVuZGFyJztcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgICAgIHRoaXMub25PcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb250aENsaWNrKG1vbnRoOiBUdWlNb250aCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG1vbnRoKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICB0b2dnbGUoKSB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxufVxuIl19
|
|
@@ -49,13 +49,6 @@ var TuiInputMonthRangeComponent = /** @class */ (function (_super) {
|
|
|
49
49
|
var formattedValueTo = !value.isSingleMonth || !focused ? this.formatMonth(value.to, months) : '';
|
|
50
50
|
return this.formatMonth(value.from, months) + " \u2014 " + formattedValueTo;
|
|
51
51
|
};
|
|
52
|
-
Object.defineProperty(TuiInputMonthRangeComponent.prototype, "canOpen", {
|
|
53
|
-
get: function () {
|
|
54
|
-
return !this.computedDisabled && !this.readOnly;
|
|
55
|
-
},
|
|
56
|
-
enumerable: true,
|
|
57
|
-
configurable: true
|
|
58
|
-
});
|
|
59
52
|
TuiInputMonthRangeComponent.prototype.onValueChange = function (value) {
|
|
60
53
|
if (value === '') {
|
|
61
54
|
this.updateValue(null);
|
|
@@ -121,7 +114,7 @@ var TuiInputMonthRangeComponent = /** @class */ (function (_super) {
|
|
|
121
114
|
TuiInputMonthRangeComponent = TuiInputMonthRangeComponent_1 = __decorate([
|
|
122
115
|
Component({
|
|
123
116
|
selector: 'tui-input-month-range',
|
|
124
|
-
template: "<tui-hosted-dropdown\n class=\"hosted\"\n [canOpen]=\"
|
|
117
|
+
template: "<tui-hosted-dropdown\n class=\"hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n *ngIf=\"months$ | async as months\"\n class=\"textfield\"\n [editable]=\"false\"\n [disabled]=\"disabled\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"calendarIcon\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [invalid]=\"computedInvalid\"\n [value]=\"computeValue(value, focused, months)\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n >\n <ng-content></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #dropdown>\n <tui-calendar-month\n tuiPreventDefault=\"mousedown\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [min]=\"min\"\n [max]=\"max\"\n [value]=\"value\"\n (monthClick)=\"onMonthClick($event)\"\n ></tui-calendar-month>\n </ng-template>\n</tui-hosted-dropdown>\n",
|
|
125
118
|
providers: [
|
|
126
119
|
{
|
|
127
120
|
provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
|
|
@@ -142,4 +135,4 @@ var TuiInputMonthRangeComponent = /** @class */ (function (_super) {
|
|
|
142
135
|
return TuiInputMonthRangeComponent;
|
|
143
136
|
}(AbstractTuiNullableControl));
|
|
144
137
|
export { TuiInputMonthRangeComponent };
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGgtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW1vbnRoLXJhbmdlLyIsInNvdXJjZXMiOlsiaW5wdXQtbW9udGgtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0IsWUFBWSxFQUNaLGNBQWMsRUFHZCxhQUFhLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsVUFBVSxFQUNWLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQyx5Q0FBeUMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRWxGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEMsV0FBVztBQWNYO0lBQ1ksK0NBQXlDO0lBcUJqRCxxQ0FJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUNsQyxPQUFzQyxFQUVsRCxhQUF3QztRQVI3RCxZQVVJLGtCQUFNLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxTQUNwQztRQUxnQyxhQUFPLEdBQVAsT0FBTyxDQUErQjtRQUVsRCxtQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFyQjdELFNBQUcsR0FBYSxhQUFhLENBQUM7UUFJOUIsU0FBRyxHQUFhLFlBQVksQ0FBQztRQUk3Qix5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Q0FBQTtRQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFDTixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7T0E3QnRCLDJCQUEyQixDQXlIdkM7SUFBRCxrQ0FBQztDQUFBLEFBekhELENBQ1ksMEJBQTBCLEdBd0hyQztTQXpIWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU1vbnRoLFxuICAgIFR1aU1vbnRoUmFuZ2UsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBzaXplQmlnZ2VyLFxuICAgIFRVSV9NT05USFMsXG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlNb250aENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge0xFRlRfQUxJR05FRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1R1aUJvb2xlYW5IYW5kbGVyV2l0aENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LW1vbnRoLXJhbmdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtbW9udGgtcmFuZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtbW9udGgtcmFuZ2Uuc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dE1vbnRoUmFuZ2VDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBMRUZUX0FMSUdORURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE1vbnRoUmFuZ2VDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aU1vbnRoUmFuZ2U+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpTW9udGg+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW46IFR1aU1vbnRoID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXg6IFR1aU1vbnRoID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyV2l0aENvbnRleHQ8VHVpTW9udGgsIFR1aU1vbnRoQ29udGV4dD4gPVxuICAgICAgICBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX01PTlRIUykgcmVhZG9ubHkgbW9udGhzJDogT2JzZXJ2YWJsZTxyZWFkb25seSBzdHJpbmdbXT4sXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZCA/IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZCAmJiB0aGlzLnRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhckljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHNpemVCaWdnZXIodGhpcy50ZXh0ZmllbGRTaXplLnNpemUpXG4gICAgICAgICAgICA/ICd0dWlJY29uQ2FsZW5kYXJMYXJnZSdcbiAgICAgICAgICAgIDogJ3R1aUljb25DYWxlbmRhcic7XG4gICAgfVxuXG4gICAgY29tcHV0ZVZhbHVlKFxuICAgICAgICB2YWx1ZTogVHVpTW9udGhSYW5nZSB8IG51bGwsXG4gICAgICAgIGZvY3VzZWQ6IGJvb2xlYW4sXG4gICAgICAgIG1vbnRoczogcmVhZG9ubHkgc3RyaW5nW10sXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZVRvID1cbiAgICAgICAgICAgICF2YWx1ZS5pc1NpbmdsZU1vbnRoIHx8ICFmb2N1c2VkID8gdGhpcy5mb3JtYXRNb250aCh2YWx1ZS50bywgbW9udGhzKSA6ICcnO1xuXG4gICAgICAgIHJldHVybiBgJHt0aGlzLmZvcm1hdE1vbnRoKHZhbHVlLmZyb20sIG1vbnRocyl9IOKAlCAke2Zvcm1hdHRlZFZhbHVlVG99YDtcbiAgICB9XG5cbiAgICBnZXQgY2FuT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQgJiYgIXRoaXMucmVhZE9ubHk7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW9udGhDbGljayhtb250aDogVHVpTW9udGgpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgPT09IG51bGwgfHwgIXRoaXMudmFsdWUuaXNTaW5nbGVNb250aCkge1xuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKG5ldyBUdWlNb250aFJhbmdlKG1vbnRoLCBtb250aCkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFR1aU1vbnRoUmFuZ2Uuc29ydCh0aGlzLnZhbHVlLmZyb20sIG1vbnRoKSk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG5cbiAgICAgICAgaWYgKGZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUuaXNTaW5nbGVNb250aCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShuZXcgVHVpTW9udGhSYW5nZSh0aGlzLnZhbHVlLmZyb20sIHRoaXMudmFsdWUuZnJvbSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXRNb250aChcbiAgICAgICAge21vbnRoLCBmb3JtYXR0ZWRZZWFyfTogVHVpTW9udGgsXG4gICAgICAgIG1vbnRoczogcmVhZG9ubHkgc3RyaW5nW10sXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke21vbnRoc1ttb250aF19ICR7Zm9ybWF0dGVkWWVhcn1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbn1cbiJdfQ==
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9udGgtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW1vbnRoLXJhbmdlLyIsInNvdXJjZXMiOlsiaW5wdXQtbW9udGgtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYiwyQkFBMkIsRUFDM0IsWUFBWSxFQUNaLGNBQWMsRUFHZCxhQUFhLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsVUFBVSxFQUNWLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQyx5Q0FBeUMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRWxGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEMsV0FBVztBQWNYO0lBQ1ksK0NBQXlDO0lBcUJqRCxxQ0FJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUNsQyxPQUFzQyxFQUVsRCxhQUF3QztRQVI3RCxZQVVJLGtCQUFNLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxTQUNwQztRQUxnQyxhQUFPLEdBQVAsT0FBTyxDQUErQjtRQUVsRCxtQkFBYSxHQUFiLGFBQWEsQ0FBMkI7UUFyQjdELFNBQUcsR0FBYSxhQUFhLENBQUM7UUFJOUIsU0FBRyxHQUFhLFlBQVksQ0FBQztRQUk3Qix5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O1FBQ3pCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7T0E3QnRCLDJCQUEyQixDQXFIdkM7SUFBRCxrQ0FBQztDQUFBLEFBckhELENBQ1ksMEJBQTBCLEdBb0hyQztTQXJIWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBUVUlfRklSU1RfREFZLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU1vbnRoLFxuICAgIFR1aU1vbnRoUmFuZ2UsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBzaXplQmlnZ2VyLFxuICAgIFRVSV9NT05USFMsXG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlNb250aENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge0xFRlRfQUxJR05FRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1R1aUJvb2xlYW5IYW5kbGVyV2l0aENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LW1vbnRoLXJhbmdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtbW9udGgtcmFuZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtbW9udGgtcmFuZ2Uuc3R5bGUubGVzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dE1vbnRoUmFuZ2VDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBMRUZUX0FMSUdORURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE1vbnRoUmFuZ2VDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aU1vbnRoUmFuZ2U+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpTW9udGg+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW46IFR1aU1vbnRoID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXg6IFR1aU1vbnRoID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyV2l0aENvbnRleHQ8VHVpTW9udGgsIFR1aU1vbnRoQ29udGV4dD4gPVxuICAgICAgICBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX01PTlRIUykgcmVhZG9ubHkgbW9udGhzJDogT2JzZXJ2YWJsZTxyZWFkb25seSBzdHJpbmdbXT4sXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZCA/IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZCAmJiB0aGlzLnRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhckljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHNpemVCaWdnZXIodGhpcy50ZXh0ZmllbGRTaXplLnNpemUpXG4gICAgICAgICAgICA/ICd0dWlJY29uQ2FsZW5kYXJMYXJnZSdcbiAgICAgICAgICAgIDogJ3R1aUljb25DYWxlbmRhcic7XG4gICAgfVxuXG4gICAgY29tcHV0ZVZhbHVlKFxuICAgICAgICB2YWx1ZTogVHVpTW9udGhSYW5nZSB8IG51bGwsXG4gICAgICAgIGZvY3VzZWQ6IGJvb2xlYW4sXG4gICAgICAgIG1vbnRoczogcmVhZG9ubHkgc3RyaW5nW10sXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb3JtYXR0ZWRWYWx1ZVRvID1cbiAgICAgICAgICAgICF2YWx1ZS5pc1NpbmdsZU1vbnRoIHx8ICFmb2N1c2VkID8gdGhpcy5mb3JtYXRNb250aCh2YWx1ZS50bywgbW9udGhzKSA6ICcnO1xuXG4gICAgICAgIHJldHVybiBgJHt0aGlzLmZvcm1hdE1vbnRoKHZhbHVlLmZyb20sIG1vbnRocyl9IOKAlCAke2Zvcm1hdHRlZFZhbHVlVG99YDtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgICAgIHRoaXMub25PcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb250aENsaWNrKG1vbnRoOiBUdWlNb250aCkge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSA9PT0gbnVsbCB8fCAhdGhpcy52YWx1ZS5pc1NpbmdsZU1vbnRoKSB7XG4gICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUobmV3IFR1aU1vbnRoUmFuZ2UobW9udGgsIG1vbnRoKSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoVHVpTW9udGhSYW5nZS5zb3J0KHRoaXMudmFsdWUuZnJvbSwgbW9udGgpKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcblxuICAgICAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5pc1NpbmdsZU1vbnRoKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ldyBUdWlNb250aFJhbmdlKHRoaXMudmFsdWUuZnJvbSwgdGhpcy52YWx1ZS5mcm9tKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKCkge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdE1vbnRoKFxuICAgICAgICB7bW9udGgsIGZvcm1hdHRlZFllYXJ9OiBUdWlNb250aCxcbiAgICAgICAgbW9udGhzOiByZWFkb25seSBzdHJpbmdbXSxcbiAgICApOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7bW9udGhzW21vbnRoXX0gJHtmb3JtYXR0ZWRZZWFyfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxufVxuIl19
|
|
@@ -2,7 +2,7 @@ import { __decorate, __extends, __param } from "tslib";
|
|
|
2
2
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, HostListener, Inject, Input, Optional, Self, ViewChild, } from '@angular/core';
|
|
3
3
|
import { NgControl } from '@angular/forms';
|
|
4
4
|
import { AbstractTuiNullableControl, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, } from '@taiga-ui/cdk';
|
|
5
|
-
import { formatNumber, maskedMoneyValueIsEmpty, maskedNumberStringToNumber, TUI_DECIMAL_SYMBOLS, TUI_NUMBER_FORMAT, tuiCreateAutoCorrectedNumberPipe, tuiCreateNumberMask, TuiPrimitiveTextfieldComponent, } from '@taiga-ui/core';
|
|
5
|
+
import { formatNumber, getFractionPartPadded, maskedMoneyValueIsEmpty, maskedNumberStringToNumber, TUI_DECIMAL_SYMBOLS, TUI_NUMBER_FORMAT, tuiCreateAutoCorrectedNumberPipe, tuiCreateNumberMask, TuiPrimitiveTextfieldComponent, } from '@taiga-ui/core';
|
|
6
6
|
var DEFAULT_MAX_LENGTH = 18;
|
|
7
7
|
// @dynamic
|
|
8
8
|
var TuiInputNumberComponent = /** @class */ (function (_super) {
|
|
@@ -16,17 +16,17 @@ var TuiInputNumberComponent = /** @class */ (function (_super) {
|
|
|
16
16
|
_this.precision = 2;
|
|
17
17
|
_this.prefix = '';
|
|
18
18
|
_this.postfix = '';
|
|
19
|
-
_this.mask = function (allowNegative, decimal,
|
|
19
|
+
_this.mask = function (allowNegative, decimal, decimalLimit, nativeFocusableElement) { return ({
|
|
20
20
|
mask: tuiCreateNumberMask({
|
|
21
21
|
allowNegative: allowNegative,
|
|
22
|
+
decimalLimit: decimalLimit,
|
|
22
23
|
allowDecimal: decimal !== 'never',
|
|
23
|
-
decimalLimit: precision,
|
|
24
24
|
requireDecimal: decimal === 'always',
|
|
25
25
|
autoCorrectDecimalSymbol: false,
|
|
26
26
|
decimalSymbol: _this.numberFormat.decimalSeparator,
|
|
27
27
|
thousandSymbol: _this.numberFormat.thousandSeparator,
|
|
28
28
|
}),
|
|
29
|
-
pipe: tuiCreateAutoCorrectedNumberPipe(decimal === 'always' ?
|
|
29
|
+
pipe: tuiCreateAutoCorrectedNumberPipe(decimal === 'always' ? decimalLimit : 0, _this.numberFormat.decimalSeparator, _this.numberFormat.thousandSeparator, nativeFocusableElement || undefined, allowNegative),
|
|
30
30
|
guide: false,
|
|
31
31
|
}); };
|
|
32
32
|
return _this;
|
|
@@ -64,11 +64,11 @@ var TuiInputNumberComponent = /** @class */ (function (_super) {
|
|
|
64
64
|
});
|
|
65
65
|
Object.defineProperty(TuiInputNumberComponent.prototype, "calculatedMaxLength", {
|
|
66
66
|
get: function () {
|
|
67
|
-
|
|
68
|
-
(this.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
var decimalPart = this.decimal !== 'never' &&
|
|
68
|
+
this.nativeValue.includes(this.numberFormat.decimalSeparator);
|
|
69
|
+
var precision = decimalPart ? this.precision + 1 : 0;
|
|
70
|
+
var takeThousand = this.numberFormat.thousandSeparator.repeat(5).length;
|
|
71
|
+
return DEFAULT_MAX_LENGTH + precision + takeThousand;
|
|
72
72
|
},
|
|
73
73
|
enumerable: true,
|
|
74
74
|
configurable: true
|
|
@@ -79,9 +79,7 @@ var TuiInputNumberComponent = /** @class */ (function (_super) {
|
|
|
79
79
|
var absValue = Math.abs(value);
|
|
80
80
|
var hasFraction = absValue % 1 > 0;
|
|
81
81
|
var limit = this.decimal === 'always' || hasFraction ? this.precision : 0;
|
|
82
|
-
var fraction = hasFraction
|
|
83
|
-
? value.toString().split('.')[1].substr(0, this.precision)
|
|
84
|
-
: '';
|
|
82
|
+
var fraction = hasFraction ? getFractionPartPadded(value, this.precision) : '';
|
|
85
83
|
if (this.focused && this.decimal !== 'always') {
|
|
86
84
|
limit = fraction.length;
|
|
87
85
|
}
|
|
@@ -200,7 +198,9 @@ var TuiInputNumberComponent = /** @class */ (function (_super) {
|
|
|
200
198
|
};
|
|
201
199
|
TuiInputNumberComponent.prototype.absoluteCapInputValue = function (inputValue) {
|
|
202
200
|
var value = maskedNumberStringToNumber(inputValue, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
|
|
203
|
-
var capped = value < 0
|
|
201
|
+
var capped = value < 0
|
|
202
|
+
? Math.max(Math.max(this.min, Number.MIN_SAFE_INTEGER), value)
|
|
203
|
+
: Math.min(value, Math.min(this.max, Number.MAX_SAFE_INTEGER));
|
|
204
204
|
var ineligibleValue = isNaN(capped) || capped < this.min || capped > this.max;
|
|
205
205
|
return ineligibleValue ? null : capped;
|
|
206
206
|
};
|
|
@@ -269,4 +269,4 @@ var TuiInputNumberComponent = /** @class */ (function (_super) {
|
|
|
269
269
|
return TuiInputNumberComponent;
|
|
270
270
|
}(AbstractTuiNullableControl));
|
|
271
271
|
export { TuiInputNumberComponent };
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvIiwic291cmNlcyI6WyJpbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixjQUFjLEdBSWpCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUUxQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFFbkIsOEJBQThCLEdBRWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsSUFBTSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7QUFFOUIsV0FBVztBQWFYO0lBQ1ksMkNBQWtDO0lBOEIxQyxpQ0FJSSxPQUF5QixFQUV6QixpQkFBb0MsRUFFbkIsWUFBa0M7UUFSdkQsWUFVSSxrQkFBTSxPQUFPLEVBQUUsaUJBQWlCLENBQUMsU0FDcEM7UUFIb0Isa0JBQVksR0FBWixZQUFZLENBQXNCO1FBOUJ2RCxTQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFJaEIsU0FBRyxHQUFHLFFBQVEsQ0FBQztRQUlmLGFBQU8sR0FBZ0IsVUFBVSxDQUFDO1FBSWxDLGVBQVMsR0FBRyxDQUFDLENBQUM7UUFJZCxZQUFNLEdBQUcsRUFBRSxDQUFDO1FBSVosYUFBTyxHQUFHLEVBQUUsQ0FBQztRQTZGYixVQUFJ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LE9BQUEseUJBQXVCLEVBQXZCLENBQXVCLENBQUM7aUJBQ3pEO2FBQ0o7O1NBQ0osQ0FBQztRQWlDTyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtRQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFekIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtPQXRDckIsdUJBQXVCLENBeVJuQztJQUFELDhCQUFDO0NBQUEsQUF6UkQsQ0FDWSwwQkFBMEIsR0F3UnJDO1NBelJZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aUlucHV0TW9kZVQsXG4gICAgVHVpTWFwcGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgZm9ybWF0TnVtYmVyLFxuICAgIG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5LFxuICAgIG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyLFxuICAgIE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgIFRVSV9ERUNJTUFMX1NZTUJPTFMsXG4gICAgVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZE51bWJlclBpcGUsXG4gICAgdHVpQ3JlYXRlTnVtYmVyTWFzayxcbiAgICBUdWlEZWNpbWFsVCxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmNvbnN0IERFRkFVTFRfTUFYX0xFTkdUSCA9IDE4O1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtbnVtYmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtbnVtYmVyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LW51bWJlci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE51bWJlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmltaXRpdmVUZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gLUluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRlY2ltYWw6IFR1aURlY2ltYWxUID0gJ25vdC16ZXJvJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVjaXNpb24gPSAyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHByZWZpeCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBvc3RmaXggPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKVxuICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVyRm9ybWF0OiBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCAmJiB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBpc05lZ2F0aXZlQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluIDwgMDtcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRNb2RlKCk6IFR1aUlucHV0TW9kZVQge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWNpbWFsID09PSAnbmV2ZXInID8gJ251bWVyaWMnIDogJ2RlY2ltYWwnO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWF4TGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBERUZBVUxUX01BWF9MRU5HVEggK1xuICAgICAgICAgICAgKHRoaXMuZGVjaW1hbCAhPT0gJ25ldmVyJyAmJlxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5pbmNsdWRlcyh0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yKVxuICAgICAgICAgICAgICAgID8gdGhpcy5wcmVjaXNpb24gKyAxXG4gICAgICAgICAgICAgICAgOiAwKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBmb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUgfHwgMDtcbiAgICAgICAgY29uc3QgYWJzVmFsdWUgPSBNYXRoLmFicyh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IGhhc0ZyYWN0aW9uID0gYWJzVmFsdWUgJSAxID4gMDtcbiAgICAgICAgbGV0IGxpbWl0ID0gdGhpcy5kZWNpbWFsID09PSAnYWx3YXlzJyB8fCBoYXNGcmFjdGlvbiA/IHRoaXMucHJlY2lzaW9uIDogMDtcblxuICAgICAgICBjb25zdCBmcmFjdGlvbiA9IGhhc0ZyYWN0aW9uXG4gICAgICAgICAgICA/IHZhbHVlLnRvU3RyaW5nKCkuc3BsaXQoJy4nKVsxXS5zdWJzdHIoMCwgdGhpcy5wcmVjaXNpb24pXG4gICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgdGhpcy5kZWNpbWFsICE9PSAnYWx3YXlzJykge1xuICAgICAgICAgICAgbGltaXQgPSBmcmFjdGlvbi5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBsaW1pdCxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0Lnplcm9QYWRkaW5nLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZVZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IG51bGwgPyAnJyA6IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi4wJywgWyckZXZlbnQnXSlcbiAgICBvblplcm8oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgZGVjaW1hbCA9XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLnNwbGl0KHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpWzFdIHx8ICcnO1xuICAgICAgICBjb25zdCB7bmF0aXZlRm9jdXNhYmxlRWxlbWVudH0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGRlY2ltYWwubGVuZ3RoIDwgdGhpcy5wcmVjaXNpb24gfHxcbiAgICAgICAgICAgICFuYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICAhbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5zZWxlY3Rpb25TdGFydCB8fFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZVtuYXRpdmVGb2N1c2FibGVFbGVtZW50LnNlbGVjdGlvblN0YXJ0XSAhPT0gJzAnXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5zZWxlY3Rpb25TdGFydCsrO1xuICAgIH1cblxuICAgIG1hc2s6IFR1aU1hcHBlcjxib29sZWFuLCBUdWlUZXh0TWFza09wdGlvbnM+ID0gKFxuICAgICAgICBhbGxvd05lZ2F0aXZlOiBib29sZWFuLFxuICAgICAgICBkZWNpbWFsOiBUdWlEZWNpbWFsVCxcbiAgICAgICAgcHJlY2lzaW9uOiBudW1iZXIsXG4gICAgICAgIG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsLFxuICAgICkgPT4gKHtcbiAgICAgICAgbWFzazogdHVpQ3JlYXRlTnVtYmVyTWFzayh7XG4gICAgICAgICAgICBhbGxvd05lZ2F0aXZlOiBhbGxvd05lZ2F0aXZlLFxuICAgICAgICAgICAgYWxsb3dEZWNpbWFsOiBkZWNpbWFsICE9PSAnbmV2ZXInLFxuICAgICAgICAgICAgZGVjaW1hbExpbWl0OiBwcmVjaXNpb24sXG4gICAgICAgICAgICByZXF1aXJlRGVjaW1hbDogZGVjaW1hbCA9PT0gJ2Fsd2F5cycsXG4gICAgICAgICAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2w6IGZhbHNlLFxuICAgICAgICAgICAgZGVjaW1hbFN5bWJvbDogdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sOiB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgfSksXG4gICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWROdW1iZXJQaXBlKFxuICAgICAgICAgICAgZGVjaW1hbCA9PT0gJ2Fsd2F5cycgPyBwcmVjaXNpb24gOiAwLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCB1bmRlZmluZWQsXG4gICAgICAgICksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIG9uVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAobWFza2VkTW9uZXlWYWx1ZUlzRW1wdHkodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc05hdGl2ZVZhbHVlTm90RmluaXNoZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNhcHBlZCA9IHRoaXMuYWJzb2x1dGVDYXBJbnB1dFZhbHVlKHZhbHVlKTtcblxuICAgICAgICBpZiAoY2FwcGVkID09PSBudWxsIHx8IGlzTmFOKGNhcHBlZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoY2FwcGVkKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBjYXBwZWQgIT09XG4gICAgICAgICAgICBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChUVUlfREVDSU1BTF9TWU1CT0xTLmluZGV4T2YoZXZlbnQua2V5KSA9PT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlY2ltYWwgPT09ICduZXZlcicpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZVZhbHVlLmluY2x1ZGVzKHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5zZXRDYXJldEFmdGVyQ29tbWEoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcblxuICAgICAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmF0aXZlTnVtYmVyVmFsdWUgPSB0aGlzLm5hdGl2ZU51bWJlclZhbHVlO1xuXG4gICAgICAgIGlmIChpc05hTihuYXRpdmVOdW1iZXJWYWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXIoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xhbXBlZCA9IE1hdGgubWluKHRoaXMubWF4LCBNYXRoLm1heCh0aGlzLm1pbiwgbmF0aXZlTnVtYmVyVmFsdWUpKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGNsYW1wZWQpO1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkKHByZXNzZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzTmF0aXZlVmFsdWVOb3RGaW5pc2hlZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbmF0aXZlTnVtYmVyVmFsdWUgPSB0aGlzLm5hdGl2ZU51bWJlclZhbHVlO1xuXG4gICAgICAgIHJldHVybiBuYXRpdmVOdW1iZXJWYWx1ZSA8IDBcbiAgICAgICAgICAgID8gbmF0aXZlTnVtYmVyVmFsdWUgPiB0aGlzLm1heFxuICAgICAgICAgICAgOiBuYXRpdmVOdW1iZXJWYWx1ZSA8IHRoaXMubWluO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBuYXRpdmVOdW1iZXJWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCB8fCAhdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyKCkge1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhYnNvbHV0ZUNhcElucHV0VmFsdWUoaW5wdXRWYWx1ZTogc3RyaW5nKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICBpbnB1dFZhbHVlLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBjYXBwZWQgPSB2YWx1ZSA8IDAgPyBNYXRoLm1heCh0aGlzLm1pbiwgdmFsdWUpIDogTWF0aC5taW4odmFsdWUsIHRoaXMubWF4KTtcbiAgICAgICAgY29uc3QgaW5lbGlnaWJsZVZhbHVlID0gaXNOYU4oY2FwcGVkKSB8fCBjYXBwZWQgPCB0aGlzLm1pbiB8fCBjYXBwZWQgPiB0aGlzLm1heDtcblxuICAgICAgICByZXR1cm4gaW5lbGlnaWJsZVZhbHVlID8gbnVsbCA6IGNhcHBlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENhcmV0QWZ0ZXJDb21tYSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFmdGVyQ29tbWFQb3NpdGlvbiA9IHRoaXMubmF0aXZlVmFsdWUubGVuZ3RoIC0gdGhpcy5wcmVjaXNpb247XG5cbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKFxuICAgICAgICAgICAgYWZ0ZXJDb21tYVBvc2l0aW9uLFxuICAgICAgICAgICAgYWZ0ZXJDb21tYVBvc2l0aW9uLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvIiwic291cmNlcyI6WyJpbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixjQUFjLEdBSWpCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFFMUIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixnQ0FBZ0MsRUFDaEMsbUJBQW1CLEVBRW5CLDhCQUE4QixHQUVqQyxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLElBQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBRTlCLFdBQVc7QUFhWDtJQUNZLDJDQUFrQztJQThCMUMsaUNBSUksT0FBeUIsRUFFekIsaUJBQW9DLEVBRW5CLFlBQWtDO1FBUnZELFlBVUksa0JBQU0sT0FBTyxFQUFFLGlCQUFpQixDQUFDLFNBQ3BDO1FBSG9CLGtCQUFZLEdBQVosWUFBWSxDQUFzQjtRQTlCdkQsU0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBSWhCLFNBQUcsR0FBRyxRQUFRLENBQUM7UUFJZixhQUFPLEdBQWdCLFVBQVUsQ0FBQztRQUlsQyxlQUFTLEdBQUcsQ0FBQyxDQUFDO1FBSWQsWUFBTSxHQUFHLEVBQUUsQ0FBQztRQUlaLGFBQU8sR0FBRyxFQUFFLENB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QztJQXRIUSx1QkFBdUI7UUFabkMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixvMEJBQTJDO1lBRTNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsMkJBQTJCO29CQUNwQyxXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSx5QkFBdUIsRUFBdkIsQ0FBdUIsQ0FBQztpQkFDekQ7YUFDSjs7U0FDSixDQUFDO1FBaUNPLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUV6QixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO09BdENyQix1QkFBdUIsQ0EyUm5DO0lBQUQsOEJBQUM7Q0FBQSxBQTNSRCxDQUNZLDBCQUEwQixHQTBSckM7U0EzUlksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpSW5wdXRNb2RlVCxcbiAgICBUdWlNYXBwZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBmb3JtYXROdW1iZXIsXG4gICAgZ2V0RnJhY3Rpb25QYXJ0UGFkZGVkLFxuICAgIG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5LFxuICAgIG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyLFxuICAgIE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgIFRVSV9ERUNJTUFMX1NZTUJPTFMsXG4gICAgVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZE51bWJlclBpcGUsXG4gICAgdHVpQ3JlYXRlTnVtYmVyTWFzayxcbiAgICBUdWlEZWNpbWFsVCxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmNvbnN0IERFRkFVTFRfTUFYX0xFTkdUSCA9IDE4O1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtbnVtYmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtbnVtYmVyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LW51bWJlci5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE51bWJlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmltaXRpdmVUZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gLUluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRlY2ltYWw6IFR1aURlY2ltYWxUID0gJ25vdC16ZXJvJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVjaXNpb24gPSAyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHByZWZpeCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBvc3RmaXggPSAnJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKVxuICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVyRm9ybWF0OiBOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCAmJiB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBpc05lZ2F0aXZlQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluIDwgMDtcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRNb2RlKCk6IFR1aUlucHV0TW9kZVQge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWNpbWFsID09PSAnbmV2ZXInID8gJ251bWVyaWMnIDogJ2RlY2ltYWwnO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWF4TGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID1cbiAgICAgICAgICAgIHRoaXMuZGVjaW1hbCAhPT0gJ25ldmVyJyAmJlxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5pbmNsdWRlcyh0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yKTtcbiAgICAgICAgY29uc3QgcHJlY2lzaW9uID0gZGVjaW1hbFBhcnQgPyB0aGlzLnByZWNpc2lvbiArIDEgOiAwO1xuICAgICAgICBjb25zdCB0YWtlVGhvdXNhbmQgPSB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvci5yZXBlYXQoNSkubGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiBERUZBVUxUX01BWF9MRU5HVEggKyBwcmVjaXNpb24gKyB0YWtlVGhvdXNhbmQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSB8fCAwO1xuICAgICAgICBjb25zdCBhYnNWYWx1ZSA9IE1hdGguYWJzKHZhbHVlKTtcbiAgICAgICAgY29uc3QgaGFzRnJhY3Rpb24gPSBhYnNWYWx1ZSAlIDEgPiAwO1xuICAgICAgICBsZXQgbGltaXQgPSB0aGlzLmRlY2ltYWwgPT09ICdhbHdheXMnIHx8IGhhc0ZyYWN0aW9uID8gdGhpcy5wcmVjaXNpb24gOiAwO1xuXG4gICAgICAgIGNvbnN0IGZyYWN0aW9uID0gaGFzRnJhY3Rpb24gPyBnZXRGcmFjdGlvblBhcnRQYWRkZWQodmFsdWUsIHRoaXMucHJlY2lzaW9uKSA6ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgdGhpcy5kZWNpbWFsICE9PSAnYWx3YXlzJykge1xuICAgICAgICAgICAgbGltaXQgPSBmcmFjdGlvbi5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBsaW1pdCxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0Lnplcm9QYWRkaW5nLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZVZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IG51bGwgPyAnJyA6IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi4wJywgWyckZXZlbnQnXSlcbiAgICBvblplcm8oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgZGVjaW1hbCA9XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLnNwbGl0KHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpWzFdIHx8ICcnO1xuICAgICAgICBjb25zdCB7bmF0aXZlRm9jdXNhYmxlRWxlbWVudH0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGRlY2ltYWwubGVuZ3RoIDwgdGhpcy5wcmVjaXNpb24gfHxcbiAgICAgICAgICAgICFuYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICAhbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5zZWxlY3Rpb25TdGFydCB8fFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZVtuYXRpdmVGb2N1c2FibGVFbGVtZW50LnNlbGVjdGlvblN0YXJ0XSAhPT0gJzAnXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5zZWxlY3Rpb25TdGFydCsrO1xuICAgIH1cblxuICAgIG1hc2s6IFR1aU1hcHBlcjxib29sZWFuLCBUdWlUZXh0TWFza09wdGlvbnM+ID0gKFxuICAgICAgICBhbGxvd05lZ2F0aXZlOiBib29sZWFuLFxuICAgICAgICBkZWNpbWFsOiBUdWlEZWNpbWFsVCxcbiAgICAgICAgZGVjaW1hbExpbWl0OiBudW1iZXIsXG4gICAgICAgIG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsLFxuICAgICkgPT4gKHtcbiAgICAgICAgbWFzazogdHVpQ3JlYXRlTnVtYmVyTWFzayh7XG4gICAgICAgICAgICBhbGxvd05lZ2F0aXZlLFxuICAgICAgICAgICAgZGVjaW1hbExpbWl0LFxuICAgICAgICAgICAgYWxsb3dEZWNpbWFsOiBkZWNpbWFsICE9PSAnbmV2ZXInLFxuICAgICAgICAgICAgcmVxdWlyZURlY2ltYWw6IGRlY2ltYWwgPT09ICdhbHdheXMnLFxuICAgICAgICAgICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBmYWxzZSxcbiAgICAgICAgICAgIGRlY2ltYWxTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aG91c2FuZFN5bWJvbDogdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgIH0pLFxuICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkTnVtYmVyUGlwZShcbiAgICAgICAgICAgIGRlY2ltYWwgPT09ICdhbHdheXMnID8gZGVjaW1hbExpbWl0IDogMCxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZSxcbiAgICAgICAgKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgb25WYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmIChtYXNrZWRNb25leVZhbHVlSXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzTmF0aXZlVmFsdWVOb3RGaW5pc2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2FwcGVkID0gdGhpcy5hYnNvbHV0ZUNhcElucHV0VmFsdWUodmFsdWUpO1xuXG4gICAgICAgIGlmIChjYXBwZWQgPT09IG51bGwgfHwgaXNOYU4oY2FwcGVkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShjYXBwZWQpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGNhcHBlZCAhPT1cbiAgICAgICAgICAgIG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKFRVSV9ERUNJTUFMX1NZTUJPTFMuaW5kZXhPZihldmVudC5rZXkpID09PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGVjaW1hbCA9PT0gJ25ldmVyJykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmF0aXZlVmFsdWUuaW5jbHVkZXModGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcikpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLnNldENhcmV0QWZ0ZXJDb21tYSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChmb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuYXRpdmVOdW1iZXJWYWx1ZSA9IHRoaXMubmF0aXZlTnVtYmVyVmFsdWU7XG5cbiAgICAgICAgaWYgKGlzTmFOKG5hdGl2ZU51bWJlclZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGFtcGVkID0gTWF0aC5taW4odGhpcy5tYXgsIE1hdGgubWF4KHRoaXMubWluLCBuYXRpdmVOdW1iZXJWYWx1ZSkpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoY2xhbXBlZCk7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvblByZXNzZWQocHJlc3NlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZVByZXNzZWQocHJlc3NlZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNOYXRpdmVWYWx1ZU5vdEZpbmlzaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBuYXRpdmVOdW1iZXJWYWx1ZSA9IHRoaXMubmF0aXZlTnVtYmVyVmFsdWU7XG5cbiAgICAgICAgcmV0dXJuIG5hdGl2ZU51bWJlclZhbHVlIDwgMFxuICAgICAgICAgICAgPyBuYXRpdmVOdW1iZXJWYWx1ZSA+IHRoaXMubWF4XG4gICAgICAgICAgICA6IG5hdGl2ZU51bWJlclZhbHVlIDwgdGhpcy5taW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbmF0aXZlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA/IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZU51bWJlclZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMucHJpbWl0aXZlVGV4dGZpZWxkIHx8ICF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSAnJztcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFic29sdXRlQ2FwSW5wdXRWYWx1ZShpbnB1dFZhbHVlOiBzdHJpbmcpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIGlucHV0VmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNhcHBlZCA9XG4gICAgICAgICAgICB2YWx1ZSA8IDBcbiAgICAgICAgICAgICAgICA/IE1hdGgubWF4KE1hdGgubWF4KHRoaXMubWluLCBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksIHZhbHVlKVxuICAgICAgICAgICAgICAgIDogTWF0aC5taW4odmFsdWUsIE1hdGgubWluKHRoaXMubWF4LCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpO1xuICAgICAgICBjb25zdCBpbmVsaWdpYmxlVmFsdWUgPSBpc05hTihjYXBwZWQpIHx8IGNhcHBlZCA8IHRoaXMubWluIHx8IGNhcHBlZCA+IHRoaXMubWF4O1xuXG4gICAgICAgIHJldHVybiBpbmVsaWdpYmxlVmFsdWUgPyBudWxsIDogY2FwcGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2FyZXRBZnRlckNvbW1hKCkge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWZ0ZXJDb21tYVBvc2l0aW9uID0gdGhpcy5uYXRpdmVWYWx1ZS5sZW5ndGggLSB0aGlzLnByZWNpc2lvbjtcblxuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgICBhZnRlckNvbW1hUG9zaXRpb24sXG4gICAgICAgICAgICBhZnRlckNvbW1hUG9zaXRpb24sXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|