ontimize-web-ngx 15.0.0-rc.0 → 15.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/app-header/o-app-header.component.mjs +4 -4
- package/esm2020/lib/components/app-header/o-app-header.module.mjs +5 -5
- package/esm2020/lib/components/app-sidenav/image/o-app-sidenav-image.component.mjs +4 -4
- package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +4 -4
- package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +4 -4
- package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +4 -4
- package/esm2020/lib/components/app-sidenav/o-app-sidenav.module.mjs +5 -5
- package/esm2020/lib/components/bar-menu/locale-menu-item/o-locale-bar-menu-item.component.mjs +4 -4
- package/esm2020/lib/components/bar-menu/menu-group/o-bar-menu-group.component.mjs +4 -4
- package/esm2020/lib/components/bar-menu/menu-item/o-bar-menu-item.component.mjs +4 -4
- package/esm2020/lib/components/bar-menu/menu-nested/o-bar-menu-nested.component.mjs +4 -4
- package/esm2020/lib/components/bar-menu/menu-separator/o-bar-menu-separator.component.mjs +4 -4
- package/esm2020/lib/components/bar-menu/o-bar-menu-base.class.mjs +4 -4
- package/esm2020/lib/components/bar-menu/o-bar-menu.component.mjs +4 -4
- package/esm2020/lib/components/bar-menu/o-bar-menu.module.mjs +5 -5
- package/esm2020/lib/components/bar-menu/o-base-menu-item.class.mjs +4 -4
- package/esm2020/lib/components/breadcrumb/o-breadcrumb.component.mjs +4 -4
- package/esm2020/lib/components/breadcrumb/o-breadcrumb.module.mjs +5 -5
- package/esm2020/lib/components/button/o-button.component.mjs +4 -4
- package/esm2020/lib/components/button/o-button.module.mjs +5 -5
- package/esm2020/lib/components/button-toggle/o-button-toggle-group/o-button-toggle-group.component.mjs +4 -4
- package/esm2020/lib/components/button-toggle/o-button-toggle.component.mjs +4 -4
- package/esm2020/lib/components/button-toggle/o-button-toggle.module.mjs +5 -5
- package/esm2020/lib/components/card-menu-item/o-card-menu-item.component.mjs +4 -4
- package/esm2020/lib/components/card-menu-item/o-card-menu-item.module.mjs +5 -5
- package/esm2020/lib/components/container/column/o-column.component.mjs +4 -4
- package/esm2020/lib/components/container/column/o-column.module.mjs +5 -5
- package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.component.mjs +4 -4
- package/esm2020/lib/components/container/column-collapsible/o-column-collapsible.module.mjs +5 -5
- package/esm2020/lib/components/container/o-container-collapsible-component.class.mjs +4 -4
- package/esm2020/lib/components/container/o-container-component.class.mjs +4 -4
- package/esm2020/lib/components/container/row/o-row.component.mjs +4 -4
- package/esm2020/lib/components/container/row/o-row.module.mjs +5 -5
- package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.component.mjs +4 -4
- package/esm2020/lib/components/container/row-collapsible/o-row-collapsible.module.mjs +5 -5
- package/esm2020/lib/components/contextmenu/context-menu/o-context-menu-content.component.mjs +4 -4
- package/esm2020/lib/components/contextmenu/context-menu/o-wrapper-content-menu/o-wrapper-content-menu.component.mjs +4 -4
- package/esm2020/lib/components/contextmenu/context-menu-group/o-context-menu-group.component.mjs +4 -4
- package/esm2020/lib/components/contextmenu/context-menu-item/o-context-menu-item.component.mjs +4 -4
- package/esm2020/lib/components/contextmenu/context-menu-separator/o-context-menu-separator.component.mjs +4 -4
- package/esm2020/lib/components/contextmenu/o-content-menu-base-item.class.mjs +4 -4
- package/esm2020/lib/components/contextmenu/o-context-menu-overlay.service.mjs +4 -4
- package/esm2020/lib/components/contextmenu/o-context-menu.component.mjs +4 -4
- package/esm2020/lib/components/contextmenu/o-context-menu.directive.mjs +4 -4
- package/esm2020/lib/components/contextmenu/o-context-menu.module.mjs +5 -5
- package/esm2020/lib/components/contextmenu/o-context-menu.service.mjs +4 -4
- package/esm2020/lib/components/dual-list-selector/dual-list-selector-item/date/o-dual-list-selector-date-item.component.mjs +4 -4
- package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.component.mjs +4 -4
- package/esm2020/lib/components/dual-list-selector/o-dual-list-selector.module.mjs +5 -5
- package/esm2020/lib/components/expandable-container/o-expandable-container.component.mjs +4 -4
- package/esm2020/lib/components/expandable-container/o-expandable-container.module.mjs +5 -5
- package/esm2020/lib/components/filter-builder/filter-builder-menu/filter-builder-menu.component.mjs +4 -4
- package/esm2020/lib/components/filter-builder/o-filter-builder-clear.directive.mjs +4 -4
- package/esm2020/lib/components/filter-builder/o-filter-builder-query.directive.mjs +4 -4
- package/esm2020/lib/components/filter-builder/o-filter-builder.component.mjs +4 -4
- package/esm2020/lib/components/filter-builder/o-filter-builder.module.mjs +5 -5
- package/esm2020/lib/components/form/guards/o-form-can-deactivate.guard.mjs +4 -4
- package/esm2020/lib/components/form/navigation/o-form-confirm-exit.service.mjs +4 -4
- package/esm2020/lib/components/form/navigation/o-form-navigation.component.mjs +13 -22
- package/esm2020/lib/components/form/o-form.component.mjs +4 -4
- package/esm2020/lib/components/form/o-form.module.mjs +5 -5
- package/esm2020/lib/components/form/services/o-form-message.service.mjs +4 -4
- package/esm2020/lib/components/form/toolbar/o-form-toolbar.component.mjs +4 -4
- package/esm2020/lib/components/form/toolbar/o-form-toolbar.module.mjs +5 -5
- package/esm2020/lib/components/form-container/o-form-container.component.mjs +4 -4
- package/esm2020/lib/components/form-container/o-form-container.module.mjs +5 -5
- package/esm2020/lib/components/grid/grid-item/o-grid-item.component.mjs +4 -4
- package/esm2020/lib/components/grid/grid-item/o-grid-item.directive.mjs +4 -4
- package/esm2020/lib/components/grid/o-grid.component.mjs +11 -11
- package/esm2020/lib/components/grid/o-grid.module.mjs +9 -7
- package/esm2020/lib/components/grid/skeketon/o-grid-skeleton/o-grid-skeleton.component.mjs +26 -0
- package/esm2020/lib/components/image/fullscreen/fullscreen-dialog.component.mjs +4 -4
- package/esm2020/lib/components/image/o-image.component.mjs +4 -4
- package/esm2020/lib/components/image/o-image.module.mjs +5 -5
- package/esm2020/lib/components/input/checkbox/o-checkbox.component.mjs +4 -4
- package/esm2020/lib/components/input/checkbox/o-checkbox.module.mjs +5 -5
- package/esm2020/lib/components/input/combo/combo-renderer/boolean/o-combo-renderer-boolean.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/currency/o-combo-renderer-currency.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/date/o-combo-renderer-date.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/icon/o-combo-renderer-icon.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/integer/o-combo-renderer-integer.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/o-combo-renderer.class.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/percentage/o-combo-renderer-percentage.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-renderer/real/o-combo-renderer-real.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/combo-search/o-combo-search.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/o-combo.component.mjs +4 -4
- package/esm2020/lib/components/input/combo/o-combo.module.mjs +5 -5
- package/esm2020/lib/components/input/currency-input/o-currency-input.component.mjs +4 -4
- package/esm2020/lib/components/input/currency-input/o-currency-input.module.mjs +5 -5
- package/esm2020/lib/components/input/date-input/o-date-input.component.mjs +4 -4
- package/esm2020/lib/components/input/date-input/o-date-input.module.mjs +5 -5
- package/esm2020/lib/components/input/date-range/o-daterange-input.component.mjs +4 -4
- package/esm2020/lib/components/input/date-range/o-daterange-input.directive.mjs +4 -4
- package/esm2020/lib/components/input/date-range/o-daterange-input.module.mjs +5 -5
- package/esm2020/lib/components/input/date-range/o-daterange-picker.component.mjs +4 -4
- package/esm2020/lib/components/input/email-input/o-email-input.component.mjs +4 -4
- package/esm2020/lib/components/input/email-input/o-email-input.module.mjs +5 -5
- package/esm2020/lib/components/input/file-input/o-file-input.component.mjs +7 -7
- package/esm2020/lib/components/input/file-input/o-file-input.module.mjs +5 -5
- package/esm2020/lib/components/input/hour-input/o-hour-input.component.mjs +4 -4
- package/esm2020/lib/components/input/hour-input/o-hour-input.module.mjs +5 -5
- package/esm2020/lib/components/input/html-input/o-html-input.component.mjs +4 -4
- package/esm2020/lib/components/input/html-input/o-html-input.module.mjs +5 -5
- package/esm2020/lib/components/input/integer-input/o-integer-input.component.mjs +4 -4
- package/esm2020/lib/components/input/integer-input/o-integer-input.module.mjs +5 -5
- package/esm2020/lib/components/input/listpicker/listpicker-renderer/currency/o-list-picker-renderer-currency.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/listpicker-renderer/date/o-list-picker-renderer-date.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/listpicker-renderer/integer/o-list-picker-renderer-integer.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/listpicker-renderer/o-list-picker-renderer.class.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/listpicker-renderer/percentage/o-list-picker-renderer-percentage.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/listpicker-renderer/real/o-list-picker-renderer-real.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/o-list-picker-dialog.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/o-list-picker.component.mjs +4 -4
- package/esm2020/lib/components/input/listpicker/o-list-picker.module.mjs +5 -5
- package/esm2020/lib/components/input/nif-input/o-nif-input.component.mjs +4 -4
- package/esm2020/lib/components/input/nif-input/o-nif-input.module.mjs +5 -5
- package/esm2020/lib/components/input/o-boolean-form-data-component.class.mjs +4 -4
- package/esm2020/lib/components/input/o-form-service-component.class.mjs +4 -4
- package/esm2020/lib/components/input/password-input/o-password-input.component.mjs +4 -4
- package/esm2020/lib/components/input/password-input/o-password-input.module.mjs +5 -5
- package/esm2020/lib/components/input/percent-input/o-percent-input.component.mjs +4 -4
- package/esm2020/lib/components/input/percent-input/o-percent-input.module.mjs +5 -5
- package/esm2020/lib/components/input/phone-input/data/country-code.mjs +4 -4
- package/esm2020/lib/components/input/phone-input/o-phone-input.component.mjs +4 -4
- package/esm2020/lib/components/input/phone-input/o-phone-input.module.mjs +5 -5
- package/esm2020/lib/components/input/radio/o-radio.component.mjs +4 -4
- package/esm2020/lib/components/input/radio/o-radio.module.mjs +5 -5
- package/esm2020/lib/components/input/real-input/o-real-input.component.mjs +4 -4
- package/esm2020/lib/components/input/real-input/o-real-input.module.mjs +5 -5
- package/esm2020/lib/components/input/search-input/o-search-input.component.mjs +4 -4
- package/esm2020/lib/components/input/search-input/o-search-input.module.mjs +5 -5
- package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.component.mjs +4 -4
- package/esm2020/lib/components/input/slide-toggle/o-slide-toggle.module.mjs +5 -5
- package/esm2020/lib/components/input/slider/o-slider.component.mjs +4 -4
- package/esm2020/lib/components/input/slider/o-slider.module.mjs +5 -5
- package/esm2020/lib/components/input/text-input/o-text-input.component.mjs +4 -4
- package/esm2020/lib/components/input/text-input/o-text-input.module.mjs +5 -5
- package/esm2020/lib/components/input/textarea-input/o-textarea-input.component.mjs +4 -4
- package/esm2020/lib/components/input/textarea-input/o-textarea-input.module.mjs +5 -5
- package/esm2020/lib/components/input/time-input/o-time-input.component.mjs +4 -4
- package/esm2020/lib/components/input/time-input/o-time-input.module.mjs +5 -5
- package/esm2020/lib/components/language-selector/o-language-selector.component.mjs +4 -4
- package/esm2020/lib/components/language-selector/o-language-selector.module.mjs +5 -5
- package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +4 -4
- package/esm2020/lib/components/list/list-item/o-list-item.directive.mjs +4 -4
- package/esm2020/lib/components/list/o-list.component.mjs +14 -15
- package/esm2020/lib/components/list/o-list.module.mjs +12 -8
- package/esm2020/lib/components/list/renderers/avatar/o-list-item-avatar.component.mjs +4 -4
- package/esm2020/lib/components/list/renderers/card/o-list-item-card.component.mjs +4 -4
- package/esm2020/lib/components/list/renderers/card-image/o-list-item-card-image.component.mjs +4 -4
- package/esm2020/lib/components/list/renderers/o-list-item-card-renderer.class.mjs +4 -4
- package/esm2020/lib/components/list/renderers/o-list-item-text-renderer.class.mjs +4 -4
- package/esm2020/lib/components/list/renderers/text/o-list-item-text.component.mjs +4 -4
- package/esm2020/lib/components/list/skeleton/o-list-skeleton/o-list-skeleton.component.mjs +26 -0
- package/esm2020/lib/components/material/ckeditor/ck-editor.component.mjs +4 -4
- package/esm2020/lib/components/material/ckeditor/ck-editor.module.mjs +5 -5
- package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.component.mjs +4 -4
- package/esm2020/lib/components/o-data-toolbar/o-data-toolbar.module.mjs +5 -5
- package/esm2020/lib/components/o-form-data-component.class.mjs +4 -4
- package/esm2020/lib/components/o-service-base-component.class.mjs +10 -10
- package/esm2020/lib/components/o-service-component.class.mjs +17 -11
- package/esm2020/lib/components/o-skeleton.component.mjs +21 -0
- package/esm2020/lib/components/table/column/calculated/o-table-column-calculated.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/boolean/o-table-cell-editor-boolean.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/date/o-table-cell-editor-date.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/email/o-table-cell-editor-email.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/integer/o-table-cell-editor-integer.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/real/o-table-cell-editor-real.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/text/o-table-cell-editor-text.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-editor/time/o-table-cell-editor-time.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/action/o-table-cell-renderer-action.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/boolean/o-table-cell-renderer-boolean.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/currency/o-table-cell-renderer-currency.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/date/o-table-cell-renderer-date.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/image/o-table-cell-renderer-image.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/integer/o-table-cell-renderer-integer.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/percentage/o-table-cell-renderer-percentage.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/real/o-table-cell-renderer-real.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/service/o-table-cell-renderer-service.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/time/o-table-cell-renderer-time.component.mjs +4 -4
- package/esm2020/lib/components/table/column/cell-renderer/translate/o-table-cell-renderer-translate.component.mjs +4 -4
- package/esm2020/lib/components/table/column/o-table-column.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/contextmenu/o-table-context-menu.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/default-o-table.datasource.mjs +2 -2
- package/esm2020/lib/components/table/extensions/dialog/apply-configuration/o-table-apply-configuration-dialog.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/dialog/export/o-table-export-dialog.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/dialog/group-by-columns/o-table-group-by-columns-dialog.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/dialog/o-table-base-dialog.class.mjs +4 -4
- package/esm2020/lib/components/table/extensions/dialog/store-configuration/o-table-store-configuration-dialog.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/dialog/visible-columns/o-table-visible-columns-dialog.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/export-button/o-table-export-button.service.mjs +4 -4
- package/esm2020/lib/components/table/extensions/footer/aggregate/o-table-column-aggregate.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/footer/expanded/o-table-expanded-footer.directive.mjs +4 -4
- package/esm2020/lib/components/table/extensions/footer/paginator/o-table-mat-paginator-intl.mjs +4 -4
- package/esm2020/lib/components/table/extensions/footer/paginator/o-table-paginator.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-button/o-table-button.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-buttons/o-table-buttons.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-column-resizer/o-table-column-resizer.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-column-select-all/o-table-column-select-all.directive.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-columns-filter/columns/o-table-columns-filter-column.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-columns-grouping/columns/o-table-columns-grouping-column.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-columns-grouping/o-table-columns-grouping.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-header/o-table-header.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-header-column-filter-icon/o-table-header-column-filter-icon.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-header-select-all/o-table-header-select-all.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-insertable-row/o-table-insertable-row.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-option/o-table-option.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/header/table-quickfilter/o-table-quickfilter.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/o-table-datasource.service.mjs +4 -4
- package/esm2020/lib/components/table/extensions/o-table-strategy.service.mjs +4 -4
- package/esm2020/lib/components/table/extensions/pipes/o-table-row-class.pipe.mjs +4 -4
- package/esm2020/lib/components/table/extensions/row/o-table-row.directive.mjs +4 -4
- package/esm2020/lib/components/table/extensions/row/table-row-expandable/o-table-row-expandable.component.mjs +4 -4
- package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton/o-table-skeleton.component.mjs +26 -0
- package/esm2020/lib/components/table/extensions/sort/o-mat-sort-header.mjs +4 -4
- package/esm2020/lib/components/table/extensions/sort/o-mat-sort-module.mjs +5 -5
- package/esm2020/lib/components/table/extensions/sort/o-mat-sort.mjs +4 -4
- package/esm2020/lib/components/table/o-table.component.mjs +37 -38
- package/esm2020/lib/components/table/o-table.module.mjs +14 -7
- package/esm2020/lib/components/tree/header/tree-menu/o-tree-menu.component.mjs +4 -4
- package/esm2020/lib/components/tree/o-tree-dao.service.mjs +4 -4
- package/esm2020/lib/components/tree/o-tree.component.mjs +4 -4
- package/esm2020/lib/components/tree/o-tree.module.mjs +5 -5
- package/esm2020/lib/components/tree/tree-node/tree-node.component.mjs +4 -4
- package/esm2020/lib/components/user-info/o-user-info.component.mjs +4 -4
- package/esm2020/lib/components/user-info/o-user-info.module.mjs +5 -5
- package/esm2020/lib/components/user-info/user-info-configuration/o-user-info-configuration.directive.mjs +4 -4
- package/esm2020/lib/components/user-info/user-info-configuration-item/o-user-info-configuration-item.directive.mjs +4 -4
- package/esm2020/lib/config/o-modules.mjs +5 -5
- package/esm2020/lib/directives/keyboard-listener.directive.mjs +4 -4
- package/esm2020/lib/directives/locker.directive.mjs +4 -4
- package/esm2020/lib/directives/o-file-drag-and-drop.directive.mjs +4 -4
- package/esm2020/lib/directives/o-hidden.directive.mjs +4 -4
- package/esm2020/lib/directives/o-mat-error.directive.mjs +4 -4
- package/esm2020/lib/directives/o-mat-prefix.directive.mjs +4 -4
- package/esm2020/lib/directives/o-mat-suffix.directive.mjs +4 -4
- package/esm2020/lib/directives/o-tab-group.directive.mjs +4 -4
- package/esm2020/lib/layouts/app-layout/app-layout-header/o-app-layout-header.component.mjs +4 -4
- package/esm2020/lib/layouts/app-layout/app-layout-sidenav/o-app-layout-sidenav.component.mjs +4 -4
- package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +4 -4
- package/esm2020/lib/layouts/app-layout/o-app-layout.module.mjs +5 -5
- package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.component.mjs +4 -4
- package/esm2020/lib/layouts/card-menu-layout/o-card-menu-layout.module.mjs +5 -5
- package/esm2020/lib/layouts/form-layout/dialog/o-form-layout-dialog.component.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/dialog/options/o-form-layout-dialog-options.directive.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/directives/o-form-layout-manager-content.directive.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/guards/o-form-layout-can-activate-child.guard.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/o-form-layout-manager.module.mjs +5 -5
- package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +6 -8
- package/esm2020/lib/layouts/form-layout/split-pane/options/o-form-layout-split-pane-options.directive.mjs +4 -4
- package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +5 -5
- package/esm2020/lib/layouts/form-layout/tabgroup/options/o-form-layout-tabgroup-options.directive.mjs +4 -4
- package/esm2020/lib/ontimize-web-ngx.module.mjs +5 -5
- package/esm2020/lib/pipes/columns-filter.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-currency.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-icon.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-integer.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-moment.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-percentage.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-real.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-safe.pipe.mjs +4 -4
- package/esm2020/lib/pipes/o-translate.pipe.mjs +8 -8
- package/esm2020/lib/pipes/order-by.pipe.mjs +4 -4
- package/esm2020/lib/services/app-menu.service.mjs +4 -4
- package/esm2020/lib/services/appearance.service.mjs +4 -4
- package/esm2020/lib/services/auth-guard.service.mjs +4 -4
- package/esm2020/lib/services/auth.service.mjs +4 -4
- package/esm2020/lib/services/currency.service.mjs +4 -4
- package/esm2020/lib/services/dialog.service.mjs +4 -4
- package/esm2020/lib/services/icon.service.mjs +4 -4
- package/esm2020/lib/services/local-storage.service.mjs +4 -4
- package/esm2020/lib/services/login-storage.service.mjs +4 -4
- package/esm2020/lib/services/moment.service.mjs +4 -4
- package/esm2020/lib/services/navigation.service.mjs +4 -4
- package/esm2020/lib/services/number.service.mjs +4 -4
- package/esm2020/lib/services/o-auth.service.mjs +4 -4
- package/esm2020/lib/services/o-breadcrumb.service.mjs +4 -4
- package/esm2020/lib/services/o-error-dialog-manager.service.mjs +4 -4
- package/esm2020/lib/services/o-form-layout-manager.service.mjs +4 -4
- package/esm2020/lib/services/o-modules-info.service.mjs +4 -4
- package/esm2020/lib/services/o-user-info.service.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-base-service.class.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-ee.service.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-export.service.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-file.service.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize-service-response.adapter.mjs +4 -4
- package/esm2020/lib/services/ontimize/ontimize.service.mjs +4 -4
- package/esm2020/lib/services/ontimize-export-data-base-provider.service.mjs +4 -4
- package/esm2020/lib/services/ontimize-export-data-provider-3x.service.mjs +4 -4
- package/esm2020/lib/services/ontimize-export-data-provider.service.mjs +4 -4
- package/esm2020/lib/services/ontimize-icon-registry.service.mjs +4 -4
- package/esm2020/lib/services/parser/o-service-response.parser.mjs +4 -4
- package/esm2020/lib/services/permissions/o-permissions.module.mjs +5 -5
- package/esm2020/lib/services/permissions/ontimize-ee-permissions.service.mjs +4 -4
- package/esm2020/lib/services/permissions/ontimize-permissions.service.mjs +4 -4
- package/esm2020/lib/services/permissions/permissions-can-activate.guard.mjs +4 -4
- package/esm2020/lib/services/permissions/permissions.service.mjs +4 -4
- package/esm2020/lib/services/remote-config.service.mjs +5 -5
- package/esm2020/lib/services/share-can-activate-child.service.mjs +4 -4
- package/esm2020/lib/services/snackbar.service.mjs +4 -4
- package/esm2020/lib/services/state/o-component-state.service.mjs +10 -10
- package/esm2020/lib/services/state/o-filter-builder-component-state.service.mjs +4 -4
- package/esm2020/lib/services/state/o-form-layout-manager-component-state.service.mjs +4 -4
- package/esm2020/lib/services/state/o-grid-component-state.service.mjs +4 -4
- package/esm2020/lib/services/state/o-list-component-state.service.mjs +4 -4
- package/esm2020/lib/services/state/o-table-component-state.service.mjs +4 -4
- package/esm2020/lib/services/state/o-tree-component-state.service.mjs +4 -4
- package/esm2020/lib/services/translate/o-translate.parser.mjs +4 -4
- package/esm2020/lib/services/translate/o-translate.service.mjs +4 -4
- package/esm2020/lib/shared/components/dialog/o-dialog-internal.component.mjs +4 -4
- package/esm2020/lib/shared/components/dialog/o-dialog.component.mjs +4 -4
- package/esm2020/lib/shared/components/error403/o-error-403.component.mjs +4 -4
- package/esm2020/lib/shared/components/filter/load-filter/o-load-filter-dialog.component.mjs +4 -4
- package/esm2020/lib/shared/components/filter/store-filter/o-store-filter-dialog.component.mjs +4 -4
- package/esm2020/lib/shared/components/snackbar/o-snackbar-base.class.mjs +4 -4
- package/esm2020/lib/shared/components/snackbar/o-snackbar.component.mjs +4 -4
- package/esm2020/lib/shared/components/validation/o-error.component.mjs +4 -4
- package/esm2020/lib/shared/components/validation/o-validator.component.mjs +4 -4
- package/esm2020/lib/shared/material/custom.material.module.mjs +5 -5
- package/esm2020/lib/shared/material/date/ontimize-moment-date-adapter.mjs +4 -4
- package/esm2020/lib/shared/shared.module.mjs +5 -5
- package/esm2020/lib/util/util.mjs +11 -8
- package/fesm2015/ontimize-web-ngx.mjs +1251 -1166
- package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
- package/fesm2020/ontimize-web-ngx.mjs +1250 -1166
- package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
- package/lib/components/grid/o-grid.module.d.ts +8 -6
- package/lib/components/grid/skeketon/o-grid-skeleton/o-grid-skeleton.component.d.ts +11 -0
- package/lib/components/input/file-input/o-file-input.component.d.ts +1 -1
- package/lib/components/list/o-list.module.d.ts +8 -6
- package/lib/components/list/skeleton/o-list-skeleton/o-list-skeleton.component.d.ts +11 -0
- package/lib/components/o-service-component.class.d.ts +2 -1
- package/lib/components/o-skeleton.component.d.ts +14 -0
- package/lib/components/table/extensions/skeleton/o-table-skeleton/o-table-skeleton.component.d.ts +11 -0
- package/lib/components/table/o-table.component.d.ts +3 -1
- package/lib/components/table/o-table.module.d.ts +14 -12
- package/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.d.ts +2 -3
- package/lib/util/util.d.ts +1 -1
- package/package.json +3 -2
- package/theme.scss +89 -73
- package/theming/ontimize-style.scss +18 -0
|
@@ -317,8 +317,8 @@ export class ODateRangeInputComponent extends OFormDataComponent {
|
|
|
317
317
|
return this._valueType;
|
|
318
318
|
}
|
|
319
319
|
}
|
|
320
|
-
ODateRangeInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
321
|
-
ODateRangeInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
|
320
|
+
ODateRangeInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ODateRangeInputComponent, deps: [{ token: forwardRef(() => OFormComponent), optional: true }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
321
|
+
ODateRangeInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ODateRangeInputComponent, selector: "o-daterange-input", inputs: { separator: "separator", showWeekNumbers: ["show-week-numbers", "showWeekNumbers"], showRanges: ["show-ranges", "showRanges"], olocale: ["locale", "olocale"], startKey: "startKey", endKey: "endKey", valueType: ["value-type", "valueType"], mode: "mode", oformat: ["format", "oformat"], oStartView: ["start-view", "oStartView"], oMinDate: ["min", "oMinDate"], oMaxDate: ["max", "oMaxDate"], oTouchUi: ["touch-ui", "oTouchUi"], oStartAt: ["start-at", "oStartAt"], filterDate: ["filter-date", "filterDate"], textInputEnabled: ["text-input-enabled", "textInputEnabled"], dateClass: ["date-class", "dateClass"] }, outputs: { onChange: "onChange", onValueChange: "onValueChange", onFocus: "onFocus", onBlur: "onBlur" }, viewQueries: [{ propertyName: "pickerDirective", first: true, predicate: ODaterangepickerDirective, descendants: true, static: true }, { propertyName: "matInputRef", first: true, predicate: ["matInputRef"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"row\" fxLayoutAlign=\"space-between center\" [formGroup]=\"getFormGroup()\" [matTooltip]=\"tooltip\" [matTooltipClass]=\"tooltipClass\"\n [matTooltipPosition]=\"tooltipPosition\" [matTooltipShowDelay]=\"tooltipShowDelay\" [matTooltipHideDelay]=\"tooltipHideDelay\">\n\n <mat-form-field [appearance]=\"appearance\" [floatLabel]=\"floatLabel\" [hideRequiredMarker]=\"hideRequiredMarker\" [class.custom-width]=\"hasCustomWidth\"\n class=\"icon-field\" fxFlexFill [subscriptSizing]=\"subscriptSizing\">\n <mat-label *ngIf=\"labelVisible\">{{ olabel | oTranslate }}</mat-label>\n <input #matInputRef matInput type=\"text\" o-daterange-input [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" [required]=\"isRequired\"\n [placeholder]=\"placeHolder\" [readonly]=\"isReadOnly || !textInputEnabled\" showDropdowns=\"true\" showCancel=\"true\" [showRanges]=\"showRanges\"\n (datesUpdated)=\"datesUpdated($event)\" [oTouchUi]=\"oTouchUi\" [minDate]=\"oMinDate\" [maxDate]=\"oMaxDate\" (focus)=\"innerOnFocus($event)\"\n (blur)=\"innerOnBlur($event)\" (change)=\"onChangeEvent($event)\" [locale]=\"localeOptions\" [separator]=\"separator\" [startKey]=\"startKey\"\n [endKey]=\"endKey\" [showWeekNumbers]=\"showWeekNumbers\" [singleDatePicker]=\"isMobileMode()\">\n <button type=\"button\" matSuffix mat-icon-button (click)=\"openPicker()\" [disabled]=\"isReadOnly || !enabled\">\n <mat-icon>today</mat-icon>\n </button>\n\n <button type=\"button\" *ngIf=\"showClearButton\" matSuffix mat-icon-button (click)=\"onClickClearValue($event)\" [disabled]=\"isReadOnly || !enabled\">\n <mat-icon svgIcon=\"ontimize:close\"></mat-icon>\n </button>\n\n <mat-error *oMatError=\"hasError('required')\">\n {{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}\n </mat-error>\n <mat-error *oMatError=\"hasError('dateRange')\">\n {{ 'FORM_VALIDATION.DATERANGE_INVALID' | oTranslate }}\n </mat-error>\n <mat-error *oMatError=\"hasError('dateRangeParse')\">\n {{ 'FORM_VALIDATION.DATE_PARSE' | oTranslate }} : {{ getErrorValue('dateRangeParse', 'format') }}\n </mat-error>\n <mat-error *oMatError=\"hasError('dateRangeMin')\">\n {{ 'FORM_VALIDATION.DATERANGE_MIN' | oTranslate }} : {{ getErrorValue('dateRangeMin', 'dateMin') }}\n </mat-error>\n <mat-error *oMatError=\"hasError('dateRangeMax')\">\n {{ 'FORM_VALIDATION.DATERANGE_MAX' | oTranslate }} : {{ getErrorValue('dateRangeMax', 'dateMax') }}\n </mat-error>\n <mat-error *ngFor=\"let oError of getActiveOErrors()\">\n {{ oError.text | oTranslate }}\n </mat-error>\n </mat-form-field>\n</div>\n", styles: [""], 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: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.OMatErrorDirective, selector: "[oMatError]", inputs: ["oMatError"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "directive", type: i9.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i9.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i11.ODaterangepickerDirective, selector: "input[o-daterange-input]", inputs: ["minDate", "maxDate", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "opens", "drops", "lastMonthDayClass", "emptyWeekRowClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "timePicker", "showRanges", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "separator", "locale", "_endKey", "oTouchUi", "startKey", "endKey"], outputs: ["onChange", "rangeClicked", "datesUpdated"] }, { kind: "pipe", type: i12.OTranslatePipe, name: "oTranslate" }] });
|
|
322
322
|
__decorate([
|
|
323
323
|
BooleanInputConverter(),
|
|
324
324
|
__metadata("design:type", Boolean)
|
|
@@ -335,7 +335,7 @@ __decorate([
|
|
|
335
335
|
BooleanInputConverter(),
|
|
336
336
|
__metadata("design:type", Boolean)
|
|
337
337
|
], ODateRangeInputComponent.prototype, "showRanges", void 0);
|
|
338
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
338
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ODateRangeInputComponent, decorators: [{
|
|
339
339
|
type: Component,
|
|
340
340
|
args: [{ selector: 'o-daterange-input', outputs: DEFAULT_OUTPUTS_O_DATERANGE_INPUT, inputs: DEFAULT_INPUTS_O_DATERANGE_INPUT, template: "<div fxLayout=\"row\" fxLayoutAlign=\"space-between center\" [formGroup]=\"getFormGroup()\" [matTooltip]=\"tooltip\" [matTooltipClass]=\"tooltipClass\"\n [matTooltipPosition]=\"tooltipPosition\" [matTooltipShowDelay]=\"tooltipShowDelay\" [matTooltipHideDelay]=\"tooltipHideDelay\">\n\n <mat-form-field [appearance]=\"appearance\" [floatLabel]=\"floatLabel\" [hideRequiredMarker]=\"hideRequiredMarker\" [class.custom-width]=\"hasCustomWidth\"\n class=\"icon-field\" fxFlexFill [subscriptSizing]=\"subscriptSizing\">\n <mat-label *ngIf=\"labelVisible\">{{ olabel | oTranslate }}</mat-label>\n <input #matInputRef matInput type=\"text\" o-daterange-input [id]=\"getAttribute()\" [formControlName]=\"getAttribute()\" [required]=\"isRequired\"\n [placeholder]=\"placeHolder\" [readonly]=\"isReadOnly || !textInputEnabled\" showDropdowns=\"true\" showCancel=\"true\" [showRanges]=\"showRanges\"\n (datesUpdated)=\"datesUpdated($event)\" [oTouchUi]=\"oTouchUi\" [minDate]=\"oMinDate\" [maxDate]=\"oMaxDate\" (focus)=\"innerOnFocus($event)\"\n (blur)=\"innerOnBlur($event)\" (change)=\"onChangeEvent($event)\" [locale]=\"localeOptions\" [separator]=\"separator\" [startKey]=\"startKey\"\n [endKey]=\"endKey\" [showWeekNumbers]=\"showWeekNumbers\" [singleDatePicker]=\"isMobileMode()\">\n <button type=\"button\" matSuffix mat-icon-button (click)=\"openPicker()\" [disabled]=\"isReadOnly || !enabled\">\n <mat-icon>today</mat-icon>\n </button>\n\n <button type=\"button\" *ngIf=\"showClearButton\" matSuffix mat-icon-button (click)=\"onClickClearValue($event)\" [disabled]=\"isReadOnly || !enabled\">\n <mat-icon svgIcon=\"ontimize:close\"></mat-icon>\n </button>\n\n <mat-error *oMatError=\"hasError('required')\">\n {{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}\n </mat-error>\n <mat-error *oMatError=\"hasError('dateRange')\">\n {{ 'FORM_VALIDATION.DATERANGE_INVALID' | oTranslate }}\n </mat-error>\n <mat-error *oMatError=\"hasError('dateRangeParse')\">\n {{ 'FORM_VALIDATION.DATE_PARSE' | oTranslate }} : {{ getErrorValue('dateRangeParse', 'format') }}\n </mat-error>\n <mat-error *oMatError=\"hasError('dateRangeMin')\">\n {{ 'FORM_VALIDATION.DATERANGE_MIN' | oTranslate }} : {{ getErrorValue('dateRangeMin', 'dateMin') }}\n </mat-error>\n <mat-error *oMatError=\"hasError('dateRangeMax')\">\n {{ 'FORM_VALIDATION.DATERANGE_MAX' | oTranslate }} : {{ getErrorValue('dateRangeMax', 'dateMax') }}\n </mat-error>\n <mat-error *ngFor=\"let oError of getActiveOErrors()\">\n {{ oError.text | oTranslate }}\n </mat-error>\n </mat-form-field>\n</div>\n" }]
|
|
341
341
|
}], ctorParameters: function () { return [{ type: i13.OFormComponent, decorators: [{
|
|
@@ -350,4 +350,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
350
350
|
type: ViewChild,
|
|
351
351
|
args: ['matInputRef', { read: ElementRef, static: true }]
|
|
352
352
|
}], textInputEnabled: [], showWeekNumbers: [], oTouchUi: [], showRanges: [] } });
|
|
353
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1kYXRlcmFuZ2UtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvZGF0ZS1yYW5nZS9vLWRhdGVyYW5nZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9kYXRlLXJhbmdlL28tZGF0ZXJhbmdlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUgsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUdwRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25GLE9BQU8sRUFB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QUU7Z0JBSTlDLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlyRCxnQkFBZ0IsTUFHaEIsZUFBZSxNQUdmLFFBQVEsTUFHUixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuaW1wb3J0IHsgQm9vbGVhbklucHV0Q29udmVydGVyIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9ycy9pbnB1dC1jb252ZXJ0ZXInO1xuaW1wb3J0IHsgTW9tZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21vbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybVZhbHVlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2Zvcm0tdmFsdWUtb3B0aW9ucy50eXBlJztcbmltcG9ydCB7IE9EYXRlVmFsdWVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvby1kYXRlLXZhbHVlLnR5cGUnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm0vby1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBERUZBVUxUX09VVFBVVFNfT19GT1JNX0RBVEFfQ09NUE9ORU5ULCBPRm9ybURhdGFDb21wb25lbnQgfSBmcm9tICcuLi8uLi9vLWZvcm0tZGF0YS1jb21wb25lbnQuY2xhc3MnO1xuaW1wb3J0IHsgT1ZhbHVlQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi8uLi9vLXZhbHVlLWNoYW5nZS1ldmVudC5jbGFzcyc7XG5pbXBvcnQgeyBERUZBVUxUX0lOUFVUU19PX0RBVEVfSU5QVVQgfSBmcm9tICcuLi9kYXRlLWlucHV0L28tZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0RhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZSB9IGZyb20gJy4vby1kYXRlcmFuZ2UtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IERhdGVyYW5nZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vby1kYXRlcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09VVFBVVFNfT19EQVRFUkFOR0VfSU5QVVQgPSBbXG4gIC4uLkRFRkFVTFRfT1VUUFVUU19PX0ZPUk1fREFUQV9DT01QT05FTlRcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0RBVEVSQU5HRV9JTlBVVCA9IFtcbiAgJ3NlcGFyYXRvcicsXG4gICdzaG93V2Vla051bWJlcnM6c2hvdy13ZWVrLW51bWJlcnMnLFxuICAnc2hvd1JhbmdlczpzaG93LXJhbmdlcycsXG4gICdvbG9jYWxlOmxvY2FsZScsXG4gICdzdGFydEtleScsXG4gICdlbmRLZXknLFxuICAndmFsdWVUeXBlOiB2YWx1ZS10eXBlJyxcbiAgJ21vZGUnLFxuICAuLi5ERUZBVUxUX0lOUFVUU19PX0RBVEVfSU5QVVRcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tZGF0ZXJhbmdlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tZGF0ZXJhbmdlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vby1kYXRlcmFuZ2UtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgb3V0cHV0czogREVGQVVMVF9PVVRQVVRTX09fREFURVJBTkdFX0lOUFVULFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fREFURVJBTkdFX0lOUFVUXG59KVxuZXhwb3J0IGNsYXNzIE9EYXRlUmFuZ2VJbnB1dENvbXBvbmVudCBleHRlbmRzIE9Gb3JtRGF0YUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKE9EYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pIHBpY2tlckRpcmVjdGl2ZTogT0RhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZTtcbiAgcGlja2VyITogRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ21hdElucHV0UmVmJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBtYXRJbnB1dFJlZiE6IEVsZW1lbnRSZWY7XG5cbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHB1YmxpYyB0ZXh0SW5wdXRFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHVibGljIHNob3dXZWVrTnVtYmVyczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBCb29sZWFuSW5wdXRDb252ZXJ0ZXIoKVxuICBwdWJsaWMgb1RvdWNoVWk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHVibGljIHNob3dSYW5nZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgX29NaW5EYXRlOiBtb21lbnQuTW9tZW50O1xuXG4gIHB1YmxpYyBtb2RlOiAnbW9iaWxlJyB8ICdkZXNrdG9wJyB8ICdhdXRvJyA9ICdhdXRvJztcblxuICBnZXQgb01pbkRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29NaW5EYXRlO1xuICB9XG4gIHNldCBvTWluRGF0ZSh2YWx1ZSkge1xuICAgIHRoaXMuX29NaW5EYXRlID0gbW9tZW50KHZhbHVlLCB0aGlzLm9mb3JtYXQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9vTWF4RGF0ZTogbW9tZW50Lk1vbWVudDtcbiAgZ2V0IG9NYXhEYXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9vTWF4RGF0ZTtcbiAgfVxuICBzZXQgb01heERhdGUodmFsdWUpIHtcbiAgICB0aGlzLl9vTWF4RGF0ZSA9IG1vbWVudCh2YWx1ZSwgdGhpcy5vZm9ybWF0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc3RhcnRLZXk6IHN0cmluZyA9ICdzdGFydERhdGUnO1xuICBnZXQgc3RhcnRLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0S2V5O1xuICB9XG4gIHNldCBzdGFydEtleSh2YWx1ZSkge1xuICAgIHRoaXMuX3N0YXJ0S2V5ID0gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2VuZEtleTogc3RyaW5nID0gJ2VuZERhdGUnO1xuICBnZXQgZW5kS2V5KCkge1xuICAgIHJldHVybiB0aGlzLl9lbmRLZXk7XG4gIH1cbiAgc2V0IGVuZEtleSh2YWx1ZSkge1xuICAgIHRoaXMuX2VuZEtleSA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWx1ZVR5cGU6IE9EYXRlVmFsdWVUeXBlID0gJ3RpbWVzdGFtcCc7XG5cbiAgcHJvdGVjdGVkIF9zZXBhcmF0b3IgPSAnIC0gJztcbiAgZ2V0IHNlcGFyYXRvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VwYXJhdG9yO1xuICB9XG5cbiAgc2V0IHNlcGFyYXRvcih2YWx1ZSkge1xuICAgIHRoaXMuX3NlcGFyYXRvciA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmdldEZvcm1Db250cm9sKCkgJiYgdGhpcy5nZXRGb3JtQ29udHJvbCgpLnZhbHVlKSB7XG4gICAgICB0aGlzLnVwZGF0ZUVsZW1lbnQoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgc2hvd0NsZWFyQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsZWFyQnV0dG9uICYmICF0aGlzLmlzUmVhZE9ubHkgJiYgdGhpcy5lbmFibGVkICYmIHRoaXMubWF0SW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gIGdldCBsb2NhbGVPcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2NhbGVPcHRpb25zO1xuICB9XG5cbiAgaXNNb2JpbGVNb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdtb2JpbGUnIHx8ICh0aGlzLm1vZGUgPT09ICdhdXRvJyAmJiB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5pc01hdGNoZWQoQnJlYWtwb2ludHMuSGFuZHNldCkpXG4gIH1cblxuICBpc0Rlc2t0b3BNb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdkZXNrdG9wJyB8fCAodGhpcy5tb2RlID09PSAnYXV0bycgJiYgIXRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChCcmVha3BvaW50cy5IYW5kc2V0KSlcbiAgfVxuXG5cbiAgcHVibGljIG9mb3JtYXQ6IHN0cmluZyA9ICdMJztcbiAgcHJvdGVjdGVkIF9sb2NhbGVPcHRpb25zOiBhbnk7XG4gIHByb3RlY3RlZCBvbG9jYWxlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBtb21lbnRTcnY6IE1vbWVudFNlcnZpY2U7XG4gIHByaXZhdGUgb1RyYW5zbGF0ZTogT1RyYW5zbGF0ZVNlcnZpY2U7XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gT0Zvcm1Db21wb25lbnQpKSBmb3JtOiBPRm9ybUNvbXBvbmVudCxcbiAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyXG4gICkge1xuICAgIHN1cGVyKGZvcm0sIGVsUmVmLCBpbmplY3Rvcik7XG4gICAgdGhpcy5vVHJhbnNsYXRlID0gdGhpcy5pbmplY3Rvci5nZXQoT1RyYW5zbGF0ZVNlcnZpY2UpO1xuICAgIHRoaXMubW9tZW50U3J2ID0gdGhpcy5pbmplY3Rvci5nZXQoTW9tZW50U2VydmljZSk7XG4gICAgaWYgKCF0aGlzLm9sb2NhbGUpIHtcbiAgICAgIHRoaXMub2xvY2FsZSA9IHRoaXMubW9tZW50U3J2LmdldExvY2FsZSgpO1xuICAgICAgbW9tZW50LmxvY2FsZSh0aGlzLm9sb2NhbGUpO1xuICAgIH1cbiAgICB0aGlzLl9sb2NhbGVPcHRpb25zID0ge1xuICAgICAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgICAgIHNlcGFyYXRvcjogJyAtICcsXG4gICAgICB3ZWVrTGFiZWw6IHRoaXMub1RyYW5zbGF0ZS5nZXQoJ0RBVEVSQU5HRS5XJyksXG4gICAgICBhcHBseUxhYmVsOiB0aGlzLm9UcmFuc2xhdGUuZ2V0KCdEQVRFUkFOR0UuQVBQTFlMQUJFTCcpLFxuICAgICAgY2FuY2VsTGFiZWw6IHRoaXMub1RyYW5zbGF0ZS5nZXQoJ0NBTkNFTCcpLFxuICAgICAgY3VzdG9tUmFuZ2VMYWJlbDogJ0N1c3RvbSByYW5nZScsXG4gICAgICBkYXlzT2ZXZWVrOiBtb21lbnQubG9jYWxlRGF0YSgpLndlZWtkYXlzTWluKCksXG4gICAgICBtb250aE5hbWVzOiBtb21lbnQubG9jYWxlRGF0YSgpLm1vbnRoc1Nob3J0KCksXG4gICAgICBmaXJzdERheTogbW9tZW50LmxvY2FsZURhdGEoKS5maXJzdERheU9mV2VlaygpLFxuICAgICAgZm9ybWF0OiAnTCdcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBpZiAodGhpcy5vZm9ybWF0KSB7XG4gICAgICB0aGlzLl9sb2NhbGVPcHRpb25zLmZvcm1hdCA9IHRoaXMub2Zvcm1hdDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlblBpY2tlcigpIHtcbiAgICB0aGlzLnBpY2tlckRpcmVjdGl2ZS5vcGVuKCk7XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2VFdmVudChldmVudDogYW55KTogdm9pZCB7XG4gICAgbGV0IG9iamVjdFZhbHVlO1xuICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEV2ZW50KSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICBpZiAodmFsdWUgIT09ICcnKSB7XG4gICAgICAgIG9iamVjdFZhbHVlID0gdGhpcy5nZXREYXRlUmFuZ2VUb1N0cmluZyh2YWx1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG9iamVjdFZhbHVlID0gZXZlbnQ7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRWYWx1ZShvYmplY3RWYWx1ZSwge1xuICAgICAgY2hhbmdlVHlwZTogT1ZhbHVlQ2hhbmdlRXZlbnQuVVNFUl9DSEFOR0UsXG4gICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgZW1pdE1vZGVsVG9WaWV3Q2hhbmdlOiBmYWxzZVxuICAgIH0pO1xuXG4gIH1cblxuICBwdWJsaWMgc2V0VmFsdWUodmFsOiBhbnksIG9wdGlvbnM6IEZvcm1WYWx1ZU9wdGlvbnMgPSB7fSwgc2V0RGlydHk6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIHN1cGVyLnNldFZhbHVlKHZhbCwgb3B0aW9ucywgc2V0RGlydHkpO1xuICAgIHRoaXMudXBkYXRlRWxlbWVudCgpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xpY2tDbGVhclZhbHVlKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgc3VwZXIub25DbGlja0NsZWFyVmFsdWUoZSk7XG4gICAgdGhpcy5waWNrZXJEaXJlY3RpdmUudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5waWNrZXJEaXJlY3RpdmUuZGF0ZXNVcGRhdGVkLmVtaXQoKTtcbiAgfVxuXG4gIGRhdGVzVXBkYXRlZChyYW5nZSkge1xuICAgIHRoaXMucGlja2VyRGlyZWN0aXZlLmNsb3NlKCk7XG4gICAgdGhpcy5zZXRWYWx1ZShyYW5nZSxcbiAgICAgIHtcbiAgICAgICAgY2hhbmdlVHlwZTogT1ZhbHVlQ2hhbmdlRXZlbnQuVVNFUl9DSEFOR0UsXG4gICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgIGVtaXRNb2RlbFRvVmlld0NoYW5nZTogZmFsc2VcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNldERhdGEobmV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHN1cGVyLnNldERhdGEobmV3VmFsdWUpO1xuICAgIHRoaXMucGlja2VyRGlyZWN0aXZlLmRhdGVzVXBkYXRlZC5lbWl0KG5ld1ZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZUVsZW1lbnQoKTtcbiAgfVxuXG4gIHVwZGF0ZUVsZW1lbnQoKSB7XG4gICAgbGV0IGNob3NlbkxhYmVsOiBhbnk7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMudmFsdWUpICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMudmFsdWUudmFsdWUpICYmICF0aGlzLmlzT2JqZWN0RGF0YVJhbmdlTnVsbCh0aGlzLnZhbHVlKSkge1xuICAgICAgaWYgKHRoaXMudmFsdWUudmFsdWVbdGhpcy5waWNrZXJEaXJlY3RpdmUuc3RhcnRLZXldICYmIHRoaXMudmFsdWUudmFsdWVbdGhpcy5waWNrZXJEaXJlY3RpdmUuZW5kS2V5XSkge1xuICAgICAgICB0aGlzLnZhbHVlLnZhbHVlW3RoaXMucGlja2VyRGlyZWN0aXZlLnN0YXJ0S2V5XSA9IHRoaXMuZW5zdXJlRGF0ZVJhbmdlVmFsdWUodGhpcy52YWx1ZS52YWx1ZVt0aGlzLnBpY2tlckRpcmVjdGl2ZS5zdGFydEtleV0sIHRoaXMuX3ZhbHVlVHlwZSk7XG4gICAgICAgIHRoaXMudmFsdWUudmFsdWVbdGhpcy5waWNrZXJEaXJlY3RpdmUuZW5kS2V5XSA9IHRoaXMuZW5zdXJlRGF0ZVJhbmdlVmFsdWUodGhpcy52YWx1ZS52YWx1ZVt0aGlzLnBpY2tlckRpcmVjdGl2ZS5lbmRLZXldLCB0aGlzLl92YWx1ZVR5cGUpO1xuICAgICAgICBjaG9zZW5MYWJlbCA9IHRoaXMudmFsdWUudmFsdWVbdGhpcy5waWNrZXJEaXJlY3RpdmUuc3RhcnRLZXldLmZvcm1hdCh0aGlzLm9mb3JtYXQpICtcbiAgICAgICAgICB0aGlzLnNlcGFyYXRvciArIHRoaXMudmFsdWUudmFsdWVbdGhpcy5waWNrZXJEaXJlY3RpdmUuZW5kS2V5XS5mb3JtYXQodGhpcy5vZm9ybWF0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNob3NlbkxhYmVsID0gbnVsbDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY2hvc2VuTGFiZWwgPSBudWxsO1xuICAgICAgdGhpcy5waWNrZXJEaXJlY3RpdmUudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMucGlja2VyRGlyZWN0aXZlLl9lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gY2hvc2VuTGFiZWw7XG4gIH1cblxuXG4gIGdldERhdGVSYW5nZVRvU3RyaW5nKHZhbHVlVG9TdHJpbmc6IHN0cmluZykge1xuICAgIGNvbnN0IHZhbHVlID0ge307XG4gICAgY29uc3QgcmFuZ2UgPSB2YWx1ZVRvU3RyaW5nLnNwbGl0KHRoaXMuc2VwYXJhdG9yKTtcbiAgICB2YWx1ZVt0aGlzLl9zdGFydEtleV0gPSBtb21lbnQocmFuZ2VbMF0udHJpbSgpLCB0aGlzLm9mb3JtYXQpO1xuICAgIHZhbHVlW3RoaXMuX2VuZEtleV0gPSBtb21lbnQocmFuZ2VbMV0udHJpbSgpLCB0aGlzLm9mb3JtYXQpO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG5cbiAgcmVzb2x2ZVZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IHN1cGVyLnJlc29sdmVWYWxpZGF0b3JzKCk7XG5cbiAgICB2YWxpZGF0b3JzLnB1c2godGhpcy5yYW5nZURhdGVWYWxpZGF0b3IuYmluZCh0aGlzKSk7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuX29NaW5EYXRlKSkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKHRoaXMubWluRGF0ZVZhbGlkYXRvci5iaW5kKHRoaXMpKTtcbiAgICB9XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuX29NYXhEYXRlKSkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKHRoaXMubWF4RGF0ZVZhbGlkYXRvci5iaW5kKHRoaXMpKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0b3JzLnB1c2godGhpcy5wYXJzZURhdGVWYWxpZGF0b3IuYmluZCh0aGlzKSk7XG4gICAgcmV0dXJuIHZhbGlkYXRvcnM7XG4gIH1cblxuICBpc09iamVjdERhdGFSYW5nZU51bGwob2JqZWN0VmFsdWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gb2JqZWN0VmFsdWUgIT09IG51bGwgJiYgb2JqZWN0VmFsdWUudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICFVdGlsLmlzRGVmaW5lZChvYmplY3RWYWx1ZS52YWx1ZVt0aGlzLnBpY2tlckRpcmVjdGl2ZS5zdGFydEtleV0pICYmXG4gICAgICAhVXRpbC5pc0RlZmluZWQob2JqZWN0VmFsdWUudmFsdWVbdGhpcy5waWNrZXJEaXJlY3RpdmUuZW5kS2V5XSk7XG4gIH1cblxuXG4gIHByb3RlY3RlZCByYW5nZURhdGVWYWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG5cbiAgICBpZiAoKGNvbnRyb2wudmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpXG4gICAgICAmJiAhdGhpcy5pc09iamVjdERhdGFSYW5nZU51bGwoY29udHJvbCkgJiYgY29udHJvbC52YWx1ZVt0aGlzLl9lbmRLZXldLmlzU2FtZU9yQmVmb3JlKGNvbnRyb2wudmFsdWVbdGhpcy5fc3RhcnRLZXldKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0ZVJhbmdlOiB0cnVlXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcm90ZWN0ZWQgbWluRGF0ZVZhbGlkYXRvcihjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHtcbiAgICBjb25zdCBtaW5kYXRlID0gbW9tZW50KHRoaXMuX29NaW5EYXRlKTtcbiAgICBpZiAoKGNvbnRyb2wudmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpXG4gICAgICAmJiAhdGhpcy5pc09iamVjdERhdGFSYW5nZU51bGwoY29udHJvbCkgJiYgY29udHJvbC52YWx1ZVt0aGlzLl9zdGFydEtleV0uaXNCZWZvcmUobWluZGF0ZSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGVSYW5nZU1pbjoge1xuICAgICAgICAgIGRhdGVNaW46IG1pbmRhdGUuZm9ybWF0KHRoaXMub2Zvcm1hdClcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHJvdGVjdGVkIG1heERhdGVWYWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgY29uc3QgbWF4ZGF0ZSA9IG1vbWVudCh0aGlzLl9vTWF4RGF0ZSk7XG4gICAgaWYgKChjb250cm9sLnZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KVxuICAgICAgJiYgIXRoaXMuaXNPYmplY3REYXRhUmFuZ2VOdWxsKGNvbnRyb2wpICYmIGNvbnRyb2wudmFsdWVbdGhpcy5fZW5kS2V5XS5pc0FmdGVyKG1heGRhdGUpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRlUmFuZ2VNYXg6IHtcbiAgICAgICAgICBkYXRlTWF4OiBtYXhkYXRlLmZvcm1hdCh0aGlzLm9mb3JtYXQpXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuICBwcm90ZWN0ZWQgcGFyc2VEYXRlVmFsaWRhdG9yKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmICgoY29udHJvbC52YWx1ZSBpbnN0YW5jZW9mIE9iamVjdClcbiAgICAgICYmICF0aGlzLmlzT2JqZWN0RGF0YVJhbmdlTnVsbChjb250cm9sKVxuICAgICAgJiYgKChjb250cm9sLnZhbHVlW3RoaXMuX3N0YXJ0S2V5XSAmJiAhY29udHJvbC52YWx1ZVt0aGlzLl9zdGFydEtleV0uaXNWYWxpZCgpKVxuICAgICAgICB8fCAoY29udHJvbC52YWx1ZVt0aGlzLl9lbmRLZXldICYmICFjb250cm9sLnZhbHVlW3RoaXMuX2VuZEtleV0uaXNWYWxpZCgpKSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGVSYW5nZVBhcnNlOiB7XG4gICAgICAgICAgZm9ybWF0OiB0aGlzLm9mb3JtYXQgKyB0aGlzLl9sb2NhbGVPcHRpb25zLnNlcGFyYXRvciArIHRoaXMub2Zvcm1hdFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICBlbnN1cmVEYXRlUmFuZ2VWYWx1ZSh2YWw6IGFueSwgdmFsdWVUeXBlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHZhbCkpIHtcbiAgICAgIHJldHVybiB2YWw7XG4gICAgfVxuICAgIGxldCByZXN1bHQgPSB2YWw7XG4gICAgaWYgKCFtb21lbnQuaXNNb21lbnQodmFsKSkge1xuICAgICAgc3dpdGNoICh2YWx1ZVR5cGUpIHtcbiAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgaWYgKCh2YWwgaW5zdGFuY2VvZiBEYXRlKSB8fCB0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IG1vbWVudCh2YWwpLmZvcm1hdCgnWVlZWS1NTS1ERFRoaDptbScpICsgJ1onO1xuICAgICAgICAgICAgY29uc3QgcSA9IG1vbWVudChkYXRlU3RyaW5nKTtcbiAgICAgICAgICAgIGlmIChxLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgICByZXN1bHQgPSBxO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd0aW1lc3RhbXAnOlxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IG1vbWVudC51bml4KHZhbCkuZm9ybWF0KCdZWVlZLU1NLUREVGhoOm1tJykgKyAnWic7XG4gICAgICAgICAgICBjb25zdCB0ID0gbW9tZW50KGRhdGVTdHJpbmcpO1xuICAgICAgICAgICAgaWYgKHQuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgIHJlc3VsdCA9IHQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHZhbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2lzby04NjAxJzpcbiAgICAgICAgICBjb25zdCBtID0gbW9tZW50KHZhbCk7XG4gICAgICAgICAgaWYgKG0uaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBtO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHJlc3VsdCkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgT0RhdGVSYW5nZUlucHV0Q29tcG9uZW50IHZhbHVlICgke3ZhbH0pIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggdmFsdWUtdHlwZSAoJHt2YWx1ZVR5cGV9KWApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc2V0IHZhbHVlVHlwZSh2YWw6IGFueSkge1xuICAgIHRoaXMuX3ZhbHVlVHlwZSA9IFV0aWwuY29udmVydFRvT0RhdGVWYWx1ZVR5cGUodmFsKTtcbiAgfVxuXG4gIGdldCB2YWx1ZVR5cGUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVUeXBlO1xuICB9XG5cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIiBbZm9ybUdyb3VwXT1cImdldEZvcm1Hcm91cCgpXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiIFttYXRUb29sdGlwQ2xhc3NdPVwidG9vbHRpcENsYXNzXCJcbiAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb25cIiBbbWF0VG9vbHRpcFNob3dEZWxheV09XCJ0b29sdGlwU2hvd0RlbGF5XCIgW21hdFRvb2x0aXBIaWRlRGVsYXldPVwidG9vbHRpcEhpZGVEZWxheVwiPlxuXG4gIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCIgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiIFtoaWRlUmVxdWlyZWRNYXJrZXJdPVwiaGlkZVJlcXVpcmVkTWFya2VyXCIgW2NsYXNzLmN1c3RvbS13aWR0aF09XCJoYXNDdXN0b21XaWR0aFwiXG4gICAgY2xhc3M9XCJpY29uLWZpZWxkXCIgZnhGbGV4RmlsbCBbc3Vic2NyaXB0U2l6aW5nXT1cInN1YnNjcmlwdFNpemluZ1wiPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFZpc2libGVcIj57eyBvbGFiZWwgfCBvVHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0ICNtYXRJbnB1dFJlZiBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIG8tZGF0ZXJhbmdlLWlucHV0IFtpZF09XCJnZXRBdHRyaWJ1dGUoKVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZ2V0QXR0cmlidXRlKClcIiBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiBbcmVhZG9ubHldPVwiaXNSZWFkT25seSB8fCAhdGV4dElucHV0RW5hYmxlZFwiIHNob3dEcm9wZG93bnM9XCJ0cnVlXCIgc2hvd0NhbmNlbD1cInRydWVcIiBbc2hvd1Jhbmdlc109XCJzaG93UmFuZ2VzXCJcbiAgICAgIChkYXRlc1VwZGF0ZWQpPVwiZGF0ZXNVcGRhdGVkKCRldmVudClcIiBbb1RvdWNoVWldPVwib1RvdWNoVWlcIiBbbWluRGF0ZV09XCJvTWluRGF0ZVwiIFttYXhEYXRlXT1cIm9NYXhEYXRlXCIgKGZvY3VzKT1cImlubmVyT25Gb2N1cygkZXZlbnQpXCJcbiAgICAgIChibHVyKT1cImlubmVyT25CbHVyKCRldmVudClcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlRXZlbnQoJGV2ZW50KVwiIFtsb2NhbGVdPVwibG9jYWxlT3B0aW9uc1wiIFtzZXBhcmF0b3JdPVwic2VwYXJhdG9yXCIgW3N0YXJ0S2V5XT1cInN0YXJ0S2V5XCJcbiAgICAgIFtlbmRLZXldPVwiZW5kS2V5XCIgW3Nob3dXZWVrTnVtYmVyc109XCJzaG93V2Vla051bWJlcnNcIiBbc2luZ2xlRGF0ZVBpY2tlcl09XCJpc01vYmlsZU1vZGUoKVwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5QaWNrZXIoKVwiIFtkaXNhYmxlZF09XCJpc1JlYWRPbmx5IHx8ICFlbmFibGVkXCI+XG4gICAgICA8bWF0LWljb24+dG9kYXk8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJzaG93Q2xlYXJCdXR0b25cIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkNsaWNrQ2xlYXJWYWx1ZSgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImlzUmVhZE9ubHkgfHwgIWVuYWJsZWRcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwib250aW1pemU6Y2xvc2VcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG1hdC1lcnJvciAqb01hdEVycm9yPVwiaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uUkVRVUlSRUQnIHwgb1RyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm9NYXRFcnJvcj1cImhhc0Vycm9yKCdkYXRlUmFuZ2UnKVwiPlxuICAgICAge3sgJ0ZPUk1fVkFMSURBVElPTi5EQVRFUkFOR0VfSU5WQUxJRCcgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1lcnJvciAqb01hdEVycm9yPVwiaGFzRXJyb3IoJ2RhdGVSYW5nZVBhcnNlJylcIj5cbiAgICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uREFURV9QQVJTRScgfCBvVHJhbnNsYXRlIH19IDoge3sgZ2V0RXJyb3JWYWx1ZSgnZGF0ZVJhbmdlUGFyc2UnLCAnZm9ybWF0JykgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcignZGF0ZVJhbmdlTWluJylcIj5cbiAgICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uREFURVJBTkdFX01JTicgfCBvVHJhbnNsYXRlIH19IDoge3sgZ2V0RXJyb3JWYWx1ZSgnZGF0ZVJhbmdlTWluJywgJ2RhdGVNaW4nKSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm9NYXRFcnJvcj1cImhhc0Vycm9yKCdkYXRlUmFuZ2VNYXgnKVwiPlxuICAgICAge3sgJ0ZPUk1fVkFMSURBVElPTi5EQVRFUkFOR0VfTUFYJyB8IG9UcmFuc2xhdGUgfX0gOiB7eyBnZXRFcnJvclZhbHVlKCdkYXRlUmFuZ2VNYXgnLCAnZGF0ZU1heCcpIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1lcnJvciAqbmdGb3I9XCJsZXQgb0Vycm9yIG9mIGdldEFjdGl2ZU9FcnJvcnMoKVwiPlxuICAgICAge3sgb0Vycm9yLnRleHQgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Rpdj5cbiJdfQ==
|
|
353
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1kYXRlcmFuZ2UtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvZGF0ZS1yYW5nZS9vLWRhdGVyYW5nZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9kYXRlLXJhbmdlL28tZGF0ZXJhbmdlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUgsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUdwRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25GLE9BQU8sRUFB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QUU7Z0JBSTlDLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlyRCxnQkFBZ0IsTUFHaEIsZUFBZSxNQUdmLFFBQVEsTUFHUixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuaW1wb3J0IHsgQm9vbGVhbklucHV0Q29udmVydGVyIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9ycy9pbnB1dC1jb252ZXJ0ZXInO1xuaW1wb3J0IHsgTW9tZW50U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21vbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybVZhbHVlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2Zvcm0tdmFsdWUtb3B0aW9ucy50eXBlJztcbmltcG9ydCB7IE9EYXRlVmFsdWVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvby1kYXRlLXZhbHVlLnR5cGUnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBPRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm0vby1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBERUZBVUxUX09VVFBVVFNfT19GT1JNX0RBVEFfQ09NUE9ORU5ULCBPRm9ybURhdGFDb21wb25lbnQgfSBmcm9tICcuLi8uLi9vLWZvcm0tZGF0YS1jb21wb25lbnQuY2xhc3MnO1xuaW1wb3J0IHsgT1ZhbHVlQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi8uLi9vLXZhbHVlLWNoYW5nZS1ldmVudC5jbGFzcyc7XG5pbXBvcnQgeyBERUZBVUxUX0lOUFVUU19PX0RBVEVfSU5QVVQgfSBmcm9tICcuLi9kYXRlLWlucHV0L28tZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0RhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZSB9IGZyb20gJy4vby1kYXRlcmFuZ2UtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IERhdGVyYW5nZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vby1kYXRlcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09VVFBVVFNfT19EQVRFUkFOR0VfSU5QVVQgPSBbXG4gIC4uLkRFRkFVTFRfT1VUUFVUU19PX0ZPUk1fREFUQV9DT01QT05FTlRcbl07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0lOUFVUU19PX0RBVEVSQU5HRV9JTlBVVCA9IFtcbiAgJ3NlcGFyYXRvcicsXG4gICdzaG93V2Vla051bWJlcnM6c2hvdy13ZWVrLW51bWJlcnMnLFxuICAnc2hvd1JhbmdlczpzaG93LXJhbmdlcycsXG4gICdvbG9jYWxlOmxvY2FsZScsXG4gICdzdGFydEtleScsXG4gICdlbmRLZXknLFxuICAndmFsdWVUeXBlOiB2YWx1ZS10eXBlJyxcbiAgJ21vZGUnLFxuICAuLi5ERUZBVUxUX0lOUFVUU19PX0RBVEVfSU5QVVRcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ28tZGF0ZXJhbmdlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL28tZGF0ZXJhbmdlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vby1kYXRlcmFuZ2UtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgb3V0cHV0czogREVGQVVMVF9PVVRQVVRTX09fREFURVJBTkdFX0lOUFVULFxuICBpbnB1dHM6IERFRkFVTFRfSU5QVVRTX09fREFURVJBTkdFX0lOUFVUXG59KVxuZXhwb3J0IGNsYXNzIE9EYXRlUmFuZ2VJbnB1dENvbXBvbmVudCBleHRlbmRzIE9Gb3JtRGF0YUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcblxuICBAVmlld0NoaWxkKE9EYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pIHBpY2tlckRpcmVjdGl2ZTogT0RhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZTtcbiAgcGlja2VyITogRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ21hdElucHV0UmVmJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBtYXRJbnB1dFJlZiE6IEVsZW1lbnRSZWY7XG5cbiAgQEJvb2xlYW5JbnB1dENvbnZlcnRlcigpXG4gIHB1YmxpYyB0ZXh0SW5wdXRFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHVibGljIHNob3dXZWVrTnVtYmVyczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBCb29sZWFuSW5wdXRDb252ZXJ0ZXIoKVxuICBwdWJsaWMgb1RvdWNoVWk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAQm9vbGVhbklucHV0Q29udmVydGVyKClcbiAgcHVibGljIHNob3dSYW5nZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgX29NaW5EYXRlOiBtb21lbnQuTW9tZW50O1xuXG4gIHB1YmxpYyBtb2RlOiAnbW9iaWxlJyB8ICdkZXNrdG9wJyB8ICdhdXRvJyA9ICdhdXRvJztcblxuICBnZXQgb01pbkRhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29NaW5EYXRlO1xuICB9XG4gIHNldCBvTWluRGF0ZSh2YWx1ZSkge1xuICAgIHRoaXMuX29NaW5EYXRlID0gbW9tZW50KHZhbHVlLCB0aGlzLm9mb3JtYXQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9vTWF4RGF0ZTogbW9tZW50Lk1vbWVudDtcbiAgZ2V0IG9NYXhEYXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9vTWF4RGF0ZTtcbiAgfVxuICBzZXQgb01heERhdGUodmFsdWUpIHtcbiAgICB0aGlzLl9vTWF4RGF0ZSA9IG1vbWVudCh2YWx1ZSwgdGhpcy5vZm9ybWF0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc3RhcnRLZXk6IHN0cmluZyA9ICdzdGFydERhdGUnO1xuICBnZXQgc3RhcnRLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXJ0S2V5O1xuICB9XG4gIHNldCBzdGFydEtleSh2YWx1ZSkge1xuICAgIHRoaXMuX3N0YXJ0S2V5ID0gdmFsdWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2VuZEtleTogc3RyaW5nID0gJ2VuZERhdGUnO1xuICBnZXQgZW5kS2V5KCkge1xuICAgIHJldHVybiB0aGlzLl9lbmRLZXk7XG4gIH1cbiAgc2V0IGVuZEtleSh2YWx1ZSkge1xuICAgIHRoaXMuX2VuZEtleSA9IHZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWx1ZVR5cGU6IE9EYXRlVmFsdWVUeXBlID0gJ3RpbWVzdGFtcCc7XG5cbiAgcHJvdGVjdGVkIF9zZXBhcmF0b3IgPSAnIC0gJztcbiAgZ2V0IHNlcGFyYXRvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VwYXJhdG9yO1xuICB9XG5cbiAgc2V0IHNlcGFyYXRvcih2YWx1ZSkge1xuICAgIHRoaXMuX3NlcGFyYXRvciA9IHZhbHVlO1xuICAgIGlmICh0aGlzLmdldEZvcm1Db250cm9sKCkgJiYgdGhpcy5nZXRGb3JtQ29udHJvbCgpLnZhbHVlKSB7XG4gICAgICB0aGlzLnVwZGF0ZUVsZW1lbnQoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgc2hvd0NsZWFyQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsZWFyQnV0dG9uICYmICF0aGlzLmlzUmVhZE9ubHkgJiYgdGhpcy5lbmFibGVkICYmIHRoaXMubWF0SW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgfVxuXG4gIGdldCBsb2NhbGVPcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2NhbGVPcHRpb25zO1xuICB9XG5cbiAgaXNNb2JpbGVNb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdtb2JpbGUnIHx8ICh0aGlzLm1vZGUgPT09ICdhdXRvJyAmJiB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5pc01hdGNoZWQoQnJlYWtwb2ludHMuSGFuZHNldCkpXG4gIH1cblxuICBpc0Rlc2t0b3BNb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdkZXNrdG9wJyB8fCAodGhpcy5tb2RlID09PSAnYXV0bycgJiYgIXRoaXMuYnJlYWtwb2ludE9ic2VydmVyLmlzTWF0Y2hlZChCcmVha3BvaW50cy5IYW5kc2V0KSlcbiAgfVxuXG5cbiAgcHVibGljIG9mb3JtYXQ6IHN0cmluZyA9ICdMJztcbiAgcHJvdGVjdGVkIF9sb2NhbGVPcHRpb25zOiBhbnk7XG4gIHByb3RlY3RlZCBvbG9jYWxlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBtb21lbnRTcnY6IE1vbWVudFNlcnZpY2U7XG4gIHByaXZhdGUgb1RyYW5zbGF0ZTogT1RyYW5zbGF0ZVNlcnZpY2U7XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gT0Zvcm1Db21wb25lbnQpKSBmb3JtOiBPRm9ybUNvbXBvbmVudCxcbiAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyXG4gICkge1xuICAgIHN1cGVyKGZvcm0sIGVsUmVmLCBpbmplY3Rvcik7XG4gICAgdGhpcy5vVHJhbnNsYXRlID0gdGhpcy5pbmplY3Rvci5nZXQoT1RyYW5zbGF0ZVNlcnZpY2UpO1xuICAgIHRoaXMubW9tZW50U3J2ID0gdGhpcy5pbmplY3Rvci5nZXQoTW9tZW50U2VydmljZSk7XG4gICAgaWYgKCF0aGlzLm9sb2NhbGUpIHtcbiAgICAgIHRoaXMub2xvY2FsZSA9IHRoaXMubW9tZW50U3J2LmdldExvY2FsZSgpO1xuICAgICAgbW9tZW50LmxvY2FsZSh0aGlzLm9sb2NhbGUpO1xuICAgIH1cbiAgICB0aGlzLl9sb2NhbGVPcHRpb25zID0ge1xuICAgICAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgICAgIHNlcGFyYXRvcjogJyAtICcsXG4gICAgICB3ZWVrTGFiZWw6IHRoaXMub1RyYW5zbGF0ZS5nZXQoJ0RBVEVSQU5HRS5XJyksXG4gICAgICBhcHBseUxhYmVsOiB0aGlzLm9UcmFuc2xhdGUuZ2V0KCdEQVRFUkFOR0UuQVBQTFlMQUJFTCcpLFxuICAgICAgY2FuY2VsTGFiZWw6IHRoaXMub1RyYW5zbGF0ZS5nZXQoJ0NBTkNFTCcpLFxuICAgICAgY3VzdG9tUmFuZ2VMYWJlbDogJ0N1c3RvbSByYW5nZScsXG4gICAgICBkYXlzT2ZXZWVrOiBtb21lbnQubG9jYWxlRGF0YSgpLndlZWtkYXlzTWluKCksXG4gICAgICBtb250aE5hbWVzOiBtb21lbnQubG9jYWxlRGF0YSgpLm1vbnRoc1Nob3J0KCksXG4gICAgICBmaXJzdERheTogbW9tZW50LmxvY2FsZURhdGEoKS5maXJzdERheU9mV2VlaygpLFxuICAgICAgZm9ybWF0OiAnTCdcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBpZiAodGhpcy5vZm9ybWF0KSB7XG4gICAgICB0aGlzLl9sb2NhbGVPcHRpb25zLmZvcm1hdCA9IHRoaXMub2Zvcm1hdDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlblBpY2tlcigpIHtcbiAgICB0aGlzLnBpY2tlckRpcmVjdGl2ZS5vcGVuKCk7XG4gIH1cblxuICBwdWJsaWMgb25DaGFuZ2VFdmVudChldmVudDogYW55KTogdm9pZCB7XG4gICAgbGV0IG9iamVjdFZhbHVlO1xuICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEV2ZW50KSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICBpZiAodmFsdWUgIT09ICcnKSB7XG4gICAgICAgIG9iamVjdFZhbHVlID0gdGhpcy5nZXREYXRlUmFuZ2VUb1N0cmluZyh2YWx1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG9iamVjdFZhbHVlID0gZXZlbnQ7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRWYWx1ZShvYmplY3RWYWx1ZSwge1xuICAgICAgY2hhbmdlVHlwZTogT1ZhbHVlQ2hhbmdlRXZlbnQuVVNFUl9DSEFOR0UsXG4gICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgZW1pdE1vZGVsVG9WaWV3Q2hhbmdlOiBmYWxzZVxuICAgIH0pO1xuXG4gIH1cblxuICBwdWJsaWMgc2V0VmFsdWUodmFsOiBhbnksIG9wdGlvbnM6IEZvcm1WYWx1ZU9wdGlvbnMgPSB7fSwgc2V0RGlydHk6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIHN1cGVyLnNldFZhbHVlKHZhbCwgb3B0aW9ucywgc2V0RGlydHkpO1xuICAgIHRoaXMudXBkYXRlRWxlbWVudCgpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xpY2tDbGVhclZhbHVlKGU6IEV2ZW50KTogdm9pZCB7XG4gICAgc3VwZXIub25DbGlja0NsZWFyVmFsdWUoZSk7XG4gICAgdGhpcy5waWNrZXJEaXJlY3RpdmUudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5waWNrZXJEaXJlY3RpdmUuZGF0ZXNVcGRhdGVkLmVtaXQoKTtcbiAgfVxuXG4gIGRhdGVzVXBkYXRlZChyYW5nZSkge1xuICAgIHRoaXMucGlja2VyRGlyZWN0aXZlLmNsb3NlKCk7XG4gICAgdGhpcy5zZXRWYWx1ZShyYW5nZSxcbiAgICAgIHtcbiAgICAgICAgY2hhbmdlVHlwZTogT1ZhbHVlQ2hhbmdlRXZlbnQuVVNFUl9DSEFOR0UsXG4gICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgIGVtaXRNb2RlbFRvVmlld0NoYW5nZTogZmFsc2VcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNldERhdGEobmV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHN1cGVyLnNldERhdGEobmV3VmFsdWUpO1xuICAgIHRoaXMucGlja2VyRGlyZWN0aXZlLmRhdGVzVXBkYXRlZC5lbWl0KG5ld1ZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZUVsZW1lbnQoKTtcbiAgfVxuXG4gIHVwZGF0ZUVsZW1lbnQoKSB7XG4gICAgbGV0IGNob3NlbkxhYmVsOiBhbnk7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMudmFsdWUpICYmIFV0aWwuaXNEZWZpbmVkKHRoaXMudmFsdWUudmFsdWUpICYmICF0aGlzLmlzT2JqZWN0RGF0YVJhbmdlTnVsbCh0aGlzLnZhbHVlKSkge1xuICAgICAgaWYgKHRoaXMudmFsdWUudmFsdWVbdGhpcy5waWNrZXJEaXJlY3RpdmUuc3RhcnRLZXldICYmIHRoaXMudmFsdWUudmFsdWVbdGhpcy5waWNrZXJEaXJlY3RpdmUuZW5kS2V5XSkge1xuICAgICAgICB0aGlzLnZhbHVlLnZhbHVlW3RoaXMucGlja2VyRGlyZWN0aXZlLnN0YXJ0S2V5XSA9IHRoaXMuZW5zdXJlRGF0ZVJhbmdlVmFsdWUodGhpcy52YWx1ZS52YWx1ZVt0aGlzLnBpY2tlckRpcmVjdGl2ZS5zdGFydEtleV0sIHRoaXMuX3ZhbHVlVHlwZSk7XG4gICAgICAgIHRoaXMudmFsdWUudmFsdWVbdGhpcy5waWNrZXJEaXJlY3RpdmUuZW5kS2V5XSA9IHRoaXMuZW5zdXJlRGF0ZVJhbmdlVmFsdWUodGhpcy52YWx1ZS52YWx1ZVt0aGlzLnBpY2tlckRpcmVjdGl2ZS5lbmRLZXldLCB0aGlzLl92YWx1ZVR5cGUpO1xuICAgICAgICBjaG9zZW5MYWJlbCA9IHRoaXMudmFsdWUudmFsdWVbdGhpcy5waWNrZXJEaXJlY3RpdmUuc3RhcnRLZXldLmZvcm1hdCh0aGlzLm9mb3JtYXQpICtcbiAgICAgICAgICB0aGlzLnNlcGFyYXRvciArIHRoaXMudmFsdWUudmFsdWVbdGhpcy5waWNrZXJEaXJlY3RpdmUuZW5kS2V5XS5mb3JtYXQodGhpcy5vZm9ybWF0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNob3NlbkxhYmVsID0gbnVsbDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY2hvc2VuTGFiZWwgPSBudWxsO1xuICAgICAgdGhpcy5waWNrZXJEaXJlY3RpdmUudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMucGlja2VyRGlyZWN0aXZlLl9lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gY2hvc2VuTGFiZWw7XG4gIH1cblxuXG4gIGdldERhdGVSYW5nZVRvU3RyaW5nKHZhbHVlVG9TdHJpbmc6IHN0cmluZykge1xuICAgIGNvbnN0IHZhbHVlID0ge307XG4gICAgY29uc3QgcmFuZ2UgPSB2YWx1ZVRvU3RyaW5nLnNwbGl0KHRoaXMuc2VwYXJhdG9yKTtcbiAgICB2YWx1ZVt0aGlzLl9zdGFydEtleV0gPSBtb21lbnQocmFuZ2VbMF0udHJpbSgpLCB0aGlzLm9mb3JtYXQpO1xuICAgIHZhbHVlW3RoaXMuX2VuZEtleV0gPSBtb21lbnQocmFuZ2VbMV0udHJpbSgpLCB0aGlzLm9mb3JtYXQpO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG5cbiAgcmVzb2x2ZVZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IHN1cGVyLnJlc29sdmVWYWxpZGF0b3JzKCk7XG5cbiAgICB2YWxpZGF0b3JzLnB1c2godGhpcy5yYW5nZURhdGVWYWxpZGF0b3IuYmluZCh0aGlzKSk7XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuX29NaW5EYXRlKSkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKHRoaXMubWluRGF0ZVZhbGlkYXRvci5iaW5kKHRoaXMpKTtcbiAgICB9XG4gICAgaWYgKFV0aWwuaXNEZWZpbmVkKHRoaXMuX29NYXhEYXRlKSkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKHRoaXMubWF4RGF0ZVZhbGlkYXRvci5iaW5kKHRoaXMpKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0b3JzLnB1c2godGhpcy5wYXJzZURhdGVWYWxpZGF0b3IuYmluZCh0aGlzKSk7XG4gICAgcmV0dXJuIHZhbGlkYXRvcnM7XG4gIH1cblxuICBpc09iamVjdERhdGFSYW5nZU51bGwob2JqZWN0VmFsdWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gb2JqZWN0VmFsdWUgIT09IG51bGwgJiYgb2JqZWN0VmFsdWUudmFsdWUgIT09IG51bGwgJiZcbiAgICAgICFVdGlsLmlzRGVmaW5lZChvYmplY3RWYWx1ZS52YWx1ZVt0aGlzLnBpY2tlckRpcmVjdGl2ZS5zdGFydEtleV0pICYmXG4gICAgICAhVXRpbC5pc0RlZmluZWQob2JqZWN0VmFsdWUudmFsdWVbdGhpcy5waWNrZXJEaXJlY3RpdmUuZW5kS2V5XSk7XG4gIH1cblxuXG4gIHByb3RlY3RlZCByYW5nZURhdGVWYWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG5cbiAgICBpZiAoKGNvbnRyb2wudmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpXG4gICAgICAmJiAhdGhpcy5pc09iamVjdERhdGFSYW5nZU51bGwoY29udHJvbCkgJiYgY29udHJvbC52YWx1ZVt0aGlzLl9lbmRLZXldLmlzU2FtZU9yQmVmb3JlKGNvbnRyb2wudmFsdWVbdGhpcy5fc3RhcnRLZXldKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0ZVJhbmdlOiB0cnVlXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcm90ZWN0ZWQgbWluRGF0ZVZhbGlkYXRvcihjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHtcbiAgICBjb25zdCBtaW5kYXRlID0gbW9tZW50KHRoaXMuX29NaW5EYXRlKTtcbiAgICBpZiAoKGNvbnRyb2wudmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpXG4gICAgICAmJiAhdGhpcy5pc09iamVjdERhdGFSYW5nZU51bGwoY29udHJvbCkgJiYgY29udHJvbC52YWx1ZVt0aGlzLl9zdGFydEtleV0uaXNCZWZvcmUobWluZGF0ZSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGVSYW5nZU1pbjoge1xuICAgICAgICAgIGRhdGVNaW46IG1pbmRhdGUuZm9ybWF0KHRoaXMub2Zvcm1hdClcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHJvdGVjdGVkIG1heERhdGVWYWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgY29uc3QgbWF4ZGF0ZSA9IG1vbWVudCh0aGlzLl9vTWF4RGF0ZSk7XG4gICAgaWYgKChjb250cm9sLnZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KVxuICAgICAgJiYgIXRoaXMuaXNPYmplY3REYXRhUmFuZ2VOdWxsKGNvbnRyb2wpICYmIGNvbnRyb2wudmFsdWVbdGhpcy5fZW5kS2V5XS5pc0FmdGVyKG1heGRhdGUpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRlUmFuZ2VNYXg6IHtcbiAgICAgICAgICBkYXRlTWF4OiBtYXhkYXRlLmZvcm1hdCh0aGlzLm9mb3JtYXQpXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7fTtcbiAgfVxuICBwcm90ZWN0ZWQgcGFyc2VEYXRlVmFsaWRhdG9yKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmICgoY29udHJvbC52YWx1ZSBpbnN0YW5jZW9mIE9iamVjdClcbiAgICAgICYmICF0aGlzLmlzT2JqZWN0RGF0YVJhbmdlTnVsbChjb250cm9sKVxuICAgICAgJiYgKChjb250cm9sLnZhbHVlW3RoaXMuX3N0YXJ0S2V5XSAmJiAhY29udHJvbC52YWx1ZVt0aGlzLl9zdGFydEtleV0uaXNWYWxpZCgpKVxuICAgICAgICB8fCAoY29udHJvbC52YWx1ZVt0aGlzLl9lbmRLZXldICYmICFjb250cm9sLnZhbHVlW3RoaXMuX2VuZEtleV0uaXNWYWxpZCgpKSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGVSYW5nZVBhcnNlOiB7XG4gICAgICAgICAgZm9ybWF0OiB0aGlzLm9mb3JtYXQgKyB0aGlzLl9sb2NhbGVPcHRpb25zLnNlcGFyYXRvciArIHRoaXMub2Zvcm1hdFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICBlbnN1cmVEYXRlUmFuZ2VWYWx1ZSh2YWw6IGFueSwgdmFsdWVUeXBlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHZhbCkpIHtcbiAgICAgIHJldHVybiB2YWw7XG4gICAgfVxuICAgIGxldCByZXN1bHQgPSB2YWw7XG4gICAgaWYgKCFtb21lbnQuaXNNb21lbnQodmFsKSkge1xuICAgICAgc3dpdGNoICh2YWx1ZVR5cGUpIHtcbiAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgaWYgKCh2YWwgaW5zdGFuY2VvZiBEYXRlKSB8fCB0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IG1vbWVudCh2YWwpLmZvcm1hdCgnWVlZWS1NTS1ERFRoaDptbScpICsgJ1onO1xuICAgICAgICAgICAgY29uc3QgcSA9IG1vbWVudChkYXRlU3RyaW5nKTtcbiAgICAgICAgICAgIGlmIChxLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgICByZXN1bHQgPSBxO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd0aW1lc3RhbXAnOlxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IG1vbWVudC51bml4KHZhbCkuZm9ybWF0KCdZWVlZLU1NLUREVGhoOm1tJykgKyAnWic7XG4gICAgICAgICAgICBjb25zdCB0ID0gbW9tZW50KGRhdGVTdHJpbmcpO1xuICAgICAgICAgICAgaWYgKHQuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgIHJlc3VsdCA9IHQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHZhbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2lzby04NjAxJzpcbiAgICAgICAgICBjb25zdCBtID0gbW9tZW50KHZhbCk7XG4gICAgICAgICAgaWYgKG0uaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICByZXN1bHQgPSBtO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHJlc3VsdCkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgT0RhdGVSYW5nZUlucHV0Q29tcG9uZW50IHZhbHVlICgke3ZhbH0pIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggdmFsdWUtdHlwZSAoJHt2YWx1ZVR5cGV9KWApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc2V0IHZhbHVlVHlwZSh2YWw6IGFueSkge1xuICAgIHRoaXMuX3ZhbHVlVHlwZSA9IFV0aWwuY29udmVydFRvT0RhdGVWYWx1ZVR5cGUodmFsKTtcbiAgfVxuXG4gIGdldCB2YWx1ZVR5cGUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVUeXBlO1xuICB9XG5cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIiBbZm9ybUdyb3VwXT1cImdldEZvcm1Hcm91cCgpXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcFwiIFttYXRUb29sdGlwQ2xhc3NdPVwidG9vbHRpcENsYXNzXCJcbiAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb25cIiBbbWF0VG9vbHRpcFNob3dEZWxheV09XCJ0b29sdGlwU2hvd0RlbGF5XCIgW21hdFRvb2x0aXBIaWRlRGVsYXldPVwidG9vbHRpcEhpZGVEZWxheVwiPlxuXG4gIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCIgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiIFtoaWRlUmVxdWlyZWRNYXJrZXJdPVwiaGlkZVJlcXVpcmVkTWFya2VyXCIgW2NsYXNzLmN1c3RvbS13aWR0aF09XCJoYXNDdXN0b21XaWR0aFwiXG4gICAgY2xhc3M9XCJpY29uLWZpZWxkXCIgZnhGbGV4RmlsbCBbc3Vic2NyaXB0U2l6aW5nXT1cInN1YnNjcmlwdFNpemluZ1wiPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJsYWJlbFZpc2libGVcIj57eyBvbGFiZWwgfCBvVHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0ICNtYXRJbnB1dFJlZiBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIG8tZGF0ZXJhbmdlLWlucHV0IFtpZF09XCJnZXRBdHRyaWJ1dGUoKVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZ2V0QXR0cmlidXRlKClcIiBbcmVxdWlyZWRdPVwiaXNSZXF1aXJlZFwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIiBbcmVhZG9ubHldPVwiaXNSZWFkT25seSB8fCAhdGV4dElucHV0RW5hYmxlZFwiIHNob3dEcm9wZG93bnM9XCJ0cnVlXCIgc2hvd0NhbmNlbD1cInRydWVcIiBbc2hvd1Jhbmdlc109XCJzaG93UmFuZ2VzXCJcbiAgICAgIChkYXRlc1VwZGF0ZWQpPVwiZGF0ZXNVcGRhdGVkKCRldmVudClcIiBbb1RvdWNoVWldPVwib1RvdWNoVWlcIiBbbWluRGF0ZV09XCJvTWluRGF0ZVwiIFttYXhEYXRlXT1cIm9NYXhEYXRlXCIgKGZvY3VzKT1cImlubmVyT25Gb2N1cygkZXZlbnQpXCJcbiAgICAgIChibHVyKT1cImlubmVyT25CbHVyKCRldmVudClcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlRXZlbnQoJGV2ZW50KVwiIFtsb2NhbGVdPVwibG9jYWxlT3B0aW9uc1wiIFtzZXBhcmF0b3JdPVwic2VwYXJhdG9yXCIgW3N0YXJ0S2V5XT1cInN0YXJ0S2V5XCJcbiAgICAgIFtlbmRLZXldPVwiZW5kS2V5XCIgW3Nob3dXZWVrTnVtYmVyc109XCJzaG93V2Vla051bWJlcnNcIiBbc2luZ2xlRGF0ZVBpY2tlcl09XCJpc01vYmlsZU1vZGUoKVwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5QaWNrZXIoKVwiIFtkaXNhYmxlZF09XCJpc1JlYWRPbmx5IHx8ICFlbmFibGVkXCI+XG4gICAgICA8bWF0LWljb24+dG9kYXk8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJzaG93Q2xlYXJCdXR0b25cIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkNsaWNrQ2xlYXJWYWx1ZSgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImlzUmVhZE9ubHkgfHwgIWVuYWJsZWRcIj5cbiAgICAgIDxtYXQtaWNvbiBzdmdJY29uPVwib250aW1pemU6Y2xvc2VcIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPG1hdC1lcnJvciAqb01hdEVycm9yPVwiaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uUkVRVUlSRUQnIHwgb1RyYW5zbGF0ZSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm9NYXRFcnJvcj1cImhhc0Vycm9yKCdkYXRlUmFuZ2UnKVwiPlxuICAgICAge3sgJ0ZPUk1fVkFMSURBVElPTi5EQVRFUkFOR0VfSU5WQUxJRCcgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1lcnJvciAqb01hdEVycm9yPVwiaGFzRXJyb3IoJ2RhdGVSYW5nZVBhcnNlJylcIj5cbiAgICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uREFURV9QQVJTRScgfCBvVHJhbnNsYXRlIH19IDoge3sgZ2V0RXJyb3JWYWx1ZSgnZGF0ZVJhbmdlUGFyc2UnLCAnZm9ybWF0JykgfX1cbiAgICA8L21hdC1lcnJvcj5cbiAgICA8bWF0LWVycm9yICpvTWF0RXJyb3I9XCJoYXNFcnJvcignZGF0ZVJhbmdlTWluJylcIj5cbiAgICAgIHt7ICdGT1JNX1ZBTElEQVRJT04uREFURVJBTkdFX01JTicgfCBvVHJhbnNsYXRlIH19IDoge3sgZ2V0RXJyb3JWYWx1ZSgnZGF0ZVJhbmdlTWluJywgJ2RhdGVNaW4nKSB9fVxuICAgIDwvbWF0LWVycm9yPlxuICAgIDxtYXQtZXJyb3IgKm9NYXRFcnJvcj1cImhhc0Vycm9yKCdkYXRlUmFuZ2VNYXgnKVwiPlxuICAgICAge3sgJ0ZPUk1fVkFMSURBVElPTi5EQVRFUkFOR0VfTUFYJyB8IG9UcmFuc2xhdGUgfX0gOiB7eyBnZXRFcnJvclZhbHVlKCdkYXRlUmFuZ2VNYXgnLCAnZGF0ZU1heCcpIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gICAgPG1hdC1lcnJvciAqbmdGb3I9XCJsZXQgb0Vycm9yIG9mIGdldEFjdGl2ZU9FcnJvcnMoKVwiPlxuICAgICAge3sgb0Vycm9yLnRleHQgfCBvVHJhbnNsYXRlIH19XG4gICAgPC9tYXQtZXJyb3I+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -287,14 +287,14 @@ export class ODaterangepickerDirective {
|
|
|
287
287
|
}
|
|
288
288
|
}
|
|
289
289
|
}
|
|
290
|
-
ODaterangepickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
291
|
-
ODaterangepickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
|
290
|
+
ODaterangepickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ODaterangepickerDirective, deps: [{ token: i1.MatDialog }, { token: i0.NgZone }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i2.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Directive });
|
|
291
|
+
ODaterangepickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ODaterangepickerDirective, selector: "input[o-daterange-input]", inputs: { minDate: "minDate", maxDate: "maxDate", showCustomRangeLabel: "showCustomRangeLabel", linkedCalendars: "linkedCalendars", dateLimit: "dateLimit", singleDatePicker: "singleDatePicker", showWeekNumbers: "showWeekNumbers", showISOWeekNumbers: "showISOWeekNumbers", showDropdowns: "showDropdowns", isInvalidDate: "isInvalidDate", isCustomDate: "isCustomDate", opens: "opens", drops: "drops", lastMonthDayClass: "lastMonthDayClass", emptyWeekRowClass: "emptyWeekRowClass", firstDayOfNextMonthClass: "firstDayOfNextMonthClass", lastDayOfPreviousMonthClass: "lastDayOfPreviousMonthClass", keepCalendarOpeningWithRange: "keepCalendarOpeningWithRange", showRangeLabelOnInput: "showRangeLabelOnInput", showCancel: "showCancel", timePicker: "timePicker", showRanges: "showRanges", timePicker24Hour: "timePicker24Hour", timePickerIncrement: "timePickerIncrement", timePickerSeconds: "timePickerSeconds", separator: "separator", locale: "locale", _endKey: "_endKey", oTouchUi: "oTouchUi", startKey: "startKey", endKey: "endKey" }, outputs: { onChange: "onChange", rangeClicked: "rangeClicked", datesUpdated: "datesUpdated" }, host: { listeners: { "keyup.esc": "close()", "blur": "onBlur()" } }, providers: [
|
|
292
292
|
{
|
|
293
293
|
provide: NG_VALUE_ACCESSOR,
|
|
294
294
|
useExisting: forwardRef(() => ODaterangepickerDirective), multi: true
|
|
295
295
|
}
|
|
296
296
|
], ngImport: i0 });
|
|
297
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ODaterangepickerDirective, decorators: [{
|
|
298
298
|
type: Directive,
|
|
299
299
|
args: [{
|
|
300
300
|
selector: 'input[o-daterange-input]',
|
|
@@ -378,4 +378,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
378
378
|
}], datesUpdated: [{
|
|
379
379
|
type: Output
|
|
380
380
|
}] } });
|
|
381
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1kYXRlcmFuZ2UtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvZGF0ZS1yYW5nZS9vLWRhdGVyYW5nZS1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBZ0MscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFnQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFrQixlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0TSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQTtBQUMzQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFlMUUsTUFBTSxPQUFPLHlCQUF5QjtJQW9FcEMsSUFBYSxTQUFTLENBQUMsS0FBSztRQUMxQixJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIs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Z0JBR04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBR04sZUFBZTtzQkFEZCxLQUFLO2dCQUdOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFHTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBR04sd0JBQXdCO3NCQUR2QixLQUFLO2dCQUdOLDJCQUEyQjtzQkFEMUIsS0FBSztnQkFHTiw0QkFBNEI7c0JBRDNCLEtBQUs7Z0JBR04scUJBQXFCO3NCQURwQixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUdOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFHTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS08sU0FBUztzQkFBckIsS0FBSztnQkFTTyxNQUFNO3NCQUFsQixLQUFLO2dCQWFFLE9BQU87c0JBRGQsS0FBSztnQkFlTixRQUFRO3NCQURQLEtBQUs7Z0JBR08sUUFBUTtzQkFBcEIsS0FBSztnQkFVTyxNQUFNO3NCQUFsQixLQUFLO2dCQXdCSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVTQ0FQRSwgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiwgUG9zaXRpb25TdHJhdGVneSwgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIEtleVZhbHVlRGlmZmVyLCBLZXlWYWx1ZURpZmZlcnMsIE5nWm9uZSwgT3V0cHV0LCBWaWV3Q29udGFpbmVyUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9vLWRhdGVyYW5nZS1waWNrZXIuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbby1kYXRlcmFuZ2UtaW5wdXRdJyxcbiAgaG9zdDoge1xuICAgICcoa2V5dXAuZXNjKSc6ICdjbG9zZSgpJyxcbiAgICAnKGJsdXIpJzogJ29uQmx1cigpJ1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE9EYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBPRGF0ZXJhbmdlcGlja2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9vbkNoYW5nZSA9IEZ1bmN0aW9uLnByb3RvdHlwZTtcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gRnVuY3Rpb24ucHJvdG90eXBlO1xuICBwdWJsaWMgX3ZhbGlkYXRvckNoYW5nZSA9IEZ1bmN0aW9uLnByb3RvdHlwZTtcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICBwdWJsaWMgbG9jYWxlRGlmZmVyOiBLZXlWYWx1ZURpZmZlcjxzdHJpbmcsIGFueT47XG5cbiAgQElucHV0KClcbiAgbWluRGF0ZTogbW9tZW50Lk1vbWVudCA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIG1heERhdGU6IG1vbWVudC5Nb21lbnQgPSBudWxsO1xuICBASW5wdXQoKVxuICBzaG93Q3VzdG9tUmFuZ2VMYWJlbDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgbGlua2VkQ2FsZW5kYXJzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBkYXRlTGltaXQ6IG51bWJlciA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIHNpbmdsZURhdGVQaWNrZXI6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHNob3dXZWVrTnVtYmVyczogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgc2hvd0lTT1dlZWtOdW1iZXJzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBzaG93RHJvcGRvd25zOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBpc0ludmFsaWREYXRlOiAoKSA9PiBib29sZWFuO1xuICBASW5wdXQoKVxuICBpc0N1c3RvbURhdGU6ICgpID0+IGJvb2xlYW47XG4gIC8vIEBJbnB1dCgpXG4gIC8vIHNob3dDbGVhckJ1dHRvbjogYm9vbGVhbjtcblxuXG4gIEBJbnB1dCgpXG4gIG9wZW5zOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGRyb3BzOiBzdHJpbmc7XG4gIGZpcnN0TW9udGhEYXlDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKVxuICBsYXN0TW9udGhEYXlDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKVxuICBlbXB0eVdlZWtSb3dDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKVxuICBmaXJzdERheU9mTmV4dE1vbnRoQ2xhc3M6IHN0cmluZztcbiAgQElucHV0KClcbiAgbGFzdERheU9mUHJldmlvdXNNb250aENsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGtlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2U6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHNob3dSYW5nZUxhYmVsT25JbnB1dDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgc2hvd0NhbmNlbDogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyB0aW1lcGlja2VyIHZhcmlhYmxlc1xuICBASW5wdXQoKVxuICB0aW1lUGlja2VyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHNob3dSYW5nZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgdGltZVBpY2tlcjI0SG91cjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICB0aW1lUGlja2VySW5jcmVtZW50OiBudW1iZXIgPSAxO1xuICBASW5wdXQoKVxuICB0aW1lUGlja2VyU2Vjb25kczogYm9vbGVhbiA9IGZhbHNlO1xuICBfbG9jYWxlOiBhbnk7XG4gIF9zZXBhcmF0b3I6IHN0cmluZztcblxuICBASW5wdXQoKSBzZXQgc2VwYXJhdG9yKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZXBhcmF0b3IgPSB2YWx1ZTtcbiAgICAgIGlmICh0aGlzLl9sb2NhbGUpIHtcbiAgICAgICAgdGhpcy5fbG9jYWxlLnNlcGFyYXRvciA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBsb2NhbGUodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2xvY2FsZSA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMuX3NlcGFyYXRvcikge1xuICAgICAgICB0aGlzLl9sb2NhbGUuc2VwYXJhdG9yID0gdGhpcy5fc2VwYXJhdG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBnZXQgbG9jYWxlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgX2VuZEtleTogc3RyaW5nID0gJ2VuZERhdGUnO1xuICBwcml2YXRlIF9zdGFydEtleTogc3RyaW5nID0gJ3N0YXJ0RGF0ZSc7XG5cbiAgcHVibGljIHJhbmdlczogYW55ID0ge1xuICAgICdEQVRFUkFOR0UudG9kYXknOiBbbW9tZW50KCksIG1vbWVudCgpXSxcbiAgICAnREFURVJBTkdFLnllc3RlcmRheSc6IFttb21lbnQoKS5zdWJ0cmFjdCgxLCAnZGF5cycpLCBtb21lbnQoKS5zdWJ0cmFjdCgxLCAnZGF5cycpXSxcbiAgICAnREFURVJBTkdFLmxhc3RfN2RheXMnOiBbbW9tZW50KCkuc3VidHJhY3QoNiwgJ2RheXMnKSwgbW9tZW50KCldLFxuICAgICdEQVRFUkFOR0UubGFzdF8zMGRheXMnOiBbbW9tZW50KCkuc3VidHJhY3QoMjksICdkYXlzJyksIG1vbWVudCgpXSxcbiAgICAnREFURVJBTkdFLnRoaXNfbW9udGgnOiBbbW9tZW50KCkuc3RhcnRPZignbW9udGgnKSwgbW9tZW50KCkuZW5kT2YoJ21vbnRoJyldLFxuICAgICdEQVRFUkFOR0UubGFzdF9tb250aCc6IFttb21lbnQoKS5zdWJ0cmFjdCgxLCAnbW9udGgnKS5zdGFydE9mKCdtb250aCcpLCBtb21lbnQoKS5zdWJ0cmFjdCgxLCAnbW9udGgnKS5lbmRPZignbW9udGgnKV0sXG4gICAgJ0RBVEVSQU5HRS50aGlzX3llYXInOiBbbW9tZW50KCkuc3RhcnRPZigneWVhcicpLCBtb21lbnQoKS5lbmRPZigneWVhcicpXVxuICB9O1xuXG4gIEBJbnB1dCgpXG4gIG9Ub3VjaFVpOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2V0IHN0YXJ0S2V5KHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zdGFydEtleSA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zdGFydEtleSA9ICdzdGFydERhdGUnO1xuICAgIH1cbiAgfVxuICBnZXQgc3RhcnRLZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRLZXk7XG4gIH1cbiAgQElucHV0KCkgc2V0IGVuZEtleSh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fZW5kS2V5ID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2VuZEtleSA9ICdlbmREYXRlJztcbiAgICB9XG4gIH1cbiAgZ2V0IGVuZEtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9lbmRLZXk7XG4gIH1cbiAgbm90Rm9yQ2hhbmdlc1Byb3BlcnR5OiBBcnJheTxzdHJpbmc+ID0gW1xuICAgICdsb2NhbGUnLFxuICAgICdlbmRLZXknLFxuICAgICdzdGFydEtleSdcbiAgXTtcblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlIHx8IG51bGw7XG4gIH1cbiAgc2V0IHZhbHVlKHZhbCkge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsO1xuICAgIHRoaXMuX29uQ2hhbmdlKHZhbCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgQE91dHB1dCgpIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8b2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJhbmdlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPG9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBkYXRlc1VwZGF0ZWQ6IEV2ZW50RW1pdHRlcjxvYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgX3BvcHVwQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8RGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50PiB8IG51bGw7XG4gIHByaXZhdGUgX2NhbGVuZGFyUG9ydGFsOiBDb21wb25lbnRQb3J0YWw8RGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50PjtcbiAgX3BvcHVwUmVmOiBPdmVybGF5UmVmO1xuICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQ+IHwgbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgIHB1YmxpYyBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwdWJsaWMgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgX2VsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgZGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByaXZhdGUgc2Nyb2xsU3RyYXRlZ3k6IFNjcm9sbFN0cmF0ZWd5T3B0aW9uc1xuICApIHtcbiAgICB0aGlzLmRyb3BzID0gJ2Rvd24nO1xuICAgIHRoaXMub3BlbnMgPSAncmlnaHQnO1xuICB9XG5cbiAgaW5pdGlhbGl6ZUxpc3RlbmVycyhpbnN0YW5jZSkge1xuICAgIGluc3RhbmNlLnJhbmdlQ2xpY2tlZC5hc09ic2VydmFibGUoKS5zdWJzY3JpYmUoKHJhbmdlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMucmFuZ2VDbGlja2VkLmVtaXQocmFuZ2UpO1xuICAgIH0pO1xuICAgIGluc3RhbmNlLmRhdGVzVXBkYXRlZC5hc09ic2VydmFibGUoKS5zdWJzY3JpYmUoKHJhbmdlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuZGF0ZXNVcGRhdGVkLmVtaXQocmFuZ2UpO1xuICAgIH0pO1xuICAgIGluc3RhbmNlLmNob29zZWREYXRlLmFzT2JzZXJ2YWJsZSgpLnN1YnNjcmliZSgoY2hhbmdlOiBhbnkpID0+IHtcbiAgICAgIGlmIChjaGFuZ2UpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB7fTtcbiAgICAgICAgdmFsdWVbdGhpcy5fc3RhcnRLZXldID0gY2hhbmdlLnN0YXJ0RGF0ZTtcbiAgICAgICAgdmFsdWVbdGhpcy5fZW5kS2V5XSA9IGNoYW5nZS5lbmREYXRlO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgIGlmICh0eXBlb2YgY2hhbmdlLmNob3NlbkxhYmVsID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBjaGFuZ2UuY2hvc2VuTGFiZWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBpbnN0YW5jZS5maXJzdE1vbnRoRGF5Q2xhc3MgPSB0aGlzLmZpcnN0TW9udGhEYXlDbGFzcztcbiAgICBpbnN0YW5jZS5sYXN0TW9udGhEYXlDbGFzcyA9IHRoaXMubGFzdE1vbnRoRGF5Q2xhc3M7XG4gICAgaW5zdGFuY2UuZW1wdHlXZWVrUm93Q2xhc3MgPSB0aGlzLmVtcHR5V2Vla1Jvd0NsYXNzO1xuICAgIGluc3RhbmNlLmZpcnN0RGF5T2ZOZXh0TW9udGhDbGFzcyA9IHRoaXMuZmlyc3REYXlPZk5leHRNb250aENsYXNzO1xuICAgIGluc3RhbmNlLmxhc3REYXlPZlByZXZpb3VzTW9udGhDbGFzcyA9IHRoaXMubGFzdERheU9mUHJldmlvdXNNb250aENsYXNzO1xuICAgIGluc3RhbmNlLmRyb3BzID0gdGhpcy5kcm9wcztcbiAgICBpbnN0YW5jZS5vcGVucyA9IHRoaXMub3BlbnM7XG4gICAgaW5zdGFuY2UubWluRGF0ZSA9IHRoaXMubWluRGF0ZTtcbiAgICBpbnN0YW5jZS5tYXhEYXRlID0gdGhpcy5tYXhEYXRlO1xuICAgIGluc3RhbmNlLmxvY2FsZSA9IHRoaXMubG9jYWxlO1xuICAgIGluc3RhbmNlLnNob3dXZWVrTnVtYmVycyA9IHRoaXMuc2hvd1dlZWtOdW1iZXJzO1xuICAgIGluc3RhbmNlLnNpbmdsZURhdGVQaWNrZXIgPSB0aGlzLnNpbmdsZURhdGVQaWNrZXI7XG5cbiAgICBpZiAodGhpcy5zaG93UmFuZ2VzKSB7XG4gICAgICBpbnN0YW5jZS5yYW5nZXMgPSB0aGlzLnJhbmdlcztcbiAgICAgIGluc3RhbmNlLmtlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2UgPSB0cnVlO1xuICAgICAgaW5zdGFuY2UuYWx3YXlzU2hvd0NhbGVuZGFycyA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMubG9jYWxlRGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQodGhpcy5sb2NhbGUpLmNyZWF0ZSgpO1xuICB9XG5cbiAgLy8gbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQgIHtcbiAgLy8gICBmb3IgKGxldCBjaGFuZ2UgaW4gY2hhbmdlcykge1xuICAvLyAgICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoY2hhbmdlKSkge1xuICAvLyAgICAgICBpZiAodGhpcy5ub3RGb3JDaGFuZ2VzUHJvcGVydHkuaW5kZXhPZihjaGFuZ2UpID09PSAtMSkge1xuICAvLyAgICAgICAgIHRoaXMucGlja2VyW2NoYW5nZV0gPSBjaGFuZ2VzW2NoYW5nZV0uY3VycmVudFZhbHVlO1xuICAvLyAgICAgICB9XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLy8gbmdEb0NoZWNrKCkge1xuICAvLyAgIGlmICh0aGlzLmxvY2FsZURpZmZlcikge1xuICAvLyAgICAgY29uc3QgY2hhbmdlcyA9IHRoaXMubG9jYWxlRGlmZmVyLmRpZmYodGhpcy5sb2NhbGUpO1xuICAvLyAgICAgaWYgKGNoYW5nZXMpIHtcbiAgLy8gICAgICAgdGhpcy5waWNrZXIudXBkYXRlTG9jYWxlKHRoaXMubG9jYWxlKTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vIH1cblxuICBvbkJsdXIoKSB7XG4gICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gIH1cblxuICBvcGVuKCkge1xuICAgIGlmICghdGhpcy5vVG91Y2hVaSkge1xuICAgICAgdGhpcy5vcGVuQXNQb3B1cCgpO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbkFzRGlhbG9nKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgaWYgKHRoaXMuX3BvcHVwUmVmKSB7XG4gICAgICB0aGlzLl9wb3B1cFJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLl9wb3B1cENvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5fcG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2UuY2xlYXIoKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWUpIHtcbiAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuKSB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbikge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0VmFsdWVJbkRhdGVDb21wb25lbnQoaW5zdGFuY2UsIHZhbCkge1xuICAgIGlmICh2YWwpIHtcbiAgICAgIGlmICh2YWxbdGhpcy5fc3RhcnRLZXldKSB7XG4gICAgICAgIGluc3RhbmNlLnNldFN0YXJ0RGF0ZSh2YWxbdGhpcy5fc3RhcnRLZXldKTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWxbdGhpcy5fZW5kS2V5XSkge1xuICAgICAgICBpbnN0YW5jZS5zZXRFbmREYXRlKHZhbFt0aGlzLl9lbmRLZXldKTtcbiAgICAgIH1cbiAgICAgIGluc3RhbmNlLmNhbGN1bGF0ZUNob3NlbkxhYmVsKCk7XG4gICAgICBpZiAoaW5zdGFuY2UuY2hvc2VuTGFiZWwpIHtcbiAgICAgICAgdGhpcy5fZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IGluc3RhbmNlLmNob3NlbkxhYmVsO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpbnN0YW5jZS5jbGVhcigpO1xuICAgIH1cblxuICB9XG4gIHByaXZhdGUgc2V0VmFsdWUodmFsOiBhbnkpIHtcbiAgICBpZiAodmFsKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsO1xuXG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBTZXQgcG9zaXRpb24gb2YgdGhlIGNhbGVuZGFyXG4gICAqL1xuICAvLyBzZXRQb3NpdGlvbigpIHtcbiAgLy8gICBsZXQgc3R5bGU7XG4gIC8vICAgbGV0IGNvbnRhaW5lclRvcDtcbiAgLy8gICBjb25zdCBjb250YWluZXIgPSB0aGlzLnBpY2tlci5waWNrZXJDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgLy8gICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudDtcbiAgLy8gICBpZiAodGhpcy5kcm9wcyAmJiB0aGlzLmRyb3BzID09ICd1cCcpIHtcbiAgLy8gICAgIGNvbnRhaW5lclRvcCA9IChlbGVtZW50Lm9mZnNldFRvcCAtIGNvbnRhaW5lci5jbGllbnRIZWlnaHQpICsgJ3B4JztcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgY29udGFpbmVyVG9wID0gJ2F1dG8nO1xuICAvLyAgIH1cbiAgLy8gICBpZiAodGhpcy5vcGVucyA9PSAnbGVmdCcpIHtcbiAgLy8gICAgIHN0eWxlID0ge1xuICAvLyAgICAgICAgIHRvcDogY29udGFpbmVyVG9wLFxuICAvLyAgICAgICAgIGxlZnQ6IChlbGVtZW50Lm9mZnNldExlZnQgLSBjb250YWluZXIuY2xpZW50V2lkdGggKyBlbGVtZW50LmNsaWVudFdpZHRoKSArICdweCcsXG4gIC8vICAgICAgICAgcmlnaHQ6ICdhdXRvJ1xuICAvLyAgICAgfTtcbiAgLy8gICB9IGVsc2UgaWYgKHRoaXMub3BlbnMgPT0gJ2NlbnRlcicpIHtcbiAgLy8gICAgICAgc3R5bGUgPSB7XG4gIC8vICAgICAgICAgdG9wOiBjb250YWluZXJUb3AsXG4gIC8vICAgICAgICAgbGVmdDogKGVsZW1lbnQub2Zmc2V0TGVmdCAgKyAgZWxlbWVudC5jbGllbnRXaWR0aCAvIDJcbiAgLy8gICAgICAgICAgICAgICAgIC0gY29udGFpbmVyLmNsaWVudFdpZHRoIC8gMikgKyAncHgnLFxuICAvLyAgICAgICAgIHJpZ2h0OiAnYXV0bydcbiAgLy8gICAgICAgfTtcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgICBzdHlsZSA9IHtcbiAgLy8gICAgICAgICB0b3A6IGNvbnRhaW5lclRvcCxcbiAgLy8gICAgICAgICBsZWZ0OiBlbGVtZW50Lm9mZnNldExlZnQgICsgJ3B4JyxcbiAgLy8gICAgICAgICByaWdodDogJ2F1dG8nXG4gIC8vICAgICAgIH1cbiAgLy8gICB9XG4gIC8vICAgaWYgKHN0eWxlKSB7XG4gIC8vICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShjb250YWluZXIsICd0b3AnLCBzdHlsZS50b3ApO1xuICAvLyAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoY29udGFpbmVyLCAnbGVmdCcsIHN0eWxlLmxlZnQpO1xuICAvLyAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoY29udGFpbmVyLCAncmlnaHQnLCBzdHlsZS5yaWdodCk7XG4gIC8vICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShjb250YWluZXIsICdwb3NpdGlvbicsICdmaXhlZCcpO1xuICAvLyAgIH1cbiAgLy8gfVxuICAvKipcbiAgICogRm9yIGNsaWNrIG91dHNpZGUgb2YgdGhlIGNhbGVuZGFyJ3MgY29udGFpbmVyXG4gICAqIEBwYXJhbSBldmVudCBldmVudCBvYmplY3RcbiAgICogQHBhcmFtIHRhcmdldEVsZW1lbnQgdGFyZ2V0IGVsZW1lbnQgb2JqZWN0XG4gICAqL1xuICAvLyBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50JywgJyRldmVudC50YXJnZXQnXSlcbiAgLy8gb3V0c2lkZUNsaWNrKGV2ZW50LCB0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAvLyAgICAgaWYgKCF0YXJnZXRFbGVtZW50KSB7XG4gIC8vICAgICAgIHJldHVybjtcbiAgLy8gICAgIH1cbiAgLy8gICAgIGlmICh0YXJnZXRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmd4LWRhdGVyYW5nZXBpY2tlci1hY3Rpb24nKSkge1xuICAvLyAgICAgICByZXR1cm47XG4gIC8vICAgICB9XG4gIC8vICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgLy8gICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xuICAvLyAgICAgICAgdGhpcy5oaWRlKClcbiAgLy8gICAgIH1cbiAgLy8gfVxuXG5cblxuICAvKiogKi9cbiAgcHVibGljIG9wZW5Bc1BvcHVwKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY2FsZW5kYXJQb3J0YWwpIHtcbiAgICAgIHRoaXMuX2NhbGVuZGFyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbDxEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQ+KERhdGVyYW5nZXBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9wb3B1cFJlZikge1xuICAgICAgdGhpcy5fY3JlYXRlUG9wdXAoKTtcbiAgICB9XG5cblxuICAgIGlmICghdGhpcy5fcG9wdXBSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgdGhpcy5fcG9wdXBDb21wb25lbnRSZWYgPSB0aGlzLl9wb3B1cFJlZi5hdHRhY2godGhpcy5fY2FsZW5kYXJQb3J0YWwpO1xuICAgICAgdGhpcy5pbml0aWFsaXplTGlzdGVuZXJzKHRoaXMuX3BvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlKTtcbiAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsdWVJbkRhdGVDb21wb25lbnQodGhpcy5fcG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2UsIHRoaXMudmFsdWUpO1xuICAgICAgfVxuXG4gICAgICAvLyBVcGRhdGUgdGhlIHBvc2l0aW9uIG9uY2UgdGhlIGNhbGVuZGFyIGhhcyByZW5kZXJlZC5cbiAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZS5hc09ic2VydmFibGUoKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3BvcHVwUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgLyoqIENyZWF0ZSB0aGUgcG9wdXAuICovXG4gIHByaXZhdGUgX2NyZWF0ZVBvcHVwKCk6IHZvaWQge1xuICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9jcmVhdGVQb3B1cFBvc2l0aW9uU3RyYXRlZ3koKSxcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogJ21hdC1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICAgIGRpcmVjdGlvbjogJ2x0cicsXG4gICAgICBwYW5lbENsYXNzOiAnby1kYXRlcmFuZ2VwaWNrZXItcG9wdXAnLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuc2Nyb2xsU3RyYXRlZ3kuY2xvc2UoKVxuICAgIH0pO1xuXG4gICAgdGhpcy5fcG9wdXBSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgICB0aGlzLl9wb3B1cFJlZi5vdmVybGF5RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnZGlhbG9nJyk7XG5cbiAgICBtZXJnZShcbiAgICAgIHRoaXMuX3BvcHVwUmVmLmJhY2tkcm9wQ2xpY2soKSxcbiAgICAgIHRoaXMuX3BvcHVwUmVmLmRldGFjaG1lbnRzKCksXG4gICAgICB0aGlzLl9wb3B1cFJlZi5rZXlkb3duRXZlbnRzKCkucGlwZShmaWx0ZXIoZXZlbnQgPT4ge1xuICAgICAgICAvLyBDbG9zaW5nIG9uIGFsdCArIHVwIGlzIG9ubHkgdmFsaWQgd2hlbiB0aGVyZSdzIGFuIGlucHV0IGFzc29jaWF0ZWQgd2l0aCB0aGUgZGF0ZXBpY2tlci5cbiAgICAgICAgcmV0dXJuIGV2ZW50LmtleUNvZGUgPT09IEVTQ0FQRSB8fFxuICAgICAgICAgICh0aGlzLl9lbCAmJiBldmVudC5hbHRLZXkgJiYgZXZlbnQua2V5Q29kZSA9PT0gVVBfQVJST1cpO1xuICAgICAgfSkpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVBvcHVwUG9zaXRpb25TdHJhdGVneSgpOiBQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLl9lbClcbiAgICAgIC8vIC53aXRoVHJhbnNmb3JtT3JpZ2luT24oJy5tYXQtZGF0ZXBpY2tlci1jb250ZW50JylcbiAgICAgIC8vIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbig4KVxuICAgICAgLy8gLndpdGhMb2NrZWRQb3NpdGlvbigpXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgICAgfVxuICAgICAgXSk7XG4gIH1cblxuXG4gIC8qKiBPcGVuIHRoZSBjYWxlbmRhciBhcyBhIGRpYWxvZy4gKi9cbiAgcHVibGljIG9wZW5Bc0RpYWxvZygpOiB2b2lkIHtcbiAgICAvLyBVc3VhbGx5IHRoaXMgd291bGQgYmUgaGFuZGxlZCBieSBgb3BlbmAgd2hpY2ggZW5zdXJlcyB0aGF0IHdlIGNhbiBvbmx5IGhhdmUgb25lIG92ZXJsYXlcbiAgICAvLyBvcGVuIGF0IGEgdGltZSwgaG93ZXZlciBzaW5jZSB3ZSByZXNldCB0aGUgdmFyaWFibGVzIGluIGFzeW5jIGhhbmRsZXJzIHNvbWUgb3ZlcmxheXNcbiAgICAvLyBtYXkgc2xpcCB0aHJvdWdoIGlmIHRoZSB1c2VyIG9wZW5zIGFuZCBjbG9zZXMgbXVsdGlwbGUgdGltZXMgaW4gcXVpY2sgc3VjY2Vzc2lvbiAoZS5nLlxuICAgIC8vIGJ5IGhvbGRpbmcgZG93biB0aGUgZW50ZXIga2V5KS5cbiAgICBpZiAodGhpcy5fZGlhbG9nUmVmKSB7XG4gICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2cub3BlbjxEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQ+KERhdGVyYW5nZXBpY2tlckNvbXBvbmVudCwge1xuICAgICAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMuX3ZpZXdDb250YWluZXJSZWYsXG4gICAgICBwYW5lbENsYXNzOiAnbWF0LWRhdGVwaWNrZXItZGlhbG9nJyxcbiAgICB9KTtcblxuICAgIHRoaXMuaW5pdGlhbGl6ZUxpc3RlbmVycyh0aGlzLl9kaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UpO1xuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLnNldFZhbHVlSW5EYXRlQ29tcG9uZW50KHRoaXMuX2RpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZSwgdGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuX2RpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgIC8vIHRoaXMuX2RpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS4gPSB0aGlzO1xuXG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcG9wdXBSZWYgJiYgdGhpcy5fcG9wdXBSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgdGhpcy5fcG9wdXBSZWYuZGV0YWNoKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2RpYWxvZ1JlZikge1xuICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NhbGVuZGFyUG9ydGFsICYmIHRoaXMuX2NhbGVuZGFyUG9ydGFsLmlzQXR0YWNoZWQpIHtcbiAgICAgIHRoaXMuX2NhbGVuZGFyUG9ydGFsLmRldGFjaCgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
381
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1kYXRlcmFuZ2UtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvZGF0ZS1yYW5nZS9vLWRhdGVyYW5nZS1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBZ0MscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFnQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFrQixlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0TSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQTtBQUMzQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFlMUUsTUFBTSxPQUFPLHlCQUF5QjtJQW9FcEMsSUFBYSxTQUFTLENBQUMsS0FBSztRQUMxQixJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIs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Z0JBR04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBR04sZUFBZTtzQkFEZCxLQUFLO2dCQUdOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFPTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFHTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBR04sd0JBQXdCO3NCQUR2QixLQUFLO2dCQUdOLDJCQUEyQjtzQkFEMUIsS0FBSztnQkFHTiw0QkFBNEI7c0JBRDNCLEtBQUs7Z0JBR04scUJBQXFCO3NCQURwQixLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUdOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFHTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBS08sU0FBUztzQkFBckIsS0FBSztnQkFTTyxNQUFNO3NCQUFsQixLQUFLO2dCQWFFLE9BQU87c0JBRGQsS0FBSztnQkFlTixRQUFRO3NCQURQLEtBQUs7Z0JBR08sUUFBUTtzQkFBcEIsS0FBSztnQkFVTyxNQUFNO3NCQUFsQixLQUFLO2dCQXdCSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVTQ0FQRSwgVVBfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiwgUG9zaXRpb25TdHJhdGVneSwgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIEtleVZhbHVlRGlmZmVyLCBLZXlWYWx1ZURpZmZlcnMsIE5nWm9uZSwgT3V0cHV0LCBWaWV3Q29udGFpbmVyUmVmLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXG5pbXBvcnQgeyBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9vLWRhdGVyYW5nZS1waWNrZXIuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbby1kYXRlcmFuZ2UtaW5wdXRdJyxcbiAgaG9zdDoge1xuICAgICcoa2V5dXAuZXNjKSc6ICdjbG9zZSgpJyxcbiAgICAnKGJsdXIpJzogJ29uQmx1cigpJ1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE9EYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBPRGF0ZXJhbmdlcGlja2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9vbkNoYW5nZSA9IEZ1bmN0aW9uLnByb3RvdHlwZTtcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gRnVuY3Rpb24ucHJvdG90eXBlO1xuICBwdWJsaWMgX3ZhbGlkYXRvckNoYW5nZSA9IEZ1bmN0aW9uLnByb3RvdHlwZTtcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcblxuICBwdWJsaWMgbG9jYWxlRGlmZmVyOiBLZXlWYWx1ZURpZmZlcjxzdHJpbmcsIGFueT47XG5cbiAgQElucHV0KClcbiAgbWluRGF0ZTogbW9tZW50Lk1vbWVudCA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIG1heERhdGU6IG1vbWVudC5Nb21lbnQgPSBudWxsO1xuICBASW5wdXQoKVxuICBzaG93Q3VzdG9tUmFuZ2VMYWJlbDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgbGlua2VkQ2FsZW5kYXJzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBkYXRlTGltaXQ6IG51bWJlciA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIHNpbmdsZURhdGVQaWNrZXI6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHNob3dXZWVrTnVtYmVyczogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgc2hvd0lTT1dlZWtOdW1iZXJzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBzaG93RHJvcGRvd25zOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBpc0ludmFsaWREYXRlOiAoKSA9PiBib29sZWFuO1xuICBASW5wdXQoKVxuICBpc0N1c3RvbURhdGU6ICgpID0+IGJvb2xlYW47XG4gIC8vIEBJbnB1dCgpXG4gIC8vIHNob3dDbGVhckJ1dHRvbjogYm9vbGVhbjtcblxuXG4gIEBJbnB1dCgpXG4gIG9wZW5zOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGRyb3BzOiBzdHJpbmc7XG4gIGZpcnN0TW9udGhEYXlDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKVxuICBsYXN0TW9udGhEYXlDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKVxuICBlbXB0eVdlZWtSb3dDbGFzczogc3RyaW5nO1xuICBASW5wdXQoKVxuICBmaXJzdERheU9mTmV4dE1vbnRoQ2xhc3M6IHN0cmluZztcbiAgQElucHV0KClcbiAgbGFzdERheU9mUHJldmlvdXNNb250aENsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGtlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2U6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHNob3dSYW5nZUxhYmVsT25JbnB1dDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgc2hvd0NhbmNlbDogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyB0aW1lcGlja2VyIHZhcmlhYmxlc1xuICBASW5wdXQoKVxuICB0aW1lUGlja2VyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHNob3dSYW5nZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgdGltZVBpY2tlcjI0SG91cjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKVxuICB0aW1lUGlja2VySW5jcmVtZW50OiBudW1iZXIgPSAxO1xuICBASW5wdXQoKVxuICB0aW1lUGlja2VyU2Vjb25kczogYm9vbGVhbiA9IGZhbHNlO1xuICBfbG9jYWxlOiBhbnk7XG4gIF9zZXBhcmF0b3I6IHN0cmluZztcblxuICBASW5wdXQoKSBzZXQgc2VwYXJhdG9yKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zZXBhcmF0b3IgPSB2YWx1ZTtcbiAgICAgIGlmICh0aGlzLl9sb2NhbGUpIHtcbiAgICAgICAgdGhpcy5fbG9jYWxlLnNlcGFyYXRvciA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBsb2NhbGUodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuX2xvY2FsZSA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMuX3NlcGFyYXRvcikge1xuICAgICAgICB0aGlzLl9sb2NhbGUuc2VwYXJhdG9yID0gdGhpcy5fc2VwYXJhdG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBnZXQgbG9jYWxlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgX2VuZEtleTogc3RyaW5nID0gJ2VuZERhdGUnO1xuICBwcml2YXRlIF9zdGFydEtleTogc3RyaW5nID0gJ3N0YXJ0RGF0ZSc7XG5cbiAgcHVibGljIHJhbmdlczogYW55ID0ge1xuICAgICdEQVRFUkFOR0UudG9kYXknOiBbbW9tZW50KCksIG1vbWVudCgpXSxcbiAgICAnREFURVJBTkdFLnllc3RlcmRheSc6IFttb21lbnQoKS5zdWJ0cmFjdCgxLCAnZGF5cycpLCBtb21lbnQoKS5zdWJ0cmFjdCgxLCAnZGF5cycpXSxcbiAgICAnREFURVJBTkdFLmxhc3RfN2RheXMnOiBbbW9tZW50KCkuc3VidHJhY3QoNiwgJ2RheXMnKSwgbW9tZW50KCldLFxuICAgICdEQVRFUkFOR0UubGFzdF8zMGRheXMnOiBbbW9tZW50KCkuc3VidHJhY3QoMjksICdkYXlzJyksIG1vbWVudCgpXSxcbiAgICAnREFURVJBTkdFLnRoaXNfbW9udGgnOiBbbW9tZW50KCkuc3RhcnRPZignbW9udGgnKSwgbW9tZW50KCkuZW5kT2YoJ21vbnRoJyldLFxuICAgICdEQVRFUkFOR0UubGFzdF9tb250aCc6IFttb21lbnQoKS5zdWJ0cmFjdCgxLCAnbW9udGgnKS5zdGFydE9mKCdtb250aCcpLCBtb21lbnQoKS5zdWJ0cmFjdCgxLCAnbW9udGgnKS5lbmRPZignbW9udGgnKV0sXG4gICAgJ0RBVEVSQU5HRS50aGlzX3llYXInOiBbbW9tZW50KCkuc3RhcnRPZigneWVhcicpLCBtb21lbnQoKS5lbmRPZigneWVhcicpXVxuICB9O1xuXG4gIEBJbnB1dCgpXG4gIG9Ub3VjaFVpOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2V0IHN0YXJ0S2V5KHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLl9zdGFydEtleSA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zdGFydEtleSA9ICdzdGFydERhdGUnO1xuICAgIH1cbiAgfVxuICBnZXQgc3RhcnRLZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRLZXk7XG4gIH1cbiAgQElucHV0KCkgc2V0IGVuZEtleSh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5fZW5kS2V5ID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2VuZEtleSA9ICdlbmREYXRlJztcbiAgICB9XG4gIH1cbiAgZ2V0IGVuZEtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9lbmRLZXk7XG4gIH1cbiAgbm90Rm9yQ2hhbmdlc1Byb3BlcnR5OiBBcnJheTxzdHJpbmc+ID0gW1xuICAgICdsb2NhbGUnLFxuICAgICdlbmRLZXknLFxuICAgICdzdGFydEtleSdcbiAgXTtcblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlIHx8IG51bGw7XG4gIH1cbiAgc2V0IHZhbHVlKHZhbCkge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsO1xuICAgIHRoaXMuX29uQ2hhbmdlKHZhbCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgQE91dHB1dCgpIG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8b2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJhbmdlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPG9iamVjdD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBkYXRlc1VwZGF0ZWQ6IEV2ZW50RW1pdHRlcjxvYmplY3Q+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgX3BvcHVwQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8RGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50PiB8IG51bGw7XG4gIHByaXZhdGUgX2NhbGVuZGFyUG9ydGFsOiBDb21wb25lbnRQb3J0YWw8RGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50PjtcbiAgX3BvcHVwUmVmOiBPdmVybGF5UmVmO1xuICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQ+IHwgbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgIHB1YmxpYyBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwdWJsaWMgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgX2VsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgZGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByaXZhdGUgc2Nyb2xsU3RyYXRlZ3k6IFNjcm9sbFN0cmF0ZWd5T3B0aW9uc1xuICApIHtcbiAgICB0aGlzLmRyb3BzID0gJ2Rvd24nO1xuICAgIHRoaXMub3BlbnMgPSAncmlnaHQnO1xuICB9XG5cbiAgaW5pdGlhbGl6ZUxpc3RlbmVycyhpbnN0YW5jZSkge1xuICAgIGluc3RhbmNlLnJhbmdlQ2xpY2tlZC5hc09ic2VydmFibGUoKS5zdWJzY3JpYmUoKHJhbmdlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMucmFuZ2VDbGlja2VkLmVtaXQocmFuZ2UpO1xuICAgIH0pO1xuICAgIGluc3RhbmNlLmRhdGVzVXBkYXRlZC5hc09ic2VydmFibGUoKS5zdWJzY3JpYmUoKHJhbmdlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuZGF0ZXNVcGRhdGVkLmVtaXQocmFuZ2UpO1xuICAgIH0pO1xuICAgIGluc3RhbmNlLmNob29zZWREYXRlLmFzT2JzZXJ2YWJsZSgpLnN1YnNjcmliZSgoY2hhbmdlOiBhbnkpID0+IHtcbiAgICAgIGlmIChjaGFuZ2UpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB7fTtcbiAgICAgICAgdmFsdWVbdGhpcy5fc3RhcnRLZXldID0gY2hhbmdlLnN0YXJ0RGF0ZTtcbiAgICAgICAgdmFsdWVbdGhpcy5fZW5kS2V5XSA9IGNoYW5nZS5lbmREYXRlO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgIGlmICh0eXBlb2YgY2hhbmdlLmNob3NlbkxhYmVsID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBjaGFuZ2UuY2hvc2VuTGFiZWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBpbnN0YW5jZS5maXJzdE1vbnRoRGF5Q2xhc3MgPSB0aGlzLmZpcnN0TW9udGhEYXlDbGFzcztcbiAgICBpbnN0YW5jZS5sYXN0TW9udGhEYXlDbGFzcyA9IHRoaXMubGFzdE1vbnRoRGF5Q2xhc3M7XG4gICAgaW5zdGFuY2UuZW1wdHlXZWVrUm93Q2xhc3MgPSB0aGlzLmVtcHR5V2Vla1Jvd0NsYXNzO1xuICAgIGluc3RhbmNlLmZpcnN0RGF5T2ZOZXh0TW9udGhDbGFzcyA9IHRoaXMuZmlyc3REYXlPZk5leHRNb250aENsYXNzO1xuICAgIGluc3RhbmNlLmxhc3REYXlPZlByZXZpb3VzTW9udGhDbGFzcyA9IHRoaXMubGFzdERheU9mUHJldmlvdXNNb250aENsYXNzO1xuICAgIGluc3RhbmNlLmRyb3BzID0gdGhpcy5kcm9wcztcbiAgICBpbnN0YW5jZS5vcGVucyA9IHRoaXMub3BlbnM7XG4gICAgaW5zdGFuY2UubWluRGF0ZSA9IHRoaXMubWluRGF0ZTtcbiAgICBpbnN0YW5jZS5tYXhEYXRlID0gdGhpcy5tYXhEYXRlO1xuICAgIGluc3RhbmNlLmxvY2FsZSA9IHRoaXMubG9jYWxlO1xuICAgIGluc3RhbmNlLnNob3dXZWVrTnVtYmVycyA9IHRoaXMuc2hvd1dlZWtOdW1iZXJzO1xuICAgIGluc3RhbmNlLnNpbmdsZURhdGVQaWNrZXIgPSB0aGlzLnNpbmdsZURhdGVQaWNrZXI7XG5cbiAgICBpZiAodGhpcy5zaG93UmFuZ2VzKSB7XG4gICAgICBpbnN0YW5jZS5yYW5nZXMgPSB0aGlzLnJhbmdlcztcbiAgICAgIGluc3RhbmNlLmtlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2UgPSB0cnVlO1xuICAgICAgaW5zdGFuY2UuYWx3YXlzU2hvd0NhbGVuZGFycyA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMubG9jYWxlRGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQodGhpcy5sb2NhbGUpLmNyZWF0ZSgpO1xuICB9XG5cbiAgLy8gbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQgIHtcbiAgLy8gICBmb3IgKGxldCBjaGFuZ2UgaW4gY2hhbmdlcykge1xuICAvLyAgICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoY2hhbmdlKSkge1xuICAvLyAgICAgICBpZiAodGhpcy5ub3RGb3JDaGFuZ2VzUHJvcGVydHkuaW5kZXhPZihjaGFuZ2UpID09PSAtMSkge1xuICAvLyAgICAgICAgIHRoaXMucGlja2VyW2NoYW5nZV0gPSBjaGFuZ2VzW2NoYW5nZV0uY3VycmVudFZhbHVlO1xuICAvLyAgICAgICB9XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLy8gbmdEb0NoZWNrKCkge1xuICAvLyAgIGlmICh0aGlzLmxvY2FsZURpZmZlcikge1xuICAvLyAgICAgY29uc3QgY2hhbmdlcyA9IHRoaXMubG9jYWxlRGlmZmVyLmRpZmYodGhpcy5sb2NhbGUpO1xuICAvLyAgICAgaWYgKGNoYW5nZXMpIHtcbiAgLy8gICAgICAgdGhpcy5waWNrZXIudXBkYXRlTG9jYWxlKHRoaXMubG9jYWxlKTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vIH1cblxuICBvbkJsdXIoKSB7XG4gICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gIH1cblxuICBvcGVuKCkge1xuICAgIGlmICghdGhpcy5vVG91Y2hVaSkge1xuICAgICAgdGhpcy5vcGVuQXNQb3B1cCgpO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbkFzRGlhbG9nKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgaWYgKHRoaXMuX3BvcHVwUmVmKSB7XG4gICAgICB0aGlzLl9wb3B1cFJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLl9wb3B1cENvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKSB7XG4gICAgdGhpcy5fcG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2UuY2xlYXIoKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWUpIHtcbiAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuKSB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbikge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0VmFsdWVJbkRhdGVDb21wb25lbnQoaW5zdGFuY2UsIHZhbCkge1xuICAgIGlmICh2YWwpIHtcbiAgICAgIGlmICh2YWxbdGhpcy5fc3RhcnRLZXldKSB7XG4gICAgICAgIGluc3RhbmNlLnNldFN0YXJ0RGF0ZSh2YWxbdGhpcy5fc3RhcnRLZXldKTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWxbdGhpcy5fZW5kS2V5XSkge1xuICAgICAgICBpbnN0YW5jZS5zZXRFbmREYXRlKHZhbFt0aGlzLl9lbmRLZXldKTtcbiAgICAgIH1cbiAgICAgIGluc3RhbmNlLmNhbGN1bGF0ZUNob3NlbkxhYmVsKCk7XG4gICAgICBpZiAoaW5zdGFuY2UuY2hvc2VuTGFiZWwpIHtcbiAgICAgICAgdGhpcy5fZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IGluc3RhbmNlLmNob3NlbkxhYmVsO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpbnN0YW5jZS5jbGVhcigpO1xuICAgIH1cblxuICB9XG4gIHByaXZhdGUgc2V0VmFsdWUodmFsOiBhbnkpIHtcbiAgICBpZiAodmFsKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsO1xuXG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBTZXQgcG9zaXRpb24gb2YgdGhlIGNhbGVuZGFyXG4gICAqL1xuICAvLyBzZXRQb3NpdGlvbigpIHtcbiAgLy8gICBsZXQgc3R5bGU7XG4gIC8vICAgbGV0IGNvbnRhaW5lclRvcDtcbiAgLy8gICBjb25zdCBjb250YWluZXIgPSB0aGlzLnBpY2tlci5waWNrZXJDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgLy8gICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudDtcbiAgLy8gICBpZiAodGhpcy5kcm9wcyAmJiB0aGlzLmRyb3BzID09ICd1cCcpIHtcbiAgLy8gICAgIGNvbnRhaW5lclRvcCA9IChlbGVtZW50Lm9mZnNldFRvcCAtIGNvbnRhaW5lci5jbGllbnRIZWlnaHQpICsgJ3B4JztcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgY29udGFpbmVyVG9wID0gJ2F1dG8nO1xuICAvLyAgIH1cbiAgLy8gICBpZiAodGhpcy5vcGVucyA9PSAnbGVmdCcpIHtcbiAgLy8gICAgIHN0eWxlID0ge1xuICAvLyAgICAgICAgIHRvcDogY29udGFpbmVyVG9wLFxuICAvLyAgICAgICAgIGxlZnQ6IChlbGVtZW50Lm9mZnNldExlZnQgLSBjb250YWluZXIuY2xpZW50V2lkdGggKyBlbGVtZW50LmNsaWVudFdpZHRoKSArICdweCcsXG4gIC8vICAgICAgICAgcmlnaHQ6ICdhdXRvJ1xuICAvLyAgICAgfTtcbiAgLy8gICB9IGVsc2UgaWYgKHRoaXMub3BlbnMgPT0gJ2NlbnRlcicpIHtcbiAgLy8gICAgICAgc3R5bGUgPSB7XG4gIC8vICAgICAgICAgdG9wOiBjb250YWluZXJUb3AsXG4gIC8vICAgICAgICAgbGVmdDogKGVsZW1lbnQub2Zmc2V0TGVmdCAgKyAgZWxlbWVudC5jbGllbnRXaWR0aCAvIDJcbiAgLy8gICAgICAgICAgICAgICAgIC0gY29udGFpbmVyLmNsaWVudFdpZHRoIC8gMikgKyAncHgnLFxuICAvLyAgICAgICAgIHJpZ2h0OiAnYXV0bydcbiAgLy8gICAgICAgfTtcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgICBzdHlsZSA9IHtcbiAgLy8gICAgICAgICB0b3A6IGNvbnRhaW5lclRvcCxcbiAgLy8gICAgICAgICBsZWZ0OiBlbGVtZW50Lm9mZnNldExlZnQgICsgJ3B4JyxcbiAgLy8gICAgICAgICByaWdodDogJ2F1dG8nXG4gIC8vICAgICAgIH1cbiAgLy8gICB9XG4gIC8vICAgaWYgKHN0eWxlKSB7XG4gIC8vICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShjb250YWluZXIsICd0b3AnLCBzdHlsZS50b3ApO1xuICAvLyAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoY29udGFpbmVyLCAnbGVmdCcsIHN0eWxlLmxlZnQpO1xuICAvLyAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoY29udGFpbmVyLCAncmlnaHQnLCBzdHlsZS5yaWdodCk7XG4gIC8vICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZShjb250YWluZXIsICdwb3NpdGlvbicsICdmaXhlZCcpO1xuICAvLyAgIH1cbiAgLy8gfVxuICAvKipcbiAgICogRm9yIGNsaWNrIG91dHNpZGUgb2YgdGhlIGNhbGVuZGFyJ3MgY29udGFpbmVyXG4gICAqIEBwYXJhbSBldmVudCBldmVudCBvYmplY3RcbiAgICogQHBhcmFtIHRhcmdldEVsZW1lbnQgdGFyZ2V0IGVsZW1lbnQgb2JqZWN0XG4gICAqL1xuICAvLyBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50JywgJyRldmVudC50YXJnZXQnXSlcbiAgLy8gb3V0c2lkZUNsaWNrKGV2ZW50LCB0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAvLyAgICAgaWYgKCF0YXJnZXRFbGVtZW50KSB7XG4gIC8vICAgICAgIHJldHVybjtcbiAgLy8gICAgIH1cbiAgLy8gICAgIGlmICh0YXJnZXRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmd4LWRhdGVyYW5nZXBpY2tlci1hY3Rpb24nKSkge1xuICAvLyAgICAgICByZXR1cm47XG4gIC8vICAgICB9XG4gIC8vICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgLy8gICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xuICAvLyAgICAgICAgdGhpcy5oaWRlKClcbiAgLy8gICAgIH1cbiAgLy8gfVxuXG5cblxuICAvKiogKi9cbiAgcHVibGljIG9wZW5Bc1BvcHVwKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fY2FsZW5kYXJQb3J0YWwpIHtcbiAgICAgIHRoaXMuX2NhbGVuZGFyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbDxEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQ+KERhdGVyYW5nZXBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZik7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9wb3B1cFJlZikge1xuICAgICAgdGhpcy5fY3JlYXRlUG9wdXAoKTtcbiAgICB9XG5cblxuICAgIGlmICghdGhpcy5fcG9wdXBSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgdGhpcy5fcG9wdXBDb21wb25lbnRSZWYgPSB0aGlzLl9wb3B1cFJlZi5hdHRhY2godGhpcy5fY2FsZW5kYXJQb3J0YWwpO1xuICAgICAgdGhpcy5pbml0aWFsaXplTGlzdGVuZXJzKHRoaXMuX3BvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlKTtcbiAgICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2V0VmFsdWVJbkRhdGVDb21wb25lbnQodGhpcy5fcG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2UsIHRoaXMudmFsdWUpO1xuICAgICAgfVxuXG4gICAgICAvLyBVcGRhdGUgdGhlIHBvc2l0aW9uIG9uY2UgdGhlIGNhbGVuZGFyIGhhcyByZW5kZXJlZC5cbiAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZS5hc09ic2VydmFibGUoKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3BvcHVwUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgLyoqIENyZWF0ZSB0aGUgcG9wdXAuICovXG4gIHByaXZhdGUgX2NyZWF0ZVBvcHVwKCk6IHZvaWQge1xuICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLl9jcmVhdGVQb3B1cFBvc2l0aW9uU3RyYXRlZ3koKSxcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogJ21hdC1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICAgIGRpcmVjdGlvbjogJ2x0cicsXG4gICAgICBwYW5lbENsYXNzOiAnby1kYXRlcmFuZ2VwaWNrZXItcG9wdXAnLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuc2Nyb2xsU3RyYXRlZ3kuY2xvc2UoKVxuICAgIH0pO1xuXG4gICAgdGhpcy5fcG9wdXBSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgICB0aGlzLl9wb3B1cFJlZi5vdmVybGF5RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnZGlhbG9nJyk7XG5cbiAgICBtZXJnZShcbiAgICAgIHRoaXMuX3BvcHVwUmVmLmJhY2tkcm9wQ2xpY2soKSxcbiAgICAgIHRoaXMuX3BvcHVwUmVmLmRldGFjaG1lbnRzKCksXG4gICAgICB0aGlzLl9wb3B1cFJlZi5rZXlkb3duRXZlbnRzKCkucGlwZShmaWx0ZXIoZXZlbnQgPT4ge1xuICAgICAgICAvLyBDbG9zaW5nIG9uIGFsdCArIHVwIGlzIG9ubHkgdmFsaWQgd2hlbiB0aGVyZSdzIGFuIGlucHV0IGFzc29jaWF0ZWQgd2l0aCB0aGUgZGF0ZXBpY2tlci5cbiAgICAgICAgcmV0dXJuIGV2ZW50LmtleUNvZGUgPT09IEVTQ0FQRSB8fFxuICAgICAgICAgICh0aGlzLl9lbCAmJiBldmVudC5hbHRLZXkgJiYgZXZlbnQua2V5Q29kZSA9PT0gVVBfQVJST1cpO1xuICAgICAgfSkpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVBvcHVwUG9zaXRpb25TdHJhdGVneSgpOiBQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLl9lbClcbiAgICAgIC8vIC53aXRoVHJhbnNmb3JtT3JpZ2luT24oJy5tYXQtZGF0ZXBpY2tlci1jb250ZW50JylcbiAgICAgIC8vIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbig4KVxuICAgICAgLy8gLndpdGhMb2NrZWRQb3NpdGlvbigpXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgICAgfVxuICAgICAgXSk7XG4gIH1cblxuXG4gIC8qKiBPcGVuIHRoZSBjYWxlbmRhciBhcyBhIGRpYWxvZy4gKi9cbiAgcHVibGljIG9wZW5Bc0RpYWxvZygpOiB2b2lkIHtcbiAgICAvLyBVc3VhbGx5IHRoaXMgd291bGQgYmUgaGFuZGxlZCBieSBgb3BlbmAgd2hpY2ggZW5zdXJlcyB0aGF0IHdlIGNhbiBvbmx5IGhhdmUgb25lIG92ZXJsYXlcbiAgICAvLyBvcGVuIGF0IGEgdGltZSwgaG93ZXZlciBzaW5jZSB3ZSByZXNldCB0aGUgdmFyaWFibGVzIGluIGFzeW5jIGhhbmRsZXJzIHNvbWUgb3ZlcmxheXNcbiAgICAvLyBtYXkgc2xpcCB0aHJvdWdoIGlmIHRoZSB1c2VyIG9wZW5zIGFuZCBjbG9zZXMgbXVsdGlwbGUgdGltZXMgaW4gcXVpY2sgc3VjY2Vzc2lvbiAoZS5nLlxuICAgIC8vIGJ5IGhvbGRpbmcgZG93biB0aGUgZW50ZXIga2V5KS5cbiAgICBpZiAodGhpcy5fZGlhbG9nUmVmKSB7XG4gICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9kaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2cub3BlbjxEYXRlcmFuZ2VwaWNrZXJDb21wb25lbnQ+KERhdGVyYW5nZXBpY2tlckNvbXBvbmVudCwge1xuICAgICAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMuX3ZpZXdDb250YWluZXJSZWYsXG4gICAgICBwYW5lbENsYXNzOiAnbWF0LWRhdGVwaWNrZXItZGlhbG9nJyxcbiAgICB9KTtcblxuICAgIHRoaXMuaW5pdGlhbGl6ZUxpc3RlbmVycyh0aGlzLl9kaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UpO1xuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLnNldFZhbHVlSW5EYXRlQ29tcG9uZW50KHRoaXMuX2RpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZSwgdGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuX2RpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgIC8vIHRoaXMuX2RpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS4gPSB0aGlzO1xuXG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcG9wdXBSZWYgJiYgdGhpcy5fcG9wdXBSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgdGhpcy5fcG9wdXBSZWYuZGV0YWNoKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2RpYWxvZ1JlZikge1xuICAgICAgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2NhbGVuZGFyUG9ydGFsICYmIHRoaXMuX2NhbGVuZGFyUG9ydGFsLmlzQXR0YWNoZWQpIHtcbiAgICAgIHRoaXMuX2NhbGVuZGFyUG9ydGFsLmRldGFjaCgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -7,10 +7,10 @@ import { DaterangepickerComponent } from './o-daterange-picker.component';
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class ODateRangeInputModule {
|
|
9
9
|
}
|
|
10
|
-
ODateRangeInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
11
|
-
ODateRangeInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
|
12
|
-
ODateRangeInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
10
|
+
ODateRangeInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ODateRangeInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
ODateRangeInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ODateRangeInputModule, declarations: [DaterangepickerComponent, ODateRangeInputComponent, ODaterangepickerDirective], imports: [CommonModule, OSharedModule], exports: [ODateRangeInputComponent] });
|
|
12
|
+
ODateRangeInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ODateRangeInputModule, imports: [CommonModule, OSharedModule] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ODateRangeInputModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
15
15
|
args: [{
|
|
16
16
|
declarations: [DaterangepickerComponent, ODateRangeInputComponent, ODaterangepickerDirective],
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
18
18
|
exports: [ODateRangeInputComponent]
|
|
19
19
|
}]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1kYXRlcmFuZ2UtaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQvZGF0ZS1yYW5nZS9vLWRhdGVyYW5nZS1pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQU8xRSxNQUFNLE9BQU8scUJBQXFCOzttSEFBckIscUJBQXFCO29IQUFyQixxQkFBcUIsaUJBSmYsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLGFBQ2xGLFlBQVksRUFBRSxhQUFhLGFBQzNCLHdCQUF3QjtvSEFFekIscUJBQXFCLFlBSHBCLFlBQVksRUFBRSxhQUFhOzRGQUc1QixxQkFBcUI7a0JBTGpDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLENBQUM7b0JBQzdGLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuaW1wb3J0IHsgT0RhdGVSYW5nZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9vLWRhdGVyYW5nZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT0RhdGVyYW5nZXBpY2tlckRpcmVjdGl2ZSB9IGZyb20gJy4vby1kYXRlcmFuZ2UtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IERhdGVyYW5nZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vby1kYXRlcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbRGF0ZXJhbmdlcGlja2VyQ29tcG9uZW50LCBPRGF0ZVJhbmdlSW5wdXRDb21wb25lbnQsIE9EYXRlcmFuZ2VwaWNrZXJEaXJlY3RpdmVdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE9TaGFyZWRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtPRGF0ZVJhbmdlSW5wdXRDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE9EYXRlUmFuZ2VJbnB1dE1vZHVsZSB7IH1cbiJdfQ==
|