@sunbird-cb/utils 1.0.18 → 1.0.19-ang-9-12
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/bundles/sunbird-cb-utils.umd.js +2006 -2960
- package/bundles/sunbird-cb-utils.umd.js.map +1 -1
- package/esm2015/lib/components/image-crop/image-crop.component.js +13 -48
- package/esm2015/lib/components/image-crop/image-crop.module.js +8 -2
- package/esm2015/lib/constants/features.enum.js +555 -555
- package/esm2015/lib/constants/instances.enum.js +5 -5
- package/esm2015/lib/constants/misc.constants.js +2 -1
- package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +11 -21
- package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +1 -1
- package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +1 -7
- package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +1 -1
- package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +3 -11
- package/esm2015/lib/directives/image-responsive/image-responsive.module.js +1 -1
- package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +5 -11
- package/esm2015/lib/directives/in-view-port/in-view-port.module.js +1 -1
- package/esm2015/lib/directives/navigation/navigation.directive.js +1 -6
- package/esm2015/lib/directives/navigation/navigation.module.js +1 -1
- package/esm2015/lib/directives/permission/permission.directive.js +1 -1
- package/esm2015/lib/directives/permission/permission.module.js +1 -1
- package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
- package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +11 -20
- package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +4 -2
- package/esm2015/lib/helpers/logout/logout.component.js +4 -13
- package/esm2015/lib/helpers/logout/logout.module.js +3 -2
- package/esm2015/lib/models/contentRating.model.js +2 -12
- package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +1 -1
- package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +1 -7
- package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +1 -1
- package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +1 -1
- package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +1 -1
- package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +1 -11
- package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +1 -1
- package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +1 -1
- package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +1 -1
- package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +3 -3
- package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +1 -1
- package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +5 -5
- package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +1 -1
- package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +1 -1
- package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +1 -1
- package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +1 -1
- package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +1 -1
- package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +4 -4
- package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +1 -1
- package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +1 -7
- package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +1 -1
- package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +1 -4
- package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +1 -1
- package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +1 -1
- package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +1 -1
- package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +1 -1
- package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +1 -1
- package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +1 -4
- package/esm2015/lib/resolvers/explore-detail.resolver.js +12 -19
- package/esm2015/lib/resolvers/marketing-offering.resolve.js +7 -10
- package/esm2015/lib/resolvers/page.constant.js +1 -1
- package/esm2015/lib/resolvers/page.model.js +2 -47
- package/esm2015/lib/resolvers/page.resolver.js +12 -18
- package/esm2015/lib/resolvers/resolver.model.js +2 -6
- package/esm2015/lib/services/auth-keycloak.service.js +20 -33
- package/esm2015/lib/services/auth-microsoft.service.js +9 -17
- package/esm2015/lib/services/card-content.model.js +1 -22
- package/esm2015/lib/services/configurations.model.js +2 -498
- package/esm2015/lib/services/configurations.service.js +2 -49
- package/esm2015/lib/services/content-strip-multiple.model.js +2 -75
- package/esm2015/lib/services/event.model.js +1 -109
- package/esm2015/lib/services/event.service.js +4 -17
- package/esm2015/lib/services/logger.service.js +5 -13
- package/esm2015/lib/services/ms-office.model.js +2 -8
- package/esm2015/lib/services/subapplication-respond.service.js +8 -21
- package/esm2015/lib/services/telemetry.service.js +48 -59
- package/esm2015/lib/services/user-preference.model.js +2 -38
- package/esm2015/lib/services/user-preference.service.js +11 -15
- package/esm2015/lib/services/utility.service.js +9 -26
- package/esm2015/lib/services/value.service.js +4 -9
- package/esm2015/lib/services/widget-content.model.js +1 -236
- package/esm2015/lib/services/widget-content.service.js +15 -19
- package/esm2015/lib/services/widget-resolver.model.js +2 -57
- package/esm2015/lib/services/widget-search.model.js +2 -126
- package/esm2015/public-api.js +74 -68
- package/esm2015/sunbird-cb-utils.js +2 -8
- package/fesm2015/sunbird-cb-utils.js +788 -2000
- package/fesm2015/sunbird-cb-utils.js.map +1 -1
- package/lib/components/image-crop/image-crop.component.d.ts +1 -0
- package/lib/components/image-crop/image-crop.component.d.ts.map +1 -0
- package/lib/components/image-crop/image-crop.component.ngfactory.d.ts.map +1 -0
- package/lib/components/image-crop/image-crop.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/lib/components/image-crop/image-crop.module.d.ts +1 -0
- package/lib/components/image-crop/image-crop.module.d.ts.map +1 -0
- package/lib/components/image-crop/image-crop.module.ngfactory.d.ts.map +1 -0
- package/lib/constants/features.enum.d.ts +1 -0
- package/lib/constants/features.enum.d.ts.map +1 -0
- package/lib/constants/instances.enum.d.ts +1 -0
- package/lib/constants/instances.enum.d.ts.map +1 -0
- package/lib/constants/misc.constants.d.ts +1 -0
- package/lib/constants/misc.constants.d.ts.map +1 -0
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +4 -3
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts.map +1 -0
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.ngfactory.d.ts.map +1 -0
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts +1 -0
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts.map +1 -0
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.ngfactory.d.ts.map +1 -0
- package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +1 -0
- package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts.map +1 -0
- package/lib/directives/default-thumbnail/default-thumbnail.directive.ngfactory.d.ts.map +1 -0
- package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts +1 -0
- package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts.map +1 -0
- package/lib/directives/default-thumbnail/default-thumbnail.module.ngfactory.d.ts.map +1 -0
- package/lib/directives/image-responsive/image-responsive.directive.d.ts +1 -0
- package/lib/directives/image-responsive/image-responsive.directive.d.ts.map +1 -0
- package/lib/directives/image-responsive/image-responsive.directive.ngfactory.d.ts.map +1 -0
- package/lib/directives/image-responsive/image-responsive.module.d.ts +1 -0
- package/lib/directives/image-responsive/image-responsive.module.d.ts.map +1 -0
- package/lib/directives/image-responsive/image-responsive.module.ngfactory.d.ts.map +1 -0
- package/lib/directives/in-view-port/in-view-port.directive.d.ts +1 -0
- package/lib/directives/in-view-port/in-view-port.directive.d.ts.map +1 -0
- package/lib/directives/in-view-port/in-view-port.directive.ngfactory.d.ts.map +1 -0
- package/lib/directives/in-view-port/in-view-port.module.d.ts +1 -0
- package/lib/directives/in-view-port/in-view-port.module.d.ts.map +1 -0
- package/lib/directives/in-view-port/in-view-port.module.ngfactory.d.ts.map +1 -0
- package/lib/directives/navigation/navigation.directive.d.ts +1 -0
- package/lib/directives/navigation/navigation.directive.d.ts.map +1 -0
- package/lib/directives/navigation/navigation.directive.ngfactory.d.ts.map +1 -0
- package/lib/directives/navigation/navigation.module.d.ts +1 -0
- package/lib/directives/navigation/navigation.module.d.ts.map +1 -0
- package/lib/directives/navigation/navigation.module.ngfactory.d.ts.map +1 -0
- package/lib/directives/permission/permission.directive.d.ts +1 -0
- package/lib/directives/permission/permission.directive.d.ts.map +1 -0
- package/lib/directives/permission/permission.directive.ngfactory.d.ts.map +1 -0
- package/lib/directives/permission/permission.module.d.ts +1 -0
- package/lib/directives/permission/permission.module.d.ts.map +1 -0
- package/lib/directives/permission/permission.module.ngfactory.d.ts.map +1 -0
- package/lib/helpers/functions/getStringifiedQueryParams.d.ts +1 -0
- package/lib/helpers/functions/getStringifiedQueryParams.d.ts.map +1 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +1 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts.map +1 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.component.ngfactory.d.ts.map +1 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +1 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts.map +1 -0
- package/lib/helpers/horizontal-scroller/horizontal-scroller.module.ngfactory.d.ts.map +1 -0
- package/lib/helpers/logout/logout.component.d.ts +3 -2
- package/lib/helpers/logout/logout.component.d.ts.map +1 -0
- package/lib/helpers/logout/logout.component.ngfactory.d.ts.map +1 -0
- package/lib/helpers/logout/logout.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/lib/helpers/logout/logout.module.d.ts +1 -0
- package/lib/helpers/logout/logout.module.d.ts.map +1 -0
- package/lib/helpers/logout/logout.module.ngfactory.d.ts.map +1 -0
- package/lib/models/contentRating.model.d.ts +1 -0
- package/lib/models/contentRating.model.d.ts.map +1 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts +1 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts.map +1 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +1 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts +1 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts.map +1 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +1 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts +1 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts.map +1 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +1 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +1 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts.map +1 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +1 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-filter/pipe-filter.module.d.ts +1 -0
- package/lib/pipes/pipe-filter/pipe-filter.module.d.ts.map +1 -0
- package/lib/pipes/pipe-filter/pipe-filter.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +1 -0
- package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-filter/pipe-filter.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts +1 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts.map +1 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +1 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts +1 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts.map +1 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +1 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts +1 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts.map +1 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +1 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts +1 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts.map +1 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +1 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts +1 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts.map +1 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +1 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts +1 -0
- package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts.map +1 -0
- package/lib/pipes/pipe-order-by/pipe-order-by.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +5 -4
- package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-order-by/pipe-order-by.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts +1 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts.map +1 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +1 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts +1 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts.map +1 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +1 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts +1 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts.map +1 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.ngfactory.d.ts.map +1 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +1 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts.map +1 -0
- package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.ngfactory.d.ts.map +1 -0
- package/lib/resolvers/explore-detail.resolver.d.ts +1 -0
- package/lib/resolvers/explore-detail.resolver.d.ts.map +1 -0
- package/lib/resolvers/explore-detail.resolver.ngfactory.d.ts.map +1 -0
- package/lib/resolvers/marketing-offering.resolve.d.ts +1 -0
- package/lib/resolvers/marketing-offering.resolve.d.ts.map +1 -0
- package/lib/resolvers/marketing-offering.resolve.ngfactory.d.ts.map +1 -0
- package/lib/resolvers/page.constant.d.ts +1 -0
- package/lib/resolvers/page.constant.d.ts.map +1 -0
- package/lib/resolvers/page.model.d.ts +2 -1
- package/lib/resolvers/page.model.d.ts.map +1 -0
- package/lib/resolvers/page.resolver.d.ts +1 -0
- package/lib/resolvers/page.resolver.d.ts.map +1 -0
- package/lib/resolvers/page.resolver.ngfactory.d.ts.map +1 -0
- package/lib/resolvers/resolver.model.d.ts +1 -0
- package/lib/resolvers/resolver.model.d.ts.map +1 -0
- package/lib/services/auth-keycloak.service.d.ts +10 -9
- package/lib/services/auth-keycloak.service.d.ts.map +1 -0
- package/lib/services/auth-keycloak.service.ngfactory.d.ts.map +1 -0
- package/lib/services/auth-microsoft.service.d.ts +3 -2
- package/lib/services/auth-microsoft.service.d.ts.map +1 -0
- package/lib/services/auth-microsoft.service.ngfactory.d.ts.map +1 -0
- package/lib/services/card-content.model.d.ts +1 -0
- package/lib/services/card-content.model.d.ts.map +1 -0
- package/lib/services/configurations.model.d.ts +34 -23
- package/lib/services/configurations.model.d.ts.map +1 -0
- package/lib/services/configurations.service.d.ts +2 -0
- package/lib/services/configurations.service.d.ts.map +1 -0
- package/lib/services/configurations.service.ngfactory.d.ts.map +1 -0
- package/lib/services/content-strip-multiple.model.d.ts +8 -6
- package/lib/services/content-strip-multiple.model.d.ts.map +1 -0
- package/lib/services/event.model.d.ts +2 -1
- package/lib/services/event.model.d.ts.map +1 -0
- package/lib/services/event.service.d.ts +1 -0
- package/lib/services/event.service.d.ts.map +1 -0
- package/lib/services/event.service.ngfactory.d.ts.map +1 -0
- package/lib/services/logger.service.d.ts +5 -4
- package/lib/services/logger.service.d.ts.map +1 -0
- package/lib/services/logger.service.ngfactory.d.ts.map +1 -0
- package/lib/services/ms-office.model.d.ts +1 -0
- package/lib/services/ms-office.model.d.ts.map +1 -0
- package/lib/services/subapplication-respond.service.d.ts +1 -0
- package/lib/services/subapplication-respond.service.d.ts.map +1 -0
- package/lib/services/subapplication-respond.service.ngfactory.d.ts.map +1 -0
- package/lib/services/telemetry.service.d.ts +3 -2
- package/lib/services/telemetry.service.d.ts.map +1 -0
- package/lib/services/telemetry.service.ngfactory.d.ts.map +1 -0
- package/lib/services/user-preference.model.d.ts +1 -0
- package/lib/services/user-preference.model.d.ts.map +1 -0
- package/lib/services/user-preference.service.d.ts +1 -0
- package/lib/services/user-preference.service.d.ts.map +1 -0
- package/lib/services/user-preference.service.ngfactory.d.ts.map +1 -0
- package/lib/services/utility.service.d.ts +8 -7
- package/lib/services/utility.service.d.ts.map +1 -0
- package/lib/services/utility.service.ngfactory.d.ts.map +1 -0
- package/lib/services/value.service.d.ts +1 -0
- package/lib/services/value.service.d.ts.map +1 -0
- package/lib/services/value.service.ngfactory.d.ts.map +1 -0
- package/lib/services/widget-content.model.d.ts +21 -19
- package/lib/services/widget-content.model.d.ts.map +1 -0
- package/lib/services/widget-content.service.d.ts +1 -0
- package/lib/services/widget-content.service.d.ts.map +1 -0
- package/lib/services/widget-content.service.ngfactory.d.ts.map +1 -0
- package/lib/services/widget-resolver.model.d.ts +1 -0
- package/lib/services/widget-resolver.model.d.ts.map +1 -0
- package/lib/services/widget-search.model.d.ts +1 -0
- package/lib/services/widget-search.model.d.ts.map +1 -0
- package/package.json +14 -17
- package/public-api.d.ts +7 -0
- package/public-api.d.ts.map +1 -0
- package/sunbird-cb-utils.d.ts +1 -6
- package/sunbird-cb-utils.d.ts.map +1 -0
- package/sunbird-cb-utils.metadata.json +1 -1
- package/bundles/sunbird-cb-utils.umd.min.js +0 -16
- package/bundles/sunbird-cb-utils.umd.min.js.map +0 -1
- package/esm5/lib/components/image-crop/image-crop.component.js +0 -200
- package/esm5/lib/components/image-crop/image-crop.module.js +0 -31
- package/esm5/lib/constants/features.enum.js +0 -555
- package/esm5/lib/constants/instances.enum.js +0 -5
- package/esm5/lib/constants/misc.constants.js +0 -1
- package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +0 -105
- package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +0 -19
- package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +0 -40
- package/esm5/lib/directives/default-thumbnail/default-thumbnail.module.js +0 -19
- package/esm5/lib/directives/image-responsive/image-responsive.directive.js +0 -95
- package/esm5/lib/directives/image-responsive/image-responsive.module.js +0 -19
- package/esm5/lib/directives/in-view-port/in-view-port.directive.js +0 -73
- package/esm5/lib/directives/in-view-port/in-view-port.module.js +0 -19
- package/esm5/lib/directives/navigation/navigation.directive.js +0 -41
- package/esm5/lib/directives/navigation/navigation.module.js +0 -19
- package/esm5/lib/directives/permission/permission.directive.js +0 -14
- package/esm5/lib/directives/permission/permission.module.js +0 -19
- package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +0 -9
- package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +0 -103
- package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +0 -23
- package/esm5/lib/helpers/logout/logout.component.js +0 -63
- package/esm5/lib/helpers/logout/logout.module.js +0 -22
- package/esm5/lib/models/contentRating.model.js +0 -12
- package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +0 -17
- package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +0 -63
- package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +0 -19
- package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +0 -37
- package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +0 -19
- package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +0 -45
- package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +0 -19
- package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +0 -64
- package/esm5/lib/pipes/pipe-filter/pipe-filter.module.js +0 -19
- package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +0 -20
- package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +0 -19
- package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +0 -38
- package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +0 -19
- package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +0 -16
- package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +0 -19
- package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +0 -30
- package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +0 -19
- package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +0 -21
- package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +0 -19
- package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +0 -35
- package/esm5/lib/pipes/pipe-order-by/pipe-order-by.module.js +0 -19
- package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +0 -18
- package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +0 -19
- package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +0 -34
- package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +0 -19
- package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +0 -21
- package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +0 -19
- package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +0 -38
- package/esm5/lib/resolvers/explore-detail.resolver.js +0 -93
- package/esm5/lib/resolvers/marketing-offering.resolve.js +0 -43
- package/esm5/lib/resolvers/page.constant.js +0 -4
- package/esm5/lib/resolvers/page.model.js +0 -47
- package/esm5/lib/resolvers/page.resolver.js +0 -98
- package/esm5/lib/resolvers/resolver.model.js +0 -6
- package/esm5/lib/services/auth-keycloak.service.js +0 -316
- package/esm5/lib/services/auth-microsoft.service.js +0 -251
- package/esm5/lib/services/card-content.model.js +0 -32
- package/esm5/lib/services/configurations.model.js +0 -498
- package/esm5/lib/services/configurations.service.js +0 -113
- package/esm5/lib/services/content-strip-multiple.model.js +0 -75
- package/esm5/lib/services/event.model.js +0 -229
- package/esm5/lib/services/event.service.js +0 -216
- package/esm5/lib/services/logger.service.js +0 -73
- package/esm5/lib/services/ms-office.model.js +0 -8
- package/esm5/lib/services/subapplication-respond.service.js +0 -230
- package/esm5/lib/services/telemetry.service.js +0 -484
- package/esm5/lib/services/user-preference.model.js +0 -38
- package/esm5/lib/services/user-preference.service.js +0 -109
- package/esm5/lib/services/utility.service.js +0 -178
- package/esm5/lib/services/value.service.js +0 -33
- package/esm5/lib/services/widget-content.model.js +0 -342
- package/esm5/lib/services/widget-content.service.js +0 -214
- package/esm5/lib/services/widget-resolver.model.js +0 -57
- package/esm5/lib/services/widget-search.model.js +0 -126
- package/esm5/public-api.js +0 -68
- package/esm5/sunbird-cb-utils.js +0 -8
- package/fesm5/sunbird-cb-utils.js +0 -5594
- package/fesm5/sunbird-cb-utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sunbird-cb-utils.js","sources":["ng://@sunbird-cb/utils/lib/services/configurations.service.ts","ng://@sunbird-cb/utils/lib/services/value.service.ts","ng://@sunbird-cb/utils/lib/components/image-crop/image-crop.component.ts","ng://@sunbird-cb/utils/lib/components/image-crop/image-crop.module.ts","ng://@sunbird-cb/utils/lib/constants/features.enum.ts","ng://@sunbird-cb/utils/lib/constants/instances.enum.ts","ng://@sunbird-cb/utils/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.ts","ng://@sunbird-cb/utils/lib/directives/class-change-on-scroll/class-change-on-scroll.module.ts","ng://@sunbird-cb/utils/lib/directives/default-thumbnail/default-thumbnail.directive.ts","ng://@sunbird-cb/utils/lib/directives/default-thumbnail/default-thumbnail.module.ts","ng://@sunbird-cb/utils/lib/directives/image-responsive/image-responsive.directive.ts","ng://@sunbird-cb/utils/lib/directives/image-responsive/image-responsive.module.ts","ng://@sunbird-cb/utils/lib/directives/in-view-port/in-view-port.directive.ts","ng://@sunbird-cb/utils/lib/directives/in-view-port/in-view-port.module.ts","ng://@sunbird-cb/utils/lib/directives/navigation/navigation.directive.ts","ng://@sunbird-cb/utils/lib/directives/navigation/navigation.module.ts","ng://@sunbird-cb/utils/lib/directives/permission/permission.directive.ts","ng://@sunbird-cb/utils/lib/directives/permission/permission.module.ts","ng://@sunbird-cb/utils/lib/helpers/functions/getStringifiedQueryParams.ts","ng://@sunbird-cb/utils/lib/helpers/horizontal-scroller/horizontal-scroller.component.ts","ng://@sunbird-cb/utils/lib/helpers/horizontal-scroller/horizontal-scroller.module.ts","ng://@sunbird-cb/utils/lib/services/logger.service.ts","ng://@sunbird-cb/utils/lib/services/auth-microsoft.service.ts","ng://@sunbird-cb/utils/lib/services/auth-keycloak.service.ts","ng://@sunbird-cb/utils/lib/services/utility.service.ts","ng://@sunbird-cb/utils/lib/helpers/logout/logout.component.ts","ng://@sunbird-cb/utils/lib/helpers/logout/logout.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-count-transform/pipe-count-transform.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-date-concat/pipe-date-concat.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-filter/pipe-filter.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-filter/pipe-filter.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-filter-search/pipe-filter-search.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-list-filter/pipe-list-filter.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-relative-time/pipe-relative-time.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-order-by/pipe-order-by.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-order-by/pipe-order-by.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-limit-to/pipe-limit-to.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-name-transform/pipe-name-transform.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-partial-content/pipe-partial-content.module.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.ts","ng://@sunbird-cb/utils/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.ts","ng://@sunbird-cb/utils/lib/resolvers/explore-detail.resolver.ts","ng://@sunbird-cb/utils/lib/resolvers/marketing-offering.resolve.ts","ng://@sunbird-cb/utils/lib/resolvers/page.model.ts","ng://@sunbird-cb/utils/lib/resolvers/page.constant.ts","ng://@sunbird-cb/utils/lib/resolvers/page.resolver.ts","ng://@sunbird-cb/utils/lib/resolvers/resolver.model.ts","ng://@sunbird-cb/utils/lib/services/configurations.model.ts","ng://@sunbird-cb/utils/lib/services/event.model.ts","ng://@sunbird-cb/utils/lib/services/event.service.ts","ng://@sunbird-cb/utils/lib/services/ms-office.model.ts","ng://@sunbird-cb/utils/lib/services/widget-content.service.ts","ng://@sunbird-cb/utils/lib/services/telemetry.service.ts","ng://@sunbird-cb/utils/lib/services/subapplication-respond.service.ts","ng://@sunbird-cb/utils/lib/services/user-preference.model.ts","ng://@sunbird-cb/utils/lib/services/user-preference.service.ts","ng://@sunbird-cb/utils/lib/services/widget-content.model.ts","ng://@sunbird-cb/utils/lib/models/contentRating.model.ts"],"sourcesContent":["import { Injectable } from '@angular/core'\nimport { BehaviorSubject, ReplaySubject } from 'rxjs'\n// import { environment } from '../../../../../../src/environments/environment'\nimport { NsPage } from '../resolvers/page.model'\nimport { NsAppsConfig, NsInstanceConfig, NsUser } from './configurations.model'\nimport { IUserPreference } from './user-preference.model'\n\n// const instanceConfigPath: string | null = window.location.host\n// const locationHost: string | null = window.location.host\n\n// if (!environment.production && Boolean(environment.sitePath)) {\n// locationHost = environment.sitePath\n// instanceConfigPath = environment.sitePath\n// }\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationsService {\n // update as the single source of truth\n constructor() {\n // @Inject('env') env: any\n // if (!env.production && Boolean(env.sitePath)) {\n // locationHost = env.sitePath\n // instanceConfigPath = env.sitePath\n // }\n }\n appSetup = true\n // The url the user tried to access while landing in the app before accepting tnc\n userUrl = ''\n baseUrl = `assets/configurations`\n sitePath = `assets/configurations`\n hostPath = (window.location.host).replace(':', '_')\n\n userRoles: Set<string> | null = null\n userGroups: Set<string> | null = null\n restrictedFeatures: Set<string> | null = null\n restrictedWidgets: Set<string> | null = null\n instanceConfig: NsInstanceConfig.IConfig | null = null\n appsConfig: NsAppsConfig.IAppsConfig | null = null\n rootOrg: string | null = null\n courseContentPath?: string\n org: string[] | null = null\n activeOrg: string | null = ''\n isProduction = false\n hasAcceptedTnc = false\n profileDetailsStatus = false\n userPreference: IUserPreference | null = null\n userProfile: NsUser.IUserProfile | null = null\n userProfileV2: NsUser.IUserProfile | null = null\n // created to store complete user details sent by pid\n unMappedUser: any\n orgReadData: any\n isAuthenticated = false\n isNewUser = false\n isActive = true\n\n // pinnedApps\n pinnedApps = new BehaviorSubject<Set<string>>(new Set())\n\n // Notifier\n prefChangeNotifier = new ReplaySubject<Partial<IUserPreference>>(1)\n tourGuideNotifier = new ReplaySubject<boolean>()\n authChangeNotifier = new ReplaySubject<boolean>(1)\n\n // Preference Related Values\n activeThemeObject: NsInstanceConfig.ITheme | null = null\n activeFontObject: NsInstanceConfig.IFontSize | null = null\n isDarkMode = false\n isIntranetAllowed = false\n isRTL = false\n activeLocale: NsInstanceConfig.ILocalsConfig | null = null\n activeLocaleGroup = ''\n completedActivity: string[] | null = null\n completedTour = false\n profileSettings = ['profilePicture', 'learningTime', 'learningPoints']\n\n primaryNavBar: Partial<NsPage.INavBackground> = {\n color: 'primary',\n }\n pageNavBar: Partial<NsPage.INavBackground> = {\n color: 'primary',\n }\n primaryNavBarConfig: NsInstanceConfig.IPrimaryNavbarConfig | null = null\n\n private updateOrgReadData: BehaviorSubject<string> = new BehaviorSubject('')\n updateOrgReadDataObservable = this.updateOrgReadData.asObservable()\n\n updateOrgData(id: string) {\n this.updateOrgReadData.next(id)\n }\n}\n","import { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs'\r\nimport { BreakpointObserver, Breakpoints, BreakpointState } from '@angular/cdk/layout'\r\nimport { map } from 'rxjs/operators'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ValueService {\r\n\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n ) { }\r\n\r\n public isXSmall$: Observable<boolean> = this.breakpointObserver\r\n .observe([Breakpoints.XSmall])\r\n .pipe(map((res: BreakpointState) => res.matches))\r\n public isLtMedium$: Observable<boolean> = this.breakpointObserver\r\n .observe([Breakpoints.XSmall, Breakpoints.Small])\r\n .pipe(map((res: BreakpointState) => res.matches))\r\n\r\n}\r\n","import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core'\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'\r\nimport { MatSnackBar } from '@angular/material/snack-bar'\r\n\r\nimport { ImageCroppedEvent, ImageTransform } from 'ngx-image-cropper'\r\nimport { ConfigurationsService } from '../../services/configurations.service'\r\nimport { ValueService } from '../../services/value.service'\r\nexport interface IDialogueDta {\r\n isRoundCrop: boolean,\r\n imageFile: File,\r\n height: number,\r\n width: number,\r\n imageFileName: string\r\n}\r\n@Component({\r\n selector: 'ws-utils-image-crop',\r\n templateUrl: './image-crop.component.html',\r\n styleUrls: ['./image-crop.component.scss'],\r\n})\r\nexport class ImageCropComponent implements OnInit {\r\n // need to set for creator Logo\r\n @Output() data = new EventEmitter<File>()\r\n isRoundCrop = false\r\n isNotOfRequiredSize = false\r\n imageFile!: File\r\n cropimageFile!: File\r\n imageFileBase64: any = ''\r\n width: any = ''\r\n height: any = ''\r\n opHeight: any\r\n opWidth: any\r\n imageDimensions: any = ''\r\n croppedHeight: any = ''\r\n croppedWidth: any = ''\r\n cropperReadyToStart: any = false\r\n fileName = ''\r\n canvasRotation = 0\r\n transform: ImageTransform = {}\r\n resetValue = false\r\n element: any\r\n isXSmall = false\r\n isThumbnail = true\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef<ImageCropComponent>,\r\n private configSvc: ConfigurationsService,\r\n private snackBar: MatSnackBar,\r\n private valueSvc: ValueService,\r\n @Inject(MAT_DIALOG_DATA) data: IDialogueDta\r\n ) {\r\n this.isRoundCrop = data.isRoundCrop\r\n if (data.imageFile) {\r\n this.imageFile = data.imageFile\r\n }\r\n if (data.imageFileName) {\r\n this.fileName = data.imageFileName\r\n }\r\n if (!data.isRoundCrop) {\r\n if (data.height) {\r\n this.opHeight = data.height\r\n }\r\n if (data.width) {\r\n this.opWidth = data.width\r\n }\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.thumbnailSizeDetection()\r\n this.valueSvc.isXSmall$.subscribe((isXSmall: boolean) => {\r\n this.isXSmall = isXSmall\r\n if (this.isXSmall) {\r\n this.dialogRef.updateSize('90%')\r\n } else {\r\n this.dialogRef.updateSize('70%')\r\n }\r\n })\r\n\r\n }\r\n\r\n // displays the default image\r\n changeToDefaultImg($event: any) {\r\n $event.target.src = this.configSvc.instanceConfig ?\r\n this.configSvc.instanceConfig.logos.defaultContent : ''\r\n }\r\n\r\n // image cropping event\r\n imageCropped(event: ImageCroppedEvent) {\r\n\r\n this.imageFileBase64 = event.base64 // store the cropped image as a base64 value\r\n this.cropimageFile = this.base64ImageToBlob(this.imageFileBase64) // convert the cropped image as a file\r\n this.croppedHeight = event.height\r\n this.croppedWidth = event.width\r\n\r\n }\r\n\r\n openSnackBar(message: string) {\r\n this.snackBar.open(message, 'X', {\r\n duration: 2000,\r\n })\r\n }\r\n continueToImageCrop() {\r\n this.isNotOfRequiredSize = false\r\n }\r\n\r\n // checks if the image is of the correct dimensions\r\n thumbnailSizeDetection() {\r\n const fr = new FileReader()\r\n fr.readAsDataURL(this.imageFile)\r\n fr.onload = () => { // when file has loaded\r\n const img = new Image()\r\n img.src = fr.result as string\r\n img.onload = () => {\r\n this.width = img.width\r\n this.height = img.height\r\n if (!this.isRoundCrop) {\r\n if ((this.height === this.opHeight) && (this.width === this.opWidth)) {\r\n this.openSnackBar('Image is of the required dimensions of the thumbnail, croping is not available!')\r\n return\r\n }\r\n if ((this.height < this.opHeight) || (this.width < this.opWidth)) {\r\n this.isNotOfRequiredSize = true\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n base64ImageToBlob(str: string): File {\r\n // extract content type and base64 payload from original string\r\n\r\n const pos = str.indexOf(';base64,')\r\n // var type = str.substring(5, pos);\r\n const b64 = str.substr(pos + 8)\r\n // decode base64\r\n const imageContent = atob(b64)\r\n // create an ArrayBuffer and a view (as unsigned 8-bit)\r\n const buffer = new ArrayBuffer(imageContent.length)\r\n const view = new Uint8Array(buffer)\r\n // fill the view, using the decoded base64\r\n for (let n = 0; n < imageContent.length; n = n + 1) {\r\n view[n] = imageContent.charCodeAt(n)\r\n }\r\n // convert ArrayBuffer to Blob\r\n const blob = new Blob([view], { type: 'image/png' })\r\n const b: any = blob\r\n // Cast to a File() type\r\n b.lastModifiedDate = new Date()\r\n b.name = this.fileName\r\n const file = new File([blob], this.fileName, { type: 'image/jpeg' })\r\n return file\r\n\r\n }\r\n\r\n private flipAfterRotate() {\r\n const flippedH = this.transform.flipH\r\n const flippedV = this.transform.flipV\r\n this.transform = {\r\n ...this.transform,\r\n flipH: flippedV,\r\n flipV: flippedH,\r\n }\r\n }\r\n\r\n rotateLeft() {\r\n this.canvasRotation = this.canvasRotation - 1\r\n this.flipAfterRotate()\r\n }\r\n\r\n rotateRight() {\r\n this.canvasRotation = this.canvasRotation + 1\r\n this.flipAfterRotate()\r\n }\r\n\r\n flipHorizontal() {\r\n this.transform = {\r\n ...this.transform,\r\n flipH: !this.transform.flipH,\r\n }\r\n }\r\n\r\n zoom(event: any) {\r\n this.resetValue = false\r\n this.transform = {\r\n ...this.transform,\r\n scale: event.value,\r\n }\r\n }\r\n\r\n // calls when apply button is clicked,and returns the cropped image\r\n croppingImage() {\r\n this.dialogRef.close(this.cropimageFile)\r\n }\r\n\r\n reset() {\r\n this.resetValue = true\r\n this.canvasRotation = 0\r\n this.transform = {}\r\n }\r\n // closes the dialog box\r\n close(): void {\r\n this.dialogRef.close()\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common'\r\nimport { NgModule } from '@angular/core'\r\nimport {\r\n MatButtonModule,\r\n MatCardModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatSliderModule,\r\n} from '@angular/material'\r\nimport { ImageCropperModule } from 'ngx-image-cropper'\r\nimport { ImageCropComponent } from './image-crop.component'\r\n// @dynamic\r\n@NgModule({\r\n declarations: [ImageCropComponent],\r\n imports: [\r\n CommonModule,\r\n ImageCropperModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatToolbarModule,\r\n MatDialogModule,\r\n MatCardModule,\r\n MatTooltipModule,\r\n MatSliderModule,\r\n ],\r\n exports: [ImageCropComponent],\r\n entryComponents: [ImageCropComponent],\r\n})\r\nexport class ImageCropModule { }\r\n","export enum EFeatures {\r\n // Playlists\r\n PLAYLIST = 'playlist',\r\n PLAYLIST_CREATE = 'playlistCreate',\r\n PLAYLIST_ADD_NEW_CONTENT = 'playlistAddNewContent',\r\n PLAYLIST_REMOVE_EXISTING_CONTENT = 'playlistRemoveExistingContent',\r\n PLAYLIST_DELETE = 'playlistDelete',\r\n PLAYLIST_SHARE = 'playlistShare',\r\n\r\n // Goals\r\n GOAL = 'goal',\r\n GOAL_CREATE_OWN = 'goalCreateOwn',\r\n GOAL_CREATE_SUGGESTED = 'goalCreateSuggested',\r\n GOAL_EDIT_EXISTING_GOAL = 'goalEditExistingGoal',\r\n GOAL_DELETE_EXISTING_GOAL = 'goalDeleteExistingGoal',\r\n GOAL_SHARE_GOAL_WITH_OTHERS = 'goalShareGoalWithOthers',\r\n GOAL_VIEW_ALL_GOALS_SECTION = 'goalViewAllGoalsSection',\r\n GOAL_VIEW_IN_PROGRESS_GOALS_SECTION = 'goalViewInProgressGoalsSection',\r\n GOAL_VIEW_COMPLETED_GOALS_SECTION = 'goalViewCompletedGoalsSection',\r\n\r\n // Navigator\r\n NAVIGATOR = 'navigator',\r\n NAVIGATOR_VIEW_NAVIGATOR_CAROUSEL = 'navigatorViewNavigatorCarousel',\r\n NAVIGATOR_VIEW_ROLES_PAGE = 'navigatorViewRolesPage',\r\n NAVIGATOR_SELECT_ANY_PILLAR = 'navigatorSelectAnyPillar',\r\n NAVIGATOR_PURSUE_ANY_OFFERING = 'navigatorPursueAnyOffering',\r\n NAVIGATOR_CREATE_GOAL_FROM_OFFERING = 'navigatorCreateGoalFromOffering',\r\n NAVIGATOR_VIEW_EXPLORE_PAGE = 'navigatorViewExplorePage',\r\n NAVIGATOR_SELECT_ANY_LEARNING_PATH = 'navigatorSelectAnyLearningPath',\r\n NAVIGATOR_CREATE_GOAL_FROM_LEARNING_PATH = 'navigatorCreateGoalFromLearningPath',\r\n NAVIGATOR_VIEW_SUGGESTIONS_PAGE = 'navigatorViewSuggestionsPage',\r\n NAVIGATOR_SELECT_SUGGESTED_TOPICS = 'navigatorSelectSuggestedTopics',\r\n NAVIGATOR_GET_SUGGESTIONS_OF_SELECTED_TOPICS = 'navigatorGetSuggestionsOfSelectedTopics',\r\n NAVIGATOR_CREATE_GOAL_FROM_SELECTED_LEARNING_PATHS = 'navigatorCreateGoalFromSelectedLearningPaths',\r\n NAVIGATOR_VIEW_INDUSTRIES_PAGE = 'navigatorViewIndustriesPage',\r\n NAVIGATOR_VIEW_CME_PAGE = 'navigatorViewCmePage',\r\n NAVIGATOR_SELECT_SUBDOMAIN = 'navigatorSelectSubdomain',\r\n NAVIGATOR_SELECT_PILLAR = 'navigatorSelectPillar',\r\n NAVIGATOR_SELECT_THEME = 'navigatorSelectTheme',\r\n NAVIGATOR_VIEW_CPG_PAGE = 'navigatorViewCpgPage',\r\n NAVIGATOR_VIEW_ENERGY_PAGE = 'navigatorViewEnergyPage',\r\n NAVIGATOR_VIEW_FINANCIAL_SERVICES_PAGE = 'navigatorViewFinancialServicesPage',\r\n NAVIGATOR_VIEW_HEALTH_CARE_PAGE = 'navigatorViewHealthCarePage',\r\n NAVIGATOR_VIEW_INSURANCE_PAGE = 'navigatorViewInsurancePage',\r\n NAVIGATOR_VIEW_LIFE_SCIENCES_PAGE = 'navigatorViewLifeSciencesPage',\r\n NAVIGATOR_VIEW_MFG_PAGE = 'navigatorViewMfgPage',\r\n NAVIGATOR_VIEW_RETAIL_PAGE = 'navigatorViewRetailPage',\r\n NAVIGATOR_VIEW_TRAVEL_AND_HOSPITALITY_PAGE = 'navigatorViewTravelAndHospitalityPage',\r\n NAVIGATOR_VIEW_UTILITIES_PAGE = 'navigatorViewUtilitiesPage',\r\n NAVIGATOR_VIEW_CME_ANALYTICS = 'navigatorViewCmeAnalytics',\r\n NAVIGATOR_VIEW_GPG_ANALYTICS = 'navigatorViewGpgAnalytics',\r\n NAVIGATOR_VIEW_ENERGY_ANALYTICS = 'navigatorViewEnergyAnalytics',\r\n NAVIGATOR_VIEW_FINANCIAL_SERVICES_ANALYTICS = 'navigatorViewFinancialServicesAnalytics',\r\n NAVIGATOR_VIEW_HEALTH_CARE_ANALYTICS = 'navigatorViewHealthCareAnalytics',\r\n NAVIGATOR_VIEW_INSURANCE_ANALYTICS = 'navigatorViewInsuranceAnalytics',\r\n NAVIGATOR_VIEW_LIFE_SCIENCES_ANALYTICS = 'navigatorViewLifeSciencesAnalytics',\r\n NAVIGATOR_VIEW_MFG_ANALYTICS = 'navigatorViewMfgAnalytics',\r\n NAVIGATOR_VIEW_RETAIL_ANALYTICS = 'navigatorViewRetailAnalytics',\r\n NAVIGATOR_VIEW_TRAVEL_AND_HOSPITALITY_ANALYTICS = 'navigatorViewTravelAndHospitalityAnalytics',\r\n NAVIGATOR_VIEW_UTILITIES_ANALYTICS = 'navigatorViewUtilitiesAnalytics',\r\n NAVIGATOR_VIEW_PILLARS_PAGE = 'navigatorViewPillarsPage',\r\n NAVIGATOR_VIEW_DIFFERENT_COURSES_IN_PILLAR = 'navigatorViewDifferentCoursesInPillar',\r\n NAVIGATOR_VIEW_FULL_STACK_PAGE = 'navigatorViewFullStackPage',\r\n NAVIGATOR_VIEW_DIFFERENT_FULL_STACK_PROGRAMS = 'navigatorViewDifferentFullStackPrograms',\r\n\r\n // Catalog\r\n CATALOG = 'catalog',\r\n CATALOG_VIEW_CATALOG_LIST = 'catalogViewCatalogList',\r\n CATALOG_SELECT_ITEM_FROM_CATALOG_LIST = 'catalogSelectItemFromCatalogList',\r\n CATALOG_VIEW_PROGRAMS_STRIP = 'catalogViewProgramsStrip',\r\n CATALOG_VIEW_COURSES_STRIP = 'catalogViewCoursesStrip',\r\n CATALOG_VIEW_LEARNING_MODULES_STRIP = 'catalogViewLearningModulesStrip',\r\n CATALOG_VIEW_RESOURCES_STRIP = 'catalogViewResourcesStrip',\r\n\r\n // Marketing Page\r\n MARKETING_PAGE = 'marketingPage',\r\n MARKETING_PAGE_VIEW_BRAND_ASSETS_PAGE = 'marketingPageViewBrandAssetsPage',\r\n MARKETING_PAGE_VIEW_CORPORATE_STRIP = 'marketingPageViewCorporateStrip',\r\n MARKETING_PAGE_VIEW_EMPLOYEE_STRIP = 'marketingPageViewEmployeeStrip',\r\n MARKETING_PAGE_VIEW_EXPERIMENTAL_SHOWCASE_PAGE = 'marketingPageViewExperimentalShowcasePage',\r\n MARKETING_PAGE_VIEW_HUBS_PAGE = 'marketingPageViewHubsPage',\r\n MARKETING_PAGE_VIEW_CONNECTICUT_STRIP = 'marketingPageViewConnecticutStrip',\r\n MARKETING_PAGE_VIEW_INDIANA_STRIP = 'marketingPageViewIndianaStrip',\r\n MARKETING_PAGE_VIEW_RHODE_ISLAND_STRIP = 'marketingPageViewRhodeIslandStrip',\r\n MARKETING_PAGE_VIEW_CLIENT_STORIES_PAGE = 'marketingPageViewClientStoriesPage',\r\n MARKETING_PAGE_VIEW_AGILE_SCALE_AT_DIGITAL_STRIP = 'marketingPageViewAgileScaleAtDigitalStrip',\r\n MARKETING_PAGE_VIEW_AI_POWERED_CORE_STRIP = 'marketingPageViewAiPoweredCoreStrip',\r\n MARKETING_PAGE_VIEW_ALWAYS_ON_LEAVING_STRIP = 'marketingPageViewAlwaysOnLeavingStrip',\r\n MARKETING_PAGE_VIEW_SERVICES_PAGE = 'marketingPageViewServicesPage',\r\n MARKETING_PAGE_VIEW_SERVICES_PENTAGON = 'marketingPageViewServicesPentagon',\r\n MARKETING_PAGE_VIEW_OFFERINGS_LIST = 'marketingPageViewOfferingsList',\r\n MARKETING_PAGE_SELECT_ANY_OFFERING = 'marketingPageSelectAnyOffering',\r\n MARKETING_PAGE_SELECT_ANY_PILLAR_FROM_PENTAGON = 'marketingPageSelectAnyPillarFromPentagon',\r\n MARKETING_PAGE_VIEW_INDUSTRIES_PAGE = 'marketingPageViewIndustriesPage',\r\n MARKETING_PAGE_VIEW_INDUSTRIES_LIST = 'marketingPageViewIndustriesList',\r\n MARKETING_PAGE_SELECT_ANY_INDUSTRY = 'marketingPageSelectAnyIndustry',\r\n MARKETING_PAGE_VIEW_PRODUCT_AND_SUBSIDIARIES_PAGE = 'marketingPageViewProductAndSubsidiariesPage',\r\n MARKETING_PAGE_VIEW_PRODUCT_AND_SUBSIDIARIES_LIST = 'marketingPageViewProductAndSubsidiariesList',\r\n MARKETING_PAGE_SELECT_ANY_PRODUCT_AND_SUBSIDIARY = 'marketingPageSelectAnyProductAndSubsidiary',\r\n\r\n // Interests\r\n INTERESTS = 'interests',\r\n INTERESTS_ADD_INTERESTS_FROM_SEARCH = 'interestsAddInterestsFromSearch',\r\n INTERESTS_ADD_INTERESTS_FROM_OUR_SUGGESTIONS_SECTION = 'interestsAddInterestsFromOurSuggestionsSection',\r\n INTERESTS_REMOVE_INTERESTS_FROM_MY_INTERESTS_SECTION = 'interestsRemoveInterestsFromMyInterestsSection',\r\n INTERESTS_VIEW_INTERESTS_SEARCH_FIELD = 'interestsViewInterestsSearchField',\r\n INTERESTS_VIEW_MY_INTERESTS_SECTION = 'interestsViewMyInterestsSection',\r\n INTERESTS_VIEW_OWN_SUGGESTIONS_SECTION = 'interestsViewOwnSuggestionsSection',\r\n INTERESTS_VIEW_MORE_SUGGESTIONS_BUTTON = 'interestsViewMoreSuggestionsButton',\r\n\r\n // Feedback\r\n FEEDBACK = 'feedback',\r\n FEEDBACK_VIEW_PLATFORM_FEEDBACK_SECTION = 'feedbackViewPlatformFeedbackSection',\r\n FEEDBACK_STAR_RATING_FOR_PLATFORM = 'feedbackStarRatingForPlatform',\r\n FEEDBACK_WRITE_PLATFORM_FEEDBACK = 'feedbackWritePlatformFeedback',\r\n FEEDBACK_RESET_PLATFORM_FEEDBACK = 'feedbackResetPlatformFeedback',\r\n FEEDBACK_SUBMIT_PLATFORM_FEEDBACK = 'feedbackSubmitPlatformFeedback',\r\n FEEDBACK_VIEW_CONTENT_FEEDBACK_SECTION = 'feedbackViewContentFeedbackSection',\r\n FEEDBACK_STAR_RATING_FOR_CONTENT = 'feedbackStarRatingForContent',\r\n FEEDBACK_WRITE_CONTENT_FEEDBACK = 'feedbackWriteContentFeedback',\r\n FEEDBACK_RESET_CONTENT_FEEDBACK = 'feedbackResetContentFeedback',\r\n FEEDBACK_SUBMIT_CONTENT_FEEDBACK = 'feedbackSubmitContentFeedback',\r\n FEEDBACK_VIEW_ISSUE_REPORTING_SECTION = 'feedbackViewIssueReportingSection',\r\n FEEDBACK_WRITING_ISSUE = 'feedbackWritingIssue',\r\n FEEDBACK_RESET_ISSUE = 'feedbackResetIssue',\r\n FEEDBACK_SUBMIT_ISSUE = 'feedbackSubmitIssue',\r\n\r\n // Contact Us\r\n CONTACT_US = 'contactUs',\r\n CONTACT_US_VIEW_RAISE_AHD_SECTION = 'contactUsViewRaiseAhdSection',\r\n CONTACT_US_VIEW_MAIL_US_SECTION = 'contactUsViewMailUsSection',\r\n CONTACT_US_VIEW_TALK_TO_US_SECTION = 'contactUsViewTalkToUsSection',\r\n CONTACT_US_RAISE_AHD = 'contactUsRaiseAhd',\r\n CONTACT_US_WRITE_EMAIL = 'contactUsWriteEmail',\r\n CONTACT_US_DIAL_FROM_PHONE = 'contactUsDialFromPhone',\r\n\r\n // FAQs\r\n FAQ = 'faq',\r\n FAQ_VIEW_LOGIN_FAQS = 'faqViewLoginFaqs',\r\n FAQ_VIEW_ODC_ACCESS_FAQS = 'faqViewOdcAccessFaqs',\r\n FAQ_VIEW_COMPATIBILITY_FAQS = 'faqViewCompatibilityFaqs',\r\n FAQ_VIEW_INSTALLATION_FAQS = 'faqViewInstallationFaqs',\r\n FAQ_VIEW_PROGRESS_COMPLETION_FAQS = 'faqViewProgressCompletionFaqs',\r\n FAQ_VIEW_VIDEO_FAQS = 'faqViewVideoFaqs',\r\n FAQ_VIEW_AUTHORING_FAQS = 'faqViewAuthoringFaqs',\r\n\r\n // Mobile Apps\r\n MOBILE_APPS = 'mobileApps',\r\n MOBILE_APPS_VIEW_ANDROID_APP_SECTION = 'mobileAppsViewAndroidAppSection',\r\n MOBILE_APPS_DOWNLOAD_APP_FROM_PLAY_STORE = 'mobileAppsDownloadAppFromPlayStore',\r\n MOBILE_APPS_DOWNLOAD_APP_FROM_OUR_SERVER = 'mobileAppsDownloadAppFromOurServer',\r\n MOBILE_APPS_VIEW_QR_CODE_FOR_ANDROID_APP = 'mobileAppsViewQrCodeForAndroidApp',\r\n MOBILE_APPS_VIEW_IOS_APP_SECTION = 'mobileAppsViewIosAppSection',\r\n MOBILE_APPS_DOWNLOAD_IOS_APP = 'mobileAppsDownloadIosApp',\r\n MOBILE_APPS_VIEW_QR_CODE_FOR_IOS_APP = 'mobileAppsViewQrCodeForIosApp',\r\n\r\n // About Us\r\n ABOUT_US = 'aboutUs',\r\n ABOUT_US_VIEW_ABOUT_US_PAGE_SECTIONS = 'aboutUsViewAboutUsPageSections',\r\n\r\n // Settings\r\n SETTINGS = 'settings',\r\n SETTINGS_VIEW_LANGUAGE_SECTION = 'settingsViewLanguageSection',\r\n SETTINGS_VIEW_FONT_SIZE_SECTION = 'settingsViewFontSizeSection',\r\n SETTINGS_VIEW_THEME_SECTION = 'settingsViewThemeSection',\r\n SETTINGS_CHANGE_LANGUAGE = 'settingsChangeLanguage',\r\n SETTINGS_CHANGE_FONT_SIZE = 'settingsChangeFontSize',\r\n SETTINGS_CHANGE_THEME = 'settingsChangeTheme',\r\n\r\n // Login Page\r\n LOGIN_PAGE = 'loginPage',\r\n LOGIN_PAGE_LOGIN_FOR_INFOSCIONS = 'loginPageLoginForInfoscions',\r\n LOGIN_PAGE_LOGIN_FOR_SUBSIDIARIES = 'loginPageLoginForSubsidiaries',\r\n LOGIN_PAGE_LOGIN_FOR_NEW_RECRUITS = 'loginPageLoginForNewRecruits',\r\n LOGIN_PAGE_ABOUT_US = 'loginPageAboutUs',\r\n LOGIN_PAGE_TERMS_OF_USE = 'loginPageTermsOfUse',\r\n LOGIN_PAGE_FAQS = 'loginPageFaqs',\r\n LOGIN_PAGE_CONTACT_US = 'loginPageContactUs',\r\n\r\n // TOC Page\r\n TOC_PAGE = 'tocPage',\r\n TOC_PAGE_VIEW_OVERVIEW_SECTION = 'tocPageViewOverviewSection',\r\n TOC_PAGE_VIEW_INSTRUCTOR_LED_SECTION = 'tocPageViewInstructorLedSection',\r\n TOC_PAGE_VIEW_COHORTS_SECTION = 'tocPageViewCohortsSection',\r\n TOC_PAGE_VIEW_DISCUSSION_FORUM_SECTION = 'tocPageViewDiscussionForumSection',\r\n TOC_PAGE_VIEW_COURSE_ANALYTICS_SECTION = 'tocPageViewCourseAnalyticsSection',\r\n TOC_PAGE_VIEW_WHATS_NEXT_SECTION = 'tocPageViewWhatsNextSection',\r\n TOC_PAGE_VIEW_PART_OF_SECTION = 'tocPageViewPartOfSection',\r\n TOC_PAGE_REGISTER_FOR_UPCOMING_TRAINING = 'tocPageRegisterForUpcomingTraining',\r\n TOC_PAGE_UNREGISTER_FROM_REGISTERED_TRAINING = 'tocPageUnregisterFromRegisteredTraining',\r\n TOC_PAGE_SHARE_INSTRUCTOR_LED_TRAININGS = 'tocPageShareInstructorLedTrainings',\r\n TOC_PAGE_VIEW_EDUCATORS_OF_TRAININGS = 'tocPageViewEducatorsOfTrainings',\r\n TOC_PAGE_NOMINATE_OTHERS_FOR_TRAININGS = 'tocPageNominateOthersForTrainings', // Applicable only for JL6 and above.\r\n TOC_PAGE_REQUEST_TRAINING = 'tocPageRequestTraining', // Applicable only for JL6 and above.\r\n TOC_PAGE_VIEW_ACTIVE_LEARNERS_SECTION = 'tocPageViewActiveLearnersSection',\r\n TOC_PAGE_VIEW_ALL_ACTIVE_LEARNERS = 'tocPageViewAllActiveLearners',\r\n TOC_PAGE_VIEW_CURRENTLY_ACTIVE_LEARNERS = 'tocPageViewCurrentlyActiveLearners',\r\n TOC_PAGE_VIEW_LEARNERS_SHARING_THE_SAME_GOALS = 'tocPageViewLearnersSharingTheSameGoals',\r\n TOC_PAGE_VIEW_EXPERTS_AND_TUTORS_SECTION = 'tocPageViewExpertsAndTutorsSection',\r\n TOC_PAGE_VIEW_ALL_EXPERTS_AND_TUTORS = 'tocPageViewAllExpertsAndTutors',\r\n TOC_PAGE_VIEW_AUTHORS_OF_COURSE = 'tocPageViewAuthorsOfCourse',\r\n TOC_PAGE_VIEW_EDUCATORS_OF_COURSE = 'tocPageViewEducatorsOfCourse',\r\n TOC_PAGE_VIEW_TOPPERS_OF_COURSE = 'tocPageViewToppersOfCourse',\r\n TOC_PAGE_MAIL_THE_PERSON = 'tocPageMailThePerson',\r\n TOC_PAGE_CALL_THE_PERSON = 'tocPageCallThePerson',\r\n TOC_PAGE_POST_VIEWS_IN_DISCUSSION_FORUM = 'tocPagePostViewsInDiscussionForum',\r\n TOC_PAGE_LEARN_THE_COURSE = 'tocPageLearnTheCourse',\r\n TOC_PAGE_LIKE_THE_COURSE = 'tocPageLikeTheCourse',\r\n TOC_PAGE_SHARE_THE_COURSE = 'tocPageShareTheCourse',\r\n TOC_PAGE_ADD_COURSE_TO_GOALS = 'tocPageAddCourseToGoals',\r\n TOC_PAGE_ADD_COURSE_TO_PLAYLIST = 'tocPageAddCourseToPlaylist',\r\n TOC_PAGE_ADD_COURSE_TO_WATCHLIST = 'tocPageAddCourseToWatchlist',\r\n TOC_PAGE_GIVE_COURSE_FEEDBACK = 'tocPageGiveCourseFeedback',\r\n TOC_PAGE_RESUME_THE_COURSE = 'tocPageResumeTheCourse',\r\n TOC_PAGE_START_OVER_THE_COURSE = 'tocPageStartOverTheCourse',\r\n TOC_PAGE_GO_TO_COURSE_QUIZ = 'tocPageGoToCourseQuiz',\r\n TOC_PAGE_GO_TO_COURSE_HANDS_ON = 'tocPageGoToCourseHandsOn',\r\n\r\n // Navbar\r\n NAVBAR = 'navbar',\r\n NAVBAR_VIEW_LOGO = 'navbarViewLogo',\r\n NAVBAR_CATALOG_ICON = 'navbarCatalogIcon',\r\n NAVBAR_NAVIGATOR_ICON = 'navbarNavigatorIcon',\r\n NAVBAR_NOTIFICATION_ICON = 'navbarNotificationIcon',\r\n NAVBAR_SETTINGS_ICON = 'navbarSettingsIcon',\r\n NAVBAR_SEARCH_ICON = 'navbarSearchIcon',\r\n NAVBAR_APPS_ICON = 'navbarAppsIcon',\r\n\r\n // Home Page\r\n HOME_PAGE = 'homePage',\r\n HOME_PAGE_VIEW_CAROUSEL = 'homePageViewCarousel',\r\n HOME_PAGE_VIEW_CONTINUE_LEARNING_STRIP = 'homePageViewContinueLearningStrip',\r\n HOME_PAGE_VIEW_FEATURED_APPS_STRIP = 'homePageViewFeaturedAppsStrip',\r\n HOME_PAGE_VIEW_RECENT_ADDITION_TO_PLAYLISTS_STRIP = 'homePageViewRecentAdditionToPlaylistsStrip',\r\n HOME_PAGE_VIEW_BASED_ON_YOUR_INTERESTS_STRIP = 'homePageViewBasedOnYourInterestsStrip',\r\n HOME_PAGE_VIEW_BASED_ON_WHAT_YOU_VIEWED_STRIP = 'homePageViewBasedOnWhatYouViewedStrip',\r\n HOME_PAGE_VIEW_LATEST_STRIP = 'homePageViewLatestStrip',\r\n HOME_PAGE_VIEW_TRENDING_STRIP = 'homePageViewTrendingStrip',\r\n HOME_PAGE_SHOW_COMPLETED_FILTER = 'homePageShowCompletedFilter',\r\n HOME_PAGE_SHOW_RESOURCES_FILTER = 'homePageShowResourcesFilter',\r\n\r\n // TNC Page\r\n TNC_PAGE = 'tncPage',\r\n TNC_PAGE_VIEW_CONTEST_RULES_SECTION = 'tncPageViewContestRulesSection',\r\n TNC_PAGE_VIEW_DATA_PRIVACY_SECTION = 'tncPageViewDataPrivacySection',\r\n TNC_PAGE_ACCEPT_TERMS_AND_CONDITIONS = 'tncPageAcceptTermsAndConditions',\r\n\r\n // Blogs\r\n BLOGS = 'blogs',\r\n BLOG_VIEW_OTHERS_BLOGS = 'blogViewOthersBlogs',\r\n BLOGS_LIKE_OTHER_BLOGS = 'blogsLikeOtherBlogs',\r\n BLOGS_VIEW_MY_BLOGS = 'blogsViewMyBlogs',\r\n BLOGS_WRITE_NEW_BLOG = 'blogsWriteNewBlog',\r\n BLOGS_SAVE_BLOG_AS_DRAFT = 'blogsSaveBlogAsDraft',\r\n BLOGS_EDIT_MY_SAVED_BLOG = 'blogsEditMySavedBlog',\r\n BLOGS_PUBLISH_MY_BLOG = 'blogsPublishMyBlog',\r\n BLOGS_UPVOTE_FOR_BLOG = 'blogsUpvoteForBlog',\r\n BLOGS_DOWNVOTE_FOR_BLOG = 'blogsDownvoteForBlog',\r\n BLOGS_WRITE_RESPONSE_FOR_BLOG = 'blogsWriteResponseForBlog',\r\n BLOGS_DELETE_MY_BLOG = 'blogsDeleteMyBlog',\r\n BLOGS_EDIT_MY_RESPONSE = 'blogsEditMyResponse',\r\n BLOGS_DELETE_MY_RESPONSE = 'blogsDeleteMyResponse',\r\n BLOGS_VIEW_DRAFTS_SECTION = 'blogsViewDraftsSection',\r\n BLOGS_VIEW_PUBLISHED_SECTION = 'blogsViewPublishedSection',\r\n\r\n // Question and Answer\r\n QUESTION_AND_ANSWER = 'questionAndAnswer',\r\n QUESTION_AND_ANSWER_VIEW_ALL_QUESTIONS_AND_ANSWERS = 'questionAndAnswerViewAllQuestionsAndAnswers',\r\n QUESTION_AND_ANSWER_VIEW_ONLY_UNANSWERED_QUESTIONS = 'questionAndAnswerViewOnlyUnansweredQuestions',\r\n QUESTION_AND_ANSWER_VIEW_MY_TIMELINE = 'questionAndAnswerViewMyTimeline',\r\n QUESTION_AND_ANSWER_ASK_NEW_QUESTION = 'questionAndAnswerAskNewQuestion',\r\n QUESTION_AND_ANSWER_VIEW_SPECIFIC_QUESTION = 'questionAndAnswerViewSpecificQuestion',\r\n QUESTION_AND_ANSWER_UPVOTE_FOR_ANSWER = 'questionAndAnswerUpvoteForAnswer',\r\n QUESTION_AND_ANSWER_DOWNVOTE_FOR_ANSWER = 'questionAndAnswerDownvoteForAnswer',\r\n QUESTION_AND_ANSWER_LIKE_AN_ANSWER = 'questionAndAnswerLikeAnAnswer',\r\n QUESTION_AND_ANSWER_ADD_COMMENT_FOR_ANY_ANSWER = 'questionAndAnswerAddCommentForAnyAnswer',\r\n QUESTION_AND_ANSWER_ADD_ANSWER_FOR_ANY_QUESTION = 'questionAndAnswerAddAnswerForAnyQuestion',\r\n QUESTION_AND_ANSWER_SAVE_QUESTION_AS_DRAFT = 'questionAndAnswerSaveQuestionAsDraft',\r\n QUESTION_AND_ANSWER_PUBLISH_SAVED_QUESTION = 'questionAndAnswerPublishedSavedQuestion',\r\n QUESTION_AND_ANSWER_VIEW_DRAFTS_SECTION = 'questionAndAnswerViewDraftsSection',\r\n QUESTION_AND_ANSWER_VIEW_PUBLISHED_SECTION = 'questionAndAnswerViewPublishedSection',\r\n\r\n // Badges\r\n BADGES = 'badges',\r\n BADGES_VIEW_RECENTLY_EARNED_BADGE = 'badgesViewRecentlyEarnedBadge',\r\n BADGES_VIEW_ALL_EARNED_BADGES = 'badgesViewAllEarnedBadges',\r\n BADGES_VIEW_NEXT_TARGETTED_BADGES = 'badgesViewNextTargettedBadges',\r\n\r\n // Hands on Dashboard\r\n HANDS_ON_DASHBOARD = 'handsOnDashboard',\r\n HANDS_ON_DASHBOARD_VIEW_MY_DASHBOARD = 'handsOnDashboardViewMyDashboard',\r\n HANDS_ON_DASHBOARD_VIEW_SHARED_PROFILE_SECTION = 'handsOnDashboardViewSharedProfileSection',\r\n\r\n // Learning History\r\n LEARNING_HISTORY = 'learningHistory',\r\n LEARNING_HISTORY_VIEW_PROGRAMS_SECTION = 'learningHistoryViewProgramsSection',\r\n LEARNING_HISTORY_VIEW_COURSES_SECTION = 'learningHistoryViewCoursesSection',\r\n LEARNING_HISTORY_VIEW_LEARNING_MODULES_SECTION = 'learningHistoryViewLearningModulesSection',\r\n LEARNING_HISTORY_VIEW_RESOURCES_SECTION = 'learningHistoryViewResourcesSection',\r\n LEARNING_HISTORY_VIEW_CERTIFICATIONS_SECTION = 'learningHistoryViewCertificationsSection',\r\n LEARNING_HISTORY_APPLY_COMPLETED_FILTER = 'learningHistoryApplyCompletedFilter',\r\n LEARNING_HISTORY_VIEW_MORE_BUTTON = 'learningHistoryViewMoreButton',\r\n\r\n // Learning Time\r\n LEARNING_TIME = 'learningTime',\r\n LEARNING_TIME_VIEW_LEARNING_TIME_GRAPH = 'learningTimeViewLearningTimeGraph',\r\n LEARNING_TIME_APPLY_BAR_GRAPH_FILTER = 'learningTimeApplyBarGraphFilter',\r\n LEARNING_TIME_APPLY_DATE_RANGE_FILTER = 'learningTimeApplyDateRangeFilter',\r\n LEARNING_TIME_APPLY_TIME_SPENT_FILTER = 'learningTimeApplyTimeSpentFilter',\r\n LEARNING_TIME_APPLY_APP_AVERAGE_FILTER = 'learningTimeApplyAppAverageFilter',\r\n LEARNING_TIME_APPLY_USER_AVERAGE_OVER_PERIOD_FILTER = 'learningTimeApplyUserAverageOverPeriodFilter',\r\n\r\n // Notification\r\n NOTIFICATION = 'notification',\r\n NOTIFICATION_VIEW_RECENT_BADGE_EARNED = 'notificationViewRecentBadgeEarned',\r\n NOTIFICATION_VIEW_SHARED_PLAYLIST = 'notificationViewSharedPlaylist',\r\n NOTIFICATION_VIEW_SHARED_GOALS = 'notificationViewSharedGoals',\r\n\r\n // Profile\r\n PROFILE = 'profile',\r\n PROFILE_VIEW_BASIC_INFORMATION = 'profileViewBasicInformation',\r\n PROFILE_VIEW_RECENTLY_LEARNED_COURSES = 'profileViewRecentlyLearnedCourses',\r\n PROFILE_VIEW_LIKED_ITEMS = 'profileViewLikedItems',\r\n PROFILE_VIEW_BADGES_EARNED = 'profileViewBadgesEarned',\r\n\r\n // Behavioural Skills\r\n BEHAVIORAL_SKILLS = 'behavioralSkills',\r\n BEHAVIORAL_SKILLS_VIEW_MODEL_CLIENT_INTERACTIONS = 'behavioralSkillsViewModalClientInteractions',\r\n BEHAVIORAL_SKILLS_VIEW_CLIENT_INTERACTION_TESTS = 'behavioralSkillsViewClientInteractionTests',\r\n\r\n // Certifications\r\n CERTIFICATIONS = 'certifications',\r\n CERTIFICATIONS_VIEW_MY_APPROVALS_SECTION = 'certificationsViewMyApprovalsSection',\r\n CERTIFICATIONS_VIEW_MY_REQUESTS_SECTION = 'certificationsViewMyRequestsSection',\r\n CERTIFICATIONS_VIEW_MY_CERTIFICATIONS_SECTION = 'certificationsViewMyCertificationsSection',\r\n CERTIFICATIONS_APPLY_COMPLETION_STATUS_FILTER = 'certificationsApplyCompletionStatusFilter',\r\n\r\n // Code Crack\r\n CODE_CRACK = 'codeCrack',\r\n CODE_CRACK_VIEW_PUZZLE_MANIA = 'codeCrackViewPuzzleMania',\r\n CODE_CRACK_VIEW_CODE_CRACK = 'codeCrackViewCodeCrack',\r\n CODE_CRACK_VIEW_TECHNOLOGY_PLAYGROUND = 'codeCrackViewTechnologyPlayground',\r\n CODE_CRACK_WATCH_PROGRAMMING_CHALLENGES_VIDEO = 'codeCrackWatchProgrammingChallengesVideo',\r\n CODE_CRACK_VIEW_ACCELERATE = 'codeCrackViewAccelerate',\r\n CODE_CRACK_START_CODE_CRACK_TEST = 'codeCrackStartCodeCrackTest',\r\n CODE_CRACK_START_PUZZLE_MANIA = 'codeCrackStartPuzzleMania',\r\n CODE_CRACK_START_TECHNOLOGY_PLAYGROUND = 'codeCrackStartTechnologyPlayground',\r\n\r\n // Instructor Led Training\r\n INSTRUCTOR_LED_TRAINING = 'instructorLedTraining',\r\n INSTRUCTOR_LED_TRAINING_VIEW_TRAINING_SCHEDULE_SECTION = 'instructorLedTrainingViewTrainingScheduleSection',\r\n INSTRUCTOR_LED_TRAINING_VIEW_FEEDBACK_SECTION = 'instructorLedTrainingViewFeedbackSection',\r\n INSTRUCTOR_LED_TRAINING_VIEW_TRAININGS_PLANNED_BY_YOUR_TEAM_SECTION = 'instructorLedTrainingViewTrainingsPlannedByYourTeamSection',\r\n INSTRUCTOR_LED_TRAINING_SEARCH_TRAINING = 'instructorLedTrainingSearchTraining',\r\n INSTRUCTOR_LED_TRAINING_REGISTER_FOR_TRAINING = 'instructorLedTrainingRegisterForTraining',\r\n INSTRUCTOR_LED_TRAINING_GIVE_TRAINING_FEEDBACK = 'instructorLedTrainingGiveTrainingFeedback',\r\n\r\n // LeaderBoard\r\n LEADERBOARD = 'leaderboard',\r\n LEADERBOARD_VIEW_WEEKLY_SECTION = 'leaderboardViewWeeklySection',\r\n LEADERBOARD_VIEW_MONTHLY_SECTION = 'leaderboardViewMonthlySection',\r\n LEADERBOARD_VIEW_HALL_OF_FAME_SECTION = 'leaderboardViewHallOfSection',\r\n LEADERBOARD_APPLY_LEARNER_COLLABORATOR_FILTER = 'leaderboardApplyLearnerCollaboratorFilter',\r\n LEADERBOARD_BACK_DATE_BUTTON = 'leaderboardBackDatebutton',\r\n LEADERBOARD_FORWARD_DATE_BUTTON = 'leaderboardForwardDateButton',\r\n\r\n // Playground\r\n PLAYGROUND = 'playground',\r\n PLAYGROUND_VIEW_TECHNOLOGY_PLAYGROUNDS_STRIP = 'playgroundViewTechnologyPlaygorundsStrip',\r\n PLAYGROUND_VIEW_ASSESSMENTS_PLAYGROUNDS_STRIP = 'playgroundViewAssessmentsPlaygroundsStrip',\r\n\r\n // Puzzle Mania\r\n PUZZLE_MANIA = 'puzzleMania',\r\n PUZZLE_MANIA_VIEW_PUZZLE_MANIA = 'puzzleManiaViewPuzzleMania',\r\n PUZZLE_MANIA_VIEW_CODE_CRACK = 'puzzleManiaViewCodeCrack',\r\n PUZZLE_MANIA_VIEW_TECHNOLOGY_PLAYGROUND = 'puzzleManiaViewTechnologyPlayground',\r\n PUZZLE_MANIA_WATCH_PROGRAMMING_CHALLENGES_VIDEO = 'puzzleManiaWatchProgrammingChallengesVideo',\r\n PUZZLE_MANIA_VIEW_ACCELERATE = 'puzzleManiaViewAccelerate',\r\n PUZZLE_MANIA_START_CODE_CRACK_TEST = 'puzzleManiaStartCodeCrackTest',\r\n PUZZLE_MANIA_START_PUZZLE_MANIA = 'puzzleManiaStartPuzzleMania',\r\n PUZZLE_MANIA_START_TECHNOLOGY_PLAYGROUND = 'puzzleManiaStartTechnologyPlayground',\r\n\r\n // Full Stack Sales Leader\r\n FULL_STACK_SALES_LEADER = 'fullStackSalesLeader',\r\n FULL_STACK_SALES_LEADER_WATCH_LEADER_VIDEO = 'fullStackSalesLeaderWatchLeaderVideo',\r\n FULL_STACK_SALES_LEADER_EMBARK_ON_THIS_LEARNING_JOURNEY_BUTTON = 'fullStackSalesLeaderEmbarkOnThisLearningJourneyButton',\r\n FULL_STACK_SALES_LEADER_QUICK_TOUR_VIDEO_LINK = 'fullStackSalesLeaderQuickTourVideoLink',\r\n FULL_STACK_SALES_LEADER_FEEDBACK_LINK = 'fullStackSalesLeaderFeedbackLink',\r\n FULL_STACK_SALES_LEADER_DROP_NOTE_LINK = 'fullStackSalesLeaderDropNoteLink',\r\n\r\n // Onboarding\r\n ONBOARDING = 'onboarding',\r\n ONBOARDING_VIEW_DC_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewDcOnboardingProgramsStrip',\r\n ONBOARDING_VIEW_ORGANISATIONAL_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewOrganisationalOnboardingProgramsStrip',\r\n ONBOARDING_VIEW_ROLE_BASED_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewRoleBasedOnboardingProgramsStrip',\r\n ONBOARDING_VIEW_UNIT_AND_PROJECT_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewUnitAndProjectOnboardingProgramsStrip',\r\n\r\n // Search\r\n SEARCH = 'search',\r\n SEARCH_SEARCHING_CONTENT = 'searchSearchingContent',\r\n\r\n // Knowledge Hub\r\n KNOWLEDGE_HUB = 'knowledgeHub',\r\n KNOWLEDGE_HUB_SUBMIT_KNOWLEDGE_ARTIFACTS = 'knowledgeHubSubmitKnowledgeArtifacts',\r\n KNOWLEDGE_HUB_VIEW_TOP_PROJECTS_SECTION = 'knowledgeHubViewTopProjectsSection',\r\n KNOWLEDGE_HUB_VIEW_INTERESTING_READS_SECTION = 'knowledgeHubViewInterestingReadsSection',\r\n KNOWLEDGE_HUB_VIEW_MARKETING_SECTION = 'knowledgeHubViewMarketingSection',\r\n KNOWLEDGE_HUB_VIEW_KSHOP_CLASSIC_SECTION = 'knowledgeHubViewKshopClassicSection',\r\n KNOWLEDGE_HUB_VIEW_TRENDING_TOOLS_SECTION = 'knowledgeHubViewTrendingToolsSection',\r\n KNOWLEDGE_HUB_VIEW_DOCUMENTS_STRIP = 'knowledgeHubViewDocumentsStrip',\r\n KNOWLEDGE_HUB_VIEW_TOOLS_STRIP = 'knowledgeHubViewProjectReferencesStrip',\r\n KNOWLEDGE_HUB_VIEW_MARKETING_STRIP = 'knowledgeHubViewMarketingStrip',\r\n\r\n // Channels\r\n CHANNELS = 'channels',\r\n CHANNELS_VIEW_LEADERSHIP_SECTION = 'channelsViewLeadershipSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_PAGE = 'channelsViewRaviKumarPage',\r\n CHANNELS_VIEW_MOHIT_JOSHI_PAGE = 'channelsViewMohitJoshiPage',\r\n CHANNELS_FOLLOW_RAVI_KUMAR = 'channelsFollowRaviKumar',\r\n CHANNELS_MAIL_TO_RAVI_KUMAR = 'channelsMailToRaviKumar',\r\n CHANNELS_VIEW_ABOUT_RAVI_KUMAR_SECTION = 'channelsViewAboutRaviKumarSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_TWEETS_SECTION = 'channelsViewRaviKumarTweetsSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_ARTICLES_SECTION = 'channelsViewRaviKumarArticlesSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_TRAILBLAZERS_SECTION = 'channelsViewRaviKumarTrailblazersSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_COMMUNICATIONS_SECTION = 'channelsViewRaviKumarCommunicationsSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_DISCUSSION_SECTION = 'channelsViewraviKumarDiscussionSection',\r\n CHANNELS_LIKE_TWEET_RAVI_KUMAR = 'channelsLikeTweetRaviKumar',\r\n CHANNELS_SHARE_TWEET_RAVI_KUMAR = 'channelsShareTweetRaviKumar',\r\n CHANNELS_POST_YOUR_THOUGHTS_IN_DISCUSSION_RAVI_KUMAR = 'channelsPostYourThoughtsInDiscussionRaviKumar',\r\n CHANNELS_FOLLOW_MOHIT_JOSHI = 'channelsFollowMohitJoshi',\r\n CHANNELS_MAIL_TO_MOHIT_JOSHI = 'channelsMailToMohitJoshi',\r\n CHANNELS_VIEW_ABOUT_MOHIT_JOSHI_SECTION = 'channelsViewAboutMohitJoshiSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_TWEETS_SECTION = 'channelsViewMohitJoshiTweetsSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_ARTICLES_SECTION = 'channelsViewMohitJoshiArticlesSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_TRAILBLAZERS_SECTION = 'channelsViewMohitJoshiTrailblazersSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_COMMUNICATIONS_SECTION = 'channelsViewMohitJoshiCommunicationsSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_DISCUSSION_SECTION = 'channelsViewMohitJoshiDiscussionSection',\r\n CHANNELS_LIKE_TWEET_MOHIT_JOSHI = 'channelsLikeTweetMohitJoshi',\r\n CHANNELS_SHARE_TWEET_MOHIT_JOSHI = 'channelsShareTweetMohitJoshi',\r\n CHANNELS_POST_YOUR_THOUGHTS_IN_DISCUSSION_MOHIT_JOSHI = 'channelsPostYourThoughtsInDiscussionMohitJoshi',\r\n CHANNELS_VIEW_CORPORATE_SECTION = 'channelsViewCorporateSection',\r\n CHANNELS_VIEW_EXPERIENCE_WOW_PAGE = 'channelsViewExperienceWowPage',\r\n CHANNELS_VIEW_INFOSYS_KNOWLEDGE_INSTITUTE_PAGE = 'channelsViewInfosysKnowledgeInstitutePage',\r\n CHANNELS_VIEW_CMT_LEARNING_HUB_PAGE = 'channelsViewCmtLearningHubPage',\r\n CHANNELS_VIEW_FULL_STACK_SALES_LEADERS_PAGE = 'channelsViewFullStackSalesLeaderPage',\r\n\r\n // Experience Wow Page\r\n EXPERIENCE_WOW_PAGE = 'experienceWowPage',\r\n EXPERIENCE_WOW_PAGE_VIEW_PAGE_SECTIONS = 'experienceWowPageViewPageSections',\r\n EXPERIENCE_WOW_PAGE_CHECK_Wingspan_STATISTICS = 'experienceWowPageCheckWingspanStatistics',\r\n EXPERIENCE_WOW_PAGE_CHECK_INFY_ME_STATISTICS = 'experienceWowPageCheckInfyMeStatistics',\r\n EXPERIENCE_WOW_PAGE_PROVIDE_SUGGESTIONS = 'experienceWowPageProvideSuggestions',\r\n EXPERIENCE_WOW_PAGE_SEND_MAIL_FOR_BECOMING_COCREATOR = 'experienceWowPageSendMailForBecomingCocreator',\r\n\r\n // Infy Radio\r\n INFY_RADIO = 'infyRadio',\r\n INFY_RADIO_VIEW_PODCASTS_STRIP = 'infyRadioViewPodcastsStrip',\r\n\r\n // Infy TV\r\n INFY_TV = 'infyTv',\r\n INFY_TV_VIEW_JUST_FOR_YOU_SECTION = 'infyTvViewJustForYouSection',\r\n INFY_TV_VIEW_MUST_VIEW_STRIP = 'infyTvViewMustViewStrip',\r\n INFY_TV_VIEW_LATEST_STRIP = 'infyTvViewLatestStrip',\r\n INFY_TV_VIEW_CHANNELS_SECTION = 'infyTvViewChannelsSection',\r\n INFY_TV_VIEW_CHANNELS_STRIP = 'infyTvViewChannelsStrip',\r\n INFY_TV_VIEW_BROADCAST_SECTION = 'infyTvViewBroadcastSection',\r\n INFY_TV_VIEW_PREVIOUS_EVENTS_LIST = 'infyTvViewPreviousEventsList',\r\n INFY_TV_VIEW_LIVE_EVENTS_LIST = 'infyTvViewLiveEventsList',\r\n INFY_TV_VIEW_UPCOMING_EVENTS_LIST = 'infyTvViewUpcomingEventsList',\r\n\r\n // Leadership Messages\r\n LEADERSHIP_MESSAGES = 'leadershipMessages',\r\n LEADERSHIP_MESSAGES_VIEW_LEADERSHIP_VIDEO = 'leadershipMessagesViewLeadershipVideo',\r\n\r\n // Living Labs\r\n LIVING_LABS = 'livingLabs',\r\n LIVING_LABS_VIEW_LIVING_LABS_STRIP = 'livingLabsViewLivingLabsStrip',\r\n\r\n // Americas Confluence 2018\r\n AMERICAS_CONFLUENECE = 'americasConfluence',\r\n AMERICAS_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS = 'americasConfluenceViewConfluenceVideosStrips',\r\n\r\n // APAC Confluence 2019\r\n APAC_CONFLUENECE = 'apacConfluence',\r\n APAC_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS = 'apacConfluenceViewConfluenceVideosStrips',\r\n\r\n // EMEA Confluence 2018\r\n EMEA_CONFLUENECE = 'emeaConfluence',\r\n EMEA_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS = 'emeaConfluenceViewConfluenceVideosStrips',\r\n\r\n // Connect 2019\r\n CONNECT = 'connect',\r\n CONNECT_VIEW_CONTENT_STRIP = 'connectViewContentStrip',\r\n\r\n // Live Events\r\n LIVE_EVENTS = 'liveEvents',\r\n LIVE_EVENTS_WATCH_LIVE = 'liveEventsWatchLive',\r\n LIVE_EVENTS_WATCH_CLASSROOM_BROADCAST = 'liveEventsWatchClassroomBroadcast',\r\n LIVE_EVENTS_WATCH_THREE_SIXTY_VIDEO = 'liveEventsWatchThreeSixtyVideo',\r\n LIVE_EVENTS_WATCH_FAMILY_MATTERS_VIDEO = 'liveEventsWatchFamilyMattersVideo',\r\n LIVE_EVENTS_WATCH_CONFLUENCE_EVENTS = 'liveEventsWatchConfluenceEvents',\r\n\r\n // Digital Assistant Tour\r\n DIGITAL_ASSISTANT_TOUR = 'digitalAssistantTour',\r\n DIGITAL_ASSISTANT_TOUR_WATCH_TOUR_VIDEO = 'digitalAssistantTourWatchTourVideo',\r\n\r\n // Quick Tour\r\n QUICK_TOUR = 'quickTour',\r\n QUICK_TOUR_WATCH_TOUR_VIDEO = 'quickTourWatchTourVideo',\r\n\r\n // Logout\r\n LOGOUT = 'logout',\r\n LOGOUT_LOGS_OUT_FROM_APPLICATION = 'logoutLogsOutFromApplication',\r\n\r\n // My Analytics\r\n MY_ANALYTICS = 'myAnalytics',\r\n MY_ANALYTICS_APPLY_QUARTER_FILTERS = 'myAnalyticsApplyQuarterFilters',\r\n MY_ANALYTICS_VIEW_MY_LEARNING_SECTION = 'myAnalyticsViewMyLearningSection',\r\n MY_ANALYTICS_VIEW_MY_ASSESSMENT_SECTION = 'myAnalyticsViewMyAssessmentSection',\r\n MY_ANALYTICS_VIEW_MY_REFACTORING_SECTION = 'myAnalyticsViewMyRefactoringSection',\r\n MY_ANALYTICS_VIEW_MY_PLANS_SECTION = 'myAnalyticsViewMyPlansSection',\r\n MY_ANALYTICS_VIEW_MY_COLLABORATORS_SECTION = 'myAnalyticsViewMyCollaboratorsSection',\r\n MY_ANALYTICS_VIEW_MY_FEATURES_USAGE_SECTION = 'myAnalyticsViewTopCoursesSection',\r\n MY_ANALYTICS_VIEW_MY_LEARNING_MINUTES = 'myAnalyticsViewMyLearningMinutes',\r\n MY_ANALYTICS_VIEW_MY_LEARNING_POINTS = 'myAnalyticsViewMyLearningPoints',\r\n MY_ANALYTICS_VIEW_BADGES = 'myAnalyticsViewBadges',\r\n MY_ANALYTICS_VIEW_TIME_SPENT_BY_USER = 'myAnalyticsViewTimeSpentByUser',\r\n MY_ANALYTICS_VIEW_AVERAGE_MINUTES_ON_Wingspan = 'myAnalyticsViewAverageMinutesOnWingspan',\r\n MY_ANALYTICS_VIEW_AVERAGE_MINUTES_ACROSS_DIMENSIONS = 'myAnalyticsViewAverageMinutesAcrossDimensions',\r\n MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_USER = 'myAnalyticsViewPercentageTimeSpentByUser',\r\n MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_INFOSCIONS = 'myAnalyticsViewPercentageTimeSpentByInfoscions',\r\n MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_PEERS = 'myAnalyticsViewPercentageTimeSpentByPeers',\r\n MY_ANALYTICS_VIEW_TOTAL_ASSESSMENTS = 'myAnalyticsViewTotalAssessments',\r\n MY_ANALYTICS_VIEW_PENDING_ASSESSMENTS = 'myAnalyticsViewPendingAssessments',\r\n MY_ANALYTICS_VIEW_CERTIFICATIONS = 'myAnalyticsViewCertifications',\r\n MY_ANALYTICS_VIEW_ASSESSMENTS = 'myAnalyticsViewAssessments',\r\n MY_ANALYTICS_VIEW_RECENT_ASSESSMENTS = 'myAnalyticsViewRecentAssessments',\r\n MY_ANALYTICS_VIEW_ASSESSMENT_DETAILS = 'myAnalyticsViewAssessmentDetails',\r\n MY_ANALYTICS_VIEW_RECENT_ASSESSMENT = 'myAnalyticsViewRecentAssessment',\r\n MY_ANALYTICS_VIEW_MY_REFACTORING_PROGRAM = 'myAnalyticsViewMyRefactoringProgram',\r\n MY_ANALYTICS_VIEW_NAVIGATOR = 'myAnalyticsViewNavigator',\r\n MY_ANALYTICS_VIEW_AI_AND_AUTOMATION_PROGRESS = 'myAnalyticsViewAiAndAutomationProcess',\r\n MY_ANALYTICS_VIEW_MY_GOALS = 'myAnalyticsViewMyGoals',\r\n MY_ANALYTICS_VIEW_PLAYLIST = 'myAnalyticsViewPlaylist',\r\n MY_ANALYTICS_VIEW_GOALS_SHARED_WITH_USER = 'myAnalyticsViewGoalsSharedWithUser',\r\n MY_ANALYTICS_VIEW_DETAILED_COURSES_PROGRESS = 'myAnalyticsViewDetailedCoursesProgress',\r\n MY_ANALYTICS_VIEW_GOALS_SHARED_BY_USER = 'myAnalyticsViewGoalsSharedByUser',\r\n MY_ANALYTICS_VIEW_ARTIFACTS_SHARED_BY_USER = 'myAnalyticsViewArtifactsSharedByUser',\r\n MY_ANALYTICS_VIEW_EXPERTS_USER_CONTACTED = 'myAnalyticsViewExpertsUserContacted',\r\n MY_ANALYTICS_VIEW_DETAILED_GOALS_SHARING = 'myAnalyticsViewDetailedGoalsSharing',\r\n MY_ANALYTICS_VIEW_PLAYGROUNDS = 'myAnalyticsViewPlaygrounds',\r\n MY_ANALYTICS_VIEW_LIKES = 'myAnalyticsViewLikes',\r\n MY_ANALYTICS_VIEW_SEARCH = 'myAnalyticsViewSearch',\r\n MY_ANALYTICS_VIEW_INFY_TV = 'myAnalyticsViewInfyTv',\r\n MY_ANALYTICS_VIEW_INFY_RADIO = 'myAnalyticsViewInfyRadio',\r\n MY_ANALYTICS_VIEW_INFY_LIVE = 'myAnalyticsViewInfyLive',\r\n MY_ANALYTICS_VIEW_TOP_COURSES_BY_USER_UNIT = 'myAnalyticsViewTopCoursesByUserUnit',\r\n MY_ANALYTICS_VIEW_TOP_COURSES_BY_USER_PEERS = 'myAnalyticsViewTopCoursesbyUserPeers',\r\n\r\n // Learning Analytics\r\n LEARNING_ANALYTICS = 'learningAnalytics',\r\n LEARNING_ANALYTICS_SEARCH_FOR_PARTICIPANTS_AND_EDUCATORS = 'learningAnalyticsSearchForParticipantsAndEducators',\r\n LEARNING_ANALYTICS_UNIT_FILTER = 'learningAnalyticsUnitFilter',\r\n LEARNING_ANALYTICS_PU_FILTER = 'learningAnalyticsPuFilter',\r\n LEARNING_ANALYTICS_DU_FILTER = 'learningAnalyticsDuFilter',\r\n LEARNING_ANALYTICS_ACCOUNT_FILTER = 'learningAnalyticsAccountFilter',\r\n LEARNING_ANALYTICS_LOCATION_FILTER = 'learningAnalyticsLocationFilter',\r\n LEARNING_ANALYTICS_QUARTER_FILTER = 'learningAnalyticsQuarterFilter',\r\n LEARNING_ANALYTICS_COMPLETED_FILTER = 'learningAnalyticsCompletedFilter',\r\n LEARNING_ANALYTICS_ETA_FILTER = 'learningAnalyticsEtaFilter',\r\n LEARNING_ANALYTICS_UNIQUE_USERS_DATA = 'learningAnalyticsUniqueUsersData',\r\n LEARNING_ANALYTICS_USERS_BY_ONSITE_OFFSHORE = 'learningAnalyticsUsersByOnsiteOffshore',\r\n LEARNING_ANALYTICS_USERS_BY_DEVICE_TYPE = 'learningAnalyticsUsersByDeviceType',\r\n LEARNING_ANALYTICS_USERS_BY_UNIT = 'learningAnalyticsUsersByUnit',\r\n LEARNING_ANALYTICS_USERS_BY_TRACK = 'learningAnalyticsUsersByTrack',\r\n LEARNING_ANALYTICS_USERS_BY_PU_SALES = 'learningAnalyticsUsersByPuSales',\r\n LEARNING_ANALYTICS_USERS_BY_CU_TYPE = 'learningAnalyticsUsersByCuType',\r\n LEARNING_ANALYTICS_USERS_BY_SKILL = 'learningAnalyticsUsersBySkill',\r\n LEARNING_ANALYTICS_USERS_BY_TOPICS = 'learningAnalyticsUsersByTopics',\r\n LEARNING_ANALYTICS_USERS_BY_HORIZON = 'learningAnalyticsUsersByHorizon',\r\n LEARNING_ANALYTICS_USERS_GROWTH = 'learningAnalyticsUsersGrowth',\r\n LEARNING_ANALYTICS_USERS_DETAILS = 'learningAnalyticsUsersDetails',\r\n LEARNING_ANALYTICS_VIEW_ALL_TRAININGS_SECTION = 'learningAnalyticsViewAllTrainingsSection',\r\n LEARNING_ANALYTICS_TALENT_GRID_FILTER = 'learningAnalyticstalentGridFilter',\r\n LEARNING_ANALYTICS_STACK_FILTER = 'learningAnalyticsStackFilter',\r\n LEARNING_ANALYTICS_UNIQUE_PARTICIPANTS = 'learningAnalyticsUniqueParticipants',\r\n LEARNING_ANALYTICS_OVERALL_PARTICIPANTS = 'learningAnalyticsOverallParticipants',\r\n LEARNING_ANALYTICS_AVERAGE_DAYS = 'learningAnalyticsAverageDays',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_ONSITE_ONSHORE = 'learningAnalyticsParticipantsByOnsiteOnshore',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_UNIT = 'learningAnalyticsParticipantsByUnit',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_PU = 'learningAnalyticsParticipantsByPu',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_SKILL_TYPE = 'learningAnalyticsParticipantsBySkillType',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_SKILL = 'learningAnalyticsParticipantsBySkill',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_STACKS = 'learningAnalyticsParticipantsByStacks',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_NEW_SERVICES = 'learningAnalyticsParticipantsByNewServices',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_LEARNING_TRACK = 'learningAnalyticsParticipantsByLearningTrack',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_OFFERING_MODE = 'learningAnalyticsParticipantsByOfferingMode',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_TOPICS = 'learningAnalyticsParticipantsByTopics',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_ABCD = 'learningAnalyticsParticipantsByAbcd',\r\n LEARNING_ANALYTICS_PARTICIPANTS_DETAILS = 'learningAnalyticsParticipantsDetails',\r\n LEARNING_ANALYTICS_SCHEDULES_SECTION = 'learningAnalyticsSchedulesSection',\r\n LEARNING_ANALYTICS_SCHEDULE_DATE_FILTER = 'learningAnalyticsScheduleDateFilter',\r\n LEARNING_ANALYTICS_PARTICIPANTS = 'learningAnalyticsParticipants',\r\n LEARNING_ANALYTICS_EDUCATORS = 'learningAnalyticsEducators',\r\n LEARNING_ANALYTICS_COURSES = 'learningAnalyticsCourses',\r\n LEARNING_ANALYTICS_SCHEDULES = 'learningAnalyticsSchedules',\r\n LEARNING_ANALYTICS_VIEW_TRAINING_SCHEDULES_SECTION = 'learningAnalyticsTrainingSchedulesSection',\r\n LEARNING_ANALYTICS_COURSES_BY_OFFERING_MODE = 'learningAnalyticsCoursesByOfferingMode',\r\n LEARNING_ANALYTICS_COURSES_BY_TRACK = 'learningAnalyticsCoursesByTrack',\r\n LEARNING_ANALYTICS_COURSES_BY_TOPIC = 'learningAnalyticsCoursesByTopic',\r\n LEARNING_ANALYTICS_COURSES_BY_ABCD = 'learningAnalyticsCoursesByAbcd',\r\n LEARNING_ANALYTICS_COURSES_BY_SKILL = 'learningAnalyticsCoursesBySkill',\r\n\r\n // Apps Page\r\n APPS_PAGE = 'appsPage',\r\n APPS_PAGE_VIEW_DIFFERENT_APPS_ICONS = 'appsPageViewDifferentAppsIcons',\r\n\r\n // Course Card\r\n COURSE_CARD = 'courseCard',\r\n COURSE_CARD_LIKE_THE_COURSE_BUTTON = 'courseCardLikeTheCourseButton',\r\n COURSE_CARD_SHARE_THE_COURSE_BUTTON = 'courseCardShareTheCourseButton',\r\n COURSE_CARD_ADD_COURSE_TO_GOALS_BUTTON = 'courseCardAddCourseToGoalsButton',\r\n COURSE_CARD_ADD_COURSE_TO_PLAYLIST_BUTTON = 'courseCardAddCourseToPlaylistButton',\r\n COURSE_CARD_VIEW_MORE_OPTIONS_BUTTON = 'courseCardViewMoreOptionsButton',\r\n COURSE_CARD_START_COURSE_OPTION = 'courseCardStartCourseOption',\r\n COURSE_CARD_VIEW_TOC_OPTION = 'courseCardViewTocOption',\r\n COURSE_CARD_COHORTS_OPTION = 'courseCardCohortsOption',\r\n COURSE_CARD_ANALYTICS_OPTION = 'courseCardAnalyticsOption',\r\n\r\n // Search Results Page\r\n SEARCH_RESULTS_PAGE = 'searchResultsPage',\r\n SEARCH_RESULTS_PAGE_VIEW_LEARNING_SECTION = 'searchResultsPageViewLearningSection',\r\n SEARCH_RESULTS_PAGE_VIEW_CERTIFICATIONS_SECTION = 'searchResultsPageViewCertificationsSection',\r\n SEARCH_RESULTS_PAGE_VIEW_KNOWLEDGE_SECTION = 'searchResultsPageViewKnowledgeSection',\r\n SEARCH_RESULTS_PAGE_VIEW_PROJECTS_SECTION = 'searchResultsPageViewProjectsSection',\r\n SEARCH_RESULTS_PAGE_VIEW_SOCIAL_SECTION = 'searchResultsPageViewSocialSection',\r\n SEARCH_RESULTS_PAGE_CATALOG_FILTER = 'searchResultsPageCatalogFilter',\r\n SEARCH_RESULTS_PAGE_DURATION_FILTER = 'searchResultsPageDurationFilter',\r\n SEARCH_RESULTS_PAGE_CONTENT_TYPE_FILTER = 'searchResultsPageContentTypeFilter',\r\n SEARCH_RESULTS_PAGE_LEVEL_FILTER = 'searchResultsPageLevelFilter',\r\n SEARCH_RESULTS_PAGE_SOURCE_FILTER = 'searchResultsPageSourceFilter',\r\n SEARCH_RESULTS_PAGE_UNIT_FILTER = 'searchResultsPageUnitFilter',\r\n SEARCH_RESULTS_PAGE_TYPE_FILTER = 'searchResultsPageTypeFilter',\r\n SEARCH_RESULTS_PAGE_PUBLISHED_DATE_FILTER = 'searchResultsPagePublishedDateFilter',\r\n SEARCH_RESULTS_PAGE_CATEGORY_FILTER = 'searchResultsPageCategoryFilter',\r\n SEARCH_RESULTS_PAGE_ITEM_TYPE_FILTER = 'searchResultsPageItemTypeFilter',\r\n SEARCH_RESULTS_PAGE_TOPICS_FILTER = 'searchResultsPageTopicsFilter',\r\n SEARCH_RESULTS_PAGE_AUTHORS_FILTER = 'searchResultsPageAuthorsFilter',\r\n SEARCH_RESULTS_PAGE_TAGS_FILTER = 'searchResultsPageTagsFilter',\r\n SEARCH_RESULTS_PAGE_GROUPS_FILTER = 'searchResultsPageGroupsFilter',\r\n SEARCH_RESULTS_PAGE_VIEW_RESULT_CARDS = 'searchResultsPageViewResultCards',\r\n SEARCH_RESULTS_PAGE_VIEW_RELATED_CONCEPTS = 'searchResultsPageViewRelatedConcepts',\r\n\r\n // Lab42 Pages\r\n LAB_42_INTERVIEW = 'interview',\r\n LAB_42_DIALOGUE = 'dialogue',\r\n LAB_42_STRATEGY_MAP = 'strategyMap',\r\n LAB_42_VIRTUAL_CLASSROOM = 'virtualClassroom',\r\n LAB_42_PROJECT_STACK = 'projectStack',\r\n LAB_42_LIVE_TRANSCRIBE = 'liveTranscribe',\r\n LAB_42_EPOCH = 'epoch',\r\n\r\n // Learning Assistant Pages\r\n LEARNING_ASSISTANT_MAQ = 'learning-assistant-maq',\r\n LEARNING_ASSISTANT_ILIPDP = 'learning-assistant-ilipdp',\r\n}\r\n","export enum EInstance {\r\n INSTANCE = 'RootOrg',\r\n}\r\n","import { Directive, Input, OnInit, HostBinding, OnDestroy, AfterViewInit } from '@angular/core'\r\nimport { Subscription, fromEvent } from 'rxjs'\r\nimport { debounceTime } from 'rxjs/operators'\r\n\r\nenum ScrollingStateEnum {\r\n ScrollingUp,\r\n ScrollingDown,\r\n NoScrolling,\r\n}\r\n\r\n@Directive({\r\n selector: '[wsUtilsClassChangeOnScroll]',\r\n})\r\nexport class ClassChangeOnScrollDirective implements OnInit, OnDestroy, AfterViewInit {\r\n\r\n @Input() wsClassOnScrollDirChange = 5000\r\n\r\n @HostBinding('class.scrolling-down') get isScrollingDown() {\r\n return this.currState === ScrollingStateEnum.ScrollingDown\r\n }\r\n @HostBinding('class.scrolling-up') get isScrollingUp() {\r\n return this.currState === ScrollingStateEnum.ScrollingUp\r\n }\r\n @HostBinding('class.scrolling-no') get isNotScrolling() {\r\n return this.currState === ScrollingStateEnum.NoScrolling\r\n }\r\n @HostBinding('class.scrolled-down') hasScrolledDown = false\r\n\r\n private windowScrollSubscription: Subscription | null = null\r\n private timeoutTimer: any\r\n\r\n private lastScreenTop = 0\r\n private currState: ScrollingStateEnum = ScrollingStateEnum.NoScrolling\r\n constructor() { }\r\n ngOnInit() {\r\n this.windowScrollSubscription = fromEvent<Event>(window, 'scroll')\r\n .pipe(debounceTime(50))\r\n .subscribe(() => {\r\n clearTimeout(this.timeoutTimer)\r\n const curr = window.scrollY\r\n this.hasScrolledDown = curr > 56\r\n this.setScrollState(this.lastScreenTop, curr)\r\n this.lastScreenTop = curr\r\n })\r\n }\r\n\r\n ngAfterViewInit() { }\r\n ngOnDestroy() {\r\n if (this.windowScrollSubscription) {\r\n this.windowScrollSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n private setScrollState(prev: number = 0, curr: number = 0) {\r\n if (prev > curr) {\r\n this.currState = ScrollingStateEnum.ScrollingUp\r\n } else if (prev < curr) {\r\n this.currState = ScrollingStateEnum.ScrollingDown\r\n } else {\r\n this.currState = ScrollingStateEnum.NoScrolling\r\n }\r\n if (this.currState !== ScrollingStateEnum.NoScrolling) {\r\n this.resetScrollingState()\r\n }\r\n }\r\n private resetScrollingState() {\r\n this.timeoutTimer = setTimeout(\r\n () => {\r\n this.setScrollState()\r\n },\r\n this.wsClassOnScrollDirChange || 5000,\r\n )\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ClassChangeOnScrollDirective } from './class-change-on-scroll.directive'\r\n\r\n@NgModule({\r\n declarations: [ClassChangeOnScrollDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ClassChangeOnScrollDirective],\r\n})\r\nexport class ClassChangeOnScrollModule { }\r\n","import { Directive, Input, HostListener, HostBinding, OnChanges } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsDefaultThumbnail]',\r\n})\r\nexport class DefaultThumbnailDirective implements OnChanges {\r\n\r\n @Input() wsUtilsDefaultThumbnail = ''\r\n @Input() src = ''\r\n isSrcUpdateAttemptedForDefault = false\r\n\r\n @HostBinding('src') srcUrl = ''\r\n @HostListener('error') updateSrc() {\r\n if (!this.isSrcUpdateAttemptedForDefault) {\r\n this.srcUrl = this.wsUtilsDefaultThumbnail\r\n this.isSrcUpdateAttemptedForDefault = true\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.srcUrl = this.src\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { DefaultThumbnailDirective } from './default-thumbnail.directive'\r\n\r\n@NgModule({\r\n declarations: [DefaultThumbnailDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [DefaultThumbnailDirective],\r\n})\r\nexport class DefaultThumbnailModule { }\r\n","import { BreakpointObserver } from '@angular/cdk/layout'\r\nimport { Directive, HostBinding, Input, OnChanges, OnDestroy } from '@angular/core'\r\nimport { Subscription } from 'rxjs'\r\nimport { distinctUntilChanged } from 'rxjs/operators'\r\n\r\nexport interface IImageResponsiveUnit {\r\n [key: string]: string\r\n}\r\n\r\nconst customBreakPoints = {\r\n xs: '(max-width: 450px)',\r\n s: '(min-width: 450.001px) and (max-width: 768px)',\r\n m: '(min-width: 768.001px) and (max-width: 1024px)',\r\n l: '(min-width: 1024.001px) and (max-width: 1400px)',\r\n xl: '(min-width: 1400.001px) and (max-width: 1920px)',\r\n xxl: '(min-width: 1920.001px)',\r\n}\r\n\r\n@Directive({\r\n selector: '[wsUtilsImageResponsive]',\r\n})\r\nexport class ImageResponsiveDirective implements OnChanges, OnDestroy {\r\n\r\n @Input() src: IImageResponsiveUnit | null = null\r\n @HostBinding('src') srcBindUrl = ''\r\n\r\n currentSize = ''\r\n breakpointSubscription: Subscription | null = null\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n ) {\r\n this.breakpointSubscription = this.breakpointObserver\r\n .observe([\r\n customBreakPoints.xs,\r\n customBreakPoints.s,\r\n customBreakPoints.m,\r\n customBreakPoints.l,\r\n customBreakPoints.xl,\r\n customBreakPoints.xxl,\r\n ])\r\n .pipe(distinctUntilChanged())\r\n .subscribe(data => {\r\n // //console.log('data >', data)\r\n if (data.breakpoints[customBreakPoints.xxl]) {\r\n this.currentSize = 'xxl'\r\n } else if (data.breakpoints[customBreakPoints.xl]) {\r\n this.currentSize = 'xl'\r\n } else if (data.breakpoints[customBreakPoints.l]) {\r\n this.currentSize = 'l'\r\n } else if (data.breakpoints[customBreakPoints.m]) {\r\n this.currentSize = 'm'\r\n } else if (data.breakpoints[customBreakPoints.s]) {\r\n this.currentSize = 's'\r\n } else if (data.breakpoints[customBreakPoints.xs]) {\r\n this.currentSize = 'xs'\r\n } else {\r\n this.currentSize = 'xl'\r\n }\r\n this.setSrc()\r\n })\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.setSrc()\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.breakpointSubscription) {\r\n this.breakpointSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n private setSrc() {\r\n if (\r\n this.currentSize &&\r\n this.src &&\r\n this.src[this.currentSize]\r\n ) {\r\n this.srcBindUrl = this.src[this.currentSize]\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ImageResponsiveDirective } from './image-responsive.directive'\r\n\r\n@NgModule({\r\n declarations: [ImageResponsiveDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ImageResponsiveDirective],\r\n})\r\nexport class ImageResponsiveModule { }\r\n","import { Directive, OnInit, Output, EventEmitter, ElementRef, OnDestroy } from '@angular/core'\r\nimport { fromEvent } from 'rxjs'\r\nimport { debounceTime } from 'rxjs/operators'\r\n\r\n@Directive({\r\n selector: '[wsUtilsInViewPort]',\r\n})\r\nexport class InViewPortDirective implements OnInit, OnDestroy {\r\n\r\n private scroll: any\r\n private resize: any\r\n\r\n @Output() inViewport: EventEmitter<boolean> = new EventEmitter<boolean>()\r\n\r\n constructor(private _el: ElementRef) { }\r\n\r\n ngOnInit() {\r\n this.check()\r\n this.scroll =\r\n fromEvent(window, 'scroll').pipe(debounceTime(100)).subscribe(() => {\r\n this.check()\r\n })\r\n this.resize =\r\n fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe(() => {\r\n this.check()\r\n })\r\n\r\n // let limit = 1\r\n // this.scroll =\r\n // fromEvent(window, 'scroll').pipe(debounceTime(100)).subscribe(() => {\r\n // if (limit) {\r\n // this.check()\r\n // limit -= 1\r\n // }\r\n // })\r\n\r\n // this.resize =\r\n // fromEvent(window, 'resize').toPromise().then(() => {\r\n // this.check()\r\n // })\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.scroll.unsubscribe()\r\n this.resize.unsubscribe()\r\n }\r\n\r\n check(partial: boolean = true, direction: string = 'both') {\r\n const el = this._el.nativeElement\r\n\r\n const elSize = (el.offsetWidth * el.offsetHeight)\r\n\r\n const rec = el.getBoundingClientRect()\r\n\r\n const vp = {\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n }\r\n\r\n const tViz = rec.top >= 0 && rec.top < vp.height\r\n const bViz = rec.bottom > 0 && rec.bottom <= vp.height\r\n\r\n const lViz = rec.left >= 0 && rec.left < vp.width\r\n const rViz = rec.right > 0 && rec.right <= vp.width\r\n\r\n const vVisible = partial ? tViz || bViz : tViz && bViz\r\n const hVisible = partial ? lViz || rViz : lViz && rViz\r\n\r\n let event = false\r\n\r\n if (direction === 'both') {\r\n event = (elSize && vVisible && hVisible) ? true : false\r\n } else if (direction === 'vertical') {\r\n event = (elSize && vVisible) ? true : false\r\n } else if (direction === 'horizontal') {\r\n event = (elSize && hVisible) ? true : false\r\n }\r\n this.inViewport.emit(event)\r\n }\r\n}\r\n","import { InViewPortDirective } from './in-view-port.directive'\r\nimport { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\n\r\n@NgModule({\r\n declarations: [InViewPortDirective],\r\n exports: [InViewPortDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n})\r\nexport class InViewPortModule { }\r\n","import { Directive, OnChanges, Input, HostBinding, HostListener } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsNavigation]',\r\n})\r\nexport class NavigationDirective implements OnChanges {\r\n @Input() wsUtilsNavigation = ''\r\n @Input() openInNewTab = false\r\n @Input()\r\n @HostBinding('attr.routerLink') routeUrl = ''\r\n @HostListener('mousedown', ['$event']) onMouseEnter($event: Event) {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n $event.preventDefault()\r\n $event.stopPropagation()\r\n this.routeUrl = './'\r\n window.open(this.wsUtilsNavigation)\r\n }\r\n }\r\n constructor() { }\r\n\r\n ngOnChanges() {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n this.routeUrl = './'\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { NavigationDirective } from './navigation.directive'\r\n\r\n@NgModule({\r\n declarations: [NavigationDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [NavigationDirective],\r\n})\r\nexport class NavigationModule { }\r\n","import { Directive } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsPermission]',\r\n})\r\nexport class PermissionDirective {\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PermissionDirective } from './permission.directive'\r\n\r\n@NgModule({\r\n declarations: [PermissionDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PermissionDirective],\r\n})\r\nexport class PermissionModule { }\r\n","export function getStringifiedQueryParams(obj: { [key: string]: number | string | undefined | string[] }) {\r\n return Object.entries(obj)\r\n .filter(u => u[1])\r\n .map(u => {\r\n return `${u[0]}=${u[1]}`\r\n })\r\n .join('&')\r\n}\r\n","import { Component, OnInit, OnChanges, OnDestroy, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core'\r\nimport {\r\n fromEvent,\r\n Subscription,\r\n timer,\r\n} from 'rxjs'\r\nimport { debounceTime, throttleTime } from 'rxjs/operators'\r\nimport { TFetchStatus } from '../../constants/misc.constants'\r\n\r\n@Component({\r\n selector: 'ws-utils-horizontal-scroller',\r\n templateUrl: './horizontal-scroller.component.html',\r\n styleUrls: ['./horizontal-scroller.component.scss'],\r\n})\r\nexport class HorizontalScrollerComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n @Input()\r\n loadStatus: TFetchStatus = 'none'\r\n @Input()\r\n onHover = false\r\n @Output()\r\n loadNext = new EventEmitter()\r\n @ViewChild('horizontalScrollElem', { static: true })\r\n horizontalScrollElem: ElementRef | null = null\r\n\r\n enablePrev = false\r\n enableNext = false\r\n private scrollObserver: Subscription | null = null\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n if (this.horizontalScrollElem) {\r\n const horizontalScrollElem = this.horizontalScrollElem\r\n this.scrollObserver = fromEvent(\r\n horizontalScrollElem.nativeElement,\r\n 'scroll',\r\n )\r\n .pipe(debounceTime(100), throttleTime(100))\r\n .subscribe(_ => {\r\n this.updateNavigationBtnStatus(horizontalScrollElem\r\n .nativeElement as HTMLElement)\r\n })\r\n }\r\n }\r\n ngOnChanges() {\r\n timer(100).subscribe(() => {\r\n if (this.horizontalScrollElem) {\r\n this.updateNavigationBtnStatus(this.horizontalScrollElem\r\n .nativeElement as HTMLElement)\r\n }\r\n })\r\n }\r\n ngOnDestroy() {\r\n if (this.scrollObserver) {\r\n this.scrollObserver.unsubscribe()\r\n }\r\n }\r\n showPrev() {\r\n if (this.horizontalScrollElem) {\r\n // const elem = this.horizontalScrollElem.nativeElement\r\n // elem.scrollLeft -= 0.20 * elem.clientWidth\r\n if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,\r\n behavior: 'smooth',\r\n })\r\n }\r\n }\r\n }\r\n showNext() {\r\n if (this.horizontalScrollElem) {\r\n // const elem = this.horizontalScrollElem.nativeElement\r\n // elem.scrollLeft += 0.20 * elem.clientWidth\r\n if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,\r\n behavior: 'smooth',\r\n })\r\n }\r\n }\r\n }\r\n private updateNavigationBtnStatus(elem: HTMLElement) {\r\n this.enablePrev = true\r\n this.enableNext = true\r\n if (elem.scrollLeft === 0) {\r\n this.enablePrev = false\r\n }\r\n if (elem.scrollWidth === elem.clientWidth + elem.scrollLeft) {\r\n if (this.loadStatus === 'hasMore') {\r\n this.loadNext.emit()\r\n } else {\r\n this.enableNext = false\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { HorizontalScrollerComponent } from './horizontal-scroller.component'\r\nimport { MatButtonModule, MatIconModule, MatProgressSpinnerModule } from '@angular/material'\r\n\r\n@NgModule({\r\n declarations: [HorizontalScrollerComponent],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n ],\r\n exports: [HorizontalScrollerComponent],\r\n})\r\nexport class HorizontalScrollerModule { }\r\n","// tslint:disable:no-console\r\nimport { Injectable } from '@angular/core'\r\nimport { ConfigurationsService } from './configurations.service'\r\n\r\ntype consoleFun = (...args: any) => void\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoggerService {\r\n constructor(private configSvc: ConfigurationsService) { }\r\n\r\n private consoleError = console.error\r\n private consoleInfo = console.info\r\n private consoleLog = console.log\r\n private consoleWarn = console.warn\r\n private noConsole: consoleFun = () => { }\r\n\r\n get error() {\r\n return this.consoleError\r\n }\r\n get info() {\r\n return this.configSvc.isProduction ? this.noConsole : this.consoleInfo\r\n }\r\n get log() {\r\n return this.configSvc.isProduction ? this.noConsole : this.consoleLog\r\n }\r\n get warn() {\r\n return this.configSvc.isProduction ? this.noConsole : this.consoleWarn\r\n }\r\n\r\n removeConsoleAccess() {\r\n if (this.configSvc.isProduction) {\r\n return\r\n }\r\n const noConsoleWithError: consoleFun = () => {\r\n throw new Error('Console Functions Usage Are Not Allowed.')\r\n }\r\n // console.log = noConsoleWithError\r\n console.warn = noConsoleWithError\r\n console.info = noConsoleWithError\r\n console.error = noConsoleWithError\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { LoggerService } from './logger.service'\r\nimport { NsInstanceConfig } from './configurations.model'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { IWsMsTokenModelResponse } from './ms-office.model'\r\n// TODO: Use a url-search-polyfill if the site didnot work in IE 11\r\n\r\nconst msTokenExpiryDuration = 600\r\nconst storageKey = 'msLoginRequested'\r\nconst storage = localStorage\r\n\r\nconst API_ENDPOINTS = {\r\n sharePointToken: '/apis/protected/v8/user/token',\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthMicrosoftService {\r\n private msConfig: NsInstanceConfig.IMicrosoft = {\r\n clientId: '',\r\n tenant: '',\r\n defaultEmailId: '',\r\n validEmailExtensions: [],\r\n isConfigured: false,\r\n }\r\n private emailUsed: string | null = null\r\n private code: string | null = null\r\n private msToken: IWsMsTokenModelResponse = {\r\n accessToken: '',\r\n expiresOn: '',\r\n resource: '',\r\n tokenType: '',\r\n }\r\n\r\n constructor(private loggerSvc: LoggerService, private http: HttpClient) { }\r\n\r\n get isLogoutRequired(): boolean {\r\n return Boolean(this.msConfig.isConfigured && this.msConfig.clientId && this.emailUsed)\r\n }\r\n get loginUrl(): string | null {\r\n if (this.msConfig.isConfigured && this.msConfig.clientId) {\r\n const base = 'https://login.windows.net/common/oauth2/authorize'\r\n const searchParam = new URLSearchParams({\r\n response_type: 'code',\r\n client_id: this.msConfig.clientId,\r\n redirect_uri: window.location.href,\r\n })\r\n const fragment = location.search.substring(1)\r\n if (fragment) {\r\n return `${base}?${searchParam.toString()}#${fragment}`\r\n }\r\n return `${base}?${searchParam.toString()}`\r\n }\r\n return null\r\n }\r\n logoutUrl(redirectUrl: string) {\r\n if (this.isValidEmail(this.emailUsed || '')) {\r\n return `https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri=${redirectUrl}`\r\n }\r\n return redirectUrl\r\n }\r\n\r\n // Behavior Methods\r\n\r\n async init(config: Pick<NsInstanceConfig.IConfig, 'microsoft'>) {\r\n if (!config || !config.microsoft || !config.microsoft.isConfigured) {\r\n this.loggerSvc.warn('Empty/No Configuration passed, ignoring Microsoft Authentication')\r\n }\r\n this.msConfig = config.microsoft\r\n const queryParams = new URLSearchParams(location.search)\r\n if (queryParams.has('code') && queryParams.has('session_state')) {\r\n this.code = queryParams.get('code')\r\n if (!this.code) {\r\n return\r\n }\r\n let url = location.origin + location.pathname\r\n await this.exchangeTokenForCode(this.code, url)\r\n if (location.hash) {\r\n url += location.hash.substring(1)\r\n }\r\n history.replaceState(null, '', url)\r\n }\r\n }\r\n\r\n async login(email: string) {\r\n if (!this.isValidEmail(email)) {\r\n this.loggerSvc.warn(`Microsoft Login is not allowed for your emailId (${email})`)\r\n return\r\n }\r\n const loginUrl = this.loginUrl\r\n if (loginUrl) {\r\n location.assign(loginUrl)\r\n } else {\r\n this.loggerSvc.warn('Unable to identify Office Login URL, Ignoring login request')\r\n }\r\n }\r\n\r\n async getToken(email: string): Promise<string> {\r\n if (\r\n this.msToken &&\r\n this.isValid(this.msToken.accessToken, this.msToken.expiresOn) &&\r\n this.msToken.accessToken\r\n ) {\r\n return this.msToken.accessToken\r\n }\r\n if (this.isValidEmail(email)) {\r\n try {\r\n this.msToken = await this.getTokenForEmail(email)\r\n if (this.msToken.accessToken) {\r\n this.emailUsed = email\r\n return this.msToken.accessToken\r\n }\r\n } catch (error) {\r\n if (!this.code) {\r\n this.login(email)\r\n }\r\n }\r\n }\r\n if (this.msConfig.defaultEmailId && this.isValidEmail(this.msConfig.defaultEmailId)) {\r\n try {\r\n this.msToken = await this.getTokenForEmail(this.msConfig.defaultEmailId)\r\n if (this.msToken.accessToken) {\r\n this.emailUsed = this.msConfig.defaultEmailId\r\n return this.msToken.accessToken\r\n }\r\n } catch (error) { }\r\n }\r\n throw new Error('UNABLE TO FETCH MS AUTH TOKEN')\r\n }\r\n\r\n loginForSSOEnabledEmbed(email: string) {\r\n if (!this.isValidEmail(email)) {\r\n this.loggerSvc.warn('SSO Login request Ignored. Invalid Email Id for SSO Enabled Content')\r\n }\r\n let msPrevTS = 0\r\n try {\r\n msPrevTS = parseInt(storage.getItem(storageKey) || '0', 10)\r\n } catch (error) { }\r\n if (!msPrevTS || (msPrevTS && (Date.now() - msPrevTS) / 1000 > msTokenExpiryDuration)) {\r\n this.loggerSvc.info(\r\n `last login exceeded ${msTokenExpiryDuration} duration. Redirecting to O365 login`,\r\n )\r\n storage.setItem(storageKey, Date.now().toString())\r\n this.login(email)\r\n }\r\n }\r\n\r\n isValidEmail(email: string) {\r\n return this.msConfig.validEmailExtensions.some(ext => email.endsWith(ext))\r\n }\r\n\r\n isValid(accessToken: string | undefined, expiresOn: string | undefined): boolean {\r\n if (accessToken && expiresOn) {\r\n // TODO: Implement expiredOn and Date comparison based validity\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n async exchangeTokenForCode(code: string, redirectUrl: string): Promise<any> {\r\n const response = await this.http\r\n .get<IWsMsTokenModelResponse>(`${API_ENDPOINTS}?code=${code}&redirectUrl=${redirectUrl}`)\r\n .toPromise()\r\n return this.getInstanceFromResponse(response)\r\n }\r\n\r\n async getTokenForEmail(email: string): Promise<any> {\r\n const response = await this.http\r\n .get<IWsMsTokenModelResponse>(`${API_ENDPOINTS.sharePointToken}?email=${email}`)\r\n .toPromise()\r\n return this.getInstanceFromResponse(response)\r\n }\r\n\r\n getInstanceFromResponse(token: IWsMsTokenModelResponse) {\r\n return {\r\n accessToken: token.accessToken,\r\n expiresOn: token.expiresOn,\r\n resource: token.resource,\r\n tokenType: token.tokenType,\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\nimport { KeycloakEvent, KeycloakEventType, KeycloakInitOptions, KeycloakService } from 'keycloak-angular'\nimport { fromEvent, ReplaySubject } from 'rxjs'\nimport { filter } from 'rxjs/operators'\nimport { AuthMicrosoftService } from './auth-microsoft.service'\nimport { ConfigurationsService } from './configurations.service'\n\ninterface IParsedToken {\n email?: string\n encEmail?: string\n name?: string\n preferred_username?: string\n}\n\nconst storage = localStorage\nconst storageKey = 'kc'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthKeycloakService {\n private loginChangeSubject = new ReplaySubject<boolean>(1)\n constructor(\n private configSvc: ConfigurationsService,\n private keycloakSvc: KeycloakService,\n private msAuthSvc: AuthMicrosoftService,\n ) {\n this.loginChangeSubject.subscribe((isLoggedIn: boolean) => {\n this.configSvc.isAuthenticated = isLoggedIn\n if (\n isLoggedIn &&\n this.configSvc.instanceConfig &&\n Boolean(this.configSvc.instanceConfig.disablePidCheck)\n ) {\n this.configSvc.userProfile = {\n email: this.userEmail,\n userName: this.userName,\n userId: this.userId || '',\n }\n }\n })\n }\n\n // Getters\n get isLoggedIn$() {\n return this.loginChangeSubject.asObservable()\n }\n get isLoggedIn(): Promise<boolean> {\n return this.keycloakSvc.isLoggedIn()\n }\n get isAuthenticated(): boolean | undefined {\n return this.keycloakSvc.getKeycloakInstance().authenticated\n }\n get token(): string | undefined {\n return this.keycloakSvc.getKeycloakInstance().token\n }\n get sessionId(): string | undefined {\n return this.keycloakSvc.getKeycloakInstance().sessionId\n }\n get userId(): string | undefined {\n const kc = this.keycloakSvc.getKeycloakInstance()\n if (!kc) {\n return\n }\n return (kc.tokenParsed && kc.tokenParsed.sub) || (kc.idTokenParsed && kc.idTokenParsed.sub)\n }\n\n get userEmail(): string | undefined {\n const kc = this.keycloakSvc.getKeycloakInstance()\n\n const tokenParsed = kc.tokenParsed as IParsedToken\n const idTokenParsed = kc.idTokenParsed as IParsedToken\n return (\n (tokenParsed && tokenParsed.email) ||\n (idTokenParsed && idTokenParsed.email) ||\n (idTokenParsed && idTokenParsed.encEmail) ||\n (tokenParsed && tokenParsed.preferred_username) ||\n (idTokenParsed && idTokenParsed.preferred_username)\n )\n }\n\n get userName(): string | undefined {\n const kc = this.keycloakSvc.getKeycloakInstance()\n return (\n (kc.tokenParsed && (kc.tokenParsed as IParsedToken).name) ||\n (kc.idTokenParsed && (kc.idTokenParsed as IParsedToken).name)\n )\n }\n\n async initAuth(): Promise<boolean> {\n if (!this.configSvc.instanceConfig) {\n return false\n }\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig.microsoft.isConfigured) {\n this.msAuthSvc.init({ microsoft: instanceConfig.microsoft })\n }\n try {\n this.setupGlobalAuthResponder()\n this.addKeycloakEventListener()\n return await this.keycloakSvc.init({\n config: {\n url: instanceConfig.keycloak.url,\n realm: instanceConfig.keycloak.realm,\n clientId: instanceConfig.keycloak.clientId,\n },\n initOptions: {\n ...this.getSavedKcConfig(),\n onLoad: instanceConfig.keycloak.onLoad || 'check-sso',\n checkLoginIframe: false,\n },\n enableBearerInterceptor: true,\n loadUserProfileAtStartUp: false,\n bearerExcludedUrls: instanceConfig.keycloak.bearerExcludedUrls,\n })\n } catch (err) {\n return false\n }\n }\n\n login(\n idpHint: 'E' | 'N' | 'S' = 'E',\n redirectUrl: string = this.defaultRedirectUrl,\n ): Promise<void> {\n return this.keycloakSvc.login({\n idpHint,\n redirectUri: redirectUrl,\n })\n }\n\n register(\n redirectUrl: string = this.defaultRedirectUrl,\n ): Promise<void> {\n return this.keycloakSvc.register({\n redirectUri: redirectUrl,\n })\n }\n /**\n * @deprecated this will be depricated\n */\n async logout(_redirectUrl = this.defaultRedirectUrl) {\n // window.location.href = `${_redirectUrl}apis/reset`\n window.location.href = `${_redirectUrl}public/logout`\n\n // storage.removeItem(storageKey)\n // await this.http.get('/apis/reset').toPromise()\n // if (this.msAuthSvc.isLogoutRequired) {\n // this.keycloakSvc.logout(this.msAuthSvc.logoutUrl(redirectUrl))\n // } else {\n // this.keycloakSvc.logout(redirectUrl)\n // }\n }\n async force_logout() {\n // const headers = new HttpHeaders({\n // 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\n // Pragma: 'no-cache',\n // Expires: '0',\n // })\n if (storage.getItem('telemetrySessionId')) {\n storage.removeItem('telemetrySessionId')\n }\n // try {\n // sessionStorage.clear()\n // localStorage.clear()\n // } catch {\n\n // }\n storage.removeItem(storageKey)\n if (localStorage.getItem('login') === 'true') {\n try {\n sessionStorage.clear()\n localStorage.clear()\n } catch {\n\n }\n window.location.href = `${this.defaultRedirectUrl}apis/reset`\n } else {\n window.location.href = `${this.defaultRedirectUrl}public/logout`\n }\n // window.location.href = '/public/logout'\n // await this.http.get('/apis/reset', { headers }).toPromise()\n }\n private addKeycloakEventListener() {\n this.keycloakSvc.keycloakEvents$.subscribe((event: KeycloakEvent) => {\n switch (event.type) {\n case KeycloakEventType.OnAuthError:\n this.loginChangeSubject.next(false)\n break\n case KeycloakEventType.OnAuthLogout:\n this.loginChangeSubject.next(false)\n storage.removeItem(storageKey)\n break\n case KeycloakEventType.OnAuthRefreshError:\n break\n case KeycloakEventType.OnAuthRefreshSuccess:\n break\n case KeycloakEventType.OnAuthSuccess:\n break\n case KeycloakEventType.OnReady:\n this.loginChangeSubject.next(event.args)\n if (event.args) {\n this.saveKeycloakConfig()\n }\n break\n case KeycloakEventType.OnTokenExpired:\n this.keycloakSvc.updateToken(60)\n break\n }\n })\n }\n\n private setupGlobalAuthResponder() {\n fromEvent<MessageEvent>(window, 'message')\n .pipe(\n filter(\n (event: MessageEvent) =>\n Boolean(event) &&\n Boolean(event.data) &&\n event.data.type === 'AUTH_REQUEST' &&\n Boolean(event.source && typeof event.source.postMessage === 'function'),\n ),\n )\n .subscribe(async (event: MessageEvent) => {\n const contentWindow = event.source as Window\n const token = await this.keycloakSvc.getToken()\n const response = {\n app: 'WEB_PORTAL',\n type: 'AUTH_RESPONSE',\n state: 'NONE',\n plugin: 'NONE',\n data: {\n token,\n id: event.data && event.data.data && event.data.data.id,\n },\n }\n contentWindow.postMessage(response, '*')\n })\n }\n\n // Utility Methods\n private saveKeycloakConfig() {\n const kc = this.keycloakSvc.getKeycloakInstance()\n const kcInitOptions: KeycloakInitOptions = {\n idToken: kc.idToken,\n refreshToken: kc.refreshToken,\n timeSkew: kc.timeSkew,\n token: kc.token,\n }\n storage.setItem(storageKey, JSON.stringify(kcInitOptions))\n }\n private getSavedKcConfig(): KeycloakInitOptions {\n try {\n // const lastSaved = KEYCLOAK_STORAGE.getItem(key);\n const lastSaved = storage.getItem(storageKey)\n if (lastSaved) {\n const processed = JSON.parse(lastSaved)\n if (\n 'idToken' in processed &&\n 'refreshToken' in processed &&\n 'timeSkew' in processed &&\n 'token' in processed\n ) {\n return processed\n }\n }\n } catch (e) { }\n return {}\n }\n\n private get defaultRedirectUrl(): string {\n try {\n const baseUrl = document.baseURI\n return baseUrl || location.origin\n } catch (error) {\n return location.origin\n }\n }\n}\n","import { Platform } from '@angular/cdk/platform'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs'\r\nimport { Router, NavigationEnd, ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router'\r\nimport { WsEvents } from './event.model'\r\ninterface IWindowMobileAppModified extends Window {\r\n appRef?: any\r\n webkit?: any\r\n}\r\ndeclare var window: IWindowMobileAppModified\r\n\r\nconst RANDOM_ID_PER_USER = 0\r\ninterface IRecursiveData {\r\n identifier: string\r\n children: null | IRecursiveData[]\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UtilityService {\r\n currentRouteData: any[] = []\r\n constructor(\r\n private http: HttpClient,\r\n private platform: Platform,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n // private events: EventService,\r\n ) {\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationEnd) {\r\n // let snapshot = this.router.routerState.firstChild(this.activatedRoute).snapshot\r\n // console.log('this.route.snapshot :: ', this.route.snapshot)\r\n const snapshot = this.route.snapshot\r\n // console.log('root.snapshot.root.firstChild ', snapshot.root.firstChild)\r\n // console.log('firstChild ', snapshot.firstChild)\r\n const firstChild = snapshot.root.firstChild\r\n this.getChildRouteData(snapshot, firstChild)\r\n }\r\n })\r\n }\r\n\r\n private getChildRouteData(snapshot: ActivatedRouteSnapshot, firstChild: ActivatedRouteSnapshot | null) {\r\n if (firstChild) {\r\n if (firstChild.data) {\r\n // console.log('firstChild.data', firstChild.data)\r\n this.currentRouteData.push(firstChild.data)\r\n }\r\n if (firstChild.firstChild) {\r\n this.getChildRouteData(snapshot, firstChild.firstChild)\r\n }\r\n }\r\n }\r\n\r\n get randomId() {\r\n return RANDOM_ID_PER_USER + 1\r\n }\r\n\r\n getJson<T>(url: string): Observable<T> {\r\n return this.http.get<T>(url)\r\n }\r\n\r\n getLeafNodes<T extends IRecursiveData>(node: T, nodes: T[]): T[] {\r\n if ((node.children || []).length === 0) {\r\n nodes.push(node)\r\n } else {\r\n if (node.children) {\r\n node.children.forEach(child => {\r\n this.getLeafNodes(child, nodes)\r\n })\r\n }\r\n }\r\n return nodes\r\n }\r\n getPath<T extends IRecursiveData>(node: T, id: string): T[] {\r\n const path: T[] = []\r\n this.hasPath(node, path, id)\r\n return path\r\n }\r\n\r\n private hasPath<T extends IRecursiveData>(node: T, pathArr: T[], id: string): boolean {\r\n if (node == null) {\r\n return false\r\n }\r\n pathArr.push(node)\r\n if (node.identifier === id) {\r\n return true\r\n }\r\n const children = node.children || []\r\n if (children.some(u => this.hasPath(u, pathArr, id))) {\r\n return true\r\n }\r\n pathArr.pop()\r\n return false\r\n }\r\n\r\n get isMobile(): boolean {\r\n if (this.isIos || this.isAndroid) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n get isIos(): boolean {\r\n return this.platform.IOS\r\n }\r\n\r\n get isAndroid(): boolean {\r\n return this.platform.ANDROID\r\n }\r\n get isAndroidApp(): boolean {\r\n return Boolean(window.appRef)\r\n }\r\n\r\n get iOsAppRef() {\r\n if (\r\n window.webkit &&\r\n window.webkit.messageHandlers &&\r\n window.webkit.messageHandlers.appRef\r\n ) {\r\n return window.webkit.messageHandlers.appRef\r\n }\r\n return null\r\n }\r\n\r\n public setRouteData(data: any) {\r\n this.currentRouteData = data\r\n }\r\n\r\n get routeData(): WsEvents.ITelemetryPageContext {\r\n const data: WsEvents.ITelemetryPageContext = {\r\n module: '',\r\n pageId: '',\r\n }\r\n // tslint:disable-next-line: no-console\r\n // console.log('Final currentDataRoute get routeData()', this.currentRouteData)\r\n this.currentRouteData.map((rd: any) => {\r\n if (rd.pageId) {\r\n data.pageId = `${data.pageId}/${rd.pageId}`\r\n }\r\n if (rd.module) {\r\n data.module = rd.module\r\n }\r\n })\r\n return data\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core'\r\nimport { MatDialogRef } from '@angular/material'\r\n// import { Router } from '@angular/router'\r\nimport { AuthKeycloakService } from '../../services/auth-keycloak.service'\r\nimport { ConfigurationsService } from '../../services/configurations.service'\r\nimport { UtilityService } from '../../services/utility.service'\r\n\r\n@Component({\r\n selector: 'ws-utils-logout',\r\n templateUrl: './logout.component.html',\r\n styleUrls: ['./logout.component.scss'],\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n\r\n disabled = false\r\n isDownloadableIos = false\r\n isDownloadableAndroid = false\r\n constructor(\r\n public dialogRef: MatDialogRef<LogoutComponent>,\r\n private authSvc: AuthKeycloakService,\r\n private configSvc: ConfigurationsService,\r\n private utilitySvc: UtilityService,\r\n // private router: Router,\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.configSvc.restrictedFeatures) {\r\n this.isDownloadableIos = !this.configSvc.restrictedFeatures.has('iosDownload')\r\n this.isDownloadableAndroid = !this.configSvc.restrictedFeatures.has('androidDownload')\r\n }\r\n }\r\n\r\n confirmed() {\r\n this.disabled = true\r\n this.dialogRef.close()\r\n this.authSvc.force_logout()\r\n // this.router.navigate(['public', 'logout'])\r\n // this.router.logout()\r\n }\r\n\r\n get isDownloadable() {\r\n if (this.configSvc.instanceConfig && this.configSvc.instanceConfig.isContentDownloadAvailable &&\r\n (this.utilitySvc.iOsAppRef || this.utilitySvc.isAndroidApp)) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { MatButtonModule, MatDialogModule } from '@angular/material'\r\n\r\nimport { LogoutComponent } from './logout.component'\r\n\r\n@NgModule({\r\n declarations: [LogoutComponent],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n ],\r\n entryComponents: [LogoutComponent],\r\n})\r\nexport class LogoutModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\ninterface IDateRange {\r\n fromDate: Date\r\n toDate: Date\r\n timeZone?: string\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeConciseDateRange',\r\n})\r\nexport class PipeConciseDateRangePipe implements PipeTransform {\r\n transform(dateRange: IDateRange): string {\r\n try {\r\n let conciseRange: string\r\n let prefix: string\r\n let suffix: string\r\n const fromDate = new Date(dateRange.fromDate)\r\n const toDate = new Date(dateRange.toDate)\r\n\r\n const fromDateObj = {\r\n day: fromDate.getDate(),\r\n month: fromDate.toLocaleString('default', { month: 'short' }),\r\n year: fromDate.getFullYear(),\r\n time: fromDate.getTime(),\r\n }\r\n\r\n const toDateObj = {\r\n day: toDate.getDate(),\r\n month: toDate.toLocaleString('default', { month: 'short' }),\r\n year: toDate.getFullYear(),\r\n time: toDate.getTime(),\r\n }\r\n\r\n if (fromDateObj.time === toDateObj.time) {\r\n conciseRange = `${fromDateObj.day} ${fromDateObj.month} ${fromDateObj.year}`\r\n return conciseRange\r\n }\r\n\r\n if (fromDateObj.year !== fromDateObj.year) {\r\n prefix = `${fromDateObj.day} ${fromDateObj.month} ${fromDateObj.year}`\r\n suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`\r\n conciseRange = `${prefix} - ${suffix}`\r\n return conciseRange\r\n }\r\n\r\n if (fromDateObj.month === toDateObj.month) {\r\n prefix = `${fromDateObj.day}`\r\n suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`\r\n } else {\r\n prefix = `${fromDateObj.day} ${fromDateObj.month}`\r\n suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`\r\n }\r\n\r\n conciseRange = `${prefix} - ${suffix}`\r\n return conciseRange\r\n } catch (e) {\r\n return `${dateRange.fromDate} - ${dateRange.toDate}`\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeConciseDateRangePipe } from './pipe-concise-date-range.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeConciseDateRangePipe],\r\n imports: [CommonModule],\r\n exports: [PipeConciseDateRangePipe],\r\n})\r\nexport class PipeConciseDateRangeModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeCountTransform',\r\n})\r\nexport class PipeCountTransformPipe implements PipeTransform {\r\n\r\n transform(value: number): string {\r\n const thousand = 1000\r\n const million = 1000000\r\n if (value > 0) {\r\n if (value < thousand) {\r\n return String(value)\r\n }\r\n if (value >= thousand && value < million) {\r\n const views = (value / thousand).toFixed(1)\r\n if (views.endsWith('0')) {\r\n return `${views.split('.')[0]}K`\r\n }\r\n return `${views}K`\r\n }\r\n {\r\n const views = (value / million).toFixed(1)\r\n if (views.endsWith('0')) {\r\n return `${views.split('.')[0]}M`\r\n }\r\n return `${views}M`\r\n }\r\n }\r\n return '0'\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeCountTransformPipe } from './pipe-count-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeCountTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeCountTransformPipe],\r\n})\r\nexport class PipeCountTransformModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\ninterface ICertificationDate {\r\n day: number\r\n month: number\r\n year: number\r\n timeZone?: string\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeDateConcat',\r\n})\r\nexport class PipeDateConcatPipe implements PipeTransform {\r\n private readonly months: string[]\r\n\r\n constructor() {\r\n this.months = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ]\r\n }\r\n\r\n transform(value: ICertificationDate): string {\r\n let dateStr = `${value.day} ${this.months[value.month - 1]} ${value.year}`\r\n if (value.timeZone) {\r\n dateStr += ` ${value.timeZone}`\r\n }\r\n\r\n return dateStr\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeDateConcatPipe } from './pipe-date-concat.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeDateConcatPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeDateConcatPipe],\r\n})\r\nexport class PipeDateConcatModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeDurationTransform',\r\n})\r\nexport class PipeDurationTransformPipe implements PipeTransform {\r\n\r\n transform(data: number, type: 'time24' | 'hms' | 'hour'): any {\r\n if (data <= 0) {\r\n return ''\r\n }\r\n const h = Math.floor(data / 3600)\r\n const m = Math.floor((data % 3600) / 60)\r\n const s = Math.floor((data % 3600) % 60)\r\n let duration = ''\r\n let space = ''\r\n\r\n switch (type) {\r\n case 'time24':\r\n return this.defaultDuration(h, m, s)\r\n case 'hms':\r\n if (h > 0) {\r\n duration += type === 'hms' ? `${h}h` : `${h} hr`\r\n }\r\n if (m > 0) {\r\n if (h > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${m}m` : `${space}${m} min`\r\n }\r\n if (s > 0 && h === 0) {\r\n if (m > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${s}s` : `${space}${s} sec`\r\n }\r\n return duration\r\n case 'hour':\r\n if (h === 0) {\r\n duration += 'less than an hour'\r\n }\r\n if (h === 1) {\r\n duration += `${h} hour`\r\n }\r\n if (h > 1) {\r\n duration += `${h} hours`\r\n }\r\n return duration\r\n default:\r\n return this.defaultDuration(h, m, s)\r\n }\r\n }\r\n\r\n defaultDuration(h: number, m: number, s: number) {\r\n let duration = ''\r\n duration += h > 0 ? `${h.toString().padStart(2)}:` : ''\r\n duration += m > 0 ? `${m.toString().padStart(2)}:` : '00:'\r\n duration += s > 0 ? s.toString().padStart(2) : '00'\r\n return duration\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeDurationTransformPipe } from './pipe-duration-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeDurationTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeDurationTransformPipe],\r\n})\r\nexport class PipeDurationTransformModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeHtmlTagRemoval',\r\n})\r\nexport class PipeHtmlTagRemovalPipe implements PipeTransform {\r\n\r\n transform(htmlString: string): string {\r\n return htmlString ? String(htmlString).replace(/<[^>]+>/gm, '') : ''\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeHtmlTagRemovalPipe } from './pipe-html-tag-removal.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeHtmlTagRemovalPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeHtmlTagRemovalPipe],\r\n})\r\nexport class PipeHtmlTagRemovalModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeFilter',\r\n})\r\nexport class PipeFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, keys: string, term: string): string {\r\n if (!term) {\r\n return value\r\n }\r\n return (value || []).filter((item: any) => keys.split(',')\r\n .some(key => item.hasOwnProperty(key) && new RegExp(`^${term}$`, 'gi').test(item[key])))\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeFilterPipe } from './pipe-filter.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeFilterPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeFilterPipe],\r\n})\r\nexport class PipeFilterModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeFilterSearch',\r\n})\r\nexport class PipeFilterSearchPipe implements PipeTransform {\r\n\r\n transform(items: any[], searchText: string, ...keys: any): any {\r\n if (!items) { return [] }\r\n if (!searchText) { return items }\r\n const searchTextLowerCase = searchText.toLowerCase()\r\n if (keys && keys.length) {\r\n const result = items.filter(it => {\r\n return it['personalDetails'][keys[0]].toLowerCase().includes(searchTextLowerCase)\r\n // keys.map((key: any) => {\r\n // console.log('key:', key)\r\n // console.log(`it['personalDetails'][key]`, it['personalDetails'][key])\r\n // return it['personalDetails'][key].toLowerCase().includes(searchTextLowerCase)\r\n // })\r\n })\r\n if (result && result.length <= 0) {\r\n return [-1]\r\n }\r\n return result\r\n }\r\n return items.filter(it => {\r\n return it.title.toLowerCase().includes(searchTextLowerCase)\r\n })\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeFilterSearchPipe } from './pipe-filter-search.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeFilterSearchPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeFilterSearchPipe],\r\n})\r\nexport class PipeFilterSearchModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeListFilter',\r\n})\r\nexport class PipeListFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, keys: string, term: string): string {\r\n if (!term) {\r\n return value\r\n }\r\n return (value || []).filter((item: any) => keys.split(',')\r\n .some(key => item.hasOwnProperty(key)\r\n && item[key] && (`${item[key]} `).toLocaleLowerCase().includes(term.toLocaleLowerCase())))\r\n // new RegExp(`^${term}$`, 'gi').test(item[key])\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeListFilterPipe } from './pipe-list-filter.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeListFilterPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeListFilterPipe],\r\n})\r\nexport class PipeListFilterModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport * as _moment from 'moment'\r\nconst moment = _moment\r\n\r\n@Pipe({\r\n name: 'pipeRelativeTime',\r\n})\r\nexport class PipeRelativeTimePipe implements PipeTransform {\r\n transform(value: number): string {\r\n if (value) {\r\n return moment((new Date(value))).fromNow()\r\n }\r\n return moment().startOf('hour').fromNow()\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeRelativeTimePipe } from './pipe-relative-time.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeRelativeTimePipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeRelativeTimePipe],\r\n})\r\nexport class PipeRelativeTimeModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { orderBy } from 'lodash'\r\n\r\n@Pipe({\r\n name: 'orderBy',\r\n})\r\n\r\nexport class OrderByPipe implements PipeTransform {\r\n transform = orderBy\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { OrderByPipe } from './pipe-order-by.pipe'\r\n\r\n@NgModule({\r\n declarations: [OrderByPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [OrderByPipe],\r\n})\r\nexport class PipeOrderByModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeLimitTo',\r\n})\r\nexport class PipeLimitToPipe implements PipeTransform {\r\n\r\n transform(data: any, limit: number = 5): any {\r\n if (!data || !data.length) {\r\n return null\r\n }\r\n if (Array.isArray(data)) {\r\n return data.slice(0, limit)\r\n }\r\n if (typeof data === 'string') {\r\n const slicedString = data.substr(0, limit)\r\n if (limit < data.length) {\r\n return `${slicedString}...`\r\n }\r\n return slicedString\r\n }\r\n return null\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeLimitToPipe } from './pipe-limit-to.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeLimitToPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeLimitToPipe],\r\n})\r\nexport class PipeLimitToModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\ninterface IUserName {\r\n firstName: string\r\n lastName: string\r\n email: string\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeNameTransform',\r\n})\r\nexport class PipeNameTransformPipe implements PipeTransform {\r\n\r\n transform(value: IUserName): string {\r\n let result = ''\r\n if (value.firstName) {\r\n result += value.firstName\r\n }\r\n if (value.lastName && value.lastName !== value.firstName) {\r\n result += ` ${value.lastName}`\r\n }\r\n if (result.trim() !== '') {\r\n return result\r\n }\r\n if (value.email) {\r\n return value.email\r\n }\r\n return 'Anonymous User'\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeNameTransformPipe } from './pipe-name-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeNameTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeNameTransformPipe],\r\n})\r\nexport class PipeNameTransformModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipePartialContent',\r\n})\r\nexport class PipePartialContentPipe implements PipeTransform {\r\n\r\n transform(value: any, keys: string[]): any {\r\n const result: { [key: string]: any } = {}\r\n for (const key of keys) {\r\n if (value[key]) {\r\n result[key] = value[key]\r\n }\r\n }\r\n return result\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipePartialContentPipe } from './pipe-partial-content.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipePartialContentPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipePartialContentPipe],\r\n})\r\nexport class PipePartialContentModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser'\r\n\r\n@Pipe({\r\n name: 'pipeSafeSanitizer',\r\n})\r\nexport class PipeSafeSanitizerPipe implements PipeTransform {\r\n\r\n constructor(protected sanitizer: DomSanitizer) { }\r\n public transform(\r\n value: string,\r\n type: string = 'html',\r\n ): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n case 'html':\r\n return this.sanitizer.bypassSecurityTrustHtml(value)\r\n case 'style':\r\n return this.sanitizer.bypassSecurityTrustStyle(value)\r\n case 'script':\r\n return this.sanitizer.bypassSecurityTrustScript(value)\r\n case 'url':\r\n return this.sanitizer.bypassSecurityTrustUrl(value)\r\n case 'resourceUrl':\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(value)\r\n default:\r\n throw new Error(`Invalid safe type specified: ${type}`)\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeSafeSanitizerPipe } from './pipe-safe-sanitizer.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeSafeSanitizerPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeSafeSanitizerPipe],\r\n})\r\nexport class PipeSafeSanitizerModule { }\r\n","import { Injectable } from '@angular/core'\r\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'\r\nimport { Observable, of } from 'rxjs'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, catchError } from 'rxjs/operators'\r\nimport { UtilityService } from '../services/utility.service'\r\nimport { ConfigurationsService } from '../services/configurations.service'\r\nimport { IResolveResponse } from './resolver.model'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExploreDetailResolve\r\n implements\r\n Resolve<\r\n | Observable<IResolveResponse<any>>\r\n | IResolveResponse<any>\r\n > {\r\n private baseUrl = this.configSvc.sitePath\r\n isIntranetAllowedSettings = false\r\n constructor(\r\n private http: HttpClient,\r\n private configSvc: ConfigurationsService,\r\n private utilitySvc: UtilityService,\r\n ) { }\r\n\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n _state: RouterStateSnapshot,\r\n ): Observable<IResolveResponse<any>> {\r\n this.isIntranetAllowedSettings = this.configSvc.isIntranetAllowed\r\n const tag = decodeURIComponent(route.params.tags)\r\n let url = ''\r\n if (route.data.pageUrl) {\r\n url = route.data.pageUrl\r\n }\r\n if (route.data.pageType === 'page' && route.data.pageKey) {\r\n url = `${this.baseUrl}/page/${route.data.pageKey}.json`\r\n }\r\n return this.http.get(url).pipe(\r\n map(pageData => ({ data: this.transformPageData(pageData, tag), error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }\r\n\r\n private transformPageData(pageData: any, tag: string) {\r\n const DELIMITER = '>'\r\n const path = tag.split(DELIMITER)\r\n pageData.pageLayout.widgetData.widgets = pageData.pageLayout.widgetData.widgets.map((widget: any) => {\r\n if (pageData.navigationBar && pageData.navigationBar.links) {\r\n pageData.navigationBar.links = pageData.navigationBar.links\r\n .filter((link: any) => link.widgetData.tags === tag)\r\n }\r\n\r\n if (widget.widgetSubType === 'cardBreadcrumb') {\r\n widget.widgetData.path = [{\r\n text: pageData.navigationBar.pageTitle,\r\n clickUrl: pageData.navigationBar.pageBackLink,\r\n }].concat(path.map((edge: string, idx: number) => ({\r\n text: edge,\r\n clickUrl: `/page/explore/${path.slice(0, idx + 1).join(DELIMITER)}`,\r\n })))\r\n }\r\n\r\n if (widget.widgetSubType === 'contentStripMultiple') {\r\n widget.widgetData.strips = widget.widgetData.strips.map((strip: any) => {\r\n strip.request.searchV6.filters[0].andFilters.push({ catalogPaths: [tag] })\r\n if (this.utilitySvc.isMobile && !this.isIntranetAllowedSettings) {\r\n strip.request.searchV6.filters[0].andFilters.push({ isInIntranet: ['false'] })\r\n }\r\n return strip\r\n })\r\n if (widget.widgetData.noDataWidget && widget.widgetData.noDataWidget.widgetData.strips) {\r\n widget.widgetData.noDataWidget.widgetData.strips = widget.widgetData.noDataWidget.widgetData.strips.map((strip: any) => {\r\n strip.request.searchV6.filters[0].andFilters.push({ catalogPaths: [tag] })\r\n if (this.utilitySvc.isMobile && !this.isIntranetAllowedSettings) {\r\n strip.request.searchV6.filters[0].andFilters.push({ isInIntranet: ['false'] })\r\n }\r\n return strip\r\n })\r\n }\r\n\r\n }\r\n return widget\r\n })\r\n\r\n return pageData\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'\r\nimport { Observable, of } from 'rxjs'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, catchError } from 'rxjs/operators'\r\nimport { IResolveResponse } from './resolver.model'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MarketingOfferingResolve\r\n implements\r\n Resolve<\r\n | Observable<IResolveResponse<any>>\r\n | IResolveResponse<any>\r\n > {\r\n constructor(\r\n private http: HttpClient,\r\n ) { }\r\n\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n _state: RouterStateSnapshot,\r\n ): Observable<IResolveResponse<any>> {\r\n const tag = route.params.tag\r\n return this.http.get(route.data.pageUrl).pipe(\r\n map(pageData => ({ data: this.transformPageData(pageData, tag), error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }\r\n\r\n private transformPageData(pageData: any, tag: string) {\r\n pageData.pageLayout.widgetData.widgets = pageData.pageLayout.widgetData.widgets.map((widget: any) => {\r\n if (widget.widgetSubType === 'contentStripMultiple') {\r\n widget.widgetData.strips = widget.widgetData.strips.map((strip: any) => {\r\n strip.request.search.filters.catalogPaths = [decodeURIComponent(tag)]\r\n return strip\r\n })\r\n }\r\n\r\n return widget\r\n })\r\n\r\n return pageData\r\n }\r\n}\r\n","import { ThemePalette } from '@angular/material'\r\nimport { NsAppsConfig } from '../services/configurations.model'\r\nimport { NsWidgetResolver } from '../services/widget-resolver.model'\r\n\r\nexport namespace NsPage {\r\n export interface IPage {\r\n contentType: string\r\n navigationBar: INavBar\r\n pageLayout: NsWidgetResolver.IRenderConfigWithAnyData\r\n tourGuide?: string[][]\r\n }\r\n\r\n export interface INavBar {\r\n links: NsWidgetResolver.IRenderConfigWithTypedData<INavLink>[]\r\n xsmallNonMenuLinks: NsWidgetResolver.IRenderConfigWithTypedData<INavLink>[]\r\n pageBackLink: string\r\n pageTitle: string\r\n background: INavBackground\r\n }\r\n export interface INavBackground {\r\n color: 'primary' | 'accent' | 'warn' | 'default'\r\n styles: { [id: string]: string }\r\n }\r\n\r\n export interface INavLink {\r\n config: Pick<INavLinkConfig<'card-full' | 'card-small'>, 'type' | 'hideStatus'> |\r\n Pick<INavLinkConfig<'mat-icon-button' | 'mat-fab' | 'mat-mini-fab' | 'card-mini'>, 'type'> |\r\n Pick<INavLinkConfig<'mat-button' | 'mat-raised-button' | 'mat-flat-button' | 'mat-stroked-button'>, 'type' | 'hideIcon' | 'hideTitle'> |\r\n Pick<INavLinkConfig<'mat-menu-item'>, 'type'> |\r\n Pick<INavLinkConfig<'feature-item'>, 'type' | 'useShortName' | 'iconColor' | 'treatAsCard' | 'hidePin'>\r\n actionBtnId?: string\r\n actionBtn?: NsAppsConfig.IFeature\r\n actionBtnName?: string\r\n }\r\n\r\n export interface INavLinkConfig<T> {\r\n type: T\r\n hideIcon?: boolean\r\n hideTitle?: boolean\r\n hideStatus?: boolean\r\n hidePin?: boolean\r\n iconColor?: ThemePalette\r\n treatAsCard?: boolean\r\n useShortName?: boolean\r\n }\r\n\r\n}\r\n","export const JSON_MAP: any = {\r\n pagename: 'lexid',\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Inject, Injectable, LOCALE_ID } from '@angular/core'\r\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router'\r\nimport { forkJoin, Observable, of } from 'rxjs'\r\nimport { catchError, map, mergeMap } from 'rxjs/operators'\r\nimport { ConfigurationsService } from '../services/configurations.service'\r\nimport { JSON_MAP } from './page.constant'\r\nimport { NsPage } from './page.model'\r\nimport { IResolveResponse } from './resolver.model'\r\nimport { NsContent } from '../services/widget-content.model'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PageResolve implements Resolve<IResolveResponse<NsPage.IPage>> {\r\n private baseUrl = this.configSvc.sitePath\r\n constructor(\r\n private configSvc: ConfigurationsService,\r\n private http: HttpClient,\r\n @Inject(LOCALE_ID) private locale: string,\r\n ) { }\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n ): Observable<IResolveResponse<NsPage.IPage>> | IResolveResponse<NsPage.IPage> {\r\n if (route.data.pageUrl) {\r\n return this.getData(route.data.pageUrl)\r\n }\r\n if (route.data.pageType === 'feature' && route.data.pageKey) {\r\n return this.getData(`${this.baseUrl}/feature/${route.data.pageKey}`)\r\n }\r\n if (\r\n route.data.pageType === 'page' &&\r\n route.data.pageKey &&\r\n route.paramMap.has(route.data.pageKey)\r\n ) {\r\n return this.getData(`${this.baseUrl}/page/${route.paramMap.get(route.data.pageKey)}`)\r\n }\r\n if (\r\n route.data.pageType === 'page' &&\r\n route.data.pageKey &&\r\n route.data.pageKey === 'toc'\r\n ) {\r\n return this.getData(`${this.baseUrl}/page/${route.data.pageKey}`)\r\n }\r\n return {\r\n data: null,\r\n error: 'CONFIGURATION_ERROR_PAGE_URL_NOT_FORMED',\r\n }\r\n }\r\n\r\n private setS3Cookie(contentId: string): Observable<any> {\r\n return this.http.post(`/apis/protected/v8/content/setCookie`, { contentId }).pipe(\r\n catchError(_err => of(true)),\r\n )\r\n }\r\n\r\n private getContent(id: string) {\r\n return this.http\r\n .post<NsContent.IContent>(\r\n `/apis/protected/v8/content/${id}?hierarchyType=minimal`,\r\n ['status', 'artifactUrl'],\r\n )\r\n }\r\n\r\n private getData(url: string) {\r\n const id = (url.split('/').pop() as string).split('.')[0] || ''\r\n const equivalentId = id.startsWith('lex_auth_') ? id : JSON_MAP[id]\r\n if (equivalentId) {\r\n return forkJoin([this.setS3Cookie(equivalentId), this.getContent(equivalentId)]).pipe(\r\n mergeMap(([_, v]) => {\r\n if (v.status === 'Expired' || v.status === 'Deleted' || !v.artifactUrl) {\r\n return of({ data: null, error: 'NoContent' })\r\n }\r\n return this.http\r\n .get<NsPage.IPage>(`${v.artifactUrl}?ts=${new Date().getTime()}`)\r\n .pipe(\r\n map(data => ({ data, error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }\r\n const pageRequest = [\r\n (equivalentId ? this.setS3Cookie(equivalentId) : of(true)).pipe(\r\n mergeMap(() =>\r\n this.http.get<NsPage.IPage>(`${url}.json`).pipe(\r\n map(data => ({ data, error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n ),\r\n ),\r\n ),\r\n this.locale === 'en' || this.locale === 'en-US' ?\r\n of({ data: undefined as any, error: null }) :\r\n this.http.get<NsPage.IPage>(`${url}.${this.locale}.json`).pipe(\r\n map(data => ({ data, error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n ),\r\n ]\r\n return forkJoin(pageRequest).pipe(\r\n map(\r\n ([general, withLocale]): IResolveResponse<NsPage.IPage> => {\r\n if (withLocale.data) {\r\n return withLocale\r\n }\r\n return general\r\n },\r\n ),\r\n )\r\n }\r\n\r\n}\r\n","export interface IResolveResponse<T> {\r\n data: T | null\r\n error: any | null\r\n}\r\n","import { NsPage } from '../resolvers/page.model'\nimport { NsWidgetResolver } from './widget-resolver.model'\nexport namespace NsInstanceConfig {\n export interface IConfig {\n authoring: {\n doUniqueCheck: boolean\n isMultiStepFlow: boolean\n allowExpiry: boolean\n allowRestore: boolean\n allowReview: boolean\n allowPublish: boolean\n allowRedo: boolean\n newDesign: boolean\n allowedContentType: string[]\n urlPatternMatching: {\n allowReplace: boolean\n source: string\n pattern: string\n allowIframe: boolean\n }[]\n }\n appSetup: boolean\n chatBotUrl: string\n defaultFontsize: string\n defaultThemeClass: string\n defaultLocale: string\n disablePidCheck?: boolean\n fontSizes: IFontSize[]\n isContentDownloadAvailable: boolean\n indexHtmlMeta: IIndexHtmlMeta\n keycloak: IKeycloak\n locals: ILocalsConfig[]\n microsoft: IMicrosoft\n telemetryConfig: ITelemetryConfig\n themes: ITheme[]\n logos: ILogos\n sources?: ISourceLogo[]\n mailIds: IMailIds\n details: IDetails\n validMailIdExtensionsForMailMe: string[]\n defaultFeatureConfigs: {\n error: string\n }\n backgrounds: {\n primaryNavBar: NsPage.INavBackground\n pageNavBar: NsPage.INavBackground\n }\n featuredApps: string[]\n primaryNavBarConfig: IPrimaryNavbarConfig\n org: string[]\n rootOrg: string\n intranetIframeUrls?: string[]\n showNavBarInSetup?: boolean\n intranetUrlToCheck?: string\n introVideo: IPath\n tourVideo: IPath\n isDownloadableSource?: IPath\n isDownloadableIosResource?: IPath\n isDownloadableAndroidResource?: IPath\n sourceFieldsUserAutocomplete?: string[]\n forgotPasswordConfig?: IForgotPassword\n hubs: IHubs[]\n courseContentPath?: string\n }\n\n export interface IForgotPassword {\n local?: string\n enterprise?: string\n social?: string\n }\n export interface ISourceLogo {\n sourceName?: string\n sourceId?: string\n logo?: string\n }\n export interface IPath {\n [key: string]: string\n }\n export interface IHubs {\n active: boolean\n desc: string\n hubname: string\n icon: string\n path: string\n }\n export interface IIndexHtmlMeta {\n description?: string\n openSearchUrl?: string\n webmanifest: string\n xIcon?: string\n pngIcon?: string\n }\n export interface IFontSize {\n baseFontSize: string\n fontClass: string\n scale: number\n }\n export interface IKeycloak {\n defaultidpHint: 'E' | 'N' | 'S'\n isLoginHidden: boolean\n bearerExcludedUrls: string[]\n clientId: string\n key: string\n realm: string\n url: string\n changePasswordUrl?: string\n onLoad?: 'check-sso' | 'login-required'\n }\n export interface ILocalsConfig {\n isAvailable: boolean\n isEnabled: boolean\n locals: string[]\n path: string\n isRTL: boolean\n }\n export interface IMicrosoft {\n clientId: string\n defaultEmailId: string\n tenant: string\n validEmailExtensions: string[]\n isConfigured: boolean\n }\n export interface ITheme {\n color: IThemeColor\n themeFile: string\n themeClass: string\n themeName: string\n }\n\n export interface IThemeColor {\n accent: string\n primary: string\n warn: string\n }\n export interface ILogos {\n app: string\n appTransparent: string\n aboutFooter: string\n aboutHeader: string\n appBottomNav?: string\n company: string\n developedBy: string\n poweredBy: string\n defaultContent?: string\n defaultSourceLogo?: string\n landingLogo: string\n navbarLogo?: string\n playListLogo?: string\n thumpsUp?: string\n\n }\n export interface IMailIds {\n contactUs: string\n default: string\n support: string\n }\n export interface IDetails {\n appName: string\n }\n export interface IPrimaryNavbarConfig {\n mediumScreen: IPrimaryNavBarScreen\n smallScreen: IPrimaryNavBarScreen\n }\n interface IPrimaryNavBarScreen {\n left: IPrimaryNavBarSide[]\n right: IPrimaryNavBarSide[]\n }\n interface IPrimaryNavBarSide {\n type: 'widgetButton' | 'featureButton'\n config: NsWidgetResolver.IRenderConfigWithAnyData | NsPage.INavLink\n }\n\n export interface ITelemetryConfig {\n pdata: {\n id: string\n ver: string\n pid: string\n }\n object: {\n ver: string\n id: string | undefined\n }\n uid: string | null\n authtoken?: string\n env: string\n channel: string\n batchsize: number\n host: string\n endpoint: string\n apislug: string\n sid: string\n }\n}\n\nexport namespace NsAppsConfig {\n export type TIconType = 'mat-icon' | 'url'\n\n export interface IAppsConfig {\n groups: IGroup[]\n features: { [id: string]: IFeature }\n tourGuide?: string[][]\n }\n\n export interface IGroup {\n id: string\n iconType: string\n icon: string\n keywords: string[]\n name: string\n toolTip: string\n featureIds: string[]\n stripBackground?: string\n hasRole: string[]\n }\n\n // export interface IGroupWithFeatures extends IGroup {\n // features: IFeature[]\n // }\n export interface IFeature {\n name: string\n id: string\n url: string\n permission: string | string[] | { all: string[]; some: string[]; none: string[] }\n iconType: TIconType\n icon: string\n keywords: string[]\n toolTip: string\n accessKey: string\n status?: 'earlyAccess' | 'live' | 'alpha' | 'beta'\n shortName: string\n description?: string\n badgeEndpoint?: string\n mobileAppFunction?: string\n color?: string\n target?: string\n }\n}\n\nexport namespace NsUser {\n export interface IUserProfile {\n userId: string\n email?: string\n mobile?: string\n departmentName?: string\n userName?: string\n firstName?: string\n surName?: string\n middleName?: string\n lastName?: string\n rootOrgId?: string\n rootOrgName?: string\n profileImage?: string\n givenName?: string\n country?: null | string\n unit?: string | null\n source_profile_picture?: null | string\n dealerCode?: null | string\n isManager?: boolean\n }\n\n export interface INodebbUserProfile {\n username: string\n email: string\n }\n\n export interface IUserPidProfile {\n kid_updated: boolean\n user: IUser\n }\n\n export interface IUserPidProfileV2 {\n kid_updated: boolean\n result: {\n response: IUserV2\n }\n }\n\n export interface IUserPidProfileVer2 {\n result: {\n UserProfile: IUserVer2\n }\n }\n interface ISourceData {\n GID: string\n SNAMPRE: string\n SNAMADD: string\n LASTNAME: string\n SN: string\n GIVENNAME: string\n NICKNAME: string\n PREFERREDSN: string\n PERSONALTITLE: string\n MOBILE: string\n MAIL: string\n DEPARTMENTTEXT: string\n COSTLOCATIONUNIT: string\n COSTLOCATION: string\n ORGID: string\n MGMTRESP: string\n UTC: string\n CNAMEENG: string\n LNAMEINT: string\n USERTYPE: string\n STATUS: string\n CONTRACTSTATUS: string\n }\n\n interface IUser {\n wid: string\n root_org: string\n org: string\n is_active?: any\n account_expiry_date?: any\n kid: string\n imported_source_name: string\n source_id: string\n username?: any\n first_name: string\n last_name: string\n middle_name?: any\n known_as: string\n salutation?: any\n email: string\n gender?: any\n dob?: any\n languages_known?: any\n preferred_language?: any\n source_profile_picture?: any\n residence_country: string\n residence_state?: any\n residence_city: string\n contact_phone_number_office?: any\n contact_phone_number_home?: any\n contact_phone_number_personal: string\n employement_status?: any\n contract_type?: any\n job_title?: any\n job_role?: any\n department_name: string\n unit_name?: any\n organization_location_country?: any\n organization_location_state?: any\n organization_location_city?: any\n time_inserted: Date\n time_updated: Date\n json_unmapped_fields?: any\n source_data: ISourceData\n }\n interface IRootOrg {\n dateTime: string\n preferredLanguage: string\n keys: {}\n channel: string\n approvedBy: string\n description: string\n updatedDate: string\n addressId: string\n orgType: string\n provider: string\n orgCode: string\n locationId: string\n theme: string\n id: string\n isApproved: boolean\n communityId: string\n slug: string\n email: string\n isSSOEnabled: boolean\n thumbnail: string\n updatedBy: string\n orgName: string\n locationIds: []\n externalId: string\n isRootOrg: boolean\n rootOrgId: string\n imgUrl: string\n approvedDate: string\n orgTypeId: string\n homeUrl: string\n isDefault: boolean\n createdDate: string\n contactDetail: string\n parentOrgId: string\n createdBy: string\n hashTagId: string\n noOfMembers: string\n status: number\n }\n interface IOrg {\n updatedBy: string\n organisationId: string\n orgName: string\n addedByName: string\n addedBy: string\n roles: string[]\n approvedBy: string\n updatedDate: string\n userId: string\n approvaldate: string\n isDeleted: boolean\n parentOrgId: string\n hashTagId: string\n isRejected: boolean\n position: string\n id: string\n orgjoindate: string\n isApproved: boolean\n orgLeftDate: string\n }\n interface IUserV2 {\n surName: any\n maskedPhone: string\n rootOrgName: string\n subject: []\n channel: string\n language: []\n updatedDate: string\n managedBy: string\n flagsValue: number\n id: string\n recoveryEmail: string\n identifier: string\n thumbnail: string\n profileVisibility: []\n updatedBy: string\n accesscode: string\n locationIds: []\n externalIds: []\n registryId: string\n rootOrgId: string\n prevUsedEmail: string\n firstName: string\n tncAcceptedOn: string\n phone: string\n dob: string\n grade: []\n currentLoginTime: string\n userType: string\n status: number\n lastName: string\n gender: string\n roles: string[]\n prevUsedPhone: string\n stateValidated: boolean\n isDeleted: boolean\n organisations: IOrg[]\n countryCode: string\n maskedEmail: string\n tempPassword: string\n email: string\n rootOrg: IRootOrg\n profileSummary: string\n phoneVerified: boolean\n recoveryPhone: string\n userName: string\n userId: string\n lastLoginTime: string\n emailVerified: true\n framework: {}\n createdDate: string\n createdBy: string\n location: string\n tncAcceptedVersion: string\n }\n\n interface IUserVer2 {\n 'firstname': string,\n 'motherTongue': string,\n 'secondaryEmail': string,\n 'gender': string,\n '@type': string,\n 'mobile': number,\n 'middlename': string,\n 'telephone': number,\n 'osid': string,\n 'primaryEmailType': string,\n 'knownLanguages': ILanguages[],\n 'wid': string,\n 'nationality': string,\n 'surname': string,\n 'dob': string,\n 'category': string,\n 'primaryEmail': string,\n 'maritalStatus': string,\n 'residenceAddress': string,\n 'result': any\n }\n export interface ILanguages {\n name: string\n }\n}\n","export namespace WsEvents {\r\n export interface IWsEventsFromWidget {\r\n type: 'widget'\r\n widgetType: string\r\n widgetSubType: string\r\n }\r\n export interface IWsEventsFromPage {\r\n type: 'page'\r\n pageUrl: string\r\n pageType: string\r\n }\r\n export enum WsEventType {\r\n Action = 'Action',\r\n Telemetry = 'Telemetry',\r\n PageNavigation = 'PageNavigation',\r\n AccessRestrictedContentAccessed = 'AccessRestrictedContentAccessed',\r\n PageSlow = 'PageSlow',\r\n ErrorOccurred = 'ErrorOccurred',\r\n WidgetResolveError = 'WidgetResolveError',\r\n }\r\n export enum WsEventLogLevel {\r\n Warn = 'Warn',\r\n Error = 'Error',\r\n Info = 'Info',\r\n Log = 'Log',\r\n Trace = 'Trace',\r\n }\r\n export enum WsAuditTypes {\r\n Created = 'Created',\r\n Updated = 'Updated',\r\n Deleted = 'Deleted',\r\n }\r\n export enum WsTimeSpentType {\r\n Page = 'Page',\r\n Player = 'Player',\r\n }\r\n export enum WsTimeSpentMode {\r\n Play = 'Play',\r\n View = 'View',\r\n }\r\n export enum externalTelemetrypdata {\r\n RBCP = 'rbcp-web-ui',\r\n }\r\n\r\n export interface IWsEvents<T> {\r\n eventType: WsEventType\r\n eventLogLevel: WsEventLogLevel\r\n from: IWsEventsFromWidget | IWsEventsFromPage | string\r\n to: string\r\n data: T\r\n passThroughData?: any,\r\n pageContext?: any\r\n }\r\n\r\n export enum EnumTelemetrySubType {\r\n Init = 'Init',\r\n Interact = 'Interact',\r\n Loaded = 'Loaded',\r\n Unloaded = 'Unloaded',\r\n StateChange = 'StateChange',\r\n HeartBeat = 'HeartBeat',\r\n Search = 'Search',\r\n Feedback = 'Feedback',\r\n Impression = 'Impression',\r\n }\r\n\r\n export interface ITelemetryPageContext {\r\n pageId?: string,\r\n module?: string,\r\n pageIdExt?: string\r\n }\r\n\r\n export interface ITelemetryEdata {\r\n type: string\r\n subType?: string\r\n id?: string\r\n pageid?: string\r\n }\r\n\r\n export interface ITelemetryTabData {\r\n label: string,\r\n index: number,\r\n }\r\n\r\n export interface IWsEventTelemetry {\r\n eventSubType: EnumTelemetrySubType\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n // PDF Telemetry Event\r\n export enum EnumTelemetryPdfActivity {\r\n PAGE_CHANGED = 'PAGE_CHANGED',\r\n FULLSCREEN_ACTIVATED = 'FULLSCREEN_ACTIVATED',\r\n FULLSCREEN_DEACTIVATED = 'FULLSCREEN_DEACTIVATED',\r\n ZOOM_CHANGE = 'ZOOM_CHANGE',\r\n NONE = 'NONE',\r\n }\r\n export interface IWsEventTelemetryPdfData extends IWsEventTelemetry {\r\n activityType: EnumTelemetryPdfActivity\r\n currentPage: number\r\n totalPage: number\r\n activityStartedAt: Date | null\r\n object: any\r\n }\r\n export type WsEventTelemetryPDF = IWsEvents<IWsEventTelemetryPdfData>\r\n\r\n // Interact Telemetry Event\r\n export interface IWsEventTelemetryInteract extends IWsEventTelemetry {\r\n edata: ITelemetryEdata\r\n object: any\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n export interface IWsEventTelemetryFeedback extends IWsEventTelemetry {\r\n edata: ITelemetryEdata\r\n object: any\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n export interface IWsEventTelemetryImpression extends IWsEventTelemetry {\r\n edata?: ITelemetryEdata\r\n object?: any\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n export interface IWsEventTelemetrySearch extends IWsEventTelemetry {\r\n type: string\r\n subType?: string\r\n query?: string\r\n filters?: string\r\n size?: number\r\n locale?: any\r\n }\r\n export interface IWsEventTelemetryHeartBeat extends IWsEventTelemetry {\r\n type: string\r\n // subType?: string\r\n // mode: string\r\n id: string\r\n // mimeType: string\r\n }\r\n export type WsEventTelemetryInteract = IWsEvents<IWsEventTelemetryInteract>\r\n export type WsEventTelemetryFeedback = IWsEvents<IWsEventTelemetryFeedback>\r\n export type WsEventTelemetryImpression = IWsEvents<IWsEventTelemetryImpression>\r\n export type WsEventTelemetrySearch = IWsEvents<IWsEventTelemetrySearch>\r\n export type WsEventTelemetryHeartBeat = IWsEvents<IWsEventTelemetryHeartBeat>\r\n\r\n // Multimedia Telemetry Data\r\n export enum EnumTelemetryMediaActivity {\r\n PLAYED = 'PLAYED',\r\n PAUSED = 'PAUSED',\r\n SEEKED = 'SEEKED',\r\n ENDED = 'ENDED',\r\n VOLUME_CHANGE = 'VOLUME_CHANGE',\r\n MUTE = 'MUTE',\r\n UNMUTE = 'UNMUTE',\r\n PLAYBACK_SPEED_CHANGE = 'PLAYBACK_SPEED_CHANGE',\r\n FULLSCREEN_ACTIVATED = 'FULLSCREEN_ACTIVATED',\r\n FULLSCREEN_DEACTIVATED = 'FULLSCREEN_DEACTIVATED',\r\n PICTURE_IN_PICTURE_ACTIVATED = 'PICTURE_IN_PICTURE_ACTIVATED',\r\n PICTURE_IN_PICTURE_DEACTIVATED = 'PICTURE_IN_PICTURE_DEACTIVATED',\r\n NONE = 'NONE',\r\n }\r\n export enum EnumTelemetryMediaState {\r\n PLAYING = 'PLAYING',\r\n PAUSED = 'PAUSED',\r\n ENDED = 'ENDED',\r\n BUFFERING = 'BUFFERING',\r\n NOT_STARTED = 'NOT_STARTED',\r\n }\r\n export interface IWsEventTelemetryMediaData extends IWsEventTelemetry {\r\n currentState: EnumTelemetryMediaState\r\n activityType: EnumTelemetryMediaActivity\r\n currentTime: number | null\r\n totalTime: number | null\r\n maxedSeekedTime: number\r\n activityStartedAt?: Date | null\r\n }\r\n export type WsEventTelemetryMedia = IWsEvents<IWsEventTelemetryMediaData>\r\n\r\n export enum EnumTelemetrymodules {\r\n CONTENT = 'content',\r\n FEEDBACK = 'feedback',\r\n COURSE = 'course',\r\n PROGRAM = 'program',\r\n EXPLORE = 'explore',\r\n LEARN = 'learn',\r\n HOME = 'home',\r\n DASHBOARD = 'dashboard',\r\n SEARCH = 'search',\r\n DISCUSS = 'discuss',\r\n COMPETENCY = 'competency',\r\n EVENTS = 'events',\r\n CAREER = 'career',\r\n PROFILE = 'profile',\r\n NETWORK = 'network',\r\n SUPPORT = 'support',\r\n }\r\n export enum EnumInteractTypes {\r\n CLICK = 'click',\r\n }\r\n export enum EnumInteractSubTypes {\r\n COURSE_TAB = 'course-tab',\r\n CAREER_TAB = 'career-tab',\r\n NETWORK_TAB = 'network-tab',\r\n COMPETENCY_TAB = 'competency-tab',\r\n PROFILE_EDIT_TAB = 'profile-edit-tab',\r\n DISCUSS_TAB = 'discuss-tab',\r\n EVENTS_TAB = 'events-tab',\r\n SIDE_MENU = 'side-menu',\r\n HOME_PAGE_STRIP_TABS = 'home-page-strip-tabs',\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Subject } from 'rxjs'\r\nimport { WsEvents } from './event.model'\r\nimport { UtilityService } from './utility.service'\r\n/* tslint:disable*/\r\nimport * as _ from 'lodash'\r\nimport * as _moment from 'moment'\r\nconst moment = _moment\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EventService {\r\n todaysEvents: any = []\r\n \r\n private eventsSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public events$ = this.eventsSubject.asObservable()\r\n\r\n private eventsChatbotSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public chatbotEvents$ = this.eventsChatbotSubject.asObservable()\r\n\r\n private eventsGetStartSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public getStartEvents$ = this.eventsGetStartSubject.asObservable()\r\n\r\n private eventsPRSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public getPREvents$ = this.eventsPRSubject.asObservable()\r\n environment: any\r\n\r\n\r\n constructor(\r\n private utilitySvc: UtilityService,\r\n @Inject('environment') environment: any,\r\n ) {\r\n this.environment = environment\r\n // this.focusChangeEventListener()\r\n }\r\n\r\n dispatchEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n event.pageContext = this.getContext(event.pageContext)\r\n this.eventsSubject.next(event)\r\n }\r\n\r\n dispatchChatbotEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n this.eventsChatbotSubject.next(event)\r\n }\r\n\r\n dispatchGetStartedEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n this.eventsGetStartSubject.next(event)\r\n }\r\n\r\n dispatchPlatformRatingEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n this.eventsPRSubject.next(event)\r\n }\r\n\r\n\r\n\r\n // helper functions\r\n raiseInteractTelemetry(edata: WsEvents.ITelemetryEdata, object: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n this.dispatchEvent<WsEvents.IWsEventTelemetryInteract>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Info,\r\n data: {\r\n edata,\r\n object,\r\n pageContext: this.getContext(pageContext),\r\n eventSubType: WsEvents.EnumTelemetrySubType.Interact,\r\n },\r\n from: '',\r\n to: 'Telemetry',\r\n })\r\n }\r\n\r\n raiseFeedbackTelemetry(edata: WsEvents.ITelemetryEdata, object: any, from?: string) {\r\n this.dispatchEvent<WsEvents.IWsEventTelemetryInteract>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Info,\r\n data: {\r\n edata,\r\n object,\r\n eventSubType: WsEvents.EnumTelemetrySubType.Feedback,\r\n },\r\n from: from || '',\r\n to: 'Telemetry',\r\n })\r\n }\r\n\r\n // Raise custom impression events eg:on tab change\r\n raiseCustomImpression(object: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n this.dispatchEvent<WsEvents.IWsEventTelemetryImpression>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Info,\r\n data: {\r\n object,\r\n pageContext: this.getContext(pageContext),\r\n eventSubType: WsEvents.EnumTelemetrySubType.Impression,\r\n },\r\n from: '',\r\n to: 'Telemetry',\r\n })\r\n }\r\n\r\n // private focusChangeEventListener() {\r\n // fromEvent(window, 'focus').subscribe(() => {\r\n // this.raiseInteractTelemetry('focus', 'gained', {})\r\n // })\r\n // fromEvent(window, 'blur').subscribe(() => {\r\n // this.raiseInteractTelemetry('focus', 'lost', {})\r\n // })\r\n // }\r\n\r\n // Method to get the context information about the telemetry interact event\r\n private getContext(pageContext: WsEvents.ITelemetryPageContext | undefined): WsEvents.ITelemetryPageContext {\r\n const routeDataContext = this.utilitySvc.routeData\r\n // initialize with the route data configuration - current route's pageID & module\r\n const finalContext: WsEvents.ITelemetryPageContext = {\r\n pageId: routeDataContext.pageId,\r\n module: routeDataContext.module,\r\n }\r\n if (pageContext) {\r\n // if context has pageIdExt, append it to the route's pageId\r\n if (pageContext.pageIdExt) {\r\n finalContext.pageId = `${routeDataContext.pageId}_${pageContext.pageIdExt}`\r\n } else if (pageContext.pageId) {\r\n // else context has pageId, override it to the final pageID\r\n finalContext.pageId = pageContext.pageId\r\n }\r\n // if context has module, override it to the final module\r\n if (pageContext.module) {\r\n finalContext.module = pageContext.module\r\n }\r\n }\r\n\r\n return finalContext\r\n }\r\n\r\n public handleTabTelemetry(subType: string, data: WsEvents.ITelemetryTabData, object?:any) {\r\n // raise a tab click interact event\r\n this.raiseInteractTelemetry(\r\n {\r\n subType,\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n id: `${_.camelCase(data.label)}-tab`,\r\n },\r\n {\r\n // context: {\r\n // position: data.index,\r\n // },\r\n ...object\r\n },\r\n {\r\n pageIdExt: `${_.camelCase(data.label)}-tab`,\r\n })\r\n\r\n // raise a tab click impression event\r\n this.raiseCustomImpression({\r\n context: {\r\n position: data.index,\r\n },\r\n ...object\r\n },{\r\n pageIdExt: `${_.camelCase(data.label)}-tab`,\r\n })\r\n }\r\n\r\n getPublicUrl(url: string): string {\r\n const mainUrl = url.split('/content').pop() || ''\r\n return `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`\r\n }\r\n\r\n allEventDateFormat(datetime: any) {\r\n const date = new Date(datetime).getDate()\r\n const year = new Date(datetime).getFullYear()\r\n const month = new Date(datetime).getMonth()\r\n const hours = new Date(datetime).getHours()\r\n const minutes = new Date(datetime).getMinutes()\r\n const seconds = new Date(datetime).getSeconds()\r\n const formatedDate = new Date(year, month, date, hours, minutes, seconds, 0)\r\n // let format = 'YYYY-MM-DD hh:mm a'\r\n // if (!timeAllow) {\r\n const format = 'YYYY-MM-DD'\r\n // }\r\n const readableDateMonth = moment(formatedDate).format(format)\r\n const finalDateTimeValue = `${readableDateMonth}`\r\n return finalDateTimeValue\r\n }\r\n\r\n compareDate(startDate: any) {\r\n const now = new Date()\r\n\r\n // tslint:disable-next-line:prefer-template\r\n const day = ('0' + (new Date().getDate())).slice(-2)\r\n const year = new Date().getFullYear()\r\n // tslint:disable-next-line:prefer-template\r\n const month = ('0' + (now.getMonth() + 1)).slice(-2)\r\n const todaysdate = `${year}-${month}-${day}`\r\n if (startDate === todaysdate) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n customDateFormat(date: any, time: any) {\r\n const stime = time.split('+')[0]\r\n const hour = stime.substr(0, 2)\r\n const min = stime.substr(2, 3)\r\n return `${date} ${hour}${min}`\r\n }\r\n\r\n\r\n setEventListData(eventObj: any) {\r\n if (eventObj !== undefined) {\r\n this.todaysEvents = []\r\n const data = eventObj\r\n // console.log('strip comp', data)\r\n Object.keys(data).forEach((index: any) => {\r\n const obj = data[index]\r\n const floor = Math.floor\r\n const hours = floor(obj.duration / 60)\r\n const minutes = obj.duration % 60\r\n const duration = (hours === 0) ? ((minutes === 0) ? '---' : `${minutes} minutes`) : (minutes === 0) ? (hours === 1) ?\r\n `${hours} hour` : `${hours} hours` : (hours === 1) ? `${hours} hour ${minutes} minutes` :\r\n `${hours} hours ${minutes} minutes`\r\n const creatordata = obj.creatorDetails !== undefined ? obj.creatorDetails : []\r\n const str = creatordata && creatordata.length > 0 ? creatordata.replace(/\\\\/g, '') : []\r\n const creatorDetails = str && str.length > 0 ? JSON.parse(str) : creatordata\r\n\r\n const stime = obj.startTime.split('+')[0]\r\n const hour = stime.substr(0, 2)\r\n const min = stime.substr(2, 3)\r\n const starttime = `${hour}${min}`\r\n\r\n const etime = obj.endTime.split('+')[0]\r\n const ehour = etime.substr(0, 2)\r\n const emin = etime.substr(2, 3)\r\n const endtime = `${ehour}${emin}`\r\n\r\n const eventDataObj = {\r\n event: obj,\r\n eventName: obj.name,\r\n eventStartTime: starttime,\r\n eventEndTime: endtime,\r\n eventStartDate: obj.startDate,\r\n eventCreatedOn: this.allEventDateFormat(obj.createdOn),\r\n eventDuration: duration,\r\n eventjoined: creatorDetails.length,\r\n eventThumbnail: obj.appIcon && (obj.appIcon !== null || obj.appIcon !== undefined) ?\r\n this.getPublicUrl(obj.appIcon) :\r\n '/assets/icons/Events_default.png',\r\n pastevent: false,\r\n }\r\n const isToday = this.compareDate(obj.startDate)\r\n if (isToday) {\r\n this.todaysEvents.push(eventDataObj)\r\n }\r\n })\r\n }\r\n}\r\n}\r\n","export interface IWsMsTokenModelResponse {\r\n accessToken?: string\r\n expiresOn?: string\r\n resource?: string\r\n tokenType?: string\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Injectable } from '@angular/core'\r\nimport { Observable, of } from 'rxjs'\r\nimport { catchError, retry } from 'rxjs/operators'\r\nimport { IContentRating } from '../models/contentRating.model'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { NsContentStripMultiple } from './content-strip-multiple.model'\r\nimport { NsContent } from './widget-content.model'\r\nimport { NSSearch } from './widget-search.model'\r\n\r\n// TODO: move this in some common place\r\nconst PROTECTED_SLAG_V8 = '/apis/protected/v8'\r\n\r\nconst API_END_POINTS = {\r\n CONTENT: `${PROTECTED_SLAG_V8}/content`,\r\n AUTHORING_CONTENT: `/apis/authApi/hierarchy`,\r\n CONTENT_LIKES: `${PROTECTED_SLAG_V8}/content/likeCount`,\r\n SET_S3_COOKIE: `${PROTECTED_SLAG_V8}/content/setCookie`,\r\n SET_S3_IMAGE_COOKIE: `${PROTECTED_SLAG_V8}/content/setImageCookie`,\r\n FETCH_MANIFEST: `${PROTECTED_SLAG_V8}/content/getWebModuleManifest`,\r\n FETCH_WEB_MODULE_FILES: `${PROTECTED_SLAG_V8}/content/getWebModuleFiles`,\r\n MULTIPLE_CONTENT: `${PROTECTED_SLAG_V8}/content/multiple`,\r\n CONTENT_SEARCH_V5: `${PROTECTED_SLAG_V8}/content/searchV5`,\r\n CONTENT_SEARCH_V6: `${PROTECTED_SLAG_V8}/content/searchV6`,\r\n CONTENT_SEARCH_REGION_RECOMMENDATION: `${PROTECTED_SLAG_V8}/content/searchRegionRecommendation`,\r\n CONTENT_HISTORY: `${PROTECTED_SLAG_V8}/user/history`,\r\n USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,\r\n CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,\r\n CONTENT_RATING_V2: `${PROTECTED_SLAG_V8}/user/rating/content/average-ratingInfo`,\r\n COLLECTION_HIERARCHY: (type: string, id: string) =>\r\n `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`,\r\n REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,\r\n MARK_AS_COMPLETE_META: (contentId: string) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WidgetContentService {\r\n constructor(\r\n private http: HttpClient,\r\n private configSvc: ConfigurationsService\r\n ) { }\r\n\r\n fetchMarkAsCompleteMeta(identifier: string): Promise<any> {\r\n const url = API_END_POINTS.MARK_AS_COMPLETE_META(identifier)\r\n return this.http.get(url).toPromise()\r\n }\r\n\r\n fetchContent(\r\n contentId: string,\r\n hierarchyType: 'all' | 'minimal' | 'detail' = 'detail',\r\n additionalFields: string[] = [],\r\n ): Observable<NsContent.IContent> {\r\n const url = `${API_END_POINTS.CONTENT}/${contentId}?hierarchyType=${hierarchyType}`\r\n return this.http\r\n .post<NsContent.IContent>(url, { additionalFields })\r\n .pipe(retry(1))\r\n }\r\n fetchAuthoringContent(contentId: string): Observable<NsContent.IContent> {\r\n const url = `${API_END_POINTS.AUTHORING_CONTENT}/${contentId}`\r\n return this.http.get<NsContent.IContent>(url).pipe(retry(1))\r\n }\r\n fetchMultipleContent(ids: string[]): Observable<NsContent.IContent[]> {\r\n return this.http.get<NsContent.IContent[]>(\r\n `${API_END_POINTS.MULTIPLE_CONTENT}/${ids.join(',')}`,\r\n )\r\n }\r\n fetchCollectionHierarchy(type: string, id: string, pageNumber: number = 0, pageSize: number = 1) {\r\n return this.http.get<NsContent.ICollectionHierarchyResponse>(\r\n `${API_END_POINTS.COLLECTION_HIERARCHY(\r\n type,\r\n id,\r\n )}?pageNumber=${pageNumber}&pageSize=${pageSize}`,\r\n )\r\n }\r\n\r\n fetchContentLikes(contentIds: { content_id: string[] }) {\r\n return this.http\r\n .post<{ [identifier: string]: number }>(API_END_POINTS.CONTENT_LIKES, contentIds)\r\n .toPromise()\r\n }\r\n fetchContentRatings(contentIds: { contentIds: string[] }) {\r\n return this.http\r\n .post(`${API_END_POINTS.CONTENT_RATING}/rating`, contentIds)\r\n .toPromise()\r\n }\r\n\r\n fetchContentRatingsV2(contentId: string) {\r\n return this.http\r\n .get<IContentRating>(`${API_END_POINTS.CONTENT_RATING_V2}/${contentId}`)\r\n }\r\n\r\n fetchContentHistory(contentId: string): Observable<NsContent.IContinueLearningData> {\r\n return this.http.get<NsContent.IContinueLearningData>(\r\n `${API_END_POINTS.CONTENT_HISTORY}/${contentId}`,\r\n )\r\n }\r\n\r\n async continueLearning(id: string, collectionId?: string, collectionType?: string): Promise<any> {\r\n return new Promise(async resolve => {\r\n if (collectionType &&\r\n collectionType.toLowerCase() === 'playlist') {\r\n const reqBody = {\r\n contextPathId: collectionId ? collectionId : id,\r\n resourceId: id,\r\n data: JSON.stringify({\r\n timestamp: Date.now(),\r\n contextFullPath: [collectionId, id],\r\n }),\r\n dateAccessed: Date.now(),\r\n contextType: 'playlist',\r\n }\r\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\r\n resolve(true)\r\n }\r\n )\r\n } else {\r\n const reqBody = {\r\n contextPathId: collectionId ? collectionId : id,\r\n resourceId: id,\r\n data: JSON.stringify({ timestamp: Date.now() }),\r\n dateAccessed: Date.now(),\r\n }\r\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\r\n resolve(true)\r\n })\r\n }\r\n })\r\n }\r\n saveContinueLearning(content: NsContent.IViewerContinueLearningRequest): Observable<any> {\r\n const url = API_END_POINTS.USER_CONTINUE_LEARNING\r\n return this.http.post<any>(url, content)\r\n }\r\n\r\n setS3Cookie(\r\n contentId: string,\r\n // _path: string,\r\n ): Observable<any> {\r\n return this.http\r\n .post(API_END_POINTS.SET_S3_COOKIE, { contentId })\r\n .pipe(catchError(_err => of(true)))\r\n }\r\n\r\n setS3ImageCookie(): Observable<any> {\r\n return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError(_err => of(true)))\r\n }\r\n\r\n fetchManifest(url: string): Observable<any> {\r\n return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url })\r\n }\r\n fetchWebModuleContent(url: string): Observable<any> {\r\n return this.http.get(`${API_END_POINTS.FETCH_WEB_MODULE_FILES}?url=${encodeURIComponent(url)}`)\r\n }\r\n search(req: NSSearch.ISearchRequest): Observable<NSSearch.ISearchApiResult> {\r\n req.query = req.query || ''\r\n return this.http.post<NSSearch.ISearchApiResult>(API_END_POINTS.CONTENT_SEARCH_V5, {\r\n request: req,\r\n })\r\n }\r\n searchRegionRecommendation(\r\n req: NSSearch.ISearchOrgRegionRecommendationRequest,\r\n ): Observable<NsContentStripMultiple.IContentStripResponseApi> {\r\n req.query = req.query || ''\r\n req.preLabelValue =\r\n (req.preLabelValue || '') +\r\n ((this.configSvc.userProfile && this.configSvc.userProfile.country) || '')\r\n req.filters = {\r\n ...req.filters,\r\n labels: [req.preLabelValue || ''],\r\n }\r\n return this.http.post<NsContentStripMultiple.IContentStripResponseApi>(\r\n API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION,\r\n { request: req },\r\n )\r\n }\r\n searchV6(req: NSSearch.ISearchV6Request): Observable<NSSearch.ISearchV6ApiResult> {\r\n req.query = req.query || ''\r\n return this.http.post<NSSearch.ISearchV6ApiResult>(API_END_POINTS.CONTENT_SEARCH_V6, req)\r\n }\r\n\r\n fetchContentRating(contentId: string): Observable<{ rating: number }> {\r\n return this.http.get<{ rating: number }>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`)\r\n }\r\n deleteContentRating(contentId: string): Observable<any> {\r\n return this.http.delete(`${API_END_POINTS.CONTENT_RATING}/${contentId}`)\r\n }\r\n addContentRating(contentId: string, data: { rating: number }): Observable<any> {\r\n return this.http.post<any>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`, data)\r\n }\r\n\r\n getFirstChildInHierarchy(content: NsContent.IContent): NsContent.IContent {\r\n if (!(content.children || []).length) {\r\n return content\r\n }\r\n if (\r\n content.contentType === 'Learning Path' &&\r\n !(content.artifactUrl && content.artifactUrl.length)\r\n ) {\r\n const child = content.children[0]\r\n return this.getFirstChildInHierarchy(child)\r\n }\r\n if (\r\n content.contentType === 'Resource' ||\r\n content.contentType === 'Knowledge Artifact' ||\r\n content.contentType === 'Learning Path'\r\n ) {\r\n return content\r\n }\r\n const firstChild = content.children[0]\r\n const resultContent = this.getFirstChildInHierarchy(firstChild)\r\n return resultContent\r\n }\r\n\r\n getRegistrationStatus(source: string): Promise<{ hasAccess: boolean; registrationUrl?: string }> {\r\n return this.http.get<any>(`${API_END_POINTS.REGISTRATION_STATUS}/${source}`).toPromise()\r\n }\r\n\r\n fetchConfig(url: string) {\r\n return this.http.get<any>(url)\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { filter } from 'rxjs/operators'\r\n// import { AuthKeycloakService } from './auth-keycloak.service'\r\nimport { NsInstanceConfig } from './configurations.model'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { WsEvents } from './event.model'\r\nimport { EventService } from './event.service'\r\nimport { LoggerService } from './logger.service'\r\nimport { NsContent } from './widget-content.model'\r\n\r\ndeclare var $t: any\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TelemetryService {\r\n previousUrl: string | null = null\r\n telemetryConfig: NsInstanceConfig.ITelemetryConfig | null = null\r\n pData: any = null\r\n contextCdata = []\r\n environment: any\r\n\r\n externalApps: any = {\r\n RBCP: 'rbcp-web-ui',\r\n }\r\n constructor(\r\n @Inject('environment') environment: any,\r\n private configSvc: ConfigurationsService,\r\n private eventsSvc: EventService,\r\n // private authSvc: AuthKeycloakService,\r\n private logger: LoggerService,\r\n ) {\r\n this.environment = environment\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.telemetryConfig = instanceConfig.telemetryConfig\r\n this.telemetryConfig = {\r\n ...this.telemetryConfig,\r\n pdata: {\r\n ...this.telemetryConfig.pdata,\r\n // pid: navigator.userAgent,\r\n id: `${environment.name}.${this.telemetryConfig.pdata.id}`,\r\n },\r\n uid: this.configSvc.userProfile && this.configSvc.userProfile.userId,\r\n // authtoken: this.authSvc.token,\r\n // tslint:disable-next-line: no-non-null-assertion\r\n channel: this.rootOrgId || this.telemetryConfig.channel,\r\n sid: this.getTelemetrySessionId,\r\n }\r\n this.pData = this.telemetryConfig.pdata\r\n this.addPlayerListener()\r\n this.addCustomEventListener()\r\n this.addInteractListener()\r\n this.addFeedbackListener()\r\n this.addTimeSpentListener()\r\n this.addSearchListener()\r\n this.addHearbeatListener()\r\n this.addCustomImpressionListener()\r\n }\r\n }\r\n\r\n get getTelemetrySessionId(): string {\r\n return localStorage.getItem('telemetrySessionId') || ''\r\n }\r\n\r\n get rootOrgId(): string {\r\n if (this.configSvc && this.configSvc.userProfile && this.configSvc.userProfile.rootOrgId) {\r\n return this.configSvc.userProfile.rootOrgId\r\n }\r\n return ''\r\n }\r\n\r\n start(edata: any, data: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n try {\r\n if (this.telemetryConfig) {\r\n $t.start(\r\n this.telemetryConfig,\r\n (pageContext && pageContext.pageId) ?\r\n pageContext.pageId\r\n : '',\r\n '1.0',\r\n {\r\n // id,\r\n type: edata.type,\r\n mode: edata.mode,\r\n pageid: (pageContext && pageContext.pageId) ?\r\n pageContext.pageId\r\n : '',\r\n duration: 1,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n ...(pageContext && pageContext.module ? { env: pageContext.module } : null),\r\n },\r\n object: {\r\n ...(data) && data,\r\n },\r\n }\r\n )\r\n } else {\r\n this.logger.error('Error Initializing Telemetry. Config missing.')\r\n }\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry start', e)\r\n }\r\n }\r\n\r\n end(edata: any, data: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n try {\r\n $t.end(\r\n {\r\n type: edata.type,\r\n mode: edata.mode,\r\n pageid: (pageContext && pageContext.pageId) ?\r\n pageContext.pageId\r\n : '',\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n ...(pageContext && pageContext.module ? { env: pageContext.module } : null),\r\n },\r\n object: {\r\n ...(data) && data,\r\n },\r\n },\r\n )\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry end', e)\r\n }\r\n }\r\n\r\n audit(type: string, props: string, data: any) {\r\n try {\r\n $t.audit(\r\n {\r\n type,\r\n props,\r\n // data,\r\n state: data, // Optional. Current State\r\n prevstate: '', // Optional. Previous State\r\n duration: '', // Optional.\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n },\r\n )\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry audit', e)\r\n }\r\n }\r\n\r\n heartbeat(type: string, id: string) {\r\n try {\r\n $t.heartbeat({\r\n id,\r\n // mode,\r\n type,\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry heartbeat', e)\r\n }\r\n }\r\n\r\n impression(data?: any) {\r\n try {\r\n const page = this.getPageDetails()\r\n if (data && data.pageContext) {\r\n // page.pageid = data.pageContext.pageId\r\n page.module = data.pageContext.module\r\n }\r\n const edata = {\r\n pageid: page.pageid, // Required. Unique page id\r\n type: page.pageUrlParts[0], // Required. Impression type (list, detail, view, edit, workflow, search)\r\n uri: page.pageUrl,\r\n }\r\n if (page.objectId) {\r\n const config = {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n env: page.module || (this.telemetryConfig && this.telemetryConfig.env),\r\n },\r\n object: {\r\n id: page.objectId,\r\n // This will override above id if the data has object in it.\r\n ...((data) ? data.object : {}),\r\n },\r\n }\r\n $t.impression(edata, config)\r\n } else {\r\n $t.impression(edata, {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n env: page.module || '',\r\n },\r\n object: {\r\n ...((data) ? data.object : {}),\r\n },\r\n })\r\n }\r\n this.previousUrl = page.pageUrl\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry impression', e)\r\n }\r\n }\r\n\r\n externalImpression(impressionData: any) {\r\n try {\r\n const page = this.getPageDetails()\r\n if (this.externalApps[impressionData.subApplicationName]) {\r\n const externalConfig = page.objectId ? {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[impressionData.subApplicationName],\r\n },\r\n },\r\n object: {\r\n id: page.objectId,\r\n },\r\n } : {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[impressionData.subApplicationName],\r\n },\r\n },\r\n }\r\n $t.impression(impressionData.data, externalConfig)\r\n }\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry externalImpression', e)\r\n }\r\n }\r\n\r\n addCustomImpressionListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryImpression) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Impression,\r\n ),\r\n )\r\n .subscribe(event => {\r\n try {\r\n // console.log('event.data::', event.data)\r\n this.impression(event.data)\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry impression', e)\r\n }\r\n })\r\n }\r\n\r\n addTimeSpentListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n event =>\r\n event &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.type === WsEvents.WsTimeSpentType.Page &&\r\n event.data.mode &&\r\n event.data,\r\n ),\r\n )\r\n .subscribe(event => {\r\n if (event.data.state === WsEvents.EnumTelemetrySubType.Loaded) {\r\n this.start(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n {},\r\n event.pageContext\r\n )\r\n }\r\n if (event.data.state === WsEvents.EnumTelemetrySubType.Unloaded) {\r\n this.end({\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n {},\r\n event.pageContext\r\n )\r\n }\r\n })\r\n }\r\n\r\n addCustomEventListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n event =>\r\n event &&\r\n event.eventType === WsEvents.WsEventType.Telemetry\r\n ),\r\n )\r\n .subscribe(event => {\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Loaded &&\r\n event.data.type !== WsEvents.WsTimeSpentType.Player\r\n ) {\r\n this.start(\r\n {\r\n type: event.data.type,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n )\r\n }\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Unloaded &&\r\n event.data.type !== WsEvents.WsTimeSpentType.Player\r\n ) {\r\n this.end(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n )\r\n }\r\n })\r\n }\r\n addPlayerListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n event =>\r\n event &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.type === WsEvents.WsTimeSpentType.Player &&\r\n event.data.mode &&\r\n event.data,\r\n ),\r\n )\r\n .subscribe(event => {\r\n const content: NsContent.IContent | null = event.data.content\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Loaded &&\r\n (!content ||\r\n (content.isIframeSupported || '').toLowerCase() === 'maybe' ||\r\n (content.isIframeSupported || '').toLowerCase() === 'yes' ||\r\n (content.mimeType === 'application/pdf' || 'application/json'))\r\n ) {\r\n this.start(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n\r\n )\r\n }\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Unloaded &&\r\n (!content ||\r\n (content.isIframeSupported || '').toLowerCase() === 'maybe' ||\r\n (content.isIframeSupported || '').toLowerCase() === 'yes' ||\r\n (content.mimeType === 'application/pdf' || 'application/json'))\r\n ) {\r\n this.end(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n )\r\n }\r\n })\r\n }\r\n\r\n addInteractListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryInteract) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Interact,\r\n ),\r\n )\r\n .subscribe(event => {\r\n const page = this.getPageDetails()\r\n if (typeof event.from === 'string' && this.externalApps[event.from]) {\r\n const externalConfig = {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[event.from],\r\n },\r\n },\r\n }\r\n try {\r\n $t.interact(event.data, externalConfig)\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry interact', e)\r\n }\r\n } else {\r\n // let interactid\r\n // if (event.data.edata.type === 'goal') {\r\n // interactid = page.pageUrlParts[4]\r\n // }\r\n try {\r\n $t.interact(\r\n {\r\n type: event.data.edata.type,\r\n subtype: event.data.edata.subType,\r\n // object: event.data.object,\r\n id: (event.data.edata && event.data.edata.id) ?\r\n event.data.edata.id\r\n : '',\r\n pageid: event.data.pageContext && event.data.pageContext.pageId || page.pageid,\r\n // target: { page },\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n ...(event.data.pageContext && event.data.pageContext.module ? { env: event.data.pageContext.module } : null),\r\n },\r\n object: {\r\n ...event.data.object,\r\n },\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry interact', e)\r\n }\r\n }\r\n })\r\n }\r\n\r\n addFeedbackListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryFeedback) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Feedback,\r\n ),\r\n )\r\n .subscribe(event => {\r\n const page = this.getPageDetails()\r\n try {\r\n $t.feedback(\r\n {\r\n rating: event.data.object.rating || 0,\r\n commentid: event.data.object.commentid || '',\r\n commenttxt: event.data.object.commenttxt || '',\r\n pageid: page.pageid,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n object: {\r\n id: event.data.object.contentId || event.data.object.id || '',\r\n type: event.data.edata.type || '',\r\n ver: `${(event.data.object.version || '1')}${''}`,\r\n rollup: {},\r\n },\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry interact', e)\r\n }\r\n })\r\n }\r\n\r\n addHearbeatListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryHeartBeat) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.HeartBeat,\r\n ),\r\n )\r\n .subscribe(event => {\r\n if (typeof event.from === 'string' && this.externalApps[event.from]) {\r\n const externalConfig = {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[event.from],\r\n },\r\n },\r\n }\r\n try {\r\n $t.heartbeat(event.data, externalConfig)\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry heartbeat', e)\r\n }\r\n } else {\r\n try {\r\n $t.heartbeat(\r\n {\r\n type: event.data.type,\r\n // subtype: event.data.eventSubType,\r\n id: event.data.id,\r\n // mimeType: event.data.mimeType,\r\n // mode: event.data.mode,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry heartbeat', e)\r\n }\r\n }\r\n })\r\n }\r\n\r\n addSearchListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetrySearch) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Search,\r\n ),\r\n )\r\n .subscribe(event => {\r\n try {\r\n $t.search(\r\n {\r\n query: event.data.query,\r\n filters: event.data.filters,\r\n size: event.data.size,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n },\r\n )\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry search', e)\r\n }\r\n })\r\n }\r\n\r\n getPageDetails() {\r\n const path = window.location.pathname.replace('/', '')\r\n const url = path + window.location.search\r\n return {\r\n pageid: path,\r\n pageUrl: url,\r\n pageUrlParts: path.split('/'),\r\n refferUrl: this.previousUrl,\r\n objectId: this.extractContentIdFromUrlParts(path.split('/')),\r\n module: '',\r\n }\r\n }\r\n\r\n extractContentIdFromUrlParts(urlParts: string[]) {\r\n // TODO: pick toc and viewer url from some configuration\r\n const tocIdx = urlParts.indexOf('toc')\r\n const viewerIdx = urlParts.indexOf('viewer')\r\n\r\n if (tocIdx === -1 && viewerIdx === -1) {\r\n return null\r\n }\r\n\r\n if (tocIdx !== -1 && tocIdx < urlParts.length - 1) {\r\n return urlParts[tocIdx + 1] // e.g. url /app/toc/<content_id>\r\n }\r\n\r\n if (viewerIdx !== -1 && viewerIdx < urlParts.length - 2) {\r\n return urlParts[viewerIdx + 2] // e.g. url /app/viewer/<content_type>/<content_id>\r\n }\r\n\r\n return null\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { ActivatedRoute, Router } from '@angular/router'\r\nimport { WidgetContentService } from './widget-content.service'\r\nimport { AuthKeycloakService } from './auth-keycloak.service'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { WsEvents } from './event.model'\r\nimport { EventService } from './event.service'\r\nimport { TelemetryService } from './telemetry.service'\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubapplicationRespondService {\r\n subAppname = ''\r\n continueLearningData: any = null\r\n contentWindowinfo: any\r\n loaded = false\r\n constructor(\r\n private configSvc: ConfigurationsService,\r\n private contentSvc: WidgetContentService,\r\n private keyCloakSvc: AuthKeycloakService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private eventSvc: EventService,\r\n private teleSvc: TelemetryService,\r\n ) {\r\n this.changeContextrespond()\r\n this.configSvc.prefChangeNotifier.subscribe(() => {\r\n this.changeContextrespond()\r\n })\r\n }\r\n loadedRespond(contentWindow: any, applicationName: string, id?: string) {\r\n if (id && this.activatedRoute.snapshot.queryParams.viewMode && this.activatedRoute.snapshot.queryParams.viewMode === 'RESUME') {\r\n this.continueLearningData = null\r\n this.contentSvc.fetchContentHistory(id).subscribe(\r\n data => {\r\n this.continueLearningData = data.continueData\r\n if (this.configSvc && this.configSvc.userProfile) {\r\n const firstName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[0] : ''\r\n const lastName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[1] : ''\r\n const viewMode: string = this.activatedRoute.snapshot.queryParams.viewMode ?\r\n this.activatedRoute.snapshot.queryParams.viewMode : ''\r\n const token = this.keyCloakSvc.token\r\n const response = {\r\n subApplicationName: applicationName,\r\n requestId: 'LOADED',\r\n parentContext: {\r\n domainName: window.location.host,\r\n url: this.router.url,\r\n rootOrg: this.configSvc.rootOrg,\r\n theme: this.configSvc.activeThemeObject ? {\r\n name: this.configSvc.activeThemeObject.themeName,\r\n ...this.configSvc.activeThemeObject.color,\r\n } : '',\r\n fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',\r\n locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',\r\n darkMode: this.configSvc.isDarkMode,\r\n subApplicationStartMode: viewMode.toUpperCase(),\r\n user: {\r\n firstName,\r\n lastName,\r\n token,\r\n userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',\r\n roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],\r\n },\r\n heartbeatFrequency: '200',\r\n },\r\n data: this.continueLearningData.data ? {\r\n continueLearning: this.continueLearningData.data,\r\n } : null,\r\n }\r\n contentWindow.postMessage(response, '*')\r\n this.contentWindowinfo = contentWindow\r\n this.loaded = true\r\n this.subAppname = applicationName\r\n }\r\n })\r\n } else {\r\n if (this.configSvc && this.configSvc.userProfile) {\r\n const firstName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[0] : ''\r\n const lastName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[1] : ''\r\n const viewMode: string = this.activatedRoute.snapshot.queryParams.viewMode ?\r\n this.activatedRoute.snapshot.queryParams.viewMode : ''\r\n const token = this.keyCloakSvc.token\r\n const response = {\r\n subApplicationName: applicationName,\r\n requestId: 'LOADED',\r\n parentContext: {\r\n domainName: window.location.host,\r\n url: this.router.url,\r\n rootOrg: this.configSvc.rootOrg,\r\n theme: this.configSvc.activeThemeObject ? {\r\n name: this.configSvc.activeThemeObject.themeName,\r\n ...this.configSvc.activeThemeObject.color,\r\n } : '',\r\n fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',\r\n locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',\r\n darkMode: this.configSvc.isDarkMode,\r\n subApplicationStartMode: viewMode.toUpperCase(),\r\n user: {\r\n firstName,\r\n lastName,\r\n token,\r\n userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',\r\n roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],\r\n },\r\n heartbeatFrequency: '200',\r\n },\r\n data: null,\r\n }\r\n contentWindow.postMessage(response, '*')\r\n this.contentWindowinfo = contentWindow\r\n this.loaded = true\r\n this.subAppname = applicationName\r\n }\r\n }\r\n }\r\n continueLearningRespond(id: string, continueLearning: any) {\r\n this.contentSvc.saveContinueLearning(\r\n {\r\n contextPathId: id,\r\n resourceId: id,\r\n data: JSON.stringify({ timestamp: Date.now(), data: continueLearning }),\r\n dateAccessed: Date.now(),\r\n },\r\n )\r\n .toPromise()\r\n .catch()\r\n }\r\n telemetryEvents(tData: any) {\r\n if (tData) {\r\n switch (tData.eventId) {\r\n case 'INTERACT':\r\n this.eventSvc.dispatchEvent<WsEvents.IWsEventTelemetryInteract>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Warn,\r\n data: {\r\n ...tData.data,\r\n eventSubType: WsEvents.EnumTelemetrySubType.Interact,\r\n },\r\n from: tData.subApplicationName,\r\n to: 'Telemetry',\r\n })\r\n break\r\n case 'HEARTBEAT':\r\n this.eventSvc.dispatchEvent<WsEvents.IWsEventTelemetryHeartBeat>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Trace,\r\n data: {\r\n ...tData.data,\r\n eventSubType: WsEvents.EnumTelemetrySubType.HeartBeat,\r\n },\r\n from: tData.subApplicationName,\r\n to: 'Telemetry',\r\n })\r\n break\r\n case 'IMPRESSION':\r\n this.teleSvc.externalImpression(tData.data)\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n }\r\n unsubscribeResponse() {\r\n this.subAppname = ''\r\n this.continueLearningData = null\r\n this.contentWindowinfo = null\r\n this.loaded = false\r\n }\r\n changeContextrespond() {\r\n if (this.loaded && this.contentWindowinfo && this.configSvc && this.configSvc.userProfile && this.subAppname) {\r\n const firstName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[0] : ''\r\n const lastName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[1] : ''\r\n const viewMode: string = this.activatedRoute.snapshot.queryParams.viewMode ?\r\n this.activatedRoute.snapshot.queryParams.viewMode : ''\r\n const token = this.keyCloakSvc.token\r\n const response = {\r\n subApplicationName: this.subAppname,\r\n requestId: 'CONTEXT_CHANGE',\r\n parentContext: {\r\n domainName: window.location.host,\r\n url: this.router.url,\r\n rootOrg: this.configSvc.rootOrg,\r\n theme: this.configSvc.activeThemeObject ? {\r\n name: this.configSvc.activeThemeObject.themeName,\r\n ...this.configSvc.activeThemeObject.color,\r\n } : '',\r\n fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',\r\n locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',\r\n darkMode: this.configSvc.isDarkMode,\r\n subApplicationStartMode: viewMode.toUpperCase(),\r\n user: {\r\n firstName,\r\n lastName,\r\n token,\r\n userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',\r\n roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],\r\n },\r\n heartbeatFrequency: '200',\r\n },\r\n }\r\n this.contentWindowinfo.postMessage(response, '*')\r\n }\r\n }\r\n}\r\n","export interface IUserPreference {\r\n selectedTheme: string\r\n selectedFont: string\r\n selectedLocale: string\r\n isDarkMode: boolean\r\n isIntranetAllowed?: boolean\r\n isRTL: boolean\r\n colorPallet: string[]\r\n defaultCardType: string\r\n pinnedApps: string\r\n selectedLangGroup?: string\r\n completedActivity: string[]\r\n completedTour?: boolean\r\n profileSettings: string[]\r\n}\r\n\r\nexport interface IProfile {\r\n showProfilePicture: boolean\r\n showUserInterest: boolean\r\n showKbFollowed: boolean\r\n showPlaylist: boolean\r\n showAuthoredByMe: boolean\r\n showReviewedByMe: boolean\r\n showBadgeDetails: boolean\r\n showBlogs: boolean\r\n showQnA: boolean\r\n // showLearningTime: boolean\r\n // showLearningPoints: boolean\r\n // showLastViewed: boolean\r\n // showGoals: boolean\r\n // showTopicsFollowed: boolean\r\n // showAssessmentDetails: boolean\r\n // showCertificationDetails: boolean\r\n // showUserSkills: boolean\r\n}\r\nexport interface IPortalUrls {\r\n igot: string,\r\n spv: string,\r\n mdo: string,\r\n cbc: string,\r\n cbp: string,\r\n frac: string\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { IUserPreference } from './user-preference.model'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { debounceTime, retry, catchError } from 'rxjs/operators'\r\nimport { of } from 'rxjs'\r\nconst endpoints = {\r\n userPref: '/apis/protected/v8/user/preference',\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserPreferenceService {\r\n // do changes in the backend and update the store\r\n\r\n constructor(private http: HttpClient, private configurationSvc: ConfigurationsService) { }\r\n\r\n initialize() {\r\n this.configurationSvc.prefChangeNotifier\r\n .pipe(debounceTime(250))\r\n .subscribe((changedUserPref?: Partial<IUserPreference>) => {\r\n if (this.configurationSvc.isAuthenticated) {\r\n this.saveUserPreference(changedUserPref)\r\n }\r\n })\r\n }\r\n\r\n async fetchUserPreference(): Promise<IUserPreference> {\r\n const pref = await this.http.get<IUserPreference>(endpoints.userPref).toPromise()\r\n return pref\r\n }\r\n\r\n async saveUserPreference(changedUserPref?: Partial<IUserPreference>): Promise<boolean> {\r\n try {\r\n if (!changedUserPref) {\r\n return false\r\n }\r\n const newUserPref: IUserPreference = {\r\n ...this.configurationSvc.userPreference,\r\n pinnedApps:\r\n (changedUserPref && changedUserPref.pinnedApps) ||\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.pinnedApps) ||\r\n '',\r\n isDarkMode: this.configurationSvc.isDarkMode,\r\n isRTL: this.configurationSvc.isRTL,\r\n selectedTheme:\r\n (this.configurationSvc.activeThemeObject &&\r\n this.configurationSvc.activeThemeObject.themeClass) ||\r\n '',\r\n selectedFont:\r\n (this.configurationSvc.activeFontObject &&\r\n this.configurationSvc.activeFontObject.fontClass) ||\r\n '',\r\n selectedLangGroup:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.selectedLangGroup) ||\r\n '',\r\n selectedLocale:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.selectedLocale) ||\r\n '',\r\n colorPallet:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.colorPallet) ||\r\n [],\r\n defaultCardType:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.defaultCardType) ||\r\n '',\r\n completedActivity:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.completedActivity) ||\r\n [],\r\n ...(changedUserPref || {}),\r\n completedTour: this.configurationSvc.completedTour,\r\n profileSettings:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.profileSettings) ||\r\n this.configurationSvc.profileSettings,\r\n }\r\n const oldUserPref: IUserPreference | null = this.configurationSvc.userPreference\r\n this.configurationSvc.userPreference = newUserPref\r\n await this.http\r\n .put(endpoints.userPref, newUserPref)\r\n .pipe(\r\n retry(3),\r\n catchError(err => {\r\n this.configurationSvc.userPreference = oldUserPref\r\n return of(err)\r\n }),\r\n )\r\n .toPromise()\r\n return true\r\n } catch (err) {\r\n return false\r\n }\r\n }\r\n}\r\n","export namespace NsContent {\r\n export interface IContinueLearningData extends IContent {\r\n continueData: any\r\n }\r\n\r\n export interface IContent {\r\n platform?: any\r\n addedOn: string\r\n appIcon: string\r\n artifactUrl: string\r\n averageRating?: any\r\n body?: string\r\n certificationList?: IRelatedContentMeta[]\r\n certificationStatus?: TCertificationStatus\r\n certificationSubmissionDate?: string\r\n certificationUrl: string\r\n children: IContent[]\r\n childrenClassifiers?: string[]\r\n clients?: IClient[]\r\n collections?: IContent[]\r\n complexityLevel: string\r\n contentId: string\r\n contentType: EContentTypes\r\n contentUrlAtSource: string\r\n creatorContacts: ICreator[]\r\n\r\n creatorDetails: ICreator[]\r\n creatorLogo: string\r\n creatorPosterImage: string\r\n creatorThumbnail: string\r\n\r\n curatedTags: string[]\r\n description: string\r\n displayContentType: EDisplayContentTypes // For UI\r\n downloadUrl?: string\r\n duration: number\r\n exclusiveContent?: boolean\r\n expiryDate?: string\r\n equivalentCertifications?: IRelatedContentMeta[]\r\n hasAccess: boolean\r\n hasAssessment?: string\r\n idealScreenSize?: string\r\n identifier: string\r\n introductoryVideo?: string\r\n introductoryVideoIcon?: string\r\n learningTrack?: string\r\n isExternal: boolean\r\n isIframeSupported: 'Yes' | 'No' | 'Maybe'\r\n isInIntranet?: boolean\r\n keywords?: string[]\r\n kArtifacts?: IRelatedContentMeta[]\r\n lastUpdatedOn: string\r\n learningMode?: TLearningMode\r\n learningObjective: string\r\n labels?: string[]\r\n locale?: string\r\n hasTranslations?: { identifier: string; locale: string }[]\r\n isTranslationOf?: { identifier: string; locale: string }[]\r\n me_totalSessionsCount: number\r\n mediaType: string\r\n mimeType: EMimeTypes\r\n minWingspanVersion?: string\r\n msArtifactDetails?: IMSArtifactDetails\r\n mode?: ETagType\r\n name: string\r\n nextCertificationAttemptDate?: string\r\n playgroundInstructions?: string\r\n playgroundResources?: IResourcePlayground[]\r\n postContents?: IPrePostContent[]\r\n posterImage?: string\r\n preContents?: IPrePostContent[]\r\n preRequisites: string\r\n price?: {\r\n currency: string\r\n value: number\r\n }\r\n proctorUrl?: string\r\n progress?: IMarkAsCompleteProgress\r\n publishedOn: string\r\n recentCertificationAttemptScore?: number\r\n recommendationReasons?: string[]\r\n region?: string[]\r\n registrationUrl?: string\r\n registrationInstructions?: string\r\n resourceCategory?: string[]\r\n resourceType: string\r\n size?: number\r\n skills: ISkill[]\r\n softwareRequirements?: IResourceDetail[]\r\n sourceName: string\r\n sourceShortName: string\r\n sourceIconUrl?: string\r\n sourceUrl?: string\r\n ssoEnabled?: boolean\r\n status:\r\n | 'Draft'\r\n | 'InReview'\r\n | 'QualityReview'\r\n | 'Reviewed'\r\n | 'Processing'\r\n | 'Live'\r\n | 'Deleted'\r\n | 'MarkedForDeletion'\r\n | 'Expired'\r\n subTitle?: string\r\n subTitles?: ISubtitle[]\r\n studyMaterials?: IRelatedContentMeta[]\r\n systemRequirements?: string[]\r\n tags: ITag[]\r\n topics: IContentTopic[]\r\n totalLikes?: { [key: string]: number }\r\n totalRating?: number\r\n track: ITrack[]\r\n uniqueLearners?: number\r\n viewCount?: { [key: string]: number }\r\n reason?: string // required for Knowledge board\r\n trainingLHubCount?: number // for LHub trainings\r\n verifiers?: {\r\n // required for External Certifications\r\n name: string\r\n email: string\r\n id: string\r\n }[]\r\n references?: { url: string; title: string }[]\r\n resumePage?: number // For player WebModule in UI\r\n [key: string]: any\r\n }\r\n\r\n export interface IContentMinimal {\r\n appIcon: string\r\n artifactUrl: string\r\n complexityLevel: string\r\n contentType: EContentTypes\r\n description: string\r\n displayContentType?: EDisplayContentTypes\r\n duration: number\r\n identifier: string\r\n hasAccess?: boolean\r\n isInIntranet?: boolean\r\n learningMode?: TLearningMode\r\n mimeType: EMimeTypes\r\n name: string\r\n creatorDetails: ICreator[]\r\n creatorContacts: ICreator[]\r\n PosterImage: string\r\n resourceType?: string\r\n totalRating?: number\r\n }\r\n\r\n export interface ICollectionHierarchyResponse {\r\n data: IContent\r\n hasMore: boolean\r\n totalContents: number\r\n }\r\n\r\n export interface IRelatedContentMeta {\r\n identifier: string\r\n name: string\r\n }\r\n\r\n type TCertificationStatus = 'ongoing' | 'passed' | 'canAttempt' | 'cannotAttempt'\r\n export type TLearningMode = 'Self-Paced' | 'Instructor-Led' | 'Open' | 'Closed'\r\n\r\n interface IMarkAsCompleteProgress {\r\n progressStatus: 'open' | 'started' | 'completed'\r\n showMarkAsComplete: boolean\r\n markAsCompleteReason: string\r\n progressSupported: boolean\r\n progress: number | null\r\n }\r\n\r\n interface ITag {\r\n id: string\r\n type: string\r\n value: string\r\n }\r\n interface IMSArtifactDetails {\r\n channelId: string\r\n videoId: string\r\n }\r\n interface IClient {\r\n displayName: string\r\n id: string\r\n name: string\r\n }\r\n interface ISubtitle {\r\n srclang: string\r\n label: string\r\n url: string\r\n }\r\n interface IPrePostContent {\r\n identifier: string\r\n name: string\r\n }\r\n interface IResourceDetail {\r\n title?: string\r\n url?: string\r\n }\r\n interface IResourcePlayground {\r\n appIcon: string\r\n artifactUrl: string\r\n identifier: string\r\n name: string\r\n }\r\n interface ITrack {\r\n id: string\r\n name: string\r\n status: string\r\n visibility: string\r\n }\r\n interface ISkill {\r\n id: string\r\n category: string\r\n skill: string\r\n name: string\r\n }\r\n export interface ICreator {\r\n id: string\r\n name: string\r\n email: string\r\n }\r\n export interface IContentTopic {\r\n identifier: string\r\n name: string\r\n }\r\n // API Based\r\n\r\n export interface IContact {\r\n id: string\r\n name: string\r\n email: string\r\n }\r\n\r\n export interface IViewerContinueLearningRequest {\r\n resourceId: string\r\n contextPathId: string\r\n data: string\r\n dateAccessed: number\r\n contextType?: string\r\n }\r\n\r\n export enum EContentTypes {\r\n PROGRAM = 'Learning Path',\r\n CHANNEL = 'Channel',\r\n COURSE = 'Course',\r\n KNOWLEDGE_ARTIFACT = 'Knowledge Artifact',\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n MODULE = 'Collection',\r\n RESOURCE = 'Resource',\r\n }\r\n export enum EMiscPlayerSupportedCollectionTypes {\r\n PLAYLIST = 'Playlist',\r\n }\r\n export const PLAYER_SUPPORTED_COLLECTION_TYPES: string[] = [\r\n EContentTypes.COURSE,\r\n EContentTypes.MODULE,\r\n EContentTypes.PROGRAM,\r\n EMiscPlayerSupportedCollectionTypes.PLAYLIST,\r\n ]\r\n export const KB_SUPPORTED_CONTENT_TYPES: EContentTypes[] = [\r\n EContentTypes.COURSE,\r\n EContentTypes.MODULE,\r\n EContentTypes.PROGRAM,\r\n EContentTypes.RESOURCE,\r\n ]\r\n export const PLAYLIST_SUPPORTED_CONTENT_TYPES: EContentTypes[] = [\r\n EContentTypes.COURSE,\r\n EContentTypes.MODULE,\r\n EContentTypes.PROGRAM,\r\n EContentTypes.RESOURCE,\r\n ]\r\n export enum EMimeTypes {\r\n COLLECTION = 'application/vnd.ekstep.content-collection',\r\n HTML = 'application/html',\r\n ILP_FP = 'application/ilpfp',\r\n IAP = 'application/iap-assessment',\r\n M4A = 'audio/m4a',\r\n MP3 = 'audio/mpeg',\r\n MP4 = 'video/mp4',\r\n M3U8 = 'application/x-mpegURL',\r\n INTERACTION = 'video/interactive',\r\n PDF = 'application/pdf',\r\n QUIZ = 'application/quiz',\r\n DRAG_DROP = 'application/drag-drop',\r\n HTML_PICKER = 'application/htmlpicker',\r\n WEB_MODULE = 'application/web-module',\r\n WEB_MODULE_EXERCISE = 'application/web-module-exercise',\r\n YOUTUBE = 'video/x-youtube',\r\n HANDS_ON = 'application/integrated-hands-on',\r\n RDBMS_HANDS_ON = 'application/rdbms',\r\n CLASS_DIAGRAM = 'application/class-diagram',\r\n CHANNEL = 'application/channel',\r\n COLLECTION_RESOURCE = 'resource/collection',\r\n // Added on UI Only\r\n CERTIFICATION = 'application/certification',\r\n PLAYLIST = 'application/playlist',\r\n UNKNOWN = 'application/unknown',\r\n }\r\n export enum EDisplayContentTypes {\r\n ASSESSMENT = 'ASSESSMENT',\r\n AUDIO = 'AUDIO',\r\n CERTIFICATION = 'CERTIFICATION',\r\n CHANNEL = 'Channel',\r\n CLASS_DIAGRAM = 'CLASS_DIAGRAM',\r\n COURSE = 'COURSE',\r\n DEFAULT = 'DEFAULT',\r\n DRAG_DROP = 'DRAG_DROP',\r\n EXTERNAL_CERTIFICATION = 'EXTERNAL_CERTIFICATION',\r\n EXTERNAL_COURSE = 'EXTERNAL_COURSE',\r\n GOALS = 'GOALS',\r\n HANDS_ON = 'HANDS_ON',\r\n IAP = 'IAP',\r\n INSTRUCTOR_LED = 'INSTRUCTOR_LED',\r\n INTERACTIVE_VIDEO = 'INTERACTIVE_VIDEO',\r\n KNOWLEDGE_ARTIFACT = 'KNOWLEDGE_ARTIFACT',\r\n MODULE = 'MODULE',\r\n PDF = 'PDF',\r\n PLAYLIST = 'PLAYLIST',\r\n PROGRAM = 'PROGRAM',\r\n QUIZ = 'QUIZ',\r\n RESOURCE = 'RESOURCE',\r\n RDBMS_HANDS_ON = 'RDBMS_HANDS_ON',\r\n VIDEO = 'VIDEO',\r\n WEB_MODULE = 'WEB_MODULE',\r\n WEB_PAGE = 'WEB_PAGE',\r\n YOUTUBE = 'YOUTUBE',\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n }\r\n // for UI\r\n export enum EFilterCategory {\r\n ALL = 'ALL',\r\n LEARN = 'LEARN',\r\n PRACTICE = 'PRACTICE',\r\n ASSESS = 'ASSESS',\r\n }\r\n\r\n // for UI\r\n export enum ETagType {\r\n NEWLY_ADDED = 'NEWLY ADDED',\r\n }\r\n}\r\n","export interface IContentRating {\n averageRating: string\n ratingCount: number\n ratingInfo: IRatingInfo[]\n}\nexport interface IRatingInfo {\n rating: number\n count: number\n}\n"],"names":["storage","storageKey","MatDialogRef","moment","_.camelCase"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sunbird-cb-utils.js","sources":["../../../../library/sunbird-cb/utils/src/lib/services/configurations.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/value.service.ts","../../../../library/sunbird-cb/utils/src/lib/components/image-crop/image-crop.component.ts","../../../../library/sunbird-cb/utils/src/lib/components/image-crop/image-crop.module.ts","../../../../library/sunbird-cb/utils/src/lib/constants/features.enum.ts","../../../../library/sunbird-cb/utils/src/lib/constants/instances.enum.ts","../../../../library/sunbird-cb/utils/src/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.ts","../../../../library/sunbird-cb/utils/src/lib/directives/class-change-on-scroll/class-change-on-scroll.module.ts","../../../../library/sunbird-cb/utils/src/lib/directives/default-thumbnail/default-thumbnail.directive.ts","../../../../library/sunbird-cb/utils/src/lib/directives/default-thumbnail/default-thumbnail.module.ts","../../../../library/sunbird-cb/utils/src/lib/directives/image-responsive/image-responsive.directive.ts","../../../../library/sunbird-cb/utils/src/lib/directives/image-responsive/image-responsive.module.ts","../../../../library/sunbird-cb/utils/src/lib/directives/in-view-port/in-view-port.directive.ts","../../../../library/sunbird-cb/utils/src/lib/directives/in-view-port/in-view-port.module.ts","../../../../library/sunbird-cb/utils/src/lib/directives/navigation/navigation.directive.ts","../../../../library/sunbird-cb/utils/src/lib/directives/navigation/navigation.module.ts","../../../../library/sunbird-cb/utils/src/lib/directives/permission/permission.directive.ts","../../../../library/sunbird-cb/utils/src/lib/directives/permission/permission.module.ts","../../../../library/sunbird-cb/utils/src/lib/helpers/functions/getStringifiedQueryParams.ts","../../../../library/sunbird-cb/utils/src/lib/helpers/horizontal-scroller/horizontal-scroller.component.ts","../../../../library/sunbird-cb/utils/src/lib/helpers/horizontal-scroller/horizontal-scroller.module.ts","../../../../library/sunbird-cb/utils/src/lib/services/logger.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/auth-microsoft.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/auth-keycloak.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/utility.service.ts","../../../../library/sunbird-cb/utils/src/lib/helpers/logout/logout.component.ts","../../../../library/sunbird-cb/utils/src/lib/helpers/logout/logout.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-count-transform/pipe-count-transform.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-date-concat/pipe-date-concat.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-filter/pipe-filter.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-filter/pipe-filter.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-filter-search/pipe-filter-search.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-list-filter/pipe-list-filter.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-relative-time/pipe-relative-time.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-order-by/pipe-order-by.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-order-by/pipe-order-by.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-limit-to/pipe-limit-to.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-name-transform/pipe-name-transform.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-partial-content/pipe-partial-content.module.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.ts","../../../../library/sunbird-cb/utils/src/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.ts","../../../../library/sunbird-cb/utils/src/lib/resolvers/explore-detail.resolver.ts","../../../../library/sunbird-cb/utils/src/lib/resolvers/marketing-offering.resolve.ts","../../../../library/sunbird-cb/utils/src/lib/resolvers/page.constant.ts","../../../../library/sunbird-cb/utils/src/lib/resolvers/page.resolver.ts","../../../../library/sunbird-cb/utils/src/lib/services/event.model.ts","../../../../library/sunbird-cb/utils/src/lib/services/event.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/widget-content.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/telemetry.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/subapplication-respond.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/user-preference.service.ts","../../../../library/sunbird-cb/utils/src/lib/services/widget-content.model.ts"],"sourcesContent":["import { Injectable } from '@angular/core'\nimport { BehaviorSubject, ReplaySubject } from 'rxjs'\n// import { environment } from '../../../../../../src/environments/environment'\nimport { NsPage } from '../resolvers/page.model'\nimport { NsAppsConfig, NsInstanceConfig, NsUser } from './configurations.model'\nimport { IUserPreference } from './user-preference.model'\n\n// const instanceConfigPath: string | null = window.location.host\n// const locationHost: string | null = window.location.host\n\n// if (!environment.production && Boolean(environment.sitePath)) {\n// locationHost = environment.sitePath\n// instanceConfigPath = environment.sitePath\n// }\n@Injectable({\n providedIn: 'root',\n})\nexport class ConfigurationsService {\n // update as the single source of truth\n constructor() {\n // @Inject('env') env: any\n // if (!env.production && Boolean(env.sitePath)) {\n // locationHost = env.sitePath\n // instanceConfigPath = env.sitePath\n // }\n }\n appSetup = true\n // The url the user tried to access while landing in the app before accepting tnc\n userUrl = ''\n baseUrl = `assets/configurations`\n sitePath = `assets/configurations`\n hostPath = (window.location.host).replace(':', '_')\n\n userRoles: Set<string> | null = null\n userGroups: Set<string> | null = null\n restrictedFeatures: Set<string> | null = null\n restrictedWidgets: Set<string> | null = null\n instanceConfig: NsInstanceConfig.IConfig | null = null\n appsConfig: NsAppsConfig.IAppsConfig | null = null\n rootOrg: string | null = null\n courseContentPath?: string\n org: string[] | null = null\n activeOrg: string | null = ''\n isProduction = false\n hasAcceptedTnc = false\n profileDetailsStatus = false\n userPreference: IUserPreference | null = null\n userProfile: NsUser.IUserProfile | null = null\n userProfileV2: NsUser.IUserProfile | null = null\n // created to store complete user details sent by pid\n unMappedUser: any\n orgReadData: any\n isAuthenticated = false\n isNewUser = false\n isActive = true\n\n // pinnedApps\n pinnedApps = new BehaviorSubject<Set<string>>(new Set())\n\n // Notifier\n prefChangeNotifier = new ReplaySubject<Partial<IUserPreference>>(1)\n tourGuideNotifier = new ReplaySubject<boolean>()\n authChangeNotifier = new ReplaySubject<boolean>(1)\n\n // Preference Related Values\n activeThemeObject: NsInstanceConfig.ITheme | null = null\n activeFontObject: NsInstanceConfig.IFontSize | null = null\n isDarkMode = false\n isIntranetAllowed = false\n isRTL = false\n activeLocale: NsInstanceConfig.ILocalsConfig | null = null\n activeLocaleGroup = ''\n completedActivity: string[] | null = null\n completedTour = false\n competency: any\n profileSettings = ['profilePicture', 'learningTime', 'learningPoints']\n\n primaryNavBar: Partial<NsPage.INavBackground> = {\n color: 'primary',\n }\n pageNavBar: Partial<NsPage.INavBackground> = {\n color: 'primary',\n }\n primaryNavBarConfig: NsInstanceConfig.IPrimaryNavbarConfig | null = null\n\n private updateOrgReadData: BehaviorSubject<string> = new BehaviorSubject('')\n updateOrgReadDataObservable = this.updateOrgReadData.asObservable()\n updateOrgData(id: string) {\n this.updateOrgReadData.next(id)\n }\n}\n","import { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs'\r\nimport { BreakpointObserver, Breakpoints, BreakpointState } from '@angular/cdk/layout'\r\nimport { map } from 'rxjs/operators'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ValueService {\r\n\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n ) { }\r\n\r\n public isXSmall$: Observable<boolean> = this.breakpointObserver\r\n .observe([Breakpoints.XSmall])\r\n .pipe(map((res: BreakpointState) => res.matches))\r\n public isLtMedium$: Observable<boolean> = this.breakpointObserver\r\n .observe([Breakpoints.XSmall, Breakpoints.Small])\r\n .pipe(map((res: BreakpointState) => res.matches))\r\n\r\n}\r\n","import { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core'\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'\r\nimport { MatSnackBar } from '@angular/material/snack-bar'\r\n\r\nimport { ImageCroppedEvent, ImageTransform } from 'ngx-image-cropper'\r\nimport { ConfigurationsService } from '../../services/configurations.service'\r\nimport { ValueService } from '../../services/value.service'\r\nexport interface IDialogueDta {\r\n isRoundCrop: boolean,\r\n imageFile: File,\r\n height: number,\r\n width: number,\r\n imageFileName: string\r\n}\r\n@Component({\r\n selector: 'ws-utils-image-crop',\r\n templateUrl: './image-crop.component.html',\r\n styleUrls: ['./image-crop.component.scss'],\r\n})\r\nexport class ImageCropComponent implements OnInit {\r\n // need to set for creator Logo\r\n @Output() data = new EventEmitter<File>()\r\n isRoundCrop = false\r\n isNotOfRequiredSize = false\r\n imageFile!: File\r\n cropimageFile!: File\r\n imageFileBase64: any = ''\r\n width: any = ''\r\n height: any = ''\r\n opHeight: any\r\n opWidth: any\r\n imageDimensions: any = ''\r\n croppedHeight: any = ''\r\n croppedWidth: any = ''\r\n cropperReadyToStart: any = false\r\n fileName = ''\r\n canvasRotation = 0\r\n transform: ImageTransform = {}\r\n resetValue = false\r\n element: any\r\n isXSmall = false\r\n isThumbnail = true\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef<ImageCropComponent>,\r\n private configSvc: ConfigurationsService,\r\n private snackBar: MatSnackBar,\r\n private valueSvc: ValueService,\r\n @Inject(MAT_DIALOG_DATA) data: IDialogueDta\r\n ) {\r\n this.isRoundCrop = data.isRoundCrop\r\n if (data.imageFile) {\r\n this.imageFile = data.imageFile\r\n }\r\n if (data.imageFileName) {\r\n this.fileName = data.imageFileName\r\n }\r\n if (!data.isRoundCrop) {\r\n if (data.height) {\r\n this.opHeight = data.height\r\n }\r\n if (data.width) {\r\n this.opWidth = data.width\r\n }\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.thumbnailSizeDetection()\r\n this.valueSvc.isXSmall$.subscribe((isXSmall: boolean) => {\r\n this.isXSmall = isXSmall\r\n if (this.isXSmall) {\r\n this.dialogRef.updateSize('90%')\r\n } else {\r\n this.dialogRef.updateSize('70%')\r\n }\r\n })\r\n\r\n }\r\n\r\n // displays the default image\r\n changeToDefaultImg($event: any) {\r\n $event.target.src = this.configSvc.instanceConfig ?\r\n this.configSvc.instanceConfig.logos.defaultContent : ''\r\n }\r\n\r\n // image cropping event\r\n imageCropped(event: ImageCroppedEvent) {\r\n\r\n this.imageFileBase64 = event.base64 // store the cropped image as a base64 value\r\n this.cropimageFile = this.base64ImageToBlob(this.imageFileBase64) // convert the cropped image as a file\r\n this.croppedHeight = event.height\r\n this.croppedWidth = event.width\r\n\r\n }\r\n\r\n openSnackBar(message: string) {\r\n this.snackBar.open(message, 'X', {\r\n duration: 2000,\r\n })\r\n }\r\n continueToImageCrop() {\r\n this.isNotOfRequiredSize = false\r\n }\r\n\r\n // checks if the image is of the correct dimensions\r\n thumbnailSizeDetection() {\r\n const fr = new FileReader()\r\n fr.readAsDataURL(this.imageFile)\r\n fr.onload = () => { // when file has loaded\r\n const img = new Image()\r\n img.src = fr.result as string\r\n img.onload = () => {\r\n this.width = img.width\r\n this.height = img.height\r\n if (!this.isRoundCrop) {\r\n if ((this.height === this.opHeight) && (this.width === this.opWidth)) {\r\n this.openSnackBar('Image is of the required dimensions of the thumbnail, croping is not available!')\r\n return\r\n }\r\n if ((this.height < this.opHeight) || (this.width < this.opWidth)) {\r\n this.isNotOfRequiredSize = true\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n base64ImageToBlob(str: string): File {\r\n // extract content type and base64 payload from original string\r\n\r\n const pos = str.indexOf(';base64,')\r\n // var type = str.substring(5, pos);\r\n const b64 = str.substr(pos + 8)\r\n // decode base64\r\n const imageContent = atob(b64)\r\n // create an ArrayBuffer and a view (as unsigned 8-bit)\r\n const buffer = new ArrayBuffer(imageContent.length)\r\n const view = new Uint8Array(buffer)\r\n // fill the view, using the decoded base64\r\n for (let n = 0; n < imageContent.length; n = n + 1) {\r\n view[n] = imageContent.charCodeAt(n)\r\n }\r\n // convert ArrayBuffer to Blob\r\n const blob = new Blob([view], { type: 'image/png' })\r\n const b: any = blob\r\n // Cast to a File() type\r\n b.lastModifiedDate = new Date()\r\n b.name = this.fileName\r\n const file = new File([blob], this.fileName, { type: 'image/jpeg' })\r\n return file\r\n\r\n }\r\n\r\n private flipAfterRotate() {\r\n const flippedH = this.transform.flipH\r\n const flippedV = this.transform.flipV\r\n this.transform = {\r\n ...this.transform,\r\n flipH: flippedV,\r\n flipV: flippedH,\r\n }\r\n }\r\n\r\n rotateLeft() {\r\n this.canvasRotation = this.canvasRotation - 1\r\n this.flipAfterRotate()\r\n }\r\n\r\n rotateRight() {\r\n this.canvasRotation = this.canvasRotation + 1\r\n this.flipAfterRotate()\r\n }\r\n\r\n flipHorizontal() {\r\n this.transform = {\r\n ...this.transform,\r\n flipH: !this.transform.flipH,\r\n }\r\n }\r\n\r\n zoom(event: any) {\r\n this.resetValue = false\r\n this.transform = {\r\n ...this.transform,\r\n scale: event.value,\r\n }\r\n }\r\n\r\n // calls when apply button is clicked,and returns the cropped image\r\n croppingImage() {\r\n this.dialogRef.close(this.cropimageFile)\r\n }\r\n\r\n reset() {\r\n this.resetValue = true\r\n this.canvasRotation = 0\r\n this.transform = {}\r\n }\r\n // closes the dialog box\r\n close(): void {\r\n this.dialogRef.close()\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common'\r\nimport { NgModule } from '@angular/core'\r\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatCardModule } from '@angular/material/card'\nimport { MatDialogModule } from '@angular/material/dialog'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatSliderModule } from '@angular/material/slider'\nimport { MatToolbarModule } from '@angular/material/toolbar'\nimport { MatTooltipModule } from '@angular/material/tooltip'\r\nimport { ImageCropperModule } from 'ngx-image-cropper'\r\nimport { ImageCropComponent } from './image-crop.component'\r\n// @dynamic\r\n@NgModule({\r\n declarations: [ImageCropComponent],\r\n imports: [\r\n CommonModule,\r\n ImageCropperModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n MatToolbarModule,\r\n MatDialogModule,\r\n MatCardModule,\r\n MatTooltipModule,\r\n MatSliderModule,\r\n ],\r\n exports: [ImageCropComponent],\r\n entryComponents: [ImageCropComponent],\r\n})\r\nexport class ImageCropModule { }\r\n","export enum EFeatures {\r\n // Playlists\r\n PLAYLIST = 'playlist',\r\n PLAYLIST_CREATE = 'playlistCreate',\r\n PLAYLIST_ADD_NEW_CONTENT = 'playlistAddNewContent',\r\n PLAYLIST_REMOVE_EXISTING_CONTENT = 'playlistRemoveExistingContent',\r\n PLAYLIST_DELETE = 'playlistDelete',\r\n PLAYLIST_SHARE = 'playlistShare',\r\n\r\n // Goals\r\n GOAL = 'goal',\r\n GOAL_CREATE_OWN = 'goalCreateOwn',\r\n GOAL_CREATE_SUGGESTED = 'goalCreateSuggested',\r\n GOAL_EDIT_EXISTING_GOAL = 'goalEditExistingGoal',\r\n GOAL_DELETE_EXISTING_GOAL = 'goalDeleteExistingGoal',\r\n GOAL_SHARE_GOAL_WITH_OTHERS = 'goalShareGoalWithOthers',\r\n GOAL_VIEW_ALL_GOALS_SECTION = 'goalViewAllGoalsSection',\r\n GOAL_VIEW_IN_PROGRESS_GOALS_SECTION = 'goalViewInProgressGoalsSection',\r\n GOAL_VIEW_COMPLETED_GOALS_SECTION = 'goalViewCompletedGoalsSection',\r\n\r\n // Navigator\r\n NAVIGATOR = 'navigator',\r\n NAVIGATOR_VIEW_NAVIGATOR_CAROUSEL = 'navigatorViewNavigatorCarousel',\r\n NAVIGATOR_VIEW_ROLES_PAGE = 'navigatorViewRolesPage',\r\n NAVIGATOR_SELECT_ANY_PILLAR = 'navigatorSelectAnyPillar',\r\n NAVIGATOR_PURSUE_ANY_OFFERING = 'navigatorPursueAnyOffering',\r\n NAVIGATOR_CREATE_GOAL_FROM_OFFERING = 'navigatorCreateGoalFromOffering',\r\n NAVIGATOR_VIEW_EXPLORE_PAGE = 'navigatorViewExplorePage',\r\n NAVIGATOR_SELECT_ANY_LEARNING_PATH = 'navigatorSelectAnyLearningPath',\r\n NAVIGATOR_CREATE_GOAL_FROM_LEARNING_PATH = 'navigatorCreateGoalFromLearningPath',\r\n NAVIGATOR_VIEW_SUGGESTIONS_PAGE = 'navigatorViewSuggestionsPage',\r\n NAVIGATOR_SELECT_SUGGESTED_TOPICS = 'navigatorSelectSuggestedTopics',\r\n NAVIGATOR_GET_SUGGESTIONS_OF_SELECTED_TOPICS = 'navigatorGetSuggestionsOfSelectedTopics',\r\n NAVIGATOR_CREATE_GOAL_FROM_SELECTED_LEARNING_PATHS = 'navigatorCreateGoalFromSelectedLearningPaths',\r\n NAVIGATOR_VIEW_INDUSTRIES_PAGE = 'navigatorViewIndustriesPage',\r\n NAVIGATOR_VIEW_CME_PAGE = 'navigatorViewCmePage',\r\n NAVIGATOR_SELECT_SUBDOMAIN = 'navigatorSelectSubdomain',\r\n NAVIGATOR_SELECT_PILLAR = 'navigatorSelectPillar',\r\n NAVIGATOR_SELECT_THEME = 'navigatorSelectTheme',\r\n NAVIGATOR_VIEW_CPG_PAGE = 'navigatorViewCpgPage',\r\n NAVIGATOR_VIEW_ENERGY_PAGE = 'navigatorViewEnergyPage',\r\n NAVIGATOR_VIEW_FINANCIAL_SERVICES_PAGE = 'navigatorViewFinancialServicesPage',\r\n NAVIGATOR_VIEW_HEALTH_CARE_PAGE = 'navigatorViewHealthCarePage',\r\n NAVIGATOR_VIEW_INSURANCE_PAGE = 'navigatorViewInsurancePage',\r\n NAVIGATOR_VIEW_LIFE_SCIENCES_PAGE = 'navigatorViewLifeSciencesPage',\r\n NAVIGATOR_VIEW_MFG_PAGE = 'navigatorViewMfgPage',\r\n NAVIGATOR_VIEW_RETAIL_PAGE = 'navigatorViewRetailPage',\r\n NAVIGATOR_VIEW_TRAVEL_AND_HOSPITALITY_PAGE = 'navigatorViewTravelAndHospitalityPage',\r\n NAVIGATOR_VIEW_UTILITIES_PAGE = 'navigatorViewUtilitiesPage',\r\n NAVIGATOR_VIEW_CME_ANALYTICS = 'navigatorViewCmeAnalytics',\r\n NAVIGATOR_VIEW_GPG_ANALYTICS = 'navigatorViewGpgAnalytics',\r\n NAVIGATOR_VIEW_ENERGY_ANALYTICS = 'navigatorViewEnergyAnalytics',\r\n NAVIGATOR_VIEW_FINANCIAL_SERVICES_ANALYTICS = 'navigatorViewFinancialServicesAnalytics',\r\n NAVIGATOR_VIEW_HEALTH_CARE_ANALYTICS = 'navigatorViewHealthCareAnalytics',\r\n NAVIGATOR_VIEW_INSURANCE_ANALYTICS = 'navigatorViewInsuranceAnalytics',\r\n NAVIGATOR_VIEW_LIFE_SCIENCES_ANALYTICS = 'navigatorViewLifeSciencesAnalytics',\r\n NAVIGATOR_VIEW_MFG_ANALYTICS = 'navigatorViewMfgAnalytics',\r\n NAVIGATOR_VIEW_RETAIL_ANALYTICS = 'navigatorViewRetailAnalytics',\r\n NAVIGATOR_VIEW_TRAVEL_AND_HOSPITALITY_ANALYTICS = 'navigatorViewTravelAndHospitalityAnalytics',\r\n NAVIGATOR_VIEW_UTILITIES_ANALYTICS = 'navigatorViewUtilitiesAnalytics',\r\n NAVIGATOR_VIEW_PILLARS_PAGE = 'navigatorViewPillarsPage',\r\n NAVIGATOR_VIEW_DIFFERENT_COURSES_IN_PILLAR = 'navigatorViewDifferentCoursesInPillar',\r\n NAVIGATOR_VIEW_FULL_STACK_PAGE = 'navigatorViewFullStackPage',\r\n NAVIGATOR_VIEW_DIFFERENT_FULL_STACK_PROGRAMS = 'navigatorViewDifferentFullStackPrograms',\r\n\r\n // Catalog\r\n CATALOG = 'catalog',\r\n CATALOG_VIEW_CATALOG_LIST = 'catalogViewCatalogList',\r\n CATALOG_SELECT_ITEM_FROM_CATALOG_LIST = 'catalogSelectItemFromCatalogList',\r\n CATALOG_VIEW_PROGRAMS_STRIP = 'catalogViewProgramsStrip',\r\n CATALOG_VIEW_COURSES_STRIP = 'catalogViewCoursesStrip',\r\n CATALOG_VIEW_LEARNING_MODULES_STRIP = 'catalogViewLearningModulesStrip',\r\n CATALOG_VIEW_RESOURCES_STRIP = 'catalogViewResourcesStrip',\r\n\r\n // Marketing Page\r\n MARKETING_PAGE = 'marketingPage',\r\n MARKETING_PAGE_VIEW_BRAND_ASSETS_PAGE = 'marketingPageViewBrandAssetsPage',\r\n MARKETING_PAGE_VIEW_CORPORATE_STRIP = 'marketingPageViewCorporateStrip',\r\n MARKETING_PAGE_VIEW_EMPLOYEE_STRIP = 'marketingPageViewEmployeeStrip',\r\n MARKETING_PAGE_VIEW_EXPERIMENTAL_SHOWCASE_PAGE = 'marketingPageViewExperimentalShowcasePage',\r\n MARKETING_PAGE_VIEW_HUBS_PAGE = 'marketingPageViewHubsPage',\r\n MARKETING_PAGE_VIEW_CONNECTICUT_STRIP = 'marketingPageViewConnecticutStrip',\r\n MARKETING_PAGE_VIEW_INDIANA_STRIP = 'marketingPageViewIndianaStrip',\r\n MARKETING_PAGE_VIEW_RHODE_ISLAND_STRIP = 'marketingPageViewRhodeIslandStrip',\r\n MARKETING_PAGE_VIEW_CLIENT_STORIES_PAGE = 'marketingPageViewClientStoriesPage',\r\n MARKETING_PAGE_VIEW_AGILE_SCALE_AT_DIGITAL_STRIP = 'marketingPageViewAgileScaleAtDigitalStrip',\r\n MARKETING_PAGE_VIEW_AI_POWERED_CORE_STRIP = 'marketingPageViewAiPoweredCoreStrip',\r\n MARKETING_PAGE_VIEW_ALWAYS_ON_LEAVING_STRIP = 'marketingPageViewAlwaysOnLeavingStrip',\r\n MARKETING_PAGE_VIEW_SERVICES_PAGE = 'marketingPageViewServicesPage',\r\n MARKETING_PAGE_VIEW_SERVICES_PENTAGON = 'marketingPageViewServicesPentagon',\r\n MARKETING_PAGE_VIEW_OFFERINGS_LIST = 'marketingPageViewOfferingsList',\r\n MARKETING_PAGE_SELECT_ANY_OFFERING = 'marketingPageSelectAnyOffering',\r\n MARKETING_PAGE_SELECT_ANY_PILLAR_FROM_PENTAGON = 'marketingPageSelectAnyPillarFromPentagon',\r\n MARKETING_PAGE_VIEW_INDUSTRIES_PAGE = 'marketingPageViewIndustriesPage',\r\n MARKETING_PAGE_VIEW_INDUSTRIES_LIST = 'marketingPageViewIndustriesList',\r\n MARKETING_PAGE_SELECT_ANY_INDUSTRY = 'marketingPageSelectAnyIndustry',\r\n MARKETING_PAGE_VIEW_PRODUCT_AND_SUBSIDIARIES_PAGE = 'marketingPageViewProductAndSubsidiariesPage',\r\n MARKETING_PAGE_VIEW_PRODUCT_AND_SUBSIDIARIES_LIST = 'marketingPageViewProductAndSubsidiariesList',\r\n MARKETING_PAGE_SELECT_ANY_PRODUCT_AND_SUBSIDIARY = 'marketingPageSelectAnyProductAndSubsidiary',\r\n\r\n // Interests\r\n INTERESTS = 'interests',\r\n INTERESTS_ADD_INTERESTS_FROM_SEARCH = 'interestsAddInterestsFromSearch',\r\n INTERESTS_ADD_INTERESTS_FROM_OUR_SUGGESTIONS_SECTION = 'interestsAddInterestsFromOurSuggestionsSection',\r\n INTERESTS_REMOVE_INTERESTS_FROM_MY_INTERESTS_SECTION = 'interestsRemoveInterestsFromMyInterestsSection',\r\n INTERESTS_VIEW_INTERESTS_SEARCH_FIELD = 'interestsViewInterestsSearchField',\r\n INTERESTS_VIEW_MY_INTERESTS_SECTION = 'interestsViewMyInterestsSection',\r\n INTERESTS_VIEW_OWN_SUGGESTIONS_SECTION = 'interestsViewOwnSuggestionsSection',\r\n INTERESTS_VIEW_MORE_SUGGESTIONS_BUTTON = 'interestsViewMoreSuggestionsButton',\r\n\r\n // Feedback\r\n FEEDBACK = 'feedback',\r\n FEEDBACK_VIEW_PLATFORM_FEEDBACK_SECTION = 'feedbackViewPlatformFeedbackSection',\r\n FEEDBACK_STAR_RATING_FOR_PLATFORM = 'feedbackStarRatingForPlatform',\r\n FEEDBACK_WRITE_PLATFORM_FEEDBACK = 'feedbackWritePlatformFeedback',\r\n FEEDBACK_RESET_PLATFORM_FEEDBACK = 'feedbackResetPlatformFeedback',\r\n FEEDBACK_SUBMIT_PLATFORM_FEEDBACK = 'feedbackSubmitPlatformFeedback',\r\n FEEDBACK_VIEW_CONTENT_FEEDBACK_SECTION = 'feedbackViewContentFeedbackSection',\r\n FEEDBACK_STAR_RATING_FOR_CONTENT = 'feedbackStarRatingForContent',\r\n FEEDBACK_WRITE_CONTENT_FEEDBACK = 'feedbackWriteContentFeedback',\r\n FEEDBACK_RESET_CONTENT_FEEDBACK = 'feedbackResetContentFeedback',\r\n FEEDBACK_SUBMIT_CONTENT_FEEDBACK = 'feedbackSubmitContentFeedback',\r\n FEEDBACK_VIEW_ISSUE_REPORTING_SECTION = 'feedbackViewIssueReportingSection',\r\n FEEDBACK_WRITING_ISSUE = 'feedbackWritingIssue',\r\n FEEDBACK_RESET_ISSUE = 'feedbackResetIssue',\r\n FEEDBACK_SUBMIT_ISSUE = 'feedbackSubmitIssue',\r\n\r\n // Contact Us\r\n CONTACT_US = 'contactUs',\r\n CONTACT_US_VIEW_RAISE_AHD_SECTION = 'contactUsViewRaiseAhdSection',\r\n CONTACT_US_VIEW_MAIL_US_SECTION = 'contactUsViewMailUsSection',\r\n CONTACT_US_VIEW_TALK_TO_US_SECTION = 'contactUsViewTalkToUsSection',\r\n CONTACT_US_RAISE_AHD = 'contactUsRaiseAhd',\r\n CONTACT_US_WRITE_EMAIL = 'contactUsWriteEmail',\r\n CONTACT_US_DIAL_FROM_PHONE = 'contactUsDialFromPhone',\r\n\r\n // FAQs\r\n FAQ = 'faq',\r\n FAQ_VIEW_LOGIN_FAQS = 'faqViewLoginFaqs',\r\n FAQ_VIEW_ODC_ACCESS_FAQS = 'faqViewOdcAccessFaqs',\r\n FAQ_VIEW_COMPATIBILITY_FAQS = 'faqViewCompatibilityFaqs',\r\n FAQ_VIEW_INSTALLATION_FAQS = 'faqViewInstallationFaqs',\r\n FAQ_VIEW_PROGRESS_COMPLETION_FAQS = 'faqViewProgressCompletionFaqs',\r\n FAQ_VIEW_VIDEO_FAQS = 'faqViewVideoFaqs',\r\n FAQ_VIEW_AUTHORING_FAQS = 'faqViewAuthoringFaqs',\r\n\r\n // Mobile Apps\r\n MOBILE_APPS = 'mobileApps',\r\n MOBILE_APPS_VIEW_ANDROID_APP_SECTION = 'mobileAppsViewAndroidAppSection',\r\n MOBILE_APPS_DOWNLOAD_APP_FROM_PLAY_STORE = 'mobileAppsDownloadAppFromPlayStore',\r\n MOBILE_APPS_DOWNLOAD_APP_FROM_OUR_SERVER = 'mobileAppsDownloadAppFromOurServer',\r\n MOBILE_APPS_VIEW_QR_CODE_FOR_ANDROID_APP = 'mobileAppsViewQrCodeForAndroidApp',\r\n MOBILE_APPS_VIEW_IOS_APP_SECTION = 'mobileAppsViewIosAppSection',\r\n MOBILE_APPS_DOWNLOAD_IOS_APP = 'mobileAppsDownloadIosApp',\r\n MOBILE_APPS_VIEW_QR_CODE_FOR_IOS_APP = 'mobileAppsViewQrCodeForIosApp',\r\n\r\n // About Us\r\n ABOUT_US = 'aboutUs',\r\n ABOUT_US_VIEW_ABOUT_US_PAGE_SECTIONS = 'aboutUsViewAboutUsPageSections',\r\n\r\n // Settings\r\n SETTINGS = 'settings',\r\n SETTINGS_VIEW_LANGUAGE_SECTION = 'settingsViewLanguageSection',\r\n SETTINGS_VIEW_FONT_SIZE_SECTION = 'settingsViewFontSizeSection',\r\n SETTINGS_VIEW_THEME_SECTION = 'settingsViewThemeSection',\r\n SETTINGS_CHANGE_LANGUAGE = 'settingsChangeLanguage',\r\n SETTINGS_CHANGE_FONT_SIZE = 'settingsChangeFontSize',\r\n SETTINGS_CHANGE_THEME = 'settingsChangeTheme',\r\n\r\n // Login Page\r\n LOGIN_PAGE = 'loginPage',\r\n LOGIN_PAGE_LOGIN_FOR_INFOSCIONS = 'loginPageLoginForInfoscions',\r\n LOGIN_PAGE_LOGIN_FOR_SUBSIDIARIES = 'loginPageLoginForSubsidiaries',\r\n LOGIN_PAGE_LOGIN_FOR_NEW_RECRUITS = 'loginPageLoginForNewRecruits',\r\n LOGIN_PAGE_ABOUT_US = 'loginPageAboutUs',\r\n LOGIN_PAGE_TERMS_OF_USE = 'loginPageTermsOfUse',\r\n LOGIN_PAGE_FAQS = 'loginPageFaqs',\r\n LOGIN_PAGE_CONTACT_US = 'loginPageContactUs',\r\n\r\n // TOC Page\r\n TOC_PAGE = 'tocPage',\r\n TOC_PAGE_VIEW_OVERVIEW_SECTION = 'tocPageViewOverviewSection',\r\n TOC_PAGE_VIEW_INSTRUCTOR_LED_SECTION = 'tocPageViewInstructorLedSection',\r\n TOC_PAGE_VIEW_COHORTS_SECTION = 'tocPageViewCohortsSection',\r\n TOC_PAGE_VIEW_DISCUSSION_FORUM_SECTION = 'tocPageViewDiscussionForumSection',\r\n TOC_PAGE_VIEW_COURSE_ANALYTICS_SECTION = 'tocPageViewCourseAnalyticsSection',\r\n TOC_PAGE_VIEW_WHATS_NEXT_SECTION = 'tocPageViewWhatsNextSection',\r\n TOC_PAGE_VIEW_PART_OF_SECTION = 'tocPageViewPartOfSection',\r\n TOC_PAGE_REGISTER_FOR_UPCOMING_TRAINING = 'tocPageRegisterForUpcomingTraining',\r\n TOC_PAGE_UNREGISTER_FROM_REGISTERED_TRAINING = 'tocPageUnregisterFromRegisteredTraining',\r\n TOC_PAGE_SHARE_INSTRUCTOR_LED_TRAININGS = 'tocPageShareInstructorLedTrainings',\r\n TOC_PAGE_VIEW_EDUCATORS_OF_TRAININGS = 'tocPageViewEducatorsOfTrainings',\r\n TOC_PAGE_NOMINATE_OTHERS_FOR_TRAININGS = 'tocPageNominateOthersForTrainings', // Applicable only for JL6 and above.\r\n TOC_PAGE_REQUEST_TRAINING = 'tocPageRequestTraining', // Applicable only for JL6 and above.\r\n TOC_PAGE_VIEW_ACTIVE_LEARNERS_SECTION = 'tocPageViewActiveLearnersSection',\r\n TOC_PAGE_VIEW_ALL_ACTIVE_LEARNERS = 'tocPageViewAllActiveLearners',\r\n TOC_PAGE_VIEW_CURRENTLY_ACTIVE_LEARNERS = 'tocPageViewCurrentlyActiveLearners',\r\n TOC_PAGE_VIEW_LEARNERS_SHARING_THE_SAME_GOALS = 'tocPageViewLearnersSharingTheSameGoals',\r\n TOC_PAGE_VIEW_EXPERTS_AND_TUTORS_SECTION = 'tocPageViewExpertsAndTutorsSection',\r\n TOC_PAGE_VIEW_ALL_EXPERTS_AND_TUTORS = 'tocPageViewAllExpertsAndTutors',\r\n TOC_PAGE_VIEW_AUTHORS_OF_COURSE = 'tocPageViewAuthorsOfCourse',\r\n TOC_PAGE_VIEW_EDUCATORS_OF_COURSE = 'tocPageViewEducatorsOfCourse',\r\n TOC_PAGE_VIEW_TOPPERS_OF_COURSE = 'tocPageViewToppersOfCourse',\r\n TOC_PAGE_MAIL_THE_PERSON = 'tocPageMailThePerson',\r\n TOC_PAGE_CALL_THE_PERSON = 'tocPageCallThePerson',\r\n TOC_PAGE_POST_VIEWS_IN_DISCUSSION_FORUM = 'tocPagePostViewsInDiscussionForum',\r\n TOC_PAGE_LEARN_THE_COURSE = 'tocPageLearnTheCourse',\r\n TOC_PAGE_LIKE_THE_COURSE = 'tocPageLikeTheCourse',\r\n TOC_PAGE_SHARE_THE_COURSE = 'tocPageShareTheCourse',\r\n TOC_PAGE_ADD_COURSE_TO_GOALS = 'tocPageAddCourseToGoals',\r\n TOC_PAGE_ADD_COURSE_TO_PLAYLIST = 'tocPageAddCourseToPlaylist',\r\n TOC_PAGE_ADD_COURSE_TO_WATCHLIST = 'tocPageAddCourseToWatchlist',\r\n TOC_PAGE_GIVE_COURSE_FEEDBACK = 'tocPageGiveCourseFeedback',\r\n TOC_PAGE_RESUME_THE_COURSE = 'tocPageResumeTheCourse',\r\n TOC_PAGE_START_OVER_THE_COURSE = 'tocPageStartOverTheCourse',\r\n TOC_PAGE_GO_TO_COURSE_QUIZ = 'tocPageGoToCourseQuiz',\r\n TOC_PAGE_GO_TO_COURSE_HANDS_ON = 'tocPageGoToCourseHandsOn',\r\n\r\n // Navbar\r\n NAVBAR = 'navbar',\r\n NAVBAR_VIEW_LOGO = 'navbarViewLogo',\r\n NAVBAR_CATALOG_ICON = 'navbarCatalogIcon',\r\n NAVBAR_NAVIGATOR_ICON = 'navbarNavigatorIcon',\r\n NAVBAR_NOTIFICATION_ICON = 'navbarNotificationIcon',\r\n NAVBAR_SETTINGS_ICON = 'navbarSettingsIcon',\r\n NAVBAR_SEARCH_ICON = 'navbarSearchIcon',\r\n NAVBAR_APPS_ICON = 'navbarAppsIcon',\r\n\r\n // Home Page\r\n HOME_PAGE = 'homePage',\r\n HOME_PAGE_VIEW_CAROUSEL = 'homePageViewCarousel',\r\n HOME_PAGE_VIEW_CONTINUE_LEARNING_STRIP = 'homePageViewContinueLearningStrip',\r\n HOME_PAGE_VIEW_FEATURED_APPS_STRIP = 'homePageViewFeaturedAppsStrip',\r\n HOME_PAGE_VIEW_RECENT_ADDITION_TO_PLAYLISTS_STRIP = 'homePageViewRecentAdditionToPlaylistsStrip',\r\n HOME_PAGE_VIEW_BASED_ON_YOUR_INTERESTS_STRIP = 'homePageViewBasedOnYourInterestsStrip',\r\n HOME_PAGE_VIEW_BASED_ON_WHAT_YOU_VIEWED_STRIP = 'homePageViewBasedOnWhatYouViewedStrip',\r\n HOME_PAGE_VIEW_LATEST_STRIP = 'homePageViewLatestStrip',\r\n HOME_PAGE_VIEW_TRENDING_STRIP = 'homePageViewTrendingStrip',\r\n HOME_PAGE_SHOW_COMPLETED_FILTER = 'homePageShowCompletedFilter',\r\n HOME_PAGE_SHOW_RESOURCES_FILTER = 'homePageShowResourcesFilter',\r\n\r\n // TNC Page\r\n TNC_PAGE = 'tncPage',\r\n TNC_PAGE_VIEW_CONTEST_RULES_SECTION = 'tncPageViewContestRulesSection',\r\n TNC_PAGE_VIEW_DATA_PRIVACY_SECTION = 'tncPageViewDataPrivacySection',\r\n TNC_PAGE_ACCEPT_TERMS_AND_CONDITIONS = 'tncPageAcceptTermsAndConditions',\r\n\r\n // Blogs\r\n BLOGS = 'blogs',\r\n BLOG_VIEW_OTHERS_BLOGS = 'blogViewOthersBlogs',\r\n BLOGS_LIKE_OTHER_BLOGS = 'blogsLikeOtherBlogs',\r\n BLOGS_VIEW_MY_BLOGS = 'blogsViewMyBlogs',\r\n BLOGS_WRITE_NEW_BLOG = 'blogsWriteNewBlog',\r\n BLOGS_SAVE_BLOG_AS_DRAFT = 'blogsSaveBlogAsDraft',\r\n BLOGS_EDIT_MY_SAVED_BLOG = 'blogsEditMySavedBlog',\r\n BLOGS_PUBLISH_MY_BLOG = 'blogsPublishMyBlog',\r\n BLOGS_UPVOTE_FOR_BLOG = 'blogsUpvoteForBlog',\r\n BLOGS_DOWNVOTE_FOR_BLOG = 'blogsDownvoteForBlog',\r\n BLOGS_WRITE_RESPONSE_FOR_BLOG = 'blogsWriteResponseForBlog',\r\n BLOGS_DELETE_MY_BLOG = 'blogsDeleteMyBlog',\r\n BLOGS_EDIT_MY_RESPONSE = 'blogsEditMyResponse',\r\n BLOGS_DELETE_MY_RESPONSE = 'blogsDeleteMyResponse',\r\n BLOGS_VIEW_DRAFTS_SECTION = 'blogsViewDraftsSection',\r\n BLOGS_VIEW_PUBLISHED_SECTION = 'blogsViewPublishedSection',\r\n\r\n // Question and Answer\r\n QUESTION_AND_ANSWER = 'questionAndAnswer',\r\n QUESTION_AND_ANSWER_VIEW_ALL_QUESTIONS_AND_ANSWERS = 'questionAndAnswerViewAllQuestionsAndAnswers',\r\n QUESTION_AND_ANSWER_VIEW_ONLY_UNANSWERED_QUESTIONS = 'questionAndAnswerViewOnlyUnansweredQuestions',\r\n QUESTION_AND_ANSWER_VIEW_MY_TIMELINE = 'questionAndAnswerViewMyTimeline',\r\n QUESTION_AND_ANSWER_ASK_NEW_QUESTION = 'questionAndAnswerAskNewQuestion',\r\n QUESTION_AND_ANSWER_VIEW_SPECIFIC_QUESTION = 'questionAndAnswerViewSpecificQuestion',\r\n QUESTION_AND_ANSWER_UPVOTE_FOR_ANSWER = 'questionAndAnswerUpvoteForAnswer',\r\n QUESTION_AND_ANSWER_DOWNVOTE_FOR_ANSWER = 'questionAndAnswerDownvoteForAnswer',\r\n QUESTION_AND_ANSWER_LIKE_AN_ANSWER = 'questionAndAnswerLikeAnAnswer',\r\n QUESTION_AND_ANSWER_ADD_COMMENT_FOR_ANY_ANSWER = 'questionAndAnswerAddCommentForAnyAnswer',\r\n QUESTION_AND_ANSWER_ADD_ANSWER_FOR_ANY_QUESTION = 'questionAndAnswerAddAnswerForAnyQuestion',\r\n QUESTION_AND_ANSWER_SAVE_QUESTION_AS_DRAFT = 'questionAndAnswerSaveQuestionAsDraft',\r\n QUESTION_AND_ANSWER_PUBLISH_SAVED_QUESTION = 'questionAndAnswerPublishedSavedQuestion',\r\n QUESTION_AND_ANSWER_VIEW_DRAFTS_SECTION = 'questionAndAnswerViewDraftsSection',\r\n QUESTION_AND_ANSWER_VIEW_PUBLISHED_SECTION = 'questionAndAnswerViewPublishedSection',\r\n\r\n // Badges\r\n BADGES = 'badges',\r\n BADGES_VIEW_RECENTLY_EARNED_BADGE = 'badgesViewRecentlyEarnedBadge',\r\n BADGES_VIEW_ALL_EARNED_BADGES = 'badgesViewAllEarnedBadges',\r\n BADGES_VIEW_NEXT_TARGETTED_BADGES = 'badgesViewNextTargettedBadges',\r\n\r\n // Hands on Dashboard\r\n HANDS_ON_DASHBOARD = 'handsOnDashboard',\r\n HANDS_ON_DASHBOARD_VIEW_MY_DASHBOARD = 'handsOnDashboardViewMyDashboard',\r\n HANDS_ON_DASHBOARD_VIEW_SHARED_PROFILE_SECTION = 'handsOnDashboardViewSharedProfileSection',\r\n\r\n // Learning History\r\n LEARNING_HISTORY = 'learningHistory',\r\n LEARNING_HISTORY_VIEW_PROGRAMS_SECTION = 'learningHistoryViewProgramsSection',\r\n LEARNING_HISTORY_VIEW_COURSES_SECTION = 'learningHistoryViewCoursesSection',\r\n LEARNING_HISTORY_VIEW_LEARNING_MODULES_SECTION = 'learningHistoryViewLearningModulesSection',\r\n LEARNING_HISTORY_VIEW_RESOURCES_SECTION = 'learningHistoryViewResourcesSection',\r\n LEARNING_HISTORY_VIEW_CERTIFICATIONS_SECTION = 'learningHistoryViewCertificationsSection',\r\n LEARNING_HISTORY_APPLY_COMPLETED_FILTER = 'learningHistoryApplyCompletedFilter',\r\n LEARNING_HISTORY_VIEW_MORE_BUTTON = 'learningHistoryViewMoreButton',\r\n\r\n // Learning Time\r\n LEARNING_TIME = 'learningTime',\r\n LEARNING_TIME_VIEW_LEARNING_TIME_GRAPH = 'learningTimeViewLearningTimeGraph',\r\n LEARNING_TIME_APPLY_BAR_GRAPH_FILTER = 'learningTimeApplyBarGraphFilter',\r\n LEARNING_TIME_APPLY_DATE_RANGE_FILTER = 'learningTimeApplyDateRangeFilter',\r\n LEARNING_TIME_APPLY_TIME_SPENT_FILTER = 'learningTimeApplyTimeSpentFilter',\r\n LEARNING_TIME_APPLY_APP_AVERAGE_FILTER = 'learningTimeApplyAppAverageFilter',\r\n LEARNING_TIME_APPLY_USER_AVERAGE_OVER_PERIOD_FILTER = 'learningTimeApplyUserAverageOverPeriodFilter',\r\n\r\n // Notification\r\n NOTIFICATION = 'notification',\r\n NOTIFICATION_VIEW_RECENT_BADGE_EARNED = 'notificationViewRecentBadgeEarned',\r\n NOTIFICATION_VIEW_SHARED_PLAYLIST = 'notificationViewSharedPlaylist',\r\n NOTIFICATION_VIEW_SHARED_GOALS = 'notificationViewSharedGoals',\r\n\r\n // Profile\r\n PROFILE = 'profile',\r\n PROFILE_VIEW_BASIC_INFORMATION = 'profileViewBasicInformation',\r\n PROFILE_VIEW_RECENTLY_LEARNED_COURSES = 'profileViewRecentlyLearnedCourses',\r\n PROFILE_VIEW_LIKED_ITEMS = 'profileViewLikedItems',\r\n PROFILE_VIEW_BADGES_EARNED = 'profileViewBadgesEarned',\r\n\r\n // Behavioural Skills\r\n BEHAVIORAL_SKILLS = 'behavioralSkills',\r\n BEHAVIORAL_SKILLS_VIEW_MODEL_CLIENT_INTERACTIONS = 'behavioralSkillsViewModalClientInteractions',\r\n BEHAVIORAL_SKILLS_VIEW_CLIENT_INTERACTION_TESTS = 'behavioralSkillsViewClientInteractionTests',\r\n\r\n // Certifications\r\n CERTIFICATIONS = 'certifications',\r\n CERTIFICATIONS_VIEW_MY_APPROVALS_SECTION = 'certificationsViewMyApprovalsSection',\r\n CERTIFICATIONS_VIEW_MY_REQUESTS_SECTION = 'certificationsViewMyRequestsSection',\r\n CERTIFICATIONS_VIEW_MY_CERTIFICATIONS_SECTION = 'certificationsViewMyCertificationsSection',\r\n CERTIFICATIONS_APPLY_COMPLETION_STATUS_FILTER = 'certificationsApplyCompletionStatusFilter',\r\n\r\n // Code Crack\r\n CODE_CRACK = 'codeCrack',\r\n CODE_CRACK_VIEW_PUZZLE_MANIA = 'codeCrackViewPuzzleMania',\r\n CODE_CRACK_VIEW_CODE_CRACK = 'codeCrackViewCodeCrack',\r\n CODE_CRACK_VIEW_TECHNOLOGY_PLAYGROUND = 'codeCrackViewTechnologyPlayground',\r\n CODE_CRACK_WATCH_PROGRAMMING_CHALLENGES_VIDEO = 'codeCrackWatchProgrammingChallengesVideo',\r\n CODE_CRACK_VIEW_ACCELERATE = 'codeCrackViewAccelerate',\r\n CODE_CRACK_START_CODE_CRACK_TEST = 'codeCrackStartCodeCrackTest',\r\n CODE_CRACK_START_PUZZLE_MANIA = 'codeCrackStartPuzzleMania',\r\n CODE_CRACK_START_TECHNOLOGY_PLAYGROUND = 'codeCrackStartTechnologyPlayground',\r\n\r\n // Instructor Led Training\r\n INSTRUCTOR_LED_TRAINING = 'instructorLedTraining',\r\n INSTRUCTOR_LED_TRAINING_VIEW_TRAINING_SCHEDULE_SECTION = 'instructorLedTrainingViewTrainingScheduleSection',\r\n INSTRUCTOR_LED_TRAINING_VIEW_FEEDBACK_SECTION = 'instructorLedTrainingViewFeedbackSection',\r\n INSTRUCTOR_LED_TRAINING_VIEW_TRAININGS_PLANNED_BY_YOUR_TEAM_SECTION = 'instructorLedTrainingViewTrainingsPlannedByYourTeamSection',\r\n INSTRUCTOR_LED_TRAINING_SEARCH_TRAINING = 'instructorLedTrainingSearchTraining',\r\n INSTRUCTOR_LED_TRAINING_REGISTER_FOR_TRAINING = 'instructorLedTrainingRegisterForTraining',\r\n INSTRUCTOR_LED_TRAINING_GIVE_TRAINING_FEEDBACK = 'instructorLedTrainingGiveTrainingFeedback',\r\n\r\n // LeaderBoard\r\n LEADERBOARD = 'leaderboard',\r\n LEADERBOARD_VIEW_WEEKLY_SECTION = 'leaderboardViewWeeklySection',\r\n LEADERBOARD_VIEW_MONTHLY_SECTION = 'leaderboardViewMonthlySection',\r\n LEADERBOARD_VIEW_HALL_OF_FAME_SECTION = 'leaderboardViewHallOfSection',\r\n LEADERBOARD_APPLY_LEARNER_COLLABORATOR_FILTER = 'leaderboardApplyLearnerCollaboratorFilter',\r\n LEADERBOARD_BACK_DATE_BUTTON = 'leaderboardBackDatebutton',\r\n LEADERBOARD_FORWARD_DATE_BUTTON = 'leaderboardForwardDateButton',\r\n\r\n // Playground\r\n PLAYGROUND = 'playground',\r\n PLAYGROUND_VIEW_TECHNOLOGY_PLAYGROUNDS_STRIP = 'playgroundViewTechnologyPlaygorundsStrip',\r\n PLAYGROUND_VIEW_ASSESSMENTS_PLAYGROUNDS_STRIP = 'playgroundViewAssessmentsPlaygroundsStrip',\r\n\r\n // Puzzle Mania\r\n PUZZLE_MANIA = 'puzzleMania',\r\n PUZZLE_MANIA_VIEW_PUZZLE_MANIA = 'puzzleManiaViewPuzzleMania',\r\n PUZZLE_MANIA_VIEW_CODE_CRACK = 'puzzleManiaViewCodeCrack',\r\n PUZZLE_MANIA_VIEW_TECHNOLOGY_PLAYGROUND = 'puzzleManiaViewTechnologyPlayground',\r\n PUZZLE_MANIA_WATCH_PROGRAMMING_CHALLENGES_VIDEO = 'puzzleManiaWatchProgrammingChallengesVideo',\r\n PUZZLE_MANIA_VIEW_ACCELERATE = 'puzzleManiaViewAccelerate',\r\n PUZZLE_MANIA_START_CODE_CRACK_TEST = 'puzzleManiaStartCodeCrackTest',\r\n PUZZLE_MANIA_START_PUZZLE_MANIA = 'puzzleManiaStartPuzzleMania',\r\n PUZZLE_MANIA_START_TECHNOLOGY_PLAYGROUND = 'puzzleManiaStartTechnologyPlayground',\r\n\r\n // Full Stack Sales Leader\r\n FULL_STACK_SALES_LEADER = 'fullStackSalesLeader',\r\n FULL_STACK_SALES_LEADER_WATCH_LEADER_VIDEO = 'fullStackSalesLeaderWatchLeaderVideo',\r\n FULL_STACK_SALES_LEADER_EMBARK_ON_THIS_LEARNING_JOURNEY_BUTTON = 'fullStackSalesLeaderEmbarkOnThisLearningJourneyButton',\r\n FULL_STACK_SALES_LEADER_QUICK_TOUR_VIDEO_LINK = 'fullStackSalesLeaderQuickTourVideoLink',\r\n FULL_STACK_SALES_LEADER_FEEDBACK_LINK = 'fullStackSalesLeaderFeedbackLink',\r\n FULL_STACK_SALES_LEADER_DROP_NOTE_LINK = 'fullStackSalesLeaderDropNoteLink',\r\n\r\n // Onboarding\r\n ONBOARDING = 'onboarding',\r\n ONBOARDING_VIEW_DC_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewDcOnboardingProgramsStrip',\r\n ONBOARDING_VIEW_ORGANISATIONAL_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewOrganisationalOnboardingProgramsStrip',\r\n ONBOARDING_VIEW_ROLE_BASED_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewRoleBasedOnboardingProgramsStrip',\r\n ONBOARDING_VIEW_UNIT_AND_PROJECT_ONBOARDING_PROGRAMS_STRIP = 'onboardingViewUnitAndProjectOnboardingProgramsStrip',\r\n\r\n // Search\r\n SEARCH = 'search',\r\n SEARCH_SEARCHING_CONTENT = 'searchSearchingContent',\r\n\r\n // Knowledge Hub\r\n KNOWLEDGE_HUB = 'knowledgeHub',\r\n KNOWLEDGE_HUB_SUBMIT_KNOWLEDGE_ARTIFACTS = 'knowledgeHubSubmitKnowledgeArtifacts',\r\n KNOWLEDGE_HUB_VIEW_TOP_PROJECTS_SECTION = 'knowledgeHubViewTopProjectsSection',\r\n KNOWLEDGE_HUB_VIEW_INTERESTING_READS_SECTION = 'knowledgeHubViewInterestingReadsSection',\r\n KNOWLEDGE_HUB_VIEW_MARKETING_SECTION = 'knowledgeHubViewMarketingSection',\r\n KNOWLEDGE_HUB_VIEW_KSHOP_CLASSIC_SECTION = 'knowledgeHubViewKshopClassicSection',\r\n KNOWLEDGE_HUB_VIEW_TRENDING_TOOLS_SECTION = 'knowledgeHubViewTrendingToolsSection',\r\n KNOWLEDGE_HUB_VIEW_DOCUMENTS_STRIP = 'knowledgeHubViewDocumentsStrip',\r\n KNOWLEDGE_HUB_VIEW_TOOLS_STRIP = 'knowledgeHubViewProjectReferencesStrip',\r\n KNOWLEDGE_HUB_VIEW_MARKETING_STRIP = 'knowledgeHubViewMarketingStrip',\r\n\r\n // Channels\r\n CHANNELS = 'channels',\r\n CHANNELS_VIEW_LEADERSHIP_SECTION = 'channelsViewLeadershipSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_PAGE = 'channelsViewRaviKumarPage',\r\n CHANNELS_VIEW_MOHIT_JOSHI_PAGE = 'channelsViewMohitJoshiPage',\r\n CHANNELS_FOLLOW_RAVI_KUMAR = 'channelsFollowRaviKumar',\r\n CHANNELS_MAIL_TO_RAVI_KUMAR = 'channelsMailToRaviKumar',\r\n CHANNELS_VIEW_ABOUT_RAVI_KUMAR_SECTION = 'channelsViewAboutRaviKumarSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_TWEETS_SECTION = 'channelsViewRaviKumarTweetsSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_ARTICLES_SECTION = 'channelsViewRaviKumarArticlesSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_TRAILBLAZERS_SECTION = 'channelsViewRaviKumarTrailblazersSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_COMMUNICATIONS_SECTION = 'channelsViewRaviKumarCommunicationsSection',\r\n CHANNELS_VIEW_RAVI_KUMAR_DISCUSSION_SECTION = 'channelsViewraviKumarDiscussionSection',\r\n CHANNELS_LIKE_TWEET_RAVI_KUMAR = 'channelsLikeTweetRaviKumar',\r\n CHANNELS_SHARE_TWEET_RAVI_KUMAR = 'channelsShareTweetRaviKumar',\r\n CHANNELS_POST_YOUR_THOUGHTS_IN_DISCUSSION_RAVI_KUMAR = 'channelsPostYourThoughtsInDiscussionRaviKumar',\r\n CHANNELS_FOLLOW_MOHIT_JOSHI = 'channelsFollowMohitJoshi',\r\n CHANNELS_MAIL_TO_MOHIT_JOSHI = 'channelsMailToMohitJoshi',\r\n CHANNELS_VIEW_ABOUT_MOHIT_JOSHI_SECTION = 'channelsViewAboutMohitJoshiSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_TWEETS_SECTION = 'channelsViewMohitJoshiTweetsSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_ARTICLES_SECTION = 'channelsViewMohitJoshiArticlesSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_TRAILBLAZERS_SECTION = 'channelsViewMohitJoshiTrailblazersSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_COMMUNICATIONS_SECTION = 'channelsViewMohitJoshiCommunicationsSection',\r\n CHANNELS_VIEW_MOHIT_JOSHI_DISCUSSION_SECTION = 'channelsViewMohitJoshiDiscussionSection',\r\n CHANNELS_LIKE_TWEET_MOHIT_JOSHI = 'channelsLikeTweetMohitJoshi',\r\n CHANNELS_SHARE_TWEET_MOHIT_JOSHI = 'channelsShareTweetMohitJoshi',\r\n CHANNELS_POST_YOUR_THOUGHTS_IN_DISCUSSION_MOHIT_JOSHI = 'channelsPostYourThoughtsInDiscussionMohitJoshi',\r\n CHANNELS_VIEW_CORPORATE_SECTION = 'channelsViewCorporateSection',\r\n CHANNELS_VIEW_EXPERIENCE_WOW_PAGE = 'channelsViewExperienceWowPage',\r\n CHANNELS_VIEW_INFOSYS_KNOWLEDGE_INSTITUTE_PAGE = 'channelsViewInfosysKnowledgeInstitutePage',\r\n CHANNELS_VIEW_CMT_LEARNING_HUB_PAGE = 'channelsViewCmtLearningHubPage',\r\n CHANNELS_VIEW_FULL_STACK_SALES_LEADERS_PAGE = 'channelsViewFullStackSalesLeaderPage',\r\n\r\n // Experience Wow Page\r\n EXPERIENCE_WOW_PAGE = 'experienceWowPage',\r\n EXPERIENCE_WOW_PAGE_VIEW_PAGE_SECTIONS = 'experienceWowPageViewPageSections',\r\n EXPERIENCE_WOW_PAGE_CHECK_Wingspan_STATISTICS = 'experienceWowPageCheckWingspanStatistics',\r\n EXPERIENCE_WOW_PAGE_CHECK_INFY_ME_STATISTICS = 'experienceWowPageCheckInfyMeStatistics',\r\n EXPERIENCE_WOW_PAGE_PROVIDE_SUGGESTIONS = 'experienceWowPageProvideSuggestions',\r\n EXPERIENCE_WOW_PAGE_SEND_MAIL_FOR_BECOMING_COCREATOR = 'experienceWowPageSendMailForBecomingCocreator',\r\n\r\n // Infy Radio\r\n INFY_RADIO = 'infyRadio',\r\n INFY_RADIO_VIEW_PODCASTS_STRIP = 'infyRadioViewPodcastsStrip',\r\n\r\n // Infy TV\r\n INFY_TV = 'infyTv',\r\n INFY_TV_VIEW_JUST_FOR_YOU_SECTION = 'infyTvViewJustForYouSection',\r\n INFY_TV_VIEW_MUST_VIEW_STRIP = 'infyTvViewMustViewStrip',\r\n INFY_TV_VIEW_LATEST_STRIP = 'infyTvViewLatestStrip',\r\n INFY_TV_VIEW_CHANNELS_SECTION = 'infyTvViewChannelsSection',\r\n INFY_TV_VIEW_CHANNELS_STRIP = 'infyTvViewChannelsStrip',\r\n INFY_TV_VIEW_BROADCAST_SECTION = 'infyTvViewBroadcastSection',\r\n INFY_TV_VIEW_PREVIOUS_EVENTS_LIST = 'infyTvViewPreviousEventsList',\r\n INFY_TV_VIEW_LIVE_EVENTS_LIST = 'infyTvViewLiveEventsList',\r\n INFY_TV_VIEW_UPCOMING_EVENTS_LIST = 'infyTvViewUpcomingEventsList',\r\n\r\n // Leadership Messages\r\n LEADERSHIP_MESSAGES = 'leadershipMessages',\r\n LEADERSHIP_MESSAGES_VIEW_LEADERSHIP_VIDEO = 'leadershipMessagesViewLeadershipVideo',\r\n\r\n // Living Labs\r\n LIVING_LABS = 'livingLabs',\r\n LIVING_LABS_VIEW_LIVING_LABS_STRIP = 'livingLabsViewLivingLabsStrip',\r\n\r\n // Americas Confluence 2018\r\n AMERICAS_CONFLUENECE = 'americasConfluence',\r\n AMERICAS_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS = 'americasConfluenceViewConfluenceVideosStrips',\r\n\r\n // APAC Confluence 2019\r\n APAC_CONFLUENECE = 'apacConfluence',\r\n APAC_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS = 'apacConfluenceViewConfluenceVideosStrips',\r\n\r\n // EMEA Confluence 2018\r\n EMEA_CONFLUENECE = 'emeaConfluence',\r\n EMEA_CONFLUENECE_VIEW_CONFLUENCE_VIDEOS_STRIPS = 'emeaConfluenceViewConfluenceVideosStrips',\r\n\r\n // Connect 2019\r\n CONNECT = 'connect',\r\n CONNECT_VIEW_CONTENT_STRIP = 'connectViewContentStrip',\r\n\r\n // Live Events\r\n LIVE_EVENTS = 'liveEvents',\r\n LIVE_EVENTS_WATCH_LIVE = 'liveEventsWatchLive',\r\n LIVE_EVENTS_WATCH_CLASSROOM_BROADCAST = 'liveEventsWatchClassroomBroadcast',\r\n LIVE_EVENTS_WATCH_THREE_SIXTY_VIDEO = 'liveEventsWatchThreeSixtyVideo',\r\n LIVE_EVENTS_WATCH_FAMILY_MATTERS_VIDEO = 'liveEventsWatchFamilyMattersVideo',\r\n LIVE_EVENTS_WATCH_CONFLUENCE_EVENTS = 'liveEventsWatchConfluenceEvents',\r\n\r\n // Digital Assistant Tour\r\n DIGITAL_ASSISTANT_TOUR = 'digitalAssistantTour',\r\n DIGITAL_ASSISTANT_TOUR_WATCH_TOUR_VIDEO = 'digitalAssistantTourWatchTourVideo',\r\n\r\n // Quick Tour\r\n QUICK_TOUR = 'quickTour',\r\n QUICK_TOUR_WATCH_TOUR_VIDEO = 'quickTourWatchTourVideo',\r\n\r\n // Logout\r\n LOGOUT = 'logout',\r\n LOGOUT_LOGS_OUT_FROM_APPLICATION = 'logoutLogsOutFromApplication',\r\n\r\n // My Analytics\r\n MY_ANALYTICS = 'myAnalytics',\r\n MY_ANALYTICS_APPLY_QUARTER_FILTERS = 'myAnalyticsApplyQuarterFilters',\r\n MY_ANALYTICS_VIEW_MY_LEARNING_SECTION = 'myAnalyticsViewMyLearningSection',\r\n MY_ANALYTICS_VIEW_MY_ASSESSMENT_SECTION = 'myAnalyticsViewMyAssessmentSection',\r\n MY_ANALYTICS_VIEW_MY_REFACTORING_SECTION = 'myAnalyticsViewMyRefactoringSection',\r\n MY_ANALYTICS_VIEW_MY_PLANS_SECTION = 'myAnalyticsViewMyPlansSection',\r\n MY_ANALYTICS_VIEW_MY_COLLABORATORS_SECTION = 'myAnalyticsViewMyCollaboratorsSection',\r\n MY_ANALYTICS_VIEW_MY_FEATURES_USAGE_SECTION = 'myAnalyticsViewTopCoursesSection',\r\n MY_ANALYTICS_VIEW_MY_LEARNING_MINUTES = 'myAnalyticsViewMyLearningMinutes',\r\n MY_ANALYTICS_VIEW_MY_LEARNING_POINTS = 'myAnalyticsViewMyLearningPoints',\r\n MY_ANALYTICS_VIEW_BADGES = 'myAnalyticsViewBadges',\r\n MY_ANALYTICS_VIEW_TIME_SPENT_BY_USER = 'myAnalyticsViewTimeSpentByUser',\r\n MY_ANALYTICS_VIEW_AVERAGE_MINUTES_ON_Wingspan = 'myAnalyticsViewAverageMinutesOnWingspan',\r\n MY_ANALYTICS_VIEW_AVERAGE_MINUTES_ACROSS_DIMENSIONS = 'myAnalyticsViewAverageMinutesAcrossDimensions',\r\n MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_USER = 'myAnalyticsViewPercentageTimeSpentByUser',\r\n MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_INFOSCIONS = 'myAnalyticsViewPercentageTimeSpentByInfoscions',\r\n MY_ANALYTICS_VIEW_PERCENTAGE_TIME_SPENT_BY_PEERS = 'myAnalyticsViewPercentageTimeSpentByPeers',\r\n MY_ANALYTICS_VIEW_TOTAL_ASSESSMENTS = 'myAnalyticsViewTotalAssessments',\r\n MY_ANALYTICS_VIEW_PENDING_ASSESSMENTS = 'myAnalyticsViewPendingAssessments',\r\n MY_ANALYTICS_VIEW_CERTIFICATIONS = 'myAnalyticsViewCertifications',\r\n MY_ANALYTICS_VIEW_ASSESSMENTS = 'myAnalyticsViewAssessments',\r\n MY_ANALYTICS_VIEW_RECENT_ASSESSMENTS = 'myAnalyticsViewRecentAssessments',\r\n MY_ANALYTICS_VIEW_ASSESSMENT_DETAILS = 'myAnalyticsViewAssessmentDetails',\r\n MY_ANALYTICS_VIEW_RECENT_ASSESSMENT = 'myAnalyticsViewRecentAssessment',\r\n MY_ANALYTICS_VIEW_MY_REFACTORING_PROGRAM = 'myAnalyticsViewMyRefactoringProgram',\r\n MY_ANALYTICS_VIEW_NAVIGATOR = 'myAnalyticsViewNavigator',\r\n MY_ANALYTICS_VIEW_AI_AND_AUTOMATION_PROGRESS = 'myAnalyticsViewAiAndAutomationProcess',\r\n MY_ANALYTICS_VIEW_MY_GOALS = 'myAnalyticsViewMyGoals',\r\n MY_ANALYTICS_VIEW_PLAYLIST = 'myAnalyticsViewPlaylist',\r\n MY_ANALYTICS_VIEW_GOALS_SHARED_WITH_USER = 'myAnalyticsViewGoalsSharedWithUser',\r\n MY_ANALYTICS_VIEW_DETAILED_COURSES_PROGRESS = 'myAnalyticsViewDetailedCoursesProgress',\r\n MY_ANALYTICS_VIEW_GOALS_SHARED_BY_USER = 'myAnalyticsViewGoalsSharedByUser',\r\n MY_ANALYTICS_VIEW_ARTIFACTS_SHARED_BY_USER = 'myAnalyticsViewArtifactsSharedByUser',\r\n MY_ANALYTICS_VIEW_EXPERTS_USER_CONTACTED = 'myAnalyticsViewExpertsUserContacted',\r\n MY_ANALYTICS_VIEW_DETAILED_GOALS_SHARING = 'myAnalyticsViewDetailedGoalsSharing',\r\n MY_ANALYTICS_VIEW_PLAYGROUNDS = 'myAnalyticsViewPlaygrounds',\r\n MY_ANALYTICS_VIEW_LIKES = 'myAnalyticsViewLikes',\r\n MY_ANALYTICS_VIEW_SEARCH = 'myAnalyticsViewSearch',\r\n MY_ANALYTICS_VIEW_INFY_TV = 'myAnalyticsViewInfyTv',\r\n MY_ANALYTICS_VIEW_INFY_RADIO = 'myAnalyticsViewInfyRadio',\r\n MY_ANALYTICS_VIEW_INFY_LIVE = 'myAnalyticsViewInfyLive',\r\n MY_ANALYTICS_VIEW_TOP_COURSES_BY_USER_UNIT = 'myAnalyticsViewTopCoursesByUserUnit',\r\n MY_ANALYTICS_VIEW_TOP_COURSES_BY_USER_PEERS = 'myAnalyticsViewTopCoursesbyUserPeers',\r\n\r\n // Learning Analytics\r\n LEARNING_ANALYTICS = 'learningAnalytics',\r\n LEARNING_ANALYTICS_SEARCH_FOR_PARTICIPANTS_AND_EDUCATORS = 'learningAnalyticsSearchForParticipantsAndEducators',\r\n LEARNING_ANALYTICS_UNIT_FILTER = 'learningAnalyticsUnitFilter',\r\n LEARNING_ANALYTICS_PU_FILTER = 'learningAnalyticsPuFilter',\r\n LEARNING_ANALYTICS_DU_FILTER = 'learningAnalyticsDuFilter',\r\n LEARNING_ANALYTICS_ACCOUNT_FILTER = 'learningAnalyticsAccountFilter',\r\n LEARNING_ANALYTICS_LOCATION_FILTER = 'learningAnalyticsLocationFilter',\r\n LEARNING_ANALYTICS_QUARTER_FILTER = 'learningAnalyticsQuarterFilter',\r\n LEARNING_ANALYTICS_COMPLETED_FILTER = 'learningAnalyticsCompletedFilter',\r\n LEARNING_ANALYTICS_ETA_FILTER = 'learningAnalyticsEtaFilter',\r\n LEARNING_ANALYTICS_UNIQUE_USERS_DATA = 'learningAnalyticsUniqueUsersData',\r\n LEARNING_ANALYTICS_USERS_BY_ONSITE_OFFSHORE = 'learningAnalyticsUsersByOnsiteOffshore',\r\n LEARNING_ANALYTICS_USERS_BY_DEVICE_TYPE = 'learningAnalyticsUsersByDeviceType',\r\n LEARNING_ANALYTICS_USERS_BY_UNIT = 'learningAnalyticsUsersByUnit',\r\n LEARNING_ANALYTICS_USERS_BY_TRACK = 'learningAnalyticsUsersByTrack',\r\n LEARNING_ANALYTICS_USERS_BY_PU_SALES = 'learningAnalyticsUsersByPuSales',\r\n LEARNING_ANALYTICS_USERS_BY_CU_TYPE = 'learningAnalyticsUsersByCuType',\r\n LEARNING_ANALYTICS_USERS_BY_SKILL = 'learningAnalyticsUsersBySkill',\r\n LEARNING_ANALYTICS_USERS_BY_TOPICS = 'learningAnalyticsUsersByTopics',\r\n LEARNING_ANALYTICS_USERS_BY_HORIZON = 'learningAnalyticsUsersByHorizon',\r\n LEARNING_ANALYTICS_USERS_GROWTH = 'learningAnalyticsUsersGrowth',\r\n LEARNING_ANALYTICS_USERS_DETAILS = 'learningAnalyticsUsersDetails',\r\n LEARNING_ANALYTICS_VIEW_ALL_TRAININGS_SECTION = 'learningAnalyticsViewAllTrainingsSection',\r\n LEARNING_ANALYTICS_TALENT_GRID_FILTER = 'learningAnalyticstalentGridFilter',\r\n LEARNING_ANALYTICS_STACK_FILTER = 'learningAnalyticsStackFilter',\r\n LEARNING_ANALYTICS_UNIQUE_PARTICIPANTS = 'learningAnalyticsUniqueParticipants',\r\n LEARNING_ANALYTICS_OVERALL_PARTICIPANTS = 'learningAnalyticsOverallParticipants',\r\n LEARNING_ANALYTICS_AVERAGE_DAYS = 'learningAnalyticsAverageDays',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_ONSITE_ONSHORE = 'learningAnalyticsParticipantsByOnsiteOnshore',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_UNIT = 'learningAnalyticsParticipantsByUnit',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_PU = 'learningAnalyticsParticipantsByPu',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_SKILL_TYPE = 'learningAnalyticsParticipantsBySkillType',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_SKILL = 'learningAnalyticsParticipantsBySkill',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_STACKS = 'learningAnalyticsParticipantsByStacks',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_NEW_SERVICES = 'learningAnalyticsParticipantsByNewServices',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_LEARNING_TRACK = 'learningAnalyticsParticipantsByLearningTrack',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_OFFERING_MODE = 'learningAnalyticsParticipantsByOfferingMode',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_TOPICS = 'learningAnalyticsParticipantsByTopics',\r\n LEARNING_ANALYTICS_PARTICIPANTS_BY_ABCD = 'learningAnalyticsParticipantsByAbcd',\r\n LEARNING_ANALYTICS_PARTICIPANTS_DETAILS = 'learningAnalyticsParticipantsDetails',\r\n LEARNING_ANALYTICS_SCHEDULES_SECTION = 'learningAnalyticsSchedulesSection',\r\n LEARNING_ANALYTICS_SCHEDULE_DATE_FILTER = 'learningAnalyticsScheduleDateFilter',\r\n LEARNING_ANALYTICS_PARTICIPANTS = 'learningAnalyticsParticipants',\r\n LEARNING_ANALYTICS_EDUCATORS = 'learningAnalyticsEducators',\r\n LEARNING_ANALYTICS_COURSES = 'learningAnalyticsCourses',\r\n LEARNING_ANALYTICS_SCHEDULES = 'learningAnalyticsSchedules',\r\n LEARNING_ANALYTICS_VIEW_TRAINING_SCHEDULES_SECTION = 'learningAnalyticsTrainingSchedulesSection',\r\n LEARNING_ANALYTICS_COURSES_BY_OFFERING_MODE = 'learningAnalyticsCoursesByOfferingMode',\r\n LEARNING_ANALYTICS_COURSES_BY_TRACK = 'learningAnalyticsCoursesByTrack',\r\n LEARNING_ANALYTICS_COURSES_BY_TOPIC = 'learningAnalyticsCoursesByTopic',\r\n LEARNING_ANALYTICS_COURSES_BY_ABCD = 'learningAnalyticsCoursesByAbcd',\r\n LEARNING_ANALYTICS_COURSES_BY_SKILL = 'learningAnalyticsCoursesBySkill',\r\n\r\n // Apps Page\r\n APPS_PAGE = 'appsPage',\r\n APPS_PAGE_VIEW_DIFFERENT_APPS_ICONS = 'appsPageViewDifferentAppsIcons',\r\n\r\n // Course Card\r\n COURSE_CARD = 'courseCard',\r\n COURSE_CARD_LIKE_THE_COURSE_BUTTON = 'courseCardLikeTheCourseButton',\r\n COURSE_CARD_SHARE_THE_COURSE_BUTTON = 'courseCardShareTheCourseButton',\r\n COURSE_CARD_ADD_COURSE_TO_GOALS_BUTTON = 'courseCardAddCourseToGoalsButton',\r\n COURSE_CARD_ADD_COURSE_TO_PLAYLIST_BUTTON = 'courseCardAddCourseToPlaylistButton',\r\n COURSE_CARD_VIEW_MORE_OPTIONS_BUTTON = 'courseCardViewMoreOptionsButton',\r\n COURSE_CARD_START_COURSE_OPTION = 'courseCardStartCourseOption',\r\n COURSE_CARD_VIEW_TOC_OPTION = 'courseCardViewTocOption',\r\n COURSE_CARD_COHORTS_OPTION = 'courseCardCohortsOption',\r\n COURSE_CARD_ANALYTICS_OPTION = 'courseCardAnalyticsOption',\r\n\r\n // Search Results Page\r\n SEARCH_RESULTS_PAGE = 'searchResultsPage',\r\n SEARCH_RESULTS_PAGE_VIEW_LEARNING_SECTION = 'searchResultsPageViewLearningSection',\r\n SEARCH_RESULTS_PAGE_VIEW_CERTIFICATIONS_SECTION = 'searchResultsPageViewCertificationsSection',\r\n SEARCH_RESULTS_PAGE_VIEW_KNOWLEDGE_SECTION = 'searchResultsPageViewKnowledgeSection',\r\n SEARCH_RESULTS_PAGE_VIEW_PROJECTS_SECTION = 'searchResultsPageViewProjectsSection',\r\n SEARCH_RESULTS_PAGE_VIEW_SOCIAL_SECTION = 'searchResultsPageViewSocialSection',\r\n SEARCH_RESULTS_PAGE_CATALOG_FILTER = 'searchResultsPageCatalogFilter',\r\n SEARCH_RESULTS_PAGE_DURATION_FILTER = 'searchResultsPageDurationFilter',\r\n SEARCH_RESULTS_PAGE_CONTENT_TYPE_FILTER = 'searchResultsPageContentTypeFilter',\r\n SEARCH_RESULTS_PAGE_LEVEL_FILTER = 'searchResultsPageLevelFilter',\r\n SEARCH_RESULTS_PAGE_SOURCE_FILTER = 'searchResultsPageSourceFilter',\r\n SEARCH_RESULTS_PAGE_UNIT_FILTER = 'searchResultsPageUnitFilter',\r\n SEARCH_RESULTS_PAGE_TYPE_FILTER = 'searchResultsPageTypeFilter',\r\n SEARCH_RESULTS_PAGE_PUBLISHED_DATE_FILTER = 'searchResultsPagePublishedDateFilter',\r\n SEARCH_RESULTS_PAGE_CATEGORY_FILTER = 'searchResultsPageCategoryFilter',\r\n SEARCH_RESULTS_PAGE_ITEM_TYPE_FILTER = 'searchResultsPageItemTypeFilter',\r\n SEARCH_RESULTS_PAGE_TOPICS_FILTER = 'searchResultsPageTopicsFilter',\r\n SEARCH_RESULTS_PAGE_AUTHORS_FILTER = 'searchResultsPageAuthorsFilter',\r\n SEARCH_RESULTS_PAGE_TAGS_FILTER = 'searchResultsPageTagsFilter',\r\n SEARCH_RESULTS_PAGE_GROUPS_FILTER = 'searchResultsPageGroupsFilter',\r\n SEARCH_RESULTS_PAGE_VIEW_RESULT_CARDS = 'searchResultsPageViewResultCards',\r\n SEARCH_RESULTS_PAGE_VIEW_RELATED_CONCEPTS = 'searchResultsPageViewRelatedConcepts',\r\n\r\n // Lab42 Pages\r\n LAB_42_INTERVIEW = 'interview',\r\n LAB_42_DIALOGUE = 'dialogue',\r\n LAB_42_STRATEGY_MAP = 'strategyMap',\r\n LAB_42_VIRTUAL_CLASSROOM = 'virtualClassroom',\r\n LAB_42_PROJECT_STACK = 'projectStack',\r\n LAB_42_LIVE_TRANSCRIBE = 'liveTranscribe',\r\n LAB_42_EPOCH = 'epoch',\r\n\r\n // Learning Assistant Pages\r\n LEARNING_ASSISTANT_MAQ = 'learning-assistant-maq',\r\n LEARNING_ASSISTANT_ILIPDP = 'learning-assistant-ilipdp',\r\n}\r\n","export enum EInstance {\r\n INSTANCE = 'RootOrg',\r\n}\r\n","import { Directive, Input, OnInit, HostBinding, OnDestroy, AfterViewInit } from '@angular/core'\r\nimport { Subscription, fromEvent } from 'rxjs'\r\nimport { debounceTime } from 'rxjs/operators'\r\n\r\nenum ScrollingStateEnum {\r\n ScrollingUp,\r\n ScrollingDown,\r\n NoScrolling,\r\n}\r\n\r\n@Directive({\r\n selector: '[wsUtilsClassChangeOnScroll]',\r\n})\r\nexport class ClassChangeOnScrollDirective implements OnInit, OnDestroy, AfterViewInit {\r\n\r\n @Input() wsClassOnScrollDirChange = 5000\r\n\r\n @HostBinding('class.scrolling-down') get isScrollingDown() {\r\n return this.currState === ScrollingStateEnum.ScrollingDown\r\n }\r\n @HostBinding('class.scrolling-up') get isScrollingUp() {\r\n return this.currState === ScrollingStateEnum.ScrollingUp\r\n }\r\n @HostBinding('class.scrolling-no') get isNotScrolling() {\r\n return this.currState === ScrollingStateEnum.NoScrolling\r\n }\r\n @HostBinding('class.scrolled-down') hasScrolledDown = false\r\n\r\n private windowScrollSubscription: Subscription | null = null\r\n private timeoutTimer: any\r\n\r\n private lastScreenTop = 0\r\n private currState: ScrollingStateEnum = ScrollingStateEnum.NoScrolling\r\n constructor() { }\r\n ngOnInit() {\r\n this.windowScrollSubscription = fromEvent<Event>(window, 'scroll')\r\n .pipe(debounceTime(50))\r\n .subscribe(() => {\r\n clearTimeout(this.timeoutTimer)\r\n const curr = window.scrollY\r\n this.hasScrolledDown = curr > 56\r\n this.setScrollState(this.lastScreenTop, curr)\r\n this.lastScreenTop = curr\r\n })\r\n }\r\n\r\n ngAfterViewInit() { }\r\n ngOnDestroy() {\r\n if (this.windowScrollSubscription) {\r\n this.windowScrollSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n private setScrollState(prev: number = 0, curr: number = 0) {\r\n if (prev > curr) {\r\n this.currState = ScrollingStateEnum.ScrollingUp\r\n } else if (prev < curr) {\r\n this.currState = ScrollingStateEnum.ScrollingDown\r\n } else {\r\n this.currState = ScrollingStateEnum.NoScrolling\r\n }\r\n if (this.currState !== ScrollingStateEnum.NoScrolling) {\r\n this.resetScrollingState()\r\n }\r\n }\r\n private resetScrollingState() {\r\n this.timeoutTimer = setTimeout(\r\n () => {\r\n this.setScrollState()\r\n },\r\n this.wsClassOnScrollDirChange || 5000,\r\n )\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ClassChangeOnScrollDirective } from './class-change-on-scroll.directive'\r\n\r\n@NgModule({\r\n declarations: [ClassChangeOnScrollDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ClassChangeOnScrollDirective],\r\n})\r\nexport class ClassChangeOnScrollModule { }\r\n","import { Directive, Input, HostListener, HostBinding, OnChanges } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsDefaultThumbnail]',\r\n})\r\nexport class DefaultThumbnailDirective implements OnChanges {\r\n\r\n @Input() wsUtilsDefaultThumbnail = ''\r\n @Input() src = ''\r\n isSrcUpdateAttemptedForDefault = false\r\n\r\n @HostBinding('src') srcUrl = ''\r\n @HostListener('error') updateSrc() {\r\n if (!this.isSrcUpdateAttemptedForDefault) {\r\n this.srcUrl = this.wsUtilsDefaultThumbnail\r\n this.isSrcUpdateAttemptedForDefault = true\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.srcUrl = this.src\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { DefaultThumbnailDirective } from './default-thumbnail.directive'\r\n\r\n@NgModule({\r\n declarations: [DefaultThumbnailDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [DefaultThumbnailDirective],\r\n})\r\nexport class DefaultThumbnailModule { }\r\n","import { BreakpointObserver } from '@angular/cdk/layout'\r\nimport { Directive, HostBinding, Input, OnChanges, OnDestroy } from '@angular/core'\r\nimport { Subscription } from 'rxjs'\r\nimport { distinctUntilChanged } from 'rxjs/operators'\r\n\r\nexport interface IImageResponsiveUnit {\r\n [key: string]: string\r\n}\r\n\r\nconst customBreakPoints = {\r\n xs: '(max-width: 450px)',\r\n s: '(min-width: 450.001px) and (max-width: 768px)',\r\n m: '(min-width: 768.001px) and (max-width: 1024px)',\r\n l: '(min-width: 1024.001px) and (max-width: 1400px)',\r\n xl: '(min-width: 1400.001px) and (max-width: 1920px)',\r\n xxl: '(min-width: 1920.001px)',\r\n}\r\n\r\n@Directive({\r\n selector: '[wsUtilsImageResponsive]',\r\n})\r\nexport class ImageResponsiveDirective implements OnChanges, OnDestroy {\r\n\r\n @Input() src: IImageResponsiveUnit | null = null\r\n @HostBinding('src') srcBindUrl = ''\r\n\r\n currentSize = ''\r\n breakpointSubscription: Subscription | null = null\r\n constructor(\r\n private breakpointObserver: BreakpointObserver,\r\n ) {\r\n this.breakpointSubscription = this.breakpointObserver\r\n .observe([\r\n customBreakPoints.xs,\r\n customBreakPoints.s,\r\n customBreakPoints.m,\r\n customBreakPoints.l,\r\n customBreakPoints.xl,\r\n customBreakPoints.xxl,\r\n ])\r\n .pipe(distinctUntilChanged())\r\n .subscribe(data => {\r\n // //console.log('data >', data)\r\n if (data.breakpoints[customBreakPoints.xxl]) {\r\n this.currentSize = 'xxl'\r\n } else if (data.breakpoints[customBreakPoints.xl]) {\r\n this.currentSize = 'xl'\r\n } else if (data.breakpoints[customBreakPoints.l]) {\r\n this.currentSize = 'l'\r\n } else if (data.breakpoints[customBreakPoints.m]) {\r\n this.currentSize = 'm'\r\n } else if (data.breakpoints[customBreakPoints.s]) {\r\n this.currentSize = 's'\r\n } else if (data.breakpoints[customBreakPoints.xs]) {\r\n this.currentSize = 'xs'\r\n } else {\r\n this.currentSize = 'xl'\r\n }\r\n this.setSrc()\r\n })\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.src) {\r\n this.setSrc()\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.breakpointSubscription) {\r\n this.breakpointSubscription.unsubscribe()\r\n }\r\n }\r\n\r\n private setSrc() {\r\n if (\r\n this.currentSize &&\r\n this.src &&\r\n this.src[this.currentSize]\r\n ) {\r\n this.srcBindUrl = this.src[this.currentSize]\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { ImageResponsiveDirective } from './image-responsive.directive'\r\n\r\n@NgModule({\r\n declarations: [ImageResponsiveDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [ImageResponsiveDirective],\r\n})\r\nexport class ImageResponsiveModule { }\r\n","import { Directive, OnInit, Output, EventEmitter, ElementRef, OnDestroy } from '@angular/core'\r\nimport { fromEvent } from 'rxjs'\r\nimport { debounceTime } from 'rxjs/operators'\r\n\r\n@Directive({\r\n selector: '[wsUtilsInViewPort]',\r\n})\r\nexport class InViewPortDirective implements OnInit, OnDestroy {\r\n\r\n private scroll: any\r\n private resize: any\r\n\r\n @Output() inViewport: EventEmitter<boolean> = new EventEmitter<boolean>()\r\n\r\n constructor(private _el: ElementRef) { }\r\n\r\n ngOnInit() {\r\n this.check()\r\n this.scroll =\r\n fromEvent(window, 'scroll').pipe(debounceTime(100)).subscribe(() => {\r\n this.check()\r\n })\r\n this.resize =\r\n fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe(() => {\r\n this.check()\r\n })\r\n\r\n // let limit = 1\r\n // this.scroll =\r\n // fromEvent(window, 'scroll').pipe(debounceTime(100)).subscribe(() => {\r\n // if (limit) {\r\n // this.check()\r\n // limit -= 1\r\n // }\r\n // })\r\n\r\n // this.resize =\r\n // fromEvent(window, 'resize').toPromise().then(() => {\r\n // this.check()\r\n // })\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.scroll.unsubscribe()\r\n this.resize.unsubscribe()\r\n }\r\n\r\n check(partial: boolean = true, direction: string = 'both') {\r\n const el = this._el.nativeElement\r\n\r\n const elSize = (el.offsetWidth * el.offsetHeight)\r\n\r\n const rec = el.getBoundingClientRect()\r\n\r\n const vp = {\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n }\r\n\r\n const tViz = rec.top >= 0 && rec.top < vp.height\r\n const bViz = rec.bottom > 0 && rec.bottom <= vp.height\r\n\r\n const lViz = rec.left >= 0 && rec.left < vp.width\r\n const rViz = rec.right > 0 && rec.right <= vp.width\r\n\r\n const vVisible = partial ? tViz || bViz : tViz && bViz\r\n const hVisible = partial ? lViz || rViz : lViz && rViz\r\n\r\n let event = false\r\n\r\n if (direction === 'both') {\r\n event = (elSize && vVisible && hVisible) ? true : false\r\n } else if (direction === 'vertical') {\r\n event = (elSize && vVisible) ? true : false\r\n } else if (direction === 'horizontal') {\r\n event = (elSize && hVisible) ? true : false\r\n }\r\n this.inViewport.emit(event)\r\n }\r\n}\r\n","import { InViewPortDirective } from './in-view-port.directive'\r\nimport { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\n\r\n@NgModule({\r\n declarations: [InViewPortDirective],\r\n exports: [InViewPortDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n})\r\nexport class InViewPortModule { }\r\n","import { Directive, OnChanges, Input, HostBinding, HostListener } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsNavigation]',\r\n})\r\nexport class NavigationDirective implements OnChanges {\r\n @Input() wsUtilsNavigation = ''\r\n @Input() openInNewTab = false\r\n @Input()\r\n @HostBinding('attr.routerLink') routeUrl = ''\r\n @HostListener('mousedown', ['$event']) onMouseEnter($event: Event) {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n $event.preventDefault()\r\n $event.stopPropagation()\r\n this.routeUrl = './'\r\n window.open(this.wsUtilsNavigation)\r\n }\r\n }\r\n constructor() { }\r\n\r\n ngOnChanges() {\r\n if (this.openInNewTab || this.wsUtilsNavigation.includes('mailto')) {\r\n this.routeUrl = './'\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { NavigationDirective } from './navigation.directive'\r\n\r\n@NgModule({\r\n declarations: [NavigationDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [NavigationDirective],\r\n})\r\nexport class NavigationModule { }\r\n","import { Directive } from '@angular/core'\r\n\r\n@Directive({\r\n selector: '[wsUtilsPermission]',\r\n})\r\nexport class PermissionDirective {\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PermissionDirective } from './permission.directive'\r\n\r\n@NgModule({\r\n declarations: [PermissionDirective],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PermissionDirective],\r\n})\r\nexport class PermissionModule { }\r\n","export function getStringifiedQueryParams(obj: { [key: string]: number | string | undefined | string[] }) {\r\n return Object.entries(obj)\r\n .filter(u => u[1])\r\n .map(u => {\r\n return `${u[0]}=${u[1]}`\r\n })\r\n .join('&')\r\n}\r\n","import { Component, OnInit, OnChanges, OnDestroy, Input, Output, ViewChild, EventEmitter, ElementRef } from '@angular/core'\r\nimport {\r\n fromEvent,\r\n Subscription,\r\n timer,\r\n} from 'rxjs'\r\nimport { debounceTime, throttleTime } from 'rxjs/operators'\r\nimport { TFetchStatus } from '../../constants/misc.constants'\r\n\r\n@Component({\r\n selector: 'ws-utils-horizontal-scroller',\r\n templateUrl: './horizontal-scroller.component.html',\r\n styleUrls: ['./horizontal-scroller.component.scss'],\r\n})\r\nexport class HorizontalScrollerComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n @Input()\r\n loadStatus: TFetchStatus = 'none'\r\n @Input()\r\n onHover = false\r\n @Output()\r\n loadNext = new EventEmitter()\r\n @ViewChild('horizontalScrollElem', { static: true })\r\n horizontalScrollElem: ElementRef | null = null\r\n\r\n enablePrev = false\r\n enableNext = false\r\n private scrollObserver: Subscription | null = null\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n if (this.horizontalScrollElem) {\r\n const horizontalScrollElem = this.horizontalScrollElem\r\n this.scrollObserver = fromEvent(\r\n horizontalScrollElem.nativeElement,\r\n 'scroll',\r\n )\r\n .pipe(debounceTime(100), throttleTime(100))\r\n .subscribe(_ => {\r\n this.updateNavigationBtnStatus(horizontalScrollElem\r\n .nativeElement as HTMLElement)\r\n })\r\n }\r\n }\r\n ngOnChanges() {\r\n timer(100).subscribe(() => {\r\n if (this.horizontalScrollElem) {\r\n this.updateNavigationBtnStatus(this.horizontalScrollElem\r\n .nativeElement as HTMLElement)\r\n }\r\n })\r\n }\r\n ngOnDestroy() {\r\n if (this.scrollObserver) {\r\n this.scrollObserver.unsubscribe()\r\n }\r\n }\r\n showPrev() {\r\n if (this.horizontalScrollElem) {\r\n // const elem = this.horizontalScrollElem.nativeElement\r\n // elem.scrollLeft -= 0.20 * elem.clientWidth\r\n if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft - clientWidth,\r\n behavior: 'smooth',\r\n })\r\n }\r\n }\r\n }\r\n showNext() {\r\n if (this.horizontalScrollElem) {\r\n // const elem = this.horizontalScrollElem.nativeElement\r\n // elem.scrollLeft += 0.20 * elem.clientWidth\r\n if (this.horizontalScrollElem) {\r\n // const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth * 0.24)\r\n const clientWidth = (this.horizontalScrollElem.nativeElement.clientWidth)\r\n this.horizontalScrollElem.nativeElement.scrollTo({\r\n left: this.horizontalScrollElem.nativeElement.scrollLeft + clientWidth,\r\n behavior: 'smooth',\r\n })\r\n }\r\n }\r\n }\r\n private updateNavigationBtnStatus(elem: HTMLElement) {\r\n this.enablePrev = true\r\n this.enableNext = true\r\n if (elem.scrollLeft === 0) {\r\n this.enablePrev = false\r\n }\r\n if (elem.scrollWidth === elem.clientWidth + elem.scrollLeft) {\r\n if (this.loadStatus === 'hasMore') {\r\n this.loadNext.emit()\r\n } else {\r\n this.enableNext = false\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { HorizontalScrollerComponent } from './horizontal-scroller.component'\r\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatIconModule } from '@angular/material/icon'\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner'\r\n\r\n@NgModule({\r\n declarations: [HorizontalScrollerComponent],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n ],\r\n exports: [HorizontalScrollerComponent],\r\n})\r\nexport class HorizontalScrollerModule { }\r\n","// tslint:disable:no-console\r\nimport { Injectable } from '@angular/core'\r\nimport { ConfigurationsService } from './configurations.service'\r\n\r\ntype consoleFun = (...args: any) => void\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoggerService {\r\n constructor(private configSvc: ConfigurationsService) { }\r\n\r\n private consoleError = console.error\r\n private consoleInfo = console.info\r\n private consoleLog = console.log\r\n private consoleWarn = console.warn\r\n private noConsole: consoleFun = () => { }\r\n\r\n get error() {\r\n return this.consoleError\r\n }\r\n get info() {\r\n return this.configSvc.isProduction ? this.noConsole : this.consoleInfo\r\n }\r\n get log() {\r\n return this.configSvc.isProduction ? this.noConsole : this.consoleLog\r\n }\r\n get warn() {\r\n return this.configSvc.isProduction ? this.noConsole : this.consoleWarn\r\n }\r\n\r\n removeConsoleAccess() {\r\n if (this.configSvc.isProduction) {\r\n return\r\n }\r\n const noConsoleWithError: consoleFun = () => {\r\n throw new Error('Console Functions Usage Are Not Allowed.')\r\n }\r\n // console.log = noConsoleWithError\r\n console.warn = noConsoleWithError\r\n console.info = noConsoleWithError\r\n console.error = noConsoleWithError\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { LoggerService } from './logger.service'\r\nimport { NsInstanceConfig } from './configurations.model'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { IWsMsTokenModelResponse } from './ms-office.model'\r\n// TODO: Use a url-search-polyfill if the site didnot work in IE 11\r\n\r\nconst msTokenExpiryDuration = 600\r\nconst storageKey = 'msLoginRequested'\r\nconst storage = localStorage\r\n\r\nconst API_ENDPOINTS = {\r\n sharePointToken: '/apis/protected/v8/user/token',\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthMicrosoftService {\r\n private msConfig: NsInstanceConfig.IMicrosoft = {\r\n clientId: '',\r\n tenant: '',\r\n defaultEmailId: '',\r\n validEmailExtensions: [],\r\n isConfigured: false,\r\n }\r\n private emailUsed: string | null = null\r\n private code: string | null = null\r\n private msToken: IWsMsTokenModelResponse = {\r\n accessToken: '',\r\n expiresOn: '',\r\n resource: '',\r\n tokenType: '',\r\n }\r\n\r\n constructor(private loggerSvc: LoggerService, private http: HttpClient) { }\r\n\r\n get isLogoutRequired(): boolean {\r\n return Boolean(this.msConfig.isConfigured && this.msConfig.clientId && this.emailUsed)\r\n }\r\n get loginUrl(): string | null {\r\n if (this.msConfig.isConfigured && this.msConfig.clientId) {\r\n const base = 'https://login.windows.net/common/oauth2/authorize'\r\n const searchParam = new URLSearchParams({\r\n response_type: 'code',\r\n client_id: this.msConfig.clientId,\r\n redirect_uri: window.location.href,\r\n })\r\n const fragment = location.search.substring(1)\r\n if (fragment) {\r\n return `${base}?${searchParam.toString()}#${fragment}`\r\n }\r\n return `${base}?${searchParam.toString()}`\r\n }\r\n return null\r\n }\r\n logoutUrl(redirectUrl: string) {\r\n if (this.isValidEmail(this.emailUsed || '')) {\r\n return `https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri=${redirectUrl}`\r\n }\r\n return redirectUrl\r\n }\r\n\r\n // Behavior Methods\r\n\r\n async init(config: Pick<NsInstanceConfig.IConfig, 'microsoft'>) {\r\n if (!config || !config.microsoft || !config.microsoft.isConfigured) {\r\n this.loggerSvc.warn('Empty/No Configuration passed, ignoring Microsoft Authentication')\r\n }\r\n this.msConfig = config.microsoft\r\n const queryParams = new URLSearchParams(location.search)\r\n if (queryParams.has('code') && queryParams.has('session_state')) {\r\n this.code = queryParams.get('code')\r\n if (!this.code) {\r\n return\r\n }\r\n let url = location.origin + location.pathname\r\n await this.exchangeTokenForCode(this.code, url)\r\n if (location.hash) {\r\n url += location.hash.substring(1)\r\n }\r\n history.replaceState(null, '', url)\r\n }\r\n }\r\n\r\n async login(email: string) {\r\n if (!this.isValidEmail(email)) {\r\n this.loggerSvc.warn(`Microsoft Login is not allowed for your emailId (${email})`)\r\n return\r\n }\r\n const loginUrl = this.loginUrl\r\n if (loginUrl) {\r\n location.assign(loginUrl)\r\n } else {\r\n this.loggerSvc.warn('Unable to identify Office Login URL, Ignoring login request')\r\n }\r\n }\r\n\r\n async getToken(email: string): Promise<string> {\r\n if (\r\n this.msToken &&\r\n this.isValid(this.msToken.accessToken, this.msToken.expiresOn) &&\r\n this.msToken.accessToken\r\n ) {\r\n return this.msToken.accessToken\r\n }\r\n if (this.isValidEmail(email)) {\r\n try {\r\n this.msToken = await this.getTokenForEmail(email)\r\n if (this.msToken.accessToken) {\r\n this.emailUsed = email\r\n return this.msToken.accessToken\r\n }\r\n } catch (error) {\r\n if (!this.code) {\r\n this.login(email)\r\n }\r\n }\r\n }\r\n if (this.msConfig.defaultEmailId && this.isValidEmail(this.msConfig.defaultEmailId)) {\r\n try {\r\n this.msToken = await this.getTokenForEmail(this.msConfig.defaultEmailId)\r\n if (this.msToken.accessToken) {\r\n this.emailUsed = this.msConfig.defaultEmailId\r\n return this.msToken.accessToken\r\n }\r\n } catch (error) { }\r\n }\r\n throw new Error('UNABLE TO FETCH MS AUTH TOKEN')\r\n }\r\n\r\n loginForSSOEnabledEmbed(email: string) {\r\n if (!this.isValidEmail(email)) {\r\n this.loggerSvc.warn('SSO Login request Ignored. Invalid Email Id for SSO Enabled Content')\r\n }\r\n let msPrevTS = 0\r\n try {\r\n msPrevTS = parseInt(storage.getItem(storageKey) || '0', 10)\r\n } catch (error) { }\r\n if (!msPrevTS || (msPrevTS && (Date.now() - msPrevTS) / 1000 > msTokenExpiryDuration)) {\r\n this.loggerSvc.info(\r\n `last login exceeded ${msTokenExpiryDuration} duration. Redirecting to O365 login`,\r\n )\r\n storage.setItem(storageKey, Date.now().toString())\r\n this.login(email)\r\n }\r\n }\r\n\r\n isValidEmail(email: string) {\r\n return this.msConfig.validEmailExtensions.some(ext => email.endsWith(ext))\r\n }\r\n\r\n isValid(accessToken: string | undefined, expiresOn: string | undefined): boolean {\r\n if (accessToken && expiresOn) {\r\n // TODO: Implement expiredOn and Date comparison based validity\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n async exchangeTokenForCode(code: string, redirectUrl: string): Promise<any> {\r\n const response = await this.http\r\n .get<IWsMsTokenModelResponse>(`${API_ENDPOINTS}?code=${code}&redirectUrl=${redirectUrl}`)\r\n .toPromise()\r\n return this.getInstanceFromResponse(response)\r\n }\r\n\r\n async getTokenForEmail(email: string): Promise<any> {\r\n const response = await this.http\r\n .get<IWsMsTokenModelResponse>(`${API_ENDPOINTS.sharePointToken}?email=${email}`)\r\n .toPromise()\r\n return this.getInstanceFromResponse(response)\r\n }\r\n\r\n getInstanceFromResponse(token: IWsMsTokenModelResponse) {\r\n return {\r\n accessToken: token.accessToken,\r\n expiresOn: token.expiresOn,\r\n resource: token.resource,\r\n tokenType: token.tokenType,\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\nimport { KeycloakEvent, KeycloakEventType, KeycloakInitOptions, KeycloakService } from 'keycloak-angular'\nimport { fromEvent, ReplaySubject } from 'rxjs'\nimport { filter } from 'rxjs/operators'\nimport { AuthMicrosoftService } from './auth-microsoft.service'\nimport { ConfigurationsService } from './configurations.service'\n\ninterface IParsedToken {\n email?: string\n encEmail?: string\n name?: string\n preferred_username?: string\n}\n\nconst storage = localStorage\nconst storageKey = 'kc'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthKeycloakService {\n private loginChangeSubject = new ReplaySubject<boolean>(1)\n constructor(\n private configSvc: ConfigurationsService,\n private keycloakSvc: KeycloakService,\n private msAuthSvc: AuthMicrosoftService,\n ) {\n this.loginChangeSubject.subscribe((isLoggedIn: boolean) => {\n this.configSvc.isAuthenticated = isLoggedIn\n if (\n isLoggedIn &&\n this.configSvc.instanceConfig &&\n Boolean(this.configSvc.instanceConfig.disablePidCheck)\n ) {\n this.configSvc.userProfile = {\n email: this.userEmail,\n userName: this.userName,\n userId: this.userId || '',\n }\n }\n })\n }\n\n // Getters\n get isLoggedIn$() {\n return this.loginChangeSubject.asObservable()\n }\n get isLoggedIn(): Promise<boolean> {\n return this.keycloakSvc.isLoggedIn()\n }\n get isAuthenticated(): boolean | undefined {\n return this.keycloakSvc.getKeycloakInstance().authenticated\n }\n get token(): string | undefined {\n return this.keycloakSvc.getKeycloakInstance().token\n }\n get sessionId(): string | undefined {\n return this.keycloakSvc.getKeycloakInstance().sessionId\n }\n get userId(): string | undefined {\n const kc = this.keycloakSvc.getKeycloakInstance()\n if (!kc) {\n return\n }\n return (kc.tokenParsed && kc.tokenParsed.sub) || (kc.idTokenParsed && kc.idTokenParsed.sub)\n }\n\n get userEmail(): string | undefined {\n const kc = this.keycloakSvc.getKeycloakInstance()\n\n const tokenParsed = kc.tokenParsed as IParsedToken\n const idTokenParsed = kc.idTokenParsed as IParsedToken\n return (\n (tokenParsed && tokenParsed.email) ||\n (idTokenParsed && idTokenParsed.email) ||\n (idTokenParsed && idTokenParsed.encEmail) ||\n (tokenParsed && tokenParsed.preferred_username) ||\n (idTokenParsed && idTokenParsed.preferred_username)\n )\n }\n\n get userName(): string | undefined {\n const kc = this.keycloakSvc.getKeycloakInstance()\n return (\n (kc.tokenParsed && (kc.tokenParsed as IParsedToken).name) ||\n (kc.idTokenParsed && (kc.idTokenParsed as IParsedToken).name)\n )\n }\n\n async initAuth(): Promise<boolean> {\n if (!this.configSvc.instanceConfig) {\n return false\n }\n const instanceConfig = this.configSvc.instanceConfig\n if (instanceConfig.microsoft.isConfigured) {\n this.msAuthSvc.init({ microsoft: instanceConfig.microsoft })\n }\n try {\n this.setupGlobalAuthResponder()\n this.addKeycloakEventListener()\n return await this.keycloakSvc.init({\n config: {\n url: instanceConfig.keycloak.url,\n realm: instanceConfig.keycloak.realm,\n clientId: instanceConfig.keycloak.clientId,\n },\n initOptions: {\n ...this.getSavedKcConfig(),\n onLoad: instanceConfig.keycloak.onLoad || 'check-sso',\n checkLoginIframe: false,\n },\n enableBearerInterceptor: true,\n loadUserProfileAtStartUp: false,\n bearerExcludedUrls: instanceConfig.keycloak.bearerExcludedUrls,\n })\n } catch (err) {\n return false\n }\n }\n\n login(\n idpHint: 'E' | 'N' | 'S' = 'E',\n redirectUrl: string = this.defaultRedirectUrl,\n ): Promise<void> {\n return this.keycloakSvc.login({\n idpHint,\n redirectUri: redirectUrl,\n })\n }\n\n register(\n redirectUrl: string = this.defaultRedirectUrl,\n ): Promise<void> {\n return this.keycloakSvc.register({\n redirectUri: redirectUrl,\n })\n }\n /**\n * @deprecated this will be depricated\n */\n async logout(_redirectUrl = this.defaultRedirectUrl) {\n // window.location.href = `${_redirectUrl}apis/reset`\n window.location.href = `${_redirectUrl}public/logout`\n\n // storage.removeItem(storageKey)\n // await this.http.get('/apis/reset').toPromise()\n // if (this.msAuthSvc.isLogoutRequired) {\n // this.keycloakSvc.logout(this.msAuthSvc.logoutUrl(redirectUrl))\n // } else {\n // this.keycloakSvc.logout(redirectUrl)\n // }\n }\n async force_logout() {\n // const headers = new HttpHeaders({\n // 'Cache-Control': 'no-cache, no-store, must-revalidate, post-check=0, pre-check=0',\n // Pragma: 'no-cache',\n // Expires: '0',\n // })\n if (storage.getItem('telemetrySessionId')) {\n storage.removeItem('telemetrySessionId')\n }\n // try {\n // sessionStorage.clear()\n // localStorage.clear()\n // } catch {\n\n // }\n storage.removeItem(storageKey)\n if (localStorage.getItem('login') === 'true') {\n try {\n sessionStorage.clear()\n localStorage.clear()\n } catch {\n\n }\n window.location.href = `${this.defaultRedirectUrl}apis/reset`\n } else {\n window.location.href = `${this.defaultRedirectUrl}public/logout`\n }\n // window.location.href = '/public/logout'\n // await this.http.get('/apis/reset', { headers }).toPromise()\n }\n private addKeycloakEventListener() {\n this.keycloakSvc.keycloakEvents$.subscribe((event: KeycloakEvent) => {\n switch (event.type) {\n case KeycloakEventType.OnAuthError:\n this.loginChangeSubject.next(false)\n break\n case KeycloakEventType.OnAuthLogout:\n this.loginChangeSubject.next(false)\n storage.removeItem(storageKey)\n break\n case KeycloakEventType.OnAuthRefreshError:\n break\n case KeycloakEventType.OnAuthRefreshSuccess:\n break\n case KeycloakEventType.OnAuthSuccess:\n break\n case KeycloakEventType.OnReady:\n this.loginChangeSubject.next(event.args)\n if (event.args) {\n this.saveKeycloakConfig()\n }\n break\n case KeycloakEventType.OnTokenExpired:\n this.keycloakSvc.updateToken(60)\n break\n }\n })\n }\n\n private setupGlobalAuthResponder() {\n fromEvent<MessageEvent>(window, 'message')\n .pipe(\n filter(\n (event: MessageEvent) =>\n Boolean(event) &&\n Boolean(event.data) &&\n event.data.type === 'AUTH_REQUEST' &&\n Boolean(event.source && typeof event.source.postMessage === 'function'),\n ),\n )\n .subscribe(async (event: MessageEvent) => {\n const contentWindow = event.source as Window\n const token = await this.keycloakSvc.getToken()\n const response = {\n app: 'WEB_PORTAL',\n type: 'AUTH_RESPONSE',\n state: 'NONE',\n plugin: 'NONE',\n data: {\n token,\n id: event.data && event.data.data && event.data.data.id,\n },\n }\n contentWindow.postMessage(response, '*')\n })\n }\n\n // Utility Methods\n private saveKeycloakConfig() {\n const kc = this.keycloakSvc.getKeycloakInstance()\n const kcInitOptions: KeycloakInitOptions = {\n idToken: kc.idToken,\n refreshToken: kc.refreshToken,\n timeSkew: kc.timeSkew,\n token: kc.token,\n }\n storage.setItem(storageKey, JSON.stringify(kcInitOptions))\n }\n private getSavedKcConfig(): KeycloakInitOptions {\n try {\n // const lastSaved = KEYCLOAK_STORAGE.getItem(key);\n const lastSaved = storage.getItem(storageKey)\n if (lastSaved) {\n const processed = JSON.parse(lastSaved)\n if (\n 'idToken' in processed &&\n 'refreshToken' in processed &&\n 'timeSkew' in processed &&\n 'token' in processed\n ) {\n return processed\n }\n }\n } catch (e) { }\n return {}\n }\n\n private get defaultRedirectUrl(): string {\n try {\n const baseUrl = document.baseURI\n return baseUrl || location.origin\n } catch (error) {\n return location.origin\n }\n }\n}\n","import { Platform } from '@angular/cdk/platform'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs'\r\nimport { Router, NavigationEnd, ActivatedRoute, ActivatedRouteSnapshot } from '@angular/router'\r\nimport { WsEvents } from './event.model'\r\ninterface IWindowMobileAppModified extends Window {\r\n appRef?: any\r\n webkit?: any\r\n}\r\ndeclare var window: IWindowMobileAppModified\r\n\r\nconst RANDOM_ID_PER_USER = 0\r\ninterface IRecursiveData {\r\n identifier: string\r\n children: null | IRecursiveData[]\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UtilityService {\r\n currentRouteData: any[] = []\r\n constructor(\r\n private http: HttpClient,\r\n private platform: Platform,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n // private events: EventService,\r\n ) {\r\n this.router.events.subscribe((event: any) => {\r\n if (event instanceof NavigationEnd) {\r\n // let snapshot = this.router.routerState.firstChild(this.activatedRoute).snapshot\r\n // console.log('this.route.snapshot :: ', this.route.snapshot)\r\n const snapshot = this.route.snapshot\r\n // console.log('root.snapshot.root.firstChild ', snapshot.root.firstChild)\r\n // console.log('firstChild ', snapshot.firstChild)\r\n const firstChild = snapshot.root.firstChild\r\n this.getChildRouteData(snapshot, firstChild)\r\n }\r\n })\r\n }\r\n\r\n private getChildRouteData(snapshot: ActivatedRouteSnapshot, firstChild: ActivatedRouteSnapshot | null) {\r\n if (firstChild) {\r\n if (firstChild.data) {\r\n // console.log('firstChild.data', firstChild.data)\r\n this.currentRouteData.push(firstChild.data)\r\n }\r\n if (firstChild.firstChild) {\r\n this.getChildRouteData(snapshot, firstChild.firstChild)\r\n }\r\n }\r\n }\r\n\r\n get randomId() {\r\n return RANDOM_ID_PER_USER + 1\r\n }\r\n\r\n getJson<T>(url: string): Observable<T> {\r\n return this.http.get<T>(url)\r\n }\r\n\r\n getLeafNodes<T extends IRecursiveData>(node: T, nodes: T[]): T[] {\r\n if ((node.children || []).length === 0) {\r\n nodes.push(node)\r\n } else {\r\n if (node.children) {\r\n node.children.forEach(child => {\r\n this.getLeafNodes(child, nodes)\r\n })\r\n }\r\n }\r\n return nodes\r\n }\r\n getPath<T extends IRecursiveData>(node: T, id: string): T[] {\r\n const path: T[] = []\r\n this.hasPath(node, path, id)\r\n return path\r\n }\r\n\r\n private hasPath<T extends IRecursiveData>(node: T, pathArr: T[], id: string): boolean {\r\n if (node == null) {\r\n return false\r\n }\r\n pathArr.push(node)\r\n if (node.identifier === id) {\r\n return true\r\n }\r\n const children = node.children || []\r\n if (children.some(u => this.hasPath(u, pathArr, id))) {\r\n return true\r\n }\r\n pathArr.pop()\r\n return false\r\n }\r\n\r\n get isMobile(): boolean {\r\n if (this.isIos || this.isAndroid) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n get isIos(): boolean {\r\n return this.platform.IOS\r\n }\r\n\r\n get isAndroid(): boolean {\r\n return this.platform.ANDROID\r\n }\r\n get isAndroidApp(): boolean {\r\n return Boolean(window.appRef)\r\n }\r\n\r\n get iOsAppRef() {\r\n if (\r\n window.webkit &&\r\n window.webkit.messageHandlers &&\r\n window.webkit.messageHandlers.appRef\r\n ) {\r\n return window.webkit.messageHandlers.appRef\r\n }\r\n return null\r\n }\r\n\r\n public setRouteData(data: any) {\r\n this.currentRouteData = data\r\n }\r\n\r\n get routeData(): WsEvents.ITelemetryPageContext {\r\n const data: WsEvents.ITelemetryPageContext = {\r\n module: '',\r\n pageId: '',\r\n }\r\n // tslint:disable-next-line: no-console\r\n // console.log('Final currentDataRoute get routeData()', this.currentRouteData)\r\n this.currentRouteData.map((rd: any) => {\r\n if (rd.pageId) {\r\n data.pageId = `${data.pageId}/${rd.pageId}`\r\n }\r\n if (rd.module) {\r\n data.module = rd.module\r\n }\r\n })\r\n return data\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core'\r\nimport { MatDialogRef } from '@angular/material/dialog'\r\n// import { Router } from '@angular/router'\r\nimport { AuthKeycloakService } from '../../services/auth-keycloak.service'\r\nimport { ConfigurationsService } from '../../services/configurations.service'\r\nimport { UtilityService } from '../../services/utility.service'\r\n\r\n@Component({\r\n selector: 'ws-utils-logout',\r\n templateUrl: './logout.component.html',\r\n styleUrls: ['./logout.component.scss'],\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n\r\n disabled = false\r\n isDownloadableIos = false\r\n isDownloadableAndroid = false\r\n constructor(\r\n public dialogRef: MatDialogRef<LogoutComponent>,\r\n private authSvc: AuthKeycloakService,\r\n private configSvc: ConfigurationsService,\r\n private utilitySvc: UtilityService,\r\n // private router: Router,\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.configSvc.restrictedFeatures) {\r\n this.isDownloadableIos = !this.configSvc.restrictedFeatures.has('iosDownload')\r\n this.isDownloadableAndroid = !this.configSvc.restrictedFeatures.has('androidDownload')\r\n }\r\n }\r\n\r\n confirmed() {\r\n this.disabled = true\r\n this.dialogRef.close()\r\n this.authSvc.force_logout()\r\n // this.router.navigate(['public', 'logout'])\r\n // this.router.logout()\r\n }\r\n\r\n get isDownloadable() {\r\n if (this.configSvc.instanceConfig && this.configSvc.instanceConfig.isContentDownloadAvailable &&\r\n (this.utilitySvc.iOsAppRef || this.utilitySvc.isAndroidApp)) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { MatButtonModule } from '@angular/material/button'\nimport { MatDialogModule } from '@angular/material/dialog'\r\n\r\nimport { LogoutComponent } from './logout.component'\r\n\r\n@NgModule({\r\n declarations: [LogoutComponent],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatDialogModule,\r\n ],\r\n entryComponents: [LogoutComponent],\r\n})\r\nexport class LogoutModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\ninterface IDateRange {\r\n fromDate: Date\r\n toDate: Date\r\n timeZone?: string\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeConciseDateRange',\r\n})\r\nexport class PipeConciseDateRangePipe implements PipeTransform {\r\n transform(dateRange: IDateRange): string {\r\n try {\r\n let conciseRange: string\r\n let prefix: string\r\n let suffix: string\r\n const fromDate = new Date(dateRange.fromDate)\r\n const toDate = new Date(dateRange.toDate)\r\n\r\n const fromDateObj = {\r\n day: fromDate.getDate(),\r\n month: fromDate.toLocaleString('default', { month: 'short' }),\r\n year: fromDate.getFullYear(),\r\n time: fromDate.getTime(),\r\n }\r\n\r\n const toDateObj = {\r\n day: toDate.getDate(),\r\n month: toDate.toLocaleString('default', { month: 'short' }),\r\n year: toDate.getFullYear(),\r\n time: toDate.getTime(),\r\n }\r\n\r\n if (fromDateObj.time === toDateObj.time) {\r\n conciseRange = `${fromDateObj.day} ${fromDateObj.month} ${fromDateObj.year}`\r\n return conciseRange\r\n }\r\n\r\n if (fromDateObj.year !== fromDateObj.year) {\r\n prefix = `${fromDateObj.day} ${fromDateObj.month} ${fromDateObj.year}`\r\n suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`\r\n conciseRange = `${prefix} - ${suffix}`\r\n return conciseRange\r\n }\r\n\r\n if (fromDateObj.month === toDateObj.month) {\r\n prefix = `${fromDateObj.day}`\r\n suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`\r\n } else {\r\n prefix = `${fromDateObj.day} ${fromDateObj.month}`\r\n suffix = `${toDateObj.day} ${toDateObj.month} ${toDateObj.year}`\r\n }\r\n\r\n conciseRange = `${prefix} - ${suffix}`\r\n return conciseRange\r\n } catch (e) {\r\n return `${dateRange.fromDate} - ${dateRange.toDate}`\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeConciseDateRangePipe } from './pipe-concise-date-range.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeConciseDateRangePipe],\r\n imports: [CommonModule],\r\n exports: [PipeConciseDateRangePipe],\r\n})\r\nexport class PipeConciseDateRangeModule {}\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeCountTransform',\r\n})\r\nexport class PipeCountTransformPipe implements PipeTransform {\r\n\r\n transform(value: number): string {\r\n const thousand = 1000\r\n const million = 1000000\r\n if (value > 0) {\r\n if (value < thousand) {\r\n return String(value)\r\n }\r\n if (value >= thousand && value < million) {\r\n const views = (value / thousand).toFixed(1)\r\n if (views.endsWith('0')) {\r\n return `${views.split('.')[0]}K`\r\n }\r\n return `${views}K`\r\n }\r\n {\r\n const views = (value / million).toFixed(1)\r\n if (views.endsWith('0')) {\r\n return `${views.split('.')[0]}M`\r\n }\r\n return `${views}M`\r\n }\r\n }\r\n return '0'\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeCountTransformPipe } from './pipe-count-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeCountTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeCountTransformPipe],\r\n})\r\nexport class PipeCountTransformModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\ninterface ICertificationDate {\r\n day: number\r\n month: number\r\n year: number\r\n timeZone?: string\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeDateConcat',\r\n})\r\nexport class PipeDateConcatPipe implements PipeTransform {\r\n private readonly months: string[]\r\n\r\n constructor() {\r\n this.months = [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec',\r\n ]\r\n }\r\n\r\n transform(value: ICertificationDate): string {\r\n let dateStr = `${value.day} ${this.months[value.month - 1]} ${value.year}`\r\n if (value.timeZone) {\r\n dateStr += ` ${value.timeZone}`\r\n }\r\n\r\n return dateStr\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeDateConcatPipe } from './pipe-date-concat.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeDateConcatPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeDateConcatPipe],\r\n})\r\nexport class PipeDateConcatModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeDurationTransform',\r\n})\r\nexport class PipeDurationTransformPipe implements PipeTransform {\r\n\r\n transform(data: number, type: 'time24' | 'hms' | 'hour'): any {\r\n if (data <= 0) {\r\n return ''\r\n }\r\n const h = Math.floor(data / 3600)\r\n const m = Math.floor((data % 3600) / 60)\r\n const s = Math.floor((data % 3600) % 60)\r\n let duration = ''\r\n let space = ''\r\n\r\n switch (type) {\r\n case 'time24':\r\n return this.defaultDuration(h, m, s)\r\n case 'hms':\r\n if (h > 0) {\r\n duration += type === 'hms' ? `${h}h` : `${h} hr`\r\n }\r\n if (m > 0) {\r\n if (h > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${m}m` : `${space}${m} min`\r\n }\r\n if (s > 0 && h === 0) {\r\n if (m > 0) {\r\n space = ' '\r\n }\r\n duration += type === 'hms' ? `${space}${s}s` : `${space}${s} sec`\r\n }\r\n return duration\r\n case 'hour':\r\n if (h === 0) {\r\n duration += 'less than an hour'\r\n }\r\n if (h === 1) {\r\n duration += `${h} hour`\r\n }\r\n if (h > 1) {\r\n duration += `${h} hours`\r\n }\r\n return duration\r\n default:\r\n return this.defaultDuration(h, m, s)\r\n }\r\n }\r\n\r\n defaultDuration(h: number, m: number, s: number) {\r\n let duration = ''\r\n duration += h > 0 ? `${h.toString().padStart(2)}:` : ''\r\n duration += m > 0 ? `${m.toString().padStart(2)}:` : '00:'\r\n duration += s > 0 ? s.toString().padStart(2) : '00'\r\n return duration\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeDurationTransformPipe } from './pipe-duration-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeDurationTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeDurationTransformPipe],\r\n})\r\nexport class PipeDurationTransformModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeHtmlTagRemoval',\r\n})\r\nexport class PipeHtmlTagRemovalPipe implements PipeTransform {\r\n\r\n transform(htmlString: string): string {\r\n return htmlString ? String(htmlString).replace(/<[^>]+>/gm, '') : ''\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeHtmlTagRemovalPipe } from './pipe-html-tag-removal.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeHtmlTagRemovalPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeHtmlTagRemovalPipe],\r\n})\r\nexport class PipeHtmlTagRemovalModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeFilter',\r\n})\r\nexport class PipeFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, keys: string, term: string): string {\r\n if (!term) {\r\n return value\r\n }\r\n return (value || []).filter((item: any) => keys.split(',')\r\n .some(key => item.hasOwnProperty(key) && new RegExp(`^${term}$`, 'gi').test(item[key])))\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeFilterPipe } from './pipe-filter.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeFilterPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeFilterPipe],\r\n})\r\nexport class PipeFilterModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeFilterSearch',\r\n})\r\nexport class PipeFilterSearchPipe implements PipeTransform {\r\n\r\n transform(items: any[], searchText: string, ...keys: any): any {\r\n if (!items) { return [] }\r\n if (!searchText) { return items }\r\n const searchTextLowerCase = searchText.toLowerCase()\r\n if (keys && keys.length) {\r\n const result = items.filter(it => {\r\n return it['personalDetails'][keys[0]].toLowerCase().includes(searchTextLowerCase)\r\n // keys.map((key: any) => {\r\n // console.log('key:', key)\r\n // console.log(`it['personalDetails'][key]`, it['personalDetails'][key])\r\n // return it['personalDetails'][key].toLowerCase().includes(searchTextLowerCase)\r\n // })\r\n })\r\n if (result && result.length <= 0) {\r\n return [-1]\r\n }\r\n return result\r\n }\r\n return items.filter(it => {\r\n return it.title.toLowerCase().includes(searchTextLowerCase)\r\n })\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeFilterSearchPipe } from './pipe-filter-search.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeFilterSearchPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeFilterSearchPipe],\r\n})\r\nexport class PipeFilterSearchModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeListFilter',\r\n})\r\nexport class PipeListFilterPipe implements PipeTransform {\r\n\r\n transform(value: any, keys: string, term: string): string {\r\n if (!term) {\r\n return value\r\n }\r\n return (value || []).filter((item: any) => keys.split(',')\r\n .some(key => item.hasOwnProperty(key)\r\n && item[key] && (`${item[key]} `).toLocaleLowerCase().includes(term.toLocaleLowerCase())))\r\n // new RegExp(`^${term}$`, 'gi').test(item[key])\r\n\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeListFilterPipe } from './pipe-list-filter.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeListFilterPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeListFilterPipe],\r\n})\r\nexport class PipeListFilterModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport * as _moment from 'moment'\r\nconst moment = _moment\r\n\r\n@Pipe({\r\n name: 'pipeRelativeTime',\r\n})\r\nexport class PipeRelativeTimePipe implements PipeTransform {\r\n transform(value: number): string {\r\n if (value) {\r\n return moment((new Date(value))).fromNow()\r\n }\r\n return moment().startOf('hour').fromNow()\r\n }\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeRelativeTimePipe } from './pipe-relative-time.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeRelativeTimePipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeRelativeTimePipe],\r\n})\r\nexport class PipeRelativeTimeModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { orderBy } from 'lodash'\r\n\r\n@Pipe({\r\n name: 'orderBy',\r\n})\r\n\r\nexport class OrderByPipe implements PipeTransform {\r\n transform = orderBy\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { OrderByPipe } from './pipe-order-by.pipe'\r\n\r\n@NgModule({\r\n declarations: [OrderByPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [OrderByPipe],\r\n})\r\nexport class PipeOrderByModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipeLimitTo',\r\n})\r\nexport class PipeLimitToPipe implements PipeTransform {\r\n\r\n transform(data: any, limit: number = 5): any {\r\n if (!data || !data.length) {\r\n return null\r\n }\r\n if (Array.isArray(data)) {\r\n return data.slice(0, limit)\r\n }\r\n if (typeof data === 'string') {\r\n const slicedString = data.substr(0, limit)\r\n if (limit < data.length) {\r\n return `${slicedString}...`\r\n }\r\n return slicedString\r\n }\r\n return null\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeLimitToPipe } from './pipe-limit-to.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeLimitToPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeLimitToPipe],\r\n})\r\nexport class PipeLimitToModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\ninterface IUserName {\r\n firstName: string\r\n lastName: string\r\n email: string\r\n}\r\n\r\n@Pipe({\r\n name: 'pipeNameTransform',\r\n})\r\nexport class PipeNameTransformPipe implements PipeTransform {\r\n\r\n transform(value: IUserName): string {\r\n let result = ''\r\n if (value.firstName) {\r\n result += value.firstName\r\n }\r\n if (value.lastName && value.lastName !== value.firstName) {\r\n result += ` ${value.lastName}`\r\n }\r\n if (result.trim() !== '') {\r\n return result\r\n }\r\n if (value.email) {\r\n return value.email\r\n }\r\n return 'Anonymous User'\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeNameTransformPipe } from './pipe-name-transform.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeNameTransformPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeNameTransformPipe],\r\n})\r\nexport class PipeNameTransformModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({\r\n name: 'pipePartialContent',\r\n})\r\nexport class PipePartialContentPipe implements PipeTransform {\r\n\r\n transform(value: any, keys: string[]): any {\r\n const result: { [key: string]: any } = {}\r\n for (const key of keys) {\r\n if (value[key]) {\r\n result[key] = value[key]\r\n }\r\n }\r\n return result\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipePartialContentPipe } from './pipe-partial-content.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipePartialContentPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipePartialContentPipe],\r\n})\r\nexport class PipePartialContentModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core'\r\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser'\r\n\r\n@Pipe({\r\n name: 'pipeSafeSanitizer',\r\n})\r\nexport class PipeSafeSanitizerPipe implements PipeTransform {\r\n\r\n constructor(protected sanitizer: DomSanitizer) { }\r\n public transform(\r\n value: string,\r\n type: string = 'html',\r\n ): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\r\n switch (type) {\r\n case 'html':\r\n return this.sanitizer.bypassSecurityTrustHtml(value)\r\n case 'style':\r\n return this.sanitizer.bypassSecurityTrustStyle(value)\r\n case 'script':\r\n return this.sanitizer.bypassSecurityTrustScript(value)\r\n case 'url':\r\n return this.sanitizer.bypassSecurityTrustUrl(value)\r\n case 'resourceUrl':\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(value)\r\n default:\r\n throw new Error(`Invalid safe type specified: ${type}`)\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core'\r\nimport { CommonModule } from '@angular/common'\r\nimport { PipeSafeSanitizerPipe } from './pipe-safe-sanitizer.pipe'\r\n\r\n@NgModule({\r\n declarations: [PipeSafeSanitizerPipe],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [PipeSafeSanitizerPipe],\r\n})\r\nexport class PipeSafeSanitizerModule { }\r\n","import { Injectable } from '@angular/core'\r\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'\r\nimport { Observable, of } from 'rxjs'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, catchError } from 'rxjs/operators'\r\nimport { UtilityService } from '../services/utility.service'\r\nimport { ConfigurationsService } from '../services/configurations.service'\r\nimport { IResolveResponse } from './resolver.model'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExploreDetailResolve\r\n implements\r\n Resolve<\r\n | Observable<IResolveResponse<any>>\r\n | IResolveResponse<any>\r\n > {\r\n private baseUrl = this.configSvc.sitePath\r\n isIntranetAllowedSettings = false\r\n constructor(\r\n private http: HttpClient,\r\n private configSvc: ConfigurationsService,\r\n private utilitySvc: UtilityService,\r\n ) { }\r\n\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n _state: RouterStateSnapshot,\r\n ): Observable<IResolveResponse<any>> {\r\n this.isIntranetAllowedSettings = this.configSvc.isIntranetAllowed\r\n const tag = decodeURIComponent(route.params.tags)\r\n let url = ''\r\n if (route.data.pageUrl) {\r\n url = route.data.pageUrl\r\n }\r\n if (route.data.pageType === 'page' && route.data.pageKey) {\r\n url = `${this.baseUrl}/page/${route.data.pageKey}.json`\r\n }\r\n return this.http.get(url).pipe(\r\n map(pageData => ({ data: this.transformPageData(pageData, tag), error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }\r\n\r\n private transformPageData(pageData: any, tag: string) {\r\n const DELIMITER = '>'\r\n const path = tag.split(DELIMITER)\r\n pageData.pageLayout.widgetData.widgets = pageData.pageLayout.widgetData.widgets.map((widget: any) => {\r\n if (pageData.navigationBar && pageData.navigationBar.links) {\r\n pageData.navigationBar.links = pageData.navigationBar.links\r\n .filter((link: any) => link.widgetData.tags === tag)\r\n }\r\n\r\n if (widget.widgetSubType === 'cardBreadcrumb') {\r\n widget.widgetData.path = [{\r\n text: pageData.navigationBar.pageTitle,\r\n clickUrl: pageData.navigationBar.pageBackLink,\r\n }].concat(path.map((edge: string, idx: number) => ({\r\n text: edge,\r\n clickUrl: `/page/explore/${path.slice(0, idx + 1).join(DELIMITER)}`,\r\n })))\r\n }\r\n\r\n if (widget.widgetSubType === 'contentStripMultiple') {\r\n widget.widgetData.strips = widget.widgetData.strips.map((strip: any) => {\r\n strip.request.searchV6.filters[0].andFilters.push({ catalogPaths: [tag] })\r\n if (this.utilitySvc.isMobile && !this.isIntranetAllowedSettings) {\r\n strip.request.searchV6.filters[0].andFilters.push({ isInIntranet: ['false'] })\r\n }\r\n return strip\r\n })\r\n if (widget.widgetData.noDataWidget && widget.widgetData.noDataWidget.widgetData.strips) {\r\n widget.widgetData.noDataWidget.widgetData.strips = widget.widgetData.noDataWidget.widgetData.strips.map((strip: any) => {\r\n strip.request.searchV6.filters[0].andFilters.push({ catalogPaths: [tag] })\r\n if (this.utilitySvc.isMobile && !this.isIntranetAllowedSettings) {\r\n strip.request.searchV6.filters[0].andFilters.push({ isInIntranet: ['false'] })\r\n }\r\n return strip\r\n })\r\n }\r\n\r\n }\r\n return widget\r\n })\r\n\r\n return pageData\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'\r\nimport { Observable, of } from 'rxjs'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { map, catchError } from 'rxjs/operators'\r\nimport { IResolveResponse } from './resolver.model'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MarketingOfferingResolve\r\n implements\r\n Resolve<\r\n | Observable<IResolveResponse<any>>\r\n | IResolveResponse<any>\r\n > {\r\n constructor(\r\n private http: HttpClient,\r\n ) { }\r\n\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n _state: RouterStateSnapshot,\r\n ): Observable<IResolveResponse<any>> {\r\n const tag = route.params.tag\r\n return this.http.get(route.data.pageUrl).pipe(\r\n map(pageData => ({ data: this.transformPageData(pageData, tag), error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }\r\n\r\n private transformPageData(pageData: any, tag: string) {\r\n pageData.pageLayout.widgetData.widgets = pageData.pageLayout.widgetData.widgets.map((widget: any) => {\r\n if (widget.widgetSubType === 'contentStripMultiple') {\r\n widget.widgetData.strips = widget.widgetData.strips.map((strip: any) => {\r\n strip.request.search.filters.catalogPaths = [decodeURIComponent(tag)]\r\n return strip\r\n })\r\n }\r\n\r\n return widget\r\n })\r\n\r\n return pageData\r\n }\r\n}\r\n","export const JSON_MAP: any = {\r\n pagename: 'lexid',\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Inject, Injectable, LOCALE_ID } from '@angular/core'\r\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router'\r\nimport { forkJoin, Observable, of } from 'rxjs'\r\nimport { catchError, map, mergeMap } from 'rxjs/operators'\r\nimport { ConfigurationsService } from '../services/configurations.service'\r\nimport { JSON_MAP } from './page.constant'\r\nimport { NsPage } from './page.model'\r\nimport { IResolveResponse } from './resolver.model'\r\nimport { NsContent } from '../services/widget-content.model'\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PageResolve implements Resolve<IResolveResponse<NsPage.IPage>> {\r\n private baseUrl = this.configSvc.sitePath\r\n constructor(\r\n private configSvc: ConfigurationsService,\r\n private http: HttpClient,\r\n @Inject(LOCALE_ID) private locale: string,\r\n ) { }\r\n resolve(\r\n route: ActivatedRouteSnapshot,\r\n ): Observable<IResolveResponse<NsPage.IPage>> | IResolveResponse<NsPage.IPage> {\r\n if (route.data.pageUrl) {\r\n return this.getData(route.data.pageUrl)\r\n }\r\n if (route.data.pageType === 'feature' && route.data.pageKey) {\r\n return this.getData(`${this.baseUrl}/feature/${route.data.pageKey}`)\r\n }\r\n if (\r\n route.data.pageType === 'page' &&\r\n route.data.pageKey &&\r\n route.paramMap.has(route.data.pageKey)\r\n ) {\r\n return this.getData(`${this.baseUrl}/page/${route.paramMap.get(route.data.pageKey)}`)\r\n }\r\n if (\r\n route.data.pageType === 'page' &&\r\n route.data.pageKey &&\r\n route.data.pageKey === 'toc'\r\n ) {\r\n return this.getData(`${this.baseUrl}/page/${route.data.pageKey}`)\r\n }\r\n return {\r\n data: null,\r\n error: 'CONFIGURATION_ERROR_PAGE_URL_NOT_FORMED',\r\n }\r\n }\r\n\r\n private setS3Cookie(contentId: string): Observable<any> {\r\n return this.http.post(`/apis/protected/v8/content/setCookie`, { contentId }).pipe(\r\n catchError(_err => of(true)),\r\n )\r\n }\r\n\r\n private getContent(id: string) {\r\n return this.http\r\n .post<NsContent.IContent>(\r\n `/apis/protected/v8/content/${id}?hierarchyType=minimal`,\r\n ['status', 'artifactUrl'],\r\n )\r\n }\r\n\r\n private getData(url: string) {\r\n const id = (url.split('/').pop() as string).split('.')[0] || ''\r\n const equivalentId = id.startsWith('lex_auth_') ? id : JSON_MAP[id]\r\n if (equivalentId) {\r\n return forkJoin([this.setS3Cookie(equivalentId), this.getContent(equivalentId)]).pipe(\r\n mergeMap(([_, v]) => {\r\n if (v.status === 'Expired' || v.status === 'Deleted' || !v.artifactUrl) {\r\n return of({ data: null, error: 'NoContent' })\r\n }\r\n return this.http\r\n .get<NsPage.IPage>(`${v.artifactUrl}?ts=${new Date().getTime()}`)\r\n .pipe(\r\n map(data => ({ data, error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }),\r\n catchError(err => of({ data: null, error: err })),\r\n )\r\n }\r\n const pageRequest = [\r\n (equivalentId ? this.setS3Cookie(equivalentId) : of(true)).pipe(\r\n mergeMap(() =>\r\n this.http.get<NsPage.IPage>(`${url}.json`).pipe(\r\n map(data => ({ data, error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n ),\r\n ),\r\n ),\r\n this.locale === 'en' || this.locale === 'en-US' ?\r\n of({ data: undefined as any, error: null }) :\r\n this.http.get<NsPage.IPage>(`${url}.${this.locale}.json`).pipe(\r\n map(data => ({ data, error: null })),\r\n catchError(err => of({ data: null, error: err })),\r\n ),\r\n ]\r\n return forkJoin(pageRequest).pipe(\r\n map(\r\n ([general, withLocale]): IResolveResponse<NsPage.IPage> => {\r\n if (withLocale.data) {\r\n return withLocale\r\n }\r\n return general\r\n },\r\n ),\r\n )\r\n }\r\n\r\n}\r\n","export namespace WsEvents {\r\n export interface IWsEventsFromWidget {\r\n type: 'widget'\r\n widgetType: string\r\n widgetSubType: string\r\n }\r\n export interface IWsEventsFromPage {\r\n type: 'page'\r\n pageUrl: string\r\n pageType: string\r\n }\r\n export enum WsEventType {\r\n Action = 'Action',\r\n Telemetry = 'Telemetry',\r\n PageNavigation = 'PageNavigation',\r\n AccessRestrictedContentAccessed = 'AccessRestrictedContentAccessed',\r\n PageSlow = 'PageSlow',\r\n ErrorOccurred = 'ErrorOccurred',\r\n WidgetResolveError = 'WidgetResolveError',\r\n }\r\n export enum WsEventLogLevel {\r\n Warn = 'Warn',\r\n Error = 'Error',\r\n Info = 'Info',\r\n Log = 'Log',\r\n Trace = 'Trace',\r\n }\r\n export enum WsAuditTypes {\r\n Created = 'Created',\r\n Updated = 'Updated',\r\n Deleted = 'Deleted',\r\n }\r\n export enum WsTimeSpentType {\r\n Page = 'Page',\r\n Player = 'Player',\r\n }\r\n export enum WsTimeSpentMode {\r\n Play = 'Play',\r\n View = 'View',\r\n }\r\n export enum externalTelemetrypdata {\r\n RBCP = 'rbcp-web-ui',\r\n }\r\n\r\n export interface IWsEvents<T> {\r\n eventType: WsEventType\r\n eventLogLevel: WsEventLogLevel\r\n from: IWsEventsFromWidget | IWsEventsFromPage | string\r\n to: string\r\n data: T\r\n passThroughData?: any,\r\n pageContext?: any\r\n }\r\n\r\n export enum EnumTelemetrySubType {\r\n Init = 'Init',\r\n Interact = 'Interact',\r\n Loaded = 'Loaded',\r\n Unloaded = 'Unloaded',\r\n StateChange = 'StateChange',\r\n HeartBeat = 'HeartBeat',\r\n Search = 'Search',\r\n Feedback = 'Feedback',\r\n Impression = 'Impression',\r\n }\r\n\r\n export interface ITelemetryPageContext {\r\n pageId?: string,\r\n module?: string,\r\n pageIdExt?: string\r\n }\r\n\r\n export interface ITelemetryEdata {\r\n type: string\r\n subType?: string\r\n id?: string\r\n pageid?: string\r\n }\r\n\r\n export interface ITelemetryTabData {\r\n label: string,\r\n index: number,\r\n }\r\n\r\n export interface IWsEventTelemetry {\r\n eventSubType: EnumTelemetrySubType\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n // PDF Telemetry Event\r\n export enum EnumTelemetryPdfActivity {\r\n PAGE_CHANGED = 'PAGE_CHANGED',\r\n FULLSCREEN_ACTIVATED = 'FULLSCREEN_ACTIVATED',\r\n FULLSCREEN_DEACTIVATED = 'FULLSCREEN_DEACTIVATED',\r\n ZOOM_CHANGE = 'ZOOM_CHANGE',\r\n NONE = 'NONE',\r\n }\r\n export interface IWsEventTelemetryPdfData extends IWsEventTelemetry {\r\n activityType: EnumTelemetryPdfActivity\r\n currentPage: number\r\n totalPage: number\r\n activityStartedAt: Date | null\r\n object?: any\r\n }\r\n export type WsEventTelemetryPDF = IWsEvents<IWsEventTelemetryPdfData>\r\n\r\n // Interact Telemetry Event\r\n export interface IWsEventTelemetryInteract extends IWsEventTelemetry {\r\n edata: ITelemetryEdata\r\n object: any\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n export interface IWsEventTelemetryFeedback extends IWsEventTelemetry {\r\n edata: ITelemetryEdata\r\n object: any\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n export interface IWsEventTelemetryImpression extends IWsEventTelemetry {\r\n edata?: ITelemetryEdata\r\n object?: any\r\n pageContext?: ITelemetryPageContext\r\n }\r\n\r\n export interface IWsEventTelemetrySearch extends IWsEventTelemetry {\r\n type: string\r\n subType?: string\r\n query?: string\r\n filters?: string\r\n size?: number\r\n locale?: any\r\n }\r\n export interface IWsEventTelemetryHeartBeat extends IWsEventTelemetry {\r\n type: string\r\n // subType?: string\r\n // mode: string\r\n id: string\r\n // mimeType: string\r\n }\r\n export type WsEventTelemetryInteract = IWsEvents<IWsEventTelemetryInteract>\r\n export type WsEventTelemetryFeedback = IWsEvents<IWsEventTelemetryFeedback>\r\n export type WsEventTelemetryImpression = IWsEvents<IWsEventTelemetryImpression>\r\n export type WsEventTelemetrySearch = IWsEvents<IWsEventTelemetrySearch>\r\n export type WsEventTelemetryHeartBeat = IWsEvents<IWsEventTelemetryHeartBeat>\r\n\r\n // Multimedia Telemetry Data\r\n export enum EnumTelemetryMediaActivity {\r\n PLAYED = 'PLAYED',\r\n PAUSED = 'PAUSED',\r\n SEEKED = 'SEEKED',\r\n ENDED = 'ENDED',\r\n VOLUME_CHANGE = 'VOLUME_CHANGE',\r\n MUTE = 'MUTE',\r\n UNMUTE = 'UNMUTE',\r\n PLAYBACK_SPEED_CHANGE = 'PLAYBACK_SPEED_CHANGE',\r\n FULLSCREEN_ACTIVATED = 'FULLSCREEN_ACTIVATED',\r\n FULLSCREEN_DEACTIVATED = 'FULLSCREEN_DEACTIVATED',\r\n PICTURE_IN_PICTURE_ACTIVATED = 'PICTURE_IN_PICTURE_ACTIVATED',\r\n PICTURE_IN_PICTURE_DEACTIVATED = 'PICTURE_IN_PICTURE_DEACTIVATED',\r\n NONE = 'NONE',\r\n }\r\n export enum EnumTelemetryMediaState {\r\n PLAYING = 'PLAYING',\r\n PAUSED = 'PAUSED',\r\n ENDED = 'ENDED',\r\n BUFFERING = 'BUFFERING',\r\n NOT_STARTED = 'NOT_STARTED',\r\n }\r\n export interface IWsEventTelemetryMediaData extends IWsEventTelemetry {\r\n currentState: EnumTelemetryMediaState\r\n activityType: EnumTelemetryMediaActivity\r\n currentTime: number | null\r\n totalTime: number | null\r\n maxedSeekedTime: number\r\n activityStartedAt?: Date | null\r\n }\r\n export type WsEventTelemetryMedia = IWsEvents<IWsEventTelemetryMediaData>\r\n\r\n export enum EnumTelemetrymodules {\r\n CONTENT = 'content',\r\n FEEDBACK = 'feedback',\r\n COURSE = 'course',\r\n PROGRAM = 'program',\r\n EXPLORE = 'explore',\r\n LEARN = 'learn',\r\n HOME = 'home',\r\n DASHBOARD = 'dashboard',\r\n SEARCH = 'search',\r\n DISCUSS = 'discuss',\r\n COMPETENCY = 'competency',\r\n EVENTS = 'events',\r\n CAREER = 'career',\r\n PROFILE = 'profile',\r\n NETWORK = 'network',\r\n SUPPORT = 'support',\r\n }\r\n export enum EnumInteractTypes {\r\n CLICK = 'click',\r\n }\r\n export enum EnumInteractSubTypes {\r\n COURSE_TAB = 'course-tab',\r\n CAREER_TAB = 'career-tab',\r\n NETWORK_TAB = 'network-tab',\r\n COMPETENCY_TAB = 'competency-tab',\r\n PROFILE_EDIT_TAB = 'profile-edit-tab',\r\n DISCUSS_TAB = 'discuss-tab',\r\n EVENTS_TAB = 'events-tab',\r\n SIDE_MENU = 'side-menu',\r\n HOME_PAGE_STRIP_TABS = 'home-page-strip-tabs',\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { Subject } from 'rxjs'\r\nimport { WsEvents } from './event.model'\r\nimport { UtilityService } from './utility.service'\r\n/* tslint:disable*/\r\nimport * as _ from 'lodash'\r\nimport * as _moment from 'moment'\r\nconst moment = _moment\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EventService {\r\n todaysEvents: any = []\r\n \r\n private eventsSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public events$ = this.eventsSubject.asObservable()\r\n\r\n private eventsChatbotSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public chatbotEvents$ = this.eventsChatbotSubject.asObservable()\r\n\r\n private eventsGetStartSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public getStartEvents$ = this.eventsGetStartSubject.asObservable()\r\n\r\n private eventsPRSubject = new Subject<WsEvents.IWsEvents<any>>()\r\n public getPREvents$ = this.eventsPRSubject.asObservable()\r\n environment: any\r\n\r\n\r\n constructor(\r\n private utilitySvc: UtilityService,\r\n @Inject('environment') environment: any,\r\n ) {\r\n this.environment = environment\r\n // this.focusChangeEventListener()\r\n }\r\n\r\n dispatchEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n event.pageContext = this.getContext(event.pageContext)\r\n this.eventsSubject.next(event)\r\n }\r\n\r\n dispatchChatbotEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n this.eventsChatbotSubject.next(event)\r\n }\r\n\r\n dispatchGetStartedEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n this.eventsGetStartSubject.next(event)\r\n }\r\n\r\n dispatchPlatformRatingEvent<T>(event: WsEvents.IWsEvents<T>) {\r\n this.eventsPRSubject.next(event)\r\n }\r\n\r\n\r\n\r\n // helper functions\r\n raiseInteractTelemetry(edata: WsEvents.ITelemetryEdata, object: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n this.dispatchEvent<WsEvents.IWsEventTelemetryInteract>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Info,\r\n data: {\r\n edata,\r\n object,\r\n pageContext: this.getContext(pageContext),\r\n eventSubType: WsEvents.EnumTelemetrySubType.Interact,\r\n },\r\n from: '',\r\n to: 'Telemetry',\r\n })\r\n }\r\n\r\n raiseFeedbackTelemetry(edata: WsEvents.ITelemetryEdata, object: any, from?: string) {\r\n this.dispatchEvent<WsEvents.IWsEventTelemetryInteract>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Info,\r\n data: {\r\n edata,\r\n object,\r\n eventSubType: WsEvents.EnumTelemetrySubType.Feedback,\r\n },\r\n from: from || '',\r\n to: 'Telemetry',\r\n })\r\n }\r\n\r\n // Raise custom impression events eg:on tab change\r\n raiseCustomImpression(object: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n this.dispatchEvent<WsEvents.IWsEventTelemetryImpression>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Info,\r\n data: {\r\n object,\r\n pageContext: this.getContext(pageContext),\r\n eventSubType: WsEvents.EnumTelemetrySubType.Impression,\r\n },\r\n from: '',\r\n to: 'Telemetry',\r\n })\r\n }\r\n\r\n // private focusChangeEventListener() {\r\n // fromEvent(window, 'focus').subscribe(() => {\r\n // this.raiseInteractTelemetry('focus', 'gained', {})\r\n // })\r\n // fromEvent(window, 'blur').subscribe(() => {\r\n // this.raiseInteractTelemetry('focus', 'lost', {})\r\n // })\r\n // }\r\n\r\n // Method to get the context information about the telemetry interact event\r\n private getContext(pageContext: WsEvents.ITelemetryPageContext | undefined): WsEvents.ITelemetryPageContext {\r\n const routeDataContext = this.utilitySvc.routeData\r\n // initialize with the route data configuration - current route's pageID & module\r\n const finalContext: WsEvents.ITelemetryPageContext = {\r\n pageId: routeDataContext.pageId,\r\n module: routeDataContext.module,\r\n }\r\n if (pageContext) {\r\n // if context has pageIdExt, append it to the route's pageId\r\n if (pageContext.pageIdExt) {\r\n finalContext.pageId = `${routeDataContext.pageId}_${pageContext.pageIdExt}`\r\n } else if (pageContext.pageId) {\r\n // else context has pageId, override it to the final pageID\r\n finalContext.pageId = pageContext.pageId\r\n }\r\n // if context has module, override it to the final module\r\n if (pageContext.module) {\r\n finalContext.module = pageContext.module\r\n }\r\n }\r\n\r\n return finalContext\r\n }\r\n\r\n public handleTabTelemetry(subType: string, data: WsEvents.ITelemetryTabData, object?:any) {\r\n // raise a tab click interact event\r\n this.raiseInteractTelemetry(\r\n {\r\n subType,\r\n type: WsEvents.EnumInteractTypes.CLICK,\r\n id: `${_.camelCase(data.label)}-tab`,\r\n },\r\n {\r\n // context: {\r\n // position: data.index,\r\n // },\r\n ...object\r\n },\r\n {\r\n pageIdExt: `${_.camelCase(data.label)}-tab`,\r\n })\r\n\r\n // raise a tab click impression event\r\n this.raiseCustomImpression({\r\n context: {\r\n position: data.index,\r\n },\r\n ...object\r\n },{\r\n pageIdExt: `${_.camelCase(data.label)}-tab`,\r\n })\r\n }\r\n\r\n getPublicUrl(url: string): string {\r\n const mainUrl = url.split('/content').pop() || ''\r\n return `${this.environment.contentHost}/${this.environment.contentBucket}/content${mainUrl}`\r\n }\r\n\r\n allEventDateFormat(datetime: any) {\r\n const date = new Date(datetime).getDate()\r\n const year = new Date(datetime).getFullYear()\r\n const month = new Date(datetime).getMonth()\r\n const hours = new Date(datetime).getHours()\r\n const minutes = new Date(datetime).getMinutes()\r\n const seconds = new Date(datetime).getSeconds()\r\n const formatedDate = new Date(year, month, date, hours, minutes, seconds, 0)\r\n // let format = 'YYYY-MM-DD hh:mm a'\r\n // if (!timeAllow) {\r\n const format = 'YYYY-MM-DD'\r\n // }\r\n const readableDateMonth = moment(formatedDate).format(format)\r\n const finalDateTimeValue = `${readableDateMonth}`\r\n return finalDateTimeValue\r\n }\r\n\r\n compareDate(startDate: any) {\r\n const now = new Date()\r\n\r\n // tslint:disable-next-line:prefer-template\r\n const day = ('0' + (new Date().getDate())).slice(-2)\r\n const year = new Date().getFullYear()\r\n // tslint:disable-next-line:prefer-template\r\n const month = ('0' + (now.getMonth() + 1)).slice(-2)\r\n const todaysdate = `${year}-${month}-${day}`\r\n if (startDate === todaysdate) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n customDateFormat(date: any, time: any) {\r\n const stime = time.split('+')[0]\r\n const hour = stime.substr(0, 2)\r\n const min = stime.substr(2, 3)\r\n return `${date} ${hour}${min}`\r\n }\r\n\r\n\r\n setEventListData(eventObj: any) {\r\n if (eventObj !== undefined) {\r\n this.todaysEvents = []\r\n const data = eventObj\r\n // console.log('strip comp', data)\r\n Object.keys(data).forEach((index: any) => {\r\n const obj = data[index]\r\n const floor = Math.floor\r\n const hours = floor(obj.duration / 60)\r\n const minutes = obj.duration % 60\r\n const duration = (hours === 0) ? ((minutes === 0) ? '---' : `${minutes} minutes`) : (minutes === 0) ? (hours === 1) ?\r\n `${hours} hour` : `${hours} hours` : (hours === 1) ? `${hours} hour ${minutes} minutes` :\r\n `${hours} hours ${minutes} minutes`\r\n const creatordata = obj.creatorDetails !== undefined ? obj.creatorDetails : []\r\n const str = creatordata && creatordata.length > 0 ? creatordata.replace(/\\\\/g, '') : []\r\n const creatorDetails = str && str.length > 0 ? JSON.parse(str) : creatordata\r\n\r\n const stime = obj.startTime.split('+')[0]\r\n const hour = stime.substr(0, 2)\r\n const min = stime.substr(2, 3)\r\n const starttime = `${hour}${min}`\r\n\r\n const etime = obj.endTime.split('+')[0]\r\n const ehour = etime.substr(0, 2)\r\n const emin = etime.substr(2, 3)\r\n const endtime = `${ehour}${emin}`\r\n\r\n const eventDataObj = {\r\n event: obj,\r\n eventName: obj.name,\r\n eventStartTime: starttime,\r\n eventEndTime: endtime,\r\n eventStartDate: obj.startDate,\r\n eventCreatedOn: this.allEventDateFormat(obj.createdOn),\r\n eventDuration: duration,\r\n eventjoined: creatorDetails.length,\r\n eventThumbnail: obj.appIcon && (obj.appIcon !== null || obj.appIcon !== undefined) ?\r\n this.getPublicUrl(obj.appIcon) :\r\n '/assets/icons/Events_default.png',\r\n pastevent: false,\r\n }\r\n const isToday = this.compareDate(obj.startDate)\r\n if (isToday) {\r\n this.todaysEvents.push(eventDataObj)\r\n }\r\n })\r\n }\r\n}\r\n}\r\n","import { HttpClient } from '@angular/common/http'\r\nimport { Injectable } from '@angular/core'\r\nimport { Observable, of } from 'rxjs'\r\nimport { catchError, retry } from 'rxjs/operators'\r\nimport { IContentRating } from '../models/contentRating.model'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { NsContentStripMultiple } from './content-strip-multiple.model'\r\nimport { NsContent } from './widget-content.model'\r\nimport { NSSearch } from './widget-search.model'\r\n\r\n// TODO: move this in some common place\r\nconst PROTECTED_SLAG_V8 = '/apis/protected/v8'\r\n\r\nconst API_END_POINTS = {\r\n CONTENT: `${PROTECTED_SLAG_V8}/content`,\r\n AUTHORING_CONTENT: `/apis/authApi/hierarchy`,\r\n CONTENT_LIKES: `${PROTECTED_SLAG_V8}/content/likeCount`,\r\n SET_S3_COOKIE: `${PROTECTED_SLAG_V8}/content/setCookie`,\r\n SET_S3_IMAGE_COOKIE: `${PROTECTED_SLAG_V8}/content/setImageCookie`,\r\n FETCH_MANIFEST: `${PROTECTED_SLAG_V8}/content/getWebModuleManifest`,\r\n FETCH_WEB_MODULE_FILES: `${PROTECTED_SLAG_V8}/content/getWebModuleFiles`,\r\n MULTIPLE_CONTENT: `${PROTECTED_SLAG_V8}/content/multiple`,\r\n CONTENT_SEARCH_V5: `${PROTECTED_SLAG_V8}/content/searchV5`,\r\n CONTENT_SEARCH_V6: `${PROTECTED_SLAG_V8}/content/searchV6`,\r\n CONTENT_SEARCH_REGION_RECOMMENDATION: `${PROTECTED_SLAG_V8}/content/searchRegionRecommendation`,\r\n CONTENT_HISTORY: `${PROTECTED_SLAG_V8}/user/history`,\r\n USER_CONTINUE_LEARNING: `${PROTECTED_SLAG_V8}/user/history/continue`,\r\n CONTENT_RATING: `${PROTECTED_SLAG_V8}/user/rating`,\r\n CONTENT_RATING_V2: `${PROTECTED_SLAG_V8}/user/rating/content/average-ratingInfo`,\r\n COLLECTION_HIERARCHY: (type: string, id: string) =>\r\n `${PROTECTED_SLAG_V8}/content/collection/${type}/${id}`,\r\n REGISTRATION_STATUS: `${PROTECTED_SLAG_V8}/admin/userRegistration/checkUserRegistrationContent`,\r\n MARK_AS_COMPLETE_META: (contentId: string) => `${PROTECTED_SLAG_V8}/user/progress/${contentId}`,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class WidgetContentService {\r\n constructor(\r\n private http: HttpClient,\r\n private configSvc: ConfigurationsService\r\n ) { }\r\n\r\n fetchMarkAsCompleteMeta(identifier: string): Promise<any> {\r\n const url = API_END_POINTS.MARK_AS_COMPLETE_META(identifier)\r\n return this.http.get(url).toPromise()\r\n }\r\n\r\n fetchContent(\r\n contentId: string,\r\n hierarchyType: 'all' | 'minimal' | 'detail' = 'detail',\r\n additionalFields: string[] = [],\r\n ): Observable<NsContent.IContent> {\r\n const url = `${API_END_POINTS.CONTENT}/${contentId}?hierarchyType=${hierarchyType}`\r\n return this.http\r\n .post<NsContent.IContent>(url, { additionalFields })\r\n .pipe(retry(1))\r\n }\r\n fetchAuthoringContent(contentId: string): Observable<NsContent.IContent> {\r\n const url = `${API_END_POINTS.AUTHORING_CONTENT}/${contentId}`\r\n return this.http.get<NsContent.IContent>(url).pipe(retry(1))\r\n }\r\n fetchMultipleContent(ids: string[]): Observable<NsContent.IContent[]> {\r\n return this.http.get<NsContent.IContent[]>(\r\n `${API_END_POINTS.MULTIPLE_CONTENT}/${ids.join(',')}`,\r\n )\r\n }\r\n fetchCollectionHierarchy(type: string, id: string, pageNumber: number = 0, pageSize: number = 1) {\r\n return this.http.get<NsContent.ICollectionHierarchyResponse>(\r\n `${API_END_POINTS.COLLECTION_HIERARCHY(\r\n type,\r\n id,\r\n )}?pageNumber=${pageNumber}&pageSize=${pageSize}`,\r\n )\r\n }\r\n\r\n fetchContentLikes(contentIds: { content_id: string[] }) {\r\n return this.http\r\n .post<{ [identifier: string]: number }>(API_END_POINTS.CONTENT_LIKES, contentIds)\r\n .toPromise()\r\n }\r\n fetchContentRatings(contentIds: { contentIds: string[] }) {\r\n return this.http\r\n .post(`${API_END_POINTS.CONTENT_RATING}/rating`, contentIds)\r\n .toPromise()\r\n }\r\n\r\n fetchContentRatingsV2(contentId: string) {\r\n return this.http\r\n .get<IContentRating>(`${API_END_POINTS.CONTENT_RATING_V2}/${contentId}`)\r\n }\r\n\r\n fetchContentHistory(contentId: string): Observable<NsContent.IContinueLearningData> {\r\n return this.http.get<NsContent.IContinueLearningData>(\r\n `${API_END_POINTS.CONTENT_HISTORY}/${contentId}`,\r\n )\r\n }\r\n\r\n async continueLearning(id: string, collectionId?: string, collectionType?: string): Promise<any> {\r\n return new Promise(async resolve => {\r\n if (collectionType &&\r\n collectionType.toLowerCase() === 'playlist') {\r\n const reqBody = {\r\n contextPathId: collectionId ? collectionId : id,\r\n resourceId: id,\r\n data: JSON.stringify({\r\n timestamp: Date.now(),\r\n contextFullPath: [collectionId, id],\r\n }),\r\n dateAccessed: Date.now(),\r\n contextType: 'playlist',\r\n }\r\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\r\n resolve(true)\r\n }\r\n )\r\n } else {\r\n const reqBody = {\r\n contextPathId: collectionId ? collectionId : id,\r\n resourceId: id,\r\n data: JSON.stringify({ timestamp: Date.now() }),\r\n dateAccessed: Date.now(),\r\n }\r\n await this.saveContinueLearning(reqBody).toPromise().catch().finally(() => {\r\n resolve(true)\r\n })\r\n }\r\n })\r\n }\r\n saveContinueLearning(content: NsContent.IViewerContinueLearningRequest): Observable<any> {\r\n const url = API_END_POINTS.USER_CONTINUE_LEARNING\r\n return this.http.post<any>(url, content)\r\n }\r\n\r\n setS3Cookie(\r\n contentId: string,\r\n // _path: string,\r\n ): Observable<any> {\r\n return this.http\r\n .post(API_END_POINTS.SET_S3_COOKIE, { contentId })\r\n .pipe(catchError(_err => of(true)))\r\n }\r\n\r\n setS3ImageCookie(): Observable<any> {\r\n return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError(_err => of(true)))\r\n }\r\n\r\n fetchManifest(url: string): Observable<any> {\r\n return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url })\r\n }\r\n fetchWebModuleContent(url: string): Observable<any> {\r\n return this.http.get(`${API_END_POINTS.FETCH_WEB_MODULE_FILES}?url=${encodeURIComponent(url)}`)\r\n }\r\n search(req: NSSearch.ISearchRequest): Observable<NSSearch.ISearchApiResult> {\r\n req.query = req.query || ''\r\n return this.http.post<NSSearch.ISearchApiResult>(API_END_POINTS.CONTENT_SEARCH_V5, {\r\n request: req,\r\n })\r\n }\r\n searchRegionRecommendation(\r\n req: NSSearch.ISearchOrgRegionRecommendationRequest,\r\n ): Observable<NsContentStripMultiple.IContentStripResponseApi> {\r\n req.query = req.query || ''\r\n req.preLabelValue =\r\n (req.preLabelValue || '') +\r\n ((this.configSvc.userProfile && this.configSvc.userProfile.country) || '')\r\n req.filters = {\r\n ...req.filters,\r\n labels: [req.preLabelValue || ''],\r\n }\r\n return this.http.post<NsContentStripMultiple.IContentStripResponseApi>(\r\n API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION,\r\n { request: req },\r\n )\r\n }\r\n searchV6(req: NSSearch.ISearchV6Request): Observable<NSSearch.ISearchV6ApiResult> {\r\n req.query = req.query || ''\r\n return this.http.post<NSSearch.ISearchV6ApiResult>(API_END_POINTS.CONTENT_SEARCH_V6, req)\r\n }\r\n\r\n fetchContentRating(contentId: string): Observable<{ rating: number }> {\r\n return this.http.get<{ rating: number }>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`)\r\n }\r\n deleteContentRating(contentId: string): Observable<any> {\r\n return this.http.delete(`${API_END_POINTS.CONTENT_RATING}/${contentId}`)\r\n }\r\n addContentRating(contentId: string, data: { rating: number }): Observable<any> {\r\n return this.http.post<any>(`${API_END_POINTS.CONTENT_RATING}/${contentId}`, data)\r\n }\r\n\r\n getFirstChildInHierarchy(content: NsContent.IContent): NsContent.IContent {\r\n if (!(content.children || []).length) {\r\n return content\r\n }\r\n if (\r\n content.contentType === 'Learning Path' &&\r\n !(content.artifactUrl && content.artifactUrl.length)\r\n ) {\r\n const child = content.children[0]\r\n return this.getFirstChildInHierarchy(child)\r\n }\r\n if (\r\n content.contentType === 'Resource' ||\r\n content.contentType === 'Knowledge Artifact' ||\r\n content.contentType === 'Learning Path'\r\n ) {\r\n return content\r\n }\r\n const firstChild = content.children[0]\r\n const resultContent = this.getFirstChildInHierarchy(firstChild)\r\n return resultContent\r\n }\r\n\r\n getRegistrationStatus(source: string): Promise<{ hasAccess: boolean; registrationUrl?: string }> {\r\n return this.http.get<any>(`${API_END_POINTS.REGISTRATION_STATUS}/${source}`).toPromise()\r\n }\r\n\r\n fetchConfig(url: string) {\r\n return this.http.get<any>(url)\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core'\r\nimport { filter } from 'rxjs/operators'\r\n// import { AuthKeycloakService } from './auth-keycloak.service'\r\nimport { NsInstanceConfig } from './configurations.model'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { WsEvents } from './event.model'\r\nimport { EventService } from './event.service'\r\nimport { LoggerService } from './logger.service'\r\nimport { NsContent } from './widget-content.model'\r\n\r\ndeclare var $t: any\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TelemetryService {\r\n previousUrl: string | null = null\r\n telemetryConfig: NsInstanceConfig.ITelemetryConfig | null = null\r\n pData: any = null\r\n contextCdata = []\r\n environment: any\r\n\r\n externalApps: any = {\r\n RBCP: 'rbcp-web-ui',\r\n }\r\n constructor(\r\n @Inject('environment') environment: any,\r\n private configSvc: ConfigurationsService,\r\n private eventsSvc: EventService,\r\n // private authSvc: AuthKeycloakService,\r\n private logger: LoggerService,\r\n ) {\r\n this.environment = environment\r\n const instanceConfig = this.configSvc.instanceConfig\r\n if (instanceConfig) {\r\n this.telemetryConfig = instanceConfig.telemetryConfig\r\n this.telemetryConfig = {\r\n ...this.telemetryConfig,\r\n pdata: {\r\n ...this.telemetryConfig.pdata,\r\n // pid: navigator.userAgent,\r\n id: `${environment.name}.${this.telemetryConfig.pdata.id}`,\r\n },\r\n uid: this.configSvc.userProfile && this.configSvc.userProfile.userId,\r\n // authtoken: this.authSvc.token,\r\n // tslint:disable-next-line: no-non-null-assertion\r\n channel: this.rootOrgId || this.telemetryConfig.channel,\r\n sid: this.getTelemetrySessionId,\r\n }\r\n this.pData = this.telemetryConfig.pdata\r\n this.addPlayerListener()\r\n this.addCustomEventListener()\r\n this.addInteractListener()\r\n this.addFeedbackListener()\r\n this.addTimeSpentListener()\r\n this.addSearchListener()\r\n this.addHearbeatListener()\r\n this.addCustomImpressionListener()\r\n }\r\n }\r\n\r\n get getTelemetrySessionId(): string {\r\n return localStorage.getItem('telemetrySessionId') || ''\r\n }\r\n\r\n get rootOrgId(): string {\r\n if (this.configSvc && this.configSvc.userProfile && this.configSvc.userProfile.rootOrgId) {\r\n return this.configSvc.userProfile.rootOrgId\r\n }\r\n return ''\r\n }\r\n\r\n start(edata: any, data: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n try {\r\n if (this.telemetryConfig) {\r\n $t.start(\r\n this.telemetryConfig,\r\n (pageContext && pageContext.pageId) ?\r\n pageContext.pageId\r\n : '',\r\n '1.0',\r\n {\r\n // id,\r\n type: edata.type,\r\n mode: edata.mode,\r\n pageid: (pageContext && pageContext.pageId) ?\r\n pageContext.pageId\r\n : '',\r\n duration: 1,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n ...(pageContext && pageContext.module ? { env: pageContext.module } : null),\r\n },\r\n object: {\r\n ...(data) && data,\r\n },\r\n }\r\n )\r\n } else {\r\n this.logger.error('Error Initializing Telemetry. Config missing.')\r\n }\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry start', e)\r\n }\r\n }\r\n\r\n end(edata: any, data: any, pageContext?: WsEvents.ITelemetryPageContext) {\r\n try {\r\n $t.end(\r\n {\r\n type: edata.type,\r\n mode: edata.mode,\r\n pageid: (pageContext && pageContext.pageId) ?\r\n pageContext.pageId\r\n : '',\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n ...(pageContext && pageContext.module ? { env: pageContext.module } : null),\r\n },\r\n object: {\r\n ...(data) && data,\r\n },\r\n },\r\n )\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry end', e)\r\n }\r\n }\r\n\r\n audit(type: string, props: string, data: any) {\r\n try {\r\n $t.audit(\r\n {\r\n type,\r\n props,\r\n // data,\r\n state: data, // Optional. Current State\r\n prevstate: '', // Optional. Previous State\r\n duration: '', // Optional.\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n },\r\n )\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry audit', e)\r\n }\r\n }\r\n\r\n heartbeat(type: string, id: string) {\r\n try {\r\n $t.heartbeat({\r\n id,\r\n // mode,\r\n type,\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry heartbeat', e)\r\n }\r\n }\r\n\r\n impression(data?: any) {\r\n try {\r\n const page = this.getPageDetails()\r\n if (data && data.pageContext) {\r\n // page.pageid = data.pageContext.pageId\r\n page.module = data.pageContext.module\r\n }\r\n const edata = {\r\n pageid: page.pageid, // Required. Unique page id\r\n type: page.pageUrlParts[0], // Required. Impression type (list, detail, view, edit, workflow, search)\r\n uri: page.pageUrl,\r\n }\r\n if (page.objectId) {\r\n const config = {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n env: page.module || (this.telemetryConfig && this.telemetryConfig.env),\r\n },\r\n object: {\r\n id: page.objectId,\r\n // This will override above id if the data has object in it.\r\n ...((data) ? data.object : {}),\r\n },\r\n }\r\n $t.impression(edata, config)\r\n } else {\r\n $t.impression(edata, {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n env: page.module || '',\r\n },\r\n object: {\r\n ...((data) ? data.object : {}),\r\n },\r\n })\r\n }\r\n this.previousUrl = page.pageUrl\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry impression', e)\r\n }\r\n }\r\n\r\n externalImpression(impressionData: any) {\r\n try {\r\n const page = this.getPageDetails()\r\n if (this.externalApps[impressionData.subApplicationName]) {\r\n const externalConfig = page.objectId ? {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[impressionData.subApplicationName],\r\n },\r\n },\r\n object: {\r\n id: page.objectId,\r\n },\r\n } : {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[impressionData.subApplicationName],\r\n },\r\n },\r\n }\r\n $t.impression(impressionData.data, externalConfig)\r\n }\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry externalImpression', e)\r\n }\r\n }\r\n\r\n addCustomImpressionListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryImpression) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Impression,\r\n ),\r\n )\r\n .subscribe(event => {\r\n try {\r\n // console.log('event.data::', event.data)\r\n this.impression(event.data)\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry impression', e)\r\n }\r\n })\r\n }\r\n\r\n addTimeSpentListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n event =>\r\n event &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.type === WsEvents.WsTimeSpentType.Page &&\r\n event.data.mode &&\r\n event.data,\r\n ),\r\n )\r\n .subscribe(event => {\r\n if (event.data.state === WsEvents.EnumTelemetrySubType.Loaded) {\r\n this.start(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n {},\r\n event.pageContext\r\n )\r\n }\r\n if (event.data.state === WsEvents.EnumTelemetrySubType.Unloaded) {\r\n this.end({\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n {},\r\n event.pageContext\r\n )\r\n }\r\n })\r\n }\r\n\r\n addCustomEventListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n event =>\r\n event &&\r\n event.eventType === WsEvents.WsEventType.Telemetry\r\n ),\r\n )\r\n .subscribe(event => {\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Loaded &&\r\n event.data.type !== WsEvents.WsTimeSpentType.Player\r\n ) {\r\n this.start(\r\n {\r\n type: event.data.type,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n )\r\n }\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Unloaded &&\r\n event.data.type !== WsEvents.WsTimeSpentType.Player\r\n ) {\r\n this.end(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n )\r\n }\r\n })\r\n }\r\n addPlayerListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n event =>\r\n event &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.type === WsEvents.WsTimeSpentType.Player &&\r\n event.data.mode &&\r\n event.data,\r\n ),\r\n )\r\n .subscribe(event => {\r\n const content: NsContent.IContent | null = event.data.content\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Loaded &&\r\n (!content ||\r\n (content.isIframeSupported || '').toLowerCase() === 'maybe' ||\r\n (content.isIframeSupported || '').toLowerCase() === 'yes' ||\r\n (content.mimeType === 'application/pdf' || 'application/json'))\r\n ) {\r\n this.start(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n\r\n )\r\n }\r\n if (\r\n event.data.state === WsEvents.EnumTelemetrySubType.Unloaded &&\r\n (!content ||\r\n (content.isIframeSupported || '').toLowerCase() === 'maybe' ||\r\n (content.isIframeSupported || '').toLowerCase() === 'yes' ||\r\n (content.mimeType === 'application/pdf' || 'application/json'))\r\n ) {\r\n this.end(\r\n {\r\n type: event.data.type || WsEvents.WsTimeSpentType.Player,\r\n mode: event.data.mode || WsEvents.WsTimeSpentMode.Play,\r\n },\r\n event.data.object,\r\n event.pageContext\r\n )\r\n }\r\n })\r\n }\r\n\r\n addInteractListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryInteract) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Interact,\r\n ),\r\n )\r\n .subscribe(event => {\r\n const page = this.getPageDetails()\r\n if (typeof event.from === 'string' && this.externalApps[event.from]) {\r\n const externalConfig = {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[event.from],\r\n },\r\n },\r\n }\r\n try {\r\n $t.interact(event.data, externalConfig)\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry interact', e)\r\n }\r\n } else {\r\n // let interactid\r\n // if (event.data.edata.type === 'goal') {\r\n // interactid = page.pageUrlParts[4]\r\n // }\r\n try {\r\n $t.interact(\r\n {\r\n type: event.data.edata.type,\r\n subtype: event.data.edata.subType,\r\n // object: event.data.object,\r\n id: (event.data.edata && event.data.edata.id) ?\r\n event.data.edata.id\r\n : '',\r\n pageid: event.data.pageContext && event.data.pageContext.pageId || page.pageid,\r\n // target: { page },\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n ...(event.data.pageContext && event.data.pageContext.module ? { env: event.data.pageContext.module } : null),\r\n },\r\n object: {\r\n ...event.data.object,\r\n },\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry interact', e)\r\n }\r\n }\r\n })\r\n }\r\n\r\n addFeedbackListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryFeedback) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Feedback,\r\n ),\r\n )\r\n .subscribe(event => {\r\n const page = this.getPageDetails()\r\n try {\r\n $t.feedback(\r\n {\r\n rating: event.data.object.rating || 0,\r\n commentid: event.data.object.commentid || '',\r\n commenttxt: event.data.object.commenttxt || '',\r\n pageid: page.pageid,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n object: {\r\n id: event.data.object.contentId || event.data.object.id || '',\r\n type: event.data.edata.type || '',\r\n ver: `${(event.data.object.version || '1')}${''}`,\r\n rollup: {},\r\n },\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry interact', e)\r\n }\r\n })\r\n }\r\n\r\n addHearbeatListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetryHeartBeat) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.HeartBeat,\r\n ),\r\n )\r\n .subscribe(event => {\r\n if (typeof event.from === 'string' && this.externalApps[event.from]) {\r\n const externalConfig = {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.externalApps[event.from],\r\n },\r\n },\r\n }\r\n try {\r\n $t.heartbeat(event.data, externalConfig)\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry heartbeat', e)\r\n }\r\n } else {\r\n try {\r\n $t.heartbeat(\r\n {\r\n type: event.data.type,\r\n // subtype: event.data.eventSubType,\r\n id: event.data.id,\r\n // mimeType: event.data.mimeType,\r\n // mode: event.data.mode,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n })\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry heartbeat', e)\r\n }\r\n }\r\n })\r\n }\r\n\r\n addSearchListener() {\r\n this.eventsSvc.events$\r\n .pipe(\r\n filter(\r\n (event: WsEvents.WsEventTelemetrySearch) =>\r\n event &&\r\n event.data &&\r\n event.eventType === WsEvents.WsEventType.Telemetry &&\r\n event.data.eventSubType === WsEvents.EnumTelemetrySubType.Search,\r\n ),\r\n )\r\n .subscribe(event => {\r\n try {\r\n $t.search(\r\n {\r\n query: event.data.query,\r\n filters: event.data.filters,\r\n size: event.data.size,\r\n },\r\n {\r\n context: {\r\n pdata: {\r\n ...this.pData,\r\n id: this.pData.id,\r\n },\r\n },\r\n },\r\n )\r\n } catch (e) {\r\n // tslint:disable-next-line: no-console\r\n console.log('Error in telemetry search', e)\r\n }\r\n })\r\n }\r\n\r\n getPageDetails() {\r\n const path = window.location.pathname.replace('/', '')\r\n const url = path + window.location.search\r\n return {\r\n pageid: path,\r\n pageUrl: url,\r\n pageUrlParts: path.split('/'),\r\n refferUrl: this.previousUrl,\r\n objectId: this.extractContentIdFromUrlParts(path.split('/')),\r\n module: '',\r\n }\r\n }\r\n\r\n extractContentIdFromUrlParts(urlParts: string[]) {\r\n // TODO: pick toc and viewer url from some configuration\r\n const tocIdx = urlParts.indexOf('toc')\r\n const viewerIdx = urlParts.indexOf('viewer')\r\n\r\n if (tocIdx === -1 && viewerIdx === -1) {\r\n return null\r\n }\r\n\r\n if (tocIdx !== -1 && tocIdx < urlParts.length - 1) {\r\n return urlParts[tocIdx + 1] // e.g. url /app/toc/<content_id>\r\n }\r\n\r\n if (viewerIdx !== -1 && viewerIdx < urlParts.length - 2) {\r\n return urlParts[viewerIdx + 2] // e.g. url /app/viewer/<content_type>/<content_id>\r\n }\r\n\r\n return null\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { ActivatedRoute, Router } from '@angular/router'\r\nimport { WidgetContentService } from './widget-content.service'\r\nimport { AuthKeycloakService } from './auth-keycloak.service'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { WsEvents } from './event.model'\r\nimport { EventService } from './event.service'\r\nimport { TelemetryService } from './telemetry.service'\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubapplicationRespondService {\r\n subAppname = ''\r\n continueLearningData: any = null\r\n contentWindowinfo: any\r\n loaded = false\r\n constructor(\r\n private configSvc: ConfigurationsService,\r\n private contentSvc: WidgetContentService,\r\n private keyCloakSvc: AuthKeycloakService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private eventSvc: EventService,\r\n private teleSvc: TelemetryService,\r\n ) {\r\n this.changeContextrespond()\r\n this.configSvc.prefChangeNotifier.subscribe(() => {\r\n this.changeContextrespond()\r\n })\r\n }\r\n loadedRespond(contentWindow: any, applicationName: string, id?: string) {\r\n if (id && this.activatedRoute.snapshot.queryParams.viewMode && this.activatedRoute.snapshot.queryParams.viewMode === 'RESUME') {\r\n this.continueLearningData = null\r\n this.contentSvc.fetchContentHistory(id).subscribe(\r\n data => {\r\n this.continueLearningData = data.continueData\r\n if (this.configSvc && this.configSvc.userProfile) {\r\n const firstName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[0] : ''\r\n const lastName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[1] : ''\r\n const viewMode: string = this.activatedRoute.snapshot.queryParams.viewMode ?\r\n this.activatedRoute.snapshot.queryParams.viewMode : ''\r\n const token = this.keyCloakSvc.token\r\n const response = {\r\n subApplicationName: applicationName,\r\n requestId: 'LOADED',\r\n parentContext: {\r\n domainName: window.location.host,\r\n url: this.router.url,\r\n rootOrg: this.configSvc.rootOrg,\r\n theme: this.configSvc.activeThemeObject ? {\r\n name: this.configSvc.activeThemeObject.themeName,\r\n ...this.configSvc.activeThemeObject.color,\r\n } : '',\r\n fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',\r\n locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',\r\n darkMode: this.configSvc.isDarkMode,\r\n subApplicationStartMode: viewMode.toUpperCase(),\r\n user: {\r\n firstName,\r\n lastName,\r\n token,\r\n userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',\r\n roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],\r\n },\r\n heartbeatFrequency: '200',\r\n },\r\n data: this.continueLearningData.data ? {\r\n continueLearning: this.continueLearningData.data,\r\n } : null,\r\n }\r\n contentWindow.postMessage(response, '*')\r\n this.contentWindowinfo = contentWindow\r\n this.loaded = true\r\n this.subAppname = applicationName\r\n }\r\n })\r\n } else {\r\n if (this.configSvc && this.configSvc.userProfile) {\r\n const firstName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[0] : ''\r\n const lastName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[1] : ''\r\n const viewMode: string = this.activatedRoute.snapshot.queryParams.viewMode ?\r\n this.activatedRoute.snapshot.queryParams.viewMode : ''\r\n const token = this.keyCloakSvc.token\r\n const response = {\r\n subApplicationName: applicationName,\r\n requestId: 'LOADED',\r\n parentContext: {\r\n domainName: window.location.host,\r\n url: this.router.url,\r\n rootOrg: this.configSvc.rootOrg,\r\n theme: this.configSvc.activeThemeObject ? {\r\n name: this.configSvc.activeThemeObject.themeName,\r\n ...this.configSvc.activeThemeObject.color,\r\n } : '',\r\n fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',\r\n locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',\r\n darkMode: this.configSvc.isDarkMode,\r\n subApplicationStartMode: viewMode.toUpperCase(),\r\n user: {\r\n firstName,\r\n lastName,\r\n token,\r\n userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',\r\n roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],\r\n },\r\n heartbeatFrequency: '200',\r\n },\r\n data: null,\r\n }\r\n contentWindow.postMessage(response, '*')\r\n this.contentWindowinfo = contentWindow\r\n this.loaded = true\r\n this.subAppname = applicationName\r\n }\r\n }\r\n }\r\n continueLearningRespond(id: string, continueLearning: any) {\r\n this.contentSvc.saveContinueLearning(\r\n {\r\n contextPathId: id,\r\n resourceId: id,\r\n data: JSON.stringify({ timestamp: Date.now(), data: continueLearning }),\r\n dateAccessed: Date.now(),\r\n },\r\n )\r\n .toPromise()\r\n .catch()\r\n }\r\n telemetryEvents(tData: any) {\r\n if (tData) {\r\n switch (tData.eventId) {\r\n case 'INTERACT':\r\n this.eventSvc.dispatchEvent<WsEvents.IWsEventTelemetryInteract>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Warn,\r\n data: {\r\n ...tData.data,\r\n eventSubType: WsEvents.EnumTelemetrySubType.Interact,\r\n },\r\n from: tData.subApplicationName,\r\n to: 'Telemetry',\r\n })\r\n break\r\n case 'HEARTBEAT':\r\n this.eventSvc.dispatchEvent<WsEvents.IWsEventTelemetryHeartBeat>({\r\n eventType: WsEvents.WsEventType.Telemetry,\r\n eventLogLevel: WsEvents.WsEventLogLevel.Trace,\r\n data: {\r\n ...tData.data,\r\n eventSubType: WsEvents.EnumTelemetrySubType.HeartBeat,\r\n },\r\n from: tData.subApplicationName,\r\n to: 'Telemetry',\r\n })\r\n break\r\n case 'IMPRESSION':\r\n this.teleSvc.externalImpression(tData.data)\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n }\r\n unsubscribeResponse() {\r\n this.subAppname = ''\r\n this.continueLearningData = null\r\n this.contentWindowinfo = null\r\n this.loaded = false\r\n }\r\n changeContextrespond() {\r\n if (this.loaded && this.contentWindowinfo && this.configSvc && this.configSvc.userProfile && this.subAppname) {\r\n const firstName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[0] : ''\r\n const lastName = this.configSvc.userProfile.userName ?\r\n this.configSvc.userProfile.userName.split(' ', 2)[1] : ''\r\n const viewMode: string = this.activatedRoute.snapshot.queryParams.viewMode ?\r\n this.activatedRoute.snapshot.queryParams.viewMode : ''\r\n const token = this.keyCloakSvc.token\r\n const response = {\r\n subApplicationName: this.subAppname,\r\n requestId: 'CONTEXT_CHANGE',\r\n parentContext: {\r\n domainName: window.location.host,\r\n url: this.router.url,\r\n rootOrg: this.configSvc.rootOrg,\r\n theme: this.configSvc.activeThemeObject ? {\r\n name: this.configSvc.activeThemeObject.themeName,\r\n ...this.configSvc.activeThemeObject.color,\r\n } : '',\r\n fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',\r\n locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',\r\n darkMode: this.configSvc.isDarkMode,\r\n subApplicationStartMode: viewMode.toUpperCase(),\r\n user: {\r\n firstName,\r\n lastName,\r\n token,\r\n userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',\r\n roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],\r\n },\r\n heartbeatFrequency: '200',\r\n },\r\n }\r\n this.contentWindowinfo.postMessage(response, '*')\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core'\r\nimport { HttpClient } from '@angular/common/http'\r\nimport { IUserPreference } from './user-preference.model'\r\nimport { ConfigurationsService } from './configurations.service'\r\nimport { debounceTime, retry, catchError } from 'rxjs/operators'\r\nimport { of } from 'rxjs'\r\nconst endpoints = {\r\n userPref: '/apis/protected/v8/user/preference',\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserPreferenceService {\r\n // do changes in the backend and update the store\r\n\r\n constructor(private http: HttpClient, private configurationSvc: ConfigurationsService) { }\r\n\r\n initialize() {\r\n this.configurationSvc.prefChangeNotifier\r\n .pipe(debounceTime(250))\r\n .subscribe((changedUserPref?: Partial<IUserPreference>) => {\r\n if (this.configurationSvc.isAuthenticated) {\r\n this.saveUserPreference(changedUserPref)\r\n }\r\n })\r\n }\r\n\r\n async fetchUserPreference(): Promise<IUserPreference> {\r\n const pref = await this.http.get<IUserPreference>(endpoints.userPref).toPromise()\r\n return pref\r\n }\r\n\r\n async saveUserPreference(changedUserPref?: Partial<IUserPreference>): Promise<boolean> {\r\n try {\r\n if (!changedUserPref) {\r\n return false\r\n }\r\n const newUserPref: IUserPreference = {\r\n ...this.configurationSvc.userPreference,\r\n pinnedApps:\r\n (changedUserPref && changedUserPref.pinnedApps) ||\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.pinnedApps) ||\r\n '',\r\n isDarkMode: this.configurationSvc.isDarkMode,\r\n isRTL: this.configurationSvc.isRTL,\r\n selectedTheme:\r\n (this.configurationSvc.activeThemeObject &&\r\n this.configurationSvc.activeThemeObject.themeClass) ||\r\n '',\r\n selectedFont:\r\n (this.configurationSvc.activeFontObject &&\r\n this.configurationSvc.activeFontObject.fontClass) ||\r\n '',\r\n selectedLangGroup:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.selectedLangGroup) ||\r\n '',\r\n selectedLocale:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.selectedLocale) ||\r\n '',\r\n colorPallet:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.colorPallet) ||\r\n [],\r\n defaultCardType:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.defaultCardType) ||\r\n '',\r\n completedActivity:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.completedActivity) ||\r\n [],\r\n ...(changedUserPref || {}),\r\n completedTour: this.configurationSvc.completedTour,\r\n profileSettings:\r\n (this.configurationSvc.userPreference &&\r\n this.configurationSvc.userPreference.profileSettings) ||\r\n this.configurationSvc.profileSettings,\r\n }\r\n const oldUserPref: IUserPreference | null = this.configurationSvc.userPreference\r\n this.configurationSvc.userPreference = newUserPref\r\n await this.http\r\n .put(endpoints.userPref, newUserPref)\r\n .pipe(\r\n retry(3),\r\n catchError(err => {\r\n this.configurationSvc.userPreference = oldUserPref\r\n return of(err)\r\n }),\r\n )\r\n .toPromise()\r\n return true\r\n } catch (err) {\r\n return false\r\n }\r\n }\r\n}\r\n","export namespace NsContent {\r\n export interface IContinueLearningData extends IContent {\r\n continueData: any\r\n }\r\n\r\n export interface IContent {\r\n platform?: any\r\n addedOn: string\r\n appIcon: string\r\n artifactUrl: string\r\n averageRating?: any\r\n body?: string\r\n certificationList?: IRelatedContentMeta[]\r\n certificationStatus?: TCertificationStatus\r\n certificationSubmissionDate?: string\r\n certificationUrl: string\r\n children: IContent[]\r\n childrenClassifiers?: string[]\r\n clients?: IClient[]\r\n collections?: IContent[]\r\n complexityLevel: string\r\n contentId: string\r\n contentType: EContentTypes\r\n contentUrlAtSource: string\r\n creatorContacts: ICreator[]\r\n\r\n creatorDetails: ICreator[]\r\n creatorLogo: string\r\n creatorPosterImage: string\r\n creatorThumbnail: string\r\n\r\n curatedTags: string[]\r\n description: string\r\n displayContentType: EDisplayContentTypes // For UI\r\n downloadUrl?: string\r\n duration: number\r\n exclusiveContent?: boolean\r\n expiryDate?: string\r\n equivalentCertifications?: IRelatedContentMeta[]\r\n hasAccess: boolean\r\n hasAssessment?: string\r\n idealScreenSize?: string\r\n identifier: string\r\n introductoryVideo?: string\r\n introductoryVideoIcon?: string\r\n learningTrack?: string\r\n isExternal: boolean\r\n isIframeSupported: 'Yes' | 'No' | 'Maybe'\r\n isInIntranet?: boolean\r\n keywords?: string[]\r\n kArtifacts?: IRelatedContentMeta[]\r\n lastUpdatedOn: string\r\n learningMode?: TLearningMode\r\n learningObjective: string\r\n labels?: string[]\r\n locale?: string\r\n hasTranslations?: { identifier: string; locale: string }[]\r\n isTranslationOf?: { identifier: string; locale: string }[]\r\n me_totalSessionsCount: number\r\n mediaType: string\r\n mimeType: EMimeTypes\r\n minWingspanVersion?: string\r\n msArtifactDetails?: IMSArtifactDetails\r\n mode?: ETagType\r\n name: string\r\n nextCertificationAttemptDate?: string\r\n playgroundInstructions?: string\r\n playgroundResources?: IResourcePlayground[]\r\n postContents?: IPrePostContent[]\r\n posterImage?: string\r\n preContents?: IPrePostContent[]\r\n preRequisites: string\r\n price?: {\r\n currency: string\r\n value: number\r\n }\r\n proctorUrl?: string\r\n progress?: IMarkAsCompleteProgress\r\n publishedOn: string\r\n recentCertificationAttemptScore?: number\r\n recommendationReasons?: string[]\r\n region?: string[]\r\n registrationUrl?: string\r\n registrationInstructions?: string\r\n resourceCategory?: string[]\r\n resourceType: string\r\n size?: number\r\n skills: ISkill[]\r\n softwareRequirements?: IResourceDetail[]\r\n sourceName: string\r\n sourceShortName: string\r\n sourceIconUrl?: string\r\n sourceUrl?: string\r\n ssoEnabled?: boolean\r\n status:\r\n | 'Draft'\r\n | 'InReview'\r\n | 'QualityReview'\r\n | 'Reviewed'\r\n | 'Processing'\r\n | 'Live'\r\n | 'Deleted'\r\n | 'MarkedForDeletion'\r\n | 'Expired'\r\n subTitle?: string\r\n subTitles?: ISubtitle[]\r\n studyMaterials?: IRelatedContentMeta[]\r\n systemRequirements?: string[]\r\n tags: ITag[]\r\n topics: IContentTopic[]\r\n totalLikes?: { [key: string]: number }\r\n totalRating?: number\r\n track: ITrack[]\r\n uniqueLearners?: number\r\n viewCount?: { [key: string]: number }\r\n reason?: string // required for Knowledge board\r\n trainingLHubCount?: number // for LHub trainings\r\n verifiers?: {\r\n // required for External Certifications\r\n name: string\r\n email: string\r\n id: string\r\n }[]\r\n references?: { url: string; title: string }[]\r\n resumePage?: number // For player WebModule in UI\r\n [key: string]: any\r\n }\r\n\r\n export interface IContentMinimal {\r\n appIcon: string\r\n artifactUrl: string\r\n complexityLevel: string\r\n contentType: EContentTypes\r\n description: string\r\n displayContentType?: EDisplayContentTypes\r\n duration: number\r\n identifier: string\r\n hasAccess?: boolean\r\n isInIntranet?: boolean\r\n learningMode?: TLearningMode\r\n mimeType: EMimeTypes\r\n name: string\r\n creatorDetails: ICreator[]\r\n creatorContacts: ICreator[]\r\n PosterImage: string\r\n resourceType?: string\r\n totalRating?: number\r\n }\r\n\r\n export interface ICollectionHierarchyResponse {\r\n data: IContent\r\n hasMore: boolean\r\n totalContents: number\r\n }\r\n\r\n export interface IRelatedContentMeta {\r\n identifier: string\r\n name: string\r\n }\r\n\r\n type TCertificationStatus = 'ongoing' | 'passed' | 'canAttempt' | 'cannotAttempt'\r\n export type TLearningMode = 'Self-Paced' | 'Instructor-Led' | 'Open' | 'Closed'\r\n\r\n interface IMarkAsCompleteProgress {\r\n progressStatus: 'open' | 'started' | 'completed'\r\n showMarkAsComplete: boolean\r\n markAsCompleteReason: string\r\n progressSupported: boolean\r\n progress: number | null\r\n }\r\n\r\n interface ITag {\r\n id: string\r\n type: string\r\n value: string\r\n }\r\n interface IMSArtifactDetails {\r\n channelId: string\r\n videoId: string\r\n }\r\n interface IClient {\r\n displayName: string\r\n id: string\r\n name: string\r\n }\r\n interface ISubtitle {\r\n srclang: string\r\n label: string\r\n url: string\r\n }\r\n interface IPrePostContent {\r\n identifier: string\r\n name: string\r\n }\r\n interface IResourceDetail {\r\n title?: string\r\n url?: string\r\n }\r\n interface IResourcePlayground {\r\n appIcon: string\r\n artifactUrl: string\r\n identifier: string\r\n name: string\r\n }\r\n interface ITrack {\r\n id: string\r\n name: string\r\n status: string\r\n visibility: string\r\n }\r\n interface ISkill {\r\n id: string\r\n category: string\r\n skill: string\r\n name: string\r\n }\r\n export interface ICreator {\r\n id: string\r\n name: string\r\n email: string\r\n }\r\n export interface IContentTopic {\r\n identifier: string\r\n name: string\r\n }\r\n // API Based\r\n\r\n export interface IContact {\r\n id: string\r\n name: string\r\n email: string\r\n }\r\n\r\n export interface IViewerContinueLearningRequest {\r\n resourceId: string\r\n contextPathId: string\r\n data: string\r\n dateAccessed: number\r\n contextType?: string\r\n }\r\n\r\n export enum EContentTypes {\r\n PROGRAM = 'Learning Path',\r\n CHANNEL = 'Channel',\r\n COURSE = 'Course',\r\n KNOWLEDGE_ARTIFACT = 'Knowledge Artifact',\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n MODULE = 'Collection',\r\n RESOURCE = 'Resource',\r\n }\r\n export enum EMiscPlayerSupportedCollectionTypes {\r\n PLAYLIST = 'Playlist',\r\n }\r\n export const PLAYER_SUPPORTED_COLLECTION_TYPES: string[] = [\r\n EContentTypes.COURSE,\r\n EContentTypes.MODULE,\r\n EContentTypes.PROGRAM,\r\n EMiscPlayerSupportedCollectionTypes.PLAYLIST,\r\n ]\r\n export const KB_SUPPORTED_CONTENT_TYPES: EContentTypes[] = [\r\n EContentTypes.COURSE,\r\n EContentTypes.MODULE,\r\n EContentTypes.PROGRAM,\r\n EContentTypes.RESOURCE,\r\n ]\r\n export const PLAYLIST_SUPPORTED_CONTENT_TYPES: EContentTypes[] = [\r\n EContentTypes.COURSE,\r\n EContentTypes.MODULE,\r\n EContentTypes.PROGRAM,\r\n EContentTypes.RESOURCE,\r\n ]\r\n export enum EMimeTypes {\r\n COLLECTION = 'application/vnd.ekstep.content-collection',\r\n HTML = 'application/html',\r\n ILP_FP = 'application/ilpfp',\r\n IAP = 'application/iap-assessment',\r\n M4A = 'audio/m4a',\r\n MP3 = 'audio/mpeg',\r\n MP4 = 'video/mp4',\r\n M3U8 = 'application/x-mpegURL',\r\n INTERACTION = 'video/interactive',\r\n PDF = 'application/pdf',\r\n QUIZ = 'application/quiz',\r\n DRAG_DROP = 'application/drag-drop',\r\n HTML_PICKER = 'application/htmlpicker',\r\n WEB_MODULE = 'application/web-module',\r\n WEB_MODULE_EXERCISE = 'application/web-module-exercise',\r\n YOUTUBE = 'video/x-youtube',\r\n HANDS_ON = 'application/integrated-hands-on',\r\n RDBMS_HANDS_ON = 'application/rdbms',\r\n CLASS_DIAGRAM = 'application/class-diagram',\r\n CHANNEL = 'application/channel',\r\n COLLECTION_RESOURCE = 'resource/collection',\r\n // Added on UI Only\r\n CERTIFICATION = 'application/certification',\r\n PLAYLIST = 'application/playlist',\r\n UNKNOWN = 'application/unknown',\r\n }\r\n export enum EDisplayContentTypes {\r\n ASSESSMENT = 'ASSESSMENT',\r\n AUDIO = 'AUDIO',\r\n CERTIFICATION = 'CERTIFICATION',\r\n CHANNEL = 'Channel',\r\n CLASS_DIAGRAM = 'CLASS_DIAGRAM',\r\n COURSE = 'COURSE',\r\n DEFAULT = 'DEFAULT',\r\n DRAG_DROP = 'DRAG_DROP',\r\n EXTERNAL_CERTIFICATION = 'EXTERNAL_CERTIFICATION',\r\n EXTERNAL_COURSE = 'EXTERNAL_COURSE',\r\n GOALS = 'GOALS',\r\n HANDS_ON = 'HANDS_ON',\r\n IAP = 'IAP',\r\n INSTRUCTOR_LED = 'INSTRUCTOR_LED',\r\n INTERACTIVE_VIDEO = 'INTERACTIVE_VIDEO',\r\n KNOWLEDGE_ARTIFACT = 'KNOWLEDGE_ARTIFACT',\r\n MODULE = 'MODULE',\r\n PDF = 'PDF',\r\n PLAYLIST = 'PLAYLIST',\r\n PROGRAM = 'PROGRAM',\r\n QUIZ = 'QUIZ',\r\n RESOURCE = 'RESOURCE',\r\n RDBMS_HANDS_ON = 'RDBMS_HANDS_ON',\r\n VIDEO = 'VIDEO',\r\n WEB_MODULE = 'WEB_MODULE',\r\n WEB_PAGE = 'WEB_PAGE',\r\n YOUTUBE = 'YOUTUBE',\r\n KNOWLEDGE_BOARD = 'Knowledge Board',\r\n LEARNING_JOURNEY = 'Learning Journeys',\r\n }\r\n // for UI\r\n export enum EFilterCategory {\r\n ALL = 'ALL',\r\n LEARN = 'LEARN',\r\n PRACTICE = 'PRACTICE',\r\n ASSESS = 'ASSESS',\r\n }\r\n\r\n // for UI\r\n export enum ETagType {\r\n NEWLY_ADDED = 'NEWLY ADDED',\r\n }\r\n}\r\n"],"names":["storageKey","storage","moment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiBa,qBAAqB,CAAA;AAEhC,IAAA,WAAA,GAAA;QAOA,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAA;QAEf,IAAO,CAAA,OAAA,GAAG,EAAE,CAAA;QACZ,IAAO,CAAA,OAAA,GAAG,uBAAuB,CAAA;QACjC,IAAQ,CAAA,QAAA,GAAG,uBAAuB,CAAA;AAClC,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAEnD,IAAS,CAAA,SAAA,GAAuB,IAAI,CAAA;QACpC,IAAU,CAAA,UAAA,GAAuB,IAAI,CAAA;QACrC,IAAkB,CAAA,kBAAA,GAAuB,IAAI,CAAA;QAC7C,IAAiB,CAAA,iBAAA,GAAuB,IAAI,CAAA;QAC5C,IAAc,CAAA,cAAA,GAAoC,IAAI,CAAA;QACtD,IAAU,CAAA,UAAA,GAAoC,IAAI,CAAA;QAClD,IAAO,CAAA,OAAA,GAAkB,IAAI,CAAA;QAE7B,IAAG,CAAA,GAAA,GAAoB,IAAI,CAAA;QAC3B,IAAS,CAAA,SAAA,GAAkB,EAAE,CAAA;QAC7B,IAAY,CAAA,YAAA,GAAG,KAAK,CAAA;QACpB,IAAc,CAAA,cAAA,GAAG,KAAK,CAAA;QACtB,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAA;QAC5B,IAAc,CAAA,cAAA,GAA2B,IAAI,CAAA;QAC7C,IAAW,CAAA,WAAA,GAA+B,IAAI,CAAA;QAC9C,IAAa,CAAA,aAAA,GAA+B,IAAI,CAAA;QAIhD,IAAe,CAAA,eAAA,GAAG,KAAK,CAAA;QACvB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAA;QACjB,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAA;QAGf,IAAU,CAAA,UAAA,GAAG,IAAI,eAAe,CAAc,IAAI,GAAG,EAAE,CAAC,CAAA;AAGxD,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,aAAa,CAA2B,CAAC,CAAC,CAAA;AACnE,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,aAAa,EAAW,CAAA;AAChD,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,aAAa,CAAU,CAAC,CAAC,CAAA;QAGlD,IAAiB,CAAA,iBAAA,GAAmC,IAAI,CAAA;QACxD,IAAgB,CAAA,gBAAA,GAAsC,IAAI,CAAA;QAC1D,IAAU,CAAA,UAAA,GAAG,KAAK,CAAA;QAClB,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAA;QACzB,IAAK,CAAA,KAAA,GAAG,KAAK,CAAA;QACb,IAAY,CAAA,YAAA,GAA0C,IAAI,CAAA;QAC1D,IAAiB,CAAA,iBAAA,GAAG,EAAE,CAAA;QACtB,IAAiB,CAAA,iBAAA,GAAoB,IAAI,CAAA;QACzC,IAAa,CAAA,aAAA,GAAG,KAAK,CAAA;QAErB,IAAe,CAAA,eAAA,GAAG,CAAC,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAA;AAEtE,QAAA,IAAA,CAAA,aAAa,GAAmC;AAC9C,YAAA,KAAK,EAAE,SAAS;SACjB,CAAA;AACD,QAAA,IAAA,CAAA,UAAU,GAAmC;AAC3C,YAAA,KAAK,EAAE,SAAS;SACjB,CAAA;QACD,IAAmB,CAAA,mBAAA,GAAiD,IAAI,CAAA;AAEhE,QAAA,IAAA,CAAA,iBAAiB,GAA4B,IAAI,eAAe,CAAC,EAAE,CAAC,CAAA;AAC5E,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAA;KA7DlE;AA8DD,IAAA,aAAa,CAAC,EAAU,EAAA;AACpB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;KAClC;;;;AA3EF,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;;MCRY,YAAY,CAAA;AAEvB,IAAA,WAAA,CACU,kBAAsC,EAAA;QAAtC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;QAGzC,IAAS,CAAA,SAAA,GAAwB,IAAI,CAAC,kBAAkB;AAC5D,aAAA,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,GAAoB,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;QAC5C,IAAW,CAAA,WAAA,GAAwB,IAAI,CAAC,kBAAkB;aAC9D,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AAChD,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,GAAoB,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;KAP9C;;;;AAPN,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;YALQ,kBAAkB,EAAA;;;MCiBd,kBAAkB,CAAA;IAwB7B,WACU,CAAA,SAA2C,EAC3C,SAAgC,EAChC,QAAqB,EACrB,QAAsB,EACL,IAAkB,EAAA;QAJnC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkC;QAC3C,IAAS,CAAA,SAAA,GAAT,SAAS,CAAuB;QAChC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAa;QACrB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAc;AA1BtB,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAQ,CAAA;QACzC,IAAW,CAAA,WAAA,GAAG,KAAK,CAAA;QACnB,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAA;QAG3B,IAAe,CAAA,eAAA,GAAQ,EAAE,CAAA;QACzB,IAAK,CAAA,KAAA,GAAQ,EAAE,CAAA;QACf,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAA;QAGhB,IAAe,CAAA,eAAA,GAAQ,EAAE,CAAA;QACzB,IAAa,CAAA,aAAA,GAAQ,EAAE,CAAA;QACvB,IAAY,CAAA,YAAA,GAAQ,EAAE,CAAA;QACtB,IAAmB,CAAA,mBAAA,GAAQ,KAAK,CAAA;QAChC,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAA;QACb,IAAc,CAAA,cAAA,GAAG,CAAC,CAAA;QAClB,IAAS,CAAA,SAAA,GAAmB,EAAE,CAAA;QAC9B,IAAU,CAAA,UAAA,GAAG,KAAK,CAAA;QAElB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAA;QAChB,IAAW,CAAA,WAAA,GAAG,IAAI,CAAA;AAShB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACnC,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;AAChC,SAAA;QACD,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAA;AACnC,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAA;AAC5B,aAAA;YACD,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAA;AAC1B,aAAA;AACF,SAAA;KAEF;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAiB,KAAI;AACtD,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;YACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AACjC,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AACjC,aAAA;AACH,SAAC,CAAC,CAAA;KAEH;AAGD,IAAA,kBAAkB,CAAC,MAAW,EAAA;QAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc;AAC/C,YAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAA;KAC1D;AAGD,IAAA,YAAY,CAAC,KAAwB,EAAA;AAEnC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAA;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AACjE,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAA;AACjC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAA;KAEhC;AAED,IAAA,YAAY,CAAC,OAAe,EAAA;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;AAC/B,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAA;KACH;IACD,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;KACjC;IAGD,sBAAsB,GAAA;AACpB,QAAA,MAAM,EAAE,GAAG,IAAI,UAAU,EAAE,CAAA;AAC3B,QAAA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAChC,QAAA,EAAE,CAAC,MAAM,GAAG,MAAK;AACf,YAAA,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAA;AACvB,YAAA,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,MAAgB,CAAA;AAC7B,YAAA,GAAG,CAAC,MAAM,GAAG,MAAK;AAChB,gBAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;AACtB,gBAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;AACxB,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,oBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE;AACpE,wBAAA,IAAI,CAAC,YAAY,CAAC,iFAAiF,CAAC,CAAA;wBACpG,OAAM;AACP,qBAAA;AACD,oBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE;AAChE,wBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;AAChC,qBAAA;AACF,iBAAA;AACH,aAAC,CAAA;AAEH,SAAC,CAAA;KAEF;AAED,IAAA,iBAAiB,CAAC,GAAW,EAAA;QAG3B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAEnC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;AAE/B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QAE9B,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;AACnD,QAAA,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;AAEnC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAClD,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;AACrC,SAAA;AAED,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;QACpD,MAAM,CAAC,GAAQ,IAAI,CAAA;AAEnB,QAAA,CAAC,CAAC,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAA;AAC/B,QAAA,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAA;AACtB,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;AACpE,QAAA,OAAO,IAAI,CAAA;KAEZ;IAEO,eAAe,GAAA;AACrB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA;AACrC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GACT,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,SAAS,CAAA,EAAA,EACjB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,QAAQ,GAChB,CAAA;KACF;IAED,UAAU,GAAA;QACR,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAA;QAC7C,IAAI,CAAC,eAAe,EAAE,CAAA;KACvB;IAED,WAAW,GAAA;QACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAA;QAC7C,IAAI,CAAC,eAAe,EAAE,CAAA;KACvB;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,SAAS,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACT,IAAI,CAAC,SAAS,CACjB,EAAA,EAAA,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,GAC7B,CAAA;KACF;AAED,IAAA,IAAI,CAAC,KAAU,EAAA;AACb,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GACT,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,SAAS,CACjB,EAAA,EAAA,KAAK,EAAE,KAAK,CAAC,KAAK,GACnB,CAAA;KACF;IAGD,aAAa,GAAA;QACX,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;KACzC;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;AACtB,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;KACpB;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;KACvB;;;AA/LF,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,qBAAqB;gBAC/B,QAA0C,EAAA,g9PAAA;;AAE3C,aAAA,EAAA,EAAA;;;YAjBQ,YAAY,EAAA;YAIZ,qBAAqB,EAAA;YAHrB,WAAW,EAAA;YAIX,YAAY,EAAA;AA0ChB,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAM,SAAC,eAAe,EAAA,EAAA,CAAA,EAAA;;;mBA3BxB,MAAM,EAAA,CAAA;;;MCQI,eAAe,CAAA;;;AAjB3B,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,gBAAA,OAAO,EAAE;oBACP,YAAY;oBACZ,kBAAkB;oBAClB,aAAa;oBACb,eAAe;oBACf,eAAe;oBACf,gBAAgB;oBAChB,eAAe;oBACf,aAAa;oBACb,gBAAgB;oBAChB,eAAe;AAChB,iBAAA;gBACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;gBAC7B,eAAe,EAAE,CAAC,kBAAkB,CAAC;AACtC,aAAA,EAAA,EAAA;;;IC5BW,UAypBX;AAzpBD,CAAA,UAAY,SAAS,EAAA;AAEnB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,iBAAA,CAAA,GAAA,gBAAkC,CAAA;AAClC,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,+BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,iBAAA,CAAA,GAAA,gBAAkC,CAAA;AAClC,IAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,eAAgC,CAAA;AAGhC,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,SAAA,CAAA,iBAAA,CAAA,GAAA,eAAiC,CAAA;AACjC,IAAA,SAAA,CAAA,uBAAA,CAAA,GAAA,qBAA6C,CAAA;AAC7C,IAAA,SAAA,CAAA,yBAAA,CAAA,GAAA,sBAAgD,CAAA;AAChD,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,wBAAoD,CAAA;AACpD,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,yBAAuD,CAAA;AACvD,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,yBAAuD,CAAA;AACvD,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,gCAAsE,CAAA;AACtE,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AAGnE,IAAA,SAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,gCAAoE,CAAA;AACpE,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,wBAAoD,CAAA;AACpD,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,0BAAwD,CAAA;AACxD,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,4BAA4D,CAAA;AAC5D,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,0BAAwD,CAAA;AACxD,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,qCAAgF,CAAA;AAChF,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,8BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,gCAAoE,CAAA;AACpE,IAAA,SAAA,CAAA,8CAAA,CAAA,GAAA,yCAAwF,CAAA;AACxF,IAAA,SAAA,CAAA,oDAAA,CAAA,GAAA,8CAAmG,CAAA;AACnG,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,6BAA8D,CAAA;AAC9D,IAAA,SAAA,CAAA,yBAAA,CAAA,GAAA,sBAAgD,CAAA;AAChD,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,0BAAuD,CAAA;AACvD,IAAA,SAAA,CAAA,yBAAA,CAAA,GAAA,uBAAiD,CAAA;AACjD,IAAA,SAAA,CAAA,wBAAA,CAAA,GAAA,sBAA+C,CAAA;AAC/C,IAAA,SAAA,CAAA,yBAAA,CAAA,GAAA,sBAAgD,CAAA;AAChD,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,yBAAsD,CAAA;AACtD,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,oCAA6E,CAAA;AAC7E,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,6BAA+D,CAAA;AAC/D,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,4BAA4D,CAAA;AAC5D,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,yBAAA,CAAA,GAAA,sBAAgD,CAAA;AAChD,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,yBAAsD,CAAA;AACtD,IAAA,SAAA,CAAA,4CAAA,CAAA,GAAA,uCAAoF,CAAA;AACpF,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,4BAA4D,CAAA;AAC5D,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,2BAA0D,CAAA;AAC1D,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,2BAA0D,CAAA;AAC1D,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,8BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,6CAAA,CAAA,GAAA,yCAAuF,CAAA;AACvF,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,kCAAyE,CAAA;AACzE,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,iCAAsE,CAAA;AACtE,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,oCAA6E,CAAA;AAC7E,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,2BAA0D,CAAA;AAC1D,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,8BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,iDAAA,CAAA,GAAA,4CAA8F,CAAA;AAC9F,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,iCAAsE,CAAA;AACtE,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,0BAAwD,CAAA;AACxD,IAAA,SAAA,CAAA,4CAAA,CAAA,GAAA,uCAAoF,CAAA;AACpF,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,4BAA6D,CAAA;AAC7D,IAAA,SAAA,CAAA,8CAAA,CAAA,GAAA,yCAAwF,CAAA;AAGxF,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,wBAAoD,CAAA;AACpD,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,kCAA0E,CAAA;AAC1E,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,0BAAwD,CAAA;AACxD,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,yBAAsD,CAAA;AACtD,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,2BAA0D,CAAA;AAG1D,IAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,eAAgC,CAAA;AAChC,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,kCAA0E,CAAA;AAC1E,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,IAAA,SAAA,CAAA,gDAAA,CAAA,GAAA,2CAA4F,CAAA;AAC5F,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,2BAA2D,CAAA;AAC3D,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,mCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,mCAA4E,CAAA;AAC5E,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,kDAAA,CAAA,GAAA,2CAA8F,CAAA;AAC9F,IAAA,SAAA,CAAA,2CAAA,CAAA,GAAA,qCAAiF,CAAA;AACjF,IAAA,SAAA,CAAA,6CAAA,CAAA,GAAA,uCAAqF,CAAA;AACrF,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,mCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,IAAA,SAAA,CAAA,gDAAA,CAAA,GAAA,0CAA2F,CAAA;AAC3F,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,IAAA,SAAA,CAAA,mDAAA,CAAA,GAAA,6CAAiG,CAAA;AACjG,IAAA,SAAA,CAAA,mDAAA,CAAA,GAAA,6CAAiG,CAAA;AACjG,IAAA,SAAA,CAAA,kDAAA,CAAA,GAAA,4CAA+F,CAAA;AAG/F,IAAA,SAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,sDAAA,CAAA,GAAA,gDAAuG,CAAA;AACvG,IAAA,SAAA,CAAA,sDAAA,CAAA,GAAA,gDAAuG,CAAA;AACvG,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,mCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,oCAA6E,CAAA;AAC7E,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,oCAA6E,CAAA;AAG7E,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,qCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,+BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,+BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,gCAAoE,CAAA;AACpE,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,oCAA6E,CAAA;AAC7E,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,8BAAiE,CAAA;AACjE,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,8BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,8BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,+BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,mCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,wBAAA,CAAA,GAAA,sBAA+C,CAAA;AAC/C,IAAA,SAAA,CAAA,sBAAA,CAAA,GAAA,oBAA2C,CAAA;AAC3C,IAAA,SAAA,CAAA,uBAAA,CAAA,GAAA,qBAA6C,CAAA;AAG7C,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,WAAwB,CAAA;AACxB,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,8BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,4BAA8D,CAAA;AAC9D,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,8BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,sBAAA,CAAA,GAAA,mBAA0C,CAAA;AAC1C,IAAA,SAAA,CAAA,wBAAA,CAAA,GAAA,qBAA8C,CAAA;AAC9C,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,wBAAqD,CAAA;AAGrD,IAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,kBAAwC,CAAA;AACxC,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,sBAAiD,CAAA;AACjD,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,0BAAwD,CAAA;AACxD,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,yBAAsD,CAAA;AACtD,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,kBAAwC,CAAA;AACxC,IAAA,SAAA,CAAA,yBAAA,CAAA,GAAA,sBAAgD,CAAA;AAGhD,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,YAA0B,CAAA;AAC1B,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,iCAAwE,CAAA;AACxE,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,oCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,oCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,mCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,6BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,0BAAyD,CAAA;AACzD,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,+BAAsE,CAAA;AAGtE,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACpB,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,gCAAuE,CAAA;AAGvE,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,6BAA8D,CAAA;AAC9D,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,6BAA+D,CAAA;AAC/D,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,0BAAwD,CAAA;AACxD,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,wBAAmD,CAAA;AACnD,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,wBAAoD,CAAA;AACpD,IAAA,SAAA,CAAA,uBAAA,CAAA,GAAA,qBAA6C,CAAA;AAG7C,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,WAAwB,CAAA;AACxB,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,6BAA+D,CAAA;AAC/D,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,8BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,kBAAwC,CAAA;AACxC,IAAA,SAAA,CAAA,yBAAA,CAAA,GAAA,qBAA+C,CAAA;AAC/C,IAAA,SAAA,CAAA,iBAAA,CAAA,GAAA,eAAiC,CAAA;AACjC,IAAA,SAAA,CAAA,uBAAA,CAAA,GAAA,oBAA4C,CAAA;AAG5C,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACpB,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,4BAA6D,CAAA;AAC7D,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,iCAAwE,CAAA;AACxE,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,2BAA2D,CAAA;AAC3D,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,mCAA4E,CAAA;AAC5E,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,mCAA4E,CAAA;AAC5E,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,6BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,0BAA0D,CAAA;AAC1D,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,8CAAA,CAAA,GAAA,yCAAwF,CAAA;AACxF,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,iCAAwE,CAAA;AACxE,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,mCAA4E,CAAA;AAC5E,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,wBAAoD,CAAA;AACpD,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,kCAA0E,CAAA;AAC1E,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,8BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,wCAAwF,CAAA;AACxF,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,oCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,gCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,4BAA8D,CAAA;AAC9D,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,8BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,4BAA8D,CAAA;AAC9D,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,sBAAiD,CAAA;AACjD,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,sBAAiD,CAAA;AACjD,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,mCAA6E,CAAA;AAC7E,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,uBAAmD,CAAA;AACnD,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,sBAAiD,CAAA;AACjD,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,uBAAmD,CAAA;AACnD,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,yBAAwD,CAAA;AACxD,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,4BAA8D,CAAA;AAC9D,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,6BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,2BAA2D,CAAA;AAC3D,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,wBAAqD,CAAA;AACrD,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,2BAA4D,CAAA;AAC5D,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,uBAAoD,CAAA;AACpD,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,0BAA2D,CAAA;AAG3D,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,gBAAmC,CAAA;AACnC,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,mBAAyC,CAAA;AACzC,IAAA,SAAA,CAAA,uBAAA,CAAA,GAAA,qBAA6C,CAAA;AAC7C,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,wBAAmD,CAAA;AACnD,IAAA,SAAA,CAAA,sBAAA,CAAA,GAAA,oBAA2C,CAAA;AAC3C,IAAA,SAAA,CAAA,oBAAA,CAAA,GAAA,kBAAuC,CAAA;AACvC,IAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,gBAAmC,CAAA;AAGnC,IAAA,SAAA,CAAA,WAAA,CAAA,GAAA,UAAsB,CAAA;AACtB,IAAA,SAAA,CAAA,yBAAA,CAAA,GAAA,sBAAgD,CAAA;AAChD,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,mCAA4E,CAAA;AAC5E,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,+BAAoE,CAAA;AACpE,IAAA,SAAA,CAAA,mDAAA,CAAA,GAAA,4CAAgG,CAAA;AAChG,IAAA,SAAA,CAAA,8CAAA,CAAA,GAAA,uCAAsF,CAAA;AACtF,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,uCAAuF,CAAA;AACvF,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,yBAAuD,CAAA;AACvD,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,2BAA2D,CAAA;AAC3D,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,6BAA+D,CAAA;AAC/D,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,6BAA+D,CAAA;AAG/D,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACpB,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,gCAAsE,CAAA;AACtE,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,+BAAoE,CAAA;AACpE,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,iCAAwE,CAAA;AAGxE,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,SAAA,CAAA,wBAAA,CAAA,GAAA,qBAA8C,CAAA;AAC9C,IAAA,SAAA,CAAA,wBAAA,CAAA,GAAA,qBAA8C,CAAA;AAC9C,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,kBAAwC,CAAA;AACxC,IAAA,SAAA,CAAA,sBAAA,CAAA,GAAA,mBAA0C,CAAA;AAC1C,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,sBAAiD,CAAA;AACjD,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,sBAAiD,CAAA;AACjD,IAAA,SAAA,CAAA,uBAAA,CAAA,GAAA,oBAA4C,CAAA;AAC5C,IAAA,SAAA,CAAA,uBAAA,CAAA,GAAA,oBAA4C,CAAA;AAC5C,IAAA,SAAA,CAAA,yBAAA,CAAA,GAAA,sBAAgD,CAAA;AAChD,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,2BAA2D,CAAA;AAC3D,IAAA,SAAA,CAAA,sBAAA,CAAA,GAAA,mBAA0C,CAAA;AAC1C,IAAA,SAAA,CAAA,wBAAA,CAAA,GAAA,qBAA8C,CAAA;AAC9C,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,wBAAoD,CAAA;AACpD,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,2BAA0D,CAAA;AAG1D,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,mBAAyC,CAAA;AACzC,IAAA,SAAA,CAAA,oDAAA,CAAA,GAAA,6CAAkG,CAAA;AAClG,IAAA,SAAA,CAAA,oDAAA,CAAA,GAAA,8CAAmG,CAAA;AACnG,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,iCAAwE,CAAA;AACxE,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,iCAAwE,CAAA;AACxE,IAAA,SAAA,CAAA,4CAAA,CAAA,GAAA,uCAAoF,CAAA;AACpF,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,kCAA0E,CAAA;AAC1E,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,+BAAoE,CAAA;AACpE,IAAA,SAAA,CAAA,gDAAA,CAAA,GAAA,yCAA0F,CAAA;AAC1F,IAAA,SAAA,CAAA,iDAAA,CAAA,GAAA,0CAA4F,CAAA;AAC5F,IAAA,SAAA,CAAA,4CAAA,CAAA,GAAA,sCAAmF,CAAA;AACnF,IAAA,SAAA,CAAA,4CAAA,CAAA,GAAA,yCAAsF,CAAA;AACtF,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,4CAAA,CAAA,GAAA,uCAAoF,CAAA;AAGpF,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,2BAA2D,CAAA;AAC3D,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AAGnE,IAAA,SAAA,CAAA,oBAAA,CAAA,GAAA,kBAAuC,CAAA;AACvC,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,iCAAwE,CAAA;AACxE,IAAA,SAAA,CAAA,gDAAA,CAAA,GAAA,0CAA2F,CAAA;AAG3F,IAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,iBAAoC,CAAA;AACpC,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,oCAA6E,CAAA;AAC7E,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,mCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,gDAAA,CAAA,GAAA,2CAA4F,CAAA;AAC5F,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,qCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,8CAAA,CAAA,GAAA,0CAAyF,CAAA;AACzF,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,qCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AAGnE,IAAA,SAAA,CAAA,eAAA,CAAA,GAAA,cAA8B,CAAA;AAC9B,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,mCAA4E,CAAA;AAC5E,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,iCAAwE,CAAA;AACxE,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,kCAA0E,CAAA;AAC1E,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,kCAA0E,CAAA;AAC1E,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,mCAA4E,CAAA;AAC5E,IAAA,SAAA,CAAA,qDAAA,CAAA,GAAA,8CAAoG,CAAA;AAGpG,IAAA,SAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,mCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,gCAAoE,CAAA;AACpE,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,6BAA8D,CAAA;AAG9D,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,6BAA8D,CAAA;AAC9D,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,mCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,yBAAsD,CAAA;AAGtD,IAAA,SAAA,CAAA,mBAAA,CAAA,GAAA,kBAAsC,CAAA;AACtC,IAAA,SAAA,CAAA,kDAAA,CAAA,GAAA,6CAAgG,CAAA;AAChG,IAAA,SAAA,CAAA,iDAAA,CAAA,GAAA,4CAA8F,CAAA;AAG9F,IAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,sCAAiF,CAAA;AACjF,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,qCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,2CAA2F,CAAA;AAC3F,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,2CAA2F,CAAA;AAG3F,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,WAAwB,CAAA;AACxB,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,0BAAyD,CAAA;AACzD,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,wBAAqD,CAAA;AACrD,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,mCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,0CAA0F,CAAA;AAC1F,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,yBAAsD,CAAA;AACtD,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,6BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,2BAA2D,CAAA;AAC3D,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,oCAA6E,CAAA;AAG7E,IAAA,SAAA,CAAA,yBAAA,CAAA,GAAA,uBAAiD,CAAA;AACjD,IAAA,SAAA,CAAA,wDAAA,CAAA,GAAA,kDAA2G,CAAA;AAC3G,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,0CAA0F,CAAA;AAC1F,IAAA,SAAA,CAAA,qEAAA,CAAA,GAAA,4DAAkI,CAAA;AAClI,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,qCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,0CAA0F,CAAA;AAC1F,IAAA,SAAA,CAAA,gDAAA,CAAA,GAAA,2CAA4F,CAAA;AAG5F,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,8BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,+BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,8BAAsE,CAAA;AACtE,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,2CAA2F,CAAA;AAC3F,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,2BAA0D,CAAA;AAC1D,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,8BAAgE,CAAA;AAGhE,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,SAAA,CAAA,8CAAA,CAAA,GAAA,0CAAyF,CAAA;AACzF,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,2CAA2F,CAAA;AAG3F,IAAA,SAAA,CAAA,cAAA,CAAA,GAAA,aAA4B,CAAA;AAC5B,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,4BAA6D,CAAA;AAC7D,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,0BAAyD,CAAA;AACzD,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,qCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,iDAAA,CAAA,GAAA,4CAA8F,CAAA;AAC9F,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,2BAA0D,CAAA;AAC1D,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,+BAAoE,CAAA;AACpE,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,6BAA+D,CAAA;AAC/D,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,sCAAiF,CAAA;AAGjF,IAAA,SAAA,CAAA,yBAAA,CAAA,GAAA,sBAAgD,CAAA;AAChD,IAAA,SAAA,CAAA,4CAAA,CAAA,GAAA,sCAAmF,CAAA;AACnF,IAAA,SAAA,CAAA,gEAAA,CAAA,GAAA,uDAAwH,CAAA;AACxH,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,wCAAwF,CAAA;AACxF,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,kCAA0E,CAAA;AAC1E,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,kCAA2E,CAAA;AAG3E,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,SAAA,CAAA,8CAAA,CAAA,GAAA,yCAAwF,CAAA;AACxF,IAAA,SAAA,CAAA,0DAAA,CAAA,GAAA,qDAAgH,CAAA;AAChH,IAAA,SAAA,CAAA,sDAAA,CAAA,GAAA,gDAAuG,CAAA;AACvG,IAAA,SAAA,CAAA,4DAAA,CAAA,GAAA,qDAAkH,CAAA;AAGlH,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,wBAAmD,CAAA;AAGnD,IAAA,SAAA,CAAA,eAAA,CAAA,GAAA,cAA8B,CAAA;AAC9B,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,sCAAiF,CAAA;AACjF,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,8CAAA,CAAA,GAAA,yCAAwF,CAAA;AACxF,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,kCAAyE,CAAA;AACzE,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,qCAAgF,CAAA;AAChF,IAAA,SAAA,CAAA,2CAAA,CAAA,GAAA,sCAAkF,CAAA;AAClF,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,wCAAyE,CAAA;AACzE,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AAGrE,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,+BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,2BAA2D,CAAA;AAC3D,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,4BAA6D,CAAA;AAC7D,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,yBAAsD,CAAA;AACtD,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,yBAAuD,CAAA;AACvD,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,mCAA4E,CAAA;AAC5E,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,2CAAA,CAAA,GAAA,sCAAkF,CAAA;AAClF,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,0CAA0F,CAAA;AAC1F,IAAA,SAAA,CAAA,iDAAA,CAAA,GAAA,4CAA8F,CAAA;AAC9F,IAAA,SAAA,CAAA,6CAAA,CAAA,GAAA,wCAAsF,CAAA;AACtF,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,4BAA6D,CAAA;AAC7D,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,6BAA+D,CAAA;AAC/D,IAAA,SAAA,CAAA,sDAAA,CAAA,GAAA,+CAAsG,CAAA;AACtG,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,0BAAwD,CAAA;AACxD,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,0BAAyD,CAAA;AACzD,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,qCAAgF,CAAA;AAChF,IAAA,SAAA,CAAA,4CAAA,CAAA,GAAA,uCAAoF,CAAA;AACpF,IAAA,SAAA,CAAA,gDAAA,CAAA,GAAA,2CAA4F,CAAA;AAC5F,IAAA,SAAA,CAAA,kDAAA,CAAA,GAAA,6CAAgG,CAAA;AAChG,IAAA,SAAA,CAAA,8CAAA,CAAA,GAAA,yCAAwF,CAAA;AACxF,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,6BAA+D,CAAA;AAC/D,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,8BAAiE,CAAA;AACjE,IAAA,SAAA,CAAA,uDAAA,CAAA,GAAA,gDAAwG,CAAA;AACxG,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,8BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,gDAAA,CAAA,GAAA,2CAA4F,CAAA;AAC5F,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,gCAAsE,CAAA;AACtE,IAAA,SAAA,CAAA,6CAAA,CAAA,GAAA,sCAAoF,CAAA;AAGpF,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,mBAAyC,CAAA;AACzC,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,mCAA4E,CAAA;AAC5E,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,0CAA0F,CAAA;AAC1F,IAAA,SAAA,CAAA,8CAAA,CAAA,GAAA,wCAAuF,CAAA;AACvF,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,qCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,sDAAA,CAAA,GAAA,+CAAsG,CAAA;AAGtG,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,WAAwB,CAAA;AACxB,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,4BAA6D,CAAA;AAG7D,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,QAAkB,CAAA;AAClB,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,6BAAiE,CAAA;AACjE,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,yBAAwD,CAAA;AACxD,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,uBAAmD,CAAA;AACnD,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,2BAA2D,CAAA;AAC3D,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,yBAAuD,CAAA;AACvD,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,4BAA6D,CAAA;AAC7D,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,8BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,0BAA0D,CAAA;AAC1D,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,8BAAkE,CAAA;AAGlE,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,oBAA0C,CAAA;AAC1C,IAAA,SAAA,CAAA,2CAAA,CAAA,GAAA,uCAAmF,CAAA;AAGnF,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,YAA0B,CAAA;AAC1B,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,+BAAoE,CAAA;AAGpE,IAAA,SAAA,CAAA,sBAAA,CAAA,GAAA,oBAA2C,CAAA;AAC3C,IAAA,SAAA,CAAA,oDAAA,CAAA,GAAA,8CAAmG,CAAA;AAGnG,IAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,gBAAmC,CAAA;AACnC,IAAA,SAAA,CAAA,gDAAA,CAAA,GAAA,0CAA2F,CAAA;AAG3F,IAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,gBAAmC,CAAA;AACnC,IAAA,SAAA,CAAA,gDAAA,CAAA,GAAA,0CAA2F,CAAA;AAG3F,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,yBAAsD,CAAA;AAGtD,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,YAA0B,CAAA;AAC1B,IAAA,SAAA,CAAA,wBAAA,CAAA,GAAA,qBAA8C,CAAA;AAC9C,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,mCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,gCAAsE,CAAA;AACtE,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,mCAA4E,CAAA;AAC5E,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AAGvE,IAAA,SAAA,CAAA,wBAAA,CAAA,GAAA,sBAA+C,CAAA;AAC/C,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAG9E,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,WAAwB,CAAA;AACxB,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,yBAAuD,CAAA;AAGvD,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,8BAAiE,CAAA;AAGjE,IAAA,SAAA,CAAA,cAAA,CAAA,GAAA,aAA4B,CAAA;AAC5B,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,kCAA0E,CAAA;AAC1E,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,qCAAgF,CAAA;AAChF,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,+BAAoE,CAAA;AACpE,IAAA,SAAA,CAAA,4CAAA,CAAA,GAAA,uCAAoF,CAAA;AACpF,IAAA,SAAA,CAAA,6CAAA,CAAA,GAAA,kCAAgF,CAAA;AAChF,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,kCAA0E,CAAA;AAC1E,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,iCAAwE,CAAA;AACxE,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,gCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,yCAAyF,CAAA;AACzF,IAAA,SAAA,CAAA,qDAAA,CAAA,GAAA,+CAAqG,CAAA;AACrG,IAAA,SAAA,CAAA,iDAAA,CAAA,GAAA,0CAA4F,CAAA;AAC5F,IAAA,SAAA,CAAA,uDAAA,CAAA,GAAA,gDAAwG,CAAA;AACxG,IAAA,SAAA,CAAA,kDAAA,CAAA,GAAA,2CAA8F,CAAA;AAC9F,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,mCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,+BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,4BAA4D,CAAA;AAC5D,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,kCAAyE,CAAA;AACzE,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,kCAAyE,CAAA;AACzE,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,qCAAgF,CAAA;AAChF,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,0BAAwD,CAAA;AACxD,IAAA,SAAA,CAAA,8CAAA,CAAA,GAAA,uCAAsF,CAAA;AACtF,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,wBAAqD,CAAA;AACrD,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,yBAAsD,CAAA;AACtD,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,oCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,6CAAA,CAAA,GAAA,wCAAsF,CAAA;AACtF,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,kCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,4CAAA,CAAA,GAAA,sCAAmF,CAAA;AACnF,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,qCAAgF,CAAA;AAChF,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,qCAAgF,CAAA;AAChF,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,4BAA4D,CAAA;AAC5D,IAAA,SAAA,CAAA,yBAAA,CAAA,GAAA,sBAAgD,CAAA;AAChD,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,uBAAmD,CAAA;AACnD,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,0BAAyD,CAAA;AACzD,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,yBAAuD,CAAA;AACvD,IAAA,SAAA,CAAA,4CAAA,CAAA,GAAA,qCAAkF,CAAA;AAClF,IAAA,SAAA,CAAA,6CAAA,CAAA,GAAA,sCAAoF,CAAA;AAGpF,IAAA,SAAA,CAAA,oBAAA,CAAA,GAAA,mBAAwC,CAAA;AACxC,IAAA,SAAA,CAAA,0DAAA,CAAA,GAAA,oDAA+G,CAAA;AAC/G,IAAA,SAAA,CAAA,gCAAA,CAAA,GAAA,6BAA8D,CAAA;AAC9D,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,2BAA0D,CAAA;AAC1D,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,2BAA0D,CAAA;AAC1D,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,gCAAoE,CAAA;AACpE,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,iCAAsE,CAAA;AACtE,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,gCAAoE,CAAA;AACpE,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,kCAAwE,CAAA;AACxE,IAAA,SAAA,CAAA,+BAAA,CAAA,GAAA,4BAA4D,CAAA;AAC5D,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,kCAAyE,CAAA;AACzE,IAAA,SAAA,CAAA,6CAAA,CAAA,GAAA,wCAAsF,CAAA;AACtF,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,8BAAiE,CAAA;AACjE,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,iCAAwE,CAAA;AACxE,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,gCAAsE,CAAA;AACtE,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,8BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,+BAAkE,CAAA;AAClE,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,0CAA0F,CAAA;AAC1F,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,mCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,8BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,qCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,sCAAgF,CAAA;AAChF,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,8BAAgE,CAAA;AAChE,IAAA,SAAA,CAAA,mDAAA,CAAA,GAAA,8CAAkG,CAAA;AAClG,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,qCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,mCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,+CAAA,CAAA,GAAA,0CAA0F,CAAA;AAC1F,IAAA,SAAA,CAAA,0CAAA,CAAA,GAAA,sCAAiF,CAAA;AACjF,IAAA,SAAA,CAAA,2CAAA,CAAA,GAAA,uCAAmF,CAAA;AACnF,IAAA,SAAA,CAAA,iDAAA,CAAA,GAAA,4CAA8F,CAAA;AAC9F,IAAA,SAAA,CAAA,mDAAA,CAAA,GAAA,8CAAkG,CAAA;AAClG,IAAA,SAAA,CAAA,kDAAA,CAAA,GAAA,6CAAgG,CAAA;AAChG,IAAA,SAAA,CAAA,2CAAA,CAAA,GAAA,uCAAmF,CAAA;AACnF,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,qCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,sCAAgF,CAAA;AAChF,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,mCAA0E,CAAA;AAC1E,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,qCAA+E,CAAA;AAC/E,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,+BAAiE,CAAA;AACjE,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,4BAA2D,CAAA;AAC3D,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,0BAAuD,CAAA;AACvD,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,4BAA2D,CAAA;AAC3D,IAAA,SAAA,CAAA,oDAAA,CAAA,GAAA,2CAAgG,CAAA;AAChG,IAAA,SAAA,CAAA,6CAAA,CAAA,GAAA,wCAAsF,CAAA;AACtF,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AAGvE,IAAA,SAAA,CAAA,WAAA,CAAA,GAAA,UAAsB,CAAA;AACtB,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,gCAAsE,CAAA;AAGtE,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,YAA0B,CAAA;AAC1B,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,+BAAoE,CAAA;AACpE,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,gCAAsE,CAAA;AACtE,IAAA,SAAA,CAAA,wCAAA,CAAA,GAAA,kCAA2E,CAAA;AAC3E,IAAA,SAAA,CAAA,2CAAA,CAAA,GAAA,qCAAiF,CAAA;AACjF,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,iCAAwE,CAAA;AACxE,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,6BAA+D,CAAA;AAC/D,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,yBAAuD,CAAA;AACvD,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,yBAAsD,CAAA;AACtD,IAAA,SAAA,CAAA,8BAAA,CAAA,GAAA,2BAA0D,CAAA;AAG1D,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,mBAAyC,CAAA;AACzC,IAAA,SAAA,CAAA,2CAAA,CAAA,GAAA,sCAAkF,CAAA;AAClF,IAAA,SAAA,CAAA,iDAAA,CAAA,GAAA,4CAA8F,CAAA;AAC9F,IAAA,SAAA,CAAA,4CAAA,CAAA,GAAA,uCAAoF,CAAA;AACpF,IAAA,SAAA,CAAA,2CAAA,CAAA,GAAA,sCAAkF,CAAA;AAClF,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,yCAAA,CAAA,GAAA,oCAA8E,CAAA;AAC9E,IAAA,SAAA,CAAA,kCAAA,CAAA,GAAA,8BAAiE,CAAA;AACjE,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,6BAA+D,CAAA;AAC/D,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,6BAA+D,CAAA;AAC/D,IAAA,SAAA,CAAA,2CAAA,CAAA,GAAA,sCAAkF,CAAA;AAClF,IAAA,SAAA,CAAA,qCAAA,CAAA,GAAA,iCAAuE,CAAA;AACvE,IAAA,SAAA,CAAA,sCAAA,CAAA,GAAA,iCAAwE,CAAA;AACxE,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,IAAA,SAAA,CAAA,iCAAA,CAAA,GAAA,6BAA+D,CAAA;AAC/D,IAAA,SAAA,CAAA,mCAAA,CAAA,GAAA,+BAAmE,CAAA;AACnE,IAAA,SAAA,CAAA,uCAAA,CAAA,GAAA,kCAA0E,CAAA;AAC1E,IAAA,SAAA,CAAA,2CAAA,CAAA,GAAA,sCAAkF,CAAA;AAGlF,IAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,WAA8B,CAAA;AAC9B,IAAA,SAAA,CAAA,iBAAA,CAAA,GAAA,UAA4B,CAAA;AAC5B,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,aAAmC,CAAA;AACnC,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,kBAA6C,CAAA;AAC7C,IAAA,SAAA,CAAA,sBAAA,CAAA,GAAA,cAAqC,CAAA;AACrC,IAAA,SAAA,CAAA,wBAAA,CAAA,GAAA,gBAAyC,CAAA;AACzC,IAAA,SAAA,CAAA,cAAA,CAAA,GAAA,OAAsB,CAAA;AAGtB,IAAA,SAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,2BAAuD,CAAA;AACzD,CAAC,EAzpBW,SAAS,KAAT,SAAS,GAypBpB,EAAA,CAAA,CAAA;;ICzpBW,UAEX;AAFD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACtB,CAAC,EAFW,SAAS,KAAT,SAAS,GAEpB,EAAA,CAAA,CAAA;;ACED,IAAK,kBAIJ,CAAA;AAJD,CAAA,UAAK,kBAAkB,EAAA;AACrB,IAAA,kBAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAW,CAAA;AACX,IAAA,kBAAA,CAAA,kBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAa,CAAA;AACb,IAAA,kBAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAW,CAAA;AACb,CAAC,EAJI,kBAAkB,KAAlB,kBAAkB,GAItB,EAAA,CAAA,CAAA,CAAA;MAKY,4BAA4B,CAAA;AAoBvC,IAAA,WAAA,GAAA;QAlBS,IAAwB,CAAA,wBAAA,GAAG,IAAI,CAAA;QAWJ,IAAe,CAAA,eAAA,GAAG,KAAK,CAAA;QAEnD,IAAwB,CAAA,wBAAA,GAAwB,IAAI,CAAA;QAGpD,IAAa,CAAA,aAAA,GAAG,CAAC,CAAA;AACjB,QAAA,IAAA,CAAA,SAAS,GAAuB,kBAAkB,CAAC,WAAW,CAAA;KACrD;AAhBjB,IAAA,IAAyC,eAAe,GAAA;AACtD,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,kBAAkB,CAAC,aAAa,CAAA;KAC3D;AACD,IAAA,IAAuC,aAAa,GAAA;AAClD,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,kBAAkB,CAAC,WAAW,CAAA;KACzD;AACD,IAAA,IAAuC,cAAc,GAAA;AACnD,QAAA,OAAO,IAAI,CAAC,SAAS,KAAK,kBAAkB,CAAC,WAAW,CAAA;KACzD;IASD,QAAQ,GAAA;QACN,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAQ,MAAM,EAAE,QAAQ,CAAC;AAC/D,aAAA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aACtB,SAAS,CAAC,MAAK;AACd,YAAA,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AAC/B,YAAA,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAA;AAC3B,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAA;YAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;AAC7C,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;AAC3B,SAAC,CAAC,CAAA;KACL;AAED,IAAA,eAAe,MAAM;IACrB,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,wBAAwB,EAAE;AACjC,YAAA,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAA;AAC5C,SAAA;KACF;AAEO,IAAA,cAAc,CAAC,IAAA,GAAe,CAAC,EAAE,OAAe,CAAC,EAAA;QACvD,IAAI,IAAI,GAAG,IAAI,EAAE;AACf,YAAA,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAA;AAChD,SAAA;aAAM,IAAI,IAAI,GAAG,IAAI,EAAE;AACtB,YAAA,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,aAAa,CAAA;AAClD,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAA;AAChD,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,kBAAkB,CAAC,WAAW,EAAE;YACrD,IAAI,CAAC,mBAAmB,EAAE,CAAA;AAC3B,SAAA;KACF;IACO,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,YAAY,GAAG,UAAU,CAC5B,MAAK;YACH,IAAI,CAAC,cAAc,EAAE,CAAA;AACvB,SAAC,EACD,IAAI,CAAC,wBAAwB,IAAI,IAAI,CACtC,CAAA;KACF;;;AA9DF,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,8BAA8B;AACzC,aAAA,EAAA,EAAA;;;;uCAGE,KAAK,EAAA,CAAA;AAEL,IAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAW,SAAC,sBAAsB,EAAA,EAAA,CAAA;AAGlC,IAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAW,SAAC,oBAAoB,EAAA,EAAA,CAAA;AAGhC,IAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAW,SAAC,oBAAoB,EAAA,EAAA,CAAA;AAGhC,IAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAW,SAAC,qBAAqB,EAAA,EAAA,CAAA;;;MCfvB,yBAAyB,CAAA;;;AAPrC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,4BAA4B,CAAC;AAC5C,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,4BAA4B,CAAC;AACxC,aAAA,EAAA,EAAA;;;MCLY,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;QAKW,IAAuB,CAAA,uBAAA,GAAG,EAAE,CAAA;QAC5B,IAAG,CAAA,GAAA,GAAG,EAAE,CAAA;QACjB,IAA8B,CAAA,8BAAA,GAAG,KAAK,CAAA;QAElB,IAAM,CAAA,MAAA,GAAG,EAAE,CAAA;KAchC;IAbwB,SAAS,GAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE;AACxC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAA;AAC1C,YAAA,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAA;AAC3C,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,GAAG,EAAE;AACZ,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAA;AACvB,SAAA;KACF;;;AArBF,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,2BAA2B;AACtC,aAAA,EAAA,EAAA;;;sCAGE,KAAK,EAAA,CAAA;kBACL,KAAK,EAAA,CAAA;AAGL,IAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAW,SAAC,KAAK,EAAA,EAAA,CAAA;AACjB,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,YAAY,SAAC,OAAO,EAAA,EAAA,CAAA;;;MCDV,sBAAsB,CAAA;;;AAPlC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;AACzC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;AACrC,aAAA,EAAA,EAAA;;;ACDD,MAAM,iBAAiB,GAAG;AACxB,IAAA,EAAE,EAAE,oBAAoB;AACxB,IAAA,CAAC,EAAE,+CAA+C;AAClD,IAAA,CAAC,EAAE,gDAAgD;AACnD,IAAA,CAAC,EAAE,iDAAiD;AACpD,IAAA,EAAE,EAAE,iDAAiD;AACrD,IAAA,GAAG,EAAE,yBAAyB;CAC/B,CAAA;MAKY,wBAAwB,CAAA;AAOnC,IAAA,WAAA,CACU,kBAAsC,EAAA;QAAtC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;QANvC,IAAG,CAAA,GAAA,GAAgC,IAAI,CAAA;QAC5B,IAAU,CAAA,UAAA,GAAG,EAAE,CAAA;QAEnC,IAAW,CAAA,WAAA,GAAG,EAAE,CAAA;QAChB,IAAsB,CAAA,sBAAA,GAAwB,IAAI,CAAA;AAIhD,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,kBAAkB;AAClD,aAAA,OAAO,CAAC;AACP,YAAA,iBAAiB,CAAC,EAAE;AACpB,YAAA,iBAAiB,CAAC,CAAC;AACnB,YAAA,iBAAiB,CAAC,CAAC;AACnB,YAAA,iBAAiB,CAAC,CAAC;AACnB,YAAA,iBAAiB,CAAC,EAAE;AACpB,YAAA,iBAAiB,CAAC,GAAG;SACtB,CAAC;aACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC5B,SAAS,CAAC,IAAI,IAAG;YAEhB,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;AAC3C,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;AACzB,aAAA;iBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE;AACjD,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;AACxB,aAAA;iBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;AAChD,gBAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAA;AACvB,aAAA;iBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;AAChD,gBAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAA;AACvB,aAAA;iBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;AAChD,gBAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAA;AACvB,aAAA;iBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE;AACjD,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;AACxB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;AACxB,aAAA;YACD,IAAI,CAAC,MAAM,EAAE,CAAA;AACf,SAAC,CAAC,CAAA;KACL;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,EAAE,CAAA;AACd,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC/B,YAAA,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAA;AAC1C,SAAA;KACF;IAEO,MAAM,GAAA;QACZ,IACE,IAAI,CAAC,WAAW;AAChB,YAAA,IAAI,CAAC,GAAG;AACR,YAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAC1B;YACA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AAC7C,SAAA;KACF;;;AAhEF,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,0BAA0B;AACrC,aAAA,EAAA,EAAA;;;YApBQ,kBAAkB,EAAA;;;kBAuBxB,KAAK,EAAA,CAAA;AACL,IAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAW,SAAC,KAAK,EAAA,EAAA,CAAA;;;MCbP,qBAAqB,CAAA;;;AAPjC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;AACxC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACpC,aAAA,EAAA,EAAA;;;MCHY,mBAAmB,CAAA;AAO9B,IAAA,WAAA,CAAoB,GAAe,EAAA;QAAf,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;AAFzB,QAAA,IAAA,CAAA,UAAU,GAA0B,IAAI,YAAY,EAAW,CAAA;KAEjC;IAExC,QAAQ,GAAA;QACN,IAAI,CAAC,KAAK,EAAE,CAAA;AACZ,QAAA,IAAI,CAAC,MAAM;AACT,YAAA,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;gBACjE,IAAI,CAAC,KAAK,EAAE,CAAA;AACd,aAAC,CAAC,CAAA;AACJ,QAAA,IAAI,CAAC,MAAM;AACT,YAAA,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;gBACjE,IAAI,CAAC,KAAK,EAAE,CAAA;AACd,aAAC,CAAC,CAAA;KAgBL;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;AACzB,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;KAC1B;AAED,IAAA,KAAK,CAAC,OAAA,GAAmB,IAAI,EAAE,YAAoB,MAAM,EAAA;AACvD,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAA;QAEjC,MAAM,MAAM,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,CAAA;AAEjD,QAAA,MAAM,GAAG,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAA;AAEtC,QAAA,MAAM,EAAE,GAAG;YACT,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,MAAM,EAAE,MAAM,CAAC,WAAW;SAC3B,CAAA;AAED,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;AAChD,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAA;AAEtD,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,CAAA;AACjD,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAA;AAEnD,QAAA,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,CAAA;AACtD,QAAA,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,CAAA;QAEtD,IAAI,KAAK,GAAG,KAAK,CAAA;QAEjB,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,YAAA,KAAK,GAAG,CAAC,MAAM,IAAI,QAAQ,IAAI,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAA;AACxD,SAAA;aAAM,IAAI,SAAS,KAAK,UAAU,EAAE;AACnC,YAAA,KAAK,GAAG,CAAC,MAAM,IAAI,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAA;AAC5C,SAAA;aAAM,IAAI,SAAS,KAAK,YAAY,EAAE;AACrC,YAAA,KAAK,GAAG,CAAC,MAAM,IAAI,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAA;AAC5C,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC5B;;;AA3EF,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,qBAAqB;AAChC,aAAA,EAAA,EAAA;;;YANiD,UAAU,EAAA;;;yBAYzD,MAAM,EAAA,CAAA;;;MCDI,gBAAgB,CAAA;;;AAP5B,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;gBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC9B,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;AACF,aAAA,EAAA,EAAA;;;MCLY,mBAAmB,CAAA;AAa9B,IAAA,WAAA,GAAA;QAZS,IAAiB,CAAA,iBAAA,GAAG,EAAE,CAAA;QACtB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAA;QAEG,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAA;KAS5B;AARsB,IAAA,YAAY,CAAC,MAAa,EAAA;AAC/D,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAClE,MAAM,CAAC,cAAc,EAAE,CAAA;YACvB,MAAM,CAAC,eAAe,EAAE,CAAA;AACxB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;AACpB,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;AACpC,SAAA;KACF;IAGD,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAClE,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;AACrB,SAAA;KACF;;;AAtBF,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,qBAAqB;AAChC,aAAA,EAAA,EAAA;;;;gCAEE,KAAK,EAAA,CAAA;2BACL,KAAK,EAAA,CAAA;uBACL,KAAK,EAAA,EAAA,EAAA,IAAA,EACL,WAAW,EAAA,IAAA,EAAA,CAAC,iBAAiB,EAAA,EAAA,CAAA;AAC7B,IAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,YAAY,EAAC,IAAA,EAAA,CAAA,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAA,EAAA,CAAA;;;MCC1B,gBAAgB,CAAA;;;AAP5B,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;AACnC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC/B,aAAA,EAAA,EAAA;;;MCLY,mBAAmB,CAAA;AAE9B,IAAA,WAAA,GAAA,GAAiB;;;AALlB,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,qBAAqB;AAChC,aAAA,EAAA,EAAA;;;;MCOY,gBAAgB,CAAA;;;AAP5B,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;AACnC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC/B,aAAA,EAAA,EAAA;;;ACVK,SAAU,yBAAyB,CAAC,GAA8D,EAAA;AACtG,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;SACvB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjB,GAAG,CAAC,CAAC,IAAG;QACP,OAAO,CAAA,EAAG,CAAC,CAAC,CAAC,CAAC,CAAI,CAAA,EAAA,CAAC,CAAC,CAAC,CAAC,CAAA,CAAE,CAAA;AAC1B,KAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAA;AACd;;MCOa,2BAA2B,CAAA;AAetC,IAAA,WAAA,GAAA;QAZA,IAAU,CAAA,UAAA,GAAiB,MAAM,CAAA;QAEjC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAA;AAEf,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAA;QAE7B,IAAoB,CAAA,oBAAA,GAAsB,IAAI,CAAA;QAE9C,IAAU,CAAA,UAAA,GAAG,KAAK,CAAA;QAClB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAA;QACV,IAAc,CAAA,cAAA,GAAwB,IAAI,CAAA;KAEjC;IAEjB,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,YAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAA;YACtD,IAAI,CAAC,cAAc,GAAG,SAAS,CAC7B,oBAAoB,CAAC,aAAa,EAClC,QAAQ,CACT;iBACE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;iBAC1C,SAAS,CAAC,CAAC,IAAG;gBACb,IAAI,CAAC,yBAAyB,CAAC,oBAAoB;AAChD,qBAAA,aAA4B,CAAC,CAAA;AAClC,aAAC,CAAC,CAAA;AACL,SAAA;KACF;IACD,WAAW,GAAA;AACT,QAAA,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAK;YACxB,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,gBAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,oBAAoB;AACrD,qBAAA,aAA4B,CAAC,CAAA;AACjC,aAAA;AACH,SAAC,CAAC,CAAA;KACH;IACD,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAA;AAClC,SAAA;KACF;IACD,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAG7B,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAE7B,MAAM,WAAW,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;AACzE,gBAAA,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC;oBAC/C,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW;AACtE,oBAAA,QAAQ,EAAE,QAAQ;AACnB,iBAAA,CAAC,CAAA;AACH,aAAA;AACF,SAAA;KACF;IACD,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAG7B,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAE7B,MAAM,WAAW,IAAI,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;AACzE,gBAAA,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC;oBAC/C,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW;AACtE,oBAAA,QAAQ,EAAE,QAAQ;AACnB,iBAAA,CAAC,CAAA;AACH,aAAA;AACF,SAAA;KACF;AACO,IAAA,yBAAyB,CAAC,IAAiB,EAAA;AACjD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;AACtB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;AACtB,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;AACxB,SAAA;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE;AAC3D,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;AACjC,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;AACrB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;AACxB,aAAA;AACF,SAAA;KACF;;;AA1FF,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,8BAA8B;gBACxC,QAAmD,EAAA,s8BAAA;;AAEpD,aAAA,EAAA,EAAA;;;;yBAGE,KAAK,EAAA,CAAA;sBAEL,KAAK,EAAA,CAAA;uBAEL,MAAM,EAAA,CAAA;AAEN,IAAA,oBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,SAAS,SAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAA,EAAA,CAAA;;;MCLxC,wBAAwB,CAAA;;;AAVpC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,2BAA2B,CAAC;AAC3C,gBAAA,OAAO,EAAE;oBACP,YAAY;oBACZ,eAAe;oBACf,aAAa;oBACb,wBAAwB;AACzB,iBAAA;gBACD,OAAO,EAAE,CAAC,2BAA2B,CAAC;AACvC,aAAA,EAAA,EAAA;;;MCRY,aAAa,CAAA;AACxB,IAAA,WAAA,CAAoB,SAAgC,EAAA;QAAhC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAuB;AAE5C,QAAA,IAAA,CAAA,YAAY,GAAG,OAAO,CAAC,KAAK,CAAA;AAC5B,QAAA,IAAA,CAAA,WAAW,GAAG,OAAO,CAAC,IAAI,CAAA;AAC1B,QAAA,IAAA,CAAA,UAAU,GAAG,OAAO,CAAC,GAAG,CAAA;AACxB,QAAA,IAAA,CAAA,WAAW,GAAG,OAAO,CAAC,IAAI,CAAA;AAC1B,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAI,CAAA;KANgB;AAQzD,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,YAAY,CAAA;KACzB;AACD,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAA;KACvE;AACD,IAAA,IAAI,GAAG,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;KACtE;AACD,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAA;KACvE;IAED,mBAAmB,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YAC/B,OAAM;AACP,SAAA;QACD,MAAM,kBAAkB,GAAe,MAAK;AAC1C,YAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;AAC7D,SAAC,CAAA;AAED,QAAA,OAAO,CAAC,IAAI,GAAG,kBAAkB,CAAA;AACjC,QAAA,OAAO,CAAC,IAAI,GAAG,kBAAkB,CAAA;AACjC,QAAA,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAA;KACnC;;;;AApCF,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;YALQ,qBAAqB,EAAA;;;ACK9B,MAAM,qBAAqB,GAAG,GAAG,CAAA;AACjC,MAAMA,YAAU,GAAG,kBAAkB,CAAA;AACrC,MAAMC,SAAO,GAAG,YAAY,CAAA;AAE5B,MAAM,aAAa,GAAG;AACpB,IAAA,eAAe,EAAE,+BAA+B;CACjD,CAAA;MAIY,oBAAoB,CAAA;IAiB/B,WAAoB,CAAA,SAAwB,EAAU,IAAgB,EAAA;QAAlD,IAAS,CAAA,SAAA,GAAT,SAAS,CAAe;QAAU,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAhB9D,QAAA,IAAA,CAAA,QAAQ,GAAgC;AAC9C,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,oBAAoB,EAAE,EAAE;AACxB,YAAA,YAAY,EAAE,KAAK;SACpB,CAAA;QACO,IAAS,CAAA,SAAA,GAAkB,IAAI,CAAA;QAC/B,IAAI,CAAA,IAAA,GAAkB,IAAI,CAAA;AAC1B,QAAA,IAAA,CAAA,OAAO,GAA4B;AACzC,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,SAAS,EAAE,EAAE;SACd,CAAA;KAE0E;AAE3E,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAA;KACvF;AACD,IAAA,IAAI,QAAQ,GAAA;QACV,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACxD,MAAM,IAAI,GAAG,mDAAmD,CAAA;AAChE,YAAA,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;AACtC,gBAAA,aAAa,EAAE,MAAM;AACrB,gBAAA,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;AACjC,gBAAA,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;AACnC,aAAA,CAAC,CAAA;YACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAC7C,YAAA,IAAI,QAAQ,EAAE;gBACZ,OAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,WAAW,CAAC,QAAQ,EAAE,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE,CAAA;AACvD,aAAA;YACD,OAAO,CAAA,EAAG,IAAI,CAAI,CAAA,EAAA,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAA;AAC3C,SAAA;AACD,QAAA,OAAO,IAAI,CAAA;KACZ;AACD,IAAA,SAAS,CAAC,WAAmB,EAAA;QAC3B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE;YAC3C,OAAO,CAAA,gFAAA,EAAmF,WAAW,CAAA,CAAE,CAAA;AACxG,SAAA;AACD,QAAA,OAAO,WAAW,CAAA;KACnB;AAIK,IAAA,IAAI,CAAC,MAAmD,EAAA;;AAC5D,YAAA,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE;AAClE,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;AACxF,aAAA;AACD,YAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAA;YAChC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACxD,YAAA,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;gBAC/D,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AACnC,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBACd,OAAM;AACP,iBAAA;gBACD,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAA;gBAC7C,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBAC/C,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACjB,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAClC,iBAAA;gBACD,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;AACpC,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AAEK,IAAA,KAAK,CAAC,KAAa,EAAA;;AACvB,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAoD,iDAAA,EAAA,KAAK,CAAG,CAAA,CAAA,CAAC,CAAA;gBACjF,OAAM;AACP,aAAA;AACD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;AAC9B,YAAA,IAAI,QAAQ,EAAE;AACZ,gBAAA,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAC1B,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;AACnF,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AAEK,IAAA,QAAQ,CAAC,KAAa,EAAA;;YAC1B,IACE,IAAI,CAAC,OAAO;AACZ,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAC9D,gBAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EACxB;AACA,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;AAChC,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBAC5B,IAAI;oBACF,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;AACjD,oBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAC5B,wBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;AACtB,wBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;AAChC,qBAAA;AACF,iBAAA;AAAC,gBAAA,OAAO,KAAK,EAAE;AACd,oBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACd,wBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAClB,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBACnF,IAAI;AACF,oBAAA,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AACxE,oBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;wBAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAA;AAC7C,wBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;AAChC,qBAAA;AACF,iBAAA;gBAAC,OAAO,KAAK,EAAE,GAAG;AACpB,aAAA;AACD,YAAA,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;SACjD,CAAA,CAAA;AAAA,KAAA;AAED,IAAA,uBAAuB,CAAC,KAAa,EAAA;AACnC,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAA;AAC3F,SAAA;QACD,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI;AACF,YAAA,QAAQ,GAAG,QAAQ,CAACA,SAAO,CAAC,OAAO,CAACD,YAAU,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAA;AAC5D,SAAA;QAAC,OAAO,KAAK,EAAE,GAAG;AACnB,QAAA,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,IAAI,GAAG,qBAAqB,CAAC,EAAE;YACrF,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,CAAuB,oBAAA,EAAA,qBAAqB,CAAsC,oCAAA,CAAA,CACnF,CAAA;AACD,YAAAC,SAAO,CAAC,OAAO,CAACD,YAAU,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;AAClD,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AAClB,SAAA;KACF;AAED,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;KAC3E;IAED,OAAO,CAAC,WAA+B,EAAE,SAA6B,EAAA;QACpE,IAAI,WAAW,IAAI,SAAS,EAAE;AAE5B,YAAA,OAAO,IAAI,CAAA;AACZ,SAAA;AACD,QAAA,OAAO,KAAK,CAAA;KACb;IAEK,oBAAoB,CAAC,IAAY,EAAE,WAAmB,EAAA;;AAC1D,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI;iBAC7B,GAAG,CAA0B,GAAG,aAAa,CAAA,MAAA,EAAS,IAAI,CAAgB,aAAA,EAAA,WAAW,EAAE,CAAC;AACxF,iBAAA,SAAS,EAAE,CAAA;AACd,YAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAA;SAC9C,CAAA,CAAA;AAAA,KAAA;AAEK,IAAA,gBAAgB,CAAC,KAAa,EAAA;;AAClC,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI;iBAC7B,GAAG,CAA0B,GAAG,aAAa,CAAC,eAAe,CAAU,OAAA,EAAA,KAAK,EAAE,CAAC;AAC/E,iBAAA,SAAS,EAAE,CAAA;AACd,YAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAA;SAC9C,CAAA,CAAA;AAAA,KAAA;AAED,IAAA,uBAAuB,CAAC,KAA8B,EAAA;QACpD,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAA;KACF;;;;AAtKF,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;YAfQ,aAAa,EAAA;YAEb,UAAU,EAAA;;;ACWnB,MAAM,OAAO,GAAG,YAAY,CAAA;AAC5B,MAAM,UAAU,GAAG,IAAI,CAAA;MAKV,mBAAmB,CAAA;AAE9B,IAAA,WAAA,CACU,SAAgC,EAChC,WAA4B,EAC5B,SAA+B,EAAA;QAF/B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAuB;QAChC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAiB;QAC5B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAsB;AAJjC,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,aAAa,CAAU,CAAC,CAAC,CAAA;QAMxD,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,UAAmB,KAAI;AACxD,YAAA,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,CAAA;AAC3C,YAAA,IACE,UAAU;gBACV,IAAI,CAAC,SAAS,CAAC,cAAc;gBAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,EACtD;AACA,gBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG;oBAC3B,KAAK,EAAE,IAAI,CAAC,SAAS;oBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,oBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;iBAC1B,CAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAA;KACH;AAGD,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAA;KAC9C;AACD,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAA;KACrC;AACD,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAA;KAC5D;AACD,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAA;KACpD;AACD,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAA;KACxD;AACD,IAAA,IAAI,MAAM,GAAA;QACR,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAA;QACjD,IAAI,CAAC,EAAE,EAAE;YACP,OAAM;AACP,SAAA;QACD,OAAO,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,MAAM,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;KAC5F;AAED,IAAA,IAAI,SAAS,GAAA;QACX,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAA;AAEjD,QAAA,MAAM,WAAW,GAAG,EAAE,CAAC,WAA2B,CAAA;AAClD,QAAA,MAAM,aAAa,GAAG,EAAE,CAAC,aAA6B,CAAA;AACtD,QAAA,QACE,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK;AACjC,aAAC,aAAa,IAAI,aAAa,CAAC,KAAK,CAAC;AACtC,aAAC,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC;AACzC,aAAC,WAAW,IAAI,WAAW,CAAC,kBAAkB,CAAC;AAC/C,aAAC,aAAa,IAAI,aAAa,CAAC,kBAAkB,CAAC,EACpD;KACF;AAED,IAAA,IAAI,QAAQ,GAAA;QACV,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAA;QACjD,QACE,CAAC,EAAE,CAAC,WAAW,IAAK,EAAE,CAAC,WAA4B,CAAC,IAAI;aACvD,EAAE,CAAC,aAAa,IAAK,EAAE,CAAC,aAA8B,CAAC,IAAI,CAAC,EAC9D;KACF;IAEK,QAAQ,GAAA;;AACZ,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;AAClC,gBAAA,OAAO,KAAK,CAAA;AACb,aAAA;AACD,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAA;AACpD,YAAA,IAAI,cAAc,CAAC,SAAS,CAAC,YAAY,EAAE;AACzC,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAA;AAC7D,aAAA;YACD,IAAI;gBACF,IAAI,CAAC,wBAAwB,EAAE,CAAA;gBAC/B,IAAI,CAAC,wBAAwB,EAAE,CAAA;AAC/B,gBAAA,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACjC,oBAAA,MAAM,EAAE;AACN,wBAAA,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG;AAChC,wBAAA,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK;AACpC,wBAAA,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,QAAQ;AAC3C,qBAAA;AACD,oBAAA,WAAW,kCACN,IAAI,CAAC,gBAAgB,EAAE,CAAA,EAAA,EAC1B,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM,IAAI,WAAW,EACrD,gBAAgB,EAAE,KAAK,EACxB,CAAA;AACD,oBAAA,uBAAuB,EAAE,IAAI;AAC7B,oBAAA,wBAAwB,EAAE,KAAK;AAC/B,oBAAA,kBAAkB,EAAE,cAAc,CAAC,QAAQ,CAAC,kBAAkB;AAC/D,iBAAA,CAAC,CAAA;AACH,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;AACZ,gBAAA,OAAO,KAAK,CAAA;AACb,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AAED,IAAA,KAAK,CACH,OAA2B,GAAA,GAAG,EAC9B,WAAsB,GAAA,IAAI,CAAC,kBAAkB,EAAA;AAE7C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5B,OAAO;AACP,YAAA,WAAW,EAAE,WAAW;AACzB,SAAA,CAAC,CAAA;KACH;AAED,IAAA,QAAQ,CACN,WAAA,GAAsB,IAAI,CAAC,kBAAkB,EAAA;AAE7C,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC/B,YAAA,WAAW,EAAE,WAAW;AACzB,SAAA,CAAC,CAAA;KACH;AAIK,IAAA,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAA;;YAEjD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAG,EAAA,YAAY,eAAe,CAAA;SAStD,CAAA,CAAA;AAAA,KAAA;IACK,YAAY,GAAA;;AAMhB,YAAA,IAAI,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE;AACzC,gBAAA,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;AACzC,aAAA;AAOD,YAAA,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;YAC9B,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE;gBAC5C,IAAI;oBACF,cAAc,CAAC,KAAK,EAAE,CAAA;oBACtB,YAAY,CAAC,KAAK,EAAE,CAAA;AACrB,iBAAA;gBAAC,OAAM,EAAA,EAAA;AAEP,iBAAA;gBACD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAA,UAAA,CAAY,CAAA;AAC9D,aAAA;AAAM,iBAAA;gBACL,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAA,aAAA,CAAe,CAAA;AACjE,aAAA;SAGF,CAAA,CAAA;AAAA,KAAA;IACO,wBAAwB,GAAA;QAC9B,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,KAAoB,KAAI;YAClE,QAAQ,KAAK,CAAC,IAAI;gBAChB,KAAK,iBAAiB,CAAC,WAAW;AAChC,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACnC,MAAK;gBACP,KAAK,iBAAiB,CAAC,YAAY;AACjC,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACnC,oBAAA,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;oBAC9B,MAAK;gBACP,KAAK,iBAAiB,CAAC,kBAAkB;oBACvC,MAAK;gBACP,KAAK,iBAAiB,CAAC,oBAAoB;oBACzC,MAAK;gBACP,KAAK,iBAAiB,CAAC,aAAa;oBAClC,MAAK;gBACP,KAAK,iBAAiB,CAAC,OAAO;oBAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBACxC,IAAI,KAAK,CAAC,IAAI,EAAE;wBACd,IAAI,CAAC,kBAAkB,EAAE,CAAA;AAC1B,qBAAA;oBACD,MAAK;gBACP,KAAK,iBAAiB,CAAC,cAAc;AACnC,oBAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;oBAChC,MAAK;AACR,aAAA;AACH,SAAC,CAAC,CAAA;KACH;IAEO,wBAAwB,GAAA;AAC9B,QAAA,SAAS,CAAe,MAAM,EAAE,SAAS,CAAC;aACvC,IAAI,CACH,MAAM,CACJ,CAAC,KAAmB,KAClB,OAAO,CAAC,KAAK,CAAC;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;AACnB,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc;AAClC,YAAA,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,KAAK,UAAU,CAAC,CAC1E,CACF;AACA,aAAA,SAAS,CAAC,CAAO,KAAmB,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AACvC,YAAA,MAAM,aAAa,GAAG,KAAK,CAAC,MAAgB,CAAA;YAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;AAC/C,YAAA,MAAM,QAAQ,GAAG;AACf,gBAAA,GAAG,EAAE,YAAY;AACjB,gBAAA,IAAI,EAAE,eAAe;AACrB,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE;oBACJ,KAAK;AACL,oBAAA,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACxD,iBAAA;aACF,CAAA;AACD,YAAA,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;SACzC,CAAA,CAAC,CAAA;KACL;IAGO,kBAAkB,GAAA;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAA;AACjD,QAAA,MAAM,aAAa,GAAwB;YACzC,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,YAAY,EAAE,EAAE,CAAC,YAAY;YAC7B,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,KAAK,EAAE,EAAE,CAAC,KAAK;SAChB,CAAA;AACD,QAAA,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;KAC3D;IACO,gBAAgB,GAAA;QACtB,IAAI;YAEF,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAC7C,YAAA,IAAI,SAAS,EAAE;gBACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;gBACvC,IACE,SAAS,IAAI,SAAS;AACtB,oBAAA,cAAc,IAAI,SAAS;AAC3B,oBAAA,UAAU,IAAI,SAAS;oBACvB,OAAO,IAAI,SAAS,EACpB;AACA,oBAAA,OAAO,SAAS,CAAA;AACjB,iBAAA;AACF,aAAA;AACF,SAAA;QAAC,OAAO,CAAC,EAAE,GAAG;AACf,QAAA,OAAO,EAAE,CAAA;KACV;AAED,IAAA,IAAY,kBAAkB,GAAA;QAC5B,IAAI;AACF,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;AAChC,YAAA,OAAO,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAA;AAClC,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;YACd,OAAO,QAAQ,CAAC,MAAM,CAAA;AACvB,SAAA;KACF;;;;AAnQF,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;YAdQ,qBAAqB,EAAA;YAJkC,eAAe,EAAA;YAGtE,oBAAoB,EAAA;;;ACQ7B,MAAM,kBAAkB,GAAG,CAAC,CAAA;MASf,cAAc,CAAA;AAEzB,IAAA,WAAA,CACU,IAAgB,EAChB,QAAkB,EAClB,MAAc,EACd,KAAqB,EAAA;QAHrB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAChB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QAL/B,IAAgB,CAAA,gBAAA,GAAU,EAAE,CAAA;QAQ1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAU,KAAI;YAC1C,IAAI,KAAK,YAAY,aAAa,EAAE;AAGlC,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;AAGpC,gBAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAA;AAC3C,gBAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAC7C,aAAA;AACH,SAAC,CAAC,CAAA;KACH;IAEO,iBAAiB,CAAC,QAAgC,EAAE,UAAyC,EAAA;AACnG,QAAA,IAAI,UAAU,EAAE;YACd,IAAI,UAAU,CAAC,IAAI,EAAE;gBAEnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAC5C,aAAA;YACD,IAAI,UAAU,CAAC,UAAU,EAAE;gBACzB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;AACxD,aAAA;AACF,SAAA;KACF;AAED,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,kBAAkB,GAAG,CAAC,CAAA;KAC9B;AAED,IAAA,OAAO,CAAI,GAAW,EAAA;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,GAAG,CAAC,CAAA;KAC7B;IAED,YAAY,CAA2B,IAAO,EAAE,KAAU,EAAA;QACxD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,MAAM,KAAK,CAAC,EAAE;AACtC,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACjB,SAAA;AAAM,aAAA;YACL,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAG;AAC5B,oBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACjC,iBAAC,CAAC,CAAA;AACH,aAAA;AACF,SAAA;AACD,QAAA,OAAO,KAAK,CAAA;KACb;IACD,OAAO,CAA2B,IAAO,EAAE,EAAU,EAAA;QACnD,MAAM,IAAI,GAAQ,EAAE,CAAA;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;AAC5B,QAAA,OAAO,IAAI,CAAA;KACZ;AAEO,IAAA,OAAO,CAA2B,IAAO,EAAE,OAAY,EAAE,EAAU,EAAA;QACzE,IAAI,IAAI,IAAI,IAAI,EAAE;AAChB,YAAA,OAAO,KAAK,CAAA;AACb,SAAA;AACD,QAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAClB,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;AAC1B,YAAA,OAAO,IAAI,CAAA;AACZ,SAAA;AACD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;AACpC,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE;AACpD,YAAA,OAAO,IAAI,CAAA;AACZ,SAAA;QACD,OAAO,CAAC,GAAG,EAAE,CAAA;AACb,QAAA,OAAO,KAAK,CAAA;KACb;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;AAChC,YAAA,OAAO,IAAI,CAAA;AACZ,SAAA;AACD,QAAA,OAAO,KAAK,CAAA;KACb;AAED,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAA;KACzB;AAED,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAA;KAC7B;AACD,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;KAC9B;AAED,IAAA,IAAI,SAAS,GAAA;QACX,IACE,MAAM,CAAC,MAAM;YACb,MAAM,CAAC,MAAM,CAAC,eAAe;AAC7B,YAAA,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,EACpC;AACA,YAAA,OAAO,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAA;AAC5C,SAAA;AACD,QAAA,OAAO,IAAI,CAAA;KACZ;AAEM,IAAA,YAAY,CAAC,IAAS,EAAA;AAC3B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;KAC7B;AAED,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,MAAM,IAAI,GAAmC;AAC3C,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,MAAM,EAAE,EAAE;SACX,CAAA;QAGD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAO,KAAI;YACpC,IAAI,EAAE,CAAC,MAAM,EAAE;AACb,gBAAA,IAAI,CAAC,MAAM,GAAG,CAAA,EAAG,IAAI,CAAC,MAAM,CAAA,CAAA,EAAI,EAAE,CAAC,MAAM,CAAA,CAAE,CAAA;AAC5C,aAAA;YACD,IAAI,EAAE,CAAC,MAAM,EAAE;AACb,gBAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAA;AACxB,aAAA;AACH,SAAC,CAAC,CAAA;AACF,QAAA,OAAO,IAAI,CAAA;KACZ;;;;AAhIF,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;YAnBQ,UAAU,EAAA;YADV,QAAQ,EAAA;YAIR,MAAM,EAAA;YAAiB,cAAc,EAAA;;;MCQjC,eAAe,CAAA;AAK1B,IAAA,WAAA,CACS,SAAwC,EACvC,OAA4B,EAC5B,SAAgC,EAChC,UAA0B,EAAA;QAH3B,IAAS,CAAA,SAAA,GAAT,SAAS,CAA+B;QACvC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAqB;QAC5B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAuB;QAChC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAgB;QAPpC,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAA;QAChB,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAA;QACzB,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAA;KAOxB;IAEL,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE;AACrC,YAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;AAC9E,YAAA,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;AACvF,SAAA;KACF;IAED,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;AACtB,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;KAG5B;AAED,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,0BAA0B;AAC3F,aAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;AAC7D,YAAA,OAAO,IAAI,CAAA;AACZ,SAAA;AACD,QAAA,OAAO,KAAK,CAAA;KACb;;;AAvCF,IAAA,EAAA,IAAA,EAAA,SAAS,EAAC,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,iBAAiB;gBAC3B,QAAsC,EAAA,6lBAAA;;AAEvC,aAAA,EAAA,EAAA;;;YAVQ,YAAY,EAAA;YAEZ,mBAAmB,EAAA;YACnB,qBAAqB,EAAA;YACrB,cAAc,EAAA;;;MCWV,YAAY,CAAA;;;AATxB,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,eAAe,CAAC;AAC/B,gBAAA,OAAO,EAAE;oBACP,YAAY;oBACZ,eAAe;oBACf,eAAe;AAChB,iBAAA;gBACD,eAAe,EAAE,CAAC,eAAe,CAAC;AACnC,aAAA,EAAA,EAAA;;;MCJY,wBAAwB,CAAA;AACnC,IAAA,SAAS,CAAC,SAAqB,EAAA;QAC7B,IAAI;AACF,YAAA,IAAI,YAAoB,CAAA;AACxB,YAAA,IAAI,MAAc,CAAA;AAClB,YAAA,IAAI,MAAc,CAAA;YAClB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YAC7C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;AAEzC,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE;AACvB,gBAAA,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC7D,gBAAA,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE;AAC5B,gBAAA,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE;aACzB,CAAA;AAED,YAAA,MAAM,SAAS,GAAG;AAChB,gBAAA,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE;AACrB,gBAAA,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC3D,gBAAA,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE;AAC1B,gBAAA,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE;aACvB,CAAA;AAED,YAAA,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;AACvC,gBAAA,YAAY,GAAG,CAAA,EAAG,WAAW,CAAC,GAAG,CAAI,CAAA,EAAA,WAAW,CAAC,KAAK,CAAI,CAAA,EAAA,WAAW,CAAC,IAAI,EAAE,CAAA;AAC5E,gBAAA,OAAO,YAAY,CAAA;AACpB,aAAA;AAED,YAAA,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE;AACzC,gBAAA,MAAM,GAAG,CAAA,EAAG,WAAW,CAAC,GAAG,CAAI,CAAA,EAAA,WAAW,CAAC,KAAK,CAAI,CAAA,EAAA,WAAW,CAAC,IAAI,EAAE,CAAA;AACtE,gBAAA,MAAM,GAAG,CAAA,EAAG,SAAS,CAAC,GAAG,CAAI,CAAA,EAAA,SAAS,CAAC,KAAK,CAAI,CAAA,EAAA,SAAS,CAAC,IAAI,EAAE,CAAA;AAChE,gBAAA,YAAY,GAAG,CAAG,EAAA,MAAM,CAAM,GAAA,EAAA,MAAM,EAAE,CAAA;AACtC,gBAAA,OAAO,YAAY,CAAA;AACpB,aAAA;AAED,YAAA,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE;AACzC,gBAAA,MAAM,GAAG,CAAG,EAAA,WAAW,CAAC,GAAG,EAAE,CAAA;AAC7B,gBAAA,MAAM,GAAG,CAAA,EAAG,SAAS,CAAC,GAAG,CAAI,CAAA,EAAA,SAAS,CAAC,KAAK,CAAI,CAAA,EAAA,SAAS,CAAC,IAAI,EAAE,CAAA;AACjE,aAAA;AAAM,iBAAA;gBACL,MAAM,GAAG,CAAG,EAAA,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,KAAK,CAAA,CAAE,CAAA;AAClD,gBAAA,MAAM,GAAG,CAAA,EAAG,SAAS,CAAC,GAAG,CAAI,CAAA,EAAA,SAAS,CAAC,KAAK,CAAI,CAAA,EAAA,SAAS,CAAC,IAAI,EAAE,CAAA;AACjE,aAAA;AAED,YAAA,YAAY,GAAG,CAAG,EAAA,MAAM,CAAM,GAAA,EAAA,MAAM,EAAE,CAAA;AACtC,YAAA,OAAO,YAAY,CAAA;AACpB,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;YACV,OAAO,CAAA,EAAG,SAAS,CAAC,QAAQ,MAAM,SAAS,CAAC,MAAM,CAAA,CAAE,CAAA;AACrD,SAAA;KACF;;;AAnDF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,sBAAsB;AAC7B,aAAA,EAAA,EAAA;;;MCDY,0BAA0B,CAAA;;;AALtC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;gBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACpC,aAAA,EAAA,EAAA;;;MCHY,sBAAsB,CAAA;AAEjC,IAAA,SAAS,CAAC,KAAa,EAAA;QACrB,MAAM,QAAQ,GAAG,IAAI,CAAA;QACrB,MAAM,OAAO,GAAG,OAAO,CAAA;QACvB,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,IAAI,KAAK,GAAG,QAAQ,EAAE;AACpB,gBAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACrB,aAAA;AACD,YAAA,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,GAAG,OAAO,EAAE;AACxC,gBAAA,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;AAC3C,gBAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACvB,OAAO,CAAA,EAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,CAAA;AACjC,iBAAA;gBACD,OAAO,CAAA,EAAG,KAAK,CAAA,CAAA,CAAG,CAAA;AACnB,aAAA;AACD,YAAA;AACE,gBAAA,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;AAC1C,gBAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACvB,OAAO,CAAA,EAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,CAAA;AACjC,iBAAA;gBACD,OAAO,CAAA,EAAG,KAAK,CAAA,CAAA,CAAG,CAAA;AACnB,aAAA;AACF,SAAA;AACD,QAAA,OAAO,GAAG,CAAA;KACX;;;AA5BF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,oBAAoB;AAC3B,aAAA,EAAA,EAAA;;;MCOY,wBAAwB,CAAA;;;AAPpC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACtC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,aAAA,EAAA,EAAA;;;MCEY,kBAAkB,CAAA;AAG7B,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;SACN,CAAA;KACF;AAED,IAAA,SAAS,CAAC,KAAyB,EAAA;QACjC,IAAI,OAAO,GAAG,CAAG,EAAA,KAAK,CAAC,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAA,CAAE,CAAA;QAC1E,IAAI,KAAK,CAAC,QAAQ,EAAE;AAClB,YAAA,OAAO,IAAI,CAAI,CAAA,EAAA,KAAK,CAAC,QAAQ,EAAE,CAAA;AAChC,SAAA;AAED,QAAA,OAAO,OAAO,CAAA;KACf;;;AA9BF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,gBAAgB;AACvB,aAAA,EAAA,EAAA;;;;MCAY,oBAAoB,CAAA;;;AAPhC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC9B,aAAA,EAAA,EAAA;;;MCLY,yBAAyB,CAAA;IAEpC,SAAS,CAAC,IAAY,EAAE,IAA+B,EAAA;QACrD,IAAI,IAAI,IAAI,CAAC,EAAE;AACb,YAAA,OAAO,EAAE,CAAA;AACV,SAAA;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;AACjC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,CAAA;AACxC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,CAAA;QACxC,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,IAAI,KAAK,GAAG,EAAE,CAAA;AAEd,QAAA,QAAQ,IAAI;AACV,YAAA,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AACtC,YAAA,KAAK,KAAK;gBACR,IAAI,CAAC,GAAG,CAAC,EAAE;AACT,oBAAA,QAAQ,IAAI,IAAI,KAAK,KAAK,GAAG,CAAA,EAAG,CAAC,CAAA,CAAA,CAAG,GAAG,CAAG,EAAA,CAAC,KAAK,CAAA;AACjD,iBAAA;gBACD,IAAI,CAAC,GAAG,CAAC,EAAE;oBACT,IAAI,CAAC,GAAG,CAAC,EAAE;wBACT,KAAK,GAAG,GAAG,CAAA;AACZ,qBAAA;oBACD,QAAQ,IAAI,IAAI,KAAK,KAAK,GAAG,GAAG,KAAK,CAAA,EAAG,CAAC,CAAG,CAAA,CAAA,GAAG,CAAA,EAAG,KAAK,CAAG,EAAA,CAAC,MAAM,CAAA;AAClE,iBAAA;AACD,gBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBACpB,IAAI,CAAC,GAAG,CAAC,EAAE;wBACT,KAAK,GAAG,GAAG,CAAA;AACZ,qBAAA;oBACD,QAAQ,IAAI,IAAI,KAAK,KAAK,GAAG,GAAG,KAAK,CAAA,EAAG,CAAC,CAAG,CAAA,CAAA,GAAG,CAAA,EAAG,KAAK,CAAG,EAAA,CAAC,MAAM,CAAA;AAClE,iBAAA;AACD,gBAAA,OAAO,QAAQ,CAAA;AACjB,YAAA,KAAK,MAAM;gBACT,IAAI,CAAC,KAAK,CAAC,EAAE;oBACX,QAAQ,IAAI,mBAAmB,CAAA;AAChC,iBAAA;gBACD,IAAI,CAAC,KAAK,CAAC,EAAE;AACX,oBAAA,QAAQ,IAAI,CAAA,EAAG,CAAC,CAAA,KAAA,CAAO,CAAA;AACxB,iBAAA;gBACD,IAAI,CAAC,GAAG,CAAC,EAAE;AACT,oBAAA,QAAQ,IAAI,CAAA,EAAG,CAAC,CAAA,MAAA,CAAQ,CAAA;AACzB,iBAAA;AACD,gBAAA,OAAO,QAAQ,CAAA;AACjB,YAAA;gBACE,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AACvC,SAAA;KACF;AAED,IAAA,eAAe,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAA;QAC7C,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAG,EAAA,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAA;QACvD,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAG,EAAA,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAA;QAC1D,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AACnD,QAAA,OAAO,QAAQ,CAAA;KAChB;;;AAzDF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,uBAAuB;AAC9B,aAAA,EAAA,EAAA;;;MCOY,2BAA2B,CAAA;;;AAPvC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;AACzC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,yBAAyB,CAAC;AACrC,aAAA,EAAA,EAAA;;;MCLY,sBAAsB,CAAA;AAEjC,IAAA,SAAS,CAAC,UAAkB,EAAA;AAC1B,QAAA,OAAO,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,EAAE,CAAA;KACrE;;;AAPF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,oBAAoB;AAC3B,aAAA,EAAA,EAAA;;;MCOY,wBAAwB,CAAA;;;AAPpC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACtC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,aAAA,EAAA,EAAA;;;MCLY,cAAc,CAAA;AAEzB,IAAA,SAAS,CAAC,KAAU,EAAE,IAAY,EAAE,IAAY,EAAA;QAC9C,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,KAAK,CAAA;AACb,SAAA;AACD,QAAA,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AACvD,aAAA,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,CAAI,CAAA,EAAA,IAAI,CAAG,CAAA,CAAA,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;KAE3F;;;AAZF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,YAAY;AACnB,aAAA,EAAA,EAAA;;;MCOY,gBAAgB,CAAA;;;AAP5B,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,cAAc,CAAC;AAC9B,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,cAAc,CAAC;AAC1B,aAAA,EAAA,EAAA;;;MCLY,oBAAoB,CAAA;AAE/B,IAAA,SAAS,CAAC,KAAY,EAAE,UAAkB,EAAE,GAAG,IAAS,EAAA;QACtD,IAAI,CAAC,KAAK,EAAE;AAAE,YAAA,OAAO,EAAE,CAAA;AAAE,SAAA;QACzB,IAAI,CAAC,UAAU,EAAE;AAAE,YAAA,OAAO,KAAK,CAAA;AAAE,SAAA;AACjC,QAAA,MAAM,mBAAmB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;AACpD,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YACvB,MAAM,MAAM,GAAI,KAAK,CAAC,MAAM,CAAC,EAAE,IAAG;AAChC,gBAAA,OAAO,EAAE,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;AAMnF,aAAC,CAAC,CAAA;AACF,YAAA,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;AAChC,gBAAA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AACZ,aAAA;AACD,YAAA,OAAO,MAAM,CAAA;AACd,SAAA;AACD,QAAA,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,IAAG;YACvB,OAAO,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;AAC7D,SAAC,CAAC,CAAA;KACH;;;AA1BF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,kBAAkB;AACzB,aAAA,EAAA,EAAA;;;MCOY,sBAAsB,CAAA;;;AAPlC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,aAAA,EAAA,EAAA;;;MCLY,kBAAkB,CAAA;AAE7B,IAAA,SAAS,CAAC,KAAU,EAAE,IAAY,EAAE,IAAY,EAAA;QAC9C,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,KAAK,CAAA;AACb,SAAA;AACD,QAAA,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;aACvD,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;eAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAG,CAAA,CAAA,EAAE,iBAAiB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAA;KAG/F;;;AAdF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,gBAAgB;AACvB,aAAA,EAAA,EAAA;;;MCOY,oBAAoB,CAAA;;;AAPhC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC9B,aAAA,EAAA,EAAA;;;ACRD,MAAME,QAAM,GAAG,OAAO,CAAA;MAKT,oBAAoB,CAAA;AAC/B,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,OAAOA,QAAM,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAA;AAC3C,SAAA;QACD,OAAOA,QAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;KAC1C;;;AATF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,kBAAkB;AACzB,aAAA,EAAA,EAAA;;;MCKY,sBAAsB,CAAA;;;AAPlC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,aAAA,EAAA,EAAA;;;MCHY,WAAW,CAAA;AAJxB,IAAA,WAAA,GAAA;QAKE,IAAS,CAAA,SAAA,GAAG,OAAO,CAAA;KACpB;;;AANA,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,SAAS;AAChB,aAAA,EAAA,EAAA;;;MCMY,iBAAiB,CAAA;;;AAP7B,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,WAAW,CAAC;AAC3B,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,WAAW,CAAC;AACvB,aAAA,EAAA,EAAA;;;MCLY,eAAe,CAAA;AAE1B,IAAA,SAAS,CAAC,IAAS,EAAE,KAAA,GAAgB,CAAC,EAAA;AACpC,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACzB,YAAA,OAAO,IAAI,CAAA;AACZ,SAAA;AACD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAC5B,SAAA;AACD,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAC1C,YAAA,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;gBACvB,OAAO,CAAA,EAAG,YAAY,CAAA,GAAA,CAAK,CAAA;AAC5B,aAAA;AACD,YAAA,OAAO,YAAY,CAAA;AACpB,SAAA;AACD,QAAA,OAAO,IAAI,CAAA;KACZ;;;AApBF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,aAAa;AACpB,aAAA,EAAA,EAAA;;;MCOY,iBAAiB,CAAA;;;AAP7B,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,eAAe,CAAC;AAC/B,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,eAAe,CAAC;AAC3B,aAAA,EAAA,EAAA;;;MCCY,qBAAqB,CAAA;AAEhC,IAAA,SAAS,CAAC,KAAgB,EAAA;QACxB,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,KAAK,CAAC,SAAS,EAAE;AACnB,YAAA,MAAM,IAAI,KAAK,CAAC,SAAS,CAAA;AAC1B,SAAA;QACD,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,SAAS,EAAE;AACxD,YAAA,MAAM,IAAI,CAAI,CAAA,EAAA,KAAK,CAAC,QAAQ,EAAE,CAAA;AAC/B,SAAA;AACD,QAAA,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;AACxB,YAAA,OAAO,MAAM,CAAA;AACd,SAAA;QACD,IAAI,KAAK,CAAC,KAAK,EAAE;YACf,OAAO,KAAK,CAAC,KAAK,CAAA;AACnB,SAAA;AACD,QAAA,OAAO,gBAAgB,CAAA;KACxB;;;AApBF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,mBAAmB;AAC1B,aAAA,EAAA,EAAA;;;MCCY,uBAAuB,CAAA;;;AAPnC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;AACrC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACjC,aAAA,EAAA,EAAA;;;MCLY,sBAAsB,CAAA;IAEjC,SAAS,CAAC,KAAU,EAAE,IAAc,EAAA;QAClC,MAAM,MAAM,GAA2B,EAAE,CAAA;AACzC,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AACtB,YAAA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;gBACd,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;AACzB,aAAA;AACF,SAAA;AACD,QAAA,OAAO,MAAM,CAAA;KACd;;;AAbF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,oBAAoB;AAC3B,aAAA,EAAA,EAAA;;;MCOY,wBAAwB,CAAA;;;AAPpC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACtC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,aAAA,EAAA,EAAA;;;MCJY,qBAAqB,CAAA;AAEhC,IAAA,WAAA,CAAsB,SAAuB,EAAA;QAAvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;KAAK;AAC3C,IAAA,SAAS,CACd,KAAa,EACb,IAAA,GAAe,MAAM,EAAA;AAErB,QAAA,QAAQ,IAAI;AACV,YAAA,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAA;AACtD,YAAA,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAA;AACvD,YAAA,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAA;AACxD,YAAA,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;AACrD,YAAA,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAA;AAC7D,YAAA;AACE,gBAAA,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAA,CAAE,CAAC,CAAA;AAC1D,SAAA;KACF;;;AAxBF,IAAA,EAAA,IAAA,EAAA,IAAI,EAAC,IAAA,EAAA,CAAA;AACJ,gBAAA,IAAI,EAAE,mBAAmB;AAC1B,aAAA,EAAA,EAAA;;;YAJQ,YAAY,EAAA;;;MCUR,uBAAuB,CAAA;;;AAPnC,IAAA,EAAA,IAAA,EAAA,QAAQ,EAAC,IAAA,EAAA,CAAA;gBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;AACrC,gBAAA,OAAO,EAAE;oBACP,YAAY;AACb,iBAAA;gBACD,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACjC,aAAA,EAAA,EAAA;;;MCEY,oBAAoB,CAAA;AAQ/B,IAAA,WAAA,CACU,IAAgB,EAChB,SAAgC,EAChC,UAA0B,EAAA;QAF1B,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAChB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAuB;QAChC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAgB;AAL5B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA;QACzC,IAAyB,CAAA,yBAAA,GAAG,KAAK,CAAA;KAK5B;IAEL,OAAO,CACL,KAA6B,EAC7B,MAA2B,EAAA;QAE3B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAA;QACjE,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,GAAG,GAAG,EAAE,CAAA;AACZ,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;AACtB,YAAA,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA;AACzB,SAAA;AACD,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;AACxD,YAAA,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,OAAO,CAAA,MAAA,EAAS,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA,KAAA,CAAO,CAAA;AACxD,SAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAC5B,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAC/E,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAClD,CAAA;KACF;IAEO,iBAAiB,CAAC,QAAa,EAAE,GAAW,EAAA;QAClD,MAAM,SAAS,GAAG,GAAG,CAAA;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACjC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,KAAI;YAClG,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE;gBAC1D,QAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK;AACxD,qBAAA,MAAM,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;AACvD,aAAA;AAED,YAAA,IAAI,MAAM,CAAC,aAAa,KAAK,gBAAgB,EAAE;AAC7C,gBAAA,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;AACxB,wBAAA,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS;AACtC,wBAAA,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,YAAY;AAC9C,qBAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,GAAW,MAAM;AACjD,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,QAAQ,EAAE,CAAiB,cAAA,EAAA,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAE,CAAA;iBACpE,CAAC,CAAC,CAAC,CAAA;AACL,aAAA;AAED,YAAA,IAAI,MAAM,CAAC,aAAa,KAAK,sBAAsB,EAAE;AACnD,gBAAA,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,KAAI;oBACrE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBAC1E,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;wBAC/D,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AAC/E,qBAAA;AACD,oBAAA,OAAO,KAAK,CAAA;AACd,iBAAC,CAAC,CAAA;AACF,gBAAA,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE;oBACtF,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,KAAI;wBACrH,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;wBAC1E,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;4BAC/D,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AAC/E,yBAAA;AACD,wBAAA,OAAO,KAAK,CAAA;AACd,qBAAC,CAAC,CAAA;AACH,iBAAA;AAEF,aAAA;AACD,YAAA,OAAO,MAAM,CAAA;AACf,SAAC,CAAC,CAAA;AAEF,QAAA,OAAO,QAAQ,CAAA;KAChB;;;;AA9EF,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;YARQ,UAAU,EAAA;YAGV,qBAAqB,EAAA;YADrB,cAAc,EAAA;;;MCKV,wBAAwB,CAAA;AAMnC,IAAA,WAAA,CACU,IAAgB,EAAA;QAAhB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KACrB;IAEL,OAAO,CACL,KAA6B,EAC7B,MAA2B,EAAA;AAE3B,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC3C,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAC/E,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAClD,CAAA;KACF;IAEO,iBAAiB,CAAC,QAAa,EAAE,GAAW,EAAA;QAClD,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,KAAI;AAClG,YAAA,IAAI,MAAM,CAAC,aAAa,KAAK,sBAAsB,EAAE;AACnD,gBAAA,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,KAAI;AACrE,oBAAA,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;AACrE,oBAAA,OAAO,KAAK,CAAA;AACd,iBAAC,CAAC,CAAA;AACH,aAAA;AAED,YAAA,OAAO,MAAM,CAAA;AACf,SAAC,CAAC,CAAA;AAEF,QAAA,OAAO,QAAQ,CAAA;KAChB;;;;AArCF,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;YANQ,UAAU,EAAA;;;ACHZ,MAAM,QAAQ,GAAQ;AAC3B,IAAA,QAAQ,EAAE,OAAO;CAClB;;MCYY,WAAW,CAAA;AAEtB,IAAA,WAAA,CACU,SAAgC,EAChC,IAAgB,EACG,MAAc,EAAA;QAFjC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAuB;QAChC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QACG,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAJnC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA;KAKpC;AACL,IAAA,OAAO,CACL,KAA6B,EAAA;AAE7B,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;YACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACxC,SAAA;AACD,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;AAC3D,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAA,EAAG,IAAI,CAAC,OAAO,CAAY,SAAA,EAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC,CAAA;AACrE,SAAA;AACD,QAAA,IACE,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM;YAC9B,KAAK,CAAC,IAAI,CAAC,OAAO;YAClB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EACtC;YACA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAA,MAAA,EAAS,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAE,CAAA,CAAC,CAAA;AACtF,SAAA;AACD,QAAA,IACE,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM;YAC9B,KAAK,CAAC,IAAI,CAAC,OAAO;AAClB,YAAA,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,EAC5B;AACA,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAA,EAAG,IAAI,CAAC,OAAO,CAAS,MAAA,EAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC,CAAA;AAClE,SAAA;QACD,OAAO;AACL,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,KAAK,EAAE,yCAAyC;SACjD,CAAA;KACF;AAEO,IAAA,WAAW,CAAC,SAAiB,EAAA;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,oCAAA,CAAsC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAC/E,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAC7B,CAAA;KACF;AAEO,IAAA,UAAU,CAAC,EAAU,EAAA;QAC3B,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CACH,CAA8B,2BAAA,EAAA,EAAE,CAAwB,sBAAA,CAAA,EACxD,CAAC,QAAQ,EAAE,aAAa,CAAC,CAC1B,CAAA;KACJ;AAEO,IAAA,OAAO,CAAC,GAAW,EAAA;QACzB,MAAM,EAAE,GAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AAC/D,QAAA,MAAM,YAAY,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;AACnE,QAAA,IAAI,YAAY,EAAE;AAChB,YAAA,OAAO,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CACnF,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAI;AAClB,gBAAA,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;AACtE,oBAAA,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;AAC9C,iBAAA;gBACD,OAAO,IAAI,CAAC,IAAI;AACb,qBAAA,GAAG,CAAe,CAAA,EAAG,CAAC,CAAC,WAAW,CAAA,IAAA,EAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;AAChE,qBAAA,IAAI,CACH,GAAG,CAAC,IAAI,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EACpC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAClD,CAAA;aACJ,CAAC,EACF,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAClD,CAAA;AACF,SAAA;AACD,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,CAC7D,QAAQ,CAAC,MACP,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,CAAA,EAAG,GAAG,CAAA,KAAA,CAAO,CAAC,CAAC,IAAI,CAC7C,GAAG,CAAC,IAAI,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EACpC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAClD,CACF,CACF;YACD,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;AAC7C,gBAAA,EAAE,CAAC,EAAE,IAAI,EAAE,SAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,GAAG,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,CAAA,KAAA,CAAO,CAAC,CAAC,IAAI,CAC5D,GAAG,CAAC,IAAI,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EACpC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAClD;SACJ,CAAA;AACD,QAAA,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAC/B,GAAG,CACD,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,KAAoC;YACxD,IAAI,UAAU,CAAC,IAAI,EAAE;AACnB,gBAAA,OAAO,UAAU,CAAA;AAClB,aAAA;AACD,YAAA,OAAO,OAAO,CAAA;SACf,CACF,CACF,CAAA;KACF;;;;AAlGF,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;YARQ,qBAAqB,EAAA;YALrB,UAAU,EAAA;AAmBd,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAM,SAAC,SAAS,EAAA,EAAA,CAAA,EAAA;;;ACnBf,IAAW,SAmNhB;AAnND,CAAA,UAAiB,QAAQ,EAAA;AAWvB,IAAA,IAAY,WAQX,CAAA;AARD,IAAA,CAAA,UAAY,WAAW,EAAA;AACrB,QAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,WAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,QAAA,WAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,QAAA,WAAA,CAAA,iCAAA,CAAA,GAAA,iCAAmE,CAAA;AACnE,QAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,WAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,QAAA,WAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AAC3C,KAAC,EARW,WAAW,GAAX,QAAW,CAAA,WAAA,KAAX,oBAAW,GAQtB,EAAA,CAAA,CAAA,CAAA;AACD,IAAA,IAAY,eAMX,CAAA;AAND,IAAA,CAAA,UAAY,eAAe,EAAA;AACzB,QAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,QAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,QAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,QAAA,eAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,QAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,KAAC,EANW,eAAe,GAAf,QAAe,CAAA,eAAA,KAAf,wBAAe,GAM1B,EAAA,CAAA,CAAA,CAAA;AACD,IAAA,IAAY,YAIX,CAAA;AAJD,IAAA,CAAA,UAAY,YAAY,EAAA;AACtB,QAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,KAAC,EAJW,YAAY,GAAZ,QAAY,CAAA,YAAA,KAAZ,qBAAY,GAIvB,EAAA,CAAA,CAAA,CAAA;AACD,IAAA,IAAY,eAGX,CAAA;AAHD,IAAA,CAAA,UAAY,eAAe,EAAA;AACzB,QAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,QAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,KAAC,EAHW,eAAe,GAAf,QAAe,CAAA,eAAA,KAAf,wBAAe,GAG1B,EAAA,CAAA,CAAA,CAAA;AACD,IAAA,IAAY,eAGX,CAAA;AAHD,IAAA,CAAA,UAAY,eAAe,EAAA;AACzB,QAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,QAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,KAAC,EAHW,eAAe,GAAf,QAAe,CAAA,eAAA,KAAf,wBAAe,GAG1B,EAAA,CAAA,CAAA,CAAA;AACD,IAAA,IAAY,sBAEX,CAAA;AAFD,IAAA,CAAA,UAAY,sBAAsB,EAAA;AAChC,QAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,aAAoB,CAAA;AACtB,KAAC,EAFW,sBAAsB,GAAtB,QAAsB,CAAA,sBAAA,KAAtB,+BAAsB,GAEjC,EAAA,CAAA,CAAA,CAAA;AAYD,IAAA,IAAY,oBAUX,CAAA;AAVD,IAAA,CAAA,UAAY,oBAAoB,EAAA;AAC9B,QAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,QAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,oBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,QAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,QAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,oBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC3B,KAAC,EAVW,oBAAoB,GAApB,QAAoB,CAAA,oBAAA,KAApB,6BAAoB,GAU/B,EAAA,CAAA,CAAA,CAAA;AA0BD,IAAA,IAAY,wBAMX,CAAA;AAND,IAAA,CAAA,UAAY,wBAAwB,EAAA;AAClC,QAAA,wBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,QAAA,wBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC7C,QAAA,wBAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,QAAA,wBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,QAAA,wBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,KAAC,EANW,wBAAwB,GAAxB,QAAwB,CAAA,wBAAA,KAAxB,iCAAwB,GAMnC,EAAA,CAAA,CAAA,CAAA;AAmDD,IAAA,IAAY,0BAcX,CAAA;AAdD,IAAA,CAAA,UAAY,0BAA0B,EAAA;AACpC,QAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,0BAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,QAAA,0BAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,QAAA,0BAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,QAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,0BAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C,CAAA;AAC/C,QAAA,0BAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC7C,QAAA,0BAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,QAAA,0BAAA,CAAA,8BAAA,CAAA,GAAA,8BAA6D,CAAA;AAC7D,QAAA,0BAAA,CAAA,gCAAA,CAAA,GAAA,gCAAiE,CAAA;AACjE,QAAA,0BAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,KAAC,EAdW,0BAA0B,GAA1B,QAA0B,CAAA,0BAAA,KAA1B,mCAA0B,GAcrC,EAAA,CAAA,CAAA,CAAA;AACD,IAAA,IAAY,uBAMX,CAAA;AAND,IAAA,CAAA,UAAY,uBAAuB,EAAA;AACjC,QAAA,uBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,uBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,uBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,QAAA,uBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,QAAA,uBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC7B,KAAC,EANW,uBAAuB,GAAvB,QAAuB,CAAA,uBAAA,KAAvB,gCAAuB,GAMlC,EAAA,CAAA,CAAA,CAAA;AAWD,IAAA,IAAY,oBAiBX,CAAA;AAjBD,IAAA,CAAA,UAAY,oBAAoB,EAAA;AAC9B,QAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,QAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,QAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,QAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,oBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,KAAC,EAjBW,oBAAoB,GAApB,QAAoB,CAAA,oBAAA,KAApB,6BAAoB,GAiB/B,EAAA,CAAA,CAAA,CAAA;AACD,IAAA,IAAY,iBAEX,CAAA;AAFD,IAAA,CAAA,UAAY,iBAAiB,EAAA;AAC3B,QAAA,iBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,KAAC,EAFW,iBAAiB,GAAjB,QAAiB,CAAA,iBAAA,KAAjB,0BAAiB,GAE5B,EAAA,CAAA,CAAA,CAAA;AACD,IAAA,IAAY,oBAUX,CAAA;AAVD,IAAA,CAAA,UAAY,oBAAoB,EAAA;AAC9B,QAAA,oBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,oBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,oBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,QAAA,oBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,QAAA,oBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,QAAA,oBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,QAAA,oBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,QAAA,oBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC/C,KAAC,EAVW,oBAAoB,GAApB,QAAoB,CAAA,oBAAA,KAApB,6BAAoB,GAU/B,EAAA,CAAA,CAAA,CAAA;AACH,CAAC,EAnNgB,QAAQ,KAAR,QAAQ,GAmNxB,EAAA,CAAA,CAAA;;AC5MD,MAAM,MAAM,GAAG,OAAO,CAAA;MAIT,YAAY,CAAA;IAiBvB,WACU,CAAA,UAA0B,EACX,WAAgB,EAAA;QAD/B,IAAU,CAAA,UAAA,GAAV,UAAU,CAAgB;QAjBpC,IAAY,CAAA,YAAA,GAAQ,EAAE,CAAA;AAEd,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAA2B,CAAA;AACvD,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAA;AAE1C,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,OAAO,EAA2B,CAAA;AAC9D,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAA;AAExD,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,OAAO,EAA2B,CAAA;AAC/D,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAA;AAE1D,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAA2B,CAAA;AACzD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAA;AAQvD,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;KAE/B;AAED,IAAA,aAAa,CAAI,KAA4B,EAAA;QAC3C,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;AACtD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC/B;AAED,IAAA,oBAAoB,CAAI,KAA4B,EAAA;AAClD,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACtC;AAED,IAAA,uBAAuB,CAAI,KAA4B,EAAA;AACrD,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACvC;AAED,IAAA,2BAA2B,CAAI,KAA4B,EAAA;AACzD,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACjC;AAKD,IAAA,sBAAsB,CAAC,KAA+B,EAAE,MAAW,EAAE,WAA4C,EAAA;QAC/G,IAAI,CAAC,aAAa,CAAqC;AACrD,YAAA,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS;AACzC,YAAA,aAAa,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI;AAC5C,YAAA,IAAI,EAAE;gBACJ,KAAK;gBACL,MAAM;AACN,gBAAA,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AACzC,gBAAA,YAAY,EAAE,QAAQ,CAAC,oBAAoB,CAAC,QAAQ;AACrD,aAAA;AACD,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,EAAE,EAAE,WAAW;AAChB,SAAA,CAAC,CAAA;KACH;AAED,IAAA,sBAAsB,CAAC,KAA+B,EAAE,MAAW,EAAE,IAAa,EAAA;QAChF,IAAI,CAAC,aAAa,CAAqC;AACrD,YAAA,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS;AACzC,YAAA,aAAa,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI;AAC5C,YAAA,IAAI,EAAE;gBACJ,KAAK;gBACL,MAAM;AACN,gBAAA,YAAY,EAAE,QAAQ,CAAC,oBAAoB,CAAC,QAAQ;AACrD,aAAA;YACD,IAAI,EAAE,IAAI,IAAI,EAAE;AAChB,YAAA,EAAE,EAAE,WAAW;AAChB,SAAA,CAAC,CAAA;KACH;IAGD,qBAAqB,CAAC,MAAW,EAAE,WAA4C,EAAA;QAC7E,IAAI,CAAC,aAAa,CAAuC;AACvD,YAAA,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS;AACzC,YAAA,aAAa,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI;AAC5C,YAAA,IAAI,EAAE;gBACJ,MAAM;AACN,gBAAA,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AACzC,gBAAA,YAAY,EAAE,QAAQ,CAAC,oBAAoB,CAAC,UAAU;AACvD,aAAA;AACD,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,EAAE,EAAE,WAAW;AAChB,SAAA,CAAC,CAAA;KACH;AAYO,IAAA,UAAU,CAAC,WAAuD,EAAA;AACxE,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAA;AAElD,QAAA,MAAM,YAAY,GAAmC;YACnD,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,MAAM,EAAE,gBAAgB,CAAC,MAAM;SAChC,CAAA;AACD,QAAA,IAAI,WAAW,EAAE;YAEf,IAAI,WAAW,CAAC,SAAS,EAAE;AACzB,gBAAA,YAAY,CAAC,MAAM,GAAG,CAAA,EAAG,gBAAgB,CAAC,MAAM,CAAA,CAAA,EAAI,WAAW,CAAC,SAAS,CAAA,CAAE,CAAA;AAC5E,aAAA;iBAAM,IAAI,WAAW,CAAC,MAAM,EAAE;AAE7B,gBAAA,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;AACzC,aAAA;YAED,IAAI,WAAW,CAAC,MAAM,EAAE;AACtB,gBAAA,YAAY,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;AACzC,aAAA;AACF,SAAA;AAED,QAAA,OAAO,YAAY,CAAA;KACpB;AAEM,IAAA,kBAAkB,CAAC,OAAe,EAAE,IAAgC,EAAE,MAAW,EAAA;QAEtF,IAAI,CAAC,sBAAsB,CACzB;YACE,OAAO;AACP,YAAA,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,KAAK;YACtC,EAAE,EAAE,CAAG,EAAA,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAM,IAAA,CAAA;AACrC,SAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAKI,MAAM,CAEX,EAAA;YACA,SAAS,EAAE,CAAG,EAAA,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAM,IAAA,CAAA;AAC5C,SAAA,CAAC,CAAA;AAGF,QAAA,IAAI,CAAC,qBAAqB,CACxB,MAAA,CAAA,MAAA,CAAA,EAAA,OAAO,EAAE;gBACH,QAAQ,EAAE,IAAI,CAAC,KAAK;AACrB,aAAA,EAAA,EACE,MAAM,CACX,EAAA;YACF,SAAS,EAAE,CAAG,EAAA,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAM,IAAA,CAAA;AAC5C,SAAA,CAAC,CAAA;KACH;AAED,IAAA,YAAY,CAAC,GAAW,EAAA;AACtB,QAAA,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;AACjD,QAAA,OAAO,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAA,CAAA,EAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAW,QAAA,EAAA,OAAO,EAAE,CAAA;KAC7F;AAED,IAAA,kBAAkB,CAAC,QAAa,EAAA;QAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAA;QACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;QAC7C,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC3C,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAA;QAC/C,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAA;AAC/C,QAAA,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;QAG5E,MAAM,MAAM,GAAG,YAAY,CAAA;QAE3B,MAAM,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC7D,QAAA,MAAM,kBAAkB,GAAG,CAAG,EAAA,iBAAiB,EAAE,CAAA;AACjD,QAAA,OAAO,kBAAkB,CAAA;KAC1B;AAED,IAAA,WAAW,CAAC,SAAc,EAAA;AACxB,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QAGtB,MAAM,GAAG,GAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAErC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,MAAM,UAAU,GAAG,CAAG,EAAA,IAAI,IAAI,KAAK,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAA;QAC5C,IAAI,SAAS,KAAK,UAAU,EAAG;AAC7B,YAAA,OAAO,IAAI,CAAA;AACZ,SAAA;AACD,QAAA,OAAO,KAAK,CAAA;KACb;IAED,gBAAgB,CAAC,IAAS,EAAE,IAAS,EAAA;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9B,QAAA,OAAO,GAAG,IAAI,CAAA,CAAA,EAAI,IAAI,CAAG,EAAA,GAAG,EAAE,CAAA;KAChC;AAGD,IAAA,gBAAgB,CAAC,QAAa,EAAA;QAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC1B,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;YACtB,MAAM,IAAI,GAAG,QAAQ,CAAA;YAErB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAU,KAAI;AACvC,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;AACvB,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBACxB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;AACtC,gBAAA,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAA;gBACjC,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,GAAG,CAAG,EAAA,OAAO,UAAU,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;oBAChH,CAAG,EAAA,KAAK,CAAO,KAAA,CAAA,GAAG,GAAG,KAAK,CAAA,MAAA,CAAQ,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAG,EAAA,KAAK,CAAS,MAAA,EAAA,OAAO,CAAU,QAAA,CAAA;AACvF,oBAAA,CAAA,EAAG,KAAK,CAAA,OAAA,EAAU,OAAO,CAAA,QAAA,CAAU,CAAA;AACrC,gBAAA,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,KAAK,SAAS,GAAG,GAAG,CAAC,cAAc,GAAG,EAAE,CAAA;gBAC9E,MAAM,GAAG,GAAG,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,CAAA;gBACvF,MAAM,cAAc,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,WAAW,CAAA;AAE5E,gBAAA,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;gBACzC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9B,gBAAA,MAAM,SAAS,GAAG,CAAA,EAAG,IAAI,CAAG,EAAA,GAAG,EAAE,CAAA;AAEjC,gBAAA,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;gBACvC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAChC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC/B,gBAAA,MAAM,OAAO,GAAG,CAAA,EAAG,KAAK,CAAG,EAAA,IAAI,EAAE,CAAA;AAEjC,gBAAA,MAAM,YAAY,GAAG;AACnB,oBAAA,KAAK,EAAE,GAAG;oBACV,SAAS,EAAE,GAAG,CAAC,IAAI;AACnB,oBAAA,cAAc,EAAE,SAAS;AACzB,oBAAA,YAAY,EAAE,OAAO;oBACrB,cAAc,EAAE,GAAG,CAAC,SAAS;oBAC7B,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;AACtD,oBAAA,aAAa,EAAE,QAAQ;oBACvB,WAAW,EAAE,cAAc,CAAC,MAAM;AAClC,oBAAA,cAAc,EAAE,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC;wBAChF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;wBAC9B,kCAAkC;AACpC,oBAAA,SAAS,EAAE,KAAK;iBACjB,CAAA;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAC/C,gBAAA,IAAI,OAAO,EAAE;AACX,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;AACrC,iBAAA;AACH,aAAC,CAAC,CAAA;AACH,SAAA;KACF;;;;AAvPA,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;YAPQ,cAAc,EAAA;AA2BlB,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAM,SAAC,aAAa,EAAA,EAAA,CAAA,EAAA;;;ACnBzB,MAAM,iBAAiB,GAAG,oBAAoB,CAAA;WAkBtB,CAAC,IAAY,EAAE,EAAU,KAC7C,CAAA,EAAG,iBAAiB,CAAA,oBAAA,EAAuB,IAAI,CAAA,CAAA,EAAI,EAAE,CAAE,CAAA,CAAA,CAAA,EAAA,GAElC,CAAC,SAAiB,KAAK,CAAG,EAAA,iBAAiB,CAAkB,eAAA,EAAA,SAAS,CAAE,EAAA;AAnBjG,MAAM,cAAc,GAAG;IACrB,OAAO,EAAE,CAAG,EAAA,iBAAiB,CAAU,QAAA,CAAA;AACvC,IAAA,iBAAiB,EAAE,CAAyB,uBAAA,CAAA;IAC5C,aAAa,EAAE,CAAG,EAAA,iBAAiB,CAAoB,kBAAA,CAAA;IACvD,aAAa,EAAE,CAAG,EAAA,iBAAiB,CAAoB,kBAAA,CAAA;IACvD,mBAAmB,EAAE,CAAG,EAAA,iBAAiB,CAAyB,uBAAA,CAAA;IAClE,cAAc,EAAE,CAAG,EAAA,iBAAiB,CAA+B,6BAAA,CAAA;IACnE,sBAAsB,EAAE,CAAG,EAAA,iBAAiB,CAA4B,0BAAA,CAAA;IACxE,gBAAgB,EAAE,CAAG,EAAA,iBAAiB,CAAmB,iBAAA,CAAA;IACzD,iBAAiB,EAAE,CAAG,EAAA,iBAAiB,CAAmB,iBAAA,CAAA;IAC1D,iBAAiB,EAAE,CAAG,EAAA,iBAAiB,CAAmB,iBAAA,CAAA;IAC1D,oCAAoC,EAAE,CAAG,EAAA,iBAAiB,CAAqC,mCAAA,CAAA;IAC/F,eAAe,EAAE,CAAG,EAAA,iBAAiB,CAAe,aAAA,CAAA;IACpD,sBAAsB,EAAE,CAAG,EAAA,iBAAiB,CAAwB,sBAAA,CAAA;IACpE,cAAc,EAAE,CAAG,EAAA,iBAAiB,CAAc,YAAA,CAAA;IAClD,iBAAiB,EAAE,CAAG,EAAA,iBAAiB,CAAyC,uCAAA,CAAA;AAChF,IAAA,oBAAoB,EACqC,EAAA;IACzD,mBAAmB,EAAE,CAAG,EAAA,iBAAiB,CAAsD,oDAAA,CAAA;AAC/F,IAAA,qBAAqB,EAA0E,EAAA;CAChG,CAAA;MAKY,oBAAoB,CAAA;IAC/B,WACU,CAAA,IAAgB,EAChB,SAAgC,EAAA;QADhC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAChB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAuB;KACrC;AAEL,IAAA,uBAAuB,CAAC,UAAkB,EAAA;QACxC,MAAM,GAAG,GAAG,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAA;KACtC;AAED,IAAA,YAAY,CACV,SAAiB,EACjB,gBAA8C,QAAQ,EACtD,mBAA6B,EAAE,EAAA;QAE/B,MAAM,GAAG,GAAG,CAAA,EAAG,cAAc,CAAC,OAAO,CAAA,CAAA,EAAI,SAAS,CAAA,eAAA,EAAkB,aAAa,CAAA,CAAE,CAAA;QACnF,OAAO,IAAI,CAAC,IAAI;AACb,aAAA,IAAI,CAAqB,GAAG,EAAE,EAAE,gBAAgB,EAAE,CAAC;AACnD,aAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;KAClB;AACD,IAAA,qBAAqB,CAAC,SAAiB,EAAA;QACrC,MAAM,GAAG,GAAG,CAAG,EAAA,cAAc,CAAC,iBAAiB,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,CAAA;AAC9D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;KAC7D;AACD,IAAA,oBAAoB,CAAC,GAAa,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,GAAG,cAAc,CAAC,gBAAgB,CAAI,CAAA,EAAA,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAE,CACtD,CAAA;KACF;IACD,wBAAwB,CAAC,IAAY,EAAE,EAAU,EAAE,UAAqB,GAAA,CAAC,EAAE,QAAA,GAAmB,CAAC,EAAA;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,cAAc,CAAC,oBAAoB,CACpC,IAAI,EACJ,EAAE,CACH,CAAA,YAAA,EAAe,UAAU,CAAa,UAAA,EAAA,QAAQ,CAAE,CAAA,CAClD,CAAA;KACF;AAED,IAAA,iBAAiB,CAAC,UAAoC,EAAA;QACpD,OAAO,IAAI,CAAC,IAAI;AACb,aAAA,IAAI,CAAmC,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC;AAChF,aAAA,SAAS,EAAE,CAAA;KACf;AACD,IAAA,mBAAmB,CAAC,UAAoC,EAAA;QACtD,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAC,GAAG,cAAc,CAAC,cAAc,CAAS,OAAA,CAAA,EAAE,UAAU,CAAC;AAC3D,aAAA,SAAS,EAAE,CAAA;KACf;AAED,IAAA,qBAAqB,CAAC,SAAiB,EAAA;QACrC,OAAO,IAAI,CAAC,IAAI;aACb,GAAG,CAAiB,GAAG,cAAc,CAAC,iBAAiB,CAAI,CAAA,EAAA,SAAS,CAAE,CAAA,CAAC,CAAA;KAC3E;AAED,IAAA,mBAAmB,CAAC,SAAiB,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,cAAc,CAAC,eAAe,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,CACjD,CAAA;KACF;AAEK,IAAA,gBAAgB,CAAC,EAAU,EAAE,YAAqB,EAAE,cAAuB,EAAA;;AAC/E,YAAA,OAAO,IAAI,OAAO,CAAC,CAAM,OAAO,KAAG,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AACjC,gBAAA,IAAI,cAAc;AAChB,oBAAA,cAAc,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE;AAC7C,oBAAA,MAAM,OAAO,GAAG;wBACd,aAAa,EAAE,YAAY,GAAG,YAAY,GAAG,EAAE;AAC/C,wBAAA,UAAU,EAAE,EAAE;AACd,wBAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACnB,4BAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,4BAAA,eAAe,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC;yBACpC,CAAC;AACF,wBAAA,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;AACxB,wBAAA,WAAW,EAAE,UAAU;qBACxB,CAAA;AACD,oBAAA,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,MAAK;wBACxE,OAAO,CAAC,IAAI,CAAC,CAAA;AACf,qBAAC,CACA,CAAA;AACF,iBAAA;AAAM,qBAAA;AACL,oBAAA,MAAM,OAAO,GAAG;wBACd,aAAa,EAAE,YAAY,GAAG,YAAY,GAAG,EAAE;AAC/C,wBAAA,UAAU,EAAE,EAAE;AACd,wBAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AAC/C,wBAAA,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;qBACzB,CAAA;AACD,oBAAA,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,MAAK;wBACxE,OAAO,CAAC,IAAI,CAAC,CAAA;AACf,qBAAC,CAAC,CAAA;AACH,iBAAA;aACF,CAAA,CAAC,CAAA;SACH,CAAA,CAAA;AAAA,KAAA;AACD,IAAA,oBAAoB,CAAC,OAAiD,EAAA;AACpE,QAAA,MAAM,GAAG,GAAG,cAAc,CAAC,sBAAsB,CAAA;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,GAAG,EAAE,OAAO,CAAC,CAAA;KACzC;AAED,IAAA,WAAW,CACT,SAAiB,EAAA;QAGjB,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC;AACjD,aAAA,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KACtC;IAED,gBAAgB,GAAA;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KACjG;AAED,IAAA,aAAa,CAAC,GAAW,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;KAC9D;AACD,IAAA,qBAAqB,CAAC,GAAW,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAG,EAAA,cAAc,CAAC,sBAAsB,QAAQ,kBAAkB,CAAC,GAAG,CAAC,CAAA,CAAE,CAAC,CAAA;KAChG;AACD,IAAA,MAAM,CAAC,GAA4B,EAAA;QACjC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAA;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA4B,cAAc,CAAC,iBAAiB,EAAE;AACjF,YAAA,OAAO,EAAE,GAAG;AACb,SAAA,CAAC,CAAA;KACH;AACD,IAAA,0BAA0B,CACxB,GAAmD,EAAA;QAEnD,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAA;AAC3B,QAAA,GAAG,CAAC,aAAa;AACf,YAAA,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE;AACxB,iBAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,KAAK,EAAE,CAAC,CAAA;AAC5E,QAAA,GAAG,CAAC,OAAO,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACN,GAAG,CAAC,OAAO,CACd,EAAA,EAAA,MAAM,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,GAClC,CAAA;AACD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,cAAc,CAAC,oCAAoC,EACnD,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CAAA;KACF;AACD,IAAA,QAAQ,CAAC,GAA8B,EAAA;QACrC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA8B,cAAc,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;KAC1F;AAED,IAAA,kBAAkB,CAAC,SAAiB,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,CAAA,EAAG,cAAc,CAAC,cAAc,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,CAAC,CAAA;KAC1F;AACD,IAAA,mBAAmB,CAAC,SAAiB,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,EAAG,cAAc,CAAC,cAAc,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,CAAC,CAAA;KACzE;IACD,gBAAgB,CAAC,SAAiB,EAAE,IAAwB,EAAA;AAC1D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,CAAG,EAAA,cAAc,CAAC,cAAc,IAAI,SAAS,CAAA,CAAE,EAAE,IAAI,CAAC,CAAA;KAClF;AAED,IAAA,wBAAwB,CAAC,OAA2B,EAAA;QAClD,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,MAAM,EAAE;AACpC,YAAA,OAAO,OAAO,CAAA;AACf,SAAA;AACD,QAAA,IACE,OAAO,CAAC,WAAW,KAAK,eAAe;YACvC,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EACpD;YACA,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AACjC,YAAA,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAC5C,SAAA;AACD,QAAA,IACE,OAAO,CAAC,WAAW,KAAK,UAAU;YAClC,OAAO,CAAC,WAAW,KAAK,oBAAoB;AAC5C,YAAA,OAAO,CAAC,WAAW,KAAK,eAAe,EACvC;AACA,YAAA,OAAO,OAAO,CAAA;AACf,SAAA;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACtC,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAA;AAC/D,QAAA,OAAO,aAAa,CAAA;KACrB;AAED,IAAA,qBAAqB,CAAC,MAAc,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,CAAG,EAAA,cAAc,CAAC,mBAAmB,IAAI,MAAM,CAAA,CAAE,CAAC,CAAC,SAAS,EAAE,CAAA;KACzF;AAED,IAAA,WAAW,CAAC,GAAW,EAAA;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,GAAG,CAAC,CAAA;KAC/B;;;;AAzLF,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;YArCQ,UAAU,EAAA;YAKV,qBAAqB,EAAA;;;MCUjB,gBAAgB,CAAA;AAU3B,IAAA,WAAA,CACyB,WAAgB,EAC/B,SAAgC,EAChC,SAAuB,EAEvB,MAAqB,EAAA;QAHrB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAuB;QAChC,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;QAEvB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;QAd/B,IAAW,CAAA,WAAA,GAAkB,IAAI,CAAA;QACjC,IAAe,CAAA,eAAA,GAA6C,IAAI,CAAA;QAChE,IAAK,CAAA,KAAA,GAAQ,IAAI,CAAA;QACjB,IAAY,CAAA,YAAA,GAAG,EAAE,CAAA;AAGjB,QAAA,IAAA,CAAA,YAAY,GAAQ;AAClB,YAAA,IAAI,EAAE,aAAa;SACpB,CAAA;AAQC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;AAC9B,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAA;AACpD,QAAA,IAAI,cAAc,EAAE;AAClB,YAAA,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,eAAe,CAAA;AACrD,YAAA,IAAI,CAAC,eAAe,GACf,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,eAAe,CACvB,EAAA,EAAA,KAAK,EACA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAA,EAAA,EAE7B,EAAE,EAAE,CAAG,EAAA,WAAW,CAAC,IAAI,CAAI,CAAA,EAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,EAE5D,CAAA,EAAA,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAGpE,OAAO,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EACvD,GAAG,EAAE,IAAI,CAAC,qBAAqB,GAChC,CAAA;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAA;YACvC,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACxB,IAAI,CAAC,sBAAsB,EAAE,CAAA;YAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAA;YAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAA;YACxB,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAC1B,IAAI,CAAC,2BAA2B,EAAE,CAAA;AACnC,SAAA;KACF;AAED,IAAA,IAAI,qBAAqB,GAAA;QACvB,OAAO,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAA;KACxD;AAED,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE;AACxF,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAA;AAC5C,SAAA;AACD,QAAA,OAAO,EAAE,CAAA;KACV;AAED,IAAA,KAAK,CAAC,KAAU,EAAE,IAAS,EAAE,WAA4C,EAAA;QACvE,IAAI;YACF,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,gBAAA,EAAE,CAAC,KAAK,CACN,IAAI,CAAC,eAAe,EACpB,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM;AAChC,oBAAA,WAAW,CAAC,MAAM;AAClB,sBAAE,EAAE,EACN,KAAK,EACL;oBAEE,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,MAAM,EAAE,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM;AACxC,wBAAA,WAAW,CAAC,MAAM;AAClB,0BAAE,EAAE;AACN,oBAAA,QAAQ,EAAE,CAAC;iBACZ,EACD;AACE,oBAAA,OAAO,kBACL,KAAK,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACA,IAAI,CAAC,KAAK,CACb,EAAA,EAAA,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAA,CAAA,EAAA,GAEf,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,IAAI,EAC3E;AACD,oBAAA,MAAM,oBACD,CAAC,IAAI,KAAK,IAAI,CAClB;AACF,iBAAA,CACF,CAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAA;AACnE,aAAA;AACF,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AAEV,YAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAA;AAC3C,SAAA;KACF;AAED,IAAA,GAAG,CAAC,KAAU,EAAE,IAAS,EAAE,WAA4C,EAAA;QACrE,IAAI;YACF,EAAE,CAAC,GAAG,CACJ;gBACE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM;AACxC,oBAAA,WAAW,CAAC,MAAM;AAClB,sBAAE,EAAE;aACP,EACD;AACE,gBAAA,OAAO,kBACL,KAAK,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACA,IAAI,CAAC,KAAK,CACb,EAAA,EAAA,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAA,CAAA,EAAA,GAEf,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,IAAI,EAC3E;AACD,gBAAA,MAAM,oBACD,CAAC,IAAI,KAAK,IAAI,CAClB;AACF,aAAA,CACF,CAAA;AACF,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AAEV,YAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;AACzC,SAAA;KACF;AAED,IAAA,KAAK,CAAC,IAAY,EAAE,KAAa,EAAE,IAAS,EAAA;QAC1C,IAAI;YACF,EAAE,CAAC,KAAK,CACN;gBACE,IAAI;gBACJ,KAAK;AAEL,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,SAAS,EAAE,EAAE;AACb,gBAAA,QAAQ,EAAE,EAAE;aACb,EACD;AACE,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EACA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,CACb,EAAA,EAAA,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,CAAA;AACF,iBAAA;AACF,aAAA,CACF,CAAA;AACF,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AAEV,YAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAA;AAC3C,SAAA;KACF;IAED,SAAS,CAAC,IAAY,EAAE,EAAU,EAAA;QAChC,IAAI;YACF,EAAE,CAAC,SAAS,CAAC;gBACX,EAAE;gBAEF,IAAI;AACL,aAAA,CAAC,CAAA;AACH,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AAEV,YAAA,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;AAC/C,SAAA;KACF;AAED,IAAA,UAAU,CAAC,IAAU,EAAA;QACnB,IAAI;AACF,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;AAClC,YAAA,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;gBAE5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAA;AACtC,aAAA;AACD,YAAA,MAAM,KAAK,GAAG;gBACZ,MAAM,EAAE,IAAI,CAAC,MAAM;AACnB,gBAAA,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC1B,GAAG,EAAE,IAAI,CAAC,OAAO;aAClB,CAAA;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,MAAM,MAAM,GAAG;AACb,oBAAA,OAAO,EAAE;AACP,wBAAA,KAAK,EACA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,CACb,EAAA,EAAA,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,CAAA;AACD,wBAAA,GAAG,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AACvE,qBAAA;oBACD,MAAM,EAAA,MAAA,CAAA,MAAA,CAAA,EACJ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAA,GAEb,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAC9B;iBACF,CAAA;AACD,gBAAA,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAC7B,aAAA;AAAM,iBAAA;AACL,gBAAA,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE;AACnB,oBAAA,OAAO,EAAE;AACP,wBAAA,KAAK,EACA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,CACb,EAAA,EAAA,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,CAAA;AACD,wBAAA,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;AACvB,qBAAA;AACD,oBAAA,MAAM,qBACA,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAC9B;AACF,iBAAA,CAAC,CAAA;AACH,aAAA;AACD,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAA;AAChC,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AAEV,YAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAA;AAChD,SAAA;KACF;AAED,IAAA,kBAAkB,CAAC,cAAmB,EAAA;QACpC,IAAI;AACF,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;YAClC,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE;AACxD,gBAAA,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,GAAG;AACrC,oBAAA,OAAO,EAAE;AACP,wBAAA,KAAK,EACA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,KACb,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,kBAAkB,CAAC,EACzD,CAAA;AACF,qBAAA;AACD,oBAAA,MAAM,EAAE;wBACN,EAAE,EAAE,IAAI,CAAC,QAAQ;AAClB,qBAAA;AACF,iBAAA,GAAG;AACF,oBAAA,OAAO,EAAE;AACP,wBAAA,KAAK,EACA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,KACb,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,kBAAkB,CAAC,EACzD,CAAA;AACF,qBAAA;iBACF,CAAA;gBACD,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;AACnD,aAAA;AACF,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AAEV,YAAA,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAA;AACxD,SAAA;KACF;IAED,2BAA2B,GAAA;QACzB,IAAI,CAAC,SAAS,CAAC,OAAO;aACnB,IAAI,CACH,MAAM,CACJ,CAAC,KAA0C,KACzC,KAAK;AACL,YAAA,KAAK,CAAC,IAAI;AACV,YAAA,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,WAAW,CAAC,SAAS;YAClD,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CACvE,CACF;aACA,SAAS,CAAC,KAAK,IAAG;YACjB,IAAI;AAEF,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC5B,aAAA;AAAC,YAAA,OAAO,CAAC,EAAE;AAEV,gBAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAA;AAChD,aAAA;AACH,SAAC,CAAC,CAAA;KACL;IAED,oBAAoB,GAAA;QAClB,IAAI,CAAC,SAAS,CAAC,OAAO;AACnB,aAAA,IAAI,CACH,MAAM,CACJ,KAAK,IACH,KAAK;AACL,YAAA,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,WAAW,CAAC,SAAS;YAClD,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,eAAe,CAAC,IAAI;YACjD,KAAK,CAAC,IAAI,CAAC,IAAI;YACf,KAAK,CAAC,IAAI,CACb,CACF;aACA,SAAS,CAAC,KAAK,IAAG;YACjB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE;gBAC7D,IAAI,CAAC,KAAK,CACR;oBACE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM;oBACxD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI;AACvD,iBAAA,EACD,EAAE,EACF,KAAK,CAAC,WAAW,CAClB,CAAA;AACF,aAAA;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,EAAE;gBAC/D,IAAI,CAAC,GAAG,CAAC;oBACP,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM;oBACxD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI;AACvD,iBAAA,EACQ,EAAE,EACF,KAAK,CAAC,WAAW,CACzB,CAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAA;KACL;IAED,sBAAsB,GAAA;QACpB,IAAI,CAAC,SAAS,CAAC,OAAO;AACnB,aAAA,IAAI,CACH,MAAM,CACJ,KAAK,IACH,KAAK;YACL,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,WAAW,CAAC,SAAS,CACrD,CACF;aACA,SAAS,CAAC,KAAK,IAAG;YACjB,IACE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,oBAAoB,CAAC,MAAM;gBACzD,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,eAAe,CAAC,MAAM,EACnD;gBACA,IAAI,CAAC,KAAK,CACR;AACE,oBAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI;iBACvD,EACD,KAAK,CAAC,IAAI,CAAC,MAAM,EACjB,KAAK,CAAC,WAAW,CAClB,CAAA;AACF,aAAA;YACD,IACE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,oBAAoB,CAAC,QAAQ;gBAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,eAAe,CAAC,MAAM,EACnD;gBACA,IAAI,CAAC,GAAG,CACN;oBACE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM;oBACxD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI;iBACvD,EACD,KAAK,CAAC,IAAI,CAAC,MAAM,EACjB,KAAK,CAAC,WAAW,CAClB,CAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAA;KACL;IACD,iBAAiB,GAAA;QACf,IAAI,CAAC,SAAS,CAAC,OAAO;AACnB,aAAA,IAAI,CACH,MAAM,CACJ,KAAK,IACH,KAAK;AACL,YAAA,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,WAAW,CAAC,SAAS;YAClD,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,eAAe,CAAC,MAAM;YACnD,KAAK,CAAC,IAAI,CAAC,IAAI;YACf,KAAK,CAAC,IAAI,CACb,CACF;aACA,SAAS,CAAC,KAAK,IAAG;AACjB,YAAA,MAAM,OAAO,GAA8B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA;YAC7D,IACE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,oBAAoB,CAAC,MAAM;AACzD,iBAAC,CAAC,OAAO;oBACP,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,OAAO;oBAC3D,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,KAAK;qBACxD,OAAO,CAAC,QAAQ,KAAK,iBAAiB,IAAI,kBAAkB,CAAC,CAAC,EACjE;gBACA,IAAI,CAAC,KAAK,CACR;oBACE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM;oBACxD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI;iBACvD,EACD,KAAK,CAAC,IAAI,CAAC,MAAM,EACjB,KAAK,CAAC,WAAW,CAElB,CAAA;AACF,aAAA;YACD,IACE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,oBAAoB,CAAC,QAAQ;AAC3D,iBAAC,CAAC,OAAO;oBACP,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,OAAO;oBAC3D,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,KAAK;qBACxD,OAAO,CAAC,QAAQ,KAAK,iBAAiB,IAAI,kBAAkB,CAAC,CAAC,EACjE;gBACA,IAAI,CAAC,GAAG,CACN;oBACE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM;oBACxD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI;iBACvD,EACD,KAAK,CAAC,IAAI,CAAC,MAAM,EACjB,KAAK,CAAC,WAAW,CAClB,CAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAA;KACL;IAED,mBAAmB,GAAA;QACjB,IAAI,CAAC,SAAS,CAAC,OAAO;aACnB,IAAI,CACH,MAAM,CACJ,CAAC,KAAwC,KACvC,KAAK;AACL,YAAA,KAAK,CAAC,IAAI;AACV,YAAA,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,WAAW,CAAC,SAAS;YAClD,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CACrE,CACF;aACA,SAAS,CAAC,KAAK,IAAG;AACjB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;AAClC,YAAA,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AACnE,gBAAA,MAAM,cAAc,GAAG;AACrB,oBAAA,OAAO,EAAE;AACP,wBAAA,KAAK,EACA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,KACb,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAClC,CAAA;AACF,qBAAA;iBACF,CAAA;gBACD,IAAI;oBACF,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;AACxC,iBAAA;AAAC,gBAAA,OAAO,CAAC,EAAE;AAEV,oBAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;AAC9C,iBAAA;AACF,aAAA;AAAM,iBAAA;gBAKL,IAAI;oBACF,EAAE,CAAC,QAAQ,CACT;AACE,wBAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;AAC3B,wBAAA,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;AAEjC,wBAAA,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC1C,4BAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACnB,8BAAE,EAAE;AACN,wBAAA,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;qBAE/E,EACD;wBACE,OAAO,EAAA,MAAA,CAAA,MAAA,CAAA,EACL,KAAK,EACA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,CAAA,EAAA,EACb,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,QAEf,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,IAAI,EAC5G;AACD,wBAAA,MAAM,oBACD,KAAK,CAAC,IAAI,CAAC,MAAM,CACrB;AACF,qBAAA,CAAC,CAAA;AACL,iBAAA;AAAC,gBAAA,OAAO,CAAC,EAAE;AAEV,oBAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;AAC9C,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAA;KACL;IAED,mBAAmB,GAAA;QACjB,IAAI,CAAC,SAAS,CAAC,OAAO;aACnB,IAAI,CACH,MAAM,CACJ,CAAC,KAAwC,KACvC,KAAK;AACL,YAAA,KAAK,CAAC,IAAI;AACV,YAAA,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,WAAW,CAAC,SAAS;YAClD,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CACrE,CACF;aACA,SAAS,CAAC,KAAK,IAAG;AACjB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;YAClC,IAAI;gBACF,EAAE,CAAC,QAAQ,CACT;oBACE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC;oBACrC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE;oBAC5C,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE;oBAC9C,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,EACD;AACE,oBAAA,OAAO,EAAE;AACP,wBAAA,KAAK,EACA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,CACb,EAAA,EAAA,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,CAAA;AACF,qBAAA;AACD,oBAAA,MAAM,EAAE;AACN,wBAAA,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE;wBAC7D,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE;AACjC,wBAAA,GAAG,EAAE,CAAA,GAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,EAAC,EAAG,EAAE,CAAE,CAAA;AACjD,wBAAA,MAAM,EAAE,EAAE;AACX,qBAAA;AACF,iBAAA,CAAC,CAAA;AACL,aAAA;AAAC,YAAA,OAAO,CAAC,EAAE;AAEV,gBAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;AAC9C,aAAA;AACH,SAAC,CAAC,CAAA;KACL;IAED,mBAAmB,GAAA;QACjB,IAAI,CAAC,SAAS,CAAC,OAAO;aACnB,IAAI,CACH,MAAM,CACJ,CAAC,KAAyC,KACxC,KAAK;AACL,YAAA,KAAK,CAAC,IAAI;AACV,YAAA,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,WAAW,CAAC,SAAS;YAClD,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CACtE,CACF;aACA,SAAS,CAAC,KAAK,IAAG;AACjB,YAAA,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AACnE,gBAAA,MAAM,cAAc,GAAG;AACrB,oBAAA,OAAO,EAAE;AACP,wBAAA,KAAK,EACA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,KACb,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAClC,CAAA;AACF,qBAAA;iBACF,CAAA;gBACD,IAAI;oBACF,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;AACzC,iBAAA;AAAC,gBAAA,OAAO,CAAC,EAAE;AAEV,oBAAA,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;AAC/C,iBAAA;AACF,aAAA;AAAM,iBAAA;gBACL,IAAI;oBACF,EAAE,CAAC,SAAS,CACV;AACE,wBAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;AAErB,wBAAA,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;qBAGlB,EACD;AACE,wBAAA,OAAO,EAAE;AACP,4BAAA,KAAK,EACA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,CACb,EAAA,EAAA,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,CAAA;AACF,yBAAA;AACF,qBAAA,CAAC,CAAA;AACL,iBAAA;AAAC,gBAAA,OAAO,CAAC,EAAE;AAEV,oBAAA,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;AAC/C,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAA;KACL;IAED,iBAAiB,GAAA;QACf,IAAI,CAAC,SAAS,CAAC,OAAO;aACnB,IAAI,CACH,MAAM,CACJ,CAAC,KAAsC,KACrC,KAAK;AACL,YAAA,KAAK,CAAC,IAAI;AACV,YAAA,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,WAAW,CAAC,SAAS;YAClD,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CACnE,CACF;aACA,SAAS,CAAC,KAAK,IAAG;YACjB,IAAI;gBACF,EAAE,CAAC,MAAM,CACP;AACE,oBAAA,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;AACvB,oBAAA,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO;AAC3B,oBAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;iBACtB,EACD;AACE,oBAAA,OAAO,EAAE;AACP,wBAAA,KAAK,EACA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,KAAK,CACb,EAAA,EAAA,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAClB,CAAA;AACF,qBAAA;AACF,iBAAA,CACF,CAAA;AACF,aAAA;AAAC,YAAA,OAAO,CAAC,EAAE;AAEV,gBAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAA;AAC5C,aAAA;AACH,SAAC,CAAC,CAAA;KACL;IAED,cAAc,GAAA;AACZ,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QACtD,MAAM,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA;QACzC,OAAO;AACL,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC7B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,QAAQ,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5D,YAAA,MAAM,EAAE,EAAE;SACX,CAAA;KACF;AAED,IAAA,4BAA4B,CAAC,QAAkB,EAAA;QAE7C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAE5C,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;AACrC,YAAA,OAAO,IAAI,CAAA;AACZ,SAAA;AAED,QAAA,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,YAAA,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC5B,SAAA;AAED,QAAA,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvD,YAAA,OAAO,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAA;AAC/B,SAAA;AAED,QAAA,OAAO,IAAI,CAAA;KACZ;;;;AA1mBF,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;AAYI,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAM,SAAC,aAAa,EAAA,EAAA,CAAA,EAAA;YAtBhB,qBAAqB,EAAA;YAErB,YAAY,EAAA;YACZ,aAAa,EAAA;;;MCIT,4BAA4B,CAAA;AAKvC,IAAA,WAAA,CACU,SAAgC,EAChC,UAAgC,EAChC,WAAgC,EAChC,cAA8B,EAC9B,MAAc,EACd,QAAsB,EACtB,OAAyB,EAAA;QANzB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAuB;QAChC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAsB;QAChC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAqB;QAChC,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAC9B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAc;QACtB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;QAXnC,IAAU,CAAA,UAAA,GAAG,EAAE,CAAA;QACf,IAAoB,CAAA,oBAAA,GAAQ,IAAI,CAAA;QAEhC,IAAM,CAAA,MAAA,GAAG,KAAK,CAAA;QAUZ,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,SAAS,CAAC,MAAK;YAC/C,IAAI,CAAC,oBAAoB,EAAE,CAAA;AAC7B,SAAC,CAAC,CAAA;KACH;AACD,IAAA,aAAa,CAAC,aAAkB,EAAE,eAAuB,EAAE,EAAW,EAAA;QACpE,IAAI,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC7H,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAA;AAChC,YAAA,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,SAAS,CAC/C,IAAI,IAAG;AACL,gBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAA;gBAC7C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;oBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ;wBACnD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;oBAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ;wBAClD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;AAC3D,oBAAA,MAAM,QAAQ,GAAW,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ;AACxE,wBAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAA;AACxD,oBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAA;AACpC,oBAAA,MAAM,QAAQ,GAAG;AACf,wBAAA,kBAAkB,EAAE,eAAe;AACnC,wBAAA,SAAS,EAAE,QAAQ;AACnB,wBAAA,aAAa,EAAE;AACb,4BAAA,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;AAChC,4BAAA,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;AACpB,4BAAA,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;AAC/B,4BAAA,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,GACrC,MAAA,CAAA,MAAA,CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAC7C,EAAA,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CACzC,GAAE,EAAE;AACN,4BAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,GAAG,MAAM;AACjG,4BAAA,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,KAAK,IAAI;AAC/F,4BAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;AACnC,4BAAA,uBAAuB,EAAE,QAAQ,CAAC,WAAW,EAAE;AAC/C,4BAAA,IAAI,EAAE;gCACJ,SAAS;gCACT,QAAQ;gCACR,KAAK;gCACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE;gCAClF,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;AAC5E,6BAAA;AACD,4BAAA,kBAAkB,EAAE,KAAK;AAC1B,yBAAA;wBACD,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG;AACrC,4BAAA,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI;yBACjD,GAAG,IAAI;qBACT,CAAA;AACD,oBAAA,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AACxC,oBAAA,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAA;AACtC,oBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;AAClB,oBAAA,IAAI,CAAC,UAAU,GAAG,eAAe,CAAA;AAClC,iBAAA;AACH,aAAC,CAAC,CAAA;AACL,SAAA;AAAM,aAAA;YACL,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;gBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ;oBACnD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;gBAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ;oBAClD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;AAC3D,gBAAA,MAAM,QAAQ,GAAW,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ;AACxE,oBAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAA;AACxD,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAA;AACpC,gBAAA,MAAM,QAAQ,GAAG;AACf,oBAAA,kBAAkB,EAAE,eAAe;AACnC,oBAAA,SAAS,EAAE,QAAQ;AACnB,oBAAA,aAAa,EAAE;AACb,wBAAA,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;AAChC,wBAAA,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;AACpB,wBAAA,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;AAC/B,wBAAA,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,GACrC,MAAA,CAAA,MAAA,CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAC7C,EAAA,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CACzC,GAAE,EAAE;AACN,wBAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,GAAG,MAAM;AACjG,wBAAA,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,KAAK,IAAI;AAC/F,wBAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;AACnC,wBAAA,uBAAuB,EAAE,QAAQ,CAAC,WAAW,EAAE;AAC/C,wBAAA,IAAI,EAAE;4BACJ,SAAS;4BACT,QAAQ;4BACR,KAAK;4BACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE;4BAClF,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;AAC5E,yBAAA;AACD,wBAAA,kBAAkB,EAAE,KAAK;AAC1B,qBAAA;AACD,oBAAA,IAAI,EAAE,IAAI;iBACX,CAAA;AACD,gBAAA,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AACxC,gBAAA,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAA;AACtC,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;AAClB,gBAAA,IAAI,CAAC,UAAU,GAAG,eAAe,CAAA;AAClC,aAAA;AACF,SAAA;KACF;IACD,uBAAuB,CAAC,EAAU,EAAE,gBAAqB,EAAA;AACvD,QAAA,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAClC;AACE,YAAA,aAAa,EAAE,EAAE;AACjB,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;AACvE,YAAA,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;SACzB,CACF;AACE,aAAA,SAAS,EAAE;AACX,aAAA,KAAK,EAAE,CAAA;KACX;AACD,IAAA,eAAe,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,KAAK,EAAE;YACT,QAAQ,KAAK,CAAC,OAAO;AACnB,gBAAA,KAAK,UAAU;AACb,oBAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAqC;AAC9D,wBAAA,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS;AACzC,wBAAA,aAAa,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI;AAC5C,wBAAA,IAAI,EACC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAC,IAAI,CACb,EAAA,EAAA,YAAY,EAAE,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,EACrD,CAAA;wBACD,IAAI,EAAE,KAAK,CAAC,kBAAkB;AAC9B,wBAAA,EAAE,EAAE,WAAW;AAChB,qBAAA,CAAC,CAAA;oBACF,MAAK;AACP,gBAAA,KAAK,WAAW;AACd,oBAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAsC;AAC/D,wBAAA,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS;AACzC,wBAAA,aAAa,EAAE,QAAQ,CAAC,eAAe,CAAC,KAAK;AAC7C,wBAAA,IAAI,EACC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAC,IAAI,CACb,EAAA,EAAA,YAAY,EAAE,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EACtD,CAAA;wBACD,IAAI,EAAE,KAAK,CAAC,kBAAkB;AAC9B,wBAAA,EAAE,EAAE,WAAW;AAChB,qBAAA,CAAC,CAAA;oBACF,MAAK;AACP,gBAAA,KAAK,YAAY;oBACf,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAC3C,MAAK;AACP,gBAAA;oBACE,MAAK;AACR,aAAA;AACF,SAAA;KACF;IACD,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;AACpB,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAA;AAChC,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;AAC7B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;KACpB;IACD,oBAAoB,GAAA;QAClB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;YAC5G,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ;gBACnD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ;gBAClD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;AAC3D,YAAA,MAAM,QAAQ,GAAW,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ;AACxE,gBAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAA;AACxD,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAA;AACpC,YAAA,MAAM,QAAQ,GAAG;gBACf,kBAAkB,EAAE,IAAI,CAAC,UAAU;AACnC,gBAAA,SAAS,EAAE,gBAAgB;AAC3B,gBAAA,aAAa,EAAE;AACb,oBAAA,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;AAChC,oBAAA,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;AACpB,oBAAA,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;AAC/B,oBAAA,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,GACrC,MAAA,CAAA,MAAA,CAAA,EAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAC7C,EAAA,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CACzC,GAAE,EAAE;AACN,oBAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,GAAG,MAAM;AACjG,oBAAA,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,KAAK,IAAI;AAC/F,oBAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;AACnC,oBAAA,uBAAuB,EAAE,QAAQ,CAAC,WAAW,EAAE;AAC/C,oBAAA,IAAI,EAAE;wBACJ,SAAS;wBACT,QAAQ;wBACR,KAAK;wBACL,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE;wBAClF,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;AAC5E,qBAAA;AACD,oBAAA,kBAAkB,EAAE,KAAK;AAC1B,iBAAA;aACF,CAAA;YACD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AAClD,SAAA;KACF;;;;AAzMF,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;YANQ,qBAAqB,EAAA;YAFrB,oBAAoB,EAAA;YACpB,mBAAmB,EAAA;YAFnB,cAAc,EAAA;YAAE,MAAM,EAAA;YAKtB,YAAY,EAAA;YACZ,gBAAgB,EAAA;;;ACDzB,MAAM,SAAS,GAAG;AAChB,IAAA,QAAQ,EAAE,oCAAoC;CAC/C,CAAA;MAIY,qBAAqB,CAAA;IAGhC,WAAoB,CAAA,IAAgB,EAAU,gBAAuC,EAAA;QAAjE,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAU,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAuB;KAAK;IAE1F,UAAU,GAAA;QACR,IAAI,CAAC,gBAAgB,CAAC,kBAAkB;AACrC,aAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AACvB,aAAA,SAAS,CAAC,CAAC,eAA0C,KAAI;AACxD,YAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE;AACzC,gBAAA,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;AACzC,aAAA;AACH,SAAC,CAAC,CAAA;KACL;IAEK,mBAAmB,GAAA;;AACvB,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAA;AACjF,YAAA,OAAO,IAAI,CAAA;SACZ,CAAA,CAAA;AAAA,KAAA;AAEK,IAAA,kBAAkB,CAAC,eAA0C,EAAA;;YACjE,IAAI;gBACF,IAAI,CAAC,eAAe,EAAE;AACpB,oBAAA,OAAO,KAAK,CAAA;AACb,iBAAA;AACD,gBAAA,MAAM,WAAW,GACZ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAA,EAAA,EACvC,UAAU,EACR,CAAC,eAAe,IAAI,eAAe,CAAC,UAAU;AAC9C,yBAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc;AACnC,4BAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC;wBAClD,EAAE,EACJ,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAC5C,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAClC,aAAa,EACX,CAAC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB;AACtC,wBAAA,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU;wBACpD,EAAE,EACJ,YAAY,EACV,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB;AACrC,wBAAA,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,SAAS;wBAClD,EAAE,EACJ,iBAAiB,EACf,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc;AACnC,wBAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,iBAAiB;wBACxD,EAAE,EACJ,cAAc,EACZ,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc;AACnC,wBAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,cAAc;wBACrD,EAAE,EACJ,WAAW,EACT,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc;AACnC,wBAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,WAAW;wBAClD,EAAE,EACJ,eAAe,EACb,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc;AACnC,wBAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe;wBACtD,EAAE,EACJ,iBAAiB,EACf,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc;AACnC,wBAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,iBAAiB;wBACxD,EAAE,EAAA,CAAA,GACA,eAAe,IAAI,EAAE,EAAC,EAAA,EAC1B,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAClD,eAAe,EACb,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc;AACnC,wBAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,eAAe;AACtD,wBAAA,IAAI,CAAC,gBAAgB,CAAC,eAAe,GACxC,CAAA;AACD,gBAAA,MAAM,WAAW,GAA2B,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAA;AAChF,gBAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,GAAG,WAAW,CAAA;gBAClD,MAAM,IAAI,CAAC,IAAI;AACZ,qBAAA,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;qBACpC,IAAI,CACH,KAAK,CAAC,CAAC,CAAC,EACR,UAAU,CAAC,GAAG,IAAG;AACf,oBAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,GAAG,WAAW,CAAA;AAClD,oBAAA,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;AAChB,iBAAC,CAAC,CACH;AACA,qBAAA,SAAS,EAAE,CAAA;AACd,gBAAA,OAAO,IAAI,CAAA;AACZ,aAAA;AAAC,YAAA,OAAO,GAAG,EAAE;AACZ,gBAAA,OAAO,KAAK,CAAA;AACb,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;;;;AAxFF,IAAA,EAAA,IAAA,EAAA,UAAU,EAAC,IAAA,EAAA,CAAA;AACV,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,EAAA,EAAA;;;YAVQ,UAAU,EAAA;YAEV,qBAAqB,EAAA;;;ACHxB,IAAW,UAsVhB;AAtVD,CAAA,UAAiB,SAAS,EAAA;AAiPxB,IAAA,IAAY,aASX,CAAA;AATD,IAAA,CAAA,UAAY,aAAa,EAAA;AACvB,QAAA,aAAA,CAAA,SAAA,CAAA,GAAA,eAAyB,CAAA;AACzB,QAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,aAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,QAAA,aAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,aAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC,CAAA;AACtC,QAAA,aAAA,CAAA,QAAA,CAAA,GAAA,YAAqB,CAAA;AACrB,QAAA,aAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,KAAC,EATW,aAAa,GAAb,SAAa,CAAA,aAAA,KAAb,uBAAa,GASxB,EAAA,CAAA,CAAA,CAAA;AACD,IAAA,IAAY,mCAEX,CAAA;AAFD,IAAA,CAAA,UAAY,mCAAmC,EAAA;AAC7C,QAAA,mCAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,KAAC,EAFW,mCAAmC,GAAnC,SAAmC,CAAA,mCAAA,KAAnC,6CAAmC,GAE9C,EAAA,CAAA,CAAA,CAAA;AACY,IAAA,SAAA,CAAA,iCAAiC,GAAa;AACzD,QAAA,aAAa,CAAC,MAAM;AACpB,QAAA,aAAa,CAAC,MAAM;AACpB,QAAA,aAAa,CAAC,OAAO;AACrB,QAAA,mCAAmC,CAAC,QAAQ;KAC7C,CAAA;AACY,IAAA,SAAA,CAAA,0BAA0B,GAAoB;AACzD,QAAA,aAAa,CAAC,MAAM;AACpB,QAAA,aAAa,CAAC,MAAM;AACpB,QAAA,aAAa,CAAC,OAAO;AACrB,QAAA,aAAa,CAAC,QAAQ;KACvB,CAAA;AACY,IAAA,SAAA,CAAA,gCAAgC,GAAoB;AAC/D,QAAA,aAAa,CAAC,MAAM;AACpB,QAAA,aAAa,CAAC,MAAM;AACpB,QAAA,aAAa,CAAC,OAAO;AACrB,QAAA,aAAa,CAAC,QAAQ;KACvB,CAAA;AACD,IAAA,IAAY,UA0BX,CAAA;AA1BD,IAAA,CAAA,UAAY,UAAU,EAAA;AACpB,QAAA,UAAA,CAAA,YAAA,CAAA,GAAA,2CAAwD,CAAA;AACxD,QAAA,UAAA,CAAA,MAAA,CAAA,GAAA,kBAAyB,CAAA;AACzB,QAAA,UAAA,CAAA,QAAA,CAAA,GAAA,mBAA4B,CAAA;AAC5B,QAAA,UAAA,CAAA,KAAA,CAAA,GAAA,4BAAkC,CAAA;AAClC,QAAA,UAAA,CAAA,KAAA,CAAA,GAAA,WAAiB,CAAA;AACjB,QAAA,UAAA,CAAA,KAAA,CAAA,GAAA,YAAkB,CAAA;AAClB,QAAA,UAAA,CAAA,KAAA,CAAA,GAAA,WAAiB,CAAA;AACjB,QAAA,UAAA,CAAA,MAAA,CAAA,GAAA,uBAA8B,CAAA;AAC9B,QAAA,UAAA,CAAA,aAAA,CAAA,GAAA,mBAAiC,CAAA;AACjC,QAAA,UAAA,CAAA,KAAA,CAAA,GAAA,iBAAuB,CAAA;AACvB,QAAA,UAAA,CAAA,MAAA,CAAA,GAAA,kBAAyB,CAAA;AACzB,QAAA,UAAA,CAAA,WAAA,CAAA,GAAA,uBAAmC,CAAA;AACnC,QAAA,UAAA,CAAA,aAAA,CAAA,GAAA,wBAAsC,CAAA;AACtC,QAAA,UAAA,CAAA,YAAA,CAAA,GAAA,wBAAqC,CAAA;AACrC,QAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,iCAAuD,CAAA;AACvD,QAAA,UAAA,CAAA,SAAA,CAAA,GAAA,iBAA2B,CAAA;AAC3B,QAAA,UAAA,CAAA,UAAA,CAAA,GAAA,iCAA4C,CAAA;AAC5C,QAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,mBAAoC,CAAA;AACpC,QAAA,UAAA,CAAA,eAAA,CAAA,GAAA,2BAA2C,CAAA;AAC3C,QAAA,UAAA,CAAA,SAAA,CAAA,GAAA,qBAA+B,CAAA;AAC/B,QAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAE3C,QAAA,UAAA,CAAA,eAAA,CAAA,GAAA,2BAA2C,CAAA;AAC3C,QAAA,UAAA,CAAA,UAAA,CAAA,GAAA,sBAAiC,CAAA;AACjC,QAAA,UAAA,CAAA,SAAA,CAAA,GAAA,qBAA+B,CAAA;AACjC,KAAC,EA1BW,UAAU,GAAV,SAAU,CAAA,UAAA,KAAV,oBAAU,GA0BrB,EAAA,CAAA,CAAA,CAAA;AACD,IAAA,IAAY,oBA8BX,CAAA;AA9BD,IAAA,CAAA,UAAY,oBAAoB,EAAA;AAC9B,QAAA,oBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,QAAA,oBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,QAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,oBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,QAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,QAAA,oBAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,QAAA,oBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,QAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,oBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,QAAA,oBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,QAAA,oBAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AACvC,QAAA,oBAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,QAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,oBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,QAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,QAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,oBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,QAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,QAAA,oBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,oBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,oBAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC,CAAA;AACxC,KAAC,EA9BW,oBAAoB,GAApB,SAAoB,CAAA,oBAAA,KAApB,8BAAoB,GA8B/B,EAAA,CAAA,CAAA,CAAA;AAED,IAAA,IAAY,eAKX,CAAA;AALD,IAAA,CAAA,UAAY,eAAe,EAAA;AACzB,QAAA,eAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,QAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,QAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,KAAC,EALW,eAAe,GAAf,SAAe,CAAA,eAAA,KAAf,yBAAe,GAK1B,EAAA,CAAA,CAAA,CAAA;AAGD,IAAA,IAAY,QAEX,CAAA;AAFD,IAAA,CAAA,UAAY,QAAQ,EAAA;AAClB,QAAA,QAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC7B,KAAC,EAFW,QAAQ,GAAR,SAAQ,CAAA,QAAA,KAAR,kBAAQ,GAEnB,EAAA,CAAA,CAAA,CAAA;AACH,CAAC,EAtVgB,SAAS,KAAT,SAAS,GAsVzB,EAAA,CAAA,CAAA;;;;"}
|