@ng-nest/ui 14.0.11 → 14.0.13
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/button/button.component.d.ts +1 -0
- package/checkbox/checkbox.component.d.ts +2 -0
- package/checkbox/checkbox.property.d.ts +21 -1
- package/esm2020/affix/affix.component.mjs +4 -4
- package/esm2020/affix/affix.module.mjs +5 -5
- package/esm2020/affix/affix.property.mjs +4 -4
- package/esm2020/alert/alert.component.mjs +4 -4
- package/esm2020/alert/alert.module.mjs +5 -5
- package/esm2020/alert/alert.property.mjs +4 -4
- package/esm2020/anchor/anchor.component.mjs +5 -5
- package/esm2020/anchor/anchor.module.mjs +5 -5
- package/esm2020/anchor/anchor.property.mjs +4 -4
- package/esm2020/api/api.component.mjs +4 -4
- package/esm2020/api/api.module.mjs +5 -5
- package/esm2020/auto-complete/auto-complete-portal.component.mjs +4 -4
- package/esm2020/auto-complete/auto-complete.component.mjs +4 -4
- package/esm2020/auto-complete/auto-complete.module.mjs +5 -5
- package/esm2020/auto-complete/auto-complete.property.mjs +4 -4
- package/esm2020/avatar/avatar-group.component.mjs +4 -4
- package/esm2020/avatar/avatar.component.mjs +4 -4
- package/esm2020/avatar/avatar.module.mjs +5 -5
- package/esm2020/avatar/avatar.property.mjs +7 -7
- package/esm2020/back-top/back-top.component.mjs +4 -4
- package/esm2020/back-top/back-top.module.mjs +5 -5
- package/esm2020/back-top/back-top.property.mjs +4 -4
- package/esm2020/badge/badge.component.mjs +4 -4
- package/esm2020/badge/badge.module.mjs +5 -5
- package/esm2020/badge/badge.property.mjs +4 -4
- package/esm2020/base-form/base-form.component.mjs +4 -4
- package/esm2020/base-form/base-form.module.mjs +5 -5
- package/esm2020/base-form/base-form.property.mjs +4 -4
- package/esm2020/border/border.component.mjs +4 -4
- package/esm2020/border/border.module.mjs +5 -5
- package/esm2020/button/button.component.mjs +14 -5
- package/esm2020/button/button.module.mjs +5 -5
- package/esm2020/button/button.property.mjs +7 -7
- package/esm2020/button/buttons.component.mjs +4 -4
- package/esm2020/calendar/calendar.component.mjs +4 -4
- package/esm2020/calendar/calendar.module.mjs +5 -5
- package/esm2020/calendar/calendar.property.mjs +4 -4
- package/esm2020/card/card.component.mjs +4 -4
- package/esm2020/card/card.module.mjs +5 -5
- package/esm2020/card/card.property.mjs +4 -4
- package/esm2020/carousel/carousel-panel.component.mjs +4 -4
- package/esm2020/carousel/carousel.component.mjs +4 -4
- package/esm2020/carousel/carousel.module.mjs +5 -5
- package/esm2020/carousel/carousel.property.mjs +7 -7
- package/esm2020/cascade/cascade-portal.component.mjs +4 -4
- package/esm2020/cascade/cascade.component.mjs +4 -4
- package/esm2020/cascade/cascade.module.mjs +5 -5
- package/esm2020/cascade/cascade.property.mjs +4 -4
- package/esm2020/checkbox/checkbox.component.mjs +12 -6
- package/esm2020/checkbox/checkbox.module.mjs +5 -5
- package/esm2020/checkbox/checkbox.property.mjs +8 -4
- package/esm2020/collapse/collapse-panel.component.mjs +4 -4
- package/esm2020/collapse/collapse.component.mjs +4 -4
- package/esm2020/collapse/collapse.module.mjs +5 -5
- package/esm2020/collapse/collapse.property.mjs +7 -7
- package/esm2020/color/color.component.mjs +4 -4
- package/esm2020/color/color.module.mjs +5 -5
- package/esm2020/color/color.property.mjs +4 -4
- package/esm2020/color-picker/color-picker-portal.component.mjs +5 -5
- package/esm2020/color-picker/color-picker.component.mjs +4 -4
- package/esm2020/color-picker/color-picker.module.mjs +5 -5
- package/esm2020/color-picker/color-picker.property.mjs +4 -4
- package/esm2020/comment/comment-reply.component.mjs +4 -4
- package/esm2020/comment/comment.component.mjs +4 -4
- package/esm2020/comment/comment.module.mjs +5 -5
- package/esm2020/comment/comment.property.mjs +7 -7
- package/esm2020/container/aside.component.mjs +4 -4
- package/esm2020/container/container.component.mjs +4 -4
- package/esm2020/container/container.module.mjs +5 -5
- package/esm2020/container/container.property.mjs +13 -13
- package/esm2020/container/footer.component.mjs +4 -4
- package/esm2020/container/header.component.mjs +4 -4
- package/esm2020/container/main.component.mjs +4 -4
- package/esm2020/core/config/config.service.mjs +4 -4
- package/esm2020/core/services/http.service.mjs +4 -4
- package/esm2020/core/services/preloading-strategy.service.mjs +4 -4
- package/esm2020/core/services/storage.service.mjs +4 -4
- package/esm2020/core/theme/theme.service.mjs +4 -4
- package/esm2020/crumb/crumb.component.mjs +4 -4
- package/esm2020/crumb/crumb.module.mjs +5 -5
- package/esm2020/crumb/crumb.property.mjs +4 -4
- package/esm2020/date-picker/date-picker-portal.component.mjs +4 -4
- package/esm2020/date-picker/date-picker.component.mjs +4 -4
- package/esm2020/date-picker/date-picker.module.mjs +5 -5
- package/esm2020/date-picker/date-picker.property.mjs +16 -16
- package/esm2020/date-picker/date-range-portal.component.mjs +4 -4
- package/esm2020/date-picker/date-range.component.mjs +4 -4
- package/esm2020/date-picker/picker-date.component.mjs +4 -4
- package/esm2020/date-picker/picker-month.component.mjs +4 -4
- package/esm2020/date-picker/picker-year.component.mjs +4 -4
- package/esm2020/description/description-item.component.mjs +4 -4
- package/esm2020/description/description.component.mjs +4 -4
- package/esm2020/description/description.module.mjs +5 -5
- package/esm2020/description/description.property.mjs +7 -7
- package/esm2020/dialog/dialog-container.component.mjs +6 -6
- package/esm2020/dialog/dialog-portal.component.mjs +4 -4
- package/esm2020/dialog/dialog-portal.directives.mjs +19 -19
- package/esm2020/dialog/dialog.component.mjs +4 -4
- package/esm2020/dialog/dialog.module.mjs +5 -5
- package/esm2020/dialog/dialog.property.mjs +7 -7
- package/esm2020/dialog/dialog.service.mjs +4 -4
- package/esm2020/doc/doc.component.mjs +4 -4
- package/esm2020/doc/doc.module.mjs +5 -5
- package/esm2020/drawer/drawer-container.component.mjs +6 -6
- package/esm2020/drawer/drawer-portal.component.mjs +4 -4
- package/esm2020/drawer/drawer-portal.directives.mjs +10 -10
- package/esm2020/drawer/drawer.component.mjs +4 -4
- package/esm2020/drawer/drawer.module.mjs +5 -5
- package/esm2020/drawer/drawer.property.mjs +7 -7
- package/esm2020/drawer/drawer.service.mjs +4 -4
- package/esm2020/dropdown/dropdown-portal.component.mjs +4 -4
- package/esm2020/dropdown/dropdown.component.mjs +4 -4
- package/esm2020/dropdown/dropdown.module.mjs +5 -5
- package/esm2020/dropdown/dropdown.property.mjs +4 -4
- package/esm2020/empty/empty.component.mjs +4 -4
- package/esm2020/empty/empty.module.mjs +5 -5
- package/esm2020/empty/empty.property.mjs +4 -4
- package/esm2020/examples/examples.component.mjs +5 -5
- package/esm2020/examples/examples.module.mjs +5 -5
- package/esm2020/find/find.component.mjs +4 -4
- package/esm2020/find/find.module.mjs +5 -5
- package/esm2020/find/find.property.mjs +4 -4
- package/esm2020/form/control.component.mjs +4 -4
- package/esm2020/form/form.component.mjs +4 -4
- package/esm2020/form/form.module.mjs +5 -5
- package/esm2020/form/form.property.mjs +7 -7
- package/esm2020/highlight/highlight.component.mjs +4 -4
- package/esm2020/highlight/highlight.module.mjs +5 -5
- package/esm2020/highlight/highlight.property.mjs +4 -4
- package/esm2020/i18n/i18n.directive.mjs +4 -4
- package/esm2020/i18n/i18n.module.mjs +5 -5
- package/esm2020/i18n/i18n.pipe.mjs +4 -4
- package/esm2020/i18n/i18n.service.mjs +4 -4
- package/esm2020/icon/icon.component.mjs +4 -4
- package/esm2020/icon/icon.module.mjs +5 -5
- package/esm2020/icon/icon.property.mjs +4 -4
- package/esm2020/icon/icon.service.mjs +4 -4
- package/esm2020/image/image-group.component.mjs +4 -4
- package/esm2020/image/image-preview.component.mjs +4 -4
- package/esm2020/image/image.component.mjs +4 -4
- package/esm2020/image/image.module.mjs +5 -5
- package/esm2020/image/image.property.mjs +7 -7
- package/esm2020/inner/inner.component.mjs +4 -4
- package/esm2020/inner/inner.module.mjs +5 -5
- package/esm2020/inner/inner.property.mjs +4 -4
- package/esm2020/input/input-group.component.mjs +4 -4
- package/esm2020/input/input.component.mjs +4 -4
- package/esm2020/input/input.module.mjs +5 -5
- package/esm2020/input/input.property.mjs +11 -7
- package/esm2020/input-number/input-number.component.mjs +4 -4
- package/esm2020/input-number/input-number.module.mjs +5 -5
- package/esm2020/input-number/input-number.property.mjs +4 -4
- package/esm2020/keyword/keyword.directive.mjs +4 -4
- package/esm2020/keyword/keyword.module.mjs +5 -5
- package/esm2020/keyword/keyword.property.mjs +4 -4
- package/esm2020/layout/col.component.mjs +4 -4
- package/esm2020/layout/layout.module.mjs +5 -5
- package/esm2020/layout/layout.property.mjs +7 -7
- package/esm2020/layout/row.component.mjs +4 -4
- package/esm2020/link/link.component.mjs +4 -4
- package/esm2020/link/link.module.mjs +5 -5
- package/esm2020/link/link.property.mjs +4 -4
- package/esm2020/list/list-drop-group.directive.mjs +4 -4
- package/esm2020/list/list-option.component.mjs +4 -4
- package/esm2020/list/list.component.mjs +4 -4
- package/esm2020/list/list.module.mjs +5 -5
- package/esm2020/list/list.property.mjs +7 -7
- package/esm2020/loading/loading.component.mjs +5 -5
- package/esm2020/loading/loading.module.mjs +5 -5
- package/esm2020/loading/loading.property.mjs +4 -4
- package/esm2020/menu/menu-node.component.mjs +4 -4
- package/esm2020/menu/menu.component.mjs +4 -4
- package/esm2020/menu/menu.module.mjs +5 -5
- package/esm2020/menu/menu.property.mjs +7 -7
- package/esm2020/message/message.component.mjs +4 -4
- package/esm2020/message/message.module.mjs +5 -5
- package/esm2020/message/message.service.mjs +4 -4
- package/esm2020/message-box/message-box.component.mjs +4 -4
- package/esm2020/message-box/message-box.module.mjs +5 -5
- package/esm2020/message-box/message-box.service.mjs +4 -4
- package/esm2020/notification/notification.component.mjs +4 -4
- package/esm2020/notification/notification.module.mjs +5 -5
- package/esm2020/notification/notification.service.mjs +4 -4
- package/esm2020/outlet/outlet.directive.mjs +4 -4
- package/esm2020/outlet/outlet.module.mjs +5 -5
- package/esm2020/page-header/page-header.component.mjs +4 -4
- package/esm2020/page-header/page-header.module.mjs +5 -5
- package/esm2020/page-header/page-header.property.mjs +4 -4
- package/esm2020/pagination/pagination.component.mjs +4 -4
- package/esm2020/pagination/pagination.module.mjs +5 -5
- package/esm2020/pagination/pagination.property.mjs +4 -4
- package/esm2020/pattern/pattern.component.mjs +4 -4
- package/esm2020/pattern/pattern.module.mjs +5 -5
- package/esm2020/popconfirm/popconfirm.component.mjs +4 -4
- package/esm2020/popconfirm/popconfirm.module.mjs +5 -5
- package/esm2020/popconfirm/popconfirm.property.mjs +4 -4
- package/esm2020/popover/popover-portal.component.mjs +4 -4
- package/esm2020/popover/popover.directive.mjs +4 -4
- package/esm2020/popover/popover.module.mjs +5 -5
- package/esm2020/popover/popover.property.mjs +4 -4
- package/esm2020/portal/portal.module.mjs +5 -5
- package/esm2020/portal/portal.service.mjs +4 -4
- package/esm2020/progress/progress.component.mjs +5 -5
- package/esm2020/progress/progress.module.mjs +5 -5
- package/esm2020/progress/progress.property.mjs +4 -4
- package/esm2020/radio/radio.component.mjs +13 -6
- package/esm2020/radio/radio.module.mjs +7 -6
- package/esm2020/radio/radio.property.mjs +8 -4
- package/esm2020/rate/rate.component.mjs +4 -4
- package/esm2020/rate/rate.module.mjs +5 -5
- package/esm2020/rate/rate.property.mjs +4 -4
- package/esm2020/resizable/resizable.directive.mjs +4 -4
- package/esm2020/resizable/resizable.module.mjs +5 -5
- package/esm2020/resizable/resizable.property.mjs +4 -4
- package/esm2020/result/result.component.mjs +4 -4
- package/esm2020/result/result.module.mjs +5 -5
- package/esm2020/result/result.property.mjs +4 -4
- package/esm2020/ripple/ripple.directive.mjs +4 -4
- package/esm2020/ripple/ripple.module.mjs +5 -5
- package/esm2020/ripple/ripple.property.mjs +4 -4
- package/esm2020/select/select-portal.component.mjs +4 -4
- package/esm2020/select/select.component.mjs +4 -4
- package/esm2020/select/select.module.mjs +5 -5
- package/esm2020/select/select.property.mjs +4 -4
- package/esm2020/skeleton/skeleton.component.mjs +5 -5
- package/esm2020/skeleton/skeleton.module.mjs +5 -5
- package/esm2020/skeleton/skeleton.property.mjs +4 -4
- package/esm2020/slider/slider.component.mjs +11 -7
- package/esm2020/slider/slider.module.mjs +5 -5
- package/esm2020/slider/slider.property.mjs +9 -4
- package/esm2020/slider-select/slider-select.component.mjs +5 -5
- package/esm2020/slider-select/slider-select.module.mjs +5 -5
- package/esm2020/slider-select/slider-select.property.mjs +4 -4
- package/esm2020/statistic/countdown.component.mjs +4 -4
- package/esm2020/statistic/statistic.component.mjs +4 -4
- package/esm2020/statistic/statistic.module.mjs +5 -5
- package/esm2020/statistic/statistic.property.mjs +7 -7
- package/esm2020/steps/steps.component.mjs +4 -4
- package/esm2020/steps/steps.module.mjs +5 -5
- package/esm2020/steps/steps.property.mjs +4 -4
- package/esm2020/switch/switch.component.mjs +4 -4
- package/esm2020/switch/switch.module.mjs +5 -5
- package/esm2020/switch/switch.property.mjs +4 -4
- package/esm2020/table/drag.directive.mjs +4 -4
- package/esm2020/table/table-body.component.mjs +4 -4
- package/esm2020/table/table-foot.component.mjs +4 -4
- package/esm2020/table/table-head.component.mjs +4 -4
- package/esm2020/table/table.component.mjs +6 -6
- package/esm2020/table/table.module.mjs +5 -5
- package/esm2020/table/table.property.mjs +13 -13
- package/esm2020/tabs/tab-content.component.mjs +4 -4
- package/esm2020/tabs/tab-link.directive.mjs +8 -8
- package/esm2020/tabs/tab.component.mjs +4 -4
- package/esm2020/tabs/tabs.component.mjs +9 -11
- package/esm2020/tabs/tabs.module.mjs +5 -5
- package/esm2020/tabs/tabs.property.mjs +7 -7
- package/esm2020/tag/tag.component.mjs +4 -4
- package/esm2020/tag/tag.module.mjs +5 -5
- package/esm2020/tag/tag.property.mjs +4 -4
- package/esm2020/text-retract/text-retract.component.mjs +4 -4
- package/esm2020/text-retract/text-retract.module.mjs +5 -5
- package/esm2020/text-retract/text-retract.property.mjs +4 -4
- package/esm2020/textarea/textarea.component.mjs +4 -4
- package/esm2020/textarea/textarea.module.mjs +5 -5
- package/esm2020/textarea/textarea.property.mjs +4 -4
- package/esm2020/theme/theme.component.mjs +5 -5
- package/esm2020/theme/theme.module.mjs +5 -5
- package/esm2020/theme/theme.property.mjs +4 -4
- package/esm2020/time-ago/time-ago.module.mjs +5 -5
- package/esm2020/time-ago/time-ago.pipe.mjs +4 -4
- package/esm2020/time-picker/time-picker-frame.component.mjs +4 -4
- package/esm2020/time-picker/time-picker-portal.component.mjs +4 -4
- package/esm2020/time-picker/time-picker.component.mjs +4 -4
- package/esm2020/time-picker/time-picker.module.mjs +5 -5
- package/esm2020/time-picker/time-picker.property.mjs +4 -4
- package/esm2020/time-range/time-range.module.mjs +5 -5
- package/esm2020/time-range/time-range.pipe.mjs +4 -4
- package/esm2020/timeline/timeline.component.mjs +4 -4
- package/esm2020/timeline/timeline.module.mjs +5 -5
- package/esm2020/timeline/timeline.property.mjs +4 -4
- package/esm2020/tooltip/tooltip-portal.component.mjs +4 -4
- package/esm2020/tooltip/tooltip.directive.mjs +4 -4
- package/esm2020/tooltip/tooltip.module.mjs +5 -5
- package/esm2020/tooltip/tooltip.property.mjs +4 -4
- package/esm2020/transfer/transfer.component.mjs +4 -4
- package/esm2020/transfer/transfer.module.mjs +5 -5
- package/esm2020/transfer/transfer.property.mjs +4 -4
- package/esm2020/tree/tree-node.component.mjs +4 -4
- package/esm2020/tree/tree.component.mjs +4 -4
- package/esm2020/tree/tree.module.mjs +5 -5
- package/esm2020/tree/tree.property.mjs +7 -7
- package/esm2020/tree-file/tree-file.component.mjs +4 -4
- package/esm2020/tree-file/tree-file.module.mjs +5 -5
- package/esm2020/tree-file/tree-file.property.mjs +4 -4
- package/esm2020/tree-select/tree-select-portal.component.mjs +4 -4
- package/esm2020/tree-select/tree-select.component.mjs +4 -4
- package/esm2020/tree-select/tree-select.module.mjs +5 -5
- package/esm2020/tree-select/tree-select.property.mjs +4 -4
- package/esm2020/typography/typography.component.mjs +4 -4
- package/esm2020/typography/typography.module.mjs +5 -5
- package/esm2020/typography/typography.property.mjs +4 -4
- package/esm2020/upload/upload-portal.component.mjs +7 -7
- package/esm2020/upload/upload.component.mjs +4 -4
- package/esm2020/upload/upload.module.mjs +5 -5
- package/esm2020/upload/upload.property.mjs +4 -4
- package/fesm2015/ng-nest-ui-affix.mjs +10 -10
- package/fesm2015/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-alert.mjs +10 -10
- package/fesm2015/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-anchor.mjs +11 -11
- package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-api.mjs +7 -7
- package/fesm2015/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-auto-complete.mjs +13 -13
- package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-avatar.mjs +16 -16
- package/fesm2015/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-back-top.mjs +10 -10
- package/fesm2015/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-badge.mjs +10 -10
- package/fesm2015/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-base-form.mjs +10 -10
- package/fesm2015/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-border.mjs +7 -7
- package/fesm2015/ng-nest-ui-border.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-button.mjs +26 -17
- package/fesm2015/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-calendar.mjs +10 -10
- package/fesm2015/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-card.mjs +10 -10
- package/fesm2015/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-carousel.mjs +16 -16
- package/fesm2015/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-cascade.mjs +13 -13
- package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-checkbox.mjs +22 -12
- package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-collapse.mjs +16 -16
- package/fesm2015/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-color-picker.mjs +14 -14
- package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-color.mjs +10 -10
- package/fesm2015/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-comment.mjs +16 -16
- package/fesm2015/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-container.mjs +31 -31
- package/fesm2015/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-core.mjs +15 -15
- package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-crumb.mjs +10 -10
- package/fesm2015/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-date-picker.mjs +40 -40
- package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-description.mjs +16 -16
- package/fesm2015/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-dialog.mjs +42 -42
- package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-doc.mjs +7 -7
- package/fesm2015/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-drawer.mjs +33 -33
- package/fesm2015/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-dropdown.mjs +13 -13
- package/fesm2015/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-empty.mjs +10 -10
- package/fesm2015/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-examples.mjs +8 -8
- package/fesm2015/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-find.mjs +10 -10
- package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-form.mjs +16 -16
- package/fesm2015/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-highlight.mjs +10 -10
- package/fesm2015/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.mjs +13 -13
- package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-icon.mjs +13 -13
- package/fesm2015/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-image.mjs +19 -19
- package/fesm2015/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-inner.mjs +10 -10
- package/fesm2015/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-input-number.mjs +10 -10
- package/fesm2015/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-input.mjs +20 -16
- package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-keyword.mjs +10 -10
- package/fesm2015/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-layout.mjs +16 -16
- package/fesm2015/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-link.mjs +10 -10
- package/fesm2015/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-list.mjs +19 -19
- package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-loading.mjs +11 -11
- package/fesm2015/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-menu.mjs +16 -16
- package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2015/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-message.mjs +10 -10
- package/fesm2015/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-notification.mjs +10 -10
- package/fesm2015/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-outlet.mjs +7 -7
- package/fesm2015/ng-nest-ui-outlet.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-page-header.mjs +10 -10
- package/fesm2015/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-pagination.mjs +10 -10
- package/fesm2015/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2015/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-popconfirm.mjs +10 -10
- package/fesm2015/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-popover.mjs +13 -13
- package/fesm2015/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-portal.mjs +7 -7
- package/fesm2015/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-progress.mjs +11 -11
- package/fesm2015/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-radio.mjs +25 -13
- package/fesm2015/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-rate.mjs +10 -10
- package/fesm2015/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-resizable.mjs +10 -10
- package/fesm2015/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-result.mjs +10 -10
- package/fesm2015/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-ripple.mjs +10 -10
- package/fesm2015/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-select.mjs +13 -13
- package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-skeleton.mjs +11 -11
- package/fesm2015/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-slider-select.mjs +11 -11
- package/fesm2015/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-slider.mjs +22 -13
- package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-statistic.mjs +16 -16
- package/fesm2015/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-steps.mjs +10 -10
- package/fesm2015/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-switch.mjs +10 -10
- package/fesm2015/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-table.mjs +33 -33
- package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tabs.mjs +31 -33
- package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tag.mjs +10 -10
- package/fesm2015/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-text-retract.mjs +10 -10
- package/fesm2015/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-textarea.mjs +10 -10
- package/fesm2015/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-theme.mjs +11 -11
- package/fesm2015/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2015/ng-nest-ui-time-ago.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-time-picker.mjs +16 -16
- package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2015/ng-nest-ui-time-range.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-timeline.mjs +10 -10
- package/fesm2015/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tooltip.mjs +13 -13
- package/fesm2015/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-transfer.mjs +10 -10
- package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tree-file.mjs +10 -10
- package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tree-select.mjs +13 -13
- package/fesm2015/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tree.mjs +16 -16
- package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-typography.mjs +10 -10
- package/fesm2015/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-upload.mjs +18 -16
- package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-affix.mjs +10 -10
- package/fesm2020/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-alert.mjs +10 -10
- package/fesm2020/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-anchor.mjs +11 -11
- package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-api.mjs +7 -7
- package/fesm2020/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-auto-complete.mjs +13 -13
- package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-avatar.mjs +16 -16
- package/fesm2020/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-back-top.mjs +10 -10
- package/fesm2020/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-badge.mjs +10 -10
- package/fesm2020/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-base-form.mjs +10 -10
- package/fesm2020/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-border.mjs +7 -7
- package/fesm2020/ng-nest-ui-border.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-button.mjs +26 -17
- package/fesm2020/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-calendar.mjs +10 -10
- package/fesm2020/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-card.mjs +10 -10
- package/fesm2020/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-carousel.mjs +16 -16
- package/fesm2020/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-cascade.mjs +13 -13
- package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-checkbox.mjs +22 -12
- package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-collapse.mjs +16 -16
- package/fesm2020/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-color-picker.mjs +14 -14
- package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-color.mjs +10 -10
- package/fesm2020/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-comment.mjs +16 -16
- package/fesm2020/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-container.mjs +31 -31
- package/fesm2020/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-core.mjs +15 -15
- package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-crumb.mjs +10 -10
- package/fesm2020/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-date-picker.mjs +40 -40
- package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-description.mjs +16 -16
- package/fesm2020/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-dialog.mjs +42 -42
- package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-doc.mjs +7 -7
- package/fesm2020/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-drawer.mjs +33 -33
- package/fesm2020/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-dropdown.mjs +13 -13
- package/fesm2020/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-empty.mjs +10 -10
- package/fesm2020/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-examples.mjs +8 -8
- package/fesm2020/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-find.mjs +10 -10
- package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-form.mjs +16 -16
- package/fesm2020/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-highlight.mjs +10 -10
- package/fesm2020/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-i18n.mjs +13 -13
- package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-icon.mjs +13 -13
- package/fesm2020/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-image.mjs +19 -19
- package/fesm2020/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-inner.mjs +10 -10
- package/fesm2020/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-input-number.mjs +10 -10
- package/fesm2020/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-input.mjs +20 -16
- package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-keyword.mjs +10 -10
- package/fesm2020/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-layout.mjs +16 -16
- package/fesm2020/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-link.mjs +10 -10
- package/fesm2020/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-list.mjs +19 -19
- package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-loading.mjs +11 -11
- package/fesm2020/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-menu.mjs +16 -16
- package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2020/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-message.mjs +10 -10
- package/fesm2020/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-notification.mjs +10 -10
- package/fesm2020/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-outlet.mjs +7 -7
- package/fesm2020/ng-nest-ui-outlet.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-page-header.mjs +10 -10
- package/fesm2020/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-pagination.mjs +10 -10
- package/fesm2020/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2020/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-popconfirm.mjs +10 -10
- package/fesm2020/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-popover.mjs +13 -13
- package/fesm2020/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-portal.mjs +7 -7
- package/fesm2020/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-progress.mjs +11 -11
- package/fesm2020/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-radio.mjs +25 -13
- package/fesm2020/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-rate.mjs +10 -10
- package/fesm2020/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-resizable.mjs +10 -10
- package/fesm2020/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-result.mjs +10 -10
- package/fesm2020/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-ripple.mjs +10 -10
- package/fesm2020/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-select.mjs +13 -13
- package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-skeleton.mjs +11 -11
- package/fesm2020/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-slider-select.mjs +11 -11
- package/fesm2020/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-slider.mjs +22 -13
- package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-statistic.mjs +16 -16
- package/fesm2020/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-steps.mjs +10 -10
- package/fesm2020/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-switch.mjs +10 -10
- package/fesm2020/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-table.mjs +33 -33
- package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tabs.mjs +31 -33
- package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tag.mjs +10 -10
- package/fesm2020/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-text-retract.mjs +10 -10
- package/fesm2020/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-textarea.mjs +10 -10
- package/fesm2020/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-theme.mjs +11 -11
- package/fesm2020/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2020/ng-nest-ui-time-ago.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-time-picker.mjs +16 -16
- package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2020/ng-nest-ui-time-range.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-timeline.mjs +10 -10
- package/fesm2020/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tooltip.mjs +13 -13
- package/fesm2020/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-transfer.mjs +10 -10
- package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tree-file.mjs +10 -10
- package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tree-select.mjs +13 -13
- package/fesm2020/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tree.mjs +16 -16
- package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-typography.mjs +10 -10
- package/fesm2020/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-upload.mjs +16 -16
- package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
- package/input/input.property.d.ts +11 -1
- package/menu/menu.component.d.ts +1 -1
- package/package.json +1 -1
- package/radio/radio.component.d.ts +2 -0
- package/radio/radio.module.d.ts +3 -2
- package/radio/radio.property.d.ts +22 -2
- package/slider/slider.component.d.ts +1 -1
- package/slider/slider.property.d.ts +6 -1
- package/tabs/tab-link.directive.d.ts +3 -3
- package/tabs/tabs.component.d.ts +2 -3
- package/tree-file/tree-file.component.d.ts +1 -1
- package/upload/upload-portal.component.d.ts +1 -1
|
@@ -58,9 +58,9 @@ export class XDragDirective {
|
|
|
58
58
|
this._unSubject.complete();
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
/** @nocollapse */ XDragDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
62
|
-
/** @nocollapse */ XDragDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
61
|
+
/** @nocollapse */ XDragDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: XDragDirective, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
62
|
+
/** @nocollapse */ XDragDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: XDragDirective, selector: "[xDrag]", outputs: { draging: "draging" }, ngImport: i0 });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: XDragDirective, decorators: [{
|
|
64
64
|
type: Directive,
|
|
65
65
|
args: [{ selector: '[xDrag]' }]
|
|
66
66
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
69
69
|
}] }, { type: i0.Renderer2 }]; }, propDecorators: { draging: [{
|
|
70
70
|
type: Output
|
|
71
71
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS9kcmFnLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxjQUFjO0lBS3pCLFlBQW9CLFVBQXNCLEVBQW9CLFFBQWEsRUFBVSxRQUFtQjtRQUFwRixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQTJDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFKOUYsWUFBTyxHQUFHLElBQUksWUFBWSxFQUE0QixDQUFDO1FBQ3pELGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBSXZDLElBQUksQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFhLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRXBGLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNyQixJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ3JCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztZQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDeEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3hFLFNBQVMsQ0FBYSxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUM7aUJBQ3pELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3ZCLFNBQVMsQ0FBQyxDQUFDLE1BQWtCLEVBQUUsRUFBRTtnQkFDaEMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQzNCLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUNqQixDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxDQUFDO1lBQ0wsU0FBUyxDQUFhLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQztpQkFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDdkIsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQ25FLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZCxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUVILHdEQUF3RDtRQUN4RCxXQUFXO1FBQ1gsbUNBQW1DO1FBQ25DLGlFQUFpRTtRQUNqRSxVQUFVO1FBQ1YsbUJBQW1CO1FBQ25CLHFFQUFxRTtRQUNyRSxVQUFVO1FBQ1YsaUNBQWlDO1FBQ2pDLE1BQU07UUFDTix3QkFBd0I7UUFDeEIsc0JBQXNCO1FBQ3RCLFFBQVE7SUFDVixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzsrSEF6RFUsY0FBYyw0Q0FLMkIsUUFBUTttSEFMakQsY0FBYzs0RkFBZCxjQUFjO2tCQUQxQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRTs7MEJBTWEsTUFBTTsyQkFBQyxRQUFRO29FQUpsRCxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPdXRwdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW3hEcmFnXScgfSlcclxuZXhwb3J0IGNsYXNzIFhEcmFnRGlyZWN0aXZlIHtcclxuICBAT3V0cHV0KCkgZHJhZ2luZyA9IG5ldyBFdmVudEVtaXR0ZXI8eyB4OiBudW1iZXI7IHk6IG51bWJlciB9PigpO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgZG9jOiBEb2N1bWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55LCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIHRoaXMuZG9jID0gZG9jdW1lbnQ7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IG1vdXNlRG93biA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpO1xyXG5cclxuICAgIG1vdXNlRG93bi5zdWJzY3JpYmUoKGRvd25NZTogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgICBsZXQgeCA9IGRvd25NZS5wYWdlWDtcclxuICAgICAgbGV0IHkgPSBkb3duTWUucGFnZVk7XHJcbiAgICAgIGxldCBvZmZzZXRYID0gMDtcclxuICAgICAgbGV0IG9mZnNldFkgPSAwO1xyXG4gICAgICBjb25zdCBfdW5TdWIgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudCwgJ2N1cnNvcicsICdldy1yZXNpemUnKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQsICd1c2VyLXNlbGVjdCcsICdub25lJyk7XHJcbiAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQsICdtb3VzZW1vdmUnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbChfdW5TdWIpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKG1vdmVNZTogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgICAgICAgb2Zmc2V0WCA9IG1vdmVNZS5wYWdlWCAtIHg7XHJcbiAgICAgICAgICBvZmZzZXRZID0gbW92ZU1lLnBhZ2VZIC0geTtcclxuICAgICAgICAgIHggPSBtb3ZlTWUucGFnZVg7XHJcbiAgICAgICAgICB5ID0gbW92ZU1lLnBhZ2VZO1xyXG4gICAgICAgICAgdGhpcy5kcmFnaW5nLmVtaXQoeyB4OiBvZmZzZXRYLCB5OiBvZmZzZXRZIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LCAnbW91c2V1cCcpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKF91blN1YikpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudCwgJ2N1cnNvcicpO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQsICd1c2VyLXNlbGVjdCcpO1xyXG4gICAgICAgICAgX3VuU3ViLm5leHQoKTtcclxuICAgICAgICAgIF91blN1Yi5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJylcclxuICAgIC8vICAgLnBpcGUoXHJcbiAgICAvLyAgICAgdGFwKChtb3VzZTogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgLy8gICAgICAgcmV0dXJuIHsgc3RhcnRYOiBtb3VzZS5jbGllbnRYLCBzdGFydFk6IG1vdXNlLmNsaWVudFkgfTtcclxuICAgIC8vICAgICB9KSxcclxuICAgIC8vICAgICB0YXAoKHgpID0+IHtcclxuICAgIC8vICAgICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlbW92ZScpLnBpcGUoKVxyXG4gICAgLy8gICAgIH0pLFxyXG4gICAgLy8gICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAvLyAgIClcclxuICAgIC8vICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKHgpO1xyXG4gICAgLy8gICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -198,9 +198,9 @@ export class XTableBodyComponent extends XTableBodyProperty {
|
|
|
198
198
|
return item.id;
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
|
-
/** @nocollapse */ XTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
202
|
-
/** @nocollapse */ XTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
203
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
201
|
+
/** @nocollapse */ XTableBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: XTableBodyComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
202
|
+
/** @nocollapse */ XTableBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: XTableBodyComponent, selector: "x-table-body", inputs: { table: "table" }, viewQueries: [{ propertyName: "tbody", first: true, predicate: ["tbody"], descendants: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<tbody #tbody>\r\n <ng-container *ngIf=\"cellConfig; else virtualScrollTpl\">\r\n <tr *ngFor=\"let row of data; index as i; trackBy: trackByItem\" [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\">\r\n <td\r\n *ngFor=\"let column of cellConfig.cells; index as j\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.grid-area]=\"column.gridArea\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <x-empty *ngIf=\"isEmpty && level === 0\"></x-empty>\r\n</tbody>\r\n\r\n<ng-template #virtualScrollTpl>\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n *ngIf=\"virtualScroll; else bodyTpl\"\r\n [itemSize]=\"getItemSize\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [style.height.px]=\"bodyHeight\"\r\n >\r\n <tr\r\n *cdkVirtualFor=\"let row of data; let index = index; trackBy: trackByItem\"\r\n [class.x-table-activated]=\"allowSelectRow && activatedRow?.id === row.id\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n (click)=\"rowClick($event, row)\"\r\n >\r\n <!-- rowHeight \u4E3A 0 \u7684\u65F6\u5019\uFF0Cindex \u4E0B\u6807\u83B7\u53D6\u4E0D\u5230 -->\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: getIndex(index, row) }\"></ng-container>\r\n </tr>\r\n </cdk-virtual-scroll-viewport>\r\n</ng-template>\r\n\r\n<ng-template #bodyTpl>\r\n <ng-container *ngFor=\"let row of data; index as i; trackBy: trackByItem\">\r\n <tr\r\n [class.x-table-activated]=\"allowSelectRow && activatedRow?.id === row.id\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n (click)=\"rowClick($event, row)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: i }\"></ng-container>\r\n </tr>\r\n <div class=\"x-table-children\" [class.x-table-expandTpl]=\"expandTpl\" *ngIf=\"table.treeTable && row.children && row.expanded\">\r\n <x-table-body\r\n [data]=\"row.children\"\r\n [columns]=\"table.columns\"\r\n [itemSize]=\"table.itemSize\"\r\n [rowHeight]=\"table.rowHeight\"\r\n [columnTpl]=\"table.bodyColumnTpl\"\r\n [allowSelectRow]=\"table.allowSelectRow\"\r\n [rowClass]=\"table.rowClass\"\r\n [cellConfig]=\"table.cellConfig?.tbody\"\r\n [(activatedRow)]=\"table.activatedRow\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n (activatedRowChange)=\"table.activatedRowChange.emit($event)\"\r\n [level]=\"row.level! + 1\"\r\n [table]=\"table\"\r\n ></x-table-body>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #rowTpl let-row=\"row\" let-i=\"i\">\r\n <ng-container *ngIf=\"level > 0 && expandTpl\">\r\n <ng-container *xOutlet=\"expandTpl; context: { $row: row, $index: i, $level: level }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"level === 0 || !expandTpl\">\r\n <ng-container *xOutlet=\"rowDefault; context: { row: row, i: i, level: level }\"></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #rowDefault let-row=\"row\" let-i=\"i\">\r\n <ng-container *ngFor=\"let column of columns; index as j; trackBy: trackByItem\">\r\n <td\r\n [style.width.px]=\"column.width\"\r\n [style.flex]=\"getFlex(column)\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [ngClass]=\"!rowClass ? {} : rowClass(row, i)\"\r\n >\r\n <ng-template *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-template>\r\n </td>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-column=\"column\" let-row=\"row\" let-i=\"i\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox\r\n [data]=\"[{ id: true, label: '' }]\"\r\n [(ngModel)]=\"row[column.id]\"\r\n [disabled]=\"row.disabled\"\r\n (ngModelChange)=\"table.bodyChecked($event, column)\"\r\n ></x-checkbox>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'index'\">\r\n <div>{{ table.getIndex(i) }}</div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngIf=\"table.isExpandColumn(column)\">\r\n <x-button\r\n [class.is-leaf]=\"!row.leaf\"\r\n [class.is-expanded]=\"row.expanded\"\r\n (click)=\"onExpanded($event, row)\"\r\n icon=\"fto-chevron-right\"\r\n size=\"mini\"\r\n onlyIcon\r\n class=\"x-table-expand\"\r\n [style.margin-left.rem]=\"row.level - 0.5\"\r\n ></x-button>\r\n </ng-container>\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <ng-container *xOutlet=\"table.bodyTdTpl; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <div [innerHTML]=\"row[column.id]\" [style.text-align]=\"column.textAlign\"></div>\r\n {{ table.rowExpandNext && table.rowExpandNext.id === column.id ? 'x-table-body-level-' + row.level : '' }}\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i5.XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: i6.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i7.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i7.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i7.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i8.XEmptyComponent, selector: "x-empty" }, { kind: "component", type: XTableBodyComponent, selector: "x-table-body", inputs: ["table"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: XTableBodyComponent, decorators: [{
|
|
204
204
|
type: Component,
|
|
205
205
|
args: [{ selector: `${XTableBodyPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<tbody #tbody>\r\n <ng-container *ngIf=\"cellConfig; else virtualScrollTpl\">\r\n <tr *ngFor=\"let row of data; index as i; trackBy: trackByItem\" [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\">\r\n <td\r\n *ngFor=\"let column of cellConfig.cells; index as j\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.grid-area]=\"column.gridArea\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <x-empty *ngIf=\"isEmpty && level === 0\"></x-empty>\r\n</tbody>\r\n\r\n<ng-template #virtualScrollTpl>\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n *ngIf=\"virtualScroll; else bodyTpl\"\r\n [itemSize]=\"getItemSize\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [style.height.px]=\"bodyHeight\"\r\n >\r\n <tr\r\n *cdkVirtualFor=\"let row of data; let index = index; trackBy: trackByItem\"\r\n [class.x-table-activated]=\"allowSelectRow && activatedRow?.id === row.id\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n (click)=\"rowClick($event, row)\"\r\n >\r\n <!-- rowHeight \u4E3A 0 \u7684\u65F6\u5019\uFF0Cindex \u4E0B\u6807\u83B7\u53D6\u4E0D\u5230 -->\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: getIndex(index, row) }\"></ng-container>\r\n </tr>\r\n </cdk-virtual-scroll-viewport>\r\n</ng-template>\r\n\r\n<ng-template #bodyTpl>\r\n <ng-container *ngFor=\"let row of data; index as i; trackBy: trackByItem\">\r\n <tr\r\n [class.x-table-activated]=\"allowSelectRow && activatedRow?.id === row.id\"\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n (click)=\"rowClick($event, row)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"rowTpl; context: { row: row, i: i }\"></ng-container>\r\n </tr>\r\n <div class=\"x-table-children\" [class.x-table-expandTpl]=\"expandTpl\" *ngIf=\"table.treeTable && row.children && row.expanded\">\r\n <x-table-body\r\n [data]=\"row.children\"\r\n [columns]=\"table.columns\"\r\n [itemSize]=\"table.itemSize\"\r\n [rowHeight]=\"table.rowHeight\"\r\n [columnTpl]=\"table.bodyColumnTpl\"\r\n [allowSelectRow]=\"table.allowSelectRow\"\r\n [rowClass]=\"table.rowClass\"\r\n [cellConfig]=\"table.cellConfig?.tbody\"\r\n [(activatedRow)]=\"table.activatedRow\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n (activatedRowChange)=\"table.activatedRowChange.emit($event)\"\r\n [level]=\"row.level! + 1\"\r\n [table]=\"table\"\r\n ></x-table-body>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #rowTpl let-row=\"row\" let-i=\"i\">\r\n <ng-container *ngIf=\"level > 0 && expandTpl\">\r\n <ng-container *xOutlet=\"expandTpl; context: { $row: row, $index: i, $level: level }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"level === 0 || !expandTpl\">\r\n <ng-container *xOutlet=\"rowDefault; context: { row: row, i: i, level: level }\"></ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #rowDefault let-row=\"row\" let-i=\"i\">\r\n <ng-container *ngFor=\"let column of columns; index as j; trackBy: trackByItem\">\r\n <td\r\n [style.width.px]=\"column.width\"\r\n [style.flex]=\"getFlex(column)\"\r\n [title]=\"getTitle(row, column)\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [ngClass]=\"!rowClass ? {} : rowClass(row, i)\"\r\n >\r\n <ng-template *ngTemplateOutlet=\"cellTpl; context: { column: column, row: row, i: i }\"></ng-template>\r\n </td>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-column=\"column\" let-row=\"row\" let-i=\"i\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox\r\n [data]=\"[{ id: true, label: '' }]\"\r\n [(ngModel)]=\"row[column.id]\"\r\n [disabled]=\"row.disabled\"\r\n (ngModelChange)=\"table.bodyChecked($event, column)\"\r\n ></x-checkbox>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'index'\">\r\n <div>{{ table.getIndex(i) }}</div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngIf=\"table.isExpandColumn(column)\">\r\n <x-button\r\n [class.is-leaf]=\"!row.leaf\"\r\n [class.is-expanded]=\"row.expanded\"\r\n (click)=\"onExpanded($event, row)\"\r\n icon=\"fto-chevron-right\"\r\n size=\"mini\"\r\n onlyIcon\r\n class=\"x-table-expand\"\r\n [style.margin-left.rem]=\"row.level - 0.5\"\r\n ></x-button>\r\n </ng-container>\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <ng-container *xOutlet=\"table.bodyTdTpl; context: { $column: column, $row: row, $index: table.getIndex(i) }\">\r\n <div [innerHTML]=\"row[column.id]\" [style.text-align]=\"column.textAlign\"></div>\r\n {{ table.rowExpandNext && table.rowExpandNext.id === column.id ? 'x-table-body-level-' + row.level : '' }}\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n" }]
|
|
206
206
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
@@ -215,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
215
215
|
}], table: [{
|
|
216
216
|
type: Input
|
|
217
217
|
}] } });
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RhYmxlL3RhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3ZCLE1BQU0sRUFDTixTQUFTLEVBQ1QsS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBdUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQTJCLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFRM0MsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQW1CekQ7SUFDRSxxREFBcUQ7SUFDOUMsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsR0FBc0IsRUFDSixHQUFRLEVBQzFCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTkQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ0osUUFBRyxHQUFILEdBQUcsQ0FBSztRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUF4QnRDLGVBQVUsR0FBZ0MsRUFBRSxDQUFDO1FBZXJDLGVBQVUs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SUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDO1NBQ2hFO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUNoQztRQUNELElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7U0FDL0U7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFO1lBQzVDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMxQyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lB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LGlCQUVoQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkEwQjVDLE1BQU07MkJBQUMsUUFBUTt5RUFaRSxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ1EsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUNmLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBJbmplY3QsXHJcbiAgVmlld0NoaWxkLFxyXG4gIElucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUYWJsZUJvZHlQcmVmaXgsIFhUYWJsZUJvZHlQcm9wZXJ0eSwgWFRhYmxlUm93LCBYVGFibGVDb2x1bW4sIFhUYWJsZUNlbGwgfSBmcm9tICcuL3RhYmxlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgcmVtb3ZlTmdUYWcsIFhJc0NoYW5nZSwgWFJlc2l6ZSwgWENvbmZpZ1NlcnZpY2UsIFhOdW1iZXIsIHN0cmlwVGFncyB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUYWJsZUJvZHlQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtYm9keS5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlQm9keUNvbXBvbmVudCBleHRlbmRzIFhUYWJsZUJvZHlQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICB0Ym9keVN0eWxlOiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICBnZXQgaXNFbXB0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGE/Lmxlbmd0aCA9PT0gMDtcclxuICB9XHJcbiAgZ2V0IGdldFJvd0hlaWdodCgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvd0hlaWdodCA9PSAwID8gJycgOiB0aGlzLnJvd0hlaWdodDtcclxuICB9XHJcbiAgZ2V0IGdldEl0ZW1TaXplKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucm93SGVpZ2h0ICE9PSAwICYmIHRoaXMuaXRlbVNpemUgPiB0aGlzLnJvd0hlaWdodCA/IHRoaXMucm93SGVpZ2h0IDogdGhpcy5pdGVtU2l6ZTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3Rib2R5JykgdGJvZHkhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3ZpcnR1YWxCb2R5JykgdmlydHVhbEJvZHkhOiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XHJcbiAgQElucHV0KCkgdGFibGU6IGFueTtcclxuXHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlciE6IFJlc2l6ZU9ic2VydmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIEBPcHRpb25hbCgpIEBIb3N0KCkgcHVibGljIHRhYmxlOiBYVGFibGVDb21wb25lbnQsXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwdWJsaWMgZG9jOiBhbnksXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgY29sdW1ucywgYWN0aXZhdGVkUm93LCBtZXJnZVJ1bGUsIGV4cGFuZGVkQWxsLCBhZGFwdGlvbkhlaWdodCB9ID0gc2ltcGxlcztcclxuICAgIFhJc0NoYW5nZShkYXRhLCBjb2x1bW5zLCBhY3RpdmF0ZWRSb3csIG1lcmdlUnVsZSwgZXhwYW5kZWRBbGwpICYmIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIFhJc0NoYW5nZShhZGFwdGlvbkhlaWdodCkgJiYgdGhpcy5zZXRBZGFwdGlvbkhlaWdodCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICByZW1vdmVOZ1RhZyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICBpZiAodGhpcy5sZXZlbCA+IDApIHJlbW92ZU5nVGFnKHRoaXMudGJvZHkubmF0aXZlRWxlbWVudCk7XHJcbiAgICBpZiAodGhpcy5zY3JvbGw/LnkgJiYgIXRoaXMuYm9keUhlaWdodCkge1xyXG4gICAgICB0aGlzLmJvZHlIZWlnaHQgPSB0aGlzLnNjcm9sbC55O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy50YWJsZS52aXJ0dWFsQm9keSA9IHRoaXMudmlydHVhbEJvZHk7XHJcbiAgICB0aGlzLnRhYmxlLmJvZHlDaGFuZ2UgPSAoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnNldFN1YmplY3QoKTtcclxuICAgIHRoaXMuc2V0U2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJqZWN0KCkge1xyXG4gICAgaWYgKHRoaXMudmlydHVhbEJvZHkpIHtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxDb250ZW50RWxlID0gdGhpcy52aXJ0dWFsQm9keT8uZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICcuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcidcclxuICAgICAgKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgaWYgKHRoaXMuc2Nyb2xsPy54KSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRhYmxlLnNjcm9sbENvbnRlbnRFbGUsICd3aWR0aCcsIGAke3RoaXMuc2Nyb2xsLnh9cHhgKTtcclxuICAgICAgfVxyXG4gICAgICBYUmVzaXplKHRoaXMudGFibGUudGFibGUubmF0aXZlRWxlbWVudCwgdGhpcy50YWJsZS5zY3JvbGxDb250ZW50RWxlKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICAgIHRoaXMuc2V0QWRhcHRpb25IZWlnaHQoKTtcclxuICAgICAgICAgIHRoaXMuc2V0U2Nyb2xsKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRBZGFwdGlvbkhlaWdodCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFibGUuc2Nyb2xsQ29udGVudEVsZSkge1xyXG4gICAgICBmcm9tRXZlbnQodGhpcy52aXJ0dWFsQm9keS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGVsZSA9IHguc3JjRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2Nyb2xsVG9wID0gZWxlLnNjcm9sbFRvcDtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2Nyb2xsTGVmdCA9IGVsZS5zY3JvbGxMZWZ0O1xyXG4gICAgICAgICAgaWYgKGVsZS5zY3JvbGxMZWZ0ID49IDAgJiYgdGhpcy50YWJsZS50aGVhZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IHRoZWFkIG9mIHRoaXMudGFibGUudGhlYWQpIHtcclxuICAgICAgICAgICAgICB0aGVhZC5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnRhYmxlLnNjcm9sbExlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMudGFibGUuc2Nyb2xsTGVmdE1heCA9IGVsZS5zY3JvbGxMZWZ0ICsgZWxlLmNsaWVudFdpZHRoID09PSBlbGUuc2Nyb2xsV2lkdGg7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTY3JvbGwoKSB7XHJcbiAgICBpZiAoIXRoaXMudmlydHVhbEJvZHkpIHJldHVybjtcclxuICAgIGNvbnN0IGVsZSA9IHRoaXMudmlydHVhbEJvZHkuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29uc3QgaGFzWSA9IGVsZS5zY3JvbGxIZWlnaHQgPiAodGhpcy5ib2R5SGVpZ2h0IGFzIG51bWJlcik7XHJcbiAgICBjb25zdCBoYXNYID0gdGhpcy50YWJsZS5zY3JvbGxDb250ZW50RWxlLmNsaWVudFdpZHRoID4gZWxlLmNsaWVudFdpZHRoO1xyXG5cclxuICAgIGlmICghdGhpcy50YWJsZS5oYXNTY3JvbGxZICYmIGhhc1kpIHtcclxuICAgICAgdGhpcy50YWJsZS5oYXNTY3JvbGxZID0gdHJ1ZTtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxZV2lkdGggPSBlbGUub2Zmc2V0V2lkdGggLSBlbGUuY2xpZW50V2lkdGg7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudGFibGUuaGFzU2Nyb2xsWSAmJiAhaGFzWSkge1xyXG4gICAgICB0aGlzLnRhYmxlLmhhc1Njcm9sbFkgPSBmYWxzZTtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxZV2lkdGggPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy50YWJsZS5oYXNTY3JvbGxYICYmIGhhc1gpIHtcclxuICAgICAgdGhpcy50YWJsZS5oYXNTY3JvbGxYID0gdHJ1ZTtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxYSGVpZ2h0ID0gZWxlLm9mZnNldEhlaWdodCAtIGVsZS5jbGllbnRIZWlnaHQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudGFibGUuaGFzU2Nyb2xsWCAmJiAhaGFzWCkge1xyXG4gICAgICB0aGlzLnRhYmxlLmhhc1Njcm9sbFggPSBmYWxzZTtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxYSGVpZ2h0ID0gMDtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxYV2lkdGggPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKGhhc1gpIHtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxYV2lkdGggPSBlbGUub2Zmc2V0V2lkdGggKyBlbGUuc2Nyb2xsV2lkdGggLSBlbGUuY2xpZW50V2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50YWJsZS5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0U3R5bGUoKSB7XHJcbiAgICBsZXQgaGVpZ2h0ID0gdGhpcy5yb3dIZWlnaHQgPT0gMCA/ICcnIDogdGhpcy5yb3dIZWlnaHQ7XHJcbiAgICBpZiAodGhpcy5jZWxsQ29uZmlnICYmIHRoaXMuY2VsbENvbmZpZy5jZWxscykge1xyXG4gICAgICBjb25zdCBzcHQgPSB0aGlzLmNlbGxDb25maWcuY2VsbHMubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ3JpZEFyZWFTcHQgPSB4LmdyaWRBcmVhPy5zcGxpdCgnLycpO1xyXG4gICAgICAgIHJldHVybiBncmlkQXJlYVNwdCAmJiBncmlkQXJlYVNwdC5sZW5ndGggPiAzID8gTnVtYmVyKGdyaWRBcmVhU3B0WzJdKSA6IDI7XHJcbiAgICAgIH0pO1xyXG4gICAgICBoZWlnaHQgPSAoKE1hdGgubWF4KC4uLnNwdCkgLSAxKSAqIChoZWlnaHQgYXMgbnVtYmVyKSkgYXMgWE51bWJlcjtcclxuICAgIH1cclxuICAgIHRoaXMudGJvZHlTdHlsZSA9IHtcclxuICAgICAgaGVpZ2h0OiBgJHtoZWlnaHR9cHhgXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5kZXgoaW5kZXg6IG51bWJlciwgaXRlbTogWFRhYmxlUm93KSB7XHJcbiAgICBpZiAoIWlzTmFOKGluZGV4KSkgcmV0dXJuIGluZGV4O1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YS5pbmRleE9mKGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmxleChjb2x1bW46IFhUYWJsZUNvbHVtbikge1xyXG4gICAgaWYgKGNvbHVtbi53aWR0aCkgcmV0dXJuICdub25lJztcclxuICAgIGlmICghY29sdW1uLmZsZXgpIHJldHVybiAxO1xyXG4gICAgcmV0dXJuIGNvbHVtbi5mbGV4O1xyXG4gIH1cclxuXHJcbiAgZ2V0VGl0bGUocm93OiBYVGFibGVSb3csIGNvbHVtbjogWFRhYmxlQ2VsbCB8IGFueSkge1xyXG4gICAgbGV0IGl0ID0gcm93W2NvbHVtbi5pZCBhcyBzdHJpbmddO1xyXG4gICAgcmV0dXJuIGl0ID8gc3RyaXBUYWdzKGl0KSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgc2V0QWRhcHRpb25IZWlnaHQoKSB7XHJcbiAgICBpZiAoKHRoaXMuYWRhcHRpb25IZWlnaHQgYXMgbnVtYmVyKSA+IDApIHtcclxuICAgICAgY29uc3QgY2FwdGlvbkhlaWdodCA9IHRoaXMudGFibGUudGNhcHRpb24/Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IDA7XHJcbiAgICAgIGxldCBoZWFkSGVpZ2h0ID0gMDtcclxuICAgICAgZm9yIChsZXQgdGhlYWQgb2YgdGhpcy50YWJsZS50aGVhZCkge1xyXG4gICAgICAgIGhlYWRIZWlnaHQgKz0gdGhlYWQubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZm9vdEhlaWdodCA9IHRoaXMudGFibGUudGZvb3Q/Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IDA7XHJcbiAgICAgIGNvbnN0IHBhZ2luYXRpb25IZWlnaHQgPSB0aGlzLnRhYmxlLnBhZ2luYXRpb24/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgfHwgMDtcclxuICAgICAgdGhpcy5ib2R5SGVpZ2h0ID1cclxuICAgICAgICBOdW1iZXIodGhpcy5kb2NQZXJjZW50KSAqIHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgLVxyXG4gICAgICAgIGNhcHRpb25IZWlnaHQgLVxyXG4gICAgICAgIGhlYWRIZWlnaHQgLVxyXG4gICAgICAgIGZvb3RIZWlnaHQgLVxyXG4gICAgICAgIHBhZ2luYXRpb25IZWlnaHQgLVxyXG4gICAgICAgIE51bWJlcih0aGlzLmFkYXB0aW9uSGVpZ2h0KTtcclxuICAgICAgaWYgKHRoaXMuYm9keUhlaWdodCA8IDApIHRoaXMuYm9keUhlaWdodCA9IDA7XHJcbiAgICAgIHRoaXMubWluQnVmZmVyUHggPSB0aGlzLmJvZHlIZWlnaHQ7XHJcbiAgICAgIHRoaXMubWF4QnVmZmVyUHggPSB0aGlzLmJvZHlIZWlnaHQgKiAxLjI7XHJcbiAgICAgIHRoaXMudmlydHVhbEJvZHlbJ19zY3JvbGxTdHJhdGVneSddWydfbWluQnVmZmVyUHgnXSA9IHRoaXMubWluQnVmZmVyUHg7XHJcbiAgICAgIHRoaXMudmlydHVhbEJvZHlbJ19zY3JvbGxTdHJhdGVneSddWydfbWF4QnVmZmVyUHgnXSA9IHRoaXMubWF4QnVmZmVyUHg7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJvd0NsaWNrKGV2ZW50OiBFdmVudCwgcm93OiBYVGFibGVSb3cpIHtcclxuICAgIGlmIChyb3cuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm93ID0gcm93O1xyXG4gICAgaWYgKHRoaXMudGFibGUuYWxsb3dDaGVja1JvdyAmJiB0aGlzLnRhYmxlLnJvd0NoZWNrZWQpIHtcclxuICAgICAgaWYgKCFBcnJheS5mcm9tKChldmVudCBhcyBhbnkpLnBhdGgpLmZpbmQoKHg6IGFueSkgPT4geC5sb2NhbE5hbWUgPT0gJ3gtY2hlY2tib3gnKSkge1xyXG4gICAgICAgIHJvd1t0aGlzLnRhYmxlLnJvd0NoZWNrZWQuaWRdID0gIXJvd1t0aGlzLnRhYmxlLnJvd0NoZWNrZWQuaWRdO1xyXG4gICAgICAgIHRoaXMudGFibGUuYm9keUNoZWNrZWQocm93W3RoaXMudGFibGUucm93Q2hlY2tlZC5pZF0sIHRoaXMudGFibGUucm93Q2hlY2tlZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZhdGVkUm93Q2hhbmdlLmVtaXQocm93KTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uRXhwYW5kZWQoX2V2ZW50OiBFdmVudCwgbm9kZTogWFRhYmxlUm93KSB7XHJcbiAgICBub2RlLmV4cGFuZGVkID0gIW5vZGUuZXhwYW5kZWQ7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5SXRlbShfaW5kZXg6IG51bWJlciwgaXRlbTogWFRhYmxlUm93IHwgWFRhYmxlQ29sdW1uKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcbn1cclxuIiwiPHRib2R5ICN0Ym9keT5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbENvbmZpZzsgZWxzZSB2aXJ0dWFsU2Nyb2xsVHBsXCI+XHJcbiAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiBkYXRhOyBpbmRleCBhcyBpOyB0cmFja0J5OiB0cmFja0J5SXRlbVwiIFtzdHlsZS5ncmlkVGVtcGxhdGVDb2x1bW5zXT1cImNlbGxDb25maWcuZ3JpZFRlbXBsYXRlQ29sdW1uc1wiPlxyXG4gICAgICA8dGRcclxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNlbGxDb25maWcuY2VsbHM7IGluZGV4IGFzIGpcIlxyXG4gICAgICAgIFt0aXRsZV09XCJnZXRUaXRsZShyb3csIGNvbHVtbilcIlxyXG4gICAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreV09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbikgfHwgdGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnRdPVwidGFibGUuZ2V0U3RpY2t5TGVmdChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHRdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnQtbGFzdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0TGFzdChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHQtZmlyc3RdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHRGaXJzdChjb2x1bW4pXCJcclxuICAgICAgICBbc3R5bGUubGVmdC5weF09XCJjb2x1bW4ubGVmdFwiXHJcbiAgICAgICAgW3N0eWxlLnJpZ2h0LnB4XT1cImNvbHVtbi5yaWdodFwiXHJcbiAgICAgICAgW3N0eWxlLmdyaWQtYXJlYV09XCJjb2x1bW4uZ3JpZEFyZWFcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNlbGxUcGw7IGNvbnRleHQ6IHsgY29sdW1uOiBjb2x1bW4sIHJvdzogcm93LCBpOiBpIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHgtZW1wdHkgKm5nSWY9XCJpc0VtcHR5ICYmIGxldmVsID09PSAwXCI+PC94LWVtcHR5PlxyXG48L3Rib2R5PlxyXG5cclxuPG5nLXRlbXBsYXRlICN2aXJ0dWFsU2Nyb2xsVHBsPlxyXG4gIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnRcclxuICAgICN2aXJ0dWFsQm9keVxyXG4gICAgKm5nSWY9XCJ2aXJ0dWFsU2Nyb2xsOyBlbHNlIGJvZHlUcGxcIlxyXG4gICAgW2l0ZW1TaXplXT1cImdldEl0ZW1TaXplXCJcclxuICAgIFttaW5CdWZmZXJQeF09XCJtaW5CdWZmZXJQeFwiXHJcbiAgICBbbWF4QnVmZmVyUHhdPVwibWF4QnVmZmVyUHhcIlxyXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJib2R5SGVpZ2h0XCJcclxuICA+XHJcbiAgICA8dHJcclxuICAgICAgKmNka1ZpcnR1YWxGb3I9XCJsZXQgcm93IG9mIGRhdGE7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SXRlbVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLWFjdGl2YXRlZF09XCJhbGxvd1NlbGVjdFJvdyAmJiBhY3RpdmF0ZWRSb3c/LmlkID09PSByb3cuaWRcIlxyXG4gICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICAgIChjbGljayk9XCJyb3dDbGljaygkZXZlbnQsIHJvdylcIlxyXG4gICAgPlxyXG4gICAgICA8IS0tIHJvd0hlaWdodCDkuLogMCDnmoTml7blgJnvvIxpbmRleCDkuIvmoIfojrflj5bkuI3liLAgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUcGw7IGNvbnRleHQ6IHsgcm93OiByb3csIGk6IGdldEluZGV4KGluZGV4LCByb3cpIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdHI+XHJcbiAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2JvZHlUcGw+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIGRhdGE7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCI+XHJcbiAgICA8dHJcclxuICAgICAgW2NsYXNzLngtdGFibGUtYWN0aXZhdGVkXT1cImFsbG93U2VsZWN0Um93ICYmIGFjdGl2YXRlZFJvdz8uaWQgPT09IHJvdy5pZFwiXHJcbiAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgICAgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgICAgKGNsaWNrKT1cInJvd0NsaWNrKCRldmVudCwgcm93KVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUcGw7IGNvbnRleHQ6IHsgcm93OiByb3csIGk6IGkgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC90cj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXRhYmxlLWNoaWxkcmVuXCIgW2NsYXNzLngtdGFibGUtZXhwYW5kVHBsXT1cImV4cGFuZFRwbFwiICpuZ0lmPVwidGFibGUudHJlZVRhYmxlICYmIHJvdy5jaGlsZHJlbiAmJiByb3cuZXhwYW5kZWRcIj5cclxuICAgICAgPHgtdGFibGUtYm9keVxyXG4gICAgICAgIFtkYXRhXT1cInJvdy5jaGlsZHJlblwiXHJcbiAgICAgICAgW2NvbHVtbnNdPVwidGFibGUuY29sdW1uc1wiXHJcbiAgICAgICAgW2l0ZW1TaXplXT1cInRhYmxlLml0ZW1TaXplXCJcclxuICAgICAgICBbcm93SGVpZ2h0XT1cInRhYmxlLnJvd0hlaWdodFwiXHJcbiAgICAgICAgW2NvbHVtblRwbF09XCJ0YWJsZS5ib2R5Q29sdW1uVHBsXCJcclxuICAgICAgICBbYWxsb3dTZWxlY3RSb3ddPVwidGFibGUuYWxsb3dTZWxlY3RSb3dcIlxyXG4gICAgICAgIFtyb3dDbGFzc109XCJ0YWJsZS5yb3dDbGFzc1wiXHJcbiAgICAgICAgW2NlbGxDb25maWddPVwidGFibGUuY2VsbENvbmZpZz8udGJvZHlcIlxyXG4gICAgICAgIFsoYWN0aXZhdGVkUm93KV09XCJ0YWJsZS5hY3RpdmF0ZWRSb3dcIlxyXG4gICAgICAgIFtleHBhbmRlZEFsbF09XCJleHBhbmRlZEFsbFwiXHJcbiAgICAgICAgW2V4cGFuZFRwbF09XCJleHBhbmRUcGxcIlxyXG4gICAgICAgIChhY3RpdmF0ZWRSb3dDaGFuZ2UpPVwidGFibGUuYWN0aXZhdGVkUm93Q2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgW2xldmVsXT1cInJvdy5sZXZlbCEgKyAxXCJcclxuICAgICAgICBbdGFibGVdPVwidGFibGVcIlxyXG4gICAgICA+PC94LXRhYmxlLWJvZHk+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcm93VHBsIGxldC1yb3c9XCJyb3dcIiBsZXQtaT1cImlcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibGV2ZWwgPiAwICYmIGV4cGFuZFRwbFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImV4cGFuZFRwbDsgY29udGV4dDogeyAkcm93OiByb3csICRpbmRleDogaSwgJGxldmVsOiBsZXZlbCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxldmVsID09PSAwIHx8ICFleHBhbmRUcGxcIj5cclxuICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJyb3dEZWZhdWx0OyBjb250ZXh0OiB7IHJvdzogcm93LCBpOiBpLCBsZXZlbDogbGV2ZWwgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNyb3dEZWZhdWx0IGxldC1yb3c9XCJyb3dcIiBsZXQtaT1cImlcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgaW5kZXggYXMgajsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIj5cclxuICAgIDx0ZFxyXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwiY29sdW1uLndpZHRoXCJcclxuICAgICAgW3N0eWxlLmZsZXhdPVwiZ2V0RmxleChjb2x1bW4pXCJcclxuICAgICAgW3RpdGxlXT1cImdldFRpdGxlKHJvdywgY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreV09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbikgfHwgdGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1sZWZ0XT1cInRhYmxlLmdldFN0aWNreUxlZnQoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnQtbGFzdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0TGFzdChjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LXJpZ2h0LWZpcnN0XT1cInRhYmxlLmdldFN0aWNreVJpZ2h0Rmlyc3QoY29sdW1uKVwiXHJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImNvbHVtbi5sZWZ0XCJcclxuICAgICAgW3N0eWxlLnJpZ2h0LnB4XT1cImNvbHVtbi5yaWdodFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIiFyb3dDbGFzcyA/IHt9IDogcm93Q2xhc3Mocm93LCBpKVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImNlbGxUcGw7IGNvbnRleHQ6IHsgY29sdW1uOiBjb2x1bW4sIHJvdzogcm93LCBpOiBpIH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY2VsbFRwbCBsZXQtY29sdW1uPVwiY29sdW1uXCIgbGV0LXJvdz1cInJvd1wiIGxldC1pPVwiaVwiPlxyXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbHVtbi50eXBlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XHJcbiAgICAgIDx4LWNoZWNrYm94XHJcbiAgICAgICAgW2RhdGFdPVwiW3sgaWQ6IHRydWUsIGxhYmVsOiAnJyB9XVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJyb3dbY29sdW1uLmlkXVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cInJvdy5kaXNhYmxlZFwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGFibGUuYm9keUNoZWNrZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgPjwveC1jaGVja2JveD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2luZGV4J1wiPlxyXG4gICAgICA8ZGl2Pnt7IHRhYmxlLmdldEluZGV4KGkpIH19PC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYmxlLmlzRXhwYW5kQ29sdW1uKGNvbHVtbilcIj5cclxuICAgICAgICA8eC1idXR0b25cclxuICAgICAgICAgIFtjbGFzcy5pcy1sZWFmXT1cIiFyb3cubGVhZlwiXHJcbiAgICAgICAgICBbY2xhc3MuaXMtZXhwYW5kZWRdPVwicm93LmV4cGFuZGVkXCJcclxuICAgICAgICAgIChjbGljayk9XCJvbkV4cGFuZGVkKCRldmVudCwgcm93KVwiXHJcbiAgICAgICAgICBpY29uPVwiZnRvLWNoZXZyb24tcmlnaHRcIlxyXG4gICAgICAgICAgc2l6ZT1cIm1pbmlcIlxyXG4gICAgICAgICAgb25seUljb25cclxuICAgICAgICAgIGNsYXNzPVwieC10YWJsZS1leHBhbmRcIlxyXG4gICAgICAgICAgW3N0eWxlLm1hcmdpbi1sZWZ0LnJlbV09XCJyb3cubGV2ZWwgLSAwLjVcIlxyXG4gICAgICAgID48L3gtYnV0dG9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImNvbHVtblRwbFtjb2x1bW4uaWRdOyBjb250ZXh0OiB7ICRjb2x1bW46IGNvbHVtbiwgJHJvdzogcm93LCAkaW5kZXg6IHRhYmxlLmdldEluZGV4KGkpIH1cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwidGFibGUuYm9keVRkVHBsOyBjb250ZXh0OiB7ICRjb2x1bW46IGNvbHVtbiwgJHJvdzogcm93LCAkaW5kZXg6IHRhYmxlLmdldEluZGV4KGkpIH1cIj5cclxuICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJyb3dbY29sdW1uLmlkXVwiIFtzdHlsZS50ZXh0LWFsaWduXT1cImNvbHVtbi50ZXh0QWxpZ25cIj48L2Rpdj5cclxuICAgICAgICAgIHt7IHRhYmxlLnJvd0V4cGFuZE5leHQgJiYgdGFibGUucm93RXhwYW5kTmV4dC5pZCA9PT0gY29sdW1uLmlkID8gJ3gtdGFibGUtYm9keS1sZXZlbC0nICsgcm93LmxldmVsIDogJycgfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RhYmxlL3RhYmxlLWJvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBR3ZCLE1BQU0sRUFDTixTQUFTLEVBQ1QsS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBdUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQTJCLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFRM0MsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQW1CekQ7SUFDRSxxREFBcUQ7SUFDOUMsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsR0FBc0IsRUFDSixHQUFRLEVBQzFCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTkQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ0osUUFBRyxHQUFILEdBQUcsQ0FBSztRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUF4QnRDLGVBQVUsR0FBZ0MsRUFBRSxDQUFDO1FBZXJDLGVBQVUs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SUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDO1NBQ2hFO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUNoQztRQUNELElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7U0FDL0U7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFO1lBQzVDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUMxQyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lB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LGlCQUVoQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkEwQjVDLE1BQU07MkJBQUMsUUFBUTt5RUFaRSxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ1EsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUNmLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBJbmplY3QsXHJcbiAgVmlld0NoaWxkLFxyXG4gIElucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUYWJsZUJvZHlQcmVmaXgsIFhUYWJsZUJvZHlQcm9wZXJ0eSwgWFRhYmxlUm93LCBYVGFibGVDb2x1bW4sIFhUYWJsZUNlbGwgfSBmcm9tICcuL3RhYmxlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgcmVtb3ZlTmdUYWcsIFhJc0NoYW5nZSwgWFJlc2l6ZSwgWENvbmZpZ1NlcnZpY2UsIFhOdW1iZXIsIHN0cmlwVGFncyB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUYWJsZUJvZHlQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtYm9keS5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlQm9keUNvbXBvbmVudCBleHRlbmRzIFhUYWJsZUJvZHlQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICB0Ym9keVN0eWxlOiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICBnZXQgaXNFbXB0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGE/Lmxlbmd0aCA9PT0gMDtcclxuICB9XHJcbiAgZ2V0IGdldFJvd0hlaWdodCgpIHtcclxuICAgIHJldHVybiB0aGlzLnJvd0hlaWdodCA9PSAwID8gJycgOiB0aGlzLnJvd0hlaWdodDtcclxuICB9XHJcbiAgZ2V0IGdldEl0ZW1TaXplKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucm93SGVpZ2h0ICE9PSAwICYmIHRoaXMuaXRlbVNpemUgPiB0aGlzLnJvd0hlaWdodCA/IHRoaXMucm93SGVpZ2h0IDogdGhpcy5pdGVtU2l6ZTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3Rib2R5JykgdGJvZHkhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3ZpcnR1YWxCb2R5JykgdmlydHVhbEJvZHkhOiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XHJcbiAgQElucHV0KCkgdGFibGU6IGFueTtcclxuXHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlciE6IFJlc2l6ZU9ic2VydmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIEBPcHRpb25hbCgpIEBIb3N0KCkgcHVibGljIHRhYmxlOiBYVGFibGVDb21wb25lbnQsXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwdWJsaWMgZG9jOiBhbnksXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgY29sdW1ucywgYWN0aXZhdGVkUm93LCBtZXJnZVJ1bGUsIGV4cGFuZGVkQWxsLCBhZGFwdGlvbkhlaWdodCB9ID0gc2ltcGxlcztcclxuICAgIFhJc0NoYW5nZShkYXRhLCBjb2x1bW5zLCBhY3RpdmF0ZWRSb3csIG1lcmdlUnVsZSwgZXhwYW5kZWRBbGwpICYmIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIFhJc0NoYW5nZShhZGFwdGlvbkhlaWdodCkgJiYgdGhpcy5zZXRBZGFwdGlvbkhlaWdodCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICByZW1vdmVOZ1RhZyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICBpZiAodGhpcy5sZXZlbCA+IDApIHJlbW92ZU5nVGFnKHRoaXMudGJvZHkubmF0aXZlRWxlbWVudCk7XHJcbiAgICBpZiAodGhpcy5zY3JvbGw/LnkgJiYgIXRoaXMuYm9keUhlaWdodCkge1xyXG4gICAgICB0aGlzLmJvZHlIZWlnaHQgPSB0aGlzLnNjcm9sbC55O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy50YWJsZS52aXJ0dWFsQm9keSA9IHRoaXMudmlydHVhbEJvZHk7XHJcbiAgICB0aGlzLnRhYmxlLmJvZHlDaGFuZ2UgPSAoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnNldFN1YmplY3QoKTtcclxuICAgIHRoaXMuc2V0U2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJqZWN0KCkge1xyXG4gICAgaWYgKHRoaXMudmlydHVhbEJvZHkpIHtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxDb250ZW50RWxlID0gdGhpcy52aXJ0dWFsQm9keT8uZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICcuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcidcclxuICAgICAgKSBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgaWYgKHRoaXMuc2Nyb2xsPy54KSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRhYmxlLnNjcm9sbENvbnRlbnRFbGUsICd3aWR0aCcsIGAke3RoaXMuc2Nyb2xsLnh9cHhgKTtcclxuICAgICAgfVxyXG4gICAgICBYUmVzaXplKHRoaXMudGFibGUudGFibGUubmF0aXZlRWxlbWVudCwgdGhpcy50YWJsZS5zY3JvbGxDb250ZW50RWxlKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICAgIHRoaXMuc2V0QWRhcHRpb25IZWlnaHQoKTtcclxuICAgICAgICAgIHRoaXMuc2V0U2Nyb2xsKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRBZGFwdGlvbkhlaWdodCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFibGUuc2Nyb2xsQ29udGVudEVsZSkge1xyXG4gICAgICBmcm9tRXZlbnQodGhpcy52aXJ0dWFsQm9keS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzY3JvbGwnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGVsZSA9IHguc3JjRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2Nyb2xsVG9wID0gZWxlLnNjcm9sbFRvcDtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2Nyb2xsTGVmdCA9IGVsZS5zY3JvbGxMZWZ0O1xyXG4gICAgICAgICAgaWYgKGVsZS5zY3JvbGxMZWZ0ID49IDAgJiYgdGhpcy50YWJsZS50aGVhZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IHRoZWFkIG9mIHRoaXMudGFibGUudGhlYWQpIHtcclxuICAgICAgICAgICAgICB0aGVhZC5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnRhYmxlLnNjcm9sbExlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMudGFibGUuc2Nyb2xsTGVmdE1heCA9IGVsZS5zY3JvbGxMZWZ0ICsgZWxlLmNsaWVudFdpZHRoID09PSBlbGUuc2Nyb2xsV2lkdGg7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTY3JvbGwoKSB7XHJcbiAgICBpZiAoIXRoaXMudmlydHVhbEJvZHkpIHJldHVybjtcclxuICAgIGNvbnN0IGVsZSA9IHRoaXMudmlydHVhbEJvZHkuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29uc3QgaGFzWSA9IGVsZS5zY3JvbGxIZWlnaHQgPiAodGhpcy5ib2R5SGVpZ2h0IGFzIG51bWJlcik7XHJcbiAgICBjb25zdCBoYXNYID0gdGhpcy50YWJsZS5zY3JvbGxDb250ZW50RWxlLmNsaWVudFdpZHRoID4gZWxlLmNsaWVudFdpZHRoO1xyXG5cclxuICAgIGlmICghdGhpcy50YWJsZS5oYXNTY3JvbGxZICYmIGhhc1kpIHtcclxuICAgICAgdGhpcy50YWJsZS5oYXNTY3JvbGxZID0gdHJ1ZTtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxZV2lkdGggPSBlbGUub2Zmc2V0V2lkdGggLSBlbGUuY2xpZW50V2lkdGg7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudGFibGUuaGFzU2Nyb2xsWSAmJiAhaGFzWSkge1xyXG4gICAgICB0aGlzLnRhYmxlLmhhc1Njcm9sbFkgPSBmYWxzZTtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxZV2lkdGggPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy50YWJsZS5oYXNTY3JvbGxYICYmIGhhc1gpIHtcclxuICAgICAgdGhpcy50YWJsZS5oYXNTY3JvbGxYID0gdHJ1ZTtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxYSGVpZ2h0ID0gZWxlLm9mZnNldEhlaWdodCAtIGVsZS5jbGllbnRIZWlnaHQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudGFibGUuaGFzU2Nyb2xsWCAmJiAhaGFzWCkge1xyXG4gICAgICB0aGlzLnRhYmxlLmhhc1Njcm9sbFggPSBmYWxzZTtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxYSGVpZ2h0ID0gMDtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxYV2lkdGggPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKGhhc1gpIHtcclxuICAgICAgdGhpcy50YWJsZS5zY3JvbGxYV2lkdGggPSBlbGUub2Zmc2V0V2lkdGggKyBlbGUuc2Nyb2xsV2lkdGggLSBlbGUuY2xpZW50V2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50YWJsZS5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0U3R5bGUoKSB7XHJcbiAgICBsZXQgaGVpZ2h0ID0gdGhpcy5yb3dIZWlnaHQgPT0gMCA/ICcnIDogdGhpcy5yb3dIZWlnaHQ7XHJcbiAgICBpZiAodGhpcy5jZWxsQ29uZmlnICYmIHRoaXMuY2VsbENvbmZpZy5jZWxscykge1xyXG4gICAgICBjb25zdCBzcHQgPSB0aGlzLmNlbGxDb25maWcuY2VsbHMubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ3JpZEFyZWFTcHQgPSB4LmdyaWRBcmVhPy5zcGxpdCgnLycpO1xyXG4gICAgICAgIHJldHVybiBncmlkQXJlYVNwdCAmJiBncmlkQXJlYVNwdC5sZW5ndGggPiAzID8gTnVtYmVyKGdyaWRBcmVhU3B0WzJdKSA6IDI7XHJcbiAgICAgIH0pO1xyXG4gICAgICBoZWlnaHQgPSAoKE1hdGgubWF4KC4uLnNwdCkgLSAxKSAqIChoZWlnaHQgYXMgbnVtYmVyKSkgYXMgWE51bWJlcjtcclxuICAgIH1cclxuICAgIHRoaXMudGJvZHlTdHlsZSA9IHtcclxuICAgICAgaGVpZ2h0OiBgJHtoZWlnaHR9cHhgXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5kZXgoaW5kZXg6IG51bWJlciwgaXRlbTogWFRhYmxlUm93KSB7XHJcbiAgICBpZiAoIWlzTmFOKGluZGV4KSkgcmV0dXJuIGluZGV4O1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YS5pbmRleE9mKGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RmxleChjb2x1bW46IFhUYWJsZUNvbHVtbikge1xyXG4gICAgaWYgKGNvbHVtbi53aWR0aCkgcmV0dXJuICdub25lJztcclxuICAgIGlmICghY29sdW1uLmZsZXgpIHJldHVybiAxO1xyXG4gICAgcmV0dXJuIGNvbHVtbi5mbGV4O1xyXG4gIH1cclxuXHJcbiAgZ2V0VGl0bGUocm93OiBYVGFibGVSb3csIGNvbHVtbjogWFRhYmxlQ2VsbCB8IGFueSkge1xyXG4gICAgbGV0IGl0ID0gcm93W2NvbHVtbi5pZCBhcyBzdHJpbmddO1xyXG4gICAgcmV0dXJuIGl0ID8gc3RyaXBUYWdzKGl0KSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgc2V0QWRhcHRpb25IZWlnaHQoKSB7XHJcbiAgICBpZiAoKHRoaXMuYWRhcHRpb25IZWlnaHQgYXMgbnVtYmVyKSA+IDApIHtcclxuICAgICAgY29uc3QgY2FwdGlvbkhlaWdodCA9IHRoaXMudGFibGUudGNhcHRpb24/Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IDA7XHJcbiAgICAgIGxldCBoZWFkSGVpZ2h0ID0gMDtcclxuICAgICAgZm9yIChsZXQgdGhlYWQgb2YgdGhpcy50YWJsZS50aGVhZCkge1xyXG4gICAgICAgIGhlYWRIZWlnaHQgKz0gdGhlYWQubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZm9vdEhlaWdodCA9IHRoaXMudGFibGUudGZvb3Q/Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IHx8IDA7XHJcbiAgICAgIGNvbnN0IHBhZ2luYXRpb25IZWlnaHQgPSB0aGlzLnRhYmxlLnBhZ2luYXRpb24/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgfHwgMDtcclxuICAgICAgdGhpcy5ib2R5SGVpZ2h0ID1cclxuICAgICAgICBOdW1iZXIodGhpcy5kb2NQZXJjZW50KSAqIHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgLVxyXG4gICAgICAgIGNhcHRpb25IZWlnaHQgLVxyXG4gICAgICAgIGhlYWRIZWlnaHQgLVxyXG4gICAgICAgIGZvb3RIZWlnaHQgLVxyXG4gICAgICAgIHBhZ2luYXRpb25IZWlnaHQgLVxyXG4gICAgICAgIE51bWJlcih0aGlzLmFkYXB0aW9uSGVpZ2h0KTtcclxuICAgICAgaWYgKHRoaXMuYm9keUhlaWdodCA8IDApIHRoaXMuYm9keUhlaWdodCA9IDA7XHJcbiAgICAgIHRoaXMubWluQnVmZmVyUHggPSB0aGlzLmJvZHlIZWlnaHQ7XHJcbiAgICAgIHRoaXMubWF4QnVmZmVyUHggPSB0aGlzLmJvZHlIZWlnaHQgKiAxLjI7XHJcbiAgICAgIHRoaXMudmlydHVhbEJvZHlbJ19zY3JvbGxTdHJhdGVneSddWydfbWluQnVmZmVyUHgnXSA9IHRoaXMubWluQnVmZmVyUHg7XHJcbiAgICAgIHRoaXMudmlydHVhbEJvZHlbJ19zY3JvbGxTdHJhdGVneSddWydfbWF4QnVmZmVyUHgnXSA9IHRoaXMubWF4QnVmZmVyUHg7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJvd0NsaWNrKGV2ZW50OiBFdmVudCwgcm93OiBYVGFibGVSb3cpIHtcclxuICAgIGlmIChyb3cuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm93ID0gcm93O1xyXG4gICAgaWYgKHRoaXMudGFibGUuYWxsb3dDaGVja1JvdyAmJiB0aGlzLnRhYmxlLnJvd0NoZWNrZWQpIHtcclxuICAgICAgaWYgKCFBcnJheS5mcm9tKChldmVudCBhcyBhbnkpLnBhdGgpLmZpbmQoKHg6IGFueSkgPT4geC5sb2NhbE5hbWUgPT0gJ3gtY2hlY2tib3gnKSkge1xyXG4gICAgICAgIHJvd1t0aGlzLnRhYmxlLnJvd0NoZWNrZWQuaWRdID0gIXJvd1t0aGlzLnRhYmxlLnJvd0NoZWNrZWQuaWRdO1xyXG4gICAgICAgIHRoaXMudGFibGUuYm9keUNoZWNrZWQocm93W3RoaXMudGFibGUucm93Q2hlY2tlZC5pZF0sIHRoaXMudGFibGUucm93Q2hlY2tlZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZhdGVkUm93Q2hhbmdlLmVtaXQocm93KTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uRXhwYW5kZWQoX2V2ZW50OiBFdmVudCwgbm9kZTogWFRhYmxlUm93KSB7XHJcbiAgICBub2RlLmV4cGFuZGVkID0gIW5vZGUuZXhwYW5kZWQ7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5SXRlbShfaW5kZXg6IG51bWJlciwgaXRlbTogWFRhYmxlUm93IHwgWFRhYmxlQ29sdW1uKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcbn1cclxuIiwiPHRib2R5ICN0Ym9keT5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbENvbmZpZzsgZWxzZSB2aXJ0dWFsU2Nyb2xsVHBsXCI+XHJcbiAgICA8dHIgKm5nRm9yPVwibGV0IHJvdyBvZiBkYXRhOyBpbmRleCBhcyBpOyB0cmFja0J5OiB0cmFja0J5SXRlbVwiIFtzdHlsZS5ncmlkVGVtcGxhdGVDb2x1bW5zXT1cImNlbGxDb25maWcuZ3JpZFRlbXBsYXRlQ29sdW1uc1wiPlxyXG4gICAgICA8dGRcclxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNlbGxDb25maWcuY2VsbHM7IGluZGV4IGFzIGpcIlxyXG4gICAgICAgIFt0aXRsZV09XCJnZXRUaXRsZShyb3csIGNvbHVtbilcIlxyXG4gICAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreV09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbikgfHwgdGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnRdPVwidGFibGUuZ2V0U3RpY2t5TGVmdChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHRdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnQtbGFzdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0TGFzdChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHQtZmlyc3RdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHRGaXJzdChjb2x1bW4pXCJcclxuICAgICAgICBbc3R5bGUubGVmdC5weF09XCJjb2x1bW4ubGVmdFwiXHJcbiAgICAgICAgW3N0eWxlLnJpZ2h0LnB4XT1cImNvbHVtbi5yaWdodFwiXHJcbiAgICAgICAgW3N0eWxlLmdyaWQtYXJlYV09XCJjb2x1bW4uZ3JpZEFyZWFcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNlbGxUcGw7IGNvbnRleHQ6IHsgY29sdW1uOiBjb2x1bW4sIHJvdzogcm93LCBpOiBpIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHgtZW1wdHkgKm5nSWY9XCJpc0VtcHR5ICYmIGxldmVsID09PSAwXCI+PC94LWVtcHR5PlxyXG48L3Rib2R5PlxyXG5cclxuPG5nLXRlbXBsYXRlICN2aXJ0dWFsU2Nyb2xsVHBsPlxyXG4gIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnRcclxuICAgICN2aXJ0dWFsQm9keVxyXG4gICAgKm5nSWY9XCJ2aXJ0dWFsU2Nyb2xsOyBlbHNlIGJvZHlUcGxcIlxyXG4gICAgW2l0ZW1TaXplXT1cImdldEl0ZW1TaXplXCJcclxuICAgIFttaW5CdWZmZXJQeF09XCJtaW5CdWZmZXJQeFwiXHJcbiAgICBbbWF4QnVmZmVyUHhdPVwibWF4QnVmZmVyUHhcIlxyXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJib2R5SGVpZ2h0XCJcclxuICA+XHJcbiAgICA8dHJcclxuICAgICAgKmNka1ZpcnR1YWxGb3I9XCJsZXQgcm93IG9mIGRhdGE7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SXRlbVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLWFjdGl2YXRlZF09XCJhbGxvd1NlbGVjdFJvdyAmJiBhY3RpdmF0ZWRSb3c/LmlkID09PSByb3cuaWRcIlxyXG4gICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiXHJcbiAgICAgIChjbGljayk9XCJyb3dDbGljaygkZXZlbnQsIHJvdylcIlxyXG4gICAgPlxyXG4gICAgICA8IS0tIHJvd0hlaWdodCDkuLogMCDnmoTml7blgJnvvIxpbmRleCDkuIvmoIfojrflj5bkuI3liLAgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUcGw7IGNvbnRleHQ6IHsgcm93OiByb3csIGk6IGdldEluZGV4KGluZGV4LCByb3cpIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdHI+XHJcbiAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2JvZHlUcGw+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcm93IG9mIGRhdGE7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCI+XHJcbiAgICA8dHJcclxuICAgICAgW2NsYXNzLngtdGFibGUtYWN0aXZhdGVkXT1cImFsbG93U2VsZWN0Um93ICYmIGFjdGl2YXRlZFJvdz8uaWQgPT09IHJvdy5pZFwiXHJcbiAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgICAgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgICAgKGNsaWNrKT1cInJvd0NsaWNrKCRldmVudCwgcm93KVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3dUcGw7IGNvbnRleHQ6IHsgcm93OiByb3csIGk6IGkgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC90cj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXRhYmxlLWNoaWxkcmVuXCIgW2NsYXNzLngtdGFibGUtZXhwYW5kVHBsXT1cImV4cGFuZFRwbFwiICpuZ0lmPVwidGFibGUudHJlZVRhYmxlICYmIHJvdy5jaGlsZHJlbiAmJiByb3cuZXhwYW5kZWRcIj5cclxuICAgICAgPHgtdGFibGUtYm9keVxyXG4gICAgICAgIFtkYXRhXT1cInJvdy5jaGlsZHJlblwiXHJcbiAgICAgICAgW2NvbHVtbnNdPVwidGFibGUuY29sdW1uc1wiXHJcbiAgICAgICAgW2l0ZW1TaXplXT1cInRhYmxlLml0ZW1TaXplXCJcclxuICAgICAgICBbcm93SGVpZ2h0XT1cInRhYmxlLnJvd0hlaWdodFwiXHJcbiAgICAgICAgW2NvbHVtblRwbF09XCJ0YWJsZS5ib2R5Q29sdW1uVHBsXCJcclxuICAgICAgICBbYWxsb3dTZWxlY3RSb3ddPVwidGFibGUuYWxsb3dTZWxlY3RSb3dcIlxyXG4gICAgICAgIFtyb3dDbGFzc109XCJ0YWJsZS5yb3dDbGFzc1wiXHJcbiAgICAgICAgW2NlbGxDb25maWddPVwidGFibGUuY2VsbENvbmZpZz8udGJvZHlcIlxyXG4gICAgICAgIFsoYWN0aXZhdGVkUm93KV09XCJ0YWJsZS5hY3RpdmF0ZWRSb3dcIlxyXG4gICAgICAgIFtleHBhbmRlZEFsbF09XCJleHBhbmRlZEFsbFwiXHJcbiAgICAgICAgW2V4cGFuZFRwbF09XCJleHBhbmRUcGxcIlxyXG4gICAgICAgIChhY3RpdmF0ZWRSb3dDaGFuZ2UpPVwidGFibGUuYWN0aXZhdGVkUm93Q2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgW2xldmVsXT1cInJvdy5sZXZlbCEgKyAxXCJcclxuICAgICAgICBbdGFibGVdPVwidGFibGVcIlxyXG4gICAgICA+PC94LXRhYmxlLWJvZHk+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcm93VHBsIGxldC1yb3c9XCJyb3dcIiBsZXQtaT1cImlcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibGV2ZWwgPiAwICYmIGV4cGFuZFRwbFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImV4cGFuZFRwbDsgY29udGV4dDogeyAkcm93OiByb3csICRpbmRleDogaSwgJGxldmVsOiBsZXZlbCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxldmVsID09PSAwIHx8ICFleHBhbmRUcGxcIj5cclxuICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJyb3dEZWZhdWx0OyBjb250ZXh0OiB7IHJvdzogcm93LCBpOiBpLCBsZXZlbDogbGV2ZWwgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNyb3dEZWZhdWx0IGxldC1yb3c9XCJyb3dcIiBsZXQtaT1cImlcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgaW5kZXggYXMgajsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIj5cclxuICAgIDx0ZFxyXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwiY29sdW1uLndpZHRoXCJcclxuICAgICAgW3N0eWxlLmZsZXhdPVwiZ2V0RmxleChjb2x1bW4pXCJcclxuICAgICAgW3RpdGxlXT1cImdldFRpdGxlKHJvdywgY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreV09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbikgfHwgdGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1sZWZ0XT1cInRhYmxlLmdldFN0aWNreUxlZnQoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LWxlZnQtbGFzdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0TGFzdChjb2x1bW4pXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5LXJpZ2h0LWZpcnN0XT1cInRhYmxlLmdldFN0aWNreVJpZ2h0Rmlyc3QoY29sdW1uKVwiXHJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImNvbHVtbi5sZWZ0XCJcclxuICAgICAgW3N0eWxlLnJpZ2h0LnB4XT1cImNvbHVtbi5yaWdodFwiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIiFyb3dDbGFzcyA/IHt9IDogcm93Q2xhc3Mocm93LCBpKVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImNlbGxUcGw7IGNvbnRleHQ6IHsgY29sdW1uOiBjb2x1bW4sIHJvdzogcm93LCBpOiBpIH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY2VsbFRwbCBsZXQtY29sdW1uPVwiY29sdW1uXCIgbGV0LXJvdz1cInJvd1wiIGxldC1pPVwiaVwiPlxyXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbHVtbi50eXBlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XHJcbiAgICAgIDx4LWNoZWNrYm94XHJcbiAgICAgICAgW2RhdGFdPVwiW3sgaWQ6IHRydWUsIGxhYmVsOiAnJyB9XVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJyb3dbY29sdW1uLmlkXVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cInJvdy5kaXNhYmxlZFwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGFibGUuYm9keUNoZWNrZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgPjwveC1jaGVja2JveD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2luZGV4J1wiPlxyXG4gICAgICA8ZGl2Pnt7IHRhYmxlLmdldEluZGV4KGkpIH19PC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYmxlLmlzRXhwYW5kQ29sdW1uKGNvbHVtbilcIj5cclxuICAgICAgICA8eC1idXR0b25cclxuICAgICAgICAgIFtjbGFzcy5pcy1sZWFmXT1cIiFyb3cubGVhZlwiXHJcbiAgICAgICAgICBbY2xhc3MuaXMtZXhwYW5kZWRdPVwicm93LmV4cGFuZGVkXCJcclxuICAgICAgICAgIChjbGljayk9XCJvbkV4cGFuZGVkKCRldmVudCwgcm93KVwiXHJcbiAgICAgICAgICBpY29uPVwiZnRvLWNoZXZyb24tcmlnaHRcIlxyXG4gICAgICAgICAgc2l6ZT1cIm1pbmlcIlxyXG4gICAgICAgICAgb25seUljb25cclxuICAgICAgICAgIGNsYXNzPVwieC10YWJsZS1leHBhbmRcIlxyXG4gICAgICAgICAgW3N0eWxlLm1hcmdpbi1sZWZ0LnJlbV09XCJyb3cubGV2ZWwgLSAwLjVcIlxyXG4gICAgICAgID48L3gtYnV0dG9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImNvbHVtblRwbFtjb2x1bW4uaWRdOyBjb250ZXh0OiB7ICRjb2x1bW46IGNvbHVtbiwgJHJvdzogcm93LCAkaW5kZXg6IHRhYmxlLmdldEluZGV4KGkpIH1cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwidGFibGUuYm9keVRkVHBsOyBjb250ZXh0OiB7ICRjb2x1bW46IGNvbHVtbiwgJHJvdzogcm93LCAkaW5kZXg6IHRhYmxlLmdldEluZGV4KGkpIH1cIj5cclxuICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJyb3dbY29sdW1uLmlkXVwiIFtzdHlsZS50ZXh0LWFsaWduXT1cImNvbHVtbi50ZXh0QWxpZ25cIj48L2Rpdj5cclxuICAgICAgICAgIHt7IHRhYmxlLnJvd0V4cGFuZE5leHQgJiYgdGFibGUucm93RXhwYW5kTmV4dC5pZCA9PT0gY29sdW1uLmlkID8gJ3gtdGFibGUtYm9keS1sZXZlbC0nICsgcm93LmxldmVsIDogJycgfX1cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -22,9 +22,9 @@ export class XTableFootComponent extends XTableFootProperty {
|
|
|
22
22
|
this.table.tfoot = this.tfoot;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
/** @nocollapse */ XTableFootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
26
|
-
/** @nocollapse */ XTableFootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
25
|
+
/** @nocollapse */ XTableFootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: XTableFootComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
/** @nocollapse */ XTableFootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: XTableFootComponent, selector: "x-table-foot", inputs: { table: "table" }, viewQueries: [{ propertyName: "tfoot", first: true, predicate: ["tfoot"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<tfoot #tfoot class=\"x-table-footer\" [style.height.px]=\"getRowHeight\" [style.min-height.px]=\"getRowHeight\">\r\n <ng-container *xOutlet=\"footer\">{{ footer }}</ng-container>\r\n</tfoot>\r\n", dependencies: [{ kind: "directive", type: i1.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: XTableFootComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
29
|
args: [{ selector: `${XTableFootPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<tfoot #tfoot class=\"x-table-footer\" [style.height.px]=\"getRowHeight\" [style.min-height.px]=\"getRowHeight\">\r\n <ng-container *xOutlet=\"footer\">{{ footer }}</ng-container>\r\n</tfoot>\r\n" }]
|
|
30
30
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tfoot: [{
|
|
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
33
33
|
}], table: [{
|
|
34
34
|
type: Input
|
|
35
35
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS1mb290LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RhYmxlL3RhYmxlLWZvb3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFRL0MsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQU16RDtJQUNFLHFEQUFxRDtJQUM5QyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQjtRQUU3QixLQUFLLEVBQUUsQ0FBQztRQUpELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUcvQixDQUFDO0lBVkQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7SUFVRCxRQUFRO1FBQ04sV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBTSxDQUFDO0lBQ2pDLENBQUM7O29JQXJCVSxtQkFBbUI7d0hBQW5CLG1CQUFtQix1TUNwQmhDLHNNQUdBOzRGRGlCYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsR0FBRyxnQkFBZ0IsRUFBRSxpQkFFaEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTt5SkFHM0IsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNULEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgSW5wdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRhYmxlRm9vdFByZWZpeCwgWFRhYmxlRm9vdFByb3BlcnR5IH0gZnJvbSAnLi90YWJsZS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IHJlbW92ZU5nVGFnIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFRhYmxlRm9vdFByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS1mb290LmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVGFibGVGb290Q29tcG9uZW50IGV4dGVuZHMgWFRhYmxlRm9vdFByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCd0Zm9vdCcpIHRmb290ITogRWxlbWVudFJlZjtcclxuICBASW5wdXQoKSB0YWJsZTogYW55O1xyXG4gIGdldCBnZXRSb3dIZWlnaHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yb3dIZWlnaHQgPT0gMCA/ICcnIDogdGhpcy5yb3dIZWlnaHQ7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gQE9wdGlvbmFsKCkgQEhvc3QoKSBwdWJsaWMgdGFibGU6IFhUYWJsZUNvbXBvbmVudCxcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgcmVtb3ZlTmdUYWcodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy50YWJsZS50Zm9vdCA9IHRoaXMudGZvb3QhO1xyXG4gIH1cclxufVxyXG4iLCI8dGZvb3QgI3Rmb290IGNsYXNzPVwieC10YWJsZS1mb290ZXJcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImdldFJvd0hlaWdodFwiPlxyXG4gIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJmb290ZXJcIj57eyBmb290ZXIgfX08L25nLWNvbnRhaW5lcj5cclxuPC90Zm9vdD5cclxuIl19
|
|
@@ -116,9 +116,9 @@ export class XTableHeadComponent extends XTableHeadProperty {
|
|
|
116
116
|
return item.id;
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
|
-
/** @nocollapse */ XTableHeadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
120
|
-
/** @nocollapse */ XTableHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
119
|
+
/** @nocollapse */ XTableHeadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: XTableHeadComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
120
|
+
/** @nocollapse */ XTableHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: XTableHeadComponent, selector: "x-table-head", inputs: { table: "table" }, viewQueries: [{ propertyName: "thead", first: true, predicate: ["thead"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead #thead [ngStyle]=\"theadStyle\" [class.x-table-head-top]=\"position === 'top'\" [class.x-table-head-bottom]=\"position === 'bottom'\">\r\n <ng-container *ngIf=\"cellConfig; else columnsTpl\">\r\n <tr [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\" [style.min-height.px]=\"getRowHeight\">\r\n <th\r\n *ngFor=\"let column of cellConfig.cells\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [class.x-table-width-drag]=\"column.dragWidth\"\r\n [style.grid-area]=\"column.gridArea\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [title]=\"column?.label\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n <div *ngIf=\"column.dragWidth\" class=\"x-table-drag-width\" xDrag (draging)=\"dragWidth($event, column)\"></div>\r\n </th>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"table.headSearchTpl\">\r\n <ng-container *ngTemplateOutlet=\"columnsTpl; context: { case: 'search' }\"></ng-container>\r\n </ng-container>\r\n</thead>\r\n\r\n<ng-template #columnsTpl let-case=\"case\">\r\n <tr\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.padding-right.px]=\"scrollYWidth\"\r\n [style.width.px]=\"scrollXWidth\"\r\n [class.x-table-search]=\"case === 'search'\"\r\n >\r\n <th\r\n *ngFor=\"let column of columns; trackBy: trackByItem\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.width.px]=\"getColumnWidth(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"getColumnRight(column.right)\"\r\n [style.flex]=\"getFlex(column)\"\r\n >\r\n <ng-container [ngSwitch]=\"case\">\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <ng-container *ngTemplateOutlet=\"table.headSearchTpl; context: { $column: column }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n <div *ngIf=\"column.dragWidth\" class=\"x-table-drag-width\" xDrag (draging)=\"dragWidth($event, column)\"></div>\r\n </ng-container>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n</ng-template>\r\n\r\n<ng-template #columnBaseTpl let-column=\"column\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox\r\n *ngIf=\"column.headChecked\"\r\n [data]=\"[{ id: true, label: column.label }]\"\r\n [(ngModel)]=\"table.checkedValues[column.id]\"\r\n (ngModelChange)=\"table.headChecked($event, column)\"\r\n [indeterminate]=\"table.checkedValues[column.id + table.indeterminate]\"\r\n ></x-checkbox>\r\n <ng-container *ngIf=\"!column.headChecked\">\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'index'\">\r\n <a>{{ column.label }}</a>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #cloumnDefaultTpl let-column=\"column\">\r\n <a [class.x-table-sort]=\"column.sort\" (click)=\"onSort(column)\" [style.text-align]=\"column.textAlign\">\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column }\">\r\n {{ column.label }}\r\n </ng-container>\r\n <x-icon\r\n *ngIf=\"column.sort\"\r\n type=\"fto-bar-chart\"\r\n class=\"x-table-sort-icon\"\r\n [class.x-table-icon-up]=\"sortStr === column.id + ' desc'\"\r\n [class.x-table-icon-down]=\"sortStr === column.id + ' asc'\"\r\n ></x-icon>\r\n </a>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: i5.XCheckboxComponent, selector: "x-checkbox" }, { kind: "component", type: i6.XIconComponent, selector: "x-icon" }, { kind: "directive", type: i7.XDragDirective, selector: "[xDrag]", outputs: ["draging"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: XTableHeadComponent, decorators: [{
|
|
122
122
|
type: Component,
|
|
123
123
|
args: [{ selector: `${XTableHeadPrefix}`, encapsulation: ViewEncapsulation.None, template: "<thead #thead [ngStyle]=\"theadStyle\" [class.x-table-head-top]=\"position === 'top'\" [class.x-table-head-bottom]=\"position === 'bottom'\">\r\n <ng-container *ngIf=\"cellConfig; else columnsTpl\">\r\n <tr [style.gridTemplateColumns]=\"cellConfig.gridTemplateColumns\" [style.min-height.px]=\"getRowHeight\">\r\n <th\r\n *ngFor=\"let column of cellConfig.cells\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [class.x-table-width-drag]=\"column.dragWidth\"\r\n [style.grid-area]=\"column.gridArea\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"column.right\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [title]=\"column?.label\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n <div *ngIf=\"column.dragWidth\" class=\"x-table-drag-width\" xDrag (draging)=\"dragWidth($event, column)\"></div>\r\n </th>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"table.headSearchTpl\">\r\n <ng-container *ngTemplateOutlet=\"columnsTpl; context: { case: 'search' }\"></ng-container>\r\n </ng-container>\r\n</thead>\r\n\r\n<ng-template #columnsTpl let-case=\"case\">\r\n <tr\r\n [style.height.px]=\"getRowHeight\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.padding-right.px]=\"scrollYWidth\"\r\n [style.width.px]=\"scrollXWidth\"\r\n [class.x-table-search]=\"case === 'search'\"\r\n >\r\n <th\r\n *ngFor=\"let column of columns; trackBy: trackByItem\"\r\n [class.x-table-sticky]=\"table.getStickyLeft(column) || table.getStickyRight(column)\"\r\n [class.x-table-sticky-left]=\"table.getStickyLeft(column)\"\r\n [class.x-table-sticky-right]=\"table.getStickyRight(column)\"\r\n [class.x-table-sticky-left-last]=\"table.getStickyLeftLast(column)\"\r\n [class.x-table-sticky-right-first]=\"table.getStickyRightFirst(column)\"\r\n [style.min-height.px]=\"getRowHeight\"\r\n [style.width.px]=\"getColumnWidth(column)\"\r\n [style.left.px]=\"column.left\"\r\n [style.right.px]=\"getColumnRight(column.right)\"\r\n [style.flex]=\"getFlex(column)\"\r\n >\r\n <ng-container [ngSwitch]=\"case\">\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <ng-container *ngTemplateOutlet=\"table.headSearchTpl; context: { $column: column }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"columnBaseTpl; context: { column: column }\"></ng-container>\r\n <div *ngIf=\"column.dragWidth\" class=\"x-table-drag-width\" xDrag (draging)=\"dragWidth($event, column)\"></div>\r\n </ng-container>\r\n </ng-container>\r\n </th>\r\n </tr>\r\n</ng-template>\r\n\r\n<ng-template #columnBaseTpl let-column=\"column\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <x-checkbox\r\n *ngIf=\"column.headChecked\"\r\n [data]=\"[{ id: true, label: column.label }]\"\r\n [(ngModel)]=\"table.checkedValues[column.id]\"\r\n (ngModelChange)=\"table.headChecked($event, column)\"\r\n [indeterminate]=\"table.checkedValues[column.id + table.indeterminate]\"\r\n ></x-checkbox>\r\n <ng-container *ngIf=\"!column.headChecked\">\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'index'\">\r\n <a>{{ column.label }}</a>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"cloumnDefaultTpl; context: { column: column }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #cloumnDefaultTpl let-column=\"column\">\r\n <a [class.x-table-sort]=\"column.sort\" (click)=\"onSort(column)\" [style.text-align]=\"column.textAlign\">\r\n <ng-container *xOutlet=\"columnTpl[column.id]; context: { $column: column }\">\r\n {{ column.label }}\r\n </ng-container>\r\n <x-icon\r\n *ngIf=\"column.sort\"\r\n type=\"fto-bar-chart\"\r\n class=\"x-table-sort-icon\"\r\n [class.x-table-icon-up]=\"sortStr === column.id + ' desc'\"\r\n [class.x-table-icon-down]=\"sortStr === column.id + ' asc'\"\r\n ></x-icon>\r\n </a>\r\n</ng-template>\r\n" }]
|
|
124
124
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { thead: [{
|
|
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
127
127
|
}], table: [{
|
|
128
128
|
type: Input
|
|
129
129
|
}] } });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS1oZWFkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RhYmxlL3RhYmxlLWhlYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFLakIsU0FBUyxFQUNULEtBQUssRUFDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQTRCLE1BQU0sa0JBQWtCLENBQUM7QUFDbEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQVMsU0FBUyxFQUEyQixNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7QUFPcEcsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQVN6RDtJQUNFLHFEQUFxRDtJQUM5QyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQixFQUN0QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFidEMsU0FBSSxHQUFZLEVBQUUsQ0FBQztRQUNuQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsZUFBVSxHQUFnQyxFQUFFLENBQUM7SUFjN0MsQ0FBQztJQVhELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNuRCxDQUFDO0lBV0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxPQUFP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RTtZQUNmLE1BQU0sQ0FBQyxLQUFnQixJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbEMsSUFBSSxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUU7Z0JBQUUsTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBa0I7UUFDNUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7O21JQTdHVSxtQkFBbUI7dUhBQW5CLG1CQUFtQiw0TkNuQmhDLG90SkFrR0E7MkZEL0VhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxHQUFHLGdCQUFnQixFQUFFLGlCQUVoQixpQkFBaUIsQ0FBQyxJQUFJO3NMQU1qQixLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ1QsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIElucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUYWJsZUhlYWRQcmVmaXgsIFhUYWJsZUhlYWRQcm9wZXJ0eSwgWFRhYmxlQ29sdW1uLCBYVGFibGVDZWxsIH0gZnJvbSAnLi90YWJsZS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IHJlbW92ZU5nVGFnLCBYSXNFbXB0eSwgWFNvcnQsIFhJc0NoYW5nZSwgWENvbmZpZ1NlcnZpY2UsIFhOdW1iZXIgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVGFibGVIZWFkUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWhlYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUhlYWRDb21wb25lbnQgZXh0ZW5kcyBYVGFibGVIZWFkUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHNvcnQ6IFhTb3J0W10gPSBbXTtcclxuICBzb3J0U3RyID0gJyc7XHJcbiAgdGhlYWRTdHlsZTogeyBbcHJvcGVydHk6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgQFZpZXdDaGlsZCgndGhlYWQnKSB0aGVhZCE6IEVsZW1lbnRSZWY7XHJcbiAgQElucHV0KCkgdGFibGU6IGFueTtcclxuICBnZXQgZ2V0Um93SGVpZ2h0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucm93SGVpZ2h0ID09IDAgPyAnJyA6IHRoaXMucm93SGVpZ2h0O1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIEBPcHRpb25hbCgpIEBIb3N0KCkgcHVibGljIHRhYmxlOiBYVGFibGVDb21wb25lbnQsXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhzaW1wbGVzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGNvbHVtbnMsIHNjcm9sbFlXaWR0aCwgc2Nyb2xsWFdpZHRoLCBjZWxsQ29uZmlnIH0gPSBzaW1wbGVzO1xyXG4gICAgWElzQ2hhbmdlKGNvbHVtbnMsIHNjcm9sbFlXaWR0aCwgc2Nyb2xsWFdpZHRoLCBjZWxsQ29uZmlnKSAmJiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHJlbW92ZU5nVGFnKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U3R5bGUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMudGFibGUudGhlYWQucHVzaCh0aGlzLnRoZWFkKTtcclxuICAgIHRoaXMudGFibGUuaGVhZENoYW5nZSA9ICgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGdldEZsZXgoY29sdW1uOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIGlmIChjb2x1bW4ud2lkdGgpIHJldHVybiAnbm9uZSc7XHJcbiAgICBpZiAoIWNvbHVtbi5mbGV4KSByZXR1cm4gMTtcclxuICAgIHJldHVybiBjb2x1bW4uZmxleDtcclxuICB9XHJcblxyXG4gIGdldENvbHVtblJpZ2h0KHJpZ2h0PzogbnVtYmVyKSB7XHJcbiAgICBpZiAoTnVtYmVyKHJpZ2h0KSA+PSAwKSB7XHJcbiAgICAgIGlmIChOdW1iZXIodGhpcy5zY3JvbGxZV2lkdGgpID49IDApIHtcclxuICAgICAgICByZXR1cm4gTnVtYmVyKHJpZ2h0KSArIE51bWJlcih0aGlzLnNjcm9sbFlXaWR0aCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIE51bWJlcihyaWdodCk7XHJcbiAgICB9XHJcbiAgICAvLyByZXR1cm4gcmlnaHQ7XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXRDb2x1bW5XaWR0aChjb2x1bW46IFhUYWJsZUNvbHVtbikge1xyXG4gICAgLy8gaWYgKE51bWJlcihjb2x1bW4ucmlnaHQpID09PSAwKSB7XHJcbiAgICAvLyAgIGlmIChOdW1iZXIodGhpcy5zY3JvbGxZV2lkdGgpID49IDApIHtcclxuICAgIC8vICAgICByZXR1cm4gTnVtYmVyKGNvbHVtbi53aWR0aCkgKyBOdW1iZXIodGhpcy5zY3JvbGxZV2lkdGgpO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIHJldHVybiBjb2x1bW4ud2lkdGg7XHJcbiAgICAvLyB9XHJcbiAgICByZXR1cm4gY29sdW1uLndpZHRoO1xyXG4gIH1cclxuXHJcbiAgc2V0U3R5bGUoKSB7XHJcbiAgICBsZXQgaGVpZ2h0ID0gdGhpcy5yb3dIZWlnaHQgPT0gMCA/ICcnIDogdGhpcy5yb3dIZWlnaHQ7XHJcbiAgICBpZiAodGhpcy5jZWxsQ29uZmlnICYmIHRoaXMuY2VsbENvbmZpZy5jZWxscykge1xyXG4gICAgICBjb25zdCBzcHQgPSB0aGlzLmNlbGxDb25maWcuY2VsbHMubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ3JpZEFyZWFTcHQgPSB4LmdyaWRBcmVhPy5zcGxpdCgnLycpO1xyXG4gICAgICAgIHJldHVybiBncmlkQXJlYVNwdCAmJiBncmlkQXJlYVNwdC5sZW5ndGggPiAzID8gTnVtYmVyKGdyaWRBcmVhU3B0WzJdKSA6IDI7XHJcbiAgICAgIH0pO1xyXG4gICAgICBoZWlnaHQgPSAoKE1hdGgubWF4KC4uLnNwdCkgLSAxKSAqIChoZWlnaHQgYXMgbnVtYmVyKSkgYXMgWE51bWJlcjtcclxuICAgIH1cclxuICAgIHRoaXMudGhlYWRTdHlsZSA9IHtcclxuICAgICAgLy8gaGVpZ2h0OiBgJHtoZWlnaHR9cHhgLFxyXG4gICAgICBbJ21pbi1oZWlnaHQnXTogYCR7dGhpcy5nZXRSb3dIZWlnaHR9cHhgXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgb25Tb3J0KGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBpZiAoIWNvbHVtbi5zb3J0KSByZXR1cm47XHJcbiAgICBpZiAoWElzRW1wdHkodGhpcy5zb3J0KSkgdGhpcy5zb3J0ID0gW107XHJcbiAgICBsZXQgc29ydCA9IHRoaXMuc29ydD8uZmluZCgoeSkgPT4geS5maWVsZCA9PT0gY29sdW1uLmlkKTtcclxuICAgIGlmIChzb3J0KSB7XHJcbiAgICAgIGlmIChzb3J0LnZhbHVlID09PSAnYXNjJykge1xyXG4gICAgICAgIHRoaXMuc29ydCA9IFtdO1xyXG4gICAgICAgIHRoaXMuc29ydFN0ciA9ICcnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNvcnQudmFsdWUgPSAnYXNjJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc29ydCA9IHsgZmllbGQ6IGNvbHVtbi5pZCwgdmFsdWU6ICdkZXNjJyB9O1xyXG4gICAgICB0aGlzLnNvcnQgPSBbc29ydF07XHJcbiAgICB9XHJcbiAgICBpZiAoIVhJc0VtcHR5KHRoaXMuc29ydCkpIHRoaXMuc29ydFN0ciA9IGAke3NvcnQuZmllbGR9ICR7c29ydC52YWx1ZX1gO1xyXG4gICAgdGhpcy50YWJsZS5jaGVja1NvcnQodGhpcy5zb3J0KTtcclxuICAgIHRoaXMudGFibGUuc29ydENoYW5nZS5lbWl0KHRoaXMuc29ydCk7XHJcbiAgICB0aGlzLnRhYmxlLnJlc2V0U2Nyb2xsKGZhbHNlLCB0cnVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGRyYWdXaWR0aChkaXM6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSwgY29sdW1uOiBYVGFibGVDb2x1bW4gfCBYVGFibGVDZWxsKSB7XHJcbiAgICBpZiAoY29sdW1uLndpZHRoKSB7XHJcbiAgICAgIChjb2x1bW4ud2lkdGggYXMgbnVtYmVyKSArPSBkaXMueDtcclxuICAgICAgaWYgKGNvbHVtbi53aWR0aCA8IDYwKSBjb2x1bW4ud2lkdGggPSA2MDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB0aGlzLnRhYmxlLmJvZHlDaGFuZ2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRyYWNrQnlJdGVtKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8dGhlYWQgI3RoZWFkIFtuZ1N0eWxlXT1cInRoZWFkU3R5bGVcIiBbY2xhc3MueC10YWJsZS1oZWFkLXRvcF09XCJwb3NpdGlvbiA9PT0gJ3RvcCdcIiBbY2xhc3MueC10YWJsZS1oZWFkLWJvdHRvbV09XCJwb3NpdGlvbiA9PT0gJ2JvdHRvbSdcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbENvbmZpZzsgZWxzZSBjb2x1bW5zVHBsXCI+XHJcbiAgICA8dHIgW3N0eWxlLmdyaWRUZW1wbGF0ZUNvbHVtbnNdPVwiY2VsbENvbmZpZy5ncmlkVGVtcGxhdGVDb2x1bW5zXCIgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCI+XHJcbiAgICAgIDx0aFxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY2VsbENvbmZpZy5jZWxsc1wiXHJcbiAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5XT1cInRhYmxlLmdldFN0aWNreUxlZnQoY29sdW1uKSB8fCB0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbilcIlxyXG4gICAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdC1sYXN0XT1cInRhYmxlLmdldFN0aWNreUxlZnRMYXN0KGNvbHVtbilcIlxyXG4gICAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodC1maXJzdF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodEZpcnN0KGNvbHVtbilcIlxyXG4gICAgICAgIFtjbGFzcy54LXRhYmxlLXdpZHRoLWRyYWddPVwiY29sdW1uLmRyYWdXaWR0aFwiXHJcbiAgICAgICAgW3N0eWxlLmdyaWQtYXJlYV09XCJjb2x1bW4uZ3JpZEFyZWFcIlxyXG4gICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImNvbHVtbi5sZWZ0XCJcclxuICAgICAgICBbc3R5bGUucmlnaHQucHhdPVwiY29sdW1uLnJpZ2h0XCJcclxuICAgICAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgICAgIFt0aXRsZV09XCJjb2x1bW4/LmxhYmVsXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW5CYXNlVHBsOyBjb250ZXh0OiB7IGNvbHVtbjogY29sdW1uIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmRyYWdXaWR0aFwiIGNsYXNzPVwieC10YWJsZS1kcmFnLXdpZHRoXCIgeERyYWcgKGRyYWdpbmcpPVwiZHJhZ1dpZHRoKCRldmVudCwgY29sdW1uKVwiPjwvZGl2PlxyXG4gICAgICA8L3RoPlxyXG4gICAgPC90cj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFibGUuaGVhZFNlYXJjaFRwbFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbnNUcGw7IGNvbnRleHQ6IHsgY2FzZTogJ3NlYXJjaCcgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L3RoZWFkPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb2x1bW5zVHBsIGxldC1jYXNlPVwiY2FzZVwiPlxyXG4gIDx0clxyXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgIFtzdHlsZS5wYWRkaW5nLXJpZ2h0LnB4XT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwic2Nyb2xsWFdpZHRoXCJcclxuICAgIFtjbGFzcy54LXRhYmxlLXNlYXJjaF09XCJjYXNlID09PSAnc2VhcmNoJ1wiXHJcbiAgPlxyXG4gICAgPHRoXHJcbiAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ldPVwidGFibGUuZ2V0U3RpY2t5TGVmdChjb2x1bW4pIHx8IHRhYmxlLmdldFN0aWNreVJpZ2h0KGNvbHVtbilcIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbilcIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHRdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1sZWZ0LWxhc3RdPVwidGFibGUuZ2V0U3RpY2t5TGVmdExhc3QoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodC1maXJzdF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodEZpcnN0KGNvbHVtbilcIlxyXG4gICAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwiZ2V0Q29sdW1uV2lkdGgoY29sdW1uKVwiXHJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImNvbHVtbi5sZWZ0XCJcclxuICAgICAgW3N0eWxlLnJpZ2h0LnB4XT1cImdldENvbHVtblJpZ2h0KGNvbHVtbi5yaWdodClcIlxyXG4gICAgICBbc3R5bGUuZmxleF09XCJnZXRGbGV4KGNvbHVtbilcIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjYXNlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlYXJjaCdcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZS5oZWFkU2VhcmNoVHBsOyBjb250ZXh0OiB7ICRjb2x1bW46IGNvbHVtbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbkJhc2VUcGw7IGNvbnRleHQ6IHsgY29sdW1uOiBjb2x1bW4gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5kcmFnV2lkdGhcIiBjbGFzcz1cIngtdGFibGUtZHJhZy13aWR0aFwiIHhEcmFnIChkcmFnaW5nKT1cImRyYWdXaWR0aCgkZXZlbnQsIGNvbHVtbilcIj48L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3RoPlxyXG4gIDwvdHI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbHVtbkJhc2VUcGwgbGV0LWNvbHVtbj1cImNvbHVtblwiPlxyXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbHVtbi50eXBlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XHJcbiAgICAgIDx4LWNoZWNrYm94XHJcbiAgICAgICAgKm5nSWY9XCJjb2x1bW4uaGVhZENoZWNrZWRcIlxyXG4gICAgICAgIFtkYXRhXT1cIlt7IGlkOiB0cnVlLCBsYWJlbDogY29sdW1uLmxhYmVsIH1dXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInRhYmxlLmNoZWNrZWRWYWx1ZXNbY29sdW1uLmlkXVwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGFibGUuaGVhZENoZWNrZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJ0YWJsZS5jaGVja2VkVmFsdWVzW2NvbHVtbi5pZCArIHRhYmxlLmluZGV0ZXJtaW5hdGVdXCJcclxuICAgICAgPjwveC1jaGVja2JveD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2x1bW4uaGVhZENoZWNrZWRcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvdW1uRGVmYXVsdFRwbDsgY29udGV4dDogeyBjb2x1bW46IGNvbHVtbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW5kZXgnXCI+XHJcbiAgICAgIDxhPnt7IGNvbHVtbi5sYWJlbCB9fTwvYT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvdW1uRGVmYXVsdFRwbDsgY29udGV4dDogeyBjb2x1bW46IGNvbHVtbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY2xvdW1uRGVmYXVsdFRwbCBsZXQtY29sdW1uPVwiY29sdW1uXCI+XHJcbiAgPGEgW2NsYXNzLngtdGFibGUtc29ydF09XCJjb2x1bW4uc29ydFwiIChjbGljayk9XCJvblNvcnQoY29sdW1uKVwiIFtzdHlsZS50ZXh0LWFsaWduXT1cImNvbHVtbi50ZXh0QWxpZ25cIj5cclxuICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJjb2x1bW5UcGxbY29sdW1uLmlkXTsgY29udGV4dDogeyAkY29sdW1uOiBjb2x1bW4gfVwiPlxyXG4gICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPHgtaWNvblxyXG4gICAgICAqbmdJZj1cImNvbHVtbi5zb3J0XCJcclxuICAgICAgdHlwZT1cImZ0by1iYXItY2hhcnRcIlxyXG4gICAgICBjbGFzcz1cIngtdGFibGUtc29ydC1pY29uXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtaWNvbi11cF09XCJzb3J0U3RyID09PSBjb2x1bW4uaWQgKyAnIGRlc2MnXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtaWNvbi1kb3duXT1cInNvcnRTdHIgPT09IGNvbHVtbi5pZCArICcgYXNjJ1wiXHJcbiAgICA+PC94LWljb24+XHJcbiAgPC9hPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaGVhZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90YWJsZS90YWJsZS1oZWFkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RhYmxlL3RhYmxlLWhlYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFLakIsU0FBUyxFQUNULEtBQUssRUFDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQTRCLE1BQU0sa0JBQWtCLENBQUM7QUFDbEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQVMsU0FBUyxFQUEyQixNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7QUFPcEcsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQVN6RDtJQUNFLHFEQUFxRDtJQUM5QyxRQUFtQixFQUNuQixVQUFzQixFQUN0QixHQUFzQixFQUN0QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUxELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFidEMsU0FBSSxHQUFZLEVBQUUsQ0FBQztRQUNuQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsZUFBVSxHQUFnQyxFQUFFLENBQUM7SUFjN0MsQ0FBQztJQVhELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNuRCxDQUFDO0lBV0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxPQUFP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RTtZQUNmLE1BQU0sQ0FBQyxLQUFnQixJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbEMsSUFBSSxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUU7Z0JBQUUsTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBa0I7UUFDNUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7O29JQTdHVSxtQkFBbUI7d0hBQW5CLG1CQUFtQiw0TkNuQmhDLG90SkFrR0E7NEZEL0VhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxHQUFHLGdCQUFnQixFQUFFLGlCQUVoQixpQkFBaUIsQ0FBQyxJQUFJO3NMQU1qQixLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ1QsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIElucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUYWJsZUhlYWRQcmVmaXgsIFhUYWJsZUhlYWRQcm9wZXJ0eSwgWFRhYmxlQ29sdW1uLCBYVGFibGVDZWxsIH0gZnJvbSAnLi90YWJsZS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IHJlbW92ZU5nVGFnLCBYSXNFbXB0eSwgWFNvcnQsIFhJc0NoYW5nZSwgWENvbmZpZ1NlcnZpY2UsIFhOdW1iZXIgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVGFibGVIZWFkUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWhlYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUhlYWRDb21wb25lbnQgZXh0ZW5kcyBYVGFibGVIZWFkUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHNvcnQ6IFhTb3J0W10gPSBbXTtcclxuICBzb3J0U3RyID0gJyc7XHJcbiAgdGhlYWRTdHlsZTogeyBbcHJvcGVydHk6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgQFZpZXdDaGlsZCgndGhlYWQnKSB0aGVhZCE6IEVsZW1lbnRSZWY7XHJcbiAgQElucHV0KCkgdGFibGU6IGFueTtcclxuICBnZXQgZ2V0Um93SGVpZ2h0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucm93SGVpZ2h0ID09IDAgPyAnJyA6IHRoaXMucm93SGVpZ2h0O1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIEBPcHRpb25hbCgpIEBIb3N0KCkgcHVibGljIHRhYmxlOiBYVGFibGVDb21wb25lbnQsXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhzaW1wbGVzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGNvbHVtbnMsIHNjcm9sbFlXaWR0aCwgc2Nyb2xsWFdpZHRoLCBjZWxsQ29uZmlnIH0gPSBzaW1wbGVzO1xyXG4gICAgWElzQ2hhbmdlKGNvbHVtbnMsIHNjcm9sbFlXaWR0aCwgc2Nyb2xsWFdpZHRoLCBjZWxsQ29uZmlnKSAmJiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHJlbW92ZU5nVGFnKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U3R5bGUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMudGFibGUudGhlYWQucHVzaCh0aGlzLnRoZWFkKTtcclxuICAgIHRoaXMudGFibGUuaGVhZENoYW5nZSA9ICgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGdldEZsZXgoY29sdW1uOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIGlmIChjb2x1bW4ud2lkdGgpIHJldHVybiAnbm9uZSc7XHJcbiAgICBpZiAoIWNvbHVtbi5mbGV4KSByZXR1cm4gMTtcclxuICAgIHJldHVybiBjb2x1bW4uZmxleDtcclxuICB9XHJcblxyXG4gIGdldENvbHVtblJpZ2h0KHJpZ2h0PzogbnVtYmVyKSB7XHJcbiAgICBpZiAoTnVtYmVyKHJpZ2h0KSA+PSAwKSB7XHJcbiAgICAgIGlmIChOdW1iZXIodGhpcy5zY3JvbGxZV2lkdGgpID49IDApIHtcclxuICAgICAgICByZXR1cm4gTnVtYmVyKHJpZ2h0KSArIE51bWJlcih0aGlzLnNjcm9sbFlXaWR0aCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIE51bWJlcihyaWdodCk7XHJcbiAgICB9XHJcbiAgICAvLyByZXR1cm4gcmlnaHQ7XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXRDb2x1bW5XaWR0aChjb2x1bW46IFhUYWJsZUNvbHVtbikge1xyXG4gICAgLy8gaWYgKE51bWJlcihjb2x1bW4ucmlnaHQpID09PSAwKSB7XHJcbiAgICAvLyAgIGlmIChOdW1iZXIodGhpcy5zY3JvbGxZV2lkdGgpID49IDApIHtcclxuICAgIC8vICAgICByZXR1cm4gTnVtYmVyKGNvbHVtbi53aWR0aCkgKyBOdW1iZXIodGhpcy5zY3JvbGxZV2lkdGgpO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIHJldHVybiBjb2x1bW4ud2lkdGg7XHJcbiAgICAvLyB9XHJcbiAgICByZXR1cm4gY29sdW1uLndpZHRoO1xyXG4gIH1cclxuXHJcbiAgc2V0U3R5bGUoKSB7XHJcbiAgICBsZXQgaGVpZ2h0ID0gdGhpcy5yb3dIZWlnaHQgPT0gMCA/ICcnIDogdGhpcy5yb3dIZWlnaHQ7XHJcbiAgICBpZiAodGhpcy5jZWxsQ29uZmlnICYmIHRoaXMuY2VsbENvbmZpZy5jZWxscykge1xyXG4gICAgICBjb25zdCBzcHQgPSB0aGlzLmNlbGxDb25maWcuY2VsbHMubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ3JpZEFyZWFTcHQgPSB4LmdyaWRBcmVhPy5zcGxpdCgnLycpO1xyXG4gICAgICAgIHJldHVybiBncmlkQXJlYVNwdCAmJiBncmlkQXJlYVNwdC5sZW5ndGggPiAzID8gTnVtYmVyKGdyaWRBcmVhU3B0WzJdKSA6IDI7XHJcbiAgICAgIH0pO1xyXG4gICAgICBoZWlnaHQgPSAoKE1hdGgubWF4KC4uLnNwdCkgLSAxKSAqIChoZWlnaHQgYXMgbnVtYmVyKSkgYXMgWE51bWJlcjtcclxuICAgIH1cclxuICAgIHRoaXMudGhlYWRTdHlsZSA9IHtcclxuICAgICAgLy8gaGVpZ2h0OiBgJHtoZWlnaHR9cHhgLFxyXG4gICAgICBbJ21pbi1oZWlnaHQnXTogYCR7dGhpcy5nZXRSb3dIZWlnaHR9cHhgXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgb25Tb3J0KGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBpZiAoIWNvbHVtbi5zb3J0KSByZXR1cm47XHJcbiAgICBpZiAoWElzRW1wdHkodGhpcy5zb3J0KSkgdGhpcy5zb3J0ID0gW107XHJcbiAgICBsZXQgc29ydCA9IHRoaXMuc29ydD8uZmluZCgoeSkgPT4geS5maWVsZCA9PT0gY29sdW1uLmlkKTtcclxuICAgIGlmIChzb3J0KSB7XHJcbiAgICAgIGlmIChzb3J0LnZhbHVlID09PSAnYXNjJykge1xyXG4gICAgICAgIHRoaXMuc29ydCA9IFtdO1xyXG4gICAgICAgIHRoaXMuc29ydFN0ciA9ICcnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNvcnQudmFsdWUgPSAnYXNjJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc29ydCA9IHsgZmllbGQ6IGNvbHVtbi5pZCwgdmFsdWU6ICdkZXNjJyB9O1xyXG4gICAgICB0aGlzLnNvcnQgPSBbc29ydF07XHJcbiAgICB9XHJcbiAgICBpZiAoIVhJc0VtcHR5KHRoaXMuc29ydCkpIHRoaXMuc29ydFN0ciA9IGAke3NvcnQuZmllbGR9ICR7c29ydC52YWx1ZX1gO1xyXG4gICAgdGhpcy50YWJsZS5jaGVja1NvcnQodGhpcy5zb3J0KTtcclxuICAgIHRoaXMudGFibGUuc29ydENoYW5nZS5lbWl0KHRoaXMuc29ydCk7XHJcbiAgICB0aGlzLnRhYmxlLnJlc2V0U2Nyb2xsKGZhbHNlLCB0cnVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGRyYWdXaWR0aChkaXM6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSwgY29sdW1uOiBYVGFibGVDb2x1bW4gfCBYVGFibGVDZWxsKSB7XHJcbiAgICBpZiAoY29sdW1uLndpZHRoKSB7XHJcbiAgICAgIChjb2x1bW4ud2lkdGggYXMgbnVtYmVyKSArPSBkaXMueDtcclxuICAgICAgaWYgKGNvbHVtbi53aWR0aCA8IDYwKSBjb2x1bW4ud2lkdGggPSA2MDtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB0aGlzLnRhYmxlLmJvZHlDaGFuZ2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRyYWNrQnlJdGVtKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8dGhlYWQgI3RoZWFkIFtuZ1N0eWxlXT1cInRoZWFkU3R5bGVcIiBbY2xhc3MueC10YWJsZS1oZWFkLXRvcF09XCJwb3NpdGlvbiA9PT0gJ3RvcCdcIiBbY2xhc3MueC10YWJsZS1oZWFkLWJvdHRvbV09XCJwb3NpdGlvbiA9PT0gJ2JvdHRvbSdcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbENvbmZpZzsgZWxzZSBjb2x1bW5zVHBsXCI+XHJcbiAgICA8dHIgW3N0eWxlLmdyaWRUZW1wbGF0ZUNvbHVtbnNdPVwiY2VsbENvbmZpZy5ncmlkVGVtcGxhdGVDb2x1bW5zXCIgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCI+XHJcbiAgICAgIDx0aFxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY2VsbENvbmZpZy5jZWxsc1wiXHJcbiAgICAgICAgW2NsYXNzLngtdGFibGUtc3RpY2t5XT1cInRhYmxlLmdldFN0aWNreUxlZnQoY29sdW1uKSB8fCB0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbilcIlxyXG4gICAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodChjb2x1bW4pXCJcclxuICAgICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdC1sYXN0XT1cInRhYmxlLmdldFN0aWNreUxlZnRMYXN0KGNvbHVtbilcIlxyXG4gICAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodC1maXJzdF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodEZpcnN0KGNvbHVtbilcIlxyXG4gICAgICAgIFtjbGFzcy54LXRhYmxlLXdpZHRoLWRyYWddPVwiY29sdW1uLmRyYWdXaWR0aFwiXHJcbiAgICAgICAgW3N0eWxlLmdyaWQtYXJlYV09XCJjb2x1bW4uZ3JpZEFyZWFcIlxyXG4gICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImNvbHVtbi5sZWZ0XCJcclxuICAgICAgICBbc3R5bGUucmlnaHQucHhdPVwiY29sdW1uLnJpZ2h0XCJcclxuICAgICAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgICAgIFt0aXRsZV09XCJjb2x1bW4/LmxhYmVsXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb2x1bW5CYXNlVHBsOyBjb250ZXh0OiB7IGNvbHVtbjogY29sdW1uIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmRyYWdXaWR0aFwiIGNsYXNzPVwieC10YWJsZS1kcmFnLXdpZHRoXCIgeERyYWcgKGRyYWdpbmcpPVwiZHJhZ1dpZHRoKCRldmVudCwgY29sdW1uKVwiPjwvZGl2PlxyXG4gICAgICA8L3RoPlxyXG4gICAgPC90cj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFibGUuaGVhZFNlYXJjaFRwbFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbnNUcGw7IGNvbnRleHQ6IHsgY2FzZTogJ3NlYXJjaCcgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L3RoZWFkPlxyXG5cclxuPG5nLXRlbXBsYXRlICNjb2x1bW5zVHBsIGxldC1jYXNlPVwiY2FzZVwiPlxyXG4gIDx0clxyXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgW3N0eWxlLm1pbi1oZWlnaHQucHhdPVwiZ2V0Um93SGVpZ2h0XCJcclxuICAgIFtzdHlsZS5wYWRkaW5nLXJpZ2h0LnB4XT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwic2Nyb2xsWFdpZHRoXCJcclxuICAgIFtjbGFzcy54LXRhYmxlLXNlYXJjaF09XCJjYXNlID09PSAnc2VhcmNoJ1wiXHJcbiAgPlxyXG4gICAgPHRoXHJcbiAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ldPVwidGFibGUuZ2V0U3RpY2t5TGVmdChjb2x1bW4pIHx8IHRhYmxlLmdldFN0aWNreVJpZ2h0KGNvbHVtbilcIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktbGVmdF09XCJ0YWJsZS5nZXRTdGlja3lMZWZ0KGNvbHVtbilcIlxyXG4gICAgICBbY2xhc3MueC10YWJsZS1zdGlja3ktcmlnaHRdPVwidGFibGUuZ2V0U3RpY2t5UmlnaHQoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1sZWZ0LWxhc3RdPVwidGFibGUuZ2V0U3RpY2t5TGVmdExhc3QoY29sdW1uKVwiXHJcbiAgICAgIFtjbGFzcy54LXRhYmxlLXN0aWNreS1yaWdodC1maXJzdF09XCJ0YWJsZS5nZXRTdGlja3lSaWdodEZpcnN0KGNvbHVtbilcIlxyXG4gICAgICBbc3R5bGUubWluLWhlaWdodC5weF09XCJnZXRSb3dIZWlnaHRcIlxyXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwiZ2V0Q29sdW1uV2lkdGgoY29sdW1uKVwiXHJcbiAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImNvbHVtbi5sZWZ0XCJcclxuICAgICAgW3N0eWxlLnJpZ2h0LnB4XT1cImdldENvbHVtblJpZ2h0KGNvbHVtbi5yaWdodClcIlxyXG4gICAgICBbc3R5bGUuZmxleF09XCJnZXRGbGV4KGNvbHVtbilcIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjYXNlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlYXJjaCdcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZS5oZWFkU2VhcmNoVHBsOyBjb250ZXh0OiB7ICRjb2x1bW46IGNvbHVtbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbHVtbkJhc2VUcGw7IGNvbnRleHQ6IHsgY29sdW1uOiBjb2x1bW4gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5kcmFnV2lkdGhcIiBjbGFzcz1cIngtdGFibGUtZHJhZy13aWR0aFwiIHhEcmFnIChkcmFnaW5nKT1cImRyYWdXaWR0aCgkZXZlbnQsIGNvbHVtbilcIj48L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L3RoPlxyXG4gIDwvdHI+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbHVtbkJhc2VUcGwgbGV0LWNvbHVtbj1cImNvbHVtblwiPlxyXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbHVtbi50eXBlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XHJcbiAgICAgIDx4LWNoZWNrYm94XHJcbiAgICAgICAgKm5nSWY9XCJjb2x1bW4uaGVhZENoZWNrZWRcIlxyXG4gICAgICAgIFtkYXRhXT1cIlt7IGlkOiB0cnVlLCBsYWJlbDogY29sdW1uLmxhYmVsIH1dXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInRhYmxlLmNoZWNrZWRWYWx1ZXNbY29sdW1uLmlkXVwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGFibGUuaGVhZENoZWNrZWQoJGV2ZW50LCBjb2x1bW4pXCJcclxuICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJ0YWJsZS5jaGVja2VkVmFsdWVzW2NvbHVtbi5pZCArIHRhYmxlLmluZGV0ZXJtaW5hdGVdXCJcclxuICAgICAgPjwveC1jaGVja2JveD5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2x1bW4uaGVhZENoZWNrZWRcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvdW1uRGVmYXVsdFRwbDsgY29udGV4dDogeyBjb2x1bW46IGNvbHVtbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW5kZXgnXCI+XHJcbiAgICAgIDxhPnt7IGNvbHVtbi5sYWJlbCB9fTwvYT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvdW1uRGVmYXVsdFRwbDsgY29udGV4dDogeyBjb2x1bW46IGNvbHVtbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY2xvdW1uRGVmYXVsdFRwbCBsZXQtY29sdW1uPVwiY29sdW1uXCI+XHJcbiAgPGEgW2NsYXNzLngtdGFibGUtc29ydF09XCJjb2x1bW4uc29ydFwiIChjbGljayk9XCJvblNvcnQoY29sdW1uKVwiIFtzdHlsZS50ZXh0LWFsaWduXT1cImNvbHVtbi50ZXh0QWxpZ25cIj5cclxuICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJjb2x1bW5UcGxbY29sdW1uLmlkXTsgY29udGV4dDogeyAkY29sdW1uOiBjb2x1bW4gfVwiPlxyXG4gICAgICB7eyBjb2x1bW4ubGFiZWwgfX1cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPHgtaWNvblxyXG4gICAgICAqbmdJZj1cImNvbHVtbi5zb3J0XCJcclxuICAgICAgdHlwZT1cImZ0by1iYXItY2hhcnRcIlxyXG4gICAgICBjbGFzcz1cIngtdGFibGUtc29ydC1pY29uXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtaWNvbi11cF09XCJzb3J0U3RyID09PSBjb2x1bW4uaWQgKyAnIGRlc2MnXCJcclxuICAgICAgW2NsYXNzLngtdGFibGUtaWNvbi1kb3duXT1cInNvcnRTdHIgPT09IGNvbHVtbi5pZCArICcgYXNjJ1wiXHJcbiAgICA+PC94LWljb24+XHJcbiAgPC9hPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|