@lucca-front/ng 18.3.3 → 19.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/core-select/api/api.directive.d.ts +1 -1
- package/core-select/input/select-input.component.d.ts +1 -1
- package/dialog/dialog-routing/dialog-routing.component.d.ts +1 -1
- package/dropdown/item/dropdown-item.directive.d.ts +1 -1
- package/dropdown/item/dropdown-item.module.d.ts +4 -1
- package/dropdown/panel/dropdown-panel.component.d.ts +1 -1
- package/dropdown/panel/dropdown-panel.module.d.ts +4 -2
- package/dropdown/trigger/dropdown-trigger.directive.d.ts +1 -1
- package/dropdown/trigger/dropdown-trigger.module.d.ts +4 -2
- package/fesm2022/lucca-front-ng-a11y.mjs +3 -3
- package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-animations.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-api.mjs +48 -48
- package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-button.mjs +3 -3
- package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +21 -21
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-comment.mjs +9 -9
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs +9 -9
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +15 -15
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +36 -36
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +16 -16
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +48 -48
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +14 -14
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +28 -28
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog-testing.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +39 -31
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +39 -35
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +6 -6
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +49 -49
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +6 -6
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-formly.mjs +81 -79
- package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +10 -10
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +45 -62
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-icon.mjs +4 -4
- package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-input.mjs +21 -21
- package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +22 -22
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +44 -44
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
- package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number-format.mjs +7 -7
- package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number.mjs +7 -7
- package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +3 -3
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +154 -154
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +3 -3
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover.mjs +31 -26
- package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +9 -9
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popup-employee.mjs +41 -26
- package/fesm2022/lucca-front-ng-popup-employee.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popup.mjs +10 -10
- package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-qualification.mjs +15 -15
- package/fesm2022/lucca-front-ng-qualification.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-safe-content.mjs +13 -12
- package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll.mjs +7 -7
- package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-select.mjs +14 -14
- package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
- package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +14 -14
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +9 -9
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tag.mjs +3 -3
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +18 -17
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-title.mjs +10 -10
- package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-toast.mjs +12 -12
- package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +23 -23
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +94 -85
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/forms/number-input/number-input.component.d.ts +10 -13
- package/modal/modal-panel.component.d.ts +1 -1
- package/option/picker/option-picker-advanced.component.d.ts +1 -1
- package/option/picker/option-picker.component.d.ts +1 -1
- package/option/picker/tree-option-picker-advanced.component.d.ts +1 -1
- package/option/picker/tree-option-picker.component.d.ts +1 -1
- package/package.json +38 -149
- package/popup-employee/popup-employee.translate.d.ts +2 -0
- package/popup-employee/translations.d.ts +16 -0
- package/safe-content/safe-content.module.d.ts +3 -0
- package/safe-content/safe-html.pipe.d.ts +0 -1
- package/schematics/action-icon/index.js +3 -2
- package/schematics/action-icon/migration.js +2 -3
- package/schematics/empty-state-title/index.js +2 -1
- package/schematics/lib/angular-template.js +6 -7
- package/schematics/lib/css-mapper.js +4 -4
- package/schematics/lib/file-update.js +2 -3
- package/schematics/lib/html-ast.js +4 -4
- package/schematics/lib/local-deps/installer.js +1 -2
- package/schematics/lib/local-deps/package-lock.json +30 -30
- package/schematics/lib/local-deps/package.json +2 -2
- package/schematics/lib/local-deps/postcss-selector-parser.js +1 -0
- package/schematics/lib/local-deps/postcss-value-parser.js +1 -0
- package/schematics/lib/migration-test.js +4 -5
- package/schematics/lib/schematics.js +1 -2
- package/schematics/lib/scss-ast.js +10 -11
- package/schematics/lib/typescript-ast.js +1 -2
- package/schematics/new-icons/index.js +4 -3
- package/schematics/new-icons/migration.js +3 -4
- package/schematics/ng-add/index.js +1 -2
- package/schematics/ng-add/tasks.js +4 -5
- package/schematics/palettes/index.js +1 -0
- package/schematics/tokens-spacing/index.js +1 -0
- package/select/input/select-input.component.d.ts +1 -1
- package/src/components/cdk/_overlay.scss +4 -0
- package/time/core/base-picker.component.d.ts +1 -1
- package/time/core/date.utils.d.ts +4 -4
- package/time/core/misc.utils.d.ts +1 -1
- package/user/picture/user-picture.component.d.ts +1 -1
- package/user/picture/user-picture.module.d.ts +4 -3
- package/user/tile/user-tile.component.d.ts +1 -1
- package/user/tile/user-tile.module.d.ts +4 -4
- package/esm2022/a11y/lucca-front-ng-a11y.mjs +0 -5
- package/esm2022/a11y/public-api.mjs +0 -3
- package/esm2022/a11y/skip-links/skip-links.component.mjs +0 -24
- package/esm2022/a11y/skip-links/skip-links.translate.mjs +0 -9
- package/esm2022/a11y/skip-links/translations.mjs +0 -51
- package/esm2022/animations/animation.factory.mjs +0 -15
- package/esm2022/animations/fade.animation.mjs +0 -8
- package/esm2022/animations/lucca-front-ng-animations.mjs +0 -5
- package/esm2022/animations/public-api.mjs +0 -5
- package/esm2022/animations/scale.animation.mjs +0 -126
- package/esm2022/animations/slide.animation.mjs +0 -110
- package/esm2022/api/api.model.mjs +0 -2
- package/esm2022/api/api.module.mjs +0 -16
- package/esm2022/api/lucca-front-ng-api.mjs +0 -5
- package/esm2022/api/public-api.mjs +0 -5
- package/esm2022/api/select/api-select.module.mjs +0 -19
- package/esm2022/api/select/feeder/api-feeder.component.mjs +0 -93
- package/esm2022/api/select/feeder/api-feeder.model.mjs +0 -11
- package/esm2022/api/select/feeder/api-feeder.module.mjs +0 -16
- package/esm2022/api/select/feeder/index.mjs +0 -4
- package/esm2022/api/select/index.mjs +0 -6
- package/esm2022/api/select/input/api-select-input.component.mjs +0 -52
- package/esm2022/api/select/input/api-select-input.module.mjs +0 -16
- package/esm2022/api/select/input/index.mjs +0 -3
- package/esm2022/api/select/pager/api-pager.component.mjs +0 -99
- package/esm2022/api/select/pager/api-pager.model.mjs +0 -56
- package/esm2022/api/select/pager/api-pager.module.mjs +0 -16
- package/esm2022/api/select/pager/index.mjs +0 -4
- package/esm2022/api/select/searcher/api-searcher.component.mjs +0 -235
- package/esm2022/api/select/searcher/api-searcher.model.mjs +0 -67
- package/esm2022/api/select/searcher/api-searcher.module.mjs +0 -16
- package/esm2022/api/select/searcher/index.mjs +0 -4
- package/esm2022/api/service/api-hybrid.service.mjs +0 -65
- package/esm2022/api/service/api-service.model.mjs +0 -3
- package/esm2022/api/service/api-v3.service.mjs +0 -72
- package/esm2022/api/service/api-v4.service.mjs +0 -71
- package/esm2022/api/service/index.mjs +0 -5
- package/esm2022/button/button.component.mjs +0 -90
- package/esm2022/button/lucca-front-ng-button.mjs +0 -5
- package/esm2022/button/public-api.mjs +0 -2
- package/esm2022/callout/callout/callout.component.mjs +0 -88
- package/esm2022/callout/callout-disclosure/callout-disclosure.component.mjs +0 -59
- package/esm2022/callout/callout-feedback-item/callout-feedback-item.component.mjs +0 -25
- package/esm2022/callout/callout-feedback-list/callout-feedback-list.component.mjs +0 -22
- package/esm2022/callout/callout-icon.pipe.mjs +0 -23
- package/esm2022/callout/callout-popover/callout-popover.component.mjs +0 -182
- package/esm2022/callout/callout-state.mjs +0 -16
- package/esm2022/callout/callout.translate.mjs +0 -7
- package/esm2022/callout/callout.utils.mjs +0 -20
- package/esm2022/callout/lucca-front-ng-callout.mjs +0 -5
- package/esm2022/callout/public-api.mjs +0 -7
- package/esm2022/callout/translations.mjs +0 -27
- package/esm2022/comment/comment/comment.component.mjs +0 -54
- package/esm2022/comment/comment-block/comment-block.component.mjs +0 -60
- package/esm2022/comment/comment-chat/comment-chat.component.mjs +0 -22
- package/esm2022/comment/lucca-front-ng-comment.mjs +0 -5
- package/esm2022/comment/public-api.mjs +0 -4
- package/esm2022/comment/token.mjs +0 -4
- package/esm2022/core/date/date-adapter.class.mjs +0 -54
- package/esm2022/core/date/date-adapter.interface.mjs +0 -2
- package/esm2022/core/date/date-granularity.enum.mjs +0 -8
- package/esm2022/core/date/index.mjs +0 -6
- package/esm2022/core/date/native/index.mjs +0 -3
- package/esm2022/core/date/native/native-date.adapter.mjs +0 -235
- package/esm2022/core/date/native/native-date.option.mjs +0 -6
- package/esm2022/core/date/string/index.mjs +0 -2
- package/esm2022/core/date/string/string-date.adapter.mjs +0 -83
- package/esm2022/core/event/index.mjs +0 -4
- package/esm2022/core/event/on-close.subscriber.mjs +0 -3
- package/esm2022/core/event/on-open.subscriber.mjs +0 -3
- package/esm2022/core/event/on-scroll-bottom.subscriber.mjs +0 -3
- package/esm2022/core/group/group.interface.mjs +0 -2
- package/esm2022/core/group/index.mjs +0 -2
- package/esm2022/core/id/id.generator.mjs +0 -9
- package/esm2022/core/id/index.mjs +0 -2
- package/esm2022/core/lucca-front-ng-core.mjs +0 -5
- package/esm2022/core/portal/index.mjs +0 -3
- package/esm2022/core/portal/portal-content.mjs +0 -3
- package/esm2022/core/portal/portal.directive.mjs +0 -107
- package/esm2022/core/public-api.mjs +0 -11
- package/esm2022/core/signal.mjs +0 -22
- package/esm2022/core/tools/class.mjs +0 -75
- package/esm2022/core/translate/index.mjs +0 -4
- package/esm2022/core/translate/intl-params.pipe.mjs +0 -20
- package/esm2022/core/translate/intl.model.mjs +0 -14
- package/esm2022/core/translate/translation.model.mjs +0 -2
- package/esm2022/core/tree/index.mjs +0 -2
- package/esm2022/core/tree/tree.model.mjs +0 -2
- package/esm2022/core/type/enum.mjs +0 -2
- package/esm2022/core/type/index.mjs +0 -3
- package/esm2022/core/type/style.mjs +0 -2
- package/esm2022/core-select/api/api-v3.directive.mjs +0 -81
- package/esm2022/core-select/api/api-v4.directive.mjs +0 -70
- package/esm2022/core-select/api/api.directive.mjs +0 -53
- package/esm2022/core-select/api/lucca-front-ng-core-select-api.mjs +0 -5
- package/esm2022/core-select/api/public-api.mjs +0 -4
- package/esm2022/core-select/displayer/displayer.directive.mjs +0 -26
- package/esm2022/core-select/displayer/index.mjs +0 -2
- package/esm2022/core-select/establishment/establishment-grouping.component.mjs +0 -21
- package/esm2022/core-select/establishment/establishment-grouping.service.mjs +0 -22
- package/esm2022/core-select/establishment/establishments.directive.mjs +0 -96
- package/esm2022/core-select/establishment/lucca-front-ng-core-select-establishment.mjs +0 -5
- package/esm2022/core-select/establishment/models.mjs +0 -2
- package/esm2022/core-select/establishment/public-api.mjs +0 -4
- package/esm2022/core-select/input/index.mjs +0 -4
- package/esm2022/core-select/input/select-input.component.mjs +0 -312
- package/esm2022/core-select/input/select-input.models.mjs +0 -37
- package/esm2022/core-select/input/total-count.directive.mjs +0 -33
- package/esm2022/core-select/job-qualification/job-qualification-grouping.component.mjs +0 -21
- package/esm2022/core-select/job-qualification/job-qualifications.directive.mjs +0 -78
- package/esm2022/core-select/job-qualification/lucca-front-ng-core-select-job-qualification.mjs +0 -5
- package/esm2022/core-select/job-qualification/models.mjs +0 -2
- package/esm2022/core-select/job-qualification/public-api.mjs +0 -3
- package/esm2022/core-select/lucca-front-ng-core-select.mjs +0 -5
- package/esm2022/core-select/option/default-option.component.mjs +0 -22
- package/esm2022/core-select/option/disabled.directive.mjs +0 -26
- package/esm2022/core-select/option/group.directive.mjs +0 -29
- package/esm2022/core-select/option/group.pipe.mjs +0 -43
- package/esm2022/core-select/option/index.mjs +0 -9
- package/esm2022/core-select/option/option-outlet.directive.mjs +0 -73
- package/esm2022/core-select/option/option.component.mjs +0 -89
- package/esm2022/core-select/option/option.directive.mjs +0 -26
- package/esm2022/core-select/option/option.token.mjs +0 -22
- package/esm2022/core-select/panel/index.mjs +0 -5
- package/esm2022/core-select/panel/key-manager.mjs +0 -79
- package/esm2022/core-select/panel/panel-header-template.directive.mjs +0 -25
- package/esm2022/core-select/panel/panel.models.mjs +0 -22
- package/esm2022/core-select/panel/panel.utils.mjs +0 -15
- package/esm2022/core-select/public-api.mjs +0 -8
- package/esm2022/core-select/select.model.mjs +0 -6
- package/esm2022/core-select/select.translate.mjs +0 -7
- package/esm2022/core-select/select.utils.mjs +0 -2
- package/esm2022/core-select/translations.mjs +0 -27
- package/esm2022/core-select/user/former-employees.component.mjs +0 -34
- package/esm2022/core-select/user/lucca-front-ng-core-select-user.mjs +0 -5
- package/esm2022/core-select/user/me.provider.mjs +0 -9
- package/esm2022/core-select/user/public-api.mjs +0 -5
- package/esm2022/core-select/user/translations.mjs +0 -35
- package/esm2022/core-select/user/user-displayer.component.mjs +0 -32
- package/esm2022/core-select/user/user-homonym.service.mjs +0 -63
- package/esm2022/core-select/user/user-option.component.mjs +0 -46
- package/esm2022/core-select/user/user-option.model.mjs +0 -2
- package/esm2022/core-select/user/user.translate.mjs +0 -7
- package/esm2022/core-select/user/users.directive.mjs +0 -149
- package/esm2022/date/adapter/date-adapter.module.mjs +0 -16
- package/esm2022/date/adapter/date-adapter.pipe.mjs +0 -25
- package/esm2022/date/adapter/index.mjs +0 -3
- package/esm2022/date/calendar/calendar-input.component.mjs +0 -332
- package/esm2022/date/calendar/calendar-input.module.mjs +0 -16
- package/esm2022/date/calendar/calendar-item.class.mjs +0 -43
- package/esm2022/date/calendar/calendar-item.factory.mjs +0 -37
- package/esm2022/date/calendar/calendar-item.interface.mjs +0 -2
- package/esm2022/date/calendar/index.mjs +0 -3
- package/esm2022/date/date.module.mjs +0 -20
- package/esm2022/date/humanize/humanize.formatter.mjs +0 -14
- package/esm2022/date/humanize/humanize.model.mjs +0 -2
- package/esm2022/date/humanize/humanize.pipe.mjs +0 -21
- package/esm2022/date/humanize/humanize.utils.mjs +0 -79
- package/esm2022/date/humanize/index.mjs +0 -5
- package/esm2022/date/input/date-input.directive.mjs +0 -137
- package/esm2022/date/input/date-input.module.mjs +0 -16
- package/esm2022/date/input/date-input.translate.mjs +0 -7
- package/esm2022/date/input/index.mjs +0 -4
- package/esm2022/date/input/translations.mjs +0 -43
- package/esm2022/date/lucca-front-ng-date.mjs +0 -5
- package/esm2022/date/picker/date-picker.component.mjs +0 -109
- package/esm2022/date/picker/date-picker.module.mjs +0 -16
- package/esm2022/date/picker/index.mjs +0 -3
- package/esm2022/date/public-api.mjs +0 -8
- package/esm2022/date/select/date-select-input.component.mjs +0 -106
- package/esm2022/date/select/date-select-input.module.mjs +0 -16
- package/esm2022/date/select/date-select-input.translate.mjs +0 -7
- package/esm2022/date/select/index.mjs +0 -4
- package/esm2022/date/select/translations.mjs +0 -43
- package/esm2022/date2/calendar.token.mjs +0 -22
- package/esm2022/date2/calendar2/calendar-cell-info.mjs +0 -2
- package/esm2022/date2/calendar2/calendar-mode.mjs +0 -2
- package/esm2022/date2/calendar2/calendar2-cell.directive.mjs +0 -111
- package/esm2022/date2/calendar2/calendar2.component.mjs +0 -279
- package/esm2022/date2/calendar2/calendar2.tokens.mjs +0 -4
- package/esm2022/date2/calendar2/cell-status.mjs +0 -2
- package/esm2022/date2/calendar2/date-range.mjs +0 -2
- package/esm2022/date2/date-format.mjs +0 -16
- package/esm2022/date2/date-input/date-input.component.mjs +0 -281
- package/esm2022/date2/date2.translate.mjs +0 -7
- package/esm2022/date2/lucca-front-ng-date2.mjs +0 -5
- package/esm2022/date2/public-api.mjs +0 -5
- package/esm2022/date2/repeat-times.directive.mjs +0 -27
- package/esm2022/date2/translations.mjs +0 -17
- package/esm2022/date2/utils.mjs +0 -24
- package/esm2022/department/department.model.mjs +0 -2
- package/esm2022/department/department.module.mjs +0 -16
- package/esm2022/department/lucca-front-ng-department.mjs +0 -5
- package/esm2022/department/public-api.mjs +0 -5
- package/esm2022/department/select/department-select.module.mjs +0 -17
- package/esm2022/department/select/feeder/department-feeder.component.mjs +0 -82
- package/esm2022/department/select/feeder/department-feeder.module.mjs +0 -16
- package/esm2022/department/select/feeder/index.mjs +0 -3
- package/esm2022/department/select/index.mjs +0 -4
- package/esm2022/department/select/input/department-select-input.component.mjs +0 -68
- package/esm2022/department/select/input/department-select-input.module.mjs +0 -16
- package/esm2022/department/select/input/department-select-input.translate.mjs +0 -7
- package/esm2022/department/select/input/index.mjs +0 -4
- package/esm2022/department/select/input/translations.mjs +0 -27
- package/esm2022/department/service/department-service.model.mjs +0 -4
- package/esm2022/department/service/department-v3.service.mjs +0 -46
- package/esm2022/department/service/department-v4.service.mjs +0 -46
- package/esm2022/department/service/index.mjs +0 -4
- package/esm2022/dialog/dialog/dialog.component.mjs +0 -31
- package/esm2022/dialog/dialog-content/dialog-content.component.mjs +0 -20
- package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +0 -13
- package/esm2022/dialog/dialog-header/dialog-header.component.mjs +0 -45
- package/esm2022/dialog/dialog-header/dialog-header.translate.mjs +0 -7
- package/esm2022/dialog/dialog-header/translations.mjs +0 -27
- package/esm2022/dialog/dialog-routing/dialog-routing.component.mjs +0 -100
- package/esm2022/dialog/dialog-routing/dialog-routing.models.mjs +0 -2
- package/esm2022/dialog/dialog-routing/dialog-routing.utils.mjs +0 -46
- package/esm2022/dialog/dialog-routing/index.mjs +0 -4
- package/esm2022/dialog/dialog.providers.mjs +0 -10
- package/esm2022/dialog/dialog.service.mjs +0 -75
- package/esm2022/dialog/directives/dialog-close.directive.mjs +0 -22
- package/esm2022/dialog/directives/dialog-dismiss.directive.mjs +0 -22
- package/esm2022/dialog/directives/dialog-open.directive.mjs +0 -35
- package/esm2022/dialog/lucca-front-ng-dialog.mjs +0 -5
- package/esm2022/dialog/model/dialog-config.mjs +0 -4
- package/esm2022/dialog/model/dialog-ref.mjs +0 -49
- package/esm2022/dialog/model/index.mjs +0 -4
- package/esm2022/dialog/model/injectors.mjs +0 -10
- package/esm2022/dialog/public-api.mjs +0 -13
- package/esm2022/dialog/testing/lucca-front-ng-dialog-testing.mjs +0 -5
- package/esm2022/dialog/testing/providers.mjs +0 -8
- package/esm2022/dialog/testing/public-api.mjs +0 -2
- package/esm2022/dropdown/dropdown.module.mjs +0 -18
- package/esm2022/dropdown/item/dropdown-item.directive.mjs +0 -55
- package/esm2022/dropdown/item/dropdown-item.model.mjs +0 -3
- package/esm2022/dropdown/item/dropdown-item.module.mjs +0 -17
- package/esm2022/dropdown/item/index.mjs +0 -4
- package/esm2022/dropdown/lucca-front-ng-dropdown.mjs +0 -5
- package/esm2022/dropdown/panel/dropdown-panel.component.mjs +0 -111
- package/esm2022/dropdown/panel/dropdown-panel.model.mjs +0 -2
- package/esm2022/dropdown/panel/dropdown-panel.module.mjs +0 -18
- package/esm2022/dropdown/panel/index.mjs +0 -4
- package/esm2022/dropdown/public-api.mjs +0 -5
- package/esm2022/dropdown/trigger/dropdown-trigger.directive.mjs +0 -121
- package/esm2022/dropdown/trigger/dropdown-trigger.module.mjs +0 -18
- package/esm2022/dropdown/trigger/index.mjs +0 -3
- package/esm2022/empty-state/empty-state-page/empty-state-page.component.mjs +0 -62
- package/esm2022/empty-state/empty-state-section/empty-state-section.component.mjs +0 -43
- package/esm2022/empty-state/lucca-front-ng-empty-state.mjs +0 -5
- package/esm2022/empty-state/public-api.mjs +0 -3
- package/esm2022/establishment/establishment.model.mjs +0 -2
- package/esm2022/establishment/establishment.module.mjs +0 -19
- package/esm2022/establishment/lucca-front-ng-establishment.mjs +0 -5
- package/esm2022/establishment/public-api.mjs +0 -5
- package/esm2022/establishment/select/establishment-select.module.mjs +0 -23
- package/esm2022/establishment/select/establishment-select.token.mjs +0 -4
- package/esm2022/establishment/select/for-legal-units/for-legal-units.directive.mjs +0 -47
- package/esm2022/establishment/select/for-legal-units/for-legal-units.module.mjs +0 -16
- package/esm2022/establishment/select/for-legal-units/index.mjs +0 -3
- package/esm2022/establishment/select/index.mjs +0 -7
- package/esm2022/establishment/select/input/establishment-select-input.component.mjs +0 -126
- package/esm2022/establishment/select/input/establishment-select-input.module.mjs +0 -16
- package/esm2022/establishment/select/input/establishment-select-input.translate.mjs +0 -7
- package/esm2022/establishment/select/input/index.mjs +0 -4
- package/esm2022/establishment/select/input/translations.mjs +0 -27
- package/esm2022/establishment/select/legal-unit-selector/index.mjs +0 -3
- package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.directive.mjs +0 -103
- package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.module.mjs +0 -16
- package/esm2022/establishment/select/searcher/establishment-searcher.component.mjs +0 -146
- package/esm2022/establishment/select/searcher/establishment-searcher.module.mjs +0 -16
- package/esm2022/establishment/select/searcher/index.mjs +0 -3
- package/esm2022/establishment/select/select-all/establishment-select-all.component.mjs +0 -94
- package/esm2022/establishment/select/select-all/establishment-select-all.module.mjs +0 -16
- package/esm2022/establishment/select/select-all/index.mjs +0 -3
- package/esm2022/establishment/service/establishment-service.model.mjs +0 -4
- package/esm2022/establishment/service/establishment.service.mjs +0 -37
- package/esm2022/establishment/service/index.mjs +0 -5
- package/esm2022/establishment/service/legal-unit-service.model.mjs +0 -4
- package/esm2022/establishment/service/legal-unit.service.mjs +0 -37
- package/esm2022/form-field/form-field-size.mjs +0 -2
- package/esm2022/form-field/form-field.component.mjs +0 -248
- package/esm2022/form-field/form-field.token.mjs +0 -3
- package/esm2022/form-field/form-field.translate.mjs +0 -7
- package/esm2022/form-field/input.directive.mjs +0 -36
- package/esm2022/form-field/lucca-front-ng-form-field.mjs +0 -5
- package/esm2022/form-field/public-api.mjs +0 -6
- package/esm2022/form-field/translations.mjs +0 -27
- package/esm2022/formly/formly.config.mjs +0 -79
- package/esm2022/formly/formly.module.mjs +0 -108
- package/esm2022/formly/formly.utils.mjs +0 -10
- package/esm2022/formly/lucca-front-ng-formly.mjs +0 -5
- package/esm2022/formly/public-api.mjs +0 -5
- package/esm2022/formly/types/api.mjs +0 -37
- package/esm2022/formly/types/checkbox.mjs +0 -22
- package/esm2022/formly/types/date.mjs +0 -22
- package/esm2022/formly/types/department.mjs +0 -22
- package/esm2022/formly/types/establishment.mjs +0 -22
- package/esm2022/formly/types/index.mjs +0 -12
- package/esm2022/formly/types/input.mjs +0 -26
- package/esm2022/formly/types/qualification.mjs +0 -22
- package/esm2022/formly/types/radios.mjs +0 -25
- package/esm2022/formly/types/select.mjs +0 -28
- package/esm2022/formly/types/textarea.mjs +0 -22
- package/esm2022/formly/types/user.mjs +0 -22
- package/esm2022/formly/wrappers/checkbox-layout.mjs +0 -30
- package/esm2022/formly/wrappers/error.mjs +0 -57
- package/esm2022/formly/wrappers/helper.mjs +0 -19
- package/esm2022/formly/wrappers/icon.mjs +0 -19
- package/esm2022/formly/wrappers/index.mjs +0 -8
- package/esm2022/formly/wrappers/radiosfield-layout.mjs +0 -30
- package/esm2022/formly/wrappers/suffix.mjs +0 -19
- package/esm2022/formly/wrappers/textfield-layout.mjs +0 -39
- package/esm2022/forms/checkbox-input/checkbox-input.component.mjs +0 -34
- package/esm2022/forms/form-field-id.directive.mjs +0 -52
- package/esm2022/forms/inject-ng-control.mjs +0 -25
- package/esm2022/forms/lucca-front-ng-forms.mjs +0 -5
- package/esm2022/forms/multilanguage-input/model/multilanguage-translation.mjs +0 -2
- package/esm2022/forms/multilanguage-input/multilanguage-input.component.mjs +0 -95
- package/esm2022/forms/multilanguage-input/multilanguage-input.translate.mjs +0 -6
- package/esm2022/forms/multilanguage-input/translations.mjs +0 -13
- package/esm2022/forms/multilanguage-input/validators.mjs +0 -7
- package/esm2022/forms/noop-value-accessor.directive.mjs +0 -35
- package/esm2022/forms/number-format-input/number-format-input.component.mjs +0 -92
- package/esm2022/forms/number-format-input/number-format-input.translate.mjs +0 -7
- package/esm2022/forms/number-format-input/translations.mjs +0 -27
- package/esm2022/forms/number-input/number-input.component.mjs +0 -55
- package/esm2022/forms/number-input/number-input.translate.mjs +0 -7
- package/esm2022/forms/number-input/translations.mjs +0 -27
- package/esm2022/forms/phone-number-input/formatter.mjs +0 -7
- package/esm2022/forms/phone-number-input/lucca-front-ng-forms-phone-number-input.mjs +0 -5
- package/esm2022/forms/phone-number-input/phone-number-format.pipe.mjs +0 -18
- package/esm2022/forms/phone-number-input/phone-number-input.component.mjs +0 -186
- package/esm2022/forms/phone-number-input/public-api.mjs +0 -6
- package/esm2022/forms/phone-number-input/types.mjs +0 -2
- package/esm2022/forms/phone-number-input/validators.mjs +0 -17
- package/esm2022/forms/public-api.mjs +0 -17
- package/esm2022/forms/radio-group-input/radio/radio.component.mjs +0 -54
- package/esm2022/forms/radio-group-input/radio-group-input.component.mjs +0 -45
- package/esm2022/forms/radio-group-input/radio-group-token.mjs +0 -3
- package/esm2022/forms/switch-input/switch-input.component.mjs +0 -26
- package/esm2022/forms/text-input/text-input-addon.mjs +0 -2
- package/esm2022/forms/text-input/text-input.component.mjs +0 -82
- package/esm2022/forms/text-input/text-input.translate.mjs +0 -7
- package/esm2022/forms/text-input/translations.mjs +0 -35
- package/esm2022/forms/textarea-input/textarea-input.component.mjs +0 -53
- package/esm2022/icon/icon.component.mjs +0 -29
- package/esm2022/icon/lucca-front-ng-icon.mjs +0 -5
- package/esm2022/icon/public-api.mjs +0 -2
- package/esm2022/inline-message/inline-message-state.mjs +0 -2
- package/esm2022/inline-message/inline-message.component.mjs +0 -33
- package/esm2022/inline-message/lucca-front-ng-inline-message.mjs +0 -5
- package/esm2022/inline-message/public-api.mjs +0 -3
- package/esm2022/input/clearer/clearer.component.mjs +0 -35
- package/esm2022/input/clearer/clearer.model.mjs +0 -3
- package/esm2022/input/clearer/clearer.module.mjs +0 -16
- package/esm2022/input/clearer/index.mjs +0 -4
- package/esm2022/input/displayer/index.mjs +0 -4
- package/esm2022/input/displayer/input-displayer.directive.mjs +0 -59
- package/esm2022/input/displayer/input-displayer.model.mjs +0 -6
- package/esm2022/input/displayer/input-displayer.module.mjs +0 -16
- package/esm2022/input/input.directive.mjs +0 -42
- package/esm2022/input/input.model.mjs +0 -54
- package/esm2022/input/input.module.mjs +0 -18
- package/esm2022/input/lucca-front-ng-input.mjs +0 -5
- package/esm2022/input/public-api.mjs +0 -6
- package/esm2022/lucca-front-ng.mjs +0 -5
- package/esm2022/modal/dialog-adapter/dialog-content-adapter/dialog-content-adapter.component.mjs +0 -100
- package/esm2022/modal/dialog-adapter/dialog-ref-adapter.mjs +0 -19
- package/esm2022/modal/lucca-front-ng-modal.mjs +0 -5
- package/esm2022/modal/modal-config.default.mjs +0 -17
- package/esm2022/modal/modal-config.model.mjs +0 -5
- package/esm2022/modal/modal-panel.component.mjs +0 -123
- package/esm2022/modal/modal-ref.factory.mjs +0 -60
- package/esm2022/modal/modal-ref.model.mjs +0 -11
- package/esm2022/modal/modal.model.mjs +0 -2
- package/esm2022/modal/modal.module.mjs +0 -28
- package/esm2022/modal/modal.service.mjs +0 -42
- package/esm2022/modal/modal.token.mjs +0 -9
- package/esm2022/modal/modal.translate.mjs +0 -7
- package/esm2022/modal/modal.utils.mjs +0 -9
- package/esm2022/modal/public-api.mjs +0 -12
- package/esm2022/modal/translations.mjs +0 -43
- package/esm2022/multi-select/displayer/counter-displayer/counter-displayer.component.mjs +0 -78
- package/esm2022/multi-select/displayer/default-displayer.component.mjs +0 -95
- package/esm2022/multi-select/displayer/default-displayer.translate.mjs +0 -7
- package/esm2022/multi-select/displayer/displayer-input.directive.mjs +0 -101
- package/esm2022/multi-select/displayer/displayer.directive.mjs +0 -26
- package/esm2022/multi-select/displayer/index.mjs +0 -6
- package/esm2022/multi-select/displayer/translations.mjs +0 -51
- package/esm2022/multi-select/input/index.mjs +0 -3
- package/esm2022/multi-select/input/panel-ref.factory.mjs +0 -119
- package/esm2022/multi-select/input/panel.model.mjs +0 -4
- package/esm2022/multi-select/input/select-all/index.mjs +0 -2
- package/esm2022/multi-select/input/select-all/multi-select-all-displayer.component.mjs +0 -99
- package/esm2022/multi-select/input/select-all/multi-select-all-header.component.mjs +0 -36
- package/esm2022/multi-select/input/select-all/select-all.models.mjs +0 -3
- package/esm2022/multi-select/input/select-all/with-select-all.directive.mjs +0 -160
- package/esm2022/multi-select/input/select-input.component.mjs +0 -111
- package/esm2022/multi-select/lucca-front-ng-multi-select.mjs +0 -5
- package/esm2022/multi-select/panel/index.mjs +0 -2
- package/esm2022/multi-select/panel/option-group-context.pipe.mjs +0 -24
- package/esm2022/multi-select/panel/option-selected.pipe.mjs +0 -19
- package/esm2022/multi-select/panel/panel.component.mjs +0 -109
- package/esm2022/multi-select/panel/selected-chip.directive.mjs +0 -26
- package/esm2022/multi-select/public-api.mjs +0 -5
- package/esm2022/multi-select/select.model.mjs +0 -23
- package/esm2022/multi-select/select.translate.mjs +0 -7
- package/esm2022/multi-select/select.utils.mjs +0 -32
- package/esm2022/multi-select/translations.mjs +0 -107
- package/esm2022/new-badge/lucca-front-ng-new-badge.mjs +0 -5
- package/esm2022/new-badge/new-badge.component.mjs +0 -20
- package/esm2022/new-badge/public-api.mjs +0 -2
- package/esm2022/number/lucca-front-ng-number.mjs +0 -5
- package/esm2022/number/number.module.mjs +0 -16
- package/esm2022/number/number.pipe.mjs +0 -36
- package/esm2022/number/public-api.mjs +0 -3
- package/esm2022/number-format/lucca-front-ng-number-format.mjs +0 -5
- package/esm2022/number-format/number-format.directive.mjs +0 -91
- package/esm2022/number-format/number-format.mjs +0 -175
- package/esm2022/number-format/number-format.models.mjs +0 -7
- package/esm2022/number-format/number-format.pipe.mjs +0 -18
- package/esm2022/number-format/public-api.mjs +0 -5
- package/esm2022/numeric-badge/lucca-front-ng-numeric-badge.mjs +0 -5
- package/esm2022/numeric-badge/numeric-badge.component.mjs +0 -43
- package/esm2022/numeric-badge/public-api.mjs +0 -2
- package/esm2022/option/item/index.mjs +0 -8
- package/esm2022/option/item/option-item.component.mjs +0 -76
- package/esm2022/option/item/option-item.model.mjs +0 -3
- package/esm2022/option/item/option-item.module.mjs +0 -16
- package/esm2022/option/item/translations.mjs +0 -35
- package/esm2022/option/item/tree-option-item.component.mjs +0 -136
- package/esm2022/option/item/tree-option-item.model.mjs +0 -7
- package/esm2022/option/item/tree-option-item.module.mjs +0 -16
- package/esm2022/option/item/tree-option-item.translate.mjs +0 -7
- package/esm2022/option/lucca-front-ng-option.mjs +0 -5
- package/esm2022/option/operator/feeder/index.mjs +0 -5
- package/esm2022/option/operator/feeder/option-feeder.component.mjs +0 -33
- package/esm2022/option/operator/feeder/option-feeder.module.mjs +0 -16
- package/esm2022/option/operator/feeder/tree-option-feeder.component.mjs +0 -33
- package/esm2022/option/operator/feeder/tree-option-feeder.module.mjs +0 -16
- package/esm2022/option/operator/for-groups/for-groups.directive.mjs +0 -89
- package/esm2022/option/operator/for-groups/for-groups.module.mjs +0 -16
- package/esm2022/option/operator/for-groups/index.mjs +0 -3
- package/esm2022/option/operator/for-options/for-options.directive.mjs +0 -50
- package/esm2022/option/operator/for-options/for-options.module.mjs +0 -16
- package/esm2022/option/operator/for-options/for-tree-options.directive.mjs +0 -29
- package/esm2022/option/operator/for-options/for-tree-options.module.mjs +0 -16
- package/esm2022/option/operator/for-options/index.mjs +0 -5
- package/esm2022/option/operator/index.mjs +0 -10
- package/esm2022/option/operator/option-operator.model.mjs +0 -3
- package/esm2022/option/operator/option-operator.module.mjs +0 -20
- package/esm2022/option/operator/pager/index.mjs +0 -5
- package/esm2022/option/operator/pager/option-pager.component.mjs +0 -53
- package/esm2022/option/operator/pager/option-pager.module.mjs +0 -16
- package/esm2022/option/operator/pager/tree-option-pager.component.mjs +0 -71
- package/esm2022/option/operator/pager/tree-option-pager.module.mjs +0 -16
- package/esm2022/option/operator/searcher/index.mjs +0 -5
- package/esm2022/option/operator/searcher/option-searcher.component.mjs +0 -66
- package/esm2022/option/operator/searcher/option-searcher.module.mjs +0 -16
- package/esm2022/option/operator/searcher/tree-option-searcher.component.mjs +0 -83
- package/esm2022/option/operator/searcher/tree-option-searcher.module.mjs +0 -16
- package/esm2022/option/operator/tree-option-operator.model.mjs +0 -4
- package/esm2022/option/operator/tree-option-operator.module.mjs +0 -19
- package/esm2022/option/option.module.mjs +0 -63
- package/esm2022/option/picker/index.mjs +0 -9
- package/esm2022/option/picker/option-picker-advanced.component.mjs +0 -150
- package/esm2022/option/picker/option-picker.component.mjs +0 -319
- package/esm2022/option/picker/option-picker.model.mjs +0 -69
- package/esm2022/option/picker/option-picker.module.mjs +0 -18
- package/esm2022/option/picker/tree-option-picker-advanced.component.mjs +0 -140
- package/esm2022/option/picker/tree-option-picker.component.mjs +0 -173
- package/esm2022/option/picker/tree-option-picker.model.mjs +0 -4
- package/esm2022/option/picker/tree-option-picker.module.mjs +0 -21
- package/esm2022/option/placeholder/index.mjs +0 -4
- package/esm2022/option/placeholder/option-placeholder.component.mjs +0 -23
- package/esm2022/option/placeholder/option-placeholder.module.mjs +0 -16
- package/esm2022/option/placeholder/option-placeholder.translate.mjs +0 -7
- package/esm2022/option/placeholder/translations.mjs +0 -35
- package/esm2022/option/public-api.mjs +0 -8
- package/esm2022/option/selector/all/index.mjs +0 -6
- package/esm2022/option/selector/all/select-all.component.mjs +0 -64
- package/esm2022/option/selector/all/select-all.module.mjs +0 -16
- package/esm2022/option/selector/all/select-all.translate.mjs +0 -7
- package/esm2022/option/selector/all/translations.mjs +0 -35
- package/esm2022/option/selector/all/tree-select-all.component.mjs +0 -67
- package/esm2022/option/selector/all/tree-select-all.module.mjs +0 -16
- package/esm2022/option/selector/index.mjs +0 -6
- package/esm2022/option/selector/option-selector.model.mjs +0 -3
- package/esm2022/option/selector/option-selector.module.mjs +0 -16
- package/esm2022/option/selector/tree-option-selector.model.mjs +0 -4
- package/esm2022/option/selector/tree-option-selector.module.mjs +0 -16
- package/esm2022/option/tree-option.module.mjs +0 -19
- package/esm2022/picker/input-picker.model.mjs +0 -4
- package/esm2022/picker/lucca-front-ng-picker.mjs +0 -5
- package/esm2022/picker/public-api.mjs +0 -2
- package/esm2022/plg-push/lucca-front-ng-plg-push.mjs +0 -5
- package/esm2022/plg-push/plg-push.component.mjs +0 -17
- package/esm2022/plg-push/public-api.mjs +0 -2
- package/esm2022/popover/animation/index.mjs +0 -2
- package/esm2022/popover/animation/popover.animation.mjs +0 -16
- package/esm2022/popover/lucca-front-ng-popover.mjs +0 -5
- package/esm2022/popover/panel/index.mjs +0 -4
- package/esm2022/popover/panel/popover-panel.component.mjs +0 -126
- package/esm2022/popover/panel/popover-panel.model.mjs +0 -120
- package/esm2022/popover/panel/popover-panel.module.mjs +0 -16
- package/esm2022/popover/popover.module.mjs +0 -18
- package/esm2022/popover/public-api.mjs +0 -6
- package/esm2022/popover/target/index.mjs +0 -4
- package/esm2022/popover/target/popover-target.directive.mjs +0 -53
- package/esm2022/popover/target/popover-target.model.mjs +0 -65
- package/esm2022/popover/target/popover-target.module.mjs +0 -16
- package/esm2022/popover/trigger/index.mjs +0 -4
- package/esm2022/popover/trigger/popover-trigger.directive.mjs +0 -186
- package/esm2022/popover/trigger/popover-trigger.model.mjs +0 -470
- package/esm2022/popover/trigger/popover-trigger.module.mjs +0 -17
- package/esm2022/popover2/content/popover-content/popover-content.component.mjs +0 -78
- package/esm2022/popover2/lucca-front-ng-popover2.mjs +0 -5
- package/esm2022/popover2/popover-focus-trap.mjs +0 -24
- package/esm2022/popover2/popover-tokens.mjs +0 -3
- package/esm2022/popover2/popover.directive.mjs +0 -257
- package/esm2022/popover2/popover.providers.mjs +0 -6
- package/esm2022/popover2/popover.translate.mjs +0 -7
- package/esm2022/popover2/popover2.translate.mjs +0 -19
- package/esm2022/popover2/public-api.mjs +0 -4
- package/esm2022/popover2/translations.mjs +0 -27
- package/esm2022/popup/lucca-front-ng-popup.mjs +0 -5
- package/esm2022/popup/popup-config.default.mjs +0 -9
- package/esm2022/popup/popup-config.model.mjs +0 -2
- package/esm2022/popup/popup-ref.factory.mjs +0 -28
- package/esm2022/popup/popup-ref.model.mjs +0 -139
- package/esm2022/popup/popup.module.mjs +0 -21
- package/esm2022/popup/popup.service.mjs +0 -21
- package/esm2022/popup/popup.token.mjs +0 -8
- package/esm2022/popup/public-api.mjs +0 -8
- package/esm2022/popup-employee/card/panel/user-popover-panel.component.mjs +0 -153
- package/esm2022/popup-employee/card/panel/user-popover-panel.model.mjs +0 -2
- package/esm2022/popup-employee/card/pipe/inject-parameter.pipe.mjs +0 -18
- package/esm2022/popup-employee/card/pipe/is-future.pipe.mjs +0 -32
- package/esm2022/popup-employee/card/pipe/leave-ends-display.pipe.mjs +0 -44
- package/esm2022/popup-employee/card/trigger/user-popover-trigger.directive.mjs +0 -178
- package/esm2022/popup-employee/lucca-front-ng-popup-employee.mjs +0 -5
- package/esm2022/popup-employee/popup-employee.translate.mjs +0 -7
- package/esm2022/popup-employee/public-api.mjs +0 -5
- package/esm2022/popup-employee/service/user-popover-service.model.mjs +0 -2
- package/esm2022/popup-employee/service/user-popover.store.mjs +0 -59
- package/esm2022/popup-employee/translations.mjs +0 -107
- package/esm2022/popup-employee/user-popover.model.mjs +0 -2
- package/esm2022/popup-employee/user-popover.providers.mjs +0 -14
- package/esm2022/public_api.mjs +0 -2
- package/esm2022/qualification/lucca-front-ng-qualification.mjs +0 -5
- package/esm2022/qualification/public-api.mjs +0 -4
- package/esm2022/qualification/qualification.model.mjs +0 -2
- package/esm2022/qualification/qualification.module.mjs +0 -19
- package/esm2022/qualification/select/index.mjs +0 -3
- package/esm2022/qualification/select/input/index.mjs +0 -4
- package/esm2022/qualification/select/input/qualification-select-input.component.mjs +0 -60
- package/esm2022/qualification/select/input/qualification-select-input.module.mjs +0 -19
- package/esm2022/qualification/select/input/qualification-select-input.translate.mjs +0 -7
- package/esm2022/qualification/select/input/translations.mjs +0 -27
- package/esm2022/qualification/select/qualification-select.module.mjs +0 -19
- package/esm2022/safe-content/lucca-front-ng-safe-content.mjs +0 -5
- package/esm2022/safe-content/public-api.mjs +0 -4
- package/esm2022/safe-content/safe-content.module.mjs +0 -18
- package/esm2022/safe-content/safe-external-svg.pipe.mjs +0 -42
- package/esm2022/safe-content/safe-html.pipe.mjs +0 -19
- package/esm2022/scroll/lucca-front-ng-scroll.mjs +0 -5
- package/esm2022/scroll/public-api.mjs +0 -4
- package/esm2022/scroll/scroll.directive.mjs +0 -77
- package/esm2022/scroll/scroll.model.mjs +0 -2
- package/esm2022/scroll/scroll.module.mjs +0 -16
- package/esm2022/select/input/index.mjs +0 -4
- package/esm2022/select/input/select-input.component.mjs +0 -249
- package/esm2022/select/input/select-input.model.mjs +0 -179
- package/esm2022/select/input/select-input.module.mjs +0 -19
- package/esm2022/select/lucca-front-ng-select.mjs +0 -5
- package/esm2022/select/public-api.mjs +0 -3
- package/esm2022/select/select.module.mjs +0 -19
- package/esm2022/sidepanel/lucca-front-ng-sidepanel.mjs +0 -5
- package/esm2022/sidepanel/public-api.mjs +0 -4
- package/esm2022/sidepanel/sidepanel.model.mjs +0 -32
- package/esm2022/sidepanel/sidepanel.module.mjs +0 -20
- package/esm2022/sidepanel/sidepanel.service.mjs +0 -25
- package/esm2022/simple-select/api/api-v3.directive.mjs +0 -6
- package/esm2022/simple-select/api/api-v4.directive.mjs +0 -6
- package/esm2022/simple-select/api/api.directive.mjs +0 -6
- package/esm2022/simple-select/api/lucca-front-ng-simple-select-api.mjs +0 -5
- package/esm2022/simple-select/api/public-api.mjs +0 -4
- package/esm2022/simple-select/input/index.mjs +0 -2
- package/esm2022/simple-select/input/panel-ref.factory.mjs +0 -106
- package/esm2022/simple-select/input/select-input.component.mjs +0 -60
- package/esm2022/simple-select/lucca-front-ng-simple-select.mjs +0 -5
- package/esm2022/simple-select/panel/index.mjs +0 -2
- package/esm2022/simple-select/panel/option-selected.pipe.mjs +0 -17
- package/esm2022/simple-select/panel/panel.component.mjs +0 -70
- package/esm2022/simple-select/public-api.mjs +0 -4
- package/esm2022/simple-select/select.model.mjs +0 -3
- package/esm2022/simple-select/select.translate.mjs +0 -7
- package/esm2022/simple-select/translations.mjs +0 -59
- package/esm2022/skeleton/lucca-front-ng-skeleton.mjs +0 -5
- package/esm2022/skeleton/public-api.mjs +0 -4
- package/esm2022/skeleton/skeleton-button/skeleton-button.component.mjs +0 -17
- package/esm2022/skeleton/skeleton-field/skeleton-field.component.mjs +0 -17
- package/esm2022/skeleton/skeleton-header/skeleton-header.component.mjs +0 -17
- package/esm2022/tag/lucca-front-ng-tag.mjs +0 -5
- package/esm2022/tag/public-api.mjs +0 -2
- package/esm2022/tag/tag.component.mjs +0 -61
- package/esm2022/time/core/base-picker.component.mjs +0 -47
- package/esm2022/time/core/date-primitives.mjs +0 -2
- package/esm2022/time/core/date.utils.mjs +0 -54
- package/esm2022/time/core/duration.utils.mjs +0 -55
- package/esm2022/time/core/math.utils.mjs +0 -17
- package/esm2022/time/core/misc.utils.mjs +0 -3
- package/esm2022/time/core/repeat-on-hold.directive.mjs +0 -73
- package/esm2022/time/core/time-picker-part.component.mjs +0 -148
- package/esm2022/time/duration-picker/duration-picker.component.mjs +0 -197
- package/esm2022/time/duration-picker/duration-picker.model.mjs +0 -2
- package/esm2022/time/duration-picker/duration-picker.translate.mjs +0 -7
- package/esm2022/time/duration-picker/translations.mjs +0 -43
- package/esm2022/time/lucca-front-ng-time.mjs +0 -5
- package/esm2022/time/public-api.mjs +0 -5
- package/esm2022/time/time-picker/time-picker.component.mjs +0 -230
- package/esm2022/time/time-picker/time-picker.model.mjs +0 -3
- package/esm2022/time/time-picker/time-picker.translate.mjs +0 -7
- package/esm2022/time/time-picker/translations.mjs +0 -43
- package/esm2022/title/lucca-front-ng-title.mjs +0 -5
- package/esm2022/title/public-api.mjs +0 -6
- package/esm2022/title/title-translate.service.mjs +0 -3
- package/esm2022/title/title.model.mjs +0 -2
- package/esm2022/title/title.module.mjs +0 -20
- package/esm2022/title/title.service.mjs +0 -55
- package/esm2022/title/title.strategy.mjs +0 -60
- package/esm2022/toast/lucca-front-ng-toast.mjs +0 -5
- package/esm2022/toast/public-api.mjs +0 -9
- package/esm2022/toast/toasts.component.mjs +0 -62
- package/esm2022/toast/toasts.model.mjs +0 -2
- package/esm2022/toast/toasts.module.mjs +0 -16
- package/esm2022/toast/toasts.service.mjs +0 -37
- package/esm2022/toast/toasts.translate.mjs +0 -7
- package/esm2022/toast/translations.mjs +0 -27
- package/esm2022/tooltip/animation/index.mjs +0 -2
- package/esm2022/tooltip/animation/tooltip.animation.mjs +0 -16
- package/esm2022/tooltip/lucca-front-ng-tooltip.mjs +0 -5
- package/esm2022/tooltip/panel/index.mjs +0 -3
- package/esm2022/tooltip/panel/tooltip-panel.component.mjs +0 -44
- package/esm2022/tooltip/panel/tooltip-panel.module.mjs +0 -16
- package/esm2022/tooltip/public-api.mjs +0 -5
- package/esm2022/tooltip/tooltip.module.mjs +0 -17
- package/esm2022/tooltip/trigger/ellipsis.ruler.mjs +0 -81
- package/esm2022/tooltip/trigger/index.mjs +0 -3
- package/esm2022/tooltip/trigger/tooltip-trigger.directive.mjs +0 -310
- package/esm2022/tooltip/trigger/tooltip-trigger.module.mjs +0 -17
- package/esm2022/user/display/display-format.model.mjs +0 -25
- package/esm2022/user/display/index.mjs +0 -4
- package/esm2022/user/display/user-display.module.mjs +0 -17
- package/esm2022/user/display/user-display.pipe.mjs +0 -72
- package/esm2022/user/lucca-front-ng-user.mjs +0 -5
- package/esm2022/user/picture/index.mjs +0 -3
- package/esm2022/user/picture/user-picture.component.mjs +0 -85
- package/esm2022/user/picture/user-picture.module.mjs +0 -19
- package/esm2022/user/public-api.mjs +0 -8
- package/esm2022/user/select/homonyms/index.mjs +0 -4
- package/esm2022/user/select/homonyms/user-homonyms.component.mjs +0 -72
- package/esm2022/user/select/homonyms/user-homonyms.module.mjs +0 -16
- package/esm2022/user/select/homonyms/user-homonyms.service.mjs +0 -53
- package/esm2022/user/select/index.mjs +0 -6
- package/esm2022/user/select/input/index.mjs +0 -4
- package/esm2022/user/select/input/translations.mjs +0 -35
- package/esm2022/user/select/input/user-select-input.component.mjs +0 -89
- package/esm2022/user/select/input/user-select-input.module.mjs +0 -19
- package/esm2022/user/select/input/user-select-input.translate.mjs +0 -7
- package/esm2022/user/select/me/index.mjs +0 -3
- package/esm2022/user/select/me/me-option.directive.mjs +0 -123
- package/esm2022/user/select/me/me-option.module.mjs +0 -16
- package/esm2022/user/select/searcher/index.mjs +0 -4
- package/esm2022/user/select/searcher/translations.mjs +0 -27
- package/esm2022/user/select/searcher/user-searcher.component.mjs +0 -187
- package/esm2022/user/select/searcher/user-searcher.module.mjs +0 -16
- package/esm2022/user/select/searcher/user-searcher.translate.mjs +0 -7
- package/esm2022/user/select/user-select.module.mjs +0 -22
- package/esm2022/user/service/index.mjs +0 -3
- package/esm2022/user/service/user-service.model.mjs +0 -4
- package/esm2022/user/service/user-v3.service.mjs +0 -51
- package/esm2022/user/tile/index.mjs +0 -3
- package/esm2022/user/tile/user-tile.component.mjs +0 -63
- package/esm2022/user/tile/user-tile.module.mjs +0 -20
- package/esm2022/user/user.model.mjs +0 -2
- package/esm2022/user/user.module.mjs +0 -19
|
@@ -1,332 +0,0 @@
|
|
|
1
|
-
import { CommonModule, FormStyle, getLocaleDayNames, getLocaleFirstDayOfWeek, TranslationWidth } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, forwardRef, Inject, Input, LOCALE_ID } from '@angular/core';
|
|
3
|
-
import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { ELuDateGranularity } from '@lucca-front/ng/core';
|
|
5
|
-
import { ALuInput } from '@lucca-front/ng/input';
|
|
6
|
-
import { LuCalendarItemFactory } from './calendar-item.factory';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./calendar-item.factory";
|
|
9
|
-
import * as i2 from "@lucca-front/ng/core";
|
|
10
|
-
import * as i3 from "@angular/common";
|
|
11
|
-
export class LuCalendarInputComponent extends ALuInput {
|
|
12
|
-
get mod() {
|
|
13
|
-
switch (this.viewGranularity) {
|
|
14
|
-
case ELuDateGranularity.year:
|
|
15
|
-
return 'mod-yearlyView';
|
|
16
|
-
case ELuDateGranularity.month:
|
|
17
|
-
return 'mod-monthlyView';
|
|
18
|
-
case ELuDateGranularity.day:
|
|
19
|
-
default:
|
|
20
|
-
return 'mod-dailyView';
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
constructor(_changeDetectorRef, _elementRef, _renderer, _locale, _factory, _adapter) {
|
|
24
|
-
super(_changeDetectorRef, _elementRef, _renderer);
|
|
25
|
-
this._locale = _locale;
|
|
26
|
-
this._factory = _factory;
|
|
27
|
-
this._adapter = _adapter;
|
|
28
|
-
this.granularity = ELuDateGranularity.day;
|
|
29
|
-
this.startOn = this._adapter.forgeToday();
|
|
30
|
-
this.items = [];
|
|
31
|
-
// daily view
|
|
32
|
-
this.labels = [];
|
|
33
|
-
}
|
|
34
|
-
ngOnInit() {
|
|
35
|
-
this.viewGranularity = this.granularity;
|
|
36
|
-
this.initDayLabels();
|
|
37
|
-
}
|
|
38
|
-
writeValue(value) {
|
|
39
|
-
const date = value && this._adapter.isValid(value) ? this._adapter.clone(value) : this.startOn;
|
|
40
|
-
this.header = this._factory.forgeMonth(date);
|
|
41
|
-
super.writeValue(value);
|
|
42
|
-
}
|
|
43
|
-
initDayLabels() {
|
|
44
|
-
this.labels = [...getLocaleDayNames(this._locale, FormStyle.Standalone, TranslationWidth.Abbreviated)];
|
|
45
|
-
if (getLocaleFirstDayOfWeek(this._locale) === 1) {
|
|
46
|
-
this.labels.push(this.labels.shift());
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
render() {
|
|
50
|
-
switch (this.viewGranularity) {
|
|
51
|
-
case ELuDateGranularity.year:
|
|
52
|
-
this.renderYearlyView();
|
|
53
|
-
break;
|
|
54
|
-
case ELuDateGranularity.month:
|
|
55
|
-
this.renderMonthlyView();
|
|
56
|
-
break;
|
|
57
|
-
case ELuDateGranularity.day:
|
|
58
|
-
default:
|
|
59
|
-
this.renderDailyView();
|
|
60
|
-
break;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
renderDailyView(month = this.header.date) {
|
|
64
|
-
this.items = [];
|
|
65
|
-
const start = this._adapter.forge(this._adapter.getYear(month), this._adapter.getMonth(month), 1);
|
|
66
|
-
let index = 0;
|
|
67
|
-
const isFirstDayOfWeek = this._adapter.getDay(start) === getLocaleFirstDayOfWeek(this._locale);
|
|
68
|
-
this.header = this._factory.forgeMonth(month, 'MMMM y');
|
|
69
|
-
if (!isFirstDayOfWeek) {
|
|
70
|
-
const offset = (this._adapter.getDay(start) - getLocaleFirstDayOfWeek(this._locale) + 7) % 7;
|
|
71
|
-
index = -1 * offset;
|
|
72
|
-
}
|
|
73
|
-
// TODO
|
|
74
|
-
let isFDOW = false;
|
|
75
|
-
let isNextMonth = false;
|
|
76
|
-
do {
|
|
77
|
-
const d = this._adapter.add(start, index++, ELuDateGranularity.day);
|
|
78
|
-
const day = this._factory.forgeDay(d);
|
|
79
|
-
isNextMonth = this._adapter.compare(d, month, ELuDateGranularity.month) > 0;
|
|
80
|
-
isFDOW = this._adapter.getDay(d) === getLocaleFirstDayOfWeek(this._locale);
|
|
81
|
-
this.items.push(day);
|
|
82
|
-
} while (!isFDOW || !isNextMonth);
|
|
83
|
-
this.applyDailyMods();
|
|
84
|
-
}
|
|
85
|
-
renderMonthlyView(year = this.header.date) {
|
|
86
|
-
this.header = this._factory.forgeYear(year);
|
|
87
|
-
this.items = [...Array(12).keys()].map((i) => {
|
|
88
|
-
const d = this._adapter.forge(this._adapter.getYear(year), i + 1, 1);
|
|
89
|
-
return this._factory.forgeMonth(d);
|
|
90
|
-
});
|
|
91
|
-
this.applyMonthlyMods();
|
|
92
|
-
}
|
|
93
|
-
renderYearlyView(decade = this.header.date) {
|
|
94
|
-
const year = Math.floor(this._adapter.getYear(decade) / 10) * 10;
|
|
95
|
-
const d = this._adapter.forge(year, 1, 1);
|
|
96
|
-
this.header = this._factory.forgeDecade(d);
|
|
97
|
-
this.items = [...Array(10).keys()].map((i) => {
|
|
98
|
-
const y = this._adapter.forge(year + i, 1, 1);
|
|
99
|
-
return this._factory.forgeYear(y);
|
|
100
|
-
});
|
|
101
|
-
this.applyYearlyMods();
|
|
102
|
-
}
|
|
103
|
-
applyDailyMods() {
|
|
104
|
-
const month = this.header.date;
|
|
105
|
-
const today = this._adapter.forgeToday();
|
|
106
|
-
const min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;
|
|
107
|
-
const max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;
|
|
108
|
-
this.items.forEach((item) => {
|
|
109
|
-
const day = item.date;
|
|
110
|
-
if (this._adapter.compare(day, month, ELuDateGranularity.month) < 0) {
|
|
111
|
-
item.mods.push('is-previousMonth');
|
|
112
|
-
}
|
|
113
|
-
if (this._adapter.compare(day, month, ELuDateGranularity.month) > 0) {
|
|
114
|
-
item.mods.push('is-nextMonth');
|
|
115
|
-
}
|
|
116
|
-
if (this._adapter.compare(day, today, ELuDateGranularity.day) === 0) {
|
|
117
|
-
item.mods.push('is-today');
|
|
118
|
-
}
|
|
119
|
-
if (this.value && this._adapter.isValid(this.value) && this._adapter.compare(day, this.value, ELuDateGranularity.day) === 0) {
|
|
120
|
-
item.mods.push('is-active');
|
|
121
|
-
}
|
|
122
|
-
if (min && this._adapter.compare(day, min, ELuDateGranularity.day) < 0) {
|
|
123
|
-
item.isDisabled = true;
|
|
124
|
-
}
|
|
125
|
-
if (max && this._adapter.compare(day, max, ELuDateGranularity.day) > 0) {
|
|
126
|
-
item.isDisabled = true;
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
applyMonthlyMods() {
|
|
131
|
-
const today = this._adapter.forgeToday();
|
|
132
|
-
const min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;
|
|
133
|
-
const max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;
|
|
134
|
-
this.items.forEach((item) => {
|
|
135
|
-
const month = item.date;
|
|
136
|
-
if (this._adapter.compare(month, today, ELuDateGranularity.month) === 0) {
|
|
137
|
-
item.mods.push('is-today');
|
|
138
|
-
}
|
|
139
|
-
if (this.value && this._adapter.isValid(this.value) && this._adapter.compare(month, this.value, ELuDateGranularity.month) === 0) {
|
|
140
|
-
item.mods.push('is-active');
|
|
141
|
-
}
|
|
142
|
-
if (min && this._adapter.compare(month, min, ELuDateGranularity.month) < 0) {
|
|
143
|
-
item.isDisabled = true;
|
|
144
|
-
}
|
|
145
|
-
if (max && this._adapter.compare(month, max, ELuDateGranularity.month) > 0) {
|
|
146
|
-
item.isDisabled = true;
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
applyYearlyMods() {
|
|
151
|
-
const today = this._adapter.forgeToday();
|
|
152
|
-
const min = this.min && this._adapter.isValid(this.min) ? this.min : undefined;
|
|
153
|
-
const max = this.max && this._adapter.isValid(this.max) ? this.max : undefined;
|
|
154
|
-
this.items.forEach((item) => {
|
|
155
|
-
const year = item.date;
|
|
156
|
-
if (this._adapter.compare(year, today, ELuDateGranularity.year) === 0) {
|
|
157
|
-
item.mods.push('is-today');
|
|
158
|
-
}
|
|
159
|
-
if (this.value && this._adapter.isValid(this.value) && this._adapter.compare(year, this.value, ELuDateGranularity.year) === 0) {
|
|
160
|
-
item.mods.push('is-active');
|
|
161
|
-
}
|
|
162
|
-
if (min && this._adapter.compare(year, min, ELuDateGranularity.year) < 0) {
|
|
163
|
-
item.isDisabled = true;
|
|
164
|
-
}
|
|
165
|
-
if (max && this._adapter.compare(year, max, ELuDateGranularity.year) > 0) {
|
|
166
|
-
item.isDisabled = true;
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
select(item) {
|
|
171
|
-
switch (this.viewGranularity) {
|
|
172
|
-
case ELuDateGranularity.year:
|
|
173
|
-
this.selectYear(item);
|
|
174
|
-
break;
|
|
175
|
-
case ELuDateGranularity.month:
|
|
176
|
-
this.selectMonth(item);
|
|
177
|
-
break;
|
|
178
|
-
case ELuDateGranularity.day:
|
|
179
|
-
default:
|
|
180
|
-
this.selectDay(item);
|
|
181
|
-
break;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
selectDay(item) {
|
|
185
|
-
const year = this._adapter.getYear(item.date);
|
|
186
|
-
const month = this._adapter.getMonth(item.date);
|
|
187
|
-
const d = this._adapter.forge(year, month, 1);
|
|
188
|
-
this.header = this._factory.forgeMonth(d);
|
|
189
|
-
this.setValue(item.date);
|
|
190
|
-
}
|
|
191
|
-
selectMonth(item) {
|
|
192
|
-
if (this.granularity === ELuDateGranularity.month) {
|
|
193
|
-
this.setValue(item.date);
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
this.header = item;
|
|
197
|
-
this.viewGranularity = ELuDateGranularity.day;
|
|
198
|
-
this.render();
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
selectYear(item) {
|
|
202
|
-
if (this.granularity === ELuDateGranularity.year) {
|
|
203
|
-
this.setValue(item.date);
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
this.header = item;
|
|
207
|
-
this.viewGranularity = ELuDateGranularity.month;
|
|
208
|
-
this.render();
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
previous() {
|
|
212
|
-
switch (this.viewGranularity) {
|
|
213
|
-
case ELuDateGranularity.year:
|
|
214
|
-
this.previousDecade();
|
|
215
|
-
break;
|
|
216
|
-
case ELuDateGranularity.month:
|
|
217
|
-
this.previousYear();
|
|
218
|
-
break;
|
|
219
|
-
case ELuDateGranularity.day:
|
|
220
|
-
default:
|
|
221
|
-
this.previousMonth();
|
|
222
|
-
break;
|
|
223
|
-
}
|
|
224
|
-
this.render();
|
|
225
|
-
}
|
|
226
|
-
next() {
|
|
227
|
-
switch (this.viewGranularity) {
|
|
228
|
-
case ELuDateGranularity.year:
|
|
229
|
-
this.nextDecade();
|
|
230
|
-
break;
|
|
231
|
-
case ELuDateGranularity.month:
|
|
232
|
-
this.nextYear();
|
|
233
|
-
break;
|
|
234
|
-
case ELuDateGranularity.day:
|
|
235
|
-
default:
|
|
236
|
-
this.nextMonth();
|
|
237
|
-
break;
|
|
238
|
-
}
|
|
239
|
-
this.render();
|
|
240
|
-
}
|
|
241
|
-
trackBy(_idx, item) {
|
|
242
|
-
return item.id;
|
|
243
|
-
}
|
|
244
|
-
increaseGranularity() {
|
|
245
|
-
if (this.header.granularity !== ELuDateGranularity.decade) {
|
|
246
|
-
this.viewGranularity = this.header.granularity;
|
|
247
|
-
this.render();
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
nextMonth() {
|
|
251
|
-
const d = this._adapter.add(this.header.date, 1, ELuDateGranularity.month);
|
|
252
|
-
this.header = this._factory.forgeMonth(d);
|
|
253
|
-
}
|
|
254
|
-
nextYear() {
|
|
255
|
-
const d = this._adapter.add(this.header.date, 1, ELuDateGranularity.year);
|
|
256
|
-
this.header = this._factory.forgeYear(d);
|
|
257
|
-
}
|
|
258
|
-
nextDecade() {
|
|
259
|
-
const d = this._adapter.add(this.header.date, 1, ELuDateGranularity.decade);
|
|
260
|
-
this.header = this._factory.forgeDecade(d);
|
|
261
|
-
}
|
|
262
|
-
previousMonth() {
|
|
263
|
-
const d = this._adapter.add(this.header.date, -1, ELuDateGranularity.month);
|
|
264
|
-
this.header = this._factory.forgeMonth(d);
|
|
265
|
-
}
|
|
266
|
-
previousYear() {
|
|
267
|
-
const d = this._adapter.add(this.header.date, -1, ELuDateGranularity.year);
|
|
268
|
-
this.header = this._factory.forgeYear(d);
|
|
269
|
-
}
|
|
270
|
-
previousDecade() {
|
|
271
|
-
const d = this._adapter.add(this.header.date, -1, ELuDateGranularity.decade);
|
|
272
|
-
this.header = this._factory.forgeDecade(d);
|
|
273
|
-
}
|
|
274
|
-
validate(control) {
|
|
275
|
-
const d = control.value;
|
|
276
|
-
if (!d) {
|
|
277
|
-
return null;
|
|
278
|
-
}
|
|
279
|
-
if (!this._adapter.isValid(d)) {
|
|
280
|
-
return { date: true };
|
|
281
|
-
}
|
|
282
|
-
if (!!this.min && this._adapter.isValid(this.min) && this._adapter.compare(this.min, d, ELuDateGranularity.day) > 0) {
|
|
283
|
-
return { min: true };
|
|
284
|
-
}
|
|
285
|
-
if (!!this.max && this._adapter.isValid(this.max) && this._adapter.compare(this.max, d, ELuDateGranularity.day) < 0) {
|
|
286
|
-
return { max: true };
|
|
287
|
-
}
|
|
288
|
-
return null;
|
|
289
|
-
}
|
|
290
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuCalendarInputComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: LOCALE_ID }, { token: i1.LuCalendarItemFactory }, { token: i2.ALuDateAdapter }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
291
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: LuCalendarInputComponent, isStandalone: true, selector: "lu-calendar", inputs: { min: "min", max: "max", granularity: "granularity", startOn: "startOn" }, providers: [
|
|
292
|
-
{
|
|
293
|
-
provide: NG_VALUE_ACCESSOR,
|
|
294
|
-
useExisting: forwardRef(() => LuCalendarInputComponent),
|
|
295
|
-
multi: true,
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
provide: NG_VALIDATORS,
|
|
299
|
-
useExisting: LuCalendarInputComponent,
|
|
300
|
-
multi: true,
|
|
301
|
-
},
|
|
302
|
-
LuCalendarItemFactory,
|
|
303
|
-
], usesInheritance: true, ngImport: i0, template: "<section class=\"calendar\">\n\t<header class=\"calendar-header\">\n\t\t<button type=\"button\" class=\"button mod-onlyIcon mod-text mod-S\" (click)=\"previous()\">\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowChevronLeft\"></span>\n\t\t\t<span class=\"u-mask\">Previous</span>\n\t\t</button>\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\n\t\t<button type=\"button\" class=\"button mod-onlyIcon mod-text mod-S\" (click)=\"next()\">\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowChevronRight\"></span>\n\t\t\t<span class=\"u-mask\">Next</span>\n\t\t</button>\n\t</header>\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\n\t</section>\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\n\t\t\tclass=\"calendar-grid-item\"\n\t\t\t[ngClass]=\"item.mods\"\n\t\t\t[disabled]=\"item.isDisabled\"\n\t\t\t(click)=\"select(item)\"\n\t\t>\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\n\t\t</button>\n\t</section>\n</section>\n", styles: [":root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-product-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}.calendar{background-color:var(--pr-t-elevation-surface-raised);width:var(--components-calendar-width)}:host-context(.mod-block) .calendar{width:auto;max-width:var(--components-calendar-width)}.calendar-header{display:flex;align-items:center;justify-content:space-between}.calendar-header-date{font-weight:600;color:var(--palettes-neutral-900);font-size:var(--sizes-L-fontSize);line-height:var(--sizes-L-lineHeight);padding:0;background:transparent;border:none;cursor:pointer}.calendar-header-date:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:4px}.calendar-labels{display:none}.calendar-labels.mod-dailyView{display:flex;align-items:center;flex-wrap:wrap;text-align:center;height:var(--components-calendar-day-size);font-size:var(--sizes-S-fontSize);color:var(--palettes-product-700)}.calendar-labels.mod-dailyView .calendar-labels-item{width:var(--components-calendar-day-size)}.calendar-grid{display:flex;text-align:center;align-self:stretch;flex-wrap:wrap;width:var(--components-calendar-width)}.calendar-grid.mod-dailyView .calendar-grid-item{width:var(--components-calendar-day-size)}.calendar-grid.mod-monthlyView .calendar-grid-item-content,.calendar-grid.mod-yearlyView .calendar-grid-item-content{width:5.83rem}.calendar-grid-item{height:var(--components-calendar-day-size);border:none;cursor:pointer;background:transparent;position:relative;padding:0;outline:none;color:var(--palettes-neutral-800)}.calendar-grid-item.is-previousMonth,.calendar-grid-item.is-nextMonth{color:var(--palettes-neutral-500)}.calendar-grid-item.is-today{color:var(--palettes-product-700);font-weight:600}.calendar-grid-item.is-today:after{content:\"\";position:absolute;bottom:var(--pr-t-spacings-50);left:var(--pr-t-spacings-100);right:var(--pr-t-spacings-100);height:2px;background:var(--palettes-product-700);z-index:1}.calendar-grid-item:hover .calendar-grid-item-content{background:var(--palettes-neutral-50)}.calendar-grid-item:active .calendar-grid-item-content{background:var(--palettes-neutral-100)}.calendar-grid-item:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--commons-borderRadius-L);z-index:1}.calendar-grid-item.is-active .calendar-grid-item-content{background:var(--palettes-product-700);color:var(--palettes-product-0)}.calendar-grid-item.is-active.is-today:after{background-color:var(--palettes-neutral-0)!important;transition:background-color var(--commons-animations-durations-fast)}.calendar-grid-item.is-disabled,.calendar-grid-item[disabled]{color:var(--palettes-neutral-500);pointer-events:none}.calendar-grid-item.is-disabled:hover .calendar-grid-item-content,.calendar-grid-item[disabled]:hover .calendar-grid-item-content{background-color:var(--palettes-neutral-0)}.calendar-grid-item-content{position:relative;height:var(--components-calendar-day-size);width:var(--components-calendar-day-size);line-height:var(--components-calendar-day-size);border-radius:var(--commons-borderRadius-L);transition-duration:var(--commons-animations-durations-fast);transition-property:background-color,color}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
304
|
-
}
|
|
305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuCalendarInputComponent, decorators: [{
|
|
306
|
-
type: Component,
|
|
307
|
-
args: [{ selector: 'lu-calendar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [FormsModule, CommonModule], providers: [
|
|
308
|
-
{
|
|
309
|
-
provide: NG_VALUE_ACCESSOR,
|
|
310
|
-
useExisting: forwardRef(() => LuCalendarInputComponent),
|
|
311
|
-
multi: true,
|
|
312
|
-
},
|
|
313
|
-
{
|
|
314
|
-
provide: NG_VALIDATORS,
|
|
315
|
-
useExisting: LuCalendarInputComponent,
|
|
316
|
-
multi: true,
|
|
317
|
-
},
|
|
318
|
-
LuCalendarItemFactory,
|
|
319
|
-
], template: "<section class=\"calendar\">\n\t<header class=\"calendar-header\">\n\t\t<button type=\"button\" class=\"button mod-onlyIcon mod-text mod-S\" (click)=\"previous()\">\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowChevronLeft\"></span>\n\t\t\t<span class=\"u-mask\">Previous</span>\n\t\t</button>\n\t\t<button type=\"button\" class=\"calendar-header-date\" (click)=\"increaseGranularity()\">{{ header.label }}</button>\n\t\t<button type=\"button\" class=\"button mod-onlyIcon mod-text mod-S\" (click)=\"next()\">\n\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowChevronRight\"></span>\n\t\t\t<span class=\"u-mask\">Next</span>\n\t\t</button>\n\t</header>\n\t<section class=\"calendar-labels\" [ngClass]=\"mod\">\n\t\t<div class=\"calendar-labels-item\" *ngFor=\"let label of labels\">{{ label }}</div>\n\t</section>\n\t<section class=\"calendar-grid\" [ngClass]=\"mod\">\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\t*ngFor=\"let item of items; trackBy: trackBy\"\n\t\t\tclass=\"calendar-grid-item\"\n\t\t\t[ngClass]=\"item.mods\"\n\t\t\t[disabled]=\"item.isDisabled\"\n\t\t\t(click)=\"select(item)\"\n\t\t>\n\t\t\t<div class=\"calendar-grid-item-content\">{{ item.label }}</div>\n\t\t</button>\n\t</section>\n</section>\n", styles: [":root{--components-options-item-padding-vertical: var(--pr-t-spacings-50);--components-options-item-padding-horizontal: var(--pr-t-spacings-100);--components-options-item-multiple-padding: 2.25rem;--components-options-item-icon-color: var(--palettes-neutral-800);--components-options-checkbox-size: 1.25rem;--components-options-checkbox-color: var(--palettes-product-700);--components-options-checkbox-border-radius: 6px;--components-options-checkbox-border-color: var(--palettes-neutral-700);--components-options-establishment-multiple-padding: 2rem}.calendar{background-color:var(--pr-t-elevation-surface-raised);width:var(--components-calendar-width)}:host-context(.mod-block) .calendar{width:auto;max-width:var(--components-calendar-width)}.calendar-header{display:flex;align-items:center;justify-content:space-between}.calendar-header-date{font-weight:600;color:var(--palettes-neutral-900);font-size:var(--sizes-L-fontSize);line-height:var(--sizes-L-lineHeight);padding:0;background:transparent;border:none;cursor:pointer}.calendar-header-date:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:4px}.calendar-labels{display:none}.calendar-labels.mod-dailyView{display:flex;align-items:center;flex-wrap:wrap;text-align:center;height:var(--components-calendar-day-size);font-size:var(--sizes-S-fontSize);color:var(--palettes-product-700)}.calendar-labels.mod-dailyView .calendar-labels-item{width:var(--components-calendar-day-size)}.calendar-grid{display:flex;text-align:center;align-self:stretch;flex-wrap:wrap;width:var(--components-calendar-width)}.calendar-grid.mod-dailyView .calendar-grid-item{width:var(--components-calendar-day-size)}.calendar-grid.mod-monthlyView .calendar-grid-item-content,.calendar-grid.mod-yearlyView .calendar-grid-item-content{width:5.83rem}.calendar-grid-item{height:var(--components-calendar-day-size);border:none;cursor:pointer;background:transparent;position:relative;padding:0;outline:none;color:var(--palettes-neutral-800)}.calendar-grid-item.is-previousMonth,.calendar-grid-item.is-nextMonth{color:var(--palettes-neutral-500)}.calendar-grid-item.is-today{color:var(--palettes-product-700);font-weight:600}.calendar-grid-item.is-today:after{content:\"\";position:absolute;bottom:var(--pr-t-spacings-50);left:var(--pr-t-spacings-100);right:var(--pr-t-spacings-100);height:2px;background:var(--palettes-product-700);z-index:1}.calendar-grid-item:hover .calendar-grid-item-content{background:var(--palettes-neutral-50)}.calendar-grid-item:active .calendar-grid-item-content{background:var(--palettes-neutral-100)}.calendar-grid-item:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--commons-borderRadius-L);z-index:1}.calendar-grid-item.is-active .calendar-grid-item-content{background:var(--palettes-product-700);color:var(--palettes-product-0)}.calendar-grid-item.is-active.is-today:after{background-color:var(--palettes-neutral-0)!important;transition:background-color var(--commons-animations-durations-fast)}.calendar-grid-item.is-disabled,.calendar-grid-item[disabled]{color:var(--palettes-neutral-500);pointer-events:none}.calendar-grid-item.is-disabled:hover .calendar-grid-item-content,.calendar-grid-item[disabled]:hover .calendar-grid-item-content{background-color:var(--palettes-neutral-0)}.calendar-grid-item-content{position:relative;height:var(--components-calendar-day-size);width:var(--components-calendar-day-size);line-height:var(--components-calendar-day-size);border-radius:var(--commons-borderRadius-L);transition-duration:var(--commons-animations-durations-fast);transition-property:background-color,color}\n"] }]
|
|
320
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
321
|
-
type: Inject,
|
|
322
|
-
args: [LOCALE_ID]
|
|
323
|
-
}] }, { type: i1.LuCalendarItemFactory }, { type: i2.ALuDateAdapter }], propDecorators: { min: [{
|
|
324
|
-
type: Input
|
|
325
|
-
}], max: [{
|
|
326
|
-
type: Input
|
|
327
|
-
}], granularity: [{
|
|
328
|
-
type: Input
|
|
329
|
-
}], startOn: [{
|
|
330
|
-
type: Input
|
|
331
|
-
}] } });
|
|
332
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGF0ZS9jYWxlbmRhci9jYWxlbmRhci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9kYXRlL2NhbGVuZGFyL2NhbGVuZGFyLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEgsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMzSixPQUFPLEVBQXlDLFdBQVcsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkosT0FBTyxFQUFrQixrQkFBa0IsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBd0JoRSxNQUFNLE9BQU8sd0JBQTRCLFNBQVEsUUFBVztJQVMzRCxJQUFJLEdBQUc7UUFDTixRQUFRLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM5QixLQUFLLGtCQUFrQixDQUFDLElBQUk7Z0JBQzNCLE9BQU8sZ0JBQWdCLENBQUM7WUFDekIsS0FBSyxrQkFBa0IsQ0FBQyxLQUFLO2dCQUM1QixPQUFPLGlCQUFpQixDQUFDO1lBQzFCLEtBQUssa0JBQWtCLENBQUMsR0FBRyxDQUFDO1lBQzVCO2dCQUNDLE9BQU8sZUFBZSxDQUFDO1FBQ3pCLENBQUM7SUFDRixDQUFDO0lBSUQsWUFDQyxrQkFBcUMsRUFDckMsV0FBb0MsRUFDcEMsU0FBb0IsRUFDTyxPQUFlLEVBQ2xDLFFBQWtDLEVBQ2xDLFFBQTJCO1FBRW5DLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFKdkIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQTFCM0IsZ0JBQVcsR0FBc0Isa0JBQWtCLENBQUMsR0FBRyxDQUFDO1FBQ3hELFlBQU8sR0FBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBSWpELFVBQUssR0FBdUIsRUFBRSxDQUFDO1FBYS9CLGFBQWE7UUFDYixXQUFNLEdBQWEsRUFBRSxDQUFDO0lBVXRCLENBQUM7SUFDRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ1EsVUFBVSxDQUFDLEtBQVM7UUFDNUIsTUFBTSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMvRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELGFBQWE7UUFDWixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUN2RyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNGLENBQUM7SUFDUyxNQUFNO1FBQ2YsUUFBUSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDOUIsS0FBSyxrQkFBa0IsQ0FBQyxJQUFJO2dCQUMzQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEIsTUFBTTtZQUNQLEtBQUssa0JBQWtCLENBQUMsS0FBSztnQkFDNUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3pCLE1BQU07WUFDUCxLQUFLLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztZQUM1QjtnQkFDQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU07UUFDUixDQUFDO0lBQ0YsQ0FBQztJQUVTLGVBQWUsQ0FBQyxRQUFXLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtRQUNwRCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN2QixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0YsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNyQixDQUFDO1FBQ0QsT0FBTztRQUNQLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDeEIsR0FBRyxDQUFDO1lBQ0gsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1RSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssdUJBQXVCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNsQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVTLGlCQUFpQixDQUFDLE9BQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1FBQ3JELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNyRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVTLGdCQUFnQixDQUFDLFNBQVksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1FBQ3RELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM1QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFUyxjQUFjO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDekMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMvRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQy9FLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDaEMsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUIsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzdILElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzdCLENBQUM7WUFDRCxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN4RSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN4QixDQUFDO1lBQ0QsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDeEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDeEIsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVTLGdCQUFnQjtRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMvRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1QixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0IsQ0FBQztZQUNELElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzVFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUM7WUFDRCxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM1RSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN4QixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRVMsZUFBZTtRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMvRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1QixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDL0gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0IsQ0FBQztZQUNELElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUM7WUFDRCxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMxRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN4QixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQXNCO1FBQzVCLFFBQVEsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzlCLEtBQUssa0JBQWtCLENBQUMsSUFBSTtnQkFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEIsTUFBTTtZQUNQLEtBQUssa0JBQWtCLENBQUMsS0FBSztnQkFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdkIsTUFBTTtZQUNQLEtBQUssa0JBQWtCLENBQUMsR0FBRyxDQUFDO1lBQzVCO2dCQUNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3JCLE1BQU07UUFDUixDQUFDO0lBQ0YsQ0FBQztJQUVTLFNBQVMsQ0FBQyxJQUFzQjtRQUN6QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRVMsV0FBVyxDQUFDLElBQXNCO1FBQzNDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDO1lBQzlDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLENBQUM7SUFDRixDQUFDO0lBRVMsVUFBVSxDQUFDLElBQXNCO1FBQzFDLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1lBQ2hELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLENBQUM7SUFDRixDQUFDO0lBRUQsUUFBUTtRQUNQLFFBQVEsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzlCLEtBQUssa0JBQWtCLENBQUMsSUFBSTtnQkFDM0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QixNQUFNO1lBQ1AsS0FBSyxrQkFBa0IsQ0FBQyxLQUFLO2dCQUM1QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BCLE1BQU07WUFDUCxLQUFLLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztZQUM1QjtnQkFDQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLE1BQU07UUFDUixDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUk7UUFDSCxRQUFRLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM5QixLQUFLLGtCQUFrQixDQUFDLElBQUk7Z0JBQzNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsTUFBTTtZQUNQLEtBQUssa0JBQWtCLENBQUMsS0FBSztnQkFDNUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQixNQUFNO1lBQ1AsS0FBSyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7WUFDNUI7Z0JBQ0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixNQUFNO1FBQ1IsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBSSxFQUFFLElBQXNCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsbUJBQW1CO1FBQ2xCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEtBQUssa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUMvQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZixDQUFDO0lBQ0YsQ0FBQztJQUVTLFNBQVM7UUFDbEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVTLFFBQVE7UUFDakIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVTLFVBQVU7UUFDbkIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVTLGFBQWE7UUFDdEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRVMsWUFBWTtRQUNyQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFUyxjQUFjO1FBQ3ZCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUF3QjtRQUNoQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNSLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JILE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdEIsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JILE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDdEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQzs4R0FuVFcsd0JBQXdCLHNHQTJCM0IsU0FBUztrR0EzQk4sd0JBQXdCLDhJQWR6QjtZQUNWO2dCQUNDLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3ZELEtBQUssRUFBRSxJQUFJO2FBQ1g7WUFDRDtnQkFDQyxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsV0FBVyxFQUFFLHdCQUF3QjtnQkFDckMsS0FBSyxFQUFFLElBQUk7YUFDWDtZQUNELHFCQUFxQjtTQUNyQixpREMzQkYsaXVDQTRCQSxzb0hEZFcsV0FBVyw4QkFBRSxZQUFZOzsyRkFldkIsd0JBQXdCO2tCQXJCcEMsU0FBUzsrQkFDQyxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxhQUN6Qjt3QkFDVjs0QkFDQyxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ1g7d0JBQ0Q7NEJBQ0MsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsMEJBQTBCOzRCQUNyQyxLQUFLLEVBQUUsSUFBSTt5QkFDWDt3QkFDRCxxQkFBcUI7cUJBQ3JCOzswQkE2QkMsTUFBTTsyQkFBQyxTQUFTOzBHQTFCVCxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBGb3JtU3R5bGUsIGdldExvY2FsZURheU5hbWVzLCBnZXRMb2NhbGVGaXJzdERheU9mV2VlaywgVHJhbnNsYXRpb25XaWR0aCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgTE9DQUxFX0lELCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBTHVEYXRlQWRhcHRlciwgRUx1RGF0ZUdyYW51bGFyaXR5LCBMdURhdGVHcmFudWxhcml0eSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcbmltcG9ydCB7IEFMdUlucHV0IH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2lucHV0JztcbmltcG9ydCB7IEx1Q2FsZW5kYXJJdGVtRmFjdG9yeSB9IGZyb20gJy4vY2FsZW5kYXItaXRlbS5mYWN0b3J5JztcbmltcG9ydCB7IElDYWxlbmRhckl0ZW0gfSBmcm9tICcuL2NhbGVuZGFyLWl0ZW0uaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbHUtY2FsZW5kYXInLFxuXHR0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW0Zvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuXHRwcm92aWRlcnM6IFtcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEx1Q2FsZW5kYXJJbnB1dENvbXBvbmVudCksXG5cdFx0XHRtdWx0aTogdHJ1ZSxcblx0XHR9LFxuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG5cdFx0XHR1c2VFeGlzdGluZzogTHVDYWxlbmRhcklucHV0Q29tcG9uZW50LFxuXHRcdFx0bXVsdGk6IHRydWUsXG5cdFx0fSxcblx0XHRMdUNhbGVuZGFySXRlbUZhY3RvcnksXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIEx1Q2FsZW5kYXJJbnB1dENvbXBvbmVudDxEPiBleHRlbmRzIEFMdUlucHV0PEQ+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgVmFsaWRhdG9yIHtcblx0QElucHV0KCkgbWluPzogRDtcblx0QElucHV0KCkgbWF4PzogRDtcblx0QElucHV0KCkgZ3JhbnVsYXJpdHk6IEx1RGF0ZUdyYW51bGFyaXR5ID0gRUx1RGF0ZUdyYW51bGFyaXR5LmRheTtcblx0QElucHV0KCkgc3RhcnRPbjogRCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2VUb2RheSgpO1xuXG5cdHZpZXdHcmFudWxhcml0eTogTHVEYXRlR3JhbnVsYXJpdHk7XG5cdGhlYWRlcjogSUNhbGVuZGFySXRlbTxEPjtcblx0aXRlbXM6IElDYWxlbmRhckl0ZW08RD5bXSA9IFtdO1xuXHRnZXQgbW9kKCkge1xuXHRcdHN3aXRjaCAodGhpcy52aWV3R3JhbnVsYXJpdHkpIHtcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI6XG5cdFx0XHRcdHJldHVybiAnbW9kLXllYXJseVZpZXcnO1xuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGg6XG5cdFx0XHRcdHJldHVybiAnbW9kLW1vbnRobHlWaWV3Jztcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LmRheTpcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHJldHVybiAnbW9kLWRhaWx5Vmlldyc7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZGFpbHkgdmlld1xuXHRsYWJlbHM6IHN0cmluZ1tdID0gW107XG5cdGNvbnN0cnVjdG9yKFxuXHRcdF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG5cdFx0X2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuXHRcdF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuXHRcdEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIF9sb2NhbGU6IHN0cmluZyxcblx0XHRwcml2YXRlIF9mYWN0b3J5OiBMdUNhbGVuZGFySXRlbUZhY3Rvcnk8RD4sXG5cdFx0cHJpdmF0ZSBfYWRhcHRlcjogQUx1RGF0ZUFkYXB0ZXI8RD4sXG5cdCkge1xuXHRcdHN1cGVyKF9jaGFuZ2VEZXRlY3RvclJlZiwgX2VsZW1lbnRSZWYsIF9yZW5kZXJlcik7XG5cdH1cblx0bmdPbkluaXQoKSB7XG5cdFx0dGhpcy52aWV3R3JhbnVsYXJpdHkgPSB0aGlzLmdyYW51bGFyaXR5O1xuXHRcdHRoaXMuaW5pdERheUxhYmVscygpO1xuXHR9XG5cdG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU/OiBEKSB7XG5cdFx0Y29uc3QgZGF0ZSA9IHZhbHVlICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh2YWx1ZSkgPyB0aGlzLl9hZGFwdGVyLmNsb25lKHZhbHVlKSA6IHRoaXMuc3RhcnRPbjtcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VNb250aChkYXRlKTtcblx0XHRzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcblx0fVxuXHRpbml0RGF5TGFiZWxzKCkge1xuXHRcdHRoaXMubGFiZWxzID0gWy4uLmdldExvY2FsZURheU5hbWVzKHRoaXMuX2xvY2FsZSwgRm9ybVN0eWxlLlN0YW5kYWxvbmUsIFRyYW5zbGF0aW9uV2lkdGguQWJicmV2aWF0ZWQpXTtcblx0XHRpZiAoZ2V0TG9jYWxlRmlyc3REYXlPZldlZWsodGhpcy5fbG9jYWxlKSA9PT0gMSkge1xuXHRcdFx0dGhpcy5sYWJlbHMucHVzaCh0aGlzLmxhYmVscy5zaGlmdCgpKTtcblx0XHR9XG5cdH1cblx0cHJvdGVjdGVkIHJlbmRlcigpIHtcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS55ZWFyOlxuXHRcdFx0XHR0aGlzLnJlbmRlclllYXJseVZpZXcoKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5tb250aDpcblx0XHRcdFx0dGhpcy5yZW5kZXJNb250aGx5VmlldygpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LmRheTpcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHRoaXMucmVuZGVyRGFpbHlWaWV3KCk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCByZW5kZXJEYWlseVZpZXcobW9udGg6IEQgPSB0aGlzLmhlYWRlci5kYXRlKSB7XG5cdFx0dGhpcy5pdGVtcyA9IFtdO1xuXHRcdGNvbnN0IHN0YXJ0ID0gdGhpcy5fYWRhcHRlci5mb3JnZSh0aGlzLl9hZGFwdGVyLmdldFllYXIobW9udGgpLCB0aGlzLl9hZGFwdGVyLmdldE1vbnRoKG1vbnRoKSwgMSk7XG5cdFx0bGV0IGluZGV4ID0gMDtcblx0XHRjb25zdCBpc0ZpcnN0RGF5T2ZXZWVrID0gdGhpcy5fYWRhcHRlci5nZXREYXkoc3RhcnQpID09PSBnZXRMb2NhbGVGaXJzdERheU9mV2Vlayh0aGlzLl9sb2NhbGUpO1xuXHRcdHRoaXMuaGVhZGVyID0gdGhpcy5fZmFjdG9yeS5mb3JnZU1vbnRoKG1vbnRoLCAnTU1NTSB5Jyk7XG5cdFx0aWYgKCFpc0ZpcnN0RGF5T2ZXZWVrKSB7XG5cdFx0XHRjb25zdCBvZmZzZXQgPSAodGhpcy5fYWRhcHRlci5nZXREYXkoc3RhcnQpIC0gZ2V0TG9jYWxlRmlyc3REYXlPZldlZWsodGhpcy5fbG9jYWxlKSArIDcpICUgNztcblx0XHRcdGluZGV4ID0gLTEgKiBvZmZzZXQ7XG5cdFx0fVxuXHRcdC8vIFRPRE9cblx0XHRsZXQgaXNGRE9XID0gZmFsc2U7XG5cdFx0bGV0IGlzTmV4dE1vbnRoID0gZmFsc2U7XG5cdFx0ZG8ge1xuXHRcdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuYWRkKHN0YXJ0LCBpbmRleCsrLCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KTtcblx0XHRcdGNvbnN0IGRheSA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VEYXkoZCk7XG5cdFx0XHRpc05leHRNb250aCA9IHRoaXMuX2FkYXB0ZXIuY29tcGFyZShkLCBtb250aCwgRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoKSA+IDA7XG5cdFx0XHRpc0ZET1cgPSB0aGlzLl9hZGFwdGVyLmdldERheShkKSA9PT0gZ2V0TG9jYWxlRmlyc3REYXlPZldlZWsodGhpcy5fbG9jYWxlKTtcblx0XHRcdHRoaXMuaXRlbXMucHVzaChkYXkpO1xuXHRcdH0gd2hpbGUgKCFpc0ZET1cgfHwgIWlzTmV4dE1vbnRoKTtcblx0XHR0aGlzLmFwcGx5RGFpbHlNb2RzKCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgcmVuZGVyTW9udGhseVZpZXcoeWVhcjogRCA9IHRoaXMuaGVhZGVyLmRhdGUpIHtcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VZZWFyKHllYXIpO1xuXHRcdHRoaXMuaXRlbXMgPSBbLi4uQXJyYXkoMTIpLmtleXMoKV0ubWFwKChpKSA9PiB7XG5cdFx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5mb3JnZSh0aGlzLl9hZGFwdGVyLmdldFllYXIoeWVhciksIGkgKyAxLCAxKTtcblx0XHRcdHJldHVybiB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XG5cdFx0fSk7XG5cdFx0dGhpcy5hcHBseU1vbnRobHlNb2RzKCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgcmVuZGVyWWVhcmx5VmlldyhkZWNhZGU6IEQgPSB0aGlzLmhlYWRlci5kYXRlKSB7XG5cdFx0Y29uc3QgeWVhciA9IE1hdGguZmxvb3IodGhpcy5fYWRhcHRlci5nZXRZZWFyKGRlY2FkZSkgLyAxMCkgKiAxMDtcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5mb3JnZSh5ZWFyLCAxLCAxKTtcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VEZWNhZGUoZCk7XG5cdFx0dGhpcy5pdGVtcyA9IFsuLi5BcnJheSgxMCkua2V5cygpXS5tYXAoKGkpID0+IHtcblx0XHRcdGNvbnN0IHkgPSB0aGlzLl9hZGFwdGVyLmZvcmdlKHllYXIgKyBpLCAxLCAxKTtcblx0XHRcdHJldHVybiB0aGlzLl9mYWN0b3J5LmZvcmdlWWVhcih5KTtcblx0XHR9KTtcblx0XHR0aGlzLmFwcGx5WWVhcmx5TW9kcygpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFwcGx5RGFpbHlNb2RzKCkge1xuXHRcdGNvbnN0IG1vbnRoID0gdGhpcy5oZWFkZXIuZGF0ZTtcblx0XHRjb25zdCB0b2RheSA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2VUb2RheSgpO1xuXHRcdGNvbnN0IG1pbiA9IHRoaXMubWluICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1pbikgPyB0aGlzLm1pbiA6IHVuZGVmaW5lZDtcblx0XHRjb25zdCBtYXggPSB0aGlzLm1heCAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpID8gdGhpcy5tYXggOiB1bmRlZmluZWQ7XG5cdFx0dGhpcy5pdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG5cdFx0XHRjb25zdCBkYXkgPSBpdGVtLmRhdGU7XG5cdFx0XHRpZiAodGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgbW9udGgsIEVMdURhdGVHcmFudWxhcml0eS5tb250aCkgPCAwKSB7XG5cdFx0XHRcdGl0ZW0ubW9kcy5wdXNoKCdpcy1wcmV2aW91c01vbnRoJyk7XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgbW9udGgsIEVMdURhdGVHcmFudWxhcml0eS5tb250aCkgPiAwKSB7XG5cdFx0XHRcdGl0ZW0ubW9kcy5wdXNoKCdpcy1uZXh0TW9udGgnKTtcblx0XHRcdH1cblx0XHRcdGlmICh0aGlzLl9hZGFwdGVyLmNvbXBhcmUoZGF5LCB0b2RheSwgRUx1RGF0ZUdyYW51bGFyaXR5LmRheSkgPT09IDApIHtcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLXRvZGF5Jyk7XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy52YWx1ZSAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy52YWx1ZSkgJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKGRheSwgdGhpcy52YWx1ZSwgRUx1RGF0ZUdyYW51bGFyaXR5LmRheSkgPT09IDApIHtcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLWFjdGl2ZScpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG1pbiAmJiB0aGlzLl9hZGFwdGVyLmNvbXBhcmUoZGF5LCBtaW4sIEVMdURhdGVHcmFudWxhcml0eS5kYXkpIDwgMCkge1xuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG1heCAmJiB0aGlzLl9hZGFwdGVyLmNvbXBhcmUoZGF5LCBtYXgsIEVMdURhdGVHcmFudWxhcml0eS5kYXkpID4gMCkge1xuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFwcGx5TW9udGhseU1vZHMoKSB7XG5cdFx0Y29uc3QgdG9kYXkgPSB0aGlzLl9hZGFwdGVyLmZvcmdlVG9kYXkoKTtcblx0XHRjb25zdCBtaW4gPSB0aGlzLm1pbiAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5taW4pID8gdGhpcy5taW4gOiB1bmRlZmluZWQ7XG5cdFx0Y29uc3QgbWF4ID0gdGhpcy5tYXggJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMubWF4KSA/IHRoaXMubWF4IDogdW5kZWZpbmVkO1xuXHRcdHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuXHRcdFx0Y29uc3QgbW9udGggPSBpdGVtLmRhdGU7XG5cdFx0XHRpZiAodGhpcy5fYWRhcHRlci5jb21wYXJlKG1vbnRoLCB0b2RheSwgRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoKSA9PT0gMCkge1xuXHRcdFx0XHRpdGVtLm1vZHMucHVzaCgnaXMtdG9kYXknKTtcblx0XHRcdH1cblx0XHRcdGlmICh0aGlzLnZhbHVlICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLnZhbHVlKSAmJiB0aGlzLl9hZGFwdGVyLmNvbXBhcmUobW9udGgsIHRoaXMudmFsdWUsIEVMdURhdGVHcmFudWxhcml0eS5tb250aCkgPT09IDApIHtcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLWFjdGl2ZScpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG1pbiAmJiB0aGlzLl9hZGFwdGVyLmNvbXBhcmUobW9udGgsIG1pbiwgRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoKSA8IDApIHtcblx0XHRcdFx0aXRlbS5pc0Rpc2FibGVkID0gdHJ1ZTtcblx0XHRcdH1cblx0XHRcdGlmIChtYXggJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKG1vbnRoLCBtYXgsIEVMdURhdGVHcmFudWxhcml0eS5tb250aCkgPiAwKSB7XG5cdFx0XHRcdGl0ZW0uaXNEaXNhYmxlZCA9IHRydWU7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYXBwbHlZZWFybHlNb2RzKCkge1xuXHRcdGNvbnN0IHRvZGF5ID0gdGhpcy5fYWRhcHRlci5mb3JnZVRvZGF5KCk7XG5cdFx0Y29uc3QgbWluID0gdGhpcy5taW4gJiYgdGhpcy5fYWRhcHRlci5pc1ZhbGlkKHRoaXMubWluKSA/IHRoaXMubWluIDogdW5kZWZpbmVkO1xuXHRcdGNvbnN0IG1heCA9IHRoaXMubWF4ICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1heCkgPyB0aGlzLm1heCA6IHVuZGVmaW5lZDtcblx0XHR0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcblx0XHRcdGNvbnN0IHllYXIgPSBpdGVtLmRhdGU7XG5cdFx0XHRpZiAodGhpcy5fYWRhcHRlci5jb21wYXJlKHllYXIsIHRvZGF5LCBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikgPT09IDApIHtcblx0XHRcdFx0aXRlbS5tb2RzLnB1c2goJ2lzLXRvZGF5Jyk7XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy52YWx1ZSAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy52YWx1ZSkgJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKHllYXIsIHRoaXMudmFsdWUsIEVMdURhdGVHcmFudWxhcml0eS55ZWFyKSA9PT0gMCkge1xuXHRcdFx0XHRpdGVtLm1vZHMucHVzaCgnaXMtYWN0aXZlJyk7XG5cdFx0XHR9XG5cdFx0XHRpZiAobWluICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh5ZWFyLCBtaW4sIEVMdURhdGVHcmFudWxhcml0eS55ZWFyKSA8IDApIHtcblx0XHRcdFx0aXRlbS5pc0Rpc2FibGVkID0gdHJ1ZTtcblx0XHRcdH1cblx0XHRcdGlmIChtYXggJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKHllYXIsIG1heCwgRUx1RGF0ZUdyYW51bGFyaXR5LnllYXIpID4gMCkge1xuXHRcdFx0XHRpdGVtLmlzRGlzYWJsZWQgPSB0cnVlO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0c2VsZWN0KGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcblx0XHRzd2l0Y2ggKHRoaXMudmlld0dyYW51bGFyaXR5KSB7XG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS55ZWFyOlxuXHRcdFx0XHR0aGlzLnNlbGVjdFllYXIoaXRlbSk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGg6XG5cdFx0XHRcdHRoaXMuc2VsZWN0TW9udGgoaXRlbSk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5OlxuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0dGhpcy5zZWxlY3REYXkoaXRlbSk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBzZWxlY3REYXkoaXRlbTogSUNhbGVuZGFySXRlbTxEPikge1xuXHRcdGNvbnN0IHllYXIgPSB0aGlzLl9hZGFwdGVyLmdldFllYXIoaXRlbS5kYXRlKTtcblx0XHRjb25zdCBtb250aCA9IHRoaXMuX2FkYXB0ZXIuZ2V0TW9udGgoaXRlbS5kYXRlKTtcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5mb3JnZSh5ZWFyLCBtb250aCwgMSk7XG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XG5cdFx0dGhpcy5zZXRWYWx1ZShpdGVtLmRhdGUpO1xuXHR9XG5cblx0cHJvdGVjdGVkIHNlbGVjdE1vbnRoKGl0ZW06IElDYWxlbmRhckl0ZW08RD4pIHtcblx0XHRpZiAodGhpcy5ncmFudWxhcml0eSA9PT0gRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoKSB7XG5cdFx0XHR0aGlzLnNldFZhbHVlKGl0ZW0uZGF0ZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuaGVhZGVyID0gaXRlbTtcblx0XHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gRUx1RGF0ZUdyYW51bGFyaXR5LmRheTtcblx0XHRcdHRoaXMucmVuZGVyKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIHNlbGVjdFllYXIoaXRlbTogSUNhbGVuZGFySXRlbTxEPikge1xuXHRcdGlmICh0aGlzLmdyYW51bGFyaXR5ID09PSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcikge1xuXHRcdFx0dGhpcy5zZXRWYWx1ZShpdGVtLmRhdGUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmhlYWRlciA9IGl0ZW07XG5cdFx0XHR0aGlzLnZpZXdHcmFudWxhcml0eSA9IEVMdURhdGVHcmFudWxhcml0eS5tb250aDtcblx0XHRcdHRoaXMucmVuZGVyKCk7XG5cdFx0fVxuXHR9XG5cblx0cHJldmlvdXMoKSB7XG5cdFx0c3dpdGNoICh0aGlzLnZpZXdHcmFudWxhcml0eSkge1xuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcjpcblx0XHRcdFx0dGhpcy5wcmV2aW91c0RlY2FkZSgpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoOlxuXHRcdFx0XHR0aGlzLnByZXZpb3VzWWVhcigpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgRUx1RGF0ZUdyYW51bGFyaXR5LmRheTpcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHRoaXMucHJldmlvdXNNb250aCgpO1xuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdFx0dGhpcy5yZW5kZXIoKTtcblx0fVxuXG5cdG5leHQoKSB7XG5cdFx0c3dpdGNoICh0aGlzLnZpZXdHcmFudWxhcml0eSkge1xuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcjpcblx0XHRcdFx0dGhpcy5uZXh0RGVjYWRlKCk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGg6XG5cdFx0XHRcdHRoaXMubmV4dFllYXIoKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIEVMdURhdGVHcmFudWxhcml0eS5kYXk6XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHR0aGlzLm5leHRNb250aCgpO1xuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdFx0dGhpcy5yZW5kZXIoKTtcblx0fVxuXG5cdHRyYWNrQnkoX2lkeCwgaXRlbTogSUNhbGVuZGFySXRlbTxEPikge1xuXHRcdHJldHVybiBpdGVtLmlkO1xuXHR9XG5cblx0aW5jcmVhc2VHcmFudWxhcml0eSgpIHtcblx0XHRpZiAodGhpcy5oZWFkZXIuZ3JhbnVsYXJpdHkgIT09IEVMdURhdGVHcmFudWxhcml0eS5kZWNhZGUpIHtcblx0XHRcdHRoaXMudmlld0dyYW51bGFyaXR5ID0gdGhpcy5oZWFkZXIuZ3JhbnVsYXJpdHk7XG5cdFx0XHR0aGlzLnJlbmRlcigpO1xuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBuZXh0TW9udGgoKSB7XG5cdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuYWRkKHRoaXMuaGVhZGVyLmRhdGUsIDEsIEVMdURhdGVHcmFudWxhcml0eS5tb250aCk7XG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlTW9udGgoZCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgbmV4dFllYXIoKSB7XG5cdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuYWRkKHRoaXMuaGVhZGVyLmRhdGUsIDEsIEVMdURhdGVHcmFudWxhcml0eS55ZWFyKTtcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VZZWFyKGQpO1xuXHR9XG5cblx0cHJvdGVjdGVkIG5leHREZWNhZGUoKSB7XG5cdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuYWRkKHRoaXMuaGVhZGVyLmRhdGUsIDEsIEVMdURhdGVHcmFudWxhcml0eS5kZWNhZGUpO1xuXHRcdHRoaXMuaGVhZGVyID0gdGhpcy5fZmFjdG9yeS5mb3JnZURlY2FkZShkKTtcblx0fVxuXG5cdHByb3RlY3RlZCBwcmV2aW91c01vbnRoKCkge1xuXHRcdGNvbnN0IGQgPSB0aGlzLl9hZGFwdGVyLmFkZCh0aGlzLmhlYWRlci5kYXRlLCAtMSwgRUx1RGF0ZUdyYW51bGFyaXR5Lm1vbnRoKTtcblx0XHR0aGlzLmhlYWRlciA9IHRoaXMuX2ZhY3RvcnkuZm9yZ2VNb250aChkKTtcblx0fVxuXG5cdHByb3RlY3RlZCBwcmV2aW91c1llYXIoKSB7XG5cdFx0Y29uc3QgZCA9IHRoaXMuX2FkYXB0ZXIuYWRkKHRoaXMuaGVhZGVyLmRhdGUsIC0xLCBFTHVEYXRlR3JhbnVsYXJpdHkueWVhcik7XG5cdFx0dGhpcy5oZWFkZXIgPSB0aGlzLl9mYWN0b3J5LmZvcmdlWWVhcihkKTtcblx0fVxuXG5cdHByb3RlY3RlZCBwcmV2aW91c0RlY2FkZSgpIHtcblx0XHRjb25zdCBkID0gdGhpcy5fYWRhcHRlci5hZGQodGhpcy5oZWFkZXIuZGF0ZSwgLTEsIEVMdURhdGVHcmFudWxhcml0eS5kZWNhZGUpO1xuXHRcdHRoaXMuaGVhZGVyID0gdGhpcy5fZmFjdG9yeS5mb3JnZURlY2FkZShkKTtcblx0fVxuXG5cdHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcblx0XHRjb25zdCBkID0gY29udHJvbC52YWx1ZSBhcyBEO1xuXHRcdGlmICghZCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdGlmICghdGhpcy5fYWRhcHRlci5pc1ZhbGlkKGQpKSB7XG5cdFx0XHRyZXR1cm4geyBkYXRlOiB0cnVlIH07XG5cdFx0fVxuXHRcdGlmICghIXRoaXMubWluICYmIHRoaXMuX2FkYXB0ZXIuaXNWYWxpZCh0aGlzLm1pbikgJiYgdGhpcy5fYWRhcHRlci5jb21wYXJlKHRoaXMubWluLCBkLCBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5KSA+IDApIHtcblx0XHRcdHJldHVybiB7IG1pbjogdHJ1ZSB9O1xuXHRcdH1cblx0XHRpZiAoISF0aGlzLm1heCAmJiB0aGlzLl9hZGFwdGVyLmlzVmFsaWQodGhpcy5tYXgpICYmIHRoaXMuX2FkYXB0ZXIuY29tcGFyZSh0aGlzLm1heCwgZCwgRUx1RGF0ZUdyYW51bGFyaXR5LmRheSkgPCAwKSB7XG5cdFx0XHRyZXR1cm4geyBtYXg6IHRydWUgfTtcblx0XHR9XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwiY2FsZW5kYXJcIj5cblx0PGhlYWRlciBjbGFzcz1cImNhbGVuZGFyLWhlYWRlclwiPlxuXHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIG1vZC1vbmx5SWNvbiBtb2QtdGV4dCBtb2QtU1wiIChjbGljayk9XCJwcmV2aW91cygpXCI+XG5cdFx0XHQ8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImx1Y2NhLWljb24gaWNvbi1hcnJvd0NoZXZyb25MZWZ0XCI+PC9zcGFuPlxuXHRcdFx0PHNwYW4gY2xhc3M9XCJ1LW1hc2tcIj5QcmV2aW91czwvc3Bhbj5cblx0XHQ8L2J1dHRvbj5cblx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNhbGVuZGFyLWhlYWRlci1kYXRlXCIgKGNsaWNrKT1cImluY3JlYXNlR3JhbnVsYXJpdHkoKVwiPnt7IGhlYWRlci5sYWJlbCB9fTwvYnV0dG9uPlxuXHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIG1vZC1vbmx5SWNvbiBtb2QtdGV4dCBtb2QtU1wiIChjbGljayk9XCJuZXh0KClcIj5cblx0XHRcdDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwibHVjY2EtaWNvbiBpY29uLWFycm93Q2hldnJvblJpZ2h0XCI+PC9zcGFuPlxuXHRcdFx0PHNwYW4gY2xhc3M9XCJ1LW1hc2tcIj5OZXh0PC9zcGFuPlxuXHRcdDwvYnV0dG9uPlxuXHQ8L2hlYWRlcj5cblx0PHNlY3Rpb24gY2xhc3M9XCJjYWxlbmRhci1sYWJlbHNcIiBbbmdDbGFzc109XCJtb2RcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiY2FsZW5kYXItbGFiZWxzLWl0ZW1cIiAqbmdGb3I9XCJsZXQgbGFiZWwgb2YgbGFiZWxzXCI+e3sgbGFiZWwgfX08L2Rpdj5cblx0PC9zZWN0aW9uPlxuXHQ8c2VjdGlvbiBjbGFzcz1cImNhbGVuZGFyLWdyaWRcIiBbbmdDbGFzc109XCJtb2RcIj5cblx0XHQ8YnV0dG9uXG5cdFx0XHR0eXBlPVwiYnV0dG9uXCJcblx0XHRcdCpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyB0cmFja0J5OiB0cmFja0J5XCJcblx0XHRcdGNsYXNzPVwiY2FsZW5kYXItZ3JpZC1pdGVtXCJcblx0XHRcdFtuZ0NsYXNzXT1cIml0ZW0ubW9kc1wiXG5cdFx0XHRbZGlzYWJsZWRdPVwiaXRlbS5pc0Rpc2FibGVkXCJcblx0XHRcdChjbGljayk9XCJzZWxlY3QoaXRlbSlcIlxuXHRcdD5cblx0XHRcdDxkaXYgY2xhc3M9XCJjYWxlbmRhci1ncmlkLWl0ZW0tY29udGVudFwiPnt7IGl0ZW0ubGFiZWwgfX08L2Rpdj5cblx0XHQ8L2J1dHRvbj5cblx0PC9zZWN0aW9uPlxuPC9zZWN0aW9uPlxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { LuCalendarInputComponent } from './calendar-input.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class LuCalendarInputModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuCalendarInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: LuCalendarInputModule, imports: [LuCalendarInputComponent], exports: [LuCalendarInputComponent] }); }
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuCalendarInputModule, imports: [LuCalendarInputComponent] }); }
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuCalendarInputModule, decorators: [{
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
imports: [LuCalendarInputComponent],
|
|
13
|
-
exports: [LuCalendarInputComponent],
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGF0ZS9jYWxlbmRhci9jYWxlbmRhci1pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFNdEUsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCOytHQUFyQixxQkFBcUIsWUFIdkIsd0JBQXdCLGFBQ3hCLHdCQUF3QjsrR0FFdEIscUJBQXFCLFlBSHZCLHdCQUF3Qjs7MkZBR3RCLHFCQUFxQjtrQkFKakMsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEx1Q2FsZW5kYXJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY2FsZW5kYXItaW5wdXQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogW0x1Q2FsZW5kYXJJbnB1dENvbXBvbmVudF0sXG5cdGV4cG9ydHM6IFtMdUNhbGVuZGFySW5wdXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBMdUNhbGVuZGFySW5wdXRNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { ELuDateGranularity } from '@lucca-front/ng/core';
|
|
2
|
-
export class ACalendarItem {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.mods = [];
|
|
5
|
-
this.isDisabled = false;
|
|
6
|
-
}
|
|
7
|
-
get id() {
|
|
8
|
-
return `${this.granularity}-${this.date.toString()}`;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export class DayItem extends ACalendarItem {
|
|
12
|
-
constructor(date, label) {
|
|
13
|
-
super();
|
|
14
|
-
this.date = date;
|
|
15
|
-
this.label = label;
|
|
16
|
-
this.granularity = ELuDateGranularity.day;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
export class MonthItem extends ACalendarItem {
|
|
20
|
-
constructor(date, label) {
|
|
21
|
-
super();
|
|
22
|
-
this.date = date;
|
|
23
|
-
this.label = label;
|
|
24
|
-
this.granularity = ELuDateGranularity.month;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export class YearItem extends ACalendarItem {
|
|
28
|
-
constructor(date, label) {
|
|
29
|
-
super();
|
|
30
|
-
this.date = date;
|
|
31
|
-
this.label = label;
|
|
32
|
-
this.granularity = ELuDateGranularity.year;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
export class DecadeItem extends ACalendarItem {
|
|
36
|
-
constructor(date, label) {
|
|
37
|
-
super();
|
|
38
|
-
this.date = date;
|
|
39
|
-
this.label = label;
|
|
40
|
-
this.granularity = ELuDateGranularity.decade;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaXRlbS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2RhdGUvY2FsZW5kYXIvY2FsZW5kYXItaXRlbS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFHN0UsTUFBTSxPQUFnQixhQUFhO0lBQW5DO1FBS0MsU0FBSSxHQUFhLEVBQUUsQ0FBQztRQUNwQixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBR3BCLENBQUM7SUFSQSxJQUFJLEVBQUU7UUFDTCxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDdEQsQ0FBQztDQU1EO0FBQ0QsTUFBTSxPQUFPLE9BQVcsU0FBUSxhQUFnQjtJQUUvQyxZQUNpQixJQUFPLEVBQ1AsS0FBYTtRQUU3QixLQUFLLEVBQUUsQ0FBQztRQUhRLFNBQUksR0FBSixJQUFJLENBQUc7UUFDUCxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBSFosZ0JBQVcsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7SUFNdkQsQ0FBQztDQUNEO0FBQ0QsTUFBTSxPQUFPLFNBQWEsU0FBUSxhQUFnQjtJQUVqRCxZQUNpQixJQUFPLEVBQ1AsS0FBYTtRQUU3QixLQUFLLEVBQUUsQ0FBQztRQUhRLFNBQUksR0FBSixJQUFJLENBQUc7UUFDUCxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBSFosZ0JBQVcsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFNekQsQ0FBQztDQUNEO0FBQ0QsTUFBTSxPQUFPLFFBQVksU0FBUSxhQUFnQjtJQUVoRCxZQUNpQixJQUFPLEVBQ1AsS0FBYTtRQUU3QixLQUFLLEVBQUUsQ0FBQztRQUhRLFNBQUksR0FBSixJQUFJLENBQUc7UUFDUCxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBSFosZ0JBQVcsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7SUFNeEQsQ0FBQztDQUNEO0FBQ0QsTUFBTSxPQUFPLFVBQWMsU0FBUSxhQUFnQjtJQUVsRCxZQUNpQixJQUFPLEVBQ1AsS0FBYTtRQUU3QixLQUFLLEVBQUUsQ0FBQztRQUhRLFNBQUksR0FBSixJQUFJLENBQUc7UUFDUCxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBSFosZ0JBQVcsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7SUFNMUQsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRUx1RGF0ZUdyYW51bGFyaXR5LCBMdURhdGVHcmFudWxhcml0eSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcbmltcG9ydCB7IElDYWxlbmRhckl0ZW0gfSBmcm9tICcuL2NhbGVuZGFyLWl0ZW0uaW50ZXJmYWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFDYWxlbmRhckl0ZW08RD4gaW1wbGVtZW50cyBJQ2FsZW5kYXJJdGVtPEQ+IHtcblx0Z2V0IGlkKCkge1xuXHRcdHJldHVybiBgJHt0aGlzLmdyYW51bGFyaXR5fS0ke3RoaXMuZGF0ZS50b1N0cmluZygpfWA7XG5cdH1cblx0ZGF0ZTogRDtcblx0bW9kczogc3RyaW5nW10gPSBbXTtcblx0aXNEaXNhYmxlZCA9IGZhbHNlO1xuXHRsYWJlbDogc3RyaW5nO1xuXHRyZWFkb25seSBncmFudWxhcml0eTogTHVEYXRlR3JhbnVsYXJpdHk7XG59XG5leHBvcnQgY2xhc3MgRGF5SXRlbTxEPiBleHRlbmRzIEFDYWxlbmRhckl0ZW08RD4gaW1wbGVtZW50cyBJQ2FsZW5kYXJJdGVtPEQ+IHtcblx0b3ZlcnJpZGUgcmVhZG9ubHkgZ3JhbnVsYXJpdHkgPSBFTHVEYXRlR3JhbnVsYXJpdHkuZGF5O1xuXHRjb25zdHJ1Y3Rvcihcblx0XHRwdWJsaWMgb3ZlcnJpZGUgZGF0ZTogRCxcblx0XHRwdWJsaWMgb3ZlcnJpZGUgbGFiZWw6IHN0cmluZyxcblx0KSB7XG5cdFx0c3VwZXIoKTtcblx0fVxufVxuZXhwb3J0IGNsYXNzIE1vbnRoSXRlbTxEPiBleHRlbmRzIEFDYWxlbmRhckl0ZW08RD4gaW1wbGVtZW50cyBJQ2FsZW5kYXJJdGVtPEQ+IHtcblx0b3ZlcnJpZGUgcmVhZG9ubHkgZ3JhbnVsYXJpdHkgPSBFTHVEYXRlR3JhbnVsYXJpdHkubW9udGg7XG5cdGNvbnN0cnVjdG9yKFxuXHRcdHB1YmxpYyBvdmVycmlkZSBkYXRlOiBELFxuXHRcdHB1YmxpYyBvdmVycmlkZSBsYWJlbDogc3RyaW5nLFxuXHQpIHtcblx0XHRzdXBlcigpO1xuXHR9XG59XG5leHBvcnQgY2xhc3MgWWVhckl0ZW08RD4gZXh0ZW5kcyBBQ2FsZW5kYXJJdGVtPEQ+IGltcGxlbWVudHMgSUNhbGVuZGFySXRlbTxEPiB7XG5cdG92ZXJyaWRlIHJlYWRvbmx5IGdyYW51bGFyaXR5ID0gRUx1RGF0ZUdyYW51bGFyaXR5LnllYXI7XG5cdGNvbnN0cnVjdG9yKFxuXHRcdHB1YmxpYyBvdmVycmlkZSBkYXRlOiBELFxuXHRcdHB1YmxpYyBvdmVycmlkZSBsYWJlbDogc3RyaW5nLFxuXHQpIHtcblx0XHRzdXBlcigpO1xuXHR9XG59XG5leHBvcnQgY2xhc3MgRGVjYWRlSXRlbTxEPiBleHRlbmRzIEFDYWxlbmRhckl0ZW08RD4gaW1wbGVtZW50cyBJQ2FsZW5kYXJJdGVtPEQ+IHtcblx0b3ZlcnJpZGUgcmVhZG9ubHkgZ3JhbnVsYXJpdHkgPSBFTHVEYXRlR3JhbnVsYXJpdHkuZGVjYWRlO1xuXHRjb25zdHJ1Y3Rvcihcblx0XHRwdWJsaWMgb3ZlcnJpZGUgZGF0ZTogRCxcblx0XHRwdWJsaWMgb3ZlcnJpZGUgbGFiZWw6IHN0cmluZyxcblx0KSB7XG5cdFx0c3VwZXIoKTtcblx0fVxufVxuIl19
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { DayItem, DecadeItem, MonthItem, YearItem } from './calendar-item.class';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@lucca-front/ng/core";
|
|
5
|
-
export class LuCalendarItemFactory {
|
|
6
|
-
constructor(_adapter) {
|
|
7
|
-
this._adapter = _adapter;
|
|
8
|
-
}
|
|
9
|
-
forgeDay(d, format = 'd') {
|
|
10
|
-
const date = this._adapter.clone(d);
|
|
11
|
-
return new DayItem(date, this._adapter.format(date, format));
|
|
12
|
-
}
|
|
13
|
-
forgeMonth(d, format = 'MMM') {
|
|
14
|
-
const year = this._adapter.getYear(d);
|
|
15
|
-
const month = this._adapter.getMonth(d);
|
|
16
|
-
const monthStart = this._adapter.forge(year, month, 1);
|
|
17
|
-
return new MonthItem(monthStart, this._adapter.format(monthStart, format));
|
|
18
|
-
}
|
|
19
|
-
forgeYear(d, format = 'y') {
|
|
20
|
-
const year = this._adapter.getYear(d);
|
|
21
|
-
const yearStart = this._adapter.forge(year, 1, 1);
|
|
22
|
-
return new YearItem(yearStart, this._adapter.format(yearStart, format));
|
|
23
|
-
}
|
|
24
|
-
forgeDecade(d, format = 'y') {
|
|
25
|
-
const year = this._adapter.getYear(d);
|
|
26
|
-
const decadeStart = this._adapter.forge(10 * Math.floor(year / 10), 1, 1);
|
|
27
|
-
const decadeEnd = this._adapter.forge(10 * Math.floor(year / 10) + 9, 1, 1);
|
|
28
|
-
const label = `${this._adapter.format(decadeStart, format)} - ${this._adapter.format(decadeEnd, format)}`;
|
|
29
|
-
return new DecadeItem(decadeStart, label);
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuCalendarItemFactory, deps: [{ token: i1.ALuDateAdapter }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
32
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuCalendarItemFactory }); }
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuCalendarItemFactory, decorators: [{
|
|
35
|
-
type: Injectable
|
|
36
|
-
}], ctorParameters: () => [{ type: i1.ALuDateAdapter }] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaXRlbS5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGF0ZS9jYWxlbmRhci9jYWxlbmRhci1pdGVtLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUdqRixNQUFNLE9BQU8scUJBQXFCO0lBQ2pDLFlBQW9CLFFBQTJCO1FBQTNCLGFBQVEsR0FBUixRQUFRLENBQW1CO0lBQUcsQ0FBQztJQUNuRCxRQUFRLENBQUMsQ0FBSSxFQUFFLE1BQU0sR0FBRyxHQUFHO1FBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxVQUFVLENBQUMsQ0FBSSxFQUFFLE1BQU0sR0FBRyxLQUFLO1FBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUNELFNBQVMsQ0FBQyxDQUFJLEVBQUUsTUFBTSxHQUFHLEdBQUc7UUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBQ0QsV0FBVyxDQUFDLENBQUksRUFBRSxNQUFNLEdBQUcsR0FBRztRQUM3QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzFHLE9BQU8sSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7OEdBdkJXLHFCQUFxQjtrSEFBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQUx1RGF0ZUFkYXB0ZXIgfSBmcm9tICdAbHVjY2EtZnJvbnQvbmcvY29yZSc7XG5pbXBvcnQgeyBEYXlJdGVtLCBEZWNhZGVJdGVtLCBNb250aEl0ZW0sIFllYXJJdGVtIH0gZnJvbSAnLi9jYWxlbmRhci1pdGVtLmNsYXNzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEx1Q2FsZW5kYXJJdGVtRmFjdG9yeTxEPiB7XG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX2FkYXB0ZXI6IEFMdURhdGVBZGFwdGVyPEQ+KSB7fVxuXHRmb3JnZURheShkOiBELCBmb3JtYXQgPSAnZCcpOiBEYXlJdGVtPEQ+IHtcblx0XHRjb25zdCBkYXRlID0gdGhpcy5fYWRhcHRlci5jbG9uZShkKTtcblx0XHRyZXR1cm4gbmV3IERheUl0ZW0oZGF0ZSwgdGhpcy5fYWRhcHRlci5mb3JtYXQoZGF0ZSwgZm9ybWF0KSk7XG5cdH1cblx0Zm9yZ2VNb250aChkOiBELCBmb3JtYXQgPSAnTU1NJyk6IE1vbnRoSXRlbTxEPiB7XG5cdFx0Y29uc3QgeWVhciA9IHRoaXMuX2FkYXB0ZXIuZ2V0WWVhcihkKTtcblx0XHRjb25zdCBtb250aCA9IHRoaXMuX2FkYXB0ZXIuZ2V0TW9udGgoZCk7XG5cdFx0Y29uc3QgbW9udGhTdGFydCA9IHRoaXMuX2FkYXB0ZXIuZm9yZ2UoeWVhciwgbW9udGgsIDEpO1xuXHRcdHJldHVybiBuZXcgTW9udGhJdGVtKG1vbnRoU3RhcnQsIHRoaXMuX2FkYXB0ZXIuZm9ybWF0KG1vbnRoU3RhcnQsIGZvcm1hdCkpO1xuXHR9XG5cdGZvcmdlWWVhcihkOiBELCBmb3JtYXQgPSAneScpOiBZZWFySXRlbTxEPiB7XG5cdFx0Y29uc3QgeWVhciA9IHRoaXMuX2FkYXB0ZXIuZ2V0WWVhcihkKTtcblx0XHRjb25zdCB5ZWFyU3RhcnQgPSB0aGlzLl9hZGFwdGVyLmZvcmdlKHllYXIsIDEsIDEpO1xuXHRcdHJldHVybiBuZXcgWWVhckl0ZW0oeWVhclN0YXJ0LCB0aGlzLl9hZGFwdGVyLmZvcm1hdCh5ZWFyU3RhcnQsIGZvcm1hdCkpO1xuXHR9XG5cdGZvcmdlRGVjYWRlKGQ6IEQsIGZvcm1hdCA9ICd5Jyk6IERlY2FkZUl0ZW08RD4ge1xuXHRcdGNvbnN0IHllYXIgPSB0aGlzLl9hZGFwdGVyLmdldFllYXIoZCk7XG5cdFx0Y29uc3QgZGVjYWRlU3RhcnQgPSB0aGlzLl9hZGFwdGVyLmZvcmdlKDEwICogTWF0aC5mbG9vcih5ZWFyIC8gMTApLCAxLCAxKTtcblx0XHRjb25zdCBkZWNhZGVFbmQgPSB0aGlzLl9hZGFwdGVyLmZvcmdlKDEwICogTWF0aC5mbG9vcih5ZWFyIC8gMTApICsgOSwgMSwgMSk7XG5cdFx0Y29uc3QgbGFiZWwgPSBgJHt0aGlzLl9hZGFwdGVyLmZvcm1hdChkZWNhZGVTdGFydCwgZm9ybWF0KX0gLSAke3RoaXMuX2FkYXB0ZXIuZm9ybWF0KGRlY2FkZUVuZCwgZm9ybWF0KX1gO1xuXHRcdHJldHVybiBuZXcgRGVjYWRlSXRlbShkZWNhZGVTdGFydCwgbGFiZWwpO1xuXHR9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaXRlbS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9kYXRlL2NhbGVuZGFyL2NhbGVuZGFyLWl0ZW0uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMdURhdGVHcmFudWxhcml0eSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ2FsZW5kYXJJdGVtPEQ+IHtcblx0aWQ6IHN0cmluZztcblx0ZGF0ZTogRDtcblx0bW9kczogc3RyaW5nW107XG5cdGxhYmVsOiBzdHJpbmc7XG5cdGlzRGlzYWJsZWQ6IGJvb2xlYW47XG5cdGdyYW51bGFyaXR5OiBMdURhdGVHcmFudWxhcml0eTtcbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './calendar-input.module';
|
|
2
|
-
export * from './calendar-input.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9kYXRlL2NhbGVuZGFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXItaW5wdXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXItaW5wdXQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { LuDateAdapterPipe } from './adapter/index';
|
|
3
|
-
import { LuCalendarInputComponent } from './calendar/index';
|
|
4
|
-
import { LuDateInputDirective } from './input/index';
|
|
5
|
-
import { LuDatePickerComponent } from './picker/index';
|
|
6
|
-
import { LuDateSelectInputComponent } from './select/index';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class LuDateModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: LuDateModule, imports: [LuCalendarInputComponent, LuDatePickerComponent, LuDateInputDirective, LuDateAdapterPipe, LuDateSelectInputComponent], exports: [LuCalendarInputComponent, LuDatePickerComponent, LuDateInputDirective, LuDateAdapterPipe, LuDateSelectInputComponent] }); }
|
|
11
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDateModule, imports: [LuCalendarInputComponent, LuDatePickerComponent, LuDateSelectInputComponent] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuDateModule, decorators: [{
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
imports: [LuCalendarInputComponent, LuDatePickerComponent, LuDateInputDirective, LuDateAdapterPipe, LuDateSelectInputComponent],
|
|
17
|
-
exports: [LuCalendarInputComponent, LuDatePickerComponent, LuDateInputDirective, LuDateAdapterPipe, LuDateSelectInputComponent],
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9kYXRlL2RhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU01RCxNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksWUFIZCx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSwwQkFBMEIsYUFDcEgsd0JBQXdCLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCOytHQUVsSCxZQUFZLFlBSGQsd0JBQXdCLEVBQUUscUJBQXFCLEVBQTJDLDBCQUEwQjs7MkZBR2xILFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ1QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLENBQUM7b0JBQy9ILE9BQU8sRUFBRSxDQUFDLHdCQUF3QixFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLDBCQUEwQixDQUFDO2lCQUMvSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMdURhdGVBZGFwdGVyUGlwZSB9IGZyb20gJy4vYWRhcHRlci9pbmRleCc7XG5pbXBvcnQgeyBMdUNhbGVuZGFySW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyL2luZGV4JztcbmltcG9ydCB7IEx1RGF0ZUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9pbnB1dC9pbmRleCc7XG5pbXBvcnQgeyBMdURhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3BpY2tlci9pbmRleCc7XG5pbXBvcnQgeyBMdURhdGVTZWxlY3RJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0L2luZGV4JztcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogW0x1Q2FsZW5kYXJJbnB1dENvbXBvbmVudCwgTHVEYXRlUGlja2VyQ29tcG9uZW50LCBMdURhdGVJbnB1dERpcmVjdGl2ZSwgTHVEYXRlQWRhcHRlclBpcGUsIEx1RGF0ZVNlbGVjdElucHV0Q29tcG9uZW50XSxcblx0ZXhwb3J0czogW0x1Q2FsZW5kYXJJbnB1dENvbXBvbmVudCwgTHVEYXRlUGlja2VyQ29tcG9uZW50LCBMdURhdGVJbnB1dERpcmVjdGl2ZSwgTHVEYXRlQWRhcHRlclBpcGUsIEx1RGF0ZVNlbGVjdElucHV0Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTHVEYXRlTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Injectable, LOCALE_ID, inject } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class LuHumanizeDateFormatter {
|
|
4
|
-
#intlRelativeTimeFormat = new Intl.RelativeTimeFormat(inject(LOCALE_ID));
|
|
5
|
-
format(relativeTime) {
|
|
6
|
-
return this.#intlRelativeTimeFormat.format(relativeTime.value, relativeTime.unit);
|
|
7
|
-
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuHumanizeDateFormatter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
9
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuHumanizeDateFormatter }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuHumanizeDateFormatter, decorators: [{
|
|
12
|
-
type: Injectable
|
|
13
|
-
}] });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVtYW5pemUuZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmcvZGF0ZS9odW1hbml6ZS9odW1hbml6ZS5mb3JtYXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUk5RCxNQUFNLE9BQU8sdUJBQXVCO0lBQ25DLHVCQUF1QixHQUFHLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXpFLE1BQU0sQ0FBQyxZQUE0QjtRQUNsQyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkYsQ0FBQzs4R0FMVyx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIExPQ0FMRV9JRCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMdVJlbGF0aXZlVGltZSB9IGZyb20gJy4vaHVtYW5pemUubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTHVIdW1hbml6ZURhdGVGb3JtYXR0ZXIge1xuXHQjaW50bFJlbGF0aXZlVGltZUZvcm1hdCA9IG5ldyBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdChpbmplY3QoTE9DQUxFX0lEKSk7XG5cblx0Zm9ybWF0KHJlbGF0aXZlVGltZTogTHVSZWxhdGl2ZVRpbWUpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLiNpbnRsUmVsYXRpdmVUaW1lRm9ybWF0LmZvcm1hdChyZWxhdGl2ZVRpbWUudmFsdWUsIHJlbGF0aXZlVGltZS51bml0KTtcblx0fVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const luRelativeTimeFormatUnit = ['second', 'minute', 'hour', 'day', 'week', 'month', 'year'];
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVtYW5pemUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9kYXRlL2h1bWFuaXplL2h1bWFuaXplLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgbHVSZWxhdGl2ZVRpbWVGb3JtYXRVbml0ID0gWydzZWNvbmQnLCAnbWludXRlJywgJ2hvdXInLCAnZGF5JywgJ3dlZWsnLCAnbW9udGgnLCAneWVhciddIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgTHVSZWxhdGl2ZVRpbWVGb3JtYXRVbml0ID0gKHR5cGVvZiBsdVJlbGF0aXZlVGltZUZvcm1hdFVuaXQpW251bWJlcl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTHVSZWxhdGl2ZVRpbWUge1xuXHQvKipcblx0ICogVGhlIHJlbGV2YW50IHVuaXQgZm9yIHRoZSByZWxhdGl2ZSB0aW1lLlxuXHQgKi9cblx0dW5pdDogTHVSZWxhdGl2ZVRpbWVGb3JtYXRVbml0O1xuXHQvKipcblx0ICogVGhlIGludGVnZXIgdmFsdWUgb2YgdGhlIHJlbGF0aXZlIHRpbWUuXG5cdCAqIE5lZ2F0aXZlIHZhbHVlcyBhcmUgdXNlZCBmb3IgcGFzdCBkYXRlcy5cblx0ICovXG5cdHZhbHVlOiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Pipe, inject } from '@angular/core';
|
|
2
|
-
import { map } from 'rxjs';
|
|
3
|
-
import { LuHumanizeDateFormatter } from './humanize.formatter';
|
|
4
|
-
import { relativeTimeTimer } from './humanize.utils';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class LuHumanizeDatePipe {
|
|
7
|
-
#formatter = inject(LuHumanizeDateFormatter, { optional: true }) ?? new LuHumanizeDateFormatter();
|
|
8
|
-
transform(value, allowedUnits) {
|
|
9
|
-
return relativeTimeTimer(new Date(value), allowedUnits).pipe(map((relativeTime) => this.#formatter.format(relativeTime)));
|
|
10
|
-
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuHumanizeDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: LuHumanizeDatePipe, isStandalone: true, name: "luHumanizeDate" }); }
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LuHumanizeDatePipe, decorators: [{
|
|
15
|
-
type: Pipe,
|
|
16
|
-
args: [{
|
|
17
|
-
name: 'luHumanizeDate',
|
|
18
|
-
standalone: true,
|
|
19
|
-
}]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVtYW5pemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2RhdGUvaHVtYW5pemUvaHVtYW5pemUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFNckQsTUFBTSxPQUFPLGtCQUFrQjtJQUM5QixVQUFVLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksSUFBSSx1QkFBdUIsRUFBRSxDQUFDO0lBRWxHLFNBQVMsQ0FBQyxLQUE2QixFQUFFLFlBQWtEO1FBQzFGLE9BQU8saUJBQWlCLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNILENBQUM7OEdBTFcsa0JBQWtCOzRHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLElBQUk7bUJBQUM7b0JBQ0wsSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEx1SHVtYW5pemVEYXRlRm9ybWF0dGVyIH0gZnJvbSAnLi9odW1hbml6ZS5mb3JtYXR0ZXInO1xuaW1wb3J0IHsgTHVSZWxhdGl2ZVRpbWVGb3JtYXRVbml0IH0gZnJvbSAnLi9odW1hbml6ZS5tb2RlbCc7XG5pbXBvcnQgeyByZWxhdGl2ZVRpbWVUaW1lciB9IGZyb20gJy4vaHVtYW5pemUudXRpbHMnO1xuXG5AUGlwZSh7XG5cdG5hbWU6ICdsdUh1bWFuaXplRGF0ZScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEx1SHVtYW5pemVEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXHQjZm9ybWF0dGVyID0gaW5qZWN0KEx1SHVtYW5pemVEYXRlRm9ybWF0dGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/IG5ldyBMdUh1bWFuaXplRGF0ZUZvcm1hdHRlcigpO1xuXG5cdHRyYW5zZm9ybSh2YWx1ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlciwgYWxsb3dlZFVuaXRzPzogcmVhZG9ubHkgTHVSZWxhdGl2ZVRpbWVGb3JtYXRVbml0W10pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuXHRcdHJldHVybiByZWxhdGl2ZVRpbWVUaW1lcihuZXcgRGF0ZSh2YWx1ZSksIGFsbG93ZWRVbml0cykucGlwZShtYXAoKHJlbGF0aXZlVGltZSkgPT4gdGhpcy4jZm9ybWF0dGVyLmZvcm1hdChyZWxhdGl2ZVRpbWUpKSk7XG5cdH1cbn1cbiJdfQ==
|