@taiga-ui/kit 2.51.1 → 2.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.js +1 -0
- package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js +8 -2
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +7 -0
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.js +1 -0
- package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js +32 -4
- package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +2 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js +3 -2
- package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.js +2 -0
- package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.js +13 -2
- package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.js +7 -5
- package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js +2 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js +2 -12
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +1 -9
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-providers.umd.js +6 -0
- package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-dom.umd.js +14 -0
- package/bundles/taiga-ui-kit-utils-dom.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-dom.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-dom.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.js +12 -0
- package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-format.umd.js +4 -0
- package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-format.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-format.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.js +6 -0
- package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-math.umd.js +2 -2
- package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-math.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-math.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +10 -0
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
- package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
- package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
- package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
- package/components/files/taiga-ui-kit-components-files.metadata.json +1 -1
- package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
- package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
- package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
- package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
- package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
- package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
- package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
- package/components/input-phone-international/utils/extract-value-from-event.d.ts +4 -0
- package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
- package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
- package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
- package/components/line-clamp/index.d.ts +1 -0
- package/components/line-clamp/line-clamp-options.d.ts +7 -0
- package/components/line-clamp/line-clamp.component.d.ts +8 -3
- package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
- package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
- package/components/multi-select-option/taiga-ui-kit-components-multi-select-option.metadata.json +1 -1
- package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
- package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
- package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
- package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
- package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
- package/components/slider/slider.component.d.ts +1 -0
- package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
- package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
- package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
- package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
- package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
- package/directives/dropdown-context/dropdown-context.directive.d.ts +0 -1
- package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.metadata.json +1 -1
- package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.metadata.json +1 -1
- package/esm2015/abstract/input-slider.js +2 -1
- package/esm2015/components/accordion/accordion-item/accordion-item.component.js +3 -3
- package/esm2015/components/action/action.component.js +2 -2
- package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
- package/esm2015/components/files/file/file.component.js +2 -2
- package/esm2015/components/files/files.component.js +2 -2
- package/esm2015/components/input-file/file/file.component.js +2 -2
- package/esm2015/components/input-files/input-files.component.js +2 -2
- package/esm2015/components/input-month/input-month.component.js +2 -2
- package/esm2015/components/input-month-range/input-month-range.component.js +2 -2
- package/esm2015/components/input-number/input-number.component.js +9 -3
- package/esm2015/components/input-phone/input-phone.providers.js +2 -1
- package/esm2015/components/input-phone-international/const/countries.js +2 -1
- package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +6 -1
- package/esm2015/components/input-range/input-range.component.js +2 -2
- package/esm2015/components/input-slider/input-slider.component.js +2 -2
- package/esm2015/components/input-tag/input-tag.component.js +2 -2
- package/esm2015/components/line-clamp/index.js +2 -1
- package/esm2015/components/line-clamp/line-clamp-options.js +12 -0
- package/esm2015/components/line-clamp/line-clamp.component.js +23 -8
- package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -1
- package/esm2015/components/multi-select/multi-select.component.js +1 -1
- package/esm2015/components/multi-select-option/multi-select-option.component.js +2 -2
- package/esm2015/components/pagination/pagination.component.js +5 -4
- package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
- package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +3 -1
- package/esm2015/components/range/range.component.js +2 -2
- package/esm2015/components/select-option/select-option.component.js +2 -2
- package/esm2015/components/slider/slider-key-steps.directive.js +2 -1
- package/esm2015/components/slider/slider-old.component.js +2 -2
- package/esm2015/components/slider/slider.component.js +12 -2
- package/esm2015/components/tabs/tab/tab.component.js +1 -1
- package/esm2015/components/tabs/tab/tab.providers.js +2 -1
- package/esm2015/components/tabs/tabs/tabs.component.js +3 -3
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
- package/esm2015/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -1
- package/esm2015/components/tag/tag.component.js +1 -1
- package/esm2015/components/text-area/text-area.component.js +2 -2
- package/esm2015/components/tree/components/tree-item/tree-item.providers.js +2 -1
- package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +2 -2
- package/esm2015/directives/dropdown-context/dropdown-context.directive.js +4 -14
- package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +3 -11
- package/esm2015/providers/month-formatter.provider.js +5 -1
- package/esm2015/providers/specific-dropdown-controllers.js +3 -1
- package/esm2015/utils/dom/get-word-range.js +4 -1
- package/esm2015/utils/dom/scroll-to-element.js +6 -1
- package/esm2015/utils/dom/set-range-offset.js +4 -1
- package/esm2015/utils/files/format-size.js +6 -1
- package/esm2015/utils/files/get-accept-array.js +6 -1
- package/esm2015/utils/format/string-hash-to-hsl.js +4 -1
- package/esm2015/utils/mask/create-auto-corrected-date-pipe.js +6 -1
- package/esm2015/utils/math/horizontal-direction-to-number.js +2 -2
- package/esm2015/utils/miscellaneous/get-precision.js +4 -1
- package/esm2015/utils/miscellaneous/is-flat.js +6 -1
- package/esm5/abstract/input-slider.js +2 -1
- package/esm5/components/accordion/accordion-item/accordion-item.component.js +3 -3
- package/esm5/components/action/action.component.js +2 -2
- package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
- package/esm5/components/files/file/file.component.js +2 -2
- package/esm5/components/files/files.component.js +2 -2
- package/esm5/components/input-file/file/file.component.js +2 -2
- package/esm5/components/input-files/input-files.component.js +2 -2
- package/esm5/components/input-month/input-month.component.js +2 -2
- package/esm5/components/input-month-range/input-month-range.component.js +2 -2
- package/esm5/components/input-number/input-number.component.js +9 -3
- package/esm5/components/input-phone/input-phone.providers.js +2 -1
- package/esm5/components/input-phone-international/const/countries.js +2 -1
- package/esm5/components/input-phone-international/utils/extract-value-from-event.js +6 -1
- package/esm5/components/input-range/input-range.component.js +2 -2
- package/esm5/components/input-slider/input-slider.component.js +2 -2
- package/esm5/components/input-tag/input-tag.component.js +2 -2
- package/esm5/components/line-clamp/index.js +2 -1
- package/esm5/components/line-clamp/line-clamp-options.js +13 -0
- package/esm5/components/line-clamp/line-clamp.component.js +23 -8
- package/esm5/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -1
- package/esm5/components/multi-select/multi-select.component.js +1 -1
- package/esm5/components/multi-select-option/multi-select-option.component.js +2 -2
- package/esm5/components/pagination/pagination.component.js +5 -4
- package/esm5/components/pdf-viewer/pdf-viewer.component.js +2 -2
- package/esm5/components/progress/progress-segmented/progress-segmented.component.js +3 -1
- package/esm5/components/range/range.component.js +2 -2
- package/esm5/components/select-option/select-option.component.js +2 -2
- package/esm5/components/slider/slider-key-steps.directive.js +2 -1
- package/esm5/components/slider/slider-old.component.js +2 -2
- package/esm5/components/slider/slider.component.js +12 -2
- package/esm5/components/tabs/tab/tab.component.js +1 -1
- package/esm5/components/tabs/tab/tab.providers.js +2 -1
- package/esm5/components/tabs/tabs/tabs.component.js +3 -3
- package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
- package/esm5/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -1
- package/esm5/components/tag/tag.component.js +1 -1
- package/esm5/components/text-area/text-area.component.js +2 -2
- package/esm5/components/tree/components/tree-item/tree-item.providers.js +2 -1
- package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +2 -2
- package/esm5/directives/dropdown-context/dropdown-context.directive.js +4 -14
- package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +3 -11
- package/esm5/providers/month-formatter.provider.js +5 -1
- package/esm5/providers/specific-dropdown-controllers.js +3 -1
- package/esm5/utils/dom/get-word-range.js +4 -1
- package/esm5/utils/dom/scroll-to-element.js +6 -1
- package/esm5/utils/dom/set-range-offset.js +4 -1
- package/esm5/utils/files/format-size.js +6 -1
- package/esm5/utils/files/get-accept-array.js +6 -1
- package/esm5/utils/format/string-hash-to-hsl.js +4 -1
- package/esm5/utils/mask/create-auto-corrected-date-pipe.js +6 -1
- package/esm5/utils/math/horizontal-direction-to-number.js +2 -2
- package/esm5/utils/miscellaneous/get-precision.js +4 -1
- package/esm5/utils/miscellaneous/is-flat.js +6 -1
- package/fesm2015/taiga-ui-kit-abstract.js +1 -0
- package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-accordion.js +2 -2
- package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-action.js +1 -1
- package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
- package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-files.js +2 -2
- package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-file.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js +8 -2
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +7 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone.js +1 -0
- package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-line-clamp.js +33 -8
- package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select-option.js +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +2 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js +4 -3
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-progress.js +2 -0
- package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-range.js +1 -1
- package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js +1 -1
- package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-slider.js +13 -2
- package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tabs.js +7 -5
- package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
- package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js +2 -1
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +3 -13
- package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +2 -10
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
- package/fesm2015/taiga-ui-kit-providers.js +6 -0
- package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-dom.js +12 -1
- package/fesm2015/taiga-ui-kit-utils-dom.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-files.js +11 -1
- package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-format.js +4 -1
- package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-mask.js +6 -1
- package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-math.js +2 -2
- package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +9 -1
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-kit-abstract.js +1 -0
- package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-accordion.js +2 -2
- package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-action.js +1 -1
- package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-breadcrumbs.js +1 -1
- package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-files.js +2 -2
- package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-file.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-files.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-number.js +8 -2
- package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone-international.js +7 -1
- package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone.js +1 -0
- package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-range.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-slider.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-line-clamp.js +34 -9
- package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select-option.js +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js +2 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-pagination.js +4 -3
- package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-pdf-viewer.js +1 -1
- package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-progress.js +2 -0
- package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-range.js +1 -1
- package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-select-option.js +1 -1
- package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-slider.js +13 -2
- package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tabs.js +7 -5
- package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tag.js +1 -1
- package/fesm5/taiga-ui-kit-components-text-area.js +1 -1
- package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tree.js +2 -1
- package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-dropdown-context.js +3 -13
- package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +2 -10
- package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
- package/fesm5/taiga-ui-kit-providers.js +6 -0
- package/fesm5/taiga-ui-kit-providers.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-dom.js +12 -1
- package/fesm5/taiga-ui-kit-utils-dom.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-files.js +11 -1
- package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-format.js +4 -1
- package/fesm5/taiga-ui-kit-utils-format.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-mask.js +6 -1
- package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-math.js +2 -2
- package/fesm5/taiga-ui-kit-utils-math.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js +9 -1
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/package.json +5 -5
- package/providers/month-formatter.provider.d.ts +3 -0
- package/providers/taiga-ui-kit-providers.metadata.json +1 -1
- package/utils/dom/get-word-range.d.ts +2 -0
- package/utils/dom/scroll-to-element.d.ts +4 -0
- package/utils/dom/set-range-offset.d.ts +2 -0
- package/utils/dom/taiga-ui-kit-utils-dom.metadata.json +1 -1
- package/utils/files/format-size.d.ts +4 -0
- package/utils/files/get-accept-array.d.ts +4 -0
- package/utils/files/taiga-ui-kit-utils-files.metadata.json +1 -1
- package/utils/format/string-hash-to-hsl.d.ts +2 -0
- package/utils/format/taiga-ui-kit-utils-format.metadata.json +1 -1
- package/utils/mask/create-auto-corrected-date-pipe.d.ts +4 -0
- package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
- package/utils/math/horizontal-direction-to-number.d.ts +1 -1
- package/utils/math/taiga-ui-kit-utils-math.metadata.json +1 -1
- package/utils/miscellaneous/get-precision.d.ts +2 -0
- package/utils/miscellaneous/is-flat.d.ts +4 -0
- package/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.metadata.json +1 -1
|
@@ -243,6 +243,7 @@ export var COUNTRIES = (_a = {},
|
|
|
243
243
|
* @deprecated will be deleted soon
|
|
244
244
|
* TODO: remove in 3.0 (in ivy compilation)
|
|
245
245
|
*/
|
|
246
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
246
247
|
export function countriesMasksReducer(acc, _a) {
|
|
247
248
|
var _b = __read(_a, 2), countryIsoCode = _b[0], mask = _b[1].mask;
|
|
248
249
|
acc[countryIsoCode] = mask;
|
|
@@ -255,4 +256,4 @@ export function countriesMasksReducer(acc, _a) {
|
|
|
255
256
|
*/
|
|
256
257
|
export var COUNTRIES_MASKS = Object.entries(COUNTRIES).reduce(countriesMasksReducer, {});
|
|
257
258
|
export var MASK_AFTER_CODE_REGEXP = /\([#]+\)|[#\- ]/g;
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyaWVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwvIiwic291cmNlcyI6WyJjb25zdC9jb3VudHJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUlqRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxJQUFNLFNBQVM7SUFDbEIsR0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUcsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7SUFDOUQsR0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUc7UUFDcEIsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixJQUFJLEVBQUUsK0JBQStCO0tBQ3hDO0lBQ0QsR0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUcsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBQztJQUNwRSxHQUFDLGlCQUFpQixDQUFDLEVBQUUsSUFBRyxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUM7SUFDN0UsR0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUcsRUFBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQztJQUNuRSxHQUFDLGlCQUFpQixDQUFDLEVBQUUsSUFBRyxFQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDO0lBQ3BFLEdBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFHLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7SUFDakUsR0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUcsRUFBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBQztJQUNu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dHJ5SXNvQ29kZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4nO1xuXG5pbXBvcnQge0NvdW50cnl9IGZyb20gJy4uL2ludGVyZmFjZXMvY291bnRyeSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgRG9udCB1c2UgaXQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKS5cbiAqIC0gVXNlIHRva2VuIGBUVUlfQ09VTlRSSUVTX01BU0tTYCB0byBnZXQgcGhvbmUgbWFzayBieSBjb3VudHJ5IGlzbyBjb2RlXG4gKiAtIFVzZSB0b2tlbiBgVFVJX0NPVU5UUklFU2AgdG8gZ2V0IGxvY2FsaXplZCBjb3VudHJ5IG5hbWUgYnkgaXRzIGlzbyBjb2RlXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHtUVUlfQ09VTlRSSUVTLCBUVUlfQ09VTlRSSUVTX01BU0tTfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbiAqXG4gKiBAdG9kbyBUT0RPOiByZW1vdmUgaXQgaW4gMy4wXG4gKi9cbmV4cG9ydCBjb25zdCBDT1VOVFJJRVM6IFJlY29yZDxzdHJpbmcsIENvdW50cnk+ID0ge1xuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BRF06IHttYXNrOiAnKzM3NiMjIy0jIyMnLCBuYW1lOiAn0JDQvdC00L7RgNGA0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQUVdOiB7XG4gICAgICAgIG1hc2s6ICcrOTcxLSMjLSMjIy0jIyMjJyxcbiAgICAgICAgbmFtZTogJ9Ce0LHRitC10LTQuNC90LXQvdC90YvQtSDQkNGA0LDQsdGB0LrQuNC1INCt0LzQuNGA0LDRgtGLJyxcbiAgICB9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BRl06IHttYXNrOiAnKzkzIyMtIyMjLSMjIyMnLCBuYW1lOiAn0JDRhNCz0LDQvdC40YHRgtCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQUddOiB7bWFzazogJysxKDI2OCkgIyMjLSMjIyMnLCBuYW1lOiAn0JDQvdGC0LjQs9GD0LAg0Lgg0JHQsNGA0LHRg9C00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQUldOiB7bWFzazogJysxKDI2NCkgIyMjLSMjIyMnLCBuYW1lOiAn0JDQvdCz0LjQu9GM0Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQUxdOiB7bWFzazogJyszNTUoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CQ0LvQsdCw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFNXToge21hc2s6ICcrMzc0IyMtIyMjLSMjIycsIG5hbWU6ICfQkNGA0LzQtdC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BT106IHttYXNrOiAnKzI0NCgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JDQvdCz0L7Qu9CwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFSXToge21hc2s6ICcrNTQoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQkNGA0LPQtdC90YLQuNC90LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVRdOiB7bWFzazogJys0MygjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CQ0LLRgdGC0YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFVXToge21hc2s6ICcrNjEjLSMjIyMtIyMjIycsIG5hbWU6ICfQkNCy0YHRgtGA0LDQu9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVddOiB7bWFzazogJysyOTcjIyMtIyMjIycsIG5hbWU6ICfQkNGA0YPQsdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFaXToge21hc2s6ICcrOTk0IyMtIyMjLSMjLSMjJywgbmFtZTogJ9CQ0LfQtdGA0LHQsNC50LTQttCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkFdOiB7bWFzazogJyszODcgIyMjLSMjIyMtIycsIG5hbWU6ICfQkdC+0YHQvdC40Y8g0Lgg0JPQtdGA0YbQtdCz0L7QstC40L3QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CQl06IHttYXNrOiAnKzEoMjQ2KSAjIyMtIyMjIycsIG5hbWU6ICfQkdCw0YDQsdCw0LTQvtGBJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJEXToge21hc2s6ICcrODgwIyMtIyMjLSMjIycsIG5hbWU6ICfQkdCw0L3Qs9C70LDQtNC10YgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkVdOiB7bWFzazogJyszMigjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JHQtdC70YzQs9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkZdOiB7bWFzazogJysyMjYjIy0jIy0jIyMjJywgbmFtZTogJ9CR0YPRgNC60LjQvdCwINCk0LDRgdC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJHXToge21hc2s6ICcrMzU5KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQkdC+0LvQs9Cw0YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJIXToge21hc2s6ICcrOTczIyMjIy0jIyMjJywgbmFtZTogJ9CR0LDRhdGA0LXQudC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJJXToge21hc2s6ICcrMjU3IyMtIyMtIyMjIycsIG5hbWU6ICfQkdGD0YDRg9C90LTQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CSl06IHttYXNrOiAnKzIyOSMjLSMjLSMjIyMnLCBuYW1lOiAn0JHQtdC90LjQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CTV06IHttYXNrOiAnKzEoNDQxKSAjIyMtIyMjIycsIG5hbWU6ICfQkdC10YDQvNGD0LTRgdC60LjQtSDQvtGB0YLRgNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CTl06IHttYXNrOiAnKzY3MyMjIy0jIyMjJywgbmFtZTogJ9CR0YDRg9C90LXQuS3QlNCw0YDRg9GB0YHQsNC70LDQvCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CT106IHttYXNrOiAnKzU5MSMtIyMjLSMjIyMnLCBuYW1lOiAn0JHQvtC70LjQstC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQlFdOiB7XG4gICAgICAgIG1hc2s6ICcrNTk5LSMjIy0jIyMjJyxcbiAgICAgICAgbmFtZTogJ9CR0L7QvdCw0LnRgNC1LCDQodC40L3Rgi3QrdGB0YLQsNGC0LjRg9GBINC4INCh0LDQsdCwJyxcbiAgICB9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CUl06IHttYXNrOiAnKzU1KCMjKSAjIyMjLSMjIyMnLCBuYW1lOiAn0JHRgNCw0LfQuNC70LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CU106IHttYXNrOiAnKzEoMjQyKSAjIyMtIyMjIycsIG5hbWU6ICfQkdCw0LPQsNC80YHQutC40LUg0J7RgdGC0YDQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQlRdOiB7bWFzazogJys5NzUjLSMjIy0jIyMnLCBuYW1lOiAn0JHRg9GC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CV106IHttYXNrOiAnKzI2NyMjLSMjIy0jIyMnLCBuYW1lOiAn0JHQvtGC0YHQstCw0L3QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CWV06IHttYXNrOiAnKzM3NSgjIykgIyMjLSMjLSMjJywgbmFtZTogJ9CR0LXQu9Cw0YDRg9GB0YwgKNCR0LXQu9C+0YDRg9GB0YHQuNGPKSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CWl06IHttYXNrOiAnKzUwMSMjIy0jIyMjJywgbmFtZTogJ9CR0LXQu9C40LcnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0FdOiB7bWFzazogJysxKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JrQsNC90LDQtNCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNEXToge1xuICAgICAgICBtYXNrOiAnKzI0MygjIyMpICMjIy0jIyMnLFxuICAgICAgICBuYW1lOiAn0JTQtdC8LiDQoNC10YHQvy4g0JrQvtC90LPQviAo0JrQuNC90YjQsNGB0LApJyxcbiAgICB9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DRl06IHtcbiAgICAgICAgbWFzazogJysyMzYtIyMtIyMtIyMjIycsXG4gICAgICAgIG5hbWU6ICfQptC10L3RgtGA0LDQu9GM0L3QvtCw0YTRgNC40LrQsNC90YHQutCw0Y8g0KDQtdGB0L/Rg9Cx0LvQuNC60LAnLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNHXToge21hc2s6ICcrMjQyIyMtIyMjLSMjIyMnLCBuYW1lOiAn0JrQvtC90LPQviAo0JHRgNCw0LfQt9Cw0LLQuNC70YwpJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNIXToge21hc2s6ICcrNDEjIy0jIyMtIyMjIycsIG5hbWU6ICfQqNCy0LXQudGG0LDRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0ldOiB7bWFzazogJysyMjUjIy0jIyMtIyMjJywgbmFtZTogJ9Ca0L7Rgi3QtOKAmdCY0LLRg9Cw0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0xdOiB7bWFzazogJys1NiMtIyMjIy0jIyMjJywgbmFtZTogJ9Cn0LjQu9C4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNNXToge21hc2s6ICcrMjM3IyMjIy0jIyMjJywgbmFtZTogJ9Ca0LDQvNC10YDRg9C9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNOXToge21hc2s6ICcrODYoIyMjKSAjIyMjLSMjIyMnLCBuYW1lOiAn0JrQuNGC0LDQudGB0LrQsNGPINCdLtCgLid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DT106IHttYXNrOiAnKzU3KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JrQvtC70YPQvNCx0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DUl06IHttYXNrOiAnKzUwNiMjIyMtIyMjIycsIG5hbWU6ICfQmtC+0YHRgtCwLdCg0LjQutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNVXToge21hc2s6ICcrNTMjLSMjIy0jIyMjJywgbmFtZTogJ9Ca0YPQsdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNWXToge21hc2s6ICcrMjM4KCMjIykgIyMtIyMnLCBuYW1lOiAn0JrQsNCx0L4t0JLQtdGA0LTQtSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DV106IHttYXNrOiAnKzU5OTktIyMjLSMjIyMnLCBuYW1lOiAn0JrRjtGA0LDRgdCw0L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1ldOiB7bWFzazogJyszNTcjIy0jIyMtIyMjJywgbmFtZTogJ9Ca0LjQv9GAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNaXToge21hc2s6ICcrNDIwKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQp9C10YXQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRFXToge21hc2s6ICcrNDkoIyMjKSAjIyMtIyMjLSMjJywgbmFtZTogJ9CT0LXRgNC80LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuREpdOiB7bWFzazogJysyNTMjIy0jIy0jIy0jIycsIG5hbWU6ICfQlNC20LjQsdGD0YLQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ES106IHttYXNrOiAnKzQ1IyMtIyMtIyMtIyMnLCBuYW1lOiAn0JTQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ETV06IHttYXNrOiAnKzEoNzY3KSAjIyMtIyMjIycsIG5hbWU6ICfQlNC+0LzQuNC90LjQutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRPXToge21hc2s6ICcrMSgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CU0L7QvNC40L3QuNC60LDQvdGB0LrQsNGPINCg0LXRgdC/0YPQsdC70LjQutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRaXToge21hc2s6ICcrMjEzIyMtIyMjLSMjIyMnLCBuYW1lOiAn0JDQu9C20LjRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FQ106IHttYXNrOiAnKzU5MyMjLSMjIy0jIyMjJywgbmFtZTogJ9Ct0LrQstCw0LTQvtGAICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FRV06IHttYXNrOiAnKzM3MiMjIyMtIyMjIycsIG5hbWU6ICfQrdGB0YLQvtC90LjRjyAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRUddOiB7bWFzazogJysyMCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CV0LPQuNC/0LXRgid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FUl06IHttYXNrOiAnKzI5MSMtIyMjLSMjIycsIG5hbWU6ICfQrdGA0LjRgtGA0LXRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FU106IHttYXNrOiAnKzM0KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQmNGB0L/QsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FVF06IHttYXNrOiAnKzI1MSMjLSMjIy0jIyMjJywgbmFtZTogJ9Ct0YTQuNC+0L/QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkZJXToge21hc2s6ICcrMzU4KCMjIykgIyMjLSMjLSMjJywgbmFtZTogJ9Ck0LjQvdC70Y/QvdC00LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5GSl06IHttYXNrOiAnKzY3OSMjLSMjIyMjJywgbmFtZTogJ9Ck0LjQtNC20LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRktdOiB7bWFzazogJys1MDAjIyMjIycsIG5hbWU6ICfQpNC+0LvQutC70LXQvdC00YHQutC40LUg0L7RgdGC0YDQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRk1dOiB7bWFzazogJys2OTEjIyMtIyMjIycsIG5hbWU6ICfQpC7QqC4g0JzQuNC60YDQvtC90LXQt9C40LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRlJdOiB7bWFzazogJyszMyAjIyAjIyAjIyAjIyAjIycsIG5hbWU6ICfQpNGA0LDQvdGG0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HQV06IHttYXNrOiAnKzI0MSMtIyMtIyMtIyMnLCBuYW1lOiAn0JPQsNCx0L7QvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HQl06IHttYXNrOiAnKzQ0IyMtIyMjIy0jIyMjJywgbmFtZTogJ9CS0LXQu9C40LrQvtCx0YDQuNGC0LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR0RdOiB7bWFzazogJysxKDQ3MykgIyMjLSMjIyMnLCBuYW1lOiAn0JPRgNC10L3QsNC00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR0VdOiB7bWFzazogJys5OTUoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CT0YDRg9C30LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HSF06IHttYXNrOiAnKzIzMygjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JPQsNC90LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR0ldOiB7bWFzazogJyszNTAjIyMtIyMjIyMnLCBuYW1lOiAn0JPQuNCx0YDQsNC70YLQsNGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdMXToge21hc2s6ICcrMjk5IyMtIyMtIyMnLCBuYW1lOiAn0JPRgNC10L3Qu9Cw0L3QtNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR01dOiB7bWFzazogJysyMjAoIyMjKSAjIy0jIycsIG5hbWU6ICfQk9Cw0LzQsdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR05dOiB7bWFzazogJysyMjQjIy0jIyMtIyMjJywgbmFtZTogJ9CT0LLQuNC90LXRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HUV06IHttYXNrOiAnKzI0MCMjLSMjIy0jIyMjJywgbmFtZTogJ9Ct0LrQstCw0YLQvtGA0LjQsNC70YzQvdCw0Y8g0JPQstC40L3QtdGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdSXToge21hc2s6ICcrMzAoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQk9GA0LXRhtC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR1RdOiB7bWFzazogJys1MDIjLSMjIy0jIyMjJywgbmFtZTogJ9CT0LLQsNGC0LXQvNCw0LvQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HV106IHttYXNrOiAnKzI0NSMtIyMjIyMjJywgbmFtZTogJ9CT0LLQuNC90LXRjy3QkdC40YHQsNGDJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdZXToge21hc2s6ICcrNTkyIyMjLSMjIyMnLCBuYW1lOiAn0JPQsNC50LDQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkhLXToge21hc2s6ICcrODUyIyMjIy0jIyMjJywgbmFtZTogJ9CT0L7QvdC60L7QvdCzJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkhOXToge21hc2s6ICcrNTA0IyMjIy0jIyMjJywgbmFtZTogJ9CT0L7QvdC00YPRgNCw0YEnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSFJdOiB7bWFzazogJyszODUjIy0jIyMtIyMjJywgbmFtZTogJ9Cl0L7RgNCy0LDRgtC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSFRdOiB7bWFzazogJys1MDkjIy0jIy0jIyMjJywgbmFtZTogJ9CT0LDQuNGC0LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSFVdOiB7bWFzazogJyszNigjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JLQtdC90LPRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSURdOiB7bWFzazogJys2MigjIyMpICMjIy0jIy0jIyMnLCBuYW1lOiAn0JjQvdC00L7QvdC10LfQuNGPICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JRV06IHttYXNrOiAnKzM1MygjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JjRgNC70LDQvdC00LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JTF06IHttYXNrOiAnKzk3MiMjLSMjIy0jIyMjJywgbmFtZTogJ9CY0LfRgNCw0LjQu9GMJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklOXToge21hc2s6ICcrOTEoIyMjIykgIyMjLSMjIycsIG5hbWU6ICfQmNC90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklRXToge21hc2s6ICcrOTY0KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JjRgNCw0LonfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSVJdOiB7bWFzazogJys5OCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CY0YDQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklTXToge21hc2s6ICcrMzU0IyMjLSMjIyMnLCBuYW1lOiAn0JjRgdC70LDQvdC00LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JVF06IHttYXNrOiAnKzM5KCMjIykgIyMjIy0jIyMnLCBuYW1lOiAn0JjRgtCw0LvQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkpNXToge21hc2s6ICcrMSg4NzYpICMjIy0jIyMjJywgbmFtZTogJ9Cv0LzQsNC50LrQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5KT106IHttYXNrOiAnKzk2MiMtIyMjIy0jIyMjJywgbmFtZTogJ9CY0L7RgNC00LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSlBdOiB7bWFzazogJys4MS0jIy0jIyMjLSMjIyMnLCBuYW1lOiAn0K/Qv9C+0L3QuNGPICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LRV06IHttYXNrOiAnKzI1NCMjIy0jIyMjIyMnLCBuYW1lOiAn0JrQtdC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LR106IHttYXNrOiAnKzk5NigjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JrQuNGA0LPQuNC30LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LSF06IHttYXNrOiAnKzg1NSMjLSMjIy0jIyMnLCBuYW1lOiAn0JrQsNC80LHQvtC00LbQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LTV06IHttYXNrOiAnKzI2OSMjLSMjIyMjJywgbmFtZTogJ9Ca0L7QvNC+0YDRiyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LTl06IHttYXNrOiAnKzEoODY5KSAjIyMtIyMjIycsIG5hbWU6ICfQodC10L3Rgi3QmtC40YLRgSDQuCDQndC10LLQuNGBJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktQXToge21hc2s6ICcrODUwIyMjIy0jIyMjIyMjIyMjIyMjJywgbmFtZTogJ9Ca0L7RgNC10LnRgdC60LDRjyDQndCU0KAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS1JdOiB7bWFzazogJys4MiMjLSMjIy0jIyMjJywgbmFtZTogJ9Cg0LXRgdC/LiDQmtC+0YDQtdGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktXXToge21hc2s6ICcrOTY1IyMjIy0jIyMjJywgbmFtZTogJ9Ca0YPQstC10LnRgid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LWV06IHttYXNrOiAnKzEoMzQ1KSAjIyMtIyMjIycsIG5hbWU6ICfQmtCw0LnQvNCw0L3QvtCy0Ysg0L7RgdGC0YDQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS1pdOiB7bWFzazogJys3KCMjIykgIyMjLSMjLSMjJywgbmFtZTogJ9Ca0LDQt9Cw0YXRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MQV06IHttYXNrOiAnKzg1NiMjLSMjLSMjIy0jIyMnLCBuYW1lOiAn0JvQsNC+0YEnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTEJdOiB7bWFzazogJys5NjEjIy0jIyMtIyMjJywgbmFtZTogJ9Cb0LjQstCw0L0gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxDXToge21hc2s6ICcrMSg3NTgpICMjIy0jIyMjJywgbmFtZTogJ9Ch0LXQvdGCLdCb0Y7RgdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTEldOiB7bWFzazogJys0MjMoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQm9C40YXRgtC10L3RiNGC0LXQudC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxLXToge21hc2s6ICcrOTQjIy0jIyMtIyMjIycsIG5hbWU6ICfQqNGA0Lgt0JvQsNC90LrQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MUl06IHttYXNrOiAnKzIzMSMjLSMjIy0jIyMnLCBuYW1lOiAn0JvQuNCx0LXRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTFNdOiB7bWFzazogJysyNjYjLSMjIy0jIyMjJywgbmFtZTogJ9Cb0LXRgdC+0YLQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MVF06IHttYXNrOiAnKzM3MCgjIyMpICMjLSMjIycsIG5hbWU6ICfQm9C40YLQstCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxVXToge21hc2s6ICcrMzUyKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQm9GO0LrRgdC10LzQsdGD0YDQsyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MVl06IHttYXNrOiAnKzM3MSMjLSMjIy0jIyMnLCBuYW1lOiAn0JvQsNGC0LLQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxZXToge21hc2s6ICcrMjE4IyMtIyMjLSMjIyMnLCBuYW1lOiAn0JvQuNCy0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NQV06IHttYXNrOiAnKzIxMiMjLSMjIyMtIyMjJywgbmFtZTogJ9Cc0LDRgNC+0LrQutC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1DXToge21hc2s6ICcrMzc3IyMjLSMjIy0jIyMnLCBuYW1lOiAn0JzQvtC90LDQutC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1EXToge21hc2s6ICcrMzczIyMjIy0jIyMjJywgbmFtZTogJ9Cc0L7Qu9C00L7QstCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1FXToge21hc2s6ICcrMzgyIyMtIyMjLSMjIycsIG5hbWU6ICfQp9C10YDQvdC+0LPQvtGA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NR106IHttYXNrOiAnKzI2MSMjLSMjLSMjIyMjJywgbmFtZTogJ9Cc0LDQtNCw0LPQsNGB0LrQsNGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1LXToge21hc2s6ICcrMzg5IyMtIyMjLSMjIycsIG5hbWU6ICfQoNC10YHQvy4g0JzQsNC60LXQtNC+0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1MXToge21hc2s6ICcrMjIzIyMtIyMtIyMjIycsIG5hbWU6ICfQnNCw0LvQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NTV06IHttYXNrOiAnKzk1IyMtIyMjLSMjIycsIG5hbWU6ICfQkdC40YDQvNCwICjQnNGM0Y/QvdC80LApJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1OXToge21hc2s6ICcrOTc2IyMtIyMtIyMjIycsIG5hbWU6ICfQnNC+0L3Qs9C+0LvQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1PXToge21hc2s6ICcrODUzIyMjIy0jIyMjJywgbmFtZTogJ9Cc0LDQutCw0L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVJdOiB7bWFzazogJysyMjIjIy0jIy0jIyMjJywgbmFtZTogJ9Cc0LDQstGA0LjRgtCw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1TXToge21hc2s6ICcrMSg2NjQpICMjIy0jIyMjJywgbmFtZTogJ9Cc0L7QvdGC0YHQtdGA0YDQsNGCJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1UXToge21hc2s6ICcrMzU2IyMjIy0jIyMjJywgbmFtZTogJ9Cc0LDQu9GM0YLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NVV06IHttYXNrOiAnKzIzMCMjIy0jIyMjJywgbmFtZTogJ9Cc0LDQstGA0LjQutC40LknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVZdOiB7bWFzazogJys5NjAjIyMtIyMjIycsIG5hbWU6ICfQnNCw0LvRjNC00LjQstGB0LrQuNC1INC+0YHRgtGA0L7QstCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1XXToge21hc2s6ICcrMjY1Iy0jIyMjLSMjIyMnLCBuYW1lOiAn0JzQsNC70LDQstC4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1YXToge21hc2s6ICcrNTIoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQnNC10LrRgdC40LrQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NWV06IHttYXNrOiAnKzYwKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQnNCw0LvQsNC50LfQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1aXToge21hc2s6ICcrMjU4IyMtIyMjLSMjIycsIG5hbWU6ICfQnNC+0LfQsNC80LHQuNC6J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5BXToge21hc2s6ICcrMjY0IyMtIyMjLSMjIyMnLCBuYW1lOiAn0J3QsNC80LjQsdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTkVdOiB7bWFzazogJysyMjcjIy0jIy0jIyMjJywgbmFtZTogJ9Cd0LjQs9C10YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTkddOiB7bWFzazogJysyMzQoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQndC40LPQtdGA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OSV06IHttYXNrOiAnKzUwNSMjIyMtIyMjIycsIG5hbWU6ICfQndC40LrQsNGA0LDQs9GD0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTkxdOiB7bWFzazogJyszMSMjLSMjIy0jIyMjJywgbmFtZTogJ9Cd0LjQtNC10YDQu9Cw0L3QtNGLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5PXToge21hc2s6ICcrNDcoIyMjKSAjIy0jIyMnLCBuYW1lOiAn0J3QvtGA0LLQtdCz0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OUF06IHttYXNrOiAnKzk3NyMjLSMjIy0jIyMnLCBuYW1lOiAn0J3QtdC/0LDQuyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OWl06IHttYXNrOiAnKzY0KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0J3QvtCy0LDRjyDQl9C10LvQsNC90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk9NXToge21hc2s6ICcrOTY4IyMtIyMjLSMjIycsIG5hbWU6ICfQntC80LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QQV06IHttYXNrOiAnKzUwNyMjIy0jIyMjJywgbmFtZTogJ9Cf0LDQvdCw0LzQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QRV06IHttYXNrOiAnKzUxKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQn9C10YDRgyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QRl06IHtcbiAgICAgICAgbWFzazogJys2ODkjIy0jIy0jIycsXG4gICAgICAgIG5hbWU6ICfQpNGA0LDQvdGG0YPQt9GB0LrQsNGPINCf0L7Qu9C40L3QtdC30LjRjyAo0KLQsNC40YLQuCknLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBHXToge21hc2s6ICcrNjc1KCMjIykgIyMtIyMjJywgbmFtZTogJ9Cf0LDQv9GD0LAt0J3QvtCy0LDRjyDQk9Cy0LjQvdC10Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUEhdOiB7bWFzazogJys2MygjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Ck0LjQu9C40L/Qv9C40L3Riyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QS106IHttYXNrOiAnKzkyKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0J/QsNC60LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QTF06IHttYXNrOiAnKzQ4KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQn9C+0LvRjNGI0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUFRdOiB7bWFzazogJyszNTEjIy0jIyMtIyMjIycsIG5hbWU6ICfQn9C+0YDRgtGD0LPQsNC70LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QV106IHttYXNrOiAnKzY4MCMjIy0jIyMjJywgbmFtZTogJ9Cf0LDQu9Cw0YMnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUFldOiB7bWFzazogJys1OTUoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cf0LDRgNCw0LPQstCw0LknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUUFdOiB7bWFzazogJys5NzQjIyMjLSMjIyMnLCBuYW1lOiAn0JrQsNGC0LDRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ST106IHttYXNrOiAnKzQwIyMtIyMjLSMjIyMnLCBuYW1lOiAn0KDRg9C80YvQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUlNdOiB7bWFzazogJyszODEjIy0jIyMtIyMjIycsIG5hbWU6ICfQodC10YDQsdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUlVdOiB7bWFzazogJys3IyMjICMjIy0jIy0jIycsIG5hbWU6ICfQoNC+0YHRgdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUlddOiB7bWFzazogJysyNTAoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cg0YPQsNC90LTQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TQV06IHttYXNrOiAnKzk2NiMtIyMjIy0jIyMjJywgbmFtZTogJ9Ch0LDRg9C00L7QstGB0LrQsNGPINCQ0YDQsNCy0LjRjyAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0JdOiB7bWFzazogJys2NzcjIyMtIyMjIycsIG5hbWU6ICfQodC+0LvQvtC80L7QvdC+0LLRiyDQntGB0YLRgNC+0LLQsCAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0NdOiB7bWFzazogJysyNDgjLSMjIy0jIyMnLCBuYW1lOiAn0KHQtdC50YjQtdC70YsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0RdOiB7bWFzazogJysyNDkjIy0jIyMtIyMjIycsIG5hbWU6ICfQodGD0LTQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNFXToge21hc2s6ICcrNDYjIy0jIyMtIyMjIycsIG5hbWU6ICfQqNCy0LXRhtC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0ddOiB7bWFzazogJys2NSMjIyMtIyMjIycsIG5hbWU6ICfQodC40L3Qs9Cw0L/Rg9GAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNIXToge21hc2s6ICcrMjkwIyMjIycsIG5hbWU6ICfQntGB0YLRgNC+0LIg0KHQstGP0YLQvtC5INCV0LvQtdC90YsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0ldOiB7bWFzazogJyszODYjIy0jIyMtIyMjJywgbmFtZTogJ9Ch0LvQvtCy0LXQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0tdOiB7bWFzazogJys0MjEoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Ch0LvQvtCy0LDQutC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0xdOiB7bWFzazogJysyMzIjIy0jIyMjIyMnLCBuYW1lOiAn0KHRjNC10YDRgNCwLdCb0LXQvtC90LUnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU01dOiB7bWFzazogJyszNzgjIyMjLSMjIyMjIycsIG5hbWU6ICfQodCw0L0t0JzQsNGA0LjQvdC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNOXToge21hc2s6ICcrMjIxIyMtIyMjLSMjIyMnLCBuYW1lOiAn0KHQtdC90LXQs9Cw0LsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU09dOiB7bWFzazogJysyNTIjIy0jIyMtIyMjJywgbmFtZTogJ9Ch0L7QvNCw0LvQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TUl06IHttYXNrOiAnKzU5NyMjIy0jIyMjJywgbmFtZTogJ9Ch0YPRgNC40L3QsNC8ICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TVF06IHttYXNrOiAnKzIzOSMjLSMjIyMjJywgbmFtZTogJ9Ch0LDQvS3QotC+0LzQtSDQuCDQn9GA0LjQvdGB0LjQv9C4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNWXToge21hc2s6ICcrNTAzIyMtIyMtIyMjIycsIG5hbWU6ICfQodCw0LvRjNCy0LDQtNC+0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1hdOiB7bWFzazogJysxKDcyMSkgIyMjLSMjIyMnLCBuYW1lOiAn0KHQuNC90YIt0JzQsNGA0YLQtdC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNZXToge1xuICAgICAgICBtYXNrOiAnKzk2MyMjLSMjIyMtIyMjJyxcbiAgICAgICAgbmFtZTogJ9Ch0LjRgNC40LnRgdC60LDRjyDQsNGA0LDQsdGB0LrQsNGPINGA0LXRgdC/0YPQsdC70LjQutCwJyxcbiAgICB9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TWl06IHttYXNrOiAnKzI2OCMjLSMjLSMjIyMnLCBuYW1lOiAn0KHQstCw0LfQuNC70LXQvdC0J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRDXToge21hc2s6ICcrMSg2NDkpICMjIy0jIyMjJywgbmFtZTogJ9Ci0ZHRgNC60YEg0Lgg0JrQsNC50LrQvtGBJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlREXToge21hc2s6ICcrMjM1IyMtIyMtIyMtIyMnLCBuYW1lOiAn0KfQsNC0J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRHXToge21hc2s6ICcrMjI4IyMtIyMjLSMjIycsIG5hbWU6ICfQotC+0LPQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5USF06IHttYXNrOiAnKzY2IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KLQsNC40LvQsNC90LQgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRKXToge21hc2s6ICcrOTkyIyMtIyMjLSMjIyMnLCBuYW1lOiAn0KLQsNC00LbQuNC60LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UTF06IHttYXNrOiAnKzY3MCMjIy0jIyMjIycsIG5hbWU6ICfQktC+0YHRgtC+0YfQvdGL0Lkg0KLQuNC80L7RgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UTV06IHttYXNrOiAnKzk5MyMtIyMjLSMjIyMnLCBuYW1lOiAn0KLRg9GA0LrQvNC10L3QuNGB0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlROXToge21hc2s6ICcrMjE2IyMtIyMjLSMjIycsIG5hbWU6ICfQotGD0L3QuNGBJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRPXToge21hc2s6ICcrNjc2IyMjIyMnLCBuYW1lOiAn0KLQvtC90LPQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UUl06IHttYXNrOiAnKzkwKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0KLRg9GA0YbQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRUXToge21hc2s6ICcrMSg4NjgpICMjIy0jIyMjJywgbmFtZTogJ9Ci0YDQuNC90LjQtNCw0LQg0Lgg0KLQvtCx0LDQs9C+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRXXToge21hc2s6ICcrODg2Iy0jIyMjLSMjIyMnLCBuYW1lOiAn0KLQsNC50LLQsNC90YwnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVFpdOiB7bWFzazogJysyNTUjIy0jIyMtIyMjIycsIG5hbWU6ICfQotCw0L3Qt9Cw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlVBXToge21hc2s6ICcrMzgwKCMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0KPQutGA0LDQuNC90LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVUddOiB7bWFzazogJysyNTYoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cj0LPQsNC90LTQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5VU106IHttYXNrOiAnKzEoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQodCo0JAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVVldOiB7bWFzazogJys1OTgjLSMjIy0jIy0jIycsIG5hbWU6ICfQo9GA0YPQs9Cy0LDQuSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5VWl06IHttYXNrOiAnKzk5OCMjLSMjIy0jIyMjJywgbmFtZTogJ9Cj0LfQsdC10LrQuNGB0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlZDXToge21hc2s6ICcrMSg3ODQpICMjIy0jIyMjJywgbmFtZTogJ9Ch0LXQvdGCLdCS0LjQvdGB0LXQvdGCINC4INCT0YDQtdC90LDQtNC40L3Riyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5WRV06IHttYXNrOiAnKzU4KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JLQtdC90LXRgdGD0Y3Qu9CwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlZHXToge1xuICAgICAgICBtYXNrOiAnKzEoMjg0KSMjIy0jIyMjJyxcbiAgICAgICAgbmFtZTogJ9CR0YDQuNGC0LDQvdGB0LrQuNC1INCS0LjRgNCz0LjQvdGB0LrQuNC1INC+0YHRgtGA0L7QstCwJyxcbiAgICB9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5WTl06IHttYXNrOiAnKzg0KCMjIykgIyMjIy0jIyMnLCBuYW1lOiAn0JLRjNC10YLQvdCw0LwnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVlVdOiB7bWFzazogJys2NzgjIy0jIyMjIycsIG5hbWU6ICfQktCw0L3Rg9Cw0YLRgyAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuV1NdOiB7bWFzazogJys2ODUjIy0jIyMjJywgbmFtZTogJ9Ch0LDQvNC+0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuWUVdOiB7bWFzazogJys5NjcjIyMtIyMjLSMjIycsIG5hbWU6ICfQmdC10LzQtdC9ICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5aQV06IHttYXNrOiAnKzI3IyMtIyMjLSMjIyMnLCBuYW1lOiAn0K7QttC90L4t0JDRhNGA0LjQutCw0L3RgdC60LDRjyDQoNC10YHQvy4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuWk1dOiB7bWFzazogJysyNjAjIy0jIyMtIyMjIycsIG5hbWU6ICfQl9Cw0LzQsdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuWlddOiB7bWFzazogJysyNjMjLSMjIyMjIycsIG5hbWU6ICfQl9C40LzQsdCw0LHQstC1J30sXG59O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHdpbGwgYmUgZGVsZXRlZCBzb29uXG4gKiBUT0RPOiByZW1vdmUgaW4gMy4wIChpbiBpdnkgY29tcGlsYXRpb24pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb3VudHJpZXNNYXNrc1JlZHVjZXIoXG4gICAgYWNjOiBSZWNvcmQ8VHVpQ291bnRyeUlzb0NvZGUsIHN0cmluZz4sXG4gICAgW2NvdW50cnlJc29Db2RlLCB7bWFza31dOiBbc3RyaW5nLCB7bWFzazogc3RyaW5nfV0sXG4pOiBSZWNvcmQ8VHVpQ291bnRyeUlzb0NvZGUsIHN0cmluZz4ge1xuICAgIGFjY1tjb3VudHJ5SXNvQ29kZSBhcyBUdWlDb3VudHJ5SXNvQ29kZV0gPSBtYXNrO1xuXG4gICAgcmV0dXJuIGFjYztcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB3aWxsIGJlIGRlbGV0ZWQgc29vblxuICogVXNlIHRva2VuIGBUVUlfQ09VTlRSSUVTX01BU0tTYFxuICogVE9ETzogcmVtb3ZlIGluIDMuMFxuICovXG5leHBvcnQgY29uc3QgQ09VTlRSSUVTX01BU0tTID0gT2JqZWN0LmVudHJpZXM8Q291bnRyeT4oQ09VTlRSSUVTKS5yZWR1Y2UoXG4gICAgY291bnRyaWVzTWFza3NSZWR1Y2VyLFxuICAgIHt9IGFzIFJlY29yZDxUdWlDb3VudHJ5SXNvQ29kZSwgc3RyaW5nPixcbik7XG5cbmV4cG9ydCBjb25zdCBNQVNLX0FGVEVSX0NPREVfUkVHRVhQID0gL1xcKFsjXStcXCl8WyNcXC0gXS9nO1xuIl19
|
|
259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyaWVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwvIiwic291cmNlcyI6WyJjb25zdC9jb3VudHJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUlqRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxJQUFNLFNBQVM7SUFDbEIsR0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUcsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7SUFDOUQsR0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUc7UUFDcEIsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixJQUFJLEVBQUUsK0JBQStCO0tBQ3hDO0lBQ0QsR0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUcsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBQztJQUNwRSxHQUFDLGlCQUFpQixDQUFDLEVBQUUsSUFBRyxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUM7SUFDN0UsR0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUcsRUFBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQztJQUNuRSxHQUFDLGlCQUFpQixDQUFDLEVBQUUsSUFBRyxFQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDO0lBQ3BFLEdBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFHLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7SUFDakUsR0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUcsRUFBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBQztJQUNu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cG9ydCB7VHVpQ291bnRyeUlzb0NvZGV9IGZyb20gJ0B0YWlnYS11aS9pMThuJztcblxuaW1wb3J0IHtDb3VudHJ5fSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvdW50cnknO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIERvbnQgdXNlIGl0ICh3aWxsIGJlIGRlbGV0ZWQgc29vbikuXG4gKiAtIFVzZSB0b2tlbiBgVFVJX0NPVU5UUklFU19NQVNLU2AgdG8gZ2V0IHBob25lIG1hc2sgYnkgY291bnRyeSBpc28gY29kZVxuICogLSBVc2UgdG9rZW4gYFRVSV9DT1VOVFJJRVNgIHRvIGdldCBsb2NhbGl6ZWQgY291bnRyeSBuYW1lIGJ5IGl0cyBpc28gY29kZVxuICogQGV4YW1wbGVcbiAqIGltcG9ydCB7VFVJX0NPVU5UUklFUywgVFVJX0NPVU5UUklFU19NQVNLU30gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG4gKlxuICogQHRvZG8gVE9ETzogcmVtb3ZlIGl0IGluIDMuMFxuICovXG5leHBvcnQgY29uc3QgQ09VTlRSSUVTOiBSZWNvcmQ8c3RyaW5nLCBDb3VudHJ5PiA9IHtcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQURdOiB7bWFzazogJyszNzYjIyMtIyMjJywgbmFtZTogJ9CQ0L3QtNC+0YDRgNCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFFXToge1xuICAgICAgICBtYXNrOiAnKzk3MS0jIy0jIyMtIyMjIycsXG4gICAgICAgIG5hbWU6ICfQntCx0YrQtdC00LjQvdC10L3QvdGL0LUg0JDRgNCw0LHRgdC60LjQtSDQrdC80LjRgNCw0YLRiycsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQUZdOiB7bWFzazogJys5MyMjLSMjIy0jIyMjJywgbmFtZTogJ9CQ0YTQs9Cw0L3QuNGB0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFHXToge21hc2s6ICcrMSgyNjgpICMjIy0jIyMjJywgbmFtZTogJ9CQ0L3RgtC40LPRg9CwINC4INCR0LDRgNCx0YPQtNCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFJXToge21hc2s6ICcrMSgyNjQpICMjIy0jIyMjJywgbmFtZTogJ9CQ0L3Qs9C40LvRjNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFMXToge21hc2s6ICcrMzU1KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQkNC70LHQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BTV06IHttYXNrOiAnKzM3NCMjLSMjIy0jIyMnLCBuYW1lOiAn0JDRgNC80LXQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQU9dOiB7bWFzazogJysyNDQoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CQ0L3Qs9C+0LvQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BUl06IHttYXNrOiAnKzU0KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JDRgNCz0LXQvdGC0LjQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFUXToge21hc2s6ICcrNDMoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQkNCy0YHRgtGA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BVV06IHttYXNrOiAnKzYxIy0jIyMjLSMjIyMnLCBuYW1lOiAn0JDQstGB0YLRgNCw0LvQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFXXToge21hc2s6ICcrMjk3IyMjLSMjIyMnLCBuYW1lOiAn0JDRgNGD0LHQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BWl06IHttYXNrOiAnKzk5NCMjLSMjIy0jIy0jIycsIG5hbWU6ICfQkNC30LXRgNCx0LDQudC00LbQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJBXToge21hc2s6ICcrMzg3ICMjIy0jIyMjLSMnLCBuYW1lOiAn0JHQvtGB0L3QuNGPINC4INCT0LXRgNGG0LXQs9C+0LLQuNC90LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkJdOiB7bWFzazogJysxKDI0NikgIyMjLSMjIyMnLCBuYW1lOiAn0JHQsNGA0LHQsNC00L7RgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CRF06IHttYXNrOiAnKzg4MCMjLSMjIy0jIyMnLCBuYW1lOiAn0JHQsNC90LPQu9Cw0LTQtdGIJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJFXToge21hc2s6ICcrMzIoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CR0LXQu9GM0LPQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJGXToge21hc2s6ICcrMjI2IyMtIyMtIyMjIycsIG5hbWU6ICfQkdGD0YDQutC40L3QsCDQpNCw0YHQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CR106IHttYXNrOiAnKzM1OSgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JHQvtC70LPQsNGA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CSF06IHttYXNrOiAnKzk3MyMjIyMtIyMjIycsIG5hbWU6ICfQkdCw0YXRgNC10LnQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CSV06IHttYXNrOiAnKzI1NyMjLSMjLSMjIyMnLCBuYW1lOiAn0JHRg9GA0YPQvdC00LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkpdOiB7bWFzazogJysyMjkjIy0jIy0jIyMjJywgbmFtZTogJ9CR0LXQvdC40L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQk1dOiB7bWFzazogJysxKDQ0MSkgIyMjLSMjIyMnLCBuYW1lOiAn0JHQtdGA0LzRg9C00YHQutC40LUg0L7RgdGC0YDQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQk5dOiB7bWFzazogJys2NzMjIyMtIyMjIycsIG5hbWU6ICfQkdGA0YPQvdC10Lkt0JTQsNGA0YPRgdGB0LDQu9Cw0LwnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQk9dOiB7bWFzazogJys1OTEjLSMjIy0jIyMjJywgbmFtZTogJ9CR0L7Qu9C40LLQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJRXToge1xuICAgICAgICBtYXNrOiAnKzU5OS0jIyMtIyMjIycsXG4gICAgICAgIG5hbWU6ICfQkdC+0L3QsNC50YDQtSwg0KHQuNC90YIt0K3RgdGC0LDRgtC40YPRgSDQuCDQodCw0LHQsCcsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQlJdOiB7bWFzazogJys1NSgjIykgIyMjIy0jIyMjJywgbmFtZTogJ9CR0YDQsNC30LjQu9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQlNdOiB7bWFzazogJysxKDI0MikgIyMjLSMjIyMnLCBuYW1lOiAn0JHQsNCz0LDQvNGB0LrQuNC1INCe0YHRgtGA0L7QstCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJUXToge21hc2s6ICcrOTc1Iy0jIyMtIyMjJywgbmFtZTogJ9CR0YPRgtCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQlddOiB7bWFzazogJysyNjcjIy0jIyMtIyMjJywgbmFtZTogJ9CR0L7RgtGB0LLQsNC90LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQlldOiB7bWFzazogJyszNzUoIyMpICMjIy0jIy0jIycsIG5hbWU6ICfQkdC10LvQsNGA0YPRgdGMICjQkdC10LvQvtGA0YPRgdGB0LjRjyknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQlpdOiB7bWFzazogJys1MDEjIyMtIyMjIycsIG5hbWU6ICfQkdC10LvQuNC3J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNBXToge21hc2s6ICcrMSgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Ca0LDQvdCw0LTQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DRF06IHtcbiAgICAgICAgbWFzazogJysyNDMoIyMjKSAjIyMtIyMjJyxcbiAgICAgICAgbmFtZTogJ9CU0LXQvC4g0KDQtdGB0L8uINCa0L7QvdCz0L4gKNCa0LjQvdGI0LDRgdCwKScsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0ZdOiB7XG4gICAgICAgIG1hc2s6ICcrMjM2LSMjLSMjLSMjIyMnLFxuICAgICAgICBuYW1lOiAn0KbQtdC90YLRgNCw0LvRjNC90L7QsNGE0YDQuNC60LDQvdGB0LrQsNGPINCg0LXRgdC/0YPQsdC70LjQutCwJyxcbiAgICB9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DR106IHttYXNrOiAnKzI0MiMjLSMjIy0jIyMjJywgbmFtZTogJ9Ca0L7QvdCz0L4gKNCR0YDQsNC30LfQsNCy0LjQu9GMKSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DSF06IHttYXNrOiAnKzQxIyMtIyMjLSMjIyMnLCBuYW1lOiAn0KjQstC10LnRhtCw0YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNJXToge21hc2s6ICcrMjI1IyMtIyMjLSMjIycsIG5hbWU6ICfQmtC+0YIt0LTigJnQmNCy0YPQsNGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNMXToge21hc2s6ICcrNTYjLSMjIyMtIyMjIycsIG5hbWU6ICfQp9C40LvQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DTV06IHttYXNrOiAnKzIzNyMjIyMtIyMjIycsIG5hbWU6ICfQmtCw0LzQtdGA0YPQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DTl06IHttYXNrOiAnKzg2KCMjIykgIyMjIy0jIyMjJywgbmFtZTogJ9Ca0LjRgtCw0LnRgdC60LDRjyDQnS7QoC4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ09dOiB7bWFzazogJys1NygjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Ca0L7Qu9GD0LzQsdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1JdOiB7bWFzazogJys1MDYjIyMjLSMjIyMnLCBuYW1lOiAn0JrQvtGB0YLQsC3QoNC40LrQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DVV06IHttYXNrOiAnKzUzIy0jIyMtIyMjIycsIG5hbWU6ICfQmtGD0LHQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DVl06IHttYXNrOiAnKzIzOCgjIyMpICMjLSMjJywgbmFtZTogJ9Ca0LDQsdC+LdCS0LXRgNC00LUnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1ddOiB7bWFzazogJys1OTk5LSMjIy0jIyMjJywgbmFtZTogJ9Ca0Y7RgNCw0YHQsNC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNZXToge21hc2s6ICcrMzU3IyMtIyMjLSMjIycsIG5hbWU6ICfQmtC40L/RgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DWl06IHttYXNrOiAnKzQyMCgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0KfQtdGF0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ERV06IHttYXNrOiAnKzQ5KCMjIykgIyMjLSMjIy0jIycsIG5hbWU6ICfQk9C10YDQvNCw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRKXToge21hc2s6ICcrMjUzIyMtIyMtIyMtIyMnLCBuYW1lOiAn0JTQttC40LHRg9GC0LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuREtdOiB7bWFzazogJys0NSMjLSMjLSMjLSMjJywgbmFtZTogJ9CU0LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRE1dOiB7bWFzazogJysxKDc2NykgIyMjLSMjIyMnLCBuYW1lOiAn0JTQvtC80LjQvdC40LrQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ET106IHttYXNrOiAnKzEoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQlNC+0LzQuNC90LjQutCw0L3RgdC60LDRjyDQoNC10YHQv9GD0LHQu9C40LrQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5EWl06IHttYXNrOiAnKzIxMyMjLSMjIy0jIyMjJywgbmFtZTogJ9CQ0LvQttC40YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRUNdOiB7bWFzazogJys1OTMjIy0jIyMtIyMjIycsIG5hbWU6ICfQrdC60LLQsNC00L7RgCAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRUVdOiB7bWFzazogJyszNzIjIyMjLSMjIyMnLCBuYW1lOiAn0K3RgdGC0L7QvdC40Y8gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVHXToge21hc2s6ICcrMjAoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQldCz0LjQv9C10YInfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRVJdOiB7bWFzazogJysyOTEjLSMjIy0jIyMnLCBuYW1lOiAn0K3RgNC40YLRgNC10Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRVNdOiB7bWFzazogJyszNCgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JjRgdC/0LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRVRdOiB7bWFzazogJysyNTEjIy0jIyMtIyMjIycsIG5hbWU6ICfQrdGE0LjQvtC/0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5GSV06IHttYXNrOiAnKzM1OCgjIyMpICMjIy0jIy0jIycsIG5hbWU6ICfQpNC40L3Qu9GP0L3QtNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRkpdOiB7bWFzazogJys2NzkjIy0jIyMjIycsIG5hbWU6ICfQpNC40LTQttC4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkZLXToge21hc2s6ICcrNTAwIyMjIyMnLCBuYW1lOiAn0KTQvtC70LrQu9C10L3QtNGB0LrQuNC1INC+0YHRgtGA0L7QstCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkZNXToge21hc2s6ICcrNjkxIyMjLSMjIyMnLCBuYW1lOiAn0KQu0KguINCc0LjQutGA0L7QvdC10LfQuNC4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkZSXToge21hc2s6ICcrMzMgIyMgIyMgIyMgIyMgIyMnLCBuYW1lOiAn0KTRgNCw0L3RhtC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR0FdOiB7bWFzazogJysyNDEjLSMjLSMjLSMjJywgbmFtZTogJ9CT0LDQsdC+0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR0JdOiB7bWFzazogJys0NCMjLSMjIyMtIyMjIycsIG5hbWU6ICfQktC10LvQuNC60L7QsdGA0LjRgtCw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdEXToge21hc2s6ICcrMSg0NzMpICMjIy0jIyMjJywgbmFtZTogJ9CT0YDQtdC90LDQtNCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdFXToge21hc2s6ICcrOTk1KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQk9GA0YPQt9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR0hdOiB7bWFzazogJysyMzMoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CT0LDQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdJXToge21hc2s6ICcrMzUwIyMjLSMjIyMjJywgbmFtZTogJ9CT0LjQsdGA0LDQu9GC0LDRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HTF06IHttYXNrOiAnKzI5OSMjLSMjLSMjJywgbmFtZTogJ9CT0YDQtdC90LvQsNC90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdNXToge21hc2s6ICcrMjIwKCMjIykgIyMtIyMnLCBuYW1lOiAn0JPQsNC80LHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdOXToge21hc2s6ICcrMjI0IyMtIyMjLSMjIycsIG5hbWU6ICfQk9Cy0LjQvdC10Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR1FdOiB7bWFzazogJysyNDAjIy0jIyMtIyMjIycsIG5hbWU6ICfQrdC60LLQsNGC0L7RgNC40LDQu9GM0L3QsNGPINCT0LLQuNC90LXRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HUl06IHttYXNrOiAnKzMwKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JPRgNC10YbQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdUXToge21hc2s6ICcrNTAyIy0jIyMtIyMjIycsIG5hbWU6ICfQk9Cy0LDRgtC10LzQsNC70LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR1ddOiB7bWFzazogJysyNDUjLSMjIyMjIycsIG5hbWU6ICfQk9Cy0LjQvdC10Y8t0JHQuNGB0LDRgyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HWV06IHttYXNrOiAnKzU5MiMjIy0jIyMjJywgbmFtZTogJ9CT0LDQudCw0L3QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5IS106IHttYXNrOiAnKzg1MiMjIyMtIyMjIycsIG5hbWU6ICfQk9C+0L3QutC+0L3Qsyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ITl06IHttYXNrOiAnKzUwNCMjIyMtIyMjIycsIG5hbWU6ICfQk9C+0L3QtNGD0YDQsNGBJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkhSXToge21hc2s6ICcrMzg1IyMtIyMjLSMjIycsIG5hbWU6ICfQpdC+0YDQstCw0YLQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkhUXToge21hc2s6ICcrNTA5IyMtIyMtIyMjIycsIG5hbWU6ICfQk9Cw0LjRgtC4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkhVXToge21hc2s6ICcrMzYoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CS0LXQvdCz0YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklEXToge21hc2s6ICcrNjIoIyMjKSAjIyMtIyMtIyMjJywgbmFtZTogJ9CY0L3QtNC+0L3QtdC30LjRjyAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSUVdOiB7bWFzazogJyszNTMoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CY0YDQu9Cw0L3QtNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSUxdOiB7bWFzazogJys5NzIjIy0jIyMtIyMjIycsIG5hbWU6ICfQmNC30YDQsNC40LvRjCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JTl06IHttYXNrOiAnKzkxKCMjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JjQvdC00LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JUV06IHttYXNrOiAnKzk2NCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CY0YDQsNC6J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklSXToge21hc2s6ICcrOTgoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQmNGA0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JU106IHttYXNrOiAnKzM1NCMjIy0jIyMjJywgbmFtZTogJ9CY0YHQu9Cw0L3QtNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSVRdOiB7bWFzazogJyszOSgjIyMpICMjIyMtIyMjJywgbmFtZTogJ9CY0YLQsNC70LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5KTV06IHttYXNrOiAnKzEoODc2KSAjIyMtIyMjIycsIG5hbWU6ICfQr9C80LDQudC60LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSk9dOiB7bWFzazogJys5NjIjLSMjIyMtIyMjIycsIG5hbWU6ICfQmNC+0YDQtNCw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkpQXToge21hc2s6ICcrODEtIyMtIyMjIy0jIyMjJywgbmFtZTogJ9Cv0L/QvtC90LjRjyAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS0VdOiB7bWFzazogJysyNTQjIyMtIyMjIyMjJywgbmFtZTogJ9Ca0LXQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS0ddOiB7bWFzazogJys5OTYoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Ca0LjRgNCz0LjQt9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS0hdOiB7bWFzazogJys4NTUjIy0jIyMtIyMjJywgbmFtZTogJ9Ca0LDQvNCx0L7QtNC20LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS01dOiB7bWFzazogJysyNjkjIy0jIyMjIycsIG5hbWU6ICfQmtC+0LzQvtGA0YsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS05dOiB7bWFzazogJysxKDg2OSkgIyMjLSMjIyMnLCBuYW1lOiAn0KHQtdC90YIt0JrQuNGC0YEg0Lgg0J3QtdCy0LjRgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LUF06IHttYXNrOiAnKzg1MCMjIyMtIyMjIyMjIyMjIyMjIycsIG5hbWU6ICfQmtC+0YDQtdC50YHQutCw0Y8g0J3QlNCgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktSXToge21hc2s6ICcrODIjIy0jIyMtIyMjIycsIG5hbWU6ICfQoNC10YHQvy4g0JrQvtGA0LXRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LV106IHttYXNrOiAnKzk2NSMjIyMtIyMjIycsIG5hbWU6ICfQmtGD0LLQtdC50YInfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS1ldOiB7bWFzazogJysxKDM0NSkgIyMjLSMjIyMnLCBuYW1lOiAn0JrQsNC50LzQsNC90L7QstGLINC+0YHRgtGA0L7QstCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktaXToge21hc2s6ICcrNygjIyMpICMjIy0jIy0jIycsIG5hbWU6ICfQmtCw0LfQsNGF0YHRgtCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTEFdOiB7bWFzazogJys4NTYjIy0jIy0jIyMtIyMjJywgbmFtZTogJ9Cb0LDQvtGBJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxCXToge21hc2s6ICcrOTYxIyMtIyMjLSMjIycsIG5hbWU6ICfQm9C40LLQsNC9ICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MQ106IHttYXNrOiAnKzEoNzU4KSAjIyMtIyMjIycsIG5hbWU6ICfQodC10L3Rgi3Qm9GO0YHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxJXToge21hc2s6ICcrNDIzKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JvQuNGF0YLQtdC90YjRgtC10LnQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MS106IHttYXNrOiAnKzk0IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KjRgNC4LdCb0LDQvdC60LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTFJdOiB7bWFzazogJysyMzEjIy0jIyMtIyMjJywgbmFtZTogJ9Cb0LjQsdC10YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxTXToge21hc2s6ICcrMjY2Iy0jIyMtIyMjIycsIG5hbWU6ICfQm9C10YHQvtGC0L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTFRdOiB7bWFzazogJyszNzAoIyMjKSAjIy0jIyMnLCBuYW1lOiAn0JvQuNGC0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MVV06IHttYXNrOiAnKzM1MigjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JvRjtC60YHQtdC80LHRg9GA0LMnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTFZdOiB7bWFzazogJyszNzEjIy0jIyMtIyMjJywgbmFtZTogJ9Cb0LDRgtCy0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MWV06IHttYXNrOiAnKzIxOCMjLSMjIy0jIyMjJywgbmFtZTogJ9Cb0LjQstC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUFdOiB7bWFzazogJysyMTIjIy0jIyMjLSMjIycsIG5hbWU6ICfQnNCw0YDQvtC60LrQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NQ106IHttYXNrOiAnKzM3NyMjIy0jIyMtIyMjJywgbmFtZTogJ9Cc0L7QvdCw0LrQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NRF06IHttYXNrOiAnKzM3MyMjIyMtIyMjIycsIG5hbWU6ICfQnNC+0LvQtNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NRV06IHttYXNrOiAnKzM4MiMjLSMjIy0jIyMnLCBuYW1lOiAn0KfQtdGA0L3QvtCz0L7RgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUddOiB7bWFzazogJysyNjEjIy0jIy0jIyMjIycsIG5hbWU6ICfQnNCw0LTQsNCz0LDRgdC60LDRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NS106IHttYXNrOiAnKzM4OSMjLSMjIy0jIyMnLCBuYW1lOiAn0KDQtdGB0L8uINCc0LDQutC10LTQvtC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NTF06IHttYXNrOiAnKzIyMyMjLSMjLSMjIyMnLCBuYW1lOiAn0JzQsNC70LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTU1dOiB7bWFzazogJys5NSMjLSMjIy0jIyMnLCBuYW1lOiAn0JHQuNGA0LzQsCAo0JzRjNGP0L3QvNCwKSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NTl06IHttYXNrOiAnKzk3NiMjLSMjLSMjIyMnLCBuYW1lOiAn0JzQvtC90LPQvtC70LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NT106IHttYXNrOiAnKzg1MyMjIyMtIyMjIycsIG5hbWU6ICfQnNCw0LrQsNC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1SXToge21hc2s6ICcrMjIyIyMtIyMtIyMjIycsIG5hbWU6ICfQnNCw0LLRgNC40YLQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NU106IHttYXNrOiAnKzEoNjY0KSAjIyMtIyMjIycsIG5hbWU6ICfQnNC+0L3RgtGB0LXRgNGA0LDRgid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NVF06IHttYXNrOiAnKzM1NiMjIyMtIyMjIycsIG5hbWU6ICfQnNCw0LvRjNGC0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVVdOiB7bWFzazogJysyMzAjIyMtIyMjIycsIG5hbWU6ICfQnNCw0LLRgNC40LrQuNC5J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1WXToge21hc2s6ICcrOTYwIyMjLSMjIyMnLCBuYW1lOiAn0JzQsNC70YzQtNC40LLRgdC60LjQtSDQvtGB0YLRgNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NV106IHttYXNrOiAnKzI2NSMtIyMjIy0jIyMjJywgbmFtZTogJ9Cc0LDQu9Cw0LLQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NWF06IHttYXNrOiAnKzUyKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JzQtdC60YHQuNC60LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVldOiB7bWFzazogJys2MCgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JzQsNC70LDQudC30LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NWl06IHttYXNrOiAnKzI1OCMjLSMjIy0jIyMnLCBuYW1lOiAn0JzQvtC30LDQvNCx0LjQuid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OQV06IHttYXNrOiAnKzI2NCMjLSMjIy0jIyMjJywgbmFtZTogJ9Cd0LDQvNC40LHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5FXToge21hc2s6ICcrMjI3IyMtIyMtIyMjIycsIG5hbWU6ICfQndC40LPQtdGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5HXToge21hc2s6ICcrMjM0KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0J3QuNCz0LXRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTkldOiB7bWFzazogJys1MDUjIyMjLSMjIyMnLCBuYW1lOiAn0J3QuNC60LDRgNCw0LPRg9CwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5MXToge21hc2s6ICcrMzEjIy0jIyMtIyMjIycsIG5hbWU6ICfQndC40LTQtdGA0LvQsNC90LTRiyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OT106IHttYXNrOiAnKzQ3KCMjIykgIyMtIyMjJywgbmFtZTogJ9Cd0L7RgNCy0LXQs9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTlBdOiB7bWFzazogJys5NzcjIy0jIyMtIyMjJywgbmFtZTogJ9Cd0LXQv9Cw0LsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTlpdOiB7bWFzazogJys2NCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Cd0L7QstCw0Y8g0JfQtdC70LDQvdC00LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5PTV06IHttYXNrOiAnKzk2OCMjLSMjIy0jIyMnLCBuYW1lOiAn0J7QvNCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUEFdOiB7bWFzazogJys1MDcjIyMtIyMjIycsIG5hbWU6ICfQn9Cw0L3QsNC80LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUEVdOiB7bWFzazogJys1MSgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0J/QtdGA0YMnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUEZdOiB7XG4gICAgICAgIG1hc2s6ICcrNjg5IyMtIyMtIyMnLFxuICAgICAgICBuYW1lOiAn0KTRgNCw0L3RhtGD0LfRgdC60LDRjyDQn9C+0LvQuNC90LXQt9C40Y8gKNCi0LDQuNGC0LgpJyxcbiAgICB9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QR106IHttYXNrOiAnKzY3NSgjIyMpICMjLSMjIycsIG5hbWU6ICfQn9Cw0L/Rg9CwLdCd0L7QstCw0Y8g0JPQstC40L3QtdGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBIXToge21hc2s6ICcrNjMoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQpNC40LvQuNC/0L/QuNC90YsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUEtdOiB7bWFzazogJys5MigjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Cf0LDQutC40YHRgtCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUExdOiB7bWFzazogJys0OCgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0J/QvtC70YzRiNCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBUXToge21hc2s6ICcrMzUxIyMtIyMjLSMjIyMnLCBuYW1lOiAn0J/QvtGA0YLRg9Cz0LDQu9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUFddOiB7bWFzazogJys2ODAjIyMtIyMjIycsIG5hbWU6ICfQn9Cw0LvQsNGDJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBZXToge21hc2s6ICcrNTk1KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQn9Cw0YDQsNCz0LLQsNC5J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlFBXToge21hc2s6ICcrOTc0IyMjIy0jIyMjJywgbmFtZTogJ9Ca0LDRgtCw0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUk9dOiB7bWFzazogJys0MCMjLSMjIy0jIyMjJywgbmFtZTogJ9Cg0YPQvNGL0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlJTXToge21hc2s6ICcrMzgxIyMtIyMjLSMjIyMnLCBuYW1lOiAn0KHQtdGA0LHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlJVXToge21hc2s6ICcrNyMjIyAjIyMtIyMtIyMnLCBuYW1lOiAn0KDQvtGB0YHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlJXXToge21hc2s6ICcrMjUwKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQoNGD0LDQvdC00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0FdOiB7bWFzazogJys5NjYjLSMjIyMtIyMjIycsIG5hbWU6ICfQodCw0YPQtNC+0LLRgdC60LDRjyDQkNGA0LDQstC40Y8gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNCXToge21hc2s6ICcrNjc3IyMjLSMjIyMnLCBuYW1lOiAn0KHQvtC70L7QvNC+0L3QvtCy0Ysg0J7RgdGC0YDQvtCy0LAgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNDXToge21hc2s6ICcrMjQ4Iy0jIyMtIyMjJywgbmFtZTogJ9Ch0LXQudGI0LXQu9GLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNEXToge21hc2s6ICcrMjQ5IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KHRg9C00LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TRV06IHttYXNrOiAnKzQ2IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KjQstC10YbQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNHXToge21hc2s6ICcrNjUjIyMjLSMjIyMnLCBuYW1lOiAn0KHQuNC90LPQsNC/0YPRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TSF06IHttYXNrOiAnKzI5MCMjIyMnLCBuYW1lOiAn0J7RgdGC0YDQvtCyINCh0LLRj9GC0L7QuSDQldC70LXQvdGLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNJXToge21hc2s6ICcrMzg2IyMtIyMjLSMjIycsIG5hbWU6ICfQodC70L7QstC10L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNLXToge21hc2s6ICcrNDIxKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQodC70L7QstCw0LrQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNMXToge21hc2s6ICcrMjMyIyMtIyMjIyMjJywgbmFtZTogJ9Ch0YzQtdGA0YDQsC3Qm9C10L7QvdC1J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNNXToge21hc2s6ICcrMzc4IyMjIy0jIyMjIyMnLCBuYW1lOiAn0KHQsNC9LdCc0LDRgNC40L3Qvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TTl06IHttYXNrOiAnKzIyMSMjLSMjIy0jIyMjJywgbmFtZTogJ9Ch0LXQvdC10LPQsNC7J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNPXToge21hc2s6ICcrMjUyIyMtIyMjLSMjIycsIG5hbWU6ICfQodC+0LzQsNC70LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1JdOiB7bWFzazogJys1OTcjIyMtIyMjIycsIG5hbWU6ICfQodGD0YDQuNC90LDQvCAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1RdOiB7bWFzazogJysyMzkjIy0jIyMjIycsIG5hbWU6ICfQodCw0L0t0KLQvtC80LUg0Lgg0J/RgNC40L3RgdC40L/QuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TVl06IHttYXNrOiAnKzUwMyMjLSMjLSMjIyMnLCBuYW1lOiAn0KHQsNC70YzQstCw0LTQvtGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNYXToge21hc2s6ICcrMSg3MjEpICMjIy0jIyMjJywgbmFtZTogJ9Ch0LjQvdGCLdCc0LDRgNGC0LXQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TWV06IHtcbiAgICAgICAgbWFzazogJys5NjMjIy0jIyMjLSMjIycsXG4gICAgICAgIG5hbWU6ICfQodC40YDQuNC50YHQutCw0Y8g0LDRgNCw0LHRgdC60LDRjyDRgNC10YHQv9GD0LHQu9C40LrQsCcsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1pdOiB7bWFzazogJysyNjgjIy0jIy0jIyMjJywgbmFtZTogJ9Ch0LLQsNC30LjQu9C10L3QtCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UQ106IHttYXNrOiAnKzEoNjQ5KSAjIyMtIyMjIycsIG5hbWU6ICfQotGR0YDQutGBINC4INCa0LDQudC60L7RgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5URF06IHttYXNrOiAnKzIzNSMjLSMjLSMjLSMjJywgbmFtZTogJ9Cn0LDQtCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UR106IHttYXNrOiAnKzIyOCMjLSMjIy0jIyMnLCBuYW1lOiAn0KLQvtCz0L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVEhdOiB7bWFzazogJys2NiMjLSMjIy0jIyMjJywgbmFtZTogJ9Ci0LDQuNC70LDQvdC0ICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5USl06IHttYXNrOiAnKzk5MiMjLSMjIy0jIyMjJywgbmFtZTogJ9Ci0LDQtNC20LjQutC40YHRgtCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVExdOiB7bWFzazogJys2NzAjIyMtIyMjIyMnLCBuYW1lOiAn0JLQvtGB0YLQvtGH0L3Ri9C5INCi0LjQvNC+0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVE1dOiB7bWFzazogJys5OTMjLSMjIy0jIyMjJywgbmFtZTogJ9Ci0YPRgNC60LzQtdC90LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UTl06IHttYXNrOiAnKzIxNiMjLSMjIy0jIyMnLCBuYW1lOiAn0KLRg9C90LjRgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UT106IHttYXNrOiAnKzY3NiMjIyMjJywgbmFtZTogJ9Ci0L7QvdCz0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVFJdOiB7bWFzazogJys5MCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Ci0YPRgNGG0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UVF06IHttYXNrOiAnKzEoODY4KSAjIyMtIyMjIycsIG5hbWU6ICfQotGA0LjQvdC40LTQsNC0INC4INCi0L7QsdCw0LPQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UV106IHttYXNrOiAnKzg4NiMtIyMjIy0jIyMjJywgbmFtZTogJ9Ci0LDQudCy0LDQvdGMJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRaXToge21hc2s6ICcrMjU1IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KLQsNC90LfQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5VQV06IHttYXNrOiAnKzM4MCgjIykgIyMjLSMjLSMjJywgbmFtZTogJ9Cj0LrRgNCw0LjQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlVHXToge21hc2s6ICcrMjU2KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQo9Cz0LDQvdC00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVVNdOiB7bWFzazogJysxKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0KHQqNCQJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlVZXToge21hc2s6ICcrNTk4Iy0jIyMtIyMtIyMnLCBuYW1lOiAn0KPRgNGD0LPQstCw0LknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVVpdOiB7bWFzazogJys5OTgjIy0jIyMtIyMjIycsIG5hbWU6ICfQo9C30LHQtdC60LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5WQ106IHttYXNrOiAnKzEoNzg0KSAjIyMtIyMjIycsIG5hbWU6ICfQodC10L3Rgi3QktC40L3RgdC10L3RgiDQuCDQk9GA0LXQvdCw0LTQuNC90YsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVkVdOiB7bWFzazogJys1OCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CS0LXQvdC10YHRg9GN0LvQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5WR106IHtcbiAgICAgICAgbWFzazogJysxKDI4NCkjIyMtIyMjIycsXG4gICAgICAgIG5hbWU6ICfQkdGA0LjRgtCw0L3RgdC60LjQtSDQktC40YDQs9C40L3RgdC60LjQtSDQvtGB0YLRgNC+0LLQsCcsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVk5dOiB7bWFzazogJys4NCgjIyMpICMjIyMtIyMjJywgbmFtZTogJ9CS0YzQtdGC0L3QsNC8J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlZVXToge21hc2s6ICcrNjc4IyMtIyMjIyMnLCBuYW1lOiAn0JLQsNC90YPQsNGC0YMgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLldTXToge21hc2s6ICcrNjg1IyMtIyMjIycsIG5hbWU6ICfQodCw0LzQvtCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLllFXToge21hc2s6ICcrOTY3IyMjLSMjIy0jIyMnLCBuYW1lOiAn0JnQtdC80LXQvSAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuWkFdOiB7bWFzazogJysyNyMjLSMjIy0jIyMjJywgbmFtZTogJ9Cu0LbQvdC+LdCQ0YTRgNC40LrQsNC90YHQutCw0Y8g0KDQtdGB0L8uJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlpNXToge21hc2s6ICcrMjYwIyMtIyMjLSMjIyMnLCBuYW1lOiAn0JfQsNC80LHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlpXXToge21hc2s6ICcrMjYzIy0jIyMjIyMnLCBuYW1lOiAn0JfQuNC80LHQsNCx0LLQtSd9LFxufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB3aWxsIGJlIGRlbGV0ZWQgc29vblxuICogVE9ETzogcmVtb3ZlIGluIDMuMCAoaW4gaXZ5IGNvbXBpbGF0aW9uKVxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgZnVuY3Rpb24gY291bnRyaWVzTWFza3NSZWR1Y2VyKFxuICAgIGFjYzogUmVjb3JkPFR1aUNvdW50cnlJc29Db2RlLCBzdHJpbmc+LFxuICAgIFtjb3VudHJ5SXNvQ29kZSwge21hc2t9XTogW3N0cmluZywge21hc2s6IHN0cmluZ31dLFxuKTogUmVjb3JkPFR1aUNvdW50cnlJc29Db2RlLCBzdHJpbmc+IHtcbiAgICBhY2NbY291bnRyeUlzb0NvZGUgYXMgVHVpQ291bnRyeUlzb0NvZGVdID0gbWFzaztcblxuICAgIHJldHVybiBhY2M7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgd2lsbCBiZSBkZWxldGVkIHNvb25cbiAqIFVzZSB0b2tlbiBgVFVJX0NPVU5UUklFU19NQVNLU2BcbiAqIFRPRE86IHJlbW92ZSBpbiAzLjBcbiAqL1xuZXhwb3J0IGNvbnN0IENPVU5UUklFU19NQVNLUyA9IE9iamVjdC5lbnRyaWVzPENvdW50cnk+KENPVU5UUklFUykucmVkdWNlKFxuICAgIGNvdW50cmllc01hc2tzUmVkdWNlcixcbiAgICB7fSBhcyBSZWNvcmQ8VHVpQ291bnRyeUlzb0NvZGUsIHN0cmluZz4sXG4pO1xuXG5leHBvcnQgY29uc3QgTUFTS19BRlRFUl9DT0RFX1JFR0VYUCA9IC9cXChbI10rXFwpfFsjXFwtIF0vZztcbiJdfQ==
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { getClipboardDataText } from '@taiga-ui/cdk';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated: use {@link tuiExtractValueFromEvent} instead
|
|
4
|
+
*/
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
2
6
|
export function extractValueFromEvent(event) {
|
|
3
7
|
var _a;
|
|
4
8
|
// TODO: iframe warning
|
|
@@ -6,4 +10,5 @@ export function extractValueFromEvent(event) {
|
|
|
6
10
|
? ((_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/plain')) || ''
|
|
7
11
|
: getClipboardDataText(event);
|
|
8
12
|
}
|
|
9
|
-
|
|
13
|
+
export var tuiExtractValueFromEvent = extractValueFromEvent;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdC12YWx1ZS1mcm9tLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwvIiwic291cmNlcyI6WyJ1dGlscy9leHRyYWN0LXZhbHVlLWZyb20tZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRW5EOztHQUVHO0FBQ0gsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxLQUFpQzs7SUFDbkUsdUJBQXVCO0lBQ3ZCLE9BQU8sS0FBSyxZQUFZLFNBQVM7UUFDN0IsQ0FBQyxDQUFDLE9BQUEsS0FBSyxDQUFDLFlBQVksMENBQUUsT0FBTyxDQUFDLFlBQVksTUFBSyxFQUFFO1FBQ2pELENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsTUFBTSxDQUFDLElBQU0sd0JBQXdCLEdBQUcscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldENsaXBib2FyZERhdGFUZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayB0dWlFeHRyYWN0VmFsdWVGcm9tRXZlbnR9IGluc3RlYWRcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RWYWx1ZUZyb21FdmVudChldmVudDogRHJhZ0V2ZW50IHwgQ2xpcGJvYXJkRXZlbnQpOiBzdHJpbmcge1xuICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgcmV0dXJuIGV2ZW50IGluc3RhbmNlb2YgRHJhZ0V2ZW50XG4gICAgICAgID8gZXZlbnQuZGF0YVRyYW5zZmVyPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgfHwgJydcbiAgICAgICAgOiBnZXRDbGlwYm9hcmREYXRhVGV4dChldmVudCk7XG59XG5cbmV4cG9ydCBjb25zdCB0dWlFeHRyYWN0VmFsdWVGcm9tRXZlbnQgPSBleHRyYWN0VmFsdWVGcm9tRXZlbnQ7XG4iXX0=
|
|
@@ -254,7 +254,7 @@ var TuiInputRangeComponent = /** @class */ (function (_super) {
|
|
|
254
254
|
TuiInputRangeComponent = TuiInputRangeComponent_1 = __decorate([
|
|
255
255
|
Component({
|
|
256
256
|
selector: 'tui-input-range',
|
|
257
|
-
template: "<tui-wrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__left-input\"\n class=\"t-left t-text-input\"\n [min]=\"min\"\n [max]=\"value[1]\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [postfix]=\"pluralizeMap && !showLeftValueContent ? (value[0] | i18nPlural: pluralizeMap) : ''\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"legacyLabelOutside\"\n [ngModel]=\"value[0]\"\n (ngModelChange)=\"onInputLeft($event)\"\n (focusedChange)=\"onTextInputFocused($event, false)\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"showLeftValueContent\"\n polymorpheus-outlet\n [content]=\"minLabel ? legacyMinLabel : leftValueContent\"\n [context]=\"{$implicit: value[0]}\"\n ></div>\n </tui-input-number>\n\n <div class=\"t-right\">\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__right-input\"\n class=\"t-text-input\"\n [min]=\"value[0]\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"legacyLabelOutside\"\n [ngModel]=\"value[1]\"\n (ngModelChange)=\"onInputRight($event)\"\n (focusedChange)=\"onTextInputFocused($event, true)\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n polymorpheus-outlet\n [content]=\"maxLabel ? legacyMaxLabel : rightValueContent\"\n [context]=\"{$implicit: value[1]}\"\n ></div>\n </tui-input-number>\n\n <!-- TODO replace by postfix of the right InputNumber (after fix https://github.com/Tinkoff/taiga-ui/issues/1193) -->\n <span\n *ngIf=\"!showRightValueContent && pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"t-pluralize-right\"\n >\n {{value[1] | i18nPlural: pluralizeMap}}\n </span>\n </div>\n\n <tui-range\n class=\"t-slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralizeMap\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n ></tui-range>\n</tui-wrapper>\n\n<!-- TODO: 3.0 remove -->\n<ng-template\n #legacyMinLabel\n let-value\n>\n <ng-container *ngIf=\"value === min\">{{minLabel}}</ng-container>\n <ng-container *ngIf=\"value !== min\">\n {{value}} {{value | i18nPlural: pluralizeMap
|
|
257
|
+
template: "<tui-wrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__left-input\"\n class=\"t-left t-text-input\"\n [min]=\"min\"\n [max]=\"value[1]\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [postfix]=\"pluralizeMap && !showLeftValueContent ? (value[0] | i18nPlural: pluralizeMap) : ''\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"legacyLabelOutside\"\n [ngModel]=\"value[0]\"\n (ngModelChange)=\"onInputLeft($event)\"\n (focusedChange)=\"onTextInputFocused($event, false)\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"showLeftValueContent\"\n polymorpheus-outlet\n [content]=\"minLabel ? legacyMinLabel : leftValueContent\"\n [context]=\"{$implicit: value[0]}\"\n ></div>\n </tui-input-number>\n\n <div class=\"t-right\">\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__right-input\"\n class=\"t-text-input\"\n [min]=\"value[0]\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"legacyLabelOutside\"\n [ngModel]=\"value[1]\"\n (ngModelChange)=\"onInputRight($event)\"\n (focusedChange)=\"onTextInputFocused($event, true)\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n polymorpheus-outlet\n [content]=\"maxLabel ? legacyMaxLabel : rightValueContent\"\n [context]=\"{$implicit: value[1]}\"\n ></div>\n </tui-input-number>\n\n <!-- TODO replace by postfix of the right InputNumber (after fix https://github.com/Tinkoff/taiga-ui/issues/1193) -->\n <span\n *ngIf=\"!showRightValueContent && pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"t-pluralize-right\"\n >\n {{ value[1] | i18nPlural: pluralizeMap }}\n </span>\n </div>\n\n <tui-range\n class=\"t-slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralizeMap\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n ></tui-range>\n</tui-wrapper>\n\n<!-- TODO: 3.0 remove -->\n<ng-template\n #legacyMinLabel\n let-value\n>\n <ng-container *ngIf=\"value === min\">{{ minLabel }}</ng-container>\n <ng-container *ngIf=\"value !== min\">\n {{ value }} {{ value | i18nPlural: pluralizeMap || pluralizeMapFallback }}\n </ng-container>\n</ng-template>\n\n<!-- TODO: 3.0 remove -->\n<ng-template\n #legacyMaxLabel\n let-value\n>\n <ng-container *ngIf=\"value === max\">{{ maxLabel }}</ng-container>\n <ng-container *ngIf=\"value !== max\">\n {{ value }} {{ value | i18nPlural: pluralizeMap || pluralizeMapFallback }}\n </ng-container>\n</ng-template>\n",
|
|
258
258
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
259
259
|
providers: [
|
|
260
260
|
{
|
|
@@ -313,4 +313,4 @@ var TuiTextfieldAppearanceDirective = /** @class */ (function () {
|
|
|
313
313
|
return TuiTextfieldAppearanceDirective;
|
|
314
314
|
}());
|
|
315
315
|
export { TuiTextfieldAppearanceDirective };
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXJhbmdlLyIsInNvdXJjZXMiOlsiaW5wdXQtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILEtBQUssRUFDTCxXQUFXLEVBQ1gsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsMkJBQTJCLEVBQzNCLGFBQWEsRUFFYixjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsNkJBQTZCLEVBQzdCLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsV0FBVyxFQUNYLFFBQVEsRUFDUixzQkFBc0IsR0FDekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUkvRCxXQUFXO0FBeUJYO0lBQ1ksMENBQXdDO0lBNENoRCxnQ0FJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUU5QyxRQUFpQixF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RCxzQ0FBQztDQUFBLEFBQS9DLElBQStDO1NBQWxDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgY2xhbXAsXG4gICAgRU1QVFlfUVVFUlksXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIGlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHJvdW5kLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUVUlfSVNfTU9CSUxFLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBnZXRGcmFjdGlvblBhcnRQYWRkZWQsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFLFxuICAgIFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSLFxuICAgIFR1aURlY2ltYWxULFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlJbnB1dFNsaWRlciwgcXVhbnR1bUFzc2VydGlvbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9hYnN0cmFjdCc7XG5pbXBvcnQge1R1aUlucHV0TnVtYmVyQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyJztcbmltcG9ydCB7VHVpTmV3UmFuZ2VEaXJlY3RpdmUsIFR1aVJhbmdlQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFuZ2UnO1xuaW1wb3J0IHtUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUtleVN0ZXBzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXJhbmdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcmFuZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcmFuZ2Uuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFJhbmdlQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUT0RPOiAzLjAgZGVsZXRlIGl0XG4gICAgICAgICAqIERvbnQgZm9yZ2V0IHRvIGNsZWFyIGh0bWwtdGFnc1xuICAgICAgICAgKi9cbiAgICAgICAgJ1tjbGFzcy5fc2hvdy10aWNrcy1sYWJlbHNdJzogJyFpc05ldycsXG4gICAgfSxcbn0pXG4vKipcbiAqIGBBYnN0cmFjdFR1aUlucHV0U2xpZGVyYCBpbmNsdWRlcyBhbGwgbGVnYWN5IGNvZGUgKGl0IGNhbiBiZSBkZWxldGVkIGluIHYzLjApXG4gKiBUT0RPIHJlcGxhY2UgYGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxbbnVtYmVyLCBudW1iZXJdPmAgYnkgYGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPFtudW1iZXIsIG51bWJlcl0+IGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PG51bWJlcj5gXG4gKi9cbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFJhbmdlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUlucHV0U2xpZGVyPFtudW1iZXIsIG51bWJlcl0+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkcmVuKFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXROdW1iZXJSZWZzOiBRdWVyeUxpc3Q8VHVpSW5wdXROdW1iZXJDb21wb25lbnQ+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBAVmlld0NoaWxkKFR1aVJhbmdlQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmFuZ2VSZWY6IFR1aVJhbmdlQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gMDtcblxuICAgIC8qIFRPRE86IG1ha2UgYDEwMGAgYXMgZGVmYXVsdCB2YWx1ZSAobGlrZSBpbiBuYXRpdmUgc2xpZGVycykgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcChxdWFudHVtQXNzZXJ0aW9uLCAnUXVhbnR1bSBtdXN0IGJlIHBvc2l0aXZlJylcbiAgICBxdWFudHVtID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGVwcyA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VnbWVudHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGxlZnRWYWx1ZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJpZ2h0VmFsdWVDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPj4gPSAnJztcblxuICAgIGxhc3RBY3RpdmVTaWRlOiAnbGVmdCcgfCAncmlnaHQnID0gJ2xlZnQnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSlcbiAgICAgICAgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlOZXdSYW5nZURpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgaXNOZXc6IFR1aU5ld1JhbmdlRGlyZWN0aXZlIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBsZWZ0Rm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0TnVtYmVyUmVmcy5maXJzdD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCBudWxsO1xuICAgIH1cblxuICAgIGdldCByaWdodEZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dE51bWJlclJlZnMubGFzdD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCBudWxsO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmxlZnRGb2N1c2FibGVFbGVtZW50IHx8IHRoaXMucmlnaHRGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBzaG93TGVmdFZhbHVlQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4oXG4gICAgICAgICAgICAodGhpcy5taW5MYWJlbCB8fCB0aGlzLmxlZnRWYWx1ZUNvbnRlbnQpICYmXG4gICAgICAgICAgICAgICAgIWlzTmF0aXZlRm9jdXNlZCh0aGlzLmxlZnRGb2N1c2FibGVFbGVtZW50KSAmJlxuICAgICAgICAgICAgICAgICEodGhpcy5yYW5nZVJlZj8uZm9jdXNlZCAmJiB0aGlzLmxhc3RBY3RpdmVTaWRlID09PSAnbGVmdCcpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBzaG93UmlnaHRWYWx1ZUNvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICAgICAgKHRoaXMubWF4TGFiZWwgfHwgdGhpcy5yaWdodFZhbHVlQ29udGVudCkgJiZcbiAgICAgICAgICAgICAgICAhaXNOYXRpdmVGb2N1c2VkKHRoaXMucmlnaHRGb2N1c2FibGVFbGVtZW50KSAmJlxuICAgICAgICAgICAgICAgICEodGhpcy5yYW5nZVJlZj8uZm9jdXNlZCAmJiB0aGlzLmxhc3RBY3RpdmVTaWRlID09PSAncmlnaHQnKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgcHJlY2lzaW9uKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRGcmFjdGlvblBhcnRQYWRkZWQodGhpcy5xdWFudHVtKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGRlY2ltYWwoKTogVHVpRGVjaW1hbFQge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVjaXNpb24gPyAnbm90LXplcm8nIDogJ25ldmVyJztcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRTdGVwcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGVwcyB8fCAodGhpcy5tYXggLSB0aGlzLm1pbikgLyB0aGlzLnF1YW50dW07XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkU2l6ZSgpOiBUdWlTaXplTCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTmV3ICYmIHRoaXMuY29udHJvbGxlci5zaXplICE9PSAncydcbiAgICAgICAgICAgID8gdGhpcy5jb250cm9sbGVyLnNpemVcbiAgICAgICAgICAgIDogdGhpcy5zaXplO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2xhYmVsLW91dHNpZGUnKVxuICAgIGdldCBsZWdhY3lMYWJlbE91dHNpZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTmV3ID8gdGhpcy5jb250cm9sbGVyLmxhYmVsT3V0c2lkZSA6IHRoaXMuY29tcHV0ZWRTaXplID09PSAnbSc7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICB9XG5cbiAgICBvblRleHRJbnB1dEZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbiwgcmlnaHQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFtsZWZ0VGV4dElucHV0UmVmLCByaWdodFRleHRJbnB1dFJlZl0gPSB0aGlzLmlucHV0TnVtYmVyUmVmcztcbiAgICAgICAgY29uc3QgaW5wdXRSZWYgPSByaWdodCA/IHJpZ2h0VGV4dElucHV0UmVmIDogbGVmdFRleHRJbnB1dFJlZjtcbiAgICAgICAgY29uc3QgdmFsdWVJbmRleCA9IHJpZ2h0ID8gMSA6IDA7XG5cbiAgICAgICAgaWYgKCFpbnB1dFJlZi5uYXRpdmVWYWx1ZSB8fCBpbnB1dFJlZi52YWx1ZSAhPT0gdGhpcy52YWx1ZVt2YWx1ZUluZGV4XSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0SW5wdXRWYWx1ZSh0aGlzLnNhZmVDdXJyZW50VmFsdWVbdmFsdWVJbmRleF0sIHJpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5nZUJ5U3RlcChcbiAgICAgICAgZXZlbnQ6IEV2ZW50IHwgS2V5Ym9hcmRFdmVudCxcbiAgICAgICAgW2xlZnRDb2VmZmljaWVudCwgcmlnaHRDb2VmZmljaWVudF06IFtudW1iZXIsIG51bWJlcl0sXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy52YWx1ZUd1YXJkKFtcbiAgICAgICAgICAgIHRoaXMudmFsdWVbMF0gKyBsZWZ0Q29lZmZpY2llbnQgKiB0aGlzLnN0ZXAsXG4gICAgICAgICAgICB0aGlzLnZhbHVlWzFdICsgcmlnaHRDb2VmZmljaWVudCAqIHRoaXMuc3RlcCxcbiAgICAgICAgXSk7XG4gICAgICAgIGNvbnN0IGxlZnRWYWx1ZUNoYW5nZWQgPSBuZXdWYWx1ZVswXSAhPT0gdGhpcy52YWx1ZVswXTtcbiAgICAgICAgY29uc3QgcmlnaHRWYWx1ZUNoYW5nZWQgPSBuZXdWYWx1ZVsxXSAhPT0gdGhpcy52YWx1ZVsxXTtcblxuICAgICAgICBpZiAobGVmdFZhbHVlQ2hhbmdlZCB8fCByaWdodFZhbHVlQ2hhbmdlZCkge1xuICAgICAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHRJbnB1dFZhbHVlKFxuICAgICAgICAgICAgICAgIG5ld1ZhbHVlW3JpZ2h0VmFsdWVDaGFuZ2VkID8gMSA6IDBdLFxuICAgICAgICAgICAgICAgIHJpZ2h0VmFsdWVDaGFuZ2VkLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSW5wdXRMZWZ0KHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2FmZWx5VXBkYXRlVmFsdWUoW3ZhbHVlID8/IHRoaXMuc2FmZUN1cnJlbnRWYWx1ZVswXSwgdGhpcy52YWx1ZVsxXV0pO1xuICAgIH1cblxuICAgIG9uSW5wdXRSaWdodCh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhZmVseVVwZGF0ZVZhbHVlKFt0aGlzLnZhbHVlWzBdLCB2YWx1ZSA/PyB0aGlzLnNhZmVDdXJyZW50VmFsdWVbMV1dKTtcbiAgICB9XG5cbiAgICBvblJhbmdlVmFsdWUodmFsdWU6IFtudW1iZXIsIG51bWJlcl0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZSh2YWx1ZSk7XG5cbiAgICAgICAgY29uc3QgcmlnaHRWYWx1ZUNoYW5nZWQgPSB0aGlzLmxhc3RBY3RpdmVTaWRlID09PSAncmlnaHQnO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUoXG4gICAgICAgICAgICB0aGlzLnZhbHVlW3JpZ2h0VmFsdWVDaGFuZ2VkID8gMSA6IDBdLFxuICAgICAgICAgICAgcmlnaHRWYWx1ZUNoYW5nZWQsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZm9jdXNUb1RleHRJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICB0aGlzLmxhc3RBY3RpdmVTaWRlID09PSAnbGVmdCdcbiAgICAgICAgICAgICAgICA/IHRoaXMubGVmdEZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgICAgICAgICA6IHRoaXMucmlnaHRGb2N1c2FibGVFbGVtZW50O1xuXG4gICAgICAgIGlmICghdGhpcy5pc01vYmlsZSAmJiBlbGVtZW50KSB7XG4gICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFjdGl2ZVRodW1iQ2hhbmdlKGFjdGl2ZVRodW1iOiAncmlnaHQnIHwgJ2xlZnQnKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGFzdEFjdGl2ZVNpZGUgPSBhY3RpdmVUaHVtYjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICAgICAgcmV0dXJuIFswLCAwXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhZmVseVVwZGF0ZVZhbHVlKHZhbHVlOiBbbnVtYmVyLCBudW1iZXJdKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy52YWx1ZUd1YXJkKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWx1ZUd1YXJkKFtsZWZ0VmFsdWUsIHJpZ2h0VmFsdWVdOiBbbnVtYmVyLCBudW1iZXJdKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICAgIGNvbnN0IGxlZnRDYWxpYnJhdGVkVmFsdWUgPSB0aGlzLmNhbGlicmF0ZShsZWZ0VmFsdWUpO1xuICAgICAgICBjb25zdCByaWdodENhbGlicmF0ZWRWYWx1ZSA9IHRoaXMuY2FsaWJyYXRlKHJpZ2h0VmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBNYXRoLm1pbihsZWZ0Q2FsaWJyYXRlZFZhbHVlLCB0aGlzLnZhbHVlWzFdKSxcbiAgICAgICAgICAgIE1hdGgubWF4KHJpZ2h0Q2FsaWJyYXRlZFZhbHVlLCB0aGlzLnZhbHVlWzBdKSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGlicmF0ZSh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qgcm91bmRlZFZhbHVlID0gcm91bmQoXG4gICAgICAgICAgICBNYXRoLnJvdW5kKHZhbHVlIC8gdGhpcy5xdWFudHVtKSAqIHRoaXMucXVhbnR1bSxcbiAgICAgICAgICAgIFRVSV9GTE9BVElOR19QUkVDSVNJT04sXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGNsYW1wKHJvdW5kZWRWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRleHRJbnB1dFZhbHVlKHZhbHVlOiBudW1iZXIsIHJpZ2h0OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IFtsZWZ0SW5wdXRSZWYsIHJpZ2h0SW5wdXRSZWZdID0gdGhpcy5pbnB1dE51bWJlclJlZnM7XG4gICAgICAgIGNvbnN0IHRleHRJbnB1dFJlZiA9IHJpZ2h0ID8gcmlnaHRJbnB1dFJlZiA6IGxlZnRJbnB1dFJlZjtcblxuICAgICAgICBpZiAodGV4dElucHV0UmVmKSB7XG4gICAgICAgICAgICB0ZXh0SW5wdXRSZWYubmF0aXZlVmFsdWUgPSB0ZXh0SW5wdXRSZWYuZ2V0Rm9ybWF0dGVkVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpVGV4dGZpZWxkQXBwZWFyYW5jZURpcmVjdGl2ZUZhY3Rvcnkoe1xuICAgIG5hdGl2ZUVsZW1lbnQsXG59OiBFbGVtZW50UmVmKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3R1aVRleHRmaWVsZEFwcGVhcmFuY2UnKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpVGV4dGZpZWxkQXBwZWFyYW5jZV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgICAgICAgICBkZXBzOiBbRWxlbWVudFJlZl0sXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiB0dWlUZXh0ZmllbGRBcHBlYXJhbmNlRGlyZWN0aXZlRmFjdG9yeSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUZXh0ZmllbGRBcHBlYXJhbmNlRGlyZWN0aXZlIHt9XG4iXX0=
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXJhbmdlLyIsInNvdXJjZXMiOlsiaW5wdXQtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILEtBQUssRUFDTCxXQUFXLEVBQ1gsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsMkJBQTJCLEVBQzNCLGFBQWEsRUFFYixjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsNkJBQTZCLEVBQzdCLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsV0FBVyxFQUNYLFFBQVEsRUFDUixzQkFBc0IsR0FDekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUkvRCxXQUFXO0FBeUJYO0lBQ1ksMENBQXdDO0lBNENoRCxnQ0FJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUU5QyxRQUFpQixFQUV6QixVQUFrQixFQUNVLFVBQXNCLEVBRWxELFVBQWtDLEVBR2xDLEtBQWtDO1FBZi9DLFlBaUJJLGtCQUFNLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxTQUNwQztRQVhvQixjQUFRLEdBQVIsUUFBUSxDQUFTO1FBRXpCLGdCQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ1UsZ0JBQVUsR0FBVixVQUFVLENBQVk7UUFFbEQsZ0JBQVUsR0FBVixVQUFVLENBQXdCO1FBR2xDLFdBQUssR0FBTCxLQUFLLENBQTZCO1FBdkQ5QixxQkFBZSxHQUF1QyxXQUFXLENBQUM7UUFHbEUsY0FBUSxHQUE2QixJQUFJLENBQUM7UUFJM0QsU0FBRyxHQUFHLENBQUMsQ0FBQztRQUVSLGdFQUFnRTtRQUdoRSxTQUFHLEdBQUcsUUFBUSxDQUFDO1FBSWYsYUFBTyxHQUFHLENBQUMsQ0FBQztRQUlaLFdBQUssR0FBRyxDQUFDLENBQUM7UUFJVixjQUFRLEdBQUcsQ0FBQyxDQUFDO1FBSWIsY0FBUSxHQUF1QixJQUFJLENBQUM7UUFJcEMsc0JBQWdCLEdBQXdELEVBQUUsQ0FBQztRQUkzRSx1QkFBaUIsR0FBd0QsRUFBRSxDQUFDO1FBRTVFLG9CQUFjLEdBQXFCLE1BQU0sQ0FBQzs7SUFvQjFDLENBQUM7K0JBL0RRLHNCQUFzQjtJQWlFL0Isc0JBQUksd0RBQW9CO2FBQXhCOztZQUNJLE9BQU8sT0FBQSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssMENBQUUsc0JBQXNCLEtBQUksSUFBSSxDQUFDO1FBQ3RFLENBQUM7OztPQUFBO0lBRUQsc0JBQUkseURBQXFCO2FBQXpCOztZQUNJLE9BQU8sT0FBQSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksMENBQUUsc0JBQXNCLEtBQUksSUFBSSxDQUFDO1FBQ3JFLENBQUM7OztPQUFBO0lBRUQsc0JBQUksMERBQXNCO2FBQTFCO1lBQ0ksT0FBTyxJQUFJLENBQUMsUUFBUTtnQkFDaEIsQ0FBQyxDQUFDLElBQUk7Z0JBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDbEUsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwyQ0FBTzthQUFYO1lBQ0ksT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVELENBQUM7OztPQUFBO0lBRUQsc0JBQUksd0RBQW9CO2FBQXhCOztZQUNJLE9BQU8sT0FBTyxDQUNWLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ3BDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLE9BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsT0FBTyxLQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssTUFBTSxDQUFDLENBQ2xFLENBQUM7UUFDTixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLHlEQUFxQjthQUF6Qjs7WUFDSSxPQUFPLE9BQU8sQ0FDVixDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO2dCQUNyQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxPQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLE9BQU8sS0FBSSxJQUFJLENBQUMsY0FBYyxLQUFLLE9BQU8sQ0FBQyxDQUNuRSxDQUFDO1FBQ04sQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSw2Q0FBUzthQUFiO1lBQ0ksT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3RELENBQUM7OztPQUFBO0lBRUQsc0JBQUksMkNBQU87YUFBWDtZQUNJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDakQsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxpREFBYTthQUFqQjtZQUNJLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDOUQsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxnREFBWTthQUFoQjtZQUNJLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxHQUFHO2dCQUM3QyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJO2dCQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNwQixDQUFDOzs7T0FBQTtJQUdELHNCQUFJLHNEQUFrQjthQUF0QjtZQUNJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUssR0FBRyxDQUFDO1FBQ2pGLENBQUM7OztPQUFBO0lBRUQsNkNBQVksR0FBWixVQUFhLE1BQWU7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsbURBQWtCLEdBQWxCLFVBQW1CLE9BQWdCLEVBQUUsS0FBYztRQUMvQyxJQUFJLE9BQU8sRUFBRTtZQUNULE9BQU87U0FDVjtRQUVLLElBQUEsb0NBQTRELEVBQTNELHdCQUFnQixFQUFFLHlCQUF5QyxDQUFDO1FBQ25FLElBQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1FBQzlELElBQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDdkU7SUFDTCxDQUFDO0lBRUQsNkNBQVksR0FBWixVQUNJLEtBQTRCLEVBQzVCLEVBQXFEO1lBQXJELGtCQUFxRCxFQUFwRCx1QkFBZSxFQUFFLHdCQUFnQjtRQUVsQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixPQUFPO1NBQ1Y7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSTtZQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJO1NBQy9DLENBQUMsQ0FBQztRQUNILElBQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4RCxJQUFJLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsb0JBQW9CLENBQ3JCLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDbkMsaUJBQWlCLENBQ3BCLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFRCw0Q0FBVyxHQUFYLFVBQVksS0FBb0I7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCw2Q0FBWSxHQUFaLFVBQWEsS0FBb0I7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCw2Q0FBWSxHQUFaLFVBQWEsS0FBdUI7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLElBQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsS0FBSyxPQUFPLENBQUM7UUFFMUQsSUFBSSxDQUFDLG9CQUFvQixDQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNyQyxpQkFBaUIsQ0FDcEIsQ0FBQztJQUNOLENBQUM7SUFFRCxpREFBZ0IsR0FBaEI7UUFDSSxJQUFNLE9BQU8sR0FDVCxJQUFJLENBQUMsY0FBYyxLQUFLLE1BQU07WUFDMUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0I7WUFDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUVyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxPQUFPLEVBQUU7WUFDM0IsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQztJQUVELG9EQUFtQixHQUFuQixVQUFvQixXQUE2QjtRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQztJQUN0QyxDQUFDO0lBRVMsaURBQWdCLEdBQTFCO1FBQ0ksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRU8sa0RBQWlCLEdBQXpCLFVBQTBCLEtBQXVCO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTywyQ0FBVSxHQUFsQixVQUFtQixFQUF5QztZQUF6QyxrQkFBeUMsRUFBeEMsaUJBQVMsRUFBRSxrQkFBVTtRQUNyQyxJQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEQsSUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXhELE9BQU87WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2hELENBQUM7SUFDTixDQUFDO0lBRU8sMENBQVMsR0FBakIsVUFBa0IsS0FBYTtRQUMzQixJQUFNLFlBQVksR0FBRyxLQUFLLENBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUMvQyxzQkFBc0IsQ0FDekIsQ0FBQztRQUVGLE9BQU8sS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8scURBQW9CLEdBQTVCLFVBQTZCLEtBQWEsRUFBRSxLQUFjO1FBQ2hELElBQUEsb0NBQW9ELEVBQW5ELG9CQUFZLEVBQUUscUJBQXFDLENBQUM7UUFDM0QsSUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUUxRCxJQUFJLFlBQVksRUFBRTtZQUNkLFlBQVksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BFO0lBQ0wsQ0FBQzs7O2dCQXpMWSxTQUFTLHVCQUhqQixRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQyxTQUFTO2dCQUU2QixpQkFBaUIsdUJBQTlELE1BQU0sU0FBQyxpQkFBaUI7OENBQ3hCLE1BQU0sU0FBQyxhQUFhOzZDQUVwQixNQUFNLFNBQUMsd0JBQXdCO2dCQUVpQixVQUFVLHVCQUExRCxNQUFNLFNBQUMsVUFBVTtnQkFFRyxzQkFBc0IsdUJBRDFDLE1BQU0sU0FBQyxnQ0FBZ0M7Z0JBSXhCLG9CQUFvQix1QkFGbkMsUUFBUSxZQUNSLE1BQU0sU0FBQyxvQkFBb0I7O0lBdERoQztRQURDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQzttRUFDNkM7SUFHbkY7UUFEQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7NERBQzhCO0lBSTNEO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO3VEQUNUO0lBS1I7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7dURBQ0Y7SUFJZjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSwwQkFBMEIsQ0FBQzsyREFDakQ7SUFJWjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTt5REFDUDtJQUlWO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzREQUNKO0lBSWI7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7NERBQ21CO0lBSXBDO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO29FQUMwRDtJQUkzRTtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTtxRUFDMkQ7SUE2RTVFO1FBREMsV0FBVyxDQUFDLHNCQUFzQixDQUFDO29FQUduQztJQXhIUSxzQkFBc0I7UUF4QmxDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsdWlJQUEwQztZQUUxQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtvQkFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFNLE9BQUEsd0JBQXNCLEVBQXRCLENBQXNCLENBQUM7aUJBQ3hEO2dCQUNELDZCQUE2QjthQUNoQztZQUNELElBQUksRUFBRTtnQkFDRjs7O21CQUdHO2dCQUNILDRCQUE0QixFQUFFLFFBQVE7YUFDekM7O1NBQ0osQ0FBQztRQUNGOzs7V0FHRzs7UUErQ00sV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFDTixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBRXJCLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFFaEMsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtRQUV4QyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtPQTNEeEIsc0JBQXNCLENBMk9sQztJQUFELDZCQUFDO0NBQUEsQUEzT0QsQ0FDWSxzQkFBc0IsR0EwT2pDO1NBM09ZLHNCQUFzQjtBQTZPbkMsTUFBTSxVQUFVLHNDQUFzQyxDQUFDLEVBRTFDO1FBRFQsZ0NBQWE7SUFFYixPQUFPLGFBQWEsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBWUQ7SUFBQTtJQUE4QyxDQUFDO0lBQWxDLCtCQUErQjtRQVYzQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsMEJBQTBCO1lBQ3BDLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsd0JBQXdCO29CQUNqQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7b0JBQ2xCLFVBQVUsRUFBRSxzQ0FBc0M7aUJBQ3JEO2FBQ0o7U0FDSixDQUFDO09BQ1csK0JBQStCLENBQUc7SUFBRCxzQ0FBQztDQUFBLEFBQS9DLElBQStDO1NBQWxDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgY2xhbXAsXG4gICAgRU1QVFlfUVVFUlksXG4gICAgaXNOYXRpdmVGb2N1c2VkLFxuICAgIGlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHJvdW5kLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUVUlfSVNfTU9CSUxFLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBnZXRGcmFjdGlvblBhcnRQYWRkZWQsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFLFxuICAgIFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSLFxuICAgIFR1aURlY2ltYWxULFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlJbnB1dFNsaWRlciwgcXVhbnR1bUFzc2VydGlvbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9hYnN0cmFjdCc7XG5pbXBvcnQge1R1aUlucHV0TnVtYmVyQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyJztcbmltcG9ydCB7VHVpTmV3UmFuZ2VEaXJlY3RpdmUsIFR1aVJhbmdlQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFuZ2UnO1xuaW1wb3J0IHtUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUtleVN0ZXBzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3R5cGVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXJhbmdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcmFuZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcmFuZ2Uuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFJhbmdlQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUT0RPOiAzLjAgZGVsZXRlIGl0XG4gICAgICAgICAqIERvbnQgZm9yZ2V0IHRvIGNsZWFyIGh0bWwtdGFnc1xuICAgICAgICAgKi9cbiAgICAgICAgJ1tjbGFzcy5fc2hvdy10aWNrcy1sYWJlbHNdJzogJyFpc05ldycsXG4gICAgfSxcbn0pXG4vKipcbiAqIGBBYnN0cmFjdFR1aUlucHV0U2xpZGVyYCBpbmNsdWRlcyBhbGwgbGVnYWN5IGNvZGUgKGl0IGNhbiBiZSBkZWxldGVkIGluIHYzLjApXG4gKiBUT0RPIHJlcGxhY2UgYGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxbbnVtYmVyLCBudW1iZXJdPmAgYnkgYGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPFtudW1iZXIsIG51bWJlcl0+IGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PG51bWJlcj5gXG4gKi9cbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFJhbmdlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUlucHV0U2xpZGVyPFtudW1iZXIsIG51bWJlcl0+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkcmVuKFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXROdW1iZXJSZWZzOiBRdWVyeUxpc3Q8VHVpSW5wdXROdW1iZXJDb21wb25lbnQ+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBAVmlld0NoaWxkKFR1aVJhbmdlQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmFuZ2VSZWY6IFR1aVJhbmdlQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gMDtcblxuICAgIC8qIFRPRE86IG1ha2UgYDEwMGAgYXMgZGVmYXVsdCB2YWx1ZSAobGlrZSBpbiBuYXRpdmUgc2xpZGVycykgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gSW5maW5pdHk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcChxdWFudHVtQXNzZXJ0aW9uLCAnUXVhbnR1bSBtdXN0IGJlIHBvc2l0aXZlJylcbiAgICBxdWFudHVtID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdGVwcyA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VnbWVudHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGxlZnRWYWx1ZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJpZ2h0VmFsdWVDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPj4gPSAnJztcblxuICAgIGxhc3RBY3RpdmVTaWRlOiAnbGVmdCcgfCAncmlnaHQnID0gJ2xlZnQnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSlcbiAgICAgICAgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlOZXdSYW5nZURpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgaXNOZXc6IFR1aU5ld1JhbmdlRGlyZWN0aXZlIHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBsZWZ0Rm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0TnVtYmVyUmVmcy5maXJzdD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCBudWxsO1xuICAgIH1cblxuICAgIGdldCByaWdodEZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dE51bWJlclJlZnMubGFzdD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCBudWxsO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmxlZnRGb2N1c2FibGVFbGVtZW50IHx8IHRoaXMucmlnaHRGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNOYXRpdmVGb2N1c2VkSW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBzaG93TGVmdFZhbHVlQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4oXG4gICAgICAgICAgICAodGhpcy5taW5MYWJlbCB8fCB0aGlzLmxlZnRWYWx1ZUNvbnRlbnQpICYmXG4gICAgICAgICAgICAgICAgIWlzTmF0aXZlRm9jdXNlZCh0aGlzLmxlZnRGb2N1c2FibGVFbGVtZW50KSAmJlxuICAgICAgICAgICAgICAgICEodGhpcy5yYW5nZVJlZj8uZm9jdXNlZCAmJiB0aGlzLmxhc3RBY3RpdmVTaWRlID09PSAnbGVmdCcpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBzaG93UmlnaHRWYWx1ZUNvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICAgICAgKHRoaXMubWF4TGFiZWwgfHwgdGhpcy5yaWdodFZhbHVlQ29udGVudCkgJiZcbiAgICAgICAgICAgICAgICAhaXNOYXRpdmVGb2N1c2VkKHRoaXMucmlnaHRGb2N1c2FibGVFbGVtZW50KSAmJlxuICAgICAgICAgICAgICAgICEodGhpcy5yYW5nZVJlZj8uZm9jdXNlZCAmJiB0aGlzLmxhc3RBY3RpdmVTaWRlID09PSAncmlnaHQnKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgcHJlY2lzaW9uKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRGcmFjdGlvblBhcnRQYWRkZWQodGhpcy5xdWFudHVtKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGRlY2ltYWwoKTogVHVpRGVjaW1hbFQge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVjaXNpb24gPyAnbm90LXplcm8nIDogJ25ldmVyJztcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRTdGVwcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGVwcyB8fCAodGhpcy5tYXggLSB0aGlzLm1pbikgLyB0aGlzLnF1YW50dW07XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkU2l6ZSgpOiBUdWlTaXplTCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTmV3ICYmIHRoaXMuY29udHJvbGxlci5zaXplICE9PSAncydcbiAgICAgICAgICAgID8gdGhpcy5jb250cm9sbGVyLnNpemVcbiAgICAgICAgICAgIDogdGhpcy5zaXplO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2xhYmVsLW91dHNpZGUnKVxuICAgIGdldCBsZWdhY3lMYWJlbE91dHNpZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTmV3ID8gdGhpcy5jb250cm9sbGVyLmxhYmVsT3V0c2lkZSA6IHRoaXMuY29tcHV0ZWRTaXplID09PSAnbSc7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICB9XG5cbiAgICBvblRleHRJbnB1dEZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbiwgcmlnaHQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGZvY3VzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFtsZWZ0VGV4dElucHV0UmVmLCByaWdodFRleHRJbnB1dFJlZl0gPSB0aGlzLmlucHV0TnVtYmVyUmVmcztcbiAgICAgICAgY29uc3QgaW5wdXRSZWYgPSByaWdodCA/IHJpZ2h0VGV4dElucHV0UmVmIDogbGVmdFRleHRJbnB1dFJlZjtcbiAgICAgICAgY29uc3QgdmFsdWVJbmRleCA9IHJpZ2h0ID8gMSA6IDA7XG5cbiAgICAgICAgaWYgKCFpbnB1dFJlZi5uYXRpdmVWYWx1ZSB8fCBpbnB1dFJlZi52YWx1ZSAhPT0gdGhpcy52YWx1ZVt2YWx1ZUluZGV4XSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0SW5wdXRWYWx1ZSh0aGlzLnNhZmVDdXJyZW50VmFsdWVbdmFsdWVJbmRleF0sIHJpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5nZUJ5U3RlcChcbiAgICAgICAgZXZlbnQ6IEV2ZW50IHwgS2V5Ym9hcmRFdmVudCxcbiAgICAgICAgW2xlZnRDb2VmZmljaWVudCwgcmlnaHRDb2VmZmljaWVudF06IFtudW1iZXIsIG51bWJlcl0sXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy52YWx1ZUd1YXJkKFtcbiAgICAgICAgICAgIHRoaXMudmFsdWVbMF0gKyBsZWZ0Q29lZmZpY2llbnQgKiB0aGlzLnN0ZXAsXG4gICAgICAgICAgICB0aGlzLnZhbHVlWzFdICsgcmlnaHRDb2VmZmljaWVudCAqIHRoaXMuc3RlcCxcbiAgICAgICAgXSk7XG4gICAgICAgIGNvbnN0IGxlZnRWYWx1ZUNoYW5nZWQgPSBuZXdWYWx1ZVswXSAhPT0gdGhpcy52YWx1ZVswXTtcbiAgICAgICAgY29uc3QgcmlnaHRWYWx1ZUNoYW5nZWQgPSBuZXdWYWx1ZVsxXSAhPT0gdGhpcy52YWx1ZVsxXTtcblxuICAgICAgICBpZiAobGVmdFZhbHVlQ2hhbmdlZCB8fCByaWdodFZhbHVlQ2hhbmdlZCkge1xuICAgICAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHRJbnB1dFZhbHVlKFxuICAgICAgICAgICAgICAgIG5ld1ZhbHVlW3JpZ2h0VmFsdWVDaGFuZ2VkID8gMSA6IDBdLFxuICAgICAgICAgICAgICAgIHJpZ2h0VmFsdWVDaGFuZ2VkLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSW5wdXRMZWZ0KHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2FmZWx5VXBkYXRlVmFsdWUoW3ZhbHVlID8/IHRoaXMuc2FmZUN1cnJlbnRWYWx1ZVswXSwgdGhpcy52YWx1ZVsxXV0pO1xuICAgIH1cblxuICAgIG9uSW5wdXRSaWdodCh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhZmVseVVwZGF0ZVZhbHVlKFt0aGlzLnZhbHVlWzBdLCB2YWx1ZSA/PyB0aGlzLnNhZmVDdXJyZW50VmFsdWVbMV1dKTtcbiAgICB9XG5cbiAgICBvblJhbmdlVmFsdWUodmFsdWU6IFtudW1iZXIsIG51bWJlcl0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZSh2YWx1ZSk7XG5cbiAgICAgICAgY29uc3QgcmlnaHRWYWx1ZUNoYW5nZWQgPSB0aGlzLmxhc3RBY3RpdmVTaWRlID09PSAncmlnaHQnO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUoXG4gICAgICAgICAgICB0aGlzLnZhbHVlW3JpZ2h0VmFsdWVDaGFuZ2VkID8gMSA6IDBdLFxuICAgICAgICAgICAgcmlnaHRWYWx1ZUNoYW5nZWQsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZm9jdXNUb1RleHRJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICB0aGlzLmxhc3RBY3RpdmVTaWRlID09PSAnbGVmdCdcbiAgICAgICAgICAgICAgICA/IHRoaXMubGVmdEZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgICAgICAgICA6IHRoaXMucmlnaHRGb2N1c2FibGVFbGVtZW50O1xuXG4gICAgICAgIGlmICghdGhpcy5pc01vYmlsZSAmJiBlbGVtZW50KSB7XG4gICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFjdGl2ZVRodW1iQ2hhbmdlKGFjdGl2ZVRodW1iOiAncmlnaHQnIHwgJ2xlZnQnKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGFzdEFjdGl2ZVNpZGUgPSBhY3RpdmVUaHVtYjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICAgICAgcmV0dXJuIFswLCAwXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhZmVseVVwZGF0ZVZhbHVlKHZhbHVlOiBbbnVtYmVyLCBudW1iZXJdKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy52YWx1ZUd1YXJkKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWx1ZUd1YXJkKFtsZWZ0VmFsdWUsIHJpZ2h0VmFsdWVdOiBbbnVtYmVyLCBudW1iZXJdKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICAgIGNvbnN0IGxlZnRDYWxpYnJhdGVkVmFsdWUgPSB0aGlzLmNhbGlicmF0ZShsZWZ0VmFsdWUpO1xuICAgICAgICBjb25zdCByaWdodENhbGlicmF0ZWRWYWx1ZSA9IHRoaXMuY2FsaWJyYXRlKHJpZ2h0VmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBNYXRoLm1pbihsZWZ0Q2FsaWJyYXRlZFZhbHVlLCB0aGlzLnZhbHVlWzFdKSxcbiAgICAgICAgICAgIE1hdGgubWF4KHJpZ2h0Q2FsaWJyYXRlZFZhbHVlLCB0aGlzLnZhbHVlWzBdKSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGlicmF0ZSh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qgcm91bmRlZFZhbHVlID0gcm91bmQoXG4gICAgICAgICAgICBNYXRoLnJvdW5kKHZhbHVlIC8gdGhpcy5xdWFudHVtKSAqIHRoaXMucXVhbnR1bSxcbiAgICAgICAgICAgIFRVSV9GTE9BVElOR19QUkVDSVNJT04sXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGNsYW1wKHJvdW5kZWRWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRleHRJbnB1dFZhbHVlKHZhbHVlOiBudW1iZXIsIHJpZ2h0OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IFtsZWZ0SW5wdXRSZWYsIHJpZ2h0SW5wdXRSZWZdID0gdGhpcy5pbnB1dE51bWJlclJlZnM7XG4gICAgICAgIGNvbnN0IHRleHRJbnB1dFJlZiA9IHJpZ2h0ID8gcmlnaHRJbnB1dFJlZiA6IGxlZnRJbnB1dFJlZjtcblxuICAgICAgICBpZiAodGV4dElucHV0UmVmKSB7XG4gICAgICAgICAgICB0ZXh0SW5wdXRSZWYubmF0aXZlVmFsdWUgPSB0ZXh0SW5wdXRSZWYuZ2V0Rm9ybWF0dGVkVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpVGV4dGZpZWxkQXBwZWFyYW5jZURpcmVjdGl2ZUZhY3Rvcnkoe1xuICAgIG5hdGl2ZUVsZW1lbnQsXG59OiBFbGVtZW50UmVmKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3R1aVRleHRmaWVsZEFwcGVhcmFuY2UnKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpVGV4dGZpZWxkQXBwZWFyYW5jZV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgICAgICAgICBkZXBzOiBbRWxlbWVudFJlZl0sXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiB0dWlUZXh0ZmllbGRBcHBlYXJhbmNlRGlyZWN0aXZlRmFjdG9yeSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUZXh0ZmllbGRBcHBlYXJhbmNlRGlyZWN0aXZlIHt9XG4iXX0=
|
|
@@ -232,7 +232,7 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
|
|
|
232
232
|
TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
|
|
233
233
|
Component({
|
|
234
234
|
selector: 'tui-input-slider',
|
|
235
|
-
template: "<tui-input-number\n [min]=\"min\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix || (value | i18nPlural: pluralizeMap || pluralizeMapFallback)\"\n [tuiTextfieldCustomContent]=\"controller.customContent || deprecatedSecondary\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"computedSize !== 'l'\"\n [readOnly]=\"readOnly\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoPressed]=\"computedPressed\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [ngModel]=\"value\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"computedValueContent && !focused\"\n polymorpheus-outlet\n automation-id=\"tui-input-slider__value-content\"\n [content]=\"computedValueContent\"\n [context]=\"{$implicit: value}\"\n ></div>\n</tui-input-number>\n\n<!--TODO: remove in v3.0-->\n<ng-template #deprecatedSecondary>{{secondary}}</ng-template>\n\n<!--TODO: remove wrapper + ticks labels (leave only slider) in v3.0-->\n<div class=\"t-slider-wrapper\">\n <input\n tuiSlider\n type=\"range\"\n [tuiFocusable]=\"false\"\n [max]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"computedKeySteps\"\n [attr.disabled]=\"readOnly || disabled || null\"\n [ngModel]=\"value\"\n (keyStepsInput)=\"onSliderChange($event)\"\n (click)=\"focusTextInput()\"\n />\n\n <!--TODO delete ticks labels in v3.0-->\n <div\n *ngIf=\"segments && !isNew\"\n class=\"t-ticks-labels\"\n >\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\">\n {{ getTickPrefix(tickIndex, segments, fromToText) }}
|
|
235
|
+
template: "<tui-input-number\n [min]=\"min\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix || (value | i18nPlural: pluralizeMap || pluralizeMapFallback)\"\n [tuiTextfieldCustomContent]=\"controller.customContent || deprecatedSecondary\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"computedSize !== 'l'\"\n [readOnly]=\"readOnly\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoPressed]=\"computedPressed\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [ngModel]=\"value\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"computedValueContent && !focused\"\n polymorpheus-outlet\n automation-id=\"tui-input-slider__value-content\"\n [content]=\"computedValueContent\"\n [context]=\"{$implicit: value}\"\n ></div>\n</tui-input-number>\n\n<!--TODO: remove in v3.0-->\n<ng-template #deprecatedSecondary>{{ secondary }}</ng-template>\n\n<!--TODO: remove wrapper + ticks labels (leave only slider) in v3.0-->\n<div class=\"t-slider-wrapper\">\n <input\n tuiSlider\n type=\"range\"\n [tuiFocusable]=\"false\"\n [max]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"computedKeySteps\"\n [attr.disabled]=\"readOnly || disabled || null\"\n [ngModel]=\"value\"\n (keyStepsInput)=\"onSliderChange($event)\"\n (click)=\"focusTextInput()\"\n />\n\n <!--TODO delete ticks labels in v3.0-->\n <div\n *ngIf=\"segments && !isNew\"\n class=\"t-ticks-labels\"\n >\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\">\n {{ getTickPrefix(tickIndex, segments, fromToText) }}\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | tuiFormatNumber }}\n <span *ngIf=\"segmentsPluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | i18nPlural: segmentsPluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n</div>\n",
|
|
236
236
|
host: {
|
|
237
237
|
/**
|
|
238
238
|
* TODO delete it in v3.0
|
|
@@ -290,4 +290,4 @@ function legacyMinMaxLabel(_a) {
|
|
|
290
290
|
}
|
|
291
291
|
};
|
|
292
292
|
}
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILEtBQUssRUFDTCxlQUFlLEVBQ2YsS0FBSyxFQUNMLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFDM0IsU0FBUyxFQUVULGNBQWMsR0FHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLGdDQUFnQyxFQUNoQyxXQUFXLEVBQ1gsUUFBUSxFQUNSLHNCQUFzQixHQUN6QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsd0JBQXdCLEdBQzNCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHdkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQzs7OztHQUlHO0FBSUg7SUFBQTtJQUF5QyxDQUFD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QztTQUNwQjtJQUNMLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBjbGFtcCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgcm91bmQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgdHVpQXNzZXJ0LFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBnZXRGcmFjdGlvblBhcnRQYWRkZWQsXG4gICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSLFxuICAgIFR1aURlY2ltYWxULFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlJbnB1dFNsaWRlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9hYnN0cmFjdCc7XG5pbXBvcnQge1R1aUlucHV0TnVtYmVyQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyJztcbmltcG9ydCB7XG4gICAgVHVpU2xpZGVyQ29tcG9uZW50LFxuICAgIHR1aVNsaWRlck9wdGlvbnNQcm92aWRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NsaWRlcic7XG5pbXBvcnQge1RVSV9GTE9BVElOR19QUkVDSVNJT059IGZyb20gJ0B0YWlnYS11aS9raXQvY29uc3RhbnRzJztcbmltcG9ydCB7VFVJX0ZST01fVE9fVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpS2V5U3RlcHN9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBUdXJuIG9uIG5ldyBgSW5wdXRTbGlkZXJgJ3MgdmVyc2lvbi5cbiAqIFRoZSBuZXcgdmVyc2lvbiB3aWxsIGJlaGF2ZSBhbG1vc3QgdGhlIHNhbWUgYXMgYElucHV0U2xpZGVyYCBmcm9tIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuXG4gKiBAZGVwcmVjYXRlZCBUT0RPIHJlbW92ZSBtZSBpbiB2My4wIGFuZCBtYWtlIGBJbnB1dFNsaWRlcmAgYWx3YXlzIFwibmV3XCIuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXNsaWRlcltuZXddJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUge31cblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXNsaWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXNsaWRlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1zbGlkZXIuc3R5bGUubGVzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRPRE8gZGVsZXRlIGl0IGluIHYzLjBcbiAgICAgICAgICogRG9udCBmb3JnZXQgdG8gY2xlYXIgaHRtbC10YWdzXG4gICAgICAgICAqL1xuICAgICAgICAnW2NsYXNzLl9zaG93LXRpY2tzLWxhYmVsc10nOiAnIWlzTmV3JyxcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFNsaWRlckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHR1aVNsaWRlck9wdGlvbnNQcm92aWRlcih7dHJhY2tDb2xvcjogJ3RyYW5zcGFyZW50J30pLFxuICAgICAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG59KVxuLyoqXG4gKiBUT0RPIHJlcGxhY2UgYGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxudW1iZXI+YCBieSBgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8bnVtYmVyPiBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxudW1iZXI+YFxuICogaW4gdjMuMFxuICovXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRTbGlkZXJDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW5wdXRTbGlkZXI8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlJbnB1dE51bWJlckNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0TnVtYmVyUmVmPzogVHVpSW5wdXROdW1iZXJDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKFR1aVNsaWRlckNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2xpZGVyUmVmPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW4gPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AocXVhbnR1bUFzc2VydGlvbiwgJ1F1YW50dW0gbXVzdCBiZSBwb3NpdGl2ZScpXG4gICAgcXVhbnR1bSA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RlcHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlZ21lbnRzID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBrZXlTdGVwczogVHVpS2V5U3RlcHMgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHByZWZpeCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBvc3RmaXggPSAnJztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkQ3VzdG9tQ29udGVudGAgaW5zdGVhZFxuICAgICAqIFRPRE8gZGVsZXRlIGluIHYzLjBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2Vjb25kYXJ5ID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBjb250cm9sbGVyOiBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgICAgICBASW5qZWN0KFRVSV9GUk9NX1RPX1RFWFRTKSByZWFkb25seSBmcm9tVG9UZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGlzTmV3OiBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnB1dE51bWJlclJlZj8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmlucHV0TnVtYmVyUmVmLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB8fFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMuc2xpZGVyUmVmPy5uYXRpdmVFbGVtZW50IHx8IG51bGwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkU3RlcHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcHMgfHwgKHRoaXMubWF4IC0gdGhpcy5taW4pIC8gdGhpcy5xdWFudHVtO1xuICAgIH1cblxuICAgIGdldCBwcmVjaXNpb24oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldEZyYWN0aW9uUGFydFBhZGRlZCh0aGlzLnF1YW50dW0pLmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXQgZGVjaW1hbCgpOiBUdWlEZWNpbWFsVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWNpc2lvbiA/ICdub3QtemVybycgOiAnbmV2ZXInO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRPRE8gcmVtb3ZlIG9sZCBwcm9wZXJ0eSBgc2l6ZWAgaW4gdjMuMFxuICAgICAqL1xuICAgIGdldCBjb21wdXRlZFNpemUoKTogVHVpU2l6ZUwge1xuICAgICAgICBpZiAodGhpcy5pc05ldykge1xuICAgICAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2l6ZSAhPT0gJ3MnLFxuICAgICAgICAgICAgICAgIFwiU2l6ZSAncycgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGlucHV0LlwiLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplID09PSAnbCcgPyAnbCcgOiAnbSc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5zaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gICAgICogVE9ETyByZXBsYWNlIGJ5IGp1c3QgYHRoaXMudmFsdWVDb250ZW50YCBpbiB2My4wXG4gICAgICovXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWVDb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbkxhYmVsIHx8IHRoaXMubWF4TGFiZWxcbiAgICAgICAgICAgID8gbGVnYWN5TWluTWF4TGFiZWwodGhpcylcbiAgICAgICAgICAgIDogdGhpcy52YWx1ZUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgZm9jdXNUZXh0SW5wdXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnQgPSB0aGlzLmlucHV0TnVtYmVyUmVmPy5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuXG4gICAgICAgIGlmIChmb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGZvY3VzYWJsZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2FmZWx5VXBkYXRlVmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlR3VhcmQodmFsdWUgPz8gdGhpcy5zYWZlQ3VycmVudFZhbHVlKSk7XG4gICAgfVxuXG4gICAgb25WZXJ0aWNhbEFycm93S2V5RG93bihjb2VmZmljaWVudDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5IHx8ICF0aGlzLnN0ZXApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSArIGNvZWZmaWNpZW50ICogdGhpcy5zdGVwO1xuXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVRleHRJbnB1dFZhbHVlKHRoaXMudmFsdWVHdWFyZCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIG9uU2xpZGVyQ2hhbmdlKG5ld1ZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCB0ZXh0SW5wdXRWYWx1ZSwgc2FmZUN1cnJlbnRWYWx1ZSwgaW5wdXROdW1iZXJSZWZ9ID0gdGhpcztcblxuICAgICAgICBpZiAoIWZvY3VzZWQgJiYgdGV4dElucHV0VmFsdWUgIT09IGlucHV0TnVtYmVyUmVmPy5nZXRGb3JtYXR0ZWRWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodmFsdWUgPz8gc2FmZUN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkKHByZXNzZWQpO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB0ZXh0SW5wdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dE51bWJlclJlZj8ubmF0aXZlVmFsdWUgfHwgJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlR3VhcmQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IHJvdW5kKFxuICAgICAgICAgICAgTWF0aC5yb3VuZCh2YWx1ZSAvIHRoaXMucXVhbnR1bSkgKiB0aGlzLnF1YW50dW0sXG4gICAgICAgICAgICBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBjbGFtcChyb3VuZGVkVmFsdWUsIHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUZXh0SW5wdXRWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0TnVtYmVyUmVmKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0TnVtYmVyUmVmLm5hdGl2ZVZhbHVlID1cbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0TnVtYmVyUmVmLmdldEZvcm1hdHRlZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gcXVhbnR1bUFzc2VydGlvbihxdWFudHVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcXVhbnR1bSA+IDA7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgaGVscGVyIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICogVE9ETyByZW1vdmUgaW4gdjMuMFxuICovXG5mdW5jdGlvbiBsZWdhY3lNaW5NYXhMYWJlbCh7XG4gICAgbWluLFxuICAgIG1heCxcbiAgICBtaW5MYWJlbCxcbiAgICBtYXhMYWJlbCxcbn06IFR1aUlucHV0U2xpZGVyQ29tcG9uZW50KTogKFxuICAgIGNvbnRleHQ6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPixcbikgPT4gc3RyaW5nIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gKHskaW1wbGljaXQ6IHZhbHVlfTogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+KSA9PiB7XG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgbWluOlxuICAgICAgICAgICAgICAgIHJldHVybiBtaW5MYWJlbCB8fCB2YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgbWF4OlxuICAgICAgICAgICAgICAgIHJldHVybiBtYXhMYWJlbCB8fCB2YWx1ZTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILEtBQUssRUFDTCxlQUFlLEVBQ2YsS0FBSyxFQUNMLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFDM0IsU0FBUyxFQUVULGNBQWMsR0FHakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLGdDQUFnQyxFQUNoQyxXQUFXLEVBQ1gsUUFBUSxFQUNSLHNCQUFzQixHQUN6QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsd0JBQXdCLEdBQzNCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHdkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQzs7OztHQUlHO0FBSUg7SUFBQTtJQUF5QyxDQUFD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QztTQUNwQjtJQUNMLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBjbGFtcCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgcm91bmQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgdHVpQXNzZXJ0LFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBnZXRGcmFjdGlvblBhcnRQYWRkZWQsXG4gICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSLFxuICAgIFR1aURlY2ltYWxULFxuICAgIFR1aVNpemVMLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlJbnB1dFNsaWRlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9hYnN0cmFjdCc7XG5pbXBvcnQge1R1aUlucHV0TnVtYmVyQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyJztcbmltcG9ydCB7XG4gICAgVHVpU2xpZGVyQ29tcG9uZW50LFxuICAgIHR1aVNsaWRlck9wdGlvbnNQcm92aWRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NsaWRlcic7XG5pbXBvcnQge1RVSV9GTE9BVElOR19QUkVDSVNJT059IGZyb20gJ0B0YWlnYS11aS9raXQvY29uc3RhbnRzJztcbmltcG9ydCB7VFVJX0ZST01fVE9fVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpS2V5U3RlcHN9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBUdXJuIG9uIG5ldyBgSW5wdXRTbGlkZXJgJ3MgdmVyc2lvbi5cbiAqIFRoZSBuZXcgdmVyc2lvbiB3aWxsIGJlaGF2ZSBhbG1vc3QgdGhlIHNhbWUgYXMgYElucHV0U2xpZGVyYCBmcm9tIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuXG4gKiBAZGVwcmVjYXRlZCBUT0RPIHJlbW92ZSBtZSBpbiB2My4wIGFuZCBtYWtlIGBJbnB1dFNsaWRlcmAgYWx3YXlzIFwibmV3XCIuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXNsaWRlcltuZXddJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUge31cblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXNsaWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXNsaWRlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1zbGlkZXIuc3R5bGUubGVzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRPRE8gZGVsZXRlIGl0IGluIHYzLjBcbiAgICAgICAgICogRG9udCBmb3JnZXQgdG8gY2xlYXIgaHRtbC10YWdzXG4gICAgICAgICAqL1xuICAgICAgICAnW2NsYXNzLl9zaG93LXRpY2tzLWxhYmVsc10nOiAnIWlzTmV3JyxcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFNsaWRlckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHR1aVNsaWRlck9wdGlvbnNQcm92aWRlcih7dHJhY2tDb2xvcjogJ3RyYW5zcGFyZW50J30pLFxuICAgICAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG59KVxuLyoqXG4gKiBUT0RPIHJlcGxhY2UgYGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxudW1iZXI+YCBieSBgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8bnVtYmVyPiBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxudW1iZXI+YFxuICogaW4gdjMuMFxuICovXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRTbGlkZXJDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW5wdXRTbGlkZXI8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlJbnB1dE51bWJlckNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0TnVtYmVyUmVmPzogVHVpSW5wdXROdW1iZXJDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKFR1aVNsaWRlckNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2xpZGVyUmVmPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW4gPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AocXVhbnR1bUFzc2VydGlvbiwgJ1F1YW50dW0gbXVzdCBiZSBwb3NpdGl2ZScpXG4gICAgcXVhbnR1bSA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RlcHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlZ21lbnRzID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBrZXlTdGVwczogVHVpS2V5U3RlcHMgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHByZWZpeCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBvc3RmaXggPSAnJztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkQ3VzdG9tQ29udGVudGAgaW5zdGVhZFxuICAgICAqIFRPRE8gZGVsZXRlIGluIHYzLjBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2Vjb25kYXJ5ID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBjb250cm9sbGVyOiBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgICAgICBASW5qZWN0KFRVSV9GUk9NX1RPX1RFWFRTKSByZWFkb25seSBmcm9tVG9UZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGlzTmV3OiBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnB1dE51bWJlclJlZj8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmlucHV0TnVtYmVyUmVmLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB8fFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMuc2xpZGVyUmVmPy5uYXRpdmVFbGVtZW50IHx8IG51bGwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkU3RlcHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcHMgfHwgKHRoaXMubWF4IC0gdGhpcy5taW4pIC8gdGhpcy5xdWFudHVtO1xuICAgIH1cblxuICAgIGdldCBwcmVjaXNpb24oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGdldEZyYWN0aW9uUGFydFBhZGRlZCh0aGlzLnF1YW50dW0pLmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXQgZGVjaW1hbCgpOiBUdWlEZWNpbWFsVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZWNpc2lvbiA/ICdub3QtemVybycgOiAnbmV2ZXInO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRPRE8gcmVtb3ZlIG9sZCBwcm9wZXJ0eSBgc2l6ZWAgaW4gdjMuMFxuICAgICAqL1xuICAgIGdldCBjb21wdXRlZFNpemUoKTogVHVpU2l6ZUwge1xuICAgICAgICBpZiAodGhpcy5pc05ldykge1xuICAgICAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2l6ZSAhPT0gJ3MnLFxuICAgICAgICAgICAgICAgIFwiU2l6ZSAncycgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGlucHV0LlwiLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplID09PSAnbCcgPyAnbCcgOiAnbSc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5zaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gICAgICogVE9ETyByZXBsYWNlIGJ5IGp1c3QgYHRoaXMudmFsdWVDb250ZW50YCBpbiB2My4wXG4gICAgICovXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWVDb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbkxhYmVsIHx8IHRoaXMubWF4TGFiZWxcbiAgICAgICAgICAgID8gbGVnYWN5TWluTWF4TGFiZWwodGhpcylcbiAgICAgICAgICAgIDogdGhpcy52YWx1ZUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgZm9jdXNUZXh0SW5wdXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnQgPSB0aGlzLmlucHV0TnVtYmVyUmVmPy5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuXG4gICAgICAgIGlmIChmb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGZvY3VzYWJsZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2FmZWx5VXBkYXRlVmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlR3VhcmQodmFsdWUgPz8gdGhpcy5zYWZlQ3VycmVudFZhbHVlKSk7XG4gICAgfVxuXG4gICAgb25WZXJ0aWNhbEFycm93S2V5RG93bihjb2VmZmljaWVudDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5IHx8ICF0aGlzLnN0ZXApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSArIGNvZWZmaWNpZW50ICogdGhpcy5zdGVwO1xuXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVRleHRJbnB1dFZhbHVlKHRoaXMudmFsdWVHdWFyZCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIG9uU2xpZGVyQ2hhbmdlKG5ld1ZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCB0ZXh0SW5wdXRWYWx1ZSwgc2FmZUN1cnJlbnRWYWx1ZSwgaW5wdXROdW1iZXJSZWZ9ID0gdGhpcztcblxuICAgICAgICBpZiAoIWZvY3VzZWQgJiYgdGV4dElucHV0VmFsdWUgIT09IGlucHV0TnVtYmVyUmVmPy5nZXRGb3JtYXR0ZWRWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodmFsdWUgPz8gc2FmZUN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkKHByZXNzZWQpO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB0ZXh0SW5wdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dE51bWJlclJlZj8ubmF0aXZlVmFsdWUgfHwgJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlR3VhcmQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IHJvdW5kKFxuICAgICAgICAgICAgTWF0aC5yb3VuZCh2YWx1ZSAvIHRoaXMucXVhbnR1bSkgKiB0aGlzLnF1YW50dW0sXG4gICAgICAgICAgICBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBjbGFtcChyb3VuZGVkVmFsdWUsIHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUZXh0SW5wdXRWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0TnVtYmVyUmVmKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0TnVtYmVyUmVmLm5hdGl2ZVZhbHVlID1cbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0TnVtYmVyUmVmLmdldEZvcm1hdHRlZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gcXVhbnR1bUFzc2VydGlvbihxdWFudHVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcXVhbnR1bSA+IDA7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgaGVscGVyIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICogVE9ETyByZW1vdmUgaW4gdjMuMFxuICovXG5mdW5jdGlvbiBsZWdhY3lNaW5NYXhMYWJlbCh7XG4gICAgbWluLFxuICAgIG1heCxcbiAgICBtaW5MYWJlbCxcbiAgICBtYXhMYWJlbCxcbn06IFR1aUlucHV0U2xpZGVyQ29tcG9uZW50KTogKFxuICAgIGNvbnRleHQ6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPixcbikgPT4gc3RyaW5nIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gKHskaW1wbGljaXQ6IHZhbHVlfTogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+KSA9PiB7XG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgbWluOlxuICAgICAgICAgICAgICAgIHJldHVybiBtaW5MYWJlbCB8fCB2YWx1ZTtcbiAgICAgICAgICAgIGNhc2UgbWF4OlxuICAgICAgICAgICAgICAgIHJldHVybiBtYXhMYWJlbCB8fCB2YWx1ZTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
|