@fundamental-ngx/platform 0.47.4 → 0.48.0-rc.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/esm2022/action-bar/action-bar.component.mjs +8 -9
- package/esm2022/action-bar/action-bar.module.mjs +4 -4
- package/esm2022/action-button-group/action-button-group.component.mjs +4 -4
- package/esm2022/action-button-group/action-button-group.module.mjs +4 -4
- package/esm2022/approval-flow/approval-flow-add-node/approval-flow-add-node.component.mjs +6 -11
- package/esm2022/approval-flow/approval-flow-approver-details/approval-flow-approver-details.component.mjs +6 -8
- package/esm2022/approval-flow/approval-flow-messages/approval-flow-messages.component.mjs +5 -6
- package/esm2022/approval-flow/approval-flow-node/approval-flow-drop-zone.directive.mjs +5 -5
- package/esm2022/approval-flow/approval-flow-node/approval-flow-node.component.mjs +8 -11
- package/esm2022/approval-flow/approval-flow-select-type/approval-flow-select-type.component.mjs +6 -8
- package/esm2022/approval-flow/approval-flow-team-list/approval-flow-team-list.component.mjs +5 -7
- package/esm2022/approval-flow/approval-flow-toolbar-actions/approval-flow-toolbar-actions.component.mjs +5 -6
- package/esm2022/approval-flow/approval-flow-user-details/approval-flow-user-details.component.mjs +6 -6
- package/esm2022/approval-flow/approval-flow-user-list/approval-flow-user-list.component.mjs +6 -7
- package/esm2022/approval-flow/approval-flow.component.mjs +8 -10
- package/esm2022/approval-flow/approval-flow.module.mjs +4 -4
- package/esm2022/approval-flow/services/approval-flow-add-node-view.service.mjs +3 -3
- package/esm2022/button/button.component.mjs +5 -5
- package/esm2022/button/button.module.mjs +4 -4
- package/esm2022/dynamic-page/directives/dynamic-page-header-subtitle.directive.mjs +3 -3
- package/esm2022/dynamic-page/directives/dynamic-page-header-title.directive.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.mjs +5 -5
- package/esm2022/dynamic-page/dynamic-page-content/dynamic-page-content.component.mjs +5 -5
- package/esm2022/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +4 -4
- package/esm2022/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.mjs +3 -3
- package/esm2022/dynamic-page/dynamic-page.component.mjs +8 -10
- package/esm2022/dynamic-page/dynamic-page.config.mjs +4 -4
- package/esm2022/dynamic-page/dynamic-page.module.mjs +4 -4
- package/esm2022/dynamic-page/dynamic-page.service.mjs +3 -3
- package/esm2022/feed-input/feed-input.component.mjs +6 -7
- package/esm2022/feed-input/feed-input.module.mjs +4 -4
- package/esm2022/form/auto-complete/auto-complete.directive.mjs +5 -5
- package/esm2022/form/auto-complete/auto-complete.module.mjs +4 -4
- package/esm2022/form/checkbox/checkbox.component.mjs +6 -6
- package/esm2022/form/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/form/checkbox-group/checkbox-group.component.mjs +8 -8
- package/esm2022/form/checkbox-group/checkbox-group.module.mjs +4 -4
- package/esm2022/form/combobox/combobox/combobox.component.mjs +9 -11
- package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +13 -15
- package/esm2022/form/combobox/combobox-mobile/combobox-mobile.module.mjs +4 -4
- package/esm2022/form/combobox/combobox.config.mjs +4 -4
- package/esm2022/form/combobox/combobox.module.mjs +4 -4
- package/esm2022/form/combobox/commons/base-combobox.mjs +8 -6
- package/esm2022/form/combobox/directives/combobox-item.directive.mjs +15 -15
- package/esm2022/form/date-picker/date-picker.component.mjs +6 -6
- package/esm2022/form/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/form/datetime-picker/datetime-picker.component.mjs +6 -6
- package/esm2022/form/datetime-picker/datetime-picker.module.mjs +4 -4
- package/esm2022/form/form-generator/base-dynamic-form-generator-control.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-checkbox/dynamic-form-generator-checkbox.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-datepicker/dynamic-form-generator-datepicker.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-editor/dynamic-form-generator-editor.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-input/dynamic-form-generator-input.component.mjs +6 -7
- package/esm2022/form/form-generator/controls/dynamic-form-generator-multi-input/dynamic-form-generator-multi-input.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-object-status/dynamic-form-generator-object-status.component.mjs +3 -3
- package/esm2022/form/form-generator/controls/dynamic-form-generator-radio/dynamic-form-generator-radio.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-select/dynamic-form-generator-select.component.mjs +4 -4
- package/esm2022/form/form-generator/controls/dynamic-form-generator-switch/dynamic-form-generator-switch.component.mjs +4 -4
- package/esm2022/form/form-generator/dynamic-form-control-field.directive.mjs +5 -5
- package/esm2022/form/form-generator/dynamic-form-control.directive.mjs +6 -6
- package/esm2022/form/form-generator/fdp-form-generator.module.mjs +4 -4
- package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +9 -11
- package/esm2022/form/form-generator/form-generator-components-accessor.service.mjs +3 -3
- package/esm2022/form/form-generator/form-generator-field/form-generator-field.component.mjs +7 -8
- package/esm2022/form/form-generator/form-generator.service.mjs +5 -5
- package/esm2022/form/form-generator/pipes/get-hint-options.pipe.mjs +5 -5
- package/esm2022/form/form-generator/pipes/get-ordered-form-controls.pipe.mjs +3 -3
- package/esm2022/form/form-group/fdp-form.module.mjs +4 -4
- package/esm2022/form/form-group/form-field/form-field.component.mjs +10 -10
- package/esm2022/form/form-group/form-field-error/form-field-error-description.directive.mjs +6 -6
- package/esm2022/form/form-group/form-field-error/form-field-error-heading.directive.mjs +6 -6
- package/esm2022/form/form-group/form-field-error/form-field-error.directive.mjs +5 -5
- package/esm2022/form/form-group/form-field-extras/form-field-extras.component.mjs +3 -3
- package/esm2022/form/form-group/form-field-group/form-field-group.component.mjs +6 -6
- package/esm2022/form/form-group/form-group-header/form-group-header.component.mjs +6 -6
- package/esm2022/form/form-group/form-group.component.mjs +8 -10
- package/esm2022/form/form-group/pipes/field-group-row-value.pipe.mjs +3 -3
- package/esm2022/form/form-group/services/form-field-layout.service.mjs +5 -5
- package/esm2022/form/input/fdp-input.module.mjs +4 -4
- package/esm2022/form/input/input.component.mjs +6 -6
- package/esm2022/form/input-group/addon-body.component.mjs +5 -5
- package/esm2022/form/input-group/addon.component.mjs +5 -5
- package/esm2022/form/input-group/input-group.component.mjs +12 -12
- package/esm2022/form/input-group/input-group.config.mjs +4 -4
- package/esm2022/form/input-group/input-group.module.mjs +4 -4
- package/esm2022/form/input-group/input.component.mjs +3 -3
- package/esm2022/form/input-message-group-with-template/input-message-group-with-template.component.mjs +7 -7
- package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +6 -6
- package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +10 -12
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +8 -9
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox-mobile.module.mjs +4 -4
- package/esm2022/form/multi-combobox/multi-combobox.config.mjs +4 -4
- package/esm2022/form/multi-combobox/multi-combobox.module.mjs +4 -4
- package/esm2022/form/multi-input/base-multi-input.mjs +6 -6
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +12 -12
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.module.mjs +4 -4
- package/esm2022/form/multi-input/multi-input.component.mjs +9 -11
- package/esm2022/form/multi-input/multi-input.config.mjs +4 -4
- package/esm2022/form/multi-input/multi-input.module.mjs +4 -4
- package/esm2022/form/platform-file-uploader/platform-file-uploader.component.mjs +6 -6
- package/esm2022/form/platform-file-uploader/platform-file-uploader.module.mjs +4 -4
- package/esm2022/form/radio-group/radio/radio.component.mjs +8 -8
- package/esm2022/form/radio-group/radio-group.component.mjs +8 -8
- package/esm2022/form/radio-group/radio-group.module.mjs +4 -4
- package/esm2022/form/select/commons/base-select.mjs +6 -6
- package/esm2022/form/select/select/select.component.mjs +8 -8
- package/esm2022/form/select/select.config.mjs +4 -4
- package/esm2022/form/select/select.module.mjs +4 -4
- package/esm2022/form/step-input/base.step-input.mjs +5 -5
- package/esm2022/form/step-input/number/number-step-input.component.mjs +9 -10
- package/esm2022/form/step-input/step-input-action-button.mjs +3 -3
- package/esm2022/form/step-input/step-input-control.directive.mjs +6 -6
- package/esm2022/form/step-input/step-input-decrement.directive.mjs +5 -5
- package/esm2022/form/step-input/step-input-increment.directive.mjs +5 -5
- package/esm2022/form/step-input/step-input.config.mjs +3 -3
- package/esm2022/form/step-input/step-input.module.mjs +4 -4
- package/esm2022/form/switch/switch/switch.component.mjs +6 -6
- package/esm2022/form/switch/switch/switch.config.mjs +3 -3
- package/esm2022/form/switch/switch.module.mjs +4 -4
- package/esm2022/form/text-area/text-area.component.mjs +8 -9
- package/esm2022/form/text-area/text-area.config.mjs +3 -3
- package/esm2022/form/text-area/text-area.module.mjs +4 -4
- package/esm2022/form/time-picker/time-picker.component.mjs +6 -6
- package/esm2022/form/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/fundamental-ngx.module.mjs +5 -5
- package/esm2022/icon-tab-bar/components/closable-icon-tab-bar.class.mjs +3 -3
- package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +5 -9
- package/esm2022/icon-tab-bar/components/icon-tab-bar-filter-type/icon-tab-bar-filter-type.component.mjs +6 -8
- package/esm2022/icon-tab-bar/components/icon-tab-bar-icon-type/icon-tab-bar-icon-type.component.mjs +6 -8
- package/esm2022/icon-tab-bar/components/icon-tab-bar-process-type/icon-tab-bar-process-type.component.mjs +5 -8
- package/esm2022/icon-tab-bar/components/icon-tab-bar-text-type/icon-tab-bar-text-type.component.mjs +7 -9
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover/icon-tab-bar-popover.component.mjs +6 -15
- package/esm2022/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.mjs +5 -9
- package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs +6 -8
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +5 -5
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +5 -5
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +5 -5
- package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +8 -9
- package/esm2022/icon-tab-bar/icon-tab-bar.module.mjs +4 -4
- package/esm2022/info-label/info-label.component.mjs +5 -5
- package/esm2022/info-label/info-label.module.mjs +4 -4
- package/esm2022/link/link.component.mjs +5 -5
- package/esm2022/link/link.module.mjs +4 -4
- package/esm2022/list/action-list-item/action-list-item.component.mjs +3 -3
- package/esm2022/list/action-list-item/action-list-item.module.mjs +4 -4
- package/esm2022/list/base-list-item.mjs +11 -11
- package/esm2022/list/display-list-item/display-list-item.component.mjs +6 -7
- package/esm2022/list/display-list-item/display-list-item.module.mjs +4 -4
- package/esm2022/list/free-content-list-item/free-content-list-item.component.mjs +4 -4
- package/esm2022/list/list-group-footer.component.mjs +3 -3
- package/esm2022/list/list-group-header.component.mjs +3 -3
- package/esm2022/list/list.component.mjs +9 -11
- package/esm2022/list/list.config.mjs +3 -3
- package/esm2022/list/list.module.mjs +4 -4
- package/esm2022/list/load-more-content.directive.mjs +4 -4
- package/esm2022/list/object-list-item/object-list-item-row.component.mjs +4 -4
- package/esm2022/list/object-list-item/object-list-item.component.mjs +6 -7
- package/esm2022/list/object-list-item/object-list-item.module.mjs +4 -4
- package/esm2022/list/standard-list-item/standard-list-item.component.mjs +6 -7
- package/esm2022/list/standard-list-item/standard-list-item.module.mjs +4 -4
- package/esm2022/menu/menu-item.component.mjs +7 -7
- package/esm2022/menu/menu-trigger.directive.mjs +6 -6
- package/esm2022/menu/menu.component.mjs +6 -6
- package/esm2022/menu/menu.module.mjs +4 -4
- package/esm2022/menu-button/menu-button.component.mjs +5 -5
- package/esm2022/menu-button/menu-button.module.mjs +4 -4
- package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +6 -6
- package/esm2022/message-popover/components/message-view/message-view.component.mjs +8 -10
- package/esm2022/message-popover/directives/message-popover-form-item.directive.mjs +6 -6
- package/esm2022/message-popover/message-popover.component.mjs +7 -9
- package/esm2022/message-popover/platform-message-popover.module.mjs +4 -4
- package/esm2022/object-marker/object-marker.component.mjs +6 -7
- package/esm2022/object-marker/object-marker.module.mjs +4 -4
- package/esm2022/object-status/object-status.component.mjs +8 -8
- package/esm2022/object-status/object-status.module.mjs +4 -4
- package/esm2022/page-footer/page-footer.component.mjs +6 -6
- package/esm2022/page-footer/page-footer.module.mjs +4 -4
- package/esm2022/panel/panel-actions.component.mjs +3 -3
- package/esm2022/panel/panel-content/panel-content.component.mjs +4 -4
- package/esm2022/panel/panel.component.mjs +5 -5
- package/esm2022/panel/panel.config.mjs +4 -4
- package/esm2022/panel/panel.module.mjs +4 -4
- package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +8 -9
- package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +4 -4
- package/esm2022/search-field/search-field.component.mjs +16 -18
- package/esm2022/search-field/search-field.module.mjs +4 -4
- package/esm2022/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +9 -16
- package/esm2022/settings-generator/layouts/base-settings-generator-layout.mjs +3 -3
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.mjs +5 -6
- package/esm2022/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +6 -9
- package/esm2022/settings-generator/settings-generator-content/settings-generator-content.component.mjs +6 -8
- package/esm2022/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.mjs +7 -7
- package/esm2022/settings-generator/settings-generator-layout-accessor.service.mjs +3 -3
- package/esm2022/settings-generator/settings-generator.component.mjs +9 -9
- package/esm2022/settings-generator/settings-generator.module.mjs +4 -4
- package/esm2022/settings-generator/settings-generator.service.mjs +4 -4
- package/esm2022/shared/base.mjs +5 -5
- package/esm2022/shared/form/base.input.mjs +6 -6
- package/esm2022/shared/form/collection-base.input.mjs +6 -6
- package/esm2022/shared/form/inline-layout-collection-base.input.mjs +13 -13
- package/esm2022/shared/pipes/convert-bytes/convert-bytes.pipe.mjs +3 -3
- package/esm2022/shared/pipes/pipe.module.mjs +4 -4
- package/esm2022/shared/platform.config.mjs +3 -3
- package/esm2022/slider/slider.component.mjs +6 -6
- package/esm2022/slider/slider.module.mjs +4 -4
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/base-smart-filter-bar-condition-field.mjs +4 -4
- package/esm2022/smart-filter-bar/components/smart-filter-bar-condition-field/smart-filter-bar-condition-field.component.mjs +4 -4
- package/esm2022/smart-filter-bar/components/smart-filter-bar-conditions-dialog/smart-filter-bar-conditions-dialog.component.mjs +6 -9
- package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +7 -9
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-field-definition.directive.mjs +3 -3
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-subject.directive.mjs +5 -5
- package/esm2022/smart-filter-bar/directives/smart-filter-bar-toolbar-item.directive.mjs +4 -4
- package/esm2022/smart-filter-bar/smart-filter-bar.class.mjs +3 -3
- package/esm2022/smart-filter-bar/smart-filter-bar.component.mjs +8 -10
- package/esm2022/smart-filter-bar/smart-filter-bar.module.mjs +4 -4
- package/esm2022/smart-filter-bar/smart-filter-bar.service.mjs +4 -4
- package/esm2022/split-menu-button/split-menu-button.component.mjs +6 -6
- package/esm2022/split-menu-button/split-menu-button.module.mjs +4 -4
- package/esm2022/table/components/no-data-wrapper/no-data-wrapper.component.mjs +3 -3
- package/esm2022/table/components/reset-button/reset-button.component.mjs +5 -5
- package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +6 -8
- package/esm2022/table/components/table-column/table-column.component.mjs +6 -6
- package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +6 -6
- package/esm2022/table/components/table-editable-cell/table-editable-cell.component.mjs +5 -15
- package/esm2022/table/components/table-group-row/table-group-row.component.mjs +7 -7
- package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +6 -6
- package/esm2022/table/components/table-header-row/table-header-row.component.mjs +11 -13
- package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +7 -9
- package/esm2022/table/components/table-p13-dialog/filtering/filter-rule.component.mjs +9 -11
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +6 -9
- package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +6 -8
- package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +9 -11
- package/esm2022/table/components/table-p13-dialog/table-p13-columns.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-dialog.component.mjs +5 -5
- package/esm2022/table/components/table-p13-dialog/table-p13-filter.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-group.component.mjs +3 -3
- package/esm2022/table/components/table-p13-dialog/table-p13-sort.component.mjs +3 -3
- package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +7 -9
- package/esm2022/table/components/table-row/table-row.component.mjs +8 -12
- package/esm2022/table/components/table-toolbar/table-toolbar-actions.component.mjs +3 -3
- package/esm2022/table/components/table-toolbar/table-toolbar-left-actions.component.mjs +3 -3
- package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +7 -8
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-custom.component.mjs +6 -6
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +5 -6
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +5 -14
- package/esm2022/table/components/table-view-settings-dialog/filtering/filter-step.component.mjs +5 -8
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +5 -7
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +7 -10
- package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +6 -8
- package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +6 -9
- package/esm2022/table/components/table-view-settings-dialog/table-view-settings-dialog.component.mjs +5 -5
- package/esm2022/table/components/table-view-settings-dialog/table-view-settings-filter.component.mjs +3 -3
- package/esm2022/table/table.component.mjs +9 -14
- package/esm2022/table/table.module.mjs +4 -4
- package/esm2022/table-helpers/directives/platform-table-column-responsive.directive.mjs +6 -6
- package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +4 -4
- package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +5 -5
- package/esm2022/table-helpers/directives/table-cell-selectable.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-cell.directive.mjs +16 -16
- package/esm2022/table-helpers/directives/table-data-source.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-draggable.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-header-resizer.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-header.directive.mjs +7 -7
- package/esm2022/table-helpers/directives/table-initial-state.directive.mjs +3 -3
- package/esm2022/table-helpers/directives/table-scrollable.directive.mjs +4 -4
- package/esm2022/table-helpers/directives/table-view-settings-filter-custom.directive.mjs +4 -4
- package/esm2022/table-helpers/directives/table-virtual-scroll.directive.mjs +3 -3
- package/esm2022/table-helpers/enums/collection-filter.enum.mjs +16 -1
- package/esm2022/table-helpers/pipes/cell-styles.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/column-resizable-side.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/column-sorting-direction.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/row-classes.pipe.mjs +3 -3
- package/esm2022/table-helpers/pipes/selection-cell-styles.pipe.mjs +3 -3
- package/esm2022/table-helpers/services/table-column-resize.service.mjs +5 -5
- package/esm2022/table-helpers/services/table-responsive.service.mjs +5 -5
- package/esm2022/table-helpers/services/table-row.service.mjs +3 -3
- package/esm2022/table-helpers/services/table-scroll-dispatcher.service.mjs +3 -3
- package/esm2022/table-helpers/services/table.service.mjs +3 -3
- package/esm2022/table-helpers/table-helpers.module.mjs +4 -4
- package/esm2022/thumbnail/thumbnail-details/thumbnail-details.component.mjs +6 -8
- package/esm2022/thumbnail/thumbnail-image/thumbnail-image.component.mjs +8 -8
- package/esm2022/thumbnail/thumbnail.component.mjs +7 -8
- package/esm2022/thumbnail/thumbnail.module.mjs +4 -4
- package/esm2022/upload-collection/dialogs/move-to/move-to.component.mjs +6 -9
- package/esm2022/upload-collection/dialogs/new-folder/new-folder.component.mjs +6 -8
- package/esm2022/upload-collection/directives/upload-collection-dragndrop.directive.mjs +5 -5
- package/esm2022/upload-collection/services/files-validator.service.mjs +3 -3
- package/esm2022/upload-collection/upload-collection/upload-collection.component.mjs +7 -11
- package/esm2022/upload-collection/upload-collection.module.mjs +4 -4
- package/esm2022/value-help-dialog/components/base-tab/vhd-base-tab.component.mjs +5 -5
- package/esm2022/value-help-dialog/components/define-tab/define-tab.component.mjs +6 -10
- package/esm2022/value-help-dialog/components/select-tab/select-tab.component.mjs +13 -15
- package/esm2022/value-help-dialog/components/value-help-dialog-filter/value-help-dialog-filter.component.mjs +3 -3
- package/esm2022/value-help-dialog/directives/condition-count-message.directive.mjs +5 -5
- package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +12 -17
- package/esm2022/value-help-dialog/value-help-dialog.module.mjs +4 -4
- package/esm2022/variant-management/components/manage-variant-item/manage-variant-item.component.mjs +5 -5
- package/esm2022/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.mjs +6 -8
- package/esm2022/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.mjs +3 -3
- package/esm2022/variant-management/directives/variant-management-dirty-label.directive.mjs +4 -4
- package/esm2022/variant-management/variant-management.component.mjs +8 -10
- package/esm2022/variant-management/variant-management.module.mjs +4 -4
- package/esm2022/wizard-generator/base-wizard-generator.mjs +5 -5
- package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +7 -8
- package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +7 -9
- package/esm2022/wizard-generator/components/wizard-generator/wizard-generator.component.mjs +6 -7
- package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +6 -7
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-section/wizard-summary-section.component.mjs +5 -6
- package/esm2022/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.mjs +7 -7
- package/esm2022/wizard-generator/directives/wizard-generator-finish-button.directive.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-go-next-button.directive.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-review-button.directive.mjs +3 -3
- package/esm2022/wizard-generator/directives/wizard-generator-summary-step.directive.mjs +3 -3
- package/esm2022/wizard-generator/wizard-dialog-generator.service.mjs +4 -4
- package/esm2022/wizard-generator/wizard-generator.module.mjs +4 -4
- package/esm2022/wizard-generator/wizard-generator.service.mjs +4 -4
- package/fesm2022/fundamental-ngx-platform-action-bar.mjs +11 -12
- package/fesm2022/fundamental-ngx-platform-action-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-action-button-group.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +62 -74
- package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-button.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +54 -56
- package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs +9 -10
- package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-form.mjs +453 -464
- package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +59 -87
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-info-label.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-link.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-list.mjs +73 -78
- package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs +8 -8
- package/fesm2022/fundamental-ngx-platform-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu.mjs +20 -20
- package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +29 -33
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs +9 -10
- package/fesm2022/fundamental-ngx-platform-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-object-status.mjs +12 -12
- package/fesm2022/fundamental-ngx-platform-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs +9 -9
- package/fesm2022/fundamental-ngx-platform-page-footer.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-panel.mjs +19 -19
- package/fesm2022/fundamental-ngx-platform-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-search-field.mjs +29 -32
- package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +45 -56
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-shared.mjs +36 -36
- package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-slider.mjs +9 -9
- package/fesm2022/fundamental-ngx-platform-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +48 -53
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +9 -9
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +115 -100
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +168 -218
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-thumbnail.mjs +22 -23
- package/fesm2022/fundamental-ngx-platform-thumbnail.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-upload-collection.mjs +27 -34
- package/fesm2022/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +41 -52
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs +28 -31
- package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +58 -61
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform.mjs +5 -5
- package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +2 -2
- package/form/form-group/form-group.component.d.ts +1 -1
- package/form/input-group/input-group.component.d.ts +2 -2
- package/form/multi-combobox/multi-combobox/multi-combobox.component.d.ts +1 -1
- package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +2 -2
- package/fundamental-ngx-platform-v0.48.0-rc.0.tgz +0 -0
- package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +0 -2
- package/icon-tab-bar/components/popovers/icon-tab-bar-popover-base.class.d.ts +0 -2
- package/list/list.component.d.ts +1 -1
- package/package.json +4 -4
- package/page-footer/page-footer.component.d.ts +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.d.ts +1 -1
- package/settings-generator/settings-generator.component.d.ts +2 -2
- package/table/components/table-p13-dialog/filtering/filter-rule.component.d.ts +2 -0
- package/table/table.component.d.ts +1 -1
- package/table-helpers/enums/collection-filter.enum.d.ts +2 -0
- package/value-help-dialog/components/select-tab/select-tab.component.d.ts +1 -1
- package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +1 -1
- package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +2 -2
- package/wizard-generator/components/wizard-summary-step/wizard-summary-step.component.d.ts +2 -2
- package/fundamental-ngx-platform-v0.47.4.tgz +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NgClass
|
|
1
|
+
import { NgClass } from '@angular/common';
|
|
2
2
|
import { Component, Input, QueryList, ViewChildren } from '@angular/core';
|
|
3
3
|
import { ButtonComponent } from '@fundamental-ngx/core/button';
|
|
4
4
|
import { IconComponent } from '@fundamental-ngx/core/icon';
|
|
@@ -17,21 +17,12 @@ export class IconTabBarPopoverComponent extends IconTabBarPopoverBase {
|
|
|
17
17
|
*/
|
|
18
18
|
this.label = 'more';
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: IconTabBarPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: IconTabBarPopoverComponent, isStandalone: true, selector: "fdp-icon-tab-bar-popover", inputs: { leftSide: "leftSide", label: "label", showItemLabel: "showItemLabel" }, viewQueries: [{ propertyName: "_tabExtraUIElements", predicate: ["tabItem"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-popover placement=\"bottom-end\" [focusAutoCapture]=\"true\" [focusTrapped]=\"true\" #popover>\n <fd-popover-control>\n <button class=\"fd-icon-tab-bar__overflow\">\n <span class=\"fd-icon-tab-bar__overflow-text\">{{ label }}</span>\n <i class=\"sap-icon--slim-arrow-down\" role=\"presentation\"></i>\n </button>\n </fd-popover-control>\n <fd-popover-body class=\"fd-icon-tab-bar\">\n <ul class=\"fd-list fd-list--navigation fd-list--no-border fd-icon-tab-bar__list\" role=\"list\">\n @for (item of extraTabs; track item.uId; let idx = $index) {\n @if (isSeparators) {\n <li tabindex=\"-1\" class=\"fd-icon-tab-bar__icon-separator\">\n <fd-icon glyph=\"process\"></fd-icon>\n </li>\n }\n <li\n class=\"fd-list__item fd-list__item--link fd-icon-tab-bar__list-item\"\n role=\"listitem\"\n [class.fd-icon-tab-bar__list-item--closable]=\"item.closable\"\n [ngClass]=\"item.cssClasses\"\n tabindex=\"-1\"\n >\n <a\n class=\"fd-list__link fd-icon-tab-bar__list-link\"\n #tabItem\n [attr.data-flatIndex]=\"item.flatIndex\"\n tabindex=\"0\"\n (click)=\"_selectItem(item)\"\n (keydown)=\"_keyDownHandler($event, item, idx)\"\n >\n <span class=\"fd-icon-tab-bar__list-item-icon-container\">\n <span class=\"fd-list__icon fd-icon-tab-bar__list-item-icon\">\n <fd-icon [glyph]=\"item.icon\"></fd-icon>\n </span>\n </span>\n @if (showItemLabel && item.label) {\n <span class=\"fd-list__title fd-icon-tab-bar__list-item-title\">{{ item.label }}</span>\n }\n @if (item.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n @if (item.counter) {\n <span class=\"fd-list__counter fd-icon-tab-bar__list-item-counter\"\n >({{ item.counter }})\n </span>\n }\n @if (item.color) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[item.color]) || item.color }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"closeTab.emit(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n </li>\n }\n </ul>\n </fd-popover-body>\n</fd-popover>\n", dependencies: [{ kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }] }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: IconTabBarPopoverComponent, decorators: [{
|
|
24
24
|
type: Component,
|
|
25
|
-
args: [{ selector: 'fdp-icon-tab-bar-popover', standalone: true, imports: [
|
|
26
|
-
PopoverComponent,
|
|
27
|
-
PopoverControlComponent,
|
|
28
|
-
PopoverBodyComponent,
|
|
29
|
-
NgFor,
|
|
30
|
-
NgIf,
|
|
31
|
-
IconComponent,
|
|
32
|
-
NgClass,
|
|
33
|
-
ButtonComponent
|
|
34
|
-
], template: "<fd-popover placement=\"bottom-end\" [focusAutoCapture]=\"true\" [focusTrapped]=\"true\" #popover>\n <fd-popover-control>\n <button class=\"fd-icon-tab-bar__overflow\">\n <span class=\"fd-icon-tab-bar__overflow-text\">{{ label }}</span>\n <i class=\"sap-icon--slim-arrow-down\" role=\"presentation\"></i>\n </button>\n </fd-popover-control>\n <fd-popover-body class=\"fd-icon-tab-bar\">\n <ul class=\"fd-list fd-list--navigation fd-list--no-border fd-icon-tab-bar__list\" role=\"list\">\n <ng-container *ngFor=\"let item of extraTabs; let idx = index; trackBy: _trackByTab\">\n <li *ngIf=\"isSeparators\" tabindex=\"-1\" class=\"fd-icon-tab-bar__icon-separator\">\n <fd-icon glyph=\"process\"></fd-icon>\n </li>\n <li\n class=\"fd-list__item fd-list__item--link fd-icon-tab-bar__list-item\"\n role=\"listitem\"\n [class.fd-icon-tab-bar__list-item--closable]=\"item.closable\"\n [ngClass]=\"item.cssClasses\"\n tabindex=\"-1\"\n >\n <a\n class=\"fd-list__link fd-icon-tab-bar__list-link\"\n #tabItem\n [attr.data-flatIndex]=\"item.flatIndex\"\n tabindex=\"0\"\n (click)=\"_selectItem(item)\"\n (keydown)=\"_keyDownHandler($event, item, idx)\"\n >\n <span class=\"fd-icon-tab-bar__list-item-icon-container\">\n <span class=\"fd-list__icon fd-icon-tab-bar__list-item-icon\">\n <fd-icon [glyph]=\"item.icon\"></fd-icon>\n </span>\n </span>\n <span\n *ngIf=\"showItemLabel && item.label\"\n class=\"fd-list__title fd-icon-tab-bar__list-item-title\"\n >{{ item.label }}</span\n >\n <span *ngIf=\"item.badge\" class=\"fd-icon-tab-bar__badge\"></span>\n <span *ngIf=\"item.counter\" class=\"fd-list__counter fd-icon-tab-bar__list-item-counter\"\n >({{ item.counter }})\n </span>\n <div class=\"screenreader-only\" *ngIf=\"item.color\">\n {{ (colorAssociations && colorAssociations[item.color]) || item.color }}\n </div>\n </a>\n <div class=\"fd-icon-tab-bar__button-container\" *ngIf=\"item.closable\">\n <button\n fd-button\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"closeTab.emit(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n </li>\n </ng-container>\n </ul>\n </fd-popover-body>\n</fd-popover>\n" }]
|
|
25
|
+
args: [{ selector: 'fdp-icon-tab-bar-popover', standalone: true, imports: [PopoverComponent, PopoverControlComponent, PopoverBodyComponent, IconComponent, NgClass, ButtonComponent], template: "<fd-popover placement=\"bottom-end\" [focusAutoCapture]=\"true\" [focusTrapped]=\"true\" #popover>\n <fd-popover-control>\n <button class=\"fd-icon-tab-bar__overflow\">\n <span class=\"fd-icon-tab-bar__overflow-text\">{{ label }}</span>\n <i class=\"sap-icon--slim-arrow-down\" role=\"presentation\"></i>\n </button>\n </fd-popover-control>\n <fd-popover-body class=\"fd-icon-tab-bar\">\n <ul class=\"fd-list fd-list--navigation fd-list--no-border fd-icon-tab-bar__list\" role=\"list\">\n @for (item of extraTabs; track item.uId; let idx = $index) {\n @if (isSeparators) {\n <li tabindex=\"-1\" class=\"fd-icon-tab-bar__icon-separator\">\n <fd-icon glyph=\"process\"></fd-icon>\n </li>\n }\n <li\n class=\"fd-list__item fd-list__item--link fd-icon-tab-bar__list-item\"\n role=\"listitem\"\n [class.fd-icon-tab-bar__list-item--closable]=\"item.closable\"\n [ngClass]=\"item.cssClasses\"\n tabindex=\"-1\"\n >\n <a\n class=\"fd-list__link fd-icon-tab-bar__list-link\"\n #tabItem\n [attr.data-flatIndex]=\"item.flatIndex\"\n tabindex=\"0\"\n (click)=\"_selectItem(item)\"\n (keydown)=\"_keyDownHandler($event, item, idx)\"\n >\n <span class=\"fd-icon-tab-bar__list-item-icon-container\">\n <span class=\"fd-list__icon fd-icon-tab-bar__list-item-icon\">\n <fd-icon [glyph]=\"item.icon\"></fd-icon>\n </span>\n </span>\n @if (showItemLabel && item.label) {\n <span class=\"fd-list__title fd-icon-tab-bar__list-item-title\">{{ item.label }}</span>\n }\n @if (item.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n @if (item.counter) {\n <span class=\"fd-list__counter fd-icon-tab-bar__list-item-counter\"\n >({{ item.counter }})\n </span>\n }\n @if (item.color) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[item.color]) || item.color }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"closeTab.emit(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n </li>\n }\n </ul>\n </fd-popover-body>\n</fd-popover>\n" }]
|
|
35
26
|
}], propDecorators: { _tabExtraUIElements: [{
|
|
36
27
|
type: ViewChildren,
|
|
37
28
|
args: ['tabItem']
|
|
@@ -42,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
42
33
|
}], showItemLabel: [{
|
|
43
34
|
type: Input
|
|
44
35
|
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLXBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2ljb24tdGFiLWJhci9jb21wb25lbnRzL3BvcG92ZXJzL2ljb24tdGFiLWJhci1wb3BvdmVyL2ljb24tdGFiLWJhci1wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9pY29uLXRhYi1iYXIvY29tcG9uZW50cy9wb3BvdmVycy9pY29uLXRhYi1iYXItcG9wb3Zlci9pY29uLXRhYi1iYXItcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQVEzRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEscUJBQXFCO0lBTnJFOztRQVVJOztXQUVHO1FBRUgsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQjs7V0FFRztRQUVILFVBQUssR0FBRyxNQUFNLENBQUM7S0FLbEI7OEdBbkJZLDBCQUEwQjtrR0FBMUIsMEJBQTBCLGdTQ2J2Qyx5NkdBcUVBLDRDRDFEYyxnQkFBZ0Isc0lBQUUsdUJBQXVCLG1GQUFFLG9CQUFvQix3SEFBRSxhQUFhLDBJQUFFLE9BQU8sb0ZBQUUsZUFBZTs7MkZBRXpHLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSwwQkFBMEIsY0FFeEIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxlQUFlLENBQUM7OEJBSTFGLG1CQUFtQjtzQkFBM0MsWUFBWTt1QkFBQyxTQUFTO2dCQU12QixRQUFRO3NCQURQLEtBQUs7Z0JBT04sS0FBSztzQkFESixLQUFLO2dCQUtOLGFBQWE7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IFBvcG92ZXJCb2R5Q29tcG9uZW50LCBQb3BvdmVyQ29tcG9uZW50LCBQb3BvdmVyQ29udHJvbENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7IEljb25UYWJCYXJQb3BvdmVyQmFzZSB9IGZyb20gJy4uL2ljb24tdGFiLWJhci1wb3BvdmVyLWJhc2UuY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1pY29uLXRhYi1iYXItcG9wb3ZlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ljb24tdGFiLWJhci1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtQb3BvdmVyQ29tcG9uZW50LCBQb3BvdmVyQ29udHJvbENvbXBvbmVudCwgUG9wb3ZlckJvZHlDb21wb25lbnQsIEljb25Db21wb25lbnQsIE5nQ2xhc3MsIEJ1dHRvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSWNvblRhYkJhclBvcG92ZXJDb21wb25lbnQgZXh0ZW5kcyBJY29uVGFiQmFyUG9wb3ZlckJhc2Uge1xuICAgIC8qKiBAaGlkZGVuIGxpc3Qgb2YgdGFiIGh0bWwgZWxlbWVudHMsIHRoYXQgY2FuIHJlY2VpdmUgZm9jdXMgKi9cbiAgICBAVmlld0NoaWxkcmVuKCd0YWJJdGVtJykgX3RhYkV4dHJhVUlFbGVtZW50czogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBGbGFnIHJlcHJlc2VudGluZyBwb3NpdGlvbiBpbnNpZGUgY29udGFpbmVyIGxlZnQvcmlnaHRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGxlZnRTaWRlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gTGFiZWwgZm9yIGJ1dHRvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbGFiZWwgPSAnbW9yZSc7XG5cbiAgICAvKiogV2hldGhlciB0byBkaXNwbGF5IGxhYmVscyBmb3IgdGFiIGl0ZW1zICovXG4gICAgQElucHV0KClcbiAgICBzaG93SXRlbUxhYmVsOiBib29sZWFuO1xufVxuIiwiPGZkLXBvcG92ZXIgcGxhY2VtZW50PVwiYm90dG9tLWVuZFwiIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIiBbZm9jdXNUcmFwcGVkXT1cInRydWVcIiAjcG9wb3Zlcj5cbiAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19vdmVyZmxvd1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX292ZXJmbG93LXRleHRcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwic2FwLWljb24tLXNsaW0tYXJyb3ctZG93blwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgIDxmZC1wb3BvdmVyLWJvZHkgY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJcIj5cbiAgICAgICAgPHVsIGNsYXNzPVwiZmQtbGlzdCBmZC1saXN0LS1uYXZpZ2F0aW9uIGZkLWxpc3QtLW5vLWJvcmRlciBmZC1pY29uLXRhYi1iYXJfX2xpc3RcIiByb2xlPVwibGlzdFwiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBleHRyYVRhYnM7IHRyYWNrIGl0ZW0udUlkOyBsZXQgaWR4ID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgQGlmIChpc1NlcGFyYXRvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgPGxpIHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9faWNvbi1zZXBhcmF0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwicHJvY2Vzc1wiPjwvZmQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbGlzdF9faXRlbSBmZC1saXN0X19pdGVtLS1saW5rIGZkLWljb24tdGFiLWJhcl9fbGlzdC1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImxpc3RpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZkLWljb24tdGFiLWJhcl9fbGlzdC1pdGVtLS1jbG9zYWJsZV09XCJpdGVtLmNsb3NhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5jc3NDbGFzc2VzXCJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1saXN0X19saW5rIGZkLWljb24tdGFiLWJhcl9fbGlzdC1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICN0YWJJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWZsYXRJbmRleF09XCJpdGVtLmZsYXRJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9zZWxlY3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIl9rZXlEb3duSGFuZGxlcigkZXZlbnQsIGl0ZW0sIGlkeClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fbGlzdC1pdGVtLWljb24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1saXN0X19pY29uIGZkLWljb24tdGFiLWJhcl9fbGlzdC1pdGVtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gW2dseXBoXT1cIml0ZW0uaWNvblwiPjwvZmQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHNob3dJdGVtTGFiZWwgJiYgaXRlbS5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtbGlzdF9fdGl0bGUgZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW0tdGl0bGVcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmJhZGdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2JhZGdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmNvdW50ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWxpc3RfX2NvdW50ZXIgZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW0tY291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4oe3sgaXRlbS5jb3VudGVyIH19KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5jb2xvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JlZW5yZWFkZXItb25seVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAoY29sb3JBc3NvY2lhdGlvbnMgJiYgY29sb3JBc3NvY2lhdGlvbnNbaXRlbS5jb2xvcl0pIHx8IGl0ZW0uY29sb3IgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uY2xvc2FibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2J1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VUYWIuZW1pdChpdGVtLnVJZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkLWljb24gZ2x5cGg9XCJkZWNsaW5lXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuPC9mZC1wb3BvdmVyPlxuIl19
|
|
@@ -115,16 +115,12 @@ export class IconTabBarPopoverBase {
|
|
|
115
115
|
this.isRtl ? this._focusNextPopoverItem(currentIndex) : this._focusPreviousPopoverItem(currentIndex);
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return tab.uId;
|
|
121
|
-
}
|
|
122
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: IconTabBarPopoverBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
123
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.7", type: IconTabBarPopoverBase, inputs: { isRtl: "isRtl", extraTabs: "extraTabs", isSeparators: "isSeparators", colorAssociations: "colorAssociations" }, outputs: { selectedExtraItem: "selectedExtraItem", focusFirstVisibleItem: "focusFirstVisibleItem", focusLastVisibleItem: "focusLastVisibleItem", closeTab: "closeTab" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], usesOnChanges: true, ngImport: i0 }); }
|
|
118
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: IconTabBarPopoverBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
119
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: IconTabBarPopoverBase, inputs: { isRtl: "isRtl", extraTabs: "extraTabs", isSeparators: "isSeparators", colorAssociations: "colorAssociations" }, outputs: { selectedExtraItem: "selectedExtraItem", focusFirstVisibleItem: "focusFirstVisibleItem", focusLastVisibleItem: "focusLastVisibleItem", closeTab: "closeTab" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], usesOnChanges: true, ngImport: i0 }); }
|
|
124
120
|
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: IconTabBarPopoverBase, decorators: [{
|
|
126
122
|
type: Directive
|
|
127
|
-
}], ctorParameters:
|
|
123
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { isRtl: [{
|
|
128
124
|
type: Input
|
|
129
125
|
}], popover: [{
|
|
130
126
|
type: ViewChild,
|
|
@@ -144,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
144
140
|
}], closeTab: [{
|
|
145
141
|
type: Output
|
|
146
142
|
}] } });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLXBvcG92ZXItYmFzZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9pY29uLXRhYi1iYXIvY29tcG9uZW50cy9wb3BvdmVycy9pY29uLXRhYi1iYXItcG9wb3Zlci1iYXNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BHLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBS2pFLE1BQU0sT0FBZ0IscUJBQXFCO0lBMkR2QyxjQUFjO0lBQ2QsWUFBc0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF0QzVDOztXQUVHO1FBRUgsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFTckI7O1dBRUc7UUFFSCxzQkFBaUIsR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFckYsaUdBQWlHO1FBRWpHLDBCQUFxQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJFLGdHQUFnRztRQUVoRyx5QkFBb0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVwRSx1REFBdUQ7UUFFdkQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFdEM7OztXQUdHO1FBQ0gsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUcrQixDQUFDO0lBRWhELGNBQWM7SUFDZCxXQUFXLENBQUMsT0FBc0I7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c0JBRE4sU0FBUzt1QkFBQyxTQUFTO2dCQU9wQixTQUFTO3NCQURSLEtBQUs7Z0JBT04sWUFBWTtzQkFEWCxLQUFLO2dCQVFOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFPTixpQkFBaUI7c0JBRGhCLE1BQU07Z0JBS1AscUJBQXFCO3NCQURwQixNQUFNO2dCQUtQLG9CQUFvQjtzQkFEbkIsTUFBTTtnQkFLUCxRQUFRO3NCQURQLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET1dOX0FSUk9XLCBFTlRFUiwgTEVGVF9BUlJPVywgUklHSFRfQVJST1csIFNQQUNFLCBVUF9BUlJPVyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtleVV0aWwgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgSWNvblRhYkJhckl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ljb24tdGFiLWJhci1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJDb2xvckFzc29jaWF0aW9ucyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdGFiLWNvbG9yLWFzc29jaWF0aW9ucy5pbnRlcmZhY2UnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJY29uVGFiQmFyUG9wb3ZlckJhc2UgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIC8qKiBAaGlkZGVuIGxpc3Qgb2YgdGFiIGh0bWwgZWxlbWVudHMsIHRoYXQgY2FuIHJlY2VpdmUgZm9jdXMuIEVhY2ggaXRlbSBzaG91bGQgaGF2ZSBcImRhdGEtZmxhdEluZGV4XCIgYXR0cmlidXRlICovXG4gICAgYWJzdHJhY3QgX3RhYkV4dHJhVUlFbGVtZW50czogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBGbGFnIHJlcHJlc2VudGluZyBydGwgbW9kZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNSdGw6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVmZXJlbmNlIHRvIFBvcG92ZXJDb21wb25lbnRcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdwb3BvdmVyJylcbiAgICBwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFN1YiBpdGVtcyBhcnJheVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXh0cmFUYWJzOiBJY29uVGFiQmFySXRlbVtdO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFNob3VsZCB3ZSBzaG93IHNlcGFyYXRvciBiZXR3ZWVuIHN1Ykl0ZW1zXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBpc1NlcGFyYXRvcnMgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBBc3NvY2lhdGlvbnMgZm9yIGNvbG9ycyBvZiB0aGUgdGFicy5cbiAgICAgKiBJZiBhbnkgb2YgdGhlIGNvbG9yIGFzc29jaWF0aW9ucyBwcm92aWRlZCwgdGhleSdsbCBiZSByZWFkIGJ5IHNjcmVlbnJlYWRlciBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwgY29sb3JcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbG9yQXNzb2NpYXRpb25zOiBUYWJDb2xvckFzc29jaWF0aW9ucztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFbWl0cyB3aGVuIHNvbWUgdGFiIGlzIHNlbGVjdGVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkRXh0cmFJdGVtOiBFdmVudEVtaXR0ZXI8SWNvblRhYkJhckl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxJY29uVGFiQmFySXRlbT4oKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdHMgd2hlbiBwb3BvdmVyIGlzIGNsb3NlZCBhbmQgZm9jdXMgc2hvdWxkIGJlIGFwcGxpZWQgdG8gZmlyc3QgdmlzaWJsZSB0YWIgKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb2N1c0ZpcnN0VmlzaWJsZUl0ZW06IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKiBAZGVzY3JpcHRpb24gRW1pdHMgd2hlbiBwb3BvdmVyIGlzIGNsb3NlZCBhbmQgZm9jdXMgc2hvdWxkIGJlIGFwcGxpZWQgdG8gbGFzdCB2aXNpYmxlIHRhYiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGZvY3VzTGFzdFZpc2libGVJdGVtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogRXZlbnQgZW1pdHMgd2hlbiB1c2VyIGNsaWNrcyBvbiB4IGJ1dHRvbiBpbiB0YWIuICovXG4gICAgQE91dHB1dCgpXG4gICAgY2xvc2VUYWIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAZGVzY3JpcHRpb24gc3RhdGUgb2YgcG9wb3ZlclxuICAgICAqL1xuICAgIF9pc09wZW4gPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuZXh0cmFUYWJzKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRTdHlsZXModGhpcy5leHRyYVRhYnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBkZXNjcmlwdGlvbiBHZW5lcmF0ZSBzdHlsZXMgZm9yIHN1Ykl0ZW1zXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9zZXRTdHlsZXMoaXRlbXM6IEljb25UYWJCYXJJdGVtW10pOiB2b2lkIHtcbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uY29sb3IpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNzc0NsYXNzZXMgPSBbYGZkLWljb24tdGFiLWJhcl9fbGlzdC1pdGVtLS0ke2l0ZW0uY29sb3J9YF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLnN1Ykl0ZW1zKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldFN0eWxlcyhpdGVtLnN1Ykl0ZW1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBmb2N1c0xhc3Qgd2hldGhlciB0byBmb2N1cyBmaXJzdCBvciBsYXN0IGl0ZW0gaW4gdGhlIHBvcG92ZXJcbiAgICAgKi9cbiAgICBfb3BlblBvcG92ZXIoZm9jdXNMYXN0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvY3VzTGFzdCkge1xuICAgICAgICAgICAgdGhpcy5fdGFiRXh0cmFVSUVsZW1lbnRzLmdldCh0aGlzLl90YWJFeHRyYVVJRWxlbWVudHMubGVuZ3RoIC0gMSk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2ZvY3VzUHJldmlvdXNQb3BvdmVySXRlbShjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIuY2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNMYXN0VmlzaWJsZUl0ZW0uZW1pdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgb3JkZXJlZCA9IHRoaXMuX2dldE9yZGVyZWRUYWJFeHRyYVVJRWxlbWVudHMoKTtcbiAgICAgICAgICAgIG9yZGVyZWRbY3VycmVudEluZGV4IC0gMV0uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2ZvY3VzTmV4dFBvcG92ZXJJdGVtKGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPT09IHRoaXMuX3RhYkV4dHJhVUlFbGVtZW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIuY2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNGaXJzdFZpc2libGVJdGVtLmVtaXQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG9yZGVyZWQgPSB0aGlzLl9nZXRPcmRlcmVkVGFiRXh0cmFVSUVsZW1lbnRzKCk7XG4gICAgICAgICAgICBvcmRlcmVkW2N1cnJlbnRJbmRleCArIDFdLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldE9yZGVyZWRUYWJFeHRyYVVJRWxlbWVudHMoKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJFeHRyYVVJRWxlbWVudHNcbiAgICAgICAgICAgIC50b0FycmF5KClcbiAgICAgICAgICAgIC5tYXAoKGUpID0+ICh7XG4gICAgICAgICAgICAgICAgZmxhdEluZGV4OiBwYXJzZUludChlLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWZsYXRJbmRleCcpISwgMTApLFxuICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQ6IGUubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAuc29ydCgoeyBmbGF0SW5kZXg6IGFGbGF0SW5kZXggfSwgeyBmbGF0SW5kZXg6IGJGbGF0SW5kZXggfSkgPT4gYUZsYXRJbmRleCAtIGJGbGF0SW5kZXgpXG4gICAgICAgICAgICAubWFwKCh7IG5hdGl2ZUVsZW1lbnQgfSkgPT4gbmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBzZWxlY3RlZEl0ZW1cbiAgICAgKi9cbiAgICBfc2VsZWN0SXRlbShzZWxlY3RlZEl0ZW06IEljb25UYWJCYXJJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFeHRyYUl0ZW0uZW1pdChzZWxlY3RlZEl0ZW0pO1xuICAgICAgICB0aGlzLnBvcG92ZXIuY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9rZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCwgdGFiOiBJY29uVGFiQmFySXRlbSwgY3VycmVudEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbU1BBQ0UsIEVOVEVSXSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RJdGVtKHRhYik7XG4gICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtSSUdIVF9BUlJPVywgRE9XTl9BUlJPV10pKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5pc1J0bCA/IHRoaXMuX2ZvY3VzUHJldmlvdXNQb3BvdmVySXRlbShjdXJyZW50SW5kZXgpIDogdGhpcy5fZm9jdXNOZXh0UG9wb3Zlckl0ZW0oY3VycmVudEluZGV4KTtcbiAgICAgICAgfSBlbHNlIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0xFRlRfQVJST1csIFVQX0FSUk9XXSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLmlzUnRsID8gdGhpcy5fZm9jdXNOZXh0UG9wb3Zlckl0ZW0oY3VycmVudEluZGV4KSA6IHRoaXMuX2ZvY3VzUHJldmlvdXNQb3BvdmVySXRlbShjdXJyZW50SW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdHJhY2tCeVRhYihpbmRleDogbnVtYmVyLCB0YWI6IEljb25UYWJCYXJJdGVtKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRhYi51SWQ7XG4gICAgfVxufVxuIl19
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi10YWItYmFyLXBvcG92ZXItYmFzZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9pY29uLXRhYi1iYXIvY29tcG9uZW50cy9wb3BvdmVycy9pY29uLXRhYi1iYXItcG9wb3Zlci1iYXNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BHLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBS2pFLE1BQU0sT0FBZ0IscUJBQXFCO0lBMkR2QyxjQUFjO0lBQ2QsWUFBc0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF0QzVDOztXQUVHO1FBRUgsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFTckI7O1dBRUc7UUFFSCxzQkFBaUIsR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFckYsaUdBQWlHO1FBRWpHLDBCQUFxQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJFLGdHQUFnRztRQUVoRyx5QkFBb0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVwRSx1REFBdUQ7UUFFdkQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFdEM7OztXQUdHO1FBQ0gsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUcrQixDQUFDO0lBRWhELGNBQWM7SUFDZCxXQUFXLENBQUMsT0FBc0I7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RGhCLEtBQUs7Z0JBT04saUJBQWlCO3NCQURoQixNQUFNO2dCQUtQLHFCQUFxQjtzQkFEcEIsTUFBTTtnQkFLUCxvQkFBb0I7c0JBRG5CLE1BQU07Z0JBS1AsUUFBUTtzQkFEUCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9XTl9BUlJPVywgRU5URVIsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBTUEFDRSwgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLZXlVdGlsIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7IEljb25UYWJCYXJJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pY29uLXRhYi1iYXItaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGFiQ29sb3JBc3NvY2lhdGlvbnMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3RhYi1jb2xvci1hc3NvY2lhdGlvbnMuaW50ZXJmYWNlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSWNvblRhYkJhclBvcG92ZXJCYXNlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICAvKiogQGhpZGRlbiBsaXN0IG9mIHRhYiBodG1sIGVsZW1lbnRzLCB0aGF0IGNhbiByZWNlaXZlIGZvY3VzLiBFYWNoIGl0ZW0gc2hvdWxkIGhhdmUgXCJkYXRhLWZsYXRJbmRleFwiIGF0dHJpYnV0ZSAqL1xuICAgIGFic3RyYWN0IF90YWJFeHRyYVVJRWxlbWVudHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRmxhZyByZXByZXNlbnRpbmcgcnRsIG1vZGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGlzUnRsOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZmVyZW5jZSB0byBQb3BvdmVyQ29tcG9uZW50XG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgncG9wb3ZlcicpXG4gICAgcG9wb3ZlcjogUG9wb3ZlckNvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBTdWIgaXRlbXMgYXJyYXlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGV4dHJhVGFiczogSWNvblRhYkJhckl0ZW1bXTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBTaG91bGQgd2Ugc2hvdyBzZXBhcmF0b3IgYmV0d2VlbiBzdWJJdGVtc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNTZXBhcmF0b3JzID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQXNzb2NpYXRpb25zIGZvciBjb2xvcnMgb2YgdGhlIHRhYnMuXG4gICAgICogSWYgYW55IG9mIHRoZSBjb2xvciBhc3NvY2lhdGlvbnMgcHJvdmlkZWQsIHRoZXknbGwgYmUgcmVhZCBieSBzY3JlZW5yZWFkZXIgaW5zdGVhZCBvZiB0aGUgYWN0dWFsIGNvbG9yXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjb2xvckFzc29jaWF0aW9uczogVGFiQ29sb3JBc3NvY2lhdGlvbnM7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdHMgd2hlbiBzb21lIHRhYiBpcyBzZWxlY3RlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzZWxlY3RlZEV4dHJhSXRlbTogRXZlbnRFbWl0dGVyPEljb25UYWJCYXJJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8SWNvblRhYkJhckl0ZW0+KCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRzIHdoZW4gcG9wb3ZlciBpcyBjbG9zZWQgYW5kIGZvY3VzIHNob3VsZCBiZSBhcHBsaWVkIHRvIGZpcnN0IHZpc2libGUgdGFiICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9jdXNGaXJzdFZpc2libGVJdGVtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogQGRlc2NyaXB0aW9uIEVtaXRzIHdoZW4gcG9wb3ZlciBpcyBjbG9zZWQgYW5kIGZvY3VzIHNob3VsZCBiZSBhcHBsaWVkIHRvIGxhc3QgdmlzaWJsZSB0YWIgKi9cbiAgICBAT3V0cHV0KClcbiAgICBmb2N1c0xhc3RWaXNpYmxlSXRlbTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqIEV2ZW50IGVtaXRzIHdoZW4gdXNlciBjbGlja3Mgb24geCBidXR0b24gaW4gdGFiLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNsb3NlVGFiID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQGRlc2NyaXB0aW9uIHN0YXRlIG9mIHBvcG92ZXJcbiAgICAgKi9cbiAgICBfaXNPcGVuID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmV4dHJhVGFicykge1xuICAgICAgICAgICAgdGhpcy5fc2V0U3R5bGVzKHRoaXMuZXh0cmFUYWJzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAZGVzY3JpcHRpb24gR2VuZXJhdGUgc3R5bGVzIGZvciBzdWJJdGVtc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBfc2V0U3R5bGVzKGl0ZW1zOiBJY29uVGFiQmFySXRlbVtdKTogdm9pZCB7XG4gICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmNvbG9yKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5jc3NDbGFzc2VzID0gW2BmZC1pY29uLXRhYi1iYXJfX2xpc3QtaXRlbS0tJHtpdGVtLmNvbG9yfWBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5zdWJJdGVtcykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRTdHlsZXMoaXRlbS5zdWJJdGVtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gZm9jdXNMYXN0IHdoZXRoZXIgdG8gZm9jdXMgZmlyc3Qgb3IgbGFzdCBpdGVtIGluIHRoZSBwb3BvdmVyXG4gICAgICovXG4gICAgX29wZW5Qb3BvdmVyKGZvY3VzTGFzdCA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIub3BlbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb2N1c0xhc3QpIHtcbiAgICAgICAgICAgIHRoaXMuX3RhYkV4dHJhVUlFbGVtZW50cy5nZXQodGhpcy5fdGFiRXh0cmFVSUVsZW1lbnRzLmxlbmd0aCAtIDEpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9mb2N1c1ByZXZpb3VzUG9wb3Zlckl0ZW0oY3VycmVudEluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzTGFzdFZpc2libGVJdGVtLmVtaXQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG9yZGVyZWQgPSB0aGlzLl9nZXRPcmRlcmVkVGFiRXh0cmFVSUVsZW1lbnRzKCk7XG4gICAgICAgICAgICBvcmRlcmVkW2N1cnJlbnRJbmRleCAtIDFdLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9mb2N1c05leHRQb3BvdmVySXRlbShjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID09PSB0aGlzLl90YWJFeHRyYVVJRWxlbWVudHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzRmlyc3RWaXNpYmxlSXRlbS5lbWl0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBvcmRlcmVkID0gdGhpcy5fZ2V0T3JkZXJlZFRhYkV4dHJhVUlFbGVtZW50cygpO1xuICAgICAgICAgICAgb3JkZXJlZFtjdXJyZW50SW5kZXggKyAxXS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRPcmRlcmVkVGFiRXh0cmFVSUVsZW1lbnRzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGFiRXh0cmFVSUVsZW1lbnRzXG4gICAgICAgICAgICAudG9BcnJheSgpXG4gICAgICAgICAgICAubWFwKChlKSA9PiAoe1xuICAgICAgICAgICAgICAgIGZsYXRJbmRleDogcGFyc2VJbnQoZS5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1mbGF0SW5kZXgnKSEsIDEwKSxcbiAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50OiBlLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgLnNvcnQoKHsgZmxhdEluZGV4OiBhRmxhdEluZGV4IH0sIHsgZmxhdEluZGV4OiBiRmxhdEluZGV4IH0pID0+IGFGbGF0SW5kZXggLSBiRmxhdEluZGV4KVxuICAgICAgICAgICAgLm1hcCgoeyBuYXRpdmVFbGVtZW50IH0pID0+IG5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gc2VsZWN0ZWRJdGVtXG4gICAgICovXG4gICAgX3NlbGVjdEl0ZW0oc2VsZWN0ZWRJdGVtOiBJY29uVGFiQmFySXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkRXh0cmFJdGVtLmVtaXQoc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgdGhpcy5wb3BvdmVyLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfa2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHRhYjogSWNvblRhYkJhckl0ZW0sIGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW1NQQUNFLCBFTlRFUl0pKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0SXRlbSh0YWIpO1xuICAgICAgICB9IGVsc2UgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbUklHSFRfQVJST1csIERPV05fQVJST1ddKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuaXNSdGwgPyB0aGlzLl9mb2N1c1ByZXZpb3VzUG9wb3Zlckl0ZW0oY3VycmVudEluZGV4KSA6IHRoaXMuX2ZvY3VzTmV4dFBvcG92ZXJJdGVtKGN1cnJlbnRJbmRleCk7XG4gICAgICAgIH0gZWxzZSBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtMRUZUX0FSUk9XLCBVUF9BUlJPV10pKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5pc1J0bCA/IHRoaXMuX2ZvY3VzTmV4dFBvcG92ZXJJdGVtKGN1cnJlbnRJbmRleCkgOiB0aGlzLl9mb2N1c1ByZXZpb3VzUG9wb3Zlckl0ZW0oY3VycmVudEluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
package/esm2022/icon-tab-bar/components/popovers/text-type-popover/text-type-popover.component.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren } from '@angular/core';
|
|
2
|
-
import { NgClass,
|
|
2
|
+
import { NgClass, NgTemplateOutlet } from '@angular/common';
|
|
3
3
|
import { ButtonComponent } from '@fundamental-ngx/core/button';
|
|
4
4
|
import { IconComponent } from '@fundamental-ngx/core/icon';
|
|
5
5
|
import { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';
|
|
@@ -66,24 +66,22 @@ export class TextTypePopoverComponent extends IconTabBarPopoverBase {
|
|
|
66
66
|
return acc;
|
|
67
67
|
}, []);
|
|
68
68
|
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
70
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TextTypePopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
70
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: TextTypePopoverComponent, isStandalone: true, selector: "fdp-text-type-popover", inputs: { isExtraItemsMode: "isExtraItemsMode", parentTab: "parentTab", selectedSubItemUid: "selectedSubItemUid", tabindex: "tabindex" }, outputs: { selectedSubItem: "selectedSubItem" }, viewQueries: [{ propertyName: "_dropdownTrigger", first: true, predicate: ["dropdownTrigger"], descendants: true }, { propertyName: "_tabExtraUIElements", predicate: ["tabItem"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (isExtraItemsMode) {\n <fd-popover placement=\"bottom-end\" [focusAutoCapture]=\"true\" [focusTrapped]=\"true\" #popover>\n <fd-popover-control>\n <button class=\"fd-icon-tab-bar__overflow\">\n <span class=\"fd-icon-tab-bar__overflow-text\">More</span>\n <i class=\"sap-icon--slim-arrow-down\" role=\"presentation\"></i>\n </button>\n </fd-popover-control>\n <fd-popover-body class=\"fd-icon-tab-bar\">\n <ul\n fdpIconBarDndList\n class=\"fd-list fd-list--navigation fd-list--no-border fd-icon-tab-bar__list\"\n role=\"list\"\n >\n <ng-template [ngTemplateOutletContext]=\"{ level: 1, items: extraTabs }\" [ngTemplateOutlet]=\"subItem\">\n </ng-template>\n </ul>\n </fd-popover-body>\n </fd-popover>\n}\n@if (!isExtraItemsMode && parentTab) {\n <fd-popover placement=\"bottom-end\" [focusAutoCapture]=\"true\" [focusTrapped]=\"true\" #popover>\n <fd-popover-control>\n <a\n [attr.aria-selected]=\"_containsSelected\"\n class=\"fd-icon-tab-bar__tab\"\n role=\"tab\"\n [attr.tabindex]=\"tabindex\"\n #dropdownTrigger\n >\n <div class=\"fd-icon-tab-bar__tab-container\">\n <span class=\"fd-icon-tab-bar__tag\">{{ parentTab.label }}</span>\n <span class=\"fd-icon-tab-bar__arrow\">\n <i class=\"sap-icon--slim-arrow-down\" role=\"presentation\"></i>\n </span>\n @if (parentTab.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n </div>\n </a>\n </fd-popover-control>\n <fd-popover-body class=\"fd-icon-tab-bar\">\n <ul\n fdpIconBarDndList\n class=\"fd-list fd-list--navigation fd-list--no-border fd-icon-tab-bar__list\"\n role=\"list\"\n >\n <ng-container\n [ngTemplateOutletContext]=\"{ level: 1, items: parentTab.subItems }\"\n [ngTemplateOutlet]=\"subItem\"\n ></ng-container>\n </ul>\n </fd-popover-body>\n </fd-popover>\n}\n<ng-template #subItem let-items=\"items\" let-level=\"level\">\n @for (item of items; track item.uId) {\n <li\n [attr.aria-level]=\"level\"\n class=\"fd-list__item fd-list__item--link fd-icon-tab-bar__list-item\"\n [class.fd-icon-tab-bar__list-item--closable]=\"item.closable\"\n [ngClass]=\"item.cssClasses\"\n fdpIconBarDndItem\n [dndItemData]=\"item\"\n role=\"listitem\"\n tabindex=\"-1\"\n >\n <a\n class=\"fd-list__link fd-icon-tab-bar__list-link\"\n tabindex=\"0\"\n #tabItem\n [attr.data-flatIndex]=\"item.flatIndex\"\n [attr.aria-selected]=\"item.uId === selectedSubItemUid\"\n (click)=\"_selectItem(item)\"\n (keydown)=\"_textPopoverKeyDownHandler($event, item)\"\n >\n <span class=\"fd-list__title fd-icon-tab-bar__list-item-title\">{{ item.label }}</span>\n @if (item.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n @if (item.counter) {\n <span class=\"fd-list__counter fd-icon-tab-bar__list-item-counter\">({{ item.counter }}) </span>\n }\n @if (item.color) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[item.color]) || item.color }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"closeTab.emit(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n </li>\n @if (item.subItems?.length) {\n <ng-container\n [ngTemplateOutletContext]=\"{ level: level + 1, items: item.subItems }\"\n [ngTemplateOutlet]=\"subItem\"\n ></ng-container>\n }\n }\n</ng-template>\n", dependencies: [{ kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: IconBarDndListDirective, selector: "[fdpIconBarDndList], [fdp-icon-bar-dnd-list]", inputs: ["dndOrientation", "dndAutoScroll"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IconBarDndItemDirective, selector: "[fdpIconBarDndItem], [fdp-icon-bar-dnd-item]", inputs: ["dndItemData", "previewClass", "dndHoveredClass", "dndSeparatorClass"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
71
71
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: TextTypePopoverComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
74
|
args: [{ selector: 'fdp-text-type-popover', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
75
|
-
NgIf,
|
|
76
75
|
PopoverComponent,
|
|
77
76
|
PopoverControlComponent,
|
|
78
77
|
PopoverBodyComponent,
|
|
79
78
|
IconBarDndListDirective,
|
|
80
79
|
NgTemplateOutlet,
|
|
81
|
-
NgFor,
|
|
82
80
|
IconBarDndItemDirective,
|
|
83
81
|
NgClass,
|
|
84
82
|
ButtonComponent,
|
|
85
83
|
IconComponent
|
|
86
|
-
], template: "
|
|
84
|
+
], template: "@if (isExtraItemsMode) {\n <fd-popover placement=\"bottom-end\" [focusAutoCapture]=\"true\" [focusTrapped]=\"true\" #popover>\n <fd-popover-control>\n <button class=\"fd-icon-tab-bar__overflow\">\n <span class=\"fd-icon-tab-bar__overflow-text\">More</span>\n <i class=\"sap-icon--slim-arrow-down\" role=\"presentation\"></i>\n </button>\n </fd-popover-control>\n <fd-popover-body class=\"fd-icon-tab-bar\">\n <ul\n fdpIconBarDndList\n class=\"fd-list fd-list--navigation fd-list--no-border fd-icon-tab-bar__list\"\n role=\"list\"\n >\n <ng-template [ngTemplateOutletContext]=\"{ level: 1, items: extraTabs }\" [ngTemplateOutlet]=\"subItem\">\n </ng-template>\n </ul>\n </fd-popover-body>\n </fd-popover>\n}\n@if (!isExtraItemsMode && parentTab) {\n <fd-popover placement=\"bottom-end\" [focusAutoCapture]=\"true\" [focusTrapped]=\"true\" #popover>\n <fd-popover-control>\n <a\n [attr.aria-selected]=\"_containsSelected\"\n class=\"fd-icon-tab-bar__tab\"\n role=\"tab\"\n [attr.tabindex]=\"tabindex\"\n #dropdownTrigger\n >\n <div class=\"fd-icon-tab-bar__tab-container\">\n <span class=\"fd-icon-tab-bar__tag\">{{ parentTab.label }}</span>\n <span class=\"fd-icon-tab-bar__arrow\">\n <i class=\"sap-icon--slim-arrow-down\" role=\"presentation\"></i>\n </span>\n @if (parentTab.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n </div>\n </a>\n </fd-popover-control>\n <fd-popover-body class=\"fd-icon-tab-bar\">\n <ul\n fdpIconBarDndList\n class=\"fd-list fd-list--navigation fd-list--no-border fd-icon-tab-bar__list\"\n role=\"list\"\n >\n <ng-container\n [ngTemplateOutletContext]=\"{ level: 1, items: parentTab.subItems }\"\n [ngTemplateOutlet]=\"subItem\"\n ></ng-container>\n </ul>\n </fd-popover-body>\n </fd-popover>\n}\n<ng-template #subItem let-items=\"items\" let-level=\"level\">\n @for (item of items; track item.uId) {\n <li\n [attr.aria-level]=\"level\"\n class=\"fd-list__item fd-list__item--link fd-icon-tab-bar__list-item\"\n [class.fd-icon-tab-bar__list-item--closable]=\"item.closable\"\n [ngClass]=\"item.cssClasses\"\n fdpIconBarDndItem\n [dndItemData]=\"item\"\n role=\"listitem\"\n tabindex=\"-1\"\n >\n <a\n class=\"fd-list__link fd-icon-tab-bar__list-link\"\n tabindex=\"0\"\n #tabItem\n [attr.data-flatIndex]=\"item.flatIndex\"\n [attr.aria-selected]=\"item.uId === selectedSubItemUid\"\n (click)=\"_selectItem(item)\"\n (keydown)=\"_textPopoverKeyDownHandler($event, item)\"\n >\n <span class=\"fd-list__title fd-icon-tab-bar__list-item-title\">{{ item.label }}</span>\n @if (item.badge) {\n <span class=\"fd-icon-tab-bar__badge\"></span>\n }\n @if (item.counter) {\n <span class=\"fd-list__counter fd-icon-tab-bar__list-item-counter\">({{ item.counter }}) </span>\n }\n @if (item.color) {\n <div class=\"screenreader-only\">\n {{ (colorAssociations && colorAssociations[item.color]) || item.color }}\n </div>\n }\n </a>\n @if (item.closable) {\n <div class=\"fd-icon-tab-bar__button-container\">\n <button\n fd-button\n class=\"fd-icon-tab-bar__button\"\n fdType=\"transparent\"\n (click)=\"closeTab.emit(item.uId)\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </div>\n }\n </li>\n @if (item.subItems?.length) {\n <ng-container\n [ngTemplateOutletContext]=\"{ level: level + 1, items: item.subItems }\"\n [ngTemplateOutlet]=\"subItem\"\n ></ng-container>\n }\n }\n</ng-template>\n" }]
|
|
87
85
|
}], propDecorators: { _dropdownTrigger: [{
|
|
88
86
|
type: ViewChild,
|
|
89
87
|
args: ['dropdownTrigger']
|
|
@@ -101,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
101
99
|
}], selectedSubItem: [{
|
|
102
100
|
type: Output
|
|
103
101
|
}] } });
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10eXBlLXBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2ljb24tdGFiLWJhci9jb21wb25lbnRzL3BvcG92ZXJzL3RleHQtdHlwZS1wb3BvdmVyL3RleHQtdHlwZS1wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9pY29uLXRhYi1iYXIvY29tcG9uZW50cy9wb3BvdmVycy90ZXh0LXR5cGUtcG9wb3Zlci90ZXh0LXR5cGUtcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUVULFNBQVMsRUFDVCxZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU5RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFxQjNFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxxQkFBcUI7SUFuQm5FOztRQXlCSTs7V0FFRztRQUVILHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQWN6Qjs7V0FFRztRQUVILGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFYjs7V0FFRztRQUVILG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFN0QsY0FBYztRQUNkLHNCQUFpQixHQUFHLEtBQUssQ0FBQztLQStDN0I7SUE3Q0csY0FBYztJQUNkLFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUN4RSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtZQUM1QixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztTQUN2QztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsWUFBNEI7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1RyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjO0lBQ2QsMEJBQTBCLENBQUMsS0FBb0IsRUFBRSxHQUFtQjtRQUNoRSw4RUFBOEU7UUFDOUUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM5RixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMvQyxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGNBQWM7SUFDTiw0QkFBNEI7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQjtZQUNsQixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRO2dCQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCxjQUFjO0lBQ04sWUFBWSxDQUFDLEtBQXVCO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQXFCLEVBQUUsSUFBb0IsRUFBRSxFQUFFO1lBQ2hFLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDZixHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ3REO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDOzhHQW5GUSx3QkFBd0I7a0dBQXhCLHdCQUF3QixpZ0JDNUNyQywwa0pBd0dBLDRDRHpFUSxJQUFJLDZGQUNKLGdCQUFnQixzSUFDaEIsdUJBQXVCLG1GQUN2QixvQkFBb0Isd0hBQ3BCLHVCQUF1QixzSUFDdkIsZ0JBQWdCLG9KQUNoQixLQUFLLG1IQUNMLHVCQUF1QiwwS0FDdkIsT0FBTyxvRkFDUCxlQUFlLHdIQUNmLGFBQWE7OzJGQUdSLHdCQUF3QjtrQkFuQnBDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUVoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxJQUFJO3dCQUNKLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2QixvQkFBb0I7d0JBQ3BCLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixLQUFLO3dCQUNMLHVCQUF1Qjt3QkFDdkIsT0FBTzt3QkFDUCxlQUFlO3dCQUNmLGFBQWE7cUJBQ2hCOzhCQUk2QixnQkFBZ0I7c0JBQTdDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUVILG1CQUFtQjtzQkFBM0MsWUFBWTt1QkFBQyxTQUFTO2dCQU12QixnQkFBZ0I7c0JBRGYsS0FBSztnQkFPTixTQUFTO3NCQURSLEtBQUs7Z0JBT04sa0JBQWtCO3NCQURqQixLQUFLO2dCQU9OLFFBQVE7c0JBRFAsS0FBSztnQkFPTixlQUFlO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvaWNvbic7XG5pbXBvcnQgeyBQb3BvdmVyQm9keUNvbXBvbmVudCwgUG9wb3ZlckNvbXBvbmVudCwgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQgeyBJY29uQmFyRG5kSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvZG5kL2ljb24tYmFyLWRuZC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJY29uQmFyRG5kTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvZG5kL2ljb24tYmFyLWRuZC1saXN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJY29uVGFiQmFySXRlbSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvaWNvbi10YWItYmFyLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IEljb25UYWJCYXJQb3BvdmVyQmFzZSB9IGZyb20gJy4uL2ljb24tdGFiLWJhci1wb3BvdmVyLWJhc2UuY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC10ZXh0LXR5cGUtcG9wb3ZlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RleHQtdHlwZS1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgUG9wb3ZlckNvbXBvbmVudCxcbiAgICAgICAgUG9wb3ZlckNvbnRyb2xDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJCb2R5Q29tcG9uZW50LFxuICAgICAgICBJY29uQmFyRG5kTGlzdERpcmVjdGl2ZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIEljb25CYXJEbmRJdGVtRGlyZWN0aXZlLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIEljb25Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRleHRUeXBlUG9wb3ZlckNvbXBvbmVudCBleHRlbmRzIEljb25UYWJCYXJQb3BvdmVyQmFzZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLyoqIEBoaWRkZW4gcmVmZXJlbmNlIGZvciBodG1sIGVsZW1lbnQsIHRoYXQgb3BlbnMgZHJvcGRvd24gYW5kIGNhbiByZWNlaXZlIGZvY3VzICovXG4gICAgQFZpZXdDaGlsZCgnZHJvcGRvd25UcmlnZ2VyJykgX2Ryb3Bkb3duVHJpZ2dlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgLyoqIEBoaWRkZW4gbGlzdCBvZiB0YWIgaHRtbCBlbGVtZW50cywgdGhhdCBjYW4gcmVjZWl2ZSBmb2N1cyAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oJ3RhYkl0ZW0nKSBfdGFiRXh0cmFVSUVsZW1lbnRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIElzIGV4dHJhIGl0ZW1zIG1vZGUgb3Igc3ViaXRlbXMgbW9kZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNFeHRyYUl0ZW1zTW9kZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFBhcmVudCB0YWIgbmVlZCBmb3Igc3ViSXRlbXMgbW9kZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGFyZW50VGFiOiBJY29uVGFiQmFySXRlbTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiB1SWQgb2Ygc2VsZWN0ZWQgc3ViSXRlbVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2VsZWN0ZWRTdWJJdGVtVWlkOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIHRhYkluZGV4IG9mIHRoZSBwYXJ0aWN1bGFyIGl0ZW0uIEFwbGljYWJsZSBvbmx5IGZvciBzdWJpdGVtcyBtb2RlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0YWJpbmRleCA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdHMgd2hlbiBzb21lIHN1YlRhYiBpcyBzZWxlY3RlZCBhbmQgaXNFeHRyYUl0ZW1zTW9kZSBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkU3ViSXRlbTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NvbnRhaW5zU2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgaWYgKCF0aGlzLmlzRXh0cmFJdGVtc01vZGUgJiYgY2hhbmdlcy5wYXJlbnRUYWIgJiYgdGhpcy5wYXJlbnRUYWIuc3ViSXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFN0eWxlcyh0aGlzLnBhcmVudFRhYi5zdWJJdGVtcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuc2VsZWN0ZWRTdWJJdGVtVWlkKSB7XG4gICAgICAgICAgICB0aGlzLl9jYWxjdWxhdGVJZkNvbnRhaW5zU2VsZWN0ZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gc2VsZWN0ZWRJdGVtXG4gICAgICovXG4gICAgX3NlbGVjdEl0ZW0oc2VsZWN0ZWRJdGVtOiBJY29uVGFiQmFySXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRXh0cmFJdGVtc01vZGUgPyB0aGlzLnNlbGVjdGVkRXh0cmFJdGVtLmVtaXQoc2VsZWN0ZWRJdGVtKSA6IHRoaXMuc2VsZWN0ZWRTdWJJdGVtLmVtaXQoc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgdGhpcy5wb3BvdmVyLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdGV4dFBvcG92ZXJLZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCwgdGFiOiBJY29uVGFiQmFySXRlbSk6IHZvaWQge1xuICAgICAgICAvLyB1c2luZyByZWxhdGl2ZSBpbmRleCB3aXRoaW4gcG9wb3ZlciAoZmlyc3QgcG9wb3ZlciB0YWIgc2hvdWxkIHN0YXJ0IGZyb20gMClcbiAgICAgICAgY29uc3QgYmFzZUluZGV4ID0gdGhpcy5wYXJlbnRUYWIgPyB0aGlzLnBhcmVudFRhYi5mbGF0SW5kZXggKyAxIDogdGhpcy5leHRyYVRhYnNbMF0uZmxhdEluZGV4O1xuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0YWIuZmxhdEluZGV4IC0gYmFzZUluZGV4O1xuICAgICAgICBzdXBlci5fa2V5RG93bkhhbmRsZXIoZXZlbnQsIHRhYiwgY3VycmVudEluZGV4KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NhbGN1bGF0ZUlmQ29udGFpbnNTZWxlY3RlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGFpbnNTZWxlY3RlZCA9XG4gICAgICAgICAgICAhIXRoaXMucGFyZW50VGFiLnN1Ykl0ZW1zICYmXG4gICAgICAgICAgICB0aGlzLl9nZXRDaGlsZHJlbih0aGlzLnBhcmVudFRhYi5zdWJJdGVtcykuc29tZSgoeyB1SWQgfSkgPT4gdUlkID09PSB0aGlzLnNlbGVjdGVkU3ViSXRlbVVpZCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRDaGlsZHJlbihpdGVtczogSWNvblRhYkJhckl0ZW1bXSk6IEljb25UYWJCYXJJdGVtW10ge1xuICAgICAgICByZXR1cm4gaXRlbXMucmVkdWNlKChhY2M6IEljb25UYWJCYXJJdGVtW10sIGl0ZW06IEljb25UYWJCYXJJdGVtKSA9PiB7XG4gICAgICAgICAgICBhY2MgPSBhY2MuY29uY2F0KGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGl0ZW0uc3ViSXRlbXMpIHtcbiAgICAgICAgICAgICAgICBhY2MgPSBhY2MuY29uY2F0KHRoaXMuX2dldENoaWxkcmVuKGl0ZW0uc3ViSXRlbXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIFtdKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFeHRyYUl0ZW1zTW9kZVwiPlxuICAgIDxmZC1wb3BvdmVyIHBsYWNlbWVudD1cImJvdHRvbS1lbmRcIiBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCIgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCIgI3BvcG92ZXI+XG4gICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19vdmVyZmxvd1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19vdmVyZmxvdy10ZXh0XCI+TW9yZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInNhcC1pY29uLS1zbGltLWFycm93LWRvd25cIiByb2xlPVwicHJlc2VudGF0aW9uXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5IGNsYXNzPVwiZmQtaWNvbi10YWItYmFyXCI+XG4gICAgICAgICAgICA8dWxcbiAgICAgICAgICAgICAgICBmZHBJY29uQmFyRG5kTGlzdFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbGlzdCBmZC1saXN0LS1uYXZpZ2F0aW9uIGZkLWxpc3QtLW5vLWJvcmRlciBmZC1pY29uLXRhYi1iYXJfX2xpc3RcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJsaXN0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGxldmVsOiAxLCBpdGVtczogZXh0cmFUYWJzIH1cIiBbbmdUZW1wbGF0ZU91dGxldF09XCJzdWJJdGVtXCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICA8L2ZkLXBvcG92ZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0V4dHJhSXRlbXNNb2RlICYmIHBhcmVudFRhYlwiPlxuICAgIDxmZC1wb3BvdmVyIHBsYWNlbWVudD1cImJvdHRvbS1lbmRcIiBbZm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCIgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCIgI3BvcG92ZXI+XG4gICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiX2NvbnRhaW5zU2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX190YWJcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgICAgICAgICAjZHJvcGRvd25UcmlnZ2VyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fdGFiLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fdGFnXCI+e3sgcGFyZW50VGFiLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fYXJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwic2FwLWljb24tLXNsaW0tYXJyb3ctZG93blwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwYXJlbnRUYWIuYmFkZ2VcIiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fYmFkZ2VcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5IGNsYXNzPVwiZmQtaWNvbi10YWItYmFyXCI+XG4gICAgICAgICAgICA8dWxcbiAgICAgICAgICAgICAgICBmZHBJY29uQmFyRG5kTGlzdFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbGlzdCBmZC1saXN0LS1uYXZpZ2F0aW9uIGZkLWxpc3QtLW5vLWJvcmRlciBmZC1pY29uLXRhYi1iYXJfX2xpc3RcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJsaXN0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGxldmVsOiAxLCBpdGVtczogcGFyZW50VGFiLnN1Ykl0ZW1zIH1cIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzdWJJdGVtXCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICA8L2ZkLXBvcG92ZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzdWJJdGVtIGxldC1pdGVtcz1cIml0ZW1zXCIgbGV0LWxldmVsPVwibGV2ZWxcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyB0cmFja0J5OiBfdHJhY2tCeVRhYlwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGV2ZWxdPVwibGV2ZWxcIlxuICAgICAgICAgICAgY2xhc3M9XCJmZC1saXN0X19pdGVtIGZkLWxpc3RfX2l0ZW0tLWxpbmsgZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW1cIlxuICAgICAgICAgICAgW2NsYXNzLmZkLWljb24tdGFiLWJhcl9fbGlzdC1pdGVtLS1jbG9zYWJsZV09XCJpdGVtLmNsb3NhYmxlXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY3NzQ2xhc3Nlc1wiXG4gICAgICAgICAgICBmZHBJY29uQmFyRG5kSXRlbVxuICAgICAgICAgICAgW2RuZEl0ZW1EYXRhXT1cIml0ZW1cIlxuICAgICAgICAgICAgcm9sZT1cImxpc3RpdGVtXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbGlzdF9fbGluayBmZC1pY29uLXRhYi1iYXJfX2xpc3QtbGlua1wiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICAjdGFiSXRlbVxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtZmxhdEluZGV4XT1cIml0ZW0uZmxhdEluZGV4XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIml0ZW0udUlkID09PSBzZWxlY3RlZFN1Ykl0ZW1VaWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfc2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwiX3RleHRQb3BvdmVyS2V5RG93bkhhbmRsZXIoJGV2ZW50LCBpdGVtKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1saXN0X190aXRsZSBmZC1pY29uLXRhYi1iYXJfX2xpc3QtaXRlbS10aXRsZVwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmJhZGdlXCIgY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2JhZGdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5jb3VudGVyXCIgY2xhc3M9XCJmZC1saXN0X19jb3VudGVyIGZkLWljb24tdGFiLWJhcl9fbGlzdC1pdGVtLWNvdW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICA+KHt7IGl0ZW0uY291bnRlciB9fSlcbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcmVlbnJlYWRlci1vbmx5XCIgKm5nSWY9XCJpdGVtLmNvbG9yXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IChjb2xvckFzc29jaWF0aW9ucyAmJiBjb2xvckFzc29jaWF0aW9uc1tpdGVtLmNvbG9yXSkgfHwgaXRlbS5jb2xvciB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fYnV0dG9uLWNvbnRhaW5lclwiICpuZ0lmPVwiaXRlbS5jbG9zYWJsZVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVRhYi5lbWl0KGl0ZW0udUlkKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cImRlY2xpbmVcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9saT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uc3ViSXRlbXM/Lmxlbmd0aFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGxldmVsOiBsZXZlbCArIDEsIGl0ZW1zOiBpdGVtLnN1Ykl0ZW1zIH1cIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN1Ykl0ZW1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10eXBlLXBvcG92ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9zcmMvbGliL2ljb24tdGFiLWJhci9jb21wb25lbnRzL3BvcG92ZXJzL3RleHQtdHlwZS1wb3BvdmVyL3RleHQtdHlwZS1wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9pY29uLXRhYi1iYXIvY29tcG9uZW50cy9wb3BvdmVycy90ZXh0LXR5cGUtcG9wb3Zlci90ZXh0LXR5cGUtcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUVULFNBQVMsRUFDVCxZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDOUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFOUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBbUIzRSxNQUFNLE9BQU8sd0JBQXlCLFNBQVEscUJBQXFCO0lBakJuRTs7UUF1Qkk7O1dBRUc7UUFFSCxxQkFB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QUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsdUJBQXVCO3dCQUN2QixPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsYUFBYTtxQkFDaEI7OEJBSTZCLGdCQUFnQjtzQkFBN0MsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBRUgsbUJBQW1CO3NCQUEzQyxZQUFZO3VCQUFDLFNBQVM7Z0JBTXZCLGdCQUFnQjtzQkFEZixLQUFLO2dCQU9OLFNBQVM7c0JBRFIsS0FBSztnQkFPTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBT04sUUFBUTtzQkFEUCxLQUFLO2dCQU9OLGVBQWU7c0JBRGQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5cbmltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgSWNvbkJhckRuZEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2RuZC9pY29uLWJhci1kbmQtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWNvbkJhckRuZExpc3REaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2RuZC9pY29uLWJhci1kbmQtbGlzdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWNvblRhYkJhckl0ZW0gfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2ljb24tdGFiLWJhci1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJY29uVGFiQmFyUG9wb3ZlckJhc2UgfSBmcm9tICcuLi9pY29uLXRhYi1iYXItcG9wb3Zlci1iYXNlLmNsYXNzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtdGV4dC10eXBlLXBvcG92ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90ZXh0LXR5cGUtcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJDb250cm9sQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUNvbXBvbmVudCxcbiAgICAgICAgSWNvbkJhckRuZExpc3REaXJlY3RpdmUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIEljb25CYXJEbmRJdGVtRGlyZWN0aXZlLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBCdXR0b25Db21wb25lbnQsXG4gICAgICAgIEljb25Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRleHRUeXBlUG9wb3ZlckNvbXBvbmVudCBleHRlbmRzIEljb25UYWJCYXJQb3BvdmVyQmFzZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLyoqIEBoaWRkZW4gcmVmZXJlbmNlIGZvciBodG1sIGVsZW1lbnQsIHRoYXQgb3BlbnMgZHJvcGRvd24gYW5kIGNhbiByZWNlaXZlIGZvY3VzICovXG4gICAgQFZpZXdDaGlsZCgnZHJvcGRvd25UcmlnZ2VyJykgX2Ryb3Bkb3duVHJpZ2dlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgLyoqIEBoaWRkZW4gbGlzdCBvZiB0YWIgaHRtbCBlbGVtZW50cywgdGhhdCBjYW4gcmVjZWl2ZSBmb2N1cyAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oJ3RhYkl0ZW0nKSBfdGFiRXh0cmFVSUVsZW1lbnRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIElzIGV4dHJhIGl0ZW1zIG1vZGUgb3Igc3ViaXRlbXMgbW9kZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaXNFeHRyYUl0ZW1zTW9kZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFBhcmVudCB0YWIgbmVlZCBmb3Igc3ViSXRlbXMgbW9kZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGFyZW50VGFiOiBJY29uVGFiQmFySXRlbTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiB1SWQgb2Ygc2VsZWN0ZWQgc3ViSXRlbVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2VsZWN0ZWRTdWJJdGVtVWlkOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIHRhYkluZGV4IG9mIHRoZSBwYXJ0aWN1bGFyIGl0ZW0uIEFwbGljYWJsZSBvbmx5IGZvciBzdWJpdGVtcyBtb2RlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0YWJpbmRleCA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRW1pdHMgd2hlbiBzb21lIHN1YlRhYiBpcyBzZWxlY3RlZCBhbmQgaXNFeHRyYUl0ZW1zTW9kZSBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkU3ViSXRlbTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NvbnRhaW5zU2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgaWYgKCF0aGlzLmlzRXh0cmFJdGVtc01vZGUgJiYgY2hhbmdlcy5wYXJlbnRUYWIgJiYgdGhpcy5wYXJlbnRUYWIuc3ViSXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFN0eWxlcyh0aGlzLnBhcmVudFRhYi5zdWJJdGVtcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuc2VsZWN0ZWRTdWJJdGVtVWlkKSB7XG4gICAgICAgICAgICB0aGlzLl9jYWxjdWxhdGVJZkNvbnRhaW5zU2VsZWN0ZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gc2VsZWN0ZWRJdGVtXG4gICAgICovXG4gICAgX3NlbGVjdEl0ZW0oc2VsZWN0ZWRJdGVtOiBJY29uVGFiQmFySXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRXh0cmFJdGVtc01vZGUgPyB0aGlzLnNlbGVjdGVkRXh0cmFJdGVtLmVtaXQoc2VsZWN0ZWRJdGVtKSA6IHRoaXMuc2VsZWN0ZWRTdWJJdGVtLmVtaXQoc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgdGhpcy5wb3BvdmVyLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdGV4dFBvcG92ZXJLZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCwgdGFiOiBJY29uVGFiQmFySXRlbSk6IHZvaWQge1xuICAgICAgICAvLyB1c2luZyByZWxhdGl2ZSBpbmRleCB3aXRoaW4gcG9wb3ZlciAoZmlyc3QgcG9wb3ZlciB0YWIgc2hvdWxkIHN0YXJ0IGZyb20gMClcbiAgICAgICAgY29uc3QgYmFzZUluZGV4ID0gdGhpcy5wYXJlbnRUYWIgPyB0aGlzLnBhcmVudFRhYi5mbGF0SW5kZXggKyAxIDogdGhpcy5leHRyYVRhYnNbMF0uZmxhdEluZGV4O1xuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0YWIuZmxhdEluZGV4IC0gYmFzZUluZGV4O1xuICAgICAgICBzdXBlci5fa2V5RG93bkhhbmRsZXIoZXZlbnQsIHRhYiwgY3VycmVudEluZGV4KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NhbGN1bGF0ZUlmQ29udGFpbnNTZWxlY3RlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGFpbnNTZWxlY3RlZCA9XG4gICAgICAgICAgICAhIXRoaXMucGFyZW50VGFiLnN1Ykl0ZW1zICYmXG4gICAgICAgICAgICB0aGlzLl9nZXRDaGlsZHJlbih0aGlzLnBhcmVudFRhYi5zdWJJdGVtcykuc29tZSgoeyB1SWQgfSkgPT4gdUlkID09PSB0aGlzLnNlbGVjdGVkU3ViSXRlbVVpZCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9nZXRDaGlsZHJlbihpdGVtczogSWNvblRhYkJhckl0ZW1bXSk6IEljb25UYWJCYXJJdGVtW10ge1xuICAgICAgICByZXR1cm4gaXRlbXMucmVkdWNlKChhY2M6IEljb25UYWJCYXJJdGVtW10sIGl0ZW06IEljb25UYWJCYXJJdGVtKSA9PiB7XG4gICAgICAgICAgICBhY2MgPSBhY2MuY29uY2F0KGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGl0ZW0uc3ViSXRlbXMpIHtcbiAgICAgICAgICAgICAgICBhY2MgPSBhY2MuY29uY2F0KHRoaXMuX2dldENoaWxkcmVuKGl0ZW0uc3ViSXRlbXMpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIFtdKTtcbiAgICB9XG59XG4iLCJAaWYgKGlzRXh0cmFJdGVtc01vZGUpIHtcbiAgICA8ZmQtcG9wb3ZlciBwbGFjZW1lbnQ9XCJib3R0b20tZW5kXCIgW2ZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiIFtmb2N1c1RyYXBwZWRdPVwidHJ1ZVwiICNwb3BvdmVyPlxuICAgICAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fb3ZlcmZsb3dcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fb3ZlcmZsb3ctdGV4dFwiPk1vcmU8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzYXAtaWNvbi0tc2xpbS1hcnJvdy1kb3duXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgPGZkLXBvcG92ZXItYm9keSBjbGFzcz1cImZkLWljb24tdGFiLWJhclwiPlxuICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgZmRwSWNvbkJhckRuZExpc3RcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWxpc3QgZmQtbGlzdC0tbmF2aWdhdGlvbiBmZC1saXN0LS1uby1ib3JkZXIgZmQtaWNvbi10YWItYmFyX19saXN0XCJcbiAgICAgICAgICAgICAgICByb2xlPVwibGlzdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGxldmVsOiAxLCBpdGVtczogZXh0cmFUYWJzIH1cIiBbbmdUZW1wbGF0ZU91dGxldF09XCJzdWJJdGVtXCI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuICAgIDwvZmQtcG9wb3Zlcj5cbn1cbkBpZiAoIWlzRXh0cmFJdGVtc01vZGUgJiYgcGFyZW50VGFiKSB7XG4gICAgPGZkLXBvcG92ZXIgcGxhY2VtZW50PVwiYm90dG9tLWVuZFwiIFtmb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIiBbZm9jdXNUcmFwcGVkXT1cInRydWVcIiAjcG9wb3Zlcj5cbiAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJfY29udGFpbnNTZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX3RhYlwiXG4gICAgICAgICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICAgICAgICAgICNkcm9wZG93blRyaWdnZXJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX190YWItY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX190YWdcIj57eyBwYXJlbnRUYWIubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtaWNvbi10YWItYmFyX19hcnJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzYXAtaWNvbi0tc2xpbS1hcnJvdy1kb3duXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHBhcmVudFRhYi5iYWRnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2JhZGdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5IGNsYXNzPVwiZmQtaWNvbi10YWItYmFyXCI+XG4gICAgICAgICAgICA8dWxcbiAgICAgICAgICAgICAgICBmZHBJY29uQmFyRG5kTGlzdFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtbGlzdCBmZC1saXN0LS1uYXZpZ2F0aW9uIGZkLWxpc3QtLW5vLWJvcmRlciBmZC1pY29uLXRhYi1iYXJfX2xpc3RcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJsaXN0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGxldmVsOiAxLCBpdGVtczogcGFyZW50VGFiLnN1Ykl0ZW1zIH1cIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzdWJJdGVtXCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICA8L2ZkLXBvcG92ZXI+XG59XG48bmctdGVtcGxhdGUgI3N1Ykl0ZW0gbGV0LWl0ZW1zPVwiaXRlbXNcIiBsZXQtbGV2ZWw9XCJsZXZlbFwiPlxuICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrIGl0ZW0udUlkKSB7XG4gICAgICAgIDxsaVxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sZXZlbF09XCJsZXZlbFwiXG4gICAgICAgICAgICBjbGFzcz1cImZkLWxpc3RfX2l0ZW0gZmQtbGlzdF9faXRlbS0tbGluayBmZC1pY29uLXRhYi1iYXJfX2xpc3QtaXRlbVwiXG4gICAgICAgICAgICBbY2xhc3MuZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW0tLWNsb3NhYmxlXT1cIml0ZW0uY2xvc2FibGVcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5jc3NDbGFzc2VzXCJcbiAgICAgICAgICAgIGZkcEljb25CYXJEbmRJdGVtXG4gICAgICAgICAgICBbZG5kSXRlbURhdGFdPVwiaXRlbVwiXG4gICAgICAgICAgICByb2xlPVwibGlzdGl0ZW1cIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmZC1saXN0X19saW5rIGZkLWljb24tdGFiLWJhcl9fbGlzdC1saW5rXCJcbiAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICN0YWJJdGVtXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1mbGF0SW5kZXhdPVwiaXRlbS5mbGF0SW5kZXhcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXRlbS51SWQgPT09IHNlbGVjdGVkU3ViSXRlbVVpZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9zZWxlY3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJfdGV4dFBvcG92ZXJLZXlEb3duSGFuZGxlcigkZXZlbnQsIGl0ZW0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWxpc3RfX3RpdGxlIGZkLWljb24tdGFiLWJhcl9fbGlzdC1pdGVtLXRpdGxlXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uYmFkZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2JhZGdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0uY291bnRlcikge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZkLWxpc3RfX2NvdW50ZXIgZmQtaWNvbi10YWItYmFyX19saXN0LWl0ZW0tY291bnRlclwiPih7eyBpdGVtLmNvdW50ZXIgfX0pIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmNvbG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JlZW5yZWFkZXItb25seVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgKGNvbG9yQXNzb2NpYXRpb25zICYmIGNvbG9yQXNzb2NpYXRpb25zW2l0ZW0uY29sb3JdKSB8fCBpdGVtLmNvbG9yIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIEBpZiAoaXRlbS5jbG9zYWJsZSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC1pY29uLXRhYi1iYXJfX2J1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWljb24tdGFiLWJhcl9fYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVRhYi5lbWl0KGl0ZW0udUlkKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1pY29uIGdseXBoPVwiZGVjbGluZVwiPjwvZmQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvbGk+XG4gICAgICAgIEBpZiAoaXRlbS5zdWJJdGVtcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbGV2ZWw6IGxldmVsICsgMSwgaXRlbXM6IGl0ZW0uc3ViSXRlbXMgfVwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwic3ViSXRlbVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -200,16 +200,16 @@ export class IconBarDndContainerDirective {
|
|
|
200
200
|
const endY = element.y + element.height - FLIPPER_SIZE.verticalHeight / 2;
|
|
201
201
|
return _between(mousePosition.x, startX, endX) && _between(mousePosition.y, startY, endY);
|
|
202
202
|
}
|
|
203
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
204
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
203
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: IconBarDndContainerDirective, deps: [{ token: i0.ElementRef }, { token: i1.DragDrop }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
204
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: IconBarDndContainerDirective, isStandalone: true, selector: "[fdpIconBarDndContainer], [fdp-icon-bar-dnd-container]", inputs: { draggable: "draggable" }, outputs: { dropped: "dropped" }, ngImport: i0 }); }
|
|
205
205
|
}
|
|
206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: IconBarDndContainerDirective, decorators: [{
|
|
207
207
|
type: Directive,
|
|
208
208
|
args: [{
|
|
209
209
|
selector: '[fdpIconBarDndContainer], [fdp-icon-bar-dnd-container]',
|
|
210
210
|
standalone: true
|
|
211
211
|
}]
|
|
212
|
-
}], ctorParameters:
|
|
212
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DragDrop }], propDecorators: { draggable: [{
|
|
213
213
|
type: Input
|
|
214
214
|
}], dropped: [{
|
|
215
215
|
type: Output
|
|
@@ -218,4 +218,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
|
|
|
218
218
|
function _between(x, min, max) {
|
|
219
219
|
return x >= min && x <= max;
|
|
220
220
|
}
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1iYXItZG5kLWNvbnRhaW5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvaWNvbi10YWItYmFyL2RpcmVjdGl2ZXMvZG5kL2ljb24tYmFyLWRuZC1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFrQi9DLE1BQU0sT0FBTyw0QkFBNEI7SUFDckM7O09BRUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxTQUFrQjtRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQW1DRCxjQUFjO0lBQ2QsWUFBbUIsVUFBc0IsRUFBVSxTQUFtQjtRQUFuRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQWxDdEU7O1dBRUc7UUFFSCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUV6QyxjQUFjO1FBQ04sa0JBQWEsR0FBYyxFQUFFLENBQUM7UUFFdEMsZUFBZTtRQUNQLHNCQUFpQixHQUF3QixFQUFFLENBQUM7UUFFcEQsZUFBZTtRQUNQLHVCQUFrQixHQUEyQixJQUFJLEdBQUcsRUFBcUIsQ0FBQztRQUtsRixjQUFjO1FB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RyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDcEYsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBRTFFLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RixDQUFDOzhHQTFPUSw0QkFBNEI7a0dBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0RBQXdEO29CQUNsRSxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7d0hBTU8sU0FBUztzQkFEWixLQUFLO2dCQVVOLE9BQU87c0JBRE4sTUFBTTs7QUFnT1gsY0FBYztBQUNkLFNBQVMsUUFBUSxDQUFDLENBQVMsRUFBRSxHQUFXLEVBQUUsR0FBVztJQUNqRCxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQztBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJhZ0Ryb3AsIERyYWdSZWYsIFBvaW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGTElQUEVSX1NJWkUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBFbGVtZW50Q2hvcmQsXG4gICAgSWNvblRhYkJhckRuZEl0ZW0sXG4gICAgSWNvblRhYkJhckRuZExpc3QsXG4gICAgSWNvblRhYkJhckl0ZW1cbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pY29uLXRhYi1iYXItaXRlbS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZkRG5ERXZlbnQge1xuICAgIGRyYWdnYWJsZUl0ZW06IEljb25UYWJCYXJJdGVtO1xuICAgIHRhcmdldEl0ZW06IEljb25UYWJCYXJJdGVtO1xuICAgIGFjdGlvbjogJ3JlcGxhY2UnIHwgJ2luc2VydCc7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkcEljb25CYXJEbmRDb250YWluZXJdLCBbZmRwLWljb24tYmFyLWRuZC1jb250YWluZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEljb25CYXJEbmRDb250YWluZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIGlmIGRyYWcgYW5kIGRyb3AgZmVhdHVyZSBzaG91bGQgYmUgZW5hYmxlZCBmb3IgbGlzdCBpdGVtc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRyYWdnYWJsZShkcmFnZ2FibGU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZHJhZ2dhYmxlID0gZHJhZ2dhYmxlO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEcmFnZ2FibGVTdGF0ZShkcmFnZ2FibGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFdmVudCB0aGF0IGlzIHRocm93biwgd2hlbiB0aGUgaXRlbSBpcyBkcm9wcGVkXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZHJvcHBlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmREbkRFdmVudD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZHJhZ1JlZkl0ZW1zOiBEcmFnUmVmW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICAqL1xuICAgIHByaXZhdGUgZG5kSXRlbURpcmVjdGl2ZXM6IEljb25UYWJCYXJEbmRJdGVtW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICAqL1xuICAgIHByaXZhdGUgX2RuZExpc3REaXJlY3RpdmVzOiBTZXQ8SWNvblRhYkJhckRuZExpc3Q+ID0gbmV3IFNldDxJY29uVGFiQmFyRG5kTGlzdD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZWxlbWVudHNDb29yZGluYXRlczogRWxlbWVudENob3JkW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ZpcnR1YWxTZXBhcmF0b3JzQ29vcmRpbmF0ZXM6IEVsZW1lbnRDaG9yZFtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Nsb3Nlc3RJdGVtSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbG9zZXN0U2VwYXJhdG9ySW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kcmFnZ2FibGUgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX2RyYWdEcm9wOiBEcmFnRHJvcCkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIE1ldGhvZCBjYWxsZWQsIHdoZW4gZWxlbWVudCBpcyBzdGFydGVkIHRvIGJlIGRyYWdnZWRcbiAgICAgKi9cbiAgICBkcmFnU3RhcnQoKTogdm9pZCB7XG4gICAgICAgIC8qKiBDb3VudGluZyBhbGwgb2YgdGhlIGVsZW1lbnRzJ3MgY2hvcmRzICovXG4gICAgICAgIHRoaXMuX2VsZW1lbnRzQ29vcmRpbmF0ZXMgPSB0aGlzLmRuZEl0ZW1EaXJlY3RpdmVzLm1hcCgoaXRlbTogSWNvblRhYkJhckRuZEl0ZW0pID0+XG4gICAgICAgICAgICBpdGVtLmdldEVsZW1lbnRDb29yZGluYXRlcygpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2dlbmVyYXRlVmlydHVhbFNlcGFyYXRvcnMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gbW91c2VQb3NpdGlvblxuICAgICAqIEBkZXNjcmlwdGlvbiBNZXRob2QgY2FsbGVkLCB3aGVuIHRoZSBpdGVtIGlzIGJlaW5nIG1vdmVkIGJ5IDEgcHhcbiAgICAgKi9cbiAgICBvbk1vdmUobW91c2VQb3NpdGlvbjogUG9pbnQpOiB2b2lkIHtcbiAgICAgICAgbGV0IG5ld0Nsb3Nlc3RJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGxldCBuZXdDbG9zZXN0U2VwYXJhdG9ySW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX2VsZW1lbnRzQ29vcmRpbmF0ZXMuZmluZCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIC8qKiBDaGVjayBpZiBlbGVtZW50IGNhbiBiZSByZXBsYWNlZCAqL1xuICAgICAgICAgICAgaWYgKG5ld0Nsb3Nlc3RJbmRleCAhPT0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc01vdXNlT25FbGVtZW50ID0gdGhpcy5faXNNb3VzZU9uRWxlbWVudChlbGVtZW50LCBtb3VzZVBvc2l0aW9uKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNNb3VzZU9uRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdDbG9zZXN0SW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAobmV3Q2xvc2VzdEluZGV4ICE9PSBudWxsICYmIG5ld0Nsb3Nlc3RJbmRleCA9PT0gdGhpcy5fY2xvc2VzdEl0ZW1JbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2Nsb3Nlc3RJdGVtSW5kZXggIT09IG5ld0Nsb3Nlc3RJbmRleCkge1xuICAgICAgICAgICAgdGhpcy5kbmRJdGVtRGlyZWN0aXZlc1t0aGlzLl9jbG9zZXN0SXRlbUluZGV4XT8udG9nZ2xlSG92ZXJlZFN0eWxlcygpO1xuICAgICAgICAgICAgdGhpcy5kbmRJdGVtRGlyZWN0aXZlc1t0aGlzLl9jbG9zZXN0U2VwYXJhdG9ySW5kZXghXT8udG9nZ2xlU2VwYXJhdG9yU3R5bGVzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jbG9zZXN0SXRlbUluZGV4ID0gbmV3Q2xvc2VzdEluZGV4O1xuXG4gICAgICAgIGlmIChuZXdDbG9zZXN0SW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb3Nlc3RTZXBhcmF0b3JJbmRleCA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmRuZEl0ZW1EaXJlY3RpdmVzW25ld0Nsb3Nlc3RJbmRleF0udG9nZ2xlSG92ZXJlZFN0eWxlcyh0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHdlIGFyZW4ndCBvbiB0YWIgdGhlbiBjaGVjayBzZXBhcmF0b3IgZWxlbWVudC5cbiAgICAgICAgdGhpcy5fdmlydHVhbFNlcGFyYXRvcnNDb29yZGluYXRlcy5maW5kKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNNb3VzZU9uRmxpcHBlciA9IHRoaXMuX2lzTW91c2VPbkZsaXBwZXIoZWxlbWVudCwgbW91c2VQb3NpdGlvbik7XG4gICAgICAgICAgICBpZiAoaXNNb3VzZU9uRmxpcHBlcikge1xuICAgICAgICAgICAgICAgIG5ld0Nsb3Nlc3RTZXBhcmF0b3JJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAobmV3Q2xvc2VzdFNlcGFyYXRvckluZGV4ICE9PSBudWxsICYmIG5ld0Nsb3Nlc3RTZXBhcmF0b3JJbmRleCA9PT0gdGhpcy5fY2xvc2VzdFNlcGFyYXRvckluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fY2xvc2VzdFNlcGFyYXRvckluZGV4ICE9PSBuZXdDbG9zZXN0U2VwYXJhdG9ySW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMuZG5kSXRlbURpcmVjdGl2ZXNbdGhpcy5fY2xvc2VzdEl0ZW1JbmRleCFdPy50b2dnbGVIb3ZlcmVkU3R5bGVzKCk7XG4gICAgICAgICAgICB0aGlzLmRuZEl0ZW1EaXJlY3RpdmVzW3RoaXMuX2Nsb3Nlc3RTZXBhcmF0b3JJbmRleF0/LnRvZ2dsZVNlcGFyYXRvclN0eWxlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2xvc2VzdFNlcGFyYXRvckluZGV4ID0gbmV3Q2xvc2VzdFNlcGFyYXRvckluZGV4O1xuXG4gICAgICAgIGlmIChuZXdDbG9zZXN0U2VwYXJhdG9ySW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb3Nlc3RJdGVtSW5kZXggPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5kbmRJdGVtRGlyZWN0aXZlc1tuZXdDbG9zZXN0U2VwYXJhdG9ySW5kZXhdLnRvZ2dsZVNlcGFyYXRvclN0eWxlcyh0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkcmFnRGlyXG4gICAgICogQGRlc2NyaXB0aW9uIE1ldGhvZCBjYWxsZWQsIHdoZW4gZWxlbWVudCBpcyByZWxlYXNlZFxuICAgICAqL1xuICAgIGRyYWdFbmQoZHJhZ0RpcjogSWNvblRhYkJhckRuZEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2Nsb3Nlc3RTZXBhcmF0b3JJbmRleCB8fCB0aGlzLl9jbG9zZXN0U2VwYXJhdG9ySW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZG5kSXRlbURpcmVjdGl2ZXNbdGhpcy5fY2xvc2VzdFNlcGFyYXRvckluZGV4XS50b2dnbGVTZXBhcmF0b3JTdHlsZXMoKTtcbiAgICAgICAgICAgIHRoaXMuZHJvcHBlZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBkcmFnZ2FibGVJdGVtOiBkcmFnRGlyLmRuZEl0ZW1EYXRhLFxuICAgICAgICAgICAgICAgIHRhcmdldEl0ZW06IHRoaXMuZG5kSXRlbURpcmVjdGl2ZXNbdGhpcy5fY2xvc2VzdFNlcGFyYXRvckluZGV4XS5kbmRJdGVtRGF0YSxcbiAgICAgICAgICAgICAgICBhY3Rpb246ICdyZXBsYWNlJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2Nsb3Nlc3RJdGVtSW5kZXggfHwgdGhpcy5fY2xvc2VzdEl0ZW1JbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5kbmRJdGVtRGlyZWN0aXZlc1t0aGlzLl9jbG9zZXN0SXRlbUluZGV4XS50b2dnbGVIb3ZlcmVkU3R5bGVzKCk7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWQuZW1pdCh7XG4gICAgICAgICAgICAgICAgZHJhZ2dhYmxlSXRlbTogZHJhZ0Rpci5kbmRJdGVtRGF0YSxcbiAgICAgICAgICAgICAgICB0YXJnZXRJdGVtOiB0aGlzLmRuZEl0ZW1EaXJlY3RpdmVzW3RoaXMuX2Nsb3Nlc3RJdGVtSW5kZXhdLmRuZEl0ZW1EYXRhLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ2luc2VydCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8qKiBSZXNldCAqL1xuICAgICAgICB0aGlzLl9lbGVtZW50c0Nvb3JkaW5hdGVzID0gW107XG4gICAgICAgIHRoaXMuX3ZpcnR1YWxTZXBhcmF0b3JzQ29vcmRpbmF0ZXMgPSBbXTtcbiAgICAgICAgdGhpcy5fY2xvc2VzdEl0ZW1JbmRleCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2Nsb3Nlc3RTZXBhcmF0b3JJbmRleCA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRyYWdJdGVtXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVyIEljb25UYWJCYXJEbmRJdGVtIHRvIGN1cnJlbnQgY29udGFpbmVyXG4gICAgICovXG4gICAgcmVnaXN0ZXJEcmFnSXRlbShkcmFnSXRlbTogSWNvblRhYkJhckRuZEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHJhZ1JlZkl0ZW1zLnB1c2goZHJhZ0l0ZW0uZHJhZ1JlZik7XG4gICAgICAgIHRoaXMuZG5kSXRlbURpcmVjdGl2ZXMucHVzaChkcmFnSXRlbSk7XG4gICAgICAgIGRyYWdJdGVtLm1vdmVkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHBvc2l0aW9uOiBQb2ludCkgPT4gdGhpcy5vbk1vdmUocG9zaXRpb24pKTtcbiAgICAgICAgZHJhZ0l0ZW0uc3RhcnRlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZHJhZ1N0YXJ0KCkpO1xuICAgICAgICBkcmFnSXRlbS5yZWxlYXNlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZHJhZ0VuZChkcmFnSXRlbSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkcmFnSXRlbVxuICAgICAqIEBkZXNjcmlwdGlvbiBSZW1vdmUgcmVnaXN0ZXJlZCBJY29uVGFiQmFyRG5kSXRlbSB0byBjdXJyZW50IGNvbnRhaW5lclxuICAgICAqL1xuICAgIHJlbW92ZURyYWdJdGVtKGRyYWdJdGVtOiBJY29uVGFiQmFyRG5kSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kcmFnUmVmSXRlbXMgPSB0aGlzLl9kcmFnUmVmSXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBkcmFnSXRlbS5kcmFnUmVmKTtcbiAgICAgICAgdGhpcy5kbmRJdGVtRGlyZWN0aXZlcyA9IHRoaXMuZG5kSXRlbURpcmVjdGl2ZXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBkcmFnSXRlbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGxpc3REaXJcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVnaXN0ZXIgSWNvblRhYkJhckRuZExpc3QgdG8gY3VycmVudCBjb250YWluZXJcbiAgICAgKi9cbiAgICByZWdpc3RlckRuZExpc3QobGlzdERpcjogSWNvblRhYkJhckRuZExpc3QpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZG5kTGlzdERpcmVjdGl2ZXMuYWRkKGxpc3REaXIpO1xuICAgICAgICBsaXN0RGlyLmNoYW5nZURyYWdnYWJsZVN0YXRlKHRoaXMuX2RyYWdnYWJsZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGxpc3REaXJcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVtb3ZlIHJlZ2lzdGVyZWQgSWNvblRhYkJhckRuZExpc3QgdG8gY3VycmVudCBjb250YWluZXJcbiAgICAgKi9cbiAgICByZW1vdmVEbmRMaXN0KGxpc3REaXI6IEljb25UYWJCYXJEbmRMaXN0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2RuZExpc3REaXJlY3RpdmVzLmRlbGV0ZShsaXN0RGlyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gR2VuZXJhdGUgdmlydHVhbCBlbGVtZW50cyBhcyBzZXBhcmF0b3IgYmV0d2VlbiB0YWJzXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVWaXJ0dWFsU2VwYXJhdG9ycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudHNDb29yZGluYXRlcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNWZXJ0aWNhbCA9IHRoaXMuZG5kSXRlbURpcmVjdGl2ZXNbaW5kZXhdLmlzVmVydGljYWw7XG4gICAgICAgICAgICB0aGlzLl92aXJ0dWFsU2VwYXJhdG9yc0Nvb3JkaW5hdGVzLnB1c2goe1xuICAgICAgICAgICAgICAgIHg6IGlzVmVydGljYWwgPyBpdGVtLnggOiBpdGVtLnggLSBGTElQUEVSX1NJWkUud2lkdGgsXG4gICAgICAgICAgICAgICAgeTogaXNWZXJ0aWNhbCA/IGl0ZW0ueSArIEZMSVBQRVJfU0laRS52ZXJ0aWNhbEhlaWdodCA6IGl0ZW0ueSxcbiAgICAgICAgICAgICAgICB3aWR0aDogaXNWZXJ0aWNhbCA/IGl0ZW0ud2lkdGggOiBGTElQUEVSX1NJWkUud2lkdGgsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpc1ZlcnRpY2FsID8gRkxJUFBFUl9TSVpFLnZlcnRpY2FsSGVpZ2h0IDogRkxJUFBFUl9TSVpFLmhlaWdodFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2hhbmdlRHJhZ2dhYmxlU3RhdGUoZHJhZ2dhYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgbGlzdCBvZiB0aGlzLl9kbmRMaXN0RGlyZWN0aXZlcykge1xuICAgICAgICAgICAgbGlzdC5jaGFuZ2VEcmFnZ2FibGVTdGF0ZShkcmFnZ2FibGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc01vdXNlT25GbGlwcGVyKGVsZW1lbnQ6IEVsZW1lbnRDaG9yZCwgbW91c2VQb3NpdGlvbjogUG9pbnQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc3RhcnRYID0gZWxlbWVudC54O1xuICAgICAgICBjb25zdCBlbmRYID0gZWxlbWVudC54ICsgZWxlbWVudC53aWR0aDtcblxuICAgICAgICBjb25zdCBzdGFydFkgPSBlbGVtZW50Lnk7XG4gICAgICAgIGNvbnN0IGVuZFkgPSBlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodDtcblxuICAgICAgICByZXR1cm4gX2JldHdlZW4obW91c2VQb3NpdGlvbi54LCBzdGFydFgsIGVuZFgpICYmIF9iZXR3ZWVuKG1vdXNlUG9zaXRpb24ueSwgc3RhcnRZLCBlbmRZKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzTW91c2VPbkVsZW1lbnQoZWxlbWVudDogRWxlbWVudENob3JkLCBtb3VzZVBvc2l0aW9uOiBQb2ludCwgaXNWZXJ0aWNhbDogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0WCA9IGVsZW1lbnQueDtcbiAgICAgICAgY29uc3QgZW5kWCA9IGVsZW1lbnQueCArIGVsZW1lbnQud2lkdGg7XG5cbiAgICAgICAgY29uc3Qgc3RhcnRZID0gaXNWZXJ0aWNhbCA/IGVsZW1lbnQueSAtIEZMSVBQRVJfU0laRS52ZXJ0aWNhbEhlaWdodCAvIDIgOiBlbGVtZW50Lnk7XG4gICAgICAgIGNvbnN0IGVuZFkgPSBlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodCAtIEZMSVBQRVJfU0laRS52ZXJ0aWNhbEhlaWdodCAvIDI7XG5cbiAgICAgICAgcmV0dXJuIF9iZXR3ZWVuKG1vdXNlUG9zaXRpb24ueCwgc3RhcnRYLCBlbmRYKSAmJiBfYmV0d2Vlbihtb3VzZVBvc2l0aW9uLnksIHN0YXJ0WSwgZW5kWSk7XG4gICAgfVxufVxuXG4vKiogQGhpZGRlbiAqL1xuZnVuY3Rpb24gX2JldHdlZW4oeDogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4geCA+PSBtaW4gJiYgeCA8PSBtYXg7XG59XG4iXX0=
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1iYXItZG5kLWNvbnRhaW5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvaWNvbi10YWItYmFyL2RpcmVjdGl2ZXMvZG5kL2ljb24tYmFyLWRuZC1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFrQi9DLE1BQU0sT0FBTyw0QkFBNEI7SUFDckM7O09BRUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxTQUFrQjtRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM1QixJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQW1DRCxjQUFjO0lBQ2QsWUFBbUIsVUFBc0IsRUFBVSxTQUFtQjtRQUFuRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQWxDdEU7O1dBRUc7UUFFSCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUV6QyxjQUFjO1FBQ04sa0JBQWEsR0FBYyxFQUFFLENBQUM7UUFFdEMsZUFBZTtRQUNQLHNCQUFpQixHQUF3QixFQUFFLENBQUM7UUFFcEQsZUFBZTtRQUNQLHVCQUFrQixHQUEyQixJQUFJLEdBQUcsRUFBcUIsQ0FBQztRQUtsRixjQUFjO1FB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RyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDcEYsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBRTFFLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RixDQUFDOzhHQTFPUSw0QkFBNEI7a0dBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0RBQXdEO29CQUNsRSxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7c0dBTU8sU0FBUztzQkFEWixLQUFLO2dCQVVOLE9BQU87c0JBRE4sTUFBTTs7QUFnT1gsY0FBYztBQUNkLFNBQVMsUUFBUSxDQUFDLENBQVMsRUFBRSxHQUFXLEVBQUUsR0FBVztJQUNqRCxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQztBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJhZ0Ryb3AsIERyYWdSZWYsIFBvaW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGTElQUEVSX1NJWkUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBFbGVtZW50Q2hvcmQsXG4gICAgSWNvblRhYkJhckRuZEl0ZW0sXG4gICAgSWNvblRhYkJhckRuZExpc3QsXG4gICAgSWNvblRhYkJhckl0ZW1cbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pY29uLXRhYi1iYXItaXRlbS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZkRG5ERXZlbnQge1xuICAgIGRyYWdnYWJsZUl0ZW06IEljb25UYWJCYXJJdGVtO1xuICAgIHRhcmdldEl0ZW06IEljb25UYWJCYXJJdGVtO1xuICAgIGFjdGlvbjogJ3JlcGxhY2UnIHwgJ2luc2VydCc7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkcEljb25CYXJEbmRDb250YWluZXJdLCBbZmRwLWljb24tYmFyLWRuZC1jb250YWluZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEljb25CYXJEbmRDb250YWluZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIGlmIGRyYWcgYW5kIGRyb3AgZmVhdHVyZSBzaG91bGQgYmUgZW5hYmxlZCBmb3IgbGlzdCBpdGVtc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRyYWdnYWJsZShkcmFnZ2FibGU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZHJhZ2dhYmxlID0gZHJhZ2dhYmxlO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEcmFnZ2FibGVTdGF0ZShkcmFnZ2FibGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBFdmVudCB0aGF0IGlzIHRocm93biwgd2hlbiB0aGUgaXRlbSBpcyBkcm9wcGVkXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZHJvcHBlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmREbkRFdmVudD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZHJhZ1JlZkl0ZW1zOiBEcmFnUmVmW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICAqL1xuICAgIHByaXZhdGUgZG5kSXRlbURpcmVjdGl2ZXM6IEljb25UYWJCYXJEbmRJdGVtW10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICAqL1xuICAgIHByaXZhdGUgX2RuZExpc3REaXJlY3RpdmVzOiBTZXQ8SWNvblRhYkJhckRuZExpc3Q+ID0gbmV3IFNldDxJY29uVGFiQmFyRG5kTGlzdD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZWxlbWVudHNDb29yZGluYXRlczogRWxlbWVudENob3JkW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ZpcnR1YWxTZXBhcmF0b3JzQ29vcmRpbmF0ZXM6IEVsZW1lbnRDaG9yZFtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Nsb3Nlc3RJdGVtSW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbG9zZXN0U2VwYXJhdG9ySW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kcmFnZ2FibGUgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX2RyYWdEcm9wOiBEcmFnRHJvcCkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIE1ldGhvZCBjYWxsZWQsIHdoZW4gZWxlbWVudCBpcyBzdGFydGVkIHRvIGJlIGRyYWdnZWRcbiAgICAgKi9cbiAgICBkcmFnU3RhcnQoKTogdm9pZCB7XG4gICAgICAgIC8qKiBDb3VudGluZyBhbGwgb2YgdGhlIGVsZW1lbnRzJ3MgY2hvcmRzICovXG4gICAgICAgIHRoaXMuX2VsZW1lbnRzQ29vcmRpbmF0ZXMgPSB0aGlzLmRuZEl0ZW1EaXJlY3RpdmVzLm1hcCgoaXRlbTogSWNvblRhYkJhckRuZEl0ZW0pID0+XG4gICAgICAgICAgICBpdGVtLmdldEVsZW1lbnRDb29yZGluYXRlcygpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2dlbmVyYXRlVmlydHVhbFNlcGFyYXRvcnMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gbW91c2VQb3NpdGlvblxuICAgICAqIEBkZXNjcmlwdGlvbiBNZXRob2QgY2FsbGVkLCB3aGVuIHRoZSBpdGVtIGlzIGJlaW5nIG1vdmVkIGJ5IDEgcHhcbiAgICAgKi9cbiAgICBvbk1vdmUobW91c2VQb3NpdGlvbjogUG9pbnQpOiB2b2lkIHtcbiAgICAgICAgbGV0IG5ld0Nsb3Nlc3RJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGxldCBuZXdDbG9zZXN0U2VwYXJhdG9ySW5kZXg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIHRoaXMuX2VsZW1lbnRzQ29vcmRpbmF0ZXMuZmluZCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIC8qKiBDaGVjayBpZiBlbGVtZW50IGNhbiBiZSByZXBsYWNlZCAqL1xuICAgICAgICAgICAgaWYgKG5ld0Nsb3Nlc3RJbmRleCAhPT0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc01vdXNlT25FbGVtZW50ID0gdGhpcy5faXNNb3VzZU9uRWxlbWVudChlbGVtZW50LCBtb3VzZVBvc2l0aW9uKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNNb3VzZU9uRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdDbG9zZXN0SW5kZXggPSBpbmRleDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAobmV3Q2xvc2VzdEluZGV4ICE9PSBudWxsICYmIG5ld0Nsb3Nlc3RJbmRleCA9PT0gdGhpcy5fY2xvc2VzdEl0ZW1JbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2Nsb3Nlc3RJdGVtSW5kZXggIT09IG5ld0Nsb3Nlc3RJbmRleCkge1xuICAgICAgICAgICAgdGhpcy5kbmRJdGVtRGlyZWN0aXZlc1t0aGlzLl9jbG9zZXN0SXRlbUluZGV4XT8udG9nZ2xlSG92ZXJlZFN0eWxlcygpO1xuICAgICAgICAgICAgdGhpcy5kbmRJdGVtRGlyZWN0aXZlc1t0aGlzLl9jbG9zZXN0U2VwYXJhdG9ySW5kZXghXT8udG9nZ2xlU2VwYXJhdG9yU3R5bGVzKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jbG9zZXN0SXRlbUluZGV4ID0gbmV3Q2xvc2VzdEluZGV4O1xuXG4gICAgICAgIGlmIChuZXdDbG9zZXN0SW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb3Nlc3RTZXBhcmF0b3JJbmRleCA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmRuZEl0ZW1EaXJlY3RpdmVzW25ld0Nsb3Nlc3RJbmRleF0udG9nZ2xlSG92ZXJlZFN0eWxlcyh0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHdlIGFyZW4ndCBvbiB0YWIgdGhlbiBjaGVjayBzZXBhcmF0b3IgZWxlbWVudC5cbiAgICAgICAgdGhpcy5fdmlydHVhbFNlcGFyYXRvcnNDb29yZGluYXRlcy5maW5kKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNNb3VzZU9uRmxpcHBlciA9IHRoaXMuX2lzTW91c2VPbkZsaXBwZXIoZWxlbWVudCwgbW91c2VQb3NpdGlvbik7XG4gICAgICAgICAgICBpZiAoaXNNb3VzZU9uRmxpcHBlcikge1xuICAgICAgICAgICAgICAgIG5ld0Nsb3Nlc3RTZXBhcmF0b3JJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAobmV3Q2xvc2VzdFNlcGFyYXRvckluZGV4ICE9PSBudWxsICYmIG5ld0Nsb3Nlc3RTZXBhcmF0b3JJbmRleCA9PT0gdGhpcy5fY2xvc2VzdFNlcGFyYXRvckluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fY2xvc2VzdFNlcGFyYXRvckluZGV4ICE9PSBuZXdDbG9zZXN0U2VwYXJhdG9ySW5kZXgpIHtcbiAgICAgICAgICAgIHRoaXMuZG5kSXRlbURpcmVjdGl2ZXNbdGhpcy5fY2xvc2VzdEl0ZW1JbmRleCFdPy50b2dnbGVIb3ZlcmVkU3R5bGVzKCk7XG4gICAgICAgICAgICB0aGlzLmRuZEl0ZW1EaXJlY3RpdmVzW3RoaXMuX2Nsb3Nlc3RTZXBhcmF0b3JJbmRleF0/LnRvZ2dsZVNlcGFyYXRvclN0eWxlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2xvc2VzdFNlcGFyYXRvckluZGV4ID0gbmV3Q2xvc2VzdFNlcGFyYXRvckluZGV4O1xuXG4gICAgICAgIGlmIChuZXdDbG9zZXN0U2VwYXJhdG9ySW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb3Nlc3RJdGVtSW5kZXggPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5kbmRJdGVtRGlyZWN0aXZlc1tuZXdDbG9zZXN0U2VwYXJhdG9ySW5kZXhdLnRvZ2dsZVNlcGFyYXRvclN0eWxlcyh0cnVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkcmFnRGlyXG4gICAgICogQGRlc2NyaXB0aW9uIE1ldGhvZCBjYWxsZWQsIHdoZW4gZWxlbWVudCBpcyByZWxlYXNlZFxuICAgICAqL1xuICAgIGRyYWdFbmQoZHJhZ0RpcjogSWNvblRhYkJhckRuZEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2Nsb3Nlc3RTZXBhcmF0b3JJbmRleCB8fCB0aGlzLl9jbG9zZXN0U2VwYXJhdG9ySW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZG5kSXRlbURpcmVjdGl2ZXNbdGhpcy5fY2xvc2VzdFNlcGFyYXRvckluZGV4XS50b2dnbGVTZXBhcmF0b3JTdHlsZXMoKTtcbiAgICAgICAgICAgIHRoaXMuZHJvcHBlZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBkcmFnZ2FibGVJdGVtOiBkcmFnRGlyLmRuZEl0ZW1EYXRhLFxuICAgICAgICAgICAgICAgIHRhcmdldEl0ZW06IHRoaXMuZG5kSXRlbURpcmVjdGl2ZXNbdGhpcy5fY2xvc2VzdFNlcGFyYXRvckluZGV4XS5kbmRJdGVtRGF0YSxcbiAgICAgICAgICAgICAgICBhY3Rpb246ICdyZXBsYWNlJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2Nsb3Nlc3RJdGVtSW5kZXggfHwgdGhpcy5fY2xvc2VzdEl0ZW1JbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5kbmRJdGVtRGlyZWN0aXZlc1t0aGlzLl9jbG9zZXN0SXRlbUluZGV4XS50b2dnbGVIb3ZlcmVkU3R5bGVzKCk7XG4gICAgICAgICAgICB0aGlzLmRyb3BwZWQuZW1pdCh7XG4gICAgICAgICAgICAgICAgZHJhZ2dhYmxlSXRlbTogZHJhZ0Rpci5kbmRJdGVtRGF0YSxcbiAgICAgICAgICAgICAgICB0YXJnZXRJdGVtOiB0aGlzLmRuZEl0ZW1EaXJlY3RpdmVzW3RoaXMuX2Nsb3Nlc3RJdGVtSW5kZXhdLmRuZEl0ZW1EYXRhLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ2luc2VydCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8qKiBSZXNldCAqL1xuICAgICAgICB0aGlzLl9lbGVtZW50c0Nvb3JkaW5hdGVzID0gW107XG4gICAgICAgIHRoaXMuX3ZpcnR1YWxTZXBhcmF0b3JzQ29vcmRpbmF0ZXMgPSBbXTtcbiAgICAgICAgdGhpcy5fY2xvc2VzdEl0ZW1JbmRleCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2Nsb3Nlc3RTZXBhcmF0b3JJbmRleCA9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRyYWdJdGVtXG4gICAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVyIEljb25UYWJCYXJEbmRJdGVtIHRvIGN1cnJlbnQgY29udGFpbmVyXG4gICAgICovXG4gICAgcmVnaXN0ZXJEcmFnSXRlbShkcmFnSXRlbTogSWNvblRhYkJhckRuZEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZHJhZ1JlZkl0ZW1zLnB1c2goZHJhZ0l0ZW0uZHJhZ1JlZik7XG4gICAgICAgIHRoaXMuZG5kSXRlbURpcmVjdGl2ZXMucHVzaChkcmFnSXRlbSk7XG4gICAgICAgIGRyYWdJdGVtLm1vdmVkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHBvc2l0aW9uOiBQb2ludCkgPT4gdGhpcy5vbk1vdmUocG9zaXRpb24pKTtcbiAgICAgICAgZHJhZ0l0ZW0uc3RhcnRlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZHJhZ1N0YXJ0KCkpO1xuICAgICAgICBkcmFnSXRlbS5yZWxlYXNlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZHJhZ0VuZChkcmFnSXRlbSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkcmFnSXRlbVxuICAgICAqIEBkZXNjcmlwdGlvbiBSZW1vdmUgcmVnaXN0ZXJlZCBJY29uVGFiQmFyRG5kSXRlbSB0byBjdXJyZW50IGNvbnRhaW5lclxuICAgICAqL1xuICAgIHJlbW92ZURyYWdJdGVtKGRyYWdJdGVtOiBJY29uVGFiQmFyRG5kSXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kcmFnUmVmSXRlbXMgPSB0aGlzLl9kcmFnUmVmSXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBkcmFnSXRlbS5kcmFnUmVmKTtcbiAgICAgICAgdGhpcy5kbmRJdGVtRGlyZWN0aXZlcyA9IHRoaXMuZG5kSXRlbURpcmVjdGl2ZXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBkcmFnSXRlbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGxpc3REaXJcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVnaXN0ZXIgSWNvblRhYkJhckRuZExpc3QgdG8gY3VycmVudCBjb250YWluZXJcbiAgICAgKi9cbiAgICByZWdpc3RlckRuZExpc3QobGlzdERpcjogSWNvblRhYkJhckRuZExpc3QpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZG5kTGlzdERpcmVjdGl2ZXMuYWRkKGxpc3REaXIpO1xuICAgICAgICBsaXN0RGlyLmNoYW5nZURyYWdnYWJsZVN0YXRlKHRoaXMuX2RyYWdnYWJsZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGxpc3REaXJcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVtb3ZlIHJlZ2lzdGVyZWQgSWNvblRhYkJhckRuZExpc3QgdG8gY3VycmVudCBjb250YWluZXJcbiAgICAgKi9cbiAgICByZW1vdmVEbmRMaXN0KGxpc3REaXI6IEljb25UYWJCYXJEbmRMaXN0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2RuZExpc3REaXJlY3RpdmVzLmRlbGV0ZShsaXN0RGlyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gR2VuZXJhdGUgdmlydHVhbCBlbGVtZW50cyBhcyBzZXBhcmF0b3IgYmV0d2VlbiB0YWJzXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVWaXJ0dWFsU2VwYXJhdG9ycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudHNDb29yZGluYXRlcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNWZXJ0aWNhbCA9IHRoaXMuZG5kSXRlbURpcmVjdGl2ZXNbaW5kZXhdLmlzVmVydGljYWw7XG4gICAgICAgICAgICB0aGlzLl92aXJ0dWFsU2VwYXJhdG9yc0Nvb3JkaW5hdGVzLnB1c2goe1xuICAgICAgICAgICAgICAgIHg6IGlzVmVydGljYWwgPyBpdGVtLnggOiBpdGVtLnggLSBGTElQUEVSX1NJWkUud2lkdGgsXG4gICAgICAgICAgICAgICAgeTogaXNWZXJ0aWNhbCA/IGl0ZW0ueSArIEZMSVBQRVJfU0laRS52ZXJ0aWNhbEhlaWdodCA6IGl0ZW0ueSxcbiAgICAgICAgICAgICAgICB3aWR0aDogaXNWZXJ0aWNhbCA/IGl0ZW0ud2lkdGggOiBGTElQUEVSX1NJWkUud2lkdGgsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpc1ZlcnRpY2FsID8gRkxJUFBFUl9TSVpFLnZlcnRpY2FsSGVpZ2h0IDogRkxJUFBFUl9TSVpFLmhlaWdodFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2hhbmdlRHJhZ2dhYmxlU3RhdGUoZHJhZ2dhYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgbGlzdCBvZiB0aGlzLl9kbmRMaXN0RGlyZWN0aXZlcykge1xuICAgICAgICAgICAgbGlzdC5jaGFuZ2VEcmFnZ2FibGVTdGF0ZShkcmFnZ2FibGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc01vdXNlT25GbGlwcGVyKGVsZW1lbnQ6IEVsZW1lbnRDaG9yZCwgbW91c2VQb3NpdGlvbjogUG9pbnQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc3RhcnRYID0gZWxlbWVudC54O1xuICAgICAgICBjb25zdCBlbmRYID0gZWxlbWVudC54ICsgZWxlbWVudC53aWR0aDtcblxuICAgICAgICBjb25zdCBzdGFydFkgPSBlbGVtZW50Lnk7XG4gICAgICAgIGNvbnN0IGVuZFkgPSBlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodDtcblxuICAgICAgICByZXR1cm4gX2JldHdlZW4obW91c2VQb3NpdGlvbi54LCBzdGFydFgsIGVuZFgpICYmIF9iZXR3ZWVuKG1vdXNlUG9zaXRpb24ueSwgc3RhcnRZLCBlbmRZKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2lzTW91c2VPbkVsZW1lbnQoZWxlbWVudDogRWxlbWVudENob3JkLCBtb3VzZVBvc2l0aW9uOiBQb2ludCwgaXNWZXJ0aWNhbDogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0WCA9IGVsZW1lbnQueDtcbiAgICAgICAgY29uc3QgZW5kWCA9IGVsZW1lbnQueCArIGVsZW1lbnQud2lkdGg7XG5cbiAgICAgICAgY29uc3Qgc3RhcnRZID0gaXNWZXJ0aWNhbCA/IGVsZW1lbnQueSAtIEZMSVBQRVJfU0laRS52ZXJ0aWNhbEhlaWdodCAvIDIgOiBlbGVtZW50Lnk7XG4gICAgICAgIGNvbnN0IGVuZFkgPSBlbGVtZW50LnkgKyBlbGVtZW50LmhlaWdodCAtIEZMSVBQRVJfU0laRS52ZXJ0aWNhbEhlaWdodCAvIDI7XG5cbiAgICAgICAgcmV0dXJuIF9iZXR3ZWVuKG1vdXNlUG9zaXRpb24ueCwgc3RhcnRYLCBlbmRYKSAmJiBfYmV0d2Vlbihtb3VzZVBvc2l0aW9uLnksIHN0YXJ0WSwgZW5kWSk7XG4gICAgfVxufVxuXG4vKiogQGhpZGRlbiAqL1xuZnVuY3Rpb24gX2JldHdlZW4oeDogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4geCA+PSBtaW4gJiYgeCA8PSBtYXg7XG59XG4iXX0=
|