@sunbird-cb/consumption 0.0.0-watch
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/README.md +24 -0
- package/esm2015/lib/_common/announcements/announcements.component.js +98 -0
- package/esm2015/lib/_common/announcements/announcements.module.js +30 -0
- package/esm2015/lib/_common/avatar-photo-lib/avatar-photo-lib.component.js +113 -0
- package/esm2015/lib/_common/avatar-photo-lib/avatar-photo-lib.module.js +47 -0
- package/esm2015/lib/_common/calender/calender-day/calender-day.component.js +51 -0
- package/esm2015/lib/_common/calender/calender.component.js +191 -0
- package/esm2015/lib/_common/calender/calender.module.js +45 -0
- package/esm2015/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.js +89 -0
- package/esm2015/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +96 -0
- package/esm2015/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.js +90 -0
- package/esm2015/lib/_common/cards/card-landscape/card-landscape.component.js +109 -0
- package/esm2015/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.js +77 -0
- package/esm2015/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.js +77 -0
- package/esm2015/lib/_common/cards/card-portrait/card-portrait.component.js +95 -0
- package/esm2015/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.js +97 -0
- package/esm2015/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.js +150 -0
- package/esm2015/lib/_common/cards/card-resource/card-resource.component.js +23 -0
- package/esm2015/lib/_common/cards/card-user/card-user.component.js +74 -0
- package/esm2015/lib/_common/cards/card-wide/card-wide.component.js +92 -0
- package/esm2015/lib/_common/cards/card-wide-v2/card-wide-v2.component.js +91 -0
- package/esm2015/lib/_common/cards/cards.component.js +104 -0
- package/esm2015/lib/_common/cards/cards.module.js +168 -0
- package/esm2015/lib/_common/cards/provider-card/provider-card.component.js +52 -0
- package/esm2015/lib/_common/cbp-plan/cbp-plan.component.js +95 -0
- package/esm2015/lib/_common/cbp-plan/cbp-plan.module.js +38 -0
- package/esm2015/lib/_common/common-strip/common-strip.component.js +323 -0
- package/esm2015/lib/_common/common-strip/common-strip.model.js +2 -0
- package/esm2015/lib/_common/common-strip/common-strip.module.js +147 -0
- package/esm2015/lib/_common/competency-passbook/competency-passbook.component.js +366 -0
- package/esm2015/lib/_common/competency-passbook/competency-passbook.module.js +36 -0
- package/esm2015/lib/_common/competency-passbook/competency-passbook.service.js +30 -0
- package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.js +190 -0
- package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.js +36 -0
- package/esm2015/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.js +30 -0
- package/esm2015/lib/_common/content-progress/content-progress.component.js +76 -0
- package/esm2015/lib/_common/content-progress/content-progress.module.js +30 -0
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +1661 -0
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +2 -0
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.js +152 -0
- package/esm2015/lib/_common/data-points/data-points.component.js +119 -0
- package/esm2015/lib/_common/data-points/data-points.module.js +28 -0
- package/esm2015/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.js +138 -0
- package/esm2015/lib/_common/dialog-components/dialog-components.module.js +65 -0
- package/esm2015/lib/_common/display-content-type-lib/display-content-type-lib.component.js +33 -0
- package/esm2015/lib/_common/display-content-type-lib/display-content-type-lib.module.js +19 -0
- package/esm2015/lib/_common/events/event-card/event-card.component.js +46 -0
- package/esm2015/lib/_common/events/events.component.js +111 -0
- package/esm2015/lib/_common/events/events.module.js +35 -0
- package/esm2015/lib/_common/highlights-of-week/highlights-of-week.component.js +50 -0
- package/esm2015/lib/_common/highlights-of-week/highlights-of-week.module.js +40 -0
- package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +258 -0
- package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.js +34 -0
- package/esm2015/lib/_common/key-highlights/key-highlights.component.js +45 -0
- package/esm2015/lib/_common/key-highlights/key-highlights.module.js +37 -0
- package/esm2015/lib/_common/mdo-leaderboard/mdo-leaderboard.component.js +103 -0
- package/esm2015/lib/_common/mdo-leaderboard/mdo-leaderboard.module.js +42 -0
- package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.js +18 -0
- package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.js +158 -0
- package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel.module.js +93 -0
- package/esm2015/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.js +85 -0
- package/esm2015/lib/_common/microsites/national-learning-week/national-learning.module.js +87 -0
- package/esm2015/lib/_common/microsites/providers/providers-v2/providers-v2.component.js +156 -0
- package/esm2015/lib/_common/microsites/providers/providers.module.js +90 -0
- package/esm2015/lib/_common/pills/pills.component.js +44 -0
- package/esm2015/lib/_common/pills/pills.module.js +34 -0
- package/esm2015/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.js +29 -0
- package/esm2015/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.js +40 -0
- package/esm2015/lib/_common/sliders/sliders.component.js +117 -0
- package/esm2015/lib/_common/sliders/sliders.model.js +2 -0
- package/esm2015/lib/_common/sliders/sliders.module.js +53 -0
- package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.component.js +138 -0
- package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.model.js +2 -0
- package/esm2015/lib/_common/sliders-ng-content/sliders-ng-content.module.js +53 -0
- package/esm2015/lib/_common/speakers/speakers.component.js +73 -0
- package/esm2015/lib/_common/speakers/speakers.module.js +40 -0
- package/esm2015/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.component.js +684 -0
- package/esm2015/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.model.js +5 -0
- package/esm2015/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.module.js +152 -0
- package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.js +957 -0
- package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.js +2 -0
- package/esm2015/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.js +152 -0
- package/esm2015/lib/_common/top-learners/top-learners.component.js +104 -0
- package/esm2015/lib/_common/top-learners/top-learners.module.js +30 -0
- package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.component.js +83 -0
- package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.module.js +58 -0
- package/esm2015/lib/_common/user-content-rating/user-content-rating-lib.service.js +23 -0
- package/esm2015/lib/_common/user-progress/user-progress.component.js +111 -0
- package/esm2015/lib/_common/user-progress/user-progress.module.js +40 -0
- package/esm2015/lib/_constants/misc.constants.js +2 -0
- package/esm2015/lib/_directives/default-thumbnail/default-thumbnail.directive.js +40 -0
- package/esm2015/lib/_directives/default-thumbnail/default-thumbnail.module.js +22 -0
- package/esm2015/lib/_directives/image-responsive/image-responsive.directive.js +87 -0
- package/esm2015/lib/_directives/image-responsive/image-responsive.module.js +22 -0
- package/esm2015/lib/_directives/navigation/navigation.directive.js +43 -0
- package/esm2015/lib/_directives/navigation/navigation.module.js +22 -0
- package/esm2015/lib/_directives/scrollable-item/scrollable-item.directive.js +22 -0
- package/esm2015/lib/_directives/scrollable-item/scrollable-item.module.js +22 -0
- package/esm2015/lib/_models/card-content-v2.model.js +23 -0
- package/esm2015/lib/_models/card-content.model.js +23 -0
- package/esm2015/lib/_models/card-users.model.js +2 -0
- package/esm2015/lib/_models/compentencies.model.js +2 -0
- package/esm2015/lib/_models/content-strip-multiple.model.js +2 -0
- package/esm2015/lib/_models/event.js +2 -0
- package/esm2015/lib/_models/profile-v3.models.js +2 -0
- package/esm2015/lib/_models/rating.model.js +2 -0
- package/esm2015/lib/_models/widget-content.model.js +241 -0
- package/esm2015/lib/_models/widget-search.model.js +2 -0
- package/esm2015/lib/_models/widget-user.model.js +2 -0
- package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.js +24 -0
- package/esm2015/lib/_pipes/object-to-array/object-to-array.pipe.module.js +22 -0
- package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.js +22 -0
- package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +84 -0
- package/esm2015/lib/_pipes/pipe-public-URL/pipe-public-URL.module.js +22 -0
- package/esm2015/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.js +24 -0
- package/esm2015/lib/_services/certificate.service.js +27 -0
- package/esm2015/lib/_services/common-methods.service.js +52 -0
- package/esm2015/lib/_services/configurations.service.js +106 -0
- package/esm2015/lib/_services/insite-data.service.js +56 -0
- package/esm2015/lib/_services/multilingual-translations.service.js +134 -0
- package/esm2015/lib/_services/rating.service.js +90 -0
- package/esm2015/lib/_services/viewer-route-util.js +100 -0
- package/esm2015/lib/_services/widget-content.service.js +477 -0
- package/esm2015/lib/_services/widget-user.service.js +300 -0
- package/esm2015/lib/consumption.component.js +26 -0
- package/esm2015/lib/consumption.config.js +7 -0
- package/esm2015/lib/consumption.module.js +56 -0
- package/esm2015/lib/consumption.service.js +14 -0
- package/esm2015/lib/registration-lib.config.js +15 -0
- package/esm2015/public-api.js +73 -0
- package/esm2015/sunbird-cb-consumption.js +5 -0
- package/fesm2015/sunbird-cb-consumption.js +11436 -0
- package/fesm2015/sunbird-cb-consumption.js.map +1 -0
- package/lib/_common/announcements/announcements.component.d.ts +25 -0
- package/lib/_common/announcements/announcements.component.d.ts.map +1 -0
- package/lib/_common/announcements/announcements.module.d.ts +11 -0
- package/lib/_common/announcements/announcements.module.d.ts.map +1 -0
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.component.d.ts +24 -0
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.component.d.ts.map +1 -0
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.module.d.ts +15 -0
- package/lib/_common/avatar-photo-lib/avatar-photo-lib.module.d.ts.map +1 -0
- package/lib/_common/calender/calender-day/calender-day.component.d.ts +22 -0
- package/lib/_common/calender/calender-day/calender-day.component.d.ts.map +1 -0
- package/lib/_common/calender/calender.component.d.ts +38 -0
- package/lib/_common/calender/calender.component.d.ts.map +1 -0
- package/lib/_common/calender/calender.module.d.ts +14 -0
- package/lib/_common/calender/calender.module.d.ts.map +1 -0
- package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts +35 -0
- package/lib/_common/cards/card-assessment/card-assessment/card-assessment.component.d.ts.map +1 -0
- package/lib/_common/cards/card-karma-programs/card-karma-programs.component.d.ts +32 -0
- package/lib/_common/cards/card-karma-programs/card-karma-programs.component.d.ts.map +1 -0
- package/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.d.ts +30 -0
- package/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.d.ts.map +1 -0
- package/lib/_common/cards/card-landscape/card-landscape.component.d.ts +40 -0
- package/lib/_common/cards/card-landscape/card-landscape.component.d.ts.map +1 -0
- package/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.d.ts +31 -0
- package/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.d.ts.map +1 -0
- package/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.d.ts +31 -0
- package/lib/_common/cards/card-mdo-channel-v1/card-mdo-channel-v1.component.d.ts.map +1 -0
- package/lib/_common/cards/card-portrait/card-portrait.component.d.ts +37 -0
- package/lib/_common/cards/card-portrait/card-portrait.component.d.ts.map +1 -0
- package/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.d.ts +37 -0
- package/lib/_common/cards/card-portrait-ext/card-portrait-ext.component.d.ts.map +1 -0
- package/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.d.ts +46 -0
- package/lib/_common/cards/card-progress-portrait-lib/card-progress-portrait-lib.component.d.ts.map +1 -0
- package/lib/_common/cards/card-resource/card-resource.component.d.ts +12 -0
- package/lib/_common/cards/card-resource/card-resource.component.d.ts.map +1 -0
- package/lib/_common/cards/card-user/card-user.component.d.ts +28 -0
- package/lib/_common/cards/card-user/card-user.component.d.ts.map +1 -0
- package/lib/_common/cards/card-wide/card-wide.component.d.ts +34 -0
- package/lib/_common/cards/card-wide/card-wide.component.d.ts.map +1 -0
- package/lib/_common/cards/card-wide-v2/card-wide-v2.component.d.ts +38 -0
- package/lib/_common/cards/card-wide-v2/card-wide-v2.component.d.ts.map +1 -0
- package/lib/_common/cards/cards.component.d.ts +30 -0
- package/lib/_common/cards/cards.component.d.ts.map +1 -0
- package/lib/_common/cards/cards.module.d.ts +39 -0
- package/lib/_common/cards/cards.module.d.ts.map +1 -0
- package/lib/_common/cards/provider-card/provider-card.component.d.ts +18 -0
- package/lib/_common/cards/provider-card/provider-card.component.d.ts.map +1 -0
- package/lib/_common/cbp-plan/cbp-plan.component.d.ts +29 -0
- package/lib/_common/cbp-plan/cbp-plan.component.d.ts.map +1 -0
- package/lib/_common/cbp-plan/cbp-plan.module.d.ts +13 -0
- package/lib/_common/cbp-plan/cbp-plan.module.d.ts.map +1 -0
- package/lib/_common/common-strip/common-strip.component.d.ts +108 -0
- package/lib/_common/common-strip/common-strip.component.d.ts.map +1 -0
- package/lib/_common/common-strip/common-strip.model.d.ts +143 -0
- package/lib/_common/common-strip/common-strip.model.d.ts.map +1 -0
- package/lib/_common/common-strip/common-strip.module.d.ts +36 -0
- package/lib/_common/common-strip/common-strip.module.d.ts.map +1 -0
- package/lib/_common/competency-passbook/competency-passbook.component.d.ts +52 -0
- package/lib/_common/competency-passbook/competency-passbook.component.d.ts.map +1 -0
- package/lib/_common/competency-passbook/competency-passbook.module.d.ts +12 -0
- package/lib/_common/competency-passbook/competency-passbook.module.d.ts.map +1 -0
- package/lib/_common/competency-passbook/competency-passbook.service.d.ts +13 -0
- package/lib/_common/competency-passbook/competency-passbook.service.d.ts.map +1 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.d.ts +50 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.component.d.ts.map +1 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.d.ts +12 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.module.d.ts.map +1 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.d.ts +13 -0
- package/lib/_common/competency-passbook-mdo/competency-passbook-mdo.service.d.ts.map +1 -0
- package/lib/_common/content-progress/content-progress.component.d.ts +17 -0
- package/lib/_common/content-progress/content-progress.component.d.ts.map +1 -0
- package/lib/_common/content-progress/content-progress.module.d.ts +11 -0
- package/lib/_common/content-progress/content-progress.module.d.ts.map +1 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +207 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts.map +1 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.d.ts +151 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.d.ts.map +1 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.d.ts +39 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.d.ts.map +1 -0
- package/lib/_common/data-points/data-points.component.d.ts +24 -0
- package/lib/_common/data-points/data-points.component.d.ts.map +1 -0
- package/lib/_common/data-points/data-points.module.d.ts +10 -0
- package/lib/_common/data-points/data-points.module.d.ts.map +1 -0
- package/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.d.ts +26 -0
- package/lib/_common/dialog-components/certificate-dialog/certificate-dialog.component.d.ts.map +1 -0
- package/lib/_common/dialog-components/dialog-components.module.d.ts +15 -0
- package/lib/_common/dialog-components/dialog-components.module.d.ts.map +1 -0
- package/lib/_common/display-content-type-lib/display-content-type-lib.component.d.ts +16 -0
- package/lib/_common/display-content-type-lib/display-content-type-lib.component.d.ts.map +1 -0
- package/lib/_common/display-content-type-lib/display-content-type-lib.module.d.ts +10 -0
- package/lib/_common/display-content-type-lib/display-content-type-lib.module.d.ts.map +1 -0
- package/lib/_common/events/event-card/event-card.component.d.ts +17 -0
- package/lib/_common/events/event-card/event-card.component.d.ts.map +1 -0
- package/lib/_common/events/events.component.d.ts +21 -0
- package/lib/_common/events/events.component.d.ts.map +1 -0
- package/lib/_common/events/events.module.d.ts +13 -0
- package/lib/_common/events/events.module.d.ts.map +1 -0
- package/lib/_common/highlights-of-week/highlights-of-week.component.d.ts +18 -0
- package/lib/_common/highlights-of-week/highlights-of-week.component.d.ts.map +1 -0
- package/lib/_common/highlights-of-week/highlights-of-week.module.d.ts +13 -0
- package/lib/_common/highlights-of-week/highlights-of-week.module.d.ts.map +1 -0
- package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.d.ts +37 -0
- package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.d.ts.map +1 -0
- package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.d.ts +12 -0
- package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.d.ts.map +1 -0
- package/lib/_common/key-highlights/key-highlights.component.d.ts +20 -0
- package/lib/_common/key-highlights/key-highlights.component.d.ts.map +1 -0
- package/lib/_common/key-highlights/key-highlights.module.d.ts +12 -0
- package/lib/_common/key-highlights/key-highlights.module.d.ts.map +1 -0
- package/lib/_common/mdo-leaderboard/mdo-leaderboard.component.d.ts +24 -0
- package/lib/_common/mdo-leaderboard/mdo-leaderboard.component.d.ts.map +1 -0
- package/lib/_common/mdo-leaderboard/mdo-leaderboard.module.d.ts +13 -0
- package/lib/_common/mdo-leaderboard/mdo-leaderboard.module.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.d.ts +9 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.d.ts +46 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.d.ts.map +1 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel.module.d.ts +25 -0
- package/lib/_common/microsites/mdo-channels/mdo-channel.module.d.ts.map +1 -0
- package/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.d.ts +24 -0
- package/lib/_common/microsites/national-learning-week/national-learning/national-learning.component.d.ts.map +1 -0
- package/lib/_common/microsites/national-learning-week/national-learning.module.d.ts +23 -0
- package/lib/_common/microsites/national-learning-week/national-learning.module.d.ts.map +1 -0
- package/lib/_common/microsites/providers/providers-v2/providers-v2.component.d.ts +40 -0
- package/lib/_common/microsites/providers/providers-v2/providers-v2.component.d.ts.map +1 -0
- package/lib/_common/microsites/providers/providers.module.d.ts +23 -0
- package/lib/_common/microsites/providers/providers.module.d.ts.map +1 -0
- package/lib/_common/pills/pills.component.d.ts +17 -0
- package/lib/_common/pills/pills.component.d.ts.map +1 -0
- package/lib/_common/pills/pills.module.d.ts +12 -0
- package/lib/_common/pills/pills.module.d.ts.map +1 -0
- package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.d.ts +12 -0
- package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.d.ts.map +1 -0
- package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.d.ts +12 -0
- package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.d.ts.map +1 -0
- package/lib/_common/sliders/sliders.component.d.ts +31 -0
- package/lib/_common/sliders/sliders.component.d.ts.map +1 -0
- package/lib/_common/sliders/sliders.model.d.ts +41 -0
- package/lib/_common/sliders/sliders.model.d.ts.map +1 -0
- package/lib/_common/sliders/sliders.module.d.ts +13 -0
- package/lib/_common/sliders/sliders.module.d.ts.map +1 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.component.d.ts +34 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.component.d.ts.map +1 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.model.d.ts +35 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.model.d.ts.map +1 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.module.d.ts +13 -0
- package/lib/_common/sliders-ng-content/sliders-ng-content.module.d.ts.map +1 -0
- package/lib/_common/speakers/speakers.component.d.ts +19 -0
- package/lib/_common/speakers/speakers.component.d.ts.map +1 -0
- package/lib/_common/speakers/speakers.module.d.ts +13 -0
- package/lib/_common/speakers/speakers.module.d.ts.map +1 -0
- package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.component.d.ts +135 -0
- package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.component.d.ts.map +1 -0
- package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.model.d.ts +159 -0
- package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.model.d.ts.map +1 -0
- package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.module.d.ts +37 -0
- package/lib/_common/strips/content-strip-facet-filter/content-strip-facet-filter.module.d.ts.map +1 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.d.ts +165 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.component.d.ts.map +1 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.d.ts +151 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.model.d.ts.map +1 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.d.ts +39 -0
- package/lib/_common/strips/content-strip-with-tabs-pills/content-strip-with-tabs-pills.module.d.ts.map +1 -0
- package/lib/_common/top-learners/top-learners.component.d.ts +22 -0
- package/lib/_common/top-learners/top-learners.component.d.ts.map +1 -0
- package/lib/_common/top-learners/top-learners.module.d.ts +11 -0
- package/lib/_common/top-learners/top-learners.module.d.ts.map +1 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.component.d.ts +26 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.component.d.ts.map +1 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.module.d.ts +17 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.module.d.ts.map +1 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.service.d.ts +11 -0
- package/lib/_common/user-content-rating/user-content-rating-lib.service.d.ts.map +1 -0
- package/lib/_common/user-progress/user-progress.component.d.ts +28 -0
- package/lib/_common/user-progress/user-progress.component.d.ts.map +1 -0
- package/lib/_common/user-progress/user-progress.module.d.ts +13 -0
- package/lib/_common/user-progress/user-progress.module.d.ts.map +1 -0
- package/lib/_constants/misc.constants.d.ts +3 -0
- package/lib/_constants/misc.constants.d.ts.map +1 -0
- package/lib/_directives/default-thumbnail/default-thumbnail.directive.d.ts +13 -0
- package/lib/_directives/default-thumbnail/default-thumbnail.directive.d.ts.map +1 -0
- package/lib/_directives/default-thumbnail/default-thumbnail.module.d.ts +9 -0
- package/lib/_directives/default-thumbnail/default-thumbnail.module.d.ts.map +1 -0
- package/lib/_directives/image-responsive/image-responsive.directive.d.ts +21 -0
- package/lib/_directives/image-responsive/image-responsive.directive.d.ts.map +1 -0
- package/lib/_directives/image-responsive/image-responsive.module.d.ts +9 -0
- package/lib/_directives/image-responsive/image-responsive.module.d.ts.map +1 -0
- package/lib/_directives/navigation/navigation.directive.d.ts +13 -0
- package/lib/_directives/navigation/navigation.directive.d.ts.map +1 -0
- package/lib/_directives/navigation/navigation.module.d.ts +9 -0
- package/lib/_directives/navigation/navigation.module.d.ts.map +1 -0
- package/lib/_directives/scrollable-item/scrollable-item.directive.d.ts +11 -0
- package/lib/_directives/scrollable-item/scrollable-item.directive.d.ts.map +1 -0
- package/lib/_directives/scrollable-item/scrollable-item.module.d.ts +9 -0
- package/lib/_directives/scrollable-item/scrollable-item.module.d.ts.map +1 -0
- package/lib/_models/card-content-v2.model.d.ts +45 -0
- package/lib/_models/card-content-v2.model.d.ts.map +1 -0
- package/lib/_models/card-content.model.d.ts +42 -0
- package/lib/_models/card-content.model.d.ts.map +1 -0
- package/lib/_models/card-users.model.d.ts +51 -0
- package/lib/_models/card-users.model.d.ts.map +1 -0
- package/lib/_models/compentencies.model.d.ts +10 -0
- package/lib/_models/compentencies.model.d.ts.map +1 -0
- package/lib/_models/content-strip-multiple.model.d.ts +130 -0
- package/lib/_models/content-strip-multiple.model.d.ts.map +1 -0
- package/lib/_models/event.d.ts +19 -0
- package/lib/_models/event.d.ts.map +1 -0
- package/lib/_models/profile-v3.models.d.ts +92 -0
- package/lib/_models/profile-v3.models.d.ts.map +1 -0
- package/lib/_models/rating.model.d.ts +18 -0
- package/lib/_models/rating.model.d.ts.map +1 -0
- package/lib/_models/widget-content.model.d.ts +499 -0
- package/lib/_models/widget-content.model.d.ts.map +1 -0
- package/lib/_models/widget-search.model.d.ts +253 -0
- package/lib/_models/widget-search.model.d.ts.map +1 -0
- package/lib/_models/widget-user.model.d.ts +6 -0
- package/lib/_models/widget-user.model.d.ts.map +1 -0
- package/lib/_pipes/object-to-array/object-to-array.pipe.d.ts +8 -0
- package/lib/_pipes/object-to-array/object-to-array.pipe.d.ts.map +1 -0
- package/lib/_pipes/object-to-array/object-to-array.pipe.module.d.ts +9 -0
- package/lib/_pipes/object-to-array/object-to-array.pipe.module.d.ts.map +1 -0
- package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +9 -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.pipe.d.ts +10 -0
- package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts.map +1 -0
- package/lib/_pipes/pipe-public-URL/pipe-public-URL.module.d.ts +9 -0
- package/lib/_pipes/pipe-public-URL/pipe-public-URL.module.d.ts.map +1 -0
- package/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.d.ts +10 -0
- package/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.d.ts.map +1 -0
- package/lib/_services/certificate.service.d.ts +12 -0
- package/lib/_services/certificate.service.d.ts.map +1 -0
- package/lib/_services/common-methods.service.d.ts +43 -0
- package/lib/_services/common-methods.service.d.ts.map +1 -0
- package/lib/_services/configurations.service.d.ts +75 -0
- package/lib/_services/configurations.service.d.ts.map +1 -0
- package/lib/_services/insite-data.service.d.ts +19 -0
- package/lib/_services/insite-data.service.d.ts.map +1 -0
- package/lib/_services/multilingual-translations.service.d.ts +24 -0
- package/lib/_services/multilingual-translations.service.d.ts.map +1 -0
- package/lib/_services/rating.service.d.ts +19 -0
- package/lib/_services/rating.service.d.ts.map +1 -0
- package/lib/_services/viewer-route-util.d.ts +9 -0
- package/lib/_services/viewer-route-util.d.ts.map +1 -0
- package/lib/_services/widget-content.service.d.ts +91 -0
- package/lib/_services/widget-content.service.d.ts.map +1 -0
- package/lib/_services/widget-user.service.d.ts +37 -0
- package/lib/_services/widget-user.service.d.ts.map +1 -0
- package/lib/consumption.component.d.ts +9 -0
- package/lib/consumption.component.d.ts.map +1 -0
- package/lib/consumption.config.d.ts +7 -0
- package/lib/consumption.config.d.ts.map +1 -0
- package/lib/consumption.module.d.ts +16 -0
- package/lib/consumption.module.d.ts.map +1 -0
- package/lib/consumption.service.d.ts +7 -0
- package/lib/consumption.service.d.ts.map +1 -0
- package/lib/registration-lib.config.d.ts +5 -0
- package/lib/registration-lib.config.d.ts.map +1 -0
- package/package.json +21 -0
- package/public-api.d.ts +70 -0
- package/public-api.d.ts.map +1 -0
- package/sunbird-cb-consumption.d.ts +6 -0
- package/sunbird-cb-consumption.d.ts.map +1 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../_services/insite-data.service";
|
|
4
|
+
import * as i2 from "@angular/material/icon";
|
|
5
|
+
import * as i3 from "@angular/material/tooltip";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "@angular/forms";
|
|
8
|
+
export class MdoLeaderboardComponent {
|
|
9
|
+
constructor(insiteDataService) {
|
|
10
|
+
this.insiteDataService = insiteDataService;
|
|
11
|
+
this.currentTab = 'XL';
|
|
12
|
+
this.result = [];
|
|
13
|
+
this.searchTerm = '';
|
|
14
|
+
this.expand = true;
|
|
15
|
+
this.tabClicked = new EventEmitter();
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.getData();
|
|
19
|
+
}
|
|
20
|
+
getData() {
|
|
21
|
+
this.insiteDataService.fetchLeaderboard().subscribe((res) => {
|
|
22
|
+
if (res && res.result) {
|
|
23
|
+
this.result = res.result;
|
|
24
|
+
this.filteredData = this.result.mdoLeaderBoard
|
|
25
|
+
.filter(user => user.size === this.currentTab)
|
|
26
|
+
.map(user => (Object.assign(Object.assign({}, user), { children: [], selected: false }))).slice(0, 5);
|
|
27
|
+
}
|
|
28
|
+
}, error => {
|
|
29
|
+
console.log(error);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
getTabData(name) {
|
|
33
|
+
this.currentTab = name;
|
|
34
|
+
this.searchTerm = '';
|
|
35
|
+
this.filteredData = this.result.mdoLeaderBoard
|
|
36
|
+
.filter(user => user.size === this.currentTab)
|
|
37
|
+
.map(user => (Object.assign(Object.assign({}, user), { children: [], selected: false }))).slice(0, 5);
|
|
38
|
+
let nameStr = '';
|
|
39
|
+
switch (name) {
|
|
40
|
+
case 'XL':
|
|
41
|
+
nameStr = 'greater-than-50K';
|
|
42
|
+
break;
|
|
43
|
+
case 'L':
|
|
44
|
+
nameStr = '10K-50K';
|
|
45
|
+
break;
|
|
46
|
+
case 'M':
|
|
47
|
+
nameStr = '1K-10K';
|
|
48
|
+
break;
|
|
49
|
+
case 'S':
|
|
50
|
+
nameStr = '500-1K';
|
|
51
|
+
break;
|
|
52
|
+
default:
|
|
53
|
+
nameStr = 'less-than-500';
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
this.tabClicked.emit(nameStr);
|
|
57
|
+
}
|
|
58
|
+
getRank(rank) {
|
|
59
|
+
return [1, 2, 3].includes(rank) ? `rank${rank}` : 'rank0';
|
|
60
|
+
}
|
|
61
|
+
getMedal(rank) {
|
|
62
|
+
if (rank === 1) {
|
|
63
|
+
return 'assets/images/national-learning/Medal1.svg';
|
|
64
|
+
}
|
|
65
|
+
else if (rank === 2) {
|
|
66
|
+
return 'assets/images/national-learning/Medal2.svg';
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
return 'assets/images/national-learning/Medal3.svg';
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
handleSearchQuery(e) {
|
|
73
|
+
if (e.target.value && e.target.value.length > 0) {
|
|
74
|
+
this.searchTerm = e.target.value;
|
|
75
|
+
this.filteredData = this.result.mdoLeaderBoard
|
|
76
|
+
.filter(user => user.size === this.currentTab && user.org_name.toLowerCase().includes(e.target.value))
|
|
77
|
+
.map(user => (Object.assign(Object.assign({}, user), { children: [] }))).slice(0, 5);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
this.filteredData = this.result.mdoLeaderBoard
|
|
81
|
+
.filter(user => user.size === this.currentTab)
|
|
82
|
+
.map(user => (Object.assign(Object.assign({}, user), { children: [] }))).slice(0, 5);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
toggleWeekHightlits() {
|
|
86
|
+
this.expand = !this.expand;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
MdoLeaderboardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MdoLeaderboardComponent, deps: [{ token: i1.InsiteDataService }], target: i0.ɵɵFactoryTarget.Component });
|
|
90
|
+
MdoLeaderboardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MdoLeaderboardComponent, selector: "sb-uic-mdo-leaderboard", inputs: { object: "object" }, outputs: { tabClicked: "tabClicked" }, ngImport: i0, template: "<div class=\"mdo-leaderboard-container\">\n <div class=\"flex l-title gap-2 items-center justify-between px-4 md:px-0 py-4 md:py-0\">\n <div class=\"flex gap-2\">\n {{object?.title}} <div><img [src]=\"object?.infoIcon\" alt=\"\" i18n-matTooltip [matTooltip]=\"object?.infoText\"></div>\n </div>\n <div class=\"block md:hidden\">\n <mat-icon (click)=\"toggleWeekHightlits()\">expand_more</mat-icon>\n </div>\n </div>\n <div class=\"flex item-center justify-center\" *ngIf=\"expand\">\n <div class=\"flex fl-div\">\n <div class=\"pointer\">\n <span class=\"dot-dot\"></span>\n </div>\n </div>\n </div>\n <div class=\"l-content\" *ngIf=\"expand\">\n <div class=\"horizontal-scroll-container\">\n <div class=\"scroll-content\">\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'XL' }\" (click)=\"getTabData('XL')\">Greater than 50K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'L' }\" (click)=\"getTabData('L')\">10K-50K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'M' }\" (click)=\"getTabData('M')\">1K-10K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'S' }\" (click)=\"getTabData('S')\">500-1K</span>\n <span class=\"tab-title\" [ngClass]=\"{'active' : currentTab === 'XS' }\" (click)=\"getTabData('XS')\">Less than 500</span>\n </div>\n </div>\n <div class=\"relative search-wrapper margin-top-m mb-5\">\n <mat-icon matPrefix class=\"flex absolute items-center justify-center mr-2 icon-search\">search\n </mat-icon>\n <input type=\"search\" name=\"searchKey\" class=\"search-field\" i18-aria-label\n aria-label=\"Search\" i18n-placeholder=\"search\" [(ngModel)]=\"searchTerm\"\n placeholder=\"Search your MDO\" (keyup)=\"handleSearchQuery($event)\" />\n </div>\n <div class=\"l-tab-data\">\n <div *ngFor=\"let user of filteredData; let i = index\">\n <div class=\"flex flex-row item mb-{{filteredData.length - 1 === i ? 0 : 5}} gap-3 {{user.row_num === 1 ? 'relative' : ''}}\" >\n <div><img class=\"crown absolute\" src=\"assets/images/national-learning/rank-crown.svg\" *ngIf=\"user.row_num === 1\"/></div>\n <div class=\"{{getRank(user.row_num)}}\">{{user.row_num}}</div>\n <div class=\"w-full\">\n <div class=\"flex flex-between gap-2\">\n <div>\n <div class=\"rank-name\">{{user.org_name}}</div>\n <div class=\"rank-points flex mt-1 gap-1\">\n <img class=\"nlw-kb\" src=\"assets/icons/home/karma-badge.svg\"/>\n <div class=\"points\">{{user.total_points || 0 }} points</div>\n </div>\n </div>\n <div class=\"rank-crown\" *ngIf=\"[1,2,3].includes(user.row_num)\">\n <img class=\"nlw-animation\" [src]=\"getMedal(user.row_num)\"/>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"no-data px-1\" *ngIf=\"filteredData?.length === 0\">\n No data found!\n </div>\n </div>\n </div>\n</div>\n", styles: [".l-title{font-family:Montserrat;font-size:20px;font-weight:600;line-height:24.38px;text-align:left}.l-content{background-color:#e9eef6;border-radius:16px;padding:16px}.horizontal-scroll-container{overflow-x:auto;white-space:nowrap;-ms-overflow-style:none;scrollbar-width:none;height:32px}.horizontal-scroll-container::-webkit-scrollbar{display:none}.scroll-content{display:inline-block}.tab-title{font-family:Lato;font-size:14px;line-height:16.8px;text-align:left;cursor:pointer;padding:0 15px 8px;border-bottom:2px solid #c3c3c3}.active{font-weight:700;border-bottom:2px solid #1b4ca1}.search-field{height:34px;padding:0 16px 0 40px;border-radius:52px;background:#fff;border:2px solid rgba(0,0,0,.0784313725);width:100%}.icon-search{top:10px;left:15px;height:15px;width:17px}.item{border-radius:12px;background-color:#fff;padding:16px;align-items:flex-start}.rank1{background:#ffca28;font-family:Lato;font-size:14px;font-weight:700;line-height:9px;text-align:center;border-radius:50%;padding:10px}.rank2{background:#1B4CA1;font-family:Lato;font-size:14px;font-weight:700;line-height:9px;text-align:center;border-radius:50%;padding:10px;color:#fff}.rank3{background:#FF8228;font-family:Lato;font-size:14px;font-weight:700;line-height:9px;text-align:center;border-radius:50%;padding:10px}.rank0{font-family:Lato;font-size:14px;font-weight:700;line-height:9px;text-align:center;border-radius:50%;padding:10px;border:1px solid #c3c3c3}.rank-name{font-family:Montserrat;line-height:1.5em;font-size:16px;font-weight:600;text-align:left;align-items:center;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2}.rank-points{align-items:center}.nlw-kb{height:24px;width:24px}.points{font-family:Lato;font-size:14px;font-weight:600;line-height:16.8px;text-align:right}.crown{left:10px;top:0px;width:36px;height:36px}.l-tab-data{height:520px;overflow:auto;padding-bottom:16px}.l-tab-data::-webkit-scrollbar{display:none}.pointer{margin-bottom:-59px;border-radius:41px;background:#c3c3c3;border:35px solid #e9eef6}.dot-dot{width:7px;display:flex;height:7px;background:#c3c3c3;margin-top:-25px;border-radius:10px}@media screen and (min-width: 320px) and (max-width: 769px){.mdo-leaderboard-container{background-color:#d1dbec}}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MdoLeaderboardComponent, decorators: [{
|
|
92
|
+
type: Component,
|
|
93
|
+
args: [{
|
|
94
|
+
selector: 'sb-uic-mdo-leaderboard',
|
|
95
|
+
templateUrl: './mdo-leaderboard.component.html',
|
|
96
|
+
styleUrls: ['./mdo-leaderboard.component.scss']
|
|
97
|
+
}]
|
|
98
|
+
}], ctorParameters: function () { return [{ type: i1.InsiteDataService }]; }, propDecorators: { object: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], tabClicked: [{
|
|
101
|
+
type: Output
|
|
102
|
+
}] } });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRvLWxlYWRlcmJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi9jb25zdW1wdGlvbi9zcmMvbGliL19jb21tb24vbWRvLWxlYWRlcmJvYXJkL21kby1sZWFkZXJib2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL21kby1sZWFkZXJib2FyZC9tZG8tbGVhZGVyYm9hcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVEvRSxNQUFNLE9BQU8sdUJBQXVCO0lBVWxDLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBUnhELGVBQVUsR0FBUSxJQUFJLENBQUE7UUFDdEIsV0FBTSxHQUFRLEVBQUUsQ0FBQTtRQUVoQixlQUFVLEdBQVcsRUFBRSxDQUFBO1FBQ3ZCLFdBQU0sR0FBWSxJQUFJLENBQUE7UUFHWixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtJQUNjLENBQUM7SUFFN0QsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUNoQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQzdELElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtnQkFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxD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QUFDLEVBQUUsQ0FBQyxpQ0FBTSxJQUFJLEtBQUUsUUFBUSxFQUFFLEVBQUUsSUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtTQUMzRDthQUFNO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWM7aUJBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQztpQkFDN0MsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsaUNBQU0sSUFBSSxLQUFFLFFBQVEsRUFBRSxFQUFFLElBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7U0FDM0Q7SUFDSCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQzVCLENBQUM7O3FIQXRGVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixtSUNScEMsOGpIQTREQTs0RkRwRGEsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFdBQVcsRUFBRSxrQ0FBa0M7b0JBQy9DLFNBQVMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2lCQUNoRDt3R0FTVSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluc2l0ZURhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL2luc2l0ZS1kYXRhLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtbWRvLWxlYWRlcmJvYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21kby1sZWFkZXJib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21kby1sZWFkZXJib2FyZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1kb0xlYWRlcmJvYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjdXJyZW50VGFiOiBhbnkgPSAnWEwnXG4gIHJlc3VsdDogYW55ID0gW11cbiAgZmlsdGVyZWREYXRhOiBhbnlcbiAgc2VhcmNoVGVybTogc3RyaW5nID0gJydcbiAgZXhwYW5kOiBib29sZWFuID0gdHJ1ZVxuXG4gIEBJbnB1dCgpIG9iamVjdDogYW55XG4gIEBPdXRwdXQoKSB0YWJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbnNpdGVEYXRhU2VydmljZTogSW5zaXRlRGF0YVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0RGF0YSgpXG4gIH1cblxuICBnZXREYXRhKCkge1xuICAgIHRoaXMuaW5zaXRlRGF0YVNlcnZpY2UuZmV0Y2hMZWFkZXJib2FyZCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHJlcyAmJiByZXMucmVzdWx0KSB7XG4gICAgICAgICAgICB0aGlzLnJlc3VsdCA9IHJlcy5yZXN1bHRcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5yZXN1bHQubWRvTGVhZGVyQm9hcmRcbiAgICAgICAgICAgICAgICAuZmlsdGVyKHVzZXIgPT4gdXNlci5zaXplID09PSB0aGlzLmN1cnJlbnRUYWIpIFxuICAgICAgICAgICAgICAgIC5tYXAodXNlciA9PiAoeyAuLi51c2VyLCBjaGlsZHJlbjogW10sIHNlbGVjdGVkOiBmYWxzZSB9KSkuc2xpY2UoMCwgNSlcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgIH0pXG4gIH1cblxuICBnZXRUYWJEYXRhKG5hbWU6IGFueSkge1xuICAgIHRoaXMuY3VycmVudFRhYiA9IG5hbWVcbiAgICB0aGlzLnNlYXJjaFRlcm0gPSAnJ1xuICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5yZXN1bHQubWRvTGVhZGVyQm9hcmRcbiAgICAgICAgLmZpbHRlcih1c2VyID0+IHVzZXIuc2l6ZSA9PT0gdGhpcy5jdXJyZW50VGFiKSBcbiAgICAgICAgICAgIC5tYXAodXNlciA9PiAoeyAuLi51c2VyLCBjaGlsZHJlbjogW10sIHNlbGVjdGVkOiBmYWxzZSB9KSkuc2xpY2UoMCwgNSlcbiAgICBsZXQgbmFtZVN0cjogYW55ID0gJydcbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgJ1hMJzpcbiAgICAgICAgbmFtZVN0ciA9ICdncmVhdGVyLXRoYW4tNTBLJ1xuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnTCc6XG4gICAgICAgIG5hbWVTdHIgPSAgJzEwSy01MEsnXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdNJzpcbiAgICAgICAgbmFtZVN0ciA9ICAnMUstMTBLJ1xuICAgICAgICBicmVha1xuICAgICAgICBjYXNlICdTJzpcbiAgICAgICAgICBuYW1lU3RyID0gJzUwMC0xSydcbiAgICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgbmFtZVN0ciA9ICdsZXNzLXRoYW4tNTAwJ1xuICAgICAgICBicmVha1xuICAgIH1cbiAgICB0aGlzLnRhYkNsaWNrZWQuZW1pdChuYW1lU3RyKVxuICB9XG5cbiAgZ2V0UmFuayhyYW5rOiBudW1iZXIpIHtcbiAgICByZXR1cm4gWzEsMiwzXS5pbmNsdWRlcyhyYW5rKSA/IGByYW5rJHtyYW5rfWAgOiAncmFuazAnXG4gIH1cblxuICBnZXRNZWRhbChyYW5rOiBudW1iZXIpIHtcbiAgICBpZiAocmFuayA9PT0gMSkge1xuICAgICAgICByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvbmF0aW9uYWwtbGVhcm5pbmcvTWVkYWwxLnN2ZydcbiAgICB9IGVsc2UgaWYocmFuayA9PT0gMikge1xuICAgICAgICByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvbmF0aW9uYWwtbGVhcm5pbmcvTWVkYWwyLnN2ZydcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gJ2Fzc2V0cy9pbWFnZXMvbmF0aW9uYWwtbGVhcm5pbmcvTWVkYWwzLnN2ZydcbiAgICB9XG4gIH1cblxuICBoYW5kbGVTZWFyY2hRdWVyeShlOiBhbnkpIHtcbiAgICBpZiAoZS50YXJnZXQudmFsdWUgJiYgZS50YXJnZXQudmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSBlLnRhcmdldC52YWx1ZVxuICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMucmVzdWx0Lm1kb0xlYWRlckJvYXJkXG4gICAgICAgICAgICAuZmlsdGVyKHVzZXIgPT4gdXNlci5zaXplID09PSB0aGlzLmN1cnJlbnRUYWIgJiYgdXNlci5vcmdfbmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGUudGFyZ2V0LnZhbHVlKSlcbiAgICAgICAgICAgIC5tYXAodXNlciA9PiAoeyAuLi51c2VyLCBjaGlsZHJlbjogW119KSkuc2xpY2UoMCwgNSlcbiAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMucmVzdWx0Lm1kb0xlYWRlckJvYXJkXG4gICAgICAgICAgICAuZmlsdGVyKHVzZXIgPT4gdXNlci5zaXplID09PSB0aGlzLmN1cnJlbnRUYWIpXG4gICAgICAgICAgICAubWFwKHVzZXIgPT4gKHsgLi4udXNlciwgY2hpbGRyZW46IFtdfSkpLnNsaWNlKDAsIDUpXG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlV2Vla0hpZ2h0bGl0cygpIHtcbiAgICB0aGlzLmV4cGFuZCA9ICF0aGlzLmV4cGFuZFxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJtZG8tbGVhZGVyYm9hcmQtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggbC10aXRsZSBnYXAtMiBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHB4LTQgbWQ6cHgtMCBweS00IG1kOnB5LTBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTJcIj5cbiAgICAgICAgICAgIHt7b2JqZWN0Py50aXRsZX19IDxkaXY+PGltZyBbc3JjXT1cIm9iamVjdD8uaW5mb0ljb25cIiBhbHQ9XCJcIiBpMThuLW1hdFRvb2x0aXAgW21hdFRvb2x0aXBdPVwib2JqZWN0Py5pbmZvVGV4dFwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrIG1kOmhpZGRlblwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJ0b2dnbGVXZWVrSGlnaHRsaXRzKClcIj5leHBhbmRfbW9yZTwvbWF0LWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW0tY2VudGVyIGp1c3RpZnktY2VudGVyXCIgKm5nSWY9XCJleHBhbmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmwtZGl2XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9pbnRlclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG90LWRvdFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibC1jb250ZW50XCIgKm5nSWY9XCJleHBhbmRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhvcml6b250YWwtc2Nyb2xsLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWItdGl0bGVcIiAgW25nQ2xhc3NdPVwieydhY3RpdmUnIDogY3VycmVudFRhYiA9PT0gJ1hMJyB9XCIgKGNsaWNrKT1cImdldFRhYkRhdGEoJ1hMJylcIj5HcmVhdGVyIHRoYW4gNTBLPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFiLXRpdGxlXCIgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJyA6IGN1cnJlbnRUYWIgPT09ICdMJyB9XCIgKGNsaWNrKT1cImdldFRhYkRhdGEoJ0wnKVwiPjEwSy01MEs8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWItdGl0bGVcIiAgW25nQ2xhc3NdPVwieydhY3RpdmUnIDogY3VycmVudFRhYiA9PT0gJ00nIH1cIiAoY2xpY2spPVwiZ2V0VGFiRGF0YSgnTScpXCI+MUstMTBLPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFiLXRpdGxlXCIgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJyA6IGN1cnJlbnRUYWIgPT09ICdTJyB9XCIgKGNsaWNrKT1cImdldFRhYkRhdGEoJ1MnKVwiPjUwMC0xSzwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRhYi10aXRsZVwiICBbbmdDbGFzc109XCJ7J2FjdGl2ZScgOiBjdXJyZW50VGFiID09PSAnWFMnIH1cIiAoY2xpY2spPVwiZ2V0VGFiRGF0YSgnWFMnKVwiPkxlc3MgdGhhbiA1MDA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBzZWFyY2gtd3JhcHBlciBtYXJnaW4tdG9wLW0gbWItNVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdFByZWZpeCBjbGFzcz1cImZsZXggYWJzb2x1dGUgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG1yLTIgaWNvbi1zZWFyY2hcIj5zZWFyY2hcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInNlYXJjaFwiIG5hbWU9XCJzZWFyY2hLZXlcIiBjbGFzcz1cInNlYXJjaC1maWVsZFwiIGkxOC1hcmlhLWxhYmVsXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaFwiIGkxOG4tcGxhY2Vob2xkZXI9XCJzZWFyY2hcIiAgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCB5b3VyIE1ET1wiIChrZXl1cCk9XCJoYW5kbGVTZWFyY2hRdWVyeSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsLXRhYi1kYXRhXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB1c2VyIG9mIGZpbHRlcmVkRGF0YTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGl0ZW0gbWIte3tmaWx0ZXJlZERhdGEubGVuZ3RoIC0gMSA9PT0gaSA/IDAgOiA1fX0gZ2FwLTMge3t1c2VyLnJvd19udW0gPT09IDEgPyAncmVsYXRpdmUnIDogJyd9fVwiID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj48aW1nIGNsYXNzPVwiY3Jvd24gYWJzb2x1dGVcIiBzcmM9XCJhc3NldHMvaW1hZ2VzL25hdGlvbmFsLWxlYXJuaW5nL3JhbmstY3Jvd24uc3ZnXCIgKm5nSWY9XCJ1c2VyLnJvd19udW0gPT09IDFcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ7e2dldFJhbmsodXNlci5yb3dfbnVtKX19XCI+e3t1c2VyLnJvd19udW19fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWJldHdlZW4gZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFuay1uYW1lXCI+e3t1c2VyLm9yZ19uYW1lfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJhbmstcG9pbnRzIGZsZXggbXQtMSBnYXAtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm5sdy1rYlwiIHNyYz1cImFzc2V0cy9pY29ucy9ob21lL2thcm1hLWJhZGdlLnN2Z1wiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb2ludHNcIj57e3VzZXIudG90YWxfcG9pbnRzIHx8IDAgfX0gcG9pbnRzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyYW5rLWNyb3duXCIgKm5nSWY9XCJbMSwyLDNdLmluY2x1ZGVzKHVzZXIucm93X251bSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm5sdy1hbmltYXRpb25cIiBbc3JjXT1cImdldE1lZGFsKHVzZXIucm93X251bSlcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuby1kYXRhIHB4LTFcIiAqbmdJZj1cImZpbHRlcmVkRGF0YT8ubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAgICAgICAgTm8gZGF0YSBmb3VuZCFcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MdoLeaderboardComponent } from './mdo-leaderboard.component';
|
|
4
|
+
import { SkeletonLoaderLibModule } from '../skeleton-loader-lib/skeleton-loader-lib.module';
|
|
5
|
+
import { InsiteDataService } from '../../_services/insite-data.service';
|
|
6
|
+
import { FormsModule } from '@angular/forms';
|
|
7
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
8
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class MdoLeaderboardModule {
|
|
11
|
+
}
|
|
12
|
+
MdoLeaderboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MdoLeaderboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
MdoLeaderboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MdoLeaderboardModule, declarations: [MdoLeaderboardComponent], imports: [CommonModule,
|
|
14
|
+
MatIconModule,
|
|
15
|
+
SkeletonLoaderLibModule,
|
|
16
|
+
FormsModule,
|
|
17
|
+
MatTooltipModule], exports: [MdoLeaderboardComponent] });
|
|
18
|
+
MdoLeaderboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MdoLeaderboardModule, providers: [InsiteDataService], imports: [[
|
|
19
|
+
CommonModule,
|
|
20
|
+
MatIconModule,
|
|
21
|
+
SkeletonLoaderLibModule,
|
|
22
|
+
FormsModule,
|
|
23
|
+
MatTooltipModule
|
|
24
|
+
]] });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MdoLeaderboardModule, decorators: [{
|
|
26
|
+
type: NgModule,
|
|
27
|
+
args: [{
|
|
28
|
+
declarations: [MdoLeaderboardComponent],
|
|
29
|
+
imports: [
|
|
30
|
+
CommonModule,
|
|
31
|
+
MatIconModule,
|
|
32
|
+
SkeletonLoaderLibModule,
|
|
33
|
+
FormsModule,
|
|
34
|
+
MatTooltipModule
|
|
35
|
+
],
|
|
36
|
+
exports: [
|
|
37
|
+
MdoLeaderboardComponent
|
|
38
|
+
],
|
|
39
|
+
providers: [InsiteDataService]
|
|
40
|
+
}]
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRvLWxlYWRlcmJvYXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi9jb25zdW1wdGlvbi9zcmMvbGliL19jb21tb24vbWRvLWxlYWRlcmJvYXJkL21kby1sZWFkZXJib2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFrQjdELE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQixpQkFiaEIsdUJBQXVCLGFBRXBDLFlBQVk7UUFDWixhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLFdBQVc7UUFDWCxnQkFBZ0IsYUFHaEIsdUJBQXVCO21IQUlkLG9CQUFvQixhQUZwQixDQUFDLGlCQUFpQixDQUFDLFlBVnJCO1lBQ1AsWUFBWTtZQUNaLGFBQWE7WUFDYix1QkFBdUI7WUFDdkIsV0FBVztZQUNYLGdCQUFnQjtTQUNqQjs0RkFNVSxvQkFBb0I7a0JBZGhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixXQUFXO3dCQUNYLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHVCQUF1QjtxQkFDeEI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNZG9MZWFkZXJib2FyZENvbXBvbmVudCB9IGZyb20gJy4vbWRvLWxlYWRlcmJvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa2VsZXRvbkxvYWRlckxpYk1vZHVsZSB9IGZyb20gJy4uL3NrZWxldG9uLWxvYWRlci1saWIvc2tlbGV0b24tbG9hZGVyLWxpYi5tb2R1bGUnO1xuaW1wb3J0IHsgSW5zaXRlRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvaW5zaXRlLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW01kb0xlYWRlcmJvYXJkQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIFNrZWxldG9uTG9hZGVyTGliTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1kb0xlYWRlcmJvYXJkQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW0luc2l0ZURhdGFTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBNZG9MZWFkZXJib2FyZE1vZHVsZSB7IH1cbiJdfQ==
|
package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel-v1/mdo-channel-v1.component.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MdoChannelV1Component {
|
|
4
|
+
constructor() { }
|
|
5
|
+
ngOnInit() {
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
MdoChannelV1Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MdoChannelV1Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
MdoChannelV1Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MdoChannelV1Component, selector: "sb-uic-mdo-channel-v1", ngImport: i0, template: "<p>mdo-channel-v1 works!</p>\n", styles: [""] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MdoChannelV1Component, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: 'sb-uic-mdo-channel-v1',
|
|
14
|
+
templateUrl: './mdo-channel-v1.component.html',
|
|
15
|
+
styleUrls: ['./mdo-channel-v1.component.scss']
|
|
16
|
+
}]
|
|
17
|
+
}], ctorParameters: function () { return []; } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRvLWNoYW5uZWwtdjEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL2NvbnN1bXB0aW9uL3NyYy9saWIvX2NvbW1vbi9taWNyb3NpdGVzL21kby1jaGFubmVscy9tZG8tY2hhbm5lbC12MS9tZG8tY2hhbm5lbC12MS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL21pY3Jvc2l0ZXMvbWRvLWNoYW5uZWxzL21kby1jaGFubmVsLXYxL21kby1jaGFubmVsLXYxLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBT2xELE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsZ0JBQWdCLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7O21IQUxVLHFCQUFxQjt1R0FBckIscUJBQXFCLDZEQ1BsQyxnQ0FDQTs0RkRNYSxxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7aUJBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ItdWljLW1kby1jaGFubmVsLXYxJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21kby1jaGFubmVsLXYxLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWRvLWNoYW5uZWwtdjEuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNZG9DaGFubmVsVjFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxufVxuIiwiPHA+bWRvLWNoYW5uZWwtdjEgd29ya3MhPC9wPlxuIl19
|
package/esm2015/lib/_common/microsites/mdo-channels/mdo-channel-v2/mdo-channel-v2.component.js
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { Component, HostListener, Input } from '@angular/core';
|
|
2
|
+
import { WsEvents } from '@sunbird-cb/utils-v2';
|
|
3
|
+
/* tslint:disable */
|
|
4
|
+
import * as _ from 'lodash';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
import * as i2 from "@sunbird-cb/utils-v2";
|
|
8
|
+
import * as i3 from "@ngx-translate/core";
|
|
9
|
+
import * as i4 from "../../../sliders/sliders.component";
|
|
10
|
+
import * as i5 from "../../../data-points/data-points.component";
|
|
11
|
+
import * as i6 from "../../../cbp-plan/cbp-plan.component";
|
|
12
|
+
import * as i7 from "../../../announcements/announcements.component";
|
|
13
|
+
import * as i8 from "@angular/material/icon";
|
|
14
|
+
import * as i9 from "@angular/material/tabs";
|
|
15
|
+
import * as i10 from "../../../competency-passbook-mdo/competency-passbook-mdo.component";
|
|
16
|
+
import * as i11 from "../../../content-strip-with-tabs-lib/content-strip-with-tabs-lib.component";
|
|
17
|
+
import * as i12 from "../../../top-learners/top-learners.component";
|
|
18
|
+
import * as i13 from "@angular/common";
|
|
19
|
+
export class MdoChannelV2Component {
|
|
20
|
+
constructor(route, router, eventSvc, translate, langtranslations) {
|
|
21
|
+
this.route = route;
|
|
22
|
+
this.router = router;
|
|
23
|
+
this.eventSvc = eventSvc;
|
|
24
|
+
this.translate = translate;
|
|
25
|
+
this.langtranslations = langtranslations;
|
|
26
|
+
this.sectionList = [];
|
|
27
|
+
this.channnelName = '';
|
|
28
|
+
this.orgId = '';
|
|
29
|
+
this.selectedIndex = 0;
|
|
30
|
+
this.hideCompetencyBlock = false;
|
|
31
|
+
this.contentTabEmptyResponseCount = 0;
|
|
32
|
+
this.titles = [
|
|
33
|
+
{ title: 'Learn', url: '/page/learn', icon: 'school', disableTranslate: false },
|
|
34
|
+
{
|
|
35
|
+
title: `MDO Channels`,
|
|
36
|
+
url: `/app/learn/mdo-channels/all-channels`,
|
|
37
|
+
icon: '', disableTranslate: true,
|
|
38
|
+
},
|
|
39
|
+
];
|
|
40
|
+
this.showModal = false;
|
|
41
|
+
this.descriptionMaxLength = 500;
|
|
42
|
+
this.isTelemetryRaised = false;
|
|
43
|
+
if (this.route.snapshot.data && this.route.snapshot.data.formData
|
|
44
|
+
&& this.route.snapshot.data.formData.data
|
|
45
|
+
&& this.route.snapshot.data.formData.data.result
|
|
46
|
+
&& this.route.snapshot.data.formData.data.result.form
|
|
47
|
+
&& this.route.snapshot.data.formData.data.result.form.data
|
|
48
|
+
&& this.route.snapshot.data.formData.data.result.form.data.sectionList) {
|
|
49
|
+
this.sectionList = this.route.snapshot.data.formData.data.result.form.data.sectionList;
|
|
50
|
+
}
|
|
51
|
+
this.langtranslations.languageSelectedObservable.subscribe(() => {
|
|
52
|
+
if (localStorage.getItem('websiteLanguage')) {
|
|
53
|
+
this.translate.setDefaultLang('en');
|
|
54
|
+
const lang = localStorage.getItem('websiteLanguage');
|
|
55
|
+
this.translate.use(lang);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
onResize() {
|
|
60
|
+
this.setWidth();
|
|
61
|
+
}
|
|
62
|
+
setWidth() {
|
|
63
|
+
this.stripWidth = `${(window.innerWidth - 1200 + 135) / 2}px`;
|
|
64
|
+
}
|
|
65
|
+
ngOnInit() {
|
|
66
|
+
this.route.params.subscribe(params => {
|
|
67
|
+
this.channnelName = params['channel'];
|
|
68
|
+
this.orgId = params['orgId'];
|
|
69
|
+
this.titles.push({
|
|
70
|
+
title: this.channnelName, icon: '', url: 'none', disableTranslate: true,
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
this.setWidth();
|
|
74
|
+
}
|
|
75
|
+
tabClicked(tabEvent) {
|
|
76
|
+
this.raiseTelemetry(`${tabEvent.tab.textLabel} tab`);
|
|
77
|
+
}
|
|
78
|
+
hideContentStrip(event, colData) {
|
|
79
|
+
if (event) {
|
|
80
|
+
colData.contentStripData['hideSection'] = true;
|
|
81
|
+
this.contentTabEmptyResponseCount = this.contentTabEmptyResponseCount + 1;
|
|
82
|
+
// if(this.contentTabEmptyResponseCount === 4 ) {
|
|
83
|
+
// this.selectedIndex = 1
|
|
84
|
+
// }
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
triggerOpenDialog(event) {
|
|
88
|
+
if (event) {
|
|
89
|
+
this.showModal = true;
|
|
90
|
+
document.body.style.overflow = 'hidden';
|
|
91
|
+
}
|
|
92
|
+
this.raiseTelemetry('btn open key annoucements');
|
|
93
|
+
}
|
|
94
|
+
onClose() {
|
|
95
|
+
this.showModal = false;
|
|
96
|
+
document.body.style.overflow = 'auto';
|
|
97
|
+
this.raiseTelemetry('btn close key annoucements');
|
|
98
|
+
}
|
|
99
|
+
raiseTelemetryInteratEvent(event) {
|
|
100
|
+
if (event && event.viewMoreUrl) {
|
|
101
|
+
this.raiseTelemetry(`${event.stripTitle} ${event.viewMoreUrl.viewMoreText}`);
|
|
102
|
+
}
|
|
103
|
+
if (!this.isTelemetryRaised && event && !event.viewMoreUrl) {
|
|
104
|
+
this.eventSvc.raiseInteractTelemetry({
|
|
105
|
+
type: 'click',
|
|
106
|
+
subType: 'mdo-channel',
|
|
107
|
+
id: `${_.kebabCase(event.typeOfTelemetry.toLocaleLowerCase())}-card`,
|
|
108
|
+
}, {
|
|
109
|
+
id: event.identifier,
|
|
110
|
+
type: event.primaryCategory,
|
|
111
|
+
}, {
|
|
112
|
+
pageIdExt: `${_.kebabCase(event.primaryCategory.toLocaleLowerCase())}-card`,
|
|
113
|
+
module: WsEvents.EnumTelemetrymodules.LEARN,
|
|
114
|
+
});
|
|
115
|
+
this.isTelemetryRaised = true;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
raiseCompetencyTelemetry(name) {
|
|
119
|
+
this.raiseTelemetry(`${name} core expertise`);
|
|
120
|
+
}
|
|
121
|
+
raiseTelemetry(name) {
|
|
122
|
+
this.eventSvc.raiseInteractTelemetry({
|
|
123
|
+
type: 'click',
|
|
124
|
+
subType: 'mdo-channel',
|
|
125
|
+
id: `${_.kebabCase(name).toLocaleLowerCase()}`,
|
|
126
|
+
}, {}, {
|
|
127
|
+
module: WsEvents.EnumTelemetrymodules.LEARN,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
hideCompetency(event) {
|
|
131
|
+
if (event) {
|
|
132
|
+
this.hideCompetencyBlock = true;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
showAllContent(_stripData, columnData) {
|
|
136
|
+
if (columnData && columnData.contentStrip && columnData.contentStrip.strips && columnData.contentStrip.strips.length) {
|
|
137
|
+
const stripData = _stripData;
|
|
138
|
+
let tabSelected = stripData.viewMoreUrl && stripData.viewMoreUrl.queryParams && stripData.viewMoreUrl.queryParams.tabSelected && stripData.viewMoreUrl.queryParams.tabSelected || '';
|
|
139
|
+
this.router.navigate([`/app/learn/mdo-channels/${this.channnelName}/${this.orgId}/all-content`], { queryParams: { tabSelected, key: columnData.sectionKey } });
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
MdoChannelV2Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MdoChannelV2Component, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.EventService }, { token: i3.TranslateService }, { token: i2.MultilingualTranslationsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
144
|
+
MdoChannelV2Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MdoChannelV2Component, selector: "sb-uic-mdo-channel-v2", inputs: { sectionList: "sectionList" }, host: { listeners: { "window:resize": "onResize()" } }, ngImport: i0, template: "<ws-widget-btn-page-back [widgetData]=\"{ url: 'home', titles: titles }\">\n</ws-widget-btn-page-back>\n\n<div class=\"container-fluid\" id=\"section-micro-sites\">\n <div class=\"flex flex-col flex-1\">\n <ng-container *ngIf=\"sectionList?.length\">\n <ng-container *ngFor=\"let section of sectionList\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\" [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}} \">\n <ng-container *ngIf=\"column?.enabled\" [ngSwitch]=\"column?.key\">\n <ng-container *ngSwitchCase=\"'topSection'\" [ngTemplateOutlet]=\"topSection\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'topLearners'\" [ngTemplateOutlet]=\"topLearners\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n <ng-container *ngSwitchCase=\"'mainContent'\" [ngTemplateOutlet]=\"mainContent\"\n [ngTemplateOutletContext]=\"{data: column?.data}\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n\n<ng-template #topSection let-data=\"data\">\n <!-- top section desktop layout -->\n <div class=\"hidden md:block\">\n <div class=\"web-banner-background\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container\">\n <div class=\"flex sticky-logo-square\" [style.width]=\"stripWidth\">\n </div>\n <div class=\"grid grid-cols-12 gap-4 padding-top-xxxl mb-10\">\n <div class=\"col-span-12 md:col-span-6\">\n <div class=\"flex-1 flex flex-col mr-4 ws-mat-black-text\">\n <div class=\"\">\n <div class=\"flex items-center logo-square \">\n <img alt=\"Application Logo\" class=\"logo-img\" [src]=\"data?.logo\">\n </div>\n <h1 class=\" txt-ellipsis-2 break-words pt-10\"\n [style.color]=\"data.titleColor\">{{data.title || channnelName}}</h1>\n <p class=\"mat-body-1\" [style.color]=\"data.descriptionColor\">\n {{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </p>\n </div>\n </div>\n </div>\n <div class=\"col-span-12 md:col-span-6\">\n <div class=\"slider slider-box\" *ngIf=\"data.sliderData && data.sliderData.sliders\">\n <sb-uic-sliders [widgetData]=\"data.sliderData.sliders\" [styleData]=\"data.sliderData.styleData\" ></sb-uic-sliders>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n \n </div>\n <!-- top section m-site layout -->\n <div class=\"block md:hidden\">\n <div class=\"col-span-12\">\n <div class=\"slider slider-box\" *ngIf=\"data.sliderData && data.sliderData.sliders\">\n <sb-uic-sliders [widgetData]=\"data.sliderData.sliders\" [styleData]=\"data.sliderData.styleData\" ></sb-uic-sliders>\n </div>\n </div>\n <div class=\"container px-4 flex flex-col mob-container\">\n <div class=\"mr-4 logo-box-container\">\n <div class=\"flex logo-box-square top mr-4\">\n <img alt=\"Application Logo\" class=\"logo-img\" [src]=\"data?.logo\">\n </div>\n </div>\n <div class=\"w-full md:w-9/12 flex-1 flex flex-col\">\n <h1 class=\" txt-ellipsis-2 break-words\">{{data?.title || channnelName}}</h1>\n <p class=\"mat-body-2\">\n {{data?.description | slice:0:descriptionMaxLength}}\n <span *ngIf=\"data?.description?.length > descriptionMaxLength\">...</span>\n </p>\n </div>\n </div>\n </div>\n <div class=\"flex items-center justify-center\">\n <div class=\"container metrics-section\" >\n <div class=\"hidden md:block\">\n <div class=\"metrics\"\n [ngStyle]=\"{'background': data?.metrics?.background}\">\n <sb-uic-data-points\n [providerId]=\"orgId\"\n [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\"\n [layoutType]=\"'singleFlexeRow'\"\n [pageLayout]=\"'mdo'\">\n </sb-uic-data-points>\n </div>\n </div>\n <div class=\"block md:hidden pt-14 px-4\">\n <div class=\"mob-metrics mob-metrics-sec\">\n <sb-uic-data-points\n [providerId]=\"orgId\"\n [fetchDataFromApi]=\"true\"\n [objectData]=\"data?.metrics?.data\"\n [layoutType]=\"'singleRow'\"\n [pageLayout]=\"'mdo'\">\n </sb-uic-data-points>\n </div>\n \n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #mainContent let-data=\"data\">\n <div class=\"flex items-center justify-center\" [ngStyle]=\"{'background': data.background}\">\n <div class=\"container\">\n <div class=\"block md:hidden col-span-12 padding-left-m padding-right-m padding-top-m padding-bottom-m\">\n <sb-uic-cbp-plan\n [layoutType]=\"'web'\"\n [mobileHeight]=\"false\"\n [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\"\n [objectData]=\"data?.cbpPlanSection?.data\">\n </sb-uic-cbp-plan>\n </div>\n <div class=\"block md:hidden col-span-12 mt-6\">\n <sb-uic-announcements\n [layoutType]=\"'mobile'\"\n (openDialog)=\"triggerOpenDialog($event)\"\n [objectData]=\"data?.announcementSection?.data\"\n [fetchDataFromApi]=\"false\"\n [channelId]=\"orgId\">\n </sb-uic-announcements>\n <div class=\"announcements-container\" *ngIf=\"showModal\">\n <div class=\"cursor-pointer close-share-dialog\">\n <mat-icon (click)=\"onClose()\" class=\"close-icon\">close</mat-icon>\n </div>\n <div class=\"share-modal px-3 pt-8\">\n <sb-uic-announcements\n [layoutType]=\"'web'\"\n (openDialog)=\"triggerOpenDialog($event)\"\n [objectData]=\"data?.announcementSection?.data\"\n [mobileHeight]=\"true\"\n [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\">\n </sb-uic-announcements>\n </div>\n </div>\n </div>\n <div class=\"grid grid-cols-12 gap-4 padding-top-m mb-6\">\n <div class=\"col-span-12 md:col-span-{{data.tabSection.colspan}}\">\n <!-- Tabs Section -->\n <mat-tab-group animationDuration=\"0ms\" class=\"mat-tab-labels mytabs w-full \"\n [selectedIndex]=\"selectedIndex\" (selectedTabChange)=\"selectedIndex = $event.index; tabClicked($event)\">\n <mat-tab label=\"Content\" >\n <ng-template mat-tab-label i18n>\n Learn\n </ng-template>\n <ng-container *ngIf=\"data.tabSection.contentTab.length === contentTabEmptyResponseCount\">\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\" >\n <img src=\"/assets/common/error-pages/empty_search.svg\" wsUtilsImageResponsive alt=\"No results\"\n class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\" i18n=\"search route no result\">{{'learnsearch.noResults' | translate}}</h2>\n </div>\n </div>\n </ng-container>\n <div class=\"padding-top-l \">\n <ng-container [ngTemplateOutlet]=\"columnSectionDisplay\"\n [ngTemplateOutletContext]=\"{data: data.tabSection.contentTab}\"></ng-container>\n </div>\n </mat-tab>\n <mat-tab label=\"Core Areas\">\n <ng-template mat-tab-label i18n>\n Competency\n </ng-template>\n <div>\n <ng-container [ngTemplateOutlet]=\"columnSectionDisplay\"\n [ngTemplateOutletContext]=\"{data: data.tabSection.coreAreasTab}\"></ng-container>\n </div>\n </mat-tab>\n </mat-tab-group>\n </div>\n <div class=\"col-span-12 md:col-span-4\">\n <div class=\"hidden md:block padding-top-xl padding-bottom-m\"\n *ngIf=\"data?.cbpPlanSection?.data\">\n <div class=\"pt-4\">\n <sb-uic-cbp-plan\n [layoutType]=\"'web'\"\n [mobileHeight]=\"false\"\n [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\"\n [objectData]=\"data?.cbpPlanSection?.data\">\n </sb-uic-cbp-plan>\n </div> \n </div>\n <div class=\"hidden md:block\" \n *ngIf=\"data?.announcementSection?.data\">\n <div class=\"pt-4\">\n <sb-uic-announcements\n [layoutType]=\"'web'\"\n [mobileHeight]=\"false\"\n [fetchDataFromApi]=\"true\"\n [channelId]=\"orgId\"\n [objectData]=\"data?.announcementSection?.data\">\n </sb-uic-announcements>\n </div> \n </div>\n </div> \n </div>\n </div>\n </div>\n</ng-template>\n<!-- \n<ng-template #announcement let-data=\"data\">\n <div class=\"flex items-center justify-center\" [ngStyle]=\"{'background': data.background}\">\n <div class=\"w-full\">\n Announcement Section -->\n <!-- <h1>Announcement</h1>\n </div>\n </div>\n</ng-template> -->\n\n\n<ng-template #columnSectionDisplay let-data=\"data\">\n <ng-container *ngIf=\"data?.length\">\n <ng-container *ngFor=\"let section of data\">\n <ng-container *ngIf=\"section?.enabled\">\n <section id=\"{{section?.key}}\" class=\"w-full grid grid-cols-12 gap-4\" [ngClass]=\"{'container': section.wrapperClass}\">\n <ng-container *ngFor=\"let column of section.column\">\n <div id=\"{{column?.key}}\" class=\"col-span-{{column.colspan || 12}} \">\n <ng-container *ngIf=\"column?.enabled\" [ngSwitch]=\"column?.key\">\n <ng-container *ngSwitchCase=\"'competency'\" [ngTemplateOutlet]=\"competency\"\n [ngTemplateOutletContext]=\"{competency: column}\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentRecommendedProgramStrip'\" [ngTemplateOutlet]=\"contentStripTemplate\"\n [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentRecommendedCoursesStrip'\" [ngTemplateOutlet]=\"contentStripTemplate\"\n [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentFeaturedStrip'\" [ngTemplateOutlet]=\"contentStripTemplate\"\n [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n <ng-container *ngSwitchCase=\"'contentcertificationsOfWeekStrip'\" [ngTemplateOutlet]=\"contentStripTemplate\"\n [ngTemplateOutletContext]=\"{\n data: {contentStrip: column?.data, sectionKey: section.key}\n }\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n </section>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n\n\n<!-- Start Competencies -->\n<ng-template #competency let-competency=\"competency\">\n <div class=\"padding-top-l padding-bottom-l relative\" [style.background]=\"competency?.background\" *ngIf=\"!hideCompetencyBlock;else noData\">\n <div class=\"w-full container-balanced\">\n <p class=\"mat-body-1 pl-5 pr-4 md:pl-0 md:pr-0\">This section shows the list of top competencies users in this MDO are learning, based on the courses they've completed and enrolled in.</p>\n <div class=\"pl-4 pr-4 md:pl-0 md:pr-0\">\n <sb-uic-competency-passbook-mdo\n [dynamicColor]=\"'#999999'\"\n [dynamicAlignPills]=\"'start'\"\n [cardDisplayCount]=\"2\"\n (emptyResponse)=\"hideCompetency($event)\"\n (temeletryResponse)=\"raiseCompetencyTelemetry($event)\"\n [objectData]=\"competency\"\n [providerId]=\"orgId\"\n >\n </sb-uic-competency-passbook-mdo>\n </div>\n </div>\n <!-- <img class=\"absolute comp-back-img\" src=\"assets/icons/microsite/competency.svg\" alt=\"\"> -->\n </div>\n</ng-template>\n<!-- End Competencies -->\n{{contentTabEmptyResponseCount}}hiiii\n<ng-template #contentStripTemplate let-data=\"data\">\n <ng-container *ngIf=\"!data?.contentStrip?.hideSection\">\n <div class=\"flex mb-8\">\n <div class=\"w-full\">\n <sb-uic-content-strip-with-tabs\n [emitViewAll]=\"true\"\n (viewAllResponse)=\"showAllContent($event, data)\"\n (telemtryResponse)=\"raiseTelemetryInteratEvent($event)\"\n (emptyResponse)=\"hideContentStrip($event, data)\"\n [providerId]=\"orgId\"\n [widgetData]=\"data?.contentStrip\"\n [channnelName]=\"channnelName\"\n >\n </sb-uic-content-strip-with-tabs>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #noData>\n <div class=\"flex justify-center w-full\">\n <div class=\"margin-xl text-center\" >\n <img src=\"/assets/common/error-pages/empty_search.svg\" wsUtilsImageResponsive alt=\"No results\"\n class=\"margin-top-l margin-bottom-s\">\n <h2 class=\"mat-h2\" i18n=\"search route no result\">{{'learnsearch.noResults' | translate}}</h2>\n </div>\n </div>\n</ng-template>\n\n<ng-template #topLearners let-data=\"data\">\n <div class=\"flex items-center justify-center\">\n <div class=\"container top-learners margin-bottom-l margin-top-l\">\n <sb-uic-top-learners\n [objectData]=\"data\"\n [channnelName]=\"channnelName\"\n [channelId]=\"orgId\">\n </sb-uic-top-learners>\n </div>\n </div>\n</ng-template>", styles: [".container-balanced{max-width:1202px;margin-left:auto!important;margin-right:auto!important}.container{max-width:1200px}.padding-top-xxxl{padding-top:47px}.banner-container{align-items:center;background:#eee;padding:16px;grid-gap:2.5rem;gap:2.5rem;justify-content:center}.web-banner-background{background-image:url(/assets/icons/microsite/MDO-channel-banner.png);background-size:cover;min-height:464px}.mob-container{background-image:url(/assets/icons/microsite/MDOChannel_RightGraphic.svg);background-position:right;background-repeat:no-repeat}.sticky-logo-square{position:absolute;top:215px;border-bottom-right-radius:12px;border-top-right-radius:12px;background:#fff;display:flex;padding:10px;justify-content:end;height:53px;left:0}.logo-square{width:112px;max-height:73px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.logo-box-container{width:157px;position:relative;height:64px}.logo-box-square{height:99px;width:157px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000f}.logo-box-square .logo-img{max-width:122px}.logo-box-square.top{position:absolute;top:-54px}.logo-img{object-fit:contain;max-height:52px;height:96px;z-index:10}.metrics{border:3px solid #fff;border-radius:10px;align-items:center}.mob-metrics{overflow:auto}.metrics-section{margin-top:-30px}.empty-div{height:15px}.mob-metrics-sec{padding-top:1rem}.announcements-container{position:fixed;height:calc(100vh - 67px);background:rgba(19,19,19,.6392156863);width:100vw;top:0;left:0;z-index:1000}.close-announcements-dialog{position:absolute;right:30px;top:30px}.close-icon{color:#fff;border-radius:15px;float:right;position:absolute;top:15px;right:15px}@media screen and (max-width: 768px){::ng-deep .recommendedProgram .mat-tab-header{padding-left:20px}::ng-deep .featuredCourses .mat-tab-header{padding-left:20px}.metrics-section{margin-top:0}.top-learners{padding-left:30px}}::ng-deep .mytabs .mat-tab-label.mat-tab-label-active:not(.mat-tab-disabled),::ng-deep .mytabs .mat-tab-label.mat-tab-label-active.cdk-keyboard-focused:not(.mat-tab-disabled){font-weight:700;color:#000;opacity:1}\n"], components: [{ type: i4.SlidersLibComponent, selector: "sb-uic-sliders", inputs: ["widgetData", "styleData", "title", "type"] }, { type: i5.DataPointsComponent, selector: "sb-uic-data-points", inputs: ["objectData", "layoutType", "fetchDataFromApi", "providerId", "pageLayout", "title"] }, { type: i6.CbpPlanComponent, selector: "sb-uic-cbp-plan", inputs: ["objectData", "layoutType", "mobileHeight", "fetchDataFromApi", "channelId"], outputs: ["openDialog"] }, { type: i7.AnnouncementsComponent, selector: "sb-uic-announcements", inputs: ["objectData", "layoutType", "mobileHeight", "fetchDataFromApi", "channelId"], outputs: ["openDialog"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { type: i9.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby"], exportAs: ["matTab"] }, { type: i10.CompetencyPassbookMdoComponent, selector: "sb-uic-competency-passbook-mdo", inputs: ["objectData", "providerId", "cardDisplayCount", "dynamicClass", "dynamicColor", "dynamicAlignPills"], outputs: ["emptyResponse", "temeletryResponse"] }, { type: i11.ContentStripWithTabsLibComponent, selector: "sb-uic-content-strip-with-tabs", inputs: ["widgetData", "providerId", "emitViewAll", "channnelName"], outputs: ["emptyResponse", "viewAllResponse", "telemtryResponse"] }, { type: i12.TopLearnersComponent, selector: "sb-uic-top-learners", inputs: ["objectData", "channelId", "channnelName"] }], directives: [{ type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i13.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i13.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i9.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }], pipes: { "slice": i13.SlicePipe, "translate": i3.TranslatePipe } });
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MdoChannelV2Component, decorators: [{
|
|
146
|
+
type: Component,
|
|
147
|
+
args: [{
|
|
148
|
+
selector: 'sb-uic-mdo-channel-v2',
|
|
149
|
+
templateUrl: './mdo-channel-v2.component.html',
|
|
150
|
+
styleUrls: ['./mdo-channel-v2.component.scss']
|
|
151
|
+
}]
|
|
152
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.EventService }, { type: i3.TranslateService }, { type: i2.MultilingualTranslationsService }]; }, propDecorators: { sectionList: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}], onResize: [{
|
|
155
|
+
type: HostListener,
|
|
156
|
+
args: ['window:resize']
|
|
157
|
+
}] } });
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRvLWNoYW5uZWwtdjIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL2NvbnN1bXB0aW9uL3NyYy9saWIvX2NvbW1vbi9taWNyb3NpdGVzL21kby1jaGFubmVscy9tZG8tY2hhbm5lbC12Mi9tZG8tY2hhbm5lbC12Mi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvY29uc3VtcHRpb24vc3JjL2xpYi9fY29tbW9uL21pY3Jvc2l0ZXMvbWRvLWNoYW5uZWxzL21kby1jaGFubmVsLXYyL21kby1jaGFubmVsLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUd0RSxPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzdELG9CQUFvQjtBQUNwQixPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7O0FBUzNCLE1BQU0sT0FBTyxxQkFBcUI7SUFvQmhDLFlBQ1UsS0FBcUIsRUFDckIsTUFBYyxFQUNkLFFBQXNCLEVBQ3RCLFNBQTJCLEVBQzNCLGdCQUFpRDtRQUpqRCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlDO1FBeEJsRCxnQkFBVyxHQUFPLEVBQUUsQ0FBQTtRQUM3QixpQkFBWSxHQUFHLEVBQUUsQ0FBQTtRQUNqQixVQUFLLEdBQUcsRUFBRSxDQUFBO1FBQ1Ysa0JBQWEsR0FBRyxDQUFDLENBQUE7UUFDakIsd0JBQW1C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QUFBO1NBQ2hDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxVQUFlLEVBQUUsVUFBZTtRQUM3QyxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsWUFBWSxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNwSCxNQUFNLFNBQVMsR0FBUSxVQUFVLENBQUE7WUFDL0IsSUFBSSxXQUFXLEdBQUksU0FBUyxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUMsV0FBVyxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQTtZQUNyTCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FDbEIsQ0FBQywyQkFBMkIsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxjQUFjLENBQUMsRUFDMUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUcsRUFBRSxDQUFDLENBQUE7U0FDbkU7SUFDSCxDQUFDOzttSEFySlUscUJBQXFCO3VHQUFyQixxQkFBcUIsNkpDZGxDLHM0aUJBcVVjOzRGRHZURCxxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7aUJBQy9DO2tPQUVVLFdBQVc7c0JBQW5CLEtBQUs7Z0JBNkNOLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0VGFiQ2hhbmdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBFdmVudFNlcnZpY2UsIFdzRXZlbnRzIH0gZnJvbSAnQHN1bmJpcmQtY2IvdXRpbHMtdjInXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12MidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2ItdWljLW1kby1jaGFubmVsLXYyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21kby1jaGFubmVsLXYyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWRvLWNoYW5uZWwtdjIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNZG9DaGFubmVsVjJDb21wb25lbnQgIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgc2VjdGlvbkxpc3Q6YW55ID0gW11cbiAgY2hhbm5uZWxOYW1lID0gJydcbiAgb3JnSWQgPSAnJ1xuICBzZWxlY3RlZEluZGV4ID0gMFxuICBoaWRlQ29tcGV0ZW5jeUJsb2NrOiBib29sZWFuID0gZmFsc2VcbiAgY29udGVudFRhYkVtcHR5UmVzcG9uc2VDb3VudDogbnVtYmVyID0gMFxuICB0aXRsZXMgPSBbXG4gICAgeyB0aXRsZTogJ0xlYXJuJywgdXJsOiAnL3BhZ2UvbGVhcm4nLCBpY29uOiAnc2Nob29sJywgZGlzYWJsZVRyYW5zbGF0ZTogZmFsc2UgfSxcbiAgICB7XG4gICAgICB0aXRsZTogYE1ETyBDaGFubmVsc2AsXG4gICAgICB1cmw6IGAvYXBwL2xlYXJuL21kby1jaGFubmVscy9hbGwtY2hhbm5lbHNgLFxuICAgICAgaWNvbjogJycsIGRpc2FibGVUcmFuc2xhdGU6IHRydWUsXG4gICAgfSxcbiAgXVxuICBzaG93TW9kYWw6IGJvb2xlYW4gPSBmYWxzZVxuICBkZXNjcmlwdGlvbk1heExlbmd0aCA9IDUwMFxuICBpc1RlbGVtZXRyeVJhaXNlZDogYm9vbGVhbiA9IGZhbHNlXG4gIHN0cmlwV2lkdGg6IGFueVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBldmVudFN2YzogRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGFuZ3RyYW5zbGF0aW9uczogTXVsdGlsaW5ndWFsVHJhbnNsYXRpb25zU2VydmljZSxcbiAgKSB7IFxuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEgJiYgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmZvcm1EYXRhXG4gICAgICAmJiB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuZm9ybURhdGEuZGF0YVxuICAgICAgJiYgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmZvcm1EYXRhLmRhdGEucmVzdWx0XG4gICAgICAmJiB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuZm9ybURhdGEuZGF0YS5yZXN1bHQuZm9ybVxuICAgICAgJiYgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmZvcm1EYXRhLmRhdGEucmVzdWx0LmZvcm0uZGF0YVxuICAgICAgJiYgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmZvcm1EYXRhLmRhdGEucmVzdWx0LmZvcm0uZGF0YS5zZWN0aW9uTGlzdFxuICAgICkge1xuICAgICAgdGhpcy5zZWN0aW9uTGlzdCA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5mb3JtRGF0YS5kYXRhLnJlc3VsdC5mb3JtLmRhdGEuc2VjdGlvbkxpc3RcbiAgICB9XG4gICAgdGhpcy5sYW5ndHJhbnNsYXRpb25zLmxhbmd1YWdlU2VsZWN0ZWRPYnNlcnZhYmxlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpKSB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdlbicpXG4gICAgICAgIGNvbnN0IGxhbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykhXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgb25SZXNpemUoKSB7XG4gICAgdGhpcy5zZXRXaWR0aCgpXG4gIH1cblxuICBzZXRXaWR0aCgpIHtcbiAgICB0aGlzLnN0cmlwV2lkdGggPSBgJHsod2luZG93LmlubmVyV2lkdGggLSAxMjAwICsgMTM1KS8yfXB4YFxuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIHRoaXMuY2hhbm5uZWxOYW1lID0gcGFyYW1zWydjaGFubmVsJ11cbiAgICAgIHRoaXMub3JnSWQgPSBwYXJhbXNbJ29yZ0lkJ11cbiAgICAgIHRoaXMudGl0bGVzLnB1c2goe1xuICAgICAgICB0aXRsZTogdGhpcy5jaGFubm5lbE5hbWUsIGljb246ICcnLCB1cmw6ICdub25lJywgZGlzYWJsZVRyYW5zbGF0ZTogdHJ1ZSxcbiAgICAgIH0pXG4gICAgfSlcbiAgICB0aGlzLnNldFdpZHRoKClcbiAgfVxuXG4gIHB1YmxpYyB0YWJDbGlja2VkKHRhYkV2ZW50OiBNYXRUYWJDaGFuZ2VFdmVudCkge1xuICAgIHRoaXMucmFpc2VUZWxlbWV0cnkoYCR7dGFiRXZlbnQudGFiLnRleHRMYWJlbH0gdGFiYClcbiAgfVxuICBoaWRlQ29udGVudFN0cmlwKGV2ZW50OiBhbnksIGNvbERhdGE6IGFueSkge1xuICAgIGlmIChldmVudCkge1xuICAgICAgY29sRGF0YS5jb250ZW50U3RyaXBEYXRhWydoaWRlU2VjdGlvbiddID0gdHJ1ZVxuICAgICAgdGhpcy5jb250ZW50VGFiRW1wdHlSZXNwb25zZUNvdW50ID0gdGhpcy5jb250ZW50VGFiRW1wdHlSZXNwb25zZUNvdW50ICsgMVxuICAgICAgLy8gaWYodGhpcy5jb250ZW50VGFiRW1wdHlSZXNwb25zZUNvdW50ID09PSA0ICkge1xuICAgICAgLy8gICB0aGlzLnNlbGVjdGVkSW5kZXggPSAxXG4gICAgICAvLyB9XG4gICAgfVxuICB9XG5cbiAgdHJpZ2dlck9wZW5EaWFsb2coZXZlbnQ6IGJvb2xlYW4pIHtcbiAgICBpZihldmVudCkge1xuICAgICAgdGhpcy5zaG93TW9kYWwgPSB0cnVlXG4gICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbidcbiAgICB9XG4gICAgdGhpcy5yYWlzZVRlbGVtZXRyeSgnYnRuIG9wZW4ga2V5IGFubm91Y2VtZW50cycpXG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuc2hvd01vZGFsID0gZmFsc2VcbiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2F1dG8nXG4gICAgdGhpcy5yYWlzZVRlbGVtZXRyeSgnYnRuIGNsb3NlIGtleSBhbm5vdWNlbWVudHMnKVxuICB9XG5cbiAgcmFpc2VUZWxlbWV0cnlJbnRlcmF0RXZlbnQoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudCAmJiBldmVudC52aWV3TW9yZVVybCkge1xuICAgICAgdGhpcy5yYWlzZVRlbGVtZXRyeShgJHtldmVudC5zdHJpcFRpdGxlfSAke2V2ZW50LnZpZXdNb3JlVXJsLnZpZXdNb3JlVGV4dH1gKVxuICAgIH1cbiAgICBpZiAoIXRoaXMuaXNUZWxlbWV0cnlSYWlzZWQgJiYgZXZlbnQgJiYgIWV2ZW50LnZpZXdNb3JlVXJsKSB7XG4gICAgICB0aGlzLmV2ZW50U3ZjLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnY2xpY2snLFxuICAgICAgICAgIHN1YlR5cGU6ICdtZG8tY2hhbm5lbCcsXG4gICAgICAgICAgaWQ6IGAke18ua2ViYWJDYXNlKGV2ZW50LnR5cGVPZlRlbGVtZXRyeS50b0xvY2FsZUxvd2VyQ2FzZSgpKX0tY2FyZGAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogZXZlbnQuaWRlbnRpZmllcixcbiAgICAgICAgICB0eXBlOiBldmVudC5wcmltYXJ5Q2F0ZWdvcnksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwYWdlSWRFeHQ6IGAke18ua2ViYWJDYXNlKGV2ZW50LnByaW1hcnlDYXRlZ29yeS50b0xvY2FsZUxvd2VyQ2FzZSgpKX0tY2FyZGAsXG4gICAgICAgICAgbW9kdWxlOiBXc0V2ZW50cy5FbnVtVGVsZW1ldHJ5bW9kdWxlcy5MRUFSTixcbiAgICAgICAgfVxuICAgICAgKVxuICAgICAgdGhpcy5pc1RlbGVtZXRyeVJhaXNlZCA9IHRydWVcbiAgICB9XG4gIH1cblxuICByYWlzZUNvbXBldGVuY3lUZWxlbWV0cnkobmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5yYWlzZVRlbGVtZXRyeShgJHtuYW1lfSBjb3JlIGV4cGVydGlzZWApXG4gIH1cblxuICByYWlzZVRlbGVtZXRyeShuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmV2ZW50U3ZjLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdjbGljaycsXG4gICAgICAgIHN1YlR5cGU6ICdtZG8tY2hhbm5lbCcsXG4gICAgICAgIGlkOiBgJHtfLmtlYmFiQ2FzZShuYW1lKS50b0xvY2FsZUxvd2VyQ2FzZSgpfWAsXG4gICAgICB9LFxuICAgICAge30sXG4gICAgICB7XG4gICAgICAgIG1vZHVsZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeW1vZHVsZXMuTEVBUk4sXG4gICAgICB9XG4gICAgKVxuICB9XG5cbiAgaGlkZUNvbXBldGVuY3koZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5oaWRlQ29tcGV0ZW5jeUJsb2NrID0gdHJ1ZVxuICAgIH1cbiAgfVxuXG4gIHNob3dBbGxDb250ZW50KF9zdHJpcERhdGE6IGFueSwgY29sdW1uRGF0YTogYW55KSB7XG4gICAgaWYgKGNvbHVtbkRhdGEgJiYgY29sdW1uRGF0YS5jb250ZW50U3RyaXAgJiYgY29sdW1uRGF0YS5jb250ZW50U3RyaXAuc3RyaXBzICYmIGNvbHVtbkRhdGEuY29udGVudFN0cmlwLnN0cmlwcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHN0cmlwRGF0YTogYW55ID0gX3N0cmlwRGF0YVxuICAgICAgICBsZXQgdGFiU2VsZWN0ZWQgPSAgc3RyaXBEYXRhLnZpZXdNb3JlVXJsICYmIHN0cmlwRGF0YS52aWV3TW9yZVVybC5xdWVyeVBhcmFtcyAmJiBzdHJpcERhdGEudmlld01vcmVVcmwucXVlcnlQYXJhbXMudGFiU2VsZWN0ZWQgJiYgc3RyaXBEYXRhLnZpZXdNb3JlVXJsLnF1ZXJ5UGFyYW1zLnRhYlNlbGVjdGVkIHx8ICcnXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgICAgIFtgL2FwcC9sZWFybi9tZG8tY2hhbm5lbHMvJHt0aGlzLmNoYW5ubmVsTmFtZX0vJHt0aGlzLm9yZ0lkfS9hbGwtY29udGVudGBdLFxuICAgICAgICAgIHsgcXVlcnlQYXJhbXM6IHsgdGFiU2VsZWN0ZWQsIGtleTogY29sdW1uRGF0YS5zZWN0aW9uS2V5ICB9IH0pXG4gICAgfVxuICB9XG5cbn1cbiIsIjx3cy13aWRnZXQtYnRuLXBhZ2UtYmFjayBbd2lkZ2V0RGF0YV09XCJ7IHVybDogJ2hvbWUnLCB0aXRsZXM6IHRpdGxlcyB9XCI+XG48L3dzLXdpZGdldC1idG4tcGFnZS1iYWNrPlxuXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCIgaWQ9XCJzZWN0aW9uLW1pY3JvLXNpdGVzXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZmxleC0xXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWN0aW9uTGlzdD8ubGVuZ3RoXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHNlY3Rpb25MaXN0XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlY3Rpb24/LmVuYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24gaWQ9XCJ7e3NlY3Rpb24/LmtleX19XCIgY2xhc3M9XCJ3LWZ1bGwgZ3JpZCBncmlkLWNvbHMtMTIgZ2FwLTRcIiBbbmdDbGFzc109XCJ7J2NvbnRhaW5lcic6IHNlY3Rpb24ud3JhcHBlckNsYXNzfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIHNlY3Rpb24uY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInt7Y29sdW1uPy5rZXl9fVwiIGNsYXNzPVwiY29sLXNwYW4te3tjb2x1bW4uY29sc3BhbiB8fCAxMn19IFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uPy5lbmFibGVkXCIgW25nU3dpdGNoXT1cImNvbHVtbj8ua2V5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndG9wU2VjdGlvbidcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJ0b3BTZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2RhdGE6IGNvbHVtbj8uZGF0YX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIid0b3BMZWFybmVycydcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJ0b3BMZWFybmVyc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntkYXRhOiBjb2x1bW4/LmRhdGF9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbWFpbkNvbnRlbnQnXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWFpbkNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ZGF0YTogY29sdW1uPy5kYXRhfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuXG48bmctdGVtcGxhdGUgI3RvcFNlY3Rpb24gbGV0LWRhdGE9XCJkYXRhXCI+XG4gICAgPCEtLSB0b3Agc2VjdGlvbiBkZXNrdG9wIGxheW91dCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiaGlkZGVuIG1kOmJsb2NrXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWItYmFubmVyLWJhY2tncm91bmRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4ICBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHN0aWNreS1sb2dvLXNxdWFyZVwiIFtzdHlsZS53aWR0aF09XCJzdHJpcFdpZHRoXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMTIgZ2FwLTQgcGFkZGluZy10b3AteHh4bCBtYi0xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zcGFuLTEyIG1kOmNvbC1zcGFuLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIGZsZXggZmxleC1jb2wgbXItNCB3cy1tYXQtYmxhY2stdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbG9nby1zcXVhcmUgXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBhbHQ9XCJBcHBsaWNhdGlvbiBMb2dvXCIgY2xhc3M9XCJsb2dvLWltZ1wiIFtzcmNdPVwiZGF0YT8ubG9nb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDEgIGNsYXNzPVwiIHR4dC1lbGxpcHNpcy0yIGJyZWFrLXdvcmRzIHB0LTEwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiZGF0YS50aXRsZUNvbG9yXCI+e3tkYXRhLnRpdGxlIHx8IGNoYW5ubmVsTmFtZX19PC9oMT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibWF0LWJvZHktMVwiIFtzdHlsZS5jb2xvcl09XCJkYXRhLmRlc2NyaXB0aW9uQ29sb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2RhdGE/LmRlc2NyaXB0aW9uIHwgc2xpY2U6MDpkZXNjcmlwdGlvbk1heExlbmd0aH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkYXRhPy5kZXNjcmlwdGlvbj8ubGVuZ3RoID4gZGVzY3JpcHRpb25NYXhMZW5ndGhcIj4uLi48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNwYW4tMTIgbWQ6Y29sLXNwYW4tNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbGlkZXIgc2xpZGVyLWJveFwiICpuZ0lmPVwiZGF0YS5zbGlkZXJEYXRhICYmIGRhdGEuc2xpZGVyRGF0YS5zbGlkZXJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzYi11aWMtc2xpZGVycyBbd2lkZ2V0RGF0YV09XCJkYXRhLnNsaWRlckRhdGEuc2xpZGVyc1wiIFtzdHlsZURhdGFdPVwiZGF0YS5zbGlkZXJEYXRhLnN0eWxlRGF0YVwiID48L3NiLXVpYy1zbGlkZXJzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICA8L2Rpdj5cbiAgICA8IS0tIHRvcCBzZWN0aW9uIG0tc2l0ZSBsYXlvdXQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImJsb2NrIG1kOmhpZGRlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNwYW4tMTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbGlkZXIgc2xpZGVyLWJveFwiICpuZ0lmPVwiZGF0YS5zbGlkZXJEYXRhICYmIGRhdGEuc2xpZGVyRGF0YS5zbGlkZXJzXCI+XG4gICAgICAgICAgICAgICAgPHNiLXVpYy1zbGlkZXJzIFt3aWRnZXREYXRhXT1cImRhdGEuc2xpZGVyRGF0YS5zbGlkZXJzXCIgW3N0eWxlRGF0YV09XCJkYXRhLnNsaWRlckRhdGEuc3R5bGVEYXRhXCIgPjwvc2ItdWljLXNsaWRlcnM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgcHgtNCBmbGV4IGZsZXgtY29sIG1vYi1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci00IGxvZ28tYm94LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGxvZ28tYm94LXNxdWFyZSB0b3AgbXItNFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGFsdD1cIkFwcGxpY2F0aW9uIExvZ29cIiBjbGFzcz1cImxvZ28taW1nXCIgW3NyY109XCJkYXRhPy5sb2dvXCI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgbWQ6dy05LzEyIGZsZXgtMSBmbGV4IGZsZXgtY29sXCI+XG4gICAgICAgICAgICAgICAgPGgxIGNsYXNzPVwiIHR4dC1lbGxpcHNpcy0yIGJyZWFrLXdvcmRzXCI+e3tkYXRhPy50aXRsZSB8fCBjaGFubm5lbE5hbWV9fTwvaDE+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJtYXQtYm9keS0yXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ZGF0YT8uZGVzY3JpcHRpb24gfCBzbGljZTowOmRlc2NyaXB0aW9uTWF4TGVuZ3RofX1cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkYXRhPy5kZXNjcmlwdGlvbj8ubGVuZ3RoID4gZGVzY3JpcHRpb25NYXhMZW5ndGhcIj4uLi48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyIG1ldHJpY3Mtc2VjdGlvblwiID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoaWRkZW4gbWQ6YmxvY2tcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0cmljc1wiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZCc6IGRhdGE/Lm1ldHJpY3M/LmJhY2tncm91bmR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzYi11aWMtZGF0YS1wb2ludHNcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwcm92aWRlcklkXT1cIm9yZ0lkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmZXRjaERhdGFGcm9tQXBpXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW29iamVjdERhdGFdPVwiZGF0YT8ubWV0cmljcz8uZGF0YVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGF5b3V0VHlwZV09XCInc2luZ2xlRmxleGVSb3cnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdlTGF5b3V0XT1cIidtZG8nXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvc2ItdWljLWRhdGEtcG9pbnRzPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2sgbWQ6aGlkZGVuICBwdC0xNCBweC00XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vYi1tZXRyaWNzIG1vYi1tZXRyaWNzLXNlY1wiPlxuICAgICAgICAgICAgICAgICAgICA8c2ItdWljLWRhdGEtcG9pbnRzXG4gICAgICAgICAgICAgICAgICAgICAgICBbcHJvdmlkZXJJZF09XCJvcmdJZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZmV0Y2hEYXRhRnJvbUFwaV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtvYmplY3REYXRhXT1cImRhdGE/Lm1ldHJpY3M/LmRhdGFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xheW91dFR5cGVdPVwiJ3NpbmdsZVJvdydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2VMYXlvdXRdPVwiJ21kbydcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9zYi11aWMtZGF0YS1wb2ludHM+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI21haW5Db250ZW50IGxldC1kYXRhPVwiZGF0YVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZCc6IGRhdGEuYmFja2dyb3VuZH1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrIG1kOmhpZGRlbiBjb2wtc3Bhbi0xMiBwYWRkaW5nLWxlZnQtbSBwYWRkaW5nLXJpZ2h0LW0gcGFkZGluZy10b3AtbSBwYWRkaW5nLWJvdHRvbS1tXCI+XG4gICAgICAgICAgICAgICAgPHNiLXVpYy1jYnAtcGxhblxuICAgICAgICAgICAgICAgICAgICBbbGF5b3V0VHlwZV09XCInd2ViJ1wiXG4gICAgICAgICAgICAgICAgICAgIFttb2JpbGVIZWlnaHRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbZmV0Y2hEYXRhRnJvbUFwaV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NoYW5uZWxJZF09XCJvcmdJZFwiXG4gICAgICAgICAgICAgICAgICAgIFtvYmplY3REYXRhXT1cImRhdGE/LmNicFBsYW5TZWN0aW9uPy5kYXRhXCI+XG4gICAgICAgICAgICAgICAgPC9zYi11aWMtY2JwLXBsYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jayBtZDpoaWRkZW4gY29sLXNwYW4tMTIgbXQtNlwiPlxuICAgICAgICAgICAgICAgIDxzYi11aWMtYW5ub3VuY2VtZW50c1xuICAgICAgICAgICAgICAgICAgICBbbGF5b3V0VHlwZV09XCInbW9iaWxlJ1wiXG4gICAgICAgICAgICAgICAgICAgIChvcGVuRGlhbG9nKT1cInRyaWdnZXJPcGVuRGlhbG9nKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbb2JqZWN0RGF0YV09XCJkYXRhPy5hbm5vdW5jZW1lbnRTZWN0aW9uPy5kYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZldGNoRGF0YUZyb21BcGldPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbY2hhbm5lbElkXT1cIm9yZ0lkXCI+XG4gICAgICAgICAgICAgICAgPC9zYi11aWMtYW5ub3VuY2VtZW50cz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYW5ub3VuY2VtZW50cy1jb250YWluZXJcIiAqbmdJZj1cInNob3dNb2RhbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgY2xvc2Utc2hhcmUtZGlhbG9nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKGNsaWNrKT1cIm9uQ2xvc2UoKVwiIGNsYXNzPVwiY2xvc2UtaWNvblwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGFyZS1tb2RhbCBweC0zIHB0LThcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzYi11aWMtYW5ub3VuY2VtZW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYXlvdXRUeXBlXT1cIid3ZWInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3BlbkRpYWxvZyk9XCJ0cmlnZ2VyT3BlbkRpYWxvZygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb2JqZWN0RGF0YV09XCJkYXRhPy5hbm5vdW5jZW1lbnRTZWN0aW9uPy5kYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9iaWxlSGVpZ2h0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZXRjaERhdGFGcm9tQXBpXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGFubmVsSWRdPVwib3JnSWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2ItdWljLWFubm91bmNlbWVudHM+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMTIgZ2FwLTQgcGFkZGluZy10b3AtbSBtYi02XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zcGFuLTEyIG1kOmNvbC1zcGFuLXt7ZGF0YS50YWJTZWN0aW9uLmNvbHNwYW59fVwiPlxuICAgICAgICAgICAgICAgICAgICA8IS0tIFRhYnMgU2VjdGlvbiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC10YWItZ3JvdXAgYW5pbWF0aW9uRHVyYXRpb249XCIwbXNcIiBjbGFzcz1cIm1hdC10YWItbGFiZWxzIG15dGFicyB3LWZ1bGwgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIiAoc2VsZWN0ZWRUYWJDaGFuZ2UpPVwic2VsZWN0ZWRJbmRleCA9ICRldmVudC5pbmRleDsgdGFiQ2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXRhYiBsYWJlbD1cIkNvbnRlbnRcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWwgaTE4bj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGVhcm5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLnRhYlNlY3Rpb24uY29udGVudFRhYi5sZW5ndGggPT09IGNvbnRlbnRUYWJFbXB0eVJlc3BvbnNlQ291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLXhsIHRleHQtY2VudGVyXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy9jb21tb24vZXJyb3ItcGFnZXMvZW1wdHlfc2VhcmNoLnN2Z1wiIHdzVXRpbHNJbWFnZVJlc3BvbnNpdmUgYWx0PVwiTm8gcmVzdWx0c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWFyZ2luLXRvcC1sIG1hcmdpbi1ib3R0b20tc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cIm1hdC1oMlwiIGkxOG49XCJzZWFyY2ggcm91dGUgbm8gcmVzdWx0XCI+e3snbGVhcm5zZWFyY2gubm9SZXN1bHRzJyB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFkZGluZy10b3AtbCBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2x1bW5TZWN0aW9uRGlzcGxheVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2RhdGE6IGRhdGEudGFiU2VjdGlvbi5jb250ZW50VGFifVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC10YWIgbGFiZWw9XCJDb3JlIEFyZWFzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWwgaTE4bj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGV0ZW5jeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2x1bW5TZWN0aW9uRGlzcGxheVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2RhdGE6IGRhdGEudGFiU2VjdGlvbi5jb3JlQXJlYXNUYWJ9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC10YWI+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRhYi1ncm91cD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNwYW4tMTIgbWQ6Y29sLXNwYW4tNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGlkZGVuIG1kOmJsb2NrIHBhZGRpbmctdG9wLXhsIHBhZGRpbmctYm90dG9tLW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkYXRhPy5jYnBQbGFuU2VjdGlvbj8uZGF0YVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB0LTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2ItdWljLWNicC1wbGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYXlvdXRUeXBlXT1cIid3ZWInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vYmlsZUhlaWdodF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZXRjaERhdGFGcm9tQXBpXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hhbm5lbElkXT1cIm9yZ0lkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iamVjdERhdGFdPVwiZGF0YT8uY2JwUGxhblNlY3Rpb24/LmRhdGFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NiLXVpYy1jYnAtcGxhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGlkZGVuIG1kOmJsb2NrXCIgXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0YT8uYW5ub3VuY2VtZW50U2VjdGlvbj8uZGF0YVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHQtNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNiLXVpYy1hbm5vdW5jZW1lbnRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xheW91dFR5cGVdPVwiJ3dlYidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2JpbGVIZWlnaHRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmZXRjaERhdGFGcm9tQXBpXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGFubmVsSWRdPVwib3JnSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmplY3REYXRhXT1cImRhdGE/LmFubm91bmNlbWVudFNlY3Rpb24/LmRhdGFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2ItdWljLWFubm91bmNlbWVudHM+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPCEtLSBcbjxuZy10ZW1wbGF0ZSAjYW5ub3VuY2VtZW50IGxldC1kYXRhPVwiZGF0YVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4ICBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQnOiBkYXRhLmJhY2tncm91bmR9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgICAgICAgICAgIEFubm91bmNlbWVudCBTZWN0aW9uIC0tPlxuICAgICAgICAgICAgPCEtLSA8aDE+QW5ub3VuY2VtZW50PC9oMT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiAtLT5cblxuXG48bmctdGVtcGxhdGUgI2NvbHVtblNlY3Rpb25EaXNwbGF5ICBsZXQtZGF0YT1cImRhdGFcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YT8ubGVuZ3RoXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2YgZGF0YVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlY3Rpb24/LmVuYWJsZWRcIj5cbiAgICAgICAgICAgICAgICA8c2VjdGlvbiBpZD1cInt7c2VjdGlvbj8ua2V5fX1cIiBjbGFzcz1cInctZnVsbCBncmlkIGdyaWQtY29scy0xMiBnYXAtNFwiIFtuZ0NsYXNzXT1cInsnY29udGFpbmVyJzogc2VjdGlvbi53cmFwcGVyQ2xhc3N9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBzZWN0aW9uLmNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInt7Y29sdW1uPy5rZXl9fVwiIGNsYXNzPVwiY29sLXNwYW4te3tjb2x1bW4uY29sc3BhbiB8fCAxMn19IFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4/LmVuYWJsZWRcIiBbbmdTd2l0Y2hdPVwiY29sdW1uPy5rZXlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbXBldGVuY3knXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29tcGV0ZW5jeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7Y29tcGV0ZW5jeTogY29sdW1ufVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29udGVudFJlY29tbWVuZGVkUHJvZ3JhbVN0cmlwJ1wiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRTdHJpcFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7Y29udGVudFN0cmlwOiBjb2x1bW4/LmRhdGEsIHNlY3Rpb25LZXk6IHNlY3Rpb24ua2V5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2NvbnRlbnRSZWNvbW1lbmRlZENvdXJzZXNTdHJpcCdcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50U3RyaXBUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge2NvbnRlbnRTdHJpcDogY29sdW1uPy5kYXRhLCBzZWN0aW9uS2V5OiBzZWN0aW9uLmtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjb250ZW50RmVhdHVyZWRTdHJpcCdcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50U3RyaXBUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge2NvbnRlbnRTdHJpcDogY29sdW1uPy5kYXRhLCBzZWN0aW9uS2V5OiBzZWN0aW9uLmtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidjb250ZW50Y2VydGlmaWNhdGlvbnNPZldlZWtTdHJpcCdcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50U3RyaXBUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge2NvbnRlbnRTdHJpcDogY29sdW1uPy5kYXRhLCBzZWN0aW9uS2V5OiBzZWN0aW9uLmtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuXG48IS0tIFN0YXJ0IENvbXBldGVuY2llcyAtLT5cbjxuZy10ZW1wbGF0ZSAjY29tcGV0ZW5jeSBsZXQtY29tcGV0ZW5jeT1cImNvbXBldGVuY3lcIj5cbiAgICA8ZGl2IGNsYXNzPVwicGFkZGluZy10b3AtbCBwYWRkaW5nLWJvdHRvbS1sIHJlbGF0aXZlXCIgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNvbXBldGVuY3k/LmJhY2tncm91bmRcIiAqbmdJZj1cIiFoaWRlQ29tcGV0ZW5jeUJsb2NrO2Vsc2Ugbm9EYXRhXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGwgY29udGFpbmVyLWJhbGFuY2VkXCI+XG4gICAgICAgICAgICA8cCBjbGFzcz1cIm1hdC1ib2R5LTEgcGwtNSBwci00IG1kOnBsLTAgbWQ6cHItMFwiPlRoaXMgc2VjdGlvbiBzaG93cyB0aGUgbGlzdCBvZiB0b3AgY29tcGV0ZW5jaWVzIHVzZXJzIGluIHRoaXMgTURPIGFyZSBsZWFybmluZywgYmFzZWQgb24gdGhlIGNvdXJzZXMgdGhleSd2ZSBjb21wbGV0ZWQgYW5kIGVucm9sbGVkIGluLjwvcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbC00IHByLTQgbWQ6cGwtMCBtZDpwci0wXCI+XG4gICAgICAgICAgICAgICAgPHNiLXVpYy1jb21wZXRlbmN5LXBhc3Nib29rLW1kb1xuICAgICAgICAgICAgICAgICAgICBbZHluYW1pY0NvbG9yXT1cIicjOTk5OTk5J1wiXG4gICAgICAgICAgICAgICAgICAgIFtkeW5hbWljQWxpZ25QaWxsc109XCInc3RhcnQnXCJcbiAgICAgICAgICAgICAgICAgICAgW2NhcmREaXNwbGF5Q291bnRdPVwiMlwiXG4gICAgICAgICAgICAgICAgICAgIChlbXB0eVJlc3BvbnNlKT1cImhpZGVDb21wZXRlbmN5KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAodGVtZWxldHJ5UmVzcG9uc2UpPVwicmFpc2VDb21wZXRlbmN5VGVsZW1ldHJ5KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbb2JqZWN0RGF0YV09XCJjb21wZXRlbmN5XCJcbiAgICAgICAgICAgICAgICAgICAgW3Byb3ZpZGVySWRdPVwib3JnSWRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9zYi11aWMtY29tcGV0ZW5jeS1wYXNzYm9vay1tZG8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gPGltZyBjbGFzcz1cImFic29sdXRlIGNvbXAtYmFjay1pbWdcIiBzcmM9XCJhc3NldHMvaWNvbnMvbWljcm9zaXRlL2NvbXBldGVuY3kuc3ZnXCIgYWx0PVwiXCI+IC0tPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gRW5kIENvbXBldGVuY2llcyAtLT5cbnt7Y29udGVudFRhYkVtcHR5UmVzcG9uc2VDb3VudH19aGlpaWlcbjxuZy10ZW1wbGF0ZSAjY29udGVudFN0cmlwVGVtcGxhdGUgbGV0LWRhdGE9XCJkYXRhXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkYXRhPy5jb250ZW50U3RyaXA/LmhpZGVTZWN0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IG1iLThcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICA8c2ItdWljLWNvbnRlbnQtc3RyaXAtd2l0aC10YWJzXG4gICAgICAgICAgICAgICAgICAgIFtlbWl0Vmlld0FsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgKHZpZXdBbGxSZXNwb25zZSk9XCJzaG93QWxsQ29udGVudCgkZXZlbnQsIGRhdGEpXCJcbiAgICAgICAgICAgICAgICAgICAgKHRlbGVtdHJ5UmVzcG9uc2UpPVwicmFpc2VUZWxlbWV0cnlJbnRlcmF0RXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChlbXB0eVJlc3BvbnNlKT1cImhpZGVDb250ZW50U3RyaXAoJGV2ZW50LCBkYXRhKVwiXG4gICAgICAgICAgICAgICAgICAgIFtwcm92aWRlcklkXT1cIm9yZ0lkXCJcbiAgICAgICAgICAgICAgICAgICAgW3dpZGdldERhdGFdPVwiZGF0YT8uY29udGVudFN0cmlwXCJcbiAgICAgICAgICAgICAgICAgICAgW2NoYW5ubmVsTmFtZV09XCJjaGFubm5lbE5hbWVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9zYi11aWMtY29udGVudC1zdHJpcC13aXRoLXRhYnM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI25vRGF0YT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgdy1mdWxsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFyZ2luLXhsIHRleHQtY2VudGVyXCIgPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy9jb21tb24vZXJyb3ItcGFnZXMvZW1wdHlfc2VhcmNoLnN2Z1wiIHdzVXRpbHNJbWFnZVJlc3BvbnNpdmUgYWx0PVwiTm8gcmVzdWx0c1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWFyZ2luLXRvcC1sIG1hcmdpbi1ib3R0b20tc1wiPlxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cIm1hdC1oMlwiIGkxOG49XCJzZWFyY2ggcm91dGUgbm8gcmVzdWx0XCI+e3snbGVhcm5zZWFyY2gubm9SZXN1bHRzJyB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdG9wTGVhcm5lcnMgbGV0LWRhdGE9XCJkYXRhXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgdG9wLWxlYXJuZXJzIG1hcmdpbi1ib3R0b20tbCBtYXJnaW4tdG9wLWxcIj5cbiAgICAgICAgICAgIDxzYi11aWMtdG9wLWxlYXJuZXJzXG4gICAgICAgICAgICAgICAgW29iamVjdERhdGFdPVwiZGF0YVwiXG4gICAgICAgICAgICAgICAgW2NoYW5ubmVsTmFtZV09XCJjaGFubm5lbE5hbWVcIlxuICAgICAgICAgICAgICAgIFtjaGFubmVsSWRdPVwib3JnSWRcIj5cbiAgICAgICAgICAgIDwvc2ItdWljLXRvcC1sZWFybmVycz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatChipsModule } from '@angular/material/chips';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatTabsModule } from '@angular/material/tabs';
|
|
6
|
+
import { MdoChannelV1Component } from './mdo-channel-v1/mdo-channel-v1.component';
|
|
7
|
+
import { SkeletonLoaderLibModule } from '../../skeleton-loader-lib/skeleton-loader-lib.module';
|
|
8
|
+
import { AnnouncementsModule, CardsModule, CommonMethodsService, CommonStripModule, CompetencyPassbookModule, CompetencyPassbookMdoModule, ContentStripWithTabsLibModule, DataPointsModule, SlidersLibModule, HttpLoaderFactory, TopLearnersModule, CbpPlanModule, } from './../../../../public-api';
|
|
9
|
+
import { MdoChannelV2Component } from './mdo-channel-v2/mdo-channel-v2.component';
|
|
10
|
+
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
|
11
|
+
import { HttpClient } from '@angular/common/http';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@ngx-translate/core";
|
|
14
|
+
export class MDOChannelModule {
|
|
15
|
+
}
|
|
16
|
+
MDOChannelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MDOChannelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
MDOChannelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MDOChannelModule, declarations: [MdoChannelV1Component, MdoChannelV2Component], imports: [CommonModule,
|
|
18
|
+
MatIconModule,
|
|
19
|
+
MatChipsModule,
|
|
20
|
+
SkeletonLoaderLibModule,
|
|
21
|
+
AnnouncementsModule,
|
|
22
|
+
TopLearnersModule,
|
|
23
|
+
CbpPlanModule,
|
|
24
|
+
CardsModule,
|
|
25
|
+
CommonStripModule,
|
|
26
|
+
CompetencyPassbookModule,
|
|
27
|
+
CompetencyPassbookMdoModule,
|
|
28
|
+
ContentStripWithTabsLibModule,
|
|
29
|
+
DataPointsModule,
|
|
30
|
+
SlidersLibModule,
|
|
31
|
+
MatTabsModule, i1.TranslateModule], exports: [MdoChannelV1Component, MdoChannelV2Component] });
|
|
32
|
+
MDOChannelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MDOChannelModule, providers: [
|
|
33
|
+
CommonMethodsService
|
|
34
|
+
], imports: [[
|
|
35
|
+
CommonModule,
|
|
36
|
+
MatIconModule,
|
|
37
|
+
MatChipsModule,
|
|
38
|
+
SkeletonLoaderLibModule,
|
|
39
|
+
AnnouncementsModule,
|
|
40
|
+
TopLearnersModule,
|
|
41
|
+
CbpPlanModule,
|
|
42
|
+
CardsModule,
|
|
43
|
+
CommonStripModule,
|
|
44
|
+
CompetencyPassbookModule,
|
|
45
|
+
CompetencyPassbookMdoModule,
|
|
46
|
+
ContentStripWithTabsLibModule,
|
|
47
|
+
DataPointsModule,
|
|
48
|
+
SlidersLibModule,
|
|
49
|
+
MatTabsModule,
|
|
50
|
+
TranslateModule.forRoot({
|
|
51
|
+
loader: {
|
|
52
|
+
provide: TranslateLoader,
|
|
53
|
+
useFactory: HttpLoaderFactory,
|
|
54
|
+
deps: [HttpClient],
|
|
55
|
+
},
|
|
56
|
+
}),
|
|
57
|
+
]] });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MDOChannelModule, decorators: [{
|
|
59
|
+
type: NgModule,
|
|
60
|
+
args: [{
|
|
61
|
+
declarations: [MdoChannelV1Component, MdoChannelV2Component],
|
|
62
|
+
imports: [
|
|
63
|
+
CommonModule,
|
|
64
|
+
MatIconModule,
|
|
65
|
+
MatChipsModule,
|
|
66
|
+
SkeletonLoaderLibModule,
|
|
67
|
+
AnnouncementsModule,
|
|
68
|
+
TopLearnersModule,
|
|
69
|
+
CbpPlanModule,
|
|
70
|
+
CardsModule,
|
|
71
|
+
CommonStripModule,
|
|
72
|
+
CompetencyPassbookModule,
|
|
73
|
+
CompetencyPassbookMdoModule,
|
|
74
|
+
ContentStripWithTabsLibModule,
|
|
75
|
+
DataPointsModule,
|
|
76
|
+
SlidersLibModule,
|
|
77
|
+
MatTabsModule,
|
|
78
|
+
TranslateModule.forRoot({
|
|
79
|
+
loader: {
|
|
80
|
+
provide: TranslateLoader,
|
|
81
|
+
useFactory: HttpLoaderFactory,
|
|
82
|
+
deps: [HttpClient],
|
|
83
|
+
},
|
|
84
|
+
}),
|
|
85
|
+
],
|
|
86
|
+
exports: [MdoChannelV1Component, MdoChannelV2Component],
|
|
87
|
+
providers: [
|
|
88
|
+
CommonMethodsService
|
|
89
|
+
],
|
|
90
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
91
|
+
}]
|
|
92
|
+
}] });
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRvLWNoYW5uZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL2NvbnN1bXB0aW9uL3NyYy9saWIvX2NvbW1vbi9taWNyb3NpdGVzL21kby1jaGFubmVscy9tZG8tY2hhbm5lbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFL0YsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3QixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsYUFBYSxHQUNkLE1BQU0sMEJBQTBCLENBQUE7QUFDakMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQWtDbEQsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQTlCWixxQkFBcUIsRUFBRSxxQkFBcUIsYUFFekQsWUFBWTtRQUNaLGFBQWE7UUFDYixjQUFjO1FBQ2QsdUJBQXVCO1FBQ3ZCLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsYUFBYTtRQUNiLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLDJCQUEyQjtRQUMzQiw2QkFBNkI7UUFDN0IsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixhQUFhLGlDQVNMLHFCQUFxQixFQUFFLHFCQUFxQjsrR0FLM0MsZ0JBQWdCLGFBSmpCO1FBQ1Isb0JBQW9CO0tBQUMsWUExQmQ7WUFDUCxZQUFZO1lBQ1osYUFBYTtZQUNiLGNBQWM7WUFDZCx1QkFBdUI7WUFDdkIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixhQUFhO1lBQ2IsV0FBVztZQUNYLGlCQUFpQjtZQUNqQix3QkFBd0I7WUFDeEIsMkJBQTJCO1lBQzNCLDZCQUE2QjtZQUM3QixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixlQUFlLENBQUMsT0FBTyxDQUFDO2dCQUN0QixNQUFNLEVBQUU7b0JBQ04sT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxpQkFBaUI7b0JBQzdCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztpQkFDbkI7YUFDRixDQUFDO1NBQ0g7NEZBTVUsZ0JBQWdCO2tCQS9CNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQztvQkFDNUQsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixjQUFjO3dCQUNkLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsMkJBQTJCO3dCQUMzQiw2QkFBNkI7d0JBQzdCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGVBQWUsQ0FBQyxPQUFPLENBQUM7NEJBQ3RCLE1BQU0sRUFBRTtnQ0FDTixPQUFPLEVBQUUsZUFBZTtnQ0FDeEIsVUFBVSxFQUFFLGlCQUFpQjtnQ0FDN0IsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDOzZCQUNuQjt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLHFCQUFxQixDQUFDO29CQUN2RCxTQUFTLEVBQUM7d0JBQ1Isb0JBQW9CO3FCQUFDO29CQUNyQixPQUFPLEVBQUMsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgTWRvQ2hhbm5lbFYxQ29tcG9uZW50IH0gZnJvbSAnLi9tZG8tY2hhbm5lbC12MS9tZG8tY2hhbm5lbC12MS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2tlbGV0b25Mb2FkZXJMaWJNb2R1bGUgfSBmcm9tICcuLi8uLi9za2VsZXRvbi1sb2FkZXItbGliL3NrZWxldG9uLWxvYWRlci1saWIubW9kdWxlJztcblxuaW1wb3J0IHtcbiAgQW5ub3VuY2VtZW50c01vZHVsZSxcbiAgQ2FyZHNNb2R1bGUsXG4gIENvbW1vbk1ldGhvZHNTZXJ2aWNlLFxuICBDb21tb25TdHJpcE1vZHVsZSxcbiAgQ29tcGV0ZW5jeVBhc3Nib29rTW9kdWxlLFxuICBDb21wZXRlbmN5UGFzc2Jvb2tNZG9Nb2R1bGUsXG4gIENvbnRlbnRTdHJpcFdpdGhUYWJzTGliTW9kdWxlLFxuICBEYXRhUG9pbnRzTW9kdWxlLFxuICBTbGlkZXJzTGliTW9kdWxlLFxuICBIdHRwTG9hZGVyRmFjdG9yeSxcbiAgVG9wTGVhcm5lcnNNb2R1bGUsXG4gIENicFBsYW5Nb2R1bGUsXG59IGZyb20gJy4vLi4vLi4vLi4vLi4vcHVibGljLWFwaSdcbmltcG9ydCB7IE1kb0NoYW5uZWxWMkNvbXBvbmVudCB9IGZyb20gJy4vbWRvLWNoYW5uZWwtdjIvbWRvLWNoYW5uZWwtdjIuY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW01kb0NoYW5uZWxWMUNvbXBvbmVudCwgTWRvQ2hhbm5lbFYyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIFNrZWxldG9uTG9hZGVyTGliTW9kdWxlLFxuICAgIEFubm91bmNlbWVudHNNb2R1bGUsXG4gICAgVG9wTGVhcm5lcnNNb2R1bGUsXG4gICAgQ2JwUGxhbk1vZHVsZSxcbiAgICBDYXJkc01vZHVsZSxcbiAgICBDb21tb25TdHJpcE1vZHVsZSxcbiAgICBDb21wZXRlbmN5UGFzc2Jvb2tNb2R1bGUsXG4gICAgQ29tcGV0ZW5jeVBhc3Nib29rTWRvTW9kdWxlLFxuICAgIENvbnRlbnRTdHJpcFdpdGhUYWJzTGliTW9kdWxlLFxuICAgIERhdGFQb2ludHNNb2R1bGUsXG4gICAgU2xpZGVyc0xpYk1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KHtcbiAgICAgIGxvYWRlcjoge1xuICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgICAgIHVzZUZhY3Rvcnk6IEh0dHBMb2FkZXJGYWN0b3J5LFxuICAgICAgICBkZXBzOiBbSHR0cENsaWVudF0sXG4gICAgICB9LFxuICAgIH0pLFxuICBdLFxuICBleHBvcnRzOiBbTWRvQ2hhbm5lbFYxQ29tcG9uZW50LCBNZG9DaGFubmVsVjJDb21wb25lbnRdLFxuICBwcm92aWRlcnM6W1xuICAgIENvbW1vbk1ldGhvZHNTZXJ2aWNlXSxcbiAgICBzY2hlbWFzOltDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBNRE9DaGFubmVsTW9kdWxlIHsgfVxuIl19
|